agent-media-cli 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (139) hide show
  1. package/LICENSE +199 -0
  2. package/README.md +59 -0
  3. package/dist/commands/alias.d.ts +3 -0
  4. package/dist/commands/alias.d.ts.map +1 -0
  5. package/dist/commands/alias.js +245 -0
  6. package/dist/commands/alias.js.map +1 -0
  7. package/dist/commands/apikey.d.ts +3 -0
  8. package/dist/commands/apikey.d.ts.map +1 -0
  9. package/dist/commands/apikey.js +282 -0
  10. package/dist/commands/apikey.js.map +1 -0
  11. package/dist/commands/cancel.d.ts +9 -0
  12. package/dist/commands/cancel.d.ts.map +1 -0
  13. package/dist/commands/cancel.js +101 -0
  14. package/dist/commands/cancel.js.map +1 -0
  15. package/dist/commands/completions.d.ts +15 -0
  16. package/dist/commands/completions.d.ts.map +1 -0
  17. package/dist/commands/completions.js +293 -0
  18. package/dist/commands/completions.js.map +1 -0
  19. package/dist/commands/config.d.ts +3 -0
  20. package/dist/commands/config.d.ts.map +1 -0
  21. package/dist/commands/config.js +327 -0
  22. package/dist/commands/config.js.map +1 -0
  23. package/dist/commands/credits.d.ts +18 -0
  24. package/dist/commands/credits.d.ts.map +1 -0
  25. package/dist/commands/credits.js +459 -0
  26. package/dist/commands/credits.js.map +1 -0
  27. package/dist/commands/debug.d.ts +20 -0
  28. package/dist/commands/debug.d.ts.map +1 -0
  29. package/dist/commands/debug.js +291 -0
  30. package/dist/commands/debug.js.map +1 -0
  31. package/dist/commands/delete.d.ts +3 -0
  32. package/dist/commands/delete.d.ts.map +1 -0
  33. package/dist/commands/delete.js +273 -0
  34. package/dist/commands/delete.js.map +1 -0
  35. package/dist/commands/doctor.d.ts +14 -0
  36. package/dist/commands/doctor.d.ts.map +1 -0
  37. package/dist/commands/doctor.js +468 -0
  38. package/dist/commands/doctor.js.map +1 -0
  39. package/dist/commands/download.d.ts +3 -0
  40. package/dist/commands/download.d.ts.map +1 -0
  41. package/dist/commands/download.js +165 -0
  42. package/dist/commands/download.js.map +1 -0
  43. package/dist/commands/generate.d.ts +3 -0
  44. package/dist/commands/generate.d.ts.map +1 -0
  45. package/dist/commands/generate.js +358 -0
  46. package/dist/commands/generate.js.map +1 -0
  47. package/dist/commands/inspect.d.ts +10 -0
  48. package/dist/commands/inspect.d.ts.map +1 -0
  49. package/dist/commands/inspect.js +376 -0
  50. package/dist/commands/inspect.js.map +1 -0
  51. package/dist/commands/list.d.ts +13 -0
  52. package/dist/commands/list.d.ts.map +1 -0
  53. package/dist/commands/list.js +198 -0
  54. package/dist/commands/list.js.map +1 -0
  55. package/dist/commands/login.d.ts +15 -0
  56. package/dist/commands/login.d.ts.map +1 -0
  57. package/dist/commands/login.js +123 -0
  58. package/dist/commands/login.js.map +1 -0
  59. package/dist/commands/logout.d.ts +12 -0
  60. package/dist/commands/logout.d.ts.map +1 -0
  61. package/dist/commands/logout.js +85 -0
  62. package/dist/commands/logout.js.map +1 -0
  63. package/dist/commands/models.d.ts +10 -0
  64. package/dist/commands/models.d.ts.map +1 -0
  65. package/dist/commands/models.js +137 -0
  66. package/dist/commands/models.js.map +1 -0
  67. package/dist/commands/plan.d.ts +13 -0
  68. package/dist/commands/plan.d.ts.map +1 -0
  69. package/dist/commands/plan.js +134 -0
  70. package/dist/commands/plan.js.map +1 -0
  71. package/dist/commands/pricing.d.ts +14 -0
  72. package/dist/commands/pricing.d.ts.map +1 -0
  73. package/dist/commands/pricing.js +166 -0
  74. package/dist/commands/pricing.js.map +1 -0
  75. package/dist/commands/profile.d.ts +9 -0
  76. package/dist/commands/profile.d.ts.map +1 -0
  77. package/dist/commands/profile.js +236 -0
  78. package/dist/commands/profile.js.map +1 -0
  79. package/dist/commands/retry.d.ts +3 -0
  80. package/dist/commands/retry.d.ts.map +1 -0
  81. package/dist/commands/retry.js +424 -0
  82. package/dist/commands/retry.js.map +1 -0
  83. package/dist/commands/status.d.ts +9 -0
  84. package/dist/commands/status.d.ts.map +1 -0
  85. package/dist/commands/status.js +182 -0
  86. package/dist/commands/status.js.map +1 -0
  87. package/dist/commands/subscribe.d.ts +3 -0
  88. package/dist/commands/subscribe.d.ts.map +1 -0
  89. package/dist/commands/subscribe.js +263 -0
  90. package/dist/commands/subscribe.js.map +1 -0
  91. package/dist/commands/text.d.ts +3 -0
  92. package/dist/commands/text.d.ts.map +1 -0
  93. package/dist/commands/text.js +263 -0
  94. package/dist/commands/text.js.map +1 -0
  95. package/dist/commands/update.d.ts +13 -0
  96. package/dist/commands/update.d.ts.map +1 -0
  97. package/dist/commands/update.js +211 -0
  98. package/dist/commands/update.js.map +1 -0
  99. package/dist/commands/usage.d.ts +13 -0
  100. package/dist/commands/usage.d.ts.map +1 -0
  101. package/dist/commands/usage.js +344 -0
  102. package/dist/commands/usage.js.map +1 -0
  103. package/dist/commands/version.d.ts +8 -0
  104. package/dist/commands/version.d.ts.map +1 -0
  105. package/dist/commands/version.js +26 -0
  106. package/dist/commands/version.js.map +1 -0
  107. package/dist/commands/whoami.d.ts +9 -0
  108. package/dist/commands/whoami.d.ts.map +1 -0
  109. package/dist/commands/whoami.js +76 -0
  110. package/dist/commands/whoami.js.map +1 -0
  111. package/dist/index.d.ts +3 -0
  112. package/dist/index.d.ts.map +1 -0
  113. package/dist/index.js +85 -0
  114. package/dist/index.js.map +1 -0
  115. package/dist/lib/api.d.ts +518 -0
  116. package/dist/lib/api.d.ts.map +1 -0
  117. package/dist/lib/api.js +582 -0
  118. package/dist/lib/api.js.map +1 -0
  119. package/dist/lib/config.d.ts +33 -0
  120. package/dist/lib/config.d.ts.map +1 -0
  121. package/dist/lib/config.js +91 -0
  122. package/dist/lib/config.js.map +1 -0
  123. package/dist/lib/credentials.d.ts +60 -0
  124. package/dist/lib/credentials.d.ts.map +1 -0
  125. package/dist/lib/credentials.js +152 -0
  126. package/dist/lib/credentials.js.map +1 -0
  127. package/dist/lib/errors.d.ts +20 -0
  128. package/dist/lib/errors.d.ts.map +1 -0
  129. package/dist/lib/errors.js +77 -0
  130. package/dist/lib/errors.js.map +1 -0
  131. package/dist/lib/output.d.ts +33 -0
  132. package/dist/lib/output.d.ts.map +1 -0
  133. package/dist/lib/output.js +77 -0
  134. package/dist/lib/output.js.map +1 -0
  135. package/dist/types.d.ts +12 -0
  136. package/dist/types.d.ts.map +1 -0
  137. package/dist/types.js +3 -0
  138. package/dist/types.js.map +1 -0
  139. package/package.json +48 -0
@@ -0,0 +1,76 @@
1
+ // Copyright 2026 agent-media contributors. Apache-2.0 license.
2
+ import chalk from 'chalk';
3
+ import { detectOutputMode, printJson, printQuiet, createSpinner } from '../lib/output.js';
4
+ import { getApiKey, getProfile, resolveProfileName } from '../lib/credentials.js';
5
+ import { AgentMediaAPI } from '../lib/api.js';
6
+ import { CLIError, handleError } from '../lib/errors.js';
7
+ export function registerWhoAmICommand(program) {
8
+ program
9
+ .command('whoami')
10
+ .description('Show current user, plan, and credit balances')
11
+ .action(async () => {
12
+ const globalOpts = program.opts();
13
+ const mode = detectOutputMode(globalOpts);
14
+ const profileName = resolveProfileName(globalOpts.profile);
15
+ const apiKey = getApiKey(profileName);
16
+ if (!apiKey) {
17
+ throw new CLIError('Not logged in.', {
18
+ code: 'NOT_AUTHENTICATED',
19
+ suggestion: 'Run `agent-media login` to authenticate.',
20
+ });
21
+ }
22
+ try {
23
+ const spinner = createSpinner('Fetching account info...');
24
+ if (mode === 'human')
25
+ spinner.start();
26
+ const api = new AgentMediaAPI(apiKey);
27
+ const data = await api.whoami();
28
+ const profile = getProfile(profileName);
29
+ if (mode === 'human')
30
+ spinner.stop();
31
+ const email = profile?.email ?? 'unknown';
32
+ switch (mode) {
33
+ case 'json':
34
+ printJson(data);
35
+ break;
36
+ case 'quiet':
37
+ printQuiet(email);
38
+ break;
39
+ default: {
40
+ console.log();
41
+ console.log(` ${chalk.bold('User:')} ${email}`);
42
+ console.log(` ${chalk.bold('ID:')} ${chalk.dim(data.user_id)}`);
43
+ const tier = data.plan.tier;
44
+ const planColor = tier === 'pro' || tier === 'pro_plus'
45
+ ? chalk.magenta
46
+ : tier === 'creator'
47
+ ? chalk.blue
48
+ : tier === 'starter'
49
+ ? chalk.green
50
+ : chalk.dim;
51
+ console.log(` ${chalk.bold('Plan:')} ${planColor(data.plan.name)}` +
52
+ ` (${data.plan.status})`);
53
+ if (data.plan.current_period_end) {
54
+ console.log(` ${chalk.bold('Period:')} ends ${data.plan.current_period_end}`);
55
+ }
56
+ console.log();
57
+ console.log(chalk.bold(' Credits'));
58
+ console.log(` Monthly: ${data.credits.monthly_remaining}`);
59
+ console.log(` Purchased: ${data.credits.purchased}`);
60
+ console.log(` ${chalk.bold('Total:')} ${chalk.cyan(String(data.credits.total))}`);
61
+ console.log();
62
+ console.log(chalk.bold(' Limits'));
63
+ console.log(` Max concurrent jobs: ${data.limits.max_concurrent_jobs}`);
64
+ console.log(` Max video duration: ${data.limits.max_video_duration}s`);
65
+ console.log(` Available models: ${data.limits.models_available.length}`);
66
+ console.log();
67
+ break;
68
+ }
69
+ }
70
+ }
71
+ catch (error) {
72
+ handleError(error);
73
+ }
74
+ });
75
+ }
76
+ //# sourceMappingURL=whoami.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"whoami.js","sourceRoot":"","sources":["../../src/commands/whoami.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
package/dist/index.js ADDED
@@ -0,0 +1,85 @@
1
+ #!/usr/bin/env node
2
+ // Copyright 2026 agent-media contributors. Apache-2.0 license.
3
+ /**
4
+ * agent-media CLI entry point.
5
+ *
6
+ * Unified command-line interface for AI-powered video and image generation.
7
+ */
8
+ import { Command } from 'commander';
9
+ import { createRequire } from 'node:module';
10
+ import { registerVersionCommand } from './commands/version.js';
11
+ import { registerModelsCommand } from './commands/models.js';
12
+ import { registerLoginCommand } from './commands/login.js';
13
+ import { registerLogoutCommand } from './commands/logout.js';
14
+ import { registerWhoAmICommand } from './commands/whoami.js';
15
+ import { registerCreditsCommand } from './commands/credits.js';
16
+ import { registerPlanCommand } from './commands/plan.js';
17
+ import { registerConfigCommand } from './commands/config.js';
18
+ import { registerGenerateCommand } from './commands/generate.js';
19
+ import { registerPricingCommand } from './commands/pricing.js';
20
+ import { registerStatusCommand } from './commands/status.js';
21
+ import { registerDownloadCommand } from './commands/download.js';
22
+ import { registerListCommand } from './commands/list.js';
23
+ import { registerProfileCommand } from './commands/profile.js';
24
+ import { registerDoctorCommand } from './commands/doctor.js';
25
+ import { registerRetryCommand } from './commands/retry.js';
26
+ import { registerInspectCommand } from './commands/inspect.js';
27
+ import { registerTextCommand } from './commands/text.js';
28
+ import { registerDeleteCommand } from './commands/delete.js';
29
+ import { registerCancelCommand } from './commands/cancel.js';
30
+ import { registerApikeyCommand } from './commands/apikey.js';
31
+ import { registerUsageCommand } from './commands/usage.js';
32
+ import { registerSubscribeCommand } from './commands/subscribe.js';
33
+ import { registerDebugCommand } from './commands/debug.js';
34
+ import { registerAliasCommand } from './commands/alias.js';
35
+ import { registerUpdateCommand } from './commands/update.js';
36
+ import { registerCompletionsCommand } from './commands/completions.js';
37
+ import { handleError } from './lib/errors.js';
38
+ const require = createRequire(import.meta.url);
39
+ const pkg = require('../package.json');
40
+ const program = new Command();
41
+ program
42
+ .name('agent-media')
43
+ .description(pkg.description)
44
+ .version(pkg.version, '-V, --version', 'Show CLI version')
45
+ .option('--json', 'Output as JSON (for scripting/piping)')
46
+ .option('--quiet', 'Minimal output (for piping)')
47
+ .option('--no-color', 'Disable colored output')
48
+ .option('--verbose', 'Show debug output')
49
+ .option('--profile <name>', 'Use a specific credential profile');
50
+ // Register commands
51
+ registerVersionCommand(program);
52
+ registerModelsCommand(program);
53
+ registerLoginCommand(program);
54
+ registerLogoutCommand(program);
55
+ registerWhoAmICommand(program);
56
+ registerCreditsCommand(program);
57
+ registerPlanCommand(program);
58
+ registerConfigCommand(program);
59
+ registerGenerateCommand(program);
60
+ registerPricingCommand(program);
61
+ registerStatusCommand(program);
62
+ registerDownloadCommand(program);
63
+ registerListCommand(program);
64
+ registerProfileCommand(program);
65
+ registerDoctorCommand(program);
66
+ registerRetryCommand(program);
67
+ registerInspectCommand(program);
68
+ registerTextCommand(program);
69
+ registerDeleteCommand(program);
70
+ registerCancelCommand(program);
71
+ registerApikeyCommand(program);
72
+ registerUsageCommand(program);
73
+ registerSubscribeCommand(program);
74
+ registerDebugCommand(program);
75
+ registerAliasCommand(program);
76
+ registerUpdateCommand(program);
77
+ registerCompletionsCommand(program);
78
+ // Parse and execute
79
+ try {
80
+ program.parse();
81
+ }
82
+ catch (error) {
83
+ handleError(error);
84
+ }
85
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}