@rozek/nanoclaw 0.0.6 → 0.0.8
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 +46 -3
- 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';
|
|
@@ -73,7 +73,9 @@ function containerImageExists(sandboxType) {
|
|
|
73
73
|
return checkBinary(`${sandboxType === 'apple' ? 'container' : 'docker'} image inspect nanoclaw-agent:latest`);
|
|
74
74
|
}
|
|
75
75
|
function buildContainerImage(sandboxType) {
|
|
76
|
-
|
|
76
|
+
// build.sh lives inside the npm package, not in the user's workspace
|
|
77
|
+
const pkgDir = resolve(dirname(fileURLToPath(import.meta.url)), '..');
|
|
78
|
+
const buildScript = resolve(pkgDir, 'container', 'build.sh');
|
|
77
79
|
if (!existsSync(buildScript)) {
|
|
78
80
|
console.warn('container/build.sh not found — skipping container build.');
|
|
79
81
|
return;
|
|
@@ -81,7 +83,7 @@ function buildContainerImage(sandboxType) {
|
|
|
81
83
|
console.log('Building container image nanoclaw-agent:latest (this may take a few minutes)…');
|
|
82
84
|
const r = spawnSync('bash', [buildScript], {
|
|
83
85
|
stdio: 'inherit',
|
|
84
|
-
cwd: resolve(
|
|
86
|
+
cwd: resolve(pkgDir, 'container'),
|
|
85
87
|
env: {
|
|
86
88
|
...process.env,
|
|
87
89
|
CONTAINER_RUNTIME: sandboxType === 'apple' ? 'container' : 'docker',
|
|
@@ -91,6 +93,41 @@ function buildContainerImage(sandboxType) {
|
|
|
91
93
|
console.warn(`Container build exited with code ${r.status}.`);
|
|
92
94
|
}
|
|
93
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
|
+
}
|
|
94
131
|
// ─── First-time setup ────────────────────────────────────────────────────────
|
|
95
132
|
function runFirstTimeSetup(sandboxType) {
|
|
96
133
|
// setup/ scripts are run via tsx (they use .ts imports and are not compiled by tsc)
|
|
@@ -228,6 +265,12 @@ async function cli() {
|
|
|
228
265
|
if (!containerImageExists(sandboxType)) {
|
|
229
266
|
buildContainerImage(sandboxType);
|
|
230
267
|
}
|
|
268
|
+
// --- Persist API key to .env so credential-proxy can read it ---------------
|
|
269
|
+
// credential-proxy reads only from the .env file (not process.env) to keep
|
|
270
|
+
// secrets out of child-process environments. Writing it here means the user
|
|
271
|
+
// only has to supply --key (or NANOCLAW_KEY) once; subsequent runs reuse it.
|
|
272
|
+
if (key)
|
|
273
|
+
writeApiKeyToEnv(key);
|
|
231
274
|
// --- Apply settings to process.env so downstream modules pick them up ------
|
|
232
275
|
// web.ts reads NANOCLAW_HOST / NANOCLAW_PORT / NANOCLAW_TOKEN;
|
|
233
276
|
// 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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"}
|