@rozek/nanoclaw 0.0.7 → 0.0.9
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/cli.js +45 -2
- package/dist/cli.js.map +1 -1
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* Parses arguments, validates them (fail-fast), then starts NanoClaw.
|
|
10
10
|
*/
|
|
11
11
|
import { execSync, spawnSync } from 'child_process';
|
|
12
|
-
import { existsSync } from 'fs';
|
|
12
|
+
import { existsSync, readFileSync, writeFileSync } from 'fs';
|
|
13
13
|
import { dirname, resolve } from 'path';
|
|
14
14
|
import { fileURLToPath } from 'url';
|
|
15
15
|
import { parseArgs } from 'util';
|
|
@@ -93,6 +93,41 @@ function buildContainerImage(sandboxType) {
|
|
|
93
93
|
console.warn(`Container build exited with code ${r.status}.`);
|
|
94
94
|
}
|
|
95
95
|
}
|
|
96
|
+
// ─── .env persistence ────────────────────────────────────────────────────────
|
|
97
|
+
/**
|
|
98
|
+
* Write (or update) ANTHROPIC_API_KEY in the workspace .env file so that
|
|
99
|
+
* the credential proxy can pick it up on this and future runs.
|
|
100
|
+
* Preserves all other lines already present in the file.
|
|
101
|
+
*/
|
|
102
|
+
function writeApiKeyToEnv(apiKey) {
|
|
103
|
+
const envFile = resolve(process.cwd(), '.env');
|
|
104
|
+
let lines = [];
|
|
105
|
+
if (existsSync(envFile)) {
|
|
106
|
+
try {
|
|
107
|
+
lines = readFileSync(envFile, 'utf-8').split('\n');
|
|
108
|
+
}
|
|
109
|
+
catch {
|
|
110
|
+
/* ignore read errors — file will be overwritten */
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
const keyLine = `ANTHROPIC_API_KEY=${apiKey}`;
|
|
114
|
+
const idx = lines.findIndex((l) => l.trimStart().startsWith('ANTHROPIC_API_KEY='));
|
|
115
|
+
if (idx >= 0) {
|
|
116
|
+
if (lines[idx] === keyLine)
|
|
117
|
+
return; // already up to date
|
|
118
|
+
lines[idx] = keyLine;
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
lines.push(keyLine);
|
|
122
|
+
}
|
|
123
|
+
try {
|
|
124
|
+
writeFileSync(envFile, lines.join('\n'), 'utf-8');
|
|
125
|
+
console.log('.env updated with ANTHROPIC_API_KEY.');
|
|
126
|
+
}
|
|
127
|
+
catch (err) {
|
|
128
|
+
console.warn(`Could not write .env file: ${err}`);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
96
131
|
// ─── First-time setup ────────────────────────────────────────────────────────
|
|
97
132
|
function runFirstTimeSetup(sandboxType) {
|
|
98
133
|
// setup/ scripts are run via tsx (they use .ts imports and are not compiled by tsc)
|
|
@@ -164,7 +199,9 @@ async function cli() {
|
|
|
164
199
|
// Each setting resolves in priority order: CLI flag > NANOCLAW_* env var > default
|
|
165
200
|
const host = values.host ?? process.env.NANOCLAW_HOST;
|
|
166
201
|
const portStr = values.port ?? process.env.NANOCLAW_PORT;
|
|
167
|
-
const key = values.key ??
|
|
202
|
+
const key = values.key ??
|
|
203
|
+
process.env.NANOCLAW_KEY ??
|
|
204
|
+
process.env.ANTHROPIC_API_KEY;
|
|
168
205
|
const token = values.token ?? process.env.NANOCLAW_TOKEN;
|
|
169
206
|
const workspace = values.workspace ?? process.env.NANOCLAW_WORKSPACE;
|
|
170
207
|
const sandboxRaw = values.sandbox ?? process.env.NANOCLAW_SANDBOX;
|
|
@@ -230,6 +267,12 @@ async function cli() {
|
|
|
230
267
|
if (!containerImageExists(sandboxType)) {
|
|
231
268
|
buildContainerImage(sandboxType);
|
|
232
269
|
}
|
|
270
|
+
// --- Persist API key to .env so credential-proxy can read it ---------------
|
|
271
|
+
// credential-proxy reads only from the .env file (not process.env) to keep
|
|
272
|
+
// secrets out of child-process environments. Writing it here means the user
|
|
273
|
+
// only has to supply --key (or NANOCLAW_KEY) once; subsequent runs reuse it.
|
|
274
|
+
if (key)
|
|
275
|
+
writeApiKeyToEnv(key);
|
|
233
276
|
// --- Apply settings to process.env so downstream modules pick them up ------
|
|
234
277
|
// web.ts reads NANOCLAW_HOST / NANOCLAW_PORT / NANOCLAW_TOKEN;
|
|
235
278
|
// credential-proxy reads ANTHROPIC_API_KEY.
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;;;;;GAQG;AAEH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|