@zincapp/znvault-cli 4.21.0 → 4.22.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/README.md +2 -0
- package/dist/commands/secret/decrypt.d.ts.map +1 -1
- package/dist/commands/secret/decrypt.js +49 -0
- package/dist/commands/secret/decrypt.js.map +1 -1
- package/dist/commands/secret/raw-value.d.ts +34 -0
- package/dist/commands/secret/raw-value.d.ts.map +1 -0
- package/dist/commands/secret/raw-value.js +55 -0
- package/dist/commands/secret/raw-value.js.map +1 -0
- package/dist/commands/secret/types.d.ts +4 -0
- package/dist/commands/secret/types.d.ts.map +1 -1
- package/dist/index.js +9 -11
- package/dist/index.js.map +1 -1
- package/dist/lib/banner-policy.d.ts +29 -0
- package/dist/lib/banner-policy.d.ts.map +1 -0
- package/dist/lib/banner-policy.js +27 -0
- package/dist/lib/banner-policy.js.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -123,6 +123,8 @@ znvault superadmin cluster takeover --yes # Force leadership (HA, superadmin)
|
|
|
123
123
|
znvault secret list # List metadata (your tenant)
|
|
124
124
|
znvault secret get <alias> # Get metadata only
|
|
125
125
|
znvault secret decrypt <alias> # Decrypt after unseal
|
|
126
|
+
znvault secret decrypt <alias> --raw # Value only (env vars, $(...))
|
|
127
|
+
znvault secret decrypt <alias> --field password # One field of a multi-field secret
|
|
126
128
|
znvault secret create <alias> --text "secret" # Create plain text
|
|
127
129
|
printf '%s\n' '{"k":"v"}' | \
|
|
128
130
|
znvault secret create <alias> --data-stdin # JSON without argv/files
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decrypt.d.ts","sourceRoot":"","sources":["../../../src/commands/secret/decrypt.ts"],"names":[],"mappings":"AAEA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"decrypt.d.ts","sourceRoot":"","sources":["../../../src/commands/secret/decrypt.ts"],"names":[],"mappings":"AAEA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAsBzC,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI,CA6J/D"}
|
|
@@ -3,12 +3,27 @@ import { client } from '../../lib/client.js';
|
|
|
3
3
|
import * as output from '../../lib/output.js';
|
|
4
4
|
import { formatType, formatBytes } from './helpers.js';
|
|
5
5
|
import { resolveSecretId } from './resolve.js';
|
|
6
|
+
import { selectRawValue, RawSelectionError } from './raw-value.js';
|
|
7
|
+
/**
|
|
8
|
+
* Emit a raw payload to stdout. Text gets a trailing newline only on a TTY
|
|
9
|
+
* (so an interactive prompt isn't glued to the value) — piped/redirected
|
|
10
|
+
* output is byte-exact, which is what `$(...)`, `> file` and `| base64` want.
|
|
11
|
+
* Bytes (decoded files) are always written as-is.
|
|
12
|
+
*/
|
|
13
|
+
function writeRawToStdout(payload) {
|
|
14
|
+
process.stdout.write(payload.value);
|
|
15
|
+
if (payload.kind === 'text' && process.stdout.isTTY) {
|
|
16
|
+
process.stdout.write('\n');
|
|
17
|
+
}
|
|
18
|
+
}
|
|
6
19
|
export function registerDecryptCommand(secretCmd) {
|
|
7
20
|
secretCmd
|
|
8
21
|
.command('decrypt <id-or-alias>')
|
|
9
22
|
.description('Decrypt and show secret value (supports UUID or tenant/alias format)')
|
|
10
23
|
.option('-o, --output <file>', 'Write content to file')
|
|
11
24
|
.option('--json', 'Output as JSON')
|
|
25
|
+
.option('--raw', 'Print only the value, no metadata (for env vars / files). Multi-field secrets need --field')
|
|
26
|
+
.option('--field <name>', 'Print only this field of the secret data (implies --raw)')
|
|
12
27
|
.option('--no-resolve', 'Return the raw, unresolved template/pointer (skip reference resolution)')
|
|
13
28
|
.addHelpText('after', `
|
|
14
29
|
Examples:
|
|
@@ -17,8 +32,21 @@ Examples:
|
|
|
17
32
|
znvault secret decrypt abc12345-... # by UUID
|
|
18
33
|
znvault secret decrypt certs/server-key -o key.pem # save to file
|
|
19
34
|
znvault secret decrypt app/db-url --no-resolve # raw template, tokens unexpanded
|
|
35
|
+
|
|
36
|
+
Raw output (value only — nothing else on stdout):
|
|
37
|
+
export API_KEY=$(znvault secret decrypt web/api-key --raw) # single-value secret
|
|
38
|
+
export DB_PASSWORD=$(znvault secret decrypt db/creds --field password) # one field of a credential
|
|
39
|
+
znvault secret decrypt certs/server-key --raw > key.pem # file secret → decoded bytes
|
|
40
|
+
znvault secret decrypt ssh/deploy --field privateKey -o id_ed25519 # file-shaped field → file
|
|
41
|
+
Strings are printed verbatim; objects/numbers as compact JSON. A trailing
|
|
42
|
+
newline is added only when stdout is a terminal.
|
|
20
43
|
`)
|
|
21
44
|
.action(async (idOrAlias, options) => {
|
|
45
|
+
const raw = options.raw === true || options.field !== undefined;
|
|
46
|
+
if (raw && options.json === true) {
|
|
47
|
+
output.error('--raw/--field cannot be combined with --json');
|
|
48
|
+
process.exit(1);
|
|
49
|
+
}
|
|
22
50
|
const spinner = output.spinner('Resolving secret...').start();
|
|
23
51
|
try {
|
|
24
52
|
// Resolve alias to UUID if needed
|
|
@@ -34,6 +62,27 @@ Examples:
|
|
|
34
62
|
output.json(secret);
|
|
35
63
|
return;
|
|
36
64
|
}
|
|
65
|
+
if (raw) {
|
|
66
|
+
let payload;
|
|
67
|
+
try {
|
|
68
|
+
payload = selectRawValue(secret.data, options.field);
|
|
69
|
+
}
|
|
70
|
+
catch (err) {
|
|
71
|
+
if (err instanceof RawSelectionError) {
|
|
72
|
+
output.error(err.message);
|
|
73
|
+
process.exit(1);
|
|
74
|
+
}
|
|
75
|
+
throw err;
|
|
76
|
+
}
|
|
77
|
+
if (options.output) {
|
|
78
|
+
const fs = await import('fs');
|
|
79
|
+
fs.writeFileSync(options.output, payload.value);
|
|
80
|
+
output.success(`Value written to: ${options.output}`);
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
writeRawToStdout(payload);
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
37
86
|
// If output file specified and it's a file-based secret
|
|
38
87
|
if (options.output && secret.data) {
|
|
39
88
|
const fs = await import('fs');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decrypt.js","sourceRoot":"","sources":["../../../src/commands/secret/decrypt.ts"],"names":[],"mappings":"AAAA,uCAAuC;AAQvC,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAC;AAE9C,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"decrypt.js","sourceRoot":"","sources":["../../../src/commands/secret/decrypt.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Raw value selection for `secret decrypt --raw` / `--field`.
|
|
3
|
+
*
|
|
4
|
+
* Pure: turns a decrypted `data` payload into the single thing that should be
|
|
5
|
+
* written to stdout (or to `-o <file>`), with no metadata around it. Used to
|
|
6
|
+
* feed env vars (`export X=$(znvault secret decrypt ... --raw)`) and files
|
|
7
|
+
* (`... --raw > key.pem`).
|
|
8
|
+
*/
|
|
9
|
+
/** What to emit: text (a string, written as-is) or bytes (a decoded file). */
|
|
10
|
+
export type RawPayload = {
|
|
11
|
+
kind: 'text';
|
|
12
|
+
value: string;
|
|
13
|
+
} | {
|
|
14
|
+
kind: 'bytes';
|
|
15
|
+
value: Buffer;
|
|
16
|
+
};
|
|
17
|
+
/** Thrown when the payload cannot be reduced to one value (caller decides the message sink). */
|
|
18
|
+
export declare class RawSelectionError extends Error {
|
|
19
|
+
constructor(message: string);
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Pick the raw value out of a decrypted payload.
|
|
23
|
+
*
|
|
24
|
+
* - With `field`: that own property of `data` (strings verbatim, file-shaped
|
|
25
|
+
* objects decoded to bytes, anything else as compact JSON).
|
|
26
|
+
* - Without `field`: a file-based secret decodes to bytes; a one-key payload
|
|
27
|
+
* (`{ text }`, `{ value }`, resolved link) yields that key's value; anything
|
|
28
|
+
* with several fields is refused — the caller must name one with `--field`.
|
|
29
|
+
*
|
|
30
|
+
* @throws RawSelectionError when the payload is missing/empty, the field is
|
|
31
|
+
* unknown, or the payload is ambiguous without a field.
|
|
32
|
+
*/
|
|
33
|
+
export declare function selectRawValue(data: Record<string, unknown> | undefined | null, field?: string): RawPayload;
|
|
34
|
+
//# sourceMappingURL=raw-value.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"raw-value.d.ts","sourceRoot":"","sources":["../../../src/commands/secret/raw-value.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,8EAA8E;AAC9E,MAAM,MAAM,UAAU,GAClB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC/B;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAErC,gGAAgG;AAChG,qBAAa,iBAAkB,SAAQ,KAAK;gBAC9B,OAAO,EAAE,MAAM;CAI5B;AAuBD;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,IAAI,EAChD,KAAK,CAAC,EAAE,MAAM,GACb,UAAU,CA2BZ"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
// Path: src/commands/secret/raw-value.ts
|
|
2
|
+
/** Thrown when the payload cannot be reduced to one value (caller decides the message sink). */
|
|
3
|
+
export class RawSelectionError extends Error {
|
|
4
|
+
constructor(message) {
|
|
5
|
+
super(message);
|
|
6
|
+
this.name = 'RawSelectionError';
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
function isFileShaped(value) {
|
|
10
|
+
return (typeof value === 'object' &&
|
|
11
|
+
value !== null &&
|
|
12
|
+
typeof value.filename === 'string' &&
|
|
13
|
+
typeof value.content === 'string');
|
|
14
|
+
}
|
|
15
|
+
function render(value) {
|
|
16
|
+
if (typeof value === 'string')
|
|
17
|
+
return { kind: 'text', value };
|
|
18
|
+
if (isFileShaped(value))
|
|
19
|
+
return { kind: 'bytes', value: Buffer.from(value.content, 'base64') };
|
|
20
|
+
return { kind: 'text', value: JSON.stringify(value) };
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Pick the raw value out of a decrypted payload.
|
|
24
|
+
*
|
|
25
|
+
* - With `field`: that own property of `data` (strings verbatim, file-shaped
|
|
26
|
+
* objects decoded to bytes, anything else as compact JSON).
|
|
27
|
+
* - Without `field`: a file-based secret decodes to bytes; a one-key payload
|
|
28
|
+
* (`{ text }`, `{ value }`, resolved link) yields that key's value; anything
|
|
29
|
+
* with several fields is refused — the caller must name one with `--field`.
|
|
30
|
+
*
|
|
31
|
+
* @throws RawSelectionError when the payload is missing/empty, the field is
|
|
32
|
+
* unknown, or the payload is ambiguous without a field.
|
|
33
|
+
*/
|
|
34
|
+
export function selectRawValue(data, field) {
|
|
35
|
+
if (data === undefined || data === null || typeof data !== 'object') {
|
|
36
|
+
throw new RawSelectionError('Secret has no data payload');
|
|
37
|
+
}
|
|
38
|
+
const keys = Object.keys(data);
|
|
39
|
+
if (field !== undefined) {
|
|
40
|
+
if (!Object.prototype.hasOwnProperty.call(data, field)) {
|
|
41
|
+
throw new RawSelectionError(`Field '${field}' not found in secret data (available: ${keys.join(', ') || 'none'})`);
|
|
42
|
+
}
|
|
43
|
+
return render(data[field]);
|
|
44
|
+
}
|
|
45
|
+
if (isFileShaped(data))
|
|
46
|
+
return render(data);
|
|
47
|
+
if (keys.length === 0) {
|
|
48
|
+
throw new RawSelectionError('Secret data is empty');
|
|
49
|
+
}
|
|
50
|
+
if (keys.length > 1) {
|
|
51
|
+
throw new RawSelectionError(`Secret has multiple fields (${keys.join(', ')}); use --field <name> to select one`);
|
|
52
|
+
}
|
|
53
|
+
return render(data[keys[0]]);
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=raw-value.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"raw-value.js","sourceRoot":"","sources":["../../../src/commands/secret/raw-value.ts"],"names":[],"mappings":"AAAA,yCAAyC;AAgBzC,gGAAgG;AAChG,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IAC1C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF;AAQD,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,OAAQ,KAAiC,CAAC,QAAQ,KAAK,QAAQ;QAC/D,OAAQ,KAAiC,CAAC,OAAO,KAAK,QAAQ,CAC/D,CAAC;AACJ,CAAC;AAED,SAAS,MAAM,CAAC,KAAc;IAC5B,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAC9D,IAAI,YAAY,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC;IAC/F,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;AACxD,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,cAAc,CAC5B,IAAgD,EAChD,KAAc;IAEd,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACpE,MAAM,IAAI,iBAAiB,CAAC,4BAA4B,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE/B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;YACvD,MAAM,IAAI,iBAAiB,CACzB,UAAU,KAAK,0CAA0C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,GAAG,CACtF,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7B,CAAC;IAED,IAAI,YAAY,CAAC,IAAI,CAAC;QAAE,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;IAE5C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,iBAAiB,CAAC,sBAAsB,CAAC,CAAC;IACtD,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,MAAM,IAAI,iBAAiB,CACzB,+BAA+B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,qCAAqC,CACpF,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/B,CAAC"}
|
|
@@ -51,6 +51,10 @@ export interface DecryptOptions {
|
|
|
51
51
|
output?: string;
|
|
52
52
|
json?: boolean;
|
|
53
53
|
resolve?: boolean;
|
|
54
|
+
/** Print only the value (no metadata) — for `$(...)` / env-var injection and `> file`. */
|
|
55
|
+
raw?: boolean;
|
|
56
|
+
/** Print only this field of the data payload; implies `raw`. */
|
|
57
|
+
field?: string;
|
|
54
58
|
}
|
|
55
59
|
export interface CreateOptions {
|
|
56
60
|
type: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/commands/secret/types.ts"],"names":[],"mappings":"AAEA;;GAEG;AAMH,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,QAAQ,GAAG,YAAY,GAAG,SAAS,CAAC;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/B,oHAAoH;IACpH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,iIAAiI;IACjI,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,eAAgB,SAAQ,cAAc;IACrD,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACjD,QAAQ,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CAC9B;AAMD,MAAM,WAAW,WAAW;IAE1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/commands/secret/types.ts"],"names":[],"mappings":"AAEA;;GAEG;AAMH,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,QAAQ,GAAG,YAAY,GAAG,SAAS,CAAC;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/B,oHAAoH;IACpH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,iIAAiI;IACjI,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,eAAgB,SAAQ,cAAc;IACrD,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACjD,QAAQ,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CAC9B;AAMD,MAAM,WAAW,WAAW;IAE1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,0FAA0F;IAC1F,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,gEAAgE;IAChE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,aAAa;IAG5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAMD,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,UAAU,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;CAChF;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAEhB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,UAAU,EAAE;QACV,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,OAAO,CAAC;KAClB,CAAC;CACH;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE;QACV,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,SAAS,EAAE,MAAM,CAAC;CACnB;AAMD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,MAAM,qBAAqB,GAAG,SAAS,GAAG,QAAQ,GAAG,aAAa,GAAG,eAAe,CAAC;AAE3F,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,qBAAqB,CAAC;IAC/B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,qBAAqB,CAAC;IAC/B,iBAAiB,EAAE;QAAE,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAC3E,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACjF,IAAI,EAAE;QACJ,OAAO,EAAE,SAAS,GAAG,QAAQ,GAAG,aAAa,CAAC;QAC9C,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;QACzB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,WAAW,EAAE;QAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CAC9D"}
|
package/dist/index.js
CHANGED
|
@@ -44,6 +44,7 @@ import { cliBanner, helpHint, cliStatusDisplay, quickCommands } from './lib/visu
|
|
|
44
44
|
import { runBackgroundUpdateCheck } from './lib/cli-update.js';
|
|
45
45
|
import { setOutputMode, setQuietMode } from './lib/output-mode.js';
|
|
46
46
|
import { profileIndicator } from './lib/output.js';
|
|
47
|
+
import { shouldSkipProfileIndicator } from './lib/banner-policy.js';
|
|
47
48
|
import { configureContextHelp } from './lib/context-help.js';
|
|
48
49
|
import { getVersion } from './lib/version.js';
|
|
49
50
|
import { areCLIPluginsDisabled } from './plugins/policy.js';
|
|
@@ -83,17 +84,14 @@ program
|
|
|
83
84
|
if (opts.url !== undefined || opts.insecure !== undefined) {
|
|
84
85
|
client.configure(opts.url, opts.insecure);
|
|
85
86
|
}
|
|
86
|
-
// Skip profile indicator
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
if (
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
if (cmdPath === 'forward' &&
|
|
95
|
-
parentName === 'ssh' &&
|
|
96
|
-
actionCommand.opts().printPort === true) {
|
|
87
|
+
// Skip the profile indicator when stdout is a machine channel (`--json`,
|
|
88
|
+
// shell completion, `ssh forward --print-port`, `secret decrypt --raw/--field`).
|
|
89
|
+
// The policy lives in lib/banner-policy.ts so it can be unit-tested.
|
|
90
|
+
if (shouldSkipProfileIndicator({
|
|
91
|
+
name: actionCommand.name(),
|
|
92
|
+
parent: actionCommand.parent?.name(),
|
|
93
|
+
opts: actionCommand.opts(),
|
|
94
|
+
})) {
|
|
97
95
|
return;
|
|
98
96
|
}
|
|
99
97
|
// Show current profile indicator
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Decides whether the per-command profile/version banner may be printed.
|
|
3
|
+
*
|
|
4
|
+
* The banner goes to stdout. Commands whose stdout is a machine channel —
|
|
5
|
+
* consumed by a shell, a JSON parser or a file redirect — must not get it,
|
|
6
|
+
* or the consumer reads the banner as part of the value.
|
|
7
|
+
*/
|
|
8
|
+
/** The bits of the Commander action command the policy looks at. */
|
|
9
|
+
export interface BannerContext {
|
|
10
|
+
/** Name of the command being executed (e.g. `decrypt`). */
|
|
11
|
+
name: string;
|
|
12
|
+
/** Name of its parent group, if any (e.g. `secret`). */
|
|
13
|
+
parent: string | undefined;
|
|
14
|
+
/** Parsed options of the command being executed. */
|
|
15
|
+
opts: Record<string, unknown>;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* True when the profile indicator must be suppressed for this invocation.
|
|
19
|
+
*
|
|
20
|
+
* Cases:
|
|
21
|
+
* - any command run with `--json`: stdout is one JSON document (`| jq`).
|
|
22
|
+
* - `completion` (and its subcommands): stdout is evaluated by the shell.
|
|
23
|
+
* - `ssh forward --print-port`: stdout carries a JSON contract line read by the
|
|
24
|
+
* deploy tunnel manager.
|
|
25
|
+
* - `secret decrypt --raw` / `--field`: stdout is the bare secret value, meant
|
|
26
|
+
* for `$(...)` capture or `> file` redirection.
|
|
27
|
+
*/
|
|
28
|
+
export declare function shouldSkipProfileIndicator(ctx: BannerContext): boolean;
|
|
29
|
+
//# sourceMappingURL=banner-policy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"banner-policy.d.ts","sourceRoot":"","sources":["../../src/lib/banner-policy.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AAEH,oEAAoE;AACpE,MAAM,WAAW,aAAa;IAC5B,2DAA2D;IAC3D,IAAI,EAAE,MAAM,CAAC;IACb,wDAAwD;IACxD,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,oDAAoD;IACpD,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO,CAgBtE"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
// Path: src/lib/banner-policy.ts
|
|
2
|
+
/**
|
|
3
|
+
* True when the profile indicator must be suppressed for this invocation.
|
|
4
|
+
*
|
|
5
|
+
* Cases:
|
|
6
|
+
* - any command run with `--json`: stdout is one JSON document (`| jq`).
|
|
7
|
+
* - `completion` (and its subcommands): stdout is evaluated by the shell.
|
|
8
|
+
* - `ssh forward --print-port`: stdout carries a JSON contract line read by the
|
|
9
|
+
* deploy tunnel manager.
|
|
10
|
+
* - `secret decrypt --raw` / `--field`: stdout is the bare secret value, meant
|
|
11
|
+
* for `$(...)` capture or `> file` redirection.
|
|
12
|
+
*/
|
|
13
|
+
export function shouldSkipProfileIndicator(ctx) {
|
|
14
|
+
if (ctx.opts.json === true)
|
|
15
|
+
return true;
|
|
16
|
+
if (ctx.name === 'completion' || ctx.parent === 'completion')
|
|
17
|
+
return true;
|
|
18
|
+
if (ctx.name === 'forward' && ctx.parent === 'ssh' && ctx.opts.printPort === true)
|
|
19
|
+
return true;
|
|
20
|
+
if (ctx.name === 'decrypt' &&
|
|
21
|
+
ctx.parent === 'secret' &&
|
|
22
|
+
(ctx.opts.raw === true || ctx.opts.field !== undefined)) {
|
|
23
|
+
return true;
|
|
24
|
+
}
|
|
25
|
+
return false;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=banner-policy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"banner-policy.js","sourceRoot":"","sources":["../../src/lib/banner-policy.ts"],"names":[],"mappings":"AAAA,iCAAiC;AAoBjC;;;;;;;;;;GAUG;AACH,MAAM,UAAU,0BAA0B,CAAC,GAAkB;IAC3D,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAExC,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,IAAI,GAAG,CAAC,MAAM,KAAK,YAAY;QAAE,OAAO,IAAI,CAAC;IAE1E,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,GAAG,CAAC,IAAI,CAAC,SAAS,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAE/F,IACE,GAAG,CAAC,IAAI,KAAK,SAAS;QACtB,GAAG,CAAC,MAAM,KAAK,QAAQ;QACvB,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,EACvD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
|