@1claw/cli 0.23.0 → 0.25.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 +17 -1
- package/dist/src/commands/account.d.ts +4 -0
- package/dist/src/commands/account.d.ts.map +1 -0
- package/dist/src/commands/account.js +87 -0
- package/dist/src/commands/account.js.map +1 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +3 -0
- package/dist/src/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# @1claw/cli (v0.
|
|
1
|
+
# @1claw/cli (v0.24.0)
|
|
2
2
|
|
|
3
3
|
Command-line interface for [1Claw](https://1claw.xyz) — HSM-backed secret management for AI agents and humans.
|
|
4
4
|
|
|
@@ -55,6 +55,8 @@ export ONECLAW_API_KEY="1ck_..."
|
|
|
55
55
|
1claw login --email # Email/password login
|
|
56
56
|
1claw forgot-password # Request password reset email (no login required)
|
|
57
57
|
1claw reset-password # Set new password from email token (no login required)
|
|
58
|
+
1claw set-password # Set a password (platform users who don't have one)
|
|
59
|
+
1claw change-email # Change your email address (sends verification code)
|
|
58
60
|
1claw logout # Clear stored credentials
|
|
59
61
|
1claw whoami # Show current user info
|
|
60
62
|
|
|
@@ -70,6 +72,8 @@ export ONECLAW_API_KEY="1ck_..."
|
|
|
70
72
|
|
|
71
73
|
Password reset only applies to **email/password** accounts (not Google/SSO-only). After reset, open the link in the email (dashboard) or pass `--token` to `reset-password`.
|
|
72
74
|
|
|
75
|
+
`set-password` is for Platform API users provisioned via OIDC who don't have a password yet. `change-email` sends a 6-digit verification code to the new address and prompts you to enter it inline.
|
|
76
|
+
|
|
73
77
|
`auth federated-token` uses your current 1claw credential as the **subject_token** and asks 1claw (an OIDC issuer at `https://api.1claw.xyz`) for a short-lived **RS256** JWT scoped to the `audience`. The acting agent must have `federation_enabled = true` and the audience must be on its `federation_audiences` allowlist (set in the dashboard or via `agents.update`). Pair with `--raw` for shell pipelines, e.g. Anthropic Workload Identity Federation:
|
|
74
78
|
|
|
75
79
|
```bash
|
|
@@ -340,6 +344,18 @@ Manage platform apps for developers building multi-tenant applications on top of
|
|
|
340
344
|
1claw platform bootstrap <connection-id> # Bootstrap resources for a connected user
|
|
341
345
|
```
|
|
342
346
|
|
|
347
|
+
### Approvals
|
|
348
|
+
|
|
349
|
+
Human-in-the-loop approval workflow for agent actions.
|
|
350
|
+
|
|
351
|
+
```bash
|
|
352
|
+
1claw approval list # List pending approval requests
|
|
353
|
+
1claw approval list --status approved # Filter by status
|
|
354
|
+
1claw approval get <id> # Get approval request details
|
|
355
|
+
1claw approval approve <id> # Approve a pending request
|
|
356
|
+
1claw approval deny <id> --reason "Not needed" # Deny with a reason
|
|
357
|
+
```
|
|
358
|
+
|
|
343
359
|
### Configuration
|
|
344
360
|
|
|
345
361
|
```bash
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../../src/commands/account.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,eAAO,MAAM,kBAAkB,SAwCzB,CAAC;AAEP,eAAO,MAAM,kBAAkB,SA2DzB,CAAC"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { Command } from "commander";
|
|
2
|
+
import inquirer from "inquirer";
|
|
3
|
+
import { api } from "../client.js";
|
|
4
|
+
import { printSuccess, printError, printInfo } from "../output.js";
|
|
5
|
+
import { handleError } from "../middleware.js";
|
|
6
|
+
export const setPasswordCommand = new Command("set-password")
|
|
7
|
+
.description("Set a password (for Platform API users who don't have one yet).")
|
|
8
|
+
.option("--password <password>", "Password (avoid: visible in shell history)")
|
|
9
|
+
.action(async (opts) => {
|
|
10
|
+
try {
|
|
11
|
+
let password = opts.password;
|
|
12
|
+
if (!password) {
|
|
13
|
+
const answers = await inquirer.prompt([
|
|
14
|
+
{
|
|
15
|
+
type: "password",
|
|
16
|
+
name: "password",
|
|
17
|
+
message: "New password (min 12 chars):",
|
|
18
|
+
mask: "*",
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
type: "password",
|
|
22
|
+
name: "confirm",
|
|
23
|
+
message: "Confirm password:",
|
|
24
|
+
mask: "*",
|
|
25
|
+
},
|
|
26
|
+
]);
|
|
27
|
+
if (answers.password !== answers.confirm) {
|
|
28
|
+
printError("Passwords do not match.");
|
|
29
|
+
process.exit(2);
|
|
30
|
+
}
|
|
31
|
+
password = answers.password;
|
|
32
|
+
}
|
|
33
|
+
const res = await api("/auth/set-password", {
|
|
34
|
+
method: "POST",
|
|
35
|
+
body: { password, password_confirm: password },
|
|
36
|
+
});
|
|
37
|
+
printSuccess(res.message);
|
|
38
|
+
}
|
|
39
|
+
catch (err) {
|
|
40
|
+
handleError(err);
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
export const changeEmailCommand = new Command("change-email")
|
|
44
|
+
.description("Change your account email address (requires verification).")
|
|
45
|
+
.option("--email <email>", "New email address")
|
|
46
|
+
.action(async (opts) => {
|
|
47
|
+
try {
|
|
48
|
+
let newEmail = opts.email?.trim();
|
|
49
|
+
if (!newEmail) {
|
|
50
|
+
const answers = await inquirer.prompt([
|
|
51
|
+
{ type: "input", name: "email", message: "New email:" },
|
|
52
|
+
]);
|
|
53
|
+
newEmail = String(answers.email ?? "").trim();
|
|
54
|
+
}
|
|
55
|
+
if (!newEmail) {
|
|
56
|
+
printError("Email is required.");
|
|
57
|
+
process.exit(2);
|
|
58
|
+
}
|
|
59
|
+
const res = await api("/auth/change-email", {
|
|
60
|
+
method: "POST",
|
|
61
|
+
body: { new_email: newEmail },
|
|
62
|
+
});
|
|
63
|
+
printSuccess(res.message);
|
|
64
|
+
printInfo(`Check ${res.new_email} for the 6-digit verification code (expires in ${Math.round(res.expires_in_seconds / 60)} min).`);
|
|
65
|
+
const codeAnswer = await inquirer.prompt([
|
|
66
|
+
{
|
|
67
|
+
type: "input",
|
|
68
|
+
name: "code",
|
|
69
|
+
message: "Verification code:",
|
|
70
|
+
},
|
|
71
|
+
]);
|
|
72
|
+
const code = String(codeAnswer.code ?? "").trim();
|
|
73
|
+
if (!code) {
|
|
74
|
+
printError("Code is required.");
|
|
75
|
+
process.exit(2);
|
|
76
|
+
}
|
|
77
|
+
const verify = await api("/auth/verify-email-change", {
|
|
78
|
+
method: "POST",
|
|
79
|
+
body: { code },
|
|
80
|
+
});
|
|
81
|
+
printSuccess(`${verify.message} New email: ${verify.email}`);
|
|
82
|
+
}
|
|
83
|
+
catch (err) {
|
|
84
|
+
handleError(err);
|
|
85
|
+
}
|
|
86
|
+
});
|
|
87
|
+
//# sourceMappingURL=account.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"account.js","sourceRoot":"","sources":["../../../src/commands/account.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA0CpC,wBAAgB,aAAa,IAAI,OAAO,CAiEvC"}
|
package/dist/src/index.js
CHANGED
|
@@ -4,6 +4,7 @@ import { fileURLToPath } from "node:url";
|
|
|
4
4
|
import { Command } from "commander";
|
|
5
5
|
import { loginCommand, logoutCommand, whoamiCommand, } from "./commands/login.js";
|
|
6
6
|
import { forgotPasswordCommand, resetPasswordCommand, } from "./commands/password-reset.js";
|
|
7
|
+
import { setPasswordCommand, changeEmailCommand, } from "./commands/account.js";
|
|
7
8
|
import { authCommand } from "./commands/auth.js";
|
|
8
9
|
import { vaultCommand } from "./commands/vault.js";
|
|
9
10
|
import { secretCommand } from "./commands/secret.js";
|
|
@@ -38,6 +39,8 @@ export function createProgram() {
|
|
|
38
39
|
program.addCommand(whoamiCommand);
|
|
39
40
|
program.addCommand(forgotPasswordCommand);
|
|
40
41
|
program.addCommand(resetPasswordCommand);
|
|
42
|
+
program.addCommand(setPasswordCommand);
|
|
43
|
+
program.addCommand(changeEmailCommand);
|
|
41
44
|
program.addCommand(authCommand);
|
|
42
45
|
// Core resources
|
|
43
46
|
program.addCommand(vaultCommand);
|
package/dist/src/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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"}
|