@omaikit/agents 0.1.4 → 0.1.6

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 (45) hide show
  1. package/dist/ai-provider/openai.d.ts.map +1 -1
  2. package/dist/ai-provider/openai.js +55 -67
  3. package/dist/ai-provider/openai.js.map +1 -1
  4. package/dist/ai-provider/provider.d.ts +10 -1
  5. package/dist/ai-provider/provider.d.ts.map +1 -1
  6. package/dist/coder/coder.d.ts +3 -1
  7. package/dist/coder/coder.d.ts.map +1 -1
  8. package/dist/coder/coder.js +25 -49
  9. package/dist/coder/coder.js.map +1 -1
  10. package/dist/coder/prompt-templates.d.ts +2 -1
  11. package/dist/coder/prompt-templates.d.ts.map +1 -1
  12. package/dist/coder/prompt-templates.js +19 -12
  13. package/dist/coder/prompt-templates.js.map +1 -1
  14. package/dist/manager/manager.d.ts.map +1 -1
  15. package/dist/manager/manager.js +4 -20
  16. package/dist/manager/manager.js.map +1 -1
  17. package/dist/planner/planner.d.ts.map +1 -1
  18. package/dist/planner/planner.js +5 -1
  19. package/dist/planner/planner.js.map +1 -1
  20. package/dist/planner/prompt-templates.d.ts +1 -0
  21. package/dist/planner/prompt-templates.d.ts.map +1 -1
  22. package/dist/planner/prompt-templates.js +4 -0
  23. package/dist/planner/prompt-templates.js.map +1 -1
  24. package/dist/utils/context-writer.d.ts +2 -2
  25. package/dist/utils/context-writer.d.ts.map +1 -1
  26. package/dist/utils/context-writer.js +1 -2
  27. package/dist/utils/context-writer.js.map +1 -1
  28. package/dist/utils/index.d.ts +2 -0
  29. package/dist/utils/index.d.ts.map +1 -1
  30. package/dist/utils/index.js +33 -0
  31. package/dist/utils/index.js.map +1 -1
  32. package/package.json +1 -1
  33. package/prompts/coder/instructions.md +42 -0
  34. package/prompts/coder/task.md +8 -54
  35. package/prompts/manager/context.md +1 -10
  36. package/prompts/manager/instructions.md +12 -0
  37. package/prompts/planner/instructions.md +74 -0
  38. package/prompts/planner/plan-milestones.md +14 -57
  39. package/prompts/planner/tasks.md +14 -73
  40. package/prompts/planner/clarification.md +0 -12
  41. package/prompts/planner/clarification.questions.md +0 -10
  42. package/prompts/planner/optimize.md +0 -75
  43. package/prompts/planner/repair.md +0 -6
  44. package/prompts/planner/summary.md +0 -22
  45. package/prompts/planner/system.md +0 -4
@@ -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;IAoEzE,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;IAoD9B,OAAO,CAAC,gBAAgB;CAkCzB"}
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,62 +20,59 @@ 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
- return `OPENAI_ECHO:\n${prompt}`;
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;
31
31
  const temperature = options?.temperature || undefined;
32
32
  const tools = this.resolveTools(options);
33
33
  const maxToolCalls = options?.maxToolCalls ?? 3;
34
- let previousResponseId = null;
34
+ let response = undefined;
35
+ let previousResponseId = options?.previousResponseId;
35
36
  let input = [{ role: 'user', content: prompt }];
36
- let lastContent = '';
37
- for (let i = 0; i <= maxToolCalls; i += 1) {
38
- const response = await this.client.responses.create({
37
+ for (const toolOutput of options?.toolOutputs || []) {
38
+ input.push(toolOutput);
39
+ }
40
+ for (let i = 0; i <= maxToolCalls; i++) {
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 ? this.formatToolsForResponses(tools, model) : undefined,
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,
51
+ instructions: options?.instructions || undefined,
46
52
  });
47
- previousResponseId = response.id;
48
- const outputText = response.output_text;
49
- if (outputText && outputText.length > 0) {
50
- lastContent = outputText;
51
- }
52
- else {
53
- const output = response.output;
54
- const collected = (output || [])
55
- .flatMap((item) => item.content || [])
56
- .filter((item) => item.type === 'output_text' || item.type === 'text')
57
- .map((item) => item.text || '')
58
- .join('');
59
- if (collected) {
60
- lastContent = collected;
61
- }
62
- }
63
- if (lastContent && options?.onTextResponse) {
64
- options.onTextResponse(lastContent);
53
+ const output = response.output;
54
+ if (options?.onTextResponse) {
55
+ output
56
+ .filter((item) => item.type === 'message')
57
+ .forEach((item) => {
58
+ const content = item?.content.find((x) => x.type == 'output_text')?.text || ' ';
59
+ options.onTextResponse?.(content);
60
+ });
65
61
  }
66
62
  const toolCalls = this.extractToolCalls(response);
67
- if (toolCalls.length === 0) {
68
- continue;
69
- }
70
- if (!options?.toolRegistry) {
63
+ if (toolCalls.length > 0 && !options?.toolRegistry) {
71
64
  throw new Error('Tool calls requested but no tool registry provided');
72
65
  }
73
- // console.log(toolCalls);
74
- const toolOutputs = await this.processToolCalls(toolCalls, options);
75
- // console.log(toolOutputs);
76
- input = [{ role: 'user', content: prompt }, ...toolOutputs];
66
+ if (toolCalls.length > 0) {
67
+ const toolOutputs = await this.processToolCalls(toolCalls, options, previousResponseId !== undefined);
68
+ input = toolOutputs;
69
+ }
70
+ previousResponseId = response.id;
71
+ }
72
+ if (response && options?.onResponse) {
73
+ await options.onResponse(response);
77
74
  }
78
- return lastContent;
75
+ return response ? response.output_text : '';
79
76
  }
80
77
  formatToolsForResponses(tools, model) {
81
78
  return tools
@@ -116,57 +113,48 @@ export class OpenAIProvider {
116
113
  }
117
114
  return [];
118
115
  }
119
- async processToolCalls(toolCalls, options) {
116
+ async processToolCalls(toolCalls, options, _hasPreviousResponseId) {
120
117
  if (!options?.toolRegistry) {
121
118
  throw new Error('Tool calls requested but no tool registry provided');
122
119
  }
123
- const toolOutputs = [];
120
+ const arr = [];
124
121
  for (const toolCall of toolCalls) {
122
+ if (options?.onToolCall) {
123
+ options.onToolCall(toolCall);
124
+ }
125
+ // if (_hasPreviousResponseId) arr.push(toolCall);
125
126
  let type = 'function_call_output';
126
127
  let args = parseToolArgs(toolCall.arguments);
127
- if (toolCall.name === 'apply_patch_call') {
128
+ if (toolCall.type === 'apply_patch_call') {
128
129
  type = 'apply_patch_call_output';
129
- args = toolCall.arguments;
130
- }
131
- const result = await options.toolRegistry.call(toolCall.name, args, options.toolContext ?? {});
132
- if (options?.onToolCall) {
133
- options.onToolCall(toolCall);
130
+ args = toolCall.operation;
134
131
  }
135
- toolOutputs.push({
132
+ const result = await options.toolRegistry.call(toolCall.name || toolCall.type, args, options.toolContext ?? {});
133
+ const output = {
136
134
  type,
137
135
  call_id: toolCall.call_id,
138
136
  output: JSON.stringify(result),
139
137
  status: 'completed',
140
- });
138
+ };
139
+ if (options?.onToolOutput) {
140
+ options.onToolOutput(output);
141
+ }
142
+ arr.push(output);
141
143
  }
142
- return toolOutputs;
144
+ return arr;
143
145
  }
144
146
  extractToolCalls(response) {
145
147
  const toolCalls = [];
146
- const output = response?.output;
148
+ const output = response.output;
147
149
  if (!output) {
148
150
  return toolCalls;
149
151
  }
150
152
  for (const item of output) {
151
- switch (item?.type) {
152
- case 'function_call':
153
- toolCalls.push({
154
- id: item.id || `tool_${toolCalls.length + 1}`,
155
- name: item.name,
156
- arguments: item.arguments || '{}',
157
- call_id: item.call_id || `call_${toolCalls.length + 1}`,
158
- });
159
- break;
160
- case 'apply_patch_call':
161
- toolCalls.push({
162
- id: item.id || `tool_${toolCalls.length + 1}`,
163
- name: 'apply_patch_call',
164
- arguments: item.operation || {},
165
- call_id: item.call_id || `call_${toolCalls.length + 1}`,
166
- });
167
- break;
168
- default:
169
- break;
153
+ if (item?.type === 'function_call') {
154
+ toolCalls.push(item);
155
+ }
156
+ else if (item?.type === 'apply_patch_call') {
157
+ toolCalls.push(item);
170
158
  }
171
159
  }
172
160
  return toolCalls;
@@ -1 +1 @@
1
- {"version":3,"file":"openai.js","sourceRoot":"","sources":["../../src/ai-provider/openai.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openai.js","sourceRoot":"","sources":["../../src/ai-provider/openai.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,14 @@
1
1
  import { ToolDefinition, ToolContext } from '../tools/types.js';
2
2
  import { ToolRegistry } from '../tools/registry.js';
3
+ import OpenAI from 'openai';
3
4
  export interface ToolCall {
4
5
  id: string;
5
6
  name: string;
6
- arguments: Record<string, unknown> | string;
7
+ arguments?: Record<string, unknown> | string;
8
+ operation?: Record<string, unknown>;
7
9
  call_id: string;
10
+ status: string;
11
+ type: string;
8
12
  }
9
13
  export interface AIProviderOptions {
10
14
  model?: string;
@@ -13,7 +17,9 @@ export interface AIProviderOptions {
13
17
  temperature?: number;
14
18
  onProgress?: (chunk: string) => void;
15
19
  onToolCall?: (event: ToolCall) => void;
20
+ onToolOutput?: (event: any) => void;
16
21
  onTextResponse?: (text: string) => void;
22
+ onResponse?: (response: OpenAI.Responses.Response) => Promise<void>;
17
23
  tools?: ToolDefinition[];
18
24
  toolRegistry?: ToolRegistry;
19
25
  toolContext?: ToolContext;
@@ -21,6 +27,9 @@ export interface AIProviderOptions {
21
27
  name: string;
22
28
  };
23
29
  maxToolCalls?: number;
30
+ instructions?: string;
31
+ previousResponseId?: string;
32
+ toolOutputs?: Array<any>;
24
33
  }
25
34
  export interface AIProvider {
26
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;AAEjD,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;IAC5C,OAAO,EAAE,MAAM,CAAC;CACjB;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,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,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;CACvB;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"}
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"}
@@ -11,6 +11,7 @@ export interface CoderAgentInput extends AgentInput {
11
11
  projectContext: any;
12
12
  plan: any;
13
13
  force?: boolean;
14
+ previousResponseId?: string;
14
15
  }
15
16
  export interface CoderAgentOutput extends AgentOutput {
16
17
  result: CodeGeneration;
@@ -26,6 +27,8 @@ export interface CoderAgentOutput extends AgentOutput {
26
27
  output: number;
27
28
  total: number;
28
29
  };
30
+ previousResponseId?: string;
31
+ toolOutputs?: Array<any>;
29
32
  };
30
33
  }
31
34
  export declare class CoderAgent extends Agent {
@@ -56,7 +59,6 @@ export declare class CoderAgent extends Agent {
56
59
  * Call LLM to generate code
57
60
  */
58
61
  private callLLM;
59
- private buildReuseSection;
60
62
  private buildToolContext;
61
63
  }
62
64
  //# sourceMappingURL=coder.d.ts.map
@@ -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;CACjB;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;KACH,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;IAyEhE;;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;IAiDrB,OAAO,CAAC,iBAAiB;IA6BzB,OAAO,CAAC,gBAAgB;CAazB"}
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"}
@@ -53,20 +53,18 @@ export class CoderAgent extends Agent {
53
53
  },
54
54
  };
55
55
  try {
56
+ if (!this.provider) {
57
+ await this.init();
58
+ }
56
59
  await this.beforeExecute(input);
57
60
  // Validate input
58
61
  this.validateInput(input);
59
62
  // Generate prompt
60
- const prompt = await this.promptTemplates.generatePrompt(input.task, input.projectContext, input.plan);
61
- const finalPrompt = [
62
- prompt
63
- ]
64
- .filter(Boolean)
65
- .join('\n\n');
66
- output.result.prompt = finalPrompt;
67
- const { toolCalls } = await this.callLLM(finalPrompt, input);
68
- output.result.files = toolCalls.map((call) => {
69
- const args = call.arguments;
63
+ const prompt = await this.promptTemplates.generatePrompt(input.task);
64
+ const { previousResponseId, toolCalls, toolOutputs } = await this.callLLM(prompt, input);
65
+ output.result.prompt = prompt;
66
+ output.result.files = toolCalls.filter((call) => call.type === 'apply_patch_call').map((call) => {
67
+ const args = call.operation;
70
68
  return {
71
69
  path: args.path || 'unknown',
72
70
  content: String(args.diff || ''),
@@ -76,6 +74,8 @@ export class CoderAgent extends Agent {
76
74
  generatedAt: new Date().toISOString(),
77
75
  model: this.cfg.coderModel,
78
76
  };
77
+ output.metadata.previousResponseId = previousResponseId;
78
+ output.metadata.toolOutputs = toolOutputs;
79
79
  await this.afterExecute(output);
80
80
  }
81
81
  catch (error) {
@@ -182,16 +182,17 @@ export class CoderAgent extends Agent {
182
182
  * Call LLM to generate code
183
183
  */
184
184
  async callLLM(prompt, input) {
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
- if (!this.provider) {
189
- await this.init();
190
- }
191
190
  if (!this.provider) {
192
191
  throw new Error('AI provider does not support Codex responses API');
193
192
  }
193
+ const instructions = this.promptTemplates.getInstructions(input.projectContext, input.plan);
194
194
  const response = await this.provider.generate(prompt, {
195
+ previousResponseId,
195
196
  model: this.cfg.coderModel,
196
197
  maxTokens: undefined,
197
198
  temperature: undefined,
@@ -199,19 +200,22 @@ export class CoderAgent extends Agent {
199
200
  toolRegistry,
200
201
  toolContext,
201
202
  toolChoice: 'auto',
202
- maxToolCalls: 8,
203
+ maxToolCalls: 1,
204
+ instructions,
205
+ toolOutputs,
203
206
  onToolCall: (event) => {
204
- if (event.name === 'apply_patch_call') {
205
- toolCalls.push(event);
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');
210
214
  },
215
+ onResponse: async (resp) => {
216
+ previousResponseId = resp.id;
217
+ }
211
218
  });
212
- if (typeof response !== 'string') {
213
- return { response: JSON.stringify(response ?? ''), toolCalls };
214
- }
215
219
  this.memoryStore.append(this.name, {
216
220
  timestamp: new Date().toISOString(),
217
221
  prompt,
@@ -219,35 +223,7 @@ export class CoderAgent extends Agent {
219
223
  taskId: input.task.id,
220
224
  metadata: { type: 'llm_response' },
221
225
  });
222
- return { response, toolCalls };
223
- }
224
- buildReuseSection(input) {
225
- const rawSources = [
226
- input.plan?.reuseOpportunities,
227
- input.projectContext?.reuseOpportunities,
228
- input.projectContext?.analysis?.reuseOpportunities,
229
- input.projectContext?.analysis?.reuseSuggestions,
230
- ];
231
- const items = rawSources.flatMap((value) => (Array.isArray(value) ? value : []));
232
- const normalized = items
233
- .map((item) => {
234
- if (typeof item === 'string')
235
- return item.trim();
236
- if (item && typeof item === 'object') {
237
- const description = item.description || item.summary;
238
- const moduleName = item.module || item.moduleName;
239
- if (description)
240
- return String(description).trim();
241
- if (moduleName)
242
- return `Consider reusing module: ${String(moduleName).trim()}`;
243
- }
244
- return '';
245
- })
246
- .filter((item) => item.length > 0);
247
- if (normalized.length === 0) {
248
- return null;
249
- }
250
- return normalized.map((item) => `- ${item}`).join('\n');
226
+ return { previousResponseId, response, toolCalls, toolOutputs };
251
227
  }
252
228
  buildToolContext(input) {
253
229
  const rootPath = input.projectContext?.root ||
@@ -1 +1 @@
1
- {"version":3,"file":"coder.js","sourceRoot":"","sources":["../../src/coder/coder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"coder.js","sourceRoot":"","sources":["../../src/coder/coder.ts"],"names":[],"mappings":"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"}
@@ -6,8 +6,9 @@ export declare class PromptTemplates {
6
6
  /**
7
7
  * Generate a prompt for code generation
8
8
  */
9
- generatePrompt(task: Task, projectContext: any, plan: any): Promise<string>;
9
+ generatePrompt(task: Task): Promise<string>;
10
10
  private formatContextSummary;
11
11
  private formatRiskFactors;
12
+ getInstructions(projectContext: any, plan: any): string;
12
13
  }
13
14
  //# sourceMappingURL=prompt-templates.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-templates.d.ts","sourceRoot":"","sources":["../../src/coder/prompt-templates.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAG5C,qBAAa,eAAe;IAC1B;;OAEG;IACG,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;IAcjF,OAAO,CAAC,oBAAoB;IA6B5B,OAAO,CAAC,iBAAiB;CAQ1B"}
1
+ {"version":3,"file":"prompt-templates.d.ts","sourceRoot":"","sources":["../../src/coder/prompt-templates.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAG5C,qBAAa,eAAe;IAC1B;;OAEG;IACG,cAAc,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;IAmBjD,OAAO,CAAC,oBAAoB;IAwB5B,OAAO,CAAC,iBAAiB;IAezB,eAAe,CAAC,cAAc,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,GAAG,MAAM;CAIxD"}
@@ -6,19 +6,25 @@ export class PromptTemplates {
6
6
  /**
7
7
  * Generate a prompt for code generation
8
8
  */
9
- async generatePrompt(task, projectContext, plan) {
10
- const contextSummary = this.formatContextSummary(projectContext, plan, task);
9
+ async generatePrompt(task) {
11
10
  const acceptanceCriteria = task.acceptanceCriteria.map((c) => `- ${c}`).join('\n');
11
+ const otherDetails = [
12
+ `- Target Module: ${task.targetModule || 'unknown'}`,
13
+ `- Affected Modules: ${Array.isArray(task.inputDependencies) ? task.inputDependencies.join(', ') : 'unknown'}`,
14
+ `- Suggested Approach: ${task.suggestedApproach || 'none'}`,
15
+ `- Technical Notes: ${task.technicalNotes || 'none'}`,
16
+ `- Risk Factors: ${this.formatRiskFactors(task.riskFactors)}`,
17
+ ].join('\n');
12
18
  return readPrompt('coder.task', {
13
19
  taskTitle: task.title,
14
20
  taskDescription: task.description,
15
21
  taskType: task.type,
16
22
  taskEffort: String(task.estimatedEffort),
17
23
  acceptanceCriteria,
18
- contextSummary,
24
+ otherDetails,
19
25
  });
20
26
  }
21
- formatContextSummary(projectContext, plan, task) {
27
+ formatContextSummary(projectContext, plan) {
22
28
  const project = projectContext?.project ?? projectContext;
23
29
  const analysis = projectContext?.analysis ?? {};
24
30
  const name = project?.name || 'Unknown project';
@@ -37,21 +43,22 @@ export class PromptTemplates {
37
43
  description,
38
44
  planTitle,
39
45
  `Languages: ${languages}`,
40
- `Dependencies (sample): ${dependencies}`,
41
- `Target Module: ${task.targetModule || 'unknown'}`,
42
- `Affected Modules: ${Array.isArray(task.inputDependencies) ? task.inputDependencies.join(', ') : 'unknown'}`,
43
- `Suggested Approach: ${task.suggestedApproach || 'none'}`,
44
- `Technical Notes: ${task.technicalNotes || 'none'}`,
45
- `Risk Factors: ${this.formatRiskFactors(task.riskFactors)}`,
46
+ `Dependencies (sample): ${dependencies}`
46
47
  ].join('\n');
47
48
  }
48
49
  formatRiskFactors(riskFactors) {
49
50
  if (!riskFactors || riskFactors.length === 0) {
50
51
  return 'None';
51
52
  }
52
- return riskFactors.map((rf, idx) => {
53
+ return riskFactors
54
+ .map((rf, idx) => {
53
55
  return `\n${idx + 1}. Description: ${rf.description}\n Likelihood: ${rf.likelihood}\n Impact: ${rf.impact}\n Mitigation: ${rf.mitigation}`;
54
- }).join('\n');
56
+ })
57
+ .join('\n');
58
+ }
59
+ getInstructions(projectContext, plan) {
60
+ const contextSummary = this.formatContextSummary(projectContext, plan);
61
+ return readPrompt('coder.instructions', { contextSummary });
55
62
  }
56
63
  }
57
64
  //# sourceMappingURL=prompt-templates.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-templates.js","sourceRoot":"","sources":["../../src/coder/prompt-templates.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompt-templates.js","sourceRoot":"","sources":["../../src/coder/prompt-templates.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/manager/manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAWjD,MAAM,WAAW,iBAAkB,SAAQ,UAAU;IACnD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC;CACrC;AAED,qBAAa,YAAa,SAAQ,KAAK;IAC9B,IAAI,SAAa;IAExB,OAAO,CAAC,YAAY,CAAe;IACnC,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,QAAQ,IAAI,YAAY;IAIxB,cAAc,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,WAAW;IAQxC,OAAO,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC;IAmCvD,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAa7D,uBAAuB;YAMvB,eAAe;IA2C7B,OAAO,CAAC,kBAAkB;IAK1B,OAAO,CAAC,gBAAgB;YAIV,gBAAgB;IAa9B,OAAO,CAAC,SAAS;CAGlB"}
1
+ {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/manager/manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAWjD,MAAM,WAAW,iBAAkB,SAAQ,UAAU;IACnD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC;CACrC;AAED,qBAAa,YAAa,SAAQ,KAAK;IAC9B,IAAI,SAAa;IAExB,OAAO,CAAC,YAAY,CAAe;IACnC,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,QAAQ,IAAI,YAAY;IAIxB,cAAc,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,WAAW;IAQxC,OAAO,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC;IAoCvD,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAa7D,uBAAuB;YAMvB,eAAe;IAyB7B,OAAO,CAAC,kBAAkB;IAK1B,OAAO,CAAC,gBAAgB;YAIV,gBAAgB;IAa9B,OAAO,CAAC,SAAS;CAGlB"}
@@ -58,7 +58,6 @@ export class ManagerAgent extends Agent {
58
58
  }
59
59
  const context = await this.generateContext(rootPath, input.description);
60
60
  const filePath = await this.writeContextFile(rootPath, context);
61
- await this.memoryStore.clear(this.name);
62
61
  return {
63
62
  status: 'success',
64
63
  data: { contextPath: filePath, context },
@@ -91,12 +90,8 @@ export class ManagerAgent extends Agent {
91
90
  throw new Error('Manager not initialized');
92
91
  }
93
92
  const toolContext = this.getToolContext(rootPath);
94
- const basePrompt = this.buildContextPrompt(rootPath, description);
95
- const recentMemory = await this.memoryStore.readRecent(this.name, 3);
96
- const memoryContext = this.memoryStore.formatRecent(recentMemory);
97
- const prompt = memoryContext
98
- ? `${basePrompt}\n\n## Recent Agent Memory\n${memoryContext}`
99
- : basePrompt;
93
+ const prompt = this.buildContextPrompt(rootPath, description);
94
+ const instructions = readPrompt('manager.instructions');
100
95
  const response = await this.provider.generate(prompt, {
101
96
  model: this.cfg.managerModel,
102
97
  tools: this.toolRegistry.getDefinitions(),
@@ -104,23 +99,12 @@ export class ManagerAgent extends Agent {
104
99
  toolContext,
105
100
  toolChoice: 'auto',
106
101
  maxToolCalls: 3,
102
+ instructions,
107
103
  });
108
- await this.memoryStore.append(this.name, {
109
- timestamp: new Date().toISOString(),
110
- prompt,
111
- response: typeof response === 'string' ? response : String(response),
112
- metadata: { rootPath },
113
- });
114
- if (typeof response !== 'string') {
115
- throw new Error('AI provider returned non-text response');
116
- }
117
- if (response.startsWith('OPENAI_ECHO') || response.startsWith('ANTHROPIC_ECHO')) {
118
- throw new Error('AI provider not configured');
119
- }
120
104
  return this.parseContextJson(response);
121
105
  }
122
106
  buildContextPrompt(rootPath, description) {
123
- const descriptionLine = description ? `User request: ${description}` : 'User request: (none)';
107
+ const descriptionLine = description ? `Client request: ${description}` : 'Client request: (none)';
124
108
  return readPrompt('manager.context', { descriptionLine, rootPath });
125
109
  }
126
110
  parseContextJson(response) {