@a1st/aix-schema 0.0.3

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 (74) hide show
  1. package/dist/aix.d.ts +51 -0
  2. package/dist/aix.d.ts.map +1 -0
  3. package/dist/aix.js +39 -0
  4. package/dist/aix.js.map +1 -0
  5. package/dist/config.d.ts +12130 -0
  6. package/dist/config.d.ts.map +1 -0
  7. package/dist/config.js +36 -0
  8. package/dist/config.js.map +1 -0
  9. package/dist/core.d.ts +17 -0
  10. package/dist/core.d.ts.map +1 -0
  11. package/dist/core.js +34 -0
  12. package/dist/core.js.map +1 -0
  13. package/dist/editors.d.ts +3288 -0
  14. package/dist/editors.d.ts.map +1 -0
  15. package/dist/editors.js +52 -0
  16. package/dist/editors.js.map +1 -0
  17. package/dist/factory.d.ts +7 -0
  18. package/dist/factory.d.ts.map +1 -0
  19. package/dist/factory.js +15 -0
  20. package/dist/factory.js.map +1 -0
  21. package/dist/hooks.d.ts +106 -0
  22. package/dist/hooks.d.ts.map +1 -0
  23. package/dist/hooks.js +50 -0
  24. package/dist/hooks.js.map +1 -0
  25. package/dist/index.d.ts +18 -0
  26. package/dist/index.d.ts.map +1 -0
  27. package/dist/index.js +18 -0
  28. package/dist/index.js.map +1 -0
  29. package/dist/jsonc.d.ts +10 -0
  30. package/dist/jsonc.d.ts.map +1 -0
  31. package/dist/jsonc.js +16 -0
  32. package/dist/jsonc.js.map +1 -0
  33. package/dist/mcp.d.ts +508 -0
  34. package/dist/mcp.d.ts.map +1 -0
  35. package/dist/mcp.js +92 -0
  36. package/dist/mcp.js.map +1 -0
  37. package/dist/migrate.d.ts +11 -0
  38. package/dist/migrate.d.ts.map +1 -0
  39. package/dist/migrate.js +24 -0
  40. package/dist/migrate.js.map +1 -0
  41. package/dist/normalize.d.ts +36 -0
  42. package/dist/normalize.d.ts.map +1 -0
  43. package/dist/normalize.js +143 -0
  44. package/dist/normalize.js.map +1 -0
  45. package/dist/prompts.d.ts +297 -0
  46. package/dist/prompts.d.ts.map +1 -0
  47. package/dist/prompts.js +50 -0
  48. package/dist/prompts.js.map +1 -0
  49. package/dist/references.d.ts +60 -0
  50. package/dist/references.d.ts.map +1 -0
  51. package/dist/references.js +23 -0
  52. package/dist/references.js.map +1 -0
  53. package/dist/rules.d.ts +534 -0
  54. package/dist/rules.d.ts.map +1 -0
  55. package/dist/rules.js +85 -0
  56. package/dist/rules.js.map +1 -0
  57. package/dist/skill.d.ts +38 -0
  58. package/dist/skill.d.ts.map +1 -0
  59. package/dist/skill.js +18 -0
  60. package/dist/skill.js.map +1 -0
  61. package/dist/skills.d.ts +183 -0
  62. package/dist/skills.d.ts.map +1 -0
  63. package/dist/skills.js +26 -0
  64. package/dist/skills.js.map +1 -0
  65. package/dist/validate.d.ts +17 -0
  66. package/dist/validate.d.ts.map +1 -0
  67. package/dist/validate.js +34 -0
  68. package/dist/validate.js.map +1 -0
  69. package/dist/version.d.ts +3 -0
  70. package/dist/version.d.ts.map +1 -0
  71. package/dist/version.js +5 -0
  72. package/dist/version.js.map +1 -0
  73. package/package.json +42 -0
  74. package/schema.json +1408 -0
@@ -0,0 +1,534 @@
1
+ import { z } from 'zod';
2
+ export declare const activationModeSchema: z.ZodDefault<z.ZodEnum<["always", "auto", "glob", "manual"]>>;
3
+ export declare const gitSourceSchema: z.ZodObject<{
4
+ url: z.ZodString;
5
+ path: z.ZodOptional<z.ZodString>;
6
+ ref: z.ZodOptional<z.ZodString>;
7
+ }, "strip", z.ZodTypeAny, {
8
+ url: string;
9
+ path?: string | undefined;
10
+ ref?: string | undefined;
11
+ }, {
12
+ url: string;
13
+ path?: string | undefined;
14
+ ref?: string | undefined;
15
+ }>;
16
+ export declare const npmSourceSchema: z.ZodObject<{
17
+ npm: z.ZodString;
18
+ path: z.ZodString;
19
+ version: z.ZodOptional<z.ZodString>;
20
+ }, "strip", z.ZodTypeAny, {
21
+ path: string;
22
+ npm: string;
23
+ version?: string | undefined;
24
+ }, {
25
+ path: string;
26
+ npm: string;
27
+ version?: string | undefined;
28
+ }>;
29
+ /**
30
+ * Rule object with metadata and content source.
31
+ * Note: `name` is no longer needed in object form - it's the key in the parent object.
32
+ */
33
+ export declare const ruleObjectSchema: z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodObject<{
34
+ description: z.ZodOptional<z.ZodString>;
35
+ activation: z.ZodOptional<z.ZodDefault<z.ZodEnum<["always", "auto", "glob", "manual"]>>>;
36
+ globs: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
37
+ content: z.ZodOptional<z.ZodString>;
38
+ path: z.ZodOptional<z.ZodString>;
39
+ git: z.ZodOptional<z.ZodObject<{
40
+ url: z.ZodString;
41
+ path: z.ZodOptional<z.ZodString>;
42
+ ref: z.ZodOptional<z.ZodString>;
43
+ }, "strip", z.ZodTypeAny, {
44
+ url: string;
45
+ path?: string | undefined;
46
+ ref?: string | undefined;
47
+ }, {
48
+ url: string;
49
+ path?: string | undefined;
50
+ ref?: string | undefined;
51
+ }>>;
52
+ npm: z.ZodOptional<z.ZodObject<{
53
+ npm: z.ZodString;
54
+ path: z.ZodString;
55
+ version: z.ZodOptional<z.ZodString>;
56
+ }, "strip", z.ZodTypeAny, {
57
+ path: string;
58
+ npm: string;
59
+ version?: string | undefined;
60
+ }, {
61
+ path: string;
62
+ npm: string;
63
+ version?: string | undefined;
64
+ }>>;
65
+ }, "strip", z.ZodTypeAny, {
66
+ path?: string | undefined;
67
+ git?: {
68
+ url: string;
69
+ path?: string | undefined;
70
+ ref?: string | undefined;
71
+ } | undefined;
72
+ npm?: {
73
+ path: string;
74
+ npm: string;
75
+ version?: string | undefined;
76
+ } | undefined;
77
+ description?: string | undefined;
78
+ activation?: "always" | "auto" | "glob" | "manual" | undefined;
79
+ globs?: string[] | undefined;
80
+ content?: string | undefined;
81
+ }, {
82
+ path?: string | undefined;
83
+ git?: {
84
+ url: string;
85
+ path?: string | undefined;
86
+ ref?: string | undefined;
87
+ } | undefined;
88
+ npm?: {
89
+ path: string;
90
+ npm: string;
91
+ version?: string | undefined;
92
+ } | undefined;
93
+ description?: string | undefined;
94
+ activation?: "always" | "auto" | "glob" | "manual" | undefined;
95
+ globs?: string[] | undefined;
96
+ content?: string | undefined;
97
+ }>, {
98
+ path?: string | undefined;
99
+ git?: {
100
+ url: string;
101
+ path?: string | undefined;
102
+ ref?: string | undefined;
103
+ } | undefined;
104
+ npm?: {
105
+ path: string;
106
+ npm: string;
107
+ version?: string | undefined;
108
+ } | undefined;
109
+ description?: string | undefined;
110
+ activation?: "always" | "auto" | "glob" | "manual" | undefined;
111
+ globs?: string[] | undefined;
112
+ content?: string | undefined;
113
+ }, {
114
+ path?: string | undefined;
115
+ git?: {
116
+ url: string;
117
+ path?: string | undefined;
118
+ ref?: string | undefined;
119
+ } | undefined;
120
+ npm?: {
121
+ path: string;
122
+ npm: string;
123
+ version?: string | undefined;
124
+ } | undefined;
125
+ description?: string | undefined;
126
+ activation?: "always" | "auto" | "glob" | "manual" | undefined;
127
+ globs?: string[] | undefined;
128
+ content?: string | undefined;
129
+ }>, {
130
+ path?: string | undefined;
131
+ git?: {
132
+ url: string;
133
+ path?: string | undefined;
134
+ ref?: string | undefined;
135
+ } | undefined;
136
+ npm?: {
137
+ path: string;
138
+ npm: string;
139
+ version?: string | undefined;
140
+ } | undefined;
141
+ description?: string | undefined;
142
+ activation?: "always" | "auto" | "glob" | "manual" | undefined;
143
+ globs?: string[] | undefined;
144
+ content?: string | undefined;
145
+ }, {
146
+ path?: string | undefined;
147
+ git?: {
148
+ url: string;
149
+ path?: string | undefined;
150
+ ref?: string | undefined;
151
+ } | undefined;
152
+ npm?: {
153
+ path: string;
154
+ npm: string;
155
+ version?: string | undefined;
156
+ } | undefined;
157
+ description?: string | undefined;
158
+ activation?: "always" | "auto" | "glob" | "manual" | undefined;
159
+ globs?: string[] | undefined;
160
+ content?: string | undefined;
161
+ }>, {
162
+ path?: string | undefined;
163
+ git?: {
164
+ url: string;
165
+ path?: string | undefined;
166
+ ref?: string | undefined;
167
+ } | undefined;
168
+ npm?: {
169
+ path: string;
170
+ npm: string;
171
+ version?: string | undefined;
172
+ } | undefined;
173
+ description?: string | undefined;
174
+ activation?: "always" | "auto" | "glob" | "manual" | undefined;
175
+ globs?: string[] | undefined;
176
+ content?: string | undefined;
177
+ }, {
178
+ path?: string | undefined;
179
+ git?: {
180
+ url: string;
181
+ path?: string | undefined;
182
+ ref?: string | undefined;
183
+ } | undefined;
184
+ npm?: {
185
+ path: string;
186
+ npm: string;
187
+ version?: string | undefined;
188
+ } | undefined;
189
+ description?: string | undefined;
190
+ activation?: "always" | "auto" | "glob" | "manual" | undefined;
191
+ globs?: string[] | undefined;
192
+ content?: string | undefined;
193
+ }>;
194
+ /**
195
+ * A rule value can be:
196
+ * - String: source reference (local path or git URL) - normalized at parse time
197
+ * - Object: full rule with content source and optional metadata
198
+ */
199
+ export declare const ruleValueSchema: z.ZodUnion<[z.ZodString, z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodObject<{
200
+ description: z.ZodOptional<z.ZodString>;
201
+ activation: z.ZodOptional<z.ZodDefault<z.ZodEnum<["always", "auto", "glob", "manual"]>>>;
202
+ globs: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
203
+ content: z.ZodOptional<z.ZodString>;
204
+ path: z.ZodOptional<z.ZodString>;
205
+ git: z.ZodOptional<z.ZodObject<{
206
+ url: z.ZodString;
207
+ path: z.ZodOptional<z.ZodString>;
208
+ ref: z.ZodOptional<z.ZodString>;
209
+ }, "strip", z.ZodTypeAny, {
210
+ url: string;
211
+ path?: string | undefined;
212
+ ref?: string | undefined;
213
+ }, {
214
+ url: string;
215
+ path?: string | undefined;
216
+ ref?: string | undefined;
217
+ }>>;
218
+ npm: z.ZodOptional<z.ZodObject<{
219
+ npm: z.ZodString;
220
+ path: z.ZodString;
221
+ version: z.ZodOptional<z.ZodString>;
222
+ }, "strip", z.ZodTypeAny, {
223
+ path: string;
224
+ npm: string;
225
+ version?: string | undefined;
226
+ }, {
227
+ path: string;
228
+ npm: string;
229
+ version?: string | undefined;
230
+ }>>;
231
+ }, "strip", z.ZodTypeAny, {
232
+ path?: string | undefined;
233
+ git?: {
234
+ url: string;
235
+ path?: string | undefined;
236
+ ref?: string | undefined;
237
+ } | undefined;
238
+ npm?: {
239
+ path: string;
240
+ npm: string;
241
+ version?: string | undefined;
242
+ } | undefined;
243
+ description?: string | undefined;
244
+ activation?: "always" | "auto" | "glob" | "manual" | undefined;
245
+ globs?: string[] | undefined;
246
+ content?: string | undefined;
247
+ }, {
248
+ path?: string | undefined;
249
+ git?: {
250
+ url: string;
251
+ path?: string | undefined;
252
+ ref?: string | undefined;
253
+ } | undefined;
254
+ npm?: {
255
+ path: string;
256
+ npm: string;
257
+ version?: string | undefined;
258
+ } | undefined;
259
+ description?: string | undefined;
260
+ activation?: "always" | "auto" | "glob" | "manual" | undefined;
261
+ globs?: string[] | undefined;
262
+ content?: string | undefined;
263
+ }>, {
264
+ path?: string | undefined;
265
+ git?: {
266
+ url: string;
267
+ path?: string | undefined;
268
+ ref?: string | undefined;
269
+ } | undefined;
270
+ npm?: {
271
+ path: string;
272
+ npm: string;
273
+ version?: string | undefined;
274
+ } | undefined;
275
+ description?: string | undefined;
276
+ activation?: "always" | "auto" | "glob" | "manual" | undefined;
277
+ globs?: string[] | undefined;
278
+ content?: string | undefined;
279
+ }, {
280
+ path?: string | undefined;
281
+ git?: {
282
+ url: string;
283
+ path?: string | undefined;
284
+ ref?: string | undefined;
285
+ } | undefined;
286
+ npm?: {
287
+ path: string;
288
+ npm: string;
289
+ version?: string | undefined;
290
+ } | undefined;
291
+ description?: string | undefined;
292
+ activation?: "always" | "auto" | "glob" | "manual" | undefined;
293
+ globs?: string[] | undefined;
294
+ content?: string | undefined;
295
+ }>, {
296
+ path?: string | undefined;
297
+ git?: {
298
+ url: string;
299
+ path?: string | undefined;
300
+ ref?: string | undefined;
301
+ } | undefined;
302
+ npm?: {
303
+ path: string;
304
+ npm: string;
305
+ version?: string | undefined;
306
+ } | undefined;
307
+ description?: string | undefined;
308
+ activation?: "always" | "auto" | "glob" | "manual" | undefined;
309
+ globs?: string[] | undefined;
310
+ content?: string | undefined;
311
+ }, {
312
+ path?: string | undefined;
313
+ git?: {
314
+ url: string;
315
+ path?: string | undefined;
316
+ ref?: string | undefined;
317
+ } | undefined;
318
+ npm?: {
319
+ path: string;
320
+ npm: string;
321
+ version?: string | undefined;
322
+ } | undefined;
323
+ description?: string | undefined;
324
+ activation?: "always" | "auto" | "glob" | "manual" | undefined;
325
+ globs?: string[] | undefined;
326
+ content?: string | undefined;
327
+ }>, {
328
+ path?: string | undefined;
329
+ git?: {
330
+ url: string;
331
+ path?: string | undefined;
332
+ ref?: string | undefined;
333
+ } | undefined;
334
+ npm?: {
335
+ path: string;
336
+ npm: string;
337
+ version?: string | undefined;
338
+ } | undefined;
339
+ description?: string | undefined;
340
+ activation?: "always" | "auto" | "glob" | "manual" | undefined;
341
+ globs?: string[] | undefined;
342
+ content?: string | undefined;
343
+ }, {
344
+ path?: string | undefined;
345
+ git?: {
346
+ url: string;
347
+ path?: string | undefined;
348
+ ref?: string | undefined;
349
+ } | undefined;
350
+ npm?: {
351
+ path: string;
352
+ npm: string;
353
+ version?: string | undefined;
354
+ } | undefined;
355
+ description?: string | undefined;
356
+ activation?: "always" | "auto" | "glob" | "manual" | undefined;
357
+ globs?: string[] | undefined;
358
+ content?: string | undefined;
359
+ }>]>;
360
+ /**
361
+ * Rule name validation (key in the rules object).
362
+ */
363
+ export declare const ruleNameSchema: z.ZodString;
364
+ /**
365
+ * Rules config - object keyed by rule name.
366
+ */
367
+ export declare const rulesSchema: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodUnion<[z.ZodString, z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodObject<{
368
+ description: z.ZodOptional<z.ZodString>;
369
+ activation: z.ZodOptional<z.ZodDefault<z.ZodEnum<["always", "auto", "glob", "manual"]>>>;
370
+ globs: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
371
+ content: z.ZodOptional<z.ZodString>;
372
+ path: z.ZodOptional<z.ZodString>;
373
+ git: z.ZodOptional<z.ZodObject<{
374
+ url: z.ZodString;
375
+ path: z.ZodOptional<z.ZodString>;
376
+ ref: z.ZodOptional<z.ZodString>;
377
+ }, "strip", z.ZodTypeAny, {
378
+ url: string;
379
+ path?: string | undefined;
380
+ ref?: string | undefined;
381
+ }, {
382
+ url: string;
383
+ path?: string | undefined;
384
+ ref?: string | undefined;
385
+ }>>;
386
+ npm: z.ZodOptional<z.ZodObject<{
387
+ npm: z.ZodString;
388
+ path: z.ZodString;
389
+ version: z.ZodOptional<z.ZodString>;
390
+ }, "strip", z.ZodTypeAny, {
391
+ path: string;
392
+ npm: string;
393
+ version?: string | undefined;
394
+ }, {
395
+ path: string;
396
+ npm: string;
397
+ version?: string | undefined;
398
+ }>>;
399
+ }, "strip", z.ZodTypeAny, {
400
+ path?: string | undefined;
401
+ git?: {
402
+ url: string;
403
+ path?: string | undefined;
404
+ ref?: string | undefined;
405
+ } | undefined;
406
+ npm?: {
407
+ path: string;
408
+ npm: string;
409
+ version?: string | undefined;
410
+ } | undefined;
411
+ description?: string | undefined;
412
+ activation?: "always" | "auto" | "glob" | "manual" | undefined;
413
+ globs?: string[] | undefined;
414
+ content?: string | undefined;
415
+ }, {
416
+ path?: string | undefined;
417
+ git?: {
418
+ url: string;
419
+ path?: string | undefined;
420
+ ref?: string | undefined;
421
+ } | undefined;
422
+ npm?: {
423
+ path: string;
424
+ npm: string;
425
+ version?: string | undefined;
426
+ } | undefined;
427
+ description?: string | undefined;
428
+ activation?: "always" | "auto" | "glob" | "manual" | undefined;
429
+ globs?: string[] | undefined;
430
+ content?: string | undefined;
431
+ }>, {
432
+ path?: string | undefined;
433
+ git?: {
434
+ url: string;
435
+ path?: string | undefined;
436
+ ref?: string | undefined;
437
+ } | undefined;
438
+ npm?: {
439
+ path: string;
440
+ npm: string;
441
+ version?: string | undefined;
442
+ } | undefined;
443
+ description?: string | undefined;
444
+ activation?: "always" | "auto" | "glob" | "manual" | undefined;
445
+ globs?: string[] | undefined;
446
+ content?: string | undefined;
447
+ }, {
448
+ path?: string | undefined;
449
+ git?: {
450
+ url: string;
451
+ path?: string | undefined;
452
+ ref?: string | undefined;
453
+ } | undefined;
454
+ npm?: {
455
+ path: string;
456
+ npm: string;
457
+ version?: string | undefined;
458
+ } | undefined;
459
+ description?: string | undefined;
460
+ activation?: "always" | "auto" | "glob" | "manual" | undefined;
461
+ globs?: string[] | undefined;
462
+ content?: string | undefined;
463
+ }>, {
464
+ path?: string | undefined;
465
+ git?: {
466
+ url: string;
467
+ path?: string | undefined;
468
+ ref?: string | undefined;
469
+ } | undefined;
470
+ npm?: {
471
+ path: string;
472
+ npm: string;
473
+ version?: string | undefined;
474
+ } | undefined;
475
+ description?: string | undefined;
476
+ activation?: "always" | "auto" | "glob" | "manual" | undefined;
477
+ globs?: string[] | undefined;
478
+ content?: string | undefined;
479
+ }, {
480
+ path?: string | undefined;
481
+ git?: {
482
+ url: string;
483
+ path?: string | undefined;
484
+ ref?: string | undefined;
485
+ } | undefined;
486
+ npm?: {
487
+ path: string;
488
+ npm: string;
489
+ version?: string | undefined;
490
+ } | undefined;
491
+ description?: string | undefined;
492
+ activation?: "always" | "auto" | "glob" | "manual" | undefined;
493
+ globs?: string[] | undefined;
494
+ content?: string | undefined;
495
+ }>, {
496
+ path?: string | undefined;
497
+ git?: {
498
+ url: string;
499
+ path?: string | undefined;
500
+ ref?: string | undefined;
501
+ } | undefined;
502
+ npm?: {
503
+ path: string;
504
+ npm: string;
505
+ version?: string | undefined;
506
+ } | undefined;
507
+ description?: string | undefined;
508
+ activation?: "always" | "auto" | "glob" | "manual" | undefined;
509
+ globs?: string[] | undefined;
510
+ content?: string | undefined;
511
+ }, {
512
+ path?: string | undefined;
513
+ git?: {
514
+ url: string;
515
+ path?: string | undefined;
516
+ ref?: string | undefined;
517
+ } | undefined;
518
+ npm?: {
519
+ path: string;
520
+ npm: string;
521
+ version?: string | undefined;
522
+ } | undefined;
523
+ description?: string | undefined;
524
+ activation?: "always" | "auto" | "glob" | "manual" | undefined;
525
+ globs?: string[] | undefined;
526
+ content?: string | undefined;
527
+ }>]>, z.ZodLiteral<false>]>>;
528
+ export type ActivationMode = z.infer<typeof activationModeSchema>;
529
+ export type GitSource = z.infer<typeof gitSourceSchema>;
530
+ export type NpmSource = z.infer<typeof npmSourceSchema>;
531
+ export type RuleObject = z.infer<typeof ruleObjectSchema>;
532
+ export type RuleValue = z.infer<typeof ruleValueSchema>;
533
+ export type RulesConfig = z.infer<typeof rulesSchema>;
534
+ //# sourceMappingURL=rules.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rules.d.ts","sourceRoot":"","sources":["../src/rules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,oBAAoB,+DAGgB,CAAC;AAElD,eAAO,MAAM,eAAe;;;;;;;;;;;;EAMS,CAAC;AAEtC,eAAO,MAAM,eAAe;;;;;;;;;;;;EASM,CAAC;AAEnC;;;GAGG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoCwB,CAAC;AAetD;;;;GAIG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAAgD,CAAC;AAE7E;;GAEG;AACH,eAAO,MAAM,cAAc,aAQY,CAAC;AAExC;;GAEG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4BAEoD,CAAC;AAE7E,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AACxD,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AACxD,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC1D,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AACxD,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC"}
package/dist/rules.js ADDED
@@ -0,0 +1,85 @@
1
+ import { z } from 'zod';
2
+ export const activationModeSchema = z
3
+ .enum(['always', 'auto', 'glob', 'manual'])
4
+ .default('always')
5
+ .describe('When the rule should be activated');
6
+ export const gitSourceSchema = z
7
+ .object({
8
+ url: z.string().describe('Git repository URL or shorthand (e.g., github:user/repo)'),
9
+ path: z.string().optional().describe('Path to rule file within repo (default: root)'),
10
+ ref: z.string().optional().describe('Branch, tag, or commit (default: main/master)'),
11
+ })
12
+ .describe('Git repository source');
13
+ export const npmSourceSchema = z
14
+ .object({
15
+ npm: z.string().describe('NPM package name (e.g., "@company/rules")'),
16
+ path: z.string().describe('Path to file within package (e.g., "rules/style.md")'),
17
+ version: z
18
+ .string()
19
+ .optional()
20
+ .describe('Version to auto-install (omit to use project node_modules)'),
21
+ })
22
+ .describe('NPM package source');
23
+ /**
24
+ * Rule object with metadata and content source.
25
+ * Note: `name` is no longer needed in object form - it's the key in the parent object.
26
+ */
27
+ export const ruleObjectSchema = z
28
+ .object({
29
+ description: z.string().optional().describe('When the rule should apply (required for auto mode)'),
30
+ activation: activationModeSchema.optional(),
31
+ globs: z.array(z.string()).optional().describe('File patterns (required for glob mode)'),
32
+ content: z.string().optional().describe('Inline rule content'),
33
+ path: z.string().optional().describe('Local file path to rule content'),
34
+ git: gitSourceSchema.optional().describe('Git repository source'),
35
+ npm: npmSourceSchema.optional().describe('NPM package source'),
36
+ })
37
+ .refine((data) => {
38
+ const sources = [data.content, data.path, data.git, data.npm].filter(Boolean);
39
+ return sources.length === 1;
40
+ }, { message: 'Exactly one content source required: content, path, git, or npm' })
41
+ .refine((data) => {
42
+ if (data.activation === 'auto' && !data.description) {
43
+ return false;
44
+ }
45
+ return true;
46
+ }, { message: 'description is required when activation is "auto"' })
47
+ .refine((data) => {
48
+ if (data.activation === 'glob' && (!data.globs || data.globs.length === 0)) {
49
+ return false;
50
+ }
51
+ return true;
52
+ }, { message: 'globs is required when activation is "glob"' })
53
+ .describe('Rule with metadata and content source');
54
+ /**
55
+ * String shorthand for source references (npm-style):
56
+ * - Local paths: "./rules/style.md", "../shared/rules.md", "/abs/path", "file:../foo"
57
+ * - Git URLs: "https://...", "git+https://...", "github:user/repo", "user/repo#ref"
58
+ *
59
+ * Inline content requires object form: { "content": "..." }
60
+ */
61
+ const ruleStringSchema = z
62
+ .string()
63
+ .describe('Source reference: local path (./, ../, /, file:), git URL (https://), or git shorthand (github:)');
64
+ /**
65
+ * A rule value can be:
66
+ * - String: source reference (local path or git URL) - normalized at parse time
67
+ * - Object: full rule with content source and optional metadata
68
+ */
69
+ export const ruleValueSchema = z.union([ruleStringSchema, ruleObjectSchema]);
70
+ /**
71
+ * Rule name validation (key in the rules object).
72
+ */
73
+ export const ruleNameSchema = z
74
+ .string()
75
+ .min(1)
76
+ .max(64)
77
+ .regex(/^[a-z0-9]+(-[a-z0-9]+)*$/, 'Rule name must be lowercase alphanumeric with single hyphens (e.g., "code-style")')
78
+ .describe('Rule name (used as key)');
79
+ /**
80
+ * Rules config - object keyed by rule name.
81
+ */
82
+ export const rulesSchema = z
83
+ .record(ruleNameSchema, z.union([ruleValueSchema, z.literal(false)]))
84
+ .describe('Map of rule names to their definitions (or false to disable)');
85
+ //# sourceMappingURL=rules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rules.js","sourceRoot":"","sources":["../src/rules.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Agent Skills spec frontmatter schema
4
+ * @see https://agentskills.io/specification.md
5
+ */
6
+ export declare const skillFrontmatterSchema: z.ZodObject<{
7
+ name: z.ZodString;
8
+ description: z.ZodString;
9
+ license: z.ZodOptional<z.ZodString>;
10
+ compatibility: z.ZodOptional<z.ZodString>;
11
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
12
+ 'allowed-tools': z.ZodOptional<z.ZodString>;
13
+ }, "strip", z.ZodTypeAny, {
14
+ description: string;
15
+ name: string;
16
+ license?: string | undefined;
17
+ compatibility?: string | undefined;
18
+ metadata?: Record<string, string> | undefined;
19
+ 'allowed-tools'?: string | undefined;
20
+ }, {
21
+ description: string;
22
+ name: string;
23
+ license?: string | undefined;
24
+ compatibility?: string | undefined;
25
+ metadata?: Record<string, string> | undefined;
26
+ 'allowed-tools'?: string | undefined;
27
+ }>;
28
+ export type SkillFrontmatter = z.infer<typeof skillFrontmatterSchema>;
29
+ /**
30
+ * Parsed skill with frontmatter and body content
31
+ */
32
+ export interface ParsedSkill {
33
+ frontmatter: SkillFrontmatter;
34
+ body: string;
35
+ basePath: string;
36
+ source: 'local' | 'git' | 'npm';
37
+ }
38
+ //# sourceMappingURL=skill.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill.d.ts","sourceRoot":"","sources":["../src/skill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;GAGG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;EAcjC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE;;GAEG;AACH,MAAM,WAAW,WAAW;IACzB,WAAW,EAAE,gBAAgB,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,OAAO,GAAG,KAAK,GAAG,KAAK,CAAC;CAClC"}
package/dist/skill.js ADDED
@@ -0,0 +1,18 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Agent Skills spec frontmatter schema
4
+ * @see https://agentskills.io/specification.md
5
+ */
6
+ export const skillFrontmatterSchema = z.object({
7
+ name: z
8
+ .string()
9
+ .min(1)
10
+ .max(64)
11
+ .regex(/^[a-z0-9]+(-[a-z0-9]+)*$/, 'Name must be lowercase alphanumeric with single hyphens, not starting/ending with hyphen'),
12
+ description: z.string().min(1).max(1024),
13
+ license: z.string().optional(),
14
+ compatibility: z.string().max(500).optional(),
15
+ metadata: z.record(z.string()).optional(),
16
+ 'allowed-tools': z.string().optional(),
17
+ });
18
+ //# sourceMappingURL=skill.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill.js","sourceRoot":"","sources":["../src/skill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,IAAI,EAAE,CAAC;SACH,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,EAAE,CAAC;SACP,KAAK,CACH,0BAA0B,EAC1B,0FAA0F,CAC5F;IACJ,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;IACxC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IAC7C,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACzC,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACxC,CAAC,CAAC"}