@molted/cli 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 (101) hide show
  1. package/dist/commands/approve.d.ts +8 -0
  2. package/dist/commands/approve.d.ts.map +1 -0
  3. package/dist/commands/approve.js +106 -0
  4. package/dist/commands/approve.js.map +1 -0
  5. package/dist/commands/bids/create.d.ts +8 -0
  6. package/dist/commands/bids/create.d.ts.map +1 -0
  7. package/dist/commands/bids/create.js +70 -0
  8. package/dist/commands/bids/create.js.map +1 -0
  9. package/dist/commands/bids/index.d.ts +8 -0
  10. package/dist/commands/bids/index.d.ts.map +1 -0
  11. package/dist/commands/bids/index.js +11 -0
  12. package/dist/commands/bids/index.js.map +1 -0
  13. package/dist/commands/complete.d.ts +8 -0
  14. package/dist/commands/complete.d.ts.map +1 -0
  15. package/dist/commands/complete.js +82 -0
  16. package/dist/commands/complete.js.map +1 -0
  17. package/dist/commands/init.d.ts +8 -0
  18. package/dist/commands/init.d.ts.map +1 -0
  19. package/dist/commands/init.js +171 -0
  20. package/dist/commands/init.js.map +1 -0
  21. package/dist/commands/jobs/index.d.ts +8 -0
  22. package/dist/commands/jobs/index.d.ts.map +1 -0
  23. package/dist/commands/jobs/index.js +13 -0
  24. package/dist/commands/jobs/index.js.map +1 -0
  25. package/dist/commands/jobs/list.d.ts +8 -0
  26. package/dist/commands/jobs/list.d.ts.map +1 -0
  27. package/dist/commands/jobs/list.js +63 -0
  28. package/dist/commands/jobs/list.js.map +1 -0
  29. package/dist/commands/jobs/view.d.ts +8 -0
  30. package/dist/commands/jobs/view.d.ts.map +1 -0
  31. package/dist/commands/jobs/view.js +62 -0
  32. package/dist/commands/jobs/view.js.map +1 -0
  33. package/dist/commands/status.d.ts +8 -0
  34. package/dist/commands/status.d.ts.map +1 -0
  35. package/dist/commands/status.js +117 -0
  36. package/dist/commands/status.js.map +1 -0
  37. package/dist/index.d.ts +8 -0
  38. package/dist/index.d.ts.map +1 -0
  39. package/dist/index.js +28 -0
  40. package/dist/index.js.map +1 -0
  41. package/dist/lib/api-client.d.ts +140 -0
  42. package/dist/lib/api-client.d.ts.map +1 -0
  43. package/dist/lib/api-client.js +169 -0
  44. package/dist/lib/api-client.js.map +1 -0
  45. package/dist/lib/config.d.ts +96 -0
  46. package/dist/lib/config.d.ts.map +1 -0
  47. package/dist/lib/config.js +150 -0
  48. package/dist/lib/config.js.map +1 -0
  49. package/dist/lib/errors.d.ts +36 -0
  50. package/dist/lib/errors.d.ts.map +1 -0
  51. package/dist/lib/errors.js +71 -0
  52. package/dist/lib/errors.js.map +1 -0
  53. package/dist/lib/output.d.ts +79 -0
  54. package/dist/lib/output.d.ts.map +1 -0
  55. package/dist/lib/output.js +155 -0
  56. package/dist/lib/output.js.map +1 -0
  57. package/dist/lib/validation.d.ts +85 -0
  58. package/dist/lib/validation.d.ts.map +1 -0
  59. package/dist/lib/validation.js +60 -0
  60. package/dist/lib/validation.js.map +1 -0
  61. package/dist/lib/wallet/cdp-provider.d.ts +37 -0
  62. package/dist/lib/wallet/cdp-provider.d.ts.map +1 -0
  63. package/dist/lib/wallet/cdp-provider.js +126 -0
  64. package/dist/lib/wallet/cdp-provider.js.map +1 -0
  65. package/dist/lib/wallet/index.d.ts +26 -0
  66. package/dist/lib/wallet/index.d.ts.map +1 -0
  67. package/dist/lib/wallet/index.js +93 -0
  68. package/dist/lib/wallet/index.js.map +1 -0
  69. package/dist/lib/wallet/local-provider.d.ts +26 -0
  70. package/dist/lib/wallet/local-provider.d.ts.map +1 -0
  71. package/dist/lib/wallet/local-provider.js +84 -0
  72. package/dist/lib/wallet/local-provider.js.map +1 -0
  73. package/dist/lib/wallet/types.d.ts +58 -0
  74. package/dist/lib/wallet/types.d.ts.map +1 -0
  75. package/dist/lib/wallet/types.js +41 -0
  76. package/dist/lib/wallet/types.js.map +1 -0
  77. package/dist/lib/x402/client.d.ts +39 -0
  78. package/dist/lib/x402/client.d.ts.map +1 -0
  79. package/dist/lib/x402/client.js +83 -0
  80. package/dist/lib/x402/client.js.map +1 -0
  81. package/dist/test/config.test.d.ts +2 -0
  82. package/dist/test/config.test.d.ts.map +1 -0
  83. package/dist/test/config.test.js +79 -0
  84. package/dist/test/config.test.js.map +1 -0
  85. package/dist/test/errors.test.d.ts +2 -0
  86. package/dist/test/errors.test.d.ts.map +1 -0
  87. package/dist/test/errors.test.js +71 -0
  88. package/dist/test/errors.test.js.map +1 -0
  89. package/dist/test/validation.test.d.ts +2 -0
  90. package/dist/test/validation.test.d.ts.map +1 -0
  91. package/dist/test/validation.test.js +154 -0
  92. package/dist/test/validation.test.js.map +1 -0
  93. package/dist/test/wallet-types.test.d.ts +2 -0
  94. package/dist/test/wallet-types.test.d.ts.map +1 -0
  95. package/dist/test/wallet-types.test.js +36 -0
  96. package/dist/test/wallet-types.test.js.map +1 -0
  97. package/dist/test/x402.test.d.ts +2 -0
  98. package/dist/test/x402.test.d.ts.map +1 -0
  99. package/dist/test/x402.test.js +114 -0
  100. package/dist/test/x402.test.js.map +1 -0
  101. package/package.json +60 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-client.js","sourceRoot":"","sources":["../../src/lib/api-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,96 @@
1
+ /**
2
+ * Configuration file management
3
+ *
4
+ * Config file location: ./.molted/config.json
5
+ * API key stored in MOLTED_API_KEY env var only
6
+ */
7
+ import { z } from "zod";
8
+ export declare const ConfigSchema: z.ZodObject<{
9
+ version: z.ZodLiteral<1>;
10
+ api_url: z.ZodString;
11
+ agent_id: z.ZodString;
12
+ agent_name: z.ZodString;
13
+ api_key_prefix: z.ZodString;
14
+ wallet_type: z.ZodEnum<["cdp", "local"]>;
15
+ wallet_address: z.ZodString;
16
+ wallet_id: z.ZodOptional<z.ZodString>;
17
+ network: z.ZodEnum<["base", "base-sepolia"]>;
18
+ }, "strip", z.ZodTypeAny, {
19
+ version: 1;
20
+ api_url: string;
21
+ agent_id: string;
22
+ agent_name: string;
23
+ api_key_prefix: string;
24
+ wallet_type: "cdp" | "local";
25
+ wallet_address: string;
26
+ network: "base" | "base-sepolia";
27
+ wallet_id?: string | undefined;
28
+ }, {
29
+ version: 1;
30
+ api_url: string;
31
+ agent_id: string;
32
+ agent_name: string;
33
+ api_key_prefix: string;
34
+ wallet_type: "cdp" | "local";
35
+ wallet_address: string;
36
+ network: "base" | "base-sepolia";
37
+ wallet_id?: string | undefined;
38
+ }>;
39
+ export type Config = z.infer<typeof ConfigSchema>;
40
+ /**
41
+ * Get the config directory path
42
+ */
43
+ export declare function getConfigDir(): string;
44
+ /**
45
+ * Get the config file path
46
+ */
47
+ export declare function getConfigPath(): string;
48
+ /**
49
+ * Check if config exists
50
+ */
51
+ export declare function configExists(): Promise<boolean>;
52
+ /**
53
+ * Load and validate config
54
+ */
55
+ export declare function loadConfig(): Promise<Config>;
56
+ /**
57
+ * Save config to file
58
+ */
59
+ export declare function saveConfig(config: Config): Promise<void>;
60
+ /**
61
+ * Delete config directory and files
62
+ */
63
+ export declare function deleteConfig(): Promise<void>;
64
+ /**
65
+ * Get API key from environment
66
+ */
67
+ export declare function getApiKey(): string | undefined;
68
+ /**
69
+ * Get API key or throw if not set
70
+ */
71
+ export declare function requireApiKey(): string;
72
+ /**
73
+ * Get CDP credentials from environment
74
+ */
75
+ export declare function getCDPCredentials(): {
76
+ keyName: string;
77
+ privateKey: string;
78
+ } | undefined;
79
+ /**
80
+ * Get local wallet private key from environment
81
+ */
82
+ export declare function getLocalPrivateKey(): string | undefined;
83
+ /**
84
+ * Create a new config object
85
+ */
86
+ export declare function createConfig(params: {
87
+ apiUrl: string;
88
+ agentId: string;
89
+ agentName: string;
90
+ apiKeyPrefix: string;
91
+ walletType: "cdp" | "local";
92
+ walletAddress: string;
93
+ walletId?: string;
94
+ network: "base" | "base-sepolia";
95
+ }): Config;
96
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUvB,CAAC;AAEH,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAElD;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED;;GAEG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC,CAOrD;AAED;;GAEG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,CA0BlD;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAa9D;AAED;;GAEG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAQlD;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,MAAM,GAAG,SAAS,CAE9C;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAStC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CASvF;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,GAAG,SAAS,CAEvD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,KAAK,GAAG,OAAO,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,GAAG,cAAc,CAAC;CAClC,GAAG,MAAM,CAYT"}
@@ -0,0 +1,150 @@
1
+ /**
2
+ * Configuration file management
3
+ *
4
+ * Config file location: ./.molted/config.json
5
+ * API key stored in MOLTED_API_KEY env var only
6
+ */
7
+ import { promises as fs } from "fs";
8
+ import path from "path";
9
+ import { z } from "zod";
10
+ import { ConfigError } from "./errors.js";
11
+ const CONFIG_DIR = ".molted";
12
+ const CONFIG_FILE = "config.json";
13
+ export const ConfigSchema = z.object({
14
+ version: z.literal(1),
15
+ api_url: z.string().url(),
16
+ agent_id: z.string().uuid(),
17
+ agent_name: z.string(),
18
+ api_key_prefix: z.string(),
19
+ wallet_type: z.enum(["cdp", "local"]),
20
+ wallet_address: z.string().regex(/^0x[a-fA-F0-9]{40}$/),
21
+ wallet_id: z.string().optional(), // CDP wallet ID
22
+ network: z.enum(["base", "base-sepolia"]),
23
+ });
24
+ /**
25
+ * Get the config directory path
26
+ */
27
+ export function getConfigDir() {
28
+ return path.join(process.cwd(), CONFIG_DIR);
29
+ }
30
+ /**
31
+ * Get the config file path
32
+ */
33
+ export function getConfigPath() {
34
+ return path.join(getConfigDir(), CONFIG_FILE);
35
+ }
36
+ /**
37
+ * Check if config exists
38
+ */
39
+ export async function configExists() {
40
+ try {
41
+ await fs.access(getConfigPath());
42
+ return true;
43
+ }
44
+ catch {
45
+ return false;
46
+ }
47
+ }
48
+ /**
49
+ * Load and validate config
50
+ */
51
+ export async function loadConfig() {
52
+ const configPath = getConfigPath();
53
+ try {
54
+ const content = await fs.readFile(configPath, "utf-8");
55
+ const data = JSON.parse(content);
56
+ const result = ConfigSchema.safeParse(data);
57
+ if (!result.success) {
58
+ throw new ConfigError(`Invalid config file: ${result.error.issues.map((i) => i.message).join(", ")}`);
59
+ }
60
+ return result.data;
61
+ }
62
+ catch (error) {
63
+ if (error.code === "ENOENT") {
64
+ throw new ConfigError("Not initialized. Run 'molted init' to create a new agent.");
65
+ }
66
+ if (error instanceof ConfigError) {
67
+ throw error;
68
+ }
69
+ throw new ConfigError(`Failed to load config: ${error.message}`);
70
+ }
71
+ }
72
+ /**
73
+ * Save config to file
74
+ */
75
+ export async function saveConfig(config) {
76
+ const configDir = getConfigDir();
77
+ const configPath = getConfigPath();
78
+ try {
79
+ // Create config directory if it doesn't exist
80
+ await fs.mkdir(configDir, { recursive: true });
81
+ // Write config file
82
+ await fs.writeFile(configPath, JSON.stringify(config, null, 2) + "\n");
83
+ }
84
+ catch (error) {
85
+ throw new ConfigError(`Failed to save config: ${error.message}`);
86
+ }
87
+ }
88
+ /**
89
+ * Delete config directory and files
90
+ */
91
+ export async function deleteConfig() {
92
+ const configDir = getConfigDir();
93
+ try {
94
+ await fs.rm(configDir, { recursive: true, force: true });
95
+ }
96
+ catch (error) {
97
+ throw new ConfigError(`Failed to delete config: ${error.message}`);
98
+ }
99
+ }
100
+ /**
101
+ * Get API key from environment
102
+ */
103
+ export function getApiKey() {
104
+ return process.env.MOLTED_API_KEY;
105
+ }
106
+ /**
107
+ * Get API key or throw if not set
108
+ */
109
+ export function requireApiKey() {
110
+ const apiKey = getApiKey();
111
+ if (!apiKey) {
112
+ throw new ConfigError("MOLTED_API_KEY environment variable not set. " +
113
+ "Set it with: export MOLTED_API_KEY=your_api_key");
114
+ }
115
+ return apiKey;
116
+ }
117
+ /**
118
+ * Get CDP credentials from environment
119
+ */
120
+ export function getCDPCredentials() {
121
+ const keyName = process.env.CDP_API_KEY_NAME;
122
+ const privateKey = process.env.CDP_API_KEY_PRIVATE_KEY;
123
+ if (!keyName || !privateKey) {
124
+ return undefined;
125
+ }
126
+ return { keyName, privateKey };
127
+ }
128
+ /**
129
+ * Get local wallet private key from environment
130
+ */
131
+ export function getLocalPrivateKey() {
132
+ return process.env.MOLTED_PRIVATE_KEY;
133
+ }
134
+ /**
135
+ * Create a new config object
136
+ */
137
+ export function createConfig(params) {
138
+ return {
139
+ version: 1,
140
+ api_url: params.apiUrl,
141
+ agent_id: params.agentId,
142
+ agent_name: params.agentName,
143
+ api_key_prefix: params.apiKeyPrefix,
144
+ wallet_type: params.walletType,
145
+ wallet_address: params.walletAddress,
146
+ wallet_id: params.walletId,
147
+ network: params.network,
148
+ };
149
+ }
150
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Error classes and exit codes for the Molted CLI
3
+ */
4
+ export declare const ExitCode: {
5
+ readonly SUCCESS: 0;
6
+ readonly GENERIC_ERROR: 1;
7
+ readonly AUTH_CONFIG_ERROR: 2;
8
+ readonly NETWORK_ERROR: 3;
9
+ readonly PAYMENT_ERROR: 4;
10
+ };
11
+ export type ExitCodeType = (typeof ExitCode)[keyof typeof ExitCode];
12
+ export declare class MoltedError extends Error {
13
+ readonly exitCode: ExitCodeType;
14
+ constructor(message: string, exitCode?: ExitCodeType);
15
+ }
16
+ export declare class AuthError extends MoltedError {
17
+ constructor(message: string);
18
+ }
19
+ export declare class ConfigError extends MoltedError {
20
+ constructor(message: string);
21
+ }
22
+ export declare class NetworkError extends MoltedError {
23
+ constructor(message: string);
24
+ }
25
+ export declare class PaymentError extends MoltedError {
26
+ constructor(message: string);
27
+ }
28
+ export declare class ValidationError extends MoltedError {
29
+ readonly details?: Record<string, string[]> | undefined;
30
+ constructor(message: string, details?: Record<string, string[]> | undefined);
31
+ }
32
+ /**
33
+ * Handle errors and exit with appropriate code
34
+ */
35
+ export declare function handleError(error: unknown): never;
36
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/lib/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAO,MAAM,QAAQ;;;;;;CAMX,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,OAAO,QAAQ,CAAC,CAAC;AAEpE,qBAAa,WAAY,SAAQ,KAAK;aAGlB,QAAQ,EAAE,YAAY;gBADtC,OAAO,EAAE,MAAM,EACC,QAAQ,GAAE,YAAqC;CAKlE;AAED,qBAAa,SAAU,SAAQ,WAAW;gBAC5B,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,WAAY,SAAQ,WAAW;gBAC9B,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,YAAa,SAAQ,WAAW;gBAC/B,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,YAAa,SAAQ,WAAW;gBAC/B,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,eAAgB,SAAQ,WAAW;aAG5B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;gBADlD,OAAO,EAAE,MAAM,EACC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,YAAA;CAKrD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,CAkBjD"}
@@ -0,0 +1,71 @@
1
+ /**
2
+ * Error classes and exit codes for the Molted CLI
3
+ */
4
+ export const ExitCode = {
5
+ SUCCESS: 0,
6
+ GENERIC_ERROR: 1,
7
+ AUTH_CONFIG_ERROR: 2,
8
+ NETWORK_ERROR: 3,
9
+ PAYMENT_ERROR: 4,
10
+ };
11
+ export class MoltedError extends Error {
12
+ exitCode;
13
+ constructor(message, exitCode = ExitCode.GENERIC_ERROR) {
14
+ super(message);
15
+ this.exitCode = exitCode;
16
+ this.name = "MoltedError";
17
+ }
18
+ }
19
+ export class AuthError extends MoltedError {
20
+ constructor(message) {
21
+ super(message, ExitCode.AUTH_CONFIG_ERROR);
22
+ this.name = "AuthError";
23
+ }
24
+ }
25
+ export class ConfigError extends MoltedError {
26
+ constructor(message) {
27
+ super(message, ExitCode.AUTH_CONFIG_ERROR);
28
+ this.name = "ConfigError";
29
+ }
30
+ }
31
+ export class NetworkError extends MoltedError {
32
+ constructor(message) {
33
+ super(message, ExitCode.NETWORK_ERROR);
34
+ this.name = "NetworkError";
35
+ }
36
+ }
37
+ export class PaymentError extends MoltedError {
38
+ constructor(message) {
39
+ super(message, ExitCode.PAYMENT_ERROR);
40
+ this.name = "PaymentError";
41
+ }
42
+ }
43
+ export class ValidationError extends MoltedError {
44
+ details;
45
+ constructor(message, details) {
46
+ super(message, ExitCode.GENERIC_ERROR);
47
+ this.details = details;
48
+ this.name = "ValidationError";
49
+ }
50
+ }
51
+ /**
52
+ * Handle errors and exit with appropriate code
53
+ */
54
+ export function handleError(error) {
55
+ if (error instanceof MoltedError) {
56
+ console.error(`Error: ${error.message}`);
57
+ if (error instanceof ValidationError && error.details) {
58
+ for (const [field, errors] of Object.entries(error.details)) {
59
+ console.error(` ${field}: ${errors.join(", ")}`);
60
+ }
61
+ }
62
+ process.exit(error.exitCode);
63
+ }
64
+ if (error instanceof Error) {
65
+ console.error(`Error: ${error.message}`);
66
+ process.exit(ExitCode.GENERIC_ERROR);
67
+ }
68
+ console.error("An unknown error occurred");
69
+ process.exit(ExitCode.GENERIC_ERROR);
70
+ }
71
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/lib/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,OAAO,EAAE,CAAC;IACV,aAAa,EAAE,CAAC;IAChB,iBAAiB,EAAE,CAAC;IACpB,aAAa,EAAE,CAAC;IAChB,aAAa,EAAE,CAAC;CACR,CAAC;AAIX,MAAM,OAAO,WAAY,SAAQ,KAAK;IAGlB;IAFlB,YACE,OAAe,EACC,WAAyB,QAAQ,CAAC,aAAa;QAE/D,KAAK,CAAC,OAAO,CAAC,CAAC;QAFC,aAAQ,GAAR,QAAQ,CAAuC;QAG/D,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;IAC5B,CAAC;CACF;AAED,MAAM,OAAO,SAAU,SAAQ,WAAW;IACxC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QAC3C,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;IAC1B,CAAC;CACF;AAED,MAAM,OAAO,WAAY,SAAQ,WAAW;IAC1C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QAC3C,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;IAC5B,CAAC;CACF;AAED,MAAM,OAAO,YAAa,SAAQ,WAAW;IAC3C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC;QACvC,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;IAC7B,CAAC;CACF;AAED,MAAM,OAAO,YAAa,SAAQ,WAAW;IAC3C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC;QACvC,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;IAC7B,CAAC;CACF;AAED,MAAM,OAAO,eAAgB,SAAQ,WAAW;IAG5B;IAFlB,YACE,OAAe,EACC,OAAkC;QAElD,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC;QAFvB,YAAO,GAAP,OAAO,CAA2B;QAGlD,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,KAAc;IACxC,IAAI,KAAK,YAAY,WAAW,EAAE,CAAC;QACjC,OAAO,CAAC,KAAK,CAAC,UAAU,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACzC,IAAI,KAAK,YAAY,eAAe,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YACtD,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC5D,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACpD,CAAC;QACH,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;IAED,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,OAAO,CAAC,KAAK,CAAC,UAAU,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACzC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IACvC,CAAC;IAED,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC3C,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;AACvC,CAAC"}
@@ -0,0 +1,79 @@
1
+ /**
2
+ * Console output formatting utilities
3
+ */
4
+ import Table from "cli-table3";
5
+ import { Ora } from "ora";
6
+ export declare const colors: {
7
+ success: import("chalk").ChalkInstance;
8
+ error: import("chalk").ChalkInstance;
9
+ warning: import("chalk").ChalkInstance;
10
+ info: import("chalk").ChalkInstance;
11
+ muted: import("chalk").ChalkInstance;
12
+ highlight: import("chalk").ChalkInstance;
13
+ bold: import("chalk").ChalkInstance;
14
+ };
15
+ /**
16
+ * Print a success message
17
+ */
18
+ export declare function success(message: string): void;
19
+ /**
20
+ * Print an error message
21
+ */
22
+ export declare function error(message: string): void;
23
+ /**
24
+ * Print a warning message
25
+ */
26
+ export declare function warning(message: string): void;
27
+ /**
28
+ * Print an info message
29
+ */
30
+ export declare function info(message: string): void;
31
+ /**
32
+ * Print a muted/secondary message
33
+ */
34
+ export declare function muted(message: string): void;
35
+ /**
36
+ * Print a key-value pair
37
+ */
38
+ export declare function keyValue(key: string, value: string, indent?: number): void;
39
+ /**
40
+ * Print a section header
41
+ */
42
+ export declare function header(title: string): void;
43
+ /**
44
+ * Print a divider line
45
+ */
46
+ export declare function divider(): void;
47
+ /**
48
+ * Create a spinner for async operations
49
+ */
50
+ export declare function spinner(text: string): Ora;
51
+ /**
52
+ * Format USDC amount for display
53
+ */
54
+ export declare function formatUSDC(amount: number | string): string;
55
+ /**
56
+ * Truncate address for display
57
+ */
58
+ export declare function truncateAddress(address: string, chars?: number): string;
59
+ /**
60
+ * Format date for display
61
+ */
62
+ export declare function formatDate(date: string | Date): string;
63
+ /**
64
+ * Create a table for displaying data
65
+ */
66
+ export declare function createTable(headers: string[]): Table.Table;
67
+ /**
68
+ * Print data as JSON
69
+ */
70
+ export declare function json(data: unknown): void;
71
+ /**
72
+ * Print status check result
73
+ */
74
+ export declare function statusCheck(label: string, status: boolean, details?: string): void;
75
+ /**
76
+ * Print a code block (for API keys, commands, etc.)
77
+ */
78
+ export declare function codeBlock(content: string): void;
79
+ //# sourceMappingURL=output.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../src/lib/output.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,MAAM,YAAY,CAAC;AAC/B,OAAY,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE/B,eAAO,MAAM,MAAM;;;;;;;;CAQlB,CAAC;AAEF;;GAEG;AACH,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE7C;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE3C;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE7C;AAED;;GAEG;AACH,wBAAgB,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE1C;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE3C;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,SAAI,GAAG,IAAI,CAGrE;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAI1C;AAED;;GAEG;AACH,wBAAgB,OAAO,IAAI,IAAI,CAE9B;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAKzC;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAG1D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,SAAI,GAAG,MAAM,CAGlE;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAStD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,CAyB1D;AAED;;GAEG;AACH,wBAAgB,IAAI,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAExC;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAIlF;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAI/C"}
@@ -0,0 +1,155 @@
1
+ /**
2
+ * Console output formatting utilities
3
+ */
4
+ import chalk from "chalk";
5
+ import Table from "cli-table3";
6
+ import ora from "ora";
7
+ export const colors = {
8
+ success: chalk.green,
9
+ error: chalk.red,
10
+ warning: chalk.yellow,
11
+ info: chalk.blue,
12
+ muted: chalk.gray,
13
+ highlight: chalk.cyan,
14
+ bold: chalk.bold,
15
+ };
16
+ /**
17
+ * Print a success message
18
+ */
19
+ export function success(message) {
20
+ console.log(colors.success("✓"), message);
21
+ }
22
+ /**
23
+ * Print an error message
24
+ */
25
+ export function error(message) {
26
+ console.error(colors.error("✗"), message);
27
+ }
28
+ /**
29
+ * Print a warning message
30
+ */
31
+ export function warning(message) {
32
+ console.log(colors.warning("!"), message);
33
+ }
34
+ /**
35
+ * Print an info message
36
+ */
37
+ export function info(message) {
38
+ console.log(colors.info("→"), message);
39
+ }
40
+ /**
41
+ * Print a muted/secondary message
42
+ */
43
+ export function muted(message) {
44
+ console.log(colors.muted(message));
45
+ }
46
+ /**
47
+ * Print a key-value pair
48
+ */
49
+ export function keyValue(key, value, indent = 0) {
50
+ const spaces = " ".repeat(indent);
51
+ console.log(`${spaces}${colors.muted(key + ":")} ${value}`);
52
+ }
53
+ /**
54
+ * Print a section header
55
+ */
56
+ export function header(title) {
57
+ console.log();
58
+ console.log(colors.bold(title));
59
+ console.log(colors.muted("─".repeat(title.length)));
60
+ }
61
+ /**
62
+ * Print a divider line
63
+ */
64
+ export function divider() {
65
+ console.log(colors.muted("─".repeat(40)));
66
+ }
67
+ /**
68
+ * Create a spinner for async operations
69
+ */
70
+ export function spinner(text) {
71
+ return ora({
72
+ text,
73
+ spinner: "dots",
74
+ });
75
+ }
76
+ /**
77
+ * Format USDC amount for display
78
+ */
79
+ export function formatUSDC(amount) {
80
+ const num = typeof amount === "string" ? parseFloat(amount) : amount;
81
+ return `${num.toFixed(2)} USDC`;
82
+ }
83
+ /**
84
+ * Truncate address for display
85
+ */
86
+ export function truncateAddress(address, chars = 6) {
87
+ if (address.length <= chars * 2 + 2)
88
+ return address;
89
+ return `${address.slice(0, chars + 2)}...${address.slice(-chars)}`;
90
+ }
91
+ /**
92
+ * Format date for display
93
+ */
94
+ export function formatDate(date) {
95
+ const d = typeof date === "string" ? new Date(date) : date;
96
+ return d.toLocaleDateString("en-US", {
97
+ year: "numeric",
98
+ month: "short",
99
+ day: "numeric",
100
+ hour: "2-digit",
101
+ minute: "2-digit",
102
+ });
103
+ }
104
+ /**
105
+ * Create a table for displaying data
106
+ */
107
+ export function createTable(headers) {
108
+ return new Table({
109
+ head: headers.map((h) => colors.bold(h)),
110
+ style: {
111
+ head: [],
112
+ border: [],
113
+ },
114
+ chars: {
115
+ top: "",
116
+ "top-mid": "",
117
+ "top-left": "",
118
+ "top-right": "",
119
+ bottom: "",
120
+ "bottom-mid": "",
121
+ "bottom-left": "",
122
+ "bottom-right": "",
123
+ left: "",
124
+ "left-mid": "",
125
+ mid: "",
126
+ "mid-mid": "",
127
+ right: "",
128
+ "right-mid": "",
129
+ middle: " ",
130
+ },
131
+ });
132
+ }
133
+ /**
134
+ * Print data as JSON
135
+ */
136
+ export function json(data) {
137
+ console.log(JSON.stringify(data, null, 2));
138
+ }
139
+ /**
140
+ * Print status check result
141
+ */
142
+ export function statusCheck(label, status, details) {
143
+ const icon = status ? colors.success("✓") : colors.error("✗");
144
+ const detailStr = details ? ` ${colors.muted(`(${details})`)}` : "";
145
+ console.log(`${label.padEnd(12)} ${icon}${detailStr}`);
146
+ }
147
+ /**
148
+ * Print a code block (for API keys, commands, etc.)
149
+ */
150
+ export function codeBlock(content) {
151
+ console.log();
152
+ console.log(colors.muted(" " + content));
153
+ console.log();
154
+ }
155
+ //# sourceMappingURL=output.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/lib/output.ts"],"names":[],"mappings":"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"}