@clawlogic/sdk 0.0.2 → 0.1.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 (51) hide show
  1. package/README.md +26 -2
  2. package/dist/bridge.d.ts +84 -0
  3. package/dist/bridge.d.ts.map +1 -0
  4. package/dist/bridge.js +99 -0
  5. package/dist/bridge.js.map +1 -0
  6. package/dist/cli/args.d.ts +9 -0
  7. package/dist/cli/args.d.ts.map +1 -0
  8. package/dist/cli/args.js +47 -0
  9. package/dist/cli/args.js.map +1 -0
  10. package/dist/cli/constants.d.ts +12 -0
  11. package/dist/cli/constants.d.ts.map +1 -0
  12. package/dist/cli/constants.js +13 -0
  13. package/dist/cli/constants.js.map +1 -0
  14. package/dist/cli/index.d.ts +3 -0
  15. package/dist/cli/index.d.ts.map +1 -0
  16. package/dist/cli/index.js +531 -0
  17. package/dist/cli/index.js.map +1 -0
  18. package/dist/cli/output.d.ts +5 -0
  19. package/dist/cli/output.d.ts.map +1 -0
  20. package/dist/cli/output.js +23 -0
  21. package/dist/cli/output.js.map +1 -0
  22. package/dist/cli/runtime.d.ts +25 -0
  23. package/dist/cli/runtime.d.ts.map +1 -0
  24. package/dist/cli/runtime.js +104 -0
  25. package/dist/cli/runtime.js.map +1 -0
  26. package/dist/client.d.ts +19 -2
  27. package/dist/client.d.ts.map +1 -1
  28. package/dist/client.js +56 -2
  29. package/dist/client.js.map +1 -1
  30. package/dist/identity.d.ts +9 -1
  31. package/dist/identity.d.ts.map +1 -1
  32. package/dist/identity.js +60 -9
  33. package/dist/identity.js.map +1 -1
  34. package/dist/index.d.ts +2 -0
  35. package/dist/index.d.ts.map +1 -1
  36. package/dist/index.js +1 -0
  37. package/dist/index.js.map +1 -1
  38. package/package.json +6 -3
  39. package/src/abis/AgentRegistry.json +1 -1
  40. package/src/abis/ENSAgentHelper.json +1 -1
  41. package/src/abis/OutcomeToken.json +1 -1
  42. package/src/abis/PredictionMarketHook.json +1 -1
  43. package/src/bridge.ts +193 -0
  44. package/src/cli/args.ts +66 -0
  45. package/src/cli/constants.ts +19 -0
  46. package/src/cli/index.ts +620 -0
  47. package/src/cli/output.ts +26 -0
  48. package/src/cli/runtime.ts +157 -0
  49. package/src/client.ts +70 -1
  50. package/src/identity.ts +76 -9
  51. package/src/index.ts +14 -0
@@ -0,0 +1,531 @@
1
+ #!/usr/bin/env node
2
+ import { spawn } from 'node:child_process';
3
+ import { formatEther, parseEther } from 'viem';
4
+ import { createRuntime } from './runtime.js';
5
+ import { getBoolFlag, getFlag, parseArgs } from './args.js';
6
+ import { outputError, outputSuccess, ensure, shortAddress } from './output.js';
7
+ import { NPM_UPGRADE_COMMAND } from './constants.js';
8
+ const VALID_BROADCAST_TYPES = new Set([
9
+ 'MarketBroadcast',
10
+ 'TradeRationale',
11
+ 'NegotiationIntent',
12
+ 'Onboarding',
13
+ ]);
14
+ async function commandInit() {
15
+ const runtime = await createRuntime({ requireWallet: true, autoCreateWallet: true });
16
+ const { client, address, createdWallet, config } = runtime;
17
+ ensure(address, 'Wallet address unavailable after initialization.');
18
+ const [blockNumber, marketCount, agentCount, balance] = await Promise.all([
19
+ client.publicClient.getBlockNumber(),
20
+ client.getMarketCount(),
21
+ client.getAgentCount(),
22
+ client.getBalance(),
23
+ ]);
24
+ outputSuccess({
25
+ command: 'init',
26
+ createdWallet,
27
+ walletAddress: address,
28
+ walletLabel: shortAddress(address),
29
+ statePath: runtime.statePath,
30
+ chainId: config.chainId,
31
+ rpcUrl: config.rpcUrl,
32
+ contracts: config.contracts,
33
+ blockNumber,
34
+ marketCount,
35
+ agentCount,
36
+ balanceWei: balance,
37
+ balanceEth: formatEther(balance),
38
+ funded: balance > 0n,
39
+ next: balance > 0n
40
+ ? 'Wallet funded. You can register with `clawlogic-agent register --name <ens-or-name>`.'
41
+ : `Fund ${address} on Arbitrum Sepolia, then run \`clawlogic-agent doctor\`.`,
42
+ });
43
+ }
44
+ async function commandDoctor() {
45
+ const runtime = await createRuntime({ requireWallet: true, autoCreateWallet: true });
46
+ const { client, address, createdWallet, config } = runtime;
47
+ ensure(address, 'Wallet address unavailable.');
48
+ const [blockNumber, marketCount, agentCount, balance] = await Promise.all([
49
+ client.publicClient.getBlockNumber(),
50
+ client.getMarketCount(),
51
+ client.getAgentCount(),
52
+ client.getBalance(),
53
+ ]);
54
+ let registered = false;
55
+ let agentName = null;
56
+ try {
57
+ const agent = await client.getAgent(address);
58
+ registered = agent.exists;
59
+ agentName = agent.exists ? agent.name : null;
60
+ }
61
+ catch {
62
+ registered = false;
63
+ }
64
+ outputSuccess({
65
+ command: 'doctor',
66
+ createdWallet,
67
+ walletAddress: address,
68
+ walletLabel: shortAddress(address),
69
+ statePath: runtime.statePath,
70
+ checks: {
71
+ rpcReachable: true,
72
+ contractsReadable: true,
73
+ funded: balance > 0n,
74
+ registered,
75
+ },
76
+ status: balance > 0n && registered ? 'ready' : 'needs_setup',
77
+ chainId: config.chainId,
78
+ rpcUrl: config.rpcUrl,
79
+ blockNumber,
80
+ marketCount,
81
+ agentCount,
82
+ balanceWei: balance,
83
+ balanceEth: formatEther(balance),
84
+ agentName,
85
+ });
86
+ }
87
+ async function commandRegister(flags, positional) {
88
+ const name = getFlag(flags, 'name') ?? positional[0];
89
+ ensure(name, 'Missing agent name. Use `--name <ens-or-name>`.');
90
+ const attestation = (getFlag(flags, 'attestation') ?? '0x');
91
+ const runtime = await createRuntime({ requireWallet: true, autoCreateWallet: true });
92
+ const { client, address } = runtime;
93
+ ensure(address, 'Wallet address unavailable.');
94
+ const balance = await client.getBalance();
95
+ ensure(balance > 0n, `Wallet ${address} has no ETH on Arbitrum Sepolia. Fund it before registration.`);
96
+ let existing = false;
97
+ try {
98
+ const current = await client.getAgent(address);
99
+ existing = current.exists;
100
+ if (current.exists) {
101
+ outputSuccess({
102
+ command: 'register',
103
+ alreadyRegistered: true,
104
+ walletAddress: address,
105
+ name: current.name,
106
+ });
107
+ return;
108
+ }
109
+ }
110
+ catch {
111
+ existing = false;
112
+ }
113
+ const txHash = name.endsWith('.eth')
114
+ ? await client.registerAgentWithENS(name, name, attestation)
115
+ : await client.registerAgent(name, attestation);
116
+ const agent = await client.getAgent(address);
117
+ outputSuccess({
118
+ command: 'register',
119
+ txHash,
120
+ alreadyRegistered: existing,
121
+ walletAddress: address,
122
+ name: agent.name,
123
+ ensLinked: name.endsWith('.eth'),
124
+ });
125
+ }
126
+ async function commandCreateMarket(flags, positional) {
127
+ const outcome1 = getFlag(flags, 'outcome1') ?? positional[0];
128
+ const outcome2 = getFlag(flags, 'outcome2') ?? positional[1];
129
+ const description = getFlag(flags, 'description') ?? positional.slice(2).join(' ');
130
+ ensure(outcome1, 'Missing outcome1. Use `--outcome1 yes`.');
131
+ ensure(outcome2, 'Missing outcome2. Use `--outcome2 no`.');
132
+ ensure(description, 'Missing description. Use `--description "..."`.');
133
+ const reward = parseWeiInput(getFlag(flags, 'reward-wei') ?? '0');
134
+ const bond = parseWeiInput(getFlag(flags, 'bond-wei') ?? '0');
135
+ const initialLiquidityEth = parseEthInput(getFlag(flags, 'initial-liquidity-eth') ?? '0');
136
+ const runtime = await createRuntime({ requireWallet: true, autoCreateWallet: true });
137
+ const { client } = runtime;
138
+ const beforeIds = await client.getMarketIds();
139
+ const txHash = await client.initializeMarket(outcome1, outcome2, description, reward, bond, initialLiquidityEth);
140
+ const afterIds = await client.getMarketIds();
141
+ const created = afterIds.find((id) => !beforeIds.includes(id));
142
+ const marketId = created ?? afterIds.at(-1) ?? null;
143
+ outputSuccess({
144
+ command: 'create-market',
145
+ txHash,
146
+ marketId,
147
+ outcome1,
148
+ outcome2,
149
+ description,
150
+ rewardWei: reward,
151
+ bondWei: bond,
152
+ initialLiquidityWei: initialLiquidityEth,
153
+ });
154
+ }
155
+ async function commandAnalyze(flags, positional) {
156
+ const marketId = (getFlag(flags, 'market-id') ?? positional[0]);
157
+ ensure(marketId, 'Missing market id. Use `--market-id <0x...>`.');
158
+ const runtime = await createRuntime({ requireWallet: false });
159
+ const { client, address } = runtime;
160
+ const [market, probability, reserves] = await Promise.all([
161
+ client.getMarket(marketId),
162
+ client.getMarketProbability(marketId),
163
+ client.getMarketReserves(marketId),
164
+ ]);
165
+ const positions = address
166
+ ? await client.getPositions(marketId, address).catch(() => null)
167
+ : null;
168
+ outputSuccess({
169
+ command: 'analyze',
170
+ market,
171
+ probability,
172
+ reserves,
173
+ positions,
174
+ analysis: {
175
+ status: market.resolved
176
+ ? 'RESOLVED'
177
+ : market.assertedOutcomeId !==
178
+ '0x0000000000000000000000000000000000000000000000000000000000000000'
179
+ ? 'ASSERTION_PENDING'
180
+ : 'OPEN',
181
+ canTrade: !market.resolved,
182
+ canAssert: !market.resolved &&
183
+ market.assertedOutcomeId ===
184
+ '0x0000000000000000000000000000000000000000000000000000000000000000',
185
+ canSettle: market.resolved,
186
+ },
187
+ });
188
+ }
189
+ async function commandBuy(flags, positional) {
190
+ const marketId = (getFlag(flags, 'market-id') ?? positional[0]);
191
+ const side = (getFlag(flags, 'side') ?? 'both').toLowerCase();
192
+ const ethAmount = parseEthInput(getFlag(flags, 'eth') ?? positional[1]);
193
+ ensure(marketId, 'Missing market id. Use `--market-id <0x...>`.');
194
+ ensure(ethAmount > 0n, 'ETH amount must be > 0.');
195
+ const runtime = await createRuntime({ requireWallet: true, autoCreateWallet: true });
196
+ const { client } = runtime;
197
+ let txHash;
198
+ let action;
199
+ if (side === 'both') {
200
+ txHash = await client.mintOutcomeTokens(marketId, ethAmount);
201
+ action = 'mintOutcomeTokens';
202
+ }
203
+ else if (side === 'yes' || side === 'no') {
204
+ const minOut = parseWeiInput(getFlag(flags, 'min-tokens-out') ?? '0');
205
+ txHash = await client.buyOutcomeToken(marketId, side === 'yes', ethAmount, minOut);
206
+ action = 'buyOutcomeToken';
207
+ }
208
+ else {
209
+ throw new Error('Invalid side. Use `both`, `yes`, or `no`.');
210
+ }
211
+ outputSuccess({
212
+ command: 'buy',
213
+ txHash,
214
+ action,
215
+ marketId,
216
+ side,
217
+ ethAmountWei: ethAmount,
218
+ ethAmountEth: formatEther(ethAmount),
219
+ });
220
+ }
221
+ async function commandAssert(flags, positional) {
222
+ const marketId = (getFlag(flags, 'market-id') ?? positional[0]);
223
+ const outcome = getFlag(flags, 'outcome') ?? positional[1];
224
+ ensure(marketId, 'Missing market id. Use `--market-id <0x...>`.');
225
+ ensure(outcome, 'Missing asserted outcome. Use `--outcome <yes|no|Unresolvable>`.');
226
+ const runtime = await createRuntime({ requireWallet: true, autoCreateWallet: true });
227
+ const txHash = await runtime.client.assertMarket(marketId, outcome);
228
+ outputSuccess({
229
+ command: 'assert',
230
+ txHash,
231
+ marketId,
232
+ assertedOutcome: outcome,
233
+ });
234
+ }
235
+ async function commandSettle(flags, positional) {
236
+ const marketId = (getFlag(flags, 'market-id') ?? positional[0]);
237
+ ensure(marketId, 'Missing market id. Use `--market-id <0x...>`.');
238
+ const runtime = await createRuntime({ requireWallet: true, autoCreateWallet: true });
239
+ const txHash = await runtime.client.settleOutcomeTokens(marketId);
240
+ outputSuccess({
241
+ command: 'settle',
242
+ txHash,
243
+ marketId,
244
+ });
245
+ }
246
+ async function commandPositions(flags, positional) {
247
+ const marketId = (getFlag(flags, 'market-id') ?? positional[0]);
248
+ const runtime = await createRuntime({ requireWallet: true, autoCreateWallet: true });
249
+ const { client, address } = runtime;
250
+ ensure(address, 'Wallet address unavailable.');
251
+ if (marketId) {
252
+ const [market, balances, ethBalance] = await Promise.all([
253
+ client.getMarket(marketId),
254
+ client.getPositions(marketId, address),
255
+ client.getBalance(),
256
+ ]);
257
+ outputSuccess({
258
+ command: 'positions',
259
+ walletAddress: address,
260
+ ethBalanceWei: ethBalance,
261
+ ethBalanceEth: formatEther(ethBalance),
262
+ positions: [
263
+ {
264
+ marketId,
265
+ description: market.description,
266
+ outcome1: market.outcome1,
267
+ outcome2: market.outcome2,
268
+ outcome1Balance: balances.outcome1Balance,
269
+ outcome2Balance: balances.outcome2Balance,
270
+ },
271
+ ],
272
+ });
273
+ return;
274
+ }
275
+ const [markets, ethBalance] = await Promise.all([
276
+ client.getAllMarkets(),
277
+ client.getBalance(),
278
+ ]);
279
+ const all = await Promise.all(markets.map(async (market) => {
280
+ const balances = await client.getPositions(market.marketId, address);
281
+ return {
282
+ marketId: market.marketId,
283
+ description: market.description,
284
+ outcome1: market.outcome1,
285
+ outcome2: market.outcome2,
286
+ outcome1Balance: balances.outcome1Balance,
287
+ outcome2Balance: balances.outcome2Balance,
288
+ };
289
+ }));
290
+ const nonZero = all.filter((item) => item.outcome1Balance > 0n || item.outcome2Balance > 0n);
291
+ outputSuccess({
292
+ command: 'positions',
293
+ walletAddress: address,
294
+ ethBalanceWei: ethBalance,
295
+ ethBalanceEth: formatEther(ethBalance),
296
+ positions: nonZero,
297
+ });
298
+ }
299
+ async function commandPostBroadcast(flags, positional) {
300
+ const typeRaw = getFlag(flags, 'type') ?? positional[0];
301
+ ensure(typeRaw, 'Missing broadcast type.');
302
+ ensure(VALID_BROADCAST_TYPES.has(typeRaw), `Invalid broadcast type: ${typeRaw}`);
303
+ const type = typeRaw;
304
+ const marketIdCandidate = getFlag(flags, 'market-id') ?? positional[1];
305
+ const marketId = marketIdCandidate && marketIdCandidate !== '-' ? marketIdCandidate : undefined;
306
+ const sideCandidate = getFlag(flags, 'side') ?? positional[2];
307
+ const side = sideCandidate && sideCandidate !== '-' ? sideCandidate : undefined;
308
+ const stakeEthCandidate = getFlag(flags, 'stake-eth') ?? positional[3];
309
+ const stakeEth = stakeEthCandidate && stakeEthCandidate !== '-' ? stakeEthCandidate : undefined;
310
+ const confidenceValue = getFlag(flags, 'confidence') ?? positional[4];
311
+ ensure(confidenceValue, 'Missing confidence (0-100).');
312
+ const confidence = Number.parseFloat(confidenceValue);
313
+ ensure(Number.isFinite(confidence) && confidence >= 0 && confidence <= 100, 'Invalid confidence.');
314
+ const reasoningFlag = getFlag(flags, 'reasoning');
315
+ const reasoning = reasoningFlag ?? (positional.length > 5 ? positional.slice(5).join(' ').trim() : '');
316
+ ensure(reasoning, 'Missing reasoning text.');
317
+ const runtime = await createRuntime({ requireWallet: true, autoCreateWallet: true });
318
+ const { address } = runtime;
319
+ ensure(address, 'Wallet address unavailable.');
320
+ const endpoint = process.env.AGENT_BROADCAST_URL?.trim() ??
321
+ 'http://localhost:3000/api/agent-broadcasts';
322
+ const agentName = process.env.AGENT_ENS_NAME?.trim() ??
323
+ process.env.AGENT_NAME?.trim() ??
324
+ `agent-${address.slice(2, 8)}`;
325
+ const payload = {
326
+ type,
327
+ agent: agentName,
328
+ agentAddress: address,
329
+ confidence,
330
+ reasoning,
331
+ };
332
+ if (process.env.AGENT_ENS_NAME?.trim()) {
333
+ payload.ensName = process.env.AGENT_ENS_NAME.trim();
334
+ }
335
+ if (process.env.AGENT_ENS_NODE?.trim()) {
336
+ payload.ensNode = process.env.AGENT_ENS_NODE.trim();
337
+ }
338
+ if (marketId)
339
+ payload.marketId = marketId;
340
+ if (side)
341
+ payload.side = side;
342
+ if (stakeEth)
343
+ payload.stakeEth = stakeEth;
344
+ if (process.env.AGENT_SESSION_ID?.trim())
345
+ payload.sessionId = process.env.AGENT_SESSION_ID.trim();
346
+ if (process.env.AGENT_TRADE_TX_HASH?.trim())
347
+ payload.tradeTxHash = process.env.AGENT_TRADE_TX_HASH.trim();
348
+ const headers = { 'content-type': 'application/json' };
349
+ if (process.env.AGENT_BROADCAST_API_KEY?.trim()) {
350
+ headers['x-agent-key'] = process.env.AGENT_BROADCAST_API_KEY.trim();
351
+ }
352
+ const response = await fetch(endpoint, {
353
+ method: 'POST',
354
+ headers,
355
+ body: JSON.stringify(payload),
356
+ });
357
+ if (!response.ok) {
358
+ const body = await response.text();
359
+ throw new Error(`Broadcast post failed (${response.status}): ${body}`);
360
+ }
361
+ const body = await response.json().catch(() => null);
362
+ outputSuccess({
363
+ command: 'post-broadcast',
364
+ posted: true,
365
+ endpoint,
366
+ payload,
367
+ response: body,
368
+ });
369
+ }
370
+ async function commandRun(flags) {
371
+ const runtime = await createRuntime({ requireWallet: true, autoCreateWallet: true });
372
+ const { client, address, createdWallet } = runtime;
373
+ ensure(address, 'Wallet address unavailable.');
374
+ const [balance, marketCount, agentCount] = await Promise.all([
375
+ client.getBalance(),
376
+ client.getMarketCount(),
377
+ client.getAgentCount(),
378
+ ]);
379
+ let registered = false;
380
+ let agentName = null;
381
+ try {
382
+ const agent = await client.getAgent(address);
383
+ registered = agent.exists;
384
+ agentName = agent.exists ? agent.name : null;
385
+ }
386
+ catch {
387
+ registered = false;
388
+ }
389
+ const autoName = getFlag(flags, 'name');
390
+ let registerTxHash = null;
391
+ if (!registered && autoName && balance > 0n) {
392
+ registerTxHash = autoName.endsWith('.eth')
393
+ ? await client.registerAgentWithENS(autoName, autoName, '0x')
394
+ : await client.registerAgent(autoName, '0x');
395
+ const post = await client.getAgent(address);
396
+ registered = post.exists;
397
+ agentName = post.name;
398
+ }
399
+ outputSuccess({
400
+ command: 'run',
401
+ createdWallet,
402
+ walletAddress: address,
403
+ statePath: runtime.statePath,
404
+ registerTxHash,
405
+ status: {
406
+ funded: balance > 0n,
407
+ registered,
408
+ ready: balance > 0n && registered,
409
+ },
410
+ wallet: {
411
+ balanceWei: balance,
412
+ balanceEth: formatEther(balance),
413
+ },
414
+ protocol: {
415
+ marketCount,
416
+ agentCount,
417
+ },
418
+ agentName,
419
+ next: !registered
420
+ ? 'Register with: clawlogic-agent register --name <ens-or-name>'
421
+ : 'Agent is ready. Create a market with: clawlogic-agent create-market --outcome1 yes --outcome2 no --description "..."',
422
+ });
423
+ }
424
+ async function commandUpgrade(flags) {
425
+ const apply = getBoolFlag(flags, 'apply');
426
+ const command = NPM_UPGRADE_COMMAND;
427
+ if (apply) {
428
+ await runProcess('npm', ['install', '@clawlogic/sdk@latest']);
429
+ }
430
+ outputSuccess({
431
+ command: 'upgrade-sdk',
432
+ applied: apply,
433
+ upgradeCommand: command,
434
+ });
435
+ }
436
+ function parseEthInput(value) {
437
+ ensure(value, 'Missing ETH amount.');
438
+ const parsed = parseEther(value);
439
+ return parsed;
440
+ }
441
+ function parseWeiInput(value) {
442
+ ensure(value !== undefined, 'Missing wei value.');
443
+ if (value.includes('.')) {
444
+ return parseEther(value);
445
+ }
446
+ return BigInt(value);
447
+ }
448
+ async function runProcess(bin, args) {
449
+ await new Promise((resolve, reject) => {
450
+ const child = spawn(bin, args, { stdio: 'inherit' });
451
+ child.on('error', reject);
452
+ child.on('exit', (code) => {
453
+ if (code === 0) {
454
+ resolve();
455
+ return;
456
+ }
457
+ reject(new Error(`${bin} exited with code ${code ?? 'unknown'}.`));
458
+ });
459
+ });
460
+ }
461
+ function printHelp() {
462
+ outputSuccess({
463
+ command: 'help',
464
+ usage: 'clawlogic-agent <command> [--flags]',
465
+ commands: [
466
+ 'init',
467
+ 'doctor',
468
+ 'register',
469
+ 'create-market',
470
+ 'analyze',
471
+ 'buy',
472
+ 'assert',
473
+ 'settle',
474
+ 'positions',
475
+ 'post-broadcast',
476
+ 'run',
477
+ 'upgrade-sdk',
478
+ ],
479
+ });
480
+ }
481
+ async function main() {
482
+ const { command, flags, positional } = parseArgs(process.argv.slice(2));
483
+ switch (command) {
484
+ case undefined:
485
+ case 'help':
486
+ case '--help':
487
+ case '-h':
488
+ printHelp();
489
+ return;
490
+ case 'init':
491
+ await commandInit();
492
+ return;
493
+ case 'doctor':
494
+ await commandDoctor();
495
+ return;
496
+ case 'register':
497
+ await commandRegister(flags, positional);
498
+ return;
499
+ case 'create-market':
500
+ await commandCreateMarket(flags, positional);
501
+ return;
502
+ case 'analyze':
503
+ await commandAnalyze(flags, positional);
504
+ return;
505
+ case 'buy':
506
+ await commandBuy(flags, positional);
507
+ return;
508
+ case 'assert':
509
+ await commandAssert(flags, positional);
510
+ return;
511
+ case 'settle':
512
+ await commandSettle(flags, positional);
513
+ return;
514
+ case 'positions':
515
+ await commandPositions(flags, positional);
516
+ return;
517
+ case 'post-broadcast':
518
+ await commandPostBroadcast(flags, positional);
519
+ return;
520
+ case 'run':
521
+ await commandRun(flags);
522
+ return;
523
+ case 'upgrade-sdk':
524
+ await commandUpgrade(flags);
525
+ return;
526
+ default:
527
+ throw new Error(`Unknown command: ${command}`);
528
+ }
529
+ }
530
+ main().catch(outputError);
531
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export declare function outputSuccess(payload: Record<string, unknown>): void;
2
+ export declare function outputError(error: unknown): never;
3
+ export declare function ensure(condition: unknown, message: string): asserts condition;
4
+ export declare function shortAddress(address: `0x${string}`): string;
5
+ //# sourceMappingURL=output.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../src/cli/output.ts"],"names":[],"mappings":"AAAA,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAEpE;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,CAIjD;AAED,wBAAgB,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAI7E;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,KAAK,MAAM,EAAE,GAAG,MAAM,CAE3D"}
@@ -0,0 +1,23 @@
1
+ export function outputSuccess(payload) {
2
+ console.log(JSON.stringify({ success: true, ...payload }, bigintReplacer, 2));
3
+ }
4
+ export function outputError(error) {
5
+ const message = error instanceof Error ? error.message : String(error);
6
+ console.error(JSON.stringify({ success: false, error: message }, null, 2));
7
+ process.exit(1);
8
+ }
9
+ export function ensure(condition, message) {
10
+ if (!condition) {
11
+ throw new Error(message);
12
+ }
13
+ }
14
+ export function shortAddress(address) {
15
+ return `${address.slice(0, 6)}...${address.slice(-4)}`;
16
+ }
17
+ function bigintReplacer(_key, value) {
18
+ if (typeof value === 'bigint') {
19
+ return value.toString();
20
+ }
21
+ return value;
22
+ }
23
+ //# sourceMappingURL=output.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/cli/output.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,aAAa,CAAC,OAAgC;IAC5D,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,CAAC;AAChF,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAc;IACxC,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC3E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,SAAkB,EAAE,OAAe;IACxD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;AACH,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAAsB;IACjD,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACzD,CAAC;AAED,SAAS,cAAc,CAAC,IAAY,EAAE,KAAc;IAClD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC1B,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,25 @@
1
+ import type { ClawlogicConfig } from '../types.js';
2
+ import { ClawlogicClient } from '../client.js';
3
+ interface PersistedState {
4
+ version: 1;
5
+ privateKey: `0x${string}`;
6
+ address: `0x${string}`;
7
+ createdAt: string;
8
+ rpcUrl?: string;
9
+ contracts?: Partial<ClawlogicConfig['contracts']>;
10
+ }
11
+ export interface RuntimeContext {
12
+ client: ClawlogicClient;
13
+ config: ClawlogicConfig;
14
+ address?: `0x${string}`;
15
+ statePath: string;
16
+ createdWallet: boolean;
17
+ state?: PersistedState;
18
+ }
19
+ export interface RuntimeOptions {
20
+ requireWallet?: boolean;
21
+ autoCreateWallet?: boolean;
22
+ }
23
+ export declare function createRuntime(options?: RuntimeOptions): Promise<RuntimeContext>;
24
+ export {};
25
+ //# sourceMappingURL=runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/cli/runtime.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAQ/C,UAAU,cAAc;IACtB,OAAO,EAAE,CAAC,CAAC;IACX,UAAU,EAAE,KAAK,MAAM,EAAE,CAAC;IAC1B,OAAO,EAAE,KAAK,MAAM,EAAE,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC;CACnD;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,eAAe,CAAC;IACxB,MAAM,EAAE,eAAe,CAAC;IACxB,OAAO,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,OAAO,CAAC;IACvB,KAAK,CAAC,EAAE,cAAc,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,wBAAsB,aAAa,CACjC,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,cAAc,CAAC,CA4CzB"}