agentex-creator-sdk 1.0.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 (97) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/LICENSE +21 -0
  3. package/README.md +195 -0
  4. package/dist/packages/contracts/src/deployer-investigation.d.ts +1015 -0
  5. package/dist/packages/contracts/src/deployer-investigation.js +101 -0
  6. package/dist/packages/contracts/src/index.d.ts +1701 -0
  7. package/dist/packages/contracts/src/index.js +380 -0
  8. package/dist/packages/contracts/src/indexed-activity.d.ts +684 -0
  9. package/dist/packages/contracts/src/indexed-activity.js +71 -0
  10. package/dist/packages/contracts/src/indexed-agents.d.ts +299 -0
  11. package/dist/packages/contracts/src/indexed-agents.js +131 -0
  12. package/dist/packages/contracts/src/inspection.d.ts +906 -0
  13. package/dist/packages/contracts/src/inspection.js +114 -0
  14. package/dist/packages/contracts/src/kinds.d.ts +5398 -0
  15. package/dist/packages/contracts/src/kinds.js +156 -0
  16. package/dist/packages/contracts/src/report-presentation.d.ts +346 -0
  17. package/dist/packages/contracts/src/report-presentation.js +120 -0
  18. package/dist/packages/contracts/src/solana-inspection.d.ts +451 -0
  19. package/dist/packages/contracts/src/solana-inspection.js +94 -0
  20. package/dist/packages/contracts/src/token-market.d.ts +193 -0
  21. package/dist/packages/contracts/src/token-market.js +335 -0
  22. package/dist/packages/contracts/src/wallet-analysis.d.ts +866 -0
  23. package/dist/packages/contracts/src/wallet-analysis.js +89 -0
  24. package/dist/packages/contracts/src/watchtower.d.ts +1141 -0
  25. package/dist/packages/contracts/src/watchtower.js +196 -0
  26. package/dist/packages/contracts/src/workflow.d.ts +1568 -0
  27. package/dist/packages/contracts/src/workflow.js +651 -0
  28. package/dist/packages/inspector/src/decode.d.ts +23 -0
  29. package/dist/packages/inspector/src/decode.js +150 -0
  30. package/dist/packages/inspector/src/scope.d.ts +87 -0
  31. package/dist/packages/inspector/src/scope.js +64 -0
  32. package/dist/packages/model/src/analysis.d.ts +149 -0
  33. package/dist/packages/model/src/analysis.js +387 -0
  34. package/dist/packages/model/src/pricing.d.ts +38 -0
  35. package/dist/packages/model/src/pricing.js +49 -0
  36. package/dist/packages/model/src/retry.d.ts +20 -0
  37. package/dist/packages/model/src/retry.js +31 -0
  38. package/dist/packages/model/src/schema.d.ts +10 -0
  39. package/dist/packages/model/src/schema.js +51 -0
  40. package/dist/packages/model/src/summary.d.ts +91 -0
  41. package/dist/packages/model/src/summary.js +177 -0
  42. package/dist/packages/model/src/types.d.ts +81 -0
  43. package/dist/packages/model/src/types.js +19 -0
  44. package/dist/packages/monitoring/src/delivery.d.ts +32 -0
  45. package/dist/packages/monitoring/src/delivery.js +53 -0
  46. package/dist/packages/providers/src/chain-transport.d.ts +42 -0
  47. package/dist/packages/providers/src/chain-transport.js +57 -0
  48. package/dist/packages/providers/src/coverage.d.ts +105 -0
  49. package/dist/packages/providers/src/coverage.js +260 -0
  50. package/dist/packages/providers/src/health.d.ts +273 -0
  51. package/dist/packages/providers/src/health.js +505 -0
  52. package/dist/packages/providers/src/keyed.d.ts +96 -0
  53. package/dist/packages/providers/src/keyed.js +240 -0
  54. package/dist/packages/providers/src/snapshot.d.ts +61 -0
  55. package/dist/packages/providers/src/snapshot.js +77 -0
  56. package/dist/packages/publication/src/fixtures.d.ts +45 -0
  57. package/dist/packages/publication/src/fixtures.js +350 -0
  58. package/dist/packages/research/src/index.d.ts +188 -0
  59. package/dist/packages/research/src/index.js +829 -0
  60. package/dist/packages/runtime/src/checkpoints.d.ts +65 -0
  61. package/dist/packages/runtime/src/checkpoints.js +214 -0
  62. package/dist/packages/runtime/src/policy.d.ts +57 -0
  63. package/dist/packages/runtime/src/policy.js +296 -0
  64. package/dist/packages/sdk/src/bin/agentex-buyer.d.ts +2 -0
  65. package/dist/packages/sdk/src/bin/agentex-buyer.js +4 -0
  66. package/dist/packages/sdk/src/bin/agentex.d.ts +2 -0
  67. package/dist/packages/sdk/src/bin/agentex.js +3 -0
  68. package/dist/packages/sdk/src/buyer-cli.d.ts +10 -0
  69. package/dist/packages/sdk/src/buyer-cli.js +210 -0
  70. package/dist/packages/sdk/src/buyer.d.ts +534 -0
  71. package/dist/packages/sdk/src/buyer.js +441 -0
  72. package/dist/packages/sdk/src/cli.d.ts +14 -0
  73. package/dist/packages/sdk/src/cli.js +149 -0
  74. package/dist/packages/sdk/src/errors.d.ts +31 -0
  75. package/dist/packages/sdk/src/errors.js +24 -0
  76. package/dist/packages/sdk/src/index.d.ts +236 -0
  77. package/dist/packages/sdk/src/index.js +150 -0
  78. package/dist/packages/sdk/src/local.d.ts +11 -0
  79. package/dist/packages/sdk/src/local.js +110 -0
  80. package/dist/packages/sdk/src/rails.d.ts +59 -0
  81. package/dist/packages/sdk/src/rails.js +96 -0
  82. package/dist/packages/sdk/src/report.d.ts +121 -0
  83. package/dist/packages/sdk/src/report.js +114 -0
  84. package/dist/packages/sdk/src/version.d.ts +2 -0
  85. package/dist/packages/sdk/src/version.js +2 -0
  86. package/dist/packages/watchtower/src/index.d.ts +150 -0
  87. package/dist/packages/watchtower/src/index.js +786 -0
  88. package/dist/packages/workflow/src/registry.d.ts +61 -0
  89. package/dist/packages/workflow/src/registry.js +76 -0
  90. package/examples/README.md +34 -0
  91. package/examples/cli-usage.sh +30 -0
  92. package/examples/fixtures/base-weth-input.json +4 -0
  93. package/examples/focused-researcher.json +127 -0
  94. package/examples/pay-with-eth-robinhood.mts +37 -0
  95. package/examples/pay-with-usdc.mts +41 -0
  96. package/examples/quickstart.mts +73 -0
  97. package/package.json +50 -0
@@ -0,0 +1,866 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * P03 Wallet Analyst contract. Input: an explicit chain and wallet, an optional block window and a transfer bound. Output: the native balance
4
+ * at the pinned block, bounded inbound and outbound transfers by category with exact amounts, per-asset flows without double-counted
5
+ * self-transfers, current token balances, and a transaction ledger (CSV in the run export). Trades are not classified, fees are not computed
6
+ * and realised or unrealised results, cost basis and win rate are reported as not computed because no verified price or trade source exists.
7
+ */
8
+ export declare const WALLET_SCHEMA_ID: "agentex.wallet-analysis.v1";
9
+ export declare const WALLET_TOOLS: readonly "evm.wallet-activity@0.1.0"[];
10
+ /** Pin (2) + balance + two transfer pages + recheck. */
11
+ export declare const WALLET_MINIMUM_RPC_CALLS = 6;
12
+ export declare const WalletAnalysisInputSchema: z.ZodObject<{
13
+ chain: z.ZodEnum<{
14
+ ethereum: "ethereum";
15
+ base: "base";
16
+ }>;
17
+ wallet: z.ZodString & z.ZodType<`0x${string}`, string, z.core.$ZodTypeInternals<`0x${string}`, string>>;
18
+ fromBlock: z.ZodOptional<z.ZodString>;
19
+ toBlock: z.ZodOptional<z.ZodString>;
20
+ maximumTransfers: z.ZodDefault<z.ZodNumber>;
21
+ pricingDenomination: z.ZodOptional<z.ZodEnum<{
22
+ usd: "usd";
23
+ }>>;
24
+ }, z.core.$strict>;
25
+ export type WalletAnalysisInput = z.infer<typeof WalletAnalysisInputSchema>;
26
+ declare const ManifestSchema: z.ZodObject<{
27
+ schemaVersion: z.ZodLiteral<"1.0">;
28
+ id: z.ZodString;
29
+ version: z.ZodString;
30
+ name: z.ZodString;
31
+ description: z.ZodString;
32
+ author: z.ZodObject<{
33
+ id: z.ZodString;
34
+ name: z.ZodString;
35
+ ownership: z.ZodEnum<{
36
+ "first-party": "first-party";
37
+ independent: "independent";
38
+ }>;
39
+ }, z.core.$strict>;
40
+ license: z.ZodString;
41
+ visibility: z.ZodEnum<{
42
+ private: "private";
43
+ "source-visible": "source-visible";
44
+ "source-private": "source-private";
45
+ }>;
46
+ chains: z.ZodArray<z.ZodEnum<{
47
+ ethereum: "ethereum";
48
+ base: "base";
49
+ }>>;
50
+ inputSchema: z.ZodObject<{
51
+ type: z.ZodLiteral<"object">;
52
+ properties: z.ZodRecord<z.ZodString, z.ZodObject<{
53
+ type: z.ZodEnum<{
54
+ string: "string";
55
+ number: "number";
56
+ boolean: "boolean";
57
+ array: "array";
58
+ integer: "integer";
59
+ }>;
60
+ description: z.ZodString;
61
+ enum: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
62
+ }, z.core.$strict>>;
63
+ required: z.ZodArray<z.ZodString>;
64
+ additionalProperties: z.ZodLiteral<false>;
65
+ }, z.core.$strict>;
66
+ outputSchemaId: z.ZodLiteral<"agentex.wallet-analysis.v1">;
67
+ tools: z.ZodArray<z.ZodObject<{
68
+ id: z.ZodString;
69
+ version: z.ZodString;
70
+ capability: z.ZodLiteral<"evm.read">;
71
+ chains: z.ZodArray<z.ZodEnum<{
72
+ ethereum: "ethereum";
73
+ base: "base";
74
+ }>>;
75
+ addressScope: z.ZodLiteral<"input-address">;
76
+ maximumCalls: z.ZodNumber;
77
+ }, z.core.$strict>>;
78
+ modelPolicy: z.ZodObject<{
79
+ mode: z.ZodLiteral<"deterministic">;
80
+ maximumModelTokens: z.ZodLiteral<0>;
81
+ }, z.core.$strict>;
82
+ policy: z.ZodOptional<z.ZodObject<{
83
+ analysis: z.ZodObject<{
84
+ mode: z.ZodLiteral<"summary">;
85
+ maximumOutputTokens: z.ZodNumber;
86
+ maximumCostMicrousd: z.ZodNumber;
87
+ }, z.core.$strict>;
88
+ }, z.core.$strict>>;
89
+ limits: z.ZodObject<{
90
+ maximumRpcCalls: z.ZodNumber;
91
+ maximumDurationMs: z.ZodNumber;
92
+ maximumOutputBytes: z.ZodNumber;
93
+ maximumGraphDepth: z.ZodNumber;
94
+ maximumPages: z.ZodNumber;
95
+ maximumExecutionAtomic: z.ZodString;
96
+ }, z.core.$strict>;
97
+ workflow: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
98
+ type: z.ZodLiteral<"input">;
99
+ id: z.ZodString;
100
+ dependsOn: z.ZodArray<z.ZodString>;
101
+ }, z.core.$strict>, z.ZodObject<{
102
+ type: z.ZodLiteral<"tool">;
103
+ tool: z.ZodString;
104
+ arguments: z.ZodRecord<z.ZodString, z.ZodDiscriminatedUnion<[z.ZodObject<{
105
+ source: z.ZodLiteral<"input">;
106
+ path: z.ZodString;
107
+ }, z.core.$strict>, z.ZodObject<{
108
+ source: z.ZodLiteral<"node">;
109
+ nodeId: z.ZodString;
110
+ path: z.ZodString;
111
+ }, z.core.$strict>], "source">>;
112
+ id: z.ZodString;
113
+ dependsOn: z.ZodArray<z.ZodString>;
114
+ }, z.core.$strict>, z.ZodObject<{
115
+ type: z.ZodLiteral<"condition">;
116
+ field: z.ZodDiscriminatedUnion<[z.ZodObject<{
117
+ source: z.ZodLiteral<"input">;
118
+ path: z.ZodString;
119
+ }, z.core.$strict>, z.ZodObject<{
120
+ source: z.ZodLiteral<"node">;
121
+ nodeId: z.ZodString;
122
+ path: z.ZodString;
123
+ }, z.core.$strict>], "source">;
124
+ operator: z.ZodEnum<{
125
+ equals: "equals";
126
+ exists: "exists";
127
+ }>;
128
+ value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodBoolean, z.ZodNumber]>>;
129
+ whenTrue: z.ZodString;
130
+ whenFalse: z.ZodString;
131
+ id: z.ZodString;
132
+ dependsOn: z.ZodArray<z.ZodString>;
133
+ }, z.core.$strict>, z.ZodObject<{
134
+ type: z.ZodLiteral<"output">;
135
+ from: z.ZodString;
136
+ id: z.ZodString;
137
+ dependsOn: z.ZodArray<z.ZodString>;
138
+ }, z.core.$strict>], "type">>;
139
+ testCases: z.ZodArray<z.ZodString>;
140
+ }, z.core.$strict>;
141
+ export declare const WALLET_ANALYST_MANIFEST: Readonly<{
142
+ schemaVersion: "1.0";
143
+ id: string;
144
+ version: string;
145
+ name: string;
146
+ description: string;
147
+ author: {
148
+ id: string;
149
+ name: string;
150
+ ownership: "first-party" | "independent";
151
+ };
152
+ license: string;
153
+ visibility: "private" | "source-visible" | "source-private";
154
+ chains: ("ethereum" | "base")[];
155
+ inputSchema: {
156
+ type: "object";
157
+ properties: Record<string, {
158
+ type: "string" | "number" | "boolean" | "array" | "integer";
159
+ description: string;
160
+ enum?: (string | number | boolean)[] | undefined;
161
+ }>;
162
+ required: string[];
163
+ additionalProperties: false;
164
+ };
165
+ outputSchemaId: "agentex.wallet-analysis.v1";
166
+ tools: {
167
+ id: string;
168
+ version: string;
169
+ capability: "evm.read";
170
+ chains: ("ethereum" | "base")[];
171
+ addressScope: "input-address";
172
+ maximumCalls: number;
173
+ }[];
174
+ modelPolicy: {
175
+ mode: "deterministic";
176
+ maximumModelTokens: 0;
177
+ };
178
+ limits: {
179
+ maximumRpcCalls: number;
180
+ maximumDurationMs: number;
181
+ maximumOutputBytes: number;
182
+ maximumGraphDepth: number;
183
+ maximumPages: number;
184
+ maximumExecutionAtomic: string;
185
+ };
186
+ workflow: ({
187
+ type: "input";
188
+ id: string;
189
+ dependsOn: string[];
190
+ } | {
191
+ type: "tool";
192
+ tool: string;
193
+ arguments: Record<string, {
194
+ source: "input";
195
+ path: string;
196
+ } | {
197
+ source: "node";
198
+ nodeId: string;
199
+ path: string;
200
+ }>;
201
+ id: string;
202
+ dependsOn: string[];
203
+ } | {
204
+ type: "condition";
205
+ field: {
206
+ source: "input";
207
+ path: string;
208
+ } | {
209
+ source: "node";
210
+ nodeId: string;
211
+ path: string;
212
+ };
213
+ operator: "equals" | "exists";
214
+ whenTrue: string;
215
+ whenFalse: string;
216
+ id: string;
217
+ dependsOn: string[];
218
+ value?: string | number | boolean | undefined;
219
+ } | {
220
+ type: "output";
221
+ from: string;
222
+ id: string;
223
+ dependsOn: string[];
224
+ })[];
225
+ testCases: string[];
226
+ policy?: {
227
+ analysis: {
228
+ mode: "summary";
229
+ maximumOutputTokens: number;
230
+ maximumCostMicrousd: number;
231
+ };
232
+ } | undefined;
233
+ }>;
234
+ export declare const SupportedWalletAnalystManifestSchema: z.ZodObject<{
235
+ schemaVersion: z.ZodLiteral<"1.0">;
236
+ id: z.ZodString;
237
+ version: z.ZodString;
238
+ name: z.ZodString;
239
+ description: z.ZodString;
240
+ author: z.ZodObject<{
241
+ id: z.ZodString;
242
+ name: z.ZodString;
243
+ ownership: z.ZodEnum<{
244
+ "first-party": "first-party";
245
+ independent: "independent";
246
+ }>;
247
+ }, z.core.$strict>;
248
+ license: z.ZodString;
249
+ visibility: z.ZodEnum<{
250
+ private: "private";
251
+ "source-visible": "source-visible";
252
+ "source-private": "source-private";
253
+ }>;
254
+ chains: z.ZodArray<z.ZodEnum<{
255
+ ethereum: "ethereum";
256
+ base: "base";
257
+ }>>;
258
+ inputSchema: z.ZodObject<{
259
+ type: z.ZodLiteral<"object">;
260
+ properties: z.ZodRecord<z.ZodString, z.ZodObject<{
261
+ type: z.ZodEnum<{
262
+ string: "string";
263
+ number: "number";
264
+ boolean: "boolean";
265
+ array: "array";
266
+ integer: "integer";
267
+ }>;
268
+ description: z.ZodString;
269
+ enum: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
270
+ }, z.core.$strict>>;
271
+ required: z.ZodArray<z.ZodString>;
272
+ additionalProperties: z.ZodLiteral<false>;
273
+ }, z.core.$strict>;
274
+ outputSchemaId: z.ZodLiteral<"agentex.wallet-analysis.v1">;
275
+ tools: z.ZodArray<z.ZodObject<{
276
+ id: z.ZodString;
277
+ version: z.ZodString;
278
+ capability: z.ZodLiteral<"evm.read">;
279
+ chains: z.ZodArray<z.ZodEnum<{
280
+ ethereum: "ethereum";
281
+ base: "base";
282
+ }>>;
283
+ addressScope: z.ZodLiteral<"input-address">;
284
+ maximumCalls: z.ZodNumber;
285
+ }, z.core.$strict>>;
286
+ modelPolicy: z.ZodObject<{
287
+ mode: z.ZodLiteral<"deterministic">;
288
+ maximumModelTokens: z.ZodLiteral<0>;
289
+ }, z.core.$strict>;
290
+ policy: z.ZodOptional<z.ZodObject<{
291
+ analysis: z.ZodObject<{
292
+ mode: z.ZodLiteral<"summary">;
293
+ maximumOutputTokens: z.ZodNumber;
294
+ maximumCostMicrousd: z.ZodNumber;
295
+ }, z.core.$strict>;
296
+ }, z.core.$strict>>;
297
+ limits: z.ZodObject<{
298
+ maximumRpcCalls: z.ZodNumber;
299
+ maximumDurationMs: z.ZodNumber;
300
+ maximumOutputBytes: z.ZodNumber;
301
+ maximumGraphDepth: z.ZodNumber;
302
+ maximumPages: z.ZodNumber;
303
+ maximumExecutionAtomic: z.ZodString;
304
+ }, z.core.$strict>;
305
+ workflow: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
306
+ type: z.ZodLiteral<"input">;
307
+ id: z.ZodString;
308
+ dependsOn: z.ZodArray<z.ZodString>;
309
+ }, z.core.$strict>, z.ZodObject<{
310
+ type: z.ZodLiteral<"tool">;
311
+ tool: z.ZodString;
312
+ arguments: z.ZodRecord<z.ZodString, z.ZodDiscriminatedUnion<[z.ZodObject<{
313
+ source: z.ZodLiteral<"input">;
314
+ path: z.ZodString;
315
+ }, z.core.$strict>, z.ZodObject<{
316
+ source: z.ZodLiteral<"node">;
317
+ nodeId: z.ZodString;
318
+ path: z.ZodString;
319
+ }, z.core.$strict>], "source">>;
320
+ id: z.ZodString;
321
+ dependsOn: z.ZodArray<z.ZodString>;
322
+ }, z.core.$strict>, z.ZodObject<{
323
+ type: z.ZodLiteral<"condition">;
324
+ field: z.ZodDiscriminatedUnion<[z.ZodObject<{
325
+ source: z.ZodLiteral<"input">;
326
+ path: z.ZodString;
327
+ }, z.core.$strict>, z.ZodObject<{
328
+ source: z.ZodLiteral<"node">;
329
+ nodeId: z.ZodString;
330
+ path: z.ZodString;
331
+ }, z.core.$strict>], "source">;
332
+ operator: z.ZodEnum<{
333
+ equals: "equals";
334
+ exists: "exists";
335
+ }>;
336
+ value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodBoolean, z.ZodNumber]>>;
337
+ whenTrue: z.ZodString;
338
+ whenFalse: z.ZodString;
339
+ id: z.ZodString;
340
+ dependsOn: z.ZodArray<z.ZodString>;
341
+ }, z.core.$strict>, z.ZodObject<{
342
+ type: z.ZodLiteral<"output">;
343
+ from: z.ZodString;
344
+ id: z.ZodString;
345
+ dependsOn: z.ZodArray<z.ZodString>;
346
+ }, z.core.$strict>], "type">>;
347
+ testCases: z.ZodArray<z.ZodString>;
348
+ }, z.core.$strict>;
349
+ export type WalletAnalystManifest = z.infer<typeof ManifestSchema>;
350
+ /** Columns of the transaction ledger rows in the CSV run export (one row per transfer leg). */
351
+ export declare const WALLET_LEDGER_COLUMNS: readonly string[];
352
+ export declare const WalletAnalysisReportSchema: z.ZodObject<{
353
+ schemaVersion: z.ZodLiteral<"agentex.wallet-analysis.v1">;
354
+ agentVersion: z.ZodString;
355
+ manifestHash: z.ZodString;
356
+ input: z.ZodObject<{
357
+ chain: z.ZodEnum<{
358
+ ethereum: "ethereum";
359
+ base: "base";
360
+ }>;
361
+ wallet: z.ZodString & z.ZodType<`0x${string}`, string, z.core.$ZodTypeInternals<`0x${string}`, string>>;
362
+ fromBlock: z.ZodOptional<z.ZodString>;
363
+ toBlock: z.ZodOptional<z.ZodString>;
364
+ maximumTransfers: z.ZodDefault<z.ZodNumber>;
365
+ pricingDenomination: z.ZodOptional<z.ZodEnum<{
366
+ usd: "usd";
367
+ }>>;
368
+ }, z.core.$strict>;
369
+ status: z.ZodEnum<{
370
+ complete: "complete";
371
+ partial: "partial";
372
+ failed: "failed";
373
+ }>;
374
+ generatedAt: z.ZodISODateTime;
375
+ chainId: z.ZodNullable<z.ZodNumber>;
376
+ snapshot: z.ZodNullable<z.ZodObject<{
377
+ blockNumber: z.ZodString;
378
+ blockHash: z.ZodString;
379
+ timestamp: z.ZodString;
380
+ finality: z.ZodLiteral<"sequencer-confirmed">;
381
+ canonicality: z.ZodEnum<{
382
+ "verified-at-completion": "verified-at-completion";
383
+ unchecked: "unchecked";
384
+ changed: "changed";
385
+ }>;
386
+ }, z.core.$strict>>;
387
+ activity: z.ZodNullable<z.ZodObject<{
388
+ chain: z.ZodString;
389
+ findings: z.ZodArray<z.ZodObject<{
390
+ code: z.ZodString;
391
+ message: z.ZodString;
392
+ basis: z.ZodEnum<{
393
+ "direct-transaction-evidence": "direct-transaction-evidence";
394
+ "heuristic-association": "heuristic-association";
395
+ "provider-index-assertion": "provider-index-assertion";
396
+ }>;
397
+ evidenceIds: z.ZodArray<z.ZodString>;
398
+ }, z.core.$strict>>;
399
+ coverage: z.ZodObject<{
400
+ order: z.ZodEnum<{
401
+ "oldest-first": "oldest-first";
402
+ "newest-first": "newest-first";
403
+ }>;
404
+ categories: z.ZodArray<z.ZodEnum<{
405
+ external: "external";
406
+ internal: "internal";
407
+ erc20: "erc20";
408
+ erc721: "erc721";
409
+ erc1155: "erc1155";
410
+ }>>;
411
+ inbound: z.ZodEnum<{
412
+ unavailable: "unavailable";
413
+ "provider-exhausted": "provider-exhausted";
414
+ "truncated-with-cursor": "truncated-with-cursor";
415
+ "not-read-call-bound": "not-read-call-bound";
416
+ }>;
417
+ outbound: z.ZodEnum<{
418
+ unavailable: "unavailable";
419
+ "provider-exhausted": "provider-exhausted";
420
+ "truncated-with-cursor": "truncated-with-cursor";
421
+ "not-read-call-bound": "not-read-call-bound";
422
+ }>;
423
+ completeness: z.ZodLiteral<"provider-index-claim">;
424
+ }, z.core.$strict>;
425
+ transfers: z.ZodArray<z.ZodObject<{
426
+ direction: z.ZodEnum<{
427
+ out: "out";
428
+ in: "in";
429
+ }>;
430
+ category: z.ZodEnum<{
431
+ external: "external";
432
+ internal: "internal";
433
+ erc20: "erc20";
434
+ erc721: "erc721";
435
+ erc1155: "erc1155";
436
+ }>;
437
+ blockNumber: z.ZodString;
438
+ blockTimestamp: z.ZodNullable<z.ZodString>;
439
+ transactionHash: z.ZodString;
440
+ uniqueId: z.ZodString;
441
+ from: z.ZodString;
442
+ to: z.ZodNullable<z.ZodString>;
443
+ asset: z.ZodNullable<z.ZodString>;
444
+ contract: z.ZodNullable<z.ZodString>;
445
+ tokenId: z.ZodNullable<z.ZodString>;
446
+ valueAtomic: z.ZodNullable<z.ZodString>;
447
+ decimals: z.ZodNullable<z.ZodNumber>;
448
+ valueFormatted: z.ZodNullable<z.ZodString>;
449
+ decimalsSource: z.ZodEnum<{
450
+ "not-applicable": "not-applicable";
451
+ "native-18": "native-18";
452
+ "provider-raw-contract": "provider-raw-contract";
453
+ "not-reported": "not-reported";
454
+ }>;
455
+ selfTransfer: z.ZodBoolean;
456
+ evidenceId: z.ZodString;
457
+ }, z.core.$strict>>;
458
+ window: z.ZodObject<{
459
+ fromBlock: z.ZodString;
460
+ toBlock: z.ZodString;
461
+ }, z.core.$strict>;
462
+ wallet: z.ZodString;
463
+ pages: z.ZodArray<z.ZodObject<{
464
+ direction: z.ZodEnum<{
465
+ out: "out";
466
+ in: "in";
467
+ }>;
468
+ index: z.ZodNumber;
469
+ returned: z.ZodNumber;
470
+ nextPageKey: z.ZodNullable<z.ZodString>;
471
+ status: z.ZodEnum<{
472
+ unavailable: "unavailable";
473
+ "provider-exhausted": "provider-exhausted";
474
+ "truncated-with-cursor": "truncated-with-cursor";
475
+ "not-read-call-bound": "not-read-call-bound";
476
+ }>;
477
+ evidenceId: z.ZodNullable<z.ZodString>;
478
+ }, z.core.$strict>>;
479
+ nativeBalance: z.ZodObject<{
480
+ balanceAtomic: z.ZodDiscriminatedUnion<[z.ZodObject<{
481
+ status: z.ZodLiteral<"observed">;
482
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>;
483
+ evidenceIds: z.ZodArray<z.ZodString>;
484
+ note: z.ZodOptional<z.ZodString>;
485
+ }, z.core.$strict>, z.ZodObject<{
486
+ status: z.ZodEnum<{
487
+ error: "error";
488
+ unknown: "unknown";
489
+ "not-detected": "not-detected";
490
+ "not-applicable": "not-applicable";
491
+ unavailable: "unavailable";
492
+ }>;
493
+ reason: z.ZodString;
494
+ evidenceIds: z.ZodArray<z.ZodString>;
495
+ }, z.core.$strict>], "status">;
496
+ balanceFormatted: z.ZodNullable<z.ZodString>;
497
+ }, z.core.$strict>;
498
+ flows: z.ZodArray<z.ZodObject<{
499
+ asset: z.ZodString;
500
+ contract: z.ZodNullable<z.ZodString>;
501
+ category: z.ZodEnum<{
502
+ external: "external";
503
+ internal: "internal";
504
+ erc20: "erc20";
505
+ erc721: "erc721";
506
+ erc1155: "erc1155";
507
+ }>;
508
+ symbol: z.ZodNullable<z.ZodString>;
509
+ decimals: z.ZodNullable<z.ZodNumber>;
510
+ inboundAtomic: z.ZodString;
511
+ outboundAtomic: z.ZodString;
512
+ inboundFormatted: z.ZodNullable<z.ZodString>;
513
+ outboundFormatted: z.ZodNullable<z.ZodString>;
514
+ transfersIn: z.ZodNumber;
515
+ transfersOut: z.ZodNumber;
516
+ selfTransfers: z.ZodNumber;
517
+ unquantifiedTransfers: z.ZodNumber;
518
+ }, z.core.$strict>>;
519
+ transactions: z.ZodArray<z.ZodObject<{
520
+ transactionHash: z.ZodString;
521
+ blockNumber: z.ZodString;
522
+ blockTimestamp: z.ZodNullable<z.ZodString>;
523
+ legsIn: z.ZodNumber;
524
+ legsOut: z.ZodNumber;
525
+ classification: z.ZodEnum<{
526
+ "inbound-only": "inbound-only";
527
+ "outbound-only": "outbound-only";
528
+ "self-transfer": "self-transfer";
529
+ "in-and-out-same-transaction": "in-and-out-same-transaction";
530
+ }>;
531
+ note: z.ZodString;
532
+ }, z.core.$strict>>;
533
+ tokenBalances: z.ZodObject<{
534
+ status: z.ZodEnum<{
535
+ observed: "observed";
536
+ unavailable: "unavailable";
537
+ "not-read": "not-read";
538
+ }>;
539
+ finality: z.ZodLiteral<"provider-latest-not-pinned">;
540
+ balances: z.ZodArray<z.ZodObject<{
541
+ contract: z.ZodString;
542
+ balanceAtomic: z.ZodNullable<z.ZodString>;
543
+ symbol: z.ZodDiscriminatedUnion<[z.ZodObject<{
544
+ status: z.ZodLiteral<"observed">;
545
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>;
546
+ evidenceIds: z.ZodArray<z.ZodString>;
547
+ note: z.ZodOptional<z.ZodString>;
548
+ }, z.core.$strict>, z.ZodObject<{
549
+ status: z.ZodEnum<{
550
+ error: "error";
551
+ unknown: "unknown";
552
+ "not-detected": "not-detected";
553
+ "not-applicable": "not-applicable";
554
+ unavailable: "unavailable";
555
+ }>;
556
+ reason: z.ZodString;
557
+ evidenceIds: z.ZodArray<z.ZodString>;
558
+ }, z.core.$strict>], "status">;
559
+ decimals: z.ZodDiscriminatedUnion<[z.ZodObject<{
560
+ status: z.ZodLiteral<"observed">;
561
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>;
562
+ evidenceIds: z.ZodArray<z.ZodString>;
563
+ note: z.ZodOptional<z.ZodString>;
564
+ }, z.core.$strict>, z.ZodObject<{
565
+ status: z.ZodEnum<{
566
+ error: "error";
567
+ unknown: "unknown";
568
+ "not-detected": "not-detected";
569
+ "not-applicable": "not-applicable";
570
+ unavailable: "unavailable";
571
+ }>;
572
+ reason: z.ZodString;
573
+ evidenceIds: z.ZodArray<z.ZodString>;
574
+ }, z.core.$strict>], "status">;
575
+ balanceFormatted: z.ZodNullable<z.ZodString>;
576
+ evidenceIds: z.ZodArray<z.ZodString>;
577
+ }, z.core.$strict>>;
578
+ nextPageKey: z.ZodNullable<z.ZodString>;
579
+ evidenceIds: z.ZodArray<z.ZodString>;
580
+ }, z.core.$strict>;
581
+ labelChecks: z.ZodArray<z.ZodObject<{
582
+ code: z.ZodString;
583
+ message: z.ZodString;
584
+ evidenceIds: z.ZodArray<z.ZodString>;
585
+ }, z.core.$strict>>;
586
+ }, z.core.$strict>>;
587
+ trades: z.ZodObject<{
588
+ status: z.ZodLiteral<"not-classified">;
589
+ reason: z.ZodString;
590
+ }, z.core.$strict>;
591
+ fees: z.ZodObject<{
592
+ status: z.ZodLiteral<"not-computed">;
593
+ reason: z.ZodString;
594
+ sourceGap: z.ZodEnum<{
595
+ "historical-prices": "historical-prices";
596
+ "trade-classification": "trade-classification";
597
+ "transaction-fees": "transaction-fees";
598
+ }>;
599
+ }, z.core.$strict>;
600
+ results: z.ZodObject<{
601
+ realised: z.ZodObject<{
602
+ status: z.ZodLiteral<"not-computed">;
603
+ reason: z.ZodString;
604
+ sourceGap: z.ZodEnum<{
605
+ "historical-prices": "historical-prices";
606
+ "trade-classification": "trade-classification";
607
+ "transaction-fees": "transaction-fees";
608
+ }>;
609
+ }, z.core.$strict>;
610
+ unrealised: z.ZodObject<{
611
+ status: z.ZodLiteral<"not-computed">;
612
+ reason: z.ZodString;
613
+ sourceGap: z.ZodEnum<{
614
+ "historical-prices": "historical-prices";
615
+ "trade-classification": "trade-classification";
616
+ "transaction-fees": "transaction-fees";
617
+ }>;
618
+ }, z.core.$strict>;
619
+ costBasis: z.ZodObject<{
620
+ status: z.ZodLiteral<"not-computed">;
621
+ reason: z.ZodString;
622
+ sourceGap: z.ZodEnum<{
623
+ "historical-prices": "historical-prices";
624
+ "trade-classification": "trade-classification";
625
+ "transaction-fees": "transaction-fees";
626
+ }>;
627
+ }, z.core.$strict>;
628
+ winRate: z.ZodObject<{
629
+ status: z.ZodLiteral<"not-computed">;
630
+ reason: z.ZodString;
631
+ sourceGap: z.ZodEnum<{
632
+ "historical-prices": "historical-prices";
633
+ "trade-classification": "trade-classification";
634
+ "transaction-fees": "transaction-fees";
635
+ }>;
636
+ }, z.core.$strict>;
637
+ valuationDenomination: z.ZodNullable<z.ZodEnum<{
638
+ usd: "usd";
639
+ }>>;
640
+ }, z.core.$strict>;
641
+ ledger: z.ZodObject<{
642
+ format: z.ZodLiteral<"csv-in-run-export">;
643
+ rows: z.ZodNumber;
644
+ columns: z.ZodArray<z.ZodString>;
645
+ }, z.core.$strict>;
646
+ findings: z.ZodArray<z.ZodObject<{
647
+ code: z.ZodString;
648
+ message: z.ZodString;
649
+ basis: z.ZodEnum<{
650
+ "direct-transaction-evidence": "direct-transaction-evidence";
651
+ "heuristic-association": "heuristic-association";
652
+ "provider-index-assertion": "provider-index-assertion";
653
+ }>;
654
+ evidenceIds: z.ZodArray<z.ZodString>;
655
+ }, z.core.$strict>>;
656
+ unknowns: z.ZodArray<z.ZodString>;
657
+ limitations: z.ZodArray<z.ZodString>;
658
+ errors: z.ZodArray<z.ZodObject<{
659
+ category: z.ZodString;
660
+ message: z.ZodString;
661
+ step: z.ZodString;
662
+ evidenceId: z.ZodOptional<z.ZodString>;
663
+ }, z.core.$strict>>;
664
+ evidence: z.ZodArray<z.ZodObject<{
665
+ schemaVersion: z.ZodLiteral<"agentex.tool-evidence.v1">;
666
+ id: z.ZodString;
667
+ tool: z.ZodString;
668
+ capability: z.ZodEnum<{
669
+ "evm.read": "evm.read";
670
+ "http.read": "http.read";
671
+ "solana.read": "solana.read";
672
+ }>;
673
+ source: z.ZodObject<{
674
+ kind: z.ZodEnum<{
675
+ rpc: "rpc";
676
+ http: "http";
677
+ offline: "offline";
678
+ }>;
679
+ provider: z.ZodString;
680
+ method: z.ZodString;
681
+ documentationUrl: z.ZodNullable<z.ZodURL>;
682
+ }, z.core.$strict>;
683
+ chain: z.ZodString;
684
+ scope: z.ZodObject<{
685
+ subjects: z.ZodArray<z.ZodString>;
686
+ window: z.ZodNullable<z.ZodObject<{
687
+ unit: z.ZodEnum<{
688
+ block: "block";
689
+ slot: "slot";
690
+ }>;
691
+ from: z.ZodString;
692
+ to: z.ZodString;
693
+ }, z.core.$strict>>;
694
+ page: z.ZodNullable<z.ZodObject<{
695
+ index: z.ZodNumber;
696
+ size: z.ZodNumber;
697
+ cursor: z.ZodNullable<z.ZodString>;
698
+ }, z.core.$strict>>;
699
+ }, z.core.$strict>;
700
+ request: z.ZodJSONSchema;
701
+ snapshot: z.ZodNullable<z.ZodDiscriminatedUnion<[z.ZodObject<{
702
+ kind: z.ZodLiteral<"evm-block">;
703
+ chainId: z.ZodNumber;
704
+ blockNumber: z.ZodString;
705
+ blockHash: z.ZodString;
706
+ timestamp: z.ZodNullable<z.ZodString>;
707
+ }, z.core.$strict>, z.ZodObject<{
708
+ kind: z.ZodLiteral<"solana-slot">;
709
+ genesisHash: z.ZodString;
710
+ slot: z.ZodString;
711
+ commitment: z.ZodEnum<{
712
+ finalized: "finalized";
713
+ confirmed: "confirmed";
714
+ }>;
715
+ exactness: z.ZodEnum<{
716
+ "observed-context": "observed-context";
717
+ "lower-bound": "lower-bound";
718
+ }>;
719
+ }, z.core.$strict>, z.ZodObject<{
720
+ kind: z.ZodLiteral<"http-retrieval">;
721
+ retrievedAt: z.ZodISODateTime;
722
+ }, z.core.$strict>, z.ZodObject<{
723
+ kind: z.ZodLiteral<"offline-input">;
724
+ inputHash: z.ZodString;
725
+ }, z.core.$strict>], "kind">>;
726
+ observedAt: z.ZodISODateTime;
727
+ finality: z.ZodEnum<{
728
+ finalized: "finalized";
729
+ "sequencer-confirmed": "sequencer-confirmed";
730
+ unverified: "unverified";
731
+ "not-applicable": "not-applicable";
732
+ confirmed: "confirmed";
733
+ "finalized-lower-bound": "finalized-lower-bound";
734
+ "confirmed-lower-bound": "confirmed-lower-bound";
735
+ }>;
736
+ canonicality: z.ZodEnum<{
737
+ "verified-at-completion": "verified-at-completion";
738
+ unchecked: "unchecked";
739
+ changed: "changed";
740
+ "not-applicable": "not-applicable";
741
+ }>;
742
+ completeness: z.ZodEnum<{
743
+ error: "error";
744
+ "complete-for-request": "complete-for-request";
745
+ unavailable: "unavailable";
746
+ truncated: "truncated";
747
+ "empty-result": "empty-result";
748
+ }>;
749
+ errorCategory: z.ZodNullable<z.ZodString>;
750
+ result: z.ZodJSONSchema;
751
+ contentHash: z.ZodString;
752
+ artifactHash: z.ZodString;
753
+ privacy: z.ZodEnum<{
754
+ "public-chain-data": "public-chain-data";
755
+ "public-web-content": "public-web-content";
756
+ "private-input": "private-input";
757
+ }>;
758
+ trust: z.ZodEnum<{
759
+ "chain-state": "chain-state";
760
+ "provider-assertion": "provider-assertion";
761
+ "untrusted-third-party-content": "untrusted-third-party-content";
762
+ "offline-decoding": "offline-decoding";
763
+ }>;
764
+ }, z.core.$strict>>;
765
+ analysis: z.ZodOptional<z.ZodObject<{
766
+ label: z.ZodLiteral<"AI-assisted summary">;
767
+ status: z.ZodEnum<{
768
+ skipped: "skipped";
769
+ completed: "completed";
770
+ unavailable: "unavailable";
771
+ }>;
772
+ model: z.ZodString;
773
+ findings: z.ZodArray<z.ZodObject<{
774
+ claim: z.ZodString;
775
+ evidenceIds: z.ZodArray<z.ZodString>;
776
+ confidence: z.ZodEnum<{
777
+ supported: "supported";
778
+ uncertain: "uncertain";
779
+ }>;
780
+ }, z.core.$strict>>;
781
+ unavailableReason: z.ZodOptional<z.ZodString>;
782
+ }, z.core.$strict>>;
783
+ usage: z.ZodObject<{
784
+ rpcCalls: z.ZodNumber;
785
+ maximumRpcCalls: z.ZodNumber;
786
+ elapsedMs: z.ZodNumber;
787
+ modelTokens: z.ZodLiteral<0>;
788
+ providerCostAtomic: z.ZodNull;
789
+ providerCostStatus: z.ZodLiteral<"unpriced">;
790
+ model: z.ZodOptional<z.ZodObject<{
791
+ model: z.ZodString;
792
+ inputTokens: z.ZodNumber;
793
+ outputTokens: z.ZodNumber;
794
+ costMicrousd: z.ZodNumber;
795
+ costStatus: z.ZodOptional<z.ZodLiteral<"unresolved">>;
796
+ }, z.core.$strict>>;
797
+ }, z.core.$strict>;
798
+ }, z.core.$strict>;
799
+ export type WalletAnalysisReport = z.infer<typeof WalletAnalysisReportSchema>;
800
+ export declare const WALLET_RESULT_CONTRACT: {
801
+ readonly id: "wallet-analysis-observed-v1";
802
+ readonly description: "Charge only for a complete analysis read at one pinned latest block (sequencer-confirmed) that is still canonical at completion: the native balance observed, both inbound and outbound transfer pages read with exact amounts and their index coverage stated, and the transaction ledger included. Trades, fees, cost basis, realised and unrealised results and win rate are never claimed. A reorganization or any read error makes the report partial or failed and charges nothing.";
803
+ };
804
+ export declare function walletResultContractIssues(raw: unknown, manifest?: {
805
+ version: string;
806
+ }): string[];
807
+ export declare const satisfiesWalletResultContract: (raw: unknown, manifest?: {
808
+ version: string;
809
+ }) => boolean;
810
+ export declare const validateWalletReceipt: (evidence: unknown, input: WalletAnalysisInput) => {
811
+ schemaVersion: "agentex.tool-evidence.v1";
812
+ id: string;
813
+ tool: string;
814
+ capability: "evm.read" | "http.read" | "solana.read";
815
+ source: {
816
+ kind: "rpc" | "http" | "offline";
817
+ provider: string;
818
+ method: string;
819
+ documentationUrl: string | null;
820
+ };
821
+ chain: string;
822
+ scope: {
823
+ subjects: string[];
824
+ window: {
825
+ unit: "block" | "slot";
826
+ from: string;
827
+ to: string;
828
+ } | null;
829
+ page: {
830
+ index: number;
831
+ size: number;
832
+ cursor: string | null;
833
+ } | null;
834
+ };
835
+ request: z.core.util.JSONType;
836
+ snapshot: {
837
+ kind: "evm-block";
838
+ chainId: number;
839
+ blockNumber: string;
840
+ blockHash: string;
841
+ timestamp: string | null;
842
+ } | {
843
+ kind: "solana-slot";
844
+ genesisHash: string;
845
+ slot: string;
846
+ commitment: "finalized" | "confirmed";
847
+ exactness: "observed-context" | "lower-bound";
848
+ } | {
849
+ kind: "http-retrieval";
850
+ retrievedAt: string;
851
+ } | {
852
+ kind: "offline-input";
853
+ inputHash: string;
854
+ } | null;
855
+ observedAt: string;
856
+ finality: "finalized" | "sequencer-confirmed" | "unverified" | "not-applicable" | "confirmed" | "finalized-lower-bound" | "confirmed-lower-bound";
857
+ canonicality: "verified-at-completion" | "unchecked" | "changed" | "not-applicable";
858
+ completeness: "error" | "complete-for-request" | "unavailable" | "truncated" | "empty-result";
859
+ errorCategory: string | null;
860
+ result: z.core.util.JSONType;
861
+ contentHash: string;
862
+ artifactHash: string;
863
+ privacy: "public-chain-data" | "public-web-content" | "private-input";
864
+ trust: "chain-state" | "provider-assertion" | "untrusted-third-party-content" | "offline-decoding";
865
+ };
866
+ export {};