@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,455 @@
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": "activateType",
16
+ "inputs": [
17
+ {
18
+ "name": "relationshipType",
19
+ "type": "bytes32",
20
+ "internalType": "bytes32"
21
+ }
22
+ ],
23
+ "outputs": [],
24
+ "stateMutability": "nonpayable"
25
+ },
26
+ {
27
+ "type": "function",
28
+ "name": "deactivateType",
29
+ "inputs": [
30
+ {
31
+ "name": "relationshipType",
32
+ "type": "bytes32",
33
+ "internalType": "bytes32"
34
+ }
35
+ ],
36
+ "outputs": [],
37
+ "stateMutability": "nonpayable"
38
+ },
39
+ {
40
+ "type": "function",
41
+ "name": "getAllTypeIds",
42
+ "inputs": [],
43
+ "outputs": [
44
+ {
45
+ "name": "",
46
+ "type": "bytes32[]",
47
+ "internalType": "bytes32[]"
48
+ }
49
+ ],
50
+ "stateMutability": "view"
51
+ },
52
+ {
53
+ "type": "function",
54
+ "name": "getTypeAt",
55
+ "inputs": [
56
+ {
57
+ "name": "index",
58
+ "type": "uint256",
59
+ "internalType": "uint256"
60
+ }
61
+ ],
62
+ "outputs": [
63
+ {
64
+ "name": "",
65
+ "type": "bytes32",
66
+ "internalType": "bytes32"
67
+ }
68
+ ],
69
+ "stateMutability": "view"
70
+ },
71
+ {
72
+ "type": "function",
73
+ "name": "getTypeSemantics",
74
+ "inputs": [
75
+ {
76
+ "name": "relationshipType",
77
+ "type": "bytes32",
78
+ "internalType": "bytes32"
79
+ }
80
+ ],
81
+ "outputs": [
82
+ {
83
+ "name": "",
84
+ "type": "tuple",
85
+ "internalType": "struct RelationshipTypeRegistry.TypeSemantics",
86
+ "components": [
87
+ {
88
+ "name": "relationshipType",
89
+ "type": "bytes32",
90
+ "internalType": "bytes32"
91
+ },
92
+ {
93
+ "name": "label",
94
+ "type": "string",
95
+ "internalType": "string"
96
+ },
97
+ {
98
+ "name": "isHierarchical",
99
+ "type": "bool",
100
+ "internalType": "bool"
101
+ },
102
+ {
103
+ "name": "isTransitive",
104
+ "type": "bool",
105
+ "internalType": "bool"
106
+ },
107
+ {
108
+ "name": "isSymmetric",
109
+ "type": "bool",
110
+ "internalType": "bool"
111
+ },
112
+ {
113
+ "name": "active",
114
+ "type": "bool",
115
+ "internalType": "bool"
116
+ },
117
+ {
118
+ "name": "registeredAt",
119
+ "type": "uint256",
120
+ "internalType": "uint256"
121
+ }
122
+ ]
123
+ }
124
+ ],
125
+ "stateMutability": "view"
126
+ },
127
+ {
128
+ "type": "function",
129
+ "name": "governor",
130
+ "inputs": [],
131
+ "outputs": [
132
+ {
133
+ "name": "",
134
+ "type": "address",
135
+ "internalType": "address"
136
+ }
137
+ ],
138
+ "stateMutability": "view"
139
+ },
140
+ {
141
+ "type": "function",
142
+ "name": "isActive",
143
+ "inputs": [
144
+ {
145
+ "name": "relationshipType",
146
+ "type": "bytes32",
147
+ "internalType": "bytes32"
148
+ }
149
+ ],
150
+ "outputs": [
151
+ {
152
+ "name": "",
153
+ "type": "bool",
154
+ "internalType": "bool"
155
+ }
156
+ ],
157
+ "stateMutability": "view"
158
+ },
159
+ {
160
+ "type": "function",
161
+ "name": "isHierarchical",
162
+ "inputs": [
163
+ {
164
+ "name": "relationshipType",
165
+ "type": "bytes32",
166
+ "internalType": "bytes32"
167
+ }
168
+ ],
169
+ "outputs": [
170
+ {
171
+ "name": "",
172
+ "type": "bool",
173
+ "internalType": "bool"
174
+ }
175
+ ],
176
+ "stateMutability": "view"
177
+ },
178
+ {
179
+ "type": "function",
180
+ "name": "isRegistered",
181
+ "inputs": [
182
+ {
183
+ "name": "relationshipType",
184
+ "type": "bytes32",
185
+ "internalType": "bytes32"
186
+ }
187
+ ],
188
+ "outputs": [
189
+ {
190
+ "name": "",
191
+ "type": "bool",
192
+ "internalType": "bool"
193
+ }
194
+ ],
195
+ "stateMutability": "view"
196
+ },
197
+ {
198
+ "type": "function",
199
+ "name": "isSymmetric",
200
+ "inputs": [
201
+ {
202
+ "name": "relationshipType",
203
+ "type": "bytes32",
204
+ "internalType": "bytes32"
205
+ }
206
+ ],
207
+ "outputs": [
208
+ {
209
+ "name": "",
210
+ "type": "bool",
211
+ "internalType": "bool"
212
+ }
213
+ ],
214
+ "stateMutability": "view"
215
+ },
216
+ {
217
+ "type": "function",
218
+ "name": "isTransitive",
219
+ "inputs": [
220
+ {
221
+ "name": "relationshipType",
222
+ "type": "bytes32",
223
+ "internalType": "bytes32"
224
+ }
225
+ ],
226
+ "outputs": [
227
+ {
228
+ "name": "",
229
+ "type": "bool",
230
+ "internalType": "bool"
231
+ }
232
+ ],
233
+ "stateMutability": "view"
234
+ },
235
+ {
236
+ "type": "function",
237
+ "name": "registerType",
238
+ "inputs": [
239
+ {
240
+ "name": "relationshipType",
241
+ "type": "bytes32",
242
+ "internalType": "bytes32"
243
+ },
244
+ {
245
+ "name": "label",
246
+ "type": "string",
247
+ "internalType": "string"
248
+ },
249
+ {
250
+ "name": "hierarchical",
251
+ "type": "bool",
252
+ "internalType": "bool"
253
+ },
254
+ {
255
+ "name": "transitive",
256
+ "type": "bool",
257
+ "internalType": "bool"
258
+ },
259
+ {
260
+ "name": "symmetric",
261
+ "type": "bool",
262
+ "internalType": "bool"
263
+ }
264
+ ],
265
+ "outputs": [],
266
+ "stateMutability": "nonpayable"
267
+ },
268
+ {
269
+ "type": "function",
270
+ "name": "transferGovernor",
271
+ "inputs": [
272
+ {
273
+ "name": "newGovernor",
274
+ "type": "address",
275
+ "internalType": "address"
276
+ }
277
+ ],
278
+ "outputs": [],
279
+ "stateMutability": "nonpayable"
280
+ },
281
+ {
282
+ "type": "function",
283
+ "name": "typeCount",
284
+ "inputs": [],
285
+ "outputs": [
286
+ {
287
+ "name": "",
288
+ "type": "uint256",
289
+ "internalType": "uint256"
290
+ }
291
+ ],
292
+ "stateMutability": "view"
293
+ },
294
+ {
295
+ "type": "function",
296
+ "name": "updateSemantics",
297
+ "inputs": [
298
+ {
299
+ "name": "relationshipType",
300
+ "type": "bytes32",
301
+ "internalType": "bytes32"
302
+ },
303
+ {
304
+ "name": "hierarchical",
305
+ "type": "bool",
306
+ "internalType": "bool"
307
+ },
308
+ {
309
+ "name": "transitive",
310
+ "type": "bool",
311
+ "internalType": "bool"
312
+ },
313
+ {
314
+ "name": "symmetric",
315
+ "type": "bool",
316
+ "internalType": "bool"
317
+ }
318
+ ],
319
+ "outputs": [],
320
+ "stateMutability": "nonpayable"
321
+ },
322
+ {
323
+ "type": "event",
324
+ "name": "GovernorTransferred",
325
+ "inputs": [
326
+ {
327
+ "name": "oldGovernor",
328
+ "type": "address",
329
+ "indexed": true,
330
+ "internalType": "address"
331
+ },
332
+ {
333
+ "name": "newGovernor",
334
+ "type": "address",
335
+ "indexed": true,
336
+ "internalType": "address"
337
+ }
338
+ ],
339
+ "anonymous": false
340
+ },
341
+ {
342
+ "type": "event",
343
+ "name": "TypeActivated",
344
+ "inputs": [
345
+ {
346
+ "name": "relationshipType",
347
+ "type": "bytes32",
348
+ "indexed": true,
349
+ "internalType": "bytes32"
350
+ }
351
+ ],
352
+ "anonymous": false
353
+ },
354
+ {
355
+ "type": "event",
356
+ "name": "TypeDeactivated",
357
+ "inputs": [
358
+ {
359
+ "name": "relationshipType",
360
+ "type": "bytes32",
361
+ "indexed": true,
362
+ "internalType": "bytes32"
363
+ }
364
+ ],
365
+ "anonymous": false
366
+ },
367
+ {
368
+ "type": "event",
369
+ "name": "TypeRegistered",
370
+ "inputs": [
371
+ {
372
+ "name": "relationshipType",
373
+ "type": "bytes32",
374
+ "indexed": true,
375
+ "internalType": "bytes32"
376
+ },
377
+ {
378
+ "name": "label",
379
+ "type": "string",
380
+ "indexed": false,
381
+ "internalType": "string"
382
+ },
383
+ {
384
+ "name": "isHierarchical",
385
+ "type": "bool",
386
+ "indexed": false,
387
+ "internalType": "bool"
388
+ },
389
+ {
390
+ "name": "isTransitive",
391
+ "type": "bool",
392
+ "indexed": false,
393
+ "internalType": "bool"
394
+ },
395
+ {
396
+ "name": "isSymmetric",
397
+ "type": "bool",
398
+ "indexed": false,
399
+ "internalType": "bool"
400
+ }
401
+ ],
402
+ "anonymous": false
403
+ },
404
+ {
405
+ "type": "event",
406
+ "name": "TypeUpdated",
407
+ "inputs": [
408
+ {
409
+ "name": "relationshipType",
410
+ "type": "bytes32",
411
+ "indexed": true,
412
+ "internalType": "bytes32"
413
+ },
414
+ {
415
+ "name": "isHierarchical",
416
+ "type": "bool",
417
+ "indexed": false,
418
+ "internalType": "bool"
419
+ },
420
+ {
421
+ "name": "isTransitive",
422
+ "type": "bool",
423
+ "indexed": false,
424
+ "internalType": "bool"
425
+ },
426
+ {
427
+ "name": "isSymmetric",
428
+ "type": "bool",
429
+ "indexed": false,
430
+ "internalType": "bool"
431
+ }
432
+ ],
433
+ "anonymous": false
434
+ },
435
+ {
436
+ "type": "error",
437
+ "name": "NotGovernor",
438
+ "inputs": []
439
+ },
440
+ {
441
+ "type": "error",
442
+ "name": "TypeExists",
443
+ "inputs": []
444
+ },
445
+ {
446
+ "type": "error",
447
+ "name": "TypeNotFound",
448
+ "inputs": []
449
+ },
450
+ {
451
+ "type": "error",
452
+ "name": "ZeroGovernor",
453
+ "inputs": []
454
+ }
455
+ ]