clawmarket 0.4.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 (94) hide show
  1. package/README.md +142 -0
  2. package/dist/api-proxy.d.ts +11 -0
  3. package/dist/api-proxy.d.ts.map +1 -0
  4. package/dist/api-proxy.js +98 -0
  5. package/dist/api-proxy.js.map +1 -0
  6. package/dist/buyer/discovery.d.ts +52 -0
  7. package/dist/buyer/discovery.d.ts.map +1 -0
  8. package/dist/buyer/discovery.js +121 -0
  9. package/dist/buyer/discovery.js.map +1 -0
  10. package/dist/buyer/index.d.ts +4 -0
  11. package/dist/buyer/index.d.ts.map +1 -0
  12. package/dist/buyer/index.js +4 -0
  13. package/dist/buyer/index.js.map +1 -0
  14. package/dist/buyer/mode.d.ts +60 -0
  15. package/dist/buyer/mode.d.ts.map +1 -0
  16. package/dist/buyer/mode.js +150 -0
  17. package/dist/buyer/mode.js.map +1 -0
  18. package/dist/buyer/relay.d.ts +27 -0
  19. package/dist/buyer/relay.d.ts.map +1 -0
  20. package/dist/buyer/relay.js +103 -0
  21. package/dist/buyer/relay.js.map +1 -0
  22. package/dist/cli.d.ts +11 -0
  23. package/dist/cli.d.ts.map +1 -0
  24. package/dist/cli.js +252 -0
  25. package/dist/cli.js.map +1 -0
  26. package/dist/config.d.ts +29 -0
  27. package/dist/config.d.ts.map +1 -0
  28. package/dist/config.js +37 -0
  29. package/dist/config.js.map +1 -0
  30. package/dist/crypto/e2ee.d.ts +45 -0
  31. package/dist/crypto/e2ee.d.ts.map +1 -0
  32. package/dist/crypto/e2ee.js +87 -0
  33. package/dist/crypto/e2ee.js.map +1 -0
  34. package/dist/crypto/index.d.ts +3 -0
  35. package/dist/crypto/index.d.ts.map +1 -0
  36. package/dist/crypto/index.js +3 -0
  37. package/dist/crypto/index.js.map +1 -0
  38. package/dist/crypto/ticket.d.ts +62 -0
  39. package/dist/crypto/ticket.d.ts.map +1 -0
  40. package/dist/crypto/ticket.js +123 -0
  41. package/dist/crypto/ticket.js.map +1 -0
  42. package/dist/index.d.ts +11 -0
  43. package/dist/index.d.ts.map +1 -0
  44. package/dist/index.js +13 -0
  45. package/dist/index.js.map +1 -0
  46. package/dist/local-proxy.d.ts +12 -0
  47. package/dist/local-proxy.d.ts.map +1 -0
  48. package/dist/local-proxy.js +593 -0
  49. package/dist/local-proxy.js.map +1 -0
  50. package/dist/openclaw-adapter.d.ts +105 -0
  51. package/dist/openclaw-adapter.d.ts.map +1 -0
  52. package/dist/openclaw-adapter.js +125 -0
  53. package/dist/openclaw-adapter.js.map +1 -0
  54. package/dist/provider.d.ts +116 -0
  55. package/dist/provider.d.ts.map +1 -0
  56. package/dist/provider.js +328 -0
  57. package/dist/provider.js.map +1 -0
  58. package/dist/seller/index.d.ts +4 -0
  59. package/dist/seller/index.d.ts.map +1 -0
  60. package/dist/seller/index.js +4 -0
  61. package/dist/seller/index.js.map +1 -0
  62. package/dist/seller/mode.d.ts +62 -0
  63. package/dist/seller/mode.d.ts.map +1 -0
  64. package/dist/seller/mode.js +179 -0
  65. package/dist/seller/mode.js.map +1 -0
  66. package/dist/seller/registry.d.ts +27 -0
  67. package/dist/seller/registry.d.ts.map +1 -0
  68. package/dist/seller/registry.js +95 -0
  69. package/dist/seller/registry.js.map +1 -0
  70. package/dist/seller/relay.d.ts +64 -0
  71. package/dist/seller/relay.d.ts.map +1 -0
  72. package/dist/seller/relay.js +171 -0
  73. package/dist/seller/relay.js.map +1 -0
  74. package/dist/seller-cli.d.ts +26 -0
  75. package/dist/seller-cli.d.ts.map +1 -0
  76. package/dist/seller-cli.js +354 -0
  77. package/dist/seller-cli.js.map +1 -0
  78. package/dist/seller-daemon.d.ts +7 -0
  79. package/dist/seller-daemon.d.ts.map +1 -0
  80. package/dist/seller-daemon.js +349 -0
  81. package/dist/seller-daemon.js.map +1 -0
  82. package/dist/types/config.d.ts +529 -0
  83. package/dist/types/config.d.ts.map +1 -0
  84. package/dist/types/config.js +81 -0
  85. package/dist/types/config.js.map +1 -0
  86. package/dist/types/index.d.ts +3 -0
  87. package/dist/types/index.d.ts.map +1 -0
  88. package/dist/types/index.js +3 -0
  89. package/dist/types/index.js.map +1 -0
  90. package/dist/types/protocol.d.ts +131 -0
  91. package/dist/types/protocol.d.ts.map +1 -0
  92. package/dist/types/protocol.js +2 -0
  93. package/dist/types/protocol.js.map +1 -0
  94. package/package.json +53 -0
@@ -0,0 +1,529 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Model pricing configuration
4
+ */
5
+ export declare const ModelPricingSchema: z.ZodObject<{
6
+ inputPer1m: z.ZodNumber;
7
+ outputPer1m: z.ZodNumber;
8
+ }, "strip", z.ZodTypeAny, {
9
+ inputPer1m: number;
10
+ outputPer1m: number;
11
+ }, {
12
+ inputPer1m: number;
13
+ outputPer1m: number;
14
+ }>;
15
+ /**
16
+ * Model configuration for sellers
17
+ */
18
+ export declare const ModelConfigSchema: z.ZodObject<{
19
+ model: z.ZodString;
20
+ pricing: z.ZodObject<{
21
+ inputPer1m: z.ZodNumber;
22
+ outputPer1m: z.ZodNumber;
23
+ }, "strip", z.ZodTypeAny, {
24
+ inputPer1m: number;
25
+ outputPer1m: number;
26
+ }, {
27
+ inputPer1m: number;
28
+ outputPer1m: number;
29
+ }>;
30
+ dailyQuotaUsd: z.ZodOptional<z.ZodNumber>;
31
+ upstreamProvider: z.ZodOptional<z.ZodString>;
32
+ }, "strip", z.ZodTypeAny, {
33
+ model: string;
34
+ pricing: {
35
+ inputPer1m: number;
36
+ outputPer1m: number;
37
+ };
38
+ dailyQuotaUsd?: number | undefined;
39
+ upstreamProvider?: string | undefined;
40
+ }, {
41
+ model: string;
42
+ pricing: {
43
+ inputPer1m: number;
44
+ outputPer1m: number;
45
+ };
46
+ dailyQuotaUsd?: number | undefined;
47
+ upstreamProvider?: string | undefined;
48
+ }>;
49
+ /**
50
+ * Seller mode configuration
51
+ */
52
+ export declare const SellerConfigSchema: z.ZodObject<{
53
+ models: z.ZodArray<z.ZodObject<{
54
+ model: z.ZodString;
55
+ pricing: z.ZodObject<{
56
+ inputPer1m: z.ZodNumber;
57
+ outputPer1m: z.ZodNumber;
58
+ }, "strip", z.ZodTypeAny, {
59
+ inputPer1m: number;
60
+ outputPer1m: number;
61
+ }, {
62
+ inputPer1m: number;
63
+ outputPer1m: number;
64
+ }>;
65
+ dailyQuotaUsd: z.ZodOptional<z.ZodNumber>;
66
+ upstreamProvider: z.ZodOptional<z.ZodString>;
67
+ }, "strip", z.ZodTypeAny, {
68
+ model: string;
69
+ pricing: {
70
+ inputPer1m: number;
71
+ outputPer1m: number;
72
+ };
73
+ dailyQuotaUsd?: number | undefined;
74
+ upstreamProvider?: string | undefined;
75
+ }, {
76
+ model: string;
77
+ pricing: {
78
+ inputPer1m: number;
79
+ outputPer1m: number;
80
+ };
81
+ dailyQuotaUsd?: number | undefined;
82
+ upstreamProvider?: string | undefined;
83
+ }>, "many">;
84
+ registryUrl: z.ZodString;
85
+ relayUrl: z.ZodString;
86
+ upstreamBaseUrl: z.ZodString;
87
+ upstreamApiKey: z.ZodString;
88
+ heartbeatIntervalMs: z.ZodDefault<z.ZodNumber>;
89
+ region: z.ZodOptional<z.ZodString>;
90
+ }, "strip", z.ZodTypeAny, {
91
+ registryUrl: string;
92
+ relayUrl: string;
93
+ models: {
94
+ model: string;
95
+ pricing: {
96
+ inputPer1m: number;
97
+ outputPer1m: number;
98
+ };
99
+ dailyQuotaUsd?: number | undefined;
100
+ upstreamProvider?: string | undefined;
101
+ }[];
102
+ upstreamBaseUrl: string;
103
+ upstreamApiKey: string;
104
+ heartbeatIntervalMs: number;
105
+ region?: string | undefined;
106
+ }, {
107
+ registryUrl: string;
108
+ relayUrl: string;
109
+ models: {
110
+ model: string;
111
+ pricing: {
112
+ inputPer1m: number;
113
+ outputPer1m: number;
114
+ };
115
+ dailyQuotaUsd?: number | undefined;
116
+ upstreamProvider?: string | undefined;
117
+ }[];
118
+ upstreamBaseUrl: string;
119
+ upstreamApiKey: string;
120
+ heartbeatIntervalMs?: number | undefined;
121
+ region?: string | undefined;
122
+ }>;
123
+ /**
124
+ * Selection strategy for buyers
125
+ */
126
+ export declare const SelectionStrategySchema: z.ZodEnum<["lowest_price", "lowest_latency", "highest_reputation"]>;
127
+ /**
128
+ * Buyer mode configuration
129
+ */
130
+ export declare const BuyerConfigSchema: z.ZodObject<{
131
+ registryUrl: z.ZodString;
132
+ relayUrl: z.ZodString;
133
+ strategy: z.ZodDefault<z.ZodEnum<["lowest_price", "lowest_latency", "highest_reputation"]>>;
134
+ maxPriceMultiplier: z.ZodDefault<z.ZodNumber>;
135
+ fallbackProvider: z.ZodOptional<z.ZodString>;
136
+ minReputation: z.ZodDefault<z.ZodNumber>;
137
+ }, "strip", z.ZodTypeAny, {
138
+ registryUrl: string;
139
+ relayUrl: string;
140
+ strategy: "lowest_price" | "lowest_latency" | "highest_reputation";
141
+ maxPriceMultiplier: number;
142
+ minReputation: number;
143
+ fallbackProvider?: string | undefined;
144
+ }, {
145
+ registryUrl: string;
146
+ relayUrl: string;
147
+ strategy?: "lowest_price" | "lowest_latency" | "highest_reputation" | undefined;
148
+ maxPriceMultiplier?: number | undefined;
149
+ fallbackProvider?: string | undefined;
150
+ minReputation?: number | undefined;
151
+ }>;
152
+ /**
153
+ * Wallet configuration for payments
154
+ */
155
+ export declare const WalletConfigSchema: z.ZodObject<{
156
+ privateKey: z.ZodOptional<z.ZodString>;
157
+ keyStorePath: z.ZodOptional<z.ZodString>;
158
+ channelContractAddress: z.ZodString;
159
+ chainId: z.ZodDefault<z.ZodNumber>;
160
+ rpcUrl: z.ZodString;
161
+ paymasterUrl: z.ZodOptional<z.ZodString>;
162
+ }, "strip", z.ZodTypeAny, {
163
+ rpcUrl: string;
164
+ chainId: number;
165
+ channelContractAddress: string;
166
+ privateKey?: string | undefined;
167
+ keyStorePath?: string | undefined;
168
+ paymasterUrl?: string | undefined;
169
+ }, {
170
+ rpcUrl: string;
171
+ channelContractAddress: string;
172
+ chainId?: number | undefined;
173
+ privateKey?: string | undefined;
174
+ keyStorePath?: string | undefined;
175
+ paymasterUrl?: string | undefined;
176
+ }>;
177
+ /**
178
+ * Main plugin configuration
179
+ */
180
+ export declare const ClawMarketConfigSchema: z.ZodEffects<z.ZodEffects<z.ZodObject<{
181
+ enabled: z.ZodDefault<z.ZodBoolean>;
182
+ role: z.ZodEnum<["seller", "buyer", "both"]>;
183
+ seller: z.ZodOptional<z.ZodObject<{
184
+ models: z.ZodArray<z.ZodObject<{
185
+ model: z.ZodString;
186
+ pricing: z.ZodObject<{
187
+ inputPer1m: z.ZodNumber;
188
+ outputPer1m: z.ZodNumber;
189
+ }, "strip", z.ZodTypeAny, {
190
+ inputPer1m: number;
191
+ outputPer1m: number;
192
+ }, {
193
+ inputPer1m: number;
194
+ outputPer1m: number;
195
+ }>;
196
+ dailyQuotaUsd: z.ZodOptional<z.ZodNumber>;
197
+ upstreamProvider: z.ZodOptional<z.ZodString>;
198
+ }, "strip", z.ZodTypeAny, {
199
+ model: string;
200
+ pricing: {
201
+ inputPer1m: number;
202
+ outputPer1m: number;
203
+ };
204
+ dailyQuotaUsd?: number | undefined;
205
+ upstreamProvider?: string | undefined;
206
+ }, {
207
+ model: string;
208
+ pricing: {
209
+ inputPer1m: number;
210
+ outputPer1m: number;
211
+ };
212
+ dailyQuotaUsd?: number | undefined;
213
+ upstreamProvider?: string | undefined;
214
+ }>, "many">;
215
+ registryUrl: z.ZodString;
216
+ relayUrl: z.ZodString;
217
+ upstreamBaseUrl: z.ZodString;
218
+ upstreamApiKey: z.ZodString;
219
+ heartbeatIntervalMs: z.ZodDefault<z.ZodNumber>;
220
+ region: z.ZodOptional<z.ZodString>;
221
+ }, "strip", z.ZodTypeAny, {
222
+ registryUrl: string;
223
+ relayUrl: string;
224
+ models: {
225
+ model: string;
226
+ pricing: {
227
+ inputPer1m: number;
228
+ outputPer1m: number;
229
+ };
230
+ dailyQuotaUsd?: number | undefined;
231
+ upstreamProvider?: string | undefined;
232
+ }[];
233
+ upstreamBaseUrl: string;
234
+ upstreamApiKey: string;
235
+ heartbeatIntervalMs: number;
236
+ region?: string | undefined;
237
+ }, {
238
+ registryUrl: string;
239
+ relayUrl: string;
240
+ models: {
241
+ model: string;
242
+ pricing: {
243
+ inputPer1m: number;
244
+ outputPer1m: number;
245
+ };
246
+ dailyQuotaUsd?: number | undefined;
247
+ upstreamProvider?: string | undefined;
248
+ }[];
249
+ upstreamBaseUrl: string;
250
+ upstreamApiKey: string;
251
+ heartbeatIntervalMs?: number | undefined;
252
+ region?: string | undefined;
253
+ }>>;
254
+ buyer: z.ZodOptional<z.ZodObject<{
255
+ registryUrl: z.ZodString;
256
+ relayUrl: z.ZodString;
257
+ strategy: z.ZodDefault<z.ZodEnum<["lowest_price", "lowest_latency", "highest_reputation"]>>;
258
+ maxPriceMultiplier: z.ZodDefault<z.ZodNumber>;
259
+ fallbackProvider: z.ZodOptional<z.ZodString>;
260
+ minReputation: z.ZodDefault<z.ZodNumber>;
261
+ }, "strip", z.ZodTypeAny, {
262
+ registryUrl: string;
263
+ relayUrl: string;
264
+ strategy: "lowest_price" | "lowest_latency" | "highest_reputation";
265
+ maxPriceMultiplier: number;
266
+ minReputation: number;
267
+ fallbackProvider?: string | undefined;
268
+ }, {
269
+ registryUrl: string;
270
+ relayUrl: string;
271
+ strategy?: "lowest_price" | "lowest_latency" | "highest_reputation" | undefined;
272
+ maxPriceMultiplier?: number | undefined;
273
+ fallbackProvider?: string | undefined;
274
+ minReputation?: number | undefined;
275
+ }>>;
276
+ wallet: z.ZodObject<{
277
+ privateKey: z.ZodOptional<z.ZodString>;
278
+ keyStorePath: z.ZodOptional<z.ZodString>;
279
+ channelContractAddress: z.ZodString;
280
+ chainId: z.ZodDefault<z.ZodNumber>;
281
+ rpcUrl: z.ZodString;
282
+ paymasterUrl: z.ZodOptional<z.ZodString>;
283
+ }, "strip", z.ZodTypeAny, {
284
+ rpcUrl: string;
285
+ chainId: number;
286
+ channelContractAddress: string;
287
+ privateKey?: string | undefined;
288
+ keyStorePath?: string | undefined;
289
+ paymasterUrl?: string | undefined;
290
+ }, {
291
+ rpcUrl: string;
292
+ channelContractAddress: string;
293
+ chainId?: number | undefined;
294
+ privateKey?: string | undefined;
295
+ keyStorePath?: string | undefined;
296
+ paymasterUrl?: string | undefined;
297
+ }>;
298
+ logLevel: z.ZodDefault<z.ZodEnum<["debug", "info", "warn", "error"]>>;
299
+ }, "strip", z.ZodTypeAny, {
300
+ enabled: boolean;
301
+ role: "seller" | "buyer" | "both";
302
+ wallet: {
303
+ rpcUrl: string;
304
+ chainId: number;
305
+ channelContractAddress: string;
306
+ privateKey?: string | undefined;
307
+ keyStorePath?: string | undefined;
308
+ paymasterUrl?: string | undefined;
309
+ };
310
+ logLevel: "error" | "debug" | "info" | "warn";
311
+ seller?: {
312
+ registryUrl: string;
313
+ relayUrl: string;
314
+ models: {
315
+ model: string;
316
+ pricing: {
317
+ inputPer1m: number;
318
+ outputPer1m: number;
319
+ };
320
+ dailyQuotaUsd?: number | undefined;
321
+ upstreamProvider?: string | undefined;
322
+ }[];
323
+ upstreamBaseUrl: string;
324
+ upstreamApiKey: string;
325
+ heartbeatIntervalMs: number;
326
+ region?: string | undefined;
327
+ } | undefined;
328
+ buyer?: {
329
+ registryUrl: string;
330
+ relayUrl: string;
331
+ strategy: "lowest_price" | "lowest_latency" | "highest_reputation";
332
+ maxPriceMultiplier: number;
333
+ minReputation: number;
334
+ fallbackProvider?: string | undefined;
335
+ } | undefined;
336
+ }, {
337
+ role: "seller" | "buyer" | "both";
338
+ wallet: {
339
+ rpcUrl: string;
340
+ channelContractAddress: string;
341
+ chainId?: number | undefined;
342
+ privateKey?: string | undefined;
343
+ keyStorePath?: string | undefined;
344
+ paymasterUrl?: string | undefined;
345
+ };
346
+ seller?: {
347
+ registryUrl: string;
348
+ relayUrl: string;
349
+ models: {
350
+ model: string;
351
+ pricing: {
352
+ inputPer1m: number;
353
+ outputPer1m: number;
354
+ };
355
+ dailyQuotaUsd?: number | undefined;
356
+ upstreamProvider?: string | undefined;
357
+ }[];
358
+ upstreamBaseUrl: string;
359
+ upstreamApiKey: string;
360
+ heartbeatIntervalMs?: number | undefined;
361
+ region?: string | undefined;
362
+ } | undefined;
363
+ buyer?: {
364
+ registryUrl: string;
365
+ relayUrl: string;
366
+ strategy?: "lowest_price" | "lowest_latency" | "highest_reputation" | undefined;
367
+ maxPriceMultiplier?: number | undefined;
368
+ fallbackProvider?: string | undefined;
369
+ minReputation?: number | undefined;
370
+ } | undefined;
371
+ enabled?: boolean | undefined;
372
+ logLevel?: "error" | "debug" | "info" | "warn" | undefined;
373
+ }>, {
374
+ enabled: boolean;
375
+ role: "seller" | "buyer" | "both";
376
+ wallet: {
377
+ rpcUrl: string;
378
+ chainId: number;
379
+ channelContractAddress: string;
380
+ privateKey?: string | undefined;
381
+ keyStorePath?: string | undefined;
382
+ paymasterUrl?: string | undefined;
383
+ };
384
+ logLevel: "error" | "debug" | "info" | "warn";
385
+ seller?: {
386
+ registryUrl: string;
387
+ relayUrl: string;
388
+ models: {
389
+ model: string;
390
+ pricing: {
391
+ inputPer1m: number;
392
+ outputPer1m: number;
393
+ };
394
+ dailyQuotaUsd?: number | undefined;
395
+ upstreamProvider?: string | undefined;
396
+ }[];
397
+ upstreamBaseUrl: string;
398
+ upstreamApiKey: string;
399
+ heartbeatIntervalMs: number;
400
+ region?: string | undefined;
401
+ } | undefined;
402
+ buyer?: {
403
+ registryUrl: string;
404
+ relayUrl: string;
405
+ strategy: "lowest_price" | "lowest_latency" | "highest_reputation";
406
+ maxPriceMultiplier: number;
407
+ minReputation: number;
408
+ fallbackProvider?: string | undefined;
409
+ } | undefined;
410
+ }, {
411
+ role: "seller" | "buyer" | "both";
412
+ wallet: {
413
+ rpcUrl: string;
414
+ channelContractAddress: string;
415
+ chainId?: number | undefined;
416
+ privateKey?: string | undefined;
417
+ keyStorePath?: string | undefined;
418
+ paymasterUrl?: string | undefined;
419
+ };
420
+ seller?: {
421
+ registryUrl: string;
422
+ relayUrl: string;
423
+ models: {
424
+ model: string;
425
+ pricing: {
426
+ inputPer1m: number;
427
+ outputPer1m: number;
428
+ };
429
+ dailyQuotaUsd?: number | undefined;
430
+ upstreamProvider?: string | undefined;
431
+ }[];
432
+ upstreamBaseUrl: string;
433
+ upstreamApiKey: string;
434
+ heartbeatIntervalMs?: number | undefined;
435
+ region?: string | undefined;
436
+ } | undefined;
437
+ buyer?: {
438
+ registryUrl: string;
439
+ relayUrl: string;
440
+ strategy?: "lowest_price" | "lowest_latency" | "highest_reputation" | undefined;
441
+ maxPriceMultiplier?: number | undefined;
442
+ fallbackProvider?: string | undefined;
443
+ minReputation?: number | undefined;
444
+ } | undefined;
445
+ enabled?: boolean | undefined;
446
+ logLevel?: "error" | "debug" | "info" | "warn" | undefined;
447
+ }>, {
448
+ enabled: boolean;
449
+ role: "seller" | "buyer" | "both";
450
+ wallet: {
451
+ rpcUrl: string;
452
+ chainId: number;
453
+ channelContractAddress: string;
454
+ privateKey?: string | undefined;
455
+ keyStorePath?: string | undefined;
456
+ paymasterUrl?: string | undefined;
457
+ };
458
+ logLevel: "error" | "debug" | "info" | "warn";
459
+ seller?: {
460
+ registryUrl: string;
461
+ relayUrl: string;
462
+ models: {
463
+ model: string;
464
+ pricing: {
465
+ inputPer1m: number;
466
+ outputPer1m: number;
467
+ };
468
+ dailyQuotaUsd?: number | undefined;
469
+ upstreamProvider?: string | undefined;
470
+ }[];
471
+ upstreamBaseUrl: string;
472
+ upstreamApiKey: string;
473
+ heartbeatIntervalMs: number;
474
+ region?: string | undefined;
475
+ } | undefined;
476
+ buyer?: {
477
+ registryUrl: string;
478
+ relayUrl: string;
479
+ strategy: "lowest_price" | "lowest_latency" | "highest_reputation";
480
+ maxPriceMultiplier: number;
481
+ minReputation: number;
482
+ fallbackProvider?: string | undefined;
483
+ } | undefined;
484
+ }, {
485
+ role: "seller" | "buyer" | "both";
486
+ wallet: {
487
+ rpcUrl: string;
488
+ channelContractAddress: string;
489
+ chainId?: number | undefined;
490
+ privateKey?: string | undefined;
491
+ keyStorePath?: string | undefined;
492
+ paymasterUrl?: string | undefined;
493
+ };
494
+ seller?: {
495
+ registryUrl: string;
496
+ relayUrl: string;
497
+ models: {
498
+ model: string;
499
+ pricing: {
500
+ inputPer1m: number;
501
+ outputPer1m: number;
502
+ };
503
+ dailyQuotaUsd?: number | undefined;
504
+ upstreamProvider?: string | undefined;
505
+ }[];
506
+ upstreamBaseUrl: string;
507
+ upstreamApiKey: string;
508
+ heartbeatIntervalMs?: number | undefined;
509
+ region?: string | undefined;
510
+ } | undefined;
511
+ buyer?: {
512
+ registryUrl: string;
513
+ relayUrl: string;
514
+ strategy?: "lowest_price" | "lowest_latency" | "highest_reputation" | undefined;
515
+ maxPriceMultiplier?: number | undefined;
516
+ fallbackProvider?: string | undefined;
517
+ minReputation?: number | undefined;
518
+ } | undefined;
519
+ enabled?: boolean | undefined;
520
+ logLevel?: "error" | "debug" | "info" | "warn" | undefined;
521
+ }>;
522
+ export type ModelPricing = z.infer<typeof ModelPricingSchema>;
523
+ export type ModelConfig = z.infer<typeof ModelConfigSchema>;
524
+ export type SellerConfig = z.infer<typeof SellerConfigSchema>;
525
+ export type SelectionStrategy = z.infer<typeof SelectionStrategySchema>;
526
+ export type BuyerConfig = z.infer<typeof BuyerConfigSchema>;
527
+ export type WalletConfig = z.infer<typeof WalletConfigSchema>;
528
+ export type ClawMarketConfig = z.infer<typeof ClawMarketConfigSchema>;
529
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;EAG7B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAK5B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQ7B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,uBAAuB,qEAIlC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;EAO5B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;EAO7B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuBlC,CAAC;AAGF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC"}
@@ -0,0 +1,81 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Model pricing configuration
4
+ */
5
+ export const ModelPricingSchema = z.object({
6
+ inputPer1m: z.number().positive().describe('Price per 1M input tokens in USD'),
7
+ outputPer1m: z.number().positive().describe('Price per 1M output tokens in USD'),
8
+ });
9
+ /**
10
+ * Model configuration for sellers
11
+ */
12
+ export const ModelConfigSchema = z.object({
13
+ model: z.string().describe('Model identifier (e.g., claude-opus-4)'),
14
+ pricing: ModelPricingSchema,
15
+ dailyQuotaUsd: z.number().positive().optional().describe('Daily quota limit in USD'),
16
+ upstreamProvider: z.string().optional().describe('Upstream provider name'),
17
+ });
18
+ /**
19
+ * Seller mode configuration
20
+ */
21
+ export const SellerConfigSchema = z.object({
22
+ models: z.array(ModelConfigSchema).min(1).describe('Models to sell'),
23
+ registryUrl: z.string().url().describe('Registry service URL'),
24
+ relayUrl: z.string().url().describe('Relay WebSocket URL'),
25
+ upstreamBaseUrl: z.string().url().describe('Upstream API base URL'),
26
+ upstreamApiKey: z.string().describe('Upstream API key'),
27
+ heartbeatIntervalMs: z.number().positive().default(30000).describe('Heartbeat interval in ms'),
28
+ region: z.string().optional().describe('Geographic region'),
29
+ });
30
+ /**
31
+ * Selection strategy for buyers
32
+ */
33
+ export const SelectionStrategySchema = z.enum([
34
+ 'lowest_price',
35
+ 'lowest_latency',
36
+ 'highest_reputation',
37
+ ]);
38
+ /**
39
+ * Buyer mode configuration
40
+ */
41
+ export const BuyerConfigSchema = z.object({
42
+ registryUrl: z.string().url().describe('Registry service URL'),
43
+ relayUrl: z.string().url().describe('Relay WebSocket URL'),
44
+ strategy: SelectionStrategySchema.default('lowest_price').describe('Seller selection strategy'),
45
+ maxPriceMultiplier: z.number().positive().default(1.5).describe('Max price vs official'),
46
+ fallbackProvider: z.string().optional().describe('Fallback provider if no sellers'),
47
+ minReputation: z.number().min(0).max(100).default(50).describe('Minimum seller reputation'),
48
+ });
49
+ /**
50
+ * Wallet configuration for payments
51
+ */
52
+ export const WalletConfigSchema = z.object({
53
+ privateKey: z.string().optional().describe('Private key (hex) - auto-generated if not provided'),
54
+ keyStorePath: z.string().optional().describe('Path to encrypted keystore file'),
55
+ channelContractAddress: z.string().regex(/^0x[a-fA-F0-9]{40}$/).describe('ClawChannel contract address'),
56
+ chainId: z.number().positive().default(84532).describe('Chain ID (default: Base Sepolia)'),
57
+ rpcUrl: z.string().url().describe('RPC endpoint URL'),
58
+ paymasterUrl: z.string().url().optional().describe('Paymaster service URL'),
59
+ });
60
+ /**
61
+ * Main plugin configuration
62
+ */
63
+ export const ClawMarketConfigSchema = z.object({
64
+ enabled: z.boolean().default(true).describe('Enable ClawMarket plugin'),
65
+ role: z.enum(['seller', 'buyer', 'both']).describe('Operating mode'),
66
+ seller: SellerConfigSchema.optional().describe('Seller configuration (required if role is seller/both)'),
67
+ buyer: BuyerConfigSchema.optional().describe('Buyer configuration (required if role is buyer/both)'),
68
+ wallet: WalletConfigSchema.describe('Wallet and payment configuration'),
69
+ logLevel: z.enum(['debug', 'info', 'warn', 'error']).default('info'),
70
+ }).refine((data) => {
71
+ if (data.role === 'seller' || data.role === 'both') {
72
+ return data.seller !== undefined;
73
+ }
74
+ return true;
75
+ }, { message: 'Seller config required when role is seller or both' }).refine((data) => {
76
+ if (data.role === 'buyer' || data.role === 'both') {
77
+ return data.buyer !== undefined;
78
+ }
79
+ return true;
80
+ }, { message: 'Buyer config required when role is buyer or both' });
81
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export * from './config.js';
2
+ export * from './protocol.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from './config.js';
2
+ export * from './protocol.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC"}