crewly 1.4.2 → 1.4.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/config/skills/orchestrator/reply-gchat/execute.sh +4 -4
- package/config/templates/dev-fullstack/norms/docker-deploy-cleanup.md +28 -0
- package/dist/backend/backend/src/constants.d.ts +45 -14
- package/dist/backend/backend/src/constants.d.ts.map +1 -1
- package/dist/backend/backend/src/constants.js +45 -14
- package/dist/backend/backend/src/constants.js.map +1 -1
- package/dist/backend/backend/src/controllers/cloud/cloud.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/cloud/cloud.controller.js +14 -3
- package/dist/backend/backend/src/controllers/cloud/cloud.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/cloud/relay.controller.d.ts +15 -3
- package/dist/backend/backend/src/controllers/cloud/relay.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/cloud/relay.controller.js +46 -8
- package/dist/backend/backend/src/controllers/cloud/relay.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/cloud/relay.routes.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/cloud/relay.routes.js +2 -1
- package/dist/backend/backend/src/controllers/cloud/relay.routes.js.map +1 -1
- package/dist/backend/backend/src/controllers/messaging/messenger.routes.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/messaging/messenger.routes.js +86 -3
- package/dist/backend/backend/src/controllers/messaging/messenger.routes.js.map +1 -1
- package/dist/backend/backend/src/index.d.ts +5 -0
- package/dist/backend/backend/src/index.d.ts.map +1 -1
- package/dist/backend/backend/src/index.js +33 -0
- package/dist/backend/backend/src/index.js.map +1 -1
- package/dist/backend/backend/src/services/cloud/cloud-client.service.d.ts +27 -0
- package/dist/backend/backend/src/services/cloud/cloud-client.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/cloud/cloud-client.service.js +28 -0
- package/dist/backend/backend/src/services/cloud/cloud-client.service.js.map +1 -1
- package/dist/backend/backend/src/services/cloud/relay-client.service.d.ts +47 -44
- package/dist/backend/backend/src/services/cloud/relay-client.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/cloud/relay-client.service.js +185 -152
- package/dist/backend/backend/src/services/cloud/relay-client.service.js.map +1 -1
- package/dist/backend/backend/src/services/cloud/relay-server.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/cloud/relay-server.service.js +3 -12
- package/dist/backend/backend/src/services/cloud/relay-server.service.js.map +1 -1
- package/dist/backend/backend/src/services/cloud/relay.types.d.ts +27 -4
- package/dist/backend/backend/src/services/cloud/relay.types.d.ts.map +1 -1
- package/dist/backend/backend/src/services/cloud/relay.types.js.map +1 -1
- package/dist/backend/backend/src/services/messaging/adapters/telegram-messenger.adapter.d.ts +16 -8
- package/dist/backend/backend/src/services/messaging/adapters/telegram-messenger.adapter.d.ts.map +1 -1
- package/dist/backend/backend/src/services/messaging/adapters/telegram-messenger.adapter.js +30 -35
- package/dist/backend/backend/src/services/messaging/adapters/telegram-messenger.adapter.js.map +1 -1
- package/dist/backend/backend/src/services/messaging/response-router.service.d.ts +8 -0
- package/dist/backend/backend/src/services/messaging/response-router.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/messaging/response-router.service.js +16 -0
- package/dist/backend/backend/src/services/messaging/response-router.service.js.map +1 -1
- package/dist/backend/backend/src/services/telegram/index.d.ts +14 -0
- package/dist/backend/backend/src/services/telegram/index.d.ts.map +1 -0
- package/dist/backend/backend/src/services/telegram/index.js +11 -0
- package/dist/backend/backend/src/services/telegram/index.js.map +1 -0
- package/dist/backend/backend/src/services/telegram/telegram-credentials.service.d.ts +54 -0
- package/dist/backend/backend/src/services/telegram/telegram-credentials.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/telegram/telegram-credentials.service.js +98 -0
- package/dist/backend/backend/src/services/telegram/telegram-credentials.service.js.map +1 -0
- package/dist/backend/backend/src/services/telegram/telegram-initializer.d.ts +76 -0
- package/dist/backend/backend/src/services/telegram/telegram-initializer.d.ts.map +1 -0
- package/dist/backend/backend/src/services/telegram/telegram-initializer.js +131 -0
- package/dist/backend/backend/src/services/telegram/telegram-initializer.js.map +1 -0
- package/dist/backend/backend/src/services/telegram/telegram-orchestrator-bridge.d.ts +73 -0
- package/dist/backend/backend/src/services/telegram/telegram-orchestrator-bridge.d.ts.map +1 -0
- package/dist/backend/backend/src/services/telegram/telegram-orchestrator-bridge.js +172 -0
- package/dist/backend/backend/src/services/telegram/telegram-orchestrator-bridge.js.map +1 -0
- package/dist/backend/backend/src/services/telegram/telegram-thread-store.service.d.ts +86 -0
- package/dist/backend/backend/src/services/telegram/telegram-thread-store.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/telegram/telegram-thread-store.service.js +157 -0
- package/dist/backend/backend/src/services/telegram/telegram-thread-store.service.js.map +1 -0
- package/dist/backend/backend/src/services/telegram/telegram.service.d.ts +173 -0
- package/dist/backend/backend/src/services/telegram/telegram.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/telegram/telegram.service.js +304 -0
- package/dist/backend/backend/src/services/telegram/telegram.service.js.map +1 -0
- package/dist/cli/backend/src/constants.d.ts +45 -14
- package/dist/cli/backend/src/constants.d.ts.map +1 -1
- package/dist/cli/backend/src/constants.js +45 -14
- package/dist/cli/backend/src/constants.js.map +1 -1
- package/dist/cli/cli/src/commands/migrate.d.ts +101 -0
- package/dist/cli/cli/src/commands/migrate.d.ts.map +1 -0
- package/dist/cli/cli/src/commands/migrate.js +335 -0
- package/dist/cli/cli/src/commands/migrate.js.map +1 -0
- package/dist/cli/cli/src/index.js +8 -0
- package/dist/cli/cli/src/index.js.map +1 -1
- package/frontend/dist/assets/{index-f1dc9f80.css → index-2b76b01d.css} +1 -1
- package/frontend/dist/assets/{index-c35cdbc5.js → index-83869ca7.js} +321 -321
- package/frontend/dist/index.html +2 -2
- package/package.json +1 -1
|
@@ -0,0 +1,335 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI Migrate Command
|
|
3
|
+
*
|
|
4
|
+
* Imports skills from other agent orchestration platforms (e.g. OpenClaw)
|
|
5
|
+
* into Crewly format, with automatic security scanning.
|
|
6
|
+
*
|
|
7
|
+
* @module cli/commands/migrate
|
|
8
|
+
*/
|
|
9
|
+
import chalk from 'chalk';
|
|
10
|
+
import path from 'path';
|
|
11
|
+
import fs from 'fs';
|
|
12
|
+
// ========================= Security Patterns =========================
|
|
13
|
+
/**
|
|
14
|
+
* Dangerous patterns to scan for in imported skill files.
|
|
15
|
+
* Each pattern includes a regex, description, and severity.
|
|
16
|
+
*/
|
|
17
|
+
export const SECURITY_PATTERNS = [
|
|
18
|
+
{
|
|
19
|
+
regex: /rm\s+-rf\s+/,
|
|
20
|
+
description: 'Recursive forced deletion (rm -rf)',
|
|
21
|
+
rating: 'danger',
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
regex: /\beval\s*\(/,
|
|
25
|
+
description: 'Dynamic code execution via eval()',
|
|
26
|
+
rating: 'danger',
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
regex: /\bexec\s*\(/,
|
|
30
|
+
description: 'Shell command execution via exec()',
|
|
31
|
+
rating: 'danger',
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
regex: /curl\s+[^|]*\|\s*(ba)?sh/,
|
|
35
|
+
description: 'Remote script execution (curl | sh)',
|
|
36
|
+
rating: 'danger',
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
regex: /wget\s+[^|]*\|\s*(ba)?sh/,
|
|
40
|
+
description: 'Remote script execution (wget | sh)',
|
|
41
|
+
rating: 'danger',
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
regex: /curl\s+.*https?:\/\//,
|
|
45
|
+
description: 'Network request to external host',
|
|
46
|
+
rating: 'warning',
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
regex: /wget\s+.*https?:\/\//,
|
|
50
|
+
description: 'Network request via wget',
|
|
51
|
+
rating: 'warning',
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
regex: /\bchmod\s+[0-7]*7[0-7]*\s/,
|
|
55
|
+
description: 'Setting world-executable permissions',
|
|
56
|
+
rating: 'warning',
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
regex: /\bsudo\s+/,
|
|
60
|
+
description: 'Elevated privilege execution (sudo)',
|
|
61
|
+
rating: 'danger',
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
regex: />\s*\/dev\/sd[a-z]/,
|
|
65
|
+
description: 'Direct write to block device',
|
|
66
|
+
rating: 'danger',
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
regex: /\bdd\s+.*of=\/dev\//,
|
|
70
|
+
description: 'Direct disk write via dd',
|
|
71
|
+
rating: 'danger',
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
regex: /\b(process\.env|\\$[A-Z_]+).*password/i,
|
|
75
|
+
description: 'Potential credential access',
|
|
76
|
+
rating: 'warning',
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
regex: /base64\s+(-d|--decode)/,
|
|
80
|
+
description: 'Base64 decoding (possible obfuscation)',
|
|
81
|
+
rating: 'warning',
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
regex: /\bnc\s+-[el]/,
|
|
85
|
+
description: 'Netcat listener (possible reverse shell)',
|
|
86
|
+
rating: 'danger',
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
regex: /\/etc\/passwd|\/etc\/shadow/,
|
|
90
|
+
description: 'Access to system credential files',
|
|
91
|
+
rating: 'danger',
|
|
92
|
+
},
|
|
93
|
+
];
|
|
94
|
+
// ========================= Core Functions =========================
|
|
95
|
+
/**
|
|
96
|
+
* Scans a single file's content for dangerous security patterns.
|
|
97
|
+
*
|
|
98
|
+
* @param name - Skill name for reporting
|
|
99
|
+
* @param sourcePath - Original file path
|
|
100
|
+
* @param content - File content to scan
|
|
101
|
+
* @returns Scan result with all findings and overall rating
|
|
102
|
+
*/
|
|
103
|
+
export function scanFileContent(name, sourcePath, content) {
|
|
104
|
+
const findings = [];
|
|
105
|
+
const lines = content.split('\n');
|
|
106
|
+
for (let i = 0; i < lines.length; i++) {
|
|
107
|
+
const line = lines[i];
|
|
108
|
+
for (const pattern of SECURITY_PATTERNS) {
|
|
109
|
+
if (pattern.regex.test(line)) {
|
|
110
|
+
findings.push({
|
|
111
|
+
pattern: pattern.regex.source,
|
|
112
|
+
description: pattern.description,
|
|
113
|
+
rating: pattern.rating,
|
|
114
|
+
line: i + 1,
|
|
115
|
+
content: line.trim(),
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
let overallRating = 'safe';
|
|
121
|
+
if (findings.some((f) => f.rating === 'danger')) {
|
|
122
|
+
overallRating = 'danger';
|
|
123
|
+
}
|
|
124
|
+
else if (findings.some((f) => f.rating === 'warning')) {
|
|
125
|
+
overallRating = 'warning';
|
|
126
|
+
}
|
|
127
|
+
return { name, sourcePath, findings, overallRating };
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Discovers OpenClaw skill files in the given directory.
|
|
131
|
+
* Looks for a skills/ subdirectory and finds all .sh, .py, .ts, .js files.
|
|
132
|
+
*
|
|
133
|
+
* @param sourceDir - Root directory of the OpenClaw project
|
|
134
|
+
* @returns Array of { name, filePath } for each discovered skill
|
|
135
|
+
*/
|
|
136
|
+
export function discoverOpenClawSkills(sourceDir) {
|
|
137
|
+
const skillsDir = path.join(sourceDir, 'skills');
|
|
138
|
+
if (!fs.existsSync(skillsDir)) {
|
|
139
|
+
return [];
|
|
140
|
+
}
|
|
141
|
+
const skills = [];
|
|
142
|
+
const extensions = new Set(['.sh', '.py', '.ts', '.js', '.yaml', '.yml']);
|
|
143
|
+
const entries = fs.readdirSync(skillsDir, { withFileTypes: true });
|
|
144
|
+
for (const entry of entries) {
|
|
145
|
+
const entryPath = path.join(skillsDir, entry.name);
|
|
146
|
+
if (entry.isDirectory()) {
|
|
147
|
+
// Skill directory — look for execute.* or main.*
|
|
148
|
+
const subEntries = fs.readdirSync(entryPath);
|
|
149
|
+
for (const sub of subEntries) {
|
|
150
|
+
const ext = path.extname(sub);
|
|
151
|
+
if (extensions.has(ext)) {
|
|
152
|
+
skills.push({
|
|
153
|
+
name: entry.name,
|
|
154
|
+
filePath: path.join(entryPath, sub),
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
else if (entry.isFile() && extensions.has(path.extname(entry.name))) {
|
|
160
|
+
// Standalone skill file
|
|
161
|
+
skills.push({
|
|
162
|
+
name: path.basename(entry.name, path.extname(entry.name)),
|
|
163
|
+
filePath: entryPath,
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
return skills;
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Generates a Crewly SKILL.md metadata file for an imported skill.
|
|
171
|
+
*
|
|
172
|
+
* @param name - Skill name
|
|
173
|
+
* @param originalSource - Original platform name
|
|
174
|
+
* @returns SKILL.md content string
|
|
175
|
+
*/
|
|
176
|
+
export function generateSkillMetadata(name, originalSource) {
|
|
177
|
+
return `---
|
|
178
|
+
name: ${name}
|
|
179
|
+
description: Imported from ${originalSource}
|
|
180
|
+
version: 1.0.0
|
|
181
|
+
category: imported
|
|
182
|
+
skillType: claude-skill
|
|
183
|
+
assignableRoles:
|
|
184
|
+
- developer
|
|
185
|
+
- generalist
|
|
186
|
+
triggers:
|
|
187
|
+
- ${name}
|
|
188
|
+
tags:
|
|
189
|
+
- imported
|
|
190
|
+
- ${originalSource}
|
|
191
|
+
execution:
|
|
192
|
+
type: script
|
|
193
|
+
script:
|
|
194
|
+
file: execute.sh
|
|
195
|
+
interpreter: bash
|
|
196
|
+
timeoutMs: 30000
|
|
197
|
+
---
|
|
198
|
+
|
|
199
|
+
# ${name}
|
|
200
|
+
|
|
201
|
+
Skill imported from ${originalSource} via \`crewly migrate\`.
|
|
202
|
+
|
|
203
|
+
> **Note:** This skill was automatically imported. Review the security scan report before use.
|
|
204
|
+
`;
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* Imports a single OpenClaw skill into Crewly format.
|
|
208
|
+
*
|
|
209
|
+
* @param skill - Discovered skill info
|
|
210
|
+
* @param outputDir - Target directory for Crewly skills
|
|
211
|
+
* @returns Scan result for the imported skill
|
|
212
|
+
*/
|
|
213
|
+
export function importSkill(skill, outputDir) {
|
|
214
|
+
const content = fs.readFileSync(skill.filePath, 'utf-8');
|
|
215
|
+
const scanResult = scanFileContent(skill.name, skill.filePath, content);
|
|
216
|
+
const skillDir = path.join(outputDir, skill.name);
|
|
217
|
+
fs.mkdirSync(skillDir, { recursive: true });
|
|
218
|
+
// Copy the skill file as execute.sh (or preserve extension for non-sh)
|
|
219
|
+
const ext = path.extname(skill.filePath);
|
|
220
|
+
const targetFile = ext === '.sh' ? 'execute.sh' : `execute${ext}`;
|
|
221
|
+
fs.writeFileSync(path.join(skillDir, targetFile), content, 'utf-8');
|
|
222
|
+
// Generate SKILL.md metadata
|
|
223
|
+
const metadata = generateSkillMetadata(skill.name, 'openclaw');
|
|
224
|
+
fs.writeFileSync(path.join(skillDir, 'SKILL.md'), metadata, 'utf-8');
|
|
225
|
+
return scanResult;
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* Prints the security scan report to the console.
|
|
229
|
+
*
|
|
230
|
+
* @param results - Array of scan results from all imported skills
|
|
231
|
+
*/
|
|
232
|
+
export function printSecurityReport(results) {
|
|
233
|
+
console.log(chalk.bold('\n📋 Security Scan Report'));
|
|
234
|
+
console.log(chalk.gray('─'.repeat(60)));
|
|
235
|
+
const ratingIcon = {
|
|
236
|
+
safe: '✅',
|
|
237
|
+
warning: '⚠️',
|
|
238
|
+
danger: '🚫',
|
|
239
|
+
};
|
|
240
|
+
const ratingColor = {
|
|
241
|
+
safe: chalk.green,
|
|
242
|
+
warning: chalk.yellow,
|
|
243
|
+
danger: chalk.red,
|
|
244
|
+
};
|
|
245
|
+
for (const result of results) {
|
|
246
|
+
const icon = ratingIcon[result.overallRating];
|
|
247
|
+
const colorFn = ratingColor[result.overallRating];
|
|
248
|
+
console.log(`\n${icon} ${chalk.bold(result.name)} — ${colorFn(result.overallRating.toUpperCase())}`);
|
|
249
|
+
if (result.findings.length === 0) {
|
|
250
|
+
console.log(chalk.gray(' No security issues found.'));
|
|
251
|
+
}
|
|
252
|
+
else {
|
|
253
|
+
for (const finding of result.findings) {
|
|
254
|
+
const fColor = ratingColor[finding.rating];
|
|
255
|
+
console.log(fColor(` Line ${finding.line}: ${finding.description}`));
|
|
256
|
+
console.log(chalk.gray(` ${finding.content}`));
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
console.log(chalk.gray('\n' + '─'.repeat(60)));
|
|
261
|
+
const dangerCount = results.filter((r) => r.overallRating === 'danger').length;
|
|
262
|
+
const warningCount = results.filter((r) => r.overallRating === 'warning').length;
|
|
263
|
+
const safeCount = results.filter((r) => r.overallRating === 'safe').length;
|
|
264
|
+
console.log(`Total: ${chalk.green(`${safeCount} safe`)}, ` +
|
|
265
|
+
`${chalk.yellow(`${warningCount} warning`)}, ` +
|
|
266
|
+
`${chalk.red(`${dangerCount} danger`)}`);
|
|
267
|
+
if (dangerCount > 0) {
|
|
268
|
+
console.log(chalk.red('\n⚠ Dangerous skills were imported. Review them carefully before use.'));
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
// ========================= Command Entry Point =========================
|
|
272
|
+
/**
|
|
273
|
+
* Main entry point for the `crewly migrate` command.
|
|
274
|
+
* Imports skills from a source platform and runs security analysis.
|
|
275
|
+
*
|
|
276
|
+
* @param options - Command options including --from and optional --dir / --output
|
|
277
|
+
*/
|
|
278
|
+
export async function migrateCommand(options) {
|
|
279
|
+
const { from, dir, output } = options;
|
|
280
|
+
if (!from) {
|
|
281
|
+
console.log(chalk.red('Please specify a source platform with --from.'));
|
|
282
|
+
console.log(chalk.gray('Example: crewly migrate --from openclaw'));
|
|
283
|
+
console.log(chalk.gray('Supported sources: openclaw'));
|
|
284
|
+
process.exit(1);
|
|
285
|
+
}
|
|
286
|
+
const supportedSources = ['openclaw'];
|
|
287
|
+
if (!supportedSources.includes(from)) {
|
|
288
|
+
console.log(chalk.red(`Unsupported source: "${from}"`));
|
|
289
|
+
console.log(chalk.gray(`Supported sources: ${supportedSources.join(', ')}`));
|
|
290
|
+
process.exit(1);
|
|
291
|
+
}
|
|
292
|
+
const sourceDir = dir || process.cwd();
|
|
293
|
+
const outputDir = output || path.join(process.cwd(), 'config', 'skills', 'imported');
|
|
294
|
+
console.log(chalk.blue(`\nMigrating skills from ${chalk.bold(from)}...`));
|
|
295
|
+
console.log(chalk.gray(`Source: ${sourceDir}`));
|
|
296
|
+
console.log(chalk.gray(`Output: ${outputDir}`));
|
|
297
|
+
// Discover skills
|
|
298
|
+
const skills = discoverOpenClawSkills(sourceDir);
|
|
299
|
+
if (skills.length === 0) {
|
|
300
|
+
console.log(chalk.yellow('\nNo skills found in the source directory.'));
|
|
301
|
+
console.log(chalk.gray(`Expected skills/ directory at: ${path.join(sourceDir, 'skills')}`));
|
|
302
|
+
process.exit(0);
|
|
303
|
+
}
|
|
304
|
+
console.log(chalk.blue(`\nFound ${skills.length} skill file(s). Importing...\n`));
|
|
305
|
+
// Import and scan each skill
|
|
306
|
+
const scanResults = [];
|
|
307
|
+
let imported = 0;
|
|
308
|
+
let failed = 0;
|
|
309
|
+
for (const skill of skills) {
|
|
310
|
+
try {
|
|
311
|
+
const result = importSkill(skill, outputDir);
|
|
312
|
+
scanResults.push(result);
|
|
313
|
+
console.log(chalk.green(` ✓ ${skill.name} (${path.basename(skill.filePath)})`));
|
|
314
|
+
imported++;
|
|
315
|
+
}
|
|
316
|
+
catch (error) {
|
|
317
|
+
const msg = error instanceof Error ? error.message : String(error);
|
|
318
|
+
console.log(chalk.red(` ✗ ${skill.name}: ${msg}`));
|
|
319
|
+
failed++;
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
// Print security report
|
|
323
|
+
if (scanResults.length > 0) {
|
|
324
|
+
printSecurityReport(scanResults);
|
|
325
|
+
}
|
|
326
|
+
// Summary
|
|
327
|
+
console.log('');
|
|
328
|
+
if (failed === 0) {
|
|
329
|
+
console.log(chalk.green(`Done! ${imported} skill(s) imported to ${outputDir}`));
|
|
330
|
+
}
|
|
331
|
+
else {
|
|
332
|
+
console.log(chalk.yellow(`Done! ${imported} imported, ${failed} failed.`));
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
//# sourceMappingURL=migrate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../../../../cli/src/commands/migrate.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,7 @@ import { publishCommand } from './commands/publish.js';
|
|
|
14
14
|
import { seedMarketplaceCommand } from './commands/seed-marketplace.js';
|
|
15
15
|
import { serviceCommand } from './commands/service.js';
|
|
16
16
|
import { pairCommand } from './commands/pair.js';
|
|
17
|
+
import { migrateCommand } from './commands/migrate.js';
|
|
17
18
|
import { DEFAULT_WEB_PORT } from './constants.js';
|
|
18
19
|
import { getLocalVersion } from './utils/version-check.js';
|
|
19
20
|
const program = new Command();
|
|
@@ -107,6 +108,13 @@ program
|
|
|
107
108
|
.option('--disconnect', 'Disconnect from active relay session')
|
|
108
109
|
.option('--devices', 'List paired devices')
|
|
109
110
|
.action(pairCommand);
|
|
111
|
+
program
|
|
112
|
+
.command('migrate')
|
|
113
|
+
.description('Import skills from other platforms (e.g. OpenClaw) with security scanning')
|
|
114
|
+
.requiredOption('--from <source>', 'Source platform to migrate from (e.g. openclaw)')
|
|
115
|
+
.option('--dir <path>', 'Source project directory (default: current directory)')
|
|
116
|
+
.option('--output <path>', 'Output directory for imported skills')
|
|
117
|
+
.action(migrateCommand);
|
|
110
118
|
// Error handling
|
|
111
119
|
program.exitOverride();
|
|
112
120
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../cli/src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../cli/src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAE3D,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,IAAI,UAAU,GAAG,OAAO,CAAC;AACzB,IAAI,CAAC;IACH,UAAU,GAAG,eAAe,EAAE,CAAC;AACjC,CAAC;AAAC,MAAM,CAAC;IACP,6DAA6D;AAC/D,CAAC;AAED,OAAO;KACJ,IAAI,CAAC,QAAQ,CAAC;KACd,WAAW,CAAC,6EAA6E,CAAC;KAC1F,OAAO,CAAC,UAAU,CAAC,CAAC;AAEvB,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,yCAAyC,CAAC;KACtD,MAAM,CAAC,mBAAmB,EAAE,iBAAiB,EAAE,gBAAgB,CAAC,QAAQ,EAAE,CAAC;KAC3E,MAAM,CAAC,cAAc,EAAE,mCAAmC,CAAC;KAC3D,MAAM,CAAC,YAAY,EAAE,2DAA2D,CAAC;KACjF,MAAM,CAAC,gBAAgB,EAAE,qEAAqE,CAAC;KAC/F,MAAM,CAAC,YAAY,CAAC,CAAC;AAExB,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,uCAAuC,CAAC;KACpD,MAAM,CAAC,SAAS,EAAE,0BAA0B,CAAC;KAC7C,MAAM,CAAC,WAAW,CAAC,CAAC;AAEvB,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,wCAAwC,CAAC;KACrD,MAAM,CAAC,WAAW,EAAE,2BAA2B,CAAC;KAChD,MAAM,CAAC,aAAa,CAAC,CAAC;AAEzB,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,wCAAwC,CAAC;KACrD,MAAM,CAAC,cAAc,EAAE,mBAAmB,CAAC;KAC3C,MAAM,CAAC,sBAAsB,EAAE,yBAAyB,EAAE,IAAI,CAAC;KAC/D,MAAM,CAAC,WAAW,CAAC,CAAC;AAEvB,OAAO;KACJ,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,sCAAsC,CAAC;KACnD,MAAM,CAAC,SAAS,EAAE,sCAAsC,CAAC;KACzD,MAAM,CAAC,cAAc,CAAC,CAAC;AAE1B,OAAO;KACJ,OAAO,CAAC,cAAc,CAAC;KACvB,WAAW,CAAC,6CAA6C,CAAC;KAC1D,MAAM,CAAC,OAAO,EAAE,0BAA0B,CAAC;KAC3C,MAAM,CAAC,cAAc,CAAC,CAAC;AAE1B,OAAO;KACJ,OAAO,CAAC,gBAAgB,CAAC;KACzB,WAAW,CAAC,qCAAqC,CAAC;KAClD,MAAM,CAAC,eAAe,EAAE,qCAAqC,CAAC;KAC9D,MAAM,CAAC,aAAa,CAAC,CAAC;AAEzB,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,KAAK,CAAC,SAAS,CAAC;KAChB,WAAW,CAAC,+CAA+C,CAAC;KAC5D,MAAM,CAAC,WAAW,EAAE,sDAAsD,CAAC;KAC3E,MAAM,CAAC,iBAAiB,EAAE,kDAAkD,CAAC;KAC7E,MAAM,CAAC,cAAc,CAAC,CAAC;AAE1B,OAAO;KACJ,OAAO,CAAC,YAAY,CAAC;KACrB,WAAW,CAAC,qEAAqE,CAAC;KAClF,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAE5B,OAAO;KACJ,OAAO,CAAC,gBAAgB,CAAC;KACzB,WAAW,CAAC,yDAAyD,CAAC;KACtE,MAAM,CAAC,WAAW,EAAE,sCAAsC,CAAC;KAC3D,MAAM,CAAC,oBAAoB,EAAE,kCAAkC,CAAC;KAChE,MAAM,CAAC,UAAU,EAAE,gDAAgD,CAAC;KACpE,MAAM,CAAC,aAAa,EAAE,6DAA6D,CAAC;KACpF,MAAM,CAAC,cAAc,CAAC,CAAC;AAE1B,OAAO;KACJ,OAAO,CAAC,kBAAkB,CAAC;KAC3B,WAAW,CAAC,2DAA2D,CAAC;KACxE,MAAM,CAAC,WAAW,EAAE,+BAA+B,CAAC;KACpD,MAAM,CAAC,oBAAoB,EAAE,kCAAkC,CAAC;KAChE,MAAM,CAAC,sBAAsB,CAAC,CAAC;AAElC,OAAO;KACJ,OAAO,CAAC,kBAAkB,CAAC;KAC3B,WAAW,CAAC,wEAAwE,CAAC;KACrF,MAAM,CAAC,SAAS,EAAE,iCAAiC,CAAC;KACpD,MAAM,CAAC,cAAc,CAAC,CAAC;AAE1B,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,oEAAoE,CAAC;KACjF,MAAM,CAAC,SAAS,EAAE,6BAA6B,CAAC;KAChD,MAAM,CAAC,eAAe,EAAE,iDAAiD,CAAC;KAC1E,MAAM,CAAC,eAAe,EAAE,kCAAkC,CAAC;KAC3D,MAAM,CAAC,mBAAmB,EAAE,8CAA8C,CAAC;KAC3E,MAAM,CAAC,cAAc,EAAE,sCAAsC,CAAC;KAC9D,MAAM,CAAC,WAAW,EAAE,qBAAqB,CAAC;KAC1C,MAAM,CAAC,WAAW,CAAC,CAAC;AAEvB,OAAO;KACJ,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,2EAA2E,CAAC;KACxF,cAAc,CAAC,iBAAiB,EAAE,iDAAiD,CAAC;KACpF,MAAM,CAAC,cAAc,EAAE,uDAAuD,CAAC;KAC/E,MAAM,CAAC,iBAAiB,EAAE,sCAAsC,CAAC;KACjE,MAAM,CAAC,cAAc,CAAC,CAAC;AAE1B,iBAAiB;AACjB,OAAO,CAAC,YAAY,EAAE,CAAC;AAEvB,IAAI,CAAC;IACH,OAAO,CAAC,KAAK,EAAE,CAAC;AAClB,CAAC;AAAC,OAAO,GAAG,EAAE,CAAC;IACb,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;IACzF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC"}
|