@atbash/cli 0.3.14 → 0.3.16
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 +5 -0
- package/dist/bin/atbash.js +40 -0
- package/dist/bin/atbash.js.map +1 -1
- package/dist/commands/keygen.js +1 -1
- package/dist/commands/keygen.js.map +1 -1
- package/package.json +5 -3
package/README.md
CHANGED
|
@@ -69,6 +69,9 @@ The CLI is the agent's interface; the dashboard is where policy is authored and
|
|
|
69
69
|
# 1. Install the CLI client
|
|
70
70
|
npm i -g @atbash/cli
|
|
71
71
|
|
|
72
|
+
# Optional: enable tab completion (one-time setup)
|
|
73
|
+
atbash --setup-completion
|
|
74
|
+
|
|
72
75
|
# 2. Generate an agent identity (keypair stored in ~/.config/atbash/config.json)
|
|
73
76
|
atbash keygen
|
|
74
77
|
|
|
@@ -325,6 +328,8 @@ atbash judge "aws iam attach-role-policy --role-name CI --policy-arn arn:aws:iam
|
|
|
325
328
|
| `--timeout <ms>` | Max wait for verdict (default 60000) |
|
|
326
329
|
| `--json` | Emit structured JSON (for CI / agent tool executors) |
|
|
327
330
|
|
|
331
|
+
> **Exit codes:** `0` = ALLOW/HOLD/LOGGED, `1` = error, `2` = BLOCK.
|
|
332
|
+
|
|
328
333
|
### `atbash held`
|
|
329
334
|
|
|
330
335
|
Pending holds awaiting operator review. This is the operator's inbox.
|
package/dist/bin/atbash.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
"use strict";
|
|
3
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
5
|
+
};
|
|
3
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
7
|
const commander_1 = require("commander");
|
|
8
|
+
const omelette_1 = __importDefault(require("omelette"));
|
|
5
9
|
const sdk_1 = require("@atbash/sdk");
|
|
6
10
|
const judge_1 = require("../commands/judge");
|
|
7
11
|
const status_1 = require("../commands/status");
|
|
@@ -14,6 +18,42 @@ const policy_1 = require("../commands/policy");
|
|
|
14
18
|
const tier_1 = require("../commands/tier");
|
|
15
19
|
const tools_1 = require("../commands/tools");
|
|
16
20
|
const held_1 = require("../commands/held");
|
|
21
|
+
// ── Autocomplete ────────────────────────────────────────────────
|
|
22
|
+
const commands = [
|
|
23
|
+
"judge", "whoami", "policy", "tier", "tools", "held",
|
|
24
|
+
"history", "stats", "status", "keygen", "set", "unset",
|
|
25
|
+
"wipe", "config", "help",
|
|
26
|
+
];
|
|
27
|
+
const subcommands = {
|
|
28
|
+
judge: ["--context", "--agent-key", "--provider", "--model", "--org", "--endpoint", "--timeout", "--json"],
|
|
29
|
+
policy: ["show"],
|
|
30
|
+
tools: ["--agent", "--org", "--count", "--json", "inspect", "count"],
|
|
31
|
+
held: ["--org", "--count", "--json", "reviews"],
|
|
32
|
+
set: ["agent-key", "org-name", "endpoint", "rid", "provider", "model"],
|
|
33
|
+
unset: ["agent-key", "org-name", "endpoint", "rid", "provider", "model"],
|
|
34
|
+
show: ["--agent-key", "--endpoint", "--json"],
|
|
35
|
+
inspect: ["--endpoint"],
|
|
36
|
+
reviews: ["--org", "--count", "--json"],
|
|
37
|
+
"--provider": ["openai", "google", "microsoft", "custom"],
|
|
38
|
+
};
|
|
39
|
+
const completion = (0, omelette_1.default)("atbash <command> <subcommand> <option>");
|
|
40
|
+
completion.on("command", () => completion.reply(commands));
|
|
41
|
+
completion.on("subcommand", ({ before }) => {
|
|
42
|
+
const opts = subcommands[before];
|
|
43
|
+
if (opts)
|
|
44
|
+
completion.reply(opts);
|
|
45
|
+
});
|
|
46
|
+
completion.on("option", ({ before }) => {
|
|
47
|
+
const opts = subcommands[before];
|
|
48
|
+
if (opts)
|
|
49
|
+
completion.reply(opts);
|
|
50
|
+
});
|
|
51
|
+
completion.init();
|
|
52
|
+
if (process.argv.includes("--setup-completion")) {
|
|
53
|
+
completion.setupShellInitFile();
|
|
54
|
+
console.log("Tab completion installed. Restart your terminal.");
|
|
55
|
+
process.exit(0);
|
|
56
|
+
}
|
|
17
57
|
// ── Telemetry (on by default, disable with ATBASH_TELEMETRY=false) ──
|
|
18
58
|
(0, sdk_1.setupTelemetry)({
|
|
19
59
|
enabled: process.env.ATBASH_TELEMETRY !== "false",
|
package/dist/bin/atbash.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"atbash.js","sourceRoot":"","sources":["../../src/bin/atbash.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"atbash.js","sourceRoot":"","sources":["../../src/bin/atbash.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/keygen.js
CHANGED
|
@@ -68,7 +68,7 @@ function registerKeygenCommand(program) {
|
|
|
68
68
|
"privkey=" + privKeyHex,
|
|
69
69
|
"pubkey=" + pubKeyHex,
|
|
70
70
|
].join("\n") + "\n";
|
|
71
|
-
fs.mkdirSync(path.dirname(opts.output), { recursive: true });
|
|
71
|
+
fs.mkdirSync(path.dirname(opts.output), { recursive: true, mode: 0o700 });
|
|
72
72
|
fs.writeFileSync(opts.output, content, { mode: 0o600 });
|
|
73
73
|
}
|
|
74
74
|
catch (err) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keygen.js","sourceRoot":"","sources":["../../src/commands/keygen.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,sDA8EC;AApFD,uCAAyB;AACzB,2CAA6B;AAE7B,kDAA0B;AAC1B,qCAA8E;AAE9E,SAAgB,qBAAqB,CAAC,OAAgB;IACpD,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,oDAAoD,CAAC;SACjE,MAAM,CAAC,WAAW,EAAE,8BAA8B,CAAC;SACnD,MAAM,CAAC,qBAAqB,EAAE,uBAAuB,CAAC;SACtD,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QACf,MAAM,OAAO,GAAG,IAAA,qBAAe,GAAE,CAAC;QAElC,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;QACnC,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;QAEjC,4BAA4B;QAC5B,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YACxB,MAAM,MAAM,GAAG,IAAA,oBAAc,GAAE,CAAC;YAChC,MAAM,CAAC,QAAQ,GAAG,UAAU,CAAC;YAC7B,IAAA,oBAAc,EAAC,MAAM,CAAC,CAAC;QACzB,CAAC;QAED,uEAAuE;QACvE,oDAAoD;QACpD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC;gBACH,MAAM,OAAO,GACX;oBACE,oCAAoC;oBACpC,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE;oBAC3B,UAAU,GAAG,UAAU;oBACvB,SAAS,GAAG,SAAS;iBACtB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;gBACtB,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"keygen.js","sourceRoot":"","sources":["../../src/commands/keygen.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atbash/cli",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.16",
|
|
4
4
|
"description": "Atbash CLI — control boundary before the last irreversible step in an agent workflow",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE",
|
|
6
6
|
"homepage": "https://atbash.ai",
|
|
@@ -16,12 +16,14 @@
|
|
|
16
16
|
"scripts": {
|
|
17
17
|
"build": "tsc",
|
|
18
18
|
"dev": "ts-node src/bin/atbash.ts",
|
|
19
|
-
"release": "npm version patch --no-git-tag-version && npm run build && npx npm@10 publish --access public"
|
|
19
|
+
"release": "npm version patch --no-git-tag-version && npm run build && npx npm@10 publish --access public",
|
|
20
|
+
"release:dev": "npm version prerelease --preid dev --no-git-tag-version && npm run build && npm publish --tag dev"
|
|
20
21
|
},
|
|
21
22
|
"dependencies": {
|
|
22
|
-
"@atbash/sdk": "^0.3.
|
|
23
|
+
"@atbash/sdk": "^0.3.19",
|
|
23
24
|
"chalk": "^4.1.2",
|
|
24
25
|
"commander": "^12.0.0",
|
|
26
|
+
"omelette": "^0.4.17",
|
|
25
27
|
"ora": "^5.4.1"
|
|
26
28
|
},
|
|
27
29
|
"devDependencies": {
|