@portaidentity/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.
Files changed (157) hide show
  1. package/dist/auth/browser-flow.d.ts +42 -0
  2. package/dist/auth/browser-flow.d.ts.map +1 -0
  3. package/dist/auth/browser-flow.js +193 -0
  4. package/dist/auth/browser-flow.js.map +1 -0
  5. package/dist/auth/callback-server.d.ts +81 -0
  6. package/dist/auth/callback-server.d.ts.map +1 -0
  7. package/dist/auth/callback-server.js +193 -0
  8. package/dist/auth/callback-server.js.map +1 -0
  9. package/dist/auth/metadata.d.ts +43 -0
  10. package/dist/auth/metadata.d.ts.map +1 -0
  11. package/dist/auth/metadata.js +66 -0
  12. package/dist/auth/metadata.js.map +1 -0
  13. package/dist/auth/pkce.d.ts +42 -0
  14. package/dist/auth/pkce.d.ts.map +1 -0
  15. package/dist/auth/pkce.js +52 -0
  16. package/dist/auth/pkce.js.map +1 -0
  17. package/dist/auth/types.d.ts +72 -0
  18. package/dist/auth/types.d.ts.map +1 -0
  19. package/dist/auth/types.js +11 -0
  20. package/dist/auth/types.js.map +1 -0
  21. package/dist/client-factory.d.ts +29 -0
  22. package/dist/client-factory.d.ts.map +1 -0
  23. package/dist/client-factory.js +43 -0
  24. package/dist/client-factory.js.map +1 -0
  25. package/dist/commands/app-claim.d.ts +9 -0
  26. package/dist/commands/app-claim.d.ts.map +1 -0
  27. package/dist/commands/app-claim.js +128 -0
  28. package/dist/commands/app-claim.js.map +1 -0
  29. package/dist/commands/app-module.d.ts +9 -0
  30. package/dist/commands/app-module.d.ts.map +1 -0
  31. package/dist/commands/app-module.js +104 -0
  32. package/dist/commands/app-module.js.map +1 -0
  33. package/dist/commands/app-permission.d.ts +9 -0
  34. package/dist/commands/app-permission.d.ts.map +1 -0
  35. package/dist/commands/app-permission.js +118 -0
  36. package/dist/commands/app-permission.js.map +1 -0
  37. package/dist/commands/app-role.d.ts +9 -0
  38. package/dist/commands/app-role.d.ts.map +1 -0
  39. package/dist/commands/app-role.js +166 -0
  40. package/dist/commands/app-role.js.map +1 -0
  41. package/dist/commands/app.d.ts +12 -0
  42. package/dist/commands/app.d.ts.map +1 -0
  43. package/dist/commands/app.js +255 -0
  44. package/dist/commands/app.js.map +1 -0
  45. package/dist/commands/audit.d.ts +12 -0
  46. package/dist/commands/audit.d.ts.map +1 -0
  47. package/dist/commands/audit.js +96 -0
  48. package/dist/commands/audit.js.map +1 -0
  49. package/dist/commands/bulk.d.ts +12 -0
  50. package/dist/commands/bulk.d.ts.map +1 -0
  51. package/dist/commands/bulk.js +77 -0
  52. package/dist/commands/bulk.js.map +1 -0
  53. package/dist/commands/client-secret.d.ts +18 -0
  54. package/dist/commands/client-secret.d.ts.map +1 -0
  55. package/dist/commands/client-secret.js +126 -0
  56. package/dist/commands/client-secret.js.map +1 -0
  57. package/dist/commands/client.d.ts +27 -0
  58. package/dist/commands/client.d.ts.map +1 -0
  59. package/dist/commands/client.js +385 -0
  60. package/dist/commands/client.js.map +1 -0
  61. package/dist/commands/completion.d.ts +27 -0
  62. package/dist/commands/completion.d.ts.map +1 -0
  63. package/dist/commands/completion.js +42 -0
  64. package/dist/commands/completion.js.map +1 -0
  65. package/dist/commands/config.d.ts +14 -0
  66. package/dist/commands/config.d.ts.map +1 -0
  67. package/dist/commands/config.js +85 -0
  68. package/dist/commands/config.js.map +1 -0
  69. package/dist/commands/doctor.d.ts +25 -0
  70. package/dist/commands/doctor.d.ts.map +1 -0
  71. package/dist/commands/doctor.js +198 -0
  72. package/dist/commands/doctor.js.map +1 -0
  73. package/dist/commands/exports.d.ts +12 -0
  74. package/dist/commands/exports.d.ts.map +1 -0
  75. package/dist/commands/exports.js +80 -0
  76. package/dist/commands/exports.js.map +1 -0
  77. package/dist/commands/health.d.ts +12 -0
  78. package/dist/commands/health.d.ts.map +1 -0
  79. package/dist/commands/health.js +53 -0
  80. package/dist/commands/health.js.map +1 -0
  81. package/dist/commands/keys.d.ts +14 -0
  82. package/dist/commands/keys.d.ts.map +1 -0
  83. package/dist/commands/keys.js +91 -0
  84. package/dist/commands/keys.js.map +1 -0
  85. package/dist/commands/login.d.ts +36 -0
  86. package/dist/commands/login.d.ts.map +1 -0
  87. package/dist/commands/login.js +78 -0
  88. package/dist/commands/login.js.map +1 -0
  89. package/dist/commands/logout.d.ts +25 -0
  90. package/dist/commands/logout.d.ts.map +1 -0
  91. package/dist/commands/logout.js +43 -0
  92. package/dist/commands/logout.js.map +1 -0
  93. package/dist/commands/org.d.ts +26 -0
  94. package/dist/commands/org.d.ts.map +1 -0
  95. package/dist/commands/org.js +396 -0
  96. package/dist/commands/org.js.map +1 -0
  97. package/dist/commands/provision.d.ts +47 -0
  98. package/dist/commands/provision.d.ts.map +1 -0
  99. package/dist/commands/provision.js +400 -0
  100. package/dist/commands/provision.js.map +1 -0
  101. package/dist/commands/sessions.d.ts +14 -0
  102. package/dist/commands/sessions.d.ts.map +1 -0
  103. package/dist/commands/sessions.js +122 -0
  104. package/dist/commands/sessions.js.map +1 -0
  105. package/dist/commands/stats.d.ts +12 -0
  106. package/dist/commands/stats.d.ts.map +1 -0
  107. package/dist/commands/stats.js +46 -0
  108. package/dist/commands/stats.js.map +1 -0
  109. package/dist/commands/user-claim.d.ts +17 -0
  110. package/dist/commands/user-claim.d.ts.map +1 -0
  111. package/dist/commands/user-claim.js +123 -0
  112. package/dist/commands/user-claim.js.map +1 -0
  113. package/dist/commands/user-role.d.ts +17 -0
  114. package/dist/commands/user-role.d.ts.map +1 -0
  115. package/dist/commands/user-role.js +118 -0
  116. package/dist/commands/user-role.js.map +1 -0
  117. package/dist/commands/user.d.ts +26 -0
  118. package/dist/commands/user.d.ts.map +1 -0
  119. package/dist/commands/user.js +352 -0
  120. package/dist/commands/user.js.map +1 -0
  121. package/dist/commands/version.d.ts +25 -0
  122. package/dist/commands/version.d.ts.map +1 -0
  123. package/dist/commands/version.js +83 -0
  124. package/dist/commands/version.js.map +1 -0
  125. package/dist/commands/whoami.d.ts +26 -0
  126. package/dist/commands/whoami.d.ts.map +1 -0
  127. package/dist/commands/whoami.js +66 -0
  128. package/dist/commands/whoami.js.map +1 -0
  129. package/dist/credential-store.d.ts +101 -0
  130. package/dist/credential-store.d.ts.map +1 -0
  131. package/dist/credential-store.js +121 -0
  132. package/dist/credential-store.js.map +1 -0
  133. package/dist/error-handler.d.ts +47 -0
  134. package/dist/error-handler.d.ts.map +1 -0
  135. package/dist/error-handler.js +166 -0
  136. package/dist/error-handler.js.map +1 -0
  137. package/dist/global-options.d.ts +50 -0
  138. package/dist/global-options.d.ts.map +1 -0
  139. package/dist/global-options.js +62 -0
  140. package/dist/global-options.js.map +1 -0
  141. package/dist/index.d.ts +29 -0
  142. package/dist/index.d.ts.map +1 -0
  143. package/dist/index.js +122 -0
  144. package/dist/index.js.map +1 -0
  145. package/dist/output.d.ts +75 -0
  146. package/dist/output.d.ts.map +1 -0
  147. package/dist/output.js +100 -0
  148. package/dist/output.js.map +1 -0
  149. package/dist/parsers.d.ts +74 -0
  150. package/dist/parsers.d.ts.map +1 -0
  151. package/dist/parsers.js +125 -0
  152. package/dist/parsers.js.map +1 -0
  153. package/dist/prompt.d.ts +50 -0
  154. package/dist/prompt.d.ts.map +1 -0
  155. package/dist/prompt.js +98 -0
  156. package/dist/prompt.js.map +1 -0
  157. package/package.json +46 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.js","sourceRoot":"","sources":["../../src/commands/user.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * CLI version command — display CLI, SDK, and server version info.
3
+ *
4
+ * Shows the installed CLI package version, the bundled SDK version,
5
+ * and (optionally) the remote Porta server version by calling the
6
+ * health endpoint.
7
+ *
8
+ * Usage:
9
+ * porta version # Show CLI + SDK versions
10
+ * porta version --json # JSON output (machine-readable)
11
+ *
12
+ * @module commands/version
13
+ */
14
+ import type { CommandModule } from 'yargs';
15
+ import type { GlobalOptions } from '../global-options.js';
16
+ /**
17
+ * CLI version — read from package.json at build time.
18
+ * This must be kept in sync with package.json version.
19
+ */
20
+ export declare const CLI_VERSION = "0.1.0";
21
+ /**
22
+ * The version command module — shows version info for CLI, SDK, and server.
23
+ */
24
+ export declare const versionCommand: CommandModule<GlobalOptions, GlobalOptions>;
25
+ //# sourceMappingURL=version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/commands/version.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAU1D;;;GAGG;AACH,eAAO,MAAM,WAAW,UAAU,CAAC;AAMnC;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,aAAa,CAAC,aAAa,EAAE,aAAa,CAoDtE,CAAC"}
@@ -0,0 +1,83 @@
1
+ /**
2
+ * CLI version command — display CLI, SDK, and server version info.
3
+ *
4
+ * Shows the installed CLI package version, the bundled SDK version,
5
+ * and (optionally) the remote Porta server version by calling the
6
+ * health endpoint.
7
+ *
8
+ * Usage:
9
+ * porta version # Show CLI + SDK versions
10
+ * porta version --json # JSON output (machine-readable)
11
+ *
12
+ * @module commands/version
13
+ */
14
+ import { SDK_VERSION } from '@portaidentity/sdk';
15
+ import { printJson } from '../output.js';
16
+ import { loadCredentials } from '../credential-store.js';
17
+ import { fetchHealthStatus } from '../auth/metadata.js';
18
+ // ---------------------------------------------------------------------------
19
+ // Constants
20
+ // ---------------------------------------------------------------------------
21
+ /**
22
+ * CLI version — read from package.json at build time.
23
+ * This must be kept in sync with package.json version.
24
+ */
25
+ export const CLI_VERSION = '0.1.0';
26
+ // ---------------------------------------------------------------------------
27
+ // Command Definition
28
+ // ---------------------------------------------------------------------------
29
+ /**
30
+ * The version command module — shows version info for CLI, SDK, and server.
31
+ */
32
+ export const versionCommand = {
33
+ command: 'version',
34
+ describe: 'Show CLI, SDK, and server version information',
35
+ handler: async (argv) => {
36
+ // Handle --insecure flag before any HTTP calls
37
+ if (argv.insecure) {
38
+ process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0';
39
+ }
40
+ // Gather version info
41
+ const versions = {
42
+ cli: CLI_VERSION,
43
+ sdk: SDK_VERSION,
44
+ node: process.version,
45
+ };
46
+ // Try to reach the server for its version (best-effort)
47
+ const creds = loadCredentials();
48
+ const serverUrl = argv.server || process.env.PORTA_SERVER || creds?.server;
49
+ if (serverUrl) {
50
+ const health = await fetchHealthStatus(serverUrl);
51
+ if (health) {
52
+ versions.server = health.status === 'ok' ? 'reachable' : 'degraded';
53
+ versions.serverUrl = serverUrl;
54
+ }
55
+ else {
56
+ versions.server = 'unreachable';
57
+ versions.serverUrl = serverUrl;
58
+ }
59
+ }
60
+ else {
61
+ versions.server = 'not configured';
62
+ }
63
+ // Output
64
+ if (argv.json) {
65
+ printJson(versions);
66
+ }
67
+ else {
68
+ console.log('');
69
+ console.log(` Porta CLI: v${versions.cli}`);
70
+ console.log(` Porta SDK: v${versions.sdk}`);
71
+ console.log(` Node.js: ${versions.node}`);
72
+ if (versions.serverUrl) {
73
+ console.log(` Server: ${versions.server} (${versions.serverUrl})`);
74
+ }
75
+ else {
76
+ console.log(` Server: ${versions.server}`);
77
+ }
78
+ console.log('');
79
+ }
80
+ process.exit(0);
81
+ },
82
+ };
83
+ //# sourceMappingURL=version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/commands/version.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,8EAA8E;AAC9E,YAAY;AACZ,8EAA8E;AAE9E;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,OAAO,CAAC;AAEnC,8EAA8E;AAC9E,qBAAqB;AACrB,8EAA8E;AAE9E;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAgD;IACzE,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,+CAA+C;IAEzD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QACtB,+CAA+C;QAC/C,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO,CAAC,GAAG,CAAC,4BAA4B,GAAG,GAAG,CAAC;QACjD,CAAC;QAED,sBAAsB;QACtB,MAAM,QAAQ,GAA2B;YACvC,GAAG,EAAE,WAAW;YAChB,GAAG,EAAE,WAAW;YAChB,IAAI,EAAE,OAAO,CAAC,OAAO;SACtB,CAAC;QAEF,wDAAwD;QACxD,MAAM,KAAK,GAAG,eAAe,EAAE,CAAC;QAChC,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,KAAK,EAAE,MAAM,CAAC;QAE3E,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,SAAS,CAAC,CAAC;YAClD,IAAI,MAAM,EAAE,CAAC;gBACX,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC;gBACpE,QAAQ,CAAC,SAAS,GAAG,SAAS,CAAC;YACjC,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,MAAM,GAAG,aAAa,CAAC;gBAChC,QAAQ,CAAC,SAAS,GAAG,SAAS,CAAC;YACjC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,MAAM,GAAG,gBAAgB,CAAC;QACrC,CAAC;QAED,SAAS;QACT,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,SAAS,CAAC,QAAQ,CAAC,CAAC;QACtB,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,oBAAoB,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;YAChD,OAAO,CAAC,GAAG,CAAC,oBAAoB,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;YAChD,OAAO,CAAC,GAAG,CAAC,mBAAmB,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;YAChD,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;gBACvB,OAAO,CAAC,GAAG,CAAC,mBAAmB,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,SAAS,GAAG,CAAC,CAAC;YAC5E,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,mBAAmB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;YACpD,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;CACF,CAAC"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * CLI whoami command — display current authenticated identity.
3
+ *
4
+ * Reads stored credentials from ~/.porta/credentials.json and displays
5
+ * the authenticated user's identity. Does not make any HTTP calls —
6
+ * all information comes from the locally stored ID token claims.
7
+ *
8
+ * Also checks if the access token has expired and warns the user
9
+ * to re-authenticate if needed.
10
+ *
11
+ * Usage:
12
+ * porta whoami # Show current identity (human-readable)
13
+ * porta whoami --json # JSON output (machine-readable)
14
+ *
15
+ * @module commands/whoami
16
+ */
17
+ import type { CommandModule } from 'yargs';
18
+ import type { GlobalOptions } from '../global-options.js';
19
+ /**
20
+ * The whoami command module — shows the currently authenticated user.
21
+ *
22
+ * Displays server, email, name, user ID, org, and token expiry.
23
+ * Warns if the token is expired. Supports --json for scripting.
24
+ */
25
+ export declare const whoamiCommand: CommandModule<GlobalOptions, GlobalOptions>;
26
+ //# sourceMappingURL=whoami.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"whoami.d.ts","sourceRoot":"","sources":["../../src/commands/whoami.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAQ1D;;;;;GAKG;AACH,eAAO,MAAM,aAAa,EAAE,aAAa,CAAC,aAAa,EAAE,aAAa,CA2CrE,CAAC"}
@@ -0,0 +1,66 @@
1
+ /**
2
+ * CLI whoami command — display current authenticated identity.
3
+ *
4
+ * Reads stored credentials from ~/.porta/credentials.json and displays
5
+ * the authenticated user's identity. Does not make any HTTP calls —
6
+ * all information comes from the locally stored ID token claims.
7
+ *
8
+ * Also checks if the access token has expired and warns the user
9
+ * to re-authenticate if needed.
10
+ *
11
+ * Usage:
12
+ * porta whoami # Show current identity (human-readable)
13
+ * porta whoami --json # JSON output (machine-readable)
14
+ *
15
+ * @module commands/whoami
16
+ */
17
+ import { loadCredentials, isTokenExpired } from '../credential-store.js';
18
+ import { printJson, warn } from '../output.js';
19
+ // ---------------------------------------------------------------------------
20
+ // Command Definition
21
+ // ---------------------------------------------------------------------------
22
+ /**
23
+ * The whoami command module — shows the currently authenticated user.
24
+ *
25
+ * Displays server, email, name, user ID, org, and token expiry.
26
+ * Warns if the token is expired. Supports --json for scripting.
27
+ */
28
+ export const whoamiCommand = {
29
+ command: 'whoami',
30
+ describe: 'Show current authenticated identity',
31
+ handler: async (argv) => {
32
+ // Read credentials from disk — no network call needed
33
+ const creds = loadCredentials();
34
+ if (!creds) {
35
+ warn('Not logged in. Run "porta login" to authenticate.');
36
+ process.exit(1);
37
+ }
38
+ // Check if the access token has expired
39
+ const expired = isTokenExpired(creds);
40
+ if (expired) {
41
+ warn('Access token expired. Run "porta login" to re-authenticate.');
42
+ }
43
+ // Output format depends on --json flag
44
+ if (argv.json) {
45
+ printJson({
46
+ server: creds.server,
47
+ orgSlug: creds.orgSlug,
48
+ ...creds.userInfo,
49
+ expiresAt: creds.expiresAt,
50
+ expired,
51
+ });
52
+ }
53
+ else {
54
+ console.log('');
55
+ console.log(` Server: ${creds.server}`);
56
+ console.log(` Email: ${creds.userInfo.email}`);
57
+ console.log(` Name: ${creds.userInfo.name ?? '(not set)'}`);
58
+ console.log(` User ID: ${creds.userInfo.sub}`);
59
+ console.log(` Org: ${creds.orgSlug}`);
60
+ console.log(` Expires: ${creds.expiresAt}${expired ? ' (EXPIRED)' : ''}`);
61
+ console.log('');
62
+ }
63
+ process.exit(0);
64
+ },
65
+ };
66
+ //# sourceMappingURL=whoami.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"whoami.js","sourceRoot":"","sources":["../../src/commands/whoami.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAE/C,8EAA8E;AAC9E,qBAAqB;AACrB,8EAA8E;AAE9E;;;;;GAKG;AACH,MAAM,CAAC,MAAM,aAAa,GAAgD;IACxE,OAAO,EAAE,QAAQ;IACjB,QAAQ,EAAE,qCAAqC;IAE/C,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QACtB,sDAAsD;QACtD,MAAM,KAAK,GAAG,eAAe,EAAE,CAAC;QAEhC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,CAAC,mDAAmD,CAAC,CAAC;YAC1D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,wCAAwC;QACxC,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CACF,6DAA6D,CAC9D,CAAC;QACJ,CAAC;QAED,uCAAuC;QACvC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,SAAS,CAAC;gBACR,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,GAAG,KAAK,CAAC,QAAQ;gBACjB,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,OAAO;aACR,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;YAC3C,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;YACnD,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,CAAC,QAAQ,CAAC,IAAI,IAAI,WAAW,EAAE,CAAC,CAAC;YACjE,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;YACjD,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAC5C,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,CAAC,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC5E,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;CACF,CAAC"}
@@ -0,0 +1,101 @@
1
+ /**
2
+ * Credential storage for CLI authentication.
3
+ *
4
+ * Stores OIDC tokens in `~/.porta/credentials.json` with strict
5
+ * file permissions (0600 — owner-only read/write). The directory
6
+ * is created with 0700 permissions (owner-only access).
7
+ *
8
+ * The credential format is intentionally identical to the SDK's
9
+ * `StoredCredentials` interface (from `@portaidentity/sdk` CliAuth),
10
+ * ensuring the standalone CLI and SDK share the same credential file
11
+ * without any format conversion.
12
+ *
13
+ * INV2 resolution: StoredCredentials interface is 100% identical
14
+ * between `src/cli/token-store.ts` and SDK `createCliAuth`. Fields:
15
+ * server, orgSlug, clientId, accessToken, refreshToken, idToken,
16
+ * expiresAt, userInfo: { sub, email, name? }.
17
+ *
18
+ * @module credential-store
19
+ */
20
+ /**
21
+ * User info embedded in stored credentials.
22
+ * Contains the OIDC subject identifier and basic profile data.
23
+ */
24
+ export interface StoredUserInfo {
25
+ /** OIDC subject identifier (user ID) */
26
+ sub: string;
27
+ /** User's email address */
28
+ email: string;
29
+ /** User's display name (optional) */
30
+ name?: string;
31
+ }
32
+ /**
33
+ * Credentials stored on disk after a successful `porta login`.
34
+ *
35
+ * This format is shared with the SDK's `createCliAuth()` provider,
36
+ * allowing the SDK to authenticate using the same credential file.
37
+ */
38
+ export interface StoredCredentials {
39
+ /** Porta server URL that issued these credentials */
40
+ server: string;
41
+ /** Organization slug used during login */
42
+ orgSlug: string;
43
+ /** OIDC client ID used during login */
44
+ clientId: string;
45
+ /** Current access token (Bearer token for API calls) */
46
+ accessToken: string;
47
+ /** Refresh token for obtaining new access tokens */
48
+ refreshToken: string;
49
+ /** ID token containing user identity claims */
50
+ idToken: string;
51
+ /** Token expiry timestamp (ISO 8601) */
52
+ expiresAt: string;
53
+ /** Decoded user info from the ID token */
54
+ userInfo: StoredUserInfo;
55
+ }
56
+ /**
57
+ * Loads stored credentials from disk.
58
+ *
59
+ * Returns null if the file doesn't exist or contains invalid JSON.
60
+ * Does NOT validate token expiry — callers should check `expiresAt`.
61
+ *
62
+ * @returns Stored credentials or null if not found
63
+ */
64
+ export declare function loadCredentials(): StoredCredentials | null;
65
+ /**
66
+ * Saves credentials to disk with secure file permissions.
67
+ *
68
+ * Creates the `~/.porta` directory (0700) if it doesn't exist.
69
+ * Writes the credentials file with 0600 permissions.
70
+ *
71
+ * @param credentials - The credentials to persist
72
+ */
73
+ export declare function saveCredentials(credentials: StoredCredentials): void;
74
+ /**
75
+ * Deletes the stored credentials file.
76
+ *
77
+ * Used by `porta logout` to clear all stored tokens.
78
+ * Does nothing if the file doesn't exist.
79
+ */
80
+ export declare function clearCredentials(): void;
81
+ /**
82
+ * Checks whether stored credentials exist on disk.
83
+ *
84
+ * @returns true if the credentials file exists
85
+ */
86
+ export declare function hasCredentials(): boolean;
87
+ /**
88
+ * Returns the path to the credentials file.
89
+ * Useful for diagnostic output (e.g., `porta doctor`).
90
+ *
91
+ * @returns Absolute path to credentials.json
92
+ */
93
+ export declare function getCredentialsPath(): string;
94
+ /**
95
+ * Checks whether the access token is expired (with 60s safety buffer).
96
+ *
97
+ * @param credentials - The stored credentials to check
98
+ * @returns true if the token is expired or will expire within 60 seconds
99
+ */
100
+ export declare function isTokenExpired(credentials: StoredCredentials): boolean;
101
+ //# sourceMappingURL=credential-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"credential-store.d.ts","sourceRoot":"","sources":["../src/credential-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAgBH;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,wCAAwC;IACxC,GAAG,EAAE,MAAM,CAAC;IACZ,2BAA2B;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,qCAAqC;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,qDAAqD;IACrD,MAAM,EAAE,MAAM,CAAC;IACf,0CAA0C;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,uCAAuC;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,wDAAwD;IACxD,WAAW,EAAE,MAAM,CAAC;IACpB,oDAAoD;IACpD,YAAY,EAAE,MAAM,CAAC;IACrB,+CAA+C;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB,wCAAwC;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,0CAA0C;IAC1C,QAAQ,EAAE,cAAc,CAAC;CAC1B;AAsBD;;;;;;;GAOG;AACH,wBAAgB,eAAe,IAAI,iBAAiB,GAAG,IAAI,CAW1D;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,iBAAiB,GAAG,IAAI,CAUpE;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAQvC;AAED;;;;GAIG;AACH,wBAAgB,cAAc,IAAI,OAAO,CAExC;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,iBAAiB,GAAG,OAAO,CAMtE"}
@@ -0,0 +1,121 @@
1
+ /**
2
+ * Credential storage for CLI authentication.
3
+ *
4
+ * Stores OIDC tokens in `~/.porta/credentials.json` with strict
5
+ * file permissions (0600 — owner-only read/write). The directory
6
+ * is created with 0700 permissions (owner-only access).
7
+ *
8
+ * The credential format is intentionally identical to the SDK's
9
+ * `StoredCredentials` interface (from `@portaidentity/sdk` CliAuth),
10
+ * ensuring the standalone CLI and SDK share the same credential file
11
+ * without any format conversion.
12
+ *
13
+ * INV2 resolution: StoredCredentials interface is 100% identical
14
+ * between `src/cli/token-store.ts` and SDK `createCliAuth`. Fields:
15
+ * server, orgSlug, clientId, accessToken, refreshToken, idToken,
16
+ * expiresAt, userInfo: { sub, email, name? }.
17
+ *
18
+ * @module credential-store
19
+ */
20
+ import { readFileSync, writeFileSync, mkdirSync, unlinkSync, existsSync, } from 'node:fs';
21
+ import { join } from 'node:path';
22
+ import { homedir } from 'node:os';
23
+ // ---------------------------------------------------------------------------
24
+ // Constants
25
+ // ---------------------------------------------------------------------------
26
+ /** Directory for Porta CLI credentials (~/.porta) */
27
+ const PORTA_DIR = join(homedir(), '.porta');
28
+ /** Credentials file path (~/.porta/credentials.json) */
29
+ const CREDENTIALS_PATH = join(PORTA_DIR, 'credentials.json');
30
+ /** File permissions: owner read/write only (0600) */
31
+ const FILE_MODE = 0o600;
32
+ /** Directory permissions: owner access only (0700) */
33
+ const DIR_MODE = 0o700;
34
+ // ---------------------------------------------------------------------------
35
+ // Public API
36
+ // ---------------------------------------------------------------------------
37
+ /**
38
+ * Loads stored credentials from disk.
39
+ *
40
+ * Returns null if the file doesn't exist or contains invalid JSON.
41
+ * Does NOT validate token expiry — callers should check `expiresAt`.
42
+ *
43
+ * @returns Stored credentials or null if not found
44
+ */
45
+ export function loadCredentials() {
46
+ try {
47
+ if (!existsSync(CREDENTIALS_PATH)) {
48
+ return null;
49
+ }
50
+ const raw = readFileSync(CREDENTIALS_PATH, 'utf-8');
51
+ return JSON.parse(raw);
52
+ }
53
+ catch {
54
+ // Corrupt file or parse error — treat as no credentials
55
+ return null;
56
+ }
57
+ }
58
+ /**
59
+ * Saves credentials to disk with secure file permissions.
60
+ *
61
+ * Creates the `~/.porta` directory (0700) if it doesn't exist.
62
+ * Writes the credentials file with 0600 permissions.
63
+ *
64
+ * @param credentials - The credentials to persist
65
+ */
66
+ export function saveCredentials(credentials) {
67
+ // Ensure directory exists with secure permissions
68
+ if (!existsSync(PORTA_DIR)) {
69
+ mkdirSync(PORTA_DIR, { mode: DIR_MODE, recursive: true });
70
+ }
71
+ writeFileSync(CREDENTIALS_PATH, JSON.stringify(credentials, null, 2), {
72
+ mode: FILE_MODE,
73
+ encoding: 'utf-8',
74
+ });
75
+ }
76
+ /**
77
+ * Deletes the stored credentials file.
78
+ *
79
+ * Used by `porta logout` to clear all stored tokens.
80
+ * Does nothing if the file doesn't exist.
81
+ */
82
+ export function clearCredentials() {
83
+ try {
84
+ if (existsSync(CREDENTIALS_PATH)) {
85
+ unlinkSync(CREDENTIALS_PATH);
86
+ }
87
+ }
88
+ catch {
89
+ // Ignore errors — best-effort cleanup
90
+ }
91
+ }
92
+ /**
93
+ * Checks whether stored credentials exist on disk.
94
+ *
95
+ * @returns true if the credentials file exists
96
+ */
97
+ export function hasCredentials() {
98
+ return existsSync(CREDENTIALS_PATH);
99
+ }
100
+ /**
101
+ * Returns the path to the credentials file.
102
+ * Useful for diagnostic output (e.g., `porta doctor`).
103
+ *
104
+ * @returns Absolute path to credentials.json
105
+ */
106
+ export function getCredentialsPath() {
107
+ return CREDENTIALS_PATH;
108
+ }
109
+ /**
110
+ * Checks whether the access token is expired (with 60s safety buffer).
111
+ *
112
+ * @param credentials - The stored credentials to check
113
+ * @returns true if the token is expired or will expire within 60 seconds
114
+ */
115
+ export function isTokenExpired(credentials) {
116
+ const expiresAt = new Date(credentials.expiresAt).getTime();
117
+ const now = Date.now();
118
+ const bufferMs = 60_000; // 60 second safety buffer
119
+ return now >= expiresAt - bufferMs;
120
+ }
121
+ //# sourceMappingURL=credential-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"credential-store.js","sourceRoot":"","sources":["../src/credential-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EACL,YAAY,EACZ,aAAa,EACb,SAAS,EACT,UAAU,EACV,UAAU,GACX,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AA4ClC,8EAA8E;AAC9E,YAAY;AACZ,8EAA8E;AAE9E,qDAAqD;AACrD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;AAE5C,wDAAwD;AACxD,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;AAE7D,qDAAqD;AACrD,MAAM,SAAS,GAAG,KAAK,CAAC;AAExB,sDAAsD;AACtD,MAAM,QAAQ,GAAG,KAAK,CAAC;AAEvB,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe;IAC7B,IAAI,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,GAAG,GAAG,YAAY,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAsB,CAAC;IAC9C,CAAC;IAAC,MAAM,CAAC;QACP,wDAAwD;QACxD,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAAC,WAA8B;IAC5D,kDAAkD;IAClD,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3B,SAAS,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,aAAa,CAAC,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;QACpE,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,OAAO;KAClB,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB;IAC9B,IAAI,CAAC;QACH,IAAI,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACjC,UAAU,CAAC,gBAAgB,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,sCAAsC;IACxC,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc;IAC5B,OAAO,UAAU,CAAC,gBAAgB,CAAC,CAAC;AACtC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,WAA8B;IAC3D,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC;IAC5D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,0BAA0B;IAEnD,OAAO,GAAG,IAAI,SAAS,GAAG,QAAQ,CAAC;AACrC,CAAC"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * CLI error handler — maps SDK errors to user-friendly output.
3
+ *
4
+ * Wraps command handlers with a try/catch that translates the SDK
5
+ * error hierarchy into appropriate CLI output and exit codes:
6
+ *
7
+ * | Exit Code | Meaning | SDK Error Class |
8
+ * |-----------|---------------------|--------------------------|
9
+ * | 0 | Success | — |
10
+ * | 1 | General error | PortaError, unknown |
11
+ * | 2 | Authentication error| PortaAuthenticationError |
12
+ * | 3 | Validation error | PortaValidationError |
13
+ *
14
+ * In verbose mode (`--verbose`), the full error stack trace and
15
+ * response body are printed. In normal mode, only the user-friendly
16
+ * message is shown.
17
+ *
18
+ * @module error-handler
19
+ */
20
+ /** CLI exit codes per AR #99 */
21
+ export declare const EXIT_SUCCESS = 0;
22
+ export declare const EXIT_GENERAL_ERROR = 1;
23
+ export declare const EXIT_AUTH_ERROR = 2;
24
+ export declare const EXIT_VALIDATION_ERROR = 3;
25
+ /**
26
+ * Wraps a command handler function with error handling.
27
+ *
28
+ * Catches SDK errors and translates them to user-friendly output
29
+ * with appropriate exit codes. This is the primary error boundary
30
+ * for all CLI commands.
31
+ *
32
+ * @param fn - The async command handler to wrap
33
+ * @param verbose - Whether to show detailed error output
34
+ * @returns A wrapped function that handles errors gracefully
35
+ */
36
+ export declare function withErrorHandling<T extends unknown[]>(fn: (...args: T) => Promise<void>, verbose?: boolean): (...args: T) => Promise<void>;
37
+ /**
38
+ * Handles an error by printing a user-friendly message and exiting.
39
+ *
40
+ * Maps SDK error types to specific messages and exit codes.
41
+ * In verbose mode, includes the full stack trace and response body.
42
+ *
43
+ * @param err - The caught error
44
+ * @param verbose - Whether to show detailed output
45
+ */
46
+ export declare function handleError(err: unknown, verbose?: boolean): never;
47
+ //# sourceMappingURL=error-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-handler.d.ts","sourceRoot":"","sources":["../src/error-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAmBH,gCAAgC;AAChC,eAAO,MAAM,YAAY,IAAI,CAAC;AAC9B,eAAO,MAAM,kBAAkB,IAAI,CAAC;AACpC,eAAO,MAAM,eAAe,IAAI,CAAC;AACjC,eAAO,MAAM,qBAAqB,IAAI,CAAC;AAMvC;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,OAAO,EAAE,EACnD,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,EACjC,OAAO,UAAQ,GACd,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAQ/B;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,UAAQ,GAAG,KAAK,CAsFhE"}