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.
Files changed (83) hide show
  1. package/config/skills/orchestrator/reply-gchat/execute.sh +4 -4
  2. package/config/templates/dev-fullstack/norms/docker-deploy-cleanup.md +28 -0
  3. package/dist/backend/backend/src/constants.d.ts +45 -14
  4. package/dist/backend/backend/src/constants.d.ts.map +1 -1
  5. package/dist/backend/backend/src/constants.js +45 -14
  6. package/dist/backend/backend/src/constants.js.map +1 -1
  7. package/dist/backend/backend/src/controllers/cloud/cloud.controller.d.ts.map +1 -1
  8. package/dist/backend/backend/src/controllers/cloud/cloud.controller.js +14 -3
  9. package/dist/backend/backend/src/controllers/cloud/cloud.controller.js.map +1 -1
  10. package/dist/backend/backend/src/controllers/cloud/relay.controller.d.ts +15 -3
  11. package/dist/backend/backend/src/controllers/cloud/relay.controller.d.ts.map +1 -1
  12. package/dist/backend/backend/src/controllers/cloud/relay.controller.js +46 -8
  13. package/dist/backend/backend/src/controllers/cloud/relay.controller.js.map +1 -1
  14. package/dist/backend/backend/src/controllers/cloud/relay.routes.d.ts.map +1 -1
  15. package/dist/backend/backend/src/controllers/cloud/relay.routes.js +2 -1
  16. package/dist/backend/backend/src/controllers/cloud/relay.routes.js.map +1 -1
  17. package/dist/backend/backend/src/controllers/messaging/messenger.routes.d.ts.map +1 -1
  18. package/dist/backend/backend/src/controllers/messaging/messenger.routes.js +86 -3
  19. package/dist/backend/backend/src/controllers/messaging/messenger.routes.js.map +1 -1
  20. package/dist/backend/backend/src/index.d.ts +5 -0
  21. package/dist/backend/backend/src/index.d.ts.map +1 -1
  22. package/dist/backend/backend/src/index.js +33 -0
  23. package/dist/backend/backend/src/index.js.map +1 -1
  24. package/dist/backend/backend/src/services/cloud/cloud-client.service.d.ts +27 -0
  25. package/dist/backend/backend/src/services/cloud/cloud-client.service.d.ts.map +1 -1
  26. package/dist/backend/backend/src/services/cloud/cloud-client.service.js +28 -0
  27. package/dist/backend/backend/src/services/cloud/cloud-client.service.js.map +1 -1
  28. package/dist/backend/backend/src/services/cloud/relay-client.service.d.ts +47 -44
  29. package/dist/backend/backend/src/services/cloud/relay-client.service.d.ts.map +1 -1
  30. package/dist/backend/backend/src/services/cloud/relay-client.service.js +185 -152
  31. package/dist/backend/backend/src/services/cloud/relay-client.service.js.map +1 -1
  32. package/dist/backend/backend/src/services/cloud/relay-server.service.d.ts.map +1 -1
  33. package/dist/backend/backend/src/services/cloud/relay-server.service.js +3 -12
  34. package/dist/backend/backend/src/services/cloud/relay-server.service.js.map +1 -1
  35. package/dist/backend/backend/src/services/cloud/relay.types.d.ts +27 -4
  36. package/dist/backend/backend/src/services/cloud/relay.types.d.ts.map +1 -1
  37. package/dist/backend/backend/src/services/cloud/relay.types.js.map +1 -1
  38. package/dist/backend/backend/src/services/messaging/adapters/telegram-messenger.adapter.d.ts +16 -8
  39. package/dist/backend/backend/src/services/messaging/adapters/telegram-messenger.adapter.d.ts.map +1 -1
  40. package/dist/backend/backend/src/services/messaging/adapters/telegram-messenger.adapter.js +30 -35
  41. package/dist/backend/backend/src/services/messaging/adapters/telegram-messenger.adapter.js.map +1 -1
  42. package/dist/backend/backend/src/services/messaging/response-router.service.d.ts +8 -0
  43. package/dist/backend/backend/src/services/messaging/response-router.service.d.ts.map +1 -1
  44. package/dist/backend/backend/src/services/messaging/response-router.service.js +16 -0
  45. package/dist/backend/backend/src/services/messaging/response-router.service.js.map +1 -1
  46. package/dist/backend/backend/src/services/telegram/index.d.ts +14 -0
  47. package/dist/backend/backend/src/services/telegram/index.d.ts.map +1 -0
  48. package/dist/backend/backend/src/services/telegram/index.js +11 -0
  49. package/dist/backend/backend/src/services/telegram/index.js.map +1 -0
  50. package/dist/backend/backend/src/services/telegram/telegram-credentials.service.d.ts +54 -0
  51. package/dist/backend/backend/src/services/telegram/telegram-credentials.service.d.ts.map +1 -0
  52. package/dist/backend/backend/src/services/telegram/telegram-credentials.service.js +98 -0
  53. package/dist/backend/backend/src/services/telegram/telegram-credentials.service.js.map +1 -0
  54. package/dist/backend/backend/src/services/telegram/telegram-initializer.d.ts +76 -0
  55. package/dist/backend/backend/src/services/telegram/telegram-initializer.d.ts.map +1 -0
  56. package/dist/backend/backend/src/services/telegram/telegram-initializer.js +131 -0
  57. package/dist/backend/backend/src/services/telegram/telegram-initializer.js.map +1 -0
  58. package/dist/backend/backend/src/services/telegram/telegram-orchestrator-bridge.d.ts +73 -0
  59. package/dist/backend/backend/src/services/telegram/telegram-orchestrator-bridge.d.ts.map +1 -0
  60. package/dist/backend/backend/src/services/telegram/telegram-orchestrator-bridge.js +172 -0
  61. package/dist/backend/backend/src/services/telegram/telegram-orchestrator-bridge.js.map +1 -0
  62. package/dist/backend/backend/src/services/telegram/telegram-thread-store.service.d.ts +86 -0
  63. package/dist/backend/backend/src/services/telegram/telegram-thread-store.service.d.ts.map +1 -0
  64. package/dist/backend/backend/src/services/telegram/telegram-thread-store.service.js +157 -0
  65. package/dist/backend/backend/src/services/telegram/telegram-thread-store.service.js.map +1 -0
  66. package/dist/backend/backend/src/services/telegram/telegram.service.d.ts +173 -0
  67. package/dist/backend/backend/src/services/telegram/telegram.service.d.ts.map +1 -0
  68. package/dist/backend/backend/src/services/telegram/telegram.service.js +304 -0
  69. package/dist/backend/backend/src/services/telegram/telegram.service.js.map +1 -0
  70. package/dist/cli/backend/src/constants.d.ts +45 -14
  71. package/dist/cli/backend/src/constants.d.ts.map +1 -1
  72. package/dist/cli/backend/src/constants.js +45 -14
  73. package/dist/cli/backend/src/constants.js.map +1 -1
  74. package/dist/cli/cli/src/commands/migrate.d.ts +101 -0
  75. package/dist/cli/cli/src/commands/migrate.d.ts.map +1 -0
  76. package/dist/cli/cli/src/commands/migrate.js +335 -0
  77. package/dist/cli/cli/src/commands/migrate.js.map +1 -0
  78. package/dist/cli/cli/src/index.js +8 -0
  79. package/dist/cli/cli/src/index.js.map +1 -1
  80. package/frontend/dist/assets/{index-f1dc9f80.css → index-2b76b01d.css} +1 -1
  81. package/frontend/dist/assets/{index-c35cdbc5.js → index-83869ca7.js} +321 -321
  82. package/frontend/dist/index.html +2 -2
  83. 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":"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"}