@sowonai/crewx-sdk 0.1.0-dev.2 → 0.1.0-dev.20

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 (84) hide show
  1. package/README.md +28 -0
  2. package/dist/config/yaml-loader.js +6 -2
  3. package/dist/config/yaml-loader.js.map +1 -1
  4. package/dist/conversation/conversation-history.interface.d.ts +6 -4
  5. package/dist/core/agent/agent-factory.d.ts +7 -7
  6. package/dist/core/agent/agent-factory.js +23 -0
  7. package/dist/core/agent/agent-factory.js.map +1 -1
  8. package/dist/core/agent/agent-runtime.d.ts +18 -2
  9. package/dist/core/agent/agent-runtime.js +128 -24
  10. package/dist/core/agent/agent-runtime.js.map +1 -1
  11. package/dist/core/agent/index.d.ts +1 -1
  12. package/dist/core/agent/index.js +2 -1
  13. package/dist/core/agent/index.js.map +1 -1
  14. package/dist/core/providers/ai-provider.interface.d.ts +1 -0
  15. package/dist/core/providers/ai-provider.interface.js.map +1 -1
  16. package/dist/core/providers/base-ai.provider.d.ts +7 -0
  17. package/dist/core/providers/base-ai.provider.js +8 -4
  18. package/dist/core/providers/base-ai.provider.js.map +1 -1
  19. package/dist/core/providers/dynamic-provider.factory.d.ts +64 -0
  20. package/dist/core/providers/dynamic-provider.factory.js +533 -0
  21. package/dist/core/providers/dynamic-provider.factory.js.map +1 -0
  22. package/dist/core/providers/index.d.ts +3 -0
  23. package/dist/core/providers/index.js +7 -1
  24. package/dist/core/providers/index.js.map +1 -1
  25. package/dist/core/providers/mock.provider.d.ts +13 -0
  26. package/dist/core/providers/mock.provider.js +55 -0
  27. package/dist/core/providers/mock.provider.js.map +1 -0
  28. package/dist/core/providers/provider-factory.d.ts +3 -0
  29. package/dist/core/providers/provider-factory.js +27 -0
  30. package/dist/core/providers/provider-factory.js.map +1 -0
  31. package/dist/index.d.ts +17 -4
  32. package/dist/index.js +31 -1
  33. package/dist/index.js.map +1 -1
  34. package/dist/schema/skills-parser.d.ts +8 -0
  35. package/dist/schema/skills-parser.js +421 -0
  36. package/dist/schema/skills-parser.js.map +1 -0
  37. package/dist/schema/skills.types.d.ts +144 -0
  38. package/dist/schema/skills.types.js +41 -0
  39. package/dist/schema/skills.types.js.map +1 -0
  40. package/dist/services/index.d.ts +2 -0
  41. package/dist/services/index.js +19 -0
  42. package/dist/services/index.js.map +1 -0
  43. package/dist/services/layout-loader.service.d.ts +18 -0
  44. package/dist/services/layout-loader.service.js +266 -0
  45. package/dist/services/layout-loader.service.js.map +1 -0
  46. package/dist/services/layout-renderer.service.d.ts +25 -0
  47. package/dist/services/layout-renderer.service.js +226 -0
  48. package/dist/services/layout-renderer.service.js.map +1 -0
  49. package/dist/services/props-validator.service.d.ts +29 -0
  50. package/dist/services/props-validator.service.js +332 -0
  51. package/dist/services/props-validator.service.js.map +1 -0
  52. package/dist/skills/adapter/claude-skill-adapter.d.ts +11 -0
  53. package/dist/skills/adapter/claude-skill-adapter.js +222 -0
  54. package/dist/skills/adapter/claude-skill-adapter.js.map +1 -0
  55. package/dist/skills/index.d.ts +6 -0
  56. package/dist/skills/index.js +31 -0
  57. package/dist/skills/index.js.map +1 -0
  58. package/dist/skills/runtime/progressive-loader.d.ts +27 -0
  59. package/dist/skills/runtime/progressive-loader.js +186 -0
  60. package/dist/skills/runtime/progressive-loader.js.map +1 -0
  61. package/dist/skills/runtime/runtime-requirements-validator.d.ts +23 -0
  62. package/dist/skills/runtime/runtime-requirements-validator.js +248 -0
  63. package/dist/skills/runtime/runtime-requirements-validator.js.map +1 -0
  64. package/dist/skills/runtime/skill-runtime.service.d.ts +42 -0
  65. package/dist/skills/runtime/skill-runtime.service.js +434 -0
  66. package/dist/skills/runtime/skill-runtime.service.js.map +1 -0
  67. package/dist/types/agent.types.d.ts +10 -2
  68. package/dist/types/agent.types.js.map +1 -1
  69. package/dist/types/index.d.ts +3 -0
  70. package/dist/types/index.js +3 -0
  71. package/dist/types/index.js.map +1 -1
  72. package/dist/types/layout.types.d.ts +113 -0
  73. package/dist/types/layout.types.js +22 -0
  74. package/dist/types/layout.types.js.map +1 -0
  75. package/dist/types/provider.types.d.ts +12 -0
  76. package/dist/types/provider.types.js +3 -0
  77. package/dist/types/provider.types.js.map +1 -0
  78. package/dist/types/skill-runtime.types.d.ts +244 -0
  79. package/dist/types/skill-runtime.types.js +44 -0
  80. package/dist/types/skill-runtime.types.js.map +1 -0
  81. package/dist/types/template.types.d.ts +38 -0
  82. package/dist/types/template.types.js +3 -0
  83. package/dist/types/template.types.js.map +1 -0
  84. package/package.json +14 -13
package/README.md CHANGED
@@ -987,6 +987,34 @@ Please follow these steps:
987
987
 
988
988
  Apache-2.0 License - See [LICENSE](./LICENSE) for details.
989
989
 
990
+ ## Context Integration (WBS-14)
991
+
992
+ The SDK provides `TemplateContext` and `AgentMetadata` exports for dynamic template processing:
993
+
994
+ ```typescript
995
+ import { TemplateContext, AgentMetadata } from '@sowonai/crewx-sdk';
996
+
997
+ // Use TemplateContext for dynamic prompts
998
+ const context: TemplateContext = {
999
+ env: process.env,
1000
+ agent: {
1001
+ id: 'claude',
1002
+ name: 'Claude Assistant',
1003
+ provider: 'cli/claude',
1004
+ model: 'claude-3-5-sonnet'
1005
+ },
1006
+ agentMetadata: {
1007
+ specialties: ['code-analysis', 'architecture'],
1008
+ capabilities: ['file-operations', 'web-search'],
1009
+ description: 'Advanced reasoning and analysis specialist'
1010
+ },
1011
+ mode: 'query',
1012
+ platform: 'cli'
1013
+ };
1014
+ ```
1015
+
1016
+ For detailed usage, see [Template Variables Guide](../../docs/template-variables.md).
1017
+
990
1018
  ## Support
991
1019
 
992
1020
  - [GitHub Issues](https://github.com/sowonlabs/crewx/issues)
@@ -121,8 +121,12 @@ function validateAgentConfig(config) {
121
121
  throw new YamlConfigError('Configuration must be a valid object');
122
122
  }
123
123
  if (config.provider) {
124
- if (!config.provider.namespace || !config.provider.id) {
125
- throw new YamlConfigError('Provider must have both namespace and id');
124
+ if ('namespace' in config.provider && 'id' in config.provider) {
125
+ if (!config.provider.namespace || !config.provider.id) {
126
+ throw new YamlConfigError('Provider must have both namespace and id');
127
+ }
128
+ }
129
+ else {
126
130
  }
127
131
  }
128
132
  if (config.knowledgeBase) {
@@ -1 +1 @@
1
- {"version":3,"file":"yaml-loader.js","sourceRoot":"","sources":["../../src/config/yaml-loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"yaml-loader.js","sourceRoot":"","sources":["../../src/config/yaml-loader.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,13 @@
1
- export interface ConversationMessage {
2
- id: string;
3
- userId: string;
1
+ export interface BaseMessage {
4
2
  text: string;
5
- timestamp: Date;
6
3
  isAssistant: boolean;
7
4
  metadata?: Record<string, any>;
8
5
  }
6
+ export interface ConversationMessage extends BaseMessage {
7
+ id: string;
8
+ userId: string;
9
+ timestamp: Date;
10
+ }
9
11
  export interface ConversationThread {
10
12
  threadId: string;
11
13
  platform: 'slack' | 'cli';
@@ -1,20 +1,17 @@
1
1
  import { AgentRuntime } from './agent-runtime';
2
2
  import { EventBus, EventListener } from './event-bus';
3
- export interface ProviderConfig {
4
- namespace: string;
5
- id: string;
6
- apiKey?: string;
7
- model?: string;
8
- }
3
+ import type { AIProvider } from '../providers/ai-provider.interface';
4
+ import type { ProviderConfig, ProviderInput, ProviderResolutionResult } from '../../types/provider.types';
9
5
  export interface KnowledgeBaseConfig {
10
6
  path?: string;
11
7
  sources?: string[];
12
8
  }
13
9
  export interface CrewxAgentConfig {
14
- provider?: ProviderConfig;
10
+ provider?: ProviderConfig | AIProvider;
15
11
  knowledgeBase?: KnowledgeBaseConfig;
16
12
  enableCallStack?: boolean;
17
13
  defaultAgentId?: string;
14
+ validAgents?: string[];
18
15
  }
19
16
  export interface CrewxAgent {
20
17
  query: AgentRuntime['query'];
@@ -26,5 +23,8 @@ export interface CrewxAgentResult {
26
23
  onEvent: <T = any>(eventName: string, listener: EventListener<T>) => () => void;
27
24
  eventBus: EventBus;
28
25
  }
26
+ declare function resolveProvider(config?: ProviderInput): Promise<ProviderResolutionResult>;
29
27
  export declare function createCrewxAgent(config?: CrewxAgentConfig): Promise<CrewxAgentResult>;
30
28
  export { loadAgentConfigFromYaml, loadAgentConfigFromFile } from '../../config/yaml-loader';
29
+ export { resolveProvider };
30
+ export type { ProviderConfig } from '../../types/provider.types';
@@ -2,14 +2,37 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.loadAgentConfigFromFile = exports.loadAgentConfigFromYaml = void 0;
4
4
  exports.createCrewxAgent = createCrewxAgent;
5
+ exports.resolveProvider = resolveProvider;
5
6
  const agent_runtime_1 = require("./agent-runtime");
6
7
  const event_bus_1 = require("./event-bus");
8
+ const mock_provider_1 = require("../providers/mock.provider");
9
+ const provider_factory_1 = require("../providers/provider-factory");
10
+ function isAIProvider(candidate) {
11
+ return typeof candidate === 'object' && candidate !== null && 'query' in candidate;
12
+ }
13
+ async function resolveProvider(config) {
14
+ if (!config) {
15
+ return { provider: new mock_provider_1.MockProvider() };
16
+ }
17
+ if (isAIProvider(config)) {
18
+ return { provider: config };
19
+ }
20
+ const provider = await (0, provider_factory_1.createProviderFromConfig)(config);
21
+ return {
22
+ provider,
23
+ defaultModel: config.model,
24
+ };
25
+ }
7
26
  async function createCrewxAgent(config = {}) {
8
27
  const eventBus = new event_bus_1.EventBus();
28
+ const { provider, defaultModel } = await resolveProvider(config.provider);
9
29
  const runtimeOptions = {
10
30
  eventBus,
11
31
  enableCallStack: config.enableCallStack ?? false,
12
32
  defaultAgentId: config.defaultAgentId ?? 'crewx',
33
+ validAgents: config.validAgents,
34
+ provider,
35
+ defaultModel,
13
36
  };
14
37
  const runtime = new agent_runtime_1.AgentRuntime(runtimeOptions);
15
38
  const agent = {
@@ -1 +1 @@
1
- {"version":3,"file":"agent-factory.js","sourceRoot":"","sources":["../../../src/core/agent/agent-factory.ts"],"names":[],"mappings":";;;AAoFA,4CA6BC;AA5GD,mDAAoE;AACpE,2CAAsD;AA8E/C,KAAK,UAAU,gBAAgB,CACpC,SAA2B,EAAE;IAG7B,MAAM,QAAQ,GAAG,IAAI,oBAAQ,EAAE,CAAC;IAGhC,MAAM,cAAc,GAAwB;QAC1C,QAAQ;QACR,eAAe,EAAE,MAAM,CAAC,eAAe,IAAI,KAAK;QAChD,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,OAAO;KACjD,CAAC;IAGF,MAAM,OAAO,GAAG,IAAI,4BAAY,CAAC,cAAc,CAAC,CAAC;IAGjD,MAAM,KAAK,GAAe;QACxB,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;QAClC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;QACtC,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC;KACjD,CAAC;IAGF,OAAO;QACL,KAAK;QACL,OAAO,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;QAClE,QAAQ;KACT,CAAC;AACJ,CAAC;AAQD,wDAA4F;AAAnF,sHAAA,uBAAuB,OAAA;AAAE,sHAAA,uBAAuB,OAAA"}
1
+ {"version":3,"file":"agent-factory.js","sourceRoot":"","sources":["../../../src/core/agent/agent-factory.ts"],"names":[],"mappings":";;;AA0GA,4CAkCC;AASQ,0CAAe;AAhJxB,mDAAoE;AACpE,2CAAsD;AACtD,8DAA0D;AAC1D,oEAAyE;AA0DzE,SAAS,YAAY,CAAC,SAAwB;IAC5C,OAAO,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,IAAI,IAAI,OAAO,IAAI,SAAS,CAAC;AACrF,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,MAAsB;IACnD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,EAAE,QAAQ,EAAE,IAAI,4BAAY,EAAE,EAAE,CAAC;IAC1C,CAAC;IAED,IAAI,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IAC9B,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,IAAA,2CAAwB,EAAC,MAAM,CAAC,CAAC;IACxD,OAAO;QACL,QAAQ;QACR,YAAY,EAAE,MAAM,CAAC,KAAK;KAC3B,CAAC;AACJ,CAAC;AAsBM,KAAK,UAAU,gBAAgB,CACpC,SAA2B,EAAE;IAG7B,MAAM,QAAQ,GAAG,IAAI,oBAAQ,EAAE,CAAC;IAEhC,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,MAAM,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAG1E,MAAM,cAAc,GAAwB;QAC1C,QAAQ;QACR,eAAe,EAAE,MAAM,CAAC,eAAe,IAAI,KAAK;QAChD,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,OAAO;QAChD,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,QAAQ;QACR,YAAY;KACb,CAAC;IAGF,MAAM,OAAO,GAAG,IAAI,4BAAY,CAAC,cAAc,CAAC,CAAC;IAGjD,MAAM,KAAK,GAAe;QACxB,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;QAClC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;QACtC,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC;KACjD,CAAC;IAGF,OAAO;QACL,KAAK;QACL,OAAO,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;QAClE,QAAQ;KACT,CAAC;AACJ,CAAC;AAQD,wDAA4F;AAAnF,sHAAA,uBAAuB,OAAA;AAAE,sHAAA,uBAAuB,OAAA"}
@@ -1,16 +1,22 @@
1
1
  import { EventBus, CallStackFrame } from './event-bus';
2
2
  import type { ConversationMessage } from '../../conversation/conversation-history.interface';
3
+ import type { LoggerLike } from '../providers/base-ai.types';
4
+ import type { AIProvider, AIQueryOptions } from '../providers/ai-provider.interface';
3
5
  export interface AgentQueryRequest {
4
6
  agentId?: string;
5
7
  prompt: string;
6
8
  context?: string;
7
9
  messages?: ConversationMessage[];
10
+ model?: string;
11
+ options?: AIQueryOptions;
8
12
  }
9
13
  export interface AgentExecuteRequest {
10
14
  agentId?: string;
11
15
  prompt: string;
12
16
  context?: string;
13
17
  messages?: ConversationMessage[];
18
+ model?: string;
19
+ options?: AIQueryOptions;
14
20
  }
15
21
  export interface AgentResult {
16
22
  content: string;
@@ -22,15 +28,25 @@ export interface AgentRuntimeOptions {
22
28
  eventBus?: EventBus;
23
29
  enableCallStack?: boolean;
24
30
  defaultAgentId?: string;
31
+ logger?: LoggerLike;
32
+ validAgents?: string[];
33
+ provider?: AIProvider;
34
+ defaultModel?: string;
25
35
  }
26
36
  export declare class AgentRuntime {
27
37
  private eventBus;
28
38
  private enableCallStack;
29
39
  private callStack;
30
40
  private defaultAgentId;
41
+ private logger;
42
+ private mentionParser;
43
+ private provider;
44
+ private defaultModel?;
31
45
  constructor(options?: AgentRuntimeOptions);
32
- query(request: AgentQueryRequest): Promise<AgentResult>;
33
- execute(request: AgentExecuteRequest): Promise<AgentResult>;
46
+ query(promptOrRequest: string | AgentQueryRequest): Promise<AgentResult>;
47
+ execute(promptOrRequest: string | AgentExecuteRequest): Promise<AgentResult>;
48
+ private createProviderOptions;
49
+ private convertAIResponse;
34
50
  getCallStack(): CallStackFrame[];
35
51
  getEventBus(): EventBus;
36
52
  }
@@ -2,41 +2,76 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AgentRuntime = void 0;
4
4
  const event_bus_1 = require("./event-bus");
5
+ const base_ai_provider_1 = require("../providers/base-ai.provider");
6
+ const mention_parser_1 = require("../../utils/mention-parser");
7
+ const mock_provider_1 = require("../providers/mock.provider");
5
8
  class AgentRuntime {
6
9
  constructor(options = {}) {
7
10
  this.callStack = [];
8
11
  this.eventBus = options.eventBus ?? new event_bus_1.EventBus();
9
12
  this.enableCallStack = options.enableCallStack ?? false;
10
13
  this.defaultAgentId = options.defaultAgentId ?? 'default';
14
+ this.logger = options.logger ?? new base_ai_provider_1.ConsoleLogger('AgentRuntime');
15
+ this.mentionParser = new mention_parser_1.MentionParser(options.validAgents ?? [this.defaultAgentId]);
16
+ this.provider = options.provider ?? new mock_provider_1.MockProvider();
17
+ this.defaultModel = options.defaultModel;
11
18
  }
12
- async query(request) {
19
+ async query(promptOrRequest) {
20
+ let request;
21
+ if (typeof promptOrRequest === 'string') {
22
+ const parsed = this.mentionParser.parse(promptOrRequest);
23
+ if (parsed.errors.length > 0) {
24
+ throw new Error(`Mention parsing errors: ${parsed.errors.join(', ')}`);
25
+ }
26
+ if (parsed.tasks.length === 0) {
27
+ request = {
28
+ prompt: promptOrRequest,
29
+ agentId: this.defaultAgentId,
30
+ };
31
+ }
32
+ else {
33
+ const task = parsed.tasks[0];
34
+ if (!task) {
35
+ throw new Error('No valid task found in mention string');
36
+ }
37
+ const targetAgent = task.agents[0];
38
+ if (!targetAgent) {
39
+ throw new Error('No valid agent found in mention string');
40
+ }
41
+ request = {
42
+ agentId: targetAgent,
43
+ prompt: task.task,
44
+ model: task.models?.get(targetAgent),
45
+ };
46
+ }
47
+ }
48
+ else {
49
+ request = promptOrRequest;
50
+ }
13
51
  const agentId = request.agentId ?? this.defaultAgentId;
14
52
  try {
53
+ this.logger.log(`Starting query for agent: ${agentId}`);
15
54
  await this.eventBus.emit('agentStarted', { agentId, mode: 'query' });
16
55
  if (this.enableCallStack) {
17
56
  const frame = {
18
57
  depth: this.callStack.length,
19
58
  agentId,
20
- provider: 'sdk',
59
+ provider: this.provider.name,
21
60
  mode: 'query',
22
61
  enteredAt: new Date().toISOString(),
23
62
  };
24
63
  this.callStack.push(frame);
25
64
  await this.eventBus.emit('callStackUpdated', [...this.callStack]);
26
65
  }
27
- const result = {
28
- content: `Query executed: ${request.prompt}`,
29
- success: true,
30
- agentId,
31
- metadata: {
32
- context: request.context,
33
- messageCount: request.messages?.length ?? 0,
34
- },
35
- };
36
- await this.eventBus.emit('agentCompleted', { agentId, success: true });
66
+ const providerOptions = this.createProviderOptions(request, agentId);
67
+ const aiResponse = await this.provider.query(request.prompt, providerOptions);
68
+ const result = this.convertAIResponse(aiResponse, agentId, request);
69
+ await this.eventBus.emit('agentCompleted', { agentId, success: result.success });
70
+ this.logger.log(`Query completed for agent: ${agentId} (provider: ${this.provider.name}, success: ${result.success})`);
37
71
  return result;
38
72
  }
39
73
  catch (error) {
74
+ this.logger.error(`Query failed for agent ${agentId}: ${error instanceof Error ? error.message : 'Unknown error'}`);
40
75
  await this.eventBus.emit('agentCompleted', { agentId, success: false });
41
76
  throw error;
42
77
  }
@@ -47,34 +82,62 @@ class AgentRuntime {
47
82
  }
48
83
  }
49
84
  }
50
- async execute(request) {
85
+ async execute(promptOrRequest) {
86
+ let request;
87
+ if (typeof promptOrRequest === 'string') {
88
+ const parsed = this.mentionParser.parse(promptOrRequest);
89
+ if (parsed.errors.length > 0) {
90
+ throw new Error(`Mention parsing errors: ${parsed.errors.join(', ')}`);
91
+ }
92
+ if (parsed.tasks.length === 0) {
93
+ request = {
94
+ prompt: promptOrRequest,
95
+ agentId: this.defaultAgentId,
96
+ };
97
+ }
98
+ else {
99
+ const task = parsed.tasks[0];
100
+ if (!task) {
101
+ throw new Error('No valid task found in mention string');
102
+ }
103
+ const targetAgent = task.agents[0];
104
+ if (!targetAgent) {
105
+ throw new Error('No valid agent found in mention string');
106
+ }
107
+ request = {
108
+ agentId: targetAgent,
109
+ prompt: task.task,
110
+ model: task.models?.get(targetAgent),
111
+ };
112
+ }
113
+ }
114
+ else {
115
+ request = promptOrRequest;
116
+ }
51
117
  const agentId = request.agentId ?? this.defaultAgentId;
52
118
  try {
119
+ this.logger.log(`Starting execute for agent: ${agentId}`);
53
120
  await this.eventBus.emit('agentStarted', { agentId, mode: 'execute' });
54
121
  if (this.enableCallStack) {
55
122
  const frame = {
56
123
  depth: this.callStack.length,
57
124
  agentId,
58
- provider: 'sdk',
125
+ provider: this.provider.name,
59
126
  mode: 'execute',
60
127
  enteredAt: new Date().toISOString(),
61
128
  };
62
129
  this.callStack.push(frame);
63
130
  await this.eventBus.emit('callStackUpdated', [...this.callStack]);
64
131
  }
65
- const result = {
66
- content: `Execute completed: ${request.prompt}`,
67
- success: true,
68
- agentId,
69
- metadata: {
70
- context: request.context,
71
- messageCount: request.messages?.length ?? 0,
72
- },
73
- };
74
- await this.eventBus.emit('agentCompleted', { agentId, success: true });
132
+ const providerOptions = this.createProviderOptions(request, agentId);
133
+ const aiResponse = await this.provider.execute(request.prompt, providerOptions);
134
+ const result = this.convertAIResponse(aiResponse, agentId, request);
135
+ await this.eventBus.emit('agentCompleted', { agentId, success: result.success });
136
+ this.logger.log(`Execute completed for agent: ${agentId} (provider: ${this.provider.name}, success: ${result.success})`);
75
137
  return result;
76
138
  }
77
139
  catch (error) {
140
+ this.logger.error(`Execute failed for agent ${agentId}: ${error instanceof Error ? error.message : 'Unknown error'}`);
78
141
  await this.eventBus.emit('agentCompleted', { agentId, success: false });
79
142
  throw error;
80
143
  }
@@ -85,6 +148,47 @@ class AgentRuntime {
85
148
  }
86
149
  }
87
150
  }
151
+ createProviderOptions(request, agentId) {
152
+ const model = request.model ?? this.defaultModel;
153
+ const overrideOptions = request.options ?? {};
154
+ const normalizedMessages = request.messages?.map((message) => ({
155
+ text: message.text,
156
+ isAssistant: message.isAssistant,
157
+ metadata: {
158
+ ...message.metadata,
159
+ id: message.id,
160
+ userId: message.userId,
161
+ timestamp: message.timestamp instanceof Date
162
+ ? message.timestamp.toISOString()
163
+ : message.timestamp,
164
+ },
165
+ }));
166
+ return {
167
+ ...overrideOptions,
168
+ agentId,
169
+ model,
170
+ pipedContext: overrideOptions.pipedContext ?? request.context,
171
+ messages: normalizedMessages ?? overrideOptions.messages,
172
+ };
173
+ }
174
+ convertAIResponse(aiResponse, agentId, request) {
175
+ const model = request.model ?? this.defaultModel;
176
+ return {
177
+ content: aiResponse.content,
178
+ success: aiResponse.success,
179
+ agentId,
180
+ metadata: {
181
+ provider: aiResponse.provider,
182
+ command: aiResponse.command,
183
+ taskId: aiResponse.taskId,
184
+ error: aiResponse.error,
185
+ toolCall: aiResponse.toolCall,
186
+ context: request.context,
187
+ messageCount: request.messages?.length ?? 0,
188
+ model,
189
+ },
190
+ };
191
+ }
88
192
  getCallStack() {
89
193
  return [...this.callStack];
90
194
  }
@@ -1 +1 @@
1
- {"version":3,"file":"agent-runtime.js","sourceRoot":"","sources":["../../../src/core/agent/agent-runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-runtime.js","sourceRoot":"","sources":["../../../src/core/agent/agent-runtime.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- export { createCrewxAgent, loadAgentConfigFromYaml, loadAgentConfigFromFile, type CrewxAgent, type CrewxAgentConfig, type CrewxAgentResult, type ProviderConfig, type KnowledgeBaseConfig, } from './agent-factory';
1
+ export { createCrewxAgent, loadAgentConfigFromYaml, loadAgentConfigFromFile, resolveProvider, type CrewxAgent, type CrewxAgentConfig, type CrewxAgentResult, type ProviderConfig, type KnowledgeBaseConfig, } from './agent-factory';
2
2
  export { AgentRuntime, type AgentQueryRequest, type AgentExecuteRequest, type AgentResult, type AgentRuntimeOptions, } from './agent-runtime';
3
3
  export { EventBus, type EventListener, type CallStackFrame, type AgentEvent, } from './event-bus';
@@ -1,10 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EventBus = exports.AgentRuntime = exports.loadAgentConfigFromFile = exports.loadAgentConfigFromYaml = exports.createCrewxAgent = void 0;
3
+ exports.EventBus = exports.AgentRuntime = exports.resolveProvider = exports.loadAgentConfigFromFile = exports.loadAgentConfigFromYaml = exports.createCrewxAgent = void 0;
4
4
  var agent_factory_1 = require("./agent-factory");
5
5
  Object.defineProperty(exports, "createCrewxAgent", { enumerable: true, get: function () { return agent_factory_1.createCrewxAgent; } });
6
6
  Object.defineProperty(exports, "loadAgentConfigFromYaml", { enumerable: true, get: function () { return agent_factory_1.loadAgentConfigFromYaml; } });
7
7
  Object.defineProperty(exports, "loadAgentConfigFromFile", { enumerable: true, get: function () { return agent_factory_1.loadAgentConfigFromFile; } });
8
+ Object.defineProperty(exports, "resolveProvider", { enumerable: true, get: function () { return agent_factory_1.resolveProvider; } });
8
9
  var agent_runtime_1 = require("./agent-runtime");
9
10
  Object.defineProperty(exports, "AgentRuntime", { enumerable: true, get: function () { return agent_runtime_1.AgentRuntime; } });
10
11
  var event_bus_1 = require("./event-bus");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/agent/index.ts"],"names":[],"mappings":";;;AAIA,iDASyB;AARvB,iHAAA,gBAAgB,OAAA;AAChB,wHAAA,uBAAuB,OAAA;AACvB,wHAAA,uBAAuB,OAAA;AAQzB,iDAMyB;AALvB,6GAAA,YAAY,OAAA;AAOd,yCAKqB;AAJnB,qGAAA,QAAQ,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/agent/index.ts"],"names":[],"mappings":";;;AAIA,iDAUyB;AATvB,iHAAA,gBAAgB,OAAA;AAChB,wHAAA,uBAAuB,OAAA;AACvB,wHAAA,uBAAuB,OAAA;AACvB,gHAAA,eAAe,OAAA;AAQjB,iDAMyB;AALvB,6GAAA,YAAY,OAAA;AAOd,yCAKqB;AAJnB,qGAAA,QAAQ,OAAA"}
@@ -43,6 +43,7 @@ export interface AIProvider {
43
43
  readonly name: string;
44
44
  isAvailable(): Promise<boolean>;
45
45
  query(prompt: string, options?: AIQueryOptions): Promise<AIResponse>;
46
+ execute(prompt: string, options?: AIQueryOptions): Promise<AIResponse>;
46
47
  getToolPath(): Promise<string | null>;
47
48
  }
48
49
  export declare class ProviderNotAvailableError extends Error {
@@ -1 +1 @@
1
- {"version":3,"file":"ai-provider.interface.js","sourceRoot":"","sources":["../../../src/core/providers/ai-provider.interface.ts"],"names":[],"mappings":";;;AAGa,QAAA,iBAAiB,GAAG;IAC/B,GAAG,EAAE,KAAK;IACV,MAAM,EAAE,QAAQ;IAChB,GAAG,EAAE,KAAK;IACV,MAAM,EAAE,QAAQ;CACR,CAAC;AAIE,QAAA,gBAAgB,GAAG;IAC9B,MAAM,EAAE,YAAY;IACpB,MAAM,EAAE,YAAY;IACpB,OAAO,EAAE,aAAa;IACtB,KAAK,EAAE,WAAW;CACV,CAAC;AAmCX,MAAa,yBAA0B,SAAQ,KAAK;IAClD,YAAY,YAAoB;QAC9B,KAAK,CAAC,gBAAgB,YAAY,qCAAqC,CAAC,CAAC;QACzE,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;IAC1C,CAAC;CACF;AALD,8DAKC"}
1
+ {"version":3,"file":"ai-provider.interface.js","sourceRoot":"","sources":["../../../src/core/providers/ai-provider.interface.ts"],"names":[],"mappings":";;;AAGa,QAAA,iBAAiB,GAAG;IAC/B,GAAG,EAAE,KAAK;IACV,MAAM,EAAE,QAAQ;IAChB,GAAG,EAAE,KAAK;IACV,MAAM,EAAE,QAAQ;CACR,CAAC;AAIE,QAAA,gBAAgB,GAAG;IAC9B,MAAM,EAAE,YAAY;IACpB,MAAM,EAAE,YAAY;IACpB,OAAO,EAAE,aAAa;IACtB,KAAK,EAAE,WAAW;CACV,CAAC;AAoCX,MAAa,yBAA0B,SAAQ,KAAK;IAClD,YAAY,YAAoB;QAC9B,KAAK,CAAC,gBAAgB,YAAY,qCAAqC,CAAC,CAAC;QACzE,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;IAC1C,CAAC;CACF;AALD,8DAKC"}
@@ -2,6 +2,13 @@ import { type TimeoutConfig } from '../../config/timeout.config';
2
2
  import type { AIProvider, AIQueryOptions, AIResponse } from './ai-provider.interface';
3
3
  import type { BaseAIProviderOptions, LoggerLike } from './base-ai.types';
4
4
  import type { ToolCallHandler } from './tool-call.types';
5
+ export declare class ConsoleLogger implements LoggerLike {
6
+ private readonly context;
7
+ constructor(context: string);
8
+ log(message: string, ...optionalParams: any[]): void;
9
+ warn(message: string, ...optionalParams: any[]): void;
10
+ error(message: string | Error, ...optionalParams: any[]): void;
11
+ }
5
12
  export declare abstract class BaseAIProvider implements AIProvider {
6
13
  abstract readonly name: string;
7
14
  protected readonly logger: LoggerLike;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BaseAIProvider = void 0;
3
+ exports.BaseAIProvider = exports.ConsoleLogger = void 0;
4
4
  const child_process_1 = require("child_process");
5
5
  const fs_1 = require("fs");
6
6
  const path_1 = require("path");
@@ -20,6 +20,7 @@ class ConsoleLogger {
20
20
  console.error(`[${this.context}]`, resolved, ...optionalParams);
21
21
  }
22
22
  }
23
+ exports.ConsoleLogger = ConsoleLogger;
23
24
  class BaseAIProvider {
24
25
  constructor(loggerContext, options = {}) {
25
26
  this.cachedPath = null;
@@ -226,12 +227,14 @@ ${userQuery}
226
227
  return path !== null && path !== '';
227
228
  }
228
229
  createTaskLogFile(taskId, provider, command, agentId, model) {
229
- const logFile = (0, path_1.join)(this.logsDir, `${taskId}.log`);
230
+ const safeTaskId = taskId.replace(/[\\/]/g, '_');
231
+ const logFile = (0, path_1.join)(this.logsDir, `${safeTaskId}.log`);
232
+ const safeAgentId = agentId ? agentId.replace(/[\\/]/g, '_') : 'N/A';
230
233
  const timestamp = new Date().toLocaleString();
231
234
  const header = `=== TASK LOG: ${taskId} ===
232
235
  CrewX Version: ${this.crewxVersion}
233
236
  Provider: ${provider}
234
- Agent: ${agentId || 'N/A'}
237
+ Agent: ${safeAgentId}
235
238
  ${model ? `Model: ${model}\n` : ''}Command: ${command}
236
239
  Started: ${timestamp}
237
240
 
@@ -241,7 +244,8 @@ Started: ${timestamp}
241
244
  }
242
245
  appendTaskLog(taskId, level, message) {
243
246
  try {
244
- const logFile = (0, path_1.join)(this.logsDir, `${taskId}.log`);
247
+ const safeTaskId = taskId.replace(/[\\/]/g, '_');
248
+ const logFile = (0, path_1.join)(this.logsDir, `${safeTaskId}.log`);
245
249
  const timestamp = new Date().toLocaleString();
246
250
  const logEntry = `[${timestamp}] ${level}: ${message}\n`;
247
251
  (0, fs_1.appendFileSync)(logFile, logEntry, 'utf8');