@omaikit/agents 0.1.5 → 0.1.7
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 +14 -0
- package/dist/ai-provider/openai.d.ts.map +1 -1
- package/dist/ai-provider/openai.js +40 -44
- package/dist/ai-provider/openai.js.map +1 -1
- package/dist/ai-provider/provider.d.ts +6 -1
- package/dist/ai-provider/provider.d.ts.map +1 -1
- package/dist/coder/coder.d.ts +1 -0
- package/dist/coder/coder.d.ts.map +1 -1
- package/dist/coder/coder.js +11 -7
- package/dist/coder/coder.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
<div align="center">
|
|
2
|
+
<a href="https://omaicode.com">
|
|
3
|
+
<picture>
|
|
4
|
+
<source media="(prefers-color-scheme: dark)" srcset="https://omaicode.com/storage/app/media/images/omaicode_icon.png">
|
|
5
|
+
<img alt="Omaikit logo" src="https://omaicode.com/storage/app/media/images/omaicode_icon.png" height="64">
|
|
6
|
+
</picture>
|
|
7
|
+
</a>
|
|
8
|
+
<h1>Omaikit</h1>
|
|
9
|
+
|
|
10
|
+
<a href="https://www.npmjs.com/package/@omaikit/agents"><img alt="NPM version" src="https://img.shields.io/npm/v/@omaikit/agents.svg?style=for-the-badge&labelColor=000000"></a>
|
|
11
|
+
<a href="https://github.com/omaicode/omaikit/blob/main/LICENSE"><img alt="License" src="https://img.shields.io/npm/l/@omaikit/agents.svg?style=for-the-badge&labelColor=000000"></a>
|
|
12
|
+
<a href="https://github.com/omaicode/omaikit/discussions"><img alt="Join the community on GitHub" src="https://img.shields.io/badge/Join%20the%20community-blueviolet.svg?style=for-the-badge&logo=GitHub&labelColor=000000&logoWidth=20"></a>
|
|
13
|
+
</div>
|
|
14
|
+
|
|
1
15
|
## @omaikit/agents
|
|
2
16
|
|
|
3
17
|
Agent implementations for Omaikit. This package provides the core agent classes that power planning, code generation, and testing.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../src/ai-provider/openai.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAY,MAAM,YAAY,CAAC;AAOrE,qBAAa,cAAe,YAAW,UAAU;IAC/C,OAAO,CAAC,MAAM,CAAC,CAAS;IACxB,OAAO,CAAC,MAAM,CAAuB;gBAEzB,MAAM,CAAC,EAAE,MAAM;IAIrB,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAYrD,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../src/ai-provider/openai.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAY,MAAM,YAAY,CAAC;AAOrE,qBAAa,cAAe,YAAW,UAAU;IAC/C,OAAO,CAAC,MAAM,CAAC,CAAS;IACxB,OAAO,CAAC,MAAM,CAAuB;gBAEzB,MAAM,CAAC,EAAE,MAAM;IAIrB,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAYrD,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC;IAqEzE,OAAO,CAAC,uBAAuB;IAuBzB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAI/C,UAAU,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAI9C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B,OAAO,CAAC,YAAY;YAUN,gBAAgB;IAgD9B,OAAO,CAAC,gBAAgB;CAkBzB"}
|
|
@@ -20,11 +20,11 @@ export class OpenAIProvider {
|
|
|
20
20
|
}
|
|
21
21
|
async generate(prompt, options) {
|
|
22
22
|
if (!this.client) {
|
|
23
|
-
if (!this.apiKey)
|
|
24
|
-
return `OPENAI_ECHO:\n${prompt}`;
|
|
25
23
|
await this.init();
|
|
26
|
-
if (!this.client)
|
|
27
|
-
|
|
24
|
+
if (!this.client) {
|
|
25
|
+
throw new Error('OpenAI API key not provided');
|
|
26
|
+
}
|
|
27
|
+
;
|
|
28
28
|
}
|
|
29
29
|
const model = (options && options.model) || 'gpt-5-mini';
|
|
30
30
|
const maxTokens = options?.maxTokens || undefined;
|
|
@@ -34,35 +34,40 @@ export class OpenAIProvider {
|
|
|
34
34
|
let response = undefined;
|
|
35
35
|
let previousResponseId = options?.previousResponseId;
|
|
36
36
|
let input = [{ role: 'user', content: prompt }];
|
|
37
|
-
for (
|
|
37
|
+
for (const toolOutput of options?.toolOutputs || []) {
|
|
38
|
+
input.push(toolOutput);
|
|
39
|
+
}
|
|
40
|
+
for (let i = 0; i <= maxToolCalls; i++) {
|
|
38
41
|
response = await this.client.responses.create({
|
|
39
42
|
model,
|
|
40
43
|
input,
|
|
41
44
|
max_output_tokens: maxTokens,
|
|
42
45
|
temperature,
|
|
43
|
-
tools: tools.length > 0
|
|
46
|
+
tools: tools.length > 0
|
|
47
|
+
? this.formatToolsForResponses(tools, model)
|
|
48
|
+
: undefined,
|
|
44
49
|
tool_choice: normalizeToolChoice(options?.toolChoice),
|
|
45
50
|
previous_response_id: previousResponseId || undefined,
|
|
46
51
|
instructions: options?.instructions || undefined,
|
|
47
52
|
});
|
|
48
|
-
previousResponseId = response.id;
|
|
49
53
|
const output = response.output;
|
|
50
54
|
if (options?.onTextResponse) {
|
|
51
|
-
output
|
|
52
|
-
|
|
55
|
+
output
|
|
56
|
+
.filter((item) => item.type === 'message')
|
|
57
|
+
.forEach((item) => {
|
|
58
|
+
const content = item?.content.find((x) => x.type == 'output_text')?.text || ' ';
|
|
53
59
|
options.onTextResponse?.(content);
|
|
54
60
|
});
|
|
55
61
|
}
|
|
56
62
|
const toolCalls = this.extractToolCalls(response);
|
|
57
|
-
// console.log('Tool Calls:', toolCalls);
|
|
58
63
|
if (toolCalls.length > 0 && !options?.toolRegistry) {
|
|
59
64
|
throw new Error('Tool calls requested but no tool registry provided');
|
|
60
65
|
}
|
|
61
66
|
if (toolCalls.length > 0) {
|
|
62
|
-
const toolOutputs = await this.processToolCalls(toolCalls, options);
|
|
63
|
-
|
|
64
|
-
input = [...toolOutputs];
|
|
67
|
+
const toolOutputs = await this.processToolCalls(toolCalls, options, previousResponseId !== undefined);
|
|
68
|
+
input = toolOutputs;
|
|
65
69
|
}
|
|
70
|
+
previousResponseId = response.id;
|
|
66
71
|
}
|
|
67
72
|
if (response && options?.onResponse) {
|
|
68
73
|
await options.onResponse(response);
|
|
@@ -108,57 +113,48 @@ export class OpenAIProvider {
|
|
|
108
113
|
}
|
|
109
114
|
return [];
|
|
110
115
|
}
|
|
111
|
-
async processToolCalls(toolCalls, options) {
|
|
116
|
+
async processToolCalls(toolCalls, options, _hasPreviousResponseId) {
|
|
112
117
|
if (!options?.toolRegistry) {
|
|
113
118
|
throw new Error('Tool calls requested but no tool registry provided');
|
|
114
119
|
}
|
|
115
|
-
const
|
|
120
|
+
const arr = [];
|
|
116
121
|
for (const toolCall of toolCalls) {
|
|
122
|
+
if (options?.onToolCall) {
|
|
123
|
+
options.onToolCall(toolCall);
|
|
124
|
+
}
|
|
125
|
+
// if (_hasPreviousResponseId) arr.push(toolCall);
|
|
117
126
|
let type = 'function_call_output';
|
|
118
127
|
let args = parseToolArgs(toolCall.arguments);
|
|
119
|
-
if (toolCall.
|
|
128
|
+
if (toolCall.type === 'apply_patch_call') {
|
|
120
129
|
type = 'apply_patch_call_output';
|
|
121
|
-
args = toolCall.
|
|
130
|
+
args = toolCall.operation;
|
|
122
131
|
}
|
|
123
|
-
const result = await options.toolRegistry.call(toolCall.name, args, options.toolContext ?? {});
|
|
124
|
-
|
|
125
|
-
options.onToolCall(toolCall);
|
|
126
|
-
}
|
|
127
|
-
toolOutputs.push({
|
|
132
|
+
const result = await options.toolRegistry.call(toolCall.name || toolCall.type, args, options.toolContext ?? {});
|
|
133
|
+
const output = {
|
|
128
134
|
type,
|
|
129
135
|
call_id: toolCall.call_id,
|
|
130
136
|
output: JSON.stringify(result),
|
|
131
137
|
status: 'completed',
|
|
132
|
-
}
|
|
138
|
+
};
|
|
139
|
+
if (options?.onToolOutput) {
|
|
140
|
+
options.onToolOutput(output);
|
|
141
|
+
}
|
|
142
|
+
arr.push(output);
|
|
133
143
|
}
|
|
134
|
-
return
|
|
144
|
+
return arr;
|
|
135
145
|
}
|
|
136
146
|
extractToolCalls(response) {
|
|
137
147
|
const toolCalls = [];
|
|
138
|
-
const output = response
|
|
148
|
+
const output = response.output;
|
|
139
149
|
if (!output) {
|
|
140
150
|
return toolCalls;
|
|
141
151
|
}
|
|
142
152
|
for (const item of output) {
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
arguments: item.arguments || '{}',
|
|
149
|
-
call_id: item.call_id || `call_${toolCalls.length + 1}`,
|
|
150
|
-
});
|
|
151
|
-
break;
|
|
152
|
-
case 'apply_patch_call':
|
|
153
|
-
toolCalls.push({
|
|
154
|
-
id: item.id || `tool_${toolCalls.length + 1}`,
|
|
155
|
-
name: 'apply_patch_call',
|
|
156
|
-
arguments: item.operation || {},
|
|
157
|
-
call_id: item.call_id || `call_${toolCalls.length + 1}`,
|
|
158
|
-
});
|
|
159
|
-
break;
|
|
160
|
-
default:
|
|
161
|
-
break;
|
|
153
|
+
if (item?.type === 'function_call') {
|
|
154
|
+
toolCalls.push(item);
|
|
155
|
+
}
|
|
156
|
+
else if (item?.type === 'apply_patch_call') {
|
|
157
|
+
toolCalls.push(item);
|
|
162
158
|
}
|
|
163
159
|
}
|
|
164
160
|
return toolCalls;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai.js","sourceRoot":"","sources":["../../src/ai-provider/openai.ts"],"names":[],"mappings":"AAEA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAK5B,MAAM,OAAO,cAAc;IACjB,MAAM,CAAU;IAChB,MAAM,GAAkB,IAAI,CAAC;IAErC,YAAY,MAAe;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,MAAgC;QACzC,IAAI,MAAM,IAAK,MAAc,CAAC,MAAM;YAAE,IAAI,CAAC,MAAM,GAAI,MAAc,CAAC,MAAgB,CAAC;QACrF,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO;QAEzB,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACpD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,kDAAkD;YAClD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACrB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,MAAc,EAAE,OAA2B;QACxD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC,IAAI,CAAC
|
|
1
|
+
{"version":3,"file":"openai.js","sourceRoot":"","sources":["../../src/ai-provider/openai.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,8 +4,11 @@ import OpenAI from 'openai';
|
|
|
4
4
|
export interface ToolCall {
|
|
5
5
|
id: string;
|
|
6
6
|
name: string;
|
|
7
|
-
arguments
|
|
7
|
+
arguments?: Record<string, unknown> | string;
|
|
8
|
+
operation?: Record<string, unknown>;
|
|
8
9
|
call_id: string;
|
|
10
|
+
status: string;
|
|
11
|
+
type: string;
|
|
9
12
|
}
|
|
10
13
|
export interface AIProviderOptions {
|
|
11
14
|
model?: string;
|
|
@@ -14,6 +17,7 @@ export interface AIProviderOptions {
|
|
|
14
17
|
temperature?: number;
|
|
15
18
|
onProgress?: (chunk: string) => void;
|
|
16
19
|
onToolCall?: (event: ToolCall) => void;
|
|
20
|
+
onToolOutput?: (event: any) => void;
|
|
17
21
|
onTextResponse?: (text: string) => void;
|
|
18
22
|
onResponse?: (response: OpenAI.Responses.Response) => Promise<void>;
|
|
19
23
|
tools?: ToolDefinition[];
|
|
@@ -25,6 +29,7 @@ export interface AIProviderOptions {
|
|
|
25
29
|
maxToolCalls?: number;
|
|
26
30
|
instructions?: string;
|
|
27
31
|
previousResponseId?: string;
|
|
32
|
+
toolOutputs?: Array<any>;
|
|
28
33
|
}
|
|
29
34
|
export interface AIProvider {
|
|
30
35
|
init?(config?: Record<string, unknown>): Promise<void> | void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/ai-provider/provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/ai-provider/provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAC;IACvC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IACpC,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpE,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;IACzB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAChD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,WAAW,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;CAC1B;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC9D,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACvE,KAAK,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3C,UAAU,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;CACtD"}
|
package/dist/coder/coder.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coder.d.ts","sourceRoot":"","sources":["../../src/coder/coder.ts"],"names":[],"mappings":"AACA;;;GAGG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,KAAK,EAAE,IAAI,EAAE,cAAc,EAAY,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AASnC,MAAM,WAAW,eAAgB,SAAQ,UAAU;IACjD,IAAI,EAAE,IAAI,CAAC;IACX,cAAc,EAAE,GAAG,CAAC;IACpB,IAAI,EAAE,GAAG,CAAC;IACV,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAiB,SAAQ,WAAW;IACnD,MAAM,EAAE,cAAc,CAAC;IACvB,QAAQ,EAAE;QACR,UAAU,EAAE,MAAM,CAAC;QACnB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QACxB,UAAU,CAAC,EAAE;YACX,KAAK,EAAE,MAAM,CAAC;YACd,MAAM,EAAE,MAAM,CAAC;YACf,KAAK,EAAE,MAAM,CAAC;SACf,CAAC;QACF,kBAAkB,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"coder.d.ts","sourceRoot":"","sources":["../../src/coder/coder.ts"],"names":[],"mappings":"AACA;;;GAGG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,KAAK,EAAE,IAAI,EAAE,cAAc,EAAY,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AASnC,MAAM,WAAW,eAAgB,SAAQ,UAAU;IACjD,IAAI,EAAE,IAAI,CAAC;IACX,cAAc,EAAE,GAAG,CAAC;IACpB,IAAI,EAAE,GAAG,CAAC;IACV,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAiB,SAAQ,WAAW;IACnD,MAAM,EAAE,cAAc,CAAC;IACvB,QAAQ,EAAE;QACR,UAAU,EAAE,MAAM,CAAC;QACnB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QACxB,UAAU,CAAC,EAAE;YACX,KAAK,EAAE,MAAM,CAAC;YACd,MAAM,EAAE,MAAM,CAAC;YACf,KAAK,EAAE,MAAM,CAAC;SACf,CAAC;QACF,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,WAAW,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;KAC1B,CAAC;CACH;AAED,qBAAa,UAAW,SAAQ,KAAK;IAC5B,IAAI,SAAW;IAEtB,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAC,CAAa;IAC9B,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,GAAG,CAAgB;gBAEf,MAAM,CAAC,EAAE,MAAM;IAOrB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ3B;;OAEG;IACG,OAAO,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAkEhE;;OAEG;IACG,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC;IAwEjD;;OAEG;IACH,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO;IAK9B;;OAEG;IACH,OAAO,CAAC,aAAa;IAYrB;;OAEG;YACW,OAAO;IAoDrB,OAAO,CAAC,gBAAgB;CAazB"}
|
package/dist/coder/coder.js
CHANGED
|
@@ -61,10 +61,10 @@ export class CoderAgent extends Agent {
|
|
|
61
61
|
this.validateInput(input);
|
|
62
62
|
// Generate prompt
|
|
63
63
|
const prompt = await this.promptTemplates.generatePrompt(input.task);
|
|
64
|
-
const { previousResponseId, toolCalls } = await this.callLLM(prompt, input);
|
|
64
|
+
const { previousResponseId, toolCalls, toolOutputs } = await this.callLLM(prompt, input);
|
|
65
65
|
output.result.prompt = prompt;
|
|
66
|
-
output.result.files = toolCalls.map((call) => {
|
|
67
|
-
const args = call.
|
|
66
|
+
output.result.files = toolCalls.filter((call) => call.type === 'apply_patch_call').map((call) => {
|
|
67
|
+
const args = call.operation;
|
|
68
68
|
return {
|
|
69
69
|
path: args.path || 'unknown',
|
|
70
70
|
content: String(args.diff || ''),
|
|
@@ -75,6 +75,7 @@ export class CoderAgent extends Agent {
|
|
|
75
75
|
model: this.cfg.coderModel,
|
|
76
76
|
};
|
|
77
77
|
output.metadata.previousResponseId = previousResponseId;
|
|
78
|
+
output.metadata.toolOutputs = toolOutputs;
|
|
78
79
|
await this.afterExecute(output);
|
|
79
80
|
}
|
|
80
81
|
catch (error) {
|
|
@@ -183,6 +184,7 @@ export class CoderAgent extends Agent {
|
|
|
183
184
|
async callLLM(prompt, input) {
|
|
184
185
|
let previousResponseId = input.previousResponseId;
|
|
185
186
|
const toolCalls = [];
|
|
187
|
+
const toolOutputs = input.toolOutputs || [];
|
|
186
188
|
const toolRegistry = createDefaultToolRegistry();
|
|
187
189
|
const toolContext = this.buildToolContext(input);
|
|
188
190
|
if (!this.provider) {
|
|
@@ -200,10 +202,12 @@ export class CoderAgent extends Agent {
|
|
|
200
202
|
toolChoice: 'auto',
|
|
201
203
|
maxToolCalls: 1,
|
|
202
204
|
instructions,
|
|
205
|
+
toolOutputs,
|
|
203
206
|
onToolCall: (event) => {
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
+
toolCalls.push(event);
|
|
208
|
+
},
|
|
209
|
+
onToolOutput: (event) => {
|
|
210
|
+
toolOutputs.push(event);
|
|
207
211
|
},
|
|
208
212
|
onTextResponse: (text) => {
|
|
209
213
|
this.logger.info(text + '\n');
|
|
@@ -219,7 +223,7 @@ export class CoderAgent extends Agent {
|
|
|
219
223
|
taskId: input.task.id,
|
|
220
224
|
metadata: { type: 'llm_response' },
|
|
221
225
|
});
|
|
222
|
-
return { previousResponseId, response, toolCalls };
|
|
226
|
+
return { previousResponseId, response, toolCalls, toolOutputs };
|
|
223
227
|
}
|
|
224
228
|
buildToolContext(input) {
|
|
225
229
|
const rootPath = input.projectContext?.root ||
|
package/dist/coder/coder.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coder.js","sourceRoot":"","sources":["../../src/coder/coder.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B;;;GAGG;AAIH,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAEtE,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD,OAAO,EAAE,UAAU,EAAiB,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"coder.js","sourceRoot":"","sources":["../../src/coder/coder.ts"],"names":[],"mappings":"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"}
|