@skillsmith/mcp-server 0.2.3 → 0.3.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.
- package/package.json +3 -2
- package/src/assets/docs/USER_GUIDE.md +192 -0
- package/src/assets/skills/skillsmith/SKILL.md +147 -0
- package/src/assets/skills/skillsmith/docs/QUOTAS.md +182 -0
- package/src/assets/skills/skillsmith/docs/SECURITY.md +174 -0
- package/src/assets/skills/skillsmith/docs/TRUST_TIERS.md +142 -0
- package/dist/.tsbuildinfo +0 -1
- package/dist/src/__tests__/get-skill.test.d.ts +0 -6
- package/dist/src/__tests__/get-skill.test.d.ts.map +0 -1
- package/dist/src/__tests__/get-skill.test.js +0 -88
- package/dist/src/__tests__/get-skill.test.js.map +0 -1
- package/dist/src/__tests__/middleware/errorFormatter.test.d.ts +0 -7
- package/dist/src/__tests__/middleware/errorFormatter.test.d.ts.map +0 -1
- package/dist/src/__tests__/middleware/errorFormatter.test.js +0 -304
- package/dist/src/__tests__/middleware/errorFormatter.test.js.map +0 -1
- package/dist/src/__tests__/middleware/license.test.d.ts +0 -7
- package/dist/src/__tests__/middleware/license.test.d.ts.map +0 -1
- package/dist/src/__tests__/middleware/license.test.js +0 -500
- package/dist/src/__tests__/middleware/license.test.js.map +0 -1
- package/dist/src/__tests__/search.test.d.ts +0 -6
- package/dist/src/__tests__/search.test.d.ts.map +0 -1
- package/dist/src/__tests__/search.test.js +0 -86
- package/dist/src/__tests__/search.test.js.map +0 -1
- package/dist/src/__tests__/test-utils.d.ts +0 -20
- package/dist/src/__tests__/test-utils.d.ts.map +0 -1
- package/dist/src/__tests__/test-utils.js +0 -91
- package/dist/src/__tests__/test-utils.js.map +0 -1
- package/dist/src/context/index.d.ts +0 -19
- package/dist/src/context/index.d.ts.map +0 -1
- package/dist/src/context/index.js +0 -25
- package/dist/src/context/index.js.map +0 -1
- package/dist/src/context/project-detector.d.ts +0 -145
- package/dist/src/context/project-detector.d.ts.map +0 -1
- package/dist/src/context/project-detector.js +0 -321
- package/dist/src/context/project-detector.js.map +0 -1
- package/dist/src/context.d.ts +0 -135
- package/dist/src/context.d.ts.map +0 -1
- package/dist/src/context.js +0 -191
- package/dist/src/context.js.map +0 -1
- package/dist/src/core-shim.d.ts +0 -7
- package/dist/src/core-shim.d.ts.map +0 -1
- package/dist/src/core-shim.js +0 -9
- package/dist/src/core-shim.js.map +0 -1
- package/dist/src/health/healthCheck.d.ts +0 -88
- package/dist/src/health/healthCheck.d.ts.map +0 -1
- package/dist/src/health/healthCheck.js +0 -117
- package/dist/src/health/healthCheck.js.map +0 -1
- package/dist/src/health/index.d.ts +0 -21
- package/dist/src/health/index.d.ts.map +0 -1
- package/dist/src/health/index.js +0 -21
- package/dist/src/health/index.js.map +0 -1
- package/dist/src/health/readinessCheck.d.ts +0 -139
- package/dist/src/health/readinessCheck.d.ts.map +0 -1
- package/dist/src/health/readinessCheck.js +0 -266
- package/dist/src/health/readinessCheck.js.map +0 -1
- package/dist/src/index.d.ts +0 -8
- package/dist/src/index.d.ts.map +0 -1
- package/dist/src/index.js +0 -178
- package/dist/src/index.js.map +0 -1
- package/dist/src/index.test.d.ts +0 -2
- package/dist/src/index.test.d.ts.map +0 -1
- package/dist/src/index.test.js +0 -43
- package/dist/src/index.test.js.map +0 -1
- package/dist/src/logger.d.ts +0 -26
- package/dist/src/logger.d.ts.map +0 -1
- package/dist/src/logger.js +0 -179
- package/dist/src/logger.js.map +0 -1
- package/dist/src/middleware/__tests__/csp.test.d.ts +0 -2
- package/dist/src/middleware/__tests__/csp.test.d.ts.map +0 -1
- package/dist/src/middleware/__tests__/csp.test.js +0 -390
- package/dist/src/middleware/__tests__/csp.test.js.map +0 -1
- package/dist/src/middleware/csp.d.ts +0 -103
- package/dist/src/middleware/csp.d.ts.map +0 -1
- package/dist/src/middleware/csp.js +0 -273
- package/dist/src/middleware/csp.js.map +0 -1
- package/dist/src/middleware/degradation.d.ts +0 -105
- package/dist/src/middleware/degradation.d.ts.map +0 -1
- package/dist/src/middleware/degradation.js +0 -319
- package/dist/src/middleware/degradation.js.map +0 -1
- package/dist/src/middleware/errorFormatter.d.ts +0 -119
- package/dist/src/middleware/errorFormatter.d.ts.map +0 -1
- package/dist/src/middleware/errorFormatter.js +0 -294
- package/dist/src/middleware/errorFormatter.js.map +0 -1
- package/dist/src/middleware/index.d.ts +0 -11
- package/dist/src/middleware/index.d.ts.map +0 -1
- package/dist/src/middleware/index.js +0 -16
- package/dist/src/middleware/index.js.map +0 -1
- package/dist/src/middleware/license.d.ts +0 -169
- package/dist/src/middleware/license.d.ts.map +0 -1
- package/dist/src/middleware/license.js +0 -292
- package/dist/src/middleware/license.js.map +0 -1
- package/dist/src/middleware/quota.d.ts +0 -182
- package/dist/src/middleware/quota.d.ts.map +0 -1
- package/dist/src/middleware/quota.js +0 -309
- package/dist/src/middleware/quota.js.map +0 -1
- package/dist/src/middleware/toolFeatureMapping.d.ts +0 -36
- package/dist/src/middleware/toolFeatureMapping.d.ts.map +0 -1
- package/dist/src/middleware/toolFeatureMapping.js +0 -96
- package/dist/src/middleware/toolFeatureMapping.js.map +0 -1
- package/dist/src/onboarding/first-run.d.ts +0 -64
- package/dist/src/onboarding/first-run.d.ts.map +0 -1
- package/dist/src/onboarding/first-run.js +0 -77
- package/dist/src/onboarding/first-run.js.map +0 -1
- package/dist/src/onboarding/index.d.ts +0 -7
- package/dist/src/onboarding/index.d.ts.map +0 -1
- package/dist/src/onboarding/index.js +0 -7
- package/dist/src/onboarding/index.js.map +0 -1
- package/dist/src/suggestions/index.d.ts +0 -21
- package/dist/src/suggestions/index.d.ts.map +0 -1
- package/dist/src/suggestions/index.js +0 -20
- package/dist/src/suggestions/index.js.map +0 -1
- package/dist/src/suggestions/suggestion-engine.d.ts +0 -185
- package/dist/src/suggestions/suggestion-engine.d.ts.map +0 -1
- package/dist/src/suggestions/suggestion-engine.js +0 -352
- package/dist/src/suggestions/suggestion-engine.js.map +0 -1
- package/dist/src/suggestions/types.d.ts +0 -88
- package/dist/src/suggestions/types.d.ts.map +0 -1
- package/dist/src/suggestions/types.js +0 -21
- package/dist/src/suggestions/types.js.map +0 -1
- package/dist/src/tools/analyze.d.ts +0 -151
- package/dist/src/tools/analyze.d.ts.map +0 -1
- package/dist/src/tools/analyze.js +0 -205
- package/dist/src/tools/analyze.js.map +0 -1
- package/dist/src/tools/compare.d.ts +0 -149
- package/dist/src/tools/compare.d.ts.map +0 -1
- package/dist/src/tools/compare.js +0 -464
- package/dist/src/tools/compare.js.map +0 -1
- package/dist/src/tools/get-skill.d.ts +0 -107
- package/dist/src/tools/get-skill.d.ts.map +0 -1
- package/dist/src/tools/get-skill.js +0 -260
- package/dist/src/tools/get-skill.js.map +0 -1
- package/dist/src/tools/index.d.ts +0 -20
- package/dist/src/tools/index.d.ts.map +0 -1
- package/dist/src/tools/index.js +0 -20
- package/dist/src/tools/index.js.map +0 -1
- package/dist/src/tools/install.d.ts +0 -122
- package/dist/src/tools/install.d.ts.map +0 -1
- package/dist/src/tools/install.js +0 -326
- package/dist/src/tools/install.js.map +0 -1
- package/dist/src/tools/recommend.d.ts +0 -169
- package/dist/src/tools/recommend.d.ts.map +0 -1
- package/dist/src/tools/recommend.js +0 -357
- package/dist/src/tools/recommend.js.map +0 -1
- package/dist/src/tools/search.d.ts +0 -114
- package/dist/src/tools/search.d.ts.map +0 -1
- package/dist/src/tools/search.js +0 -247
- package/dist/src/tools/search.js.map +0 -1
- package/dist/src/tools/suggest.d.ts +0 -181
- package/dist/src/tools/suggest.d.ts.map +0 -1
- package/dist/src/tools/suggest.js +0 -310
- package/dist/src/tools/suggest.js.map +0 -1
- package/dist/src/tools/uninstall.d.ts +0 -123
- package/dist/src/tools/uninstall.d.ts.map +0 -1
- package/dist/src/tools/uninstall.js +0 -250
- package/dist/src/tools/uninstall.js.map +0 -1
- package/dist/src/tools/validate.d.ts +0 -122
- package/dist/src/tools/validate.d.ts.map +0 -1
- package/dist/src/tools/validate.js +0 -497
- package/dist/src/tools/validate.js.map +0 -1
- package/dist/src/utils/installed-skills.d.ts +0 -101
- package/dist/src/utils/installed-skills.d.ts.map +0 -1
- package/dist/src/utils/installed-skills.js +0 -220
- package/dist/src/utils/installed-skills.js.map +0 -1
- package/dist/src/utils/validation.d.ts +0 -95
- package/dist/src/utils/validation.d.ts.map +0 -1
- package/dist/src/utils/validation.js +0 -186
- package/dist/src/utils/validation.js.map +0 -1
- package/dist/src/webhooks/index.d.ts +0 -8
- package/dist/src/webhooks/index.d.ts.map +0 -1
- package/dist/src/webhooks/index.js +0 -9
- package/dist/src/webhooks/index.js.map +0 -1
- package/dist/src/webhooks/webhook-endpoint.d.ts +0 -149
- package/dist/src/webhooks/webhook-endpoint.d.ts.map +0 -1
- package/dist/src/webhooks/webhook-endpoint.js +0 -339
- package/dist/src/webhooks/webhook-endpoint.js.map +0 -1
- package/dist/tests/compare.test.d.ts +0 -6
- package/dist/tests/compare.test.d.ts.map +0 -1
- package/dist/tests/compare.test.js +0 -225
- package/dist/tests/compare.test.js.map +0 -1
- package/dist/tests/context/project-detector.test.d.ts +0 -6
- package/dist/tests/context/project-detector.test.d.ts.map +0 -1
- package/dist/tests/context/project-detector.test.js +0 -719
- package/dist/tests/context/project-detector.test.js.map +0 -1
- package/dist/tests/e2e/compare.e2e.test.d.ts +0 -10
- package/dist/tests/e2e/compare.e2e.test.d.ts.map +0 -1
- package/dist/tests/e2e/compare.e2e.test.js +0 -296
- package/dist/tests/e2e/compare.e2e.test.js.map +0 -1
- package/dist/tests/e2e/install-flow.e2e.test.d.ts +0 -10
- package/dist/tests/e2e/install-flow.e2e.test.d.ts.map +0 -1
- package/dist/tests/e2e/install-flow.e2e.test.js +0 -229
- package/dist/tests/e2e/install-flow.e2e.test.js.map +0 -1
- package/dist/tests/e2e/recommend.e2e.test.d.ts +0 -12
- package/dist/tests/e2e/recommend.e2e.test.d.ts.map +0 -1
- package/dist/tests/e2e/recommend.e2e.test.js +0 -357
- package/dist/tests/e2e/recommend.e2e.test.js.map +0 -1
- package/dist/tests/e2e/skill-flow.e2e.test.d.ts +0 -10
- package/dist/tests/e2e/skill-flow.e2e.test.d.ts.map +0 -1
- package/dist/tests/e2e/skill-flow.e2e.test.js +0 -311
- package/dist/tests/e2e/skill-flow.e2e.test.js.map +0 -1
- package/dist/tests/e2e/suggest.e2e.test.d.ts +0 -13
- package/dist/tests/e2e/suggest.e2e.test.d.ts.map +0 -1
- package/dist/tests/e2e/suggest.e2e.test.js +0 -367
- package/dist/tests/e2e/suggest.e2e.test.js.map +0 -1
- package/dist/tests/e2e/utils/baseline-collector.d.ts +0 -107
- package/dist/tests/e2e/utils/baseline-collector.d.ts.map +0 -1
- package/dist/tests/e2e/utils/baseline-collector.js +0 -211
- package/dist/tests/e2e/utils/baseline-collector.js.map +0 -1
- package/dist/tests/e2e/utils/hardcoded-detector.d.ts +0 -46
- package/dist/tests/e2e/utils/hardcoded-detector.d.ts.map +0 -1
- package/dist/tests/e2e/utils/hardcoded-detector.js +0 -255
- package/dist/tests/e2e/utils/hardcoded-detector.js.map +0 -1
- package/dist/tests/e2e/utils/index.d.ts +0 -7
- package/dist/tests/e2e/utils/index.d.ts.map +0 -1
- package/dist/tests/e2e/utils/index.js +0 -7
- package/dist/tests/e2e/utils/index.js.map +0 -1
- package/dist/tests/e2e/utils/linear-reporter.d.ts +0 -60
- package/dist/tests/e2e/utils/linear-reporter.d.ts.map +0 -1
- package/dist/tests/e2e/utils/linear-reporter.js +0 -232
- package/dist/tests/e2e/utils/linear-reporter.js.map +0 -1
- package/dist/tests/health.test.d.ts +0 -9
- package/dist/tests/health.test.d.ts.map +0 -1
- package/dist/tests/health.test.js +0 -308
- package/dist/tests/health.test.js.map +0 -1
- package/dist/tests/integration/analyze.integration.test.d.ts +0 -2
- package/dist/tests/integration/analyze.integration.test.d.ts.map +0 -1
- package/dist/tests/integration/analyze.integration.test.js +0 -244
- package/dist/tests/integration/analyze.integration.test.js.map +0 -1
- package/dist/tests/integration/compare.integration.test.d.ts +0 -2
- package/dist/tests/integration/compare.integration.test.d.ts.map +0 -1
- package/dist/tests/integration/compare.integration.test.js +0 -120
- package/dist/tests/integration/compare.integration.test.js.map +0 -1
- package/dist/tests/integration/fixtures/test-skills.d.ts +0 -62
- package/dist/tests/integration/fixtures/test-skills.d.ts.map +0 -1
- package/dist/tests/integration/fixtures/test-skills.js +0 -644
- package/dist/tests/integration/fixtures/test-skills.js.map +0 -1
- package/dist/tests/integration/get-skill.integration.test.d.ts +0 -6
- package/dist/tests/integration/get-skill.integration.test.d.ts.map +0 -1
- package/dist/tests/integration/get-skill.integration.test.js +0 -203
- package/dist/tests/integration/get-skill.integration.test.js.map +0 -1
- package/dist/tests/integration/github-api.integration.test.d.ts +0 -14
- package/dist/tests/integration/github-api.integration.test.d.ts.map +0 -1
- package/dist/tests/integration/github-api.integration.test.js +0 -190
- package/dist/tests/integration/github-api.integration.test.js.map +0 -1
- package/dist/tests/integration/install.integration.test.d.ts +0 -6
- package/dist/tests/integration/install.integration.test.d.ts.map +0 -1
- package/dist/tests/integration/install.integration.test.js +0 -282
- package/dist/tests/integration/install.integration.test.js.map +0 -1
- package/dist/tests/integration/recommend.integration.test.d.ts +0 -2
- package/dist/tests/integration/recommend.integration.test.d.ts.map +0 -1
- package/dist/tests/integration/recommend.integration.test.js +0 -217
- package/dist/tests/integration/recommend.integration.test.js.map +0 -1
- package/dist/tests/integration/search.integration.test.d.ts +0 -6
- package/dist/tests/integration/search.integration.test.d.ts.map +0 -1
- package/dist/tests/integration/search.integration.test.js +0 -229
- package/dist/tests/integration/search.integration.test.js.map +0 -1
- package/dist/tests/integration/setup.d.ts +0 -74
- package/dist/tests/integration/setup.d.ts.map +0 -1
- package/dist/tests/integration/setup.js +0 -131
- package/dist/tests/integration/setup.js.map +0 -1
- package/dist/tests/integration/uninstall.integration.test.d.ts +0 -6
- package/dist/tests/integration/uninstall.integration.test.d.ts.map +0 -1
- package/dist/tests/integration/uninstall.integration.test.js +0 -296
- package/dist/tests/integration/uninstall.integration.test.js.map +0 -1
- package/dist/tests/integration/validate.integration.test.d.ts +0 -2
- package/dist/tests/integration/validate.integration.test.d.ts.map +0 -1
- package/dist/tests/integration/validate.integration.test.js +0 -181
- package/dist/tests/integration/validate.integration.test.js.map +0 -1
- package/dist/tests/onboarding/first-run.test.d.ts +0 -7
- package/dist/tests/onboarding/first-run.test.d.ts.map +0 -1
- package/dist/tests/onboarding/first-run.test.js +0 -258
- package/dist/tests/onboarding/first-run.test.js.map +0 -1
- package/dist/tests/performance/search-performance.test.d.ts +0 -10
- package/dist/tests/performance/search-performance.test.d.ts.map +0 -1
- package/dist/tests/performance/search-performance.test.js +0 -222
- package/dist/tests/performance/search-performance.test.js.map +0 -1
- package/dist/tests/recommend.test.d.ts +0 -6
- package/dist/tests/recommend.test.d.ts.map +0 -1
- package/dist/tests/recommend.test.js +0 -210
- package/dist/tests/recommend.test.js.map +0 -1
- package/dist/tests/suggestions/suggestion-engine.test.d.ts +0 -6
- package/dist/tests/suggestions/suggestion-engine.test.d.ts.map +0 -1
- package/dist/tests/suggestions/suggestion-engine.test.js +0 -448
- package/dist/tests/suggestions/suggestion-engine.test.js.map +0 -1
- package/dist/tests/test-utils.d.ts +0 -74
- package/dist/tests/test-utils.d.ts.map +0 -1
- package/dist/tests/test-utils.js +0 -98
- package/dist/tests/test-utils.js.map +0 -1
- package/dist/tests/tools.test.d.ts +0 -5
- package/dist/tests/tools.test.d.ts.map +0 -1
- package/dist/tests/tools.test.js +0 -138
- package/dist/tests/tools.test.js.map +0 -1
- package/dist/tests/unit/installed-skills.test.d.ts +0 -6
- package/dist/tests/unit/installed-skills.test.d.ts.map +0 -1
- package/dist/tests/unit/installed-skills.test.js +0 -285
- package/dist/tests/unit/installed-skills.test.js.map +0 -1
- package/dist/tests/unit/logger.test.d.ts +0 -6
- package/dist/tests/unit/logger.test.d.ts.map +0 -1
- package/dist/tests/unit/logger.test.js +0 -281
- package/dist/tests/unit/logger.test.js.map +0 -1
- package/dist/tests/validate.test.d.ts +0 -5
- package/dist/tests/validate.test.d.ts.map +0 -1
- package/dist/tests/validate.test.js +0 -303
- package/dist/tests/validate.test.js.map +0 -1
- package/dist/tests/webhooks/proxy-trust.security.test.d.ts +0 -8
- package/dist/tests/webhooks/proxy-trust.security.test.d.ts.map +0 -1
- package/dist/tests/webhooks/proxy-trust.security.test.js +0 -145
- package/dist/tests/webhooks/proxy-trust.security.test.js.map +0 -1
- package/dist/tests/webhooks/rate-limiter.security.test.d.ts +0 -8
- package/dist/tests/webhooks/rate-limiter.security.test.d.ts.map +0 -1
- package/dist/tests/webhooks/rate-limiter.security.test.js +0 -122
- package/dist/tests/webhooks/rate-limiter.security.test.js.map +0 -1
- package/dist/vitest.config.d.ts +0 -6
- package/dist/vitest.config.d.ts.map +0 -1
- package/dist/vitest.config.js +0 -13
- package/dist/vitest.config.js.map +0 -1
|
@@ -1,229 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* SMI-616: Search Tool Integration Tests
|
|
3
|
-
* Tests the search tool with a real SQLite database
|
|
4
|
-
*/
|
|
5
|
-
import { describe, it, expect, beforeAll, afterAll } from 'vitest';
|
|
6
|
-
import { createTestDatabase } from './setup.js';
|
|
7
|
-
describe('Search Tool Integration Tests', () => {
|
|
8
|
-
let dbContext;
|
|
9
|
-
beforeAll(async () => {
|
|
10
|
-
dbContext = await createTestDatabase();
|
|
11
|
-
});
|
|
12
|
-
afterAll(async () => {
|
|
13
|
-
await dbContext.cleanup();
|
|
14
|
-
});
|
|
15
|
-
describe('Basic Search Functionality', () => {
|
|
16
|
-
it('should find skills by name', () => {
|
|
17
|
-
const results = dbContext.searchService.search({
|
|
18
|
-
query: 'commit',
|
|
19
|
-
limit: 10,
|
|
20
|
-
offset: 0,
|
|
21
|
-
});
|
|
22
|
-
expect(results.items.length).toBeGreaterThan(0);
|
|
23
|
-
expect(results.items[0].skill.name).toBe('commit');
|
|
24
|
-
});
|
|
25
|
-
it('should find skills by description keywords', () => {
|
|
26
|
-
const results = dbContext.searchService.search({
|
|
27
|
-
query: 'docker',
|
|
28
|
-
limit: 10,
|
|
29
|
-
offset: 0,
|
|
30
|
-
});
|
|
31
|
-
expect(results.items.length).toBeGreaterThan(0);
|
|
32
|
-
const skillNames = results.items.map((r) => r.skill.name);
|
|
33
|
-
expect(skillNames).toContain('docker-compose');
|
|
34
|
-
});
|
|
35
|
-
it('should return empty results for non-matching queries', () => {
|
|
36
|
-
const results = dbContext.searchService.search({
|
|
37
|
-
query: 'nonexistentskillxyz123',
|
|
38
|
-
limit: 10,
|
|
39
|
-
offset: 0,
|
|
40
|
-
});
|
|
41
|
-
expect(results.items.length).toBe(0);
|
|
42
|
-
expect(results.total).toBe(0);
|
|
43
|
-
});
|
|
44
|
-
});
|
|
45
|
-
describe('Search with Filters', () => {
|
|
46
|
-
it('should filter by trust tier', () => {
|
|
47
|
-
const results = dbContext.searchService.search({
|
|
48
|
-
query: 'test react',
|
|
49
|
-
limit: 10,
|
|
50
|
-
offset: 0,
|
|
51
|
-
trustTier: 'community',
|
|
52
|
-
});
|
|
53
|
-
for (const result of results.items) {
|
|
54
|
-
expect(result.skill.trustTier).toBe('community');
|
|
55
|
-
}
|
|
56
|
-
});
|
|
57
|
-
it('should filter by minimum quality score', () => {
|
|
58
|
-
const results = dbContext.searchService.search({
|
|
59
|
-
query: 'code',
|
|
60
|
-
limit: 10,
|
|
61
|
-
offset: 0,
|
|
62
|
-
minQualityScore: 0.9,
|
|
63
|
-
});
|
|
64
|
-
for (const result of results.items) {
|
|
65
|
-
expect(result.skill.qualityScore).toBeGreaterThanOrEqual(0.9);
|
|
66
|
-
}
|
|
67
|
-
});
|
|
68
|
-
it('should combine multiple filters', () => {
|
|
69
|
-
const results = dbContext.searchService.search({
|
|
70
|
-
query: 'git',
|
|
71
|
-
limit: 10,
|
|
72
|
-
offset: 0,
|
|
73
|
-
trustTier: 'verified',
|
|
74
|
-
minQualityScore: 0.9,
|
|
75
|
-
});
|
|
76
|
-
for (const result of results.items) {
|
|
77
|
-
expect(result.skill.trustTier).toBe('verified');
|
|
78
|
-
expect(result.skill.qualityScore).toBeGreaterThanOrEqual(0.9);
|
|
79
|
-
}
|
|
80
|
-
});
|
|
81
|
-
});
|
|
82
|
-
describe('Pagination', () => {
|
|
83
|
-
it('should return correct page size', () => {
|
|
84
|
-
const results = dbContext.searchService.search({
|
|
85
|
-
query: 'a',
|
|
86
|
-
limit: 2,
|
|
87
|
-
offset: 0,
|
|
88
|
-
});
|
|
89
|
-
expect(results.items.length).toBeLessThanOrEqual(2);
|
|
90
|
-
expect(results.limit).toBe(2);
|
|
91
|
-
expect(results.offset).toBe(0);
|
|
92
|
-
});
|
|
93
|
-
it('should support offset for pagination', () => {
|
|
94
|
-
const page1 = dbContext.searchService.search({
|
|
95
|
-
query: 'a',
|
|
96
|
-
limit: 2,
|
|
97
|
-
offset: 0,
|
|
98
|
-
});
|
|
99
|
-
const page2 = dbContext.searchService.search({
|
|
100
|
-
query: 'a',
|
|
101
|
-
limit: 2,
|
|
102
|
-
offset: 2,
|
|
103
|
-
});
|
|
104
|
-
// If there are enough results, pages should be different
|
|
105
|
-
if (page1.total > 2 && page2.items.length > 0) {
|
|
106
|
-
const page1Ids = page1.items.map((r) => r.skill.id);
|
|
107
|
-
const page2Ids = page2.items.map((r) => r.skill.id);
|
|
108
|
-
expect(page1Ids).not.toEqual(page2Ids);
|
|
109
|
-
}
|
|
110
|
-
});
|
|
111
|
-
it('should indicate hasMore correctly', () => {
|
|
112
|
-
const results = dbContext.searchService.search({
|
|
113
|
-
query: 'a',
|
|
114
|
-
limit: 1,
|
|
115
|
-
offset: 0,
|
|
116
|
-
});
|
|
117
|
-
if (results.total > 1) {
|
|
118
|
-
expect(results.hasMore).toBe(true);
|
|
119
|
-
}
|
|
120
|
-
});
|
|
121
|
-
});
|
|
122
|
-
describe('BM25 Ranking', () => {
|
|
123
|
-
it('should rank exact matches higher', () => {
|
|
124
|
-
const results = dbContext.searchService.search({
|
|
125
|
-
query: 'commit',
|
|
126
|
-
limit: 10,
|
|
127
|
-
offset: 0,
|
|
128
|
-
});
|
|
129
|
-
if (results.items.length > 1) {
|
|
130
|
-
// First result should have the query term in the name
|
|
131
|
-
expect(results.items[0].skill.name.toLowerCase()).toContain('commit');
|
|
132
|
-
}
|
|
133
|
-
});
|
|
134
|
-
it('should provide relevance scores', () => {
|
|
135
|
-
const results = dbContext.searchService.search({
|
|
136
|
-
query: 'docker containers',
|
|
137
|
-
limit: 10,
|
|
138
|
-
offset: 0,
|
|
139
|
-
});
|
|
140
|
-
for (const result of results.items) {
|
|
141
|
-
expect(typeof result.rank).toBe('number');
|
|
142
|
-
expect(result.rank).toBeGreaterThanOrEqual(0);
|
|
143
|
-
}
|
|
144
|
-
});
|
|
145
|
-
});
|
|
146
|
-
describe('Search by Tags', () => {
|
|
147
|
-
it('should find skills by tag content', () => {
|
|
148
|
-
const results = dbContext.searchService.search({
|
|
149
|
-
query: 'jest',
|
|
150
|
-
limit: 10,
|
|
151
|
-
offset: 0,
|
|
152
|
-
});
|
|
153
|
-
expect(results.items.length).toBeGreaterThan(0);
|
|
154
|
-
// At least one result should have jest in tags
|
|
155
|
-
const hasJestTag = results.items.some((r) => r.skill.tags.some((tag) => tag.toLowerCase().includes('jest')));
|
|
156
|
-
expect(hasJestTag).toBe(true);
|
|
157
|
-
});
|
|
158
|
-
});
|
|
159
|
-
describe('Search by Author', () => {
|
|
160
|
-
it('should find skills by author name', () => {
|
|
161
|
-
const results = dbContext.searchService.search({
|
|
162
|
-
query: 'anthropic',
|
|
163
|
-
limit: 10,
|
|
164
|
-
offset: 0,
|
|
165
|
-
});
|
|
166
|
-
expect(results.items.length).toBeGreaterThan(0);
|
|
167
|
-
// Results should include skills by anthropic
|
|
168
|
-
const hasAnthropicAuthor = results.items.some((r) => r.skill.author?.toLowerCase() === 'anthropic');
|
|
169
|
-
expect(hasAnthropicAuthor).toBe(true);
|
|
170
|
-
});
|
|
171
|
-
});
|
|
172
|
-
describe('Edge Cases', () => {
|
|
173
|
-
it('should handle special characters in query', () => {
|
|
174
|
-
const results = dbContext.searchService.search({
|
|
175
|
-
query: 'commit-message',
|
|
176
|
-
limit: 10,
|
|
177
|
-
offset: 0,
|
|
178
|
-
});
|
|
179
|
-
// Should not throw error
|
|
180
|
-
expect(Array.isArray(results.items)).toBe(true);
|
|
181
|
-
});
|
|
182
|
-
it('should handle very long queries', () => {
|
|
183
|
-
const longQuery = 'a'.repeat(100);
|
|
184
|
-
const results = dbContext.searchService.search({
|
|
185
|
-
query: longQuery,
|
|
186
|
-
limit: 10,
|
|
187
|
-
offset: 0,
|
|
188
|
-
});
|
|
189
|
-
// Should not throw error
|
|
190
|
-
expect(Array.isArray(results.items)).toBe(true);
|
|
191
|
-
});
|
|
192
|
-
it('should handle queries with only whitespace', () => {
|
|
193
|
-
// This might return all results or empty depending on implementation
|
|
194
|
-
const results = dbContext.searchService.search({
|
|
195
|
-
query: ' ',
|
|
196
|
-
limit: 10,
|
|
197
|
-
offset: 0,
|
|
198
|
-
});
|
|
199
|
-
expect(Array.isArray(results.items)).toBe(true);
|
|
200
|
-
});
|
|
201
|
-
});
|
|
202
|
-
describe('Search Suggestions', () => {
|
|
203
|
-
it('should provide autocomplete suggestions', () => {
|
|
204
|
-
const suggestions = dbContext.searchService.suggest('com', 5);
|
|
205
|
-
expect(Array.isArray(suggestions)).toBe(true);
|
|
206
|
-
if (suggestions.length > 0) {
|
|
207
|
-
expect(suggestions[0].toLowerCase()).toContain('com');
|
|
208
|
-
}
|
|
209
|
-
});
|
|
210
|
-
it('should limit suggestions count', () => {
|
|
211
|
-
const suggestions = dbContext.searchService.suggest('a', 3);
|
|
212
|
-
expect(suggestions.length).toBeLessThanOrEqual(3);
|
|
213
|
-
});
|
|
214
|
-
});
|
|
215
|
-
describe('Find Similar Skills', () => {
|
|
216
|
-
it('should find skills similar to a given skill', () => {
|
|
217
|
-
const similar = dbContext.searchService.findSimilar('anthropic/commit', 3);
|
|
218
|
-
expect(Array.isArray(similar)).toBe(true);
|
|
219
|
-
// Similar skills should not include the original
|
|
220
|
-
const ids = similar.map((s) => s.skill.id);
|
|
221
|
-
expect(ids).not.toContain('anthropic/commit');
|
|
222
|
-
});
|
|
223
|
-
it('should return empty array for non-existent skill', () => {
|
|
224
|
-
const similar = dbContext.searchService.findSimilar('nonexistent/skill', 3);
|
|
225
|
-
expect(similar).toEqual([]);
|
|
226
|
-
});
|
|
227
|
-
});
|
|
228
|
-
});
|
|
229
|
-
//# sourceMappingURL=search.integration.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"search.integration.test.js","sourceRoot":"","sources":["../../../tests/integration/search.integration.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* SMI-616: Integration Test Setup
|
|
3
|
-
* SMI-903: Expanded to 56 test skills across all categories and trust tiers
|
|
4
|
-
* Provides test utilities for integration testing with real database and filesystem
|
|
5
|
-
*/
|
|
6
|
-
import type { Database as DatabaseType } from 'better-sqlite3';
|
|
7
|
-
import { SkillRepository, SearchService, SkillsmithApiClient } from '@skillsmith/core';
|
|
8
|
-
export { TEST_SKILLS, TEST_SKILLS_STATS } from './fixtures/test-skills.js';
|
|
9
|
-
/**
|
|
10
|
-
* Test database context
|
|
11
|
-
* SMI-1183: Added apiClient for API integration tests
|
|
12
|
-
*/
|
|
13
|
-
export interface TestDatabaseContext {
|
|
14
|
-
db: DatabaseType;
|
|
15
|
-
skillRepository: SkillRepository;
|
|
16
|
-
searchService: SearchService;
|
|
17
|
-
apiClient: SkillsmithApiClient;
|
|
18
|
-
cleanup: () => Promise<void>;
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Create an in-memory test database with sample data
|
|
22
|
-
* Seeds 56 skills across all categories and trust tiers for realistic testing
|
|
23
|
-
* SMI-1183: Creates apiClient in offline mode for local-only testing
|
|
24
|
-
*/
|
|
25
|
-
export declare function createTestDatabase(): Promise<TestDatabaseContext>;
|
|
26
|
-
/**
|
|
27
|
-
* Test filesystem context
|
|
28
|
-
*/
|
|
29
|
-
export interface TestFilesystemContext {
|
|
30
|
-
tempDir: string;
|
|
31
|
-
skillsDir: string;
|
|
32
|
-
manifestDir: string;
|
|
33
|
-
cleanup: () => Promise<void>;
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Create temporary directories for filesystem tests
|
|
37
|
-
*/
|
|
38
|
-
export declare function createTestFilesystem(): Promise<TestFilesystemContext>;
|
|
39
|
-
/**
|
|
40
|
-
* Create a mock skill manifest
|
|
41
|
-
*/
|
|
42
|
-
export declare function createMockManifest(manifestDir: string, skills?: Record<string, {
|
|
43
|
-
id: string;
|
|
44
|
-
name: string;
|
|
45
|
-
version: string;
|
|
46
|
-
source: string;
|
|
47
|
-
installPath: string;
|
|
48
|
-
installedAt: string;
|
|
49
|
-
lastUpdated: string;
|
|
50
|
-
}>): Promise<void>;
|
|
51
|
-
/**
|
|
52
|
-
* Create a mock installed skill
|
|
53
|
-
*/
|
|
54
|
-
export declare function createMockInstalledSkill(skillsDir: string, skillName: string, content?: string): Promise<string>;
|
|
55
|
-
/**
|
|
56
|
-
* Mock GitHub fetch for install tests
|
|
57
|
-
*/
|
|
58
|
-
export declare function createMockGitHubFetch(mockResponses: Record<string, {
|
|
59
|
-
status: number;
|
|
60
|
-
body?: string;
|
|
61
|
-
}>): typeof globalThis.fetch;
|
|
62
|
-
/**
|
|
63
|
-
* Wait for a condition to be true
|
|
64
|
-
*/
|
|
65
|
-
export declare function waitFor(condition: () => boolean | Promise<boolean>, timeout?: number, interval?: number): Promise<void>;
|
|
66
|
-
/**
|
|
67
|
-
* Check if a file exists
|
|
68
|
-
*/
|
|
69
|
-
export declare function fileExists(filePath: string): Promise<boolean>;
|
|
70
|
-
/**
|
|
71
|
-
* Read JSON file
|
|
72
|
-
*/
|
|
73
|
-
export declare function readJsonFile<T>(filePath: string): Promise<T>;
|
|
74
|
-
//# sourceMappingURL=setup.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../../tests/integration/setup.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAI9D,OAAO,EAGL,eAAe,EACf,aAAa,EACb,mBAAmB,EACpB,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,131 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* SMI-616: Integration Test Setup
|
|
3
|
-
* SMI-903: Expanded to 56 test skills across all categories and trust tiers
|
|
4
|
-
* Provides test utilities for integration testing with real database and filesystem
|
|
5
|
-
*/
|
|
6
|
-
import * as fs from 'fs/promises';
|
|
7
|
-
import * as path from 'path';
|
|
8
|
-
import * as os from 'os';
|
|
9
|
-
import { createDatabase, closeDatabase, SkillRepository, SearchService, SkillsmithApiClient, } from '@skillsmith/core';
|
|
10
|
-
import { seedTestSkills } from './fixtures/test-skills.js';
|
|
11
|
-
// Re-export for test access
|
|
12
|
-
export { TEST_SKILLS, TEST_SKILLS_STATS } from './fixtures/test-skills.js';
|
|
13
|
-
/**
|
|
14
|
-
* Create an in-memory test database with sample data
|
|
15
|
-
* Seeds 56 skills across all categories and trust tiers for realistic testing
|
|
16
|
-
* SMI-1183: Creates apiClient in offline mode for local-only testing
|
|
17
|
-
*/
|
|
18
|
-
export async function createTestDatabase() {
|
|
19
|
-
const db = createDatabase(':memory:');
|
|
20
|
-
const skillRepository = new SkillRepository(db);
|
|
21
|
-
const searchService = new SearchService(db);
|
|
22
|
-
// SMI-1183: Create API client in offline mode for tests
|
|
23
|
-
// Tests use local database, not live API
|
|
24
|
-
const apiClient = new SkillsmithApiClient({
|
|
25
|
-
offlineMode: true,
|
|
26
|
-
});
|
|
27
|
-
// Seed with comprehensive test data (56 skills)
|
|
28
|
-
seedTestSkills(skillRepository);
|
|
29
|
-
return {
|
|
30
|
-
db,
|
|
31
|
-
skillRepository,
|
|
32
|
-
searchService,
|
|
33
|
-
apiClient,
|
|
34
|
-
cleanup: async () => {
|
|
35
|
-
closeDatabase(db);
|
|
36
|
-
},
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Create temporary directories for filesystem tests
|
|
41
|
-
*/
|
|
42
|
-
export async function createTestFilesystem() {
|
|
43
|
-
const tempDir = path.join(os.tmpdir(), `skillsmith-test-${Date.now()}-${Math.random().toString(36).slice(2)}`);
|
|
44
|
-
const skillsDir = path.join(tempDir, '.claude', 'skills');
|
|
45
|
-
const manifestDir = path.join(tempDir, '.skillsmith');
|
|
46
|
-
await fs.mkdir(skillsDir, { recursive: true });
|
|
47
|
-
await fs.mkdir(manifestDir, { recursive: true });
|
|
48
|
-
return {
|
|
49
|
-
tempDir,
|
|
50
|
-
skillsDir,
|
|
51
|
-
manifestDir,
|
|
52
|
-
cleanup: async () => {
|
|
53
|
-
try {
|
|
54
|
-
await fs.rm(tempDir, { recursive: true, force: true });
|
|
55
|
-
}
|
|
56
|
-
catch {
|
|
57
|
-
// Ignore cleanup errors
|
|
58
|
-
}
|
|
59
|
-
},
|
|
60
|
-
};
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* Create a mock skill manifest
|
|
64
|
-
*/
|
|
65
|
-
export async function createMockManifest(manifestDir, skills = {}) {
|
|
66
|
-
const manifest = {
|
|
67
|
-
version: '1.0.0',
|
|
68
|
-
installedSkills: skills,
|
|
69
|
-
};
|
|
70
|
-
await fs.writeFile(path.join(manifestDir, 'manifest.json'), JSON.stringify(manifest, null, 2));
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* Create a mock installed skill
|
|
74
|
-
*/
|
|
75
|
-
export async function createMockInstalledSkill(skillsDir, skillName, content = '# Mock Skill\n\nThis is a mock skill for testing purposes with enough content to pass validation.') {
|
|
76
|
-
const skillPath = path.join(skillsDir, skillName);
|
|
77
|
-
await fs.mkdir(skillPath, { recursive: true });
|
|
78
|
-
await fs.writeFile(path.join(skillPath, 'SKILL.md'), content);
|
|
79
|
-
return skillPath;
|
|
80
|
-
}
|
|
81
|
-
/**
|
|
82
|
-
* Mock GitHub fetch for install tests
|
|
83
|
-
*/
|
|
84
|
-
export function createMockGitHubFetch(mockResponses) {
|
|
85
|
-
return async (input, _init) => {
|
|
86
|
-
const url = typeof input === 'string' ? input : input.toString();
|
|
87
|
-
for (const [pattern, response] of Object.entries(mockResponses)) {
|
|
88
|
-
if (url.includes(pattern)) {
|
|
89
|
-
return new Response(response.body ?? '', {
|
|
90
|
-
status: response.status,
|
|
91
|
-
headers: { 'Content-Type': 'text/plain' },
|
|
92
|
-
});
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
// Default 404 response
|
|
96
|
-
return new Response('Not Found', { status: 404 });
|
|
97
|
-
};
|
|
98
|
-
}
|
|
99
|
-
/**
|
|
100
|
-
* Wait for a condition to be true
|
|
101
|
-
*/
|
|
102
|
-
export async function waitFor(condition, timeout = 5000, interval = 100) {
|
|
103
|
-
const start = Date.now();
|
|
104
|
-
while (Date.now() - start < timeout) {
|
|
105
|
-
if (await condition()) {
|
|
106
|
-
return;
|
|
107
|
-
}
|
|
108
|
-
await new Promise((resolve) => setTimeout(resolve, interval));
|
|
109
|
-
}
|
|
110
|
-
throw new Error('Timeout waiting for condition');
|
|
111
|
-
}
|
|
112
|
-
/**
|
|
113
|
-
* Check if a file exists
|
|
114
|
-
*/
|
|
115
|
-
export async function fileExists(filePath) {
|
|
116
|
-
try {
|
|
117
|
-
await fs.access(filePath);
|
|
118
|
-
return true;
|
|
119
|
-
}
|
|
120
|
-
catch {
|
|
121
|
-
return false;
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
/**
|
|
125
|
-
* Read JSON file
|
|
126
|
-
*/
|
|
127
|
-
export async function readJsonFile(filePath) {
|
|
128
|
-
const content = await fs.readFile(filePath, 'utf-8');
|
|
129
|
-
return JSON.parse(content);
|
|
130
|
-
}
|
|
131
|
-
//# sourceMappingURL=setup.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../tests/integration/setup.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"uninstall.integration.test.d.ts","sourceRoot":"","sources":["../../../tests/integration/uninstall.integration.test.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
|