@agenticprimitives/contracts 0.1.0-alpha.2

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 (84) hide show
  1. package/AUDIT.md +67 -0
  2. package/CLAUDE.md +40 -0
  3. package/LICENSE +21 -0
  4. package/README.md +45 -0
  5. package/deployments-anvil.json +1 -0
  6. package/deployments-base-sepolia.json +1 -0
  7. package/dist/abi/AgentNameAttributeResolver.json +798 -0
  8. package/dist/abi/AgentNamePredicates.json +1 -0
  9. package/dist/abi/AgentNameRegistry.json +826 -0
  10. package/dist/abi/AgentNameUniversalResolver.json +222 -0
  11. package/dist/abi/AgentProfilePredicates.json +1 -0
  12. package/dist/abi/AgentProfileResolver.json +1044 -0
  13. package/dist/abi/AgentRelationship.json +583 -0
  14. package/dist/abi/AgentRelationshipPredicates.json +1 -0
  15. package/dist/abi/AgenticGovernance.json +259 -0
  16. package/dist/abi/AllowedMethodsEnforcer.json +108 -0
  17. package/dist/abi/AllowedTargetsEnforcer.json +103 -0
  18. package/dist/abi/ApprovedHashRegistry.json +114 -0
  19. package/dist/abi/AttributeStorage.json +557 -0
  20. package/dist/abi/CaveatEnforcerBase.json +130 -0
  21. package/dist/abi/GovernanceManaged.json +43 -0
  22. package/dist/abi/IAttributeReader.json +98 -0
  23. package/dist/abi/ICaveatEnforcer.json +98 -0
  24. package/dist/abi/IDelegationManager.json +211 -0
  25. package/dist/abi/IERC7579Module.json +34 -0
  26. package/dist/abi/IERC7579ModuleLifecycle.json +60 -0
  27. package/dist/abi/IGovernanceView.json +34 -0
  28. package/dist/abi/MultiSendCallOnly.json +29 -0
  29. package/dist/abi/MultiSendCallOnlyHarness.json +42 -0
  30. package/dist/abi/OntologyTermRegistry.json +397 -0
  31. package/dist/abi/P256Verifier.json +1 -0
  32. package/dist/abi/PermissionlessSubregistry.json +207 -0
  33. package/dist/abi/RelationshipTypeRegistry.json +455 -0
  34. package/dist/abi/ShapeRegistry.json +627 -0
  35. package/dist/abi/SmartAgentModuleTypes.json +1 -0
  36. package/dist/abi/TimestampEnforcer.json +108 -0
  37. package/dist/abi/ValueEnforcer.json +103 -0
  38. package/dist/abi/WebAuthnLib.json +1 -0
  39. package/dist/abi/index.d.ts +35 -0
  40. package/dist/abi/index.js +35 -0
  41. package/package.json +48 -0
  42. package/spec.md +52 -0
  43. package/src/AgentAccount.sol +1374 -0
  44. package/src/AgentAccountFactory.sol +274 -0
  45. package/src/ApprovedHashRegistry.sol +57 -0
  46. package/src/IAgentAccount.sol +138 -0
  47. package/src/SmartAgentPaymaster.sol +281 -0
  48. package/src/UniversalSignatureValidator.sol +136 -0
  49. package/src/agency/DelegationManager.sol +374 -0
  50. package/src/agency/ICaveatEnforcer.sol +62 -0
  51. package/src/agency/IDelegationManager.sol +69 -0
  52. package/src/custody/CustodyPolicy.sol +892 -0
  53. package/src/custody/IERC7579Module.sol +60 -0
  54. package/src/enforcers/AllowedMethodsEnforcer.AUDIT.md +51 -0
  55. package/src/enforcers/AllowedMethodsEnforcer.sol +48 -0
  56. package/src/enforcers/AllowedTargetsEnforcer.AUDIT.md +49 -0
  57. package/src/enforcers/AllowedTargetsEnforcer.sol +44 -0
  58. package/src/enforcers/CaveatEnforcerBase.sol +19 -0
  59. package/src/enforcers/QuorumEnforcer.AUDIT.md +71 -0
  60. package/src/enforcers/QuorumEnforcer.sol +191 -0
  61. package/src/enforcers/TimestampEnforcer.AUDIT.md +50 -0
  62. package/src/enforcers/TimestampEnforcer.sol +43 -0
  63. package/src/enforcers/ValueEnforcer.AUDIT.md +51 -0
  64. package/src/enforcers/ValueEnforcer.sol +41 -0
  65. package/src/governance/AgenticGovernance.sol +140 -0
  66. package/src/governance/GovernanceManaged.sol +75 -0
  67. package/src/governance/IGovernance.sol +15 -0
  68. package/src/identity/AgentProfilePredicates.sol +40 -0
  69. package/src/identity/AgentProfileResolver.sol +194 -0
  70. package/src/libraries/MultiSendCallOnly.sol +95 -0
  71. package/src/libraries/P256Verifier.sol +47 -0
  72. package/src/libraries/SignatureSlotRecovery.sol +196 -0
  73. package/src/libraries/WebAuthnLib.sol +164 -0
  74. package/src/naming/AgentNameAttributeResolver.sol +95 -0
  75. package/src/naming/AgentNamePredicates.sol +74 -0
  76. package/src/naming/AgentNameRegistry.sol +362 -0
  77. package/src/naming/AgentNameUniversalResolver.sol +210 -0
  78. package/src/naming/PermissionlessSubregistry.sol +98 -0
  79. package/src/ontology/AttributeStorage.sol +289 -0
  80. package/src/ontology/OntologyTermRegistry.sol +146 -0
  81. package/src/ontology/ShapeRegistry.sol +240 -0
  82. package/src/relationships/AgentRelationship.sol +289 -0
  83. package/src/relationships/AgentRelationshipPredicates.sol +44 -0
  84. package/src/relationships/RelationshipTypeRegistry.sol +143 -0
@@ -0,0 +1,627 @@
1
+ [
2
+ {
3
+ "type": "constructor",
4
+ "inputs": [
5
+ {
6
+ "name": "governor_",
7
+ "type": "address",
8
+ "internalType": "address"
9
+ }
10
+ ],
11
+ "stateMutability": "nonpayable"
12
+ },
13
+ {
14
+ "type": "function",
15
+ "name": "activateShape",
16
+ "inputs": [
17
+ {
18
+ "name": "classId",
19
+ "type": "bytes32",
20
+ "internalType": "bytes32"
21
+ }
22
+ ],
23
+ "outputs": [],
24
+ "stateMutability": "nonpayable"
25
+ },
26
+ {
27
+ "type": "function",
28
+ "name": "deactivateShape",
29
+ "inputs": [
30
+ {
31
+ "name": "classId",
32
+ "type": "bytes32",
33
+ "internalType": "bytes32"
34
+ }
35
+ ],
36
+ "outputs": [],
37
+ "stateMutability": "nonpayable"
38
+ },
39
+ {
40
+ "type": "function",
41
+ "name": "defineEnumSet",
42
+ "inputs": [
43
+ {
44
+ "name": "enumSetId",
45
+ "type": "bytes32",
46
+ "internalType": "bytes32"
47
+ },
48
+ {
49
+ "name": "allowedValues",
50
+ "type": "bytes32[]",
51
+ "internalType": "bytes32[]"
52
+ }
53
+ ],
54
+ "outputs": [],
55
+ "stateMutability": "nonpayable"
56
+ },
57
+ {
58
+ "type": "function",
59
+ "name": "defineShape",
60
+ "inputs": [
61
+ {
62
+ "name": "classId",
63
+ "type": "bytes32",
64
+ "internalType": "bytes32"
65
+ },
66
+ {
67
+ "name": "props",
68
+ "type": "tuple[]",
69
+ "internalType": "struct ShapeRegistry.PropertyConstraint[]",
70
+ "components": [
71
+ {
72
+ "name": "predicate",
73
+ "type": "bytes32",
74
+ "internalType": "bytes32"
75
+ },
76
+ {
77
+ "name": "expectedDatatype",
78
+ "type": "uint8",
79
+ "internalType": "uint8"
80
+ },
81
+ {
82
+ "name": "cardinality",
83
+ "type": "uint8",
84
+ "internalType": "enum ShapeRegistry.Cardinality"
85
+ },
86
+ {
87
+ "name": "enumSetId",
88
+ "type": "bytes32",
89
+ "internalType": "bytes32"
90
+ },
91
+ {
92
+ "name": "expectedClass",
93
+ "type": "bytes32",
94
+ "internalType": "bytes32"
95
+ }
96
+ ]
97
+ },
98
+ {
99
+ "name": "shapeURI",
100
+ "type": "string",
101
+ "internalType": "string"
102
+ },
103
+ {
104
+ "name": "shapeHash",
105
+ "type": "bytes32",
106
+ "internalType": "bytes32"
107
+ }
108
+ ],
109
+ "outputs": [
110
+ {
111
+ "name": "",
112
+ "type": "uint16",
113
+ "internalType": "uint16"
114
+ }
115
+ ],
116
+ "stateMutability": "nonpayable"
117
+ },
118
+ {
119
+ "type": "function",
120
+ "name": "getClassIdAt",
121
+ "inputs": [
122
+ {
123
+ "name": "index",
124
+ "type": "uint256",
125
+ "internalType": "uint256"
126
+ }
127
+ ],
128
+ "outputs": [
129
+ {
130
+ "name": "",
131
+ "type": "bytes32",
132
+ "internalType": "bytes32"
133
+ }
134
+ ],
135
+ "stateMutability": "view"
136
+ },
137
+ {
138
+ "type": "function",
139
+ "name": "getEnumValues",
140
+ "inputs": [
141
+ {
142
+ "name": "enumSetId",
143
+ "type": "bytes32",
144
+ "internalType": "bytes32"
145
+ }
146
+ ],
147
+ "outputs": [
148
+ {
149
+ "name": "",
150
+ "type": "bytes32[]",
151
+ "internalType": "bytes32[]"
152
+ }
153
+ ],
154
+ "stateMutability": "view"
155
+ },
156
+ {
157
+ "type": "function",
158
+ "name": "getProperties",
159
+ "inputs": [
160
+ {
161
+ "name": "classId",
162
+ "type": "bytes32",
163
+ "internalType": "bytes32"
164
+ }
165
+ ],
166
+ "outputs": [
167
+ {
168
+ "name": "",
169
+ "type": "tuple[]",
170
+ "internalType": "struct ShapeRegistry.PropertyConstraint[]",
171
+ "components": [
172
+ {
173
+ "name": "predicate",
174
+ "type": "bytes32",
175
+ "internalType": "bytes32"
176
+ },
177
+ {
178
+ "name": "expectedDatatype",
179
+ "type": "uint8",
180
+ "internalType": "uint8"
181
+ },
182
+ {
183
+ "name": "cardinality",
184
+ "type": "uint8",
185
+ "internalType": "enum ShapeRegistry.Cardinality"
186
+ },
187
+ {
188
+ "name": "enumSetId",
189
+ "type": "bytes32",
190
+ "internalType": "bytes32"
191
+ },
192
+ {
193
+ "name": "expectedClass",
194
+ "type": "bytes32",
195
+ "internalType": "bytes32"
196
+ }
197
+ ]
198
+ }
199
+ ],
200
+ "stateMutability": "view"
201
+ },
202
+ {
203
+ "type": "function",
204
+ "name": "getShape",
205
+ "inputs": [
206
+ {
207
+ "name": "classId",
208
+ "type": "bytes32",
209
+ "internalType": "bytes32"
210
+ }
211
+ ],
212
+ "outputs": [
213
+ {
214
+ "name": "",
215
+ "type": "tuple",
216
+ "internalType": "struct ShapeRegistry.Shape",
217
+ "components": [
218
+ {
219
+ "name": "classId",
220
+ "type": "bytes32",
221
+ "internalType": "bytes32"
222
+ },
223
+ {
224
+ "name": "shapeURI",
225
+ "type": "string",
226
+ "internalType": "string"
227
+ },
228
+ {
229
+ "name": "shapeHash",
230
+ "type": "bytes32",
231
+ "internalType": "bytes32"
232
+ },
233
+ {
234
+ "name": "version",
235
+ "type": "uint16",
236
+ "internalType": "uint16"
237
+ },
238
+ {
239
+ "name": "active",
240
+ "type": "bool",
241
+ "internalType": "bool"
242
+ },
243
+ {
244
+ "name": "exists",
245
+ "type": "bool",
246
+ "internalType": "bool"
247
+ }
248
+ ]
249
+ }
250
+ ],
251
+ "stateMutability": "view"
252
+ },
253
+ {
254
+ "type": "function",
255
+ "name": "governor",
256
+ "inputs": [],
257
+ "outputs": [
258
+ {
259
+ "name": "",
260
+ "type": "address",
261
+ "internalType": "address"
262
+ }
263
+ ],
264
+ "stateMutability": "view"
265
+ },
266
+ {
267
+ "type": "function",
268
+ "name": "isInEnumSet",
269
+ "inputs": [
270
+ {
271
+ "name": "enumSetId",
272
+ "type": "bytes32",
273
+ "internalType": "bytes32"
274
+ },
275
+ {
276
+ "name": "value",
277
+ "type": "bytes32",
278
+ "internalType": "bytes32"
279
+ }
280
+ ],
281
+ "outputs": [
282
+ {
283
+ "name": "",
284
+ "type": "bool",
285
+ "internalType": "bool"
286
+ }
287
+ ],
288
+ "stateMutability": "view"
289
+ },
290
+ {
291
+ "type": "function",
292
+ "name": "isValid",
293
+ "inputs": [
294
+ {
295
+ "name": "classId",
296
+ "type": "bytes32",
297
+ "internalType": "bytes32"
298
+ },
299
+ {
300
+ "name": "subject",
301
+ "type": "bytes32",
302
+ "internalType": "bytes32"
303
+ },
304
+ {
305
+ "name": "store",
306
+ "type": "address",
307
+ "internalType": "address"
308
+ }
309
+ ],
310
+ "outputs": [
311
+ {
312
+ "name": "",
313
+ "type": "bool",
314
+ "internalType": "bool"
315
+ }
316
+ ],
317
+ "stateMutability": "view"
318
+ },
319
+ {
320
+ "type": "function",
321
+ "name": "shapeCount",
322
+ "inputs": [],
323
+ "outputs": [
324
+ {
325
+ "name": "",
326
+ "type": "uint256",
327
+ "internalType": "uint256"
328
+ }
329
+ ],
330
+ "stateMutability": "view"
331
+ },
332
+ {
333
+ "type": "function",
334
+ "name": "transferGovernor",
335
+ "inputs": [
336
+ {
337
+ "name": "newGovernor",
338
+ "type": "address",
339
+ "internalType": "address"
340
+ }
341
+ ],
342
+ "outputs": [],
343
+ "stateMutability": "nonpayable"
344
+ },
345
+ {
346
+ "type": "function",
347
+ "name": "updateShape",
348
+ "inputs": [
349
+ {
350
+ "name": "classId",
351
+ "type": "bytes32",
352
+ "internalType": "bytes32"
353
+ },
354
+ {
355
+ "name": "props",
356
+ "type": "tuple[]",
357
+ "internalType": "struct ShapeRegistry.PropertyConstraint[]",
358
+ "components": [
359
+ {
360
+ "name": "predicate",
361
+ "type": "bytes32",
362
+ "internalType": "bytes32"
363
+ },
364
+ {
365
+ "name": "expectedDatatype",
366
+ "type": "uint8",
367
+ "internalType": "uint8"
368
+ },
369
+ {
370
+ "name": "cardinality",
371
+ "type": "uint8",
372
+ "internalType": "enum ShapeRegistry.Cardinality"
373
+ },
374
+ {
375
+ "name": "enumSetId",
376
+ "type": "bytes32",
377
+ "internalType": "bytes32"
378
+ },
379
+ {
380
+ "name": "expectedClass",
381
+ "type": "bytes32",
382
+ "internalType": "bytes32"
383
+ }
384
+ ]
385
+ },
386
+ {
387
+ "name": "shapeURI",
388
+ "type": "string",
389
+ "internalType": "string"
390
+ },
391
+ {
392
+ "name": "shapeHash",
393
+ "type": "bytes32",
394
+ "internalType": "bytes32"
395
+ }
396
+ ],
397
+ "outputs": [
398
+ {
399
+ "name": "",
400
+ "type": "uint16",
401
+ "internalType": "uint16"
402
+ }
403
+ ],
404
+ "stateMutability": "nonpayable"
405
+ },
406
+ {
407
+ "type": "function",
408
+ "name": "validateSubject",
409
+ "inputs": [
410
+ {
411
+ "name": "classId",
412
+ "type": "bytes32",
413
+ "internalType": "bytes32"
414
+ },
415
+ {
416
+ "name": "subject",
417
+ "type": "bytes32",
418
+ "internalType": "bytes32"
419
+ },
420
+ {
421
+ "name": "store",
422
+ "type": "address",
423
+ "internalType": "address"
424
+ }
425
+ ],
426
+ "outputs": [],
427
+ "stateMutability": "view"
428
+ },
429
+ {
430
+ "type": "event",
431
+ "name": "EnumSetDefined",
432
+ "inputs": [
433
+ {
434
+ "name": "enumSetId",
435
+ "type": "bytes32",
436
+ "indexed": true,
437
+ "internalType": "bytes32"
438
+ },
439
+ {
440
+ "name": "valueCount",
441
+ "type": "uint256",
442
+ "indexed": false,
443
+ "internalType": "uint256"
444
+ }
445
+ ],
446
+ "anonymous": false
447
+ },
448
+ {
449
+ "type": "event",
450
+ "name": "GovernorTransferred",
451
+ "inputs": [
452
+ {
453
+ "name": "previousGovernor",
454
+ "type": "address",
455
+ "indexed": true,
456
+ "internalType": "address"
457
+ },
458
+ {
459
+ "name": "newGovernor",
460
+ "type": "address",
461
+ "indexed": true,
462
+ "internalType": "address"
463
+ }
464
+ ],
465
+ "anonymous": false
466
+ },
467
+ {
468
+ "type": "event",
469
+ "name": "ShapeActivated",
470
+ "inputs": [
471
+ {
472
+ "name": "classId",
473
+ "type": "bytes32",
474
+ "indexed": true,
475
+ "internalType": "bytes32"
476
+ }
477
+ ],
478
+ "anonymous": false
479
+ },
480
+ {
481
+ "type": "event",
482
+ "name": "ShapeDeactivated",
483
+ "inputs": [
484
+ {
485
+ "name": "classId",
486
+ "type": "bytes32",
487
+ "indexed": true,
488
+ "internalType": "bytes32"
489
+ }
490
+ ],
491
+ "anonymous": false
492
+ },
493
+ {
494
+ "type": "event",
495
+ "name": "ShapeDefined",
496
+ "inputs": [
497
+ {
498
+ "name": "classId",
499
+ "type": "bytes32",
500
+ "indexed": true,
501
+ "internalType": "bytes32"
502
+ },
503
+ {
504
+ "name": "version",
505
+ "type": "uint16",
506
+ "indexed": false,
507
+ "internalType": "uint16"
508
+ },
509
+ {
510
+ "name": "shapeURI",
511
+ "type": "string",
512
+ "indexed": false,
513
+ "internalType": "string"
514
+ },
515
+ {
516
+ "name": "shapeHash",
517
+ "type": "bytes32",
518
+ "indexed": false,
519
+ "internalType": "bytes32"
520
+ }
521
+ ],
522
+ "anonymous": false
523
+ },
524
+ {
525
+ "type": "event",
526
+ "name": "ShapeUpdated",
527
+ "inputs": [
528
+ {
529
+ "name": "classId",
530
+ "type": "bytes32",
531
+ "indexed": true,
532
+ "internalType": "bytes32"
533
+ },
534
+ {
535
+ "name": "version",
536
+ "type": "uint16",
537
+ "indexed": false,
538
+ "internalType": "uint16"
539
+ },
540
+ {
541
+ "name": "shapeHash",
542
+ "type": "bytes32",
543
+ "indexed": false,
544
+ "internalType": "bytes32"
545
+ }
546
+ ],
547
+ "anonymous": false
548
+ },
549
+ {
550
+ "type": "error",
551
+ "name": "EnumSetEmpty",
552
+ "inputs": []
553
+ },
554
+ {
555
+ "type": "error",
556
+ "name": "EnumValueNotAllowed",
557
+ "inputs": [
558
+ {
559
+ "name": "predicate",
560
+ "type": "bytes32",
561
+ "internalType": "bytes32"
562
+ },
563
+ {
564
+ "name": "actualValue",
565
+ "type": "bytes32",
566
+ "internalType": "bytes32"
567
+ }
568
+ ]
569
+ },
570
+ {
571
+ "type": "error",
572
+ "name": "MissingRequiredProperty",
573
+ "inputs": [
574
+ {
575
+ "name": "predicate",
576
+ "type": "bytes32",
577
+ "internalType": "bytes32"
578
+ }
579
+ ]
580
+ },
581
+ {
582
+ "type": "error",
583
+ "name": "NotGovernor",
584
+ "inputs": []
585
+ },
586
+ {
587
+ "type": "error",
588
+ "name": "ShapeAlreadyDefined",
589
+ "inputs": []
590
+ },
591
+ {
592
+ "type": "error",
593
+ "name": "ShapeNotActive",
594
+ "inputs": []
595
+ },
596
+ {
597
+ "type": "error",
598
+ "name": "ShapeNotDefined",
599
+ "inputs": []
600
+ },
601
+ {
602
+ "type": "error",
603
+ "name": "WrongDatatype",
604
+ "inputs": [
605
+ {
606
+ "name": "predicate",
607
+ "type": "bytes32",
608
+ "internalType": "bytes32"
609
+ },
610
+ {
611
+ "name": "actual",
612
+ "type": "uint8",
613
+ "internalType": "uint8"
614
+ },
615
+ {
616
+ "name": "expected",
617
+ "type": "uint8",
618
+ "internalType": "uint8"
619
+ }
620
+ ]
621
+ },
622
+ {
623
+ "type": "error",
624
+ "name": "ZeroGovernor",
625
+ "inputs": []
626
+ }
627
+ ]
@@ -0,0 +1 @@
1
+ []