@juuno-sdk/cli 1.0.11 → 1.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.
Files changed (56) hide show
  1. package/README.md +61 -11
  2. package/bin/cli-router.js +18 -4
  3. package/bin/cli.js +40 -15
  4. package/dist/cli/src/auth/index.js +128 -39
  5. package/dist/cli/src/deploy/index.js +11 -6
  6. package/dist/cli/src/info/index.js +3 -3
  7. package/dist/cli/src/list/index.js +3 -3
  8. package/dist/cli/src/login/index.js +11 -8
  9. package/dist/cli/src/logout/index.js +29 -8
  10. package/dist/cli/src/whoami/index.js +31 -10
  11. package/dist/cli/tsconfig.build.tsbuildinfo +1 -1
  12. package/dist/types/src/auth/index.d.ts +84 -0
  13. package/dist/types/src/auth/index.d.ts.map +1 -0
  14. package/dist/{cli → types}/src/deploy/index.d.ts +6 -0
  15. package/dist/{cli → types}/src/deploy/index.d.ts.map +1 -1
  16. package/dist/{cli → types}/src/info/index.d.ts.map +1 -1
  17. package/dist/{cli → types}/src/list/index.d.ts.map +1 -1
  18. package/dist/{cli → types}/src/login/index.d.ts +3 -1
  19. package/dist/types/src/login/index.d.ts.map +1 -0
  20. package/dist/types/src/logout/index.d.ts +12 -0
  21. package/dist/types/src/logout/index.d.ts.map +1 -0
  22. package/dist/types/src/whoami/index.d.ts +12 -0
  23. package/dist/types/src/whoami/index.d.ts.map +1 -0
  24. package/package.json +2 -2
  25. package/dist/assets/main-B8xiNI5_.js +0 -1
  26. package/dist/assets/main-Bf2N9gBQ.js +0 -1
  27. package/dist/assets/main-Bo8Yyr87.js +0 -1
  28. package/dist/assets/main-C3hW0d-b.css +0 -1
  29. package/dist/assets/main-C6ZAJydH.js +0 -1
  30. package/dist/assets/main-CCYNXtGp.css +0 -1
  31. package/dist/assets/main-COSZCfRq.css +0 -1
  32. package/dist/assets/main-CnpUG-52.js +0 -1
  33. package/dist/assets/main-D0353jp3.js +0 -1
  34. package/dist/assets/main-D7UD6CXw.css +0 -1
  35. package/dist/assets/main-DC3n4QV-.css +0 -1
  36. package/dist/assets/main-DWrNgA-L.js +0 -1
  37. package/dist/assets/main-HbFBqUMx.js +0 -1
  38. package/dist/assets/main-jQYqLcLk.js +0 -1
  39. package/dist/cli/src/auth/index.d.ts +0 -51
  40. package/dist/cli/src/auth/index.d.ts.map +0 -1
  41. package/dist/cli/src/login/index.d.ts.map +0 -1
  42. package/dist/cli/src/logout/index.d.ts +0 -5
  43. package/dist/cli/src/logout/index.d.ts.map +0 -1
  44. package/dist/cli/src/monorepo/index.d.ts +0 -37
  45. package/dist/cli/src/monorepo/index.d.ts.map +0 -1
  46. package/dist/cli/src/monorepo/index.js +0 -94
  47. package/dist/cli/src/whoami/index.d.ts +0 -5
  48. package/dist/cli/src/whoami/index.d.ts.map +0 -1
  49. /package/dist/{cli → types}/src/dev/index.d.ts +0 -0
  50. /package/dist/{cli → types}/src/dev/index.d.ts.map +0 -0
  51. /package/dist/{cli → types}/src/info/index.d.ts +0 -0
  52. /package/dist/{cli → types}/src/list/index.d.ts +0 -0
  53. /package/dist/{cli → types}/src/simulator/index.d.ts +0 -0
  54. /package/dist/{cli → types}/src/simulator/index.d.ts.map +0 -0
  55. /package/dist/{cli → types}/src/utils/fs.d.ts +0 -0
  56. /package/dist/{cli → types}/src/utils/fs.d.ts.map +0 -0
@@ -1,22 +1,43 @@
1
- import { removeToken, isLoggedIn } from '../auth/index.js';
1
+ import { removeProfile, removeAllProfiles, listProfiles, resolveProfile, isLoggedIn, formatProfileFlag, } from '../auth/index.js';
2
2
  /**
3
- * Logs out of Juuno by removing stored credentials.
3
+ * Logs out of Juuno by removing stored credentials for the target profile.
4
4
  */
5
- export async function logout() {
5
+ export async function logout(options = {}) {
6
6
  console.log('📦 Juuno CLI - Logout');
7
7
  console.log('');
8
- if (!isLoggedIn()) {
9
- console.log(' You are not currently logged in.');
8
+ if (options.all) {
9
+ const profiles = listProfiles();
10
+ if (profiles.length === 0) {
11
+ console.log(' No profiles are currently logged in.');
12
+ console.log('');
13
+ return;
14
+ }
15
+ try {
16
+ removeAllProfiles();
17
+ console.log(` ✓ Removed ${profiles.length} profile${profiles.length === 1 ? '' : 's'}: ${profiles.join(', ')}`);
18
+ console.log('');
19
+ console.log('✅ All profiles logged out.');
20
+ console.log('');
21
+ }
22
+ catch (error) {
23
+ console.error(`❌ Failed to remove credentials: ${error instanceof Error ? error.message : String(error)}`);
24
+ process.exit(1);
25
+ }
26
+ return;
27
+ }
28
+ const profile = resolveProfile(options);
29
+ if (!isLoggedIn(profile)) {
30
+ console.log(` Profile "${profile}" is not currently logged in.`);
10
31
  console.log('');
11
32
  return;
12
33
  }
13
34
  try {
14
- removeToken();
15
- console.log(' ✓ Credentials removed from ~/.juuno/credentials.json');
35
+ removeProfile(profile);
36
+ console.log(` ✓ Credentials removed for profile "${profile}"`);
16
37
  console.log('');
17
38
  console.log('✅ Logged out successfully!');
18
39
  console.log('');
19
- console.log('💡 Run "juuno-cli login" to authenticate again.');
40
+ console.log(`💡 Run "juuno-cli login${formatProfileFlag(profile)}" to authenticate again.`);
20
41
  console.log('');
21
42
  }
22
43
  catch (error) {
@@ -1,24 +1,45 @@
1
- import { isLoggedIn, getApiUrl } from '../auth/index.js';
1
+ import { isLoggedIn, getApiUrl, resolveProfile, listProfiles, getProfile, formatProfileFlag, } from '../auth/index.js';
2
2
  /**
3
- * Shows current authentication status.
3
+ * Shows current authentication status for a profile or all profiles.
4
4
  */
5
- export async function whoami() {
5
+ export async function whoami(options = {}) {
6
6
  console.log('📦 Juuno CLI - Authentication Status');
7
7
  console.log('');
8
- const apiUrl = getApiUrl();
9
- if (isLoggedIn()) {
10
- console.log('✅ Logged in');
8
+ if (options.all) {
9
+ const profiles = listProfiles();
10
+ if (profiles.length === 0) {
11
+ console.log('❌ No profiles configured');
12
+ console.log('');
13
+ console.log('💡 Run "juuno-cli login" to authenticate.');
14
+ console.log('');
15
+ return;
16
+ }
17
+ console.log(`✅ ${profiles.length} profile${profiles.length === 1 ? '' : 's'} configured`);
11
18
  console.log('');
12
- console.log(` API: ${apiUrl}`);
19
+ for (const name of profiles) {
20
+ const creds = getProfile(name);
21
+ console.log(` ${name}`);
22
+ console.log(` API: ${creds?.api_url || 'unknown'}`);
23
+ console.log(` Created: ${creds?.created_at || 'unknown'}`);
24
+ console.log('');
25
+ }
26
+ return;
27
+ }
28
+ const profile = resolveProfile(options);
29
+ const apiUrl = getApiUrl(options);
30
+ if (isLoggedIn(profile)) {
31
+ console.log(`✅ Logged in (profile: ${profile})`);
32
+ console.log('');
33
+ console.log(` API: ${apiUrl}`);
13
34
  console.log(` Credentials: ~/.juuno/credentials.json`);
14
35
  console.log('');
15
- console.log('💡 Run "juuno-cli logout" to remove stored credentials.');
36
+ console.log(`💡 Run "juuno-cli logout${formatProfileFlag(profile)}" to remove stored credentials.`);
16
37
  console.log('');
17
38
  }
18
39
  else {
19
- console.log('❌ Not logged in');
40
+ console.log(`❌ Not logged in (profile: ${profile})`);
20
41
  console.log('');
21
- console.log('💡 Run "juuno-cli login" to authenticate.');
42
+ console.log(`💡 Run "juuno-cli login${formatProfileFlag(profile)}" to authenticate.`);
22
43
  console.log('');
23
44
  }
24
45
  }