agentlang 0.0.61 → 0.0.63
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 +10 -5
- package/out/runtime/agents/impl/anthropic.d.ts +3 -1
- package/out/runtime/agents/impl/anthropic.d.ts.map +1 -1
- package/out/runtime/agents/impl/anthropic.js +93 -36
- package/out/runtime/agents/impl/anthropic.js.map +1 -1
- package/out/runtime/agents/registry.d.ts +1 -0
- package/out/runtime/agents/registry.d.ts.map +1 -1
- package/out/runtime/agents/registry.js +7 -46
- package/out/runtime/agents/registry.js.map +1 -1
- package/out/runtime/interpreter.d.ts.map +1 -1
- package/out/runtime/interpreter.js +22 -43
- package/out/runtime/interpreter.js.map +1 -1
- package/out/runtime/loader.d.ts.map +1 -1
- package/out/runtime/loader.js +17 -9
- package/out/runtime/loader.js.map +1 -1
- package/out/runtime/module.js +1 -1
- package/out/runtime/module.js.map +1 -1
- package/out/runtime/resolvers/sqldb/database.js +1 -1
- package/out/runtime/resolvers/sqldb/database.js.map +1 -1
- package/package.json +1 -1
- package/src/runtime/agents/impl/anthropic.ts +88 -42
- package/src/runtime/agents/registry.ts +7 -47
- package/src/runtime/interpreter.ts +24 -43
- package/src/runtime/loader.ts +19 -8
- package/src/runtime/module.ts +1 -1
- package/src/runtime/resolvers/sqldb/database.ts +1 -1
package/README.md
CHANGED
|
@@ -1,20 +1,25 @@
|
|
|
1
1
|
<div align="center">
|
|
2
2
|
|
|
3
|
-
# AgentLang
|
|
3
|
+
# AgentLang - Reliable Enterprise AI Agents
|
|
4
|
+
## Build AI Agents that actually work!
|
|
4
5
|
|
|
5
6
|
</div>
|
|
6
7
|
|
|
7
|
-
AgentLang is the **easiest way** to build
|
|
8
|
+
AgentLang is the **easiest way** to build the **most reliable** AI agents. Build **teams of AI Agents** that really grok your requirements and follow your organization's processes closely, while adapting to new scenarios. Agents collaborate with each other and humans to handle complex, time-consuming, monotonous tasks and get work done!
|
|
8
9
|
|
|
9
|
-
|
|
10
|
+
<div align="center">
|
|
11
|
+
|
|
12
|
+
### **Open | Enterprise-grade | Production-ready**
|
|
13
|
+
|
|
14
|
+
</div>
|
|
15
|
+
|
|
16
|
+
AgentLang is also the industry's first "no-code programming language" for building anything involving agents - Fractl Studio (coming soon!) allows your to build and manage agents visually with no code, while the language enables the developer in you to build the same in your favorite IDE.
|
|
10
17
|
|
|
11
18
|
<div align="center">
|
|
12
19
|
|
|
13
20
|
[](https://github.com/agentlang-ai/agentlang/actions/workflows/ci.yml)
|
|
14
21
|
[](https://github.com/agentlang-ai/agentlang/actions/workflows/lint.yml)
|
|
15
22
|
|
|
16
|
-
### **Open | Enterprise-grade | Production-ready**
|
|
17
|
-
|
|
18
23
|
</div>
|
|
19
24
|
|
|
20
25
|
The AgentLang language specification, its compiler and runtime are open source. AgentLang programs can run anywhere - **avoiding the vendor lock-in** of other AI agent/programming platforms.
|
|
@@ -6,6 +6,7 @@ export interface AnthropicConfig {
|
|
|
6
6
|
maxTokens?: number;
|
|
7
7
|
maxRetries?: number;
|
|
8
8
|
apiKey?: string;
|
|
9
|
+
stream?: boolean;
|
|
9
10
|
clientOptions?: {
|
|
10
11
|
defaultHeaders?: Record<string, string>;
|
|
11
12
|
[key: string]: any;
|
|
@@ -29,6 +30,7 @@ export interface AnthropicConfig {
|
|
|
29
30
|
* Enable extended thinking mode for Claude to show its reasoning process.
|
|
30
31
|
* When enabled, responses include thinking blocks showing Claude's thought process.
|
|
31
32
|
* Requires minimum budgetTokens of 1024 and counts towards maxTokens.
|
|
33
|
+
* NOTE: When thinking is enabled, temperature cannot be customized and will use default.
|
|
32
34
|
* Useful for complex reasoning, problem-solving, and transparency.
|
|
33
35
|
* @see https://docs.anthropic.com/en/docs/build-with-claude/extended-thinking
|
|
34
36
|
*/
|
|
@@ -67,7 +69,7 @@ export declare class AnthropicProvider implements AgentServiceProvider {
|
|
|
67
69
|
private config;
|
|
68
70
|
constructor(config?: Map<string, any>);
|
|
69
71
|
private parseConfig;
|
|
70
|
-
invoke(messages: BaseMessage[]): Promise<AIResponse>;
|
|
72
|
+
invoke(messages: BaseMessage[], _externalToolSpecs: any[] | undefined): Promise<AIResponse>;
|
|
71
73
|
/**
|
|
72
74
|
* Apply cache control to messages for prompt caching optimization.
|
|
73
75
|
* Caches system messages with substantial content (>1000 chars) to reduce costs.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../../../src/runtime/agents/impl/anthropic.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAgB,MAAM,gBAAgB,CAAC;AAChF,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGvD,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE;QACd,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACxC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACpB,CAAC;IAEF;;;;;;;OAOG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B;;;;OAIG;IACH,YAAY,CAAC,EAAE,WAAW,CAAC;IAE3B
|
|
1
|
+
{"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../../../src/runtime/agents/impl/anthropic.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAgB,MAAM,gBAAgB,CAAC;AAChF,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGvD,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE;QACd,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACxC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACpB,CAAC;IAEF;;;;;;;OAOG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B;;;;OAIG;IACH,YAAY,CAAC,EAAE,WAAW,CAAC;IAE3B;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;;OAKG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAE/B;;;;;OAKG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAC;IAEpC;;;;;OAKG;IACH,8BAA8B,CAAC,EAAE,OAAO,CAAC;CAC1C;AAED,qBAAa,iBAAkB,YAAW,oBAAoB;IAC5D,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,MAAM,CAAkB;gBAEpB,MAAM,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC;IAmFrC,OAAO,CAAC,WAAW;IAkGb,MAAM,CACV,QAAQ,EAAE,WAAW,EAAE,EACvB,kBAAkB,EAAE,GAAG,EAAE,GAAG,SAAS,GACpC,OAAO,CAAC,UAAU,CAAC;IAkBtB;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IA2BzB,SAAS,IAAI,eAAe;IAI5B,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,IAAI;CAmFxD"}
|
|
@@ -10,6 +10,7 @@ export class AnthropicProvider {
|
|
|
10
10
|
temperature: this.config.temperature,
|
|
11
11
|
maxTokens: this.config.maxTokens,
|
|
12
12
|
maxRetries: this.config.maxRetries,
|
|
13
|
+
streaming: this.config.stream,
|
|
13
14
|
};
|
|
14
15
|
if (this.config.apiKey) {
|
|
15
16
|
chatConfig.apiKey = this.config.apiKey;
|
|
@@ -42,8 +43,8 @@ export class AnthropicProvider {
|
|
|
42
43
|
if (betaFeatures.length > 0) {
|
|
43
44
|
chatConfig.clientOptions = Object.assign(Object.assign({}, chatConfig.clientOptions), { defaultHeaders: Object.assign(Object.assign({}, (_a = chatConfig.clientOptions) === null || _a === void 0 ? void 0 : _a.defaultHeaders), { 'anthropic-beta': betaFeatures.join(',') }) });
|
|
44
45
|
}
|
|
45
|
-
//
|
|
46
|
-
// Thinking mode
|
|
46
|
+
// Configure thinking mode if enabled
|
|
47
|
+
// Thinking mode should be passed to constructor, not invoke method
|
|
47
48
|
if (this.config.enableThinking) {
|
|
48
49
|
// Validate budget tokens (minimum 1024 required by API)
|
|
49
50
|
const budgetTokens = Math.max(1024, this.config.budgetTokens || 1024);
|
|
@@ -52,6 +53,13 @@ export class AnthropicProvider {
|
|
|
52
53
|
if (budgetTokens >= (this.config.maxTokens || 8192)) {
|
|
53
54
|
throw new Error(`budgetTokens (${budgetTokens}) must be less than maxTokens (${this.config.maxTokens || 8192})`);
|
|
54
55
|
}
|
|
56
|
+
// When thinking is enabled, temperature must not be customized
|
|
57
|
+
// Anthropic requires using default temperature with thinking mode
|
|
58
|
+
delete chatConfig.temperature;
|
|
59
|
+
chatConfig.thinking = {
|
|
60
|
+
type: 'enabled',
|
|
61
|
+
budget_tokens: budgetTokens,
|
|
62
|
+
};
|
|
55
63
|
}
|
|
56
64
|
this.model = new ChatAnthropic(chatConfig);
|
|
57
65
|
}
|
|
@@ -62,10 +70,11 @@ export class AnthropicProvider {
|
|
|
62
70
|
temperature: 0.7,
|
|
63
71
|
maxTokens: 8192,
|
|
64
72
|
maxRetries: 2,
|
|
73
|
+
stream: false,
|
|
65
74
|
enablePromptCaching: false,
|
|
66
75
|
cacheControl: 'ephemeral',
|
|
67
76
|
enableThinking: false,
|
|
68
|
-
budgetTokens: 1024,
|
|
77
|
+
budgetTokens: 1024,
|
|
69
78
|
enableExtendedOutput: false,
|
|
70
79
|
enableInterleavedThinking: false,
|
|
71
80
|
enableFineGrainedToolStreaming: false,
|
|
@@ -82,35 +91,82 @@ export class AnthropicProvider {
|
|
|
82
91
|
temperature: (_a = config.get('temperature')) !== null && _a !== void 0 ? _a : defaultConfig.temperature,
|
|
83
92
|
maxTokens: config.get('maxTokens') || config.get('max_tokens') || defaultConfig.maxTokens,
|
|
84
93
|
maxRetries: config.get('maxRetries') || config.get('max_retries') || defaultConfig.maxRetries,
|
|
85
|
-
|
|
86
|
-
config.get('
|
|
87
|
-
|
|
94
|
+
stream: (() => {
|
|
95
|
+
const value = config.get('stream');
|
|
96
|
+
if (value === 'true')
|
|
97
|
+
return true;
|
|
98
|
+
if (value === 'false')
|
|
99
|
+
return false;
|
|
100
|
+
if (typeof value === 'boolean')
|
|
101
|
+
return value;
|
|
102
|
+
return defaultConfig.stream;
|
|
103
|
+
})(),
|
|
104
|
+
enablePromptCaching: (() => {
|
|
105
|
+
const value = config.get('enablePromptCaching') || config.get('enable_prompt_caching');
|
|
106
|
+
if (value === 'true')
|
|
107
|
+
return true;
|
|
108
|
+
if (value === 'false')
|
|
109
|
+
return false;
|
|
110
|
+
if (typeof value === 'boolean')
|
|
111
|
+
return value;
|
|
112
|
+
return defaultConfig.enablePromptCaching;
|
|
113
|
+
})(),
|
|
88
114
|
cacheControl: config.get('cacheControl') || config.get('cache_control') || defaultConfig.cacheControl,
|
|
89
|
-
enableThinking:
|
|
90
|
-
config.get('enable_thinking') ||
|
|
91
|
-
|
|
92
|
-
|
|
115
|
+
enableThinking: (() => {
|
|
116
|
+
const value = config.get('enableThinking') || config.get('enable_thinking') || config.get('thinking');
|
|
117
|
+
if (value === 'true')
|
|
118
|
+
return true;
|
|
119
|
+
if (value === 'false')
|
|
120
|
+
return false;
|
|
121
|
+
if (typeof value === 'boolean')
|
|
122
|
+
return value;
|
|
123
|
+
return defaultConfig.enableThinking;
|
|
124
|
+
})(),
|
|
93
125
|
budgetTokens: config.get('budgetTokens') ||
|
|
94
126
|
config.get('budget_tokens') ||
|
|
95
127
|
config.get('thinking_budget') ||
|
|
96
128
|
defaultConfig.budgetTokens,
|
|
97
|
-
enableExtendedOutput:
|
|
98
|
-
config.get('
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
129
|
+
enableExtendedOutput: (() => {
|
|
130
|
+
const value = config.get('enableExtendedOutput') ||
|
|
131
|
+
config.get('enable_extended_output') ||
|
|
132
|
+
config.get('extendedOutput');
|
|
133
|
+
if (value === 'true')
|
|
134
|
+
return true;
|
|
135
|
+
if (value === 'false')
|
|
136
|
+
return false;
|
|
137
|
+
if (typeof value === 'boolean')
|
|
138
|
+
return value;
|
|
139
|
+
return defaultConfig.enableExtendedOutput;
|
|
140
|
+
})(),
|
|
141
|
+
enableInterleavedThinking: (() => {
|
|
142
|
+
const value = config.get('enableInterleavedThinking') ||
|
|
143
|
+
config.get('enable_interleaved_thinking') ||
|
|
144
|
+
config.get('interleavedThinking');
|
|
145
|
+
if (value === 'true')
|
|
146
|
+
return true;
|
|
147
|
+
if (value === 'false')
|
|
148
|
+
return false;
|
|
149
|
+
if (typeof value === 'boolean')
|
|
150
|
+
return value;
|
|
151
|
+
return defaultConfig.enableInterleavedThinking;
|
|
152
|
+
})(),
|
|
153
|
+
enableFineGrainedToolStreaming: (() => {
|
|
154
|
+
const value = config.get('enableFineGrainedToolStreaming') ||
|
|
155
|
+
config.get('enable_fine_grained_tool_streaming') ||
|
|
156
|
+
config.get('fineGrainedToolStreaming');
|
|
157
|
+
if (value === 'true')
|
|
158
|
+
return true;
|
|
159
|
+
if (value === 'false')
|
|
160
|
+
return false;
|
|
161
|
+
if (typeof value === 'boolean')
|
|
162
|
+
return value;
|
|
163
|
+
return defaultConfig.enableFineGrainedToolStreaming;
|
|
164
|
+
})(),
|
|
109
165
|
apiKey,
|
|
110
166
|
clientOptions: config.get('clientOptions') || config.get('client_options'),
|
|
111
167
|
};
|
|
112
168
|
}
|
|
113
|
-
async invoke(messages) {
|
|
169
|
+
async invoke(messages, _externalToolSpecs) {
|
|
114
170
|
if (!this.config.apiKey) {
|
|
115
171
|
throw new Error('Anthropic API key is required. Set ANTHROPIC_API_KEY environment variable or use setLocalEnv("ANTHROPIC_API_KEY", key) or provide apiKey in config.');
|
|
116
172
|
}
|
|
@@ -118,17 +174,9 @@ export class AnthropicProvider {
|
|
|
118
174
|
if (this.config.enablePromptCaching && messages.length > 0) {
|
|
119
175
|
processedMessages = this.applyCacheControl(messages);
|
|
120
176
|
}
|
|
121
|
-
//
|
|
122
|
-
//
|
|
123
|
-
|
|
124
|
-
if (this.config.enableThinking) {
|
|
125
|
-
const budgetTokens = Math.max(1024, this.config.budgetTokens || 1024);
|
|
126
|
-
invokeOptions.thinking = {
|
|
127
|
-
type: 'enabled',
|
|
128
|
-
budget_tokens: budgetTokens,
|
|
129
|
-
};
|
|
130
|
-
}
|
|
131
|
-
return asAIResponse(await this.model.invoke(processedMessages, invokeOptions));
|
|
177
|
+
// Thinking configuration is now handled in the constructor
|
|
178
|
+
// No need to pass additional options to invoke
|
|
179
|
+
return asAIResponse(await this.model.invoke(processedMessages));
|
|
132
180
|
}
|
|
133
181
|
/**
|
|
134
182
|
* Apply cache control to messages for prompt caching optimization.
|
|
@@ -167,6 +215,7 @@ export class AnthropicProvider {
|
|
|
167
215
|
temperature: this.config.temperature,
|
|
168
216
|
maxTokens: this.config.maxTokens,
|
|
169
217
|
maxRetries: this.config.maxRetries,
|
|
218
|
+
streaming: this.config.stream,
|
|
170
219
|
};
|
|
171
220
|
if (this.config.apiKey) {
|
|
172
221
|
chatConfig.apiKey = this.config.apiKey;
|
|
@@ -199,8 +248,8 @@ export class AnthropicProvider {
|
|
|
199
248
|
if (betaFeatures.length > 0) {
|
|
200
249
|
chatConfig.clientOptions = Object.assign(Object.assign({}, chatConfig.clientOptions), { defaultHeaders: Object.assign(Object.assign({}, (_a = chatConfig.clientOptions) === null || _a === void 0 ? void 0 : _a.defaultHeaders), { 'anthropic-beta': betaFeatures.join(',') }) });
|
|
201
250
|
}
|
|
202
|
-
//
|
|
203
|
-
// Thinking mode
|
|
251
|
+
// Configure thinking mode if enabled
|
|
252
|
+
// Thinking mode should be passed to constructor, not invoke method
|
|
204
253
|
if (this.config.enableThinking) {
|
|
205
254
|
// Validate budget tokens (minimum 1024 required by API)
|
|
206
255
|
const budgetTokens = Math.max(1024, this.config.budgetTokens || 1024);
|
|
@@ -209,6 +258,14 @@ export class AnthropicProvider {
|
|
|
209
258
|
if (budgetTokens >= (this.config.maxTokens || 8192)) {
|
|
210
259
|
throw new Error(`budgetTokens (${budgetTokens}) must be less than maxTokens (${this.config.maxTokens || 8192})`);
|
|
211
260
|
}
|
|
261
|
+
// When thinking is enabled, temperature must not be customized
|
|
262
|
+
// Anthropic requires using default temperature with thinking mode
|
|
263
|
+
delete chatConfig.temperature;
|
|
264
|
+
// Add thinking configuration to the ChatAnthropic constructor
|
|
265
|
+
chatConfig.thinking = {
|
|
266
|
+
type: 'enabled',
|
|
267
|
+
budget_tokens: budgetTokens,
|
|
268
|
+
};
|
|
212
269
|
}
|
|
213
270
|
this.model = new ChatAnthropic(chatConfig);
|
|
214
271
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../../../src/runtime/agents/impl/anthropic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAoC,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEhF,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../../../src/runtime/agents/impl/anthropic.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/runtime/agents/registry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/runtime/agents/registry.ts"],"names":[],"mappings":"AAKA,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,OAUvC;AAED,wBAAgB,oBAAoB,IAAI,MAAM,CAI7C"}
|
|
@@ -1,59 +1,20 @@
|
|
|
1
1
|
import { OpenAIProvider } from './impl/openai.js';
|
|
2
2
|
import { AnthropicProvider } from './impl/anthropic.js';
|
|
3
|
-
import { getLocalEnv } from '../auth/defs.js';
|
|
4
3
|
const Providers = new Map().set('openai', OpenAIProvider).set('anthropic', AnthropicProvider);
|
|
5
4
|
export function provider(service) {
|
|
6
5
|
const requestedService = service.toLowerCase();
|
|
7
|
-
|
|
6
|
+
const p = Providers.get(requestedService);
|
|
8
7
|
if (p) {
|
|
9
|
-
//
|
|
10
|
-
|
|
11
|
-
return p;
|
|
12
|
-
}
|
|
13
|
-
else {
|
|
14
|
-
// Try to find an alternative available provider
|
|
15
|
-
const availableService = getAvailableProvider();
|
|
16
|
-
if (availableService && availableService !== requestedService) {
|
|
17
|
-
p = Providers.get(availableService);
|
|
18
|
-
if (p)
|
|
19
|
-
return p;
|
|
20
|
-
}
|
|
21
|
-
const errorMessage = `${service} provider requested but ${service.toUpperCase()}_API_KEY not found. Available providers: ${getAvailableProviders().join(', ') || 'none'}`;
|
|
22
|
-
console.error(errorMessage);
|
|
23
|
-
throw new Error(errorMessage);
|
|
24
|
-
}
|
|
8
|
+
// Return the requested provider - let it handle API key validation
|
|
9
|
+
return p;
|
|
25
10
|
}
|
|
26
11
|
else {
|
|
27
12
|
throw new Error(`No provider found for ${service}`);
|
|
28
13
|
}
|
|
29
14
|
}
|
|
30
|
-
function
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
case 'anthropic':
|
|
35
|
-
return !!(process.env.ANTHROPIC_API_KEY || getLocalEnv('ANTHROPIC_API_KEY'));
|
|
36
|
-
default:
|
|
37
|
-
return false;
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
function getAvailableProvider() {
|
|
41
|
-
if (process.env.ANTHROPIC_API_KEY || getLocalEnv('ANTHROPIC_API_KEY')) {
|
|
42
|
-
return 'anthropic';
|
|
43
|
-
}
|
|
44
|
-
if (process.env.OPENAI_API_KEY || getLocalEnv('OPENAI_API_KEY')) {
|
|
45
|
-
return 'openai';
|
|
46
|
-
}
|
|
47
|
-
return null;
|
|
48
|
-
}
|
|
49
|
-
function getAvailableProviders() {
|
|
50
|
-
const available = [];
|
|
51
|
-
if (process.env.ANTHROPIC_API_KEY || getLocalEnv('ANTHROPIC_API_KEY')) {
|
|
52
|
-
available.push('anthropic');
|
|
53
|
-
}
|
|
54
|
-
if (process.env.OPENAI_API_KEY || getLocalEnv('OPENAI_API_KEY')) {
|
|
55
|
-
available.push('openai');
|
|
56
|
-
}
|
|
57
|
-
return available;
|
|
15
|
+
export function getDefaultLLMService() {
|
|
16
|
+
// Always default to OpenAI when no service is explicitly specified
|
|
17
|
+
// This is the DEFAULT service, not based on available API keys
|
|
18
|
+
return 'openai';
|
|
58
19
|
}
|
|
59
20
|
//# sourceMappingURL=registry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/runtime/agents/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/runtime/agents/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;AAE9F,MAAM,UAAU,QAAQ,CAAC,OAAe;IACtC,MAAM,gBAAgB,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAC/C,MAAM,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAE1C,IAAI,CAAC,EAAE,CAAC;QACN,mEAAmE;QACnE,OAAO,CAAC,CAAC;IACX,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,yBAAyB,OAAO,EAAE,CAAC,CAAC;IACtD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,mEAAmE;IACnE,+DAA+D;IAC/D,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interpreter.d.ts","sourceRoot":"","sources":["../../src/runtime/interpreter.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"interpreter.d.ts","sourceRoot":"","sources":["../../src/runtime/interpreter.ts"],"names":[],"mappings":"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"}
|
|
@@ -755,7 +755,7 @@ function getMapKey(k) {
|
|
|
755
755
|
else if (k.num != undefined)
|
|
756
756
|
return k.num;
|
|
757
757
|
else if (k.bool != undefined)
|
|
758
|
-
k.bool == 'true' ? true : false;
|
|
758
|
+
return k.bool == 'true' ? true : false;
|
|
759
759
|
}
|
|
760
760
|
const DefaultResolverName = '-';
|
|
761
761
|
async function getResolverForPath(entryName, moduleName, env, isReadForUpdate = false, isReadForDelete = false) {
|
|
@@ -1163,15 +1163,22 @@ const MAX_PLANNER_RETRIES = 3;
|
|
|
1163
1163
|
async function agentInvoke(agent, msg, env) {
|
|
1164
1164
|
const flowContext = env.getFlowContext();
|
|
1165
1165
|
msg = flowContext ? `context: ${flowContext}\n${msg}` : msg;
|
|
1166
|
+
// log invocation details
|
|
1167
|
+
let invokeDebugMsg = `Invoking agent ${agent.name}`;
|
|
1168
|
+
if (agent.role) {
|
|
1169
|
+
invokeDebugMsg = `${invokeDebugMsg} Role=${agent.role}`;
|
|
1170
|
+
}
|
|
1171
|
+
invokeDebugMsg = `\nMessage=${msg}`;
|
|
1172
|
+
console.debug(invokeDebugMsg);
|
|
1173
|
+
//
|
|
1166
1174
|
await agent.invoke(msg, env);
|
|
1167
|
-
|
|
1175
|
+
let result = env.getLastResult();
|
|
1176
|
+
logger.debug(`Agent ${agent.name} result: ${result}`);
|
|
1168
1177
|
const isPlanner = agent.isPlanner();
|
|
1169
|
-
let result = isPlanner ? cleanupAgentResponse(r) : r;
|
|
1170
1178
|
if (result) {
|
|
1171
1179
|
if (isPlanner) {
|
|
1172
1180
|
let retries = 0;
|
|
1173
1181
|
while (true) {
|
|
1174
|
-
logger.debug(`Agent ${agent.name} generated pattern: ${result}`);
|
|
1175
1182
|
try {
|
|
1176
1183
|
let rs = result ? result.trim() : '';
|
|
1177
1184
|
let isWf = rs.startsWith('workflow');
|
|
@@ -1202,7 +1209,7 @@ async function agentInvoke(agent, msg, env) {
|
|
|
1202
1209
|
if (retries < MAX_PLANNER_RETRIES) {
|
|
1203
1210
|
await agent.invoke(`Please fix these errors:\n ${err}`, env);
|
|
1204
1211
|
const r = env.getLastResult();
|
|
1205
|
-
result =
|
|
1212
|
+
result = r;
|
|
1206
1213
|
++retries;
|
|
1207
1214
|
}
|
|
1208
1215
|
else {
|
|
@@ -1253,17 +1260,21 @@ export async function restartFlow(flowContext, userData, env) {
|
|
|
1253
1260
|
const MaxFlowSteps = 25;
|
|
1254
1261
|
async function iterateOnFlow(flow, rootAgent, msg, env) {
|
|
1255
1262
|
rootAgent.disableSession();
|
|
1256
|
-
const s = `Now consider the following flowchart and context:\n${flow}\n\n${msg}
|
|
1263
|
+
const s = `Now consider the following flowchart and context:\n${flow}\n\n${msg}
|
|
1264
|
+
If you understand from the context that a step with no further possible steps has been evaluated,
|
|
1265
|
+
terminate the flowchart by returning DONE. Never return to the top or root step of the flowchart, instead return DONE.\n`;
|
|
1257
1266
|
await agentInvoke(rootAgent, s, env);
|
|
1258
|
-
let step = env.getLastResult();
|
|
1267
|
+
let step = env.getLastResult().trim();
|
|
1259
1268
|
let context = msg;
|
|
1260
1269
|
let stepc = 0;
|
|
1261
1270
|
const iterId = crypto.randomUUID();
|
|
1262
1271
|
console.debug(`Starting iteration ${iterId} on flow: ${flow}`);
|
|
1263
|
-
|
|
1272
|
+
const executedSteps = new Set();
|
|
1273
|
+
while (step != 'DONE' && !executedSteps.has(step)) {
|
|
1264
1274
|
if (stepc > MaxFlowSteps) {
|
|
1265
1275
|
throw new Error(`Flow execution exceeded maximum steps limit`);
|
|
1266
1276
|
}
|
|
1277
|
+
executedSteps.add(step);
|
|
1267
1278
|
++stepc;
|
|
1268
1279
|
const agent = AgentInstance.FromFlowStep(step, rootAgent);
|
|
1269
1280
|
console.debug(`${iterId} evaluating step ${step} with agent ${agent.name}, context ${context}`);
|
|
@@ -1271,17 +1282,17 @@ async function iterateOnFlow(flow, rootAgent, msg, env) {
|
|
|
1271
1282
|
env.setFlowContext(context);
|
|
1272
1283
|
await agentInvoke(agent, '', env);
|
|
1273
1284
|
env.resetFlowContext();
|
|
1274
|
-
console.debug(`${iterId} suspending iteration on step ${step}`);
|
|
1275
1285
|
if (env.isSuspended()) {
|
|
1286
|
+
console.debug(`${iterId} suspending iteration on step ${step}`);
|
|
1276
1287
|
await saveFlowSuspension(rootAgent, context, step, env);
|
|
1277
1288
|
return;
|
|
1278
1289
|
}
|
|
1279
1290
|
const r = env.getLastResult();
|
|
1280
1291
|
const rs = agentInputAsString(r);
|
|
1281
1292
|
console.debug(`${iterId} result of step ${step} - ${rs}`);
|
|
1282
|
-
context = `${context}\n${step} --> ${rs}\n`;
|
|
1293
|
+
context = `${context}\nExecuted steps: ${[...executedSteps].join(', ')}\n${step} --> ${rs}\n`;
|
|
1283
1294
|
await agentInvoke(rootAgent, `${s}\n${context}`, env);
|
|
1284
|
-
step = env.getLastResult();
|
|
1295
|
+
step = env.getLastResult().trim();
|
|
1285
1296
|
}
|
|
1286
1297
|
}
|
|
1287
1298
|
function agentInputAsString(result) {
|
|
@@ -1308,38 +1319,6 @@ async function pushToAgent(agentName, result, env) {
|
|
|
1308
1319
|
const pat = `{${agentName} {message "\n${r}"}}`;
|
|
1309
1320
|
env.setLastResult(await parseAndEvaluateStatement(pat, undefined, env));
|
|
1310
1321
|
}
|
|
1311
|
-
function cleanupAgentResponse(response) {
|
|
1312
|
-
if (response) {
|
|
1313
|
-
const resp = response.trim();
|
|
1314
|
-
if (resp.startsWith('[') && resp.endsWith(']')) {
|
|
1315
|
-
return resp;
|
|
1316
|
-
}
|
|
1317
|
-
const parts = resp.split('\n');
|
|
1318
|
-
const validated = parts.filter((s) => {
|
|
1319
|
-
let stmt = s.trim();
|
|
1320
|
-
if (stmt.endsWith(',')) {
|
|
1321
|
-
stmt = `${stmt.substring(0, stmt.length - 1)};`;
|
|
1322
|
-
}
|
|
1323
|
-
const r = stmt.startsWith('{') ||
|
|
1324
|
-
stmt.startsWith('}') ||
|
|
1325
|
-
stmt.startsWith('if') ||
|
|
1326
|
-
stmt.startsWith('for') ||
|
|
1327
|
-
stmt.startsWith('delete') ||
|
|
1328
|
-
stmt.startsWith('workflow');
|
|
1329
|
-
if (!r) {
|
|
1330
|
-
const i = stmt.indexOf('(');
|
|
1331
|
-
return i > 0 && stmt.indexOf(')') > i;
|
|
1332
|
-
}
|
|
1333
|
-
else {
|
|
1334
|
-
return r;
|
|
1335
|
-
}
|
|
1336
|
-
});
|
|
1337
|
-
return validated.join('\n');
|
|
1338
|
-
}
|
|
1339
|
-
else {
|
|
1340
|
-
return response;
|
|
1341
|
-
}
|
|
1342
|
-
}
|
|
1343
1322
|
async function handleOpenApiEvent(eventInst, env) {
|
|
1344
1323
|
const r = await invokeOpenApiEvent(eventInst.moduleName, eventInst.name, eventInst.attributesAsObject());
|
|
1345
1324
|
env.setLastResult(r);
|