@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.
- package/dist/commands/approve.d.ts +8 -0
- package/dist/commands/approve.d.ts.map +1 -0
- package/dist/commands/approve.js +106 -0
- package/dist/commands/approve.js.map +1 -0
- package/dist/commands/bids/create.d.ts +8 -0
- package/dist/commands/bids/create.d.ts.map +1 -0
- package/dist/commands/bids/create.js +70 -0
- package/dist/commands/bids/create.js.map +1 -0
- package/dist/commands/bids/index.d.ts +8 -0
- package/dist/commands/bids/index.d.ts.map +1 -0
- package/dist/commands/bids/index.js +11 -0
- package/dist/commands/bids/index.js.map +1 -0
- package/dist/commands/complete.d.ts +8 -0
- package/dist/commands/complete.d.ts.map +1 -0
- package/dist/commands/complete.js +82 -0
- package/dist/commands/complete.js.map +1 -0
- package/dist/commands/init.d.ts +8 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +171 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/jobs/index.d.ts +8 -0
- package/dist/commands/jobs/index.d.ts.map +1 -0
- package/dist/commands/jobs/index.js +13 -0
- package/dist/commands/jobs/index.js.map +1 -0
- package/dist/commands/jobs/list.d.ts +8 -0
- package/dist/commands/jobs/list.d.ts.map +1 -0
- package/dist/commands/jobs/list.js +63 -0
- package/dist/commands/jobs/list.js.map +1 -0
- package/dist/commands/jobs/view.d.ts +8 -0
- package/dist/commands/jobs/view.d.ts.map +1 -0
- package/dist/commands/jobs/view.js +62 -0
- package/dist/commands/jobs/view.js.map +1 -0
- package/dist/commands/status.d.ts +8 -0
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/status.js +117 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +28 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/api-client.d.ts +140 -0
- package/dist/lib/api-client.d.ts.map +1 -0
- package/dist/lib/api-client.js +169 -0
- package/dist/lib/api-client.js.map +1 -0
- package/dist/lib/config.d.ts +96 -0
- package/dist/lib/config.d.ts.map +1 -0
- package/dist/lib/config.js +150 -0
- package/dist/lib/config.js.map +1 -0
- package/dist/lib/errors.d.ts +36 -0
- package/dist/lib/errors.d.ts.map +1 -0
- package/dist/lib/errors.js +71 -0
- package/dist/lib/errors.js.map +1 -0
- package/dist/lib/output.d.ts +79 -0
- package/dist/lib/output.d.ts.map +1 -0
- package/dist/lib/output.js +155 -0
- package/dist/lib/output.js.map +1 -0
- package/dist/lib/validation.d.ts +85 -0
- package/dist/lib/validation.d.ts.map +1 -0
- package/dist/lib/validation.js +60 -0
- package/dist/lib/validation.js.map +1 -0
- package/dist/lib/wallet/cdp-provider.d.ts +37 -0
- package/dist/lib/wallet/cdp-provider.d.ts.map +1 -0
- package/dist/lib/wallet/cdp-provider.js +126 -0
- package/dist/lib/wallet/cdp-provider.js.map +1 -0
- package/dist/lib/wallet/index.d.ts +26 -0
- package/dist/lib/wallet/index.d.ts.map +1 -0
- package/dist/lib/wallet/index.js +93 -0
- package/dist/lib/wallet/index.js.map +1 -0
- package/dist/lib/wallet/local-provider.d.ts +26 -0
- package/dist/lib/wallet/local-provider.d.ts.map +1 -0
- package/dist/lib/wallet/local-provider.js +84 -0
- package/dist/lib/wallet/local-provider.js.map +1 -0
- package/dist/lib/wallet/types.d.ts +58 -0
- package/dist/lib/wallet/types.d.ts.map +1 -0
- package/dist/lib/wallet/types.js +41 -0
- package/dist/lib/wallet/types.js.map +1 -0
- package/dist/lib/x402/client.d.ts +39 -0
- package/dist/lib/x402/client.d.ts.map +1 -0
- package/dist/lib/x402/client.js +83 -0
- package/dist/lib/x402/client.js.map +1 -0
- package/dist/test/config.test.d.ts +2 -0
- package/dist/test/config.test.d.ts.map +1 -0
- package/dist/test/config.test.js +79 -0
- package/dist/test/config.test.js.map +1 -0
- package/dist/test/errors.test.d.ts +2 -0
- package/dist/test/errors.test.d.ts.map +1 -0
- package/dist/test/errors.test.js +71 -0
- package/dist/test/errors.test.js.map +1 -0
- package/dist/test/validation.test.d.ts +2 -0
- package/dist/test/validation.test.d.ts.map +1 -0
- package/dist/test/validation.test.js +154 -0
- package/dist/test/validation.test.js.map +1 -0
- package/dist/test/wallet-types.test.d.ts +2 -0
- package/dist/test/wallet-types.test.d.ts.map +1 -0
- package/dist/test/wallet-types.test.js +36 -0
- package/dist/test/wallet-types.test.js.map +1 -0
- package/dist/test/x402.test.d.ts +2 -0
- package/dist/test/x402.test.d.ts.map +1 -0
- package/dist/test/x402.test.js +114 -0
- package/dist/test/x402.test.js.map +1 -0
- 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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"}
|