@agent-vm/agent-vm 0.0.39 → 0.0.40
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/build/managed-image-dockerfile.d.ts +19 -0
- package/dist/build/managed-image-dockerfile.d.ts.map +1 -0
- package/dist/build/managed-image-dockerfile.js +128 -0
- package/dist/build/managed-image-dockerfile.js.map +1 -0
- package/dist/cli/build-command.d.ts +11 -0
- package/dist/cli/build-command.d.ts.map +1 -1
- package/dist/cli/build-command.js +65 -4
- package/dist/cli/build-command.js.map +1 -1
- package/dist/cli/commands/create-app.d.ts +28 -0
- package/dist/cli/commands/create-app.d.ts.map +1 -1
- package/dist/cli/commands/create-app.js +2 -0
- package/dist/cli/commands/create-app.js.map +1 -1
- package/dist/cli/commands/migrate-definition.d.ts +23 -0
- package/dist/cli/commands/migrate-definition.d.ts.map +1 -0
- package/dist/cli/commands/migrate-definition.js +29 -0
- package/dist/cli/commands/migrate-definition.js.map +1 -0
- package/dist/cli/init-command.d.ts.map +1 -1
- package/dist/cli/init-command.js +32 -175
- package/dist/cli/init-command.js.map +1 -1
- package/dist/cli/manual-templates.js +12 -12
- package/dist/cli/manual-templates.js.map +1 -1
- package/dist/cli/migrate-commands.d.ts +8 -0
- package/dist/cli/migrate-commands.d.ts.map +1 -0
- package/dist/cli/migrate-commands.js +92 -0
- package/dist/cli/migrate-commands.js.map +1 -0
- package/dist/config/system-config.d.ts +18 -0
- package/dist/config/system-config.d.ts.map +1 -1
- package/dist/config/system-config.js +36 -0
- package/dist/config/system-config.js.map +1 -1
- package/dist/operations/config-validation.js +1 -1
- package/dist/operations/config-validation.js.map +1 -1
- package/dist/operations/doctor.d.ts.map +1 -1
- package/dist/operations/doctor.js +27 -3
- package/dist/operations/doctor.js.map +1 -1
- package/package.json +7 -7
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export type ManagedImageBase = 'openclaw-gateway' | 'tool-vm' | 'worker-gateway';
|
|
2
|
+
export declare const MANAGED_OPENCLAW_VERSION = "2026.5.2";
|
|
3
|
+
export interface ManagedImageSource {
|
|
4
|
+
readonly kind: 'managedBase';
|
|
5
|
+
readonly base: ManagedImageBase;
|
|
6
|
+
readonly overlay?: string | undefined;
|
|
7
|
+
}
|
|
8
|
+
export interface GenerateManagedDockerfileOptions {
|
|
9
|
+
readonly base: ManagedImageBase;
|
|
10
|
+
readonly imageTargetFamily: 'gateway' | 'toolVm';
|
|
11
|
+
readonly imageTargetName: string;
|
|
12
|
+
readonly outputDirectory: string;
|
|
13
|
+
readonly overlayPath?: string | undefined;
|
|
14
|
+
readonly packageVersion: string;
|
|
15
|
+
readonly requiredOpenClawPackages?: readonly string[];
|
|
16
|
+
}
|
|
17
|
+
export declare function generateManagedDockerfile(options: GenerateManagedDockerfileOptions): Promise<string>;
|
|
18
|
+
export declare function resolveAgentVmPackageVersion(): Promise<string>;
|
|
19
|
+
//# sourceMappingURL=managed-image-dockerfile.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"managed-image-dockerfile.d.ts","sourceRoot":"","sources":["../../src/build/managed-image-dockerfile.ts"],"names":[],"mappings":"AASA,MAAM,MAAM,gBAAgB,GAAG,kBAAkB,GAAG,SAAS,GAAG,gBAAgB,CAAC;AAEjF,eAAO,MAAM,wBAAwB,aAAa,CAAC;AAEnD,MAAM,WAAW,kBAAkB;IAClC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACtC;AAED,MAAM,WAAW,gCAAgC;IAChD,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,QAAQ,CAAC,iBAAiB,EAAE,SAAS,GAAG,QAAQ,CAAC;IACjD,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,wBAAwB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACtD;AA8FD,wBAAsB,yBAAyB,CAC9C,OAAO,EAAE,gCAAgC,GACvC,OAAO,CAAC,MAAM,CAAC,CA2BjB;AAID,wBAAsB,4BAA4B,IAAI,OAAO,CAAC,MAAM,CAAC,CAuBpE"}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import fs from 'node:fs/promises';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
import { fileURLToPath } from 'node:url';
|
|
4
|
+
import { z } from 'zod';
|
|
5
|
+
import { loadJsonConfigFile } from '../config/json-config-file.js';
|
|
6
|
+
import { formatZodError } from '../cli/format-zod-error.js';
|
|
7
|
+
export const MANAGED_OPENCLAW_VERSION = '2026.5.2';
|
|
8
|
+
const overlayCopySchema = z
|
|
9
|
+
.object({
|
|
10
|
+
from: z.string().min(1),
|
|
11
|
+
to: z.string().min(1),
|
|
12
|
+
})
|
|
13
|
+
.strict();
|
|
14
|
+
const managedImageOverlaySchema = z
|
|
15
|
+
.object({
|
|
16
|
+
schemaVersion: z.literal(1),
|
|
17
|
+
extraAptPackages: z.array(z.string().min(1)).default([]),
|
|
18
|
+
extraOpenClawPackages: z.array(z.string().min(1)).default([]),
|
|
19
|
+
copy: z.array(overlayCopySchema).default([]),
|
|
20
|
+
runAfterBase: z.array(z.string().min(1)).default([]),
|
|
21
|
+
})
|
|
22
|
+
.strict();
|
|
23
|
+
const baseImageRepositoryByBase = {
|
|
24
|
+
'openclaw-gateway': 'ghcr.io/shravansunder/agent-vm-openclaw-gateway-base',
|
|
25
|
+
'tool-vm': 'ghcr.io/shravansunder/agent-vm-tool-vm-base',
|
|
26
|
+
'worker-gateway': 'ghcr.io/shravansunder/agent-vm-worker-gateway-base',
|
|
27
|
+
};
|
|
28
|
+
async function loadManagedImageOverlay(overlayPath) {
|
|
29
|
+
if (!overlayPath) {
|
|
30
|
+
return {
|
|
31
|
+
schemaVersion: 1,
|
|
32
|
+
extraAptPackages: [],
|
|
33
|
+
extraOpenClawPackages: [],
|
|
34
|
+
copy: [],
|
|
35
|
+
runAfterBase: [],
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
const rawOverlay = await loadJsonConfigFile(overlayPath);
|
|
39
|
+
const parsedOverlay = managedImageOverlaySchema.safeParse(rawOverlay);
|
|
40
|
+
if (!parsedOverlay.success) {
|
|
41
|
+
throw new Error(formatZodError(`Invalid managed image overlay at ${overlayPath}:`, parsedOverlay.error));
|
|
42
|
+
}
|
|
43
|
+
return parsedOverlay.data;
|
|
44
|
+
}
|
|
45
|
+
function shellJoin(argumentsToQuote) {
|
|
46
|
+
return argumentsToQuote.map((argument) => JSON.stringify(argument)).join(' ');
|
|
47
|
+
}
|
|
48
|
+
function renderManagedDockerfile(props) {
|
|
49
|
+
const lines = [
|
|
50
|
+
`FROM ${baseImageRepositoryByBase[props.base]}:${props.packageVersion}`,
|
|
51
|
+
'',
|
|
52
|
+
'# Generated by agent-vm from a managed image profile. Do not edit by hand.',
|
|
53
|
+
];
|
|
54
|
+
if (props.overlay.extraAptPackages.length > 0) {
|
|
55
|
+
lines.push('RUN apt-get update && apt-get install -y --no-install-recommends ' +
|
|
56
|
+
shellJoin(props.overlay.extraAptPackages) +
|
|
57
|
+
' && rm -rf /var/lib/apt/lists/*');
|
|
58
|
+
}
|
|
59
|
+
const openClawPackages = [
|
|
60
|
+
...props.requiredOpenClawPackages,
|
|
61
|
+
...props.overlay.extraOpenClawPackages,
|
|
62
|
+
];
|
|
63
|
+
if (openClawPackages.length > 0) {
|
|
64
|
+
lines.push('RUN pnpm add -g ' + shellJoin(openClawPackages));
|
|
65
|
+
}
|
|
66
|
+
for (const copy of props.overlay.copy) {
|
|
67
|
+
lines.push(`COPY overlay/${copy.from} ${copy.to}`);
|
|
68
|
+
}
|
|
69
|
+
for (const command of props.overlay.runAfterBase) {
|
|
70
|
+
lines.push(`RUN ${command}`);
|
|
71
|
+
}
|
|
72
|
+
lines.push('');
|
|
73
|
+
return lines.join('\n');
|
|
74
|
+
}
|
|
75
|
+
function assertOverlayCopySourceIsSafe(sourcePath) {
|
|
76
|
+
if (path.isAbsolute(sourcePath) || sourcePath.split(/[\\/]+/u).includes('..')) {
|
|
77
|
+
throw new Error(`Managed image overlay copy source '${sourcePath}' must be relative and must not contain parent traversal.`);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
export async function generateManagedDockerfile(options) {
|
|
81
|
+
const overlay = await loadManagedImageOverlay(options.overlayPath);
|
|
82
|
+
await fs.rm(options.outputDirectory, { force: true, recursive: true });
|
|
83
|
+
await fs.mkdir(path.join(options.outputDirectory, 'overlay'), { recursive: true });
|
|
84
|
+
const overlayDirectory = options.overlayPath ? path.dirname(options.overlayPath) : undefined;
|
|
85
|
+
for (const copy of overlay.copy) {
|
|
86
|
+
assertOverlayCopySourceIsSafe(copy.from);
|
|
87
|
+
if (!overlayDirectory) {
|
|
88
|
+
throw new Error(`Managed image profile '${options.imageTargetName}' has copy entries without an overlay path.`);
|
|
89
|
+
}
|
|
90
|
+
const sourcePath = path.join(overlayDirectory, copy.from);
|
|
91
|
+
const targetPath = path.join(options.outputDirectory, 'overlay', copy.from);
|
|
92
|
+
await fs.mkdir(path.dirname(targetPath), { recursive: true });
|
|
93
|
+
await fs.copyFile(sourcePath, targetPath);
|
|
94
|
+
}
|
|
95
|
+
const dockerfilePath = path.join(options.outputDirectory, 'Dockerfile');
|
|
96
|
+
await fs.writeFile(dockerfilePath, renderManagedDockerfile({
|
|
97
|
+
base: options.base,
|
|
98
|
+
overlay,
|
|
99
|
+
packageVersion: options.packageVersion,
|
|
100
|
+
requiredOpenClawPackages: options.requiredOpenClawPackages ?? [],
|
|
101
|
+
}), 'utf8');
|
|
102
|
+
return dockerfilePath;
|
|
103
|
+
}
|
|
104
|
+
const packageVersionSchema = z.object({ version: z.string().min(1) }).passthrough();
|
|
105
|
+
export async function resolveAgentVmPackageVersion() {
|
|
106
|
+
let searchDirectory = path.dirname(fileURLToPath(import.meta.url));
|
|
107
|
+
for (;;) {
|
|
108
|
+
const packageJsonPath = path.join(searchDirectory, 'package.json');
|
|
109
|
+
try {
|
|
110
|
+
const packageJson = packageVersionSchema.parse(await loadJsonConfigFile(packageJsonPath));
|
|
111
|
+
return packageJson.version;
|
|
112
|
+
}
|
|
113
|
+
catch (error) {
|
|
114
|
+
if (typeof error !== 'object' ||
|
|
115
|
+
error === null ||
|
|
116
|
+
!('code' in error) ||
|
|
117
|
+
error.code !== 'ENOENT') {
|
|
118
|
+
throw error;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
const parentDirectory = path.dirname(searchDirectory);
|
|
122
|
+
if (parentDirectory === searchDirectory) {
|
|
123
|
+
throw new Error('Unable to resolve @agent-vm/agent-vm package version.');
|
|
124
|
+
}
|
|
125
|
+
searchDirectory = parentDirectory;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
//# sourceMappingURL=managed-image-dockerfile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"managed-image-dockerfile.js","sourceRoot":"","sources":["../../src/build/managed-image-dockerfile.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { BuildImageResult } from '@agent-vm/gondolin-adapter';
|
|
2
|
+
import { type ManagedImageSource } from '../build/managed-image-dockerfile.js';
|
|
2
3
|
import type { LoadedSystemConfig } from '../config/system-config.js';
|
|
3
4
|
import type { RunTaskFn, TaskOutput } from '../shared/run-task.js';
|
|
4
5
|
export interface BuildCommandDependencies {
|
|
@@ -20,6 +21,16 @@ export interface BuildCommandDependencies {
|
|
|
20
21
|
/** Override the task runner for testing or custom CLI progress. */
|
|
21
22
|
readonly runTask?: RunTaskFn;
|
|
22
23
|
readonly resolveProjectRootFromDockerfile?: (dockerfilePath: string) => Promise<string>;
|
|
24
|
+
readonly generateManagedDockerfile?: (options: {
|
|
25
|
+
readonly base: ManagedImageSource['base'];
|
|
26
|
+
readonly imageTargetFamily: 'gateway' | 'toolVm';
|
|
27
|
+
readonly imageTargetName: string;
|
|
28
|
+
readonly outputDirectory: string;
|
|
29
|
+
readonly overlayPath?: string | undefined;
|
|
30
|
+
readonly packageVersion: string;
|
|
31
|
+
readonly requiredOpenClawPackages?: readonly string[];
|
|
32
|
+
}) => Promise<string>;
|
|
33
|
+
readonly resolveAgentVmPackageVersion?: () => Promise<string>;
|
|
23
34
|
readonly syncBundledOpenClawPlugin?: (targetDir: string, profileName: string) => Promise<'created' | 'skipped'>;
|
|
24
35
|
}
|
|
25
36
|
export declare function runBuildCommand(options: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-command.d.ts","sourceRoot":"","sources":["../../src/cli/build-command.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"build-command.d.ts","sourceRoot":"","sources":["../../src/cli/build-command.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAOnE,OAAO,EAIN,KAAK,kBAAkB,EACvB,MAAM,sCAAsC,CAAC;AAE9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAMrE,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAInE,MAAM,WAAW,wBAAwB;IACxC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE;QACrC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;QAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC;KACpC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpB,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE;QACvC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;QACjC,QAAQ,CAAC,yBAAyB,EAAE,MAAM,CAAC;QAC3C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;QAC7B,QAAQ,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC;KACpC,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAChC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC,eAAe,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3E,QAAQ,CAAC,yBAAyB,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3D,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC/D,mEAAmE;IACnE,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC;IAC7B,QAAQ,CAAC,gCAAgC,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACxF,QAAQ,CAAC,yBAAyB,CAAC,EAAE,CAAC,OAAO,EAAE;QAC9C,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAC1C,QAAQ,CAAC,iBAAiB,EAAE,SAAS,GAAG,QAAQ,CAAC;QACjD,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;QACjC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;QACjC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC1C,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;QAChC,QAAQ,CAAC,wBAAwB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;KACtD,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACtB,QAAQ,CAAC,4BAA4B,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9D,QAAQ,CAAC,yBAAyB,CAAC,EAAE,CACpC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,KACf,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC;CACpC;AAyJD,wBAAsB,eAAe,CACpC,OAAO,EAAE;IACR,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,YAAY,EAAE,kBAAkB,CAAC;CAC1C,EACD,YAAY,GAAE,wBAA6B,GACzC,OAAO,CAAC,IAAI,CAAC,CAkJf"}
|
|
@@ -5,6 +5,7 @@ import { execa } from 'execa';
|
|
|
5
5
|
import { z } from 'zod';
|
|
6
6
|
import { buildDockerImage as buildDockerImageDefault } from '../build/docker-image-builder.js';
|
|
7
7
|
import { buildGondolinImage as buildGondolinImageDefault } from '../build/gondolin-image-builder.js';
|
|
8
|
+
import { MANAGED_OPENCLAW_VERSION, generateManagedDockerfile as generateManagedDockerfileDefault, resolveAgentVmPackageVersion as resolveAgentVmPackageVersionDefault, } from '../build/managed-image-dockerfile.js';
|
|
8
9
|
import { loadJsonConfigFile } from '../config/json-config-file.js';
|
|
9
10
|
import { buildZigInstallHint, buildZigUpgradeHint, isVersionAtLeast, } from '../operations/doctor.js';
|
|
10
11
|
import { formatZodError } from './format-zod-error.js';
|
|
@@ -14,6 +15,16 @@ const ociImageTagSchema = z.object({
|
|
|
14
15
|
image: z.string().min(1),
|
|
15
16
|
}),
|
|
16
17
|
});
|
|
18
|
+
const openClawChannelConfigSchema = z
|
|
19
|
+
.object({
|
|
20
|
+
channels: z
|
|
21
|
+
.object({
|
|
22
|
+
discord: z.object({ enabled: z.boolean().optional() }).passthrough().optional(),
|
|
23
|
+
})
|
|
24
|
+
.passthrough()
|
|
25
|
+
.optional(),
|
|
26
|
+
})
|
|
27
|
+
.passthrough();
|
|
17
28
|
function imageTargetKey(imageTarget) {
|
|
18
29
|
return `${imageTarget.family}/${imageTarget.name}`;
|
|
19
30
|
}
|
|
@@ -94,6 +105,26 @@ async function resolveProjectRootFromDockerfile(dockerfilePath) {
|
|
|
94
105
|
}
|
|
95
106
|
}
|
|
96
107
|
}
|
|
108
|
+
async function resolveRequiredOpenClawPackagesForTarget(systemConfig, imageTarget) {
|
|
109
|
+
if (imageTarget.family !== 'gateway' ||
|
|
110
|
+
imageTarget.gatewayType !== 'openclaw' ||
|
|
111
|
+
imageTarget.source?.base !== 'openclaw-gateway') {
|
|
112
|
+
return [];
|
|
113
|
+
}
|
|
114
|
+
const requiredPackageSpecs = new Set();
|
|
115
|
+
for (const zone of systemConfig.zones) {
|
|
116
|
+
if (zone.gateway.type !== 'openclaw' || zone.gateway.imageProfile !== imageTarget.name) {
|
|
117
|
+
continue;
|
|
118
|
+
}
|
|
119
|
+
// oxlint-disable-next-line no-await-in-loop -- zone config reads are tiny and error messages stay profile-local
|
|
120
|
+
const rawOpenClawConfig = await loadJsonConfigFile(zone.gateway.config);
|
|
121
|
+
const openClawConfig = openClawChannelConfigSchema.parse(rawOpenClawConfig);
|
|
122
|
+
if (openClawConfig.channels?.discord?.enabled === true) {
|
|
123
|
+
requiredPackageSpecs.add(`@openclaw/discord@${MANAGED_OPENCLAW_VERSION}`);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
return [...requiredPackageSpecs].toSorted();
|
|
127
|
+
}
|
|
97
128
|
export async function runBuildCommand(options, dependencies = {}) {
|
|
98
129
|
const buildDockerImage = dependencies.buildDockerImage ?? buildDockerImageDefault;
|
|
99
130
|
const buildGondolinImage = dependencies.buildGondolinImage ?? buildGondolinImageDefault;
|
|
@@ -102,6 +133,8 @@ export async function runBuildCommand(options, dependencies = {}) {
|
|
|
102
133
|
const resolveZigVersion = dependencies.resolveZigVersion ?? resolveHostZigVersion;
|
|
103
134
|
const runTaskStep = dependencies.runTask ?? defaultRunTask;
|
|
104
135
|
const resolveProjectRoot = dependencies.resolveProjectRootFromDockerfile ?? resolveProjectRootFromDockerfile;
|
|
136
|
+
const generateManagedDockerfile = dependencies.generateManagedDockerfile ?? generateManagedDockerfileDefault;
|
|
137
|
+
const resolveAgentVmPackageVersion = dependencies.resolveAgentVmPackageVersion ?? resolveAgentVmPackageVersionDefault;
|
|
105
138
|
const syncBundledOpenClawPlugin = dependencies.syncBundledOpenClawPlugin ?? syncBundledOpenClawPluginBundle;
|
|
106
139
|
const systemCacheIdentifierPath = options.systemConfig.systemCacheIdentifierPath;
|
|
107
140
|
await assertZigBuildPrerequisite(resolveRequiredZigVersion, resolveZigVersion);
|
|
@@ -113,6 +146,7 @@ export async function runBuildCommand(options, dependencies = {}) {
|
|
|
113
146
|
family: 'gateway',
|
|
114
147
|
gatewayType: profile.type,
|
|
115
148
|
name: profileName,
|
|
149
|
+
source: profile.source,
|
|
116
150
|
}));
|
|
117
151
|
const toolVmImageTargets = Object.entries(options.systemConfig.imageProfiles.toolVms).map(([profileName, profile]) => ({
|
|
118
152
|
buildConfigPath: profile.buildConfig,
|
|
@@ -121,21 +155,48 @@ export async function runBuildCommand(options, dependencies = {}) {
|
|
|
121
155
|
dockerfile: profile.dockerfile,
|
|
122
156
|
family: 'toolVm',
|
|
123
157
|
name: profileName,
|
|
158
|
+
source: profile.source,
|
|
124
159
|
}));
|
|
125
160
|
const imageTargets = [...gatewayImageTargets, ...toolVmImageTargets];
|
|
126
|
-
const dockerImageTargets = imageTargets.filter((imageTarget) => imageTarget.dockerfile !== undefined);
|
|
161
|
+
const dockerImageTargets = imageTargets.filter((imageTarget) => imageTarget.dockerfile !== undefined || imageTarget.source !== undefined);
|
|
127
162
|
const dockerImageTagByProfile = await assertUniqueDockerImageTags(dockerImageTargets, resolveOciImageTag);
|
|
163
|
+
const agentVmPackageVersion = dockerImageTargets.some((imageTarget) => imageTarget.source !== undefined)
|
|
164
|
+
? await resolveAgentVmPackageVersion()
|
|
165
|
+
: undefined;
|
|
128
166
|
// oxlint-disable-next-line no-await-in-loop -- image builds are intentionally sequential for stable task output and shared image tags
|
|
129
167
|
for (const imageTarget of dockerImageTargets) {
|
|
130
168
|
const imageTag = dockerImageTagByProfile.get(imageTarget.name);
|
|
131
169
|
if (!imageTag) {
|
|
132
170
|
throw new Error(`Missing resolved Docker image tag for image profile '${imageTarget.name}'.`);
|
|
133
171
|
}
|
|
134
|
-
|
|
172
|
+
let dockerfilePath = imageTarget.dockerfile;
|
|
173
|
+
if (imageTarget.source) {
|
|
174
|
+
if (!agentVmPackageVersion) {
|
|
175
|
+
throw new Error('Missing @agent-vm/agent-vm package version for managed image build.');
|
|
176
|
+
}
|
|
177
|
+
// oxlint-disable-next-line no-await-in-loop -- package detection is profile-local and low-volume
|
|
178
|
+
const requiredOpenClawPackages = await resolveRequiredOpenClawPackagesForTarget(options.systemConfig, imageTarget);
|
|
179
|
+
// oxlint-disable-next-line no-await-in-loop -- each generated Docker context belongs to one image target
|
|
180
|
+
dockerfilePath = await generateManagedDockerfile({
|
|
181
|
+
base: imageTarget.source.base,
|
|
182
|
+
imageTargetFamily: imageTarget.family,
|
|
183
|
+
imageTargetName: imageTarget.name,
|
|
184
|
+
outputDirectory: path.join(options.systemConfig.cacheDir, 'generated-dockerfiles', imageTarget.family, imageTarget.name),
|
|
185
|
+
...(imageTarget.source.overlay ? { overlayPath: imageTarget.source.overlay } : {}),
|
|
186
|
+
packageVersion: agentVmPackageVersion,
|
|
187
|
+
requiredOpenClawPackages,
|
|
188
|
+
});
|
|
189
|
+
}
|
|
190
|
+
if (!dockerfilePath) {
|
|
191
|
+
throw new Error(`Missing Dockerfile path for image profile '${imageTarget.name}'.`);
|
|
192
|
+
}
|
|
193
|
+
if (imageTarget.family === 'gateway' &&
|
|
194
|
+
imageTarget.gatewayType === 'openclaw' &&
|
|
195
|
+
!imageTarget.source) {
|
|
135
196
|
// Resolve the scaffold root via config/system.json instead of assuming a fixed
|
|
136
197
|
// vm-images/gateways/openclaw/Dockerfile depth.
|
|
137
198
|
// oxlint-disable-next-line no-await-in-loop -- root discovery belongs to the matching build target
|
|
138
|
-
const projectRootDirectory = await resolveProjectRoot(
|
|
199
|
+
const projectRootDirectory = await resolveProjectRoot(dockerfilePath);
|
|
139
200
|
// oxlint-disable-next-line no-await-in-loop -- bundle sync must complete before the matching docker build starts
|
|
140
201
|
await runTaskStep('OpenClaw plugin bundle', async () => {
|
|
141
202
|
await syncBundledOpenClawPlugin(projectRootDirectory, imageTarget.name);
|
|
@@ -145,7 +206,7 @@ export async function runBuildCommand(options, dependencies = {}) {
|
|
|
145
206
|
await runTaskStep(`Docker: ${imageTarget.family}/${imageTarget.name} (${imageTag})`, async (taskContext) => {
|
|
146
207
|
taskContext?.setStatus('docker build');
|
|
147
208
|
await buildDockerImage({
|
|
148
|
-
dockerfilePath
|
|
209
|
+
dockerfilePath,
|
|
149
210
|
imageTag,
|
|
150
211
|
...(taskContext?.interactive === true && taskContext.streamPreview
|
|
151
212
|
? { streamPreview: taskContext.streamPreview }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-command.js","sourceRoot":"","sources":["../../src/cli/build-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,OAAO,EAAE,gCAAgC,EAAE,MAAM,4BAA4B,CAAC;AAC9E,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAC9B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,gBAAgB,IAAI,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC/F,OAAO,EAAE,kBAAkB,IAAI,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AACrG,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAEnE,OAAO,EACN,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,GAChB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,+BAA+B,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"build-command.js","sourceRoot":"","sources":["../../src/cli/build-command.ts"],"names":[],"mappings":"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"}
|
|
@@ -203,6 +203,14 @@ export declare function createAgentVmApp(io: CliIo, dependencies: CliDependencie
|
|
|
203
203
|
targetDir: string | undefined;
|
|
204
204
|
};
|
|
205
205
|
};
|
|
206
|
+
} | {
|
|
207
|
+
command: "migrate";
|
|
208
|
+
args: {
|
|
209
|
+
command: "images";
|
|
210
|
+
args: {
|
|
211
|
+
config: string | undefined;
|
|
212
|
+
};
|
|
213
|
+
};
|
|
206
214
|
}>>;
|
|
207
215
|
} & import("cmd-ts/dist/cjs/helpdoc.js").Named & Partial<import("cmd-ts/dist/cjs/helpdoc.js").Descriptive & import("cmd-ts/dist/cjs/helpdoc.js").Versioned> & import("cmd-ts/dist/cjs/helpdoc.js").PrintHelp & Partial<import("cmd-ts/dist/cjs/helpdoc.js").Versioned> & import("cmd-ts/dist/cjs/argparser.js").Register & import("cmd-ts/dist/cjs/runner.js").Handling<{
|
|
208
216
|
command: "resources";
|
|
@@ -407,6 +415,14 @@ export declare function createAgentVmApp(io: CliIo, dependencies: CliDependencie
|
|
|
407
415
|
targetDir: string | undefined;
|
|
408
416
|
};
|
|
409
417
|
};
|
|
418
|
+
} | {
|
|
419
|
+
command: "migrate";
|
|
420
|
+
args: {
|
|
421
|
+
command: "images";
|
|
422
|
+
args: {
|
|
423
|
+
config: string | undefined;
|
|
424
|
+
};
|
|
425
|
+
};
|
|
410
426
|
}, {
|
|
411
427
|
command: "resources";
|
|
412
428
|
value: {
|
|
@@ -515,6 +531,12 @@ export declare function createAgentVmApp(io: CliIo, dependencies: CliDependencie
|
|
|
515
531
|
command: "update";
|
|
516
532
|
value: Promise<void>;
|
|
517
533
|
};
|
|
534
|
+
} | {
|
|
535
|
+
command: "migrate";
|
|
536
|
+
value: {
|
|
537
|
+
command: "images";
|
|
538
|
+
value: Promise<void>;
|
|
539
|
+
};
|
|
518
540
|
}> & {
|
|
519
541
|
run(context: import("cmd-ts/dist/cjs/argparser.js").ParseContext): Promise<import("cmd-ts/dist/cjs/argparser.js").ParsingResult<{
|
|
520
542
|
command: "resources";
|
|
@@ -624,6 +646,12 @@ export declare function createAgentVmApp(io: CliIo, dependencies: CliDependencie
|
|
|
624
646
|
command: "update";
|
|
625
647
|
value: Promise<void>;
|
|
626
648
|
};
|
|
649
|
+
} | {
|
|
650
|
+
command: "migrate";
|
|
651
|
+
value: {
|
|
652
|
+
command: "images";
|
|
653
|
+
value: Promise<void>;
|
|
654
|
+
};
|
|
627
655
|
}>>;
|
|
628
656
|
};
|
|
629
657
|
//# sourceMappingURL=create-app.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-app.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/create-app.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"create-app.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/create-app.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AAezE,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqB5F"}
|
|
@@ -9,6 +9,7 @@ import { createControllerSubcommands } from './controller-definition.js';
|
|
|
9
9
|
import { createDoctorCommand } from './doctor-definition.js';
|
|
10
10
|
import { createInitCommand } from './init-definition.js';
|
|
11
11
|
import { createManualSubcommands } from './manual-definition.js';
|
|
12
|
+
import { createMigrateSubcommands } from './migrate-definition.js';
|
|
12
13
|
import { createPathsSubcommands } from './paths-definition.js';
|
|
13
14
|
import { createResourcesSubcommands } from './resources-definition.js';
|
|
14
15
|
import { createValidateCommand } from './validate-definition.js';
|
|
@@ -20,6 +21,7 @@ export function createAgentVmApp(io, dependencies, cliVersion) {
|
|
|
20
21
|
cmds: {
|
|
21
22
|
init: createInitCommand(io, dependencies),
|
|
22
23
|
manual: createManualSubcommands(io, dependencies),
|
|
24
|
+
migrate: createMigrateSubcommands(io, dependencies),
|
|
23
25
|
resources: createResourcesSubcommands(io, dependencies),
|
|
24
26
|
build: createBuildCommand(io, dependencies),
|
|
25
27
|
validate: createValidateCommand(io, dependencies),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-app.js","sourceRoot":"","sources":["../../../src/cli/commands/create-app.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAGrC,OAAO,EAAE,4BAA4B,EAAE,MAAM,kCAAkC,CAAC;AAChF,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,MAAM,UAAU,gBAAgB,CAAC,EAAS,EAAE,YAA6B,EAAE,UAAkB;IAC5F,OAAO,WAAW,CAAC;QAClB,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,UAAU;QACnB,WAAW,EAAE,6DAA6D;QAC1E,IAAI,EAAE;YACL,IAAI,EAAE,iBAAiB,CAAC,EAAE,EAAE,YAAY,CAAC;YACzC,MAAM,EAAE,uBAAuB,CAAC,EAAE,EAAE,YAAY,CAAC;YACjD,SAAS,EAAE,0BAA0B,CAAC,EAAE,EAAE,YAAY,CAAC;YACvD,KAAK,EAAE,kBAAkB,CAAC,EAAE,EAAE,YAAY,CAAC;YAC3C,QAAQ,EAAE,qBAAqB,CAAC,EAAE,EAAE,YAAY,CAAC;YACjD,MAAM,EAAE,mBAAmB,CAAC,EAAE,EAAE,YAAY,CAAC;YAC7C,KAAK,EAAE,sBAAsB,CAAC,EAAE,EAAE,YAAY,CAAC;YAC/C,MAAM,EAAE,uBAAuB,CAAC,EAAE,EAAE,YAAY,CAAC;YACjD,KAAK,EAAE,sBAAsB,CAAC,EAAE,EAAE,YAAY,CAAC;YAC/C,MAAM,EAAE,uBAAuB,CAAC,EAAE,EAAE,YAAY,CAAC;YACjD,kBAAkB,EAAE,4BAA4B,CAAC,EAAE,EAAE,YAAY,CAAC;YAClE,UAAU,EAAE,2BAA2B,CAAC,EAAE,EAAE,YAAY,CAAC;SACzD;KACD,CAAC,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"create-app.js","sourceRoot":"","sources":["../../../src/cli/commands/create-app.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAGrC,OAAO,EAAE,4BAA4B,EAAE,MAAM,kCAAkC,CAAC;AAChF,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,MAAM,UAAU,gBAAgB,CAAC,EAAS,EAAE,YAA6B,EAAE,UAAkB;IAC5F,OAAO,WAAW,CAAC;QAClB,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,UAAU;QACnB,WAAW,EAAE,6DAA6D;QAC1E,IAAI,EAAE;YACL,IAAI,EAAE,iBAAiB,CAAC,EAAE,EAAE,YAAY,CAAC;YACzC,MAAM,EAAE,uBAAuB,CAAC,EAAE,EAAE,YAAY,CAAC;YACjD,OAAO,EAAE,wBAAwB,CAAC,EAAE,EAAE,YAAY,CAAC;YACnD,SAAS,EAAE,0BAA0B,CAAC,EAAE,EAAE,YAAY,CAAC;YACvD,KAAK,EAAE,kBAAkB,CAAC,EAAE,EAAE,YAAY,CAAC;YAC3C,QAAQ,EAAE,qBAAqB,CAAC,EAAE,EAAE,YAAY,CAAC;YACjD,MAAM,EAAE,mBAAmB,CAAC,EAAE,EAAE,YAAY,CAAC;YAC7C,KAAK,EAAE,sBAAsB,CAAC,EAAE,EAAE,YAAY,CAAC;YAC/C,MAAM,EAAE,uBAAuB,CAAC,EAAE,EAAE,YAAY,CAAC;YACjD,KAAK,EAAE,sBAAsB,CAAC,EAAE,EAAE,YAAY,CAAC;YAC/C,MAAM,EAAE,uBAAuB,CAAC,EAAE,EAAE,YAAY,CAAC;YACjD,kBAAkB,EAAE,4BAA4B,CAAC,EAAE,EAAE,YAAY,CAAC;YAClE,UAAU,EAAE,2BAA2B,CAAC,EAAE,EAAE,YAAY,CAAC;SACzD;KACD,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { CliDependencies, CliIo } from '../agent-vm-cli-support.js';
|
|
2
|
+
export declare function createMigrateSubcommands(io: CliIo, _dependencies: CliDependencies): Partial<import("cmd-ts/dist/cjs/argparser.js").Register> & {
|
|
3
|
+
parse(context: import("cmd-ts/dist/cjs/argparser.js").ParseContext): Promise<import("cmd-ts/dist/cjs/argparser.js").ParsingResult<{
|
|
4
|
+
command: "images";
|
|
5
|
+
args: {
|
|
6
|
+
config: string | undefined;
|
|
7
|
+
};
|
|
8
|
+
}>>;
|
|
9
|
+
} & import("cmd-ts/dist/cjs/helpdoc.js").Named & Partial<import("cmd-ts/dist/cjs/helpdoc.js").Descriptive & import("cmd-ts/dist/cjs/helpdoc.js").Versioned> & import("cmd-ts/dist/cjs/helpdoc.js").PrintHelp & Partial<import("cmd-ts/dist/cjs/helpdoc.js").Versioned> & import("cmd-ts/dist/cjs/argparser.js").Register & import("cmd-ts/dist/cjs/runner.js").Handling<{
|
|
10
|
+
command: "images";
|
|
11
|
+
args: {
|
|
12
|
+
config: string | undefined;
|
|
13
|
+
};
|
|
14
|
+
}, {
|
|
15
|
+
command: "images";
|
|
16
|
+
value: Promise<void>;
|
|
17
|
+
}> & {
|
|
18
|
+
run(context: import("cmd-ts/dist/cjs/argparser.js").ParseContext): Promise<import("cmd-ts/dist/cjs/argparser.js").ParsingResult<{
|
|
19
|
+
command: "images";
|
|
20
|
+
value: Promise<void>;
|
|
21
|
+
}>>;
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=migrate-definition.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrate-definition.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/migrate-definition.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AAIzE,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,eAAe;;;;;;;;;;;;;;;;;;;;EAyBjF"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
// oxlint-disable typescript-eslint/explicit-function-return-type
|
|
2
|
+
import { command, subcommands } from 'cmd-ts';
|
|
3
|
+
import { runMigrateImagesCommand } from '../migrate-commands.js';
|
|
4
|
+
import { createConfigOption } from './command-definition-support.js';
|
|
5
|
+
export function createMigrateSubcommands(io, _dependencies) {
|
|
6
|
+
return subcommands({
|
|
7
|
+
name: 'migrate',
|
|
8
|
+
description: 'Migrate deployment-owned config to current agent-vm shapes',
|
|
9
|
+
cmds: {
|
|
10
|
+
images: command({
|
|
11
|
+
name: 'images',
|
|
12
|
+
description: 'Migrate legacy Dockerfile image profiles to managed base overlays',
|
|
13
|
+
args: {
|
|
14
|
+
config: createConfigOption(),
|
|
15
|
+
},
|
|
16
|
+
handler: async ({ config }) => {
|
|
17
|
+
const result = await runMigrateImagesCommand({
|
|
18
|
+
systemConfigPath: config ?? 'config/system.json',
|
|
19
|
+
});
|
|
20
|
+
io.stdout.write(`migrated image profiles: ${result.migratedProfiles.length === 0 ? 'none' : result.migratedProfiles.join(', ')}\n`);
|
|
21
|
+
if (result.skippedProfiles.length > 0) {
|
|
22
|
+
io.stdout.write(`skipped image profiles: ${result.skippedProfiles.join(', ')}\n`);
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
}),
|
|
26
|
+
},
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=migrate-definition.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrate-definition.js","sourceRoot":"","sources":["../../../src/cli/commands/migrate-definition.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAG9C,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAErE,MAAM,UAAU,wBAAwB,CAAC,EAAS,EAAE,aAA8B;IACjF,OAAO,WAAW,CAAC;QAClB,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,4DAA4D;QACzE,IAAI,EAAE;YACL,MAAM,EAAE,OAAO,CAAC;gBACf,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,mEAAmE;gBAChF,IAAI,EAAE;oBACL,MAAM,EAAE,kBAAkB,EAAE;iBAC5B;gBACD,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;oBAC7B,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC;wBAC5C,gBAAgB,EAAE,MAAM,IAAI,oBAAoB;qBAChD,CAAC,CAAC;oBACH,EAAE,CAAC,MAAM,CAAC,KAAK,CACd,4BAA4B,MAAM,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAClH,CAAC;oBACF,IAAI,MAAM,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACvC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACnF,CAAC;gBACF,CAAC;aACD,CAAC;SACF;KACD,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init-command.d.ts","sourceRoot":"","sources":["../../src/cli/init-command.ts"],"names":[],"mappings":"AAEA,OAAO,QAAQ,MAAM,wBAAwB,CAAC;AAU9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EACN,gCAAgC,EAEhC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAGN,KAAK,cAAc,EACnB,MAAM,sCAAsC,CAAC;
|
|
1
|
+
{"version":3,"file":"init-command.d.ts","sourceRoot":"","sources":["../../src/cli/init-command.ts"],"names":[],"mappings":"AAEA,OAAO,QAAQ,MAAM,wBAAwB,CAAC;AAU9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EACN,gCAAgC,EAEhC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAGN,KAAK,cAAc,EACnB,MAAM,sCAAsC,CAAC;AAe9C,eAAO,MAAM,qBAAqB;;;EAAuC,CAAC;AAC1E,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,eAAO,MAAM,uBAAuB;;;EAAgC,CAAC;AACrE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,MAAM,WAAW,6BAA6B;IAC7C,QAAQ,CAAC,YAAY,EAAE,iBAAiB,CAAC;IACzC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,cAAc,CAAC,EAAE,cAAc,CAAC;IACzC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAC1C,QAAQ,CAAC,KAAK,CAAC,EAAE,gBAAgB,CAAC;IAClC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,yBAAyB,CAAC,EAAE,OAAO,CAAC;IAC7C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,4BAA4B;IAC5C,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC;AAED,UAAU,kCAAkC;IAC3C,QAAQ,CAAC,yBAAyB,CAAC,EAAE,CACpC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,KACf,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC;IACpC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,MAAM,CAAC;IACnC,QAAQ,CAAC,gCAAgC,CAAC,EAAE,OAAO,gCAAgC,CAAC;CACpF;AAED,MAAM,WAAW,+BAA+B;IAC/C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,OAAO,CAAC;IAC1C,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACtD,QAAQ,CAAC,uBAAuB,CAAC,EAAE,MAAM,QAAQ,CAAC,SAAS,CAAC;CAC5D;AAED,YAAY,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE/D,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,KAAK,GAAG,UAAU,CAAC;AAuvB5D,wBAAgB,sBAAsB,CACrC,OAAO,EAAE,6BAA6B,EACtC,YAAY,GAAE,kCAAuC,GACnD,OAAO,CAAC,4BAA4B,CAAC,CAEvC;AAuQD;;;GAGG;AACH,wBAAsB,iCAAiC,CACtD,YAAY,GAAE,+BAAoC,GAChD,OAAO,CAAC,OAAO,CAAC,CA0ClB"}
|