@sowonai/crewx-sdk 0.1.0-dev.8 → 0.1.0-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +30 -10
- package/dist/config/yaml-loader.js +6 -2
- package/dist/config/yaml-loader.js.map +1 -1
- package/dist/conversation/conversation-history.interface.d.ts +6 -4
- package/dist/core/agent/agent-factory.d.ts +7 -7
- package/dist/core/agent/agent-factory.js +23 -0
- package/dist/core/agent/agent-factory.js.map +1 -1
- package/dist/core/agent/agent-runtime.d.ts +18 -2
- package/dist/core/agent/agent-runtime.js +128 -24
- package/dist/core/agent/agent-runtime.js.map +1 -1
- package/dist/core/agent/index.d.ts +1 -1
- package/dist/core/agent/index.js +2 -1
- package/dist/core/agent/index.js.map +1 -1
- package/dist/core/providers/ai-provider.interface.d.ts +1 -0
- package/dist/core/providers/ai-provider.interface.js.map +1 -1
- package/dist/core/providers/base-ai.provider.d.ts +7 -0
- package/dist/core/providers/base-ai.provider.js +2 -1
- package/dist/core/providers/base-ai.provider.js.map +1 -1
- package/dist/core/providers/claude.provider.d.ts +3 -9
- package/dist/core/providers/claude.provider.js +53 -259
- package/dist/core/providers/claude.provider.js.map +1 -1
- package/dist/core/providers/codex.provider.d.ts +5 -2
- package/dist/core/providers/codex.provider.js +38 -9
- package/dist/core/providers/codex.provider.js.map +1 -1
- package/dist/core/providers/copilot.provider.d.ts +0 -10
- package/dist/core/providers/copilot.provider.js +0 -180
- package/dist/core/providers/copilot.provider.js.map +1 -1
- package/dist/core/providers/dynamic-provider.factory.js.map +1 -1
- package/dist/core/providers/gemini.provider.d.ts +0 -11
- package/dist/core/providers/gemini.provider.js +0 -101
- package/dist/core/providers/gemini.provider.js.map +1 -1
- package/dist/core/providers/index.d.ts +2 -0
- package/dist/core/providers/index.js +5 -1
- package/dist/core/providers/index.js.map +1 -1
- package/dist/core/providers/mock.provider.d.ts +13 -0
- package/dist/core/providers/mock.provider.js +55 -0
- package/dist/core/providers/mock.provider.js.map +1 -0
- package/dist/core/providers/provider-factory.d.ts +3 -0
- package/dist/core/providers/provider-factory.js +27 -0
- package/dist/core/providers/provider-factory.js.map +1 -0
- package/dist/index.d.ts +12 -5
- package/dist/index.js +23 -1
- package/dist/index.js.map +1 -1
- package/dist/schema/skills-parser.d.ts +8 -0
- package/dist/schema/skills-parser.js +421 -0
- package/dist/schema/skills-parser.js.map +1 -0
- package/dist/schema/skills.types.d.ts +144 -0
- package/dist/schema/skills.types.js +41 -0
- package/dist/schema/skills.types.js.map +1 -0
- package/dist/services/layout-loader.service.d.ts +4 -1
- package/dist/services/layout-loader.service.js +86 -5
- package/dist/services/layout-loader.service.js.map +1 -1
- package/dist/services/layout-renderer.service.d.ts +1 -1
- package/dist/services/layout-renderer.service.js +67 -18
- package/dist/services/layout-renderer.service.js.map +1 -1
- package/dist/skills/adapter/claude-skill-adapter.d.ts +11 -0
- package/dist/skills/adapter/claude-skill-adapter.js +222 -0
- package/dist/skills/adapter/claude-skill-adapter.js.map +1 -0
- package/dist/skills/index.d.ts +6 -0
- package/dist/skills/index.js +31 -0
- package/dist/skills/index.js.map +1 -0
- package/dist/skills/runtime/progressive-loader.d.ts +27 -0
- package/dist/skills/runtime/progressive-loader.js +186 -0
- package/dist/skills/runtime/progressive-loader.js.map +1 -0
- package/dist/skills/runtime/runtime-requirements-validator.d.ts +23 -0
- package/dist/skills/runtime/runtime-requirements-validator.js +248 -0
- package/dist/skills/runtime/runtime-requirements-validator.js.map +1 -0
- package/dist/skills/runtime/skill-runtime.service.d.ts +42 -0
- package/dist/skills/runtime/skill-runtime.service.js +434 -0
- package/dist/skills/runtime/skill-runtime.service.js.map +1 -0
- package/dist/types/agent.types.d.ts +4 -1
- package/dist/types/agent.types.js.map +1 -1
- package/dist/types/index.d.ts +3 -0
- package/dist/types/index.js +3 -0
- package/dist/types/index.js.map +1 -1
- package/dist/types/layout.types.d.ts +37 -1
- package/dist/types/layout.types.js.map +1 -1
- package/dist/types/provider.types.d.ts +12 -0
- package/dist/types/provider.types.js +3 -0
- package/dist/types/provider.types.js.map +1 -0
- package/dist/types/skill-runtime.types.d.ts +244 -0
- package/dist/types/skill-runtime.types.js +44 -0
- package/dist/types/skill-runtime.types.js.map +1 -0
- package/dist/types/template.types.d.ts +38 -0
- package/dist/types/template.types.js +3 -0
- package/dist/types/template.types.js.map +1 -0
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -257,7 +257,7 @@ try {
|
|
|
257
257
|
}
|
|
258
258
|
```
|
|
259
259
|
|
|
260
|
-
### Agent Factory API
|
|
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
|
|
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 (
|
|
125
|
-
|
|
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":";;;AAgEA,0DAiCC;AAcD,0DAiBC;AAkHD,
|
|
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
|
|
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
|
-
|
|
4
|
-
|
|
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":";;;
|
|
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(
|
|
33
|
-
execute(
|
|
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(
|
|
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:
|
|
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
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
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(
|
|
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:
|
|
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
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
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":";;;AAKA,2CAAuD;
|
|
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';
|
package/dist/core/agent/index.js
CHANGED
|
@@ -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,
|
|
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;
|
|
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;
|