@agentuity/cli 0.0.11 → 0.0.13
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/bin/cli.ts +43 -2
- package/dist/api.d.ts +5 -0
- package/dist/api.d.ts.map +1 -1
- package/dist/auth.d.ts +2 -0
- package/dist/auth.d.ts.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cmd/auth/api.d.ts +7 -0
- package/dist/cmd/auth/api.d.ts.map +1 -1
- package/dist/cmd/auth/index.d.ts.map +1 -1
- package/dist/cmd/auth/login.d.ts.map +1 -1
- package/dist/cmd/auth/signup.d.ts +3 -0
- package/dist/cmd/auth/signup.d.ts.map +1 -0
- package/dist/cmd/dev/index.d.ts.map +1 -1
- package/dist/cmd/example/index.d.ts.map +1 -1
- package/dist/cmd/example/optional-auth.d.ts +3 -0
- package/dist/cmd/example/optional-auth.d.ts.map +1 -0
- package/dist/cmd/project/create.d.ts.map +1 -1
- package/dist/cmd/project/download.d.ts.map +1 -1
- package/dist/cmd/project/template-flow.d.ts +1 -0
- package/dist/cmd/project/template-flow.d.ts.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/sound.d.ts +1 -1
- package/dist/sound.d.ts.map +1 -1
- package/dist/tui.d.ts +23 -1
- package/dist/tui.d.ts.map +1 -1
- package/dist/types.d.ts +29 -4
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/api.ts +16 -2
- package/src/auth.ts +79 -4
- package/src/cli.ts +51 -1
- package/src/cmd/auth/README.md +37 -3
- package/src/cmd/auth/api.ts +66 -2
- package/src/cmd/auth/index.ts +2 -1
- package/src/cmd/auth/login.ts +11 -3
- package/src/cmd/auth/signup.ts +51 -0
- package/src/cmd/dev/index.ts +135 -50
- package/src/cmd/example/index.ts +2 -0
- package/src/cmd/example/optional-auth.ts +38 -0
- package/src/cmd/example/sound.ts +2 -2
- package/src/cmd/project/create.ts +1 -0
- package/src/cmd/project/download.ts +37 -52
- package/src/cmd/project/template-flow.ts +26 -11
- package/src/config.ts +8 -1
- package/src/download.ts +2 -2
- package/src/index.ts +1 -0
- package/src/sound.ts +27 -13
- package/src/tui.ts +126 -9
- package/src/types.ts +47 -2
package/bin/cli.ts
CHANGED
|
@@ -8,7 +8,27 @@ import { detectColorScheme } from '../src/terminal';
|
|
|
8
8
|
import { setColorScheme } from '../src/tui';
|
|
9
9
|
import { getVersion } from '../src/version';
|
|
10
10
|
import { checkLegacyCLI } from '../src/legacy-check';
|
|
11
|
-
import type { LogLevel } from '../src/types';
|
|
11
|
+
import type { CommandContext, LogLevel } from '../src/types';
|
|
12
|
+
|
|
13
|
+
// Cleanup TTY state before exit
|
|
14
|
+
function cleanupAndExit() {
|
|
15
|
+
if (process.stdin.isTTY) {
|
|
16
|
+
process.stdin.setRawMode(false);
|
|
17
|
+
process.stdout.write('\x1B[?25h'); // Restore cursor
|
|
18
|
+
}
|
|
19
|
+
process.exitCode = 0;
|
|
20
|
+
process.exit(0);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
// Handle Ctrl+C gracefully
|
|
24
|
+
process.once('SIGINT', () => {
|
|
25
|
+
console.log('\n');
|
|
26
|
+
cleanupAndExit();
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
process.once('SIGTERM', () => {
|
|
30
|
+
cleanupAndExit();
|
|
31
|
+
});
|
|
12
32
|
|
|
13
33
|
validateRuntime();
|
|
14
34
|
|
|
@@ -61,11 +81,32 @@ const ctx = {
|
|
|
61
81
|
};
|
|
62
82
|
|
|
63
83
|
const commands = await discoverCommands();
|
|
64
|
-
await registerCommands(program, commands, ctx);
|
|
84
|
+
await registerCommands(program, commands, ctx as unknown as CommandContext);
|
|
65
85
|
|
|
66
86
|
try {
|
|
67
87
|
await program.parseAsync(process.argv);
|
|
68
88
|
} catch (error) {
|
|
89
|
+
// Don't log error if it's from Ctrl+C, user cancellation, or signal termination
|
|
90
|
+
if (error instanceof Error) {
|
|
91
|
+
const msg = error.message.toLowerCase();
|
|
92
|
+
if (
|
|
93
|
+
msg.includes('sigint') ||
|
|
94
|
+
msg.includes('sigterm') ||
|
|
95
|
+
msg.includes('user force closed') ||
|
|
96
|
+
msg.includes('cancelled') || // UK
|
|
97
|
+
msg.includes('canceled') || // US
|
|
98
|
+
msg === ''
|
|
99
|
+
) {
|
|
100
|
+
process.exit(0);
|
|
101
|
+
}
|
|
102
|
+
if ('name' in error && error.name === 'AbortError') {
|
|
103
|
+
process.exit(0);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
// Also exit cleanly if error is empty/undefined (user cancellation)
|
|
107
|
+
if (!error) {
|
|
108
|
+
process.exit(0);
|
|
109
|
+
}
|
|
69
110
|
logger.error('CLI error:', error);
|
|
70
111
|
process.exit(1);
|
|
71
112
|
}
|
package/dist/api.d.ts
CHANGED
|
@@ -13,6 +13,11 @@ import type { Config } from './types';
|
|
|
13
13
|
export declare class UpgradeRequiredError extends Error {
|
|
14
14
|
constructor(message: string);
|
|
15
15
|
}
|
|
16
|
+
export declare class APIError extends Error {
|
|
17
|
+
status: number;
|
|
18
|
+
code?: string | undefined;
|
|
19
|
+
constructor(message: string, status: number, code?: string | undefined);
|
|
20
|
+
}
|
|
16
21
|
export declare class APIClient {
|
|
17
22
|
private baseUrl;
|
|
18
23
|
private apiKey?;
|
package/dist/api.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAmDtC,qBAAa,oBAAqB,SAAQ,KAAK;gBAClC,OAAO,EAAE,MAAM;CAI3B;AAED,qBAAa,SAAS;IAEpB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,MAAM,CAAC;IACf,OAAO,CAAC,MAAM,CAAC;gBAFP,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,MAAM,YAAA,EACf,MAAM,CAAC,GAAE,MAAM,GAAG,IAAI,aAAA;IAGzB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAmDtC,qBAAa,oBAAqB,SAAQ,KAAK;gBAClC,OAAO,EAAE,MAAM;CAI3B;AAED,qBAAa,QAAS,SAAQ,KAAK;IAG1B,MAAM,EAAE,MAAM;IACd,IAAI,CAAC,EAAE,MAAM;gBAFpB,OAAO,EAAE,MAAM,EACR,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,MAAM,YAAA;CAKrB;AAED,qBAAa,SAAS;IAEpB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,MAAM,CAAC;IACf,OAAO,CAAC,MAAM,CAAC;gBAFP,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,MAAM,YAAA,EACf,MAAM,CAAC,GAAE,MAAM,GAAG,IAAI,aAAA;IAGzB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;CAqF9E;AAED,wBAAgB,aAAa,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAW5D;AAED,wBAAgB,aAAa,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAW5D"}
|
package/dist/auth.d.ts
CHANGED
|
@@ -3,5 +3,7 @@ export declare function isTTY(): boolean;
|
|
|
3
3
|
export declare function hasLoggedInBefore(): boolean;
|
|
4
4
|
export declare function isAuthenticated(): Promise<boolean>;
|
|
5
5
|
export declare function requireAuth(ctx: CommandContext<false>): Promise<AuthData>;
|
|
6
|
+
export declare function optionalAuth(ctx: CommandContext<false>, continueText?: string): Promise<AuthData | null>;
|
|
6
7
|
export declare function withAuth<TArgs extends unknown[]>(ctx: CommandContext<false>, handler: (ctx: CommandContext<true>, ...args: TArgs) => Promise<void> | void): (...args: TArgs) => Promise<void>;
|
|
8
|
+
export declare function withOptionalAuth<TArgs extends unknown[]>(ctx: CommandContext<false>, handler: (ctx: CommandContext<false>, auth: AuthData | null, ...args: TArgs) => Promise<void> | void, continueText?: string): (...args: TArgs) => Promise<void>;
|
|
7
9
|
//# sourceMappingURL=auth.d.ts.map
|
package/dist/auth.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAIxD,wBAAgB,KAAK,IAAI,OAAO,CAE/B;AAED,wBAAgB,iBAAiB,IAAI,OAAO,CAG3C;AAED,wBAAsB,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC,CAMxD;AAED,wBAAsB,WAAW,CAAC,GAAG,EAAE,cAAc,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAyD/E;AAED,wBAAsB,YAAY,CACjC,GAAG,EAAE,cAAc,CAAC,KAAK,CAAC,EAC1B,YAAY,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAkD1B;AAED,wBAAgB,QAAQ,CAAC,KAAK,SAAS,OAAO,EAAE,EAC/C,GAAG,EAAE,cAAc,CAAC,KAAK,CAAC,EAC1B,OAAO,EAAE,CAAC,GAAG,EAAE,cAAc,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,KAAK,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,GAC1E,CAAC,GAAG,IAAI,EAAE,KAAK,KAAK,OAAO,CAAC,IAAI,CAAC,CASnC;AAED,wBAAgB,gBAAgB,CAAC,KAAK,SAAS,OAAO,EAAE,EACvD,GAAG,EAAE,cAAc,CAAC,KAAK,CAAC,EAC1B,OAAO,EAAE,CACR,GAAG,EAAE,cAAc,CAAC,KAAK,CAAC,EAC1B,IAAI,EAAE,QAAQ,GAAG,IAAI,EACrB,GAAG,IAAI,EAAE,KAAK,KACV,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,EACzB,YAAY,CAAC,EAAE,MAAM,GACnB,CAAC,GAAG,IAAI,EAAE,KAAK,KAAK,OAAO,CAAC,IAAI,CAAC,CAKnC"}
|
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,EAAE,iBAAiB,EAAwB,cAAc,EAAE,MAAM,SAAS,CAAC;AAKvF,wBAAsB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CA6BjE;
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,EAAE,iBAAiB,EAAwB,cAAc,EAAE,MAAM,SAAS,CAAC;AAKvF,wBAAsB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CA6BjE;AAiKD,wBAAsB,gBAAgB,CACrC,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,iBAAiB,EAAE,EAC7B,OAAO,EAAE,cAAc,GACrB,OAAO,CAAC,IAAI,CAAC,CA+Cf"}
|
package/dist/cmd/auth/api.d.ts
CHANGED
|
@@ -4,6 +4,13 @@ export interface LoginResult {
|
|
|
4
4
|
userId: string;
|
|
5
5
|
expires: Date;
|
|
6
6
|
}
|
|
7
|
+
export interface SignupResult {
|
|
8
|
+
apiKey: string;
|
|
9
|
+
userId: string;
|
|
10
|
+
expires: Date;
|
|
11
|
+
}
|
|
7
12
|
export declare function generateLoginOTP(apiUrl: string, config?: Config | null): Promise<string>;
|
|
8
13
|
export declare function pollForLoginCompletion(apiUrl: string, otp: string, config?: Config | null, timeoutMs?: number): Promise<LoginResult>;
|
|
14
|
+
export declare function generateSignupOTP(): string;
|
|
15
|
+
export declare function pollForSignupCompletion(apiUrl: string, otp: string, config?: Config | null, timeoutMs?: number): Promise<SignupResult>;
|
|
9
16
|
//# sourceMappingURL=api.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/cmd/auth/api.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAkBtC,MAAM,WAAW,WAAW;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,IAAI,CAAC;CACd;AAED,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAa9F;AAED,wBAAsB,sBAAsB,CAC3C,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,EACtB,SAAS,SAAQ,GACf,OAAO,CAAC,WAAW,CAAC,CAyBtB"}
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/cmd/auth/api.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAkBtC,MAAM,WAAW,WAAW;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,IAAI,CAAC;CACd;AAQD,MAAM,WAAW,YAAY;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,IAAI,CAAC;CACd;AAED,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAa9F;AAED,wBAAsB,sBAAsB,CAC3C,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,EACtB,SAAS,SAAQ,GACf,OAAO,CAAC,WAAW,CAAC,CAyBtB;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAS1C;AAED,wBAAsB,uBAAuB,CAC5C,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,EACtB,SAAS,SAAS,GAChB,OAAO,CAAC,YAAY,CAAC,CAkCvB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cmd/auth/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cmd/auth/index.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,OAAO,qCAIlB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../src/cmd/auth/login.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAMpD,eAAO,MAAM,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../src/cmd/auth/login.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAMpD,eAAO,MAAM,YAAY,EAAE,oBA6E1B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signup.d.ts","sourceRoot":"","sources":["../../../src/cmd/auth/signup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAMpD,eAAO,MAAM,aAAa,EAAE,oBA4C3B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cmd/dev/index.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cmd/dev/index.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,OAAO,qCAgKlB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cmd/example/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cmd/example/index.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,OAAO,qCAgBlB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"optional-auth.d.ts","sourceRoot":"","sources":["../../../src/cmd/example/optional-auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAA4B,MAAM,SAAS,CAAC;AAG9E,eAAO,MAAM,sBAAsB,EAAE,oBAkCpC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/cmd/project/create.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,uBAAuB,
|
|
1
|
+
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/cmd/project/create.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,uBAAuB,wCA+ClC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"download.d.ts","sourceRoot":"","sources":["../../../src/cmd/project/download.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"download.d.ts","sourceRoot":"","sources":["../../../src/cmd/project/download.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAKhD,UAAU,eAAe;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,YAAY,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,UAAU,YAAY;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CACf;AAsBD,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAuD9E;AAED,wBAAsB,YAAY,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAgCvE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template-flow.d.ts","sourceRoot":"","sources":["../../../src/cmd/project/template-flow.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"template-flow.d.ts","sourceRoot":"","sources":["../../../src/cmd/project/template-flow.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAMvC,UAAU,iBAAiB;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;CACf;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CA0J7E"}
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAKzD,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C;AAED,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAOrD;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAG7D;AAED,wBAAsB,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,CAmBlD;AAED,wBAAsB,aAAa,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAkCxD;AAED,wBAAsB,UAAU,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAKzD,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C;AAED,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAOrD;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAG7D;AAED,wBAAsB,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,CAmBlD;AAED,wBAAsB,aAAa,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAkCxD;AAED,wBAAsB,UAAU,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAsC5E;AA4CD,wBAAsB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAQnF;AAED,wBAAsB,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAU5D;AAED,wBAAsB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAU/C;AAED,wBAAsB,OAAO,IAAI,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAcxD;AA4BD,iBAAS,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CA0DlD;AAED,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export { createCLI, registerCommands } from './cli';
|
|
2
2
|
export { validateRuntime, isBun } from './runtime';
|
|
3
3
|
export { getVersion, getRevision, getPackageName, getPackage } from './version';
|
|
4
|
+
export { requireAuth, optionalAuth, withAuth, withOptionalAuth } from './auth';
|
|
4
5
|
export { loadConfig, saveConfig, getDefaultConfigPath, getDefaultConfigDir, getProfilePath, ensureConfigDir, saveProfile, getProfile, fetchProfiles, saveAuth, clearAuth, getAuth, } from './config';
|
|
5
6
|
export { APIClient, getAPIBaseURL, getAppBaseURL, UpgradeRequiredError } from './api';
|
|
6
7
|
export { Logger, logger } from './logger';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAChF,OAAO,EACN,UAAU,EACV,UAAU,EACV,oBAAoB,EACpB,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,WAAW,EACX,UAAU,EACV,aAAa,EACb,QAAQ,EACR,SAAS,EACT,OAAO,GACP,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAC;AACtF,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,mBAAmB,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAC7F,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EACN,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,EACrB,KAAK,eAAe,IAAI,mBAAmB,EAC3C,KAAK,qBAAqB,GAC1B,MAAM,YAAY,CAAC;AACpB,YAAY,EACX,MAAM,EACN,QAAQ,EACR,aAAa,EACb,cAAc,EACd,oBAAoB,EACpB,iBAAiB,EACjB,OAAO,EACP,QAAQ,EACR,cAAc,GACd,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC1D,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAChF,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAC/E,OAAO,EACN,UAAU,EACV,UAAU,EACV,oBAAoB,EACpB,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,WAAW,EACX,UAAU,EACV,aAAa,EACb,QAAQ,EACR,SAAS,EACT,OAAO,GACP,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAC;AACtF,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,mBAAmB,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAC7F,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EACN,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,EACrB,KAAK,eAAe,IAAI,mBAAmB,EAC3C,KAAK,qBAAqB,GAC1B,MAAM,YAAY,CAAC;AACpB,YAAY,EACX,MAAM,EACN,QAAQ,EACR,aAAa,EACb,cAAc,EACd,oBAAoB,EACpB,iBAAiB,EACjB,OAAO,EACP,QAAQ,EACR,cAAc,GACd,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC1D,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC"}
|
package/dist/sound.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare function playSound():
|
|
1
|
+
export declare function playSound(): void;
|
|
2
2
|
//# sourceMappingURL=sound.d.ts.map
|
package/dist/sound.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sound.d.ts","sourceRoot":"","sources":["../src/sound.ts"],"names":[],"mappings":"AAEA,
|
|
1
|
+
{"version":3,"file":"sound.d.ts","sourceRoot":"","sources":["../src/sound.ts"],"names":[],"mappings":"AAEA,wBAAgB,SAAS,IAAI,IAAI,CAoChC"}
|
package/dist/tui.d.ts
CHANGED
|
@@ -14,10 +14,14 @@ export declare function success(message: string): void;
|
|
|
14
14
|
* Print an error message with a red X
|
|
15
15
|
*/
|
|
16
16
|
export declare function error(message: string): void;
|
|
17
|
+
/**
|
|
18
|
+
* Print an error message with a red X and then exit
|
|
19
|
+
*/
|
|
20
|
+
export declare function fatal(message: string): never;
|
|
17
21
|
/**
|
|
18
22
|
* Print a warning message with a yellow warning icon
|
|
19
23
|
*/
|
|
20
|
-
export declare function warning(message: string): void;
|
|
24
|
+
export declare function warning(message: string, asError?: boolean): void;
|
|
21
25
|
/**
|
|
22
26
|
* Print an info message with a cyan info icon
|
|
23
27
|
*/
|
|
@@ -59,6 +63,7 @@ export declare function padLeft(str: string, length: number, pad?: string): stri
|
|
|
59
63
|
* Creates a bordered box around the content
|
|
60
64
|
*
|
|
61
65
|
* Uses Bun.stringWidth() for accurate width calculation with ANSI codes and unicode
|
|
66
|
+
* Responsive to terminal width - adapts to narrow terminals
|
|
62
67
|
*/
|
|
63
68
|
export declare function banner(title: string, body: string): void;
|
|
64
69
|
/**
|
|
@@ -73,6 +78,11 @@ export declare function waitForAnyKey(message?: string): Promise<void>;
|
|
|
73
78
|
* Exits with code 1 if CTRL+C is pressed
|
|
74
79
|
*/
|
|
75
80
|
export declare function confirm(message: string, defaultValue?: boolean): Promise<boolean>;
|
|
81
|
+
/**
|
|
82
|
+
* Display a signup benefits box with cyan border
|
|
83
|
+
* Shows the value proposition for creating an Agentuity account
|
|
84
|
+
*/
|
|
85
|
+
export declare function showSignupBenefits(): void;
|
|
76
86
|
/**
|
|
77
87
|
* Copy text to clipboard
|
|
78
88
|
* Returns true if successful, false otherwise
|
|
@@ -146,6 +156,18 @@ export interface CommandRunnerOptions {
|
|
|
146
156
|
* Defaults to false
|
|
147
157
|
*/
|
|
148
158
|
clearOnSuccess?: boolean;
|
|
159
|
+
/**
|
|
160
|
+
* If true or undefined, will truncate each line of output
|
|
161
|
+
*/
|
|
162
|
+
truncate?: boolean;
|
|
163
|
+
/**
|
|
164
|
+
* If undefined, will show up to 3 last lines of output while running. Customize the number with this property.
|
|
165
|
+
*/
|
|
166
|
+
maxLinesOutput?: number;
|
|
167
|
+
/**
|
|
168
|
+
* If undefined, will show up to 10 last lines on failure. Customize the number with this property.
|
|
169
|
+
*/
|
|
170
|
+
maxLinesOnFailure?: number;
|
|
149
171
|
}
|
|
150
172
|
/**
|
|
151
173
|
* Run an external command and stream its output with a live UI
|
package/dist/tui.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tui.d.ts","sourceRoot":"","sources":["../src/tui.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AA+C9C,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAExD;AAUD;;GAEG;AACH,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAI7C;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAI3C;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"tui.d.ts","sourceRoot":"","sources":["../src/tui.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -92,12 +92,13 @@ export type CommandContext<RequiresAuth extends boolean = false, ArgsSchema exte
|
|
|
92
92
|
logger: Logger;
|
|
93
93
|
options: GlobalOptions;
|
|
94
94
|
};
|
|
95
|
-
export declare function createSubcommand<TRequiresAuth extends boolean, TArgsSchema extends z.ZodType | undefined, TOptionsSchema extends z.ZodType | undefined>(definition: {
|
|
95
|
+
export declare function createSubcommand<TRequiresAuth extends boolean, TOptionalAuth extends boolean | string, TArgsSchema extends z.ZodType | undefined, TOptionsSchema extends z.ZodType | undefined>(definition: {
|
|
96
96
|
name: string;
|
|
97
97
|
description: string;
|
|
98
98
|
aliases?: string[];
|
|
99
99
|
toplevel?: boolean;
|
|
100
100
|
requiresAuth?: TRequiresAuth;
|
|
101
|
+
optionalAuth?: TOptionalAuth;
|
|
101
102
|
schema?: TArgsSchema extends z.ZodType ? TOptionsSchema extends z.ZodType ? {
|
|
102
103
|
args: TArgsSchema;
|
|
103
104
|
options: TOptionsSchema;
|
|
@@ -106,14 +107,15 @@ export declare function createSubcommand<TRequiresAuth extends boolean, TArgsSch
|
|
|
106
107
|
} : TOptionsSchema extends z.ZodType ? {
|
|
107
108
|
options: TOptionsSchema;
|
|
108
109
|
} : never;
|
|
109
|
-
handler(ctx: CommandContext<TRequiresAuth extends true ? true : false, TArgsSchema, TOptionsSchema>): void | Promise<void>;
|
|
110
|
+
handler(ctx: CommandContext<TRequiresAuth extends true ? true : TOptionalAuth extends true | string ? true | false : false, TArgsSchema, TOptionsSchema>): void | Promise<void>;
|
|
110
111
|
}): SubcommandDefinition;
|
|
111
|
-
export declare function createCommand<TRequiresAuth extends boolean, TArgsSchema extends z.ZodType | undefined, TOptionsSchema extends z.ZodType | undefined>(definition: {
|
|
112
|
+
export declare function createCommand<TRequiresAuth extends boolean, TOptionalAuth extends boolean | string, TArgsSchema extends z.ZodType | undefined, TOptionsSchema extends z.ZodType | undefined>(definition: {
|
|
112
113
|
name: string;
|
|
113
114
|
description: string;
|
|
114
115
|
aliases?: string[];
|
|
115
116
|
hidden?: boolean;
|
|
116
117
|
requiresAuth?: TRequiresAuth;
|
|
118
|
+
optionalAuth?: TOptionalAuth;
|
|
117
119
|
schema?: TArgsSchema extends z.ZodType ? TOptionsSchema extends z.ZodType ? {
|
|
118
120
|
args: TArgsSchema;
|
|
119
121
|
options: TOptionsSchema;
|
|
@@ -122,7 +124,7 @@ export declare function createCommand<TRequiresAuth extends boolean, TArgsSchema
|
|
|
122
124
|
} : TOptionsSchema extends z.ZodType ? {
|
|
123
125
|
options: TOptionsSchema;
|
|
124
126
|
} : never;
|
|
125
|
-
handler?(ctx: CommandContext<TRequiresAuth extends true ? true : false, TArgsSchema, TOptionsSchema>): void | Promise<void>;
|
|
127
|
+
handler?(ctx: CommandContext<TRequiresAuth extends true ? true : TOptionalAuth extends true | string ? true | false : false, TArgsSchema, TOptionsSchema>): void | Promise<void>;
|
|
126
128
|
subcommands?: SubcommandDefinition[];
|
|
127
129
|
}): CommandDefinition;
|
|
128
130
|
export type SubcommandDefinition = {
|
|
@@ -131,6 +133,7 @@ export type SubcommandDefinition = {
|
|
|
131
133
|
aliases?: string[];
|
|
132
134
|
toplevel?: boolean;
|
|
133
135
|
requiresAuth: true;
|
|
136
|
+
optionalAuth?: false | string;
|
|
134
137
|
schema?: CommandSchemas;
|
|
135
138
|
handler(ctx: CommandContext): void | Promise<void>;
|
|
136
139
|
} | {
|
|
@@ -139,6 +142,16 @@ export type SubcommandDefinition = {
|
|
|
139
142
|
aliases?: string[];
|
|
140
143
|
toplevel?: boolean;
|
|
141
144
|
requiresAuth?: false;
|
|
145
|
+
optionalAuth: true | string;
|
|
146
|
+
schema?: CommandSchemas;
|
|
147
|
+
handler(ctx: CommandContext): void | Promise<void>;
|
|
148
|
+
} | {
|
|
149
|
+
name: string;
|
|
150
|
+
description: string;
|
|
151
|
+
aliases?: string[];
|
|
152
|
+
toplevel?: boolean;
|
|
153
|
+
requiresAuth?: false;
|
|
154
|
+
optionalAuth?: false;
|
|
142
155
|
schema?: CommandSchemas;
|
|
143
156
|
handler(ctx: CommandContext): void | Promise<void>;
|
|
144
157
|
};
|
|
@@ -148,6 +161,17 @@ export type CommandDefinition = {
|
|
|
148
161
|
aliases?: string[];
|
|
149
162
|
hidden?: boolean;
|
|
150
163
|
requiresAuth: true;
|
|
164
|
+
optionalAuth?: false | string;
|
|
165
|
+
schema?: CommandSchemas;
|
|
166
|
+
handler?(ctx: CommandContext): void | Promise<void>;
|
|
167
|
+
subcommands?: SubcommandDefinition[];
|
|
168
|
+
} | {
|
|
169
|
+
name: string;
|
|
170
|
+
description: string;
|
|
171
|
+
aliases?: string[];
|
|
172
|
+
hidden?: boolean;
|
|
173
|
+
requiresAuth?: false;
|
|
174
|
+
optionalAuth: true | string;
|
|
151
175
|
schema?: CommandSchemas;
|
|
152
176
|
handler?(ctx: CommandContext): void | Promise<void>;
|
|
153
177
|
subcommands?: SubcommandDefinition[];
|
|
@@ -157,6 +181,7 @@ export type CommandDefinition = {
|
|
|
157
181
|
aliases?: string[];
|
|
158
182
|
hidden?: boolean;
|
|
159
183
|
requiresAuth?: false;
|
|
184
|
+
optionalAuth?: false;
|
|
160
185
|
schema?: CommandSchemas;
|
|
161
186
|
handler?(ctx: CommandContext): void | Promise<void>;
|
|
162
187
|
subcommands?: SubcommandDefinition[];
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/api.ts
CHANGED
|
@@ -68,6 +68,17 @@ export class UpgradeRequiredError extends Error {
|
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
70
|
|
|
71
|
+
export class APIError extends Error {
|
|
72
|
+
constructor(
|
|
73
|
+
message: string,
|
|
74
|
+
public status: number,
|
|
75
|
+
public code?: string
|
|
76
|
+
) {
|
|
77
|
+
super(message);
|
|
78
|
+
this.name = 'APIError';
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
|
|
71
82
|
export class APIClient {
|
|
72
83
|
constructor(
|
|
73
84
|
private baseUrl: string,
|
|
@@ -141,10 +152,13 @@ export class APIClient {
|
|
|
141
152
|
|
|
142
153
|
// Throw with message from API if available
|
|
143
154
|
if (errorData?.message) {
|
|
144
|
-
throw new
|
|
155
|
+
throw new APIError(errorData.message, response.status, errorData.code);
|
|
145
156
|
}
|
|
146
157
|
|
|
147
|
-
throw new
|
|
158
|
+
throw new APIError(
|
|
159
|
+
`API error: ${response.status} ${response.statusText}`,
|
|
160
|
+
response.status
|
|
161
|
+
);
|
|
148
162
|
}
|
|
149
163
|
|
|
150
164
|
// Successful response; handle empty bodies (e.g., 204 No Content)
|
package/src/auth.ts
CHANGED
|
@@ -3,6 +3,7 @@ import { getDefaultConfigDir, getAuth } from './config';
|
|
|
3
3
|
import { getCommand } from './command-prefix';
|
|
4
4
|
import type { CommandContext, AuthData } from './types';
|
|
5
5
|
import * as tui from './tui';
|
|
6
|
+
import enquirer from 'enquirer';
|
|
6
7
|
|
|
7
8
|
export function isTTY(): boolean {
|
|
8
9
|
return process.stdin.isTTY === true && process.stdout.isTTY === true;
|
|
@@ -45,8 +46,10 @@ export async function requireAuth(ctx: CommandContext<false>): Promise<AuthData>
|
|
|
45
46
|
}
|
|
46
47
|
}
|
|
47
48
|
|
|
48
|
-
//
|
|
49
|
-
tui.
|
|
49
|
+
// Show signup benefits box
|
|
50
|
+
tui.showSignupBenefits();
|
|
51
|
+
|
|
52
|
+
// Interactive mode - show warning and confirm
|
|
50
53
|
tui.warning(
|
|
51
54
|
hasConfig
|
|
52
55
|
? 'You are not currently logged in or your session has expired.'
|
|
@@ -60,9 +63,65 @@ export async function requireAuth(ctx: CommandContext<false>): Promise<AuthData>
|
|
|
60
63
|
);
|
|
61
64
|
|
|
62
65
|
if (!shouldLogin) {
|
|
63
|
-
|
|
66
|
+
return tui.fatal(`Authentication required. Run "${loginCmd}" when you're ready to continue.`);
|
|
67
|
+
}
|
|
68
|
+
tui.newline();
|
|
69
|
+
|
|
70
|
+
// Import and run login flow
|
|
71
|
+
const { loginCommand } = await import('./cmd/auth/login');
|
|
72
|
+
await loginCommand.handler(ctx);
|
|
73
|
+
|
|
74
|
+
// After login completes, verify we have auth
|
|
75
|
+
const newAuth = await getAuth();
|
|
76
|
+
if (!newAuth || newAuth.expires <= new Date()) {
|
|
77
|
+
return tui.fatal('Login was not completed successfully.');
|
|
78
|
+
}
|
|
79
|
+
tui.newline();
|
|
80
|
+
|
|
81
|
+
return newAuth;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
export async function optionalAuth(
|
|
85
|
+
ctx: CommandContext<false>,
|
|
86
|
+
continueText?: string
|
|
87
|
+
): Promise<AuthData | null> {
|
|
88
|
+
const auth = await getAuth();
|
|
89
|
+
|
|
90
|
+
if (auth && auth.expires > new Date()) {
|
|
91
|
+
return auth;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
if (!isTTY()) {
|
|
95
|
+
// In non-TTY mode, just return null
|
|
96
|
+
return null;
|
|
64
97
|
}
|
|
65
98
|
|
|
99
|
+
// Show signup benefits box
|
|
100
|
+
tui.showSignupBenefits();
|
|
101
|
+
|
|
102
|
+
// Show select menu with custom or default text
|
|
103
|
+
const defaultContinueText = 'Start without an account (run locally)';
|
|
104
|
+
const response = await enquirer.prompt<{ action: string }>({
|
|
105
|
+
type: 'select',
|
|
106
|
+
name: 'action',
|
|
107
|
+
message: 'How would you like to continue?',
|
|
108
|
+
choices: [
|
|
109
|
+
{
|
|
110
|
+
name: 'login',
|
|
111
|
+
message: 'Create an account or login',
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
name: 'local',
|
|
115
|
+
message: continueText || defaultContinueText,
|
|
116
|
+
},
|
|
117
|
+
],
|
|
118
|
+
});
|
|
119
|
+
|
|
120
|
+
if (response.action === 'local') {
|
|
121
|
+
return null;
|
|
122
|
+
}
|
|
123
|
+
tui.newline();
|
|
124
|
+
|
|
66
125
|
// Import and run login flow
|
|
67
126
|
const { loginCommand } = await import('./cmd/auth/login');
|
|
68
127
|
await loginCommand.handler(ctx);
|
|
@@ -70,8 +129,9 @@ export async function requireAuth(ctx: CommandContext<false>): Promise<AuthData>
|
|
|
70
129
|
// After login completes, verify we have auth
|
|
71
130
|
const newAuth = await getAuth();
|
|
72
131
|
if (!newAuth || newAuth.expires <= new Date()) {
|
|
73
|
-
return
|
|
132
|
+
return null;
|
|
74
133
|
}
|
|
134
|
+
tui.newline();
|
|
75
135
|
|
|
76
136
|
return newAuth;
|
|
77
137
|
}
|
|
@@ -89,3 +149,18 @@ export function withAuth<TArgs extends unknown[]>(
|
|
|
89
149
|
return handler(authenticatedCtx, ...args);
|
|
90
150
|
};
|
|
91
151
|
}
|
|
152
|
+
|
|
153
|
+
export function withOptionalAuth<TArgs extends unknown[]>(
|
|
154
|
+
ctx: CommandContext<false>,
|
|
155
|
+
handler: (
|
|
156
|
+
ctx: CommandContext<false>,
|
|
157
|
+
auth: AuthData | null,
|
|
158
|
+
...args: TArgs
|
|
159
|
+
) => Promise<void> | void,
|
|
160
|
+
continueText?: string
|
|
161
|
+
): (...args: TArgs) => Promise<void> {
|
|
162
|
+
return async (...args: TArgs) => {
|
|
163
|
+
const auth = await optionalAuth(ctx, continueText);
|
|
164
|
+
return handler(ctx, auth, ...args);
|
|
165
|
+
};
|
|
166
|
+
}
|