@skillsmith/mcp-server 0.4.11 → 0.4.13

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 (107) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/README.md +44 -0
  3. package/dist/.tsbuildinfo +1 -1
  4. package/dist/src/__tests__/search.test.js +8 -0
  5. package/dist/src/__tests__/search.test.js.map +1 -1
  6. package/dist/src/__tests__/tool-dispatch.envelope.test.d.ts +12 -0
  7. package/dist/src/__tests__/tool-dispatch.envelope.test.d.ts.map +1 -0
  8. package/dist/src/__tests__/tool-dispatch.envelope.test.js +205 -0
  9. package/dist/src/__tests__/tool-dispatch.envelope.test.js.map +1 -0
  10. package/dist/src/__tests__/utils/validation.test.js +7 -0
  11. package/dist/src/__tests__/utils/validation.test.js.map +1 -1
  12. package/dist/src/context.async.d.ts.map +1 -1
  13. package/dist/src/context.async.js +22 -1
  14. package/dist/src/context.async.js.map +1 -1
  15. package/dist/src/index.js +10 -1
  16. package/dist/src/index.js.map +1 -1
  17. package/dist/src/middleware/__tests__/license.gate.test.d.ts +2 -0
  18. package/dist/src/middleware/__tests__/license.gate.test.d.ts.map +1 -0
  19. package/dist/src/middleware/__tests__/license.gate.test.js +74 -0
  20. package/dist/src/middleware/__tests__/license.gate.test.js.map +1 -0
  21. package/dist/src/middleware/license.d.ts +1 -23
  22. package/dist/src/middleware/license.d.ts.map +1 -1
  23. package/dist/src/middleware/license.gate.d.ts +23 -0
  24. package/dist/src/middleware/license.gate.d.ts.map +1 -0
  25. package/dist/src/middleware/license.gate.js +59 -0
  26. package/dist/src/middleware/license.gate.js.map +1 -0
  27. package/dist/src/middleware/license.js +2 -28
  28. package/dist/src/middleware/license.js.map +1 -1
  29. package/dist/src/tool-dispatch.d.ts.map +1 -1
  30. package/dist/src/tool-dispatch.js +58 -19
  31. package/dist/src/tool-dispatch.js.map +1 -1
  32. package/dist/src/tools/compare.types.d.ts +1 -0
  33. package/dist/src/tools/compare.types.d.ts.map +1 -1
  34. package/dist/src/tools/compare.types.js +2 -0
  35. package/dist/src/tools/compare.types.js.map +1 -1
  36. package/dist/src/tools/compliance-tools.d.ts +1 -1
  37. package/dist/src/tools/compliance-tools.d.ts.map +1 -1
  38. package/dist/src/tools/get-skill.js +3 -0
  39. package/dist/src/tools/get-skill.js.map +1 -1
  40. package/dist/src/tools/install.d.ts +9 -3
  41. package/dist/src/tools/install.d.ts.map +1 -1
  42. package/dist/src/tools/install.js +52 -11
  43. package/dist/src/tools/install.js.map +1 -1
  44. package/dist/src/tools/install.test.d.ts +17 -0
  45. package/dist/src/tools/install.test.d.ts.map +1 -0
  46. package/dist/src/tools/install.test.js +237 -0
  47. package/dist/src/tools/install.test.js.map +1 -0
  48. package/dist/src/tools/integration-tools.service.d.ts.map +1 -1
  49. package/dist/src/tools/integration-tools.service.hash.test.d.ts +10 -0
  50. package/dist/src/tools/integration-tools.service.hash.test.d.ts.map +1 -0
  51. package/dist/src/tools/integration-tools.service.hash.test.js +48 -0
  52. package/dist/src/tools/integration-tools.service.hash.test.js.map +1 -0
  53. package/dist/src/tools/integration-tools.service.js +22 -2
  54. package/dist/src/tools/integration-tools.service.js.map +1 -1
  55. package/dist/src/tools/integration-tools.service.test.js +17 -14
  56. package/dist/src/tools/integration-tools.service.test.js.map +1 -1
  57. package/dist/src/tools/integration-tools.stub.d.ts.map +1 -1
  58. package/dist/src/tools/integration-tools.stub.js +3 -5
  59. package/dist/src/tools/integration-tools.stub.js.map +1 -1
  60. package/dist/src/tools/registry-tools.d.ts.map +1 -1
  61. package/dist/src/tools/registry-tools.js +42 -4
  62. package/dist/src/tools/registry-tools.js.map +1 -1
  63. package/dist/src/tools/search.d.ts +1 -1
  64. package/dist/src/tools/search.d.ts.map +1 -1
  65. package/dist/src/tools/search.js +4 -4
  66. package/dist/src/tools/search.js.map +1 -1
  67. package/dist/src/tools/team-resolver.d.ts +29 -0
  68. package/dist/src/tools/team-resolver.d.ts.map +1 -0
  69. package/dist/src/tools/team-resolver.js +46 -0
  70. package/dist/src/tools/team-resolver.js.map +1 -0
  71. package/dist/src/tools/team-resolver.test.d.ts +6 -0
  72. package/dist/src/tools/team-resolver.test.d.ts.map +1 -0
  73. package/dist/src/tools/team-resolver.test.js +73 -0
  74. package/dist/src/tools/team-resolver.test.js.map +1 -0
  75. package/dist/src/tools/team-workspace.d.ts +14 -0
  76. package/dist/src/tools/team-workspace.d.ts.map +1 -1
  77. package/dist/src/tools/team-workspace.js +149 -75
  78. package/dist/src/tools/team-workspace.js.map +1 -1
  79. package/dist/src/tools/team-workspace.live.d.ts +34 -0
  80. package/dist/src/tools/team-workspace.live.d.ts.map +1 -0
  81. package/dist/src/tools/team-workspace.live.js +182 -0
  82. package/dist/src/tools/team-workspace.live.js.map +1 -0
  83. package/dist/src/tools/team-workspace.live.test.d.ts +10 -0
  84. package/dist/src/tools/team-workspace.live.test.d.ts.map +1 -0
  85. package/dist/src/tools/team-workspace.live.test.js +177 -0
  86. package/dist/src/tools/team-workspace.live.test.js.map +1 -0
  87. package/dist/src/tools/team-workspace.stub.d.ts.map +1 -1
  88. package/dist/src/tools/team-workspace.stub.js +3 -1
  89. package/dist/src/tools/team-workspace.stub.js.map +1 -1
  90. package/dist/src/tools/team-workspace.test.d.ts +1 -0
  91. package/dist/src/tools/team-workspace.test.d.ts.map +1 -1
  92. package/dist/src/tools/team-workspace.test.js +43 -1
  93. package/dist/src/tools/team-workspace.test.js.map +1 -1
  94. package/dist/src/utils/validation.d.ts +4 -2
  95. package/dist/src/utils/validation.d.ts.map +1 -1
  96. package/dist/src/utils/validation.js +9 -2
  97. package/dist/src/utils/validation.js.map +1 -1
  98. package/dist/src/validation.d.ts +64 -0
  99. package/dist/src/validation.d.ts.map +1 -0
  100. package/dist/src/validation.js +73 -0
  101. package/dist/src/validation.js.map +1 -0
  102. package/dist/src/validation.test.d.ts +6 -0
  103. package/dist/src/validation.test.d.ts.map +1 -0
  104. package/dist/src/validation.test.js +102 -0
  105. package/dist/src/validation.test.js.map +1 -0
  106. package/package.json +3 -3
  107. package/server.json +3 -7
@@ -0,0 +1,177 @@
1
+ /**
2
+ * @fileoverview Live-mode tests for team_workspace + share_skill MCP tools
3
+ * @see SMI-4312: service-role client post-resolution + cross-team hardening
4
+ *
5
+ * Kept in a sidecar so team-workspace.test.ts stays under the 500-line CI limit.
6
+ * Exercises the live Supabase-backed service by mocking `getSupabaseAdminClient`
7
+ * with a recording fake client.
8
+ */
9
+ import { describe, it, expect, beforeEach, vi, afterEach } from 'vitest';
10
+ // Live service and handlers: imported AFTER the vi.mock block below so that
11
+ // the module under test sees the mocked supabase-client exports.
12
+ import { executeTeamWorkspace, executeShareSkill, setTeamWorkspaceService, createStubService, } from './team-workspace.js';
13
+ import { createLiveService } from './team-workspace.live.js';
14
+ vi.mock('../supabase-client.js', () => ({
15
+ isSupabaseConfigured: vi.fn(() => true),
16
+ getSupabaseClient: vi.fn(),
17
+ getSupabaseAdminClient: vi.fn(),
18
+ resetSupabaseClients: vi.fn(),
19
+ }));
20
+ vi.mock('./team-resolver.js', () => ({
21
+ readLicenseKey: vi.fn(() => 'sk_test_fake_license'),
22
+ resolveLicenseTeamId: vi.fn(async () => 'team-alpha'),
23
+ }));
24
+ function createFakeClient(opts = {}) {
25
+ const calls = [];
26
+ function makeQuery(table, op) {
27
+ const record = { table, op, filters: [] };
28
+ calls.push(record);
29
+ const chain = {
30
+ select: () => chain,
31
+ eq: (column, value) => {
32
+ record.filters.push({ column, value });
33
+ return chain;
34
+ },
35
+ insert: (row) => {
36
+ record.op = 'insert';
37
+ record.payload = row;
38
+ return chain;
39
+ },
40
+ delete: () => {
41
+ record.op = 'delete';
42
+ return chain;
43
+ },
44
+ single: async () => {
45
+ return (opts.singleResponder?.() ?? {
46
+ data: null,
47
+ error: null,
48
+ });
49
+ },
50
+ then: (onFulfilled) => {
51
+ const resp = opts.thenResponder?.() ?? { data: [], error: null };
52
+ return Promise.resolve(onFulfilled(resp));
53
+ },
54
+ };
55
+ return chain;
56
+ }
57
+ const client = {
58
+ from: (table) => makeQuery(table, 'select'),
59
+ };
60
+ return { client, calls };
61
+ }
62
+ function makeContext() {
63
+ return {};
64
+ }
65
+ // ============================================================================
66
+ // Shared setup
67
+ // ============================================================================
68
+ beforeEach(() => {
69
+ // Install the live service so handlers hit the mocked admin client.
70
+ setTeamWorkspaceService(createLiveService());
71
+ });
72
+ afterEach(() => {
73
+ // Restore stub so unrelated tests start clean if the file grows.
74
+ setTeamWorkspaceService(createStubService());
75
+ vi.clearAllMocks();
76
+ });
77
+ // ============================================================================
78
+ // Tests — admin client is used post license resolution
79
+ // ============================================================================
80
+ describe('team-workspace live mode — SMI-4312', () => {
81
+ it('listWorkspaces calls the admin (service-role) client with team_id filter', async () => {
82
+ const { client, calls } = createFakeClient({
83
+ thenResponder: () => ({ data: [], error: null }),
84
+ });
85
+ const { getSupabaseAdminClient, getSupabaseClient } = await import('../supabase-client.js');
86
+ vi.mocked(getSupabaseAdminClient).mockResolvedValue(client);
87
+ const result = await executeTeamWorkspace({ action: 'list' }, makeContext());
88
+ expect(result.success).toBe(true);
89
+ expect(result.dataSource).toBe('live');
90
+ expect(getSupabaseAdminClient).toHaveBeenCalled();
91
+ // The anon-key client must NOT be used for CRUD in live mode.
92
+ expect(getSupabaseClient).not.toHaveBeenCalled();
93
+ // team_id filter must be applied on the query.
94
+ const q = calls.find((c) => c.table === 'team_workspaces');
95
+ expect(q).toBeDefined();
96
+ expect(q.filters.some((f) => f.column === 'team_id' && f.value === 'team-alpha')).toBe(true);
97
+ });
98
+ it('createWorkspace inserts with team_id from the resolved license', async () => {
99
+ const { client, calls } = createFakeClient({
100
+ singleResponder: () => ({
101
+ data: {
102
+ id: 'ws-new',
103
+ team_id: 'team-alpha',
104
+ name: 'New WS',
105
+ description: null,
106
+ settings: null,
107
+ created_by: null,
108
+ created_at: '2026-04-19T00:00:00Z',
109
+ updated_at: '2026-04-19T00:00:00Z',
110
+ },
111
+ error: null,
112
+ }),
113
+ });
114
+ const { getSupabaseAdminClient } = await import('../supabase-client.js');
115
+ vi.mocked(getSupabaseAdminClient).mockResolvedValue(client);
116
+ const result = await executeTeamWorkspace({ action: 'create', name: 'New WS' }, makeContext());
117
+ expect(result.success).toBe(true);
118
+ expect(result.workspace?.teamId).toBe('team-alpha');
119
+ const insertCall = calls.find((c) => c.op === 'insert');
120
+ expect(insertCall).toBeDefined();
121
+ expect(insertCall.payload?.team_id).toBe('team-alpha');
122
+ });
123
+ it('surfaces a typed error when SUPABASE_SERVICE_ROLE_KEY is not configured', async () => {
124
+ const { getSupabaseAdminClient } = await import('../supabase-client.js');
125
+ vi.mocked(getSupabaseAdminClient).mockRejectedValueOnce(new Error('Supabase admin not configured: SUPABASE_SERVICE_ROLE_KEY required'));
126
+ const result = await executeTeamWorkspace({ action: 'list' }, makeContext());
127
+ expect(result.success).toBe(false);
128
+ expect(result.dataSource).toBe('live');
129
+ expect(result.error).toMatch(/SUPABASE_SERVICE_ROLE_KEY/);
130
+ });
131
+ });
132
+ // ============================================================================
133
+ // Tests — cross-team workspace access hardening
134
+ // ============================================================================
135
+ describe('share_skill live mode — cross-team hardening — SMI-4312', () => {
136
+ const foreignWorkspaceId = '00000000-0000-0000-0000-0000000000ff';
137
+ /**
138
+ * Fake that returns "no row" whenever the team_workspaces SELECT is
139
+ * team-scoped — i.e. the caller tried to access a workspace owned by
140
+ * a different team. This is the cross-team attack shape.
141
+ */
142
+ function foreignWorkspaceFake() {
143
+ return createFakeClient({
144
+ singleResponder: () => ({
145
+ data: null,
146
+ error: { message: 'No rows found' },
147
+ }),
148
+ thenResponder: () => ({ data: [], error: null }),
149
+ });
150
+ }
151
+ it('share_skill add rejects a workspaceId that does not belong to the resolved team', async () => {
152
+ const { client } = foreignWorkspaceFake();
153
+ const { getSupabaseAdminClient } = await import('../supabase-client.js');
154
+ vi.mocked(getSupabaseAdminClient).mockResolvedValue(client);
155
+ const result = await executeShareSkill({ action: 'add', workspaceId: foreignWorkspaceId, skillId: 'author/name' }, makeContext());
156
+ expect(result.success).toBe(false);
157
+ expect(result.dataSource).toBe('live');
158
+ expect(result.error).toMatch(/not found in team/i);
159
+ });
160
+ it('share_skill list rejects a cross-team workspaceId', async () => {
161
+ const { client } = foreignWorkspaceFake();
162
+ const { getSupabaseAdminClient } = await import('../supabase-client.js');
163
+ vi.mocked(getSupabaseAdminClient).mockResolvedValue(client);
164
+ const result = await executeShareSkill({ action: 'list', workspaceId: foreignWorkspaceId }, makeContext());
165
+ expect(result.success).toBe(false);
166
+ expect(result.error).toMatch(/not found in team/i);
167
+ });
168
+ it('share_skill remove rejects a cross-team workspaceId', async () => {
169
+ const { client } = foreignWorkspaceFake();
170
+ const { getSupabaseAdminClient } = await import('../supabase-client.js');
171
+ vi.mocked(getSupabaseAdminClient).mockResolvedValue(client);
172
+ const result = await executeShareSkill({ action: 'remove', workspaceId: foreignWorkspaceId, skillId: 'author/name' }, makeContext());
173
+ expect(result.success).toBe(false);
174
+ expect(result.error).toMatch(/not found in team/i);
175
+ });
176
+ });
177
+ //# sourceMappingURL=team-workspace.live.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"team-workspace.live.test.js","sourceRoot":"","sources":["../../../src/tools/team-workspace.live.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"team-workspace.stub.d.ts","sourceRoot":"","sources":["../../../src/tools/team-workspace.stub.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,oBAAoB,EAIrB,MAAM,qBAAqB,CAAA;AAM5B,qCAAqC;AACrC,wBAAgB,iBAAiB,IAAI,oBAAoB,CAsExD"}
1
+ {"version":3,"file":"team-workspace.stub.d.ts","sourceRoot":"","sources":["../../../src/tools/team-workspace.stub.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,oBAAoB,EAIrB,MAAM,qBAAqB,CAAA;AAM5B,qCAAqC;AACrC,wBAAgB,iBAAiB,IAAI,oBAAoB,CAwExD"}
@@ -17,7 +17,9 @@ export function createStubService() {
17
17
  const skills = new Map();
18
18
  return {
19
19
  async resolveTeamId(_licenseKey) {
20
- // TODO: Replace with Supabase RPC: license_key -> subscription -> team_id
20
+ // SMI-4292: Live resolution lives in team-workspace.live.ts via
21
+ // resolve_team_from_license RPC (migration 071). This stub returns a
22
+ // static team id for unit tests and unauthenticated environments.
21
23
  return 'team_stub_00000000-0000-0000-0000-000000000000';
22
24
  },
23
25
  async createWorkspace(teamId, name, description) {
@@ -1 +1 @@
1
- {"version":3,"file":"team-workspace.stub.js","sourceRoot":"","sources":["../../../src/tools/team-workspace.stub.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"team-workspace.stub.js","sourceRoot":"","sources":["../../../src/tools/team-workspace.stub.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@
2
2
  * @fileoverview Unit tests for team_workspace and share_skill MCP tools
3
3
  * @see SMI-3895: Team Workspace + Share Skill MCP Tools
4
4
  * @see SMI-3898: Skill Sharing Controls
5
+ * @see SMI-4292: Wave 5A — live Supabase integration + typed error paths
5
6
  */
6
7
  export {};
7
8
  //# sourceMappingURL=team-workspace.test.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"team-workspace.test.d.ts","sourceRoot":"","sources":["../../../src/tools/team-workspace.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
1
+ {"version":3,"file":"team-workspace.test.d.ts","sourceRoot":"","sources":["../../../src/tools/team-workspace.test.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
@@ -2,9 +2,17 @@
2
2
  * @fileoverview Unit tests for team_workspace and share_skill MCP tools
3
3
  * @see SMI-3895: Team Workspace + Share Skill MCP Tools
4
4
  * @see SMI-3898: Skill Sharing Controls
5
+ * @see SMI-4292: Wave 5A — live Supabase integration + typed error paths
5
6
  */
6
- import { describe, it, expect, beforeEach } from 'vitest';
7
+ import { describe, it, expect, beforeEach, vi } from 'vitest';
7
8
  import { teamWorkspaceInputSchema, shareSkillInputSchema, executeTeamWorkspace, executeShareSkill, createStubService, setTeamWorkspaceService, matchesPattern, checkSharingPolicy, } from './team-workspace.js';
9
+ // Mock isSupabaseConfigured so we can flip between 'stub' and 'live' modes
10
+ vi.mock('../supabase-client.js', () => ({
11
+ isSupabaseConfigured: vi.fn(() => false),
12
+ getSupabaseClient: vi.fn(),
13
+ getSupabaseAdminClient: vi.fn(),
14
+ resetSupabaseClients: vi.fn(),
15
+ }));
8
16
  // ============================================================================
9
17
  // Helpers
10
18
  // ============================================================================
@@ -199,6 +207,23 @@ describe('executeTeamWorkspace', () => {
199
207
  const result = await executeTeamWorkspace({ action: 'delete', workspaceId: '00000000-0000-0000-0000-000000000099' }, makeContext());
200
208
  expect(result.success).toBe(false);
201
209
  });
210
+ // SMI-4292: Typed error when Supabase live but license key missing
211
+ it('returns typed error in live mode when SKILLSMITH_LICENSE_KEY is missing', async () => {
212
+ const { isSupabaseConfigured } = await import('../supabase-client.js');
213
+ vi.mocked(isSupabaseConfigured).mockReturnValueOnce(true);
214
+ const orig = process.env.SKILLSMITH_LICENSE_KEY;
215
+ delete process.env.SKILLSMITH_LICENSE_KEY;
216
+ try {
217
+ const result = await executeTeamWorkspace({ action: 'list' }, makeContext());
218
+ expect(result.success).toBe(false);
219
+ expect(result.dataSource).toBe('live');
220
+ expect(result.error).toContain('SKILLSMITH_LICENSE_KEY');
221
+ }
222
+ finally {
223
+ if (orig !== undefined)
224
+ process.env.SKILLSMITH_LICENSE_KEY = orig;
225
+ }
226
+ });
202
227
  });
203
228
  // ============================================================================
204
229
  // executeShareSkill
@@ -240,6 +265,23 @@ describe('executeShareSkill', () => {
240
265
  expect(result.success).toBe(false);
241
266
  expect(result.error).toContain('not found');
242
267
  });
268
+ // SMI-4292: Typed error when Supabase live but license key missing
269
+ it('returns typed error in live mode when SKILLSMITH_LICENSE_KEY is missing', async () => {
270
+ const { isSupabaseConfigured } = await import('../supabase-client.js');
271
+ vi.mocked(isSupabaseConfigured).mockReturnValueOnce(true);
272
+ const orig = process.env.SKILLSMITH_LICENSE_KEY;
273
+ delete process.env.SKILLSMITH_LICENSE_KEY;
274
+ try {
275
+ const result = await executeShareSkill({ action: 'list', workspaceId: wsId }, makeContext());
276
+ expect(result.success).toBe(false);
277
+ expect(result.dataSource).toBe('live');
278
+ expect(result.error).toContain('SKILLSMITH_LICENSE_KEY');
279
+ }
280
+ finally {
281
+ if (orig !== undefined)
282
+ process.env.SKILLSMITH_LICENSE_KEY = orig;
283
+ }
284
+ });
243
285
  // SMI-3898: Deny list enforcement
244
286
  it('rejects skill matching deny list pattern', async () => {
245
287
  // Create a service with deny list
@@ -1 +1 @@
1
- {"version":3,"file":"team-workspace.test.js","sourceRoot":"","sources":["../../../src/tools/team-workspace.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"team-workspace.test.js","sourceRoot":"","sources":["../../../src/tools/team-workspace.test.ts"],"names":[],"mappings":"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"}
@@ -47,8 +47,9 @@ export declare function parseSkillId(id: string): {
47
47
  /**
48
48
  * Map MCP trust tier to database trust tier.
49
49
  *
50
- * Types are now unified: verified, community, experimental, unknown, local
50
+ * Types are now unified: verified, community, experimental, curated, unknown, local
51
51
  * SMI-1809: Added 'local' for local skills from ~/.claude/skills/
52
+ * SMI-2381 / SMI-4520: Added 'curated' for third-party publishers
52
53
  *
53
54
  * @param mcpTier - MCP trust tier
54
55
  * @returns Database trust tier
@@ -58,8 +59,9 @@ export declare function mapTrustTierToDb(mcpTier: MCPTrustTier): DBTrustTier;
58
59
  * Map database trust tier to MCP trust tier.
59
60
  *
60
61
  * Accepts string input and validates, returning 'unknown' for invalid values.
61
- * Types are unified: verified, community, experimental, unknown, local
62
+ * Types are unified: verified, community, experimental, curated, unknown, local
62
63
  * SMI-1809: Added 'local' for local skills from ~/.claude/skills/
64
+ * SMI-2381 / SMI-4520: Added 'curated' for third-party publishers
63
65
  *
64
66
  * @param dbTier - Database trust tier (string or typed)
65
67
  * @returns MCP trust tier
@@ -1 +1 @@
1
- {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../src/utils/validation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,SAAS,IAAI,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAmB7F;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CASlD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CASjG;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,YAAY,GAAG,WAAW,CAanE;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,GAAG,YAAY,CAc7E;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,SAAS,GAAG,IAAI,GAAG,aAAa,CA+CxF;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,aAAa,GAAG,IAAI,CAiB1F;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,CASxD;AAED;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,EAAE,SAAS,MAAM,EAO9B,CAAA;AAEV;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE,SAAS,MAAM,EAO9B,CAAA"}
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../src/utils/validation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,SAAS,IAAI,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAmB7F;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CASlD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CASjG;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,YAAY,GAAG,WAAW,CAenE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,GAAG,YAAY,CAgB7E;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,SAAS,GAAG,IAAI,GAAG,aAAa,CA+CxF;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,aAAa,GAAG,IAAI,CAiB1F;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,CAUxD;AAED;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,EAAE,SAAS,MAAM,EAO9B,CAAA;AAEV;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE,SAAS,MAAM,EAO9B,CAAA"}
@@ -75,8 +75,9 @@ export function parseSkillId(id) {
75
75
  /**
76
76
  * Map MCP trust tier to database trust tier.
77
77
  *
78
- * Types are now unified: verified, community, experimental, unknown, local
78
+ * Types are now unified: verified, community, experimental, curated, unknown, local
79
79
  * SMI-1809: Added 'local' for local skills from ~/.claude/skills/
80
+ * SMI-2381 / SMI-4520: Added 'curated' for third-party publishers
80
81
  *
81
82
  * @param mcpTier - MCP trust tier
82
83
  * @returns Database trust tier
@@ -89,6 +90,8 @@ export function mapTrustTierToDb(mcpTier) {
89
90
  return 'community';
90
91
  case 'experimental':
91
92
  return 'experimental';
93
+ case 'curated':
94
+ return 'curated';
92
95
  case 'local':
93
96
  return 'local';
94
97
  case 'unknown':
@@ -99,8 +102,9 @@ export function mapTrustTierToDb(mcpTier) {
99
102
  * Map database trust tier to MCP trust tier.
100
103
  *
101
104
  * Accepts string input and validates, returning 'unknown' for invalid values.
102
- * Types are unified: verified, community, experimental, unknown, local
105
+ * Types are unified: verified, community, experimental, curated, unknown, local
103
106
  * SMI-1809: Added 'local' for local skills from ~/.claude/skills/
107
+ * SMI-2381 / SMI-4520: Added 'curated' for third-party publishers
104
108
  *
105
109
  * @param dbTier - Database trust tier (string or typed)
106
110
  * @returns MCP trust tier
@@ -113,6 +117,8 @@ export function mapTrustTierFromDb(dbTier) {
113
117
  return 'community';
114
118
  case 'experimental':
115
119
  return 'experimental';
120
+ case 'curated':
121
+ return 'curated';
116
122
  case 'local':
117
123
  return 'local';
118
124
  case 'unknown':
@@ -235,6 +241,7 @@ export function getTrustBadge(tier) {
235
241
  verified: '[VERIFIED]',
236
242
  community: '[COMMUNITY]',
237
243
  experimental: '[EXPERIMENTAL]',
244
+ curated: '[CURATED]',
238
245
  unknown: '[UNKNOWN]',
239
246
  local: '[LOCAL]',
240
247
  };
@@ -1 +1 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/utils/validation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/utils/validation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,64 @@
1
+ /**
2
+ * @fileoverview Shared Zod `safeParse` envelope helper for MCP tool-dispatch.
3
+ * @module @skillsmith/mcp-server/validation
4
+ *
5
+ * SMI-4313: Prior to this helper, ~20 tool-dispatch branches called
6
+ * `schema.parse(args)` (throwing on invalid input). The outer catch at
7
+ * `index.ts` flattened those `ZodError`s to plain-text `isError: true`
8
+ * content, losing the structured issue array.
9
+ *
10
+ * This helper returns a discriminated union so every call site can
11
+ * short-circuit to a structured error envelope on invalid input without
12
+ * throwing. The envelope shape is aligned with the MCP protocol's
13
+ * `CallToolResult` (`isError: true` + JSON-serialised body with
14
+ * `error`, `tool`, and `issues[]`).
15
+ *
16
+ * Reference: `packages/mcp-server/src/tools/install.ts` uses an
17
+ * application-level `InstallResult` envelope (different shape — that one
18
+ * lives inside a successful tool response and signals application-level
19
+ * failure). This helper is the protocol-level complement for the 9 direct
20
+ * dispatch sites plus `withLicenseAndQuota`.
21
+ */
22
+ import type { CallToolResult } from '@modelcontextprotocol/sdk/types.js';
23
+ import type { ZodType, ZodTypeDef } from 'zod';
24
+ /**
25
+ * Discriminated result of a `safeParseOrError` call.
26
+ *
27
+ * - `ok: true` — parse succeeded; `data` carries the typed payload.
28
+ * - `ok: false` — parse failed; `response` is a ready-to-return
29
+ * `CallToolResult` with `isError: true` and a JSON body.
30
+ */
31
+ export type SafeParseResult<T> = {
32
+ ok: true;
33
+ data: T;
34
+ } | {
35
+ ok: false;
36
+ response: CallToolResult;
37
+ };
38
+ /**
39
+ * Run Zod `safeParse` at an MCP tool boundary and map failures to a
40
+ * structured `CallToolResult` envelope.
41
+ *
42
+ * Envelope body shape (JSON-encoded in `content[0].text`):
43
+ * ```json
44
+ * {
45
+ * "error": "ValidationError",
46
+ * "tool": "<canonical tool name>",
47
+ * "issues": [
48
+ * { "path": "limit", "message": "...", "code": "..." },
49
+ * ...
50
+ * ]
51
+ * }
52
+ * ```
53
+ *
54
+ * Clients that `JSON.parse(content[0].text)` recover the issue array.
55
+ * Clients that regex over the raw text still see human-readable messages
56
+ * embedded in `issues[].message`.
57
+ *
58
+ * @param schema Zod schema to validate against.
59
+ * @param args Raw MCP tool arguments (unknown at this layer).
60
+ * @param toolName Canonical registered MCP tool name for client correlation.
61
+ * @returns `{ ok: true, data }` on success, `{ ok: false, response }` on failure.
62
+ */
63
+ export declare function safeParseOrError<T>(schema: ZodType<T, ZodTypeDef, unknown>, args: unknown, toolName: string): SafeParseResult<T>;
64
+ //# sourceMappingURL=validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/validation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAA;AACxE,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAE9C;;;;;;GAMG;AACH,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,CAAC,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,EAAE,cAAc,CAAA;CAAE,CAAA;AAEhG;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAChC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,EACvC,IAAI,EAAE,OAAO,EACb,QAAQ,EAAE,MAAM,GACf,eAAe,CAAC,CAAC,CAAC,CA8BpB"}
@@ -0,0 +1,73 @@
1
+ /**
2
+ * @fileoverview Shared Zod `safeParse` envelope helper for MCP tool-dispatch.
3
+ * @module @skillsmith/mcp-server/validation
4
+ *
5
+ * SMI-4313: Prior to this helper, ~20 tool-dispatch branches called
6
+ * `schema.parse(args)` (throwing on invalid input). The outer catch at
7
+ * `index.ts` flattened those `ZodError`s to plain-text `isError: true`
8
+ * content, losing the structured issue array.
9
+ *
10
+ * This helper returns a discriminated union so every call site can
11
+ * short-circuit to a structured error envelope on invalid input without
12
+ * throwing. The envelope shape is aligned with the MCP protocol's
13
+ * `CallToolResult` (`isError: true` + JSON-serialised body with
14
+ * `error`, `tool`, and `issues[]`).
15
+ *
16
+ * Reference: `packages/mcp-server/src/tools/install.ts` uses an
17
+ * application-level `InstallResult` envelope (different shape — that one
18
+ * lives inside a successful tool response and signals application-level
19
+ * failure). This helper is the protocol-level complement for the 9 direct
20
+ * dispatch sites plus `withLicenseAndQuota`.
21
+ */
22
+ /**
23
+ * Run Zod `safeParse` at an MCP tool boundary and map failures to a
24
+ * structured `CallToolResult` envelope.
25
+ *
26
+ * Envelope body shape (JSON-encoded in `content[0].text`):
27
+ * ```json
28
+ * {
29
+ * "error": "ValidationError",
30
+ * "tool": "<canonical tool name>",
31
+ * "issues": [
32
+ * { "path": "limit", "message": "...", "code": "..." },
33
+ * ...
34
+ * ]
35
+ * }
36
+ * ```
37
+ *
38
+ * Clients that `JSON.parse(content[0].text)` recover the issue array.
39
+ * Clients that regex over the raw text still see human-readable messages
40
+ * embedded in `issues[].message`.
41
+ *
42
+ * @param schema Zod schema to validate against.
43
+ * @param args Raw MCP tool arguments (unknown at this layer).
44
+ * @param toolName Canonical registered MCP tool name for client correlation.
45
+ * @returns `{ ok: true, data }` on success, `{ ok: false, response }` on failure.
46
+ */
47
+ export function safeParseOrError(schema, args, toolName) {
48
+ const parsed = schema.safeParse(args);
49
+ if (parsed.success) {
50
+ return { ok: true, data: parsed.data };
51
+ }
52
+ return {
53
+ ok: false,
54
+ response: {
55
+ isError: true,
56
+ content: [
57
+ {
58
+ type: 'text',
59
+ text: JSON.stringify({
60
+ error: 'ValidationError',
61
+ tool: toolName,
62
+ issues: parsed.error.issues.map((issue) => ({
63
+ path: issue.path.join('.'),
64
+ message: issue.message,
65
+ code: issue.code,
66
+ })),
67
+ }, null, 2),
68
+ },
69
+ ],
70
+ },
71
+ };
72
+ }
73
+ //# sourceMappingURL=validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/validation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAcH;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,gBAAgB,CAC9B,MAAuC,EACvC,IAAa,EACb,QAAgB;IAEhB,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;IACrC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAA;IACxC,CAAC;IAED,OAAO;QACL,EAAE,EAAE,KAAK;QACT,QAAQ,EAAE;YACR,OAAO,EAAE,IAAI;YACb,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB;wBACE,KAAK,EAAE,iBAAiB;wBACxB,IAAI,EAAE,QAAQ;wBACd,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;4BAC1C,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;4BAC1B,OAAO,EAAE,KAAK,CAAC,OAAO;4BACtB,IAAI,EAAE,KAAK,CAAC,IAAI;yBACjB,CAAC,CAAC;qBACJ,EACD,IAAI,EACJ,CAAC,CACF;iBACF;aACF;SACF;KACF,CAAA;AACH,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @fileoverview Unit tests for `safeParseOrError` helper.
3
+ * @see SMI-4313: MCP tool-dispatch safeParse envelope refactor
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=validation.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.test.d.ts","sourceRoot":"","sources":["../../src/validation.test.ts"],"names":[],"mappings":"AAAA;;;GAGG"}