@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.
- package/dist/auth/browser-flow.d.ts +42 -0
- package/dist/auth/browser-flow.d.ts.map +1 -0
- package/dist/auth/browser-flow.js +193 -0
- package/dist/auth/browser-flow.js.map +1 -0
- package/dist/auth/callback-server.d.ts +81 -0
- package/dist/auth/callback-server.d.ts.map +1 -0
- package/dist/auth/callback-server.js +193 -0
- package/dist/auth/callback-server.js.map +1 -0
- package/dist/auth/metadata.d.ts +43 -0
- package/dist/auth/metadata.d.ts.map +1 -0
- package/dist/auth/metadata.js +66 -0
- package/dist/auth/metadata.js.map +1 -0
- package/dist/auth/pkce.d.ts +42 -0
- package/dist/auth/pkce.d.ts.map +1 -0
- package/dist/auth/pkce.js +52 -0
- package/dist/auth/pkce.js.map +1 -0
- package/dist/auth/types.d.ts +72 -0
- package/dist/auth/types.d.ts.map +1 -0
- package/dist/auth/types.js +11 -0
- package/dist/auth/types.js.map +1 -0
- package/dist/client-factory.d.ts +29 -0
- package/dist/client-factory.d.ts.map +1 -0
- package/dist/client-factory.js +43 -0
- package/dist/client-factory.js.map +1 -0
- package/dist/commands/app-claim.d.ts +9 -0
- package/dist/commands/app-claim.d.ts.map +1 -0
- package/dist/commands/app-claim.js +128 -0
- package/dist/commands/app-claim.js.map +1 -0
- package/dist/commands/app-module.d.ts +9 -0
- package/dist/commands/app-module.d.ts.map +1 -0
- package/dist/commands/app-module.js +104 -0
- package/dist/commands/app-module.js.map +1 -0
- package/dist/commands/app-permission.d.ts +9 -0
- package/dist/commands/app-permission.d.ts.map +1 -0
- package/dist/commands/app-permission.js +118 -0
- package/dist/commands/app-permission.js.map +1 -0
- package/dist/commands/app-role.d.ts +9 -0
- package/dist/commands/app-role.d.ts.map +1 -0
- package/dist/commands/app-role.js +166 -0
- package/dist/commands/app-role.js.map +1 -0
- package/dist/commands/app.d.ts +12 -0
- package/dist/commands/app.d.ts.map +1 -0
- package/dist/commands/app.js +255 -0
- package/dist/commands/app.js.map +1 -0
- package/dist/commands/audit.d.ts +12 -0
- package/dist/commands/audit.d.ts.map +1 -0
- package/dist/commands/audit.js +96 -0
- package/dist/commands/audit.js.map +1 -0
- package/dist/commands/bulk.d.ts +12 -0
- package/dist/commands/bulk.d.ts.map +1 -0
- package/dist/commands/bulk.js +77 -0
- package/dist/commands/bulk.js.map +1 -0
- package/dist/commands/client-secret.d.ts +18 -0
- package/dist/commands/client-secret.d.ts.map +1 -0
- package/dist/commands/client-secret.js +126 -0
- package/dist/commands/client-secret.js.map +1 -0
- package/dist/commands/client.d.ts +27 -0
- package/dist/commands/client.d.ts.map +1 -0
- package/dist/commands/client.js +385 -0
- package/dist/commands/client.js.map +1 -0
- package/dist/commands/completion.d.ts +27 -0
- package/dist/commands/completion.d.ts.map +1 -0
- package/dist/commands/completion.js +42 -0
- package/dist/commands/completion.js.map +1 -0
- package/dist/commands/config.d.ts +14 -0
- package/dist/commands/config.d.ts.map +1 -0
- package/dist/commands/config.js +85 -0
- package/dist/commands/config.js.map +1 -0
- package/dist/commands/doctor.d.ts +25 -0
- package/dist/commands/doctor.d.ts.map +1 -0
- package/dist/commands/doctor.js +198 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/exports.d.ts +12 -0
- package/dist/commands/exports.d.ts.map +1 -0
- package/dist/commands/exports.js +80 -0
- package/dist/commands/exports.js.map +1 -0
- package/dist/commands/health.d.ts +12 -0
- package/dist/commands/health.d.ts.map +1 -0
- package/dist/commands/health.js +53 -0
- package/dist/commands/health.js.map +1 -0
- package/dist/commands/keys.d.ts +14 -0
- package/dist/commands/keys.d.ts.map +1 -0
- package/dist/commands/keys.js +91 -0
- package/dist/commands/keys.js.map +1 -0
- package/dist/commands/login.d.ts +36 -0
- package/dist/commands/login.d.ts.map +1 -0
- package/dist/commands/login.js +78 -0
- package/dist/commands/login.js.map +1 -0
- package/dist/commands/logout.d.ts +25 -0
- package/dist/commands/logout.d.ts.map +1 -0
- package/dist/commands/logout.js +43 -0
- package/dist/commands/logout.js.map +1 -0
- package/dist/commands/org.d.ts +26 -0
- package/dist/commands/org.d.ts.map +1 -0
- package/dist/commands/org.js +396 -0
- package/dist/commands/org.js.map +1 -0
- package/dist/commands/provision.d.ts +47 -0
- package/dist/commands/provision.d.ts.map +1 -0
- package/dist/commands/provision.js +400 -0
- package/dist/commands/provision.js.map +1 -0
- package/dist/commands/sessions.d.ts +14 -0
- package/dist/commands/sessions.d.ts.map +1 -0
- package/dist/commands/sessions.js +122 -0
- package/dist/commands/sessions.js.map +1 -0
- package/dist/commands/stats.d.ts +12 -0
- package/dist/commands/stats.d.ts.map +1 -0
- package/dist/commands/stats.js +46 -0
- package/dist/commands/stats.js.map +1 -0
- package/dist/commands/user-claim.d.ts +17 -0
- package/dist/commands/user-claim.d.ts.map +1 -0
- package/dist/commands/user-claim.js +123 -0
- package/dist/commands/user-claim.js.map +1 -0
- package/dist/commands/user-role.d.ts +17 -0
- package/dist/commands/user-role.d.ts.map +1 -0
- package/dist/commands/user-role.js +118 -0
- package/dist/commands/user-role.js.map +1 -0
- package/dist/commands/user.d.ts +26 -0
- package/dist/commands/user.d.ts.map +1 -0
- package/dist/commands/user.js +352 -0
- package/dist/commands/user.js.map +1 -0
- package/dist/commands/version.d.ts +25 -0
- package/dist/commands/version.d.ts.map +1 -0
- package/dist/commands/version.js +83 -0
- package/dist/commands/version.js.map +1 -0
- package/dist/commands/whoami.d.ts +26 -0
- package/dist/commands/whoami.d.ts.map +1 -0
- package/dist/commands/whoami.js +66 -0
- package/dist/commands/whoami.js.map +1 -0
- package/dist/credential-store.d.ts +101 -0
- package/dist/credential-store.d.ts.map +1 -0
- package/dist/credential-store.js +121 -0
- package/dist/credential-store.js.map +1 -0
- package/dist/error-handler.d.ts +47 -0
- package/dist/error-handler.d.ts.map +1 -0
- package/dist/error-handler.js +166 -0
- package/dist/error-handler.js.map +1 -0
- package/dist/global-options.d.ts +50 -0
- package/dist/global-options.d.ts.map +1 -0
- package/dist/global-options.js +62 -0
- package/dist/global-options.js.map +1 -0
- package/dist/index.d.ts +29 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +122 -0
- package/dist/index.js.map +1 -0
- package/dist/output.d.ts +75 -0
- package/dist/output.d.ts.map +1 -0
- package/dist/output.js +100 -0
- package/dist/output.js.map +1 -0
- package/dist/parsers.d.ts +74 -0
- package/dist/parsers.d.ts.map +1 -0
- package/dist/parsers.js +125 -0
- package/dist/parsers.js.map +1 -0
- package/dist/prompt.d.ts +50 -0
- package/dist/prompt.d.ts.map +1 -0
- package/dist/prompt.js +98 -0
- package/dist/prompt.js.map +1 -0
- 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"}
|