@passioncode-ai/fabric-agent-adapter 0.29.0 → 0.31.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.
@@ -0,0 +1,631 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://fabric.passioncode.ai/agent-contract/0.1.0/schemas/fabric-package.schema.json",
4
+ "type": "object",
5
+ "required": [
6
+ "schema",
7
+ "kind",
8
+ "id",
9
+ "version",
10
+ "publisher",
11
+ "licence",
12
+ "files",
13
+ "digest"
14
+ ],
15
+ "properties": {
16
+ "schema": {
17
+ "const": "fabric-package/1"
18
+ },
19
+ "kind": {
20
+ "enum": [
21
+ "agent",
22
+ "skill-set"
23
+ ]
24
+ },
25
+ "id": {
26
+ "$ref": "#/$defs/name"
27
+ },
28
+ "version": {
29
+ "$ref": "#/$defs/common.$defs.semver"
30
+ },
31
+ "publisher": {
32
+ "$ref": "#/$defs/name"
33
+ },
34
+ "agentRef": {
35
+ "$ref": "#/$defs/agentRef"
36
+ },
37
+ "licence": {
38
+ "type": "string",
39
+ "minLength": 1,
40
+ "maxLength": 200
41
+ },
42
+ "layer": {
43
+ "enum": [
44
+ "base",
45
+ "org",
46
+ "team",
47
+ "workplace",
48
+ "person"
49
+ ]
50
+ },
51
+ "runners": {
52
+ "type": "array",
53
+ "uniqueItems": true,
54
+ "items": {
55
+ "type": "string",
56
+ "pattern": "^[a-z][a-z0-9./-]+$"
57
+ }
58
+ },
59
+ "skills": {
60
+ "type": "array",
61
+ "uniqueItems": true,
62
+ "items": {
63
+ "type": "string",
64
+ "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$",
65
+ "maxLength": 64
66
+ }
67
+ },
68
+ "allowedToolsCeiling": {
69
+ "type": "array",
70
+ "uniqueItems": true,
71
+ "items": {
72
+ "type": "string",
73
+ "minLength": 1,
74
+ "maxLength": 200
75
+ }
76
+ },
77
+ "listingChars": {
78
+ "type": "integer",
79
+ "minimum": 0
80
+ },
81
+ "provider": {
82
+ "$ref": "#/$defs/path"
83
+ },
84
+ "service": {
85
+ "type": "object",
86
+ "required": [
87
+ "id",
88
+ "name",
89
+ "entry"
90
+ ],
91
+ "properties": {
92
+ "id": {
93
+ "$ref": "#/$defs/service-common.$defs.serviceId"
94
+ },
95
+ "name": {
96
+ "type": "string",
97
+ "minLength": 1,
98
+ "maxLength": 120
99
+ },
100
+ "summary": {
101
+ "type": "string",
102
+ "maxLength": 300
103
+ },
104
+ "entry": {
105
+ "type": "array",
106
+ "minItems": 1,
107
+ "items": {
108
+ "type": "string",
109
+ "minLength": 1,
110
+ "maxLength": 1000
111
+ }
112
+ },
113
+ "runtime": {
114
+ "type": "object",
115
+ "required": [
116
+ "name"
117
+ ],
118
+ "properties": {
119
+ "name": {
120
+ "enum": [
121
+ "node",
122
+ "python",
123
+ "binary"
124
+ ]
125
+ },
126
+ "version": {
127
+ "type": "string",
128
+ "minLength": 1,
129
+ "maxLength": 32
130
+ }
131
+ },
132
+ "additionalProperties": false
133
+ }
134
+ },
135
+ "additionalProperties": false
136
+ },
137
+ "secrets": {
138
+ "type": "array",
139
+ "items": {
140
+ "type": "object",
141
+ "required": [
142
+ "name",
143
+ "purpose"
144
+ ],
145
+ "properties": {
146
+ "name": {
147
+ "type": "string",
148
+ "pattern": "^[A-Z][A-Z0-9_]{0,63}$"
149
+ },
150
+ "purpose": {
151
+ "type": "string",
152
+ "minLength": 1,
153
+ "maxLength": 200
154
+ },
155
+ "optional": {
156
+ "type": "boolean"
157
+ }
158
+ },
159
+ "additionalProperties": false
160
+ }
161
+ },
162
+ "requires": {
163
+ "type": "object",
164
+ "properties": {
165
+ "servers": {
166
+ "type": "array",
167
+ "uniqueItems": true,
168
+ "items": {
169
+ "$ref": "#/$defs/service-common.$defs.serviceId"
170
+ }
171
+ },
172
+ "packages": {
173
+ "type": "array",
174
+ "items": {
175
+ "type": "object",
176
+ "required": [
177
+ "publisher",
178
+ "id",
179
+ "range"
180
+ ],
181
+ "properties": {
182
+ "publisher": {
183
+ "$ref": "#/$defs/name"
184
+ },
185
+ "id": {
186
+ "$ref": "#/$defs/name"
187
+ },
188
+ "range": {
189
+ "type": "string",
190
+ "minLength": 1,
191
+ "maxLength": 80
192
+ }
193
+ },
194
+ "additionalProperties": false
195
+ }
196
+ },
197
+ "platforms": {
198
+ "type": "array",
199
+ "minItems": 1,
200
+ "uniqueItems": true,
201
+ "items": {
202
+ "enum": [
203
+ "darwin",
204
+ "linux",
205
+ "windows"
206
+ ]
207
+ }
208
+ },
209
+ "gpu": {
210
+ "type": "boolean"
211
+ },
212
+ "mcp": {
213
+ "type": "array",
214
+ "minItems": 1,
215
+ "maxItems": 32,
216
+ "items": {
217
+ "type": "object",
218
+ "required": [
219
+ "role",
220
+ "tools"
221
+ ],
222
+ "properties": {
223
+ "role": {
224
+ "type": "string",
225
+ "pattern": "^[a-z][a-z0-9-]{0,63}$"
226
+ },
227
+ "contract": {
228
+ "type": "string",
229
+ "pattern": "^[a-z][a-z0-9-]{0,63}$"
230
+ },
231
+ "tools": {
232
+ "type": "array",
233
+ "minItems": 1,
234
+ "maxItems": 128,
235
+ "uniqueItems": true,
236
+ "items": {
237
+ "type": "string",
238
+ "pattern": "^[A-Za-z][A-Za-z0-9_.-]{0,127}$"
239
+ }
240
+ },
241
+ "secrets": {
242
+ "type": "array",
243
+ "minItems": 1,
244
+ "maxItems": 8,
245
+ "uniqueItems": true,
246
+ "items": {
247
+ "type": "string",
248
+ "pattern": "^[A-Z][A-Z0-9_]{0,63}$"
249
+ }
250
+ }
251
+ },
252
+ "additionalProperties": false
253
+ }
254
+ }
255
+ },
256
+ "additionalProperties": false
257
+ },
258
+ "costPresets": {
259
+ "$ref": "#/$defs/manifest.properties.costPresets"
260
+ },
261
+ "resultSignal": {
262
+ "type": "object",
263
+ "required": [
264
+ "name",
265
+ "says"
266
+ ],
267
+ "properties": {
268
+ "name": {
269
+ "$ref": "#/$defs/name"
270
+ },
271
+ "says": {
272
+ "type": "string",
273
+ "minLength": 1,
274
+ "maxLength": 120
275
+ }
276
+ },
277
+ "additionalProperties": false
278
+ },
279
+ "state": {
280
+ "type": "array",
281
+ "items": {
282
+ "type": "object",
283
+ "required": [
284
+ "path",
285
+ "purpose"
286
+ ],
287
+ "properties": {
288
+ "path": {
289
+ "$ref": "#/$defs/path"
290
+ },
291
+ "purpose": {
292
+ "type": "string",
293
+ "minLength": 1,
294
+ "maxLength": 200
295
+ }
296
+ },
297
+ "additionalProperties": false
298
+ }
299
+ },
300
+ "evals": {
301
+ "type": "object",
302
+ "required": [
303
+ "suite"
304
+ ],
305
+ "properties": {
306
+ "suite": {
307
+ "$ref": "#/$defs/path"
308
+ },
309
+ "receipt": {
310
+ "type": "object",
311
+ "required": [
312
+ "ranAt",
313
+ "suite",
314
+ "passed",
315
+ "failed"
316
+ ],
317
+ "properties": {
318
+ "ranAt": {
319
+ "$ref": "#/$defs/common.$defs.timestamp"
320
+ },
321
+ "suite": {
322
+ "$ref": "#/$defs/common.$defs.sha256"
323
+ },
324
+ "passed": {
325
+ "type": "integer",
326
+ "minimum": 0
327
+ },
328
+ "failed": {
329
+ "type": "integer",
330
+ "minimum": 0
331
+ },
332
+ "skipped": {
333
+ "type": "integer",
334
+ "minimum": 0
335
+ }
336
+ },
337
+ "additionalProperties": false
338
+ }
339
+ },
340
+ "additionalProperties": false
341
+ },
342
+ "dependencies": {
343
+ "type": "array",
344
+ "items": {
345
+ "type": "object",
346
+ "required": [
347
+ "ecosystem",
348
+ "name",
349
+ "version",
350
+ "sha256"
351
+ ],
352
+ "properties": {
353
+ "ecosystem": {
354
+ "enum": [
355
+ "npm",
356
+ "pypi",
357
+ "cargo",
358
+ "go",
359
+ "other"
360
+ ]
361
+ },
362
+ "name": {
363
+ "type": "string",
364
+ "minLength": 1,
365
+ "maxLength": 214
366
+ },
367
+ "version": {
368
+ "type": "string",
369
+ "minLength": 1,
370
+ "maxLength": 64
371
+ },
372
+ "sha256": {
373
+ "$ref": "#/$defs/common.$defs.sha256"
374
+ },
375
+ "path": {
376
+ "$ref": "#/$defs/path"
377
+ }
378
+ },
379
+ "additionalProperties": false
380
+ }
381
+ },
382
+ "files": {
383
+ "type": "array",
384
+ "minItems": 1,
385
+ "items": {
386
+ "type": "object",
387
+ "required": [
388
+ "path",
389
+ "sha256"
390
+ ],
391
+ "properties": {
392
+ "path": {
393
+ "$ref": "#/$defs/path"
394
+ },
395
+ "sha256": {
396
+ "$ref": "#/$defs/common.$defs.sha256"
397
+ }
398
+ },
399
+ "additionalProperties": false
400
+ }
401
+ },
402
+ "digest": {
403
+ "$ref": "#/$defs/common.$defs.sha256"
404
+ },
405
+ "signatures": {
406
+ "type": "array",
407
+ "minItems": 1,
408
+ "items": {
409
+ "type": "object",
410
+ "required": [
411
+ "role",
412
+ "alg",
413
+ "kid",
414
+ "sig"
415
+ ],
416
+ "properties": {
417
+ "role": {
418
+ "enum": [
419
+ "publisher",
420
+ "organization"
421
+ ]
422
+ },
423
+ "alg": {
424
+ "enum": [
425
+ "EdDSA"
426
+ ]
427
+ },
428
+ "kid": {
429
+ "type": "string",
430
+ "pattern": "^[A-Za-z0-9._:-]{1,128}$"
431
+ },
432
+ "sig": {
433
+ "type": "string",
434
+ "pattern": "^[A-Za-z0-9_-]+$"
435
+ }
436
+ },
437
+ "additionalProperties": false
438
+ },
439
+ "contains": {
440
+ "type": "object",
441
+ "properties": {
442
+ "role": {
443
+ "const": "publisher"
444
+ }
445
+ },
446
+ "required": [
447
+ "role"
448
+ ]
449
+ },
450
+ "minContains": 1,
451
+ "maxContains": 1
452
+ },
453
+ "extensions": {
454
+ "$ref": "#/$defs/common.$defs.extensions"
455
+ }
456
+ },
457
+ "additionalProperties": false,
458
+ "if": {
459
+ "properties": {
460
+ "kind": {
461
+ "const": "agent"
462
+ }
463
+ },
464
+ "required": [
465
+ "kind"
466
+ ]
467
+ },
468
+ "then": {
469
+ "required": [
470
+ "agentRef",
471
+ "resultSignal",
472
+ "evals"
473
+ ],
474
+ "properties": {
475
+ "agentRef": true,
476
+ "provider": true,
477
+ "resultSignal": true,
478
+ "evals": {
479
+ "type": "object",
480
+ "required": [
481
+ "receipt"
482
+ ],
483
+ "properties": {
484
+ "receipt": true
485
+ }
486
+ }
487
+ },
488
+ "allOf": [
489
+ {
490
+ "if": {
491
+ "not": {
492
+ "required": [
493
+ "provider"
494
+ ],
495
+ "properties": {
496
+ "provider": true
497
+ }
498
+ }
499
+ },
500
+ "then": {
501
+ "required": [
502
+ "skills",
503
+ "requires"
504
+ ],
505
+ "properties": {
506
+ "service": false,
507
+ "skills": {
508
+ "type": "array",
509
+ "minItems": 1
510
+ },
511
+ "requires": {
512
+ "type": "object",
513
+ "required": [
514
+ "mcp"
515
+ ],
516
+ "properties": {
517
+ "mcp": true
518
+ }
519
+ },
520
+ "state": false,
521
+ "layer": false
522
+ }
523
+ }
524
+ }
525
+ ]
526
+ },
527
+ "else": {
528
+ "required": [
529
+ "layer",
530
+ "skills"
531
+ ],
532
+ "properties": {
533
+ "layer": true,
534
+ "agentRef": false,
535
+ "provider": false,
536
+ "service": false,
537
+ "secrets": false,
538
+ "costPresets": false,
539
+ "resultSignal": false,
540
+ "state": false,
541
+ "skills": {
542
+ "type": "array",
543
+ "minItems": 1
544
+ }
545
+ }
546
+ },
547
+ "$defs": {
548
+ "name": {
549
+ "type": "string",
550
+ "maxLength": 64,
551
+ "pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$"
552
+ },
553
+ "agentRef": {
554
+ "type": "string",
555
+ "maxLength": 146,
556
+ "pattern": "^urn:fabric:agent:[a-z][a-z0-9]*(?:-[a-z0-9]+)*:[a-z][a-z0-9]*(?:-[a-z0-9]+)*$"
557
+ },
558
+ "path": {
559
+ "type": "string",
560
+ "pattern": "^(?![/~])(?!.*\\\\)(?!.*//)(?!(?:.*/)?\\.{1,2}(?:/|$))[^\\u0000-\\u001f:]{1,256}(?<!/)$"
561
+ },
562
+ "common.$defs.semver": {
563
+ "type": "string",
564
+ "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)(?:-[0-9A-Za-z.-]+)?(?:\\+[0-9A-Za-z.-]+)?$"
565
+ },
566
+ "service-common.$defs.serviceId": {
567
+ "type": "string",
568
+ "pattern": "^[a-z][a-z0-9-]{1,62}$"
569
+ },
570
+ "manifest.properties.costPresets": {
571
+ "type": "array",
572
+ "items": {
573
+ "type": "object",
574
+ "required": [
575
+ "id",
576
+ "capability",
577
+ "label",
578
+ "maxUsd"
579
+ ],
580
+ "properties": {
581
+ "id": {
582
+ "type": "string",
583
+ "pattern": "^[a-z][a-z0-9-]{0,39}$"
584
+ },
585
+ "capability": {
586
+ "$ref": "#/$defs/common.$defs.capabilityName"
587
+ },
588
+ "label": {
589
+ "type": "string",
590
+ "minLength": 1
591
+ },
592
+ "maxUsd": {
593
+ "type": "number",
594
+ "minimum": 0
595
+ },
596
+ "paidTools": {
597
+ "type": "integer",
598
+ "minimum": 0
599
+ },
600
+ "depth": {
601
+ "type": "string",
602
+ "minLength": 1
603
+ },
604
+ "default": {
605
+ "type": "boolean"
606
+ }
607
+ },
608
+ "additionalProperties": false
609
+ }
610
+ },
611
+ "common.$defs.capabilityName": {
612
+ "type": "string",
613
+ "pattern": "^[a-z][a-z0-9._-]{1,127}$"
614
+ },
615
+ "common.$defs.timestamp": {
616
+ "type": "string",
617
+ "format": "date-time"
618
+ },
619
+ "common.$defs.sha256": {
620
+ "type": "string",
621
+ "pattern": "^sha256:[a-f0-9]{64}$"
622
+ },
623
+ "common.$defs.extensions": {
624
+ "type": "object",
625
+ "propertyNames": {
626
+ "format": "uri"
627
+ },
628
+ "additionalProperties": true
629
+ }
630
+ }
631
+ }