@sowonai/crewx-cli 0.8.0-rc.1 → 0.8.0-rc.11

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 (40) hide show
  1. package/README.md +2 -2
  2. package/dist/app.module.js +4 -0
  3. package/dist/app.module.js.map +1 -1
  4. package/dist/cli/cli.handler.js +4 -0
  5. package/dist/cli/cli.handler.js.map +1 -1
  6. package/dist/cli/init.handler.js +1 -1
  7. package/dist/cli/skill.handler.d.ts +2 -0
  8. package/dist/cli/skill.handler.js +143 -0
  9. package/dist/cli/skill.handler.js.map +1 -0
  10. package/dist/cli-options.d.ts +4 -0
  11. package/dist/cli-options.js +19 -0
  12. package/dist/cli-options.js.map +1 -1
  13. package/dist/crewx.tool.d.ts +3 -1
  14. package/dist/crewx.tool.js +42 -2
  15. package/dist/crewx.tool.js.map +1 -1
  16. package/dist/main.js +6 -1
  17. package/dist/main.js.map +1 -1
  18. package/dist/providers/dynamic-provider.factory.js +2 -0
  19. package/dist/providers/dynamic-provider.factory.js.map +1 -1
  20. package/dist/services/skill.service.d.ts +66 -0
  21. package/dist/services/skill.service.js +584 -0
  22. package/dist/services/skill.service.js.map +1 -0
  23. package/dist/services/skill.service.spec.d.ts +1 -0
  24. package/dist/services/skill.service.spec.js +35 -0
  25. package/dist/services/skill.service.spec.js.map +1 -0
  26. package/dist/services/tracing.service.d.ts +77 -73
  27. package/dist/services/tracing.service.js +250 -338
  28. package/dist/services/tracing.service.js.map +1 -1
  29. package/dist/slack/formatters/message.formatter.d.ts +4 -0
  30. package/dist/slack/formatters/message.formatter.js +93 -49
  31. package/dist/slack/formatters/message.formatter.js.map +1 -1
  32. package/dist/utils/template-processor.js +18 -1
  33. package/dist/utils/template-processor.js.map +1 -1
  34. package/package.json +4 -2
  35. package/templates/agents/default.yaml +2 -0
  36. package/templates/documents/conversation-history-default.hbs +17 -0
  37. package/dist/services/memory.service.d.ts +0 -102
  38. package/dist/services/memory.service.js +0 -707
  39. package/dist/services/memory.service.js.map +0 -1
  40. package/scripts/migrate-tracing-db.mjs +0 -295
package/README.md CHANGED
@@ -165,7 +165,7 @@ crewx slack --mode execute
165
165
  crewx slack --log
166
166
  ```
167
167
 
168
- See [Slack Setup Guide](../../SLACK_INSTALL.md) for configuration.
168
+ See [Slack Setup Guide](../../docs/slack-install.md) for configuration.
169
169
 
170
170
  ### templates
171
171
 
@@ -560,7 +560,7 @@ Full Slack integration with:
560
560
  - Team collaboration
561
561
  - Read-only or execute mode
562
562
 
563
- See [Slack Setup Guide](../../SLACK_INSTALL.md) for details.
563
+ See [Slack Setup Guide](../../docs/slack-install.md) for details.
564
564
 
565
565
  ## MCP Server
566
566
 
@@ -72,6 +72,8 @@ const mcp_client_service_1 = require("./services/mcp-client.service");
72
72
  const remote_agent_service_1 = require("./services/remote-agent.service");
73
73
  const provider_bridge_service_1 = require("./services/provider-bridge.service");
74
74
  const skill_loader_service_1 = require("./services/skill-loader.service");
75
+ const skill_service_1 = require("./services/skill.service");
76
+ const tracing_service_1 = require("./services/tracing.service");
75
77
  const crewx_sdk_2 = require("@sowonai/crewx-sdk");
76
78
  const path = __importStar(require("path"));
77
79
  const fs_1 = require("fs");
@@ -139,6 +141,7 @@ let AppModule = AppModule_1 = class AppModule {
139
141
  tool_call_service_1.ToolCallService,
140
142
  agent_loader_service_1.AgentLoaderService,
141
143
  skill_loader_service_1.SkillLoaderService,
144
+ skill_service_1.SkillService,
142
145
  mcp_client_service_1.McpClientService,
143
146
  remote_agent_service_1.RemoteAgentService,
144
147
  provider_bridge_service_1.ProviderBridgeService,
@@ -148,6 +151,7 @@ let AppModule = AppModule_1 = class AppModule {
148
151
  doctor_handler_1.DoctorHandler,
149
152
  help_service_1.HelpService,
150
153
  config_service_1.ConfigService,
154
+ tracing_service_1.TracingService,
151
155
  ],
152
156
  controllers: [mcp_controller_1.McpController, health_controller_1.HealthController],
153
157
  exports: [ai_service_1.AIService, project_service_1.ProjectService, crewx_tool_1.CrewXTool, ai_provider_service_1.AIProviderService, provider_bridge_service_1.ProviderBridgeService],
@@ -1 +1 @@
1
- {"version":3,"file":"app.module.js","sourceRoot":"","sources":["../src/app.module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.module.js","sourceRoot":"","sources":["../src/app.module.ts"],"names":[],"mappings":"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"}
@@ -82,6 +82,10 @@ class CLIHandler {
82
82
  const { handleSlackFiles } = await Promise.resolve().then(() => __importStar(require('./slack-files.handler')));
83
83
  await handleSlackFiles(app, args);
84
84
  break;
85
+ case 'skill':
86
+ const { handleSkill } = await Promise.resolve().then(() => __importStar(require('./skill.handler')));
87
+ await handleSkill(app, args);
88
+ break;
85
89
  case 'help':
86
90
  const { handleHelp } = await Promise.resolve().then(() => __importStar(require('./help.handler')));
87
91
  await handleHelp(app);
@@ -1 +1 @@
1
- {"version":3,"file":"cli.handler.js","sourceRoot":"","sources":["../../src/cli/cli.handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.handler.js","sourceRoot":"","sources":["../../src/cli/cli.handler.ts"],"names":[],"mappings":"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"}
@@ -65,7 +65,7 @@ let InitHandler = class InitHandler {
65
65
  });
66
66
  try {
67
67
  const { readFileSync, writeFileSync } = require('fs');
68
- const templateSource = (0, path_1.join)(__dirname, '..', '..', 'documents', 'templates', 'conversation-history-default.hbs');
68
+ const templateSource = (0, path_1.join)(__dirname, '..', '..', 'templates', 'documents', 'conversation-history-default.hbs');
69
69
  const templateDest = (0, path_1.join)(templatesDir, 'conversation-history-default.hbs');
70
70
  if ((0, fs_1.existsSync)(templateSource)) {
71
71
  const content = readFileSync(templateSource, 'utf8');
@@ -0,0 +1,2 @@
1
+ import { CliOptions } from '../cli-options';
2
+ export declare function handleSkill(app: any, args: CliOptions): Promise<void>;
@@ -0,0 +1,143 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.handleSkill = handleSkill;
4
+ const common_1 = require("@nestjs/common");
5
+ const skill_service_1 = require("../services/skill.service");
6
+ async function handleSkill(app, args) {
7
+ const logger = new common_1.Logger('SkillHandler');
8
+ const skillService = app.get(skill_service_1.SkillService);
9
+ const action = args.skillAction;
10
+ if (!action || action === 'list' || action === 'ls') {
11
+ const skills = await skillService.discover();
12
+ const registry = skillService.getRegistry();
13
+ if (skills.length === 0) {
14
+ console.log('No skills found.');
15
+ console.log('\nTo add skills:');
16
+ console.log(' crewx skill add npm:<package> # Install from npm');
17
+ console.log(' crewx skill add template:<name> # Create from template');
18
+ console.log('\nAvailable templates: ' + skillService.getAvailableTemplates().join(', '));
19
+ return;
20
+ }
21
+ console.log('\nAvailable Skills:\n');
22
+ console.log('| Name | Version | Source | Description |');
23
+ console.log('|------|---------|--------|-------------|');
24
+ for (const skill of skills) {
25
+ let source = 'custom';
26
+ if (registry.skills[skill.name]) {
27
+ const entry = registry.skills[skill.name];
28
+ source = entry.source === 'npm' ? `npm:${entry.package}` :
29
+ entry.source === 'template' ? `template:${entry.template}` : entry.source;
30
+ }
31
+ console.log(`| ${skill.name} | ${skill.version} | ${source} | ${skill.description} |`);
32
+ }
33
+ console.log('');
34
+ return;
35
+ }
36
+ if (action === 'info') {
37
+ const skillName = args.skillTarget;
38
+ if (!skillName) {
39
+ logger.error('Please specify a skill name for info command.');
40
+ return;
41
+ }
42
+ const skill = await skillService.getSkill(skillName);
43
+ if (!skill) {
44
+ logger.error(`Skill '${skillName}' not found.`);
45
+ process.exit(1);
46
+ }
47
+ const registry = skillService.getRegistry();
48
+ const regEntry = registry.skills[skillName];
49
+ console.log(`\n${skill.name} (v${skill.version})`);
50
+ console.log(`${'─'.repeat(40)}`);
51
+ console.log(`Description: ${skill.description}`);
52
+ console.log(`Entry Point: ${skill.entryPoint}`);
53
+ console.log(`Path: ${skill.path}`);
54
+ if (regEntry) {
55
+ console.log(`Source: ${regEntry.source}${regEntry.package ? `:${regEntry.package}` : regEntry.template ? `:${regEntry.template}` : ''}`);
56
+ console.log(`Installed: ${regEntry.installed}`);
57
+ }
58
+ else {
59
+ console.log(`Source: custom (skills/ directory)`);
60
+ }
61
+ console.log('');
62
+ return;
63
+ }
64
+ if (action === 'add') {
65
+ const source = args.skillTarget;
66
+ if (!source) {
67
+ console.log('Usage: crewx skill add <source>');
68
+ console.log('');
69
+ console.log('Sources:');
70
+ console.log(' npm:<package> Install skill from npm package');
71
+ console.log(' template:<name> Create skill from built-in template');
72
+ console.log(' github:<repo> (Coming in v0.8.1) Install from GitHub');
73
+ console.log('');
74
+ console.log('Available templates: ' + skillService.getAvailableTemplates().join(', '));
75
+ console.log('');
76
+ console.log('Examples:');
77
+ console.log(' crewx skill add npm:@crewx/memory');
78
+ console.log(' crewx skill add template:hello');
79
+ return;
80
+ }
81
+ const result = await skillService.add(source);
82
+ if (result.success) {
83
+ console.log(`✓ ${result.message}`);
84
+ console.log(`\nRun 'crewx skill list' to see installed skills.`);
85
+ }
86
+ else {
87
+ console.error(`✗ ${result.message}`);
88
+ process.exit(1);
89
+ }
90
+ return;
91
+ }
92
+ if (action === 'remove' || action === 'rm') {
93
+ const skillName = args.skillTarget;
94
+ if (!skillName) {
95
+ console.log('Usage: crewx skill remove <name>');
96
+ console.log('');
97
+ console.log('Removes an installed skill from .crewx/skills/');
98
+ console.log('Note: Custom skills in skills/ directory must be removed manually.');
99
+ return;
100
+ }
101
+ const result = await skillService.remove(skillName);
102
+ if (result.success) {
103
+ console.log(`✓ ${result.message}`);
104
+ }
105
+ else {
106
+ console.error(`✗ ${result.message}`);
107
+ process.exit(1);
108
+ }
109
+ return;
110
+ }
111
+ if (action === 'templates') {
112
+ console.log('\nAvailable Templates:\n');
113
+ console.log('| Name | Description |');
114
+ console.log('|------|-------------|');
115
+ console.log('| hello | Simple greeting demo skill |');
116
+ console.log('| memory | Key-value memory storage skill |');
117
+ console.log('| api | HTTP API client skill |');
118
+ console.log('');
119
+ console.log('Usage: crewx skill add template:<name>');
120
+ return;
121
+ }
122
+ const skillName = action;
123
+ let skillArgs = [];
124
+ if (args.rawArgs) {
125
+ const skillIndex = args.rawArgs.indexOf('skill');
126
+ if (skillIndex !== -1 && args.rawArgs.length > skillIndex + 1) {
127
+ if (args.rawArgs[skillIndex + 1] === skillName) {
128
+ skillArgs = args.rawArgs.slice(skillIndex + 2);
129
+ }
130
+ }
131
+ }
132
+ if (skillArgs.length === 0 && (args.skillTarget || (args.skillParams && args.skillParams.length > 0))) {
133
+ skillArgs = [args.skillTarget, ...(args.skillParams || [])].filter(x => x !== undefined && x !== null);
134
+ }
135
+ try {
136
+ await skillService.execute(skillName, skillArgs);
137
+ }
138
+ catch (error) {
139
+ logger.error(`Failed to execute skill '${skillName}': ${error}`);
140
+ process.exit(1);
141
+ }
142
+ }
143
+ //# sourceMappingURL=skill.handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill.handler.js","sourceRoot":"","sources":["../../src/cli/skill.handler.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,9 @@ export interface CliOptions {
24
24
  templateSubcommand?: string;
25
25
  templateProjectName?: string;
26
26
  templateName?: string;
27
+ skillAction?: string;
28
+ skillTarget?: string;
29
+ skillParams?: string[];
27
30
  slackAgent?: string;
28
31
  slackMode?: 'query' | 'execute';
29
32
  slackMentionOnly?: boolean;
@@ -31,5 +34,6 @@ export interface CliOptions {
31
34
  key?: string;
32
35
  mcpToolName?: string;
33
36
  mcpParams?: string;
37
+ rawArgs?: string[];
34
38
  }
35
39
  export declare function parseCliOptions(): CliOptions;
@@ -113,6 +113,21 @@ function parseCliOptions() {
113
113
  default: 'wbs-automation',
114
114
  description: 'Template to use for init (wbs-automation, docusaurus-admin, dev-team)'
115
115
  });
116
+ })
117
+ .command('skill [action] [target] [params...]', 'Manage and execute skills', (yargs) => {
118
+ yargs.positional('action', {
119
+ description: 'Action (list, info) or skill name to execute',
120
+ type: 'string'
121
+ });
122
+ yargs.positional('target', {
123
+ description: 'Skill name (for info) or first argument for skill',
124
+ type: 'string'
125
+ });
126
+ yargs.positional('params', {
127
+ description: 'Additional arguments for skill execution',
128
+ type: 'string',
129
+ array: true
130
+ });
116
131
  })
117
132
  .command('agent [action]', 'Manage configured agents', (yargs) => {
118
133
  yargs.command(['ls', 'list'], 'List available agents');
@@ -273,6 +288,9 @@ function parseCliOptions() {
273
288
  templateSubcommand: parsed.subcommand,
274
289
  templateProjectName: parsed.name,
275
290
  templateName: parsed.name,
291
+ skillAction: parsed.action,
292
+ skillTarget: parsed.target,
293
+ skillParams: parsed.params,
276
294
  slackAgent: parsed.agent,
277
295
  slackMode: parsed.mode || 'query',
278
296
  slackMentionOnly: parsed['mention-only'] || false,
@@ -280,6 +298,7 @@ function parseCliOptions() {
280
298
  key: resolvedKey,
281
299
  mcpToolName: secondaryCommand === 'call_tool' ? tertiaryValue : undefined,
282
300
  mcpParams: typeof parsed.params === 'string' ? parsed.params : undefined,
301
+ rawArgs: process.argv.slice(2),
283
302
  };
284
303
  }
285
304
  //# sourceMappingURL=cli-options.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cli-options.js","sourceRoot":"","sources":["../src/cli-options.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiDA,0CAqQC;AAtTD,kDAA0B;AAC1B,2CAAwC;AACxC,uCAAyB;AACzB,2CAA6B;AA8C7B,SAAgB,eAAe;IAE7B,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAC5B,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,EAAE,OAAO,CAAC,CAClE,CAAC;IAEF,MAAM,MAAM,GAAG,IAAA,eAAK,EAAC,IAAA,iBAAO,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SACxC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC;SAC5B,OAAO,CAAC,oBAAoB,EAAE,6BAA6B,EAAE,CAAC,KAAK,EAAE,EAAE;QACtE,KAAK,CAAC,UAAU,CAAC,SAAS,EAAE;YAC1B,WAAW,EAAE,0FAA0F;YACvG,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,IAAI;SACZ,CAAC,CAAC;IACL,CAAC,CAAC;SACD,OAAO,CAAC,gBAAgB,EAAE,qBAAqB,EAAE,CAAC,KAAK,EAAE,EAAE;QAC1D,KAAK,CAAC,UAAU,CAAC,SAAS,EAAE;YAC1B,WAAW,EAAE,0FAA0F;YACvG,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,IAAI;SACZ,CAAC,CAAC;IACL,CAAC,CAAC;SACD,OAAO,CAAC,mBAAmB,EAAE,4BAA4B,EAAE,CAAC,KAAK,EAAE,EAAE;QACpE,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE;YACvB,WAAW,EAAE,4FAA4F;YACzG,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,IAAI;SACZ,CAAC,CAAC;IACL,CAAC,CAAC;SACD,OAAO,CAAC,aAAa,EAAE,uBAAuB,EAAE,CAAC,KAAK,EAAE,EAAE;QACzD,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE;YACvB,WAAW,EAAE,4FAA4F;YACzG,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,IAAI;SACZ,CAAC,CAAC;IACL,CAAC,CAAC;SACD,OAAO,CAAC,QAAQ,EAAE,0BAA0B,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC;SACvD,OAAO,CAAC,MAAM,EAAE,0BAA0B,EAAE,CAAC,KAAK,EAAE,EAAE;QACrD,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE;YACvB,KAAK,EAAE,GAAG;YACV,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,SAAS;YAClB,WAAW,EAAE,6DAA6D;SAC3E,CAAC,CAAC;QACH,KAAK,CAAC,MAAM,CAAC,kBAAkB,EAAE;YAC/B,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,MAAM;YACf,WAAW,EAAE,mDAAmD;SACjE,CAAC,CAAC;QACH,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE;YACpB,KAAK,EAAE,GAAG;YACV,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,uCAAuC;SACrD,CAAC,CAAC;IACL,CAAC,CAAC;SACD,OAAO,CAAC,WAAW,EAAE,wBAAwB,EAAE,CAAC,KAAK,EAAE,EAAE;QACxD,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAC;QAClD,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,uCAAuC,CAAC,CAAC;IACnE,CAAC,CAAC;SACD,OAAO,CAAC,8BAA8B,EAAE,4BAA4B,EAAE,CAAC,KAAK,EAAE,EAAE;QAC/E,KAAK,CAAC,UAAU,CAAC,YAAY,EAAE;YAC7B,WAAW,EAAE,+BAA+B;YAC5C,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;SAClC,CAAC,CAAC;QACH,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE;YACvB,WAAW,EAAE,qDAAqD;YAClE,IAAI,EAAE,QAAQ;SACf,CAAC,CAAC;QACH,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE;YACvB,KAAK,EAAE,GAAG;YACV,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,gBAAgB;YACzB,WAAW,EAAE,uEAAuE;SACrF,CAAC,CAAC;IACL,CAAC,CAAC;SACD,OAAO,CAAC,gBAAgB,EAAE,0BAA0B,EAAE,CAAC,KAAK,EAAE,EAAE;QAC/D,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,uBAAuB,CAAC,CAAC;IACzD,CAAC,CAAC;SACD,OAAO,CAAC,KAAK,EAAE,sCAAsC,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC;SAChE,OAAO,CAAC,OAAO,EAAE,wBAAwB,EAAE,CAAC,KAAK,EAAE,EAAE;QACpD,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE;YACpB,KAAK,EAAE,GAAG;YACV,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,QAAQ;YACjB,WAAW,EAAE,4FAA4F;SAC1G,CAAC,CAAC;QACH,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE;YACnB,OAAO,EAAE,CAAC,OAAO,EAAE,SAAS,CAAU;YACtC,OAAO,EAAE,OAAgB;YACzB,WAAW,EAAE,mEAAmE;SACjF,CAAC,CAAC;QACH,KAAK,CAAC,MAAM,CAAC,cAAc,EAAE;YAC3B,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,kFAAkF;SAChG,CAAC,CAAC;IACL,CAAC,CAAC;SACD,OAAO,CAAC,cAAc,EAAE,kBAAkB,EAAE,CAAC,KAAK,EAAE,EAAE;QACrD,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,oBAAoB,CAAC,CAAC;QACpD,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE;YACzB,WAAW,EAAE,wCAAwC;YACrD,IAAI,EAAE,QAAQ;SACf,CAAC,CAAC;IACL,CAAC,CAAC;SACD,OAAO,CAAC,aAAa,EAAE,wCAAwC,EAAE,CAAC,KAAK,EAAE,EAAE;QAC1E,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE;YACrB,KAAK,EAAE,GAAG;YACV,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,kDAAkD;SAChE,CAAC,CAAC;QACH,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE;YACnB,KAAK,EAAE,GAAG;YACV,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,uBAAuB;SACrC,CAAC,CAAC;QACH,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE;YACpB,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,+BAA+B;SAC7C,CAAC,CAAC;IACL,CAAC,CAAC;SACD,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC;SACtC,MAAM,CAAC,SAAS,EAAE;QACjB,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,KAAK;QACd,WAAW,EAAE,oCAAoC;KAClD,CAAC;SACD,MAAM,CAAC,KAAK,EAAE;QACb,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,KAAK;QACd,WAAW,EAAE,yBAAyB;KACvC,CAAC;SACD,MAAM,CAAC,UAAU,EAAE;QAClB,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,CAAU;QACnC,OAAO,EAAE,OAAgB;QACzB,WAAW,EAAE,qBAAqB;KACnC,CAAC;SACD,MAAM,CAAC,MAAM,EAAE;QACd,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,KAAK;QACd,WAAW,EAAE,sEAAsE;KACpF,CAAC;SACD,MAAM,CAAC,MAAM,EAAE;QACd,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,WAAW;QACpB,WAAW,EAAE,6CAA6C;KAC3D,CAAC;SACD,MAAM,CAAC,MAAM,EAAE;QACd,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,IAAI;QACb,WAAW,EAAE,kCAAkC;KAChD,CAAC;SACD,MAAM,CAAC,KAAK,EAAE;QACb,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,8FAA8F;KAC5G,CAAC;SACD,MAAM,CAAC,QAAQ,EAAE;QAChB,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,qDAAqD;KACnE,CAAC;SACD,MAAM,CAAC,QAAQ,EAAE;QAChB,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,wEAAwE;KACtF,CAAC;SACD,MAAM,CAAC,YAAY,EAAE;QACpB,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,EAAE;QACX,WAAW,EAAE,4DAA4D;QACzE,MAAM,EAAE,CAAC,KAAwB,EAAE,EAAE;YACnC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YACnD,CAAC;YACD,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,CAAC;KACF,CAAC;SACD,MAAM,CAAC,KAAK,EAAE;QACb,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,KAAK;QACd,WAAW,EAAE,gEAAgE;KAC9E,CAAC;SACD,MAAM,CAAC,gCAAgC,EAAE;QACxC,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,IAAI;QACb,WAAW,EAAE,0CAA0C;KACxD,CAAC;SACD,MAAM,CAAC,QAAQ,EAAE;QAChB,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,uCAAuC;KACrD,CAAC;SACD,MAAM,CAAC,UAAU,EAAE;QAClB,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,2EAA2E;KACzF,CAAC;SACD,MAAM,CAAC,iBAAiB,EAAE;QACzB,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,qCAAqC;KACnD,CAAC;SAGD,IAAI,CAAC,KAAK,CAAC;SACX,SAAS,EAAE,CAAC;IAEf,MAAM,cAAc,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAA2B,CAAC;IAClE,MAAM,cAAc,GAAG,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACzF,MAAM,gBAAgB,GAAG,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3F,MAAM,aAAa,GAAG,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAExF,MAAM,gBAAgB,GACpB,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAE,MAAM,CAAC,QAA6B,CAAC;IAExE,MAAM,WAAW,GACd,MAAM,CAAC,GAA0B,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,SAAS,CAAC;IAE/E,OAAO;QACL,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,GAAG,EAAE,MAAM,CAAC,GAAG;QACf,QAAQ,EAAE,gBAAgB;QAC1B,IAAI,EAAE,MAAM,CAAC,IAAc;QAC3B,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,SAAS,EAAE,MAAM,CAAC,YAAY,CAAa,IAAI,EAAE;QACjD,GAAG,EAAE,MAAM,CAAC,GAAG;QAEf,4BAA4B,EAAE,MAAM,CAAC,gCAAgC,CAAY;QAEjF,MAAM,EAAE,MAAM,CAAC,MAAgB;QAE/B,QAAQ,EAAE,MAAM,CAAC,QAAkB,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc;QACjE,cAAc,EAAE,MAAM,CAAC,iBAAiB,CAAW;QACnD,OAAO,EAAE,cAAc;QACvB,UAAU,EAAE,gBAAgB;QAE5B,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAiB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAEjH,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACvG,MAAM,EAAE,cAAc,KAAK,QAAQ;QACnC,UAAU,EAAE,cAAc,KAAK,KAAK;QACpC,SAAS,EAAE,MAAM,CAAC,MAAgB;QAClC,MAAM,EAAE,MAAM,CAAC,MAAM;QAErB,QAAQ,EAAE,MAAM,CAAC,QAAkB;QACnC,eAAe,EAAE,MAAM,CAAC,kBAAkB,CAAW;QACrD,KAAK,EAAE,MAAM,CAAC,KAAgB;QAE9B,kBAAkB,EAAE,MAAM,CAAC,UAAoB;QAC/C,mBAAmB,EAAE,MAAM,CAAC,IAAc;QAC1C,YAAY,EAAE,MAAM,CAAC,IAAc;QAEnC,UAAU,EAAE,MAAM,CAAC,KAAe;QAClC,SAAS,EAAG,MAAM,CAAC,IAAwC,IAAI,OAAO;QACtE,gBAAgB,EAAE,MAAM,CAAC,cAAc,CAAY,IAAI,KAAK;QAE5D,IAAI,EAAE,MAAM,CAAC,IAAe;QAC5B,GAAG,EAAE,WAAW;QAChB,WAAW,EAAE,gBAAgB,KAAK,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS;QACzE,SAAS,EAAE,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;KACzE,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"cli-options.js","sourceRoot":"","sources":["../src/cli-options.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,7 @@ import { AgentLoaderService } from './services/agent-loader.service';
13
13
  import { RemoteAgentService } from './services/remote-agent.service';
14
14
  import { ProviderBridgeService } from './services/provider-bridge.service';
15
15
  import { SkillLoaderService } from './services/skill-loader.service';
16
+ import { TracingService } from './services/tracing.service';
16
17
  export declare class CrewXTool implements OnModuleInit {
17
18
  private readonly aiService;
18
19
  private readonly aiProviderService;
@@ -29,12 +30,13 @@ export declare class CrewXTool implements OnModuleInit {
29
30
  private readonly skillLoaderService;
30
31
  private readonly layoutLoader;
31
32
  private readonly layoutRenderer;
33
+ private readonly tracingService?;
32
34
  private readonly logger;
33
35
  private readonly timeoutConfig;
34
36
  private generateSecurityKey;
35
37
  private buildToolsContext;
36
38
  private buildStructuredPayload;
37
- constructor(aiService: AIService, aiProviderService: AIProviderService, projectService: ProjectService, parallelProcessingService: ParallelProcessingService, taskManagementService: TaskManagementService, resultFormatterService: ResultFormatterService, templateService: TemplateService, documentLoaderService: DocumentLoaderService, toolCallService: ToolCallService, agentLoaderService: AgentLoaderService, remoteAgentService: RemoteAgentService, providerBridgeService: ProviderBridgeService, skillLoaderService: SkillLoaderService, layoutLoader: LayoutLoader, layoutRenderer: LayoutRenderer);
39
+ constructor(aiService: AIService, aiProviderService: AIProviderService, projectService: ProjectService, parallelProcessingService: ParallelProcessingService, taskManagementService: TaskManagementService, resultFormatterService: ResultFormatterService, templateService: TemplateService, documentLoaderService: DocumentLoaderService, toolCallService: ToolCallService, agentLoaderService: AgentLoaderService, remoteAgentService: RemoteAgentService, providerBridgeService: ProviderBridgeService, skillLoaderService: SkillLoaderService, layoutLoader: LayoutLoader, layoutRenderer: LayoutRenderer, tracingService?: TracingService | undefined);
38
40
  onModuleInit(): void;
39
41
  getRenderedAgentPrompt(agentId: string, mockInput?: string): Promise<string>;
40
42
  private processAgentSystemPrompt;
@@ -67,6 +67,7 @@ const agent_loader_service_1 = require("./services/agent-loader.service");
67
67
  const remote_agent_service_1 = require("./services/remote-agent.service");
68
68
  const provider_bridge_service_1 = require("./services/provider-bridge.service");
69
69
  const skill_loader_service_1 = require("./services/skill-loader.service");
70
+ const tracing_service_1 = require("./services/tracing.service");
70
71
  let CrewXTool = CrewXTool_1 = class CrewXTool {
71
72
  generateSecurityKey() {
72
73
  return crypto.randomBytes(8).toString('hex');
@@ -128,7 +129,7 @@ let CrewXTool = CrewXTool_1 = class CrewXTool {
128
129
  };
129
130
  return JSON.stringify(payload);
130
131
  }
131
- constructor(aiService, aiProviderService, projectService, parallelProcessingService, taskManagementService, resultFormatterService, templateService, documentLoaderService, toolCallService, agentLoaderService, remoteAgentService, providerBridgeService, skillLoaderService, layoutLoader, layoutRenderer) {
132
+ constructor(aiService, aiProviderService, projectService, parallelProcessingService, taskManagementService, resultFormatterService, templateService, documentLoaderService, toolCallService, agentLoaderService, remoteAgentService, providerBridgeService, skillLoaderService, layoutLoader, layoutRenderer, tracingService) {
132
133
  this.aiService = aiService;
133
134
  this.aiProviderService = aiProviderService;
134
135
  this.projectService = projectService;
@@ -144,6 +145,7 @@ let CrewXTool = CrewXTool_1 = class CrewXTool {
144
145
  this.skillLoaderService = skillLoaderService;
145
146
  this.layoutLoader = layoutLoader;
146
147
  this.layoutRenderer = layoutRenderer;
148
+ this.tracingService = tracingService;
147
149
  this.logger = new common_1.Logger(CrewXTool_1.name);
148
150
  this.timeoutConfig = (0, crewx_sdk_1.getTimeoutConfig)();
149
151
  }
@@ -595,6 +597,7 @@ Please ensure the MCP client is sending the correct JSON-RPC request format:
595
597
  };
596
598
  }
597
599
  let taskId;
600
+ let traceTaskId = null;
598
601
  try {
599
602
  const agents = await this.agentLoaderService.getAllAgents();
600
603
  const agent = agents.find(a => a.id === agentId);
@@ -609,6 +612,12 @@ Please ensure the MCP client is sending the correct JSON-RPC request format:
609
612
  });
610
613
  const agentDescriptor = model ? `${agentId} (model: ${model})` : agentId;
611
614
  this.taskManagementService.addTaskLog(taskId, { level: 'info', message: `Started query agent ${agentDescriptor}` });
615
+ traceTaskId = this.tracingService?.createTask({
616
+ agent_id: agentId,
617
+ prompt: query,
618
+ mode: 'query',
619
+ metadata: { model, platform, provider: agentProvider },
620
+ }) ?? null;
612
621
  this.logger.log(`[${taskId}] Querying agent ${agentId}: ${query.substring(0, 50)}...`);
613
622
  this.taskManagementService.addTaskLog(taskId, { level: 'info', message: `Query: ${query.substring(0, 100)}...` });
614
623
  if (model) {
@@ -902,6 +911,14 @@ ${query}
902
911
  };
903
912
  this.taskManagementService.addTaskLog(taskId, { level: 'info', message: `Query completed. Success: ${response.success}` });
904
913
  this.taskManagementService.completeTask(taskId, response, response.success);
914
+ if (traceTaskId) {
915
+ if (response.success) {
916
+ this.tracingService?.completeTask(traceTaskId, response.content);
917
+ }
918
+ else {
919
+ this.tracingService?.failTask(traceTaskId, response.error || 'Unknown error');
920
+ }
921
+ }
905
922
  const responseText = response.success
906
923
  ? response.content
907
924
  : `❌ **Error**\n\`\`\`${response.error}\`\`\`\n\nAgent: ${agentId} (${response.provider}) · Task ID: \`${taskId}\``;
@@ -925,6 +942,9 @@ ${query}
925
942
  }
926
943
  catch (error) {
927
944
  const errorMessage = (0, crewx_sdk_1.getErrorMessage)(error);
945
+ if (traceTaskId) {
946
+ this.tracingService?.failTask(traceTaskId, errorMessage);
947
+ }
928
948
  if (taskId) {
929
949
  this.taskManagementService.addTaskLog(taskId, { level: 'error', message: `Query failed: ${errorMessage}` });
930
950
  this.taskManagementService.completeTask(taskId, { error: errorMessage }, false);
@@ -1006,6 +1026,7 @@ Please ensure the MCP client is sending the correct JSON-RPC request format:
1006
1026
  };
1007
1027
  }
1008
1028
  let taskId;
1029
+ let traceTaskId = null;
1009
1030
  try {
1010
1031
  const agents = await this.agentLoaderService.getAllAgents();
1011
1032
  const agent = agents.find(a => a.id === agentId);
@@ -1020,6 +1041,12 @@ Please ensure the MCP client is sending the correct JSON-RPC request format:
1020
1041
  });
1021
1042
  const agentDescriptor = model ? `${agentId} (model: ${model})` : agentId;
1022
1043
  this.taskManagementService.addTaskLog(taskId, { level: 'info', message: `Started execute agent ${agentDescriptor}` });
1044
+ traceTaskId = this.tracingService?.createTask({
1045
+ agent_id: agentId,
1046
+ prompt: task,
1047
+ mode: 'execute',
1048
+ metadata: { model, platform, provider: agentProvider },
1049
+ }) ?? null;
1023
1050
  this.logger.log(`[${taskId}] Executing agent ${agentId}: ${task.substring(0, 50)}...`);
1024
1051
  this.taskManagementService.addTaskLog(taskId, { level: 'info', message: `Task: ${task.substring(0, 100)}...` });
1025
1052
  if (model) {
@@ -1312,6 +1339,14 @@ Task: ${task}
1312
1339
  };
1313
1340
  this.taskManagementService.addTaskLog(taskId, { level: 'info', message: `Execution completed. Success: ${response.success}` });
1314
1341
  this.taskManagementService.completeTask(taskId, response, response.success);
1342
+ if (traceTaskId) {
1343
+ if (response.success) {
1344
+ this.tracingService?.completeTask(traceTaskId, response.content);
1345
+ }
1346
+ else {
1347
+ this.tracingService?.failTask(traceTaskId, response.error || 'Unknown error');
1348
+ }
1349
+ }
1315
1350
  const responseText = response.success ? response.content : `❌ Execution Failed: ${response.error}`;
1316
1351
  return {
1317
1352
  content: [
@@ -1331,6 +1366,9 @@ Task: ${task}
1331
1366
  }
1332
1367
  catch (error) {
1333
1368
  const errorMessage = (0, crewx_sdk_1.getErrorMessage)(error);
1369
+ if (traceTaskId) {
1370
+ this.tracingService?.failTask(traceTaskId, errorMessage);
1371
+ }
1334
1372
  if (taskId) {
1335
1373
  this.taskManagementService.addTaskLog(taskId, { level: 'error', message: `Execution failed: ${errorMessage}` });
1336
1374
  this.taskManagementService.completeTask(taskId, { error: errorMessage }, false);
@@ -2138,6 +2176,7 @@ exports.CrewXTool = CrewXTool = CrewXTool_1 = __decorate([
2138
2176
  (0, common_1.Injectable)(),
2139
2177
  __param(13, (0, common_1.Inject)('LAYOUT_LOADER')),
2140
2178
  __param(14, (0, common_1.Inject)('LAYOUT_RENDERER')),
2179
+ __param(15, (0, common_1.Optional)()),
2141
2180
  __metadata("design:paramtypes", [ai_service_1.AIService,
2142
2181
  ai_provider_service_1.AIProviderService,
2143
2182
  project_service_1.ProjectService,
@@ -2152,6 +2191,7 @@ exports.CrewXTool = CrewXTool = CrewXTool_1 = __decorate([
2152
2191
  provider_bridge_service_1.ProviderBridgeService,
2153
2192
  skill_loader_service_1.SkillLoaderService,
2154
2193
  crewx_sdk_1.LayoutLoader,
2155
- crewx_sdk_1.LayoutRenderer])
2194
+ crewx_sdk_1.LayoutRenderer,
2195
+ tracing_service_1.TracingService])
2156
2196
  ], CrewXTool);
2157
2197
  //# sourceMappingURL=crewx.tool.js.map