@skillsmith/core 0.5.5 → 0.5.7

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.
@@ -8,7 +8,13 @@ import { z } from 'zod';
8
8
  /**
9
9
  * Trust tier enum values
10
10
  */
11
- export declare const TrustTierSchema: z.ZodEnum<["verified", "curated", "community", "experimental", "unknown"]>;
11
+ export declare const TrustTierSchema: z.ZodEnum<{
12
+ verified: "verified";
13
+ curated: "curated";
14
+ community: "community";
15
+ experimental: "experimental";
16
+ unknown: "unknown";
17
+ }>;
12
18
  /**
13
19
  * Schema for individual search result from API
14
20
  * SMI-1577: Added .optional() and .default() to handle partial API responses
@@ -21,151 +27,80 @@ export declare const ApiSearchResultSchema: z.ZodObject<{
21
27
  publisher: z.ZodOptional<z.ZodNullable<z.ZodString>>;
22
28
  repo_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
23
29
  quality_score: z.ZodNullable<z.ZodNumber>;
24
- trust_tier: z.ZodDefault<z.ZodOptional<z.ZodEnum<["verified", "curated", "community", "experimental", "unknown"]>>>;
25
- tags: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
30
+ trust_tier: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
31
+ verified: "verified";
32
+ curated: "curated";
33
+ community: "community";
34
+ experimental: "experimental";
35
+ unknown: "unknown";
36
+ }>>>;
37
+ tags: z.ZodDefault<z.ZodArray<z.ZodString>>;
26
38
  stars: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
27
39
  installable: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
28
- /** SMI-3672: Raw SKILL.md content (only present when include_content=true) */
29
40
  content: z.ZodOptional<z.ZodNullable<z.ZodString>>;
30
41
  created_at: z.ZodOptional<z.ZodString>;
31
42
  updated_at: z.ZodOptional<z.ZodString>;
32
- categories: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
43
+ categories: z.ZodOptional<z.ZodArray<z.ZodString>>;
33
44
  security_score: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
34
45
  last_scanned_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
35
- security_findings: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodUnknown, "many">>>;
46
+ security_findings: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodUnknown>>>;
36
47
  quarantined: z.ZodOptional<z.ZodBoolean>;
37
- }, "strip", z.ZodTypeAny, {
38
- id: string;
39
- name: string;
40
- description: string | null;
41
- trust_tier: "unknown" | "verified" | "curated" | "community" | "experimental";
42
- author: string | null;
43
- quality_score: number | null;
44
- tags: string[];
45
- content?: string | null | undefined;
46
- publisher?: string | null | undefined;
47
- repo_url?: string | null | undefined;
48
- stars?: number | null | undefined;
49
- installable?: boolean | null | undefined;
50
- created_at?: string | undefined;
51
- updated_at?: string | undefined;
52
- categories?: string[] | undefined;
53
- security_score?: number | null | undefined;
54
- last_scanned_at?: string | null | undefined;
55
- security_findings?: unknown[] | null | undefined;
56
- quarantined?: boolean | undefined;
57
- }, {
58
- id: string;
59
- name: string;
60
- description: string | null;
61
- author: string | null;
62
- quality_score: number | null;
63
- content?: string | null | undefined;
64
- trust_tier?: "unknown" | "verified" | "curated" | "community" | "experimental" | undefined;
65
- publisher?: string | null | undefined;
66
- repo_url?: string | null | undefined;
67
- tags?: string[] | undefined;
68
- stars?: number | null | undefined;
69
- installable?: boolean | null | undefined;
70
- created_at?: string | undefined;
71
- updated_at?: string | undefined;
72
- categories?: string[] | undefined;
73
- security_score?: number | null | undefined;
74
- last_scanned_at?: string | null | undefined;
75
- security_findings?: unknown[] | null | undefined;
76
- quarantined?: boolean | undefined;
77
- }>;
48
+ }, z.core.$strip>;
78
49
  /**
79
50
  * Schema for generic API response wrapper
80
51
  */
81
52
  export declare function createApiResponseSchema<T extends z.ZodTypeAny>(dataSchema: T): z.ZodObject<{
82
53
  data: T;
83
54
  meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
84
- }, "strip", z.ZodTypeAny, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{
85
- data: T;
86
- meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
87
- }>, any> extends infer T_1 ? { [k in keyof T_1]: T_1[k]; } : never, z.baseObjectInputType<{
88
- data: T;
89
- meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
90
- }> extends infer T_2 ? { [k_1 in keyof T_2]: T_2[k_1]; } : never>;
55
+ }, z.core.$strip>;
91
56
  /**
92
57
  * Schema for telemetry response
93
58
  */
94
59
  export declare const TelemetryResponseSchema: z.ZodObject<{
95
60
  data: z.ZodObject<{
96
61
  ok: z.ZodBoolean;
97
- }, "strip", z.ZodTypeAny, {
98
- ok: boolean;
99
- }, {
100
- ok: boolean;
101
- }>;
62
+ }, z.core.$strip>;
102
63
  meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
103
- }, "strip", z.ZodTypeAny, {
104
- data: {
105
- ok: boolean;
106
- };
107
- meta?: Record<string, unknown> | undefined;
108
- }, {
109
- data: {
110
- ok: boolean;
111
- };
112
- meta?: Record<string, unknown> | undefined;
113
- }>;
64
+ }, z.core.$strip>;
114
65
  /**
115
66
  * Schema for a single telemetry event payload.
116
67
  * Used to validate batch entries client-side before POST.
117
68
  */
118
69
  export declare const TelemetryEventSchema: z.ZodObject<{
119
- event: z.ZodEnum<["skill_view", "skill_install", "skill_uninstall", "skill_rate", "search", "recommend", "compare", "validate"]>;
70
+ event: z.ZodEnum<{
71
+ skill_install: "skill_install";
72
+ skill_uninstall: "skill_uninstall";
73
+ search: "search";
74
+ recommend: "recommend";
75
+ skill_view: "skill_view";
76
+ skill_rate: "skill_rate";
77
+ compare: "compare";
78
+ validate: "validate";
79
+ }>;
120
80
  skill_id: z.ZodOptional<z.ZodString>;
121
81
  anonymous_id: z.ZodString;
122
82
  metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
123
- }, "strip", z.ZodTypeAny, {
124
- event: "search" | "recommend" | "skill_view" | "skill_install" | "skill_uninstall" | "skill_rate" | "compare" | "validate";
125
- anonymous_id: string;
126
- skill_id?: string | undefined;
127
- metadata?: Record<string, unknown> | undefined;
128
- }, {
129
- event: "search" | "recommend" | "skill_view" | "skill_install" | "skill_uninstall" | "skill_rate" | "compare" | "validate";
130
- anonymous_id: string;
131
- skill_id?: string | undefined;
132
- metadata?: Record<string, unknown> | undefined;
133
- }>;
83
+ }, z.core.$strip>;
134
84
  /**
135
85
  * Request schema for batched telemetry: `{ events: [...] }` (1..=20).
136
86
  */
137
87
  export declare const TelemetryEventBatchSchema: z.ZodObject<{
138
88
  events: z.ZodArray<z.ZodObject<{
139
- event: z.ZodEnum<["skill_view", "skill_install", "skill_uninstall", "skill_rate", "search", "recommend", "compare", "validate"]>;
89
+ event: z.ZodEnum<{
90
+ skill_install: "skill_install";
91
+ skill_uninstall: "skill_uninstall";
92
+ search: "search";
93
+ recommend: "recommend";
94
+ skill_view: "skill_view";
95
+ skill_rate: "skill_rate";
96
+ compare: "compare";
97
+ validate: "validate";
98
+ }>;
140
99
  skill_id: z.ZodOptional<z.ZodString>;
141
100
  anonymous_id: z.ZodString;
142
101
  metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
143
- }, "strip", z.ZodTypeAny, {
144
- event: "search" | "recommend" | "skill_view" | "skill_install" | "skill_uninstall" | "skill_rate" | "compare" | "validate";
145
- anonymous_id: string;
146
- skill_id?: string | undefined;
147
- metadata?: Record<string, unknown> | undefined;
148
- }, {
149
- event: "search" | "recommend" | "skill_view" | "skill_install" | "skill_uninstall" | "skill_rate" | "compare" | "validate";
150
- anonymous_id: string;
151
- skill_id?: string | undefined;
152
- metadata?: Record<string, unknown> | undefined;
153
- }>, "many">;
154
- }, "strip", z.ZodTypeAny, {
155
- events: {
156
- event: "search" | "recommend" | "skill_view" | "skill_install" | "skill_uninstall" | "skill_rate" | "compare" | "validate";
157
- anonymous_id: string;
158
- skill_id?: string | undefined;
159
- metadata?: Record<string, unknown> | undefined;
160
- }[];
161
- }, {
162
- events: {
163
- event: "search" | "recommend" | "skill_view" | "skill_install" | "skill_uninstall" | "skill_rate" | "compare" | "validate";
164
- anonymous_id: string;
165
- skill_id?: string | undefined;
166
- metadata?: Record<string, unknown> | undefined;
167
- }[];
168
- }>;
102
+ }, z.core.$strip>>;
103
+ }, z.core.$strip>;
169
104
  /**
170
105
  * Response schema for batched telemetry POST.
171
106
  * Returned ONLY for the array-body path; single-event POST still returns `{ ok: true }`.
@@ -177,30 +112,8 @@ export declare const TelemetryBatchResponseSchema: z.ZodObject<{
177
112
  errors: z.ZodOptional<z.ZodArray<z.ZodObject<{
178
113
  index: z.ZodNumber;
179
114
  reason: z.ZodString;
180
- }, "strip", z.ZodTypeAny, {
181
- index: number;
182
- reason: string;
183
- }, {
184
- index: number;
185
- reason: string;
186
- }>, "many">>;
187
- }, "strip", z.ZodTypeAny, {
188
- ok: boolean;
189
- accepted: number;
190
- rejected: number;
191
- errors?: {
192
- index: number;
193
- reason: string;
194
- }[] | undefined;
195
- }, {
196
- ok: boolean;
197
- accepted: number;
198
- rejected: number;
199
- errors?: {
200
- index: number;
201
- reason: string;
202
- }[] | undefined;
203
- }>;
115
+ }, z.core.$strip>>>;
116
+ }, z.core.$strip>;
204
117
  export type TelemetryEventPayload = z.infer<typeof TelemetryEventSchema>;
205
118
  export type TelemetryEventBatch = z.infer<typeof TelemetryEventBatchSchema>;
206
119
  export type TelemetryBatchResponse = z.infer<typeof TelemetryBatchResponseSchema>;
@@ -216,108 +129,27 @@ export declare const SearchResponseSchema: z.ZodObject<{
216
129
  publisher: z.ZodOptional<z.ZodNullable<z.ZodString>>;
217
130
  repo_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
218
131
  quality_score: z.ZodNullable<z.ZodNumber>;
219
- trust_tier: z.ZodDefault<z.ZodOptional<z.ZodEnum<["verified", "curated", "community", "experimental", "unknown"]>>>;
220
- tags: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
132
+ trust_tier: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
133
+ verified: "verified";
134
+ curated: "curated";
135
+ community: "community";
136
+ experimental: "experimental";
137
+ unknown: "unknown";
138
+ }>>>;
139
+ tags: z.ZodDefault<z.ZodArray<z.ZodString>>;
221
140
  stars: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
222
141
  installable: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
223
- /** SMI-3672: Raw SKILL.md content (only present when include_content=true) */
224
142
  content: z.ZodOptional<z.ZodNullable<z.ZodString>>;
225
143
  created_at: z.ZodOptional<z.ZodString>;
226
144
  updated_at: z.ZodOptional<z.ZodString>;
227
- categories: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
145
+ categories: z.ZodOptional<z.ZodArray<z.ZodString>>;
228
146
  security_score: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
229
147
  last_scanned_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
230
- security_findings: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodUnknown, "many">>>;
148
+ security_findings: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodUnknown>>>;
231
149
  quarantined: z.ZodOptional<z.ZodBoolean>;
232
- }, "strip", z.ZodTypeAny, {
233
- id: string;
234
- name: string;
235
- description: string | null;
236
- trust_tier: "unknown" | "verified" | "curated" | "community" | "experimental";
237
- author: string | null;
238
- quality_score: number | null;
239
- tags: string[];
240
- content?: string | null | undefined;
241
- publisher?: string | null | undefined;
242
- repo_url?: string | null | undefined;
243
- stars?: number | null | undefined;
244
- installable?: boolean | null | undefined;
245
- created_at?: string | undefined;
246
- updated_at?: string | undefined;
247
- categories?: string[] | undefined;
248
- security_score?: number | null | undefined;
249
- last_scanned_at?: string | null | undefined;
250
- security_findings?: unknown[] | null | undefined;
251
- quarantined?: boolean | undefined;
252
- }, {
253
- id: string;
254
- name: string;
255
- description: string | null;
256
- author: string | null;
257
- quality_score: number | null;
258
- content?: string | null | undefined;
259
- trust_tier?: "unknown" | "verified" | "curated" | "community" | "experimental" | undefined;
260
- publisher?: string | null | undefined;
261
- repo_url?: string | null | undefined;
262
- tags?: string[] | undefined;
263
- stars?: number | null | undefined;
264
- installable?: boolean | null | undefined;
265
- created_at?: string | undefined;
266
- updated_at?: string | undefined;
267
- categories?: string[] | undefined;
268
- security_score?: number | null | undefined;
269
- last_scanned_at?: string | null | undefined;
270
- security_findings?: unknown[] | null | undefined;
271
- quarantined?: boolean | undefined;
272
- }>, "many">;
150
+ }, z.core.$strip>>;
273
151
  meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
274
- }, "strip", z.ZodTypeAny, {
275
- data: {
276
- id: string;
277
- name: string;
278
- description: string | null;
279
- trust_tier: "unknown" | "verified" | "curated" | "community" | "experimental";
280
- author: string | null;
281
- quality_score: number | null;
282
- tags: string[];
283
- content?: string | null | undefined;
284
- publisher?: string | null | undefined;
285
- repo_url?: string | null | undefined;
286
- stars?: number | null | undefined;
287
- installable?: boolean | null | undefined;
288
- created_at?: string | undefined;
289
- updated_at?: string | undefined;
290
- categories?: string[] | undefined;
291
- security_score?: number | null | undefined;
292
- last_scanned_at?: string | null | undefined;
293
- security_findings?: unknown[] | null | undefined;
294
- quarantined?: boolean | undefined;
295
- }[];
296
- meta?: Record<string, unknown> | undefined;
297
- }, {
298
- data: {
299
- id: string;
300
- name: string;
301
- description: string | null;
302
- author: string | null;
303
- quality_score: number | null;
304
- content?: string | null | undefined;
305
- trust_tier?: "unknown" | "verified" | "curated" | "community" | "experimental" | undefined;
306
- publisher?: string | null | undefined;
307
- repo_url?: string | null | undefined;
308
- tags?: string[] | undefined;
309
- stars?: number | null | undefined;
310
- installable?: boolean | null | undefined;
311
- created_at?: string | undefined;
312
- updated_at?: string | undefined;
313
- categories?: string[] | undefined;
314
- security_score?: number | null | undefined;
315
- last_scanned_at?: string | null | undefined;
316
- security_findings?: unknown[] | null | undefined;
317
- quarantined?: boolean | undefined;
318
- }[];
319
- meta?: Record<string, unknown> | undefined;
320
- }>;
152
+ }, z.core.$strip>;
321
153
  /**
322
154
  * Single skill response schema
323
155
  */
@@ -330,108 +162,27 @@ export declare const SingleSkillResponseSchema: z.ZodObject<{
330
162
  publisher: z.ZodOptional<z.ZodNullable<z.ZodString>>;
331
163
  repo_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
332
164
  quality_score: z.ZodNullable<z.ZodNumber>;
333
- trust_tier: z.ZodDefault<z.ZodOptional<z.ZodEnum<["verified", "curated", "community", "experimental", "unknown"]>>>;
334
- tags: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
165
+ trust_tier: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
166
+ verified: "verified";
167
+ curated: "curated";
168
+ community: "community";
169
+ experimental: "experimental";
170
+ unknown: "unknown";
171
+ }>>>;
172
+ tags: z.ZodDefault<z.ZodArray<z.ZodString>>;
335
173
  stars: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
336
174
  installable: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
337
- /** SMI-3672: Raw SKILL.md content (only present when include_content=true) */
338
175
  content: z.ZodOptional<z.ZodNullable<z.ZodString>>;
339
176
  created_at: z.ZodOptional<z.ZodString>;
340
177
  updated_at: z.ZodOptional<z.ZodString>;
341
- categories: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
178
+ categories: z.ZodOptional<z.ZodArray<z.ZodString>>;
342
179
  security_score: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
343
180
  last_scanned_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
344
- security_findings: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodUnknown, "many">>>;
181
+ security_findings: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodUnknown>>>;
345
182
  quarantined: z.ZodOptional<z.ZodBoolean>;
346
- }, "strip", z.ZodTypeAny, {
347
- id: string;
348
- name: string;
349
- description: string | null;
350
- trust_tier: "unknown" | "verified" | "curated" | "community" | "experimental";
351
- author: string | null;
352
- quality_score: number | null;
353
- tags: string[];
354
- content?: string | null | undefined;
355
- publisher?: string | null | undefined;
356
- repo_url?: string | null | undefined;
357
- stars?: number | null | undefined;
358
- installable?: boolean | null | undefined;
359
- created_at?: string | undefined;
360
- updated_at?: string | undefined;
361
- categories?: string[] | undefined;
362
- security_score?: number | null | undefined;
363
- last_scanned_at?: string | null | undefined;
364
- security_findings?: unknown[] | null | undefined;
365
- quarantined?: boolean | undefined;
366
- }, {
367
- id: string;
368
- name: string;
369
- description: string | null;
370
- author: string | null;
371
- quality_score: number | null;
372
- content?: string | null | undefined;
373
- trust_tier?: "unknown" | "verified" | "curated" | "community" | "experimental" | undefined;
374
- publisher?: string | null | undefined;
375
- repo_url?: string | null | undefined;
376
- tags?: string[] | undefined;
377
- stars?: number | null | undefined;
378
- installable?: boolean | null | undefined;
379
- created_at?: string | undefined;
380
- updated_at?: string | undefined;
381
- categories?: string[] | undefined;
382
- security_score?: number | null | undefined;
383
- last_scanned_at?: string | null | undefined;
384
- security_findings?: unknown[] | null | undefined;
385
- quarantined?: boolean | undefined;
386
- }>;
183
+ }, z.core.$strip>;
387
184
  meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
388
- }, "strip", z.ZodTypeAny, {
389
- data: {
390
- id: string;
391
- name: string;
392
- description: string | null;
393
- trust_tier: "unknown" | "verified" | "curated" | "community" | "experimental";
394
- author: string | null;
395
- quality_score: number | null;
396
- tags: string[];
397
- content?: string | null | undefined;
398
- publisher?: string | null | undefined;
399
- repo_url?: string | null | undefined;
400
- stars?: number | null | undefined;
401
- installable?: boolean | null | undefined;
402
- created_at?: string | undefined;
403
- updated_at?: string | undefined;
404
- categories?: string[] | undefined;
405
- security_score?: number | null | undefined;
406
- last_scanned_at?: string | null | undefined;
407
- security_findings?: unknown[] | null | undefined;
408
- quarantined?: boolean | undefined;
409
- };
410
- meta?: Record<string, unknown> | undefined;
411
- }, {
412
- data: {
413
- id: string;
414
- name: string;
415
- description: string | null;
416
- author: string | null;
417
- quality_score: number | null;
418
- content?: string | null | undefined;
419
- trust_tier?: "unknown" | "verified" | "curated" | "community" | "experimental" | undefined;
420
- publisher?: string | null | undefined;
421
- repo_url?: string | null | undefined;
422
- tags?: string[] | undefined;
423
- stars?: number | null | undefined;
424
- installable?: boolean | null | undefined;
425
- created_at?: string | undefined;
426
- updated_at?: string | undefined;
427
- categories?: string[] | undefined;
428
- security_score?: number | null | undefined;
429
- last_scanned_at?: string | null | undefined;
430
- security_findings?: unknown[] | null | undefined;
431
- quarantined?: boolean | undefined;
432
- };
433
- meta?: Record<string, unknown> | undefined;
434
- }>;
185
+ }, z.core.$strip>;
435
186
  /**
436
187
  * Inferred type from ApiSearchResultSchema
437
188
  */
@@ -1 +1 @@
1
- {"version":3,"file":"remote-audit.d.ts","sourceRoot":"","sources":["../../../src/audit/remote-audit.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,KAAK,GAAG,KAAK,GAAG,QAAQ,CAAA;IAChC,OAAO,EAAE,OAAO,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAyCD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgClF"}
1
+ {"version":3,"file":"remote-audit.d.ts","sourceRoot":"","sources":["../../../src/audit/remote-audit.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,KAAK,GAAG,KAAK,GAAG,QAAQ,CAAA;IAChC,OAAO,EAAE,OAAO,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAuCD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgClF"}
@@ -20,11 +20,9 @@ const REQUEST_TIMEOUT_MS = 2000;
20
20
  */
21
21
  const TELEMETRY_ACTOR_KEY = 'skillsmith-telemetry-actor:v1';
22
22
  function hashForActor(apiKey) {
23
- // lgtm[js/insufficient-password-hash] This is deterministic correlation-ID
23
+ // codeql[js/insufficient-password-hash] Deterministic telemetry actor-ID
24
24
  // derivation via HMAC-SHA-256 — not password storage. See TELEMETRY_ACTOR_KEY
25
- // doc-comment above for full rationale (false positive in CodeQL's taint
26
- // tracking which flags any flow from an API-key-like source into a crypto
27
- // function, regardless of construction).
25
+ // doc-comment above for full rationale.
28
26
  return createHmac('sha256', TELEMETRY_ACTOR_KEY).update(apiKey).digest('hex');
29
27
  }
30
28
  function getApiBase() {
@@ -1 +1 @@
1
- {"version":3,"file":"remote-audit.js","sourceRoot":"","sources":["../../../src/audit/remote-audit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAW9C,MAAM,gBAAgB,GAAG,4BAA4B,CAAA;AACrD,MAAM,cAAc,GAAG,sBAAsB,CAAA;AAC7C,MAAM,kBAAkB,GAAG,IAAI,CAAA;AAE/B;;;;;;;;;;;;;;GAcG;AACH,MAAM,mBAAmB,GAAG,+BAA+B,CAAA;AAE3D,SAAS,YAAY,CAAC,MAAc;IAClC,2EAA2E;IAC3E,8EAA8E;IAC9E,yEAAyE;IACzE,0EAA0E;IAC1E,yCAAyC;IACzC,OAAO,UAAU,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAC/E,CAAC;AAED,SAAS,UAAU;IACjB,OAAO,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,gBAAgB,CAAA;AAC3D,CAAC;AAED,SAAS,UAAU;IACjB,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAA;IAC7C,OAAO,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,KAAK,CAAA;AAC3D,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,OAA4B;IACjE,IAAI,UAAU,EAAE;QAAE,OAAM;IACxB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;IAC1B,IAAI,CAAC,MAAM;QAAE,OAAM;IAEnB,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAA;IACxC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,kBAAkB,CAAC,CAAA;IAEtE,IAAI,CAAC;QACH,MAAM,KAAK,CAAC,GAAG,UAAU,EAAE,GAAG,cAAc,EAAE,EAAE;YAC9C,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,KAAK,EAAE,eAAe;gBACtB,YAAY,EAAE,YAAY,CAAC,MAAM,CAAC;gBAClC,QAAQ,EAAE;oBACR,QAAQ,EAAE,OAAO,CAAC,OAAO;oBACzB,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,GAAG,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC;oBAC5E,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;oBACzE,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;iBAC1E;aACF,CAAC;SACH,CAAC,CAAA;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,mEAAmE;QACnE,wDAAwD;IAC1D,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,KAAK,CAAC,CAAA;IACrB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"remote-audit.js","sourceRoot":"","sources":["../../../src/audit/remote-audit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAW9C,MAAM,gBAAgB,GAAG,4BAA4B,CAAA;AACrD,MAAM,cAAc,GAAG,sBAAsB,CAAA;AAC7C,MAAM,kBAAkB,GAAG,IAAI,CAAA;AAE/B;;;;;;;;;;;;;;GAcG;AACH,MAAM,mBAAmB,GAAG,+BAA+B,CAAA;AAE3D,SAAS,YAAY,CAAC,MAAc;IAClC,yEAAyE;IACzE,8EAA8E;IAC9E,wCAAwC;IACxC,OAAO,UAAU,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAC/E,CAAC;AAED,SAAS,UAAU;IACjB,OAAO,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,gBAAgB,CAAA;AAC3D,CAAC;AAED,SAAS,UAAU;IACjB,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAA;IAC7C,OAAO,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,KAAK,CAAA;AAC3D,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,OAA4B;IACjE,IAAI,UAAU,EAAE;QAAE,OAAM;IACxB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;IAC1B,IAAI,CAAC,MAAM;QAAE,OAAM;IAEnB,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAA;IACxC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,kBAAkB,CAAC,CAAA;IAEtE,IAAI,CAAC;QACH,MAAM,KAAK,CAAC,GAAG,UAAU,EAAE,GAAG,cAAc,EAAE,EAAE;YAC9C,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,KAAK,EAAE,eAAe;gBACtB,YAAY,EAAE,YAAY,CAAC,MAAM,CAAC;gBAClC,QAAQ,EAAE;oBACR,QAAQ,EAAE,OAAO,CAAC,OAAO;oBACzB,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,GAAG,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC;oBAC5E,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;oBACzE,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;iBAC1E;aACF,CAAC;SACH,CAAC,CAAA;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,mEAAmE;QACnE,wDAAwD;IAC1D,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,KAAK,CAAC,CAAA;IACrB,CAAC;AACH,CAAC"}
@@ -18,7 +18,14 @@ export type { Migration } from './migration-runner.js';
18
18
  export type DatabaseType = Database;
19
19
  export declare const SCHEMA_VERSION = 13;
20
20
  /**
21
- * Initialize the database with the complete schema
21
+ * Initialize the database with the complete schema.
22
+ *
23
+ * SCHEMA_SQL only contains the v1 base tables; subsequent versions (skill_versions,
24
+ * skill_advisories, etc.) are added by migrations. SMI-4486: previously this
25
+ * recorded SCHEMA_VERSION (=current) directly, which caused runMigrations to
26
+ * see the DB as already-current and skip every migration — leaving fresh DBs
27
+ * stuck at v1 schema. Now we mark v1 (idempotent via OR IGNORE) and run
28
+ * migrations to reach the current version.
22
29
  */
23
30
  export declare function initializeSchema(db: DatabaseType): void;
24
31
  /** @deprecated Use createDatabaseAsync() — requires better-sqlite3 native module. */
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/db/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAOvD,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAIhE,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,aAAa,EACb,iBAAiB,GAClB,MAAM,uBAAuB,CAAA;AAC9B,YAAY,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAKtD,MAAM,MAAM,YAAY,GAAG,QAAQ,CAAA;AAKnC,eAAO,MAAM,cAAc,KAAK,CAAA;AAEhC;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,CAMvD;AAED,qFAAqF;AACrF,wBAAgB,cAAc,CAAC,IAAI,GAAE,MAAmB,GAAG,YAAY,CAUtE;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CA2BvD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,CAEpD;AAED;;;;;;;;GAQG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,GAAE,MAAmB,GAAG,OAAO,CAAC,YAAY,CAAC,CAU1F;AAED;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CA0B3E"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/db/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAOvD,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAIhE,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,aAAa,EACb,iBAAiB,GAClB,MAAM,uBAAuB,CAAA;AAC9B,YAAY,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAKtD,MAAM,MAAM,YAAY,GAAG,QAAQ,CAAA;AAKnC,eAAO,MAAM,cAAc,KAAK,CAAA;AAEhC;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,CAIvD;AAED,qFAAqF;AACrF,wBAAgB,cAAc,CAAC,IAAI,GAAE,MAAmB,GAAG,YAAY,CAUtE;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CA2BvD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,CAEpD;AAED;;;;;;;;GAQG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,GAAE,MAAmB,GAAG,OAAO,CAAC,YAAY,CAAC,CAU1F;AAED;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CA0B3E"}
@@ -17,20 +17,26 @@ export { SCHEMA_SQL, FTS5_MIGRATION_SQL } from './schema-sql.js';
17
17
  import { SCHEMA_SQL } from './schema-sql.js';
18
18
  // Re-export migration runner functions and types (extracted in SMI-3910)
19
19
  export { MIGRATIONS, getSchemaVersion, runMigrations, runMigrationsSafe, } from './migration-runner.js';
20
- // Re-import for use within this file (openDatabase, openDatabaseAsync)
21
- import { runMigrationsSafe } from './migration-runner.js';
20
+ // Re-import for use within this file (openDatabase, openDatabaseAsync, initializeSchema)
21
+ import { runMigrations, runMigrationsSafe } from './migration-runner.js';
22
22
  // v11: SMI-3510 content hash verification column
23
23
  // v12: SMI-3864 risk score history for trend detection
24
24
  // v13: SMI-3896 visibility and team_id for private skills
25
25
  export const SCHEMA_VERSION = 13;
26
26
  /**
27
- * Initialize the database with the complete schema
27
+ * Initialize the database with the complete schema.
28
+ *
29
+ * SCHEMA_SQL only contains the v1 base tables; subsequent versions (skill_versions,
30
+ * skill_advisories, etc.) are added by migrations. SMI-4486: previously this
31
+ * recorded SCHEMA_VERSION (=current) directly, which caused runMigrations to
32
+ * see the DB as already-current and skip every migration — leaving fresh DBs
33
+ * stuck at v1 schema. Now we mark v1 (idempotent via OR IGNORE) and run
34
+ * migrations to reach the current version.
28
35
  */
29
36
  export function initializeSchema(db) {
30
37
  db.exec(SCHEMA_SQL);
31
- // Record the schema version
32
- const stmt = db.prepare('INSERT OR REPLACE INTO schema_version (version) VALUES (?)');
33
- stmt.run(SCHEMA_VERSION);
38
+ db.prepare('INSERT OR IGNORE INTO schema_version (version) VALUES (1)').run();
39
+ runMigrations(db);
34
40
  }
35
41
  /** @deprecated Use createDatabaseAsync() — requires better-sqlite3 native module. */
36
42
  export function createDatabase(path = ':memory:') {
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/db/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/db/schema.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @skillsmith/core - Core functionality for skill discovery
3
3
  */
4
- export declare const VERSION = "0.5.5";
4
+ export declare const VERSION = "0.5.7";
5
5
  export * from './exports/services.js';
6
6
  export * from './exports/repositories.js';
7
7
  export { createDatabaseSync, createDatabaseAsync } from './db/createDatabase.js';
package/dist/src/index.js CHANGED
@@ -2,7 +2,7 @@
2
2
  * @skillsmith/core - Core functionality for skill discovery
3
3
  */
4
4
  // Version
5
- export const VERSION = '0.5.5';
5
+ export const VERSION = '0.5.7';
6
6
  // ============================================================================
7
7
  // Grouped Exports from Barrel Files
8
8
  // ============================================================================
@@ -5,8 +5,9 @@
5
5
  * Trust tier levels for skill quality assessment
6
6
  * NOTE: Database tiers must match database schema (packages/core/src/database/schema.ts)
7
7
  * SMI-1809: Added 'local' for local skills from ~/.claude/skills/
8
+ * SMI-2381: Added 'curated' for third-party publishers opted into the registry
8
9
  */
9
- export type TrustTier = 'verified' | 'community' | 'experimental' | 'unknown' | 'local';
10
+ export type TrustTier = 'verified' | 'community' | 'experimental' | 'curated' | 'unknown' | 'local';
10
11
  /**
11
12
  * Trust tier descriptions for user display
12
13
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
package/dist/src/types.js CHANGED
@@ -8,6 +8,7 @@ export const TrustTierDescriptions = {
8
8
  verified: 'Manually reviewed by the Skillsmith team. High quality and safe to use.',
9
9
  community: 'Highly rated by the community. Generally reliable.',
10
10
  experimental: 'New or beta skill. Use with caution.',
11
+ curated: 'Third-party publisher. Manually opted into the registry.',
11
12
  unknown: 'Not yet assessed. Review carefully before using.',
12
13
  local: 'Local skill from your ~/.claude/skills/ directory. You control this skill.',
13
14
  };
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAcH;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAA8B;IAC9D,QAAQ,EAAE,yEAAyE;IACnF,SAAS,EAAE,oDAAoD;IAC/D,YAAY,EAAE,sCAAsC;IACpD,OAAO,EAAE,kDAAkD;IAC3D,KAAK,EAAE,4EAA4E;CACpF,CAAA"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAgBH;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAA8B;IAC9D,QAAQ,EAAE,yEAAyE;IACnF,SAAS,EAAE,oDAAoD;IAC/D,YAAY,EAAE,sCAAsC;IACpD,OAAO,EAAE,0DAA0D;IACnE,OAAO,EAAE,kDAAkD;IAC3D,KAAK,EAAE,4EAA4E;CACpF,CAAA"}