@shravansunder/agent-vm 0.0.2 → 0.0.4
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/backup/backup-encryption.d.ts +2 -2
- package/dist/backup/backup-encryption.d.ts.map +1 -1
- package/dist/backup/backup-encryption.js +29 -7
- package/dist/backup/backup-encryption.js.map +1 -1
- package/dist/build/gondolin-image-builder.d.ts.map +1 -1
- package/dist/build/gondolin-image-builder.js +3 -2
- package/dist/build/gondolin-image-builder.js.map +1 -1
- package/dist/cli/agent-vm-cli-support.d.ts +1 -0
- package/dist/cli/agent-vm-cli-support.d.ts.map +1 -1
- package/dist/cli/agent-vm-cli-support.js +4 -7
- package/dist/cli/agent-vm-cli-support.js.map +1 -1
- package/dist/cli/auth-interactive-command.d.ts.map +1 -1
- package/dist/cli/auth-interactive-command.js +9 -2
- package/dist/cli/auth-interactive-command.js.map +1 -1
- package/dist/cli/build-command.d.ts +2 -0
- package/dist/cli/build-command.d.ts.map +1 -1
- package/dist/cli/build-command.js +37 -0
- package/dist/cli/build-command.js.map +1 -1
- package/dist/cli/commands/command-definition-support.js +5 -5
- package/dist/cli/commands/command-definition-support.js.map +1 -1
- package/dist/cli/commands/controller-definition.d.ts.map +1 -1
- package/dist/cli/commands/controller-definition.js +10 -5
- package/dist/cli/commands/controller-definition.js.map +1 -1
- package/dist/cli/commands/create-app.d.ts +139 -139
- package/dist/cli/commands/create-app.js +2 -2
- package/dist/cli/commands/init-definition.js +1 -1
- package/dist/cli/init-command.d.ts +3 -2
- package/dist/cli/init-command.d.ts.map +1 -1
- package/dist/cli/init-command.js +63 -60
- package/dist/cli/init-command.js.map +1 -1
- package/dist/cli/openclaw-plugin-bundle.d.ts +10 -0
- package/dist/cli/openclaw-plugin-bundle.d.ts.map +1 -0
- package/dist/cli/openclaw-plugin-bundle.js +35 -0
- package/dist/cli/openclaw-plugin-bundle.js.map +1 -0
- package/dist/cli/ssh-commands.d.ts.map +1 -1
- package/dist/cli/ssh-commands.js +11 -1
- package/dist/cli/ssh-commands.js.map +1 -1
- package/dist/config/system-config.d.ts +22 -7
- package/dist/config/system-config.d.ts.map +1 -1
- package/dist/config/system-config.js +75 -9
- package/dist/config/system-config.js.map +1 -1
- package/dist/controller/composite-secret-resolver.d.ts +3 -0
- package/dist/controller/composite-secret-resolver.d.ts.map +1 -0
- package/dist/controller/composite-secret-resolver.js +38 -0
- package/dist/controller/composite-secret-resolver.js.map +1 -0
- package/dist/controller/controller-runtime-operations.d.ts.map +1 -1
- package/dist/controller/controller-runtime-operations.js +4 -21
- package/dist/controller/controller-runtime-operations.js.map +1 -1
- package/dist/controller/controller-runtime-support.d.ts +1 -0
- package/dist/controller/controller-runtime-support.d.ts.map +1 -1
- package/dist/controller/controller-runtime-support.js +10 -4
- package/dist/controller/controller-runtime-support.js.map +1 -1
- package/dist/controller/controller-runtime-types.d.ts +3 -1
- package/dist/controller/controller-runtime-types.d.ts.map +1 -1
- package/dist/controller/controller-runtime.d.ts.map +1 -1
- package/dist/controller/controller-runtime.js +64 -20
- package/dist/controller/controller-runtime.js.map +1 -1
- package/dist/controller/http/controller-request-schemas.d.ts.map +1 -1
- package/dist/controller/http/controller-request-schemas.js +2 -6
- package/dist/controller/http/controller-request-schemas.js.map +1 -1
- package/dist/controller/leases/lease-manager.d.ts.map +1 -1
- package/dist/controller/leases/lease-manager.js +1 -3
- package/dist/controller/leases/lease-manager.js.map +1 -1
- package/dist/controller/worker-task-runner.d.ts.map +1 -1
- package/dist/controller/worker-task-runner.js +29 -7
- package/dist/controller/worker-task-runner.js.map +1 -1
- package/dist/gateway/credential-manager.d.ts.map +1 -1
- package/dist/gateway/credential-manager.js +52 -9
- package/dist/gateway/credential-manager.js.map +1 -1
- package/dist/gateway/gateway-lifecycle-loader.js +1 -1
- package/dist/gateway/gateway-recovery.d.ts +19 -0
- package/dist/gateway/gateway-recovery.d.ts.map +1 -0
- package/dist/gateway/gateway-recovery.js +147 -0
- package/dist/gateway/gateway-recovery.js.map +1 -0
- package/dist/gateway/gateway-runtime-record.d.ts +33 -0
- package/dist/gateway/gateway-runtime-record.d.ts.map +1 -0
- package/dist/gateway/gateway-runtime-record.js +114 -0
- package/dist/gateway/gateway-runtime-record.js.map +1 -0
- package/dist/gateway/gateway-zone-orchestrator.d.ts +4 -0
- package/dist/gateway/gateway-zone-orchestrator.d.ts.map +1 -1
- package/dist/gateway/gateway-zone-orchestrator.js +60 -19
- package/dist/gateway/gateway-zone-orchestrator.js.map +1 -1
- package/dist/gateway/gateway-zone-support.d.ts +2 -1
- package/dist/gateway/gateway-zone-support.d.ts.map +1 -1
- package/dist/gateway/gateway-zone-support.js +34 -0
- package/dist/gateway/gateway-zone-support.js.map +1 -1
- package/dist/operations/doctor.d.ts.map +1 -1
- package/dist/operations/doctor.js +22 -11
- package/dist/operations/doctor.js.map +1 -1
- package/dist/operations/upgrade-zone.d.ts +0 -1
- package/dist/operations/upgrade-zone.d.ts.map +1 -1
- package/dist/operations/upgrade-zone.js +0 -1
- package/dist/operations/upgrade-zone.js.map +1 -1
- package/dist/runtime/project-namespace.d.ts +5 -0
- package/dist/runtime/project-namespace.d.ts.map +1 -0
- package/dist/runtime/project-namespace.js +22 -0
- package/dist/runtime/project-namespace.js.map +1 -0
- package/dist/tool-vm/tool-vm-lifecycle.d.ts.map +1 -1
- package/dist/tool-vm/tool-vm-lifecycle.js +2 -1
- package/dist/tool-vm/tool-vm-lifecycle.js.map +1 -1
- package/package.json +9 -7
package/dist/cli/init-command.js
CHANGED
|
@@ -2,28 +2,33 @@ import { execFileSync } from 'node:child_process';
|
|
|
2
2
|
import fs from 'node:fs/promises';
|
|
3
3
|
import path from 'node:path';
|
|
4
4
|
import readline from 'node:readline/promises';
|
|
5
|
+
import { workerConfigSchema } from '@shravansunder/agent-vm-worker';
|
|
6
|
+
import { buildDefaultProjectNamespace } from '../runtime/project-namespace.js';
|
|
5
7
|
import { getKeychainTokenSource, hasServiceAccountToken, storeServiceAccountToken, } from './keychain-credential.js';
|
|
8
|
+
import { openClawPluginVendorDirectory, syncBundledOpenClawPluginBundle, } from './openclaw-plugin-bundle.js';
|
|
6
9
|
const defaultGatewayIngressPort = 18791;
|
|
10
|
+
const defaultOpenClawExtensionsPath = '/home/openclaw/.openclaw/extensions';
|
|
7
11
|
function resolveGatewayConfigFileName(gatewayType) {
|
|
8
|
-
return gatewayType === '
|
|
12
|
+
return gatewayType === 'worker' ? 'worker.json' : 'openclaw.json';
|
|
9
13
|
}
|
|
10
|
-
const defaultSystemConfig = (zoneId, gatewayType) => ({
|
|
14
|
+
const defaultSystemConfig = (zoneId, gatewayType, projectNamespace) => ({
|
|
11
15
|
host: {
|
|
12
16
|
controllerPort: 18800,
|
|
17
|
+
projectNamespace,
|
|
13
18
|
secretsProvider: {
|
|
14
19
|
type: '1password',
|
|
15
20
|
tokenSource: getKeychainTokenSource(),
|
|
16
21
|
},
|
|
17
22
|
},
|
|
18
|
-
cacheDir: '
|
|
23
|
+
cacheDir: '../cache',
|
|
19
24
|
images: {
|
|
20
25
|
gateway: {
|
|
21
|
-
buildConfig: '
|
|
22
|
-
dockerfile: '
|
|
26
|
+
buildConfig: '../images/gateway/build-config.json',
|
|
27
|
+
dockerfile: '../images/gateway/Dockerfile',
|
|
23
28
|
},
|
|
24
29
|
tool: {
|
|
25
|
-
buildConfig: '
|
|
26
|
-
dockerfile: '
|
|
30
|
+
buildConfig: '../images/tool/build-config.json',
|
|
31
|
+
dockerfile: '../images/tool/Dockerfile',
|
|
27
32
|
},
|
|
28
33
|
},
|
|
29
34
|
zones: [
|
|
@@ -34,11 +39,11 @@ const defaultSystemConfig = (zoneId, gatewayType) => ({
|
|
|
34
39
|
memory: '2G',
|
|
35
40
|
cpus: 2,
|
|
36
41
|
port: defaultGatewayIngressPort,
|
|
37
|
-
gatewayConfig:
|
|
38
|
-
stateDir:
|
|
39
|
-
workspaceDir:
|
|
42
|
+
gatewayConfig: `./${zoneId}/${resolveGatewayConfigFileName(gatewayType)}`,
|
|
43
|
+
stateDir: `../state/${zoneId}`,
|
|
44
|
+
workspaceDir: `../workspaces/${zoneId}`,
|
|
40
45
|
},
|
|
41
|
-
secrets: defaultSecretsForGatewayType(gatewayType),
|
|
46
|
+
secrets: defaultSecretsForGatewayType(zoneId, gatewayType),
|
|
42
47
|
allowedHosts: defaultAllowedHostsForGatewayType(gatewayType),
|
|
43
48
|
websocketBypass: defaultWebsocketBypassForGatewayType(gatewayType),
|
|
44
49
|
toolProfile: 'standard',
|
|
@@ -48,7 +53,7 @@ const defaultSystemConfig = (zoneId, gatewayType) => ({
|
|
|
48
53
|
standard: {
|
|
49
54
|
memory: '1G',
|
|
50
55
|
cpus: 1,
|
|
51
|
-
workspaceRoot: '
|
|
56
|
+
workspaceRoot: '../workspaces/tools',
|
|
52
57
|
},
|
|
53
58
|
},
|
|
54
59
|
tcpPool: {
|
|
@@ -56,15 +61,11 @@ const defaultSystemConfig = (zoneId, gatewayType) => ({
|
|
|
56
61
|
size: 5,
|
|
57
62
|
},
|
|
58
63
|
});
|
|
59
|
-
function defaultSecretsForGatewayType(gatewayType) {
|
|
60
|
-
if (gatewayType === '
|
|
64
|
+
function defaultSecretsForGatewayType(zoneId, gatewayType) {
|
|
65
|
+
if (gatewayType === 'worker') {
|
|
61
66
|
return {
|
|
62
|
-
ANTHROPIC_API_KEY: {
|
|
63
|
-
source: '1password',
|
|
64
|
-
hosts: ['api.anthropic.com'],
|
|
65
|
-
injection: 'http-mediation',
|
|
66
|
-
},
|
|
67
67
|
OPENAI_API_KEY: {
|
|
68
|
+
ref: 'op://agent-vm/workers-openai/credential',
|
|
68
69
|
source: '1password',
|
|
69
70
|
hosts: ['api.openai.com'],
|
|
70
71
|
injection: 'http-mediation',
|
|
@@ -73,22 +74,25 @@ function defaultSecretsForGatewayType(gatewayType) {
|
|
|
73
74
|
}
|
|
74
75
|
return {
|
|
75
76
|
DISCORD_BOT_TOKEN: {
|
|
77
|
+
ref: `op://agent-vm/${zoneId}-discord/bot-token`,
|
|
76
78
|
source: '1password',
|
|
77
79
|
injection: 'env',
|
|
78
80
|
},
|
|
79
81
|
PERPLEXITY_API_KEY: {
|
|
82
|
+
ref: `op://agent-vm/${zoneId}-perplexity/credential`,
|
|
80
83
|
source: '1password',
|
|
81
84
|
hosts: ['api.perplexity.ai'],
|
|
82
85
|
injection: 'http-mediation',
|
|
83
86
|
},
|
|
84
87
|
OPENCLAW_GATEWAY_TOKEN: {
|
|
88
|
+
ref: `op://agent-vm/${zoneId}-gateway-auth/password`,
|
|
85
89
|
source: '1password',
|
|
86
90
|
injection: 'env',
|
|
87
91
|
},
|
|
88
92
|
};
|
|
89
93
|
}
|
|
90
94
|
function defaultAllowedHostsForGatewayType(gatewayType) {
|
|
91
|
-
if (gatewayType === '
|
|
95
|
+
if (gatewayType === 'worker') {
|
|
92
96
|
return [
|
|
93
97
|
'api.anthropic.com',
|
|
94
98
|
'api.openai.com',
|
|
@@ -108,7 +112,7 @@ function defaultAllowedHostsForGatewayType(gatewayType) {
|
|
|
108
112
|
];
|
|
109
113
|
}
|
|
110
114
|
function defaultWebsocketBypassForGatewayType(gatewayType) {
|
|
111
|
-
if (gatewayType === '
|
|
115
|
+
if (gatewayType === 'worker') {
|
|
112
116
|
return [];
|
|
113
117
|
}
|
|
114
118
|
return [
|
|
@@ -118,26 +122,18 @@ function defaultWebsocketBypassForGatewayType(gatewayType) {
|
|
|
118
122
|
'mmg.whatsapp.net:443',
|
|
119
123
|
];
|
|
120
124
|
}
|
|
121
|
-
function defaultEnvTemplateForGatewayType(
|
|
122
|
-
|
|
125
|
+
function defaultEnvTemplateForGatewayType(_gatewayType) {
|
|
126
|
+
return `# agent-vm environment configuration
|
|
123
127
|
# 1Password token is stored in macOS Keychain by agent-vm init.
|
|
124
128
|
# Only set this for CI or non-macOS environments:
|
|
125
129
|
# OP_SERVICE_ACCOUNT_TOKEN=
|
|
126
|
-
|
|
127
|
-
# === Secret References (1Password op:// URIs) ===
|
|
128
|
-
`;
|
|
129
|
-
if (gatewayType === 'coding') {
|
|
130
|
-
return `${header}ANTHROPIC_API_KEY_REF=op://agent-vm/agent-anthropic/api-key
|
|
131
|
-
OPENAI_API_KEY_REF=op://agent-vm/agent-openai/api-key
|
|
132
|
-
`;
|
|
133
|
-
}
|
|
134
|
-
return `${header}DISCORD_BOT_TOKEN_REF=op://agent-vm/agent-discord-app/bot-token
|
|
135
|
-
PERPLEXITY_API_KEY_REF=op://agent-vm/agent-perplexity/credential
|
|
136
|
-
OPENCLAW_GATEWAY_TOKEN_REF=op://agent-vm/agent-shravan-claw-gateway/password
|
|
137
130
|
`;
|
|
138
131
|
}
|
|
139
132
|
const defaultGatewayDockerfile = `FROM node:24-slim
|
|
140
133
|
|
|
134
|
+
ENV PNPM_HOME=/pnpm
|
|
135
|
+
ENV PATH=\${PNPM_HOME}:\${PATH}
|
|
136
|
+
|
|
141
137
|
RUN apt-get update && \\
|
|
142
138
|
apt-get install -y --no-install-recommends \\
|
|
143
139
|
openssh-server \\
|
|
@@ -147,14 +143,22 @@ RUN apt-get update && \\
|
|
|
147
143
|
python3 && \\
|
|
148
144
|
rm -rf /var/lib/apt/lists/* && \\
|
|
149
145
|
update-ca-certificates && \\
|
|
150
|
-
|
|
146
|
+
corepack enable && \\
|
|
147
|
+
pnpm add -g openclaw@2026.4.2 && \\
|
|
148
|
+
OPENCLAW_PACKAGE_ROOT="$(pnpm root -g)/openclaw" && \\
|
|
149
|
+
(cd "$OPENCLAW_PACKAGE_ROOT" && node scripts/postinstall-bundled-plugins.mjs) && \\
|
|
150
|
+
mkdir -p /opt/openclaw-sdk && \\
|
|
151
|
+
ln -sf "$OPENCLAW_PACKAGE_ROOT/dist/plugin-sdk/sandbox.js" /opt/openclaw-sdk/sandbox.js && \\
|
|
152
|
+
printf '#!/bin/sh\\nexec /pnpm/openclaw "$@"\\n' > /usr/local/bin/openclaw && \\
|
|
153
|
+
chmod 755 /usr/local/bin/openclaw && \\
|
|
151
154
|
useradd -m -s /bin/bash openclaw && \\
|
|
152
|
-
mkdir -p
|
|
155
|
+
mkdir -p ${defaultOpenClawExtensionsPath} /home/openclaw/workspace /run/sshd /root && \\
|
|
153
156
|
chown -R openclaw:openclaw /home/openclaw && \\
|
|
154
|
-
ln -sf /proc/self/fd /dev/fd 2>/dev/null || true
|
|
155
|
-
|
|
157
|
+
ln -sf /proc/self/fd /dev/fd 2>/dev/null || true
|
|
158
|
+
|
|
159
|
+
COPY vendor/gondolin ${defaultOpenClawExtensionsPath}/gondolin
|
|
156
160
|
`;
|
|
157
|
-
const
|
|
161
|
+
const defaultWorkerGatewayDockerfile = `FROM node:24-slim
|
|
158
162
|
|
|
159
163
|
RUN apt-get update && \\
|
|
160
164
|
apt-get install -y --no-install-recommends \\
|
|
@@ -165,7 +169,9 @@ RUN apt-get update && \\
|
|
|
165
169
|
python3 && \\
|
|
166
170
|
rm -rf /var/lib/apt/lists/* && \\
|
|
167
171
|
update-ca-certificates && \\
|
|
168
|
-
npm install -g @openai/codex-
|
|
172
|
+
npm install -g @openai/codex @shravansunder/agent-vm-worker && \\
|
|
173
|
+
mkdir -p /opt/agent-vm-worker && \\
|
|
174
|
+
ln -s /usr/local/lib/node_modules/@shravansunder/agent-vm-worker /opt/agent-vm-worker && \\
|
|
169
175
|
useradd -m -s /bin/bash coder && \\
|
|
170
176
|
mkdir -p /workspace /run/sshd /state && \\
|
|
171
177
|
chown -R coder:coder /workspace /state && \\
|
|
@@ -247,6 +253,9 @@ const defaultOpenClawConfig = (zoneId, gatewayIngressPort) => ({
|
|
|
247
253
|
},
|
|
248
254
|
tools: { elevated: { enabled: false } },
|
|
249
255
|
plugins: {
|
|
256
|
+
load: {
|
|
257
|
+
paths: [defaultOpenClawExtensionsPath],
|
|
258
|
+
},
|
|
250
259
|
entries: {
|
|
251
260
|
gondolin: {
|
|
252
261
|
enabled: true,
|
|
@@ -259,18 +268,7 @@ const defaultOpenClawConfig = (zoneId, gatewayIngressPort) => ({
|
|
|
259
268
|
},
|
|
260
269
|
channels: {},
|
|
261
270
|
});
|
|
262
|
-
const
|
|
263
|
-
agentTimeoutMs: 600_000,
|
|
264
|
-
branchPrefix: 'agent/',
|
|
265
|
-
commitCoAuthor: 'agent-vm-coding <noreply@agent-vm>',
|
|
266
|
-
idleTimeoutMs: 1_800_000,
|
|
267
|
-
lintCommand: 'pnpm lint',
|
|
268
|
-
maxRetries: 3,
|
|
269
|
-
model: 'gpt-5.4-mini',
|
|
270
|
-
stateDir: '/state',
|
|
271
|
-
testCommand: 'pnpm test',
|
|
272
|
-
verificationTimeoutMs: 300_000,
|
|
273
|
-
});
|
|
271
|
+
const defaultWorkerGatewayConfig = () => workerConfigSchema.parse({});
|
|
274
272
|
async function writeFileIfMissing(filePath, content) {
|
|
275
273
|
await fs.mkdir(path.dirname(filePath), { recursive: true });
|
|
276
274
|
try {
|
|
@@ -294,9 +292,10 @@ async function scaffoldAgentVmProjectInternal(options, dependencies = {}) {
|
|
|
294
292
|
const created = [];
|
|
295
293
|
const skipped = [];
|
|
296
294
|
const gatewayType = options.gatewayType;
|
|
297
|
-
const
|
|
298
|
-
const
|
|
299
|
-
|
|
295
|
+
const projectNamespace = await buildDefaultProjectNamespace(options.targetDir);
|
|
296
|
+
const systemConfigPath = path.join(options.targetDir, 'config', 'system.json');
|
|
297
|
+
const systemConfigStatus = await writeFileIfMissing(systemConfigPath, `${JSON.stringify(defaultSystemConfig(options.zoneId, gatewayType, projectNamespace), null, '\t')}\n`);
|
|
298
|
+
(systemConfigStatus === 'created' ? created : skipped).push('config/system.json');
|
|
300
299
|
const envFilePath = path.join(options.targetDir, '.env.local');
|
|
301
300
|
const envFileStatus = await writeFileIfMissing(envFilePath, defaultEnvTemplateForGatewayType(gatewayType));
|
|
302
301
|
(envFileStatus === 'created' ? created : skipped).push('.env.local');
|
|
@@ -323,27 +322,31 @@ async function scaffoldAgentVmProjectInternal(options, dependencies = {}) {
|
|
|
323
322
|
const gatewayConfigPath = path.join(options.targetDir, 'config', options.zoneId, gatewayConfigFileName);
|
|
324
323
|
const gatewayConfigStatus = await writeFileIfMissing(gatewayConfigPath, `${JSON.stringify(gatewayType === 'openclaw'
|
|
325
324
|
? defaultOpenClawConfig(options.zoneId, defaultGatewayIngressPort)
|
|
326
|
-
:
|
|
325
|
+
: defaultWorkerGatewayConfig(), null, '\t')}\n`);
|
|
327
326
|
(gatewayConfigStatus === 'created' ? created : skipped).push(`config/${options.zoneId}/${gatewayConfigFileName}`);
|
|
328
327
|
const gatewayDockerfilePath = path.join(options.targetDir, 'images', 'gateway', 'Dockerfile');
|
|
329
|
-
const gatewayDockerfileStatus = await writeFileIfMissing(gatewayDockerfilePath, gatewayType === 'openclaw' ? defaultGatewayDockerfile :
|
|
328
|
+
const gatewayDockerfileStatus = await writeFileIfMissing(gatewayDockerfilePath, gatewayType === 'openclaw' ? defaultGatewayDockerfile : defaultWorkerGatewayDockerfile);
|
|
330
329
|
(gatewayDockerfileStatus === 'created' ? created : skipped).push('images/gateway/Dockerfile');
|
|
331
330
|
const gatewayBuildConfigPath = path.join(options.targetDir, 'images', 'gateway', 'build-config.json');
|
|
332
331
|
const gatewayBuildConfigStatus = await writeFileIfMissing(gatewayBuildConfigPath, `${JSON.stringify(defaultGatewayBuildConfig(), null, '\t')}\n`);
|
|
333
332
|
(gatewayBuildConfigStatus === 'created' ? created : skipped).push('images/gateway/build-config.json');
|
|
333
|
+
if (gatewayType === 'openclaw') {
|
|
334
|
+
const pluginCopyStatus = await (dependencies.copyBundledOpenClawPlugin ?? syncBundledOpenClawPluginBundle)(options.targetDir);
|
|
335
|
+
(pluginCopyStatus === 'created' ? created : skipped).push(openClawPluginVendorDirectory);
|
|
336
|
+
}
|
|
334
337
|
const toolDockerfilePath = path.join(options.targetDir, 'images', 'tool', 'Dockerfile');
|
|
335
338
|
const toolDockerfileStatus = await writeFileIfMissing(toolDockerfilePath, defaultToolDockerfile);
|
|
336
339
|
(toolDockerfileStatus === 'created' ? created : skipped).push('images/tool/Dockerfile');
|
|
337
340
|
const toolBuildConfigPath = path.join(options.targetDir, 'images', 'tool', 'build-config.json');
|
|
338
341
|
const toolBuildConfigStatus = await writeFileIfMissing(toolBuildConfigPath, `${JSON.stringify(defaultToolBuildConfig(), null, '\t')}\n`);
|
|
339
342
|
(toolBuildConfigStatus === 'created' ? created : skipped).push('images/tool/build-config.json');
|
|
340
|
-
|
|
343
|
+
await Promise.all([
|
|
341
344
|
path.join(options.targetDir, 'state', options.zoneId),
|
|
342
345
|
path.join(options.targetDir, 'workspaces', options.zoneId),
|
|
343
346
|
path.join(options.targetDir, 'workspaces', 'tools'),
|
|
344
|
-
]) {
|
|
347
|
+
].map(async (directoryPath) => {
|
|
345
348
|
await fs.mkdir(directoryPath, { recursive: true });
|
|
346
|
-
}
|
|
349
|
+
}));
|
|
347
350
|
return { created, keychainStored: false, skipped };
|
|
348
351
|
}
|
|
349
352
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init-command.js","sourceRoot":"","sources":["../../src/cli/init-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,QAAQ,MAAM,wBAAwB,CAAC;AAE9C,OAAO,EACN,sBAAsB,EACtB,sBAAsB,EACtB,wBAAwB,GACxB,MAAM,0BAA0B,CAAC;AA0BlC,MAAM,yBAAyB,GAAG,KAAK,CAAC;AAExC,SAAS,4BAA4B,CAAC,WAAwB;IAC7D,OAAO,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,eAAe,CAAC;AACnE,CAAC;AAED,MAAM,mBAAmB,GAAG,CAAC,MAAc,EAAE,WAAwB,EAAU,EAAE,CAAC,CAAC;IAClF,IAAI,EAAE;QACL,cAAc,EAAE,KAAK;QACrB,eAAe,EAAE;YAChB,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,sBAAsB,EAAE;SACrC;KACD;IACD,QAAQ,EAAE,SAAS;IACnB,MAAM,EAAE;QACP,OAAO,EAAE;YACR,WAAW,EAAE,oCAAoC;YACjD,UAAU,EAAE,6BAA6B;SACzC;QACD,IAAI,EAAE;YACL,WAAW,EAAE,iCAAiC;YAC9C,UAAU,EAAE,0BAA0B;SACtC;KACD;IACD,KAAK,EAAE;QACN;YACC,EAAE,EAAE,MAAM;YACV,OAAO,EAAE;gBACR,IAAI,EAAE,WAAW;gBACjB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,CAAC;gBACP,IAAI,EAAE,yBAAyB;gBAC/B,aAAa,EAAE,YAAY,MAAM,IAAI,4BAA4B,CAAC,WAAW,CAAC,EAAE;gBAChF,QAAQ,EAAE,WAAW,MAAM,EAAE;gBAC7B,YAAY,EAAE,gBAAgB,MAAM,EAAE;aACtC;YACD,OAAO,EAAE,4BAA4B,CAAC,WAAW,CAAC;YAClD,YAAY,EAAE,iCAAiC,CAAC,WAAW,CAAC;YAC5D,eAAe,EAAE,oCAAoC,CAAC,WAAW,CAAC;YAClE,WAAW,EAAE,UAAU;SACvB;KACD;IACD,YAAY,EAAE;QACb,QAAQ,EAAE;YACT,MAAM,EAAE,IAAI;YACZ,IAAI,EAAE,CAAC;YACP,aAAa,EAAE,oBAAoB;SACnC;KACD;IACD,OAAO,EAAE;QACR,QAAQ,EAAE,KAAK;QACf,IAAI,EAAE,CAAC;KACP;CACD,CAAC,CAAC;AAEH,SAAS,4BAA4B,CAAC,WAAwB;IAC7D,IAAI,WAAW,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO;YACN,iBAAiB,EAAE;gBAClB,MAAM,EAAE,WAAW;gBACnB,KAAK,EAAE,CAAC,mBAAmB,CAAC;gBAC5B,SAAS,EAAE,gBAAgB;aAC3B;YACD,cAAc,EAAE;gBACf,MAAM,EAAE,WAAW;gBACnB,KAAK,EAAE,CAAC,gBAAgB,CAAC;gBACzB,SAAS,EAAE,gBAAgB;aAC3B;SACD,CAAC;IACH,CAAC;IAED,OAAO;QACN,iBAAiB,EAAE;YAClB,MAAM,EAAE,WAAW;YACnB,SAAS,EAAE,KAAK;SAChB;QACD,kBAAkB,EAAE;YACnB,MAAM,EAAE,WAAW;YACnB,KAAK,EAAE,CAAC,mBAAmB,CAAC;YAC5B,SAAS,EAAE,gBAAgB;SAC3B;QACD,sBAAsB,EAAE;YACvB,MAAM,EAAE,WAAW;YACnB,SAAS,EAAE,KAAK;SAChB;KACD,CAAC;AACH,CAAC;AAED,SAAS,iCAAiC,CAAC,WAAwB;IAClE,IAAI,WAAW,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO;YACN,mBAAmB;YACnB,gBAAgB;YAChB,iBAAiB;YACjB,gBAAgB;YAChB,oBAAoB;SACpB,CAAC;IACH,CAAC;IAED,OAAO;QACN,gBAAgB;QAChB,iBAAiB;QACjB,mBAAmB;QACnB,aAAa;QACb,oBAAoB;QACpB,gBAAgB;QAChB,oBAAoB;KACpB,CAAC;AACH,CAAC;AAED,SAAS,oCAAoC,CAAC,WAAwB;IACrE,IAAI,WAAW,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,EAAE,CAAC;IACX,CAAC;IAED,OAAO;QACN,wBAAwB;QACxB,sBAAsB;QACtB,oBAAoB;QACpB,sBAAsB;KACtB,CAAC;AACH,CAAC;AAED,SAAS,gCAAgC,CAAC,WAAwB;IACjE,MAAM,MAAM,GAAG;;;;;;CAMf,CAAC;IACD,IAAI,WAAW,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,GAAG,MAAM;;CAEjB,CAAC;IACD,CAAC;IAED,OAAO,GAAG,MAAM;;;CAGhB,CAAC;AACF,CAAC;AAED,MAAM,wBAAwB,GAAG;;;;;;;;;;;;;;;;;CAiBhC,CAAC;AAEF,MAAM,8BAA8B,GAAG;;;;;;;;;;;;;;;;CAgBtC,CAAC;AAEF,MAAM,qBAAqB,GAAG;;;;;;;;;;;;;;;CAe7B,CAAC;AAEF,MAAM,yBAAyB,GAAG,GAAW,EAAE,CAAC,CAAC;IAChD,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE;QACP,OAAO,EAAE,QAAQ;QACjB,aAAa,EAAE,YAAY;QAC3B,WAAW,EAAE,cAAc;QAC3B,cAAc,EAAE,EAAE;QAClB,iBAAiB,EAAE,EAAE;KACrB;IACD,GAAG,EAAE;QACJ,KAAK,EAAE,yBAAyB;QAChC,UAAU,EAAE,OAAO;KACnB;IACD,MAAM,EAAE;QACP,KAAK,EAAE,eAAe;QACtB,MAAM,EAAE,IAAI;KACZ;CACD,CAAC,CAAC;AAEH,MAAM,sBAAsB,GAAG,GAAW,EAAE,CAAC,CAAC;IAC7C,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE;QACP,OAAO,EAAE,QAAQ;QACjB,aAAa,EAAE,YAAY;QAC3B,WAAW,EAAE,cAAc;QAC3B,cAAc,EAAE,EAAE;QAClB,iBAAiB,EAAE,EAAE;KACrB;IACD,GAAG,EAAE;QACJ,KAAK,EAAE,sBAAsB;QAC7B,UAAU,EAAE,OAAO;KACnB;IACD,MAAM,EAAE;QACP,KAAK,EAAE,WAAW;QAClB,MAAM,EAAE,IAAI;KACZ;CACD,CAAC,CAAC;AAEH,MAAM,qBAAqB,GAAG,CAAC,MAAc,EAAE,kBAA0B,EAAU,EAAE,CAAC,CAAC;IACtF,OAAO,EAAE;QACR,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;QACvB,IAAI,EAAE,UAAU;QAChB,SAAS,EAAE;YACV,cAAc,EAAE;gBACf,oBAAoB,kBAAkB,EAAE;gBACxC,oBAAoB,kBAAkB,EAAE;aACxC;SACD;QACD,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,KAAK;KACX;IACD,MAAM,EAAE;QACP,QAAQ,EAAE;YACT,KAAK,EAAE,EAAE,OAAO,EAAE,sBAAsB,EAAE;YAC1C,OAAO,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE;YAC/D,SAAS,EAAE,0BAA0B;SACrC;KACD;IACD,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;IACvC,OAAO,EAAE;QACR,OAAO,EAAE;YACR,QAAQ,EAAE;gBACT,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE;oBACP,aAAa,EAAE,iCAAiC;oBAChD,MAAM;iBACN;aACD;SACD;KACD;IACD,QAAQ,EAAE,EAAE;CACZ,CAAC,CAAC;AAEH,MAAM,0BAA0B,GAAG,GAAW,EAAE,CAAC,CAAC;IACjD,cAAc,EAAE,OAAO;IACvB,YAAY,EAAE,QAAQ;IACtB,cAAc,EAAE,oCAAoC;IACpD,aAAa,EAAE,SAAS;IACxB,WAAW,EAAE,WAAW;IACxB,UAAU,EAAE,CAAC;IACb,KAAK,EAAE,cAAc;IACrB,QAAQ,EAAE,QAAQ;IAClB,WAAW,EAAE,WAAW;IACxB,qBAAqB,EAAE,OAAO;CAC9B,CAAC,CAAC;AAEH,KAAK,UAAU,kBAAkB,CAChC,QAAgB,EAChB,OAAe;IAEf,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5D,IAAI,CAAC;QACJ,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE;YACrC,QAAQ,EAAE,MAAM;YAChB,IAAI,EAAE,IAAI;SACV,CAAC,CAAC;QACH,OAAO,SAAS,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC/F,OAAO,SAAS,CAAC;QAClB,CAAC;QAED,MAAM,KAAK,CAAC;IACb,CAAC;AACF,CAAC;AAED,MAAM,UAAU,sBAAsB,CACrC,OAAsC,EACtC,eAAmD,EAAE;IAErD,OAAO,8BAA8B,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;AAC9D,CAAC;AAED,KAAK,UAAU,8BAA8B,CAC5C,OAAsC,EACtC,eAAmD,EAAE;IAErD,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IAExC,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IACrE,MAAM,kBAAkB,GAAG,MAAM,kBAAkB,CAClD,gBAAgB,EAChB,GAAG,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CACnF,CAAC;IACF,CAAC,kBAAkB,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAE3E,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IAC/D,MAAM,aAAa,GAAG,MAAM,kBAAkB,CAC7C,WAAW,EACX,gCAAgC,CAAC,WAAW,CAAC,CAC7C,CAAC;IACF,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACrE,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QACjC,MAAM,sBAAsB,GAC3B,YAAY,CAAC,sBAAsB;YACnC,CAAC,GAAuB,EAAE;gBACzB,IAAI,CAAC;oBACJ,MAAM,YAAY,GAAG,YAAY,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;oBAC1E,OAAO,YAAY;yBACjB,KAAK,CAAC,IAAI,CAAC;yBACX,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;wBACnD,EAAE,IAAI,EAAE,CAAC;gBACX,CAAC;gBAAC,MAAM,CAAC;oBACR,OAAO,SAAS,CAAC;gBAClB,CAAC;YACF,CAAC,CAAC,CAAC;QACJ,MAAM,cAAc,GAAG,sBAAsB,EAAE,CAAC;QAChD,IAAI,cAAc,EAAE,CAAC;YACpB,MAAM,EAAE,CAAC,UAAU,CAAC,WAAW,EAAE,oBAAoB,cAAc,IAAI,EAAE,MAAM,CAAC,CAAC;QAClF,CAAC;IACF,CAAC;IAED,MAAM,qBAAqB,GAAG,4BAA4B,CAAC,WAAW,CAAC,CAAC;IACxE,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAClC,OAAO,CAAC,SAAS,EACjB,QAAQ,EACR,OAAO,CAAC,MAAM,EACd,qBAAqB,CACrB,CAAC;IACF,MAAM,mBAAmB,GAAG,MAAM,kBAAkB,CACnD,iBAAiB,EACjB,GAAG,IAAI,CAAC,SAAS,CAChB,WAAW,KAAK,UAAU;QACzB,CAAC,CAAC,qBAAqB,CAAC,OAAO,CAAC,MAAM,EAAE,yBAAyB,CAAC;QAClE,CAAC,CAAC,0BAA0B,EAAE,EAC/B,IAAI,EACJ,IAAI,CACJ,IAAI,CACL,CAAC;IACF,CAAC,mBAAmB,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAC3D,UAAU,OAAO,CAAC,MAAM,IAAI,qBAAqB,EAAE,CACnD,CAAC;IAEF,MAAM,qBAAqB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;IAC9F,MAAM,uBAAuB,GAAG,MAAM,kBAAkB,CACvD,qBAAqB,EACrB,WAAW,KAAK,UAAU,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,8BAA8B,CACtF,CAAC;IACF,CAAC,uBAAuB,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IAE9F,MAAM,sBAAsB,GAAG,IAAI,CAAC,IAAI,CACvC,OAAO,CAAC,SAAS,EACjB,QAAQ,EACR,SAAS,EACT,mBAAmB,CACnB,CAAC;IACF,MAAM,wBAAwB,GAAG,MAAM,kBAAkB,CACxD,sBAAsB,EACtB,GAAG,IAAI,CAAC,SAAS,CAAC,yBAAyB,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAC9D,CAAC;IACF,CAAC,wBAAwB,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAChE,kCAAkC,CAClC,CAAC;IAEF,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;IACxF,MAAM,oBAAoB,GAAG,MAAM,kBAAkB,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,CAAC;IACjG,CAAC,oBAAoB,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IAExF,MAAM,mBAAmB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAChG,MAAM,qBAAqB,GAAG,MAAM,kBAAkB,CACrD,mBAAmB,EACnB,GAAG,IAAI,CAAC,SAAS,CAAC,sBAAsB,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAC3D,CAAC;IACF,CAAC,qBAAqB,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IAEhG,KAAK,MAAM,aAAa,IAAI;QAC3B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC;QACrD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC;QAC1D,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,YAAY,EAAE,OAAO,CAAC;KACnD,EAAE,CAAC;QACH,MAAM,EAAE,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AACpD,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,iCAAiC,CACtD,eAAgD,EAAE;IAElD,MAAM,QAAQ,GAAG,YAAY,CAAC,gBAAgB,IAAI,sBAAsB,CAAC;IACzE,MAAM,UAAU,GAAG,YAAY,CAAC,kBAAkB,IAAI,wBAAwB,CAAC;IAE/E,IAAI,QAAQ,EAAE,EAAE,CAAC;QAChB,OAAO,KAAK,CAAC;IACd,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC;IACd,CAAC;IAED,+DAA+D;IAC/D,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;IACjD,MAAM,WAAW,GAAG,IAAI,QAAQ,CAAC;QAChC,KAAK,CAAC,MAAc,EAAE,SAAyB,EAAE,QAAoB;YACpE,QAAQ,EAAE,CAAC;QACZ,CAAC;KACD,CAAC,CAAC;IAEH,MAAM,EAAE,GACP,YAAY,CAAC,uBAAuB,EAAE,EAAE;QACxC,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IAEzF,IAAI,CAAC;QACJ,OAAO,CAAC,MAAM,CAAC,KAAK,CACnB,kHAAkH,CAClH,CAAC;QACF,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACpC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAE3B,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAClC,IAAI,CAAC,YAAY,EAAE,CAAC;YACnB,OAAO,KAAK,CAAC;QACd,CAAC;QAED,UAAU,CAAC,YAAY,CAAC,CAAC;QACzB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC;IACb,CAAC;YAAS,CAAC;QACV,EAAE,CAAC,KAAK,EAAE,CAAC;IACZ,CAAC;AACF,CAAC"}
|
|
1
|
+
{"version":3,"file":"init-command.js","sourceRoot":"","sources":["../../src/cli/init-command.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import fs from 'node:fs/promises';
|
|
2
|
+
export declare const openClawPluginVendorDirectory = "images/gateway/vendor/gondolin";
|
|
3
|
+
export declare function syncBundledOpenClawPluginBundle(targetDir: string, dependencies?: {
|
|
4
|
+
readonly access?: typeof fs.access;
|
|
5
|
+
readonly copyDirectory?: typeof fs.cp;
|
|
6
|
+
readonly createDirectory?: typeof fs.mkdir;
|
|
7
|
+
readonly removeDirectory?: typeof fs.rm;
|
|
8
|
+
readonly resolveBundledDistDirectory?: () => Promise<string>;
|
|
9
|
+
}): Promise<'created' | 'skipped'>;
|
|
10
|
+
//# sourceMappingURL=openclaw-plugin-bundle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openclaw-plugin-bundle.d.ts","sourceRoot":"","sources":["../../src/cli/openclaw-plugin-bundle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAIlC,eAAO,MAAM,6BAA6B,mCAAmC,CAAC;AAkB9E,wBAAsB,+BAA+B,CACpD,SAAS,EAAE,MAAM,EACjB,YAAY,GAAE;IACb,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC;IACnC,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IACtC,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,EAAE,CAAC,KAAK,CAAC;IAC3C,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IACxC,QAAQ,CAAC,2BAA2B,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;CACxD,GACJ,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CAmBhC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import fs from 'node:fs/promises';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
import { fileURLToPath } from 'node:url';
|
|
4
|
+
export const openClawPluginVendorDirectory = 'images/gateway/vendor/gondolin';
|
|
5
|
+
async function resolveBundledOpenClawPluginDistDirectory() {
|
|
6
|
+
const pluginEntrypointPath = fileURLToPath(import.meta.resolve('@shravansunder/openclaw-agent-vm-plugin'));
|
|
7
|
+
const pluginDistDirectory = path.dirname(pluginEntrypointPath);
|
|
8
|
+
try {
|
|
9
|
+
await fs.access(path.join(pluginDistDirectory, 'openclaw.plugin.json'));
|
|
10
|
+
}
|
|
11
|
+
catch (error) {
|
|
12
|
+
throw new Error(`Bundled gondolin plugin dist is missing at '${pluginDistDirectory}'. Run \`pnpm build\` before using the OpenClaw gateway scaffold/build path.`, { cause: error });
|
|
13
|
+
}
|
|
14
|
+
return pluginDistDirectory;
|
|
15
|
+
}
|
|
16
|
+
export async function syncBundledOpenClawPluginBundle(targetDir, dependencies = {}) {
|
|
17
|
+
const access = dependencies.access ?? fs.access;
|
|
18
|
+
const copyDirectory = dependencies.copyDirectory ?? fs.cp;
|
|
19
|
+
const createDirectory = dependencies.createDirectory ?? fs.mkdir;
|
|
20
|
+
const removeDirectory = dependencies.removeDirectory ?? fs.rm;
|
|
21
|
+
const resolveBundledDistDirectory = dependencies.resolveBundledDistDirectory ?? resolveBundledOpenClawPluginDistDirectory;
|
|
22
|
+
const pluginTargetDirectory = path.join(targetDir, openClawPluginVendorDirectory);
|
|
23
|
+
try {
|
|
24
|
+
await access(path.join(pluginTargetDirectory, 'openclaw.plugin.json'));
|
|
25
|
+
}
|
|
26
|
+
catch {
|
|
27
|
+
// Target does not exist yet — nothing to clean.
|
|
28
|
+
}
|
|
29
|
+
await removeDirectory(pluginTargetDirectory, { force: true, recursive: true });
|
|
30
|
+
const pluginDistDirectory = await resolveBundledDistDirectory();
|
|
31
|
+
await createDirectory(path.dirname(pluginTargetDirectory), { recursive: true });
|
|
32
|
+
await copyDirectory(pluginDistDirectory, pluginTargetDirectory, { recursive: true });
|
|
33
|
+
return 'created';
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=openclaw-plugin-bundle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openclaw-plugin-bundle.js","sourceRoot":"","sources":["../../src/cli/openclaw-plugin-bundle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,CAAC,MAAM,6BAA6B,GAAG,gCAAgC,CAAC;AAE9E,KAAK,UAAU,yCAAyC;IACvD,MAAM,oBAAoB,GAAG,aAAa,CACzC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,yCAAyC,CAAC,CAC9D,CAAC;IACF,MAAM,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC/D,IAAI,CAAC;QACJ,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,CAAC,CAAC;IACzE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CACd,+CAA+C,mBAAmB,8EAA8E,EAChJ,EAAE,KAAK,EAAE,KAAK,EAAE,CAChB,CAAC;IACH,CAAC;IACD,OAAO,mBAAmB,CAAC;AAC5B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,+BAA+B,CACpD,SAAiB,EACjB,eAMI,EAAE;IAEN,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,IAAI,EAAE,CAAC,MAAM,CAAC;IAChD,MAAM,aAAa,GAAG,YAAY,CAAC,aAAa,IAAI,EAAE,CAAC,EAAE,CAAC;IAC1D,MAAM,eAAe,GAAG,YAAY,CAAC,eAAe,IAAI,EAAE,CAAC,KAAK,CAAC;IACjE,MAAM,eAAe,GAAG,YAAY,CAAC,eAAe,IAAI,EAAE,CAAC,EAAE,CAAC;IAC9D,MAAM,2BAA2B,GAChC,YAAY,CAAC,2BAA2B,IAAI,yCAAyC,CAAC;IACvF,MAAM,qBAAqB,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,6BAA6B,CAAC,CAAC;IAClF,IAAI,CAAC;QACJ,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,sBAAsB,CAAC,CAAC,CAAC;IACxE,CAAC;IAAC,MAAM,CAAC;QACR,gDAAgD;IACjD,CAAC;IACD,MAAM,eAAe,CAAC,qBAAqB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE/E,MAAM,mBAAmB,GAAG,MAAM,2BAA2B,EAAE,CAAC;IAChE,MAAM,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAChF,MAAM,aAAa,CAAC,mBAAmB,EAAE,qBAAqB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACrF,OAAO,SAAS,CAAC;AAClB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ssh-commands.d.ts","sourceRoot":"","sources":["../../src/cli/ssh-commands.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EACN,KAAK,eAAe,EACpB,KAAK,KAAK,EAIV,MAAM,2BAA2B,CAAC;AAEnC,UAAU,oBAAoB;IAC7B,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAC;IACvC,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IACnB,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;CACpC;AAED,eAAO,MAAM,2BAA2B;;;;;;iBAQzB,CAAC;AAEhB,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"ssh-commands.d.ts","sourceRoot":"","sources":["../../src/cli/ssh-commands.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EACN,KAAK,eAAe,EACpB,KAAK,KAAK,EAIV,MAAM,2BAA2B,CAAC;AAEnC,UAAU,oBAAoB;IAC7B,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAC;IACvC,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IACnB,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;CACpC;AAED,eAAO,MAAM,2BAA2B;;;;;;iBAQzB,CAAC;AAEhB,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAahF,wBAAsB,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CA8DhF"}
|
package/dist/cli/ssh-commands.js
CHANGED
|
@@ -10,6 +10,14 @@ export const zoneSshAccessResponseSchema = z
|
|
|
10
10
|
user: z.string().min(1).optional(),
|
|
11
11
|
})
|
|
12
12
|
.passthrough();
|
|
13
|
+
const openClawShellEnvFilePath = '/etc/profile.d/openclaw-env.sh';
|
|
14
|
+
function shellQuote(value) {
|
|
15
|
+
return `'${value.replace(/'/gu, `'\\''`)}'`;
|
|
16
|
+
}
|
|
17
|
+
function buildOpenClawAwareRemoteCommand(commandArguments) {
|
|
18
|
+
const quotedCommand = commandArguments.map((commandPart) => shellQuote(commandPart)).join(' ');
|
|
19
|
+
return `bash -lc ${shellQuote(`source ${openClawShellEnvFilePath} && exec ${quotedCommand}`)}`;
|
|
20
|
+
}
|
|
13
21
|
export async function runSshCommand(options) {
|
|
14
22
|
const controllerClient = options.dependencies.createControllerClient({
|
|
15
23
|
baseUrl: resolveControllerBaseUrl(options.systemConfig),
|
|
@@ -42,7 +50,9 @@ export async function runSshCommand(options) {
|
|
|
42
50
|
'-p',
|
|
43
51
|
String(sshResponse.port),
|
|
44
52
|
`${sshResponse.user ?? 'root'}@${sshResponse.host}`,
|
|
45
|
-
...remoteCommandArguments
|
|
53
|
+
...(remoteCommandArguments.length > 0
|
|
54
|
+
? [buildOpenClawAwareRemoteCommand(remoteCommandArguments)]
|
|
55
|
+
: []),
|
|
46
56
|
];
|
|
47
57
|
const runInteractiveProcess = options.dependencies.runInteractiveProcess ??
|
|
48
58
|
(async (command, arguments_) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ssh-commands.js","sourceRoot":"","sources":["../../src/cli/ssh-commands.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ssh-commands.js","sourceRoot":"","sources":["../../src/cli/ssh-commands.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,8 @@ import { z } from 'zod';
|
|
|
2
2
|
declare const systemConfigSchema: z.ZodObject<{
|
|
3
3
|
host: z.ZodObject<{
|
|
4
4
|
controllerPort: z.ZodNumber;
|
|
5
|
-
|
|
5
|
+
projectNamespace: z.ZodString;
|
|
6
|
+
secretsProvider: z.ZodOptional<z.ZodObject<{
|
|
6
7
|
type: z.ZodLiteral<"1password">;
|
|
7
8
|
tokenSource: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
8
9
|
type: z.ZodLiteral<"op-cli">;
|
|
@@ -15,7 +16,7 @@ declare const systemConfigSchema: z.ZodObject<{
|
|
|
15
16
|
service: z.ZodString;
|
|
16
17
|
account: z.ZodString;
|
|
17
18
|
}, z.core.$strip>], "type">;
|
|
18
|
-
}, z.core.$strip
|
|
19
|
+
}, z.core.$strip>>;
|
|
19
20
|
}, z.core.$strip>;
|
|
20
21
|
cacheDir: z.ZodDefault<z.ZodString>;
|
|
21
22
|
images: z.ZodObject<{
|
|
@@ -33,7 +34,7 @@ declare const systemConfigSchema: z.ZodObject<{
|
|
|
33
34
|
gateway: z.ZodObject<{
|
|
34
35
|
type: z.ZodDefault<z.ZodEnum<{
|
|
35
36
|
openclaw: "openclaw";
|
|
36
|
-
|
|
37
|
+
worker: "worker";
|
|
37
38
|
}>>;
|
|
38
39
|
memory: z.ZodString;
|
|
39
40
|
cpus: z.ZodNumber;
|
|
@@ -41,17 +42,31 @@ declare const systemConfigSchema: z.ZodObject<{
|
|
|
41
42
|
gatewayConfig: z.ZodString;
|
|
42
43
|
stateDir: z.ZodString;
|
|
43
44
|
workspaceDir: z.ZodString;
|
|
44
|
-
authProfilesRef: z.ZodOptional<z.
|
|
45
|
+
authProfilesRef: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
46
|
+
source: z.ZodLiteral<"1password">;
|
|
47
|
+
ref: z.ZodString;
|
|
48
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
49
|
+
source: z.ZodLiteral<"environment">;
|
|
50
|
+
envVar: z.ZodString;
|
|
51
|
+
}, z.core.$strip>], "source">>;
|
|
45
52
|
}, z.core.$strip>;
|
|
46
|
-
secrets: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
53
|
+
secrets: z.ZodRecord<z.ZodString, z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
47
54
|
source: z.ZodLiteral<"1password">;
|
|
48
|
-
ref: z.
|
|
55
|
+
ref: z.ZodString;
|
|
49
56
|
injection: z.ZodDefault<z.ZodEnum<{
|
|
50
57
|
env: "env";
|
|
51
58
|
"http-mediation": "http-mediation";
|
|
52
59
|
}>>;
|
|
53
60
|
hosts: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
54
|
-
}, z.core.$strip
|
|
61
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
62
|
+
source: z.ZodLiteral<"environment">;
|
|
63
|
+
envVar: z.ZodString;
|
|
64
|
+
injection: z.ZodDefault<z.ZodEnum<{
|
|
65
|
+
env: "env";
|
|
66
|
+
"http-mediation": "http-mediation";
|
|
67
|
+
}>>;
|
|
68
|
+
hosts: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
69
|
+
}, z.core.$strip>], "source">>;
|
|
55
70
|
allowedHosts: z.ZodArray<z.ZodString>;
|
|
56
71
|
websocketBypass: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
57
72
|
toolProfile: z.ZodString;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system-config.d.ts","sourceRoot":"","sources":["../../src/config/system-config.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"system-config.d.ts","sourceRoot":"","sources":["../../src/config/system-config.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAiFxB,QAAA,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAiErB,CAAC;AAEJ,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AA+C9D,wBAAsB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAehF"}
|
|
@@ -1,12 +1,31 @@
|
|
|
1
1
|
import fs from 'node:fs/promises';
|
|
2
2
|
import path from 'node:path';
|
|
3
3
|
import { z } from 'zod';
|
|
4
|
-
const
|
|
4
|
+
const gatewayTypeValues = ['openclaw', 'worker'];
|
|
5
|
+
const secretInjectionSchema = z.enum(['env', 'http-mediation']);
|
|
6
|
+
const onePasswordSecretSchema = z.object({
|
|
5
7
|
source: z.literal('1password'),
|
|
6
|
-
ref: z.string().min(1)
|
|
7
|
-
injection:
|
|
8
|
+
ref: z.string().min(1),
|
|
9
|
+
injection: secretInjectionSchema.default('http-mediation'),
|
|
8
10
|
hosts: z.array(z.string().min(1)).optional(),
|
|
9
11
|
});
|
|
12
|
+
const environmentSecretSchema = z.object({
|
|
13
|
+
source: z.literal('environment'),
|
|
14
|
+
envVar: z.string().min(1),
|
|
15
|
+
injection: secretInjectionSchema.default('http-mediation'),
|
|
16
|
+
hosts: z.array(z.string().min(1)).optional(),
|
|
17
|
+
});
|
|
18
|
+
const secretReferenceSchema = z
|
|
19
|
+
.discriminatedUnion('source', [onePasswordSecretSchema, environmentSecretSchema])
|
|
20
|
+
.superRefine((secret, context) => {
|
|
21
|
+
if (secret.injection === 'http-mediation' && (!secret.hosts || secret.hosts.length === 0)) {
|
|
22
|
+
context.addIssue({
|
|
23
|
+
code: z.ZodIssueCode.custom,
|
|
24
|
+
message: "Injection 'http-mediation' requires at least one host.",
|
|
25
|
+
path: ['hosts'],
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
});
|
|
10
29
|
const tokenSourceSchema = z.discriminatedUnion('type', [
|
|
11
30
|
z.object({
|
|
12
31
|
type: z.literal('op-cli'),
|
|
@@ -22,15 +41,25 @@ const tokenSourceSchema = z.discriminatedUnion('type', [
|
|
|
22
41
|
account: z.string().min(1),
|
|
23
42
|
}),
|
|
24
43
|
]);
|
|
44
|
+
const authProfilesSecretSchema = z.discriminatedUnion('source', [
|
|
45
|
+
z.object({
|
|
46
|
+
source: z.literal('1password'),
|
|
47
|
+
ref: z.string().min(1),
|
|
48
|
+
}),
|
|
49
|
+
z.object({
|
|
50
|
+
source: z.literal('environment'),
|
|
51
|
+
envVar: z.string().min(1),
|
|
52
|
+
}),
|
|
53
|
+
]);
|
|
25
54
|
const zoneGatewaySchema = z.object({
|
|
26
|
-
type: z.enum(
|
|
55
|
+
type: z.enum(gatewayTypeValues).default('openclaw'),
|
|
27
56
|
memory: z.string().min(1),
|
|
28
57
|
cpus: z.number().int().positive(),
|
|
29
58
|
port: z.number().int().positive(),
|
|
30
59
|
gatewayConfig: z.string().min(1),
|
|
31
60
|
stateDir: z.string().min(1),
|
|
32
61
|
workspaceDir: z.string().min(1),
|
|
33
|
-
authProfilesRef:
|
|
62
|
+
authProfilesRef: authProfilesSecretSchema.optional(),
|
|
34
63
|
});
|
|
35
64
|
const toolProfileSchema = z.object({
|
|
36
65
|
memory: z.string().min(1),
|
|
@@ -41,13 +70,20 @@ const imageConfigSchema = z.object({
|
|
|
41
70
|
buildConfig: z.string().min(1),
|
|
42
71
|
dockerfile: z.string().min(1).optional(),
|
|
43
72
|
});
|
|
44
|
-
const systemConfigSchema = z
|
|
73
|
+
const systemConfigSchema = z
|
|
74
|
+
.object({
|
|
45
75
|
host: z.object({
|
|
46
76
|
controllerPort: z.number().int().positive(),
|
|
47
|
-
|
|
77
|
+
projectNamespace: z
|
|
78
|
+
.string()
|
|
79
|
+
.min(1)
|
|
80
|
+
.regex(/^[a-z0-9][a-z0-9-]*$/u, 'projectNamespace must use lowercase letters, numbers, and hyphens only'),
|
|
81
|
+
secretsProvider: z
|
|
82
|
+
.object({
|
|
48
83
|
type: z.literal('1password'),
|
|
49
84
|
tokenSource: tokenSourceSchema,
|
|
50
|
-
})
|
|
85
|
+
})
|
|
86
|
+
.optional(),
|
|
51
87
|
}),
|
|
52
88
|
cacheDir: z.string().min(1).default('./cache'),
|
|
53
89
|
images: z.object({
|
|
@@ -69,6 +105,27 @@ const systemConfigSchema = z.object({
|
|
|
69
105
|
basePort: z.number().int().positive(),
|
|
70
106
|
size: z.number().int().positive(),
|
|
71
107
|
}),
|
|
108
|
+
})
|
|
109
|
+
.superRefine((config, context) => {
|
|
110
|
+
const hasOnePasswordSecrets = config.zones.some((zone) => Object.values(zone.secrets).some((secret) => secret.source === '1password') ||
|
|
111
|
+
zone.gateway.authProfilesRef?.source === '1password');
|
|
112
|
+
if (hasOnePasswordSecrets && !config.host.secretsProvider) {
|
|
113
|
+
context.addIssue({
|
|
114
|
+
code: z.ZodIssueCode.custom,
|
|
115
|
+
message: "host.secretsProvider is required when any zone secret uses source '1password'.",
|
|
116
|
+
path: ['host', 'secretsProvider'],
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
for (const [zoneIndex, zone] of config.zones.entries()) {
|
|
120
|
+
if (config.toolProfiles[zone.toolProfile]) {
|
|
121
|
+
continue;
|
|
122
|
+
}
|
|
123
|
+
context.addIssue({
|
|
124
|
+
code: z.ZodIssueCode.custom,
|
|
125
|
+
message: `Zone '${zone.id}' references unknown toolProfile '${zone.toolProfile}'.`,
|
|
126
|
+
path: ['zones', zoneIndex, 'toolProfile'],
|
|
127
|
+
});
|
|
128
|
+
}
|
|
72
129
|
});
|
|
73
130
|
/**
|
|
74
131
|
* Resolve all relative paths in a system config relative to the config file's directory.
|
|
@@ -114,7 +171,16 @@ export async function loadSystemConfig(configPath) {
|
|
|
114
171
|
const absoluteConfigPath = path.resolve(configPath);
|
|
115
172
|
const configDir = path.dirname(absoluteConfigPath);
|
|
116
173
|
const rawConfig = await fs.readFile(absoluteConfigPath, 'utf8');
|
|
117
|
-
|
|
174
|
+
let parsedConfig;
|
|
175
|
+
try {
|
|
176
|
+
parsedConfig = JSON.parse(rawConfig);
|
|
177
|
+
}
|
|
178
|
+
catch (error) {
|
|
179
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
180
|
+
throw new Error(`Failed to parse system config '${absoluteConfigPath}': ${message}`, {
|
|
181
|
+
cause: error,
|
|
182
|
+
});
|
|
183
|
+
}
|
|
118
184
|
const config = systemConfigSchema.parse(parsedConfig);
|
|
119
185
|
return resolveRelativePaths(config, configDir);
|
|
120
186
|
}
|