@1claw/cli 0.13.0 → 0.15.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
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secret.d.ts","sourceRoot":"","sources":["../../../src/commands/secret.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"secret.d.ts","sourceRoot":"","sources":["../../../src/commands/secret.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA2BpC,eAAO,MAAM,aAAa,SAEzB,CAAC"}
|
|
@@ -48,13 +48,18 @@ secretCommand
|
|
|
48
48
|
.command("get <path>")
|
|
49
49
|
.description("Fetch a decrypted secret value")
|
|
50
50
|
.option("-v, --vault <id>", "Vault ID")
|
|
51
|
+
.option("--version <n>", "Retrieve a specific version number")
|
|
51
52
|
.option("--json", "Output as JSON")
|
|
52
53
|
.option("--quiet", "Print only the raw value (for piping)")
|
|
53
54
|
.action(async (path, opts) => {
|
|
54
55
|
try {
|
|
55
56
|
requireToken();
|
|
56
57
|
const vaultId = resolveVaultId(opts);
|
|
57
|
-
const
|
|
58
|
+
const ver = opts.version ? parseInt(opts.version, 10) : undefined;
|
|
59
|
+
const url = ver
|
|
60
|
+
? `/vaults/${vaultId}/secret-version/${encodeURIComponent(path)}/${ver}`
|
|
61
|
+
: `/vaults/${vaultId}/secrets/${encodeURIComponent(path)}`;
|
|
62
|
+
const secret = await api(url);
|
|
58
63
|
if (opts.quiet) {
|
|
59
64
|
process.stdout.write(secret.value);
|
|
60
65
|
return;
|
|
@@ -68,7 +73,7 @@ secretCommand
|
|
|
68
73
|
["Type", secret.secret_type],
|
|
69
74
|
["Version", String(secret.version)],
|
|
70
75
|
["Value", secret.value],
|
|
71
|
-
["Updated", new Date(secret.updated_at).toLocaleString()],
|
|
76
|
+
["Updated", new Date(secret.updated_at ?? secret.created_at).toLocaleString()],
|
|
72
77
|
]);
|
|
73
78
|
}
|
|
74
79
|
catch (err) {
|
|
@@ -147,13 +152,26 @@ secretCommand
|
|
|
147
152
|
});
|
|
148
153
|
secretCommand
|
|
149
154
|
.command("rotate <path> [value]")
|
|
150
|
-
.description("
|
|
155
|
+
.description("Rotate a secret. With --generate, the server creates a random value.")
|
|
151
156
|
.option("-v, --vault <id>", "Vault ID")
|
|
152
157
|
.option("--stdin", "Read value from stdin")
|
|
158
|
+
.option("-g, --generate", "Server-side generation (no value needed)")
|
|
159
|
+
.option("-l, --length <n>", "Generated value length (default 32)")
|
|
160
|
+
.option("-c, --charset <charset>", "hex|base64|alphanumeric|ascii (default hex)")
|
|
153
161
|
.action(async (path, value, opts) => {
|
|
154
162
|
try {
|
|
155
163
|
requireToken();
|
|
156
164
|
const vaultId = resolveVaultId(opts);
|
|
165
|
+
if (opts.generate) {
|
|
166
|
+
const body = {};
|
|
167
|
+
if (opts.length)
|
|
168
|
+
body.length = parseInt(opts.length, 10);
|
|
169
|
+
if (opts.charset)
|
|
170
|
+
body.charset = opts.charset;
|
|
171
|
+
const result = await api(`/vaults/${vaultId}/secret-rotate/${encodeURIComponent(path)}`, { method: "POST", body });
|
|
172
|
+
printSuccess(`Secret ${chalk.bold(path)} rotated (server-generated). Version: ${result.version}`);
|
|
173
|
+
return;
|
|
174
|
+
}
|
|
157
175
|
let secretValue = value;
|
|
158
176
|
if (opts.stdin || !value) {
|
|
159
177
|
const chunks = [];
|
|
@@ -162,6 +180,10 @@ secretCommand
|
|
|
162
180
|
}
|
|
163
181
|
secretValue = Buffer.concat(chunks).toString().trim();
|
|
164
182
|
}
|
|
183
|
+
if (!secretValue) {
|
|
184
|
+
printWarning("No value provided. Use --generate for server-side rotation, or pass a value.");
|
|
185
|
+
process.exit(1);
|
|
186
|
+
}
|
|
165
187
|
await api(`/vaults/${vaultId}/secrets/${encodeURIComponent(path)}`, {
|
|
166
188
|
method: "PUT",
|
|
167
189
|
body: { value: secretValue },
|
|
@@ -172,6 +194,40 @@ secretCommand
|
|
|
172
194
|
handleError(err);
|
|
173
195
|
}
|
|
174
196
|
});
|
|
197
|
+
secretCommand
|
|
198
|
+
.command("versions <path>")
|
|
199
|
+
.description("List all versions of a secret")
|
|
200
|
+
.option("-v, --vault <id>", "Vault ID")
|
|
201
|
+
.option("--json", "Output as JSON")
|
|
202
|
+
.action(async (path, opts) => {
|
|
203
|
+
try {
|
|
204
|
+
requireToken();
|
|
205
|
+
const vaultId = resolveVaultId(opts);
|
|
206
|
+
const res = await api(`/vaults/${vaultId}/secret-versions/${encodeURIComponent(path)}`);
|
|
207
|
+
const versions = res.versions ?? [];
|
|
208
|
+
if (opts.json) {
|
|
209
|
+
printJson(versions);
|
|
210
|
+
return;
|
|
211
|
+
}
|
|
212
|
+
if (versions.length === 0) {
|
|
213
|
+
printWarning("No versions found.");
|
|
214
|
+
return;
|
|
215
|
+
}
|
|
216
|
+
printTable(versions.map((v) => ({
|
|
217
|
+
...v,
|
|
218
|
+
created: new Date(v.created_at).toLocaleDateString(),
|
|
219
|
+
disabled: v.is_disabled ? chalk.red("yes") : chalk.dim("no"),
|
|
220
|
+
})), [
|
|
221
|
+
{ key: "version", header: "Ver" },
|
|
222
|
+
{ key: "secret_type", header: "Type", width: 14 },
|
|
223
|
+
{ key: "created", header: "Created" },
|
|
224
|
+
{ key: "disabled", header: "Disabled" },
|
|
225
|
+
]);
|
|
226
|
+
}
|
|
227
|
+
catch (err) {
|
|
228
|
+
handleError(err);
|
|
229
|
+
}
|
|
230
|
+
});
|
|
175
231
|
secretCommand
|
|
176
232
|
.command("describe <path>")
|
|
177
233
|
.description("Get secret metadata (no value)")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secret.js","sourceRoot":"","sources":["../../../src/commands/secret.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EACH,UAAU,EACV,aAAa,EACb,YAAY,EACZ,SAAS,EACT,YAAY,GACf,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"secret.js","sourceRoot":"","sources":["../../../src/commands/secret.ts"],"names":[],"mappings":"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"}
|