@sowonai/crewx-sdk 0.1.0-dev.9 → 0.1.0-rc.1

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 (87) hide show
  1. package/README.md +30 -10
  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 +2 -1
  18. package/dist/core/providers/base-ai.provider.js.map +1 -1
  19. package/dist/core/providers/claude.provider.d.ts +3 -9
  20. package/dist/core/providers/claude.provider.js +53 -259
  21. package/dist/core/providers/claude.provider.js.map +1 -1
  22. package/dist/core/providers/codex.provider.d.ts +5 -2
  23. package/dist/core/providers/codex.provider.js +38 -9
  24. package/dist/core/providers/codex.provider.js.map +1 -1
  25. package/dist/core/providers/copilot.provider.d.ts +0 -10
  26. package/dist/core/providers/copilot.provider.js +0 -180
  27. package/dist/core/providers/copilot.provider.js.map +1 -1
  28. package/dist/core/providers/dynamic-provider.factory.js.map +1 -1
  29. package/dist/core/providers/gemini.provider.d.ts +0 -11
  30. package/dist/core/providers/gemini.provider.js +0 -101
  31. package/dist/core/providers/gemini.provider.js.map +1 -1
  32. package/dist/core/providers/index.d.ts +2 -0
  33. package/dist/core/providers/index.js +5 -1
  34. package/dist/core/providers/index.js.map +1 -1
  35. package/dist/core/providers/mock.provider.d.ts +13 -0
  36. package/dist/core/providers/mock.provider.js +55 -0
  37. package/dist/core/providers/mock.provider.js.map +1 -0
  38. package/dist/core/providers/provider-factory.d.ts +3 -0
  39. package/dist/core/providers/provider-factory.js +27 -0
  40. package/dist/core/providers/provider-factory.js.map +1 -0
  41. package/dist/index.d.ts +12 -5
  42. package/dist/index.js +23 -1
  43. package/dist/index.js.map +1 -1
  44. package/dist/schema/skills-parser.d.ts +8 -0
  45. package/dist/schema/skills-parser.js +421 -0
  46. package/dist/schema/skills-parser.js.map +1 -0
  47. package/dist/schema/skills.types.d.ts +144 -0
  48. package/dist/schema/skills.types.js +41 -0
  49. package/dist/schema/skills.types.js.map +1 -0
  50. package/dist/services/layout-loader.service.d.ts +4 -1
  51. package/dist/services/layout-loader.service.js +86 -5
  52. package/dist/services/layout-loader.service.js.map +1 -1
  53. package/dist/services/layout-renderer.service.d.ts +1 -1
  54. package/dist/services/layout-renderer.service.js +67 -18
  55. package/dist/services/layout-renderer.service.js.map +1 -1
  56. package/dist/skills/adapter/claude-skill-adapter.d.ts +11 -0
  57. package/dist/skills/adapter/claude-skill-adapter.js +222 -0
  58. package/dist/skills/adapter/claude-skill-adapter.js.map +1 -0
  59. package/dist/skills/index.d.ts +6 -0
  60. package/dist/skills/index.js +31 -0
  61. package/dist/skills/index.js.map +1 -0
  62. package/dist/skills/runtime/progressive-loader.d.ts +27 -0
  63. package/dist/skills/runtime/progressive-loader.js +186 -0
  64. package/dist/skills/runtime/progressive-loader.js.map +1 -0
  65. package/dist/skills/runtime/runtime-requirements-validator.d.ts +23 -0
  66. package/dist/skills/runtime/runtime-requirements-validator.js +248 -0
  67. package/dist/skills/runtime/runtime-requirements-validator.js.map +1 -0
  68. package/dist/skills/runtime/skill-runtime.service.d.ts +42 -0
  69. package/dist/skills/runtime/skill-runtime.service.js +434 -0
  70. package/dist/skills/runtime/skill-runtime.service.js.map +1 -0
  71. package/dist/types/agent.types.d.ts +4 -1
  72. package/dist/types/agent.types.js.map +1 -1
  73. package/dist/types/index.d.ts +3 -0
  74. package/dist/types/index.js +3 -0
  75. package/dist/types/index.js.map +1 -1
  76. package/dist/types/layout.types.d.ts +37 -1
  77. package/dist/types/layout.types.js.map +1 -1
  78. package/dist/types/provider.types.d.ts +12 -0
  79. package/dist/types/provider.types.js +3 -0
  80. package/dist/types/provider.types.js.map +1 -0
  81. package/dist/types/skill-runtime.types.d.ts +244 -0
  82. package/dist/types/skill-runtime.types.js +44 -0
  83. package/dist/types/skill-runtime.types.js.map +1 -0
  84. package/dist/types/template.types.d.ts +38 -0
  85. package/dist/types/template.types.js +3 -0
  86. package/dist/types/template.types.js.map +1 -0
  87. package/package.json +3 -2
package/README.md CHANGED
@@ -257,7 +257,7 @@ try {
257
257
  }
258
258
  ```
259
259
 
260
- ### Agent Factory API (NEW in WBS-8)
260
+ ### Agent Factory API
261
261
 
262
262
  #### createCrewxAgent
263
263
 
@@ -433,7 +433,7 @@ export class DatabaseConversationProvider implements IConversationHistoryProvide
433
433
  }
434
434
  ```
435
435
 
436
- ## Shared SDK/CLI Integration (WBS-9)
436
+ ## Shared SDK/CLI Integration
437
437
 
438
438
  The SDK provides reusable components that were previously CLI-only. These abstractions enable custom platform integrations while maintaining consistency.
439
439
 
@@ -869,14 +869,6 @@ const result = await manager.queryAgent('backend', 'Analyze codebase');
869
869
  console.log(result.content);
870
870
  ```
871
871
 
872
- ### Migration Guide
873
-
874
- For detailed migration instructions from CLI to SDK, see:
875
- - [WBS-9 Phase 1-5 Integration Guide](../../docs/wbs-9-phase1-5-integration.md)
876
- - [Phase 1: Message Formatter](../../docs/wbs-9-phase1-migration.md)
877
- - [Phase 2: AI Providers](../../docs/wbs-9-phase2-migration.md)
878
- - [Phase 3: Remote Agents](../../docs/wbs-9-phase3-migration.md)
879
-
880
872
  ## Advanced Usage
881
873
 
882
874
  ### Using Internal APIs
@@ -987,6 +979,34 @@ Please follow these steps:
987
979
 
988
980
  Apache-2.0 License - See [LICENSE](./LICENSE) for details.
989
981
 
982
+ ## Context Integration
983
+
984
+ The SDK provides `TemplateContext` and `AgentMetadata` exports for dynamic template processing:
985
+
986
+ ```typescript
987
+ import { TemplateContext, AgentMetadata } from '@sowonai/crewx-sdk';
988
+
989
+ // Use TemplateContext for dynamic prompts
990
+ const context: TemplateContext = {
991
+ env: process.env,
992
+ agent: {
993
+ id: 'claude',
994
+ name: 'Claude Assistant',
995
+ provider: 'cli/claude',
996
+ model: 'claude-3-5-sonnet'
997
+ },
998
+ agentMetadata: {
999
+ specialties: ['code-analysis', 'architecture'],
1000
+ capabilities: ['file-operations', 'web-search'],
1001
+ description: 'Advanced reasoning and analysis specialist'
1002
+ },
1003
+ mode: 'query',
1004
+ platform: 'cli'
1005
+ };
1006
+ ```
1007
+
1008
+ For detailed usage, see [Template Variables Guide](../../docs/template-variables.md).
1009
+
990
1010
  ## Support
991
1011
 
992
1012
  - [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":";;;AAKA,2CAAuD;AAGvD,oEAA8D;AAC9D,+DAA2D;AAE3D,8DAA0D;AAyC1D,MAAa,YAAY;IAUvB,YAAY,UAA+B,EAAE;QAPrC,cAAS,GAAqB,EAAE,CAAC;QAQvC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,IAAI,oBAAQ,EAAE,CAAC;QACnD,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,IAAI,KAAK,CAAC;QACxD,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,SAAS,CAAC;QAC1D,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,gCAAa,CAAC,cAAc,CAAC,CAAC;QAClE,IAAI,CAAC,aAAa,GAAG,IAAI,8BAAa,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;QACrF,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,IAAI,4BAAY,EAAE,CAAC;QACvD,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;IAC3C,CAAC;IAiBD,KAAK,CAAC,KAAK,CAAC,eAA2C;QAErD,IAAI,OAA0B,CAAC;QAE/B,IAAI,OAAO,eAAe,KAAK,QAAQ,EAAE,CAAC;YAExC,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;YAEzD,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,MAAM,IAAI,KAAK,CAAC,2BAA2B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACzE,CAAC;YAED,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAE9B,OAAO,GAAG;oBACR,MAAM,EAAE,eAAe;oBACvB,OAAO,EAAE,IAAI,CAAC,cAAc;iBAC7B,CAAC;YACJ,CAAC;iBAAM,CAAC;gBAEN,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC7B,IAAI,CAAC,IAAI,EAAE,CAAC;oBACV,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;gBAC3D,CAAC;gBAED,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACnC,IAAI,CAAC,WAAW,EAAE,CAAC;oBACjB,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;gBAC5D,CAAC;gBAED,OAAO,GAAG;oBACR,OAAO,EAAE,WAAW;oBACpB,MAAM,EAAE,IAAI,CAAC,IAAI;oBACjB,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,WAAW,CAAC;iBACrC,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,CAAC;YAEN,OAAO,GAAG,eAAe,CAAC;QAC5B,CAAC;QAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC;QAEvD,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,6BAA6B,OAAO,EAAE,CAAC,CAAC;YAGxD,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;YAGrE,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;gBACzB,MAAM,KAAK,GAAmB;oBAC5B,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM;oBAC5B,OAAO;oBACP,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI;oBAC5B,IAAI,EAAE,OAAO;oBACb,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iBACpC,CAAC;gBACF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC3B,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YACpE,CAAC;YAED,MAAM,eAAe,GAAG,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACrE,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;YAC9E,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAEpE,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;YAEjF,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,8BAA8B,OAAO,eAAe,IAAI,CAAC,QAAQ,CAAC,IAAI,cAAc,MAAM,CAAC,OAAO,GAAG,CACtG,CAAC;YAEF,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,OAAO,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;YACpH,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;YACxE,MAAM,KAAK,CAAC;QACd,CAAC;gBAAS,CAAC;YAET,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtD,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;gBACrB,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;IACH,CAAC;IAiBD,KAAK,CAAC,OAAO,CAAC,eAA6C;QAEzD,IAAI,OAA4B,CAAC;QAEjC,IAAI,OAAO,eAAe,KAAK,QAAQ,EAAE,CAAC;YAExC,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;YAEzD,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,MAAM,IAAI,KAAK,CAAC,2BAA2B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACzE,CAAC;YAED,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAE9B,OAAO,GAAG;oBACR,MAAM,EAAE,eAAe;oBACvB,OAAO,EAAE,IAAI,CAAC,cAAc;iBAC7B,CAAC;YACJ,CAAC;iBAAM,CAAC;gBAEN,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC7B,IAAI,CAAC,IAAI,EAAE,CAAC;oBACV,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;gBAC3D,CAAC;gBAED,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACnC,IAAI,CAAC,WAAW,EAAE,CAAC;oBACjB,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;gBAC5D,CAAC;gBAED,OAAO,GAAG;oBACR,OAAO,EAAE,WAAW;oBACpB,MAAM,EAAE,IAAI,CAAC,IAAI;oBACjB,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,WAAW,CAAC;iBACrC,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,CAAC;YAEN,OAAO,GAAG,eAAe,CAAC;QAC5B,CAAC;QAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC;QAEvD,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,+BAA+B,OAAO,EAAE,CAAC,CAAC;YAG1D,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;YAGvE,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;gBACzB,MAAM,KAAK,GAAmB;oBAC5B,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM;oBAC5B,OAAO;oBACP,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI;oBAC5B,IAAI,EAAE,SAAS;oBACf,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iBACpC,CAAC;gBACF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC3B,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YACpE,CAAC;YAED,MAAM,eAAe,GAAG,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACrE,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;YAChF,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAEpE,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;YAEjF,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,gCAAgC,OAAO,eAAe,IAAI,CAAC,QAAQ,CAAC,IAAI,cAAc,MAAM,CAAC,OAAO,GAAG,CACxG,CAAC;YAEF,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,OAAO,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;YACtH,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;YACxE,MAAM,KAAK,CAAC;QACd,CAAC;gBAAS,CAAC;YACT,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtD,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;gBACrB,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;IACH,CAAC;IAEO,qBAAqB,CAC3B,OAAgD,EAChD,OAAe;QAEf,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC;QAEjD,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;QAC9C,MAAM,kBAAkB,GAAG,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAC7D,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,QAAQ,EAAE;gBACR,GAAG,OAAO,CAAC,QAAQ;gBACnB,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,SAAS,EACP,OAAO,CAAC,SAAS,YAAY,IAAI;oBAC/B,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE;oBACjC,CAAC,CAAC,OAAO,CAAC,SAAS;aACxB;SACF,CAAC,CAAC,CAAC;QAEJ,OAAO;YACL,GAAG,eAAe;YAClB,OAAO;YACP,KAAK;YACL,YAAY,EAAE,eAAe,CAAC,YAAY,IAAI,OAAO,CAAC,OAAO;YAC7D,QAAQ,EAAE,kBAAkB,IAAI,eAAe,CAAC,QAAQ;SAChC,CAAC;IAC7B,CAAC;IAEO,iBAAiB,CACvB,UAAsB,EACtB,OAAe,EACf,OAAgD;QAEhD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC;QAEjD,OAAO;YACL,OAAO,EAAE,UAAU,CAAC,OAAO;YAC3B,OAAO,EAAE,UAAU,CAAC,OAAO;YAC3B,OAAO;YACP,QAAQ,EAAE;gBACR,QAAQ,EAAE,UAAU,CAAC,QAAQ;gBAC7B,OAAO,EAAE,UAAU,CAAC,OAAO;gBAC3B,MAAM,EAAE,UAAU,CAAC,MAAM;gBACzB,KAAK,EAAE,UAAU,CAAC,KAAK;gBACvB,QAAQ,EAAE,UAAU,CAAC,QAAQ;gBAC7B,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,YAAY,EAAE,OAAO,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC;gBAC3C,KAAK;aACN;SACF,CAAC;IACJ,CAAC;IAKD,YAAY;QACV,OAAO,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;IAC7B,CAAC;IAKD,WAAW;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;CACF;AAhSD,oCAgSC"}
@@ -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;