@clawmasons/shared 0.1.0

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 (47) hide show
  1. package/dist/index.d.ts +8 -0
  2. package/dist/index.d.ts.map +1 -0
  3. package/dist/index.js +11 -0
  4. package/dist/index.js.map +1 -0
  5. package/dist/role/adapter.d.ts +29 -0
  6. package/dist/role/adapter.d.ts.map +1 -0
  7. package/dist/role/adapter.js +149 -0
  8. package/dist/role/adapter.js.map +1 -0
  9. package/dist/role/discovery.d.ts +38 -0
  10. package/dist/role/discovery.d.ts.map +1 -0
  11. package/dist/role/discovery.js +209 -0
  12. package/dist/role/discovery.js.map +1 -0
  13. package/dist/role/index.d.ts.map +1 -0
  14. package/dist/role/index.js +13 -0
  15. package/dist/role/index.js.map +1 -0
  16. package/dist/role/package-reader.d.ts +30 -0
  17. package/dist/role/package-reader.d.ts.map +1 -0
  18. package/dist/role/package-reader.js +223 -0
  19. package/dist/role/package-reader.js.map +1 -0
  20. package/dist/role/parser.d.ts +45 -0
  21. package/dist/role/parser.d.ts.map +1 -0
  22. package/dist/role/parser.js +241 -0
  23. package/dist/role/parser.js.map +1 -0
  24. package/dist/role/resource-scanner.d.ts +16 -0
  25. package/dist/role/resource-scanner.d.ts.map +1 -0
  26. package/dist/role/resource-scanner.js +43 -0
  27. package/dist/role/resource-scanner.js.map +1 -0
  28. package/dist/schemas/index.d.ts +7 -0
  29. package/dist/schemas/index.d.ts.map +1 -0
  30. package/dist/schemas/index.js +8 -0
  31. package/dist/schemas/index.js.map +1 -0
  32. package/dist/schemas/role-types.d.ts +564 -0
  33. package/dist/schemas/role-types.d.ts.map +1 -0
  34. package/dist/schemas/role-types.js +93 -0
  35. package/dist/schemas/role-types.js.map +1 -0
  36. package/dist/toolfilter.d.ts.map +1 -0
  37. package/dist/toolfilter.js +55 -0
  38. package/dist/toolfilter.js.map +1 -0
  39. package/dist/types/role.d.ts +14 -0
  40. package/dist/types/role.d.ts.map +1 -0
  41. package/dist/types/role.js +2 -0
  42. package/dist/types/role.js.map +1 -0
  43. package/dist/types.d.ts +106 -0
  44. package/dist/types.d.ts.map +1 -0
  45. package/dist/types.js +2 -0
  46. package/dist/types.js.map +1 -0
  47. package/package.json +29 -0
@@ -0,0 +1,564 @@
1
+ import { z } from "zod";
2
+ export declare const toolPermissionsSchema: z.ZodObject<{
3
+ allow: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
4
+ deny: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
5
+ }, "strip", z.ZodTypeAny, {
6
+ allow: string[];
7
+ deny: string[];
8
+ }, {
9
+ allow?: string[] | undefined;
10
+ deny?: string[] | undefined;
11
+ }>;
12
+ export declare const roleMetadataSchema: z.ZodObject<{
13
+ name: z.ZodString;
14
+ description: z.ZodString;
15
+ version: z.ZodOptional<z.ZodString>;
16
+ scope: z.ZodOptional<z.ZodString>;
17
+ }, "strip", z.ZodTypeAny, {
18
+ name: string;
19
+ description: string;
20
+ version?: string | undefined;
21
+ scope?: string | undefined;
22
+ }, {
23
+ name: string;
24
+ description: string;
25
+ version?: string | undefined;
26
+ scope?: string | undefined;
27
+ }>;
28
+ export declare const taskRefSchema: z.ZodObject<{
29
+ name: z.ZodString;
30
+ ref: z.ZodOptional<z.ZodString>;
31
+ }, "strip", z.ZodTypeAny, {
32
+ name: string;
33
+ ref?: string | undefined;
34
+ }, {
35
+ name: string;
36
+ ref?: string | undefined;
37
+ }>;
38
+ export declare const skillRefSchema: z.ZodObject<{
39
+ name: z.ZodString;
40
+ ref: z.ZodOptional<z.ZodString>;
41
+ }, "strip", z.ZodTypeAny, {
42
+ name: string;
43
+ ref?: string | undefined;
44
+ }, {
45
+ name: string;
46
+ ref?: string | undefined;
47
+ }>;
48
+ export declare const appConfigSchema: z.ZodObject<{
49
+ name: z.ZodString;
50
+ package: z.ZodOptional<z.ZodString>;
51
+ transport: z.ZodOptional<z.ZodEnum<["stdio", "sse", "streamable-http"]>>;
52
+ command: z.ZodOptional<z.ZodString>;
53
+ args: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
54
+ url: z.ZodOptional<z.ZodString>;
55
+ env: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>>;
56
+ tools: z.ZodDefault<z.ZodOptional<z.ZodObject<{
57
+ allow: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
58
+ deny: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
59
+ }, "strip", z.ZodTypeAny, {
60
+ allow: string[];
61
+ deny: string[];
62
+ }, {
63
+ allow?: string[] | undefined;
64
+ deny?: string[] | undefined;
65
+ }>>>;
66
+ credentials: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
67
+ }, "strip", z.ZodTypeAny, {
68
+ name: string;
69
+ env: Record<string, string>;
70
+ tools: {
71
+ allow: string[];
72
+ deny: string[];
73
+ };
74
+ credentials: string[];
75
+ package?: string | undefined;
76
+ transport?: "stdio" | "sse" | "streamable-http" | undefined;
77
+ command?: string | undefined;
78
+ args?: string[] | undefined;
79
+ url?: string | undefined;
80
+ }, {
81
+ name: string;
82
+ package?: string | undefined;
83
+ transport?: "stdio" | "sse" | "streamable-http" | undefined;
84
+ command?: string | undefined;
85
+ args?: string[] | undefined;
86
+ url?: string | undefined;
87
+ env?: Record<string, string> | undefined;
88
+ tools?: {
89
+ allow?: string[] | undefined;
90
+ deny?: string[] | undefined;
91
+ } | undefined;
92
+ credentials?: string[] | undefined;
93
+ }>;
94
+ export declare const mountConfigSchema: z.ZodObject<{
95
+ source: z.ZodString;
96
+ target: z.ZodString;
97
+ readonly: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
98
+ }, "strip", z.ZodTypeAny, {
99
+ source: string;
100
+ target: string;
101
+ readonly: boolean;
102
+ }, {
103
+ source: string;
104
+ target: string;
105
+ readonly?: boolean | undefined;
106
+ }>;
107
+ export declare const containerRequirementsSchema: z.ZodObject<{
108
+ packages: z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodObject<{
109
+ apt: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
110
+ npm: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
111
+ pip: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
112
+ }, "strip", z.ZodTypeAny, {
113
+ apt: string[];
114
+ npm: string[];
115
+ pip: string[];
116
+ }, {
117
+ apt?: string[] | undefined;
118
+ npm?: string[] | undefined;
119
+ pip?: string[] | undefined;
120
+ }>>>, {
121
+ apt: string[];
122
+ npm: string[];
123
+ pip: string[];
124
+ }, unknown>;
125
+ ignore: z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodObject<{
126
+ paths: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
127
+ }, "strip", z.ZodTypeAny, {
128
+ paths: string[];
129
+ }, {
130
+ paths?: string[] | undefined;
131
+ }>>>, {
132
+ paths: string[];
133
+ }, unknown>;
134
+ mounts: z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
135
+ source: z.ZodString;
136
+ target: z.ZodString;
137
+ readonly: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
138
+ }, "strip", z.ZodTypeAny, {
139
+ source: string;
140
+ target: string;
141
+ readonly: boolean;
142
+ }, {
143
+ source: string;
144
+ target: string;
145
+ readonly?: boolean | undefined;
146
+ }>, "many">>>, {
147
+ source: string;
148
+ target: string;
149
+ readonly: boolean;
150
+ }[], unknown>;
151
+ baseImage: z.ZodOptional<z.ZodString>;
152
+ }, "strip", z.ZodTypeAny, {
153
+ packages: {
154
+ apt: string[];
155
+ npm: string[];
156
+ pip: string[];
157
+ };
158
+ ignore: {
159
+ paths: string[];
160
+ };
161
+ mounts: {
162
+ source: string;
163
+ target: string;
164
+ readonly: boolean;
165
+ }[];
166
+ baseImage?: string | undefined;
167
+ }, {
168
+ packages?: unknown;
169
+ ignore?: unknown;
170
+ mounts?: unknown;
171
+ baseImage?: string | undefined;
172
+ }>;
173
+ export declare const governanceConfigSchema: z.ZodObject<{
174
+ risk: z.ZodDefault<z.ZodOptional<z.ZodEnum<["HIGH", "MEDIUM", "LOW"]>>>;
175
+ credentials: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
176
+ constraints: z.ZodOptional<z.ZodObject<{
177
+ maxConcurrentTasks: z.ZodOptional<z.ZodNumber>;
178
+ requireApprovalFor: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
179
+ }, "strip", z.ZodTypeAny, {
180
+ maxConcurrentTasks?: number | undefined;
181
+ requireApprovalFor?: string[] | undefined;
182
+ }, {
183
+ maxConcurrentTasks?: number | undefined;
184
+ requireApprovalFor?: string[] | undefined;
185
+ }>>;
186
+ }, "strip", z.ZodTypeAny, {
187
+ credentials: string[];
188
+ risk: "HIGH" | "MEDIUM" | "LOW";
189
+ constraints?: {
190
+ maxConcurrentTasks?: number | undefined;
191
+ requireApprovalFor?: string[] | undefined;
192
+ } | undefined;
193
+ }, {
194
+ credentials?: string[] | undefined;
195
+ risk?: "HIGH" | "MEDIUM" | "LOW" | undefined;
196
+ constraints?: {
197
+ maxConcurrentTasks?: number | undefined;
198
+ requireApprovalFor?: string[] | undefined;
199
+ } | undefined;
200
+ }>;
201
+ export declare const resourceFileSchema: z.ZodObject<{
202
+ relativePath: z.ZodString;
203
+ absolutePath: z.ZodString;
204
+ permissions: z.ZodOptional<z.ZodNumber>;
205
+ }, "strip", z.ZodTypeAny, {
206
+ relativePath: string;
207
+ absolutePath: string;
208
+ permissions?: number | undefined;
209
+ }, {
210
+ relativePath: string;
211
+ absolutePath: string;
212
+ permissions?: number | undefined;
213
+ }>;
214
+ export declare const roleSourceSchema: z.ZodObject<{
215
+ type: z.ZodEnum<["local", "package"]>;
216
+ agentDialect: z.ZodOptional<z.ZodString>;
217
+ path: z.ZodOptional<z.ZodString>;
218
+ packageName: z.ZodOptional<z.ZodString>;
219
+ }, "strip", z.ZodTypeAny, {
220
+ type: "package" | "local";
221
+ path?: string | undefined;
222
+ agentDialect?: string | undefined;
223
+ packageName?: string | undefined;
224
+ }, {
225
+ type: "package" | "local";
226
+ path?: string | undefined;
227
+ agentDialect?: string | undefined;
228
+ packageName?: string | undefined;
229
+ }>;
230
+ export declare const roleSchema: z.ZodObject<{
231
+ metadata: z.ZodObject<{
232
+ name: z.ZodString;
233
+ description: z.ZodString;
234
+ version: z.ZodOptional<z.ZodString>;
235
+ scope: z.ZodOptional<z.ZodString>;
236
+ }, "strip", z.ZodTypeAny, {
237
+ name: string;
238
+ description: string;
239
+ version?: string | undefined;
240
+ scope?: string | undefined;
241
+ }, {
242
+ name: string;
243
+ description: string;
244
+ version?: string | undefined;
245
+ scope?: string | undefined;
246
+ }>;
247
+ instructions: z.ZodString;
248
+ type: z.ZodDefault<z.ZodOptional<z.ZodEnum<["project", "supervisor"]>>>;
249
+ tasks: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
250
+ name: z.ZodString;
251
+ ref: z.ZodOptional<z.ZodString>;
252
+ }, "strip", z.ZodTypeAny, {
253
+ name: string;
254
+ ref?: string | undefined;
255
+ }, {
256
+ name: string;
257
+ ref?: string | undefined;
258
+ }>, "many">>>;
259
+ apps: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
260
+ name: z.ZodString;
261
+ package: z.ZodOptional<z.ZodString>;
262
+ transport: z.ZodOptional<z.ZodEnum<["stdio", "sse", "streamable-http"]>>;
263
+ command: z.ZodOptional<z.ZodString>;
264
+ args: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
265
+ url: z.ZodOptional<z.ZodString>;
266
+ env: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>>;
267
+ tools: z.ZodDefault<z.ZodOptional<z.ZodObject<{
268
+ allow: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
269
+ deny: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
270
+ }, "strip", z.ZodTypeAny, {
271
+ allow: string[];
272
+ deny: string[];
273
+ }, {
274
+ allow?: string[] | undefined;
275
+ deny?: string[] | undefined;
276
+ }>>>;
277
+ credentials: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
278
+ }, "strip", z.ZodTypeAny, {
279
+ name: string;
280
+ env: Record<string, string>;
281
+ tools: {
282
+ allow: string[];
283
+ deny: string[];
284
+ };
285
+ credentials: string[];
286
+ package?: string | undefined;
287
+ transport?: "stdio" | "sse" | "streamable-http" | undefined;
288
+ command?: string | undefined;
289
+ args?: string[] | undefined;
290
+ url?: string | undefined;
291
+ }, {
292
+ name: string;
293
+ package?: string | undefined;
294
+ transport?: "stdio" | "sse" | "streamable-http" | undefined;
295
+ command?: string | undefined;
296
+ args?: string[] | undefined;
297
+ url?: string | undefined;
298
+ env?: Record<string, string> | undefined;
299
+ tools?: {
300
+ allow?: string[] | undefined;
301
+ deny?: string[] | undefined;
302
+ } | undefined;
303
+ credentials?: string[] | undefined;
304
+ }>, "many">>>;
305
+ skills: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
306
+ name: z.ZodString;
307
+ ref: z.ZodOptional<z.ZodString>;
308
+ }, "strip", z.ZodTypeAny, {
309
+ name: string;
310
+ ref?: string | undefined;
311
+ }, {
312
+ name: string;
313
+ ref?: string | undefined;
314
+ }>, "many">>>;
315
+ sources: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
316
+ container: z.ZodDefault<z.ZodOptional<z.ZodObject<{
317
+ packages: z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodObject<{
318
+ apt: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
319
+ npm: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
320
+ pip: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
321
+ }, "strip", z.ZodTypeAny, {
322
+ apt: string[];
323
+ npm: string[];
324
+ pip: string[];
325
+ }, {
326
+ apt?: string[] | undefined;
327
+ npm?: string[] | undefined;
328
+ pip?: string[] | undefined;
329
+ }>>>, {
330
+ apt: string[];
331
+ npm: string[];
332
+ pip: string[];
333
+ }, unknown>;
334
+ ignore: z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodObject<{
335
+ paths: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
336
+ }, "strip", z.ZodTypeAny, {
337
+ paths: string[];
338
+ }, {
339
+ paths?: string[] | undefined;
340
+ }>>>, {
341
+ paths: string[];
342
+ }, unknown>;
343
+ mounts: z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
344
+ source: z.ZodString;
345
+ target: z.ZodString;
346
+ readonly: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
347
+ }, "strip", z.ZodTypeAny, {
348
+ source: string;
349
+ target: string;
350
+ readonly: boolean;
351
+ }, {
352
+ source: string;
353
+ target: string;
354
+ readonly?: boolean | undefined;
355
+ }>, "many">>>, {
356
+ source: string;
357
+ target: string;
358
+ readonly: boolean;
359
+ }[], unknown>;
360
+ baseImage: z.ZodOptional<z.ZodString>;
361
+ }, "strip", z.ZodTypeAny, {
362
+ packages: {
363
+ apt: string[];
364
+ npm: string[];
365
+ pip: string[];
366
+ };
367
+ ignore: {
368
+ paths: string[];
369
+ };
370
+ mounts: {
371
+ source: string;
372
+ target: string;
373
+ readonly: boolean;
374
+ }[];
375
+ baseImage?: string | undefined;
376
+ }, {
377
+ packages?: unknown;
378
+ ignore?: unknown;
379
+ mounts?: unknown;
380
+ baseImage?: string | undefined;
381
+ }>>>;
382
+ governance: z.ZodDefault<z.ZodOptional<z.ZodObject<{
383
+ risk: z.ZodDefault<z.ZodOptional<z.ZodEnum<["HIGH", "MEDIUM", "LOW"]>>>;
384
+ credentials: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
385
+ constraints: z.ZodOptional<z.ZodObject<{
386
+ maxConcurrentTasks: z.ZodOptional<z.ZodNumber>;
387
+ requireApprovalFor: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
388
+ }, "strip", z.ZodTypeAny, {
389
+ maxConcurrentTasks?: number | undefined;
390
+ requireApprovalFor?: string[] | undefined;
391
+ }, {
392
+ maxConcurrentTasks?: number | undefined;
393
+ requireApprovalFor?: string[] | undefined;
394
+ }>>;
395
+ }, "strip", z.ZodTypeAny, {
396
+ credentials: string[];
397
+ risk: "HIGH" | "MEDIUM" | "LOW";
398
+ constraints?: {
399
+ maxConcurrentTasks?: number | undefined;
400
+ requireApprovalFor?: string[] | undefined;
401
+ } | undefined;
402
+ }, {
403
+ credentials?: string[] | undefined;
404
+ risk?: "HIGH" | "MEDIUM" | "LOW" | undefined;
405
+ constraints?: {
406
+ maxConcurrentTasks?: number | undefined;
407
+ requireApprovalFor?: string[] | undefined;
408
+ } | undefined;
409
+ }>>>;
410
+ resources: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
411
+ relativePath: z.ZodString;
412
+ absolutePath: z.ZodString;
413
+ permissions: z.ZodOptional<z.ZodNumber>;
414
+ }, "strip", z.ZodTypeAny, {
415
+ relativePath: string;
416
+ absolutePath: string;
417
+ permissions?: number | undefined;
418
+ }, {
419
+ relativePath: string;
420
+ absolutePath: string;
421
+ permissions?: number | undefined;
422
+ }>, "many">>>;
423
+ source: z.ZodObject<{
424
+ type: z.ZodEnum<["local", "package"]>;
425
+ agentDialect: z.ZodOptional<z.ZodString>;
426
+ path: z.ZodOptional<z.ZodString>;
427
+ packageName: z.ZodOptional<z.ZodString>;
428
+ }, "strip", z.ZodTypeAny, {
429
+ type: "package" | "local";
430
+ path?: string | undefined;
431
+ agentDialect?: string | undefined;
432
+ packageName?: string | undefined;
433
+ }, {
434
+ type: "package" | "local";
435
+ path?: string | undefined;
436
+ agentDialect?: string | undefined;
437
+ packageName?: string | undefined;
438
+ }>;
439
+ }, "strip", z.ZodTypeAny, {
440
+ type: "project" | "supervisor";
441
+ source: {
442
+ type: "package" | "local";
443
+ path?: string | undefined;
444
+ agentDialect?: string | undefined;
445
+ packageName?: string | undefined;
446
+ };
447
+ metadata: {
448
+ name: string;
449
+ description: string;
450
+ version?: string | undefined;
451
+ scope?: string | undefined;
452
+ };
453
+ instructions: string;
454
+ tasks: {
455
+ name: string;
456
+ ref?: string | undefined;
457
+ }[];
458
+ apps: {
459
+ name: string;
460
+ env: Record<string, string>;
461
+ tools: {
462
+ allow: string[];
463
+ deny: string[];
464
+ };
465
+ credentials: string[];
466
+ package?: string | undefined;
467
+ transport?: "stdio" | "sse" | "streamable-http" | undefined;
468
+ command?: string | undefined;
469
+ args?: string[] | undefined;
470
+ url?: string | undefined;
471
+ }[];
472
+ skills: {
473
+ name: string;
474
+ ref?: string | undefined;
475
+ }[];
476
+ sources: string[];
477
+ container: {
478
+ packages: {
479
+ apt: string[];
480
+ npm: string[];
481
+ pip: string[];
482
+ };
483
+ ignore: {
484
+ paths: string[];
485
+ };
486
+ mounts: {
487
+ source: string;
488
+ target: string;
489
+ readonly: boolean;
490
+ }[];
491
+ baseImage?: string | undefined;
492
+ };
493
+ governance: {
494
+ credentials: string[];
495
+ risk: "HIGH" | "MEDIUM" | "LOW";
496
+ constraints?: {
497
+ maxConcurrentTasks?: number | undefined;
498
+ requireApprovalFor?: string[] | undefined;
499
+ } | undefined;
500
+ };
501
+ resources: {
502
+ relativePath: string;
503
+ absolutePath: string;
504
+ permissions?: number | undefined;
505
+ }[];
506
+ }, {
507
+ source: {
508
+ type: "package" | "local";
509
+ path?: string | undefined;
510
+ agentDialect?: string | undefined;
511
+ packageName?: string | undefined;
512
+ };
513
+ metadata: {
514
+ name: string;
515
+ description: string;
516
+ version?: string | undefined;
517
+ scope?: string | undefined;
518
+ };
519
+ instructions: string;
520
+ type?: "project" | "supervisor" | undefined;
521
+ tasks?: {
522
+ name: string;
523
+ ref?: string | undefined;
524
+ }[] | undefined;
525
+ apps?: {
526
+ name: string;
527
+ package?: string | undefined;
528
+ transport?: "stdio" | "sse" | "streamable-http" | undefined;
529
+ command?: string | undefined;
530
+ args?: string[] | undefined;
531
+ url?: string | undefined;
532
+ env?: Record<string, string> | undefined;
533
+ tools?: {
534
+ allow?: string[] | undefined;
535
+ deny?: string[] | undefined;
536
+ } | undefined;
537
+ credentials?: string[] | undefined;
538
+ }[] | undefined;
539
+ skills?: {
540
+ name: string;
541
+ ref?: string | undefined;
542
+ }[] | undefined;
543
+ sources?: string[] | undefined;
544
+ container?: {
545
+ packages?: unknown;
546
+ ignore?: unknown;
547
+ mounts?: unknown;
548
+ baseImage?: string | undefined;
549
+ } | undefined;
550
+ governance?: {
551
+ credentials?: string[] | undefined;
552
+ risk?: "HIGH" | "MEDIUM" | "LOW" | undefined;
553
+ constraints?: {
554
+ maxConcurrentTasks?: number | undefined;
555
+ requireApprovalFor?: string[] | undefined;
556
+ } | undefined;
557
+ } | undefined;
558
+ resources?: {
559
+ relativePath: string;
560
+ absolutePath: string;
561
+ permissions?: number | undefined;
562
+ }[] | undefined;
563
+ }>;
564
+ //# sourceMappingURL=role-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"role-types.d.ts","sourceRoot":"","sources":["../../src/schemas/role-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,qBAAqB;;;;;;;;;EAGhC,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;EAK7B,CAAC;AAEH,eAAO,MAAM,aAAa;;;;;;;;;EAGxB,CAAC;AAEH,eAAO,MAAM,cAAc;;;;;;;;;EAGzB,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAY1B,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;EAI5B,CAAC;AAIH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuBtC,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;EASjC,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;EAI7B,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;EAK3B,CAAC;AAIH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAYrB,CAAC"}
@@ -0,0 +1,93 @@
1
+ import { z } from "zod";
2
+ // --- Sub-schemas ---
3
+ export const toolPermissionsSchema = z.object({
4
+ allow: z.array(z.string()).optional().default([]),
5
+ deny: z.array(z.string()).optional().default([]),
6
+ });
7
+ export const roleMetadataSchema = z.object({
8
+ name: z.string(),
9
+ description: z.string(),
10
+ version: z.string().optional(),
11
+ scope: z.string().optional(),
12
+ });
13
+ export const taskRefSchema = z.object({
14
+ name: z.string(),
15
+ ref: z.string().optional(),
16
+ });
17
+ export const skillRefSchema = z.object({
18
+ name: z.string(),
19
+ ref: z.string().optional(),
20
+ });
21
+ export const appConfigSchema = z.object({
22
+ name: z.string(),
23
+ package: z.string().optional(),
24
+ transport: z
25
+ .enum(["stdio", "sse", "streamable-http"])
26
+ .optional(),
27
+ command: z.string().optional(),
28
+ args: z.array(z.string()).optional(),
29
+ url: z.string().optional(),
30
+ env: z.record(z.string(), z.string()).optional().default({}),
31
+ tools: toolPermissionsSchema.optional().default({}),
32
+ credentials: z.array(z.string()).optional().default([]),
33
+ });
34
+ export const mountConfigSchema = z.object({
35
+ source: z.string(),
36
+ target: z.string(),
37
+ readonly: z.boolean().optional().default(false),
38
+ });
39
+ const nullToUndefined = (val) => val ?? undefined;
40
+ export const containerRequirementsSchema = z.object({
41
+ packages: z.preprocess(nullToUndefined, z
42
+ .object({
43
+ apt: z.array(z.string()).optional().default([]),
44
+ npm: z.array(z.string()).optional().default([]),
45
+ pip: z.array(z.string()).optional().default([]),
46
+ })
47
+ .optional()
48
+ .default({})),
49
+ ignore: z.preprocess(nullToUndefined, z
50
+ .object({
51
+ paths: z.array(z.string()).optional().default([]),
52
+ })
53
+ .optional()
54
+ .default({})),
55
+ mounts: z.preprocess(nullToUndefined, z.array(mountConfigSchema).optional().default([])),
56
+ baseImage: z.string().optional(),
57
+ });
58
+ export const governanceConfigSchema = z.object({
59
+ risk: z.enum(["HIGH", "MEDIUM", "LOW"]).optional().default("LOW"),
60
+ credentials: z.array(z.string()).optional().default([]),
61
+ constraints: z
62
+ .object({
63
+ maxConcurrentTasks: z.number().int().positive().optional(),
64
+ requireApprovalFor: z.array(z.string()).optional(),
65
+ })
66
+ .optional(),
67
+ });
68
+ export const resourceFileSchema = z.object({
69
+ relativePath: z.string(),
70
+ absolutePath: z.string(),
71
+ permissions: z.number().optional(),
72
+ });
73
+ export const roleSourceSchema = z.object({
74
+ type: z.enum(["local", "package"]),
75
+ agentDialect: z.string().optional(),
76
+ path: z.string().optional(),
77
+ packageName: z.string().optional(),
78
+ });
79
+ // --- Top-level Role schema ---
80
+ export const roleSchema = z.object({
81
+ metadata: roleMetadataSchema,
82
+ instructions: z.string(),
83
+ type: z.enum(["project", "supervisor"]).optional().default("project"),
84
+ tasks: z.array(taskRefSchema).optional().default([]),
85
+ apps: z.array(appConfigSchema).optional().default([]),
86
+ skills: z.array(skillRefSchema).optional().default([]),
87
+ sources: z.array(z.string()).optional().default([]),
88
+ container: containerRequirementsSchema.optional().default({}),
89
+ governance: governanceConfigSchema.optional().default({}),
90
+ resources: z.array(resourceFileSchema).optional().default([]),
91
+ source: roleSourceSchema,
92
+ });
93
+ //# sourceMappingURL=role-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"role-types.js","sourceRoot":"","sources":["../../src/schemas/role-types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toolfilter.d.ts","sourceRoot":"","sources":["../src/toolfilter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAKD;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAa3D;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,aAAa,GACnB,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAyBzB"}