@agentuity/cli 0.0.72 → 0.0.73

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 (71) hide show
  1. package/bin/cli.ts +19 -5
  2. package/dist/cli.d.ts.map +1 -1
  3. package/dist/cli.js +77 -19
  4. package/dist/cli.js.map +1 -1
  5. package/dist/cmd/auth/api.d.ts +2 -2
  6. package/dist/cmd/auth/api.d.ts.map +1 -1
  7. package/dist/cmd/auth/api.js +15 -14
  8. package/dist/cmd/auth/api.js.map +1 -1
  9. package/dist/cmd/auth/login.d.ts.map +1 -1
  10. package/dist/cmd/auth/login.js +37 -16
  11. package/dist/cmd/auth/login.js.map +1 -1
  12. package/dist/cmd/auth/ssh/api.d.ts.map +1 -1
  13. package/dist/cmd/auth/ssh/api.js +3 -2
  14. package/dist/cmd/auth/ssh/api.js.map +1 -1
  15. package/dist/cmd/build/ast.d.ts.map +1 -1
  16. package/dist/cmd/build/ast.js +56 -8
  17. package/dist/cmd/build/ast.js.map +1 -1
  18. package/dist/cmd/build/bundler.d.ts.map +1 -1
  19. package/dist/cmd/build/bundler.js +2 -0
  20. package/dist/cmd/build/bundler.js.map +1 -1
  21. package/dist/cmd/build/format-schema.d.ts +6 -0
  22. package/dist/cmd/build/format-schema.d.ts.map +1 -0
  23. package/dist/cmd/build/format-schema.js +60 -0
  24. package/dist/cmd/build/format-schema.js.map +1 -0
  25. package/dist/cmd/build/index.d.ts.map +1 -1
  26. package/dist/cmd/build/index.js +13 -0
  27. package/dist/cmd/build/index.js.map +1 -1
  28. package/dist/cmd/build/plugin.d.ts.map +1 -1
  29. package/dist/cmd/build/plugin.js +72 -2
  30. package/dist/cmd/build/plugin.js.map +1 -1
  31. package/dist/cmd/cloud/deployment/show.d.ts.map +1 -1
  32. package/dist/cmd/cloud/deployment/show.js +34 -10
  33. package/dist/cmd/cloud/deployment/show.js.map +1 -1
  34. package/dist/cmd/dev/agents.d.ts.map +1 -1
  35. package/dist/cmd/dev/agents.js +2 -2
  36. package/dist/cmd/dev/agents.js.map +1 -1
  37. package/dist/cmd/dev/sync.d.ts.map +1 -1
  38. package/dist/cmd/dev/sync.js +2 -2
  39. package/dist/cmd/dev/sync.js.map +1 -1
  40. package/dist/cmd/project/show.d.ts.map +1 -1
  41. package/dist/cmd/project/show.js +8 -7
  42. package/dist/cmd/project/show.js.map +1 -1
  43. package/dist/cmd/project/template-flow.d.ts.map +1 -1
  44. package/dist/cmd/project/template-flow.js +14 -2
  45. package/dist/cmd/project/template-flow.js.map +1 -1
  46. package/dist/config.d.ts.map +1 -1
  47. package/dist/config.js +9 -0
  48. package/dist/config.js.map +1 -1
  49. package/dist/tui.d.ts +20 -1
  50. package/dist/tui.d.ts.map +1 -1
  51. package/dist/tui.js +85 -14
  52. package/dist/tui.js.map +1 -1
  53. package/dist/types.d.ts +10 -0
  54. package/dist/types.d.ts.map +1 -1
  55. package/package.json +3 -3
  56. package/src/cli.ts +85 -25
  57. package/src/cmd/auth/api.ts +20 -22
  58. package/src/cmd/auth/login.ts +36 -17
  59. package/src/cmd/auth/ssh/api.ts +5 -6
  60. package/src/cmd/build/ast.ts +67 -8
  61. package/src/cmd/build/bundler.ts +2 -0
  62. package/src/cmd/build/format-schema.ts +66 -0
  63. package/src/cmd/build/index.ts +14 -0
  64. package/src/cmd/build/plugin.ts +86 -2
  65. package/src/cmd/cloud/deployment/show.ts +42 -10
  66. package/src/cmd/dev/agents.ts +2 -4
  67. package/src/cmd/dev/sync.ts +6 -8
  68. package/src/cmd/project/show.ts +8 -6
  69. package/src/cmd/project/template-flow.ts +21 -2
  70. package/src/config.ts +10 -0
  71. package/src/tui.ts +119 -16
package/bin/cli.ts CHANGED
@@ -36,14 +36,28 @@ process.once('SIGTERM', () => {
36
36
 
37
37
  validateRuntime();
38
38
 
39
- // Check for help flags before anything else
40
- const args = process.argv.slice(2);
41
- const hasHelpJson = args.includes('--help=json');
39
+ // Preprocess arguments to convert --help=json to --help json
40
+ // Commander.js doesn't support --option=value syntax for optional values
41
+ const preprocessedArgs = process.argv.slice(2).flatMap((arg) => {
42
+ if (arg === '--help=json') {
43
+ return ['--help', 'json'];
44
+ }
45
+ return arg;
46
+ });
47
+ // Preserve the original process.argv[0] (runtime) and process.argv[1] (script path)
48
+ // This is important for Bun, Node, and bundled executables
49
+ process.argv = [process.argv[0], process.argv[1], ...preprocessedArgs];
50
+
42
51
  const helpFlags = ['--help', '-h', 'help'];
43
- const hasHelp = helpFlags.some((flag) => args.includes(flag));
52
+ const hasHelp = helpFlags.some((flag) => preprocessedArgs.includes(flag));
44
53
 
45
54
  // Check for --help=json early (needs to exit before full initialization)
46
- if (args.length === 1 && hasHelpJson) {
55
+ // After preprocessing, --help=json becomes ['--help', 'json'] (length 2)
56
+ if (
57
+ preprocessedArgs.length === 2 &&
58
+ preprocessedArgs[0] === '--help' &&
59
+ preprocessedArgs[1] === 'json'
60
+ ) {
47
61
  const version = getVersion();
48
62
  const program = await createCLI(version);
49
63
  const commands = await discoverCommands();
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,EACX,iBAAiB,EAEjB,cAAc,EAQd,MAAM,SAAS,CAAC;AAqNjB,wBAAsB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CA2JjE;AAiwBD,wBAAsB,gBAAgB,CACrC,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,iBAAiB,EAAE,EAC7B,OAAO,EAAE,cAAc,GACrB,OAAO,CAAC,IAAI,CAAC,CAsLf"}
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,EACX,iBAAiB,EAEjB,cAAc,EAQd,MAAM,SAAS,CAAC;AAqNjB,wBAAsB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAmMjE;AA2wBD,wBAAsB,gBAAgB,CACrC,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,iBAAiB,EAAE,EAC7B,OAAO,EAAE,cAAc,GACrB,OAAO,CAAC,IAAI,CAAC,CAgMf"}
package/dist/cli.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { Command } from 'commander';
2
- import { showBanner, generateBanner } from './banner';
2
+ import { showBanner } from './banner';
3
3
  import { requireAuth, optionalAuth, requireOrg, optionalOrg as selectOptionalOrg } from './auth';
4
4
  import { listRegions } from '@agentuity/server';
5
5
  import enquirer from 'enquirer';
@@ -229,6 +229,42 @@ export async function createCLI(version) {
229
229
  program.configureHelp({
230
230
  subcommandTerm: (cmd) => cmd.name(),
231
231
  formatHelp: (cmd, helper) => {
232
+ // Check if JSON help was requested via --help=json (converted to --help json)
233
+ const args = process.argv.slice(2);
234
+ const helpIndex = args.findIndex((a) => a === '--help' || a === '-h');
235
+ const wantsJson = helpIndex !== -1 && args[helpIndex + 1] === 'json';
236
+ if (wantsJson) {
237
+ // Generate JSON help for this specific command
238
+ const commands = helper.visibleCommands(cmd);
239
+ // Extract examples if available
240
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
241
+ const cmdAny = cmd;
242
+ const examples = cmdAny._examples || [];
243
+ const cmdHelp = {
244
+ name: cmd.name(),
245
+ description: cmd.description(),
246
+ usage: cmd.usage(),
247
+ commands: commands.map((c) => ({
248
+ name: c.name(),
249
+ aliases: c.aliases(),
250
+ description: c.description(),
251
+ })),
252
+ arguments: helper.visibleArguments(cmd).map((arg) => ({
253
+ term: helper.argumentTerm(arg),
254
+ description: helper.argumentDescription(arg),
255
+ })),
256
+ options: helper.visibleOptions(cmd).map((opt) => ({
257
+ flags: helper.optionTerm(opt),
258
+ description: helper.optionDescription(opt),
259
+ })),
260
+ globalOptions: helper.visibleGlobalOptions(cmd).map((opt) => ({
261
+ flags: helper.optionTerm(opt),
262
+ description: helper.optionDescription(opt),
263
+ })),
264
+ ...(examples.length > 0 && { examples }),
265
+ };
266
+ return JSON.stringify(cmdHelp, null, 2);
267
+ }
232
268
  const termWidth = helper.padWidth(cmd, helper);
233
269
  const itemIndentWidth = 2;
234
270
  const itemSeparatorWidth = 2;
@@ -238,8 +274,8 @@ export async function createCLI(version) {
238
274
  }
239
275
  return term;
240
276
  }
241
- // Format each section
242
- let output = cmd.parent ? generateBanner(undefined, true) + '\n' : '';
277
+ // Format each section (don't show banner for subcommands)
278
+ let output = '';
243
279
  // Description
244
280
  const description = helper.commandDescription(cmd);
245
281
  if (description) {
@@ -361,21 +397,32 @@ async function resolveRegion(opts) {
361
397
  }
362
398
  async function registerSubcommand(parent, subcommand, baseCtx, hidden) {
363
399
  const cmd = parent.command(subcommand.name, { hidden }).description(subcommand.description);
364
- cmd.helpOption('-h, --help', 'Display help');
400
+ cmd.helpOption('-h, --help=[json]', 'Display help (with optional JSON output)');
365
401
  if (subcommand.aliases) {
366
402
  cmd.aliases(subcommand.aliases);
367
403
  }
368
- // Add examples to help text
404
+ // Add examples to help text (skip in JSON mode)
369
405
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
370
406
  const examples = subcommand.examples;
371
407
  if (examples && examples.length > 0) {
372
- // Find the longest command to align comments
373
- const maxLength = Math.max(...examples.map((ex) => ex.command.length));
374
- const formatted = examples.map((ex) => {
375
- const padding = ' '.repeat(maxLength - ex.command.length + 1);
376
- return ` ${tui.colorPrimary(ex.command)}${padding}${tui.muted('#')} ${tui.muted(ex.description)}`;
408
+ // Store examples for JSON help generation
409
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
410
+ cmd._examples = examples;
411
+ // Add formatted examples to text help
412
+ cmd.addHelpText('after', () => {
413
+ // Skip examples in JSON mode
414
+ const args = process.argv.slice(2);
415
+ const helpIndex = args.findIndex((a) => a === '--help' || a === '-h');
416
+ if (helpIndex !== -1 && args[helpIndex + 1] === 'json') {
417
+ return '';
418
+ }
419
+ const maxLength = Math.max(...examples.map((ex) => ex.command.length));
420
+ const formatted = examples.map((ex) => {
421
+ const padding = ' '.repeat(maxLength - ex.command.length + 1);
422
+ return ` ${tui.colorPrimary(ex.command)}${padding}${tui.muted('#')} ${tui.muted(ex.description)}`;
423
+ });
424
+ return `\n${tui.colorPrimary('\x1b[4mExamples:\x1b[24m')}\n` + formatted.join('\n');
377
425
  });
378
- cmd.addHelpText('after', `\n${tui.colorPrimary('\x1b[4mExamples:\x1b[24m')}\n` + formatted.join('\n'));
379
426
  }
380
427
  // Check if this subcommand has its own subcommands (nested subcommands)
381
428
  const subDef = subcommand;
@@ -878,21 +925,32 @@ export async function registerCommands(program, commands, baseCtx) {
878
925
  const cmd = program
879
926
  .command(cmdDef.name, { hidden: cmdDef.hidden })
880
927
  .description(cmdDef.description);
881
- cmd.helpOption('-h, --help', 'Display help');
928
+ cmd.helpOption('-h, --help=[json]', 'Display help (with optional JSON output)');
882
929
  if (cmdDef.aliases) {
883
930
  cmd.aliases(cmdDef.aliases);
884
931
  }
885
- // Add examples to help text
932
+ // Add examples to help text (skip in JSON mode)
886
933
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
887
934
  const examples = cmdDef.examples;
888
935
  if (examples && examples.length > 0) {
889
- // Find the longest command to align comments
890
- const maxLength = Math.max(...examples.map((ex) => ex.command.length));
891
- const formatted = examples.map((ex) => {
892
- const padding = ' '.repeat(maxLength - ex.command.length + 1);
893
- return ` ${tui.colorPrimary(ex.command)}${padding}${tui.muted('#')} ${tui.muted(ex.description)}`;
936
+ // Store examples for JSON help generation
937
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
938
+ cmd._examples = examples;
939
+ // Add formatted examples to text help
940
+ cmd.addHelpText('after', () => {
941
+ // Skip examples in JSON mode
942
+ const args = process.argv.slice(2);
943
+ const helpIndex = args.findIndex((a) => a === '--help' || a === '-h');
944
+ if (helpIndex !== -1 && args[helpIndex + 1] === 'json') {
945
+ return '';
946
+ }
947
+ const maxLength = Math.max(...examples.map((ex) => ex.command.length));
948
+ const formatted = examples.map((ex) => {
949
+ const padding = ' '.repeat(maxLength - ex.command.length + 1);
950
+ return ` ${tui.colorPrimary(ex.command)}${padding}${tui.muted('#')} ${tui.muted(ex.description)}`;
951
+ });
952
+ return `\n${tui.colorPrimary('\x1b[4mExamples:\x1b[24m')}\n` + formatted.join('\n');
894
953
  });
895
- cmd.addHelpText('after', `\n${tui.colorPrimary('\x1b[4mExamples:\x1b[24m')}\n` + formatted.join('\n'));
896
954
  }
897
955
  if (cmdDef.handler) {
898
956
  cmd.action(async () => {
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -9,8 +9,8 @@ export interface SignupResult {
9
9
  userId: string;
10
10
  expires: Date;
11
11
  }
12
- export declare function generateLoginOTP(apiClient: APIClient): Promise<string>;
13
- export declare function pollForLoginCompletion(apiClient: APIClient, otp: string, timeoutMs?: number): Promise<LoginResult>;
12
+ export declare function generateLoginCode(apiClient: APIClient): Promise<string>;
13
+ export declare function pollForLoginCompletion(apiClient: APIClient, code: string, timeoutMs?: number): Promise<LoginResult>;
14
14
  export declare function generateSignupOTP(): string;
15
15
  export declare function pollForSignupCompletion(apiClient: APIClient, otp: string, timeoutMs?: number): Promise<SignupResult>;
16
16
  //# sourceMappingURL=api.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/cmd/auth/api.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAyB3C,MAAM,WAAW,WAAW;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,IAAI,CAAC;CACd;AAED,MAAM,WAAW,YAAY;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,IAAI,CAAC;CACd;AAOD,wBAAsB,gBAAgB,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAY5E;AAQD,wBAAsB,sBAAsB,CAC3C,SAAS,EAAE,SAAS,EACpB,GAAG,EAAE,MAAM,EACX,SAAS,SAAQ,GACf,OAAO,CAAC,WAAW,CAAC,CA4BtB;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAS1C;AAYD,wBAAsB,uBAAuB,CAC5C,SAAS,EAAE,SAAS,EACpB,GAAG,EAAE,MAAM,EACX,SAAS,SAAS,GAChB,OAAO,CAAC,YAAY,CAAC,CAkCvB"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/cmd/auth/api.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAyB3C,MAAM,WAAW,WAAW;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,IAAI,CAAC;CACd;AAED,MAAM,WAAW,YAAY;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,IAAI,CAAC;CACd;AAOD,wBAAsB,iBAAiB,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAY7E;AAQD,wBAAsB,sBAAsB,CAC3C,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,MAAM,EACZ,SAAS,SAAS,GAChB,OAAO,CAAC,WAAW,CAAC,CA2BtB;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAS1C;AAYD,wBAAsB,uBAAuB,CAC5C,SAAS,EAAE,SAAS,EACpB,GAAG,EAAE,MAAM,EACX,SAAS,SAAS,GAChB,OAAO,CAAC,YAAY,CAAC,CAiCvB"}
@@ -2,10 +2,10 @@ import { z } from 'zod';
2
2
  import { APIError, APIResponseSchema, APIResponseSchemaOptionalData } from '@agentuity/server';
3
3
  import { StructuredError } from '@agentuity/core';
4
4
  // Zod schemas for API validation
5
- const OTPStartDataSchema = z.object({
6
- otp: z.string(),
5
+ const CodeStartDataSchema = z.object({
6
+ code: z.string(),
7
7
  });
8
- const OTPCompleteDataSchema = z.object({
8
+ const CodeCompleteDataSchema = z.object({
9
9
  apiKey: z.string(),
10
10
  userId: z.string(),
11
11
  expires: z.number(),
@@ -15,26 +15,27 @@ const SignupCompleteDataSchema = z.object({
15
15
  apiKey: z.string(),
16
16
  expiresAt: z.number(),
17
17
  });
18
- const OTPCheckRequestSchema = z.object({
19
- otp: z.string(),
18
+ const CodeCheckRequestSchema = z.object({
19
+ code: z.string(),
20
20
  });
21
- const OTPGenerationError = StructuredError('OTPGenerationError', 'Error generating the one-time login code');
22
- export async function generateLoginOTP(apiClient) {
23
- const resp = await apiClient.get('/cli/auth/start', APIResponseSchema(OTPStartDataSchema));
21
+ const CodeGenerationError = StructuredError('CodeGenerationError', 'Error generating the login code');
22
+ export async function generateLoginCode(apiClient) {
23
+ const resp = await apiClient.get('/cli/auth/start', APIResponseSchema(CodeStartDataSchema));
24
24
  if (!resp.success) {
25
- throw new OTPGenerationError();
25
+ throw new CodeGenerationError();
26
26
  }
27
27
  if (!resp.data) {
28
- throw new OTPGenerationError();
28
+ throw new CodeGenerationError();
29
29
  }
30
- return resp.data.otp;
30
+ return resp.data.code;
31
31
  }
32
32
  const PollForLoginError = StructuredError('PollForLoginError');
33
33
  const PollForLoginTimeout = StructuredError('PollForLoginTimeout', 'Timed out waiting for user login. Aborting');
34
- export async function pollForLoginCompletion(apiClient, otp, timeoutMs = 60000) {
34
+ export async function pollForLoginCompletion(apiClient, code, timeoutMs = 300000 // 5 minutes
35
+ ) {
35
36
  const started = Date.now();
36
37
  while (Date.now() - started < timeoutMs) {
37
- const resp = await apiClient.request('POST', '/cli/auth/check', APIResponseSchemaOptionalData(OTPCompleteDataSchema), { otp }, OTPCheckRequestSchema);
38
+ const resp = await apiClient.post('/cli/auth/check', { code }, APIResponseSchemaOptionalData(CodeCompleteDataSchema), CodeCheckRequestSchema);
38
39
  if (!resp.success) {
39
40
  throw new PollForLoginError({ message: resp.message });
40
41
  }
@@ -65,7 +66,7 @@ export async function pollForSignupCompletion(apiClient, otp, timeoutMs = 350000
65
66
  const started = Date.now();
66
67
  while (Date.now() - started < timeoutMs) {
67
68
  try {
68
- const resp = await apiClient.request('GET', `/cli/auth/signup/${otp}`, APIResponseSchema(SignupCompleteDataSchema));
69
+ const resp = await apiClient.get(`/cli/auth/signup/${otp}`, APIResponseSchema(SignupCompleteDataSchema));
69
70
  if (!resp.success) {
70
71
  throw new PollForSignupCompletedError();
71
72
  }
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/cmd/auth/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/cmd/auth/api.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../src/cmd/auth/login.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,YAAY,sCAkEvB,CAAC"}
1
+ {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../src/cmd/auth/login.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,YAAY,sCAqFvB,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { createSubcommand } from '../../types';
2
2
  import { getAppBaseURL } from '../../api';
3
3
  import { saveAuth } from '../../config';
4
- import { generateLoginOTP, pollForLoginCompletion } from './api';
4
+ import { generateLoginCode, pollForLoginCompletion } from './api';
5
5
  import * as tui from '../../tui';
6
6
  import { getCommand } from '../../command-prefix';
7
7
  import { ErrorCode } from '../../errors';
@@ -20,36 +20,57 @@ export const loginCommand = createSubcommand({
20
20
  const { logger, config, apiClient } = ctx;
21
21
  const appUrl = getAppBaseURL(config);
22
22
  try {
23
- const otp = await tui.spinner({
24
- message: 'Generating login one time code...',
23
+ const code = await tui.spinner({
24
+ message: 'Generating login code...',
25
25
  clearOnSuccess: true,
26
26
  callback: () => {
27
- return generateLoginOTP(apiClient);
27
+ return generateLoginCode(apiClient);
28
28
  },
29
29
  });
30
- if (!otp) {
30
+ if (!code) {
31
31
  return;
32
32
  }
33
- const authURL = `${appUrl}/auth/cli`;
34
- const copied = await tui.copyToClipboard(otp);
33
+ const authURL = `${appUrl}/auth/cli?code=${code}`;
34
+ const copied = await tui.copyToClipboard(authURL);
35
+ tui.newline();
36
+ console.log(`Your login code: ${tui.bold(code)}`);
35
37
  tui.newline();
36
38
  if (copied) {
37
- console.log(`Code copied to clipboard: ${tui.bold(otp)}`);
39
+ console.log('Login URL copied to clipboard! Open it in your browser:');
38
40
  }
39
41
  else {
40
- console.log('Copy the following code:');
41
- tui.newline();
42
- console.log(` ${tui.bold(otp)}`);
42
+ console.log('Open this URL in your browser to approve the login:');
43
43
  }
44
44
  tui.newline();
45
- console.log('Then open the URL in your browser and paste the code:');
46
- tui.newline();
47
45
  console.log(` ${tui.link(authURL)}`);
48
46
  tui.newline();
49
- console.log(tui.muted('This code will expire in 60 seconds'));
47
+ console.log(tui.muted('Press Enter to open in your browser, or Ctrl+C to cancel'));
50
48
  tui.newline();
51
- console.log('Waiting for login to complete...');
52
- const result = await pollForLoginCompletion(apiClient, otp);
49
+ const result = await tui.spinner({
50
+ type: 'countdown',
51
+ message: 'Waiting for approval',
52
+ timeoutMs: 300000, // 5 minutes
53
+ clearOnSuccess: true,
54
+ onEnterPress: () => {
55
+ // Open URL in default browser
56
+ const platform = process.platform;
57
+ if (platform === 'win32') {
58
+ // Windows: use cmd.exe to invoke start (it's a shell builtin, not an executable)
59
+ // Empty string is required as the window title argument
60
+ Bun.spawn(['cmd', '/c', 'start', '', authURL], {
61
+ stdout: 'ignore',
62
+ stderr: 'ignore',
63
+ });
64
+ }
65
+ else {
66
+ const command = platform === 'darwin' ? 'open' : 'xdg-open';
67
+ Bun.spawn([command, authURL], { stdout: 'ignore', stderr: 'ignore' });
68
+ }
69
+ },
70
+ callback: async () => {
71
+ return await pollForLoginCompletion(apiClient, code);
72
+ },
73
+ });
53
74
  await saveAuth({
54
75
  apiKey: result.apiKey,
55
76
  userId: result.userId,
@@ -1 +1 @@
1
- {"version":3,"file":"login.js","sourceRoot":"","sources":["../../../src/cmd/auth/login.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"login.js","sourceRoot":"","sources":["../../../src/cmd/auth/login.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../../src/cmd/auth/ssh/api.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAsB9C,MAAM,WAAW,MAAM;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,OAAO,CAAC;CACf;AAOD,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAUlE;AAQD,wBAAsB,SAAS,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAiBjG;AAID,wBAAsB,WAAW,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAYzE;AAID,wBAAsB,YAAY,CAAC,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAa9F"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../../src/cmd/auth/ssh/api.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAsB9C,MAAM,WAAW,MAAM;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,OAAO,CAAC;CACf;AAOD,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAUlE;AAQD,wBAAsB,SAAS,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAgBjG;AAID,wBAAsB,WAAW,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAWzE;AAID,wBAAsB,YAAY,CAAC,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAc9F"}
@@ -31,7 +31,7 @@ export function computeSSHKeyFingerprint(publicKey) {
31
31
  const AddSSHKeyError = StructuredError('AddSSHKeyError');
32
32
  const AddSSHKeyUnexpectedError = StructuredError('AddSSHKeyUnexpectedError', 'An unexpected error was received from the server.');
33
33
  export async function addSSHKey(apiClient, publicKey) {
34
- const resp = await apiClient.request('POST', '/cli/auth/ssh-keys', APIResponseSchema(AddSSHKeyResponseSchema), { publicKey });
34
+ const resp = await apiClient.post('/cli/auth/ssh-keys', { publicKey }, APIResponseSchema(AddSSHKeyResponseSchema));
35
35
  if (!resp.success) {
36
36
  throw new AddSSHKeyError({ message: resp.message });
37
37
  }
@@ -42,7 +42,7 @@ export async function addSSHKey(apiClient, publicKey) {
42
42
  }
43
43
  const ListSSHKeysError = StructuredError('ListSSHKeysError');
44
44
  export async function listSSHKeys(apiClient) {
45
- const resp = await apiClient.request('GET', '/cli/auth/ssh-keys', APIResponseSchema(z.array(SSHKeySchema)));
45
+ const resp = await apiClient.get('/cli/auth/ssh-keys', APIResponseSchema(z.array(SSHKeySchema)));
46
46
  if (!resp.success) {
47
47
  throw new ListSSHKeysError({ message: resp.message });
48
48
  }
@@ -50,6 +50,7 @@ export async function listSSHKeys(apiClient) {
50
50
  }
51
51
  const RemoveSSHKeysError = StructuredError('RemoveSSHKeysError');
52
52
  export async function removeSSHKey(apiClient, fingerprint) {
53
+ // NOTE: Using .request() here because DELETE with body is required by the API
53
54
  const resp = await apiClient.request('DELETE', '/cli/auth/ssh-keys', APIResponseSchema(RemoveSSHKeyResponseSchema), { fingerprint });
54
55
  if (!resp.success) {
55
56
  throw new RemoveSSHKeysError({ message: resp.message });