@atbash/cli 0.3.9-dev.12 → 0.3.9-dev.15
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/bin/atbash.js +0 -0
- package/dist/commands/held.js +4 -8
- package/dist/commands/held.js.map +1 -1
- package/dist/commands/judge.js +23 -45
- package/dist/commands/judge.js.map +1 -1
- package/dist/commands/tier.js +14 -19
- package/dist/commands/tier.js.map +1 -1
- package/package.json +3 -3
- package/dist/client.d.ts +0 -118
- package/dist/client.js +0 -217
- package/dist/client.js.map +0 -1
- package/dist/commands/completion.d.ts +0 -7
- package/dist/commands/completion.js +0 -207
- package/dist/commands/completion.js.map +0 -1
- package/dist/commands/jail.d.ts +0 -6
- package/dist/commands/jail.js +0 -44
- package/dist/commands/jail.js.map +0 -1
- package/dist/commands/org.d.ts +0 -2
- package/dist/commands/org.js +0 -72
- package/dist/commands/org.js.map +0 -1
- package/dist/config.d.ts +0 -25
- package/dist/config.js +0 -94
- package/dist/config.js.map +0 -1
- package/dist/presets.d.ts +0 -14
- package/dist/presets.js +0 -73
- package/dist/presets.js.map +0 -1
package/dist/client.js
DELETED
|
@@ -1,217 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DEFAULT_BLOCKCHAIN_RID = exports.DEFAULT_CHROMIA_NODE_URLS = exports.DEFAULT_ENDPOINT = void 0;
|
|
4
|
-
exports.isValidPrivateKey = isValidPrivateKey;
|
|
5
|
-
exports.derivePublicKey = derivePublicKey;
|
|
6
|
-
exports.generateKeyPair = generateKeyPair;
|
|
7
|
-
exports.toPubkeyHex = toPubkeyHex;
|
|
8
|
-
exports.logToolCall = logToolCall;
|
|
9
|
-
exports.judgeAction = judgeAction;
|
|
10
|
-
exports.getJudgmentStatus = getJudgmentStatus;
|
|
11
|
-
exports.getToolCalls = getToolCalls;
|
|
12
|
-
exports.getOrgToolCalls = getOrgToolCalls;
|
|
13
|
-
exports.getAgentToolCalls = getAgentToolCalls;
|
|
14
|
-
exports.getToolCallCount = getToolCallCount;
|
|
15
|
-
exports.getToolCallFull = getToolCallFull;
|
|
16
|
-
exports.getOrgTierInfo = getOrgTierInfo;
|
|
17
|
-
exports.getPendingHeldActions = getPendingHeldActions;
|
|
18
|
-
exports.getHeldActionReviews = getHeldActionReviews;
|
|
19
|
-
exports.getAgentDetail = getAgentDetail;
|
|
20
|
-
exports.getAgentPolicy = getAgentPolicy;
|
|
21
|
-
exports.getSafetyStats = getSafetyStats;
|
|
22
|
-
const crypto_1 = require("crypto");
|
|
23
|
-
const postchain_client_1 = require("postchain-client");
|
|
24
|
-
exports.DEFAULT_ENDPOINT = "https://atbash.ai";
|
|
25
|
-
exports.DEFAULT_CHROMIA_NODE_URLS = [
|
|
26
|
-
"https://node6.testnet.chromia.com:7740",
|
|
27
|
-
"https://node7.testnet.chromia.com:7740",
|
|
28
|
-
"https://node8.testnet.chromia.com:7740",
|
|
29
|
-
];
|
|
30
|
-
exports.DEFAULT_BLOCKCHAIN_RID = "25B41DF620C489349C54944496FF5C6E58CFCEFED0C51658780B67299D40E8ED";
|
|
31
|
-
function isValidPrivateKey(hex) {
|
|
32
|
-
return /^[0-9a-fA-F]{64}$/.test(hex);
|
|
33
|
-
}
|
|
34
|
-
function derivePublicKey(privKeyHex) {
|
|
35
|
-
const ecdh = (0, crypto_1.createECDH)("secp256k1");
|
|
36
|
-
ecdh.setPrivateKey(Buffer.from(privKeyHex, "hex"));
|
|
37
|
-
return ecdh.getPublicKey("hex", "compressed");
|
|
38
|
-
}
|
|
39
|
-
function generateKeyPair() {
|
|
40
|
-
const ecdh = (0, crypto_1.createECDH)("secp256k1");
|
|
41
|
-
ecdh.generateKeys();
|
|
42
|
-
return {
|
|
43
|
-
privKey: ecdh.getPrivateKey("hex"),
|
|
44
|
-
pubKey: ecdh.getPublicKey("hex", "compressed"),
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
|
-
function toPubkeyHex(val) {
|
|
48
|
-
if (!val)
|
|
49
|
-
return "";
|
|
50
|
-
if (typeof val === "string")
|
|
51
|
-
return val;
|
|
52
|
-
if (Buffer.isBuffer(val))
|
|
53
|
-
return val.toString("hex");
|
|
54
|
-
if (typeof val === "object" && val !== null && "data" in val) {
|
|
55
|
-
return Buffer.from(val.data).toString("hex");
|
|
56
|
-
}
|
|
57
|
-
return "";
|
|
58
|
-
}
|
|
59
|
-
function baseUrl(opts) {
|
|
60
|
-
return opts?.endpoint || exports.DEFAULT_ENDPOINT;
|
|
61
|
-
}
|
|
62
|
-
function generateToolCallId() {
|
|
63
|
-
const ts = Date.now();
|
|
64
|
-
const rand = (0, crypto_1.randomBytes)(4).toString("hex");
|
|
65
|
-
return `tc-${ts}-${rand}`;
|
|
66
|
-
}
|
|
67
|
-
async function logToolCall(action, context, auth, extra, blockchainRid) {
|
|
68
|
-
const rid = blockchainRid || exports.DEFAULT_BLOCKCHAIN_RID;
|
|
69
|
-
const client = await (0, postchain_client_1.createClient)({
|
|
70
|
-
nodeUrlPool: exports.DEFAULT_CHROMIA_NODE_URLS,
|
|
71
|
-
blockchainRid: rid,
|
|
72
|
-
});
|
|
73
|
-
const privKeyBuf = Buffer.from(auth.privkey, "hex");
|
|
74
|
-
const keyPair = postchain_client_1.encryption.makeKeyPair(privKeyBuf);
|
|
75
|
-
const sigProvider = (0, postchain_client_1.newSignatureProvider)({
|
|
76
|
-
privKey: keyPair.privKey,
|
|
77
|
-
pubKey: keyPair.pubKey,
|
|
78
|
-
});
|
|
79
|
-
const toolCallId = generateToolCallId();
|
|
80
|
-
await client.signAndSendUniqueTransaction({
|
|
81
|
-
name: "log_tool_call",
|
|
82
|
-
args: [
|
|
83
|
-
toolCallId,
|
|
84
|
-
action,
|
|
85
|
-
context || "",
|
|
86
|
-
extra?.toolName || "",
|
|
87
|
-
extra?.toolArgsJson || "",
|
|
88
|
-
],
|
|
89
|
-
}, sigProvider);
|
|
90
|
-
return toolCallId;
|
|
91
|
-
}
|
|
92
|
-
async function postJson(url, body, opts) {
|
|
93
|
-
const resp = await fetch(url, {
|
|
94
|
-
method: "POST",
|
|
95
|
-
headers: { "Content-Type": "application/json" },
|
|
96
|
-
body: JSON.stringify(body),
|
|
97
|
-
signal: opts?.timeout ? AbortSignal.timeout(opts.timeout) : undefined,
|
|
98
|
-
});
|
|
99
|
-
if (!resp.ok) {
|
|
100
|
-
const text = await resp.text().catch(() => "");
|
|
101
|
-
throw new Error(`API error ${resp.status}: ${text || resp.statusText}`);
|
|
102
|
-
}
|
|
103
|
-
const ct = resp.headers.get("content-type") || "";
|
|
104
|
-
return ct.includes("application/json")
|
|
105
|
-
? resp.json()
|
|
106
|
-
: {};
|
|
107
|
-
}
|
|
108
|
-
async function getJson(url, opts) {
|
|
109
|
-
const resp = await fetch(url, {
|
|
110
|
-
method: "GET",
|
|
111
|
-
signal: opts?.timeout ? AbortSignal.timeout(opts.timeout) : undefined,
|
|
112
|
-
});
|
|
113
|
-
if (!resp.ok) {
|
|
114
|
-
const text = await resp.text().catch(() => "");
|
|
115
|
-
throw new Error(`API error ${resp.status}: ${text || resp.statusText}`);
|
|
116
|
-
}
|
|
117
|
-
return resp.json();
|
|
118
|
-
}
|
|
119
|
-
async function judgeAction(action, context, auth, opts) {
|
|
120
|
-
// Step 1: Sign and broadcast log_tool_call to the Chromia chain.
|
|
121
|
-
// The private key is used locally for signing — never sent over HTTP.
|
|
122
|
-
const toolCallId = await logToolCall(action, context, auth, {
|
|
123
|
-
toolName: opts?.toolName,
|
|
124
|
-
toolArgsJson: opts?.toolArgsJson,
|
|
125
|
-
}, opts?.blockchainRid);
|
|
126
|
-
// Step 2: Request verdict from the judge API using only the tool_call_id.
|
|
127
|
-
const url = `${baseUrl(opts)}/api/v1/judge`;
|
|
128
|
-
const data = await postJson(url, {
|
|
129
|
-
tool_call_id: toolCallId,
|
|
130
|
-
agent_pubkey: auth.pubkey,
|
|
131
|
-
action,
|
|
132
|
-
context: context || "",
|
|
133
|
-
provider: opts?.provider || "",
|
|
134
|
-
tool_name: opts?.toolName || "",
|
|
135
|
-
api_key: opts?.apiKey || "",
|
|
136
|
-
endpoint_url: opts?.providerEndpoint || "",
|
|
137
|
-
model: opts?.model || "",
|
|
138
|
-
}, opts);
|
|
139
|
-
return {
|
|
140
|
-
verdict: String(data.verdict || "").toUpperCase(),
|
|
141
|
-
action_type: String(data.action_type || ""),
|
|
142
|
-
reason: String(data.reason || ""),
|
|
143
|
-
confidence: Number(data.confidence ?? 0),
|
|
144
|
-
provider: String(data.provider || ""),
|
|
145
|
-
latency_ms: Number(data.latency_ms ?? 0),
|
|
146
|
-
tool_call_id: String(data.tool_call_id || toolCallId),
|
|
147
|
-
on_chain: Boolean(data.on_chain),
|
|
148
|
-
};
|
|
149
|
-
}
|
|
150
|
-
async function getJudgmentStatus(judgmentId, opts) {
|
|
151
|
-
const url = `${baseUrl(opts)}/api/v1/judge?tool_call_id=${encodeURIComponent(judgmentId)}`;
|
|
152
|
-
const data = await getJson(url, opts);
|
|
153
|
-
return {
|
|
154
|
-
status: data.status || "error",
|
|
155
|
-
verdict: String(data.verdict || ""),
|
|
156
|
-
reason: String(data.reason || ""),
|
|
157
|
-
judgmentId: String(data.judgmentId || judgmentId),
|
|
158
|
-
onChain: Boolean(data.onChain),
|
|
159
|
-
cached: Boolean(data.cached),
|
|
160
|
-
responseTimeMs: Number(data.responseTimeMs ?? 0),
|
|
161
|
-
};
|
|
162
|
-
}
|
|
163
|
-
function riskEngineUrl(action, params, opts) {
|
|
164
|
-
const url = new URL(`${baseUrl(opts)}/api/risk-engine`);
|
|
165
|
-
url.searchParams.set("action", action);
|
|
166
|
-
for (const [k, v] of Object.entries(params)) {
|
|
167
|
-
if (v)
|
|
168
|
-
url.searchParams.set(k, v);
|
|
169
|
-
}
|
|
170
|
-
return url.toString();
|
|
171
|
-
}
|
|
172
|
-
async function getToolCalls(maxCount, opts) {
|
|
173
|
-
return getJson(riskEngineUrl("tool-calls", { limit: String(maxCount) }, opts), opts);
|
|
174
|
-
}
|
|
175
|
-
async function getOrgToolCalls(orgName, maxCount, opts) {
|
|
176
|
-
return getJson(riskEngineUrl("org-tool-calls", { org: orgName, limit: String(maxCount) }, opts), opts);
|
|
177
|
-
}
|
|
178
|
-
async function getAgentToolCalls(agentPubkey, maxCount, opts) {
|
|
179
|
-
return getJson(riskEngineUrl("agent-tool-calls", { agent: agentPubkey, limit: String(maxCount) }, opts), opts);
|
|
180
|
-
}
|
|
181
|
-
async function getToolCallCount(opts) {
|
|
182
|
-
const result = await getJson(riskEngineUrl("tool-call-count", {}, opts), opts);
|
|
183
|
-
return typeof result === "number" ? result : Number(result ?? 0);
|
|
184
|
-
}
|
|
185
|
-
async function getToolCallFull(toolCallId, opts) {
|
|
186
|
-
return getJson(riskEngineUrl("tool-call-full", { tool_call_id: toolCallId }, opts), opts);
|
|
187
|
-
}
|
|
188
|
-
async function getOrgTierInfo(orgName, opts) {
|
|
189
|
-
return getJson(riskEngineUrl("org-tier-info", { org: orgName }, opts), opts);
|
|
190
|
-
}
|
|
191
|
-
async function getPendingHeldActions(orgName, maxCount, opts) {
|
|
192
|
-
return getJson(riskEngineUrl("pending-held-actions", { org: orgName, limit: String(maxCount) }, opts), opts);
|
|
193
|
-
}
|
|
194
|
-
async function getHeldActionReviews(orgName, maxCount, opts) {
|
|
195
|
-
return getJson(riskEngineUrl("held-action-reviews", { org: orgName, limit: String(maxCount) }, opts), opts);
|
|
196
|
-
}
|
|
197
|
-
function riskEnginePostUrl(opts) {
|
|
198
|
-
return `${baseUrl(opts)}/api/risk-engine`;
|
|
199
|
-
}
|
|
200
|
-
async function getAgentDetail(agentPubkey, opts) {
|
|
201
|
-
return postJson(riskEnginePostUrl(opts), {
|
|
202
|
-
action: "agent-detail-batch",
|
|
203
|
-
agent: agentPubkey,
|
|
204
|
-
}, opts);
|
|
205
|
-
}
|
|
206
|
-
async function getAgentPolicy(agentPubkey, opts) {
|
|
207
|
-
return postJson(riskEnginePostUrl(opts), {
|
|
208
|
-
action: "agent-policy-batch",
|
|
209
|
-
agent: agentPubkey,
|
|
210
|
-
}, opts);
|
|
211
|
-
}
|
|
212
|
-
async function getSafetyStats(opts) {
|
|
213
|
-
const url = `${baseUrl(opts)}/api/insurance?action=safety-stats`;
|
|
214
|
-
const result = await getJson(url, opts);
|
|
215
|
-
return (result?.data || result);
|
|
216
|
-
}
|
|
217
|
-
//# sourceMappingURL=client.js.map
|
package/dist/client.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { Command } from "commander";
|
|
2
|
-
/**
|
|
3
|
-
* Auto-install completion into ~/.zshrc on first run.
|
|
4
|
-
* Safe to call multiple times — skips if already installed.
|
|
5
|
-
*/
|
|
6
|
-
export declare function installCompletionIfNeeded(): void;
|
|
7
|
-
export declare function registerCompletionCommand(program: Command): void;
|
|
@@ -1,207 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
-
};
|
|
38
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.installCompletionIfNeeded = installCompletionIfNeeded;
|
|
40
|
-
exports.registerCompletionCommand = registerCompletionCommand;
|
|
41
|
-
const fs = __importStar(require("fs"));
|
|
42
|
-
const path = __importStar(require("path"));
|
|
43
|
-
const os = __importStar(require("os"));
|
|
44
|
-
const chalk_1 = __importDefault(require("chalk"));
|
|
45
|
-
const ZSH_COMPLETION = `#compdef atbash
|
|
46
|
-
|
|
47
|
-
_atbash() {
|
|
48
|
-
local -a commands
|
|
49
|
-
commands=(
|
|
50
|
-
'judge:Submit a pending action for judgment'
|
|
51
|
-
'whoami:Show your agent on-chain info'
|
|
52
|
-
'policy:View your agent safety policy'
|
|
53
|
-
'tier:Show tier info for your org'
|
|
54
|
-
'tools:Query tool call logs'
|
|
55
|
-
'held:View held actions'
|
|
56
|
-
'history:Show recent tool call activity'
|
|
57
|
-
'stats:Show chain-wide verdict statistics'
|
|
58
|
-
'status:Check the status of a judgment by ID'
|
|
59
|
-
'keygen:Generate a new agent keypair'
|
|
60
|
-
'set:Save a configuration value'
|
|
61
|
-
'unset:Remove a single configuration value'
|
|
62
|
-
'wipe:Clear all saved configuration'
|
|
63
|
-
'config:Show current configuration'
|
|
64
|
-
'completion:Output shell completion script'
|
|
65
|
-
)
|
|
66
|
-
|
|
67
|
-
local -a judge_opts
|
|
68
|
-
judge_opts=(
|
|
69
|
-
'(-c --context)'{-c,--context}'[Operational context]:context:'
|
|
70
|
-
'(-k --agent-key)'{-k,--agent-key}'[Agent private key]:key:'
|
|
71
|
-
'--provider[Inference provider]:provider:(openai google microsoft custom)'
|
|
72
|
-
'--model[Model override]:model:'
|
|
73
|
-
'--org[Org name]:org:'
|
|
74
|
-
'--endpoint[Judge API base URL]:url:'
|
|
75
|
-
'--timeout[Max wait for verdict (ms)]:ms:'
|
|
76
|
-
'--json[Output result as JSON]'
|
|
77
|
-
)
|
|
78
|
-
|
|
79
|
-
local -a set_args
|
|
80
|
-
set_args=(
|
|
81
|
-
'agent-key'
|
|
82
|
-
'org-name'
|
|
83
|
-
'endpoint'
|
|
84
|
-
'rid'
|
|
85
|
-
'provider'
|
|
86
|
-
'model'
|
|
87
|
-
)
|
|
88
|
-
|
|
89
|
-
local -a unset_args
|
|
90
|
-
unset_args=(
|
|
91
|
-
'agent-key'
|
|
92
|
-
'org-name'
|
|
93
|
-
'endpoint'
|
|
94
|
-
'rid'
|
|
95
|
-
'provider'
|
|
96
|
-
'model'
|
|
97
|
-
)
|
|
98
|
-
|
|
99
|
-
_arguments -C \\
|
|
100
|
-
'(-v --version)'{-v,--version}'[Show version]' \\
|
|
101
|
-
'(-h --help)'{-h,--help}'[Show help]' \\
|
|
102
|
-
'1:command:->cmd' \\
|
|
103
|
-
'*::arg:->args'
|
|
104
|
-
|
|
105
|
-
case $state in
|
|
106
|
-
cmd)
|
|
107
|
-
_describe 'command' commands
|
|
108
|
-
;;
|
|
109
|
-
args)
|
|
110
|
-
case $words[1] in
|
|
111
|
-
judge)
|
|
112
|
-
_arguments $judge_opts '1:action:'
|
|
113
|
-
;;
|
|
114
|
-
set)
|
|
115
|
-
_arguments '1:key:(agent-key org-name endpoint rid provider model)' '2:value:'
|
|
116
|
-
;;
|
|
117
|
-
unset)
|
|
118
|
-
_arguments '1:key:(agent-key org-name endpoint rid provider model)'
|
|
119
|
-
;;
|
|
120
|
-
tier|held|tools|history)
|
|
121
|
-
_arguments '--org[Org name]:org:'
|
|
122
|
-
;;
|
|
123
|
-
status)
|
|
124
|
-
_arguments '1:judgment-id:' '(-k --agent-key)'{-k,--agent-key}'[Agent key]:key:'
|
|
125
|
-
;;
|
|
126
|
-
esac
|
|
127
|
-
;;
|
|
128
|
-
esac
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
_atbash
|
|
132
|
-
`;
|
|
133
|
-
const BASH_COMPLETION = `_atbash() {
|
|
134
|
-
local cur prev commands
|
|
135
|
-
COMPREPLY=()
|
|
136
|
-
cur="\${COMP_WORDS[COMP_CWORD]}"
|
|
137
|
-
prev="\${COMP_WORDS[COMP_CWORD-1]}"
|
|
138
|
-
commands="judge whoami policy tier tools held history stats status keygen set unset wipe config completion"
|
|
139
|
-
|
|
140
|
-
case "\${prev}" in
|
|
141
|
-
atbash)
|
|
142
|
-
COMPREPLY=( $(compgen -W "\${commands}" -- "\${cur}") )
|
|
143
|
-
return 0
|
|
144
|
-
;;
|
|
145
|
-
set|unset)
|
|
146
|
-
COMPREPLY=( $(compgen -W "agent-key org-name endpoint rid provider model" -- "\${cur}") )
|
|
147
|
-
return 0
|
|
148
|
-
;;
|
|
149
|
-
--provider)
|
|
150
|
-
COMPREPLY=( $(compgen -W "openai google microsoft custom" -- "\${cur}") )
|
|
151
|
-
return 0
|
|
152
|
-
;;
|
|
153
|
-
esac
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
complete -F _atbash atbash
|
|
157
|
-
`;
|
|
158
|
-
const COMPLETION_DIR = path.join(os.homedir(), ".config", "atbash");
|
|
159
|
-
const COMPLETION_FILE = path.join(COMPLETION_DIR, "completion.zsh");
|
|
160
|
-
const MARKER = '# atbash shell completion';
|
|
161
|
-
/**
|
|
162
|
-
* Auto-install completion into ~/.zshrc on first run.
|
|
163
|
-
* Safe to call multiple times — skips if already installed.
|
|
164
|
-
*/
|
|
165
|
-
function installCompletionIfNeeded() {
|
|
166
|
-
try {
|
|
167
|
-
const shell = process.env.SHELL || "";
|
|
168
|
-
if (!shell.includes("zsh"))
|
|
169
|
-
return; // only zsh for now
|
|
170
|
-
const zshrc = path.join(os.homedir(), ".zshrc");
|
|
171
|
-
// Check if already installed
|
|
172
|
-
if (fs.existsSync(zshrc)) {
|
|
173
|
-
const content = fs.readFileSync(zshrc, "utf-8");
|
|
174
|
-
if (content.includes(MARKER))
|
|
175
|
-
return; // already there
|
|
176
|
-
}
|
|
177
|
-
// Write completion script to ~/.config/atbash/completion.zsh
|
|
178
|
-
fs.mkdirSync(COMPLETION_DIR, { recursive: true });
|
|
179
|
-
fs.writeFileSync(COMPLETION_FILE, ZSH_COMPLETION);
|
|
180
|
-
// Append source line to .zshrc
|
|
181
|
-
const line = `\n${MARKER}\nsource "${COMPLETION_FILE}"\n`;
|
|
182
|
-
fs.appendFileSync(zshrc, line);
|
|
183
|
-
console.log(chalk_1.default.dim(" Tab completion installed. Restart your terminal or run: source ~/.zshrc"));
|
|
184
|
-
}
|
|
185
|
-
catch {
|
|
186
|
-
// Never crash on completion install failure
|
|
187
|
-
}
|
|
188
|
-
}
|
|
189
|
-
function registerCompletionCommand(program) {
|
|
190
|
-
program
|
|
191
|
-
.command("completion")
|
|
192
|
-
.description("Output shell completion script")
|
|
193
|
-
.option("--shell <shell>", "Shell type: zsh or bash", "zsh")
|
|
194
|
-
.action((opts) => {
|
|
195
|
-
const shell = opts.shell.toLowerCase();
|
|
196
|
-
if (shell === "bash") {
|
|
197
|
-
console.log(BASH_COMPLETION);
|
|
198
|
-
}
|
|
199
|
-
else {
|
|
200
|
-
console.log(ZSH_COMPLETION);
|
|
201
|
-
}
|
|
202
|
-
console.error(shell === "zsh"
|
|
203
|
-
? '# Add to ~/.zshrc:\n# eval "$(atbash completion)"'
|
|
204
|
-
: '# Add to ~/.bashrc:\n# eval "$(atbash completion --shell bash)"');
|
|
205
|
-
});
|
|
206
|
-
}
|
|
207
|
-
//# sourceMappingURL=completion.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"completion.js","sourceRoot":"","sources":["../../src/commands/completion.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiIA,8DA2BC;AAED,8DAkBC;AA/KD,uCAAyB;AACzB,2CAA6B;AAC7B,uCAAyB;AACzB,kDAA0B;AAE1B,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuFtB,CAAC;AAEF,MAAM,eAAe,GAAG;;;;;;;;;;;;;;;;;;;;;;;;CAwBvB,CAAC;AAEF,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;AACpE,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;AACpE,MAAM,MAAM,GAAG,2BAA2B,CAAC;AAE3C;;;GAGG;AACH,SAAgB,yBAAyB;IACvC,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;QACtC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAO,CAAC,mBAAmB;QAEvD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;QAEhD,6BAA6B;QAC7B,IAAI,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAChD,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAAE,OAAO,CAAC,gBAAgB;QACxD,CAAC;QAED,6DAA6D;QAC7D,EAAE,CAAC,SAAS,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAClD,EAAE,CAAC,aAAa,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;QAElD,+BAA+B;QAC/B,MAAM,IAAI,GAAG,KAAK,MAAM,aAAa,eAAe,KAAK,CAAC;QAC1D,EAAE,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAE/B,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,GAAG,CAAC,2EAA2E,CAAC,CACvF,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,4CAA4C;IAC9C,CAAC;AACH,CAAC;AAED,SAAgB,yBAAyB,CAAC,OAAgB;IACxD,OAAO;SACJ,OAAO,CAAC,YAAY,CAAC;SACrB,WAAW,CAAC,gCAAgC,CAAC;SAC7C,MAAM,CAAC,iBAAiB,EAAE,yBAAyB,EAAE,KAAK,CAAC;SAC3D,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QACf,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;QACvC,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;YACrB,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAC/B,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAC9B,CAAC;QACD,OAAO,CAAC,KAAK,CACX,KAAK,KAAK,KAAK;YACb,CAAC,CAAC,qDAAqD;YACvD,CAAC,CAAC,mEAAmE,CACxE,CAAC;IACJ,CAAC,CAAC,CAAC;AACP,CAAC"}
|
package/dist/commands/jail.d.ts
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* `atbash unjail` — Unjail an agent via POST /api/risk-engine action=unjail-agent.
|
|
3
|
-
* Jail command removed — jailing happens automatically on RED verdict in Enforcement tier.
|
|
4
|
-
*/
|
|
5
|
-
import { Command } from "commander";
|
|
6
|
-
export declare function registerUnjailCommand(program: Command): void;
|
package/dist/commands/jail.js
DELETED
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* `atbash unjail` — Unjail an agent via POST /api/risk-engine action=unjail-agent.
|
|
4
|
-
* Jail command removed — jailing happens automatically on RED verdict in Enforcement tier.
|
|
5
|
-
*/
|
|
6
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
7
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
8
|
-
};
|
|
9
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
exports.registerUnjailCommand = registerUnjailCommand;
|
|
11
|
-
const chalk_1 = __importDefault(require("chalk"));
|
|
12
|
-
const ora_1 = __importDefault(require("ora"));
|
|
13
|
-
const client_1 = require("../client");
|
|
14
|
-
const config_1 = require("../config");
|
|
15
|
-
function registerUnjailCommand(program) {
|
|
16
|
-
program
|
|
17
|
-
.command("unjail")
|
|
18
|
-
.description("Unjail an agent")
|
|
19
|
-
.argument("<agent-pubkey>", "Agent public key to unjail (hex)")
|
|
20
|
-
.option("--endpoint <url>", "API endpoint URL")
|
|
21
|
-
.option("--json", "Output result as JSON")
|
|
22
|
-
.action(async (agentPubkey, opts) => {
|
|
23
|
-
const spinner = opts.json ? null : (0, ora_1.default)("Unjailing agent...").start();
|
|
24
|
-
try {
|
|
25
|
-
await (0, client_1.unjailAgent)(agentPubkey, {
|
|
26
|
-
endpoint: (0, config_1.resolveEndpoint)(opts.endpoint),
|
|
27
|
-
});
|
|
28
|
-
spinner?.succeed("Agent unjailed");
|
|
29
|
-
if (opts.json) {
|
|
30
|
-
console.log(JSON.stringify({ agentPubkey, action: "unjailed" }, null, 2));
|
|
31
|
-
return;
|
|
32
|
-
}
|
|
33
|
-
console.log();
|
|
34
|
-
console.log(` Agent: ${chalk_1.default.dim(agentPubkey.slice(0, 8) + "..." + agentPubkey.slice(-6))}`);
|
|
35
|
-
console.log(` Status: ${chalk_1.default.green.bold("ACTIVE")}`);
|
|
36
|
-
}
|
|
37
|
-
catch (err) {
|
|
38
|
-
spinner?.fail("Failed to unjail agent");
|
|
39
|
-
console.error(chalk_1.default.red(`\nError: ${err instanceof Error ? err.message : String(err)}`));
|
|
40
|
-
process.exit(1);
|
|
41
|
-
}
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
//# sourceMappingURL=jail.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"jail.js","sourceRoot":"","sources":["../../src/commands/jail.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;AAQH,sDA+BC;AApCD,kDAA0B;AAC1B,8CAAsB;AACtB,sCAAwC;AACxC,sCAA4C;AAE5C,SAAgB,qBAAqB,CAAC,OAAgB;IACpD,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,iBAAiB,CAAC;SAC9B,QAAQ,CAAC,gBAAgB,EAAE,kCAAkC,CAAC;SAC9D,MAAM,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;SAC9C,MAAM,CAAC,QAAQ,EAAE,uBAAuB,CAAC;SACzC,MAAM,CAAC,KAAK,EAAE,WAAmB,EAAE,IAAI,EAAE,EAAE;QAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAA,aAAG,EAAC,oBAAoB,CAAC,CAAC,KAAK,EAAE,CAAC;QAErE,IAAI,CAAC;YACH,MAAM,IAAA,oBAAW,EAAC,WAAW,EAAE;gBAC7B,QAAQ,EAAE,IAAA,wBAAe,EAAC,IAAI,CAAC,QAAQ,CAAC;aACzC,CAAC,CAAC;YAEH,OAAO,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;YAEnC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC1E,OAAO;YACT,CAAC;YAED,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,aAAa,eAAK,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC/F,OAAO,CAAC,GAAG,CAAC,aAAa,eAAK,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACzD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC;YACxC,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,YAAY,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YACzF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
|
package/dist/commands/org.d.ts
DELETED
package/dist/commands/org.js
DELETED
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.registerOrgCommand = registerOrgCommand;
|
|
7
|
-
const chalk_1 = __importDefault(require("chalk"));
|
|
8
|
-
const ora_1 = __importDefault(require("ora"));
|
|
9
|
-
const client_1 = require("../client");
|
|
10
|
-
const config_1 = require("../config");
|
|
11
|
-
function registerOrgCommand(program) {
|
|
12
|
-
const org = program
|
|
13
|
-
.command("org")
|
|
14
|
-
.description("Manage org membership");
|
|
15
|
-
org
|
|
16
|
-
.command("join")
|
|
17
|
-
.description("Add your agent to an org")
|
|
18
|
-
.option("--org <name>", "Org name to join")
|
|
19
|
-
.option("-k, --agent-key <key>", "Agent private key (to derive pubkey)")
|
|
20
|
-
.option("--agent-pubkey <pubkey>", "Agent public key directly (66 hex chars)")
|
|
21
|
-
.option("--endpoint <url>", "API endpoint URL")
|
|
22
|
-
.option("--json", "Output result as JSON")
|
|
23
|
-
.action(async (opts) => {
|
|
24
|
-
const orgName = opts.org || (0, config_1.resolveOrgName)();
|
|
25
|
-
if (!orgName) {
|
|
26
|
-
console.error(chalk_1.default.red("Error: Org name required.\n") +
|
|
27
|
-
"Provide via --org, ATBASH_ORG_NAME env var, or run " +
|
|
28
|
-
chalk_1.default.cyan("atbash set org-name <name>"));
|
|
29
|
-
process.exit(1);
|
|
30
|
-
}
|
|
31
|
-
let pubkey = opts.agentPubkey || "";
|
|
32
|
-
if (!pubkey) {
|
|
33
|
-
const agentKey = (0, config_1.resolveAgentKey)(opts.agentKey);
|
|
34
|
-
if (!agentKey) {
|
|
35
|
-
console.error(chalk_1.default.red("Error: Agent key or --agent-pubkey required.\n") +
|
|
36
|
-
"Provide via --agent-key, --agent-pubkey, or run " +
|
|
37
|
-
chalk_1.default.cyan("atbash set agent-key <key>"));
|
|
38
|
-
process.exit(1);
|
|
39
|
-
return;
|
|
40
|
-
}
|
|
41
|
-
const cleanKey = agentKey.replace(/^0x/, "").trim().toLowerCase();
|
|
42
|
-
if (!(0, client_1.isValidPrivateKey)(cleanKey)) {
|
|
43
|
-
console.error(chalk_1.default.red("Error: Invalid private key."));
|
|
44
|
-
process.exit(1);
|
|
45
|
-
}
|
|
46
|
-
pubkey = (0, client_1.derivePublicKey)(cleanKey);
|
|
47
|
-
}
|
|
48
|
-
const spinner = opts.json
|
|
49
|
-
? null
|
|
50
|
-
: (0, ora_1.default)(`Adding agent to ${orgName}...`).start();
|
|
51
|
-
try {
|
|
52
|
-
await (0, client_1.addAgentToOrg)(pubkey, orgName, {
|
|
53
|
-
endpoint: (0, config_1.resolveEndpoint)(opts.endpoint),
|
|
54
|
-
});
|
|
55
|
-
spinner?.succeed(`Agent added to ${orgName}`);
|
|
56
|
-
if (opts.json) {
|
|
57
|
-
console.log(JSON.stringify({ agentPubkey: pubkey, orgName, status: "added" }, null, 2));
|
|
58
|
-
return;
|
|
59
|
-
}
|
|
60
|
-
console.log();
|
|
61
|
-
console.log(` Agent: ${chalk_1.default.cyan(pubkey)}`);
|
|
62
|
-
console.log(` Org: ${chalk_1.default.white(orgName)}`);
|
|
63
|
-
}
|
|
64
|
-
catch (err) {
|
|
65
|
-
spinner?.fail("Failed to add agent to org");
|
|
66
|
-
const msg = err instanceof Error ? err.message : String(err);
|
|
67
|
-
console.error(chalk_1.default.red(`\nError: ${err}`));
|
|
68
|
-
process.exit(1);
|
|
69
|
-
}
|
|
70
|
-
});
|
|
71
|
-
}
|
|
72
|
-
//# sourceMappingURL=org.js.map
|
package/dist/commands/org.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"org.js","sourceRoot":"","sources":["../../src/commands/org.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
declare const CONFIG_FILE: string;
|
|
2
|
-
export interface AtbashConfig {
|
|
3
|
-
agentKey?: string;
|
|
4
|
-
adminKey?: string;
|
|
5
|
-
orgName?: string;
|
|
6
|
-
judgeEndpoint?: string;
|
|
7
|
-
blockchainRid?: string;
|
|
8
|
-
provider?: string;
|
|
9
|
-
providerApiKey?: string;
|
|
10
|
-
providerEndpoint?: string;
|
|
11
|
-
providerModel?: string;
|
|
12
|
-
debug?: boolean;
|
|
13
|
-
}
|
|
14
|
-
export declare function loadConfig(): AtbashConfig;
|
|
15
|
-
export declare function saveConfig(config: AtbashConfig): void;
|
|
16
|
-
/** Resolve a config value with priority: flag > env > file */
|
|
17
|
-
export declare function resolveAgentKey(flagValue?: string): string | undefined;
|
|
18
|
-
export declare function resolveOrgName(flagValue?: string): string | undefined;
|
|
19
|
-
export declare function resolveEndpoint(flagValue?: string): string | undefined;
|
|
20
|
-
export declare function resolveProvider(flagValue?: string): string;
|
|
21
|
-
export declare function resolveProviderApiKey(flagValue?: string): string;
|
|
22
|
-
export declare function resolveProviderEndpoint(flagValue?: string): string;
|
|
23
|
-
export declare function resolveProviderModel(flagValue?: string): string;
|
|
24
|
-
export declare function resolveBlockchainRid(flagValue?: string): string;
|
|
25
|
-
export { CONFIG_FILE };
|