memeputer 1.1.3 → 1.1.4

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 (49) hide show
  1. package/dist/__tests__/config.test.d.ts +2 -0
  2. package/dist/__tests__/config.test.d.ts.map +1 -0
  3. package/dist/__tests__/config.test.js +40 -0
  4. package/dist/__tests__/config.test.js.map +1 -0
  5. package/dist/__tests__/formatting.test.d.ts +2 -0
  6. package/dist/__tests__/formatting.test.d.ts.map +1 -0
  7. package/dist/__tests__/formatting.test.js +57 -0
  8. package/dist/__tests__/formatting.test.js.map +1 -0
  9. package/dist/__tests__/wallet.test.d.ts +2 -0
  10. package/dist/__tests__/wallet.test.d.ts.map +1 -0
  11. package/dist/__tests__/wallet.test.js +30 -0
  12. package/dist/__tests__/wallet.test.js.map +1 -0
  13. package/dist/commands/agents.js +2 -2
  14. package/dist/commands/agents.js.map +1 -1
  15. package/dist/commands/balance.js +1 -1
  16. package/dist/commands/balance.js.map +1 -1
  17. package/dist/commands/command.d.ts.map +1 -1
  18. package/dist/commands/command.js +56 -9
  19. package/dist/commands/command.js.map +1 -1
  20. package/dist/commands/prompt.d.ts +3 -0
  21. package/dist/commands/prompt.d.ts.map +1 -0
  22. package/dist/commands/{ask.js → prompt.js} +19 -10
  23. package/dist/commands/prompt.js.map +1 -0
  24. package/dist/index.js +5 -3
  25. package/dist/index.js.map +1 -1
  26. package/dist/lib/config.d.ts.map +1 -1
  27. package/dist/lib/config.js +16 -6
  28. package/dist/lib/config.js.map +1 -1
  29. package/dist/utils/formatting.d.ts +2 -0
  30. package/dist/utils/formatting.d.ts.map +1 -1
  31. package/dist/utils/formatting.js +13 -1
  32. package/dist/utils/formatting.js.map +1 -1
  33. package/package.json +17 -12
  34. package/vitest.config.ts +9 -0
  35. package/dist/commands/ask.d.ts +0 -3
  36. package/dist/commands/ask.d.ts.map +0 -1
  37. package/dist/commands/ask.js.map +0 -1
  38. package/dist/commands/pfp.d.ts +0 -3
  39. package/dist/commands/pfp.d.ts.map +0 -1
  40. package/dist/commands/pfp.js +0 -99
  41. package/dist/commands/pfp.js.map +0 -1
  42. package/dist/lib/api.d.ts +0 -56
  43. package/dist/lib/api.d.ts.map +0 -1
  44. package/dist/lib/api.js +0 -160
  45. package/dist/lib/api.js.map +0 -1
  46. package/dist/lib/x402Client.d.ts +0 -14
  47. package/dist/lib/x402Client.d.ts.map +0 -1
  48. package/dist/lib/x402Client.js +0 -105
  49. package/dist/lib/x402Client.js.map +0 -1
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=config.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/config.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,40 @@
1
+ import { describe, it, expect, beforeEach, afterEach } from 'vitest';
2
+ import { join } from 'path';
3
+ import { homedir } from 'os';
4
+ describe('CLI Configuration', () => {
5
+ describe('Environment Variables', () => {
6
+ let originalEnv;
7
+ beforeEach(() => {
8
+ originalEnv = { ...process.env };
9
+ });
10
+ afterEach(() => {
11
+ process.env = originalEnv;
12
+ });
13
+ it('should read MEMEPUTER_WALLET from environment', () => {
14
+ process.env.MEMEPUTER_WALLET = '/test/wallet.json';
15
+ expect(process.env.MEMEPUTER_WALLET).toBe('/test/wallet.json');
16
+ });
17
+ it('should read MEMEPUTER_API_URL from environment', () => {
18
+ process.env.MEMEPUTER_API_URL = 'https://test.api.com';
19
+ expect(process.env.MEMEPUTER_API_URL).toBe('https://test.api.com');
20
+ });
21
+ it('should read SOLANA_RPC_URL from environment', () => {
22
+ process.env.SOLANA_RPC_URL = 'https://test.rpc.com';
23
+ expect(process.env.SOLANA_RPC_URL).toBe('https://test.rpc.com');
24
+ });
25
+ });
26
+ describe('Default Paths', () => {
27
+ it('should have default Solana config path', () => {
28
+ const defaultPath = join(homedir(), '.config', 'solana', 'id.json');
29
+ expect(typeof defaultPath).toBe('string');
30
+ expect(defaultPath).toContain('.config');
31
+ expect(defaultPath).toContain('solana');
32
+ });
33
+ it('should have default memeputerrc path', () => {
34
+ const rcPath = join(homedir(), '.memeputerrc');
35
+ expect(typeof rcPath).toBe('string');
36
+ expect(rcPath).toContain('.memeputerrc');
37
+ });
38
+ });
39
+ });
40
+ //# sourceMappingURL=config.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.test.js","sourceRoot":"","sources":["../../src/__tests__/config.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAM,MAAM,QAAQ,CAAC;AAEzE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAE7B,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;QACrC,IAAI,WAA8B,CAAC;QAEnC,UAAU,CAAC,GAAG,EAAE;YACd,WAAW,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QACnC,CAAC,CAAC,CAAC;QAEH,SAAS,CAAC,GAAG,EAAE;YACb,OAAO,CAAC,GAAG,GAAG,WAAW,CAAC;QAC5B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;YACvD,OAAO,CAAC,GAAG,CAAC,gBAAgB,GAAG,mBAAmB,CAAC;YACnD,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;YACxD,OAAO,CAAC,GAAG,CAAC,iBAAiB,GAAG,sBAAsB,CAAC;YACvD,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;YACrD,OAAO,CAAC,GAAG,CAAC,cAAc,GAAG,sBAAsB,CAAC;YACpD,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;QAC7B,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;YAChD,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;YACpE,MAAM,CAAC,OAAO,WAAW,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC1C,MAAM,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YACzC,MAAM,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;YAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,cAAc,CAAC,CAAC;YAC/C,MAAM,CAAC,OAAO,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACrC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=formatting.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatting.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/formatting.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,57 @@
1
+ import { describe, it, expect } from 'vitest';
2
+ import { formatAgent, formatPublicKey, formatUsdc, formatError, formatSuccess, } from '../utils/formatting';
3
+ describe('CLI Formatting Utilities', () => {
4
+ describe('formatAgent', () => {
5
+ it('should format agent name with emoji', () => {
6
+ const result = formatAgent('memeputer');
7
+ expect(result).toContain('memeputer');
8
+ expect(result).toContain('🤖');
9
+ });
10
+ });
11
+ describe('formatPublicKey', () => {
12
+ it('should truncate long public keys', () => {
13
+ const longKey = 'G31J8ZeVKo6j6xkxkjCcHENhQGNQid575MRvyixxNUJQ';
14
+ const result = formatPublicKey(longKey);
15
+ expect(result).toContain('G31J');
16
+ expect(result).toContain('...');
17
+ expect(result.length).toBeLessThan(longKey.length);
18
+ });
19
+ it('should handle short keys', () => {
20
+ const shortKey = 'ABC123';
21
+ const result = formatPublicKey(shortKey);
22
+ expect(result).toContain('ABC123');
23
+ });
24
+ });
25
+ describe('formatUsdc', () => {
26
+ it('should format USDC amounts with 2 decimals by default', () => {
27
+ expect(formatUsdc(1.5)).toContain('1.50');
28
+ expect(formatUsdc(1.5)).toContain('USDC');
29
+ });
30
+ it('should format small amounts with more decimals', () => {
31
+ expect(formatUsdc(0.001)).toContain('0.001');
32
+ expect(formatUsdc(0.0001)).toContain('0.0001');
33
+ });
34
+ it('should format zero correctly', () => {
35
+ expect(formatUsdc(0)).toContain('0.00');
36
+ });
37
+ it('should format large amounts correctly', () => {
38
+ expect(formatUsdc(1000)).toContain('1000.00');
39
+ expect(formatUsdc(1000.5)).toContain('1000.50');
40
+ });
41
+ });
42
+ describe('formatError', () => {
43
+ it('should format error messages', () => {
44
+ const result = formatError('Something went wrong');
45
+ expect(result).toContain('Something went wrong');
46
+ expect(result).toContain('❌');
47
+ });
48
+ });
49
+ describe('formatSuccess', () => {
50
+ it('should format success messages', () => {
51
+ const result = formatSuccess('Operation completed');
52
+ expect(result).toContain('Operation completed');
53
+ expect(result).toContain('✅');
54
+ });
55
+ });
56
+ });
57
+ //# sourceMappingURL=formatting.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatting.test.js","sourceRoot":"","sources":["../../src/__tests__/formatting.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EACL,WAAW,EACX,eAAe,EACf,UAAU,EACV,WAAW,EACX,aAAa,GACd,MAAM,qBAAqB,CAAC;AAE7B,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;IACxC,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;QAC3B,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;YAC7C,MAAM,MAAM,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;YACxC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;YACtC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;QAC/B,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;YAC1C,MAAM,OAAO,GAAG,8CAA8C,CAAC;YAC/D,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;YACxC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YACjC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAChC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;YAClC,MAAM,QAAQ,GAAG,QAAQ,CAAC;YAC1B,MAAM,MAAM,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;YACzC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;QAC1B,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;YAC/D,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAC1C,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;YACxD,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAC7C,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;YACtC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;YAC/C,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YAC9C,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;QAC3B,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;YACtC,MAAM,MAAM,GAAG,WAAW,CAAC,sBAAsB,CAAC,CAAC;YACnD,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;YACjD,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;QAC7B,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;YACxC,MAAM,MAAM,GAAG,aAAa,CAAC,qBAAqB,CAAC,CAAC;YACpD,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;YAChD,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=wallet.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wallet.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/wallet.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,30 @@
1
+ import { describe, it, expect } from 'vitest';
2
+ import { Keypair } from '@solana/web3.js';
3
+ describe('Wallet Utilities', () => {
4
+ describe('Keypair Generation', () => {
5
+ it('should generate valid Solana keypairs', () => {
6
+ const keypair = Keypair.generate();
7
+ expect(keypair).toBeDefined();
8
+ expect(keypair.publicKey).toBeDefined();
9
+ expect(keypair.secretKey).toBeDefined();
10
+ expect(keypair.publicKey.toBase58()).toBeTruthy();
11
+ expect(keypair.secretKey.length).toBe(64);
12
+ });
13
+ it('should generate unique keypairs', () => {
14
+ const keypair1 = Keypair.generate();
15
+ const keypair2 = Keypair.generate();
16
+ expect(keypair1.publicKey.toBase58()).not.toBe(keypair2.publicKey.toBase58());
17
+ });
18
+ });
19
+ describe('Public Key Validation', () => {
20
+ it('should validate public key format', () => {
21
+ const keypair = Keypair.generate();
22
+ const pubkey = keypair.publicKey.toBase58();
23
+ // Solana public keys are base58 encoded, typically 32-44 chars
24
+ expect(pubkey.length).toBeGreaterThan(30);
25
+ expect(pubkey.length).toBeLessThan(50);
26
+ expect(/^[1-9A-HJ-NP-Za-km-z]+$/.test(pubkey)).toBe(true); // Base58 alphabet
27
+ });
28
+ });
29
+ });
30
+ //# sourceMappingURL=wallet.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wallet.test.js","sourceRoot":"","sources":["../../src/__tests__/wallet.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAClC,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;YAC/C,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;YAEnC,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;YAC9B,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;YACxC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;YACxC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC;YAClD,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;YACzC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;YACpC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;YAEpC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;QAChF,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;QACrC,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;YAC3C,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;YACnC,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;YAE5C,+DAA+D;YAC/D,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;YAC1C,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YACvC,MAAM,CAAC,yBAAyB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB;QAC/E,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { Command } from "commander";
2
2
  import ora from "ora";
3
3
  import { loadConfig } from "../lib/config.js";
4
- import { AgentsApiClient } from "../lib/api.js";
4
+ import { AgentsApiClient } from "@memeputer/sdk";
5
5
  import { formatError, formatTable, formatPrice, formatAgent, } from "../utils/formatting.js";
6
6
  export function createAgentsCommand() {
7
7
  return new Command("agents")
@@ -34,7 +34,7 @@ export function createAgentsCommand() {
34
34
  console.log();
35
35
  console.log("💡 Usage:");
36
36
  console.log(' memeputer pfp "your prompt" --wallet ~/.config/solana/id.json');
37
- console.log(' memeputer ask veOputer "your message"');
37
+ console.log(' memeputer prompt veOputer "your message"');
38
38
  console.log();
39
39
  }
40
40
  }
@@ -1 +1 @@
1
- {"version":3,"file":"agents.js","sourceRoot":"","sources":["../../src/commands/agents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EACL,WAAW,EACX,WAAW,EACX,WAAW,EACX,WAAW,GACZ,MAAM,wBAAwB,CAAC;AAEhC,MAAM,UAAU,mBAAmB;IACjC,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC;SACzB,WAAW,CAAC,8BAA8B,CAAC;SAC3C,MAAM,CAAC,QAAQ,EAAE,uBAAuB,CAAC;SACzC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAO,CAAC;YAE9B,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,KAAK,EAAE,CAAC;YACxE,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC;YAC3C,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;YAEzC,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,CAAC;YAED,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/C,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;gBAC7C,OAAO,CAAC,GAAG,EAAE,CAAC;gBAEd,WAAW,CACT,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,UAAU,CAAC,EAC7C,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;oBACpB,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC;oBACvB,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;wBAC5B,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC9C,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC;oBACxB,KAAK,CAAC,QAAQ;iBACf,CAAC,CACH,CAAC;gBAEF,OAAO,CAAC,GAAG,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBACzB,OAAO,CAAC,GAAG,CACT,iEAAiE,CAClE,CAAC;gBACF,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;gBACvD,OAAO,CAAC,GAAG,EAAE,CAAC;YAChB,CAAC;QACH,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,IAAI,wBAAwB,CAAC,CAAC,CAAC;YACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"agents.js","sourceRoot":"","sources":["../../src/commands/agents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EACL,WAAW,EACX,WAAW,EACX,WAAW,EACX,WAAW,GACZ,MAAM,wBAAwB,CAAC;AAEhC,MAAM,UAAU,mBAAmB;IACjC,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC;SACzB,WAAW,CAAC,8BAA8B,CAAC;SAC3C,MAAM,CAAC,QAAQ,EAAE,uBAAuB,CAAC;SACzC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAO,CAAC;YAE9B,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,KAAK,EAAE,CAAC;YACxE,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC;YAC3C,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;YAEzC,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,CAAC;YAED,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/C,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;gBAC7C,OAAO,CAAC,GAAG,EAAE,CAAC;gBAEd,WAAW,CACT,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,UAAU,CAAC,EAC7C,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;oBACpB,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC;oBACvB,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;wBAC5B,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC9C,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC;oBACxB,KAAK,CAAC,QAAQ;iBACf,CAAC,CACH,CAAC;gBAEF,OAAO,CAAC,GAAG,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBACzB,OAAO,CAAC,GAAG,CACT,iEAAiE,CAClE,CAAC;gBACF,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;gBAC1D,OAAO,CAAC,GAAG,EAAE,CAAC;YAChB,CAAC;QACH,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,IAAI,wBAAwB,CAAC,CAAC,CAAC;YACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -4,7 +4,7 @@ import ora from "ora";
4
4
  import chalk from "chalk";
5
5
  import { loadConfig, getDefaultWalletPath } from "../lib/config.js";
6
6
  import { loadWallet, formatPublicKey } from "../lib/wallet.js";
7
- import { getUsdcBalance } from "../lib/x402Client.js";
7
+ import { getUsdcBalance } from "@memeputer/sdk";
8
8
  import { formatError, formatSuccess, formatPrice, } from "../utils/formatting.js";
9
9
  export function createBalanceCommand() {
10
10
  return new Command("balance")
@@ -1 +1 @@
1
- {"version":3,"file":"balance.js","sourceRoot":"","sources":["../../src/commands/balance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"balance.js","sourceRoot":"","sources":["../../src/commands/balance.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/commands/command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAWpC,eAAO,MAAM,cAAc,SAqMxB,CAAC"}
1
+ {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/commands/command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAWpC,eAAO,MAAM,cAAc,SAqPxB,CAAC"}
@@ -4,7 +4,7 @@ import ora from "ora";
4
4
  import chalk from "chalk";
5
5
  import fs from "fs";
6
6
  import path from "path";
7
- import { AgentsApiClient } from "../lib/api.js";
7
+ import { Memeputer } from "@memeputer/sdk";
8
8
  import { loadConfig, getDefaultWalletPath } from "../lib/config.js";
9
9
  import { loadWallet, formatPublicKey } from "../lib/wallet.js";
10
10
  import { formatInfo } from "../utils/formatting.js";
@@ -12,12 +12,12 @@ export const commandCommand = new Command("command")
12
12
  .description("Execute a custom command on an agent")
13
13
  .argument("<agent>", "Agent username or ID")
14
14
  .argument("<command>", "Command name (without the / prefix)")
15
- .argument("[args...]", "Command arguments")
15
+ .allowUnknownOption() // Allow command-specific options like --sources, --max-items, etc.
16
16
  .option("-w, --wallet <path>", "Path to Solana wallet keypair")
17
17
  .option("-d, --download <path>", "Download media to specified path (for async commands)")
18
18
  .option("--json", "Output in JSON format")
19
19
  .option("-q, --quiet", "Suppress progress output")
20
- .action(async (agentName, command, args, options) => {
20
+ .action(async (agentName, command, options) => {
21
21
  const quiet = options.quiet || options.json;
22
22
  let spinner = null;
23
23
  try {
@@ -42,23 +42,70 @@ export const commandCommand = new Command("command")
42
42
  if (spinner) {
43
43
  spinner.succeed("Connected to Solana");
44
44
  }
45
+ // Extract command-specific options from process.argv
46
+ // Format: memeputer command agent command-name --param1 value1 --param2 value2
47
+ const cliOptionNames = ['wallet', 'w', 'download', 'd', 'json', 'quiet', 'q'];
48
+ const commandParams = [];
49
+ // Get the raw args after 'command agent command-name'
50
+ const args = process.argv.slice(process.argv.indexOf(command) + 1);
51
+ // Parse named parameters: --param value or --param=value
52
+ for (let i = 0; i < args.length; i++) {
53
+ const arg = args[i];
54
+ // Skip CLI options (handled by Commander)
55
+ if (cliOptionNames.some(opt => arg === `--${opt}` || arg === `-${opt}`)) {
56
+ i++; // Skip the value too
57
+ continue;
58
+ }
59
+ // Handle --param=value format
60
+ if (arg.startsWith('--') && arg.includes('=')) {
61
+ const [key, value] = arg.substring(2).split('=');
62
+ if (!cliOptionNames.includes(key)) {
63
+ commandParams.push(value);
64
+ }
65
+ }
66
+ // Handle --param value format
67
+ else if (arg.startsWith('--') && !arg.includes('=')) {
68
+ const key = arg.substring(2);
69
+ if (!cliOptionNames.includes(key) && i + 1 < args.length) {
70
+ const value = args[i + 1];
71
+ // Check if next arg is not another option
72
+ if (!value.startsWith('-')) {
73
+ commandParams.push(value);
74
+ i++; // Skip the value
75
+ }
76
+ }
77
+ }
78
+ // Handle positional arguments (for backward compatibility)
79
+ else if (!arg.startsWith('-')) {
80
+ commandParams.push(arg);
81
+ }
82
+ }
45
83
  // Build the message with slash prefix
46
- const commandArgs = args.join(" ");
47
- const message = commandArgs
48
- ? `/${command} ${commandArgs}`
84
+ // Format: /command param1 param2 param3
85
+ const message = commandParams.length > 0
86
+ ? `/${command} ${commandParams.join(" ")}`
49
87
  : `/${command}`;
50
88
  spinner = quiet
51
89
  ? null
52
90
  : ora(`Executing /${command} on ${agentId}...`).start();
53
- const apiClient = new AgentsApiClient(apiUrl);
54
- const result = await apiClient.interact(agentId, message, wallet, connection);
91
+ const memeputer = new Memeputer({
92
+ apiUrl,
93
+ rpcUrl,
94
+ wallet,
95
+ connection,
96
+ });
97
+ const result = await memeputer.command({
98
+ agentId,
99
+ command,
100
+ params: commandParams,
101
+ });
55
102
  // Check if this is an async operation
56
103
  if (result.statusUrl) {
57
104
  if (spinner) {
58
105
  spinner.text = `Operation started. Waiting for completion...`;
59
106
  }
60
107
  // Poll for completion
61
- const finalResult = await apiClient.pollStatus(result.statusUrl, {
108
+ const finalResult = await memeputer.pollStatus(result.statusUrl, {
62
109
  intervalMs: 5000,
63
110
  maxAttempts: 60,
64
111
  onProgress: (attempt, status) => {
@@ -1 +1 @@
1
- {"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/commands/command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/commands/command.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from "commander";
2
+ export declare function createPromptCommand(): Command;
3
+ //# sourceMappingURL=prompt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../src/commands/prompt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAcpC,wBAAgB,mBAAmB,IAAI,OAAO,CAyM7C"}
@@ -4,11 +4,11 @@ import ora from "ora";
4
4
  import chalk from "chalk";
5
5
  import { loadConfig, getDefaultWalletPath } from "../lib/config.js";
6
6
  import { loadWallet, formatPublicKey } from "../lib/wallet.js";
7
- import { AgentsApiClient } from "../lib/api.js";
7
+ import { Memeputer } from "@memeputer/sdk";
8
8
  import { formatSuccess, formatError, formatInfo, formatAgent, } from "../utils/formatting.js";
9
- export function createAskCommand() {
10
- return new Command("ask")
11
- .description("Ask any agent a question (pays via x402 with $0 gas fees!)")
9
+ export function createPromptCommand() {
10
+ return new Command("prompt")
11
+ .description("Prompt any agent with a message (pays via x402 with $0 gas fees!)")
12
12
  .argument("<agent>", "Agent ID (e.g., memeputer, tradeputer, pfpputer)")
13
13
  .argument("<message>", "Your message or question")
14
14
  .option("-w, --wallet <path>", "Path to Solana wallet keypair")
@@ -39,12 +39,21 @@ export function createAskCommand() {
39
39
  if (spinner) {
40
40
  spinner.succeed("Connected to Solana");
41
41
  }
42
- // Call API with manual x402 payment flow
42
+ // Create SDK instance
43
+ const memeputer = new Memeputer({
44
+ apiUrl,
45
+ rpcUrl,
46
+ wallet,
47
+ connection,
48
+ });
49
+ // Call agent with prompt
43
50
  spinner = quiet
44
51
  ? null
45
- : ora(`Asking ${formatAgent(agentName)}... (processing payment via x402)`).start();
46
- const apiClient = new AgentsApiClient(apiUrl);
47
- const result = await apiClient.interact(agentId, message, wallet, connection);
52
+ : ora(`Prompting ${formatAgent(agentName)}... (processing payment via x402)`).start();
53
+ const result = await memeputer.prompt({
54
+ agentId,
55
+ message,
56
+ });
48
57
  if (spinner) {
49
58
  spinner.succeed(`Response received from ${formatAgent(agentName)}`);
50
59
  }
@@ -53,7 +62,7 @@ export function createAskCommand() {
53
62
  spinner = quiet
54
63
  ? null
55
64
  : ora("Waiting for operation to complete...").start();
56
- const statusResult = await apiClient.pollStatus(result.statusUrl, {
65
+ const statusResult = await memeputer.pollStatus(result.statusUrl, {
57
66
  intervalMs: 5000,
58
67
  maxAttempts: 60,
59
68
  onProgress: (attempt, status) => {
@@ -153,4 +162,4 @@ export function createAskCommand() {
153
162
  }
154
163
  });
155
164
  }
156
- //# sourceMappingURL=ask.js.map
165
+ //# sourceMappingURL=prompt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/commands/prompt.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import { Command } from "commander";
3
3
  import chalk from "chalk";
4
- import { createAskCommand } from "./commands/ask.js";
4
+ import { createPromptCommand } from "./commands/prompt.js";
5
5
  import { createAgentsCommand } from "./commands/agents.js";
6
6
  import { createBalanceCommand } from "./commands/balance.js";
7
7
  import { commandCommand } from "./commands/command.js";
@@ -18,7 +18,7 @@ program
18
18
  "\n Pay and interact with AI agents via x402 micropayments")
19
19
  .version(packageJson.version);
20
20
  // Add commands
21
- program.addCommand(createAskCommand());
21
+ program.addCommand(createPromptCommand());
22
22
  program.addCommand(commandCommand);
23
23
  program.addCommand(createAgentsCommand());
24
24
  program.addCommand(createBalanceCommand());
@@ -26,9 +26,11 @@ program.addCommand(createBalanceCommand());
26
26
  program.on("--help", () => {
27
27
  console.log();
28
28
  console.log("Examples:");
29
- console.log(' $ memeputer ask FINNPUTER "whats up"');
29
+ console.log(' $ memeputer prompt FINNPUTER "whats up"');
30
30
  console.log(" $ memeputer command rawgroundbeef ping");
31
31
  console.log(' $ memeputer command rawgroundbeef pfp "a cool cyberpunk hacker"');
32
+ console.log(" $ memeputer command trendputer get_trends --sources RSS --max-items 3");
33
+ console.log(" $ memeputer command trendputer get_trends --sources RSS --max-items=3 --include-hashtags=true");
32
34
  console.log(" $ memeputer agents");
33
35
  console.log(" $ memeputer balance");
34
36
  console.log();
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,iCAAiC;AACjC,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1D,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAC5B,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,EAAE,OAAO,CAAC,CAC1D,CAAC;AAEF,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,WAAW,CAAC;KACjB,WAAW,CACV,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC;IAC5B,6DAA6D,CAChE;KACA,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;AAEhC,eAAe;AACf,OAAO,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC,CAAC;AACvC,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;AACnC,OAAO,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAC;AAC1C,OAAO,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC,CAAC;AAE3C,mBAAmB;AACnB,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;IACxB,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACzB,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;IACtD,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;IACxD,OAAO,CAAC,GAAG,CACT,mEAAmE,CACpE,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;IACpC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IACrC,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAC9B,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;IAClE,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC3B,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;IAChE,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;IAC7D,OAAO,CAAC,GAAG,EAAE,CAAC;AAChB,CAAC,CAAC,CAAC;AAEH,oBAAoB;AACpB,OAAO,CAAC,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,iCAAiC;AACjC,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1D,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAC5B,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,EAAE,OAAO,CAAC,CAC1D,CAAC;AAEF,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,WAAW,CAAC;KACjB,WAAW,CACV,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC;IAC5B,6DAA6D,CAChE;KACA,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;AAEhC,eAAe;AACf,OAAO,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAC;AAC1C,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;AACnC,OAAO,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAC;AAC1C,OAAO,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC,CAAC;AAE3C,mBAAmB;AACnB,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;IACxB,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACzB,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;IACzD,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;IACxD,OAAO,CAAC,GAAG,CACT,mEAAmE,CACpE,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,yEAAyE,CAAC,CAAC;IACvF,OAAO,CAAC,GAAG,CAAC,iGAAiG,CAAC,CAAC;IAC/G,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;IACpC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IACrC,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAC9B,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;IAClE,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC3B,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;IAChE,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;IAC7D,OAAO,CAAC,GAAG,EAAE,CAAC;AAChB,CAAC,CAAC,CAAC;AAEH,oBAAoB;AACpB,OAAO,CAAC,KAAK,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,MAAM;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAID,wBAAgB,UAAU,IAAI,MAAM,CA0CnC;AAED,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,MAAM;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAID,wBAAgB,UAAU,IAAI,MAAM,CAkDnC;AAED,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C"}
@@ -31,12 +31,22 @@ export function loadConfig() {
31
31
  }
32
32
  // Set default RPC URL if not specified
33
33
  if (!config.rpcUrl) {
34
- // Use Helius for better reliability
35
- const heliusKey = process.env.HELIUS_API_KEY || "e20ea2f4-232f-484e-be1e-e41b698a7850";
36
- config.rpcUrl =
37
- config.network === "mainnet-beta"
38
- ? `https://rpc.helius.xyz/?api-key=${heliusKey}`
39
- : "https://api.devnet.solana.com";
34
+ // Use Helius for better reliability (requires HELIUS_API_KEY env var)
35
+ // Or fallback to public RPC endpoints
36
+ const heliusKey = process.env.HELIUS_API_KEY;
37
+ if (heliusKey) {
38
+ config.rpcUrl =
39
+ config.network === "mainnet-beta"
40
+ ? `https://rpc.helius.xyz/?api-key=${heliusKey}`
41
+ : "https://api.devnet.solana.com";
42
+ }
43
+ else {
44
+ // Fallback to public RPC endpoints
45
+ config.rpcUrl =
46
+ config.network === "mainnet-beta"
47
+ ? "https://api.mainnet-beta.solana.com"
48
+ : "https://api.devnet.solana.com";
49
+ }
40
50
  }
41
51
  return config;
42
52
  }
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAS9C,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,cAAc,CAAC,CAAC;AAEpD,MAAM,UAAU,UAAU;IACxB,MAAM,MAAM,GAAW;QACrB,OAAO,EAAE,cAAc;QACvB,MAAM,EACJ,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa;YACpC,CAAC,CAAC,uBAAuB;YACzB,CAAC,CAAC,kCAAkC,EAAE,wBAAwB;KACnE,CAAC;IAEF,wBAAwB;IACxB,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC5B,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;YAClE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QACpC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,4BAA4B;QAC9B,CAAC;IACH,CAAC;IAED,sCAAsC;IACtC,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACjC,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;IAC/C,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC;QAClC,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;IAChD,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;QAC/B,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;IAC7C,CAAC;IAED,uCAAuC;IACvC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,oCAAoC;QACpC,MAAM,SAAS,GACb,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,sCAAsC,CAAC;QACvE,MAAM,CAAC,MAAM;YACX,MAAM,CAAC,OAAO,KAAK,cAAc;gBAC/B,CAAC,CAAC,mCAAmC,SAAS,EAAE;gBAChD,CAAC,CAAC,+BAA+B,CAAC;IACxC,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;AACzD,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAS9C,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,cAAc,CAAC,CAAC;AAEpD,MAAM,UAAU,UAAU;IACxB,MAAM,MAAM,GAAW;QACrB,OAAO,EAAE,cAAc;QACvB,MAAM,EACJ,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa;YACpC,CAAC,CAAC,uBAAuB;YACzB,CAAC,CAAC,kCAAkC,EAAE,wBAAwB;KACnE,CAAC;IAEF,wBAAwB;IACxB,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC5B,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;YAClE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QACpC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,4BAA4B;QAC9B,CAAC;IACH,CAAC;IAED,sCAAsC;IACtC,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACjC,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;IAC/C,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC;QAClC,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;IAChD,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;QAC/B,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;IAC7C,CAAC;IAED,uCAAuC;IACvC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,sEAAsE;QACtE,sCAAsC;QACtC,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;QAC7C,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,CAAC,MAAM;gBACX,MAAM,CAAC,OAAO,KAAK,cAAc;oBAC/B,CAAC,CAAC,mCAAmC,SAAS,EAAE;oBAChD,CAAC,CAAC,+BAA+B,CAAC;QACxC,CAAC;aAAM,CAAC;YACN,mCAAmC;YACnC,MAAM,CAAC,MAAM;gBACX,MAAM,CAAC,OAAO,KAAK,cAAc;oBAC/B,CAAC,CAAC,qCAAqC;oBACvC,CAAC,CAAC,+BAA+B,CAAC;QACxC,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;AACzD,CAAC"}
@@ -4,6 +4,8 @@ export declare function formatInfo(message: string): string;
4
4
  export declare function formatWarning(message: string): string;
5
5
  export declare function formatPrice(usdc: number): string;
6
6
  export declare function formatAgent(name: string): string;
7
+ export declare function formatPublicKey(key: string): string;
8
+ export declare function formatUsdc(amount: number): string;
7
9
  export declare function formatUrl(url: string): string;
8
10
  export declare function formatSignature(signature: string): string;
9
11
  export declare function printBox(title: string, content: string[]): void;
@@ -1 +1 @@
1
- {"version":3,"file":"formatting.d.ts","sourceRoot":"","sources":["../../src/utils/formatting.ts"],"names":[],"mappings":"AAEA,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAElD;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE7C;AAED,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAoB/D;AAOD,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,CAyBrE"}
1
+ {"version":3,"file":"formatting.d.ts","sourceRoot":"","sources":["../../src/utils/formatting.ts"],"names":[],"mappings":"AAEA,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAElD;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAGnD;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAMjD;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE7C;AAED,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAoB/D;AAOD,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,CAyBrE"}
@@ -15,7 +15,19 @@ export function formatPrice(usdc) {
15
15
  return chalk.cyan(`$${usdc.toFixed(2)} USDC`);
16
16
  }
17
17
  export function formatAgent(name) {
18
- return chalk.magenta(name);
18
+ return chalk.magenta(`🤖 ${name}`);
19
+ }
20
+ export function formatPublicKey(key) {
21
+ if (key.length <= 12)
22
+ return chalk.gray(key);
23
+ return chalk.gray(`${key.slice(0, 4)}...${key.slice(-4)}`);
24
+ }
25
+ export function formatUsdc(amount) {
26
+ let decimals = 2;
27
+ if (amount < 0.01 && amount > 0) {
28
+ decimals = 4;
29
+ }
30
+ return chalk.cyan(`${amount.toFixed(decimals)} USDC`);
19
31
  }
20
32
  export function formatUrl(url) {
21
33
  return chalk.underline.blue(url);
@@ -1 +1 @@
1
- {"version":3,"file":"formatting.js","sourceRoot":"","sources":["../../src/utils/formatting.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"formatting.js","sourceRoot":"","sources":["../../src/utils/formatting.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "memeputer",
3
- "version": "1.1.3",
3
+ "version": "1.1.4",
4
4
  "description": "CLI tool for interacting with Memeputer AI agents via x402 payments",
5
5
  "bin": {
6
6
  "memeputer": "./dist/index.js"
@@ -9,7 +9,9 @@
9
9
  "type": "module",
10
10
  "scripts": {
11
11
  "dev": "echo '✅ CLI is ready! Run: cd apps/cli && tsx src/index.ts -- agents'",
12
- "test": "tsx src/index.ts agents",
12
+ "test": "vitest",
13
+ "test:run": "vitest run",
14
+ "test:ui": "vitest --ui",
13
15
  "build": "tsc",
14
16
  "start": "node dist/index.js",
15
17
  "prepublishOnly": "npm run build"
@@ -27,26 +29,29 @@
27
29
  "license": "MIT",
28
30
  "repository": {
29
31
  "type": "git",
30
- "url": "https://github.com/memeputer/memeputer"
32
+ "url": "https://github.com/memeputer/memeputer-oss.git",
33
+ "directory": "packages/cli"
31
34
  },
32
35
  "homepage": "https://memeputer.com",
33
36
  "bugs": {
34
- "url": "https://github.com/memeputer/memeputer/issues"
37
+ "url": "https://github.com/memeputer/memeputer-oss/issues"
35
38
  },
36
39
  "dependencies": {
37
- "commander": "^11.1.0",
38
- "ora": "^8.0.1",
39
- "chalk": "^5.3.0",
40
- "axios": "^1.6.5",
40
+ "@memeputer/sdk": "workspace:*",
41
41
  "@solana/web3.js": "^1.98.4",
42
- "@solana/spl-token": "^0.4.14",
43
- "bs58": "^5.0.0",
44
- "dotenv": "^16.3.1"
42
+ "axios": "^1.7.7",
43
+ "bs58": "^6.0.0",
44
+ "chalk": "^5.3.0",
45
+ "commander": "^11.1.0",
46
+ "dotenv": "^16.3.1",
47
+ "ora": "^8.0.1"
45
48
  },
46
49
  "devDependencies": {
47
50
  "@types/node": "^20.10.6",
51
+ "@vitest/ui": "^4.0.8",
48
52
  "tsx": "^4.7.0",
49
- "typescript": "^5.3.3"
53
+ "typescript": "^5.3.3",
54
+ "vitest": "^4.0.8"
50
55
  },
51
56
  "engines": {
52
57
  "node": ">=18.0.0"
@@ -0,0 +1,9 @@
1
+ import { defineConfig } from 'vitest/config';
2
+
3
+ export default defineConfig({
4
+ test: {
5
+ globals: true,
6
+ environment: 'node',
7
+ },
8
+ });
9
+
@@ -1,3 +0,0 @@
1
- import { Command } from "commander";
2
- export declare function createAskCommand(): Command;
3
- //# sourceMappingURL=ask.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ask.d.ts","sourceRoot":"","sources":["../../src/commands/ask.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAcpC,wBAAgB,gBAAgB,IAAI,OAAO,CAoM1C"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ask.js","sourceRoot":"","sources":["../../src/commands/ask.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EACL,aAAa,EACb,WAAW,EACX,UAAU,EACV,WAAW,GACZ,MAAM,wBAAwB,CAAC;AAEhC,MAAM,UAAU,gBAAgB;IAC9B,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC;SACtB,WAAW,CAAC,4DAA4D,CAAC;SACzE,QAAQ,CAAC,SAAS,EAAE,kDAAkD,CAAC;SACvE,QAAQ,CAAC,WAAW,EAAE,0BAA0B,CAAC;SACjD,MAAM,CAAC,qBAAqB,EAAE,+BAA+B,CAAC;SAC9D,MAAM,CAAC,QAAQ,EAAE,uBAAuB,CAAC;SACzC,MAAM,CAAC,aAAa,EAAE,0BAA0B,CAAC;SACjD,MAAM,CAAC,mBAAmB,EAAE,kCAAkC,CAAC;SAC/D,MAAM,CAAC,KAAK,EAAE,SAAiB,EAAE,OAAe,EAAE,OAAO,EAAE,EAAE;QAC5D,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAO,CAAC;YAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAO,CAAC;YAC9B,MAAM,UAAU,GACd,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,IAAI,oBAAoB,EAAE,CAAC;YAE5D,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,OAAO,CAAC,KAAK,CACX,WAAW,CACT,2DAA2D,CAC5D,CACF,CAAC;gBACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAC5C,MAAM,OAAO,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;YAExC,cAAc;YACd,IAAI,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,KAAK,EAAE,CAAC;YAC9D,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;YACtC,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,OAAO,CACb,kBAAkB,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,EAAE,CACjE,CAAC;YACJ,CAAC;YAED,oBAAoB;YACpB,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,KAAK,EAAE,CAAC;YAChE,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;YACvD,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;YACzC,CAAC;YAED,yCAAyC;YACzC,OAAO,GAAG,KAAK;gBACb,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,GAAG,CACD,UAAU,WAAW,CAAC,SAAS,CAAC,mCAAmC,CACpE,CAAC,KAAK,EAAE,CAAC;YAEd,MAAM,SAAS,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC;YAC9C,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,QAAQ,CACrC,OAAO,EACP,OAAO,EACP,MAAM,EACN,UAAU,CACX,CAAC;YAEF,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,OAAO,CAAC,0BAA0B,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YACtE,CAAC;YAED,uEAAuE;YACvE,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;gBACrB,OAAO,GAAG,KAAK;oBACb,CAAC,CAAC,IAAI;oBACN,CAAC,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC,KAAK,EAAE,CAAC;gBAExD,MAAM,YAAY,GAAG,MAAM,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE;oBAChE,UAAU,EAAE,IAAI;oBAChB,WAAW,EAAE,EAAE;oBACf,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;wBAC9B,IAAI,OAAO,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;4BAC3B,MAAM,OAAO,GAAG,OAAO,GAAG,CAAC,CAAC;4BAC5B,OAAO,CAAC,IAAI,GAAG,eAAe,OAAO,cAAc,MAAM,CAAC,MAAM,GAAG,CAAC;wBACtE,CAAC;oBACH,CAAC;iBACF,CAAC,CAAC;gBAEH,IAAI,OAAO,EAAE,CAAC;oBACZ,IAAI,YAAY,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;wBACxC,OAAO,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;oBAC1C,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,IAAI,CACV,aAAa,YAAY,CAAC,MAAM,KAAK,YAAY,CAAC,KAAK,IAAI,eAAe,EAAE,CAC7E,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAED,oCAAoC;gBACpC,IAAI,YAAY,CAAC,QAAQ,EAAE,CAAC;oBAC1B,MAAM,CAAC,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC;gBAC1C,CAAC;gBACD,IAAI,YAAY,CAAC,QAAQ,EAAE,CAAC;oBAC1B,MAAM,CAAC,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC;gBAC1C,CAAC;gBACD,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;oBACzB,MAAM,CAAC,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC;gBACzC,CAAC;gBAED,+BAA+B;gBAC/B,IAAI,OAAO,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC7D,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC;oBAEvD,8EAA8E;oBAC9E,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC;oBAClC,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC;oBACtC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;oBACvC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;oBAC9C,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;oBACvC,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE;yBACzB,WAAW,EAAE;yBACb,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;yBACrB,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;oBAChB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,IAAI,SAAS,GAAG,GAAG,EAAE,CAAC,CAAC;oBAEhE,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,KAAK,EAAE,CAAC;oBAEvD,IAAI,CAAC;wBACH,MAAM,KAAK,GAAG,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;wBAC9C,MAAM,EAAE,GAAG,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;wBACxC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,WAAY,EAAE;4BAC7C,YAAY,EAAE,aAAa;yBAC5B,CAAC,CAAC;wBACH,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;wBAE5C,IAAI,OAAO,EAAE,CAAC;4BACZ,OAAO,CAAC,OAAO,CAAC,iBAAiB,UAAU,EAAE,CAAC,CAAC;wBACjD,CAAC;oBACH,CAAC;oBAAC,OAAO,aAAkB,EAAE,CAAC;wBAC5B,IAAI,OAAO,EAAE,CAAC;4BACZ,OAAO,CAAC,IAAI,CAAC,oBAAoB,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC;wBAC5D,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAED,iBAAiB;YACjB,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CACT,IAAI,CAAC,SAAS,CACZ;oBACE,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,UAAU,EAAE,MAAM,CAAC,UAAU;oBAC7B,SAAS,EAAE,MAAM,CAAC,oBAAoB;oBACtC,KAAK,EAAE,SAAS;iBACjB,EACD,IAAI,EACJ,CAAC,CACF,CACF,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,SAAS,QAAQ,CAAC,CAAC,CAAC;gBACjD,OAAO,CAAC,GAAG,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC1C,OAAO,CAAC,GAAG,EAAE,CAAC;gBAEd,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;oBACpB,OAAO,CAAC,GAAG,CACT,UAAU,CAAC,eAAe,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAC9D,CAAC;gBACJ,CAAC;gBAED,IAAI,MAAM,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;oBACxC,OAAO,CAAC,GAAG,CACT,UAAU,CAAC,aAAa,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAC5D,CAAC;gBACJ,CAAC;gBAED,IAAI,MAAM,CAAC,oBAAoB,EAAE,CAAC;oBAChC,OAAO,CAAC,GAAG,CACT,UAAU,CACR,mBAAmB,KAAK,CAAC,SAAS,CAAC,yBAAyB,MAAM,CAAC,oBAAoB,EAAE,CAAC,EAAE,CAC7F,CACF,CAAC;oBACF,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,KAAK,CACT,4DAA4D,CAC7D,CACF,CAAC;gBACJ,CAAC;gBACD,OAAO,CAAC,GAAG,EAAE,CAAC;YAChB,CAAC;QACH,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,IAAI,wBAAwB,CAAC,CAAC,CAAC;YACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -1,3 +0,0 @@
1
- import { Command } from "commander";
2
- export declare function createPfpCommand(): Command;
3
- //# sourceMappingURL=pfp.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pfp.d.ts","sourceRoot":"","sources":["../../src/commands/pfp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiBpC,wBAAgB,gBAAgB,IAAI,OAAO,CAmI1C"}
@@ -1,99 +0,0 @@
1
- import { Command } from "commander";
2
- import { Connection } from "@solana/web3.js";
3
- import ora from "ora";
4
- import chalk from "chalk";
5
- import axios from "axios";
6
- import { writeFileSync } from "fs";
7
- import { resolve } from "path";
8
- import { loadConfig, getDefaultWalletPath } from "../lib/config.js";
9
- import { loadWallet, formatPublicKey } from "../lib/wallet.js";
10
- import { AgentsApiClient } from "../lib/api.js";
11
- import { formatSuccess, formatError, formatInfo, formatAgent, } from "../utils/formatting.js";
12
- export function createPfpCommand() {
13
- return new Command("pfp")
14
- .description("Generate a profile picture with PFPputer")
15
- .argument("<prompt>", "Description of the PFP you want to generate")
16
- .option("-w, --wallet <path>", "Path to Solana wallet keypair")
17
- .option("-o, --output <path>", "Save image to file path")
18
- .option("--json", "Output in JSON format")
19
- .option("-q, --quiet", "Suppress progress output")
20
- .action(async (prompt, options) => {
21
- try {
22
- const config = loadConfig();
23
- const apiUrl = config.apiUrl;
24
- const rpcUrl = config.rpcUrl;
25
- const walletPath = options.wallet || config.wallet || getDefaultWalletPath();
26
- if (!walletPath) {
27
- console.error(formatError("No wallet specified. Use --wallet or set MEMEPUTER_WALLET"));
28
- process.exit(1);
29
- }
30
- const quiet = options.quiet || options.json;
31
- // Load wallet
32
- let spinner = quiet ? null : ora("Loading wallet...").start();
33
- const wallet = loadWallet(walletPath);
34
- if (spinner) {
35
- spinner.succeed(`Wallet loaded: ${formatPublicKey(wallet.publicKey.toBase58())}`);
36
- }
37
- // Connect to Solana
38
- spinner = quiet ? null : ora("Connecting to Solana...").start();
39
- const connection = new Connection(rpcUrl, "confirmed");
40
- if (spinner) {
41
- spinner.succeed("Connected to Solana");
42
- }
43
- // Call PFPputer API with x402 payment
44
- spinner = quiet
45
- ? null
46
- : ora(`Generating PFP with ${formatAgent("PFPputer")}... (processing payment)`).start();
47
- const apiClient = new AgentsApiClient(apiUrl);
48
- const result = await apiClient.interact("pfpputer", prompt, wallet, connection);
49
- if (spinner) {
50
- spinner.succeed(`PFP generated by ${formatAgent("PFPputer")}`);
51
- }
52
- // Download image if requested
53
- if (options.output && result.mediaUrl) {
54
- spinner = quiet ? null : ora("Downloading image...").start();
55
- const imageResponse = await axios.get(result.mediaUrl, {
56
- responseType: "arraybuffer",
57
- });
58
- const outputPath = resolve(options.output);
59
- writeFileSync(outputPath, imageResponse.data);
60
- if (spinner) {
61
- spinner.succeed(`Image saved to ${chalk.cyan(outputPath)}`);
62
- }
63
- }
64
- // Output results
65
- if (options.json) {
66
- console.log(JSON.stringify({
67
- success: result.success,
68
- response: result.response,
69
- mediaUrl: result.mediaUrl,
70
- signature: result.transactionSignature,
71
- savedTo: options.output ? resolve(options.output) : null,
72
- }, null, 2));
73
- }
74
- else {
75
- console.log();
76
- console.log(formatSuccess("PFP Generated!"));
77
- console.log();
78
- console.log(chalk.white(result.response));
79
- console.log();
80
- if (result.mediaUrl) {
81
- console.log(formatInfo(`Image URL: ${chalk.underline(result.mediaUrl)}`));
82
- }
83
- if (result.transactionSignature) {
84
- console.log(formatInfo(`Transaction: ${chalk.underline(`https://solscan.io/tx/${result.transactionSignature}`)}`));
85
- console.log(chalk.green("💚 You paid $0 in gas fees (PayAI Facilitator covered it)!"));
86
- }
87
- if (options.output) {
88
- console.log(formatInfo(`Saved to: ${chalk.cyan(resolve(options.output))}`));
89
- }
90
- console.log();
91
- }
92
- }
93
- catch (error) {
94
- console.error(formatError(error.message || "Failed to generate PFP"));
95
- process.exit(1);
96
- }
97
- });
98
- }
99
- //# sourceMappingURL=pfp.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pfp.js","sourceRoot":"","sources":["../../src/commands/pfp.ts"],"names":[],"mappings":"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"}
package/dist/lib/api.d.ts DELETED
@@ -1,56 +0,0 @@
1
- import { Connection, Keypair } from "@solana/web3.js";
2
- export interface AgentInfo {
3
- id: string;
4
- name: string;
5
- description: string;
6
- price: number;
7
- category: string;
8
- examplePrompts: string[];
9
- payTo: string;
10
- }
11
- export interface InteractionResult {
12
- success: boolean;
13
- response: string;
14
- format: "text" | "image" | "video" | "audio";
15
- mediaUrl?: string;
16
- statusUrl?: string;
17
- imageUrl?: string;
18
- etaSeconds?: number;
19
- transactionSignature?: string;
20
- agentId?: string;
21
- error?: string;
22
- }
23
- export interface StatusCheckResult {
24
- status: "pending" | "processing" | "completed" | "failed";
25
- message?: string;
26
- imageUrl?: string;
27
- mediaUrl?: string;
28
- error?: string;
29
- }
30
- export declare class AgentsApiClient {
31
- private baseUrl;
32
- constructor(baseUrl: string);
33
- /**
34
- * List all available agents from the x402 resources endpoint
35
- */
36
- listAgents(): Promise<AgentInfo[]>;
37
- /**
38
- * Interact with an agent using x402 payment
39
- * Manual x402 flow: 402 → create payment → retry with X-PAYMENT header
40
- */
41
- interact(agentId: string, message: string, wallet: Keypair, connection: Connection): Promise<InteractionResult>;
42
- /**
43
- * Check status of async operation
44
- * Status URLs point to agents-api proxy (no auth required)
45
- */
46
- checkStatus(statusUrl: string): Promise<StatusCheckResult>;
47
- /**
48
- * Poll status URL until completion or timeout
49
- */
50
- pollStatus(statusUrl: string, options?: {
51
- maxAttempts?: number;
52
- intervalMs?: number;
53
- onProgress?: (attempt: number, status: StatusCheckResult) => void;
54
- }): Promise<StatusCheckResult>;
55
- }
56
- //# sourceMappingURL=api.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/lib/api.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAGtD,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;IAC7C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,SAAS,GAAG,YAAY,GAAG,WAAW,GAAG,QAAQ,CAAC;IAC1D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,eAAe;IACd,OAAO,CAAC,OAAO;gBAAP,OAAO,EAAE,MAAM;IAEnC;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAsBxC;;;OAGG;IACG,QAAQ,CACZ,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,OAAO,EACf,UAAU,EAAE,UAAU,GACrB,OAAO,CAAC,iBAAiB,CAAC;IA8G7B;;;OAGG;IACG,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAwBhE;;OAEG;IACG,UAAU,CACd,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;QACP,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,KAAK,IAAI,CAAC;KAC9D,GACL,OAAO,CAAC,iBAAiB,CAAC;CAyB9B"}
package/dist/lib/api.js DELETED
@@ -1,160 +0,0 @@
1
- import axios from "axios";
2
- import { createPaymentTransaction } from "./x402Client.js";
3
- export class AgentsApiClient {
4
- baseUrl;
5
- constructor(baseUrl) {
6
- this.baseUrl = baseUrl;
7
- }
8
- /**
9
- * List all available agents from the x402 resources endpoint
10
- */
11
- async listAgents() {
12
- const response = await axios.get(`${this.baseUrl}/x402/resources`);
13
- const data = response.data;
14
- // Parse new x402 format: { x402Version: 1, accepts: [...] }
15
- const acceptsList = data.accepts || [];
16
- const agents = acceptsList.map((accept) => ({
17
- id: accept.extra?.agentId || accept.agentId || "unknown",
18
- name: accept.extra?.agentName || accept.name || "Unknown Agent",
19
- description: accept.description || "AI agent",
20
- price: accept.extra?.pricing?.amount ||
21
- parseFloat(accept.maxAmountRequired || "10000") / 1_000_000,
22
- category: accept.extra?.category || "General AI",
23
- examplePrompts: accept.extra?.examplePrompts || [],
24
- payTo: accept.payTo || "",
25
- }));
26
- return agents;
27
- }
28
- /**
29
- * Interact with an agent using x402 payment
30
- * Manual x402 flow: 402 → create payment → retry with X-PAYMENT header
31
- */
32
- async interact(agentId, message, wallet, connection) {
33
- try {
34
- // Step 1: Make request without payment (will get 402)
35
- let response;
36
- try {
37
- response = await axios.post(`${this.baseUrl}/x402/interact`, { agentId, message }, {
38
- headers: {
39
- "Content-Type": "application/json",
40
- "User-Agent": "memeputer-cli",
41
- },
42
- });
43
- }
44
- catch (error) {
45
- if (error.response?.status !== 402) {
46
- throw error;
47
- }
48
- // Got 402 - payment required
49
- response = error.response;
50
- }
51
- if (response.status === 402) {
52
- // Step 2: Get payment requirements from 402 response
53
- const paymentReq = response.data;
54
- // x402 format has payment details in accepts array
55
- const acceptDetails = paymentReq.accepts?.[0];
56
- if (!acceptDetails) {
57
- throw new Error(`No payment details in 402 response. Response: ${JSON.stringify(paymentReq)}`);
58
- }
59
- const recipient = acceptDetails.payTo;
60
- const amountMicroUsdc = parseInt(acceptDetails.maxAmountRequired || "10000");
61
- const amountUsdc = amountMicroUsdc / 1_000_000;
62
- const feePayer = acceptDetails.extra?.feePayer;
63
- const scheme = acceptDetails.scheme || "exact";
64
- const network = acceptDetails.network || "solana";
65
- if (!recipient) {
66
- throw new Error(`No recipient wallet (payTo) found in 402 response.`);
67
- }
68
- // Step 3: Create and sign payment transaction
69
- const { signature: paymentHeader } = await createPaymentTransaction(connection, wallet, recipient, amountUsdc, scheme, network);
70
- // Step 4: Retry request with X-PAYMENT header
71
- response = await axios.post(`${this.baseUrl}/x402/interact`, { agentId, message }, {
72
- headers: {
73
- "Content-Type": "application/json",
74
- "X-PAYMENT": paymentHeader,
75
- "User-Agent": "memeputer-cli",
76
- },
77
- });
78
- }
79
- // Parse successful response
80
- const data = response.data;
81
- return {
82
- success: data.success || true,
83
- response: data.response || data.message || "",
84
- format: data.format || "text",
85
- mediaUrl: data.mediaUrl || data.media_url,
86
- statusUrl: data.statusUrl || data.status_url,
87
- imageUrl: data.imageUrl || data.image_url,
88
- etaSeconds: data.etaSeconds || data.eta_seconds,
89
- transactionSignature: data.transactionSignature,
90
- agentId: data.agentId || agentId,
91
- };
92
- }
93
- catch (error) {
94
- // Better error messages
95
- if (error.response) {
96
- const status = error.response.status;
97
- const data = error.response.data;
98
- if (status === 402) {
99
- throw new Error(`Payment required but payment was rejected. Check your USDC balance.`);
100
- }
101
- if (data?.error) {
102
- throw new Error(data.error);
103
- }
104
- throw new Error(`API error (${status}): ${JSON.stringify(data)}`);
105
- }
106
- throw error;
107
- }
108
- }
109
- /**
110
- * Check status of async operation
111
- * Status URLs point to agents-api proxy (no auth required)
112
- */
113
- async checkStatus(statusUrl) {
114
- try {
115
- const response = await axios.get(statusUrl);
116
- // Handle both wrapped (ok()) and unwrapped responses
117
- const data = response.data.data || response.data;
118
- return {
119
- status: data.status || "pending",
120
- message: data.message,
121
- imageUrl: data.imageUrl || data.image_url,
122
- mediaUrl: data.mediaUrl || data.media_url,
123
- error: data.error,
124
- };
125
- }
126
- catch (error) {
127
- if (error.response?.data) {
128
- return {
129
- status: "failed",
130
- error: error.response.data.error || "Status check failed",
131
- };
132
- }
133
- throw error;
134
- }
135
- }
136
- /**
137
- * Poll status URL until completion or timeout
138
- */
139
- async pollStatus(statusUrl, options = {}) {
140
- const maxAttempts = options.maxAttempts || 60; // 5 minutes at 5s intervals
141
- const intervalMs = options.intervalMs || 5000;
142
- for (let attempt = 1; attempt <= maxAttempts; attempt++) {
143
- const result = await this.checkStatus(statusUrl);
144
- if (options.onProgress) {
145
- options.onProgress(attempt, result);
146
- }
147
- if (result.status === "completed" || result.status === "failed") {
148
- return result;
149
- }
150
- if (attempt < maxAttempts) {
151
- await new Promise((resolve) => setTimeout(resolve, intervalMs));
152
- }
153
- }
154
- return {
155
- status: "failed",
156
- error: "Timeout waiting for completion",
157
- };
158
- }
159
- }
160
- //# sourceMappingURL=api.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/lib/api.ts"],"names":[],"mappings":"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"}
@@ -1,14 +0,0 @@
1
- import { Connection, Keypair, VersionedTransaction } from "@solana/web3.js";
2
- /**
3
- * Create a simple USDC payment transaction (for CLI use)
4
- * This creates a signed transaction that can be sent in the X-PAYMENT header
5
- */
6
- export declare function createPaymentTransaction(connection: Connection, payer: Keypair, recipient: string, amountUsdc: number, scheme?: string, network?: string): Promise<{
7
- transaction: VersionedTransaction;
8
- signature: string;
9
- }>;
10
- /**
11
- * Get USDC balance for a wallet
12
- */
13
- export declare function getUsdcBalance(connection: Connection, keypair: Keypair): Promise<number>;
14
- //# sourceMappingURL=x402Client.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"x402Client.d.ts","sourceRoot":"","sources":["../../src/lib/x402Client.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,OAAO,EAIP,oBAAoB,EACrB,MAAM,iBAAiB,CAAC;AAYzB;;;GAGG;AACH,wBAAsB,wBAAwB,CAC5C,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,OAAO,EACd,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,MAAM,GAAE,MAAgB,EACxB,OAAO,GAAE,MAAiB,GACzB,OAAO,CAAC;IAAE,WAAW,EAAE,oBAAoB,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CAsInE;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,MAAM,CAAC,CAejB"}
@@ -1,105 +0,0 @@
1
- import { ComputeBudgetProgram, TransactionMessage, VersionedTransaction, } from "@solana/web3.js";
2
- import { getAssociatedTokenAddress, createTransferCheckedInstruction, createAssociatedTokenAccountInstruction, TOKEN_PROGRAM_ID, } from "@solana/spl-token";
3
- import { PublicKey } from "@solana/web3.js";
4
- // USDC mint on Solana mainnet
5
- const USDC_MINT = new PublicKey("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v");
6
- /**
7
- * Create a simple USDC payment transaction (for CLI use)
8
- * This creates a signed transaction that can be sent in the X-PAYMENT header
9
- */
10
- export async function createPaymentTransaction(connection, payer, recipient, amountUsdc, scheme = "exact", network = "solana") {
11
- try {
12
- const recipientPubkey = new PublicKey(recipient);
13
- // Convert USDC amount to micro-USDC (6 decimals)
14
- const amount = Math.floor(amountUsdc * 1_000_000);
15
- // Get token accounts (allowOwnerOffCurve fixes wallet adapter key issues)
16
- const payerTokenAccount = await getAssociatedTokenAddress(USDC_MINT, payer.publicKey, true, // allowOwnerOffCurve - critical for wallet adapter keys!
17
- TOKEN_PROGRAM_ID);
18
- const recipientTokenAccount = await getAssociatedTokenAddress(USDC_MINT, recipientPubkey, true, // allowOwnerOffCurve - critical for wallet adapter keys!
19
- TOKEN_PROGRAM_ID);
20
- // Build instructions array
21
- const instructions = [];
22
- // Add ComputeBudget instructions FIRST (required by facilitator!)
23
- instructions.push(ComputeBudgetProgram.setComputeUnitLimit({
24
- units: 40_000,
25
- }));
26
- instructions.push(ComputeBudgetProgram.setComputeUnitPrice({
27
- microLamports: 1,
28
- }));
29
- // Check if recipient token account exists, if not create it
30
- const recipientAccountInfo = await connection.getAccountInfo(recipientTokenAccount);
31
- if (!recipientAccountInfo) {
32
- console.log(` 📝 Recipient token account doesn't exist, will create it`);
33
- instructions.push(createAssociatedTokenAccountInstruction(payer.publicKey, // payer
34
- recipientTokenAccount, // ata
35
- recipientPubkey, // owner
36
- USDC_MINT, // mint
37
- TOKEN_PROGRAM_ID));
38
- }
39
- // Add the transfer instruction (use checked version like agent-to-agent payments)
40
- instructions.push(createTransferCheckedInstruction(payerTokenAccount, USDC_MINT, recipientTokenAccount, payer.publicKey, amount, 6, // USDC has 6 decimals
41
- [], TOKEN_PROGRAM_ID));
42
- // Get recent blockhash
43
- const { blockhash } = await connection.getLatestBlockhash("confirmed");
44
- // Set facilitator as fee payer for gas-free transactions!
45
- const facilitatorPublicKey = new PublicKey("2wKupLR9q6wXYppw8Gr2NvWxKBUqm4PPJKkQfoxHDBg4");
46
- // Create VersionedTransaction (x402 standard)
47
- const message = new TransactionMessage({
48
- payerKey: facilitatorPublicKey,
49
- recentBlockhash: blockhash,
50
- instructions,
51
- }).compileToV0Message();
52
- const transaction = new VersionedTransaction(message);
53
- // Find which signature slot corresponds to the user's public key
54
- // The facilitator is at index 0 (fee payer), user is at a different index
55
- const userPubkey = payer.publicKey;
56
- const staticAccountKeys = transaction.message.staticAccountKeys;
57
- const userSignatureIndex = staticAccountKeys.findIndex((key) => key.equals(userPubkey));
58
- // Sign with user's wallet (facilitator will add its signature)
59
- transaction.sign([payer]);
60
- // Serialize transaction
61
- const serialized = transaction.serialize();
62
- const serializedTx = Buffer.from(serialized).toString("base64");
63
- // Extract the user's signature from the correct slot (bs58 encoded)
64
- const bs58 = await import("bs58");
65
- const userSignature = userSignatureIndex >= 0 &&
66
- transaction.signatures?.[userSignatureIndex] &&
67
- !transaction.signatures[userSignatureIndex].every((b) => b === 0)
68
- ? bs58.default.encode(transaction.signatures[userSignatureIndex])
69
- : undefined;
70
- // Create X-PAYMENT header in x402 format (minimal format matching agent-to-agent)
71
- // This matches the exact format from @payai/x402-solana
72
- const paymentPayload = {
73
- x402Version: 1,
74
- scheme: scheme,
75
- network: network,
76
- payload: {
77
- transaction: serializedTx,
78
- signature: userSignature, // Include signature for reference (optional)
79
- },
80
- };
81
- // Encode as base64
82
- const paymentHeader = Buffer.from(JSON.stringify(paymentPayload)).toString("base64");
83
- return { transaction, signature: paymentHeader };
84
- }
85
- catch (error) {
86
- console.error("Error creating payment transaction:", error);
87
- throw new Error(`Failed to create payment: ${error instanceof Error ? error.message : String(error)}`);
88
- }
89
- }
90
- /**
91
- * Get USDC balance for a wallet
92
- */
93
- export async function getUsdcBalance(connection, keypair) {
94
- try {
95
- const tokenAccount = await getAssociatedTokenAddress(USDC_MINT, keypair.publicKey, true, // allowOwnerOffCurve - critical for wallet adapter keys!
96
- TOKEN_PROGRAM_ID);
97
- const balance = await connection.getTokenAccountBalance(tokenAccount);
98
- return parseFloat(balance.value.uiAmount?.toString() || "0");
99
- }
100
- catch (error) {
101
- // Token account doesn't exist or other error
102
- return 0;
103
- }
104
- }
105
- //# sourceMappingURL=x402Client.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"x402Client.js","sourceRoot":"","sources":["../../src/lib/x402Client.ts"],"names":[],"mappings":"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"}