@1claw/cli 0.36.6 → 0.37.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 +66 -1
- package/dist/src/commands/init.d.ts.map +1 -1
- package/dist/src/commands/init.js +4 -254
- package/dist/src/commands/init.js.map +1 -1
- package/dist/src/commands/spawn.d.ts +3 -0
- package/dist/src/commands/spawn.d.ts.map +1 -0
- package/dist/src/commands/spawn.js +404 -0
- package/dist/src/commands/spawn.js.map +1 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/lib/container-config.d.ts +3 -1
- package/dist/src/lib/container-config.d.ts.map +1 -1
- package/dist/src/lib/container-config.js +3 -2
- package/dist/src/lib/container-config.js.map +1 -1
- package/dist/src/lib/paths.d.ts +11 -0
- package/dist/src/lib/paths.d.ts.map +1 -1
- package/dist/src/lib/paths.js +27 -0
- package/dist/src/lib/paths.js.map +1 -1
- package/dist/src/lib/provisioning.d.ts +30 -0
- package/dist/src/lib/provisioning.d.ts.map +1 -0
- package/dist/src/lib/provisioning.js +256 -0
- package/dist/src/lib/provisioning.js.map +1 -0
- package/dist/src/templates/fetcher.d.ts +20 -0
- package/dist/src/templates/fetcher.d.ts.map +1 -0
- package/dist/src/templates/fetcher.js +170 -0
- package/dist/src/templates/fetcher.js.map +1 -0
- package/dist/src/templates/registry.d.ts +48 -0
- package/dist/src/templates/registry.d.ts.map +1 -0
- package/dist/src/templates/registry.js +168 -0
- package/dist/src/templates/registry.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,404 @@
|
|
|
1
|
+
import { Command } from "commander";
|
|
2
|
+
import chalk from "chalk";
|
|
3
|
+
import ora from "ora";
|
|
4
|
+
import { join } from "node:path";
|
|
5
|
+
import { api } from "../client.js";
|
|
6
|
+
import { printSuccess, printError, printWarning, printInfo, printSummaryBox, printTable, } from "../output.js";
|
|
7
|
+
import { dockerAvailable, dockerDaemonError, dockerRun, dockerContainerStatus, dockerBuild, dockerLogsFiltered, } from "../lib/docker-client.js";
|
|
8
|
+
import { generateContainerName, isValidContainerName, sanitizeName, loadContainerState, saveContainerState, findAvailablePort, MANAGED_LABEL, } from "../lib/container-config.js";
|
|
9
|
+
import { provisionCloudResources, ensureDaemonRunning, defaultModelForProvider, ensureAuth, waitForHealthy, } from "../lib/provisioning.js";
|
|
10
|
+
import { listTemplates, loadTemplate, getTemplateDir, } from "../templates/registry.js";
|
|
11
|
+
import { ensureTemplates } from "../templates/fetcher.js";
|
|
12
|
+
export const spawnCommand = new Command("spawn")
|
|
13
|
+
.description("Create and run a framework-specific AI agent from a template")
|
|
14
|
+
.argument("[template]", "Template name (e.g. langchain, crewai, openai-agents)")
|
|
15
|
+
.option("--list", "List all available templates and exit")
|
|
16
|
+
.option("--refresh", "Force-refresh the template registry from GitHub")
|
|
17
|
+
.option("--port <port>", "Chat UI port", "3000")
|
|
18
|
+
.option("--name <name>", "Container name (default: auto-generated)")
|
|
19
|
+
.option("--local", "Fully offline — no cloud provisioning")
|
|
20
|
+
.option("--agent-key <key>", "Use an existing agent key (skip provisioning)")
|
|
21
|
+
.option("--detach", "Run the container in the background")
|
|
22
|
+
.option("--llm-provider <provider>", "LLM provider via Shroud (openai, anthropic, google, ...)", "openai")
|
|
23
|
+
.option("--llm-model <model>", "LLM model via Shroud (e.g. gpt-4o-mini, claude-3-5-haiku-latest)")
|
|
24
|
+
.option("--llm-api-key <key>", "Provider API key (stored in vault, never passed to the container)")
|
|
25
|
+
.option("--llm-key-store <where>", "'cloud' (1Claw vault) or 'local' (CLI vault, daemon injects)", "cloud")
|
|
26
|
+
.option("--llm-api-key-secret <name>", "Use an existing LOCAL vault secret as the provider key")
|
|
27
|
+
.action(async (templateArg, opts) => {
|
|
28
|
+
try {
|
|
29
|
+
await spawnAction(templateArg, opts);
|
|
30
|
+
}
|
|
31
|
+
catch (err) {
|
|
32
|
+
printError(err instanceof Error ? err.message : String(err));
|
|
33
|
+
process.exit(1);
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
function printTemplateList(templates) {
|
|
37
|
+
console.log();
|
|
38
|
+
console.log(chalk.bold(" Available templates:"));
|
|
39
|
+
console.log();
|
|
40
|
+
if (templates.length === 0) {
|
|
41
|
+
printInfo("No templates found. Run `1claw spawn --refresh` or initialize the submodule.");
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
printTable(templates.map((t) => ({
|
|
45
|
+
name: t.name,
|
|
46
|
+
display: t.display_name,
|
|
47
|
+
lang: t.language,
|
|
48
|
+
description: t.description.slice(0, 60),
|
|
49
|
+
})), [
|
|
50
|
+
{ key: "name", header: "Template", width: 18 },
|
|
51
|
+
{ key: "display", header: "Framework", width: 26 },
|
|
52
|
+
{ key: "lang", header: "Lang", width: 8 },
|
|
53
|
+
{ key: "description", header: "Description", width: 60 },
|
|
54
|
+
]);
|
|
55
|
+
console.log();
|
|
56
|
+
console.log(chalk.dim(" Usage: 1claw spawn <template>\n" +
|
|
57
|
+
" eg: 1claw spawn langchain --llm-api-key sk-...\n" +
|
|
58
|
+
" eg: 1claw spawn crewai --local"));
|
|
59
|
+
console.log();
|
|
60
|
+
}
|
|
61
|
+
async function spawnAction(templateArg, opts) {
|
|
62
|
+
// ── Ensure templates are available ────────────────────────────────
|
|
63
|
+
await ensureTemplates({
|
|
64
|
+
force: opts.refresh,
|
|
65
|
+
onProgress: (msg) => printInfo(msg),
|
|
66
|
+
});
|
|
67
|
+
if (opts.list || !templateArg) {
|
|
68
|
+
printTemplateList(listTemplates());
|
|
69
|
+
if (!templateArg && !opts.list) {
|
|
70
|
+
printWarning("Specify a template: 1claw spawn <template>");
|
|
71
|
+
}
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
console.log();
|
|
75
|
+
console.log(chalk.bold(" 1Claw — Spawn Agent from Template"));
|
|
76
|
+
console.log();
|
|
77
|
+
// ── Load template manifest ───────────────────────────────────────
|
|
78
|
+
const manifest = loadTemplate(templateArg);
|
|
79
|
+
const templateDir = getTemplateDir(templateArg);
|
|
80
|
+
printInfo(`Template: ${manifest.display_name} (${manifest.name} v${manifest.version})`);
|
|
81
|
+
// ── Preflight: Docker ────────────────────────────────────────────
|
|
82
|
+
if (!(await dockerAvailable())) {
|
|
83
|
+
const reason = await dockerDaemonError();
|
|
84
|
+
throw new Error(reason ??
|
|
85
|
+
"Docker is required. Install Docker Desktop: https://docs.docker.com/get-docker/");
|
|
86
|
+
}
|
|
87
|
+
// ── Container identity ───────────────────────────────────────────
|
|
88
|
+
const containerName = opts.name ?? generateContainerName(manifest.name);
|
|
89
|
+
if (!isValidContainerName(containerName)) {
|
|
90
|
+
throw new Error(`Invalid container name "${containerName}". Use letters, digits, _, ., -.`);
|
|
91
|
+
}
|
|
92
|
+
if (loadContainerState(containerName)) {
|
|
93
|
+
throw new Error(`A container named "${containerName}" already exists in state. ` +
|
|
94
|
+
`Use --name to choose another, or remove it with \`1claw containers rm ${containerName}\`.`);
|
|
95
|
+
}
|
|
96
|
+
const existing = await dockerContainerStatus(containerName);
|
|
97
|
+
if (existing.exists) {
|
|
98
|
+
throw new Error(`A Docker container named "${containerName}" already exists. ` +
|
|
99
|
+
`Remove it (\`docker rm -f ${containerName}\`) or choose --name.`);
|
|
100
|
+
}
|
|
101
|
+
// ── Auth + provisioning ──────────────────────────────────────────
|
|
102
|
+
let agentId = null;
|
|
103
|
+
let vaultId = null;
|
|
104
|
+
let agentApiKey = opts.agentKey ?? null;
|
|
105
|
+
let localVaultPath = null;
|
|
106
|
+
if (opts.local) {
|
|
107
|
+
printInfo("Local mode — no cloud account or provisioning.");
|
|
108
|
+
}
|
|
109
|
+
else if (agentApiKey) {
|
|
110
|
+
printInfo("Using provided --agent-key (skipping provisioning).");
|
|
111
|
+
try {
|
|
112
|
+
const exchangeRes = await api("/auth/agent-token", {
|
|
113
|
+
method: "POST",
|
|
114
|
+
body: { api_key: agentApiKey },
|
|
115
|
+
token: "",
|
|
116
|
+
});
|
|
117
|
+
if (exchangeRes.agent_id)
|
|
118
|
+
agentId = exchangeRes.agent_id;
|
|
119
|
+
if (exchangeRes.vault_ids?.length)
|
|
120
|
+
vaultId = exchangeRes.vault_ids[0];
|
|
121
|
+
}
|
|
122
|
+
catch {
|
|
123
|
+
// non-fatal
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
else {
|
|
127
|
+
const authed = await ensureAuth();
|
|
128
|
+
if (!authed) {
|
|
129
|
+
throw new Error("Not authenticated. Re-run with --local for offline mode, or `1claw login`.");
|
|
130
|
+
}
|
|
131
|
+
const result = await provisionCloudResources(containerName);
|
|
132
|
+
agentId = result.agentId;
|
|
133
|
+
vaultId = result.vaultId;
|
|
134
|
+
agentApiKey = result.apiKey;
|
|
135
|
+
}
|
|
136
|
+
// ── Store keys + start daemon ────────────────────────────────────
|
|
137
|
+
const sid = sanitizeName(containerName);
|
|
138
|
+
const storeKeys = [];
|
|
139
|
+
let shroudAgentKey = null;
|
|
140
|
+
if (agentId && agentApiKey) {
|
|
141
|
+
shroudAgentKey = `${agentId}:${agentApiKey}`;
|
|
142
|
+
}
|
|
143
|
+
else if (agentApiKey && agentApiKey.includes(":")) {
|
|
144
|
+
shroudAgentKey = agentApiKey;
|
|
145
|
+
}
|
|
146
|
+
if (agentApiKey) {
|
|
147
|
+
localVaultPath = `__docker/${sid}/agent-key`;
|
|
148
|
+
storeKeys.push({
|
|
149
|
+
path: localVaultPath,
|
|
150
|
+
value: agentApiKey,
|
|
151
|
+
type: "api_key",
|
|
152
|
+
policy: {
|
|
153
|
+
allowed_hosts: ["api.1claw.xyz", "*.1claw.xyz"],
|
|
154
|
+
inject_as: "bearer",
|
|
155
|
+
},
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
let shroudSecretPath = null;
|
|
159
|
+
if (shroudAgentKey && !opts.local) {
|
|
160
|
+
shroudSecretPath = `__docker/${sid}/shroud-key`;
|
|
161
|
+
storeKeys.push({
|
|
162
|
+
path: shroudSecretPath,
|
|
163
|
+
value: shroudAgentKey,
|
|
164
|
+
type: "api_key",
|
|
165
|
+
policy: {
|
|
166
|
+
allowed_hosts: ["shroud.1claw.xyz", "*.1claw.xyz"],
|
|
167
|
+
inject_as: "header",
|
|
168
|
+
header_name: "X-Shroud-Agent-Key",
|
|
169
|
+
},
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
// LLM provider key (BYOK)
|
|
173
|
+
const llmProvider = opts.llmProvider || "openai";
|
|
174
|
+
const keyStore = (opts.llmKeyStore || "cloud").toLowerCase();
|
|
175
|
+
const byokPolicy = {
|
|
176
|
+
allowed_hosts: ["shroud.1claw.xyz", "*.1claw.xyz"],
|
|
177
|
+
inject_as: "header",
|
|
178
|
+
header_name: "X-Shroud-Api-Key",
|
|
179
|
+
};
|
|
180
|
+
let shroudApiKeySecretPath = null;
|
|
181
|
+
let cloudKeyToStore = null;
|
|
182
|
+
if (opts.llmApiKeySecret) {
|
|
183
|
+
shroudApiKeySecretPath = opts.llmApiKeySecret;
|
|
184
|
+
storeKeys.push({ path: shroudApiKeySecretPath, policy: byokPolicy });
|
|
185
|
+
}
|
|
186
|
+
else if (opts.llmApiKey) {
|
|
187
|
+
if (keyStore === "local" || opts.local) {
|
|
188
|
+
shroudApiKeySecretPath = `__docker/${sid}/llm-api-key`;
|
|
189
|
+
storeKeys.push({
|
|
190
|
+
path: shroudApiKeySecretPath,
|
|
191
|
+
value: opts.llmApiKey,
|
|
192
|
+
type: "api_key",
|
|
193
|
+
policy: byokPolicy,
|
|
194
|
+
});
|
|
195
|
+
}
|
|
196
|
+
else {
|
|
197
|
+
cloudKeyToStore = opts.llmApiKey;
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
const socketPath = await ensureDaemonRunning({
|
|
201
|
+
storeKeys: storeKeys.length ? storeKeys : undefined,
|
|
202
|
+
});
|
|
203
|
+
// Store provider key in cloud vault if needed
|
|
204
|
+
if (cloudKeyToStore && vaultId && !opts.local) {
|
|
205
|
+
const keySpinner = ora(`Storing ${llmProvider} key in 1Claw vault...`).start();
|
|
206
|
+
try {
|
|
207
|
+
await api(`/vaults/${vaultId}/secrets/${encodeURIComponent(`providers/${llmProvider}/api-key`)}`, {
|
|
208
|
+
method: "PUT",
|
|
209
|
+
body: { type: "api_key", value: cloudKeyToStore },
|
|
210
|
+
});
|
|
211
|
+
keySpinner.succeed(`Provider key stored at providers/${llmProvider}/api-key (1Claw vault).`);
|
|
212
|
+
}
|
|
213
|
+
catch (err) {
|
|
214
|
+
keySpinner.fail("Failed to store provider key in the vault.");
|
|
215
|
+
throw err;
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
// ── Build template image ─────────────────────────────────────────
|
|
219
|
+
const imageTag = `1claw/${manifest.name}:${manifest.version}`;
|
|
220
|
+
const dockerfilePath = join(templateDir, "Dockerfile");
|
|
221
|
+
const buildSpinner = ora(`Building ${manifest.display_name} image...`).start();
|
|
222
|
+
try {
|
|
223
|
+
await dockerBuild({
|
|
224
|
+
context: templateDir,
|
|
225
|
+
dockerfile: dockerfilePath,
|
|
226
|
+
tag: imageTag,
|
|
227
|
+
onProgress: (line) => {
|
|
228
|
+
buildSpinner.text = chalk.dim(line.slice(0, 70));
|
|
229
|
+
},
|
|
230
|
+
});
|
|
231
|
+
buildSpinner.succeed(`Image built: ${imageTag}`);
|
|
232
|
+
}
|
|
233
|
+
catch (err) {
|
|
234
|
+
buildSpinner.fail("Image build failed.");
|
|
235
|
+
throw err;
|
|
236
|
+
}
|
|
237
|
+
// ── Run container ────────────────────────────────────────────────
|
|
238
|
+
const requestedPort = parseInt(opts.port, 10) || 3000;
|
|
239
|
+
let port = await findAvailablePort(requestedPort);
|
|
240
|
+
if (port !== requestedPort) {
|
|
241
|
+
printWarning(`Port ${requestedPort} busy — using ${port}.`);
|
|
242
|
+
}
|
|
243
|
+
const containerMode = opts.local ? "local" : "cloud";
|
|
244
|
+
const env = {
|
|
245
|
+
ONECLAW_MODE: containerMode,
|
|
246
|
+
ONECLAW_DAEMON_SOCKET: "/run/1claw/daemon.sock",
|
|
247
|
+
ONECLAW_SECRET_PREFIX: `__docker/${sid}/`,
|
|
248
|
+
ONECLAW_FRAMEWORK: manifest.name,
|
|
249
|
+
};
|
|
250
|
+
if (manifest.docker.env) {
|
|
251
|
+
Object.assign(env, manifest.docker.env);
|
|
252
|
+
}
|
|
253
|
+
if (opts.local)
|
|
254
|
+
env.ONECLAW_LOCAL_VAULT = "true";
|
|
255
|
+
if (agentId)
|
|
256
|
+
env.ONECLAW_AGENT_ID = agentId;
|
|
257
|
+
const llmWired = !!shroudSecretPath;
|
|
258
|
+
if (llmWired) {
|
|
259
|
+
const model = opts.llmModel || defaultModelForProvider(llmProvider);
|
|
260
|
+
env.ONECLAW_LLM_VIA_SHROUD = "true";
|
|
261
|
+
env.ONECLAW_SHROUD_URL =
|
|
262
|
+
process.env.ONECLAW_SHROUD_URL || "https://shroud.1claw.xyz";
|
|
263
|
+
env.ONECLAW_SHROUD_SECRET = shroudSecretPath;
|
|
264
|
+
env.ONECLAW_SHROUD_PROVIDER = llmProvider;
|
|
265
|
+
env.ONECLAW_SHROUD_MODEL = model;
|
|
266
|
+
if (shroudApiKeySecretPath) {
|
|
267
|
+
env.ONECLAW_SHROUD_API_KEY_SECRET = shroudApiKeySecretPath;
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
const healthPort = String(manifest.docker.health_port ?? 3000);
|
|
271
|
+
const containerPort = healthPort;
|
|
272
|
+
const runSpinner = ora(`Starting container ${containerName}...`).start();
|
|
273
|
+
const userPinnedPort = opts.port !== undefined && opts.port !== "3000";
|
|
274
|
+
const MAX_PORT_RETRIES = 5;
|
|
275
|
+
let containerId;
|
|
276
|
+
for (let attempt = 0;; attempt++) {
|
|
277
|
+
try {
|
|
278
|
+
containerId = await dockerRun({
|
|
279
|
+
image: imageTag,
|
|
280
|
+
name: containerName,
|
|
281
|
+
ports: { [String(port)]: containerPort },
|
|
282
|
+
volumes: { [socketPath]: "/run/1claw/daemon.sock:ro" },
|
|
283
|
+
env,
|
|
284
|
+
detach: true,
|
|
285
|
+
restart: "unless-stopped",
|
|
286
|
+
labels: {
|
|
287
|
+
[MANAGED_LABEL]: "true",
|
|
288
|
+
"1claw.name": containerName,
|
|
289
|
+
"1claw.template": manifest.name,
|
|
290
|
+
},
|
|
291
|
+
});
|
|
292
|
+
runSpinner.succeed(`Container started (${containerId.slice(0, 12)})`);
|
|
293
|
+
break;
|
|
294
|
+
}
|
|
295
|
+
catch (err) {
|
|
296
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
297
|
+
const portConflict = /port is already allocated|address already in use|Bind for [^ ]+ failed/i.test(msg);
|
|
298
|
+
if (portConflict &&
|
|
299
|
+
!userPinnedPort &&
|
|
300
|
+
attempt < MAX_PORT_RETRIES) {
|
|
301
|
+
const nextPort = await findAvailablePort(port + 1);
|
|
302
|
+
runSpinner.text = `Port ${port} already allocated — retrying on ${nextPort}...`;
|
|
303
|
+
port = nextPort;
|
|
304
|
+
continue;
|
|
305
|
+
}
|
|
306
|
+
runSpinner.fail("Failed to start container.");
|
|
307
|
+
throw err;
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
if (!containerId)
|
|
311
|
+
throw new Error("Failed to start container.");
|
|
312
|
+
// ── Wait healthy + summary ───────────────────────────────────────
|
|
313
|
+
const healthEndpoint = manifest.docker.health_endpoint ?? "/health";
|
|
314
|
+
const healthSpinner = ora("Waiting for the agent to become healthy...").start();
|
|
315
|
+
const healthy = await waitForHealthy(port, healthEndpoint);
|
|
316
|
+
if (healthy) {
|
|
317
|
+
healthSpinner.succeed("Agent is healthy.");
|
|
318
|
+
}
|
|
319
|
+
else {
|
|
320
|
+
healthSpinner.warn("Health check timed out (the container may still be starting).");
|
|
321
|
+
}
|
|
322
|
+
const state = {
|
|
323
|
+
containerName,
|
|
324
|
+
containerId,
|
|
325
|
+
agentId,
|
|
326
|
+
vaultId,
|
|
327
|
+
image: imageTag,
|
|
328
|
+
modules: [],
|
|
329
|
+
port,
|
|
330
|
+
createdAt: new Date().toISOString(),
|
|
331
|
+
localVaultPath,
|
|
332
|
+
customImage: null,
|
|
333
|
+
mode: containerMode,
|
|
334
|
+
template: manifest.name,
|
|
335
|
+
runSpec: {
|
|
336
|
+
image: imageTag,
|
|
337
|
+
containerPort,
|
|
338
|
+
env,
|
|
339
|
+
volumes: { [socketPath]: "/run/1claw/daemon.sock:ro" },
|
|
340
|
+
restart: "unless-stopped",
|
|
341
|
+
labels: {
|
|
342
|
+
[MANAGED_LABEL]: "true",
|
|
343
|
+
"1claw.name": containerName,
|
|
344
|
+
"1claw.template": manifest.name,
|
|
345
|
+
},
|
|
346
|
+
},
|
|
347
|
+
};
|
|
348
|
+
saveContainerState(state);
|
|
349
|
+
console.log();
|
|
350
|
+
printSuccess(`${manifest.display_name} agent is up → ${chalk.cyan(`http://localhost:${port}`)}`);
|
|
351
|
+
console.log();
|
|
352
|
+
const llmLabel = llmWired
|
|
353
|
+
? chalk.green(`${env.ONECLAW_SHROUD_PROVIDER}/${env.ONECLAW_SHROUD_MODEL}`)
|
|
354
|
+
: undefined;
|
|
355
|
+
const keySourceLabel = !llmWired
|
|
356
|
+
? undefined
|
|
357
|
+
: shroudApiKeySecretPath
|
|
358
|
+
? chalk.green("local vault (daemon)")
|
|
359
|
+
: cloudKeyToStore
|
|
360
|
+
? chalk.green("1Claw vault")
|
|
361
|
+
: chalk.cyan("1Claw vault or token billing");
|
|
362
|
+
printSummaryBox([
|
|
363
|
+
["Template", `${manifest.display_name} (${manifest.name})`],
|
|
364
|
+
["Container", containerName],
|
|
365
|
+
["Agent", agentId ?? chalk.dim("local")],
|
|
366
|
+
["Vault", vaultId ?? undefined],
|
|
367
|
+
["Shroud", agentId ? chalk.green("enabled") : undefined],
|
|
368
|
+
["LLM", llmLabel],
|
|
369
|
+
["Key source", keySourceLabel],
|
|
370
|
+
[
|
|
371
|
+
"Security",
|
|
372
|
+
chalk.green("daemon injection (container never sees keys)"),
|
|
373
|
+
],
|
|
374
|
+
]);
|
|
375
|
+
console.log();
|
|
376
|
+
if (manifest.post_spawn_message) {
|
|
377
|
+
console.log(chalk.dim(` ${manifest.post_spawn_message}`));
|
|
378
|
+
console.log();
|
|
379
|
+
}
|
|
380
|
+
console.log(chalk.dim(` logs: 1claw containers logs ${containerName}`));
|
|
381
|
+
console.log(chalk.dim(` stop: 1claw containers stop ${containerName}`));
|
|
382
|
+
console.log();
|
|
383
|
+
try {
|
|
384
|
+
const open = (await import("open")).default;
|
|
385
|
+
await open(`http://localhost:${port}`);
|
|
386
|
+
}
|
|
387
|
+
catch {
|
|
388
|
+
// headless or no browser
|
|
389
|
+
}
|
|
390
|
+
if (!opts.detach) {
|
|
391
|
+
printInfo("Streaming logs (Ctrl+C to detach)...");
|
|
392
|
+
console.log();
|
|
393
|
+
const logs = dockerLogsFiltered(containerName);
|
|
394
|
+
await new Promise((resolve) => {
|
|
395
|
+
const stop = () => {
|
|
396
|
+
logs.kill();
|
|
397
|
+
resolve();
|
|
398
|
+
};
|
|
399
|
+
process.on("SIGINT", stop);
|
|
400
|
+
logs.on("close", () => resolve());
|
|
401
|
+
});
|
|
402
|
+
}
|
|
403
|
+
}
|
|
404
|
+
//# sourceMappingURL=spawn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spawn.js","sourceRoot":"","sources":["../../../src/commands/spawn.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;AAqDpC,wBAAgB,aAAa,IAAI,OAAO,CAkFvC"}
|
package/dist/src/index.js
CHANGED
|
@@ -27,6 +27,7 @@ import { platformCommand } from "./commands/platform.js";
|
|
|
27
27
|
import { deviceCommand } from "./commands/device.js";
|
|
28
28
|
import { approvalCommand } from "./commands/approval.js";
|
|
29
29
|
import { initCommand } from "./commands/init.js";
|
|
30
|
+
import { spawnCommand } from "./commands/spawn.js";
|
|
30
31
|
import { publishCommand } from "./commands/publish.js";
|
|
31
32
|
import { ejectCommand } from "./commands/eject.js";
|
|
32
33
|
import { containersCommand } from "./commands/containers.js";
|
|
@@ -72,6 +73,7 @@ export function createProgram() {
|
|
|
72
73
|
program.addCommand(daemonCommand);
|
|
73
74
|
// Containerized agent runtime
|
|
74
75
|
program.addCommand(initCommand);
|
|
76
|
+
program.addCommand(spawnCommand);
|
|
75
77
|
program.addCommand(publishCommand);
|
|
76
78
|
program.addCommand(ejectCommand);
|
|
77
79
|
program.addCommand(containersCommand);
|
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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"}
|
|
@@ -15,6 +15,8 @@ export interface ContainerState {
|
|
|
15
15
|
publishedAt?: string;
|
|
16
16
|
/** "local" (daemon socket) or "cloud" (agent API key direct). */
|
|
17
17
|
mode: "local" | "cloud";
|
|
18
|
+
/** Template name if created via `1claw spawn`. */
|
|
19
|
+
template?: string;
|
|
18
20
|
/**
|
|
19
21
|
* Persisted `docker run` spec so `1claw containers start` can recreate the
|
|
20
22
|
* container if it was removed (only env var names/secret paths are stored —
|
|
@@ -41,7 +43,7 @@ export interface ContainerState {
|
|
|
41
43
|
/** A short, URL/identifier-safe random id (8 hex chars). */
|
|
42
44
|
export declare function shortId(): string;
|
|
43
45
|
/** Generate a default container name: docker-agent-<shortId>. */
|
|
44
|
-
export declare function generateContainerName(): string;
|
|
46
|
+
export declare function generateContainerName(prefix?: string): string;
|
|
45
47
|
/** Restrict names to docker-safe characters. */
|
|
46
48
|
export declare function sanitizeName(name: string): string;
|
|
47
49
|
export declare function isValidContainerName(name: string): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"container-config.d.ts","sourceRoot":"","sources":["../../../src/lib/container-config.ts"],"names":[],"mappings":"AAiBA,eAAO,MAAM,cAAc,QAAiC,CAAC;AAE7D,MAAM,WAAW,cAAc;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,gFAAgF;IAChF,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,oEAAoE;IACpE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iEAAiE;IACjE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC;IACxB;;;;OAIG;IACH,OAAO,CAAC,EAAE;QACN,KAAK,EAAE,MAAM,CAAC;QACd,wEAAwE;QACxE,aAAa,EAAE,MAAM,CAAC;QACtB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC5B,wCAAwC;QACxC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAChC,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACnC,CAAC;IACF,oDAAoD;IACpD,UAAU,CAAC,EAAE;QACT,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;KACtB,CAAC;CACL;AAYD,4DAA4D;AAC5D,wBAAgB,OAAO,IAAI,MAAM,CAEhC;AAED,iEAAiE;AACjE,wBAAgB,qBAAqB,
|
|
1
|
+
{"version":3,"file":"container-config.d.ts","sourceRoot":"","sources":["../../../src/lib/container-config.ts"],"names":[],"mappings":"AAiBA,eAAO,MAAM,cAAc,QAAiC,CAAC;AAE7D,MAAM,WAAW,cAAc;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,gFAAgF;IAChF,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,oEAAoE;IACpE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iEAAiE;IACjE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC;IACxB,kDAAkD;IAClD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,OAAO,CAAC,EAAE;QACN,KAAK,EAAE,MAAM,CAAC;QACd,wEAAwE;QACxE,aAAa,EAAE,MAAM,CAAC;QACtB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC5B,wCAAwC;QACxC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAChC,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACnC,CAAC;IACF,oDAAoD;IACpD,UAAU,CAAC,EAAE;QACT,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;KACtB,CAAC;CACL;AAYD,4DAA4D;AAC5D,wBAAgB,OAAO,IAAI,MAAM,CAEhC;AAED,iEAAiE;AACjE,wBAAgB,qBAAqB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAG7D;AAED,gDAAgD;AAChD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAG1D;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI,CAS9D;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAQtE;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAK1D;AAED,wBAAgB,mBAAmB,IAAI,cAAc,EAAE,CAgBtD;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAS9D;AAED,0EAA0E;AAC1E,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAOtE;AAED,8DAA8D;AAC9D,eAAO,MAAM,aAAa,kBAAkB,CAAC"}
|
|
@@ -18,8 +18,9 @@ export function shortId() {
|
|
|
18
18
|
return randomBytes(4).toString("hex");
|
|
19
19
|
}
|
|
20
20
|
/** Generate a default container name: docker-agent-<shortId>. */
|
|
21
|
-
export function generateContainerName() {
|
|
22
|
-
|
|
21
|
+
export function generateContainerName(prefix) {
|
|
22
|
+
const base = prefix ? `1claw-${prefix}` : "docker-agent";
|
|
23
|
+
return `${base}-${shortId()}`;
|
|
23
24
|
}
|
|
24
25
|
/** Restrict names to docker-safe characters. */
|
|
25
26
|
export function sanitizeName(name) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"container-config.js","sourceRoot":"","sources":["../../../src/lib/container-config.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,UAAU,EACV,SAAS,EACT,YAAY,EACZ,aAAa,EACb,WAAW,EACX,UAAU,EACV,SAAS,GACZ,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,MAAM,UAAU,GACZ,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;AAE1E,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"container-config.js","sourceRoot":"","sources":["../../../src/lib/container-config.ts"],"names":[],"mappings":"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"}
|
package/dist/src/lib/paths.d.ts
CHANGED
|
@@ -10,5 +10,16 @@ export declare function modulesRoot(): string;
|
|
|
10
10
|
export declare function moduleDir(name: string): string;
|
|
11
11
|
/** Terraform template directory for a cloud provider. */
|
|
12
12
|
export declare function deployTemplateDir(provider: string): string;
|
|
13
|
+
/** Local cache directory for fetched templates. */
|
|
14
|
+
export declare function templatesCacheDir(): string;
|
|
15
|
+
/**
|
|
16
|
+
* Directory containing bundled templates from the agent-templates submodule.
|
|
17
|
+
* Returns null if the submodule is not initialized.
|
|
18
|
+
*
|
|
19
|
+
* Searches two locations (dev source tree and monorepo root):
|
|
20
|
+
* 1. <cliRoot>/../../packages/agent-templates/templates (monorepo)
|
|
21
|
+
* 2. <srcRoot>/templates (copied assets in dist/)
|
|
22
|
+
*/
|
|
23
|
+
export declare function bundledTemplatesDir(): string | null;
|
|
13
24
|
export declare function assetExists(path: string): boolean;
|
|
14
25
|
//# sourceMappingURL=paths.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../../src/lib/paths.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../../src/lib/paths.ts"],"names":[],"mappings":"AAeA,0DAA0D;AAC1D,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED,qDAAqD;AACrD,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAED,oCAAoC;AACpC,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED,uDAAuD;AACvD,wBAAgB,WAAW,IAAI,MAAM,CAEpC;AAED,8CAA8C;AAC9C,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE9C;AAED,yDAAyD;AACzD,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,mDAAmD;AACnD,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,GAAG,IAAI,CAYnD;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEjD"}
|
package/dist/src/lib/paths.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { dirname, join } from "node:path";
|
|
2
2
|
import { fileURLToPath } from "node:url";
|
|
3
3
|
import { existsSync } from "node:fs";
|
|
4
|
+
import { homedir } from "node:os";
|
|
4
5
|
// Resolves bundled, non-TypeScript assets (Docker base context + module
|
|
5
6
|
// manifests) both when running from compiled `dist/` and from `src/` in dev.
|
|
6
7
|
//
|
|
@@ -8,6 +9,7 @@ import { existsSync } from "node:fs";
|
|
|
8
9
|
// `dist/src/`, alongside the copied `docker/` and `modules/` asset trees.
|
|
9
10
|
const here = dirname(fileURLToPath(import.meta.url));
|
|
10
11
|
const srcRoot = join(here, "..");
|
|
12
|
+
const CONFIG_DIR = process.env.ONECLAW_CONFIG_DIR || join(homedir(), ".config", "1claw");
|
|
11
13
|
/** Directory containing the base Docker build context. */
|
|
12
14
|
export function dockerBaseContext() {
|
|
13
15
|
return join(srcRoot, "docker", "base");
|
|
@@ -32,6 +34,31 @@ export function moduleDir(name) {
|
|
|
32
34
|
export function deployTemplateDir(provider) {
|
|
33
35
|
return join(srcRoot, "deploy", provider);
|
|
34
36
|
}
|
|
37
|
+
/** Local cache directory for fetched templates. */
|
|
38
|
+
export function templatesCacheDir() {
|
|
39
|
+
return join(CONFIG_DIR, "templates");
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Directory containing bundled templates from the agent-templates submodule.
|
|
43
|
+
* Returns null if the submodule is not initialized.
|
|
44
|
+
*
|
|
45
|
+
* Searches two locations (dev source tree and monorepo root):
|
|
46
|
+
* 1. <cliRoot>/../../packages/agent-templates/templates (monorepo)
|
|
47
|
+
* 2. <srcRoot>/templates (copied assets in dist/)
|
|
48
|
+
*/
|
|
49
|
+
export function bundledTemplatesDir() {
|
|
50
|
+
// srcRoot = dist/src/ (compiled) or src/ (dev). CLI root = srcRoot/../..
|
|
51
|
+
// Target: <monorepo>/packages/agent-templates/templates
|
|
52
|
+
// From dist/src/: ../.. = CLI root, then ../agent-templates/templates
|
|
53
|
+
const monoRepo = join(srcRoot, "..", "..", "..", "agent-templates", "templates");
|
|
54
|
+
if (existsSync(monoRepo))
|
|
55
|
+
return monoRepo;
|
|
56
|
+
// Copied into dist during build
|
|
57
|
+
const dist = join(srcRoot, "templates");
|
|
58
|
+
if (existsSync(dist))
|
|
59
|
+
return dist;
|
|
60
|
+
return null;
|
|
61
|
+
}
|
|
35
62
|
export function assetExists(path) {
|
|
36
63
|
return existsSync(path);
|
|
37
64
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../../src/lib/paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../../src/lib/paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,wEAAwE;AACxE,6EAA6E;AAC7E,EAAE;AACF,mEAAmE;AACnE,0EAA0E;AAC1E,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACrD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACjC,MAAM,UAAU,GACZ,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;AAE1E,0DAA0D;AAC1D,MAAM,UAAU,iBAAiB;IAC7B,OAAO,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;AAC3C,CAAC;AAED,qDAAqD;AACrD,MAAM,UAAU,kBAAkB;IAC9B,OAAO,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,iBAAiB,CAAC,CAAC;AACnE,CAAC;AAED,oCAAoC;AACpC,MAAM,UAAU,mBAAmB;IAC/B,OAAO,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;AACnD,CAAC;AAED,uDAAuD;AACvD,MAAM,UAAU,WAAW;IACvB,OAAO,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;AACpC,CAAC;AAED,8CAA8C;AAC9C,MAAM,UAAU,SAAS,CAAC,IAAY;IAClC,OAAO,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,CAAC;AACrC,CAAC;AAED,yDAAyD;AACzD,MAAM,UAAU,iBAAiB,CAAC,QAAgB;IAC9C,OAAO,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAC7C,CAAC;AAED,mDAAmD;AACnD,MAAM,UAAU,iBAAiB;IAC7B,OAAO,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;AACzC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB;IAC/B,yEAAyE;IACzE,wDAAwD;IACxD,sEAAsE;IACtE,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,iBAAiB,EAAE,WAAW,CAAC,CAAC;IACjF,IAAI,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,QAAQ,CAAC;IAE1C,gCAAgC;IAChC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IACxC,IAAI,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAElC,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAAY;IACpC,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared provisioning and daemon lifecycle helpers used by both `init` and
|
|
3
|
+
* `spawn` commands. Extracted from init.ts to avoid duplication.
|
|
4
|
+
*/
|
|
5
|
+
import { type SecretPolicy } from "../local-policy.js";
|
|
6
|
+
export interface ProvisionResult {
|
|
7
|
+
agentId: string;
|
|
8
|
+
apiKey: string;
|
|
9
|
+
vaultId: string;
|
|
10
|
+
vaultName: string;
|
|
11
|
+
}
|
|
12
|
+
export interface StoreKeySpec {
|
|
13
|
+
path: string;
|
|
14
|
+
value?: string;
|
|
15
|
+
type?: string;
|
|
16
|
+
policy: SecretPolicy;
|
|
17
|
+
}
|
|
18
|
+
export declare function provisionCloudResources(containerName: string): Promise<ProvisionResult>;
|
|
19
|
+
export declare function resolvePassphrase(confirm: boolean): Promise<string>;
|
|
20
|
+
export declare function ensureDaemonRunning(opts: {
|
|
21
|
+
storeKeys?: StoreKeySpec[];
|
|
22
|
+
}): Promise<string>;
|
|
23
|
+
export declare function defaultModelForProvider(provider: string): string;
|
|
24
|
+
/**
|
|
25
|
+
* Ensure the user is authenticated. Prompts for login if needed.
|
|
26
|
+
* Returns true if authenticated, false if the user declined.
|
|
27
|
+
*/
|
|
28
|
+
export declare function ensureAuth(): Promise<boolean>;
|
|
29
|
+
export declare function waitForHealthy(port: number, endpoint?: string, timeoutMs?: number): Promise<boolean>;
|
|
30
|
+
//# sourceMappingURL=provisioning.d.ts.map
|