@cogineai/clawpacker 0.2.0 → 0.3.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 +161 -17
- package/dist/cli.js +2 -2
- package/dist/cli.js.map +1 -1
- package/dist/commands/export.d.ts +1 -0
- package/dist/commands/export.js +31 -2
- package/dist/commands/export.js.map +1 -1
- package/dist/commands/import.d.ts +1 -0
- package/dist/commands/import.js +37 -8
- package/dist/commands/import.js.map +1 -1
- package/dist/commands/inspect.d.ts +1 -0
- package/dist/commands/inspect.js +40 -0
- package/dist/commands/inspect.js.map +1 -1
- package/dist/commands/validate.d.ts +1 -0
- package/dist/commands/validate.js +3 -1
- package/dist/commands/validate.js.map +1 -1
- package/dist/core/constants.d.ts +4 -0
- package/dist/core/constants.js +32 -1
- package/dist/core/constants.js.map +1 -1
- package/dist/core/import-exec.js +33 -0
- package/dist/core/import-exec.js.map +1 -1
- package/dist/core/import-plan.d.ts +1 -0
- package/dist/core/import-plan.js +174 -3
- package/dist/core/import-plan.js.map +1 -1
- package/dist/core/manifest.d.ts +5 -1
- package/dist/core/manifest.js +3 -0
- package/dist/core/manifest.js.map +1 -1
- package/dist/core/models-sanitize.d.ts +4 -0
- package/dist/core/models-sanitize.js +120 -0
- package/dist/core/models-sanitize.js.map +1 -0
- package/dist/core/openclaw-config.d.ts +7 -0
- package/dist/core/openclaw-config.js +41 -10
- package/dist/core/openclaw-config.js.map +1 -1
- package/dist/core/package-read.js +3 -0
- package/dist/core/package-read.js.map +1 -1
- package/dist/core/package-write.d.ts +3 -1
- package/dist/core/package-write.js +56 -0
- package/dist/core/package-write.js.map +1 -1
- package/dist/core/path-rewrite.d.ts +18 -0
- package/dist/core/path-rewrite.js +79 -0
- package/dist/core/path-rewrite.js.map +1 -0
- package/dist/core/runtime-mode.d.ts +2 -0
- package/dist/core/runtime-mode.js +19 -0
- package/dist/core/runtime-mode.js.map +1 -0
- package/dist/core/runtime-scan.d.ts +6 -0
- package/dist/core/runtime-scan.js +180 -0
- package/dist/core/runtime-scan.js.map +1 -0
- package/dist/core/settings-analysis.d.ts +5 -0
- package/dist/core/settings-analysis.js +85 -0
- package/dist/core/settings-analysis.js.map +1 -0
- package/dist/core/types.d.ts +68 -0
- package/dist/core/validate.d.ts +1 -0
- package/dist/core/validate.js +113 -2
- package/dist/core/validate.js.map +1 -1
- package/package.json +5 -2
package/dist/commands/inspect.js
CHANGED
|
@@ -7,12 +7,16 @@ exports.runInspect = runInspect;
|
|
|
7
7
|
exports.registerInspectCommand = registerInspectCommand;
|
|
8
8
|
const node_path_1 = __importDefault(require("node:path"));
|
|
9
9
|
const agent_extract_1 = require("../core/agent-extract");
|
|
10
|
+
const openclaw_config_1 = require("../core/openclaw-config");
|
|
11
|
+
const runtime_mode_1 = require("../core/runtime-mode");
|
|
12
|
+
const runtime_scan_1 = require("../core/runtime-scan");
|
|
10
13
|
const skills_detect_1 = require("../core/skills-detect");
|
|
11
14
|
const workspace_scan_1 = require("../core/workspace-scan");
|
|
12
15
|
async function runInspect(options) {
|
|
13
16
|
if (!options.workspace) {
|
|
14
17
|
throw new Error('inspect requires --workspace <path>');
|
|
15
18
|
}
|
|
19
|
+
const runtimeMode = (0, runtime_mode_1.normalizeRuntimeMode)(options.runtimeMode) ?? 'default';
|
|
16
20
|
const workspacePath = node_path_1.default.resolve(options.workspace);
|
|
17
21
|
const scan = await (0, workspace_scan_1.scanWorkspace)(workspacePath);
|
|
18
22
|
const skills = await (0, skills_detect_1.detectSkills)(scan);
|
|
@@ -23,11 +27,30 @@ async function runInspect(options) {
|
|
|
23
27
|
const warnings = [
|
|
24
28
|
'Skills are manifest-only and may require manual installation.',
|
|
25
29
|
];
|
|
30
|
+
let runtimeResult;
|
|
31
|
+
if (runtimeMode !== 'none') {
|
|
32
|
+
const agentDir = await (0, openclaw_config_1.resolveAgentDir)({
|
|
33
|
+
configPath: options.config,
|
|
34
|
+
workspacePath,
|
|
35
|
+
agentId: options.agentId,
|
|
36
|
+
});
|
|
37
|
+
if (agentDir) {
|
|
38
|
+
runtimeResult = await (0, runtime_scan_1.scanRuntime)({
|
|
39
|
+
mode: runtimeMode,
|
|
40
|
+
agentDir,
|
|
41
|
+
workspacePath,
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
warnings.push('Could not resolve agentDir from OpenClaw config — runtime layer skipped.');
|
|
46
|
+
}
|
|
47
|
+
}
|
|
26
48
|
const bootstrapFiles = scan.includedFiles
|
|
27
49
|
.filter((f) => f.isBootstrap)
|
|
28
50
|
.map((f) => f.relativePath);
|
|
29
51
|
const report = {
|
|
30
52
|
workspacePath,
|
|
53
|
+
runtimeMode,
|
|
31
54
|
includedFiles: scan.includedFiles.map((file) => file.relativePath),
|
|
32
55
|
bootstrapFiles,
|
|
33
56
|
excludedFiles: scan.excludedFiles,
|
|
@@ -38,6 +61,13 @@ async function runInspect(options) {
|
|
|
38
61
|
notes: agentDefinition.notes,
|
|
39
62
|
},
|
|
40
63
|
skills,
|
|
64
|
+
runtime: runtimeResult ? {
|
|
65
|
+
mode: runtimeResult.mode,
|
|
66
|
+
agentDir: runtimeResult.agentDir,
|
|
67
|
+
includedFiles: runtimeResult.includedFiles.map(f => f.relativePath),
|
|
68
|
+
excludedFiles: runtimeResult.excludedFiles,
|
|
69
|
+
warnings: runtimeResult.warnings,
|
|
70
|
+
} : undefined,
|
|
41
71
|
warnings,
|
|
42
72
|
errors: [],
|
|
43
73
|
};
|
|
@@ -64,10 +94,19 @@ async function runInspect(options) {
|
|
|
64
94
|
`Skills (referenced): ${skills.referencedSkills.join(', ') || 'none'}`,
|
|
65
95
|
`Skill notes: ${skills.notes.join(' | ') || 'none'}`,
|
|
66
96
|
`Warnings: ${warnings.join(' | ') || 'none'}`,
|
|
97
|
+
`Runtime mode: ${report.runtimeMode}`,
|
|
67
98
|
];
|
|
68
99
|
if (report.portableConfig.notes.length > 0) {
|
|
69
100
|
lines.push(`Portable config notes: ${report.portableConfig.notes.join(' | ')}`);
|
|
70
101
|
}
|
|
102
|
+
if (runtimeResult) {
|
|
103
|
+
lines.push(`Runtime agentDir: ${runtimeResult.agentDir}`);
|
|
104
|
+
lines.push(`Runtime included files (${runtimeResult.includedFiles.length}): ${runtimeResult.includedFiles.map(f => f.relativePath).join(', ') || 'none'}`);
|
|
105
|
+
lines.push(`Runtime excluded files (${runtimeResult.excludedFiles.length}): ${runtimeResult.excludedFiles.map(f => `${f.relativePath} [${f.reason}]`).join(', ') || 'none'}`);
|
|
106
|
+
if (runtimeResult.warnings.length > 0) {
|
|
107
|
+
lines.push(`Runtime warnings: ${runtimeResult.warnings.join(' | ')}`);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
71
110
|
console.log(lines.join('\n'));
|
|
72
111
|
}
|
|
73
112
|
function registerInspectCommand(command) {
|
|
@@ -76,6 +115,7 @@ function registerInspectCommand(command) {
|
|
|
76
115
|
.requiredOption('--workspace <path>', 'Source workspace path')
|
|
77
116
|
.option('--config <path>', 'OpenClaw config path')
|
|
78
117
|
.option('--agent-id <id>', 'Source agent id override')
|
|
118
|
+
.option('--runtime-mode <mode>', 'Runtime layer mode: none (skip), default (settings, prompts, themes, models), or full (adds skills, extensions). Defaults to "default" when omitted. Auth and session files are always excluded.')
|
|
79
119
|
.option('--json', 'Emit the full machine-readable JSON report')
|
|
80
120
|
.action(runInspect);
|
|
81
121
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inspect.js","sourceRoot":"","sources":["../../src/commands/inspect.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"inspect.js","sourceRoot":"","sources":["../../src/commands/inspect.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,7 @@ async function runValidate(options) {
|
|
|
15
15
|
const report = await (0, validate_1.validateImportedWorkspace)({
|
|
16
16
|
targetWorkspacePath: node_path_1.default.resolve(options.targetWorkspace),
|
|
17
17
|
agentId: options.agentId,
|
|
18
|
+
targetAgentDir: options.targetAgentDir,
|
|
18
19
|
targetConfigPath: options.config ? node_path_1.default.resolve(options.config) : undefined,
|
|
19
20
|
});
|
|
20
21
|
if (options.json) {
|
|
@@ -30,9 +31,10 @@ async function runValidate(options) {
|
|
|
30
31
|
}
|
|
31
32
|
function registerValidateCommand(command) {
|
|
32
33
|
command
|
|
33
|
-
.description('Validate an imported workspace and optional config wiring.')
|
|
34
|
+
.description('Validate an imported workspace and optional config wiring. When a runtime layer was imported, also checks runtime file integrity and agentDir consistency.')
|
|
34
35
|
.requiredOption('--target-workspace <path>', 'Imported target workspace path')
|
|
35
36
|
.option('--agent-id <id>', 'Expected target agent id')
|
|
37
|
+
.option('--target-agent-dir <path>', 'Expected target agentDir for runtime validation. Auto-inferred from import metadata when omitted.')
|
|
36
38
|
.option('--config <path>', 'Target OpenClaw config path for consistency checks')
|
|
37
39
|
.option('--json', 'Emit the full machine-readable JSON report')
|
|
38
40
|
.action(runValidate);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/commands/validate.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/commands/validate.ts"],"names":[],"mappings":";;;;;AAaA,kCAyBC;AAED,0DASC;AAjDD,0DAA6B;AAE7B,+CAA6D;AAC7D,4CAA8C;AAUvC,KAAK,UAAU,WAAW,CAAC,OAAwB;IACxD,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACjE,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,IAAA,oCAAyB,EAAC;QAC7C,mBAAmB,EAAE,mBAAI,CAAC,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC;QAC1D,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,gBAAgB,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;KAC5E,CAAC,CAAC;IAEH,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7C,OAAO;IACT,CAAC;IAED,MAAM,KAAK,GAAG,CAAC,eAAe,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;IAElF,IAAA,oBAAW,EAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5C,IAAA,oBAAW,EAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IAChD,IAAA,oBAAW,EAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5C,IAAA,oBAAW,EAAC,KAAK,EAAE,YAAY,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;IAEnD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAChC,CAAC;AAED,SAAgB,uBAAuB,CAAC,OAAgB;IACtD,OAAO;SACJ,WAAW,CAAC,4JAA4J,CAAC;SACzK,cAAc,CAAC,2BAA2B,EAAE,gCAAgC,CAAC;SAC7E,MAAM,CAAC,iBAAiB,EAAE,0BAA0B,CAAC;SACrD,MAAM,CAAC,2BAA2B,EAAE,mGAAmG,CAAC;SACxI,MAAM,CAAC,iBAAiB,EAAE,oDAAoD,CAAC;SAC/E,MAAM,CAAC,QAAQ,EAAE,4CAA4C,CAAC;SAC9D,MAAM,CAAC,WAAW,CAAC,CAAC;AACzB,CAAC"}
|
package/dist/core/constants.d.ts
CHANGED
|
@@ -13,3 +13,7 @@ export interface ExclusionPattern {
|
|
|
13
13
|
export declare const EXCLUDED_PATTERNS: ExclusionPattern[];
|
|
14
14
|
export declare const SKILLS_MODE: "manifest-only";
|
|
15
15
|
export declare const SKILL_REFERENCE_PATTERNS: RegExp[];
|
|
16
|
+
export declare const RUNTIME_ALLOWLIST_DEFAULT: string[];
|
|
17
|
+
export declare const RUNTIME_ALLOWLIST_FULL_EXTRA: string[];
|
|
18
|
+
export declare const RUNTIME_ALWAYS_EXCLUDE: string[];
|
|
19
|
+
export declare const RUNTIME_EXCLUDE_EXTENSIONS: string[];
|
package/dist/core/constants.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SKILL_REFERENCE_PATTERNS = exports.SKILLS_MODE = exports.EXCLUDED_PATTERNS = exports.EXCLUDED_DIRECTORIES = exports.BOOTSTRAP_FILES = exports.REQUIRED_WORKSPACE_FILES = exports.EXPORT_MODE = exports.PACKAGE_TYPE = exports.MIN_READABLE_FORMAT_VERSION = exports.PACKAGE_FORMAT_VERSION = void 0;
|
|
3
|
+
exports.RUNTIME_EXCLUDE_EXTENSIONS = exports.RUNTIME_ALWAYS_EXCLUDE = exports.RUNTIME_ALLOWLIST_FULL_EXTRA = exports.RUNTIME_ALLOWLIST_DEFAULT = exports.SKILL_REFERENCE_PATTERNS = exports.SKILLS_MODE = exports.EXCLUDED_PATTERNS = exports.EXCLUDED_DIRECTORIES = exports.BOOTSTRAP_FILES = exports.REQUIRED_WORKSPACE_FILES = exports.EXPORT_MODE = exports.PACKAGE_TYPE = exports.MIN_READABLE_FORMAT_VERSION = exports.PACKAGE_FORMAT_VERSION = void 0;
|
|
4
4
|
exports.PACKAGE_FORMAT_VERSION = 2;
|
|
5
5
|
exports.MIN_READABLE_FORMAT_VERSION = 1;
|
|
6
6
|
exports.PACKAGE_TYPE = 'openclaw-agent-template';
|
|
@@ -41,4 +41,35 @@ exports.SKILL_REFERENCE_PATTERNS = [
|
|
|
41
41
|
/skills?\/[A-Za-z0-9._-]+\/([a-z0-9][a-z0-9-]*)\b/gi,
|
|
42
42
|
/<name>([a-z0-9][a-z0-9-]*)<\/name>/gi,
|
|
43
43
|
];
|
|
44
|
+
exports.RUNTIME_ALLOWLIST_DEFAULT = [
|
|
45
|
+
'AGENTS.md',
|
|
46
|
+
'settings.json',
|
|
47
|
+
'prompts/**',
|
|
48
|
+
'themes/**',
|
|
49
|
+
'models.json',
|
|
50
|
+
];
|
|
51
|
+
exports.RUNTIME_ALLOWLIST_FULL_EXTRA = [
|
|
52
|
+
'skills/**',
|
|
53
|
+
'extensions/**',
|
|
54
|
+
];
|
|
55
|
+
exports.RUNTIME_ALWAYS_EXCLUDE = [
|
|
56
|
+
'auth-profiles.json',
|
|
57
|
+
'auth.json',
|
|
58
|
+
'sessions/**',
|
|
59
|
+
'.git/**',
|
|
60
|
+
'npm/**',
|
|
61
|
+
'node_modules/**',
|
|
62
|
+
'bin/**',
|
|
63
|
+
'tools/**',
|
|
64
|
+
'caches/**',
|
|
65
|
+
'logs/**',
|
|
66
|
+
];
|
|
67
|
+
exports.RUNTIME_EXCLUDE_EXTENSIONS = [
|
|
68
|
+
'.log',
|
|
69
|
+
'.lock',
|
|
70
|
+
'.tmp',
|
|
71
|
+
'.bak',
|
|
72
|
+
'.swp',
|
|
73
|
+
'.pid',
|
|
74
|
+
];
|
|
44
75
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/core/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,sBAAsB,GAAG,CAAC,CAAC;AAC3B,QAAA,2BAA2B,GAAG,CAAC,CAAC;AAChC,QAAA,YAAY,GAAG,yBAAyB,CAAC;AACzC,QAAA,WAAW,GAAG,UAAU,CAAC;AAEzB,QAAA,wBAAwB,GAAG;IACtC,WAAW;IACX,SAAS;IACT,aAAa;IACb,SAAS;IACT,UAAU;IACV,WAAW;CACH,CAAC;AAEE,QAAA,eAAe,GAAG,IAAI,GAAG,CAAC;IACrC,WAAW;IACX,SAAS;IACT,UAAU;IACV,aAAa;IACb,SAAS;IACT,cAAc;IACd,cAAc;IACd,WAAW;IACX,WAAW;CACZ,CAAC,CAAC;AAEU,QAAA,oBAAoB,GAAG,IAAI,GAAG,CAAC;IAC1C,MAAM;IACN,WAAW;IACX,cAAc;CACf,CAAC,CAAC;AAQU,QAAA,iBAAiB,GAAuB;IACnD;QACE,IAAI,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC;QAC7D,MAAM,EAAE,iCAAiC;KAC1C;CACF,CAAC;AAEW,QAAA,WAAW,GAAG,eAAwB,CAAC;AAEvC,QAAA,wBAAwB,GAAG;IACtC,yGAAyG;IACzG,oDAAoD;IACpD,sCAAsC;CACvC,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/core/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,sBAAsB,GAAG,CAAC,CAAC;AAC3B,QAAA,2BAA2B,GAAG,CAAC,CAAC;AAChC,QAAA,YAAY,GAAG,yBAAyB,CAAC;AACzC,QAAA,WAAW,GAAG,UAAU,CAAC;AAEzB,QAAA,wBAAwB,GAAG;IACtC,WAAW;IACX,SAAS;IACT,aAAa;IACb,SAAS;IACT,UAAU;IACV,WAAW;CACH,CAAC;AAEE,QAAA,eAAe,GAAG,IAAI,GAAG,CAAC;IACrC,WAAW;IACX,SAAS;IACT,UAAU;IACV,aAAa;IACb,SAAS;IACT,cAAc;IACd,cAAc;IACd,WAAW;IACX,WAAW;CACZ,CAAC,CAAC;AAEU,QAAA,oBAAoB,GAAG,IAAI,GAAG,CAAC;IAC1C,MAAM;IACN,WAAW;IACX,cAAc;CACf,CAAC,CAAC;AAQU,QAAA,iBAAiB,GAAuB;IACnD;QACE,IAAI,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC;QAC7D,MAAM,EAAE,iCAAiC;KAC1C;CACF,CAAC;AAEW,QAAA,WAAW,GAAG,eAAwB,CAAC;AAEvC,QAAA,wBAAwB,GAAG;IACtC,yGAAyG;IACzG,oDAAoD;IACpD,sCAAsC;CACvC,CAAC;AAEW,QAAA,yBAAyB,GAAa;IACjD,WAAW;IACX,eAAe;IACf,YAAY;IACZ,WAAW;IACX,aAAa;CACd,CAAC;AAEW,QAAA,4BAA4B,GAAa;IACpD,WAAW;IACX,eAAe;CAChB,CAAC;AAEW,QAAA,sBAAsB,GAAa;IAC9C,oBAAoB;IACpB,WAAW;IACX,aAAa;IACb,SAAS;IACT,QAAQ;IACR,iBAAiB;IACjB,QAAQ;IACR,UAAU;IACV,WAAW;IACX,SAAS;CACV,CAAC;AAEW,QAAA,0BAA0B,GAAa;IAClD,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;CACP,CAAC"}
|
package/dist/core/import-exec.js
CHANGED
|
@@ -8,6 +8,7 @@ const promises_1 = require("node:fs/promises");
|
|
|
8
8
|
const node_path_1 = __importDefault(require("node:path"));
|
|
9
9
|
const json_1 = require("../utils/json");
|
|
10
10
|
const openclaw_config_1 = require("./openclaw-config");
|
|
11
|
+
const path_rewrite_1 = require("./path-rewrite");
|
|
11
12
|
async function executeImport(params) {
|
|
12
13
|
if (params.plan.writePlan.overwriteExisting) {
|
|
13
14
|
await (0, promises_1.rm)(params.plan.writePlan.targetWorkspacePath, { recursive: true, force: true });
|
|
@@ -17,6 +18,7 @@ async function executeImport(params) {
|
|
|
17
18
|
await (0, promises_1.mkdir)(node_path_1.default.dirname(file.targetPath), { recursive: true });
|
|
18
19
|
await (0, promises_1.cp)(file.sourcePath, file.targetPath);
|
|
19
20
|
}
|
|
21
|
+
const importedRuntimeFiles = await executeRuntimeImport(params);
|
|
20
22
|
await (0, promises_1.mkdir)(params.plan.writePlan.metadataDirectory, { recursive: true });
|
|
21
23
|
const agentRecordPath = node_path_1.default.join(params.plan.writePlan.metadataDirectory, 'agent-definition.json');
|
|
22
24
|
const importRecordPath = node_path_1.default.join(params.plan.writePlan.metadataDirectory, 'import-result.json');
|
|
@@ -27,6 +29,7 @@ async function executeImport(params) {
|
|
|
27
29
|
portableAgentDefinition: params.pkg.agentDefinition,
|
|
28
30
|
targetAgentId: params.plan.writePlan.targetAgentId,
|
|
29
31
|
targetWorkspacePath: params.plan.writePlan.targetWorkspacePath,
|
|
32
|
+
targetAgentDir: params.plan.writePlan.runtimePlan?.targetAgentDir,
|
|
30
33
|
force: params.plan.writePlan.overwriteExisting,
|
|
31
34
|
});
|
|
32
35
|
configFiles.push(params.plan.writePlan.targetConfigPath);
|
|
@@ -37,17 +40,47 @@ async function executeImport(params) {
|
|
|
37
40
|
packageType: params.pkg.manifest.packageType,
|
|
38
41
|
portableAgentDefinition: params.pkg.agentDefinition,
|
|
39
42
|
persistedToConfig: params.plan.writePlan.targetConfigPath ?? null,
|
|
43
|
+
targetAgentDir: params.plan.writePlan.runtimePlan?.targetAgentDir ?? null,
|
|
40
44
|
});
|
|
45
|
+
const targetAgentDir = params.plan.writePlan.runtimePlan?.targetAgentDir;
|
|
41
46
|
const result = {
|
|
42
47
|
status: 'ok',
|
|
43
48
|
importedFiles: params.plan.writePlan.workspaceFiles.map((file) => file.relativePath),
|
|
49
|
+
importedRuntimeFiles,
|
|
44
50
|
metadataFiles: [agentRecordPath, importRecordPath, ...configFiles],
|
|
45
51
|
warnings: params.plan.warnings,
|
|
46
52
|
nextSteps: params.plan.nextSteps,
|
|
47
53
|
targetWorkspacePath: params.plan.writePlan.targetWorkspacePath,
|
|
54
|
+
targetAgentDir,
|
|
48
55
|
agentId: params.plan.writePlan.targetAgentId,
|
|
49
56
|
};
|
|
50
57
|
await (0, json_1.writeJsonFile)(importRecordPath, result);
|
|
51
58
|
return result;
|
|
52
59
|
}
|
|
60
|
+
async function executeRuntimeImport(params) {
|
|
61
|
+
const rp = params.plan.writePlan.runtimePlan;
|
|
62
|
+
if (!rp || rp.files.length === 0)
|
|
63
|
+
return [];
|
|
64
|
+
const imported = [];
|
|
65
|
+
for (const file of rp.files) {
|
|
66
|
+
await (0, promises_1.mkdir)(node_path_1.default.dirname(file.targetPath), { recursive: true });
|
|
67
|
+
if (file.relativePath === 'settings.json' && rp.pathRewrites.length > 0) {
|
|
68
|
+
const raw = await (0, promises_1.readFile)(file.sourcePath, 'utf8');
|
|
69
|
+
let parsed;
|
|
70
|
+
try {
|
|
71
|
+
parsed = JSON.parse(raw);
|
|
72
|
+
}
|
|
73
|
+
catch (err) {
|
|
74
|
+
throw new Error(`Failed to parse ${file.sourcePath} for path rewriting: ${err instanceof Error ? err.message : String(err)}`);
|
|
75
|
+
}
|
|
76
|
+
const rewritten = (0, path_rewrite_1.applyPathRewrites)(parsed, rp.sourceWorkspacePath, rp.sourceAgentDir, params.plan.writePlan.targetWorkspacePath, rp.targetAgentDir);
|
|
77
|
+
await (0, promises_1.writeFile)(file.targetPath, `${JSON.stringify(rewritten, null, 2)}\n`, 'utf8');
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
await (0, promises_1.cp)(file.sourcePath, file.targetPath);
|
|
81
|
+
}
|
|
82
|
+
imported.push(file.relativePath);
|
|
83
|
+
}
|
|
84
|
+
return imported;
|
|
85
|
+
}
|
|
53
86
|
//# sourceMappingURL=import-exec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"import-exec.js","sourceRoot":"","sources":["../../src/core/import-exec.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"import-exec.js","sourceRoot":"","sources":["../../src/core/import-exec.ts"],"names":[],"mappings":"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"}
|
package/dist/core/import-plan.js
CHANGED
|
@@ -4,16 +4,17 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.planImport = planImport;
|
|
7
|
+
const promises_1 = require("node:fs/promises");
|
|
7
8
|
const node_path_1 = __importDefault(require("node:path"));
|
|
8
9
|
const fs_1 = require("../utils/fs");
|
|
10
|
+
const constants_1 = require("./constants");
|
|
9
11
|
const openclaw_config_1 = require("./openclaw-config");
|
|
12
|
+
const path_rewrite_1 = require("./path-rewrite");
|
|
10
13
|
async function planImport(params) {
|
|
11
14
|
const requiredInputs = [];
|
|
12
15
|
const failed = [];
|
|
13
16
|
const warnings = [...params.pkg.importHints.warnings];
|
|
14
|
-
const nextSteps = [
|
|
15
|
-
'Review the imported identity and memory files before using the agent.',
|
|
16
|
-
];
|
|
17
|
+
const nextSteps = ['Review the imported identity and memory files before using the agent.'];
|
|
17
18
|
if (params.pkg.bindings && params.pkg.bindings.length > 0) {
|
|
18
19
|
nextSteps.push('Channel bindings were included in the package. Verify channel connections on the target instance.');
|
|
19
20
|
}
|
|
@@ -68,6 +69,19 @@ async function planImport(params) {
|
|
|
68
69
|
else {
|
|
69
70
|
warnings.push(`Target OpenClaw config does not exist yet and will be created during import: ${params.targetConfigPath}`);
|
|
70
71
|
}
|
|
72
|
+
const runtimePlanResult = await planRuntimeImport({
|
|
73
|
+
pkg: params.pkg,
|
|
74
|
+
targetWorkspacePath,
|
|
75
|
+
targetAgentId,
|
|
76
|
+
targetAgentDir: params.targetAgentDir,
|
|
77
|
+
targetConfigPath: params.targetConfigPath,
|
|
78
|
+
force: params.force,
|
|
79
|
+
});
|
|
80
|
+
if (runtimePlanResult) {
|
|
81
|
+
failed.push(...runtimePlanResult.failed);
|
|
82
|
+
warnings.push(...runtimePlanResult.warnings);
|
|
83
|
+
nextSteps.push(...runtimePlanResult.nextSteps);
|
|
84
|
+
}
|
|
71
85
|
const metadataDirectory = node_path_1.default.join(targetWorkspacePath, '.openclaw-agent-package');
|
|
72
86
|
const writePlan = {
|
|
73
87
|
workspaceFiles: params.pkg.workspaceFiles.map((file) => ({
|
|
@@ -80,11 +94,15 @@ async function planImport(params) {
|
|
|
80
94
|
targetAgentId,
|
|
81
95
|
metadataDirectory,
|
|
82
96
|
targetConfigPath: params.targetConfigPath,
|
|
97
|
+
runtimePlan: runtimePlanResult?.plan,
|
|
83
98
|
summary: {
|
|
84
99
|
fileCount: params.pkg.workspaceFiles.length,
|
|
85
100
|
existingWorkspaceDetected: workspaceExists,
|
|
86
101
|
targetConfigDetected: Boolean(params.targetConfigPath),
|
|
87
102
|
configAgentCollision,
|
|
103
|
+
runtimeFileCount: runtimePlanResult?.plan?.files.length ?? 0,
|
|
104
|
+
runtimeCollisions: runtimePlanResult?.collisions ?? false,
|
|
105
|
+
targetAgentDirDetected: runtimePlanResult?.plan !== undefined,
|
|
88
106
|
},
|
|
89
107
|
};
|
|
90
108
|
if (requiredInputs.length === 0 && failed.length === 0) {
|
|
@@ -106,4 +124,157 @@ async function planImport(params) {
|
|
|
106
124
|
writePlan,
|
|
107
125
|
};
|
|
108
126
|
}
|
|
127
|
+
async function planRuntimeImport(params) {
|
|
128
|
+
const rm = params.pkg.runtimeManifest;
|
|
129
|
+
if (!rm || rm.mode === 'none' || rm.includedFiles.length === 0) {
|
|
130
|
+
return undefined;
|
|
131
|
+
}
|
|
132
|
+
const failed = [];
|
|
133
|
+
const warnings = [];
|
|
134
|
+
const nextSteps = [];
|
|
135
|
+
const resolvedAgentDir = await resolveTargetAgentDir({
|
|
136
|
+
explicit: params.targetAgentDir,
|
|
137
|
+
targetAgentId: params.targetAgentId,
|
|
138
|
+
targetConfigPath: params.targetConfigPath,
|
|
139
|
+
});
|
|
140
|
+
if (!resolvedAgentDir) {
|
|
141
|
+
failed.push('Runtime import requires a target agentDir but none could be resolved. ' +
|
|
142
|
+
'Provide --target-agent-dir, or ensure the target agent config entry includes an agentDir field.');
|
|
143
|
+
return { failed, warnings, nextSteps, collisions: false };
|
|
144
|
+
}
|
|
145
|
+
let collisions = false;
|
|
146
|
+
const otherAgentClaimsDir = await isAgentDirClaimedByOther({
|
|
147
|
+
targetConfigPath: params.targetConfigPath,
|
|
148
|
+
targetAgentId: params.targetAgentId,
|
|
149
|
+
targetAgentDir: resolvedAgentDir,
|
|
150
|
+
});
|
|
151
|
+
if (otherAgentClaimsDir) {
|
|
152
|
+
failed.push(`Target agentDir ${resolvedAgentDir} is claimed by another agent in the config. ` +
|
|
153
|
+
'Choose a different --target-agent-dir or resolve the conflict manually.');
|
|
154
|
+
collisions = true;
|
|
155
|
+
}
|
|
156
|
+
const existingFiles = [];
|
|
157
|
+
for (const relPath of rm.includedFiles) {
|
|
158
|
+
if (isAlwaysExcludedPath(relPath))
|
|
159
|
+
continue;
|
|
160
|
+
const targetPath = node_path_1.default.join(resolvedAgentDir, relPath);
|
|
161
|
+
if (await (0, fs_1.pathExists)(targetPath)) {
|
|
162
|
+
existingFiles.push(relPath);
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
if (existingFiles.length > 0 && !params.force) {
|
|
166
|
+
collisions = true;
|
|
167
|
+
failed.push(`${existingFiles.length} runtime file(s) already exist in target agentDir: ${existingFiles.slice(0, 5).join(', ')}` +
|
|
168
|
+
(existingFiles.length > 5 ? ` (and ${existingFiles.length - 5} more)` : ''));
|
|
169
|
+
nextSteps.push('Re-run with --force to overwrite existing runtime files, or choose a different --target-agent-dir.');
|
|
170
|
+
}
|
|
171
|
+
else if (existingFiles.length > 0) {
|
|
172
|
+
warnings.push(`${existingFiles.length} runtime file(s) will be overwritten in target agentDir because --force was provided.`);
|
|
173
|
+
}
|
|
174
|
+
let pathRewrites = [];
|
|
175
|
+
const sourceAgentDir = rm.agentDir;
|
|
176
|
+
const sourceWorkspacePath = params.pkg.exportReport.workspacePath;
|
|
177
|
+
const settingsAnalysisPath = node_path_1.default.join(params.pkg.packageRoot, 'runtime', 'settings-analysis.json');
|
|
178
|
+
if (await (0, fs_1.pathExists)(settingsAnalysisPath)) {
|
|
179
|
+
try {
|
|
180
|
+
const raw = await (0, promises_1.readFile)(settingsAnalysisPath, 'utf8');
|
|
181
|
+
const analysis = JSON.parse(raw);
|
|
182
|
+
const result = (0, path_rewrite_1.computePathRewrites)({
|
|
183
|
+
settingsAnalysis: analysis,
|
|
184
|
+
sourceWorkspacePath,
|
|
185
|
+
sourceAgentDir,
|
|
186
|
+
targetWorkspacePath: params.targetWorkspacePath,
|
|
187
|
+
targetAgentDir: resolvedAgentDir,
|
|
188
|
+
});
|
|
189
|
+
pathRewrites = result.rewrites;
|
|
190
|
+
warnings.push(...result.warnings);
|
|
191
|
+
if (result.blocked.length > 0 && !params.force) {
|
|
192
|
+
collisions = true;
|
|
193
|
+
failed.push(`${result.blocked.length} external absolute path(s) in settings.json cannot be auto-rewritten.`);
|
|
194
|
+
nextSteps.push('Review path references in settings.json and update manually after import.');
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
catch (err) {
|
|
198
|
+
warnings.push(`Could not parse settings-analysis.json from package — path rewrites will be skipped: ${err instanceof Error ? err.message : String(err)}`);
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
const runtimeFilesDir = node_path_1.default.join(params.pkg.packageRoot, 'runtime', 'files');
|
|
202
|
+
const runtimeFiles = rm.includedFiles
|
|
203
|
+
.filter((relPath) => !isAlwaysExcludedPath(relPath))
|
|
204
|
+
.map((relPath) => ({
|
|
205
|
+
sourcePath: node_path_1.default.join(runtimeFilesDir, relPath),
|
|
206
|
+
targetPath: node_path_1.default.join(resolvedAgentDir, relPath),
|
|
207
|
+
relativePath: relPath,
|
|
208
|
+
}));
|
|
209
|
+
if (runtimeFiles.length > 0) {
|
|
210
|
+
nextSteps.push('Review runtime files (settings.json, prompts, themes) in the target agentDir after import.');
|
|
211
|
+
}
|
|
212
|
+
const plan = {
|
|
213
|
+
files: runtimeFiles,
|
|
214
|
+
targetAgentDir: resolvedAgentDir,
|
|
215
|
+
sourceAgentDir,
|
|
216
|
+
sourceWorkspacePath,
|
|
217
|
+
pathRewrites,
|
|
218
|
+
overwriteExisting: Boolean(params.force),
|
|
219
|
+
};
|
|
220
|
+
return { plan, failed, warnings, nextSteps, collisions };
|
|
221
|
+
}
|
|
222
|
+
async function resolveTargetAgentDir(params) {
|
|
223
|
+
if (params.explicit) {
|
|
224
|
+
return node_path_1.default.resolve(params.explicit);
|
|
225
|
+
}
|
|
226
|
+
if (!params.targetConfigPath || !(await (0, fs_1.pathExists)(params.targetConfigPath))) {
|
|
227
|
+
return undefined;
|
|
228
|
+
}
|
|
229
|
+
try {
|
|
230
|
+
const { config, configPath } = await (0, openclaw_config_1.loadOpenClawConfig)({
|
|
231
|
+
configPath: params.targetConfigPath,
|
|
232
|
+
});
|
|
233
|
+
const resolved = (0, openclaw_config_1.resolveAgentFromConfig)(config, params.targetAgentId);
|
|
234
|
+
if (resolved?.agent.agentDir) {
|
|
235
|
+
const ad = resolved.agent.agentDir;
|
|
236
|
+
return node_path_1.default.isAbsolute(ad) ? ad : node_path_1.default.resolve(node_path_1.default.dirname(configPath), ad);
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
catch { }
|
|
240
|
+
return undefined;
|
|
241
|
+
}
|
|
242
|
+
async function isAgentDirClaimedByOther(params) {
|
|
243
|
+
if (!params.targetConfigPath || !(await (0, fs_1.pathExists)(params.targetConfigPath))) {
|
|
244
|
+
return false;
|
|
245
|
+
}
|
|
246
|
+
try {
|
|
247
|
+
const { config, configPath } = await (0, openclaw_config_1.loadOpenClawConfig)({
|
|
248
|
+
configPath: params.targetConfigPath,
|
|
249
|
+
});
|
|
250
|
+
const entries = config.agents?.list ?? (config.agent ? [config.agent] : []);
|
|
251
|
+
for (const entry of entries) {
|
|
252
|
+
const entryId = entry.id ?? 'default';
|
|
253
|
+
if (entryId === params.targetAgentId)
|
|
254
|
+
continue;
|
|
255
|
+
if (!entry.agentDir)
|
|
256
|
+
continue;
|
|
257
|
+
const resolved = node_path_1.default.isAbsolute(entry.agentDir)
|
|
258
|
+
? entry.agentDir
|
|
259
|
+
: node_path_1.default.resolve(node_path_1.default.dirname(configPath), entry.agentDir);
|
|
260
|
+
if (resolved === params.targetAgentDir)
|
|
261
|
+
return true;
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
catch { }
|
|
265
|
+
return false;
|
|
266
|
+
}
|
|
267
|
+
function isAlwaysExcludedPath(relativePath) {
|
|
268
|
+
for (const pattern of constants_1.RUNTIME_ALWAYS_EXCLUDE) {
|
|
269
|
+
if (pattern.endsWith('/**')) {
|
|
270
|
+
const prefix = pattern.slice(0, -3);
|
|
271
|
+
if (relativePath.startsWith(`${prefix}/`))
|
|
272
|
+
return true;
|
|
273
|
+
}
|
|
274
|
+
else if (relativePath === pattern) {
|
|
275
|
+
return true;
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
return false;
|
|
279
|
+
}
|
|
109
280
|
//# sourceMappingURL=import-plan.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"import-plan.js","sourceRoot":"","sources":["../../src/core/import-plan.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"import-plan.js","sourceRoot":"","sources":["../../src/core/import-plan.ts"],"names":[],"mappings":"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"}
|
package/dist/core/manifest.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AgentDefinition, ExportArtifacts, ExportReport, PackageManifest, SkillsManifest, WorkspaceScanResult } from './types';
|
|
1
|
+
import type { AgentDefinition, ExportArtifacts, ExportReport, PackageManifest, RuntimeManifest, RuntimeScanResult, SkillsManifest, WorkspaceScanResult } from './types';
|
|
2
2
|
export declare function buildManifest(params: {
|
|
3
3
|
packageName: string;
|
|
4
4
|
workspacePath: string;
|
|
@@ -10,6 +10,7 @@ export declare function buildManifest(params: {
|
|
|
10
10
|
checksums?: Record<string, string>;
|
|
11
11
|
hasBindings?: boolean;
|
|
12
12
|
hasCronJobs?: boolean;
|
|
13
|
+
runtimeScan?: RuntimeScanResult;
|
|
13
14
|
}): PackageManifest;
|
|
14
15
|
export declare function buildExportReport(params: {
|
|
15
16
|
packageName: string;
|
|
@@ -17,6 +18,7 @@ export declare function buildExportReport(params: {
|
|
|
17
18
|
scan: WorkspaceScanResult;
|
|
18
19
|
skills: SkillsManifest;
|
|
19
20
|
warnings?: string[];
|
|
21
|
+
runtimeManifest?: RuntimeManifest;
|
|
20
22
|
}): ExportReport;
|
|
21
23
|
export declare function buildExportArtifacts(params: {
|
|
22
24
|
packageName: string;
|
|
@@ -29,4 +31,6 @@ export declare function buildExportArtifacts(params: {
|
|
|
29
31
|
warnings?: string[];
|
|
30
32
|
hasBindings?: boolean;
|
|
31
33
|
hasCronJobs?: boolean;
|
|
34
|
+
runtimeScan?: RuntimeScanResult;
|
|
35
|
+
runtimeManifest?: RuntimeManifest;
|
|
32
36
|
}): ExportArtifacts;
|
package/dist/core/manifest.js
CHANGED
|
@@ -33,6 +33,8 @@ function buildManifest(params) {
|
|
|
33
33
|
agentDefinition: true,
|
|
34
34
|
bindings: params.hasBindings ?? false,
|
|
35
35
|
cronJobs: params.hasCronJobs ?? false,
|
|
36
|
+
runtimeMode: params.runtimeScan?.mode,
|
|
37
|
+
runtimeFiles: params.runtimeScan?.includedFiles.map(f => f.relativePath),
|
|
36
38
|
},
|
|
37
39
|
excludes: {
|
|
38
40
|
secrets: true,
|
|
@@ -56,6 +58,7 @@ function buildExportReport(params) {
|
|
|
56
58
|
excludedFiles: params.scan.excludedFiles,
|
|
57
59
|
warnings: params.warnings ?? [],
|
|
58
60
|
skills: params.skills,
|
|
61
|
+
runtime: params.runtimeManifest,
|
|
59
62
|
};
|
|
60
63
|
}
|
|
61
64
|
function buildExportArtifacts(params) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/core/manifest.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/core/manifest.ts"],"names":[],"mappings":"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"}
|