@mtkn/mega-agent 0.1.1 → 0.3.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.
Files changed (101) hide show
  1. package/README.md +150 -7
  2. package/dist/artifact/artifact.repository.d.ts +2 -1
  3. package/dist/artifact/artifact.repository.d.ts.map +1 -1
  4. package/dist/artifact/artifact.repository.js +1 -1
  5. package/dist/artifact/artifact.repository.js.map +1 -1
  6. package/dist/artifact/artifact.service.d.ts +3 -2
  7. package/dist/artifact/artifact.service.d.ts.map +1 -1
  8. package/dist/artifact/artifact.service.js.map +1 -1
  9. package/dist/artifact/artifact.types.d.ts +2 -1
  10. package/dist/artifact/artifact.types.d.ts.map +1 -1
  11. package/dist/artifact/artifact.types.js.map +1 -1
  12. package/dist/chat/chat-memory.integration.d.ts +3 -2
  13. package/dist/chat/chat-memory.integration.d.ts.map +1 -1
  14. package/dist/chat/chat-memory.integration.js.map +1 -1
  15. package/dist/chat/chat.repository.d.ts +2 -1
  16. package/dist/chat/chat.repository.d.ts.map +1 -1
  17. package/dist/chat/chat.repository.js +1 -1
  18. package/dist/chat/chat.repository.js.map +1 -1
  19. package/dist/chat/chat.service.d.ts +4 -2
  20. package/dist/chat/chat.service.d.ts.map +1 -1
  21. package/dist/chat/chat.service.js +127 -40
  22. package/dist/chat/chat.service.js.map +1 -1
  23. package/dist/chat/chat.types.d.ts +7 -7
  24. package/dist/chat/chat.types.d.ts.map +1 -1
  25. package/dist/chat/chat.types.js.map +1 -1
  26. package/dist/chat/pending-approval.store.d.ts +19 -0
  27. package/dist/chat/pending-approval.store.d.ts.map +1 -0
  28. package/dist/chat/pending-approval.store.js +41 -0
  29. package/dist/chat/pending-approval.store.js.map +1 -0
  30. package/dist/chat/prompts/system.prompts.d.ts.map +1 -1
  31. package/dist/chat/prompts/system.prompts.js +9 -6
  32. package/dist/chat/prompts/system.prompts.js.map +1 -1
  33. package/dist/common/errors.d.ts +3 -0
  34. package/dist/common/errors.d.ts.map +1 -1
  35. package/dist/common/errors.js +6 -0
  36. package/dist/common/errors.js.map +1 -1
  37. package/dist/http/chat.controller.d.ts +1 -1
  38. package/dist/http/chat.controller.d.ts.map +1 -1
  39. package/dist/http/chat.controller.js +15 -3
  40. package/dist/http/chat.controller.js.map +1 -1
  41. package/dist/http/chat.routes.d.ts.map +1 -1
  42. package/dist/http/chat.routes.js +3 -3
  43. package/dist/http/chat.routes.js.map +1 -1
  44. package/dist/http/chat.validation.d.ts +14 -0
  45. package/dist/http/chat.validation.d.ts.map +1 -1
  46. package/dist/http/chat.validation.js +6 -0
  47. package/dist/http/chat.validation.js.map +1 -1
  48. package/dist/incident/incident.correlator.d.ts +3 -2
  49. package/dist/incident/incident.correlator.d.ts.map +1 -1
  50. package/dist/incident/incident.correlator.js.map +1 -1
  51. package/dist/incident/incident.repository.d.ts +5 -4
  52. package/dist/incident/incident.repository.d.ts.map +1 -1
  53. package/dist/incident/incident.repository.js +6 -6
  54. package/dist/incident/incident.repository.js.map +1 -1
  55. package/dist/incident/incident.service.d.ts +3 -2
  56. package/dist/incident/incident.service.d.ts.map +1 -1
  57. package/dist/incident/incident.service.js.map +1 -1
  58. package/dist/incident/incident.types.d.ts +3 -2
  59. package/dist/incident/incident.types.d.ts.map +1 -1
  60. package/dist/index.d.ts +1 -0
  61. package/dist/index.d.ts.map +1 -1
  62. package/dist/index.js.map +1 -1
  63. package/dist/mcp/source.repository.d.ts +5 -4
  64. package/dist/mcp/source.repository.d.ts.map +1 -1
  65. package/dist/mcp/source.repository.js +3 -3
  66. package/dist/mcp/source.repository.js.map +1 -1
  67. package/dist/mcp/source.service.d.ts +3 -2
  68. package/dist/mcp/source.service.d.ts.map +1 -1
  69. package/dist/mcp/source.service.js.map +1 -1
  70. package/dist/memory/memory.repository.d.ts +3 -2
  71. package/dist/memory/memory.repository.d.ts.map +1 -1
  72. package/dist/memory/memory.repository.js +4 -4
  73. package/dist/memory/memory.repository.js.map +1 -1
  74. package/dist/memory/memory.service.d.ts +3 -2
  75. package/dist/memory/memory.service.d.ts.map +1 -1
  76. package/dist/memory/memory.service.js +2 -2
  77. package/dist/memory/memory.service.js.map +1 -1
  78. package/dist/memory/memory.types.d.ts +4 -3
  79. package/dist/memory/memory.types.d.ts.map +1 -1
  80. package/dist/memory/memory.types.js.map +1 -1
  81. package/dist/tools/tool-registry.d.ts +3 -2
  82. package/dist/tools/tool-registry.d.ts.map +1 -1
  83. package/dist/tools/tool-registry.js.map +1 -1
  84. package/dist/types/id.types.d.ts +7 -0
  85. package/dist/types/id.types.d.ts.map +1 -0
  86. package/dist/types/id.types.js +2 -0
  87. package/dist/types/id.types.js.map +1 -0
  88. package/dist/types/index.d.ts +2 -0
  89. package/dist/types/index.d.ts.map +1 -0
  90. package/dist/types/index.js +2 -0
  91. package/dist/types/index.js.map +1 -0
  92. package/dist/workflow/workflow.repository.js.map +1 -1
  93. package/dist/workflow/workflow.service.d.ts.map +1 -1
  94. package/dist/workflow/workflow.service.js +7 -6
  95. package/dist/workflow/workflow.service.js.map +1 -1
  96. package/dist/workflow/workflow.types.d.ts +4 -2
  97. package/dist/workflow/workflow.types.d.ts.map +1 -1
  98. package/dist/workflow/workflow.types.js.map +1 -1
  99. package/package.json +1 -3
  100. package/prisma/schema.prisma +9 -1
  101. package/scripts/prisma-sync.mjs +216 -13
@@ -7,6 +7,8 @@ import { ChatMemoryIntegration, getChatMemoryIntegrationDeps } from './chat-memo
7
7
  import { MemoryDetector } from './memory-detector.js';
8
8
  import { ResponseParser } from './response-parser.js';
9
9
  import { getAllTools, executeTool, requiresApproval, toAnthropicTools } from '../tools/index.js';
10
+ import { pendingApprovalStore } from './pending-approval.store.js';
11
+ import { ApprovalNotFoundError } from '../common/errors.js';
10
12
  let _deps = null;
11
13
  export function initChatService(deps) { _deps = deps; initChatRepository(deps); }
12
14
  export function getChatServiceDeps() { return _deps; }
@@ -65,7 +67,7 @@ export class ChatService {
65
67
  const toolsCalled = [];
66
68
  let finalContent = '';
67
69
  let totalTokens = { prompt: 0, completion: 0, total: 0 };
68
- // ── Loop ─────────────────────────────────────────────────────
70
+ // ── Loop (handles multiple tool calls per iteration) ────────
69
71
  for (let i = 0; i < ChatService.MAX_AGENT_ITERATIONS; i++) {
70
72
  const res = await this.llmService.complete({
71
73
  messages: llmMessages,
@@ -81,38 +83,63 @@ export class ChatService {
81
83
  finalContent = res.content;
82
84
  break;
83
85
  }
84
- const tc = res.toolCalls[0];
85
- // WRITE tool needs approval
86
- if (requiresApproval(tc.name)) {
87
- const tool = getAllTools().find(t => t.name === tc.name);
88
- const approvalMsg = await this.repository.addMessage(dto.chatId, 'ASSISTANT', `I want to execute **${tc.name}**: \`\`\`json\n${JSON.stringify(tc.input, null, 2)}\n\`\`\`\nPlease confirm or reject.`);
86
+ const toolCalls = res.toolCalls;
87
+ const firstWriteIndex = toolCalls.findIndex(tc => requiresApproval(tc.name));
88
+ const autoExecuteCalls = firstWriteIndex === -1 ? toolCalls : toolCalls.slice(0, firstWriteIndex);
89
+ const writeToolCall = firstWriteIndex !== -1 ? toolCalls[firstWriteIndex] : null;
90
+ // Build assistant message with ALL tool_use blocks (Anthropic API requires matching tool_results)
91
+ const assistantBlocks = [
92
+ ...(res.content ? [{ type: 'text', text: res.content }] : []),
93
+ ...toolCalls.map(tc => ({ type: 'tool_use', id: tc.id, name: tc.name, input: tc.input })),
94
+ ];
95
+ llmMessages.push({ role: 'assistant', content: assistantBlocks });
96
+ // Execute all READ tools before the first WRITE
97
+ const resultBlocks = [];
98
+ for (const tc of autoExecuteCalls) {
99
+ this.logger.info('Auto-executing tool', { tool: tc.name, iter: i });
100
+ const tStart = Date.now();
101
+ const result = await executeTool(tc.name, tc.input, chat.userId);
102
+ toolsCalled.push({ name: tc.name, durationMs: Date.now() - tStart });
103
+ resultBlocks.push({
104
+ type: 'tool_result',
105
+ tool_use_id: tc.id,
106
+ content: JSON.stringify(result.success ? (result.data ?? null) : (result.error ?? 'Unknown tool error')),
107
+ is_error: !result.success,
108
+ });
109
+ }
110
+ // WRITE tool → add placeholder results and return approval
111
+ if (writeToolCall) {
112
+ resultBlocks.push({
113
+ type: 'tool_result',
114
+ tool_use_id: writeToolCall.id,
115
+ content: 'Awaiting user approval.',
116
+ });
117
+ for (const tc of toolCalls.slice(firstWriteIndex + 1)) {
118
+ resultBlocks.push({
119
+ type: 'tool_result',
120
+ tool_use_id: tc.id,
121
+ content: 'Skipped: preceding tool requires user approval.',
122
+ is_error: true,
123
+ });
124
+ }
125
+ llmMessages.push({ role: 'user', content: resultBlocks });
126
+ const tool = getAllTools().find(t => t.name === writeToolCall.name);
127
+ const approvalId = pendingApprovalStore.set({
128
+ chatId: dto.chatId, userId: chat.userId, toolName: writeToolCall.name,
129
+ toolArgs: writeToolCall.input, llmMessages,
130
+ });
131
+ const approvalMsg = await this.repository.addMessage(dto.chatId, 'ASSISTANT', `I want to execute **${writeToolCall.name}**: \`\`\`json\n${JSON.stringify(writeToolCall.input, null, 2)}\n\`\`\`\nPlease confirm or reject.`);
89
132
  return {
90
133
  message: userMessage, assistantMessage: approvalMsg, usedMemories: usedMemoryIds,
91
134
  tokens: totalTokens, latencyMs: Date.now() - startTime,
92
135
  pendingApproval: {
93
- id: `apv-${Date.now()}`, chatId: dto.chatId, toolName: tc.name,
94
- toolDescription: tool?.description || tc.name, arguments: tc.input,
95
- conversationState: JSON.stringify(llmMessages),
136
+ id: approvalId, chatId: dto.chatId, toolName: writeToolCall.name,
137
+ toolDescription: tool?.description || writeToolCall.name, arguments: writeToolCall.input,
96
138
  },
97
139
  };
98
140
  }
99
- // READ tool auto-execute
100
- this.logger.info('Auto-executing tool', { tool: tc.name, iter: i });
101
- const tStart = Date.now();
102
- const result = await executeTool(tc.name, tc.input, chat.userId);
103
- toolsCalled.push({ name: tc.name, durationMs: Date.now() - tStart });
104
- // Append tool_use + tool_result to conversation
105
- llmMessages.push({
106
- role: 'assistant',
107
- content: [
108
- ...(res.content ? [{ type: 'text', text: res.content }] : []),
109
- { type: 'tool_use', id: tc.id, name: tc.name, input: tc.input },
110
- ],
111
- });
112
- llmMessages.push({
113
- role: 'user',
114
- content: [{ type: 'tool_result', tool_use_id: tc.id, content: JSON.stringify(result.data ?? result.error) }],
115
- });
141
+ // All READ → push all tool_result blocks as single user message
142
+ llmMessages.push({ role: 'user', content: resultBlocks });
116
143
  }
117
144
  // Save final
118
145
  const assistantMessage = await this.repository.addMessage(dto.chatId, 'ASSISTANT', finalContent, {
@@ -131,45 +158,105 @@ export class ChatService {
131
158
  return { message: userMessage, assistantMessage, usedMemories: usedMemoryIds, tokens: totalTokens, latencyMs: Date.now() - startTime, structured };
132
159
  }
133
160
  // ── Approve pending tool call ──────────────────────────────────
134
- async approveToolCall(chatId, toolName, args, userId, conversationState) {
161
+ async approveToolCall(chatId, approvalId, userId) {
162
+ const approval = pendingApprovalStore.get(approvalId);
163
+ if (approval.chatId !== chatId)
164
+ throw new ApprovalNotFoundError(approvalId);
135
165
  const startTime = Date.now();
136
- const result = await executeTool(toolName, args, userId);
137
- this.logger.info('Approved tool executed', { tool: toolName, success: result.success });
166
+ const result = await executeTool(approval.toolName, approval.toolArgs, userId);
167
+ this.logger.info('Approved tool executed', { tool: approval.toolName, success: result.success });
138
168
  // Resume conversation with tool result
139
- const llmMessages = JSON.parse(conversationState);
169
+ const llmMessages = [...approval.llmMessages];
140
170
  const toolId = `tool-${Date.now()}`;
141
- llmMessages.push({ role: 'assistant', content: [{ type: 'tool_use', id: toolId, name: toolName, input: args }] });
142
- llmMessages.push({ role: 'user', content: [{ type: 'tool_result', tool_use_id: toolId, content: JSON.stringify(result.data ?? result.error) }] });
171
+ llmMessages.push({ role: 'assistant', content: [{ type: 'tool_use', id: toolId, name: approval.toolName, input: approval.toolArgs }] });
172
+ llmMessages.push({
173
+ role: 'user',
174
+ content: [{
175
+ type: 'tool_result',
176
+ tool_use_id: toolId,
177
+ content: JSON.stringify(result.success ? (result.data ?? null) : (result.error ?? 'Unknown tool error')),
178
+ is_error: !result.success,
179
+ }],
180
+ });
181
+ pendingApprovalStore.delete(approvalId);
143
182
  const chat = await this.repository.findByIdWithMessages(chatId, 3);
144
183
  const res = await this.llmService.complete({ messages: llmMessages, model: chat?.model, tools: toAnthropicTools() });
145
184
  const assistantMessage = await this.repository.addMessage(chatId, 'ASSISTANT', res.content, { model: res.model, tokens: res.tokens.total, latencyMs: res.latencyMs });
146
- const ctx = { memoriesUsed: [], toolsCalled: [{ name: toolName, durationMs: Date.now() - startTime }], modelUsed: res.model, tokens: res.tokens, latencyMs: Date.now() - startTime };
185
+ const ctx = { memoriesUsed: [], toolsCalled: [{ name: approval.toolName, durationMs: Date.now() - startTime }], modelUsed: res.model, tokens: res.tokens, latencyMs: Date.now() - startTime };
147
186
  const structured = ResponseParser.parse(res.content, ctx);
148
187
  return { message: assistantMessage, assistantMessage, usedMemories: [], tokens: res.tokens, latencyMs: Date.now() - startTime, structured };
149
188
  }
150
- // ── Stream (unchanged, no tools) ───────────────────────────────
189
+ rejectToolCall(approvalId) {
190
+ pendingApprovalStore.delete(approvalId);
191
+ }
192
+ // ── Stream (hybrid: non-streaming tool loop + streaming final response) ──
151
193
  async *streamMessage(dto) {
152
194
  const chat = await this.repository.findByIdWithMessages(dto.chatId, ChatService.MAX_CONTEXT_MESSAGES);
153
195
  if (!chat) {
154
- yield { type: 'error', error: `Chat not found` };
196
+ yield { type: 'error', error: 'Chat not found' };
155
197
  return;
156
198
  }
157
199
  await this.repository.addMessage(dto.chatId, 'USER', dto.content);
158
200
  const systemPrompt = buildSystemPrompt(chat.mode, { customPrompt: chat.systemPrompt ?? undefined });
159
- const msgs = [
201
+ const llmMessages = [
160
202
  { role: 'system', content: systemPrompt },
161
- ...chat.messages.map(m => ({ role: m.role.toLowerCase(), content: m.content })),
203
+ ...chat.messages.map((m) => ({
204
+ role: m.role.toLowerCase(),
205
+ content: m.content,
206
+ })),
162
207
  { role: 'user', content: dto.content },
163
208
  ];
164
- let full = '';
209
+ const tools = toAnthropicTools();
210
+ const model = dto.model || chat.model;
165
211
  try {
166
- for await (const chunk of this.llmService.stream({ messages: msgs, model: dto.model || chat.model, temperature: chat.temperature })) {
212
+ // ── Phase 1: Non-streaming tool execution loop ──────────────
213
+ if (tools.length > 0) {
214
+ for (let i = 0; i < ChatService.MAX_AGENT_ITERATIONS; i++) {
215
+ const res = await this.llmService.complete({
216
+ messages: llmMessages,
217
+ model,
218
+ temperature: chat.temperature,
219
+ tools,
220
+ });
221
+ // No tool calls → proceed to Phase 2
222
+ if (!res.toolCalls || res.toolCalls.length === 0)
223
+ break;
224
+ const toolCalls = res.toolCalls;
225
+ // WRITE tools incompatible with SSE approval workflow
226
+ if (toolCalls.some(tc => requiresApproval(tc.name))) {
227
+ yield { type: 'error', error: 'A write tool requires approval. Please use non-streaming mode for write tool support.' };
228
+ return;
229
+ }
230
+ // Build assistant message with all tool_use blocks
231
+ const assistantBlocks = [
232
+ ...(res.content ? [{ type: 'text', text: res.content }] : []),
233
+ ...toolCalls.map(tc => ({ type: 'tool_use', id: tc.id, name: tc.name, input: tc.input })),
234
+ ];
235
+ llmMessages.push({ role: 'assistant', content: assistantBlocks });
236
+ // Execute all READ tools, yield status for each
237
+ const resultBlocks = [];
238
+ for (const tc of toolCalls) {
239
+ yield { type: 'tool_status', toolName: tc.name, content: `Executing ${tc.name}...` };
240
+ const result = await executeTool(tc.name, tc.input, chat.userId);
241
+ resultBlocks.push({
242
+ type: 'tool_result',
243
+ tool_use_id: tc.id,
244
+ content: JSON.stringify(result.success ? (result.data ?? null) : (result.error ?? 'Unknown tool error')),
245
+ is_error: !result.success,
246
+ });
247
+ }
248
+ llmMessages.push({ role: 'user', content: resultBlocks });
249
+ }
250
+ }
251
+ // ── Phase 2: Stream the final response ──────────────────────
252
+ let full = '';
253
+ for await (const chunk of this.llmService.stream({ messages: llmMessages, model, temperature: chat.temperature })) {
167
254
  full += chunk.content;
168
255
  yield { type: 'content', content: chunk.content };
169
256
  if (chunk.done)
170
257
  break;
171
258
  }
172
- await this.repository.addMessage(dto.chatId, 'ASSISTANT', full, { model: dto.model || chat.model });
259
+ await this.repository.addMessage(dto.chatId, 'ASSISTANT', full, { model });
173
260
  yield { type: 'done' };
174
261
  }
175
262
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"chat.service.js","sourceRoot":"","sources":["../../src/chat/chat.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat.service.js","sourceRoot":"","sources":["../../src/chat/chat.service.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@
4
4
  */
5
5
  import { ChatMode, MessageRole } from '@prisma/client';
6
6
  import type { AiChat, AiChatMessage, AiMemory, MemoryType, Prisma, PrismaClient } from '@prisma/client';
7
+ import type { UserId } from '../types/index.js';
7
8
  export { ChatMode, MessageRole };
8
9
  export type { AiChat, AiChatMessage, AiMemory, MemoryType };
9
10
  export interface LoggerLike {
@@ -18,7 +19,7 @@ export interface LoggerLike {
18
19
  */
19
20
  export interface MemoryServiceLike {
20
21
  searchMemories(request: {
21
- userId: number;
22
+ userId: UserId;
22
23
  query: string;
23
24
  limit?: number;
24
25
  scoreThreshold?: number;
@@ -26,9 +27,9 @@ export interface MemoryServiceLike {
26
27
  memory: AiMemory;
27
28
  score: number;
28
29
  }>>;
29
- getRelevantMemoriesForContext(userId: number, query: string, maxMemories?: number): Promise<AiMemory[]>;
30
+ getRelevantMemoriesForContext(userId: UserId, query: string, maxMemories?: number): Promise<AiMemory[]>;
30
31
  suggestMemory(data: {
31
- userId: number;
32
+ userId: UserId;
32
33
  type: MemoryType;
33
34
  title: string;
34
35
  content: string;
@@ -90,7 +91,7 @@ export interface LLMServiceLike {
90
91
  }>;
91
92
  }
92
93
  export interface CreateChatDto {
93
- userId: number;
94
+ userId: UserId;
94
95
  workspaceId?: number;
95
96
  title?: string;
96
97
  mode?: ChatMode;
@@ -131,14 +132,13 @@ export interface PendingToolApproval {
131
132
  toolName: string;
132
133
  toolDescription: string;
133
134
  arguments: Record<string, unknown>;
134
- /** Remaining conversation state for resuming after approval */
135
- conversationState: string;
136
135
  }
137
136
  export interface ChatStreamChunk {
138
- type: 'content' | 'memory' | 'done' | 'error';
137
+ type: 'content' | 'memory' | 'done' | 'error' | 'tool_status';
139
138
  content?: string;
140
139
  memoryId?: string;
141
140
  error?: string;
141
+ toolName?: string;
142
142
  }
143
143
  export interface ChatContext {
144
144
  chat: AiChat;
@@ -1 +1 @@
1
- {"version":3,"file":"chat.types.d.ts","sourceRoot":"","sources":["../../src/chat/chat.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat.types.d.ts","sourceRoot":"","sources":["../../src/chat/chat.types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"chat.types.js","sourceRoot":"","sources":["../../src/chat/chat.types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGvD,yBAAyB;AACzB,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"chat.types.js","sourceRoot":"","sources":["../../src/chat/chat.types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAIvD,yBAAyB;AACzB,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC"}
@@ -0,0 +1,19 @@
1
+ import type { UserId } from '../types/index.js';
2
+ import type { LLMMessage } from '../llm/llm.types.js';
3
+ export interface PendingApproval {
4
+ id: string;
5
+ chatId: string;
6
+ userId: UserId;
7
+ toolName: string;
8
+ toolArgs: Record<string, unknown>;
9
+ llmMessages: LLMMessage[];
10
+ createdAt: number;
11
+ }
12
+ export declare const pendingApprovalStore: {
13
+ set(data: Omit<PendingApproval, "id" | "createdAt">): string;
14
+ get(id: string): PendingApproval;
15
+ delete(id: string): void;
16
+ /** Visible for testing */
17
+ clear(): void;
18
+ };
19
+ //# sourceMappingURL=pending-approval.store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pending-approval.store.d.ts","sourceRoot":"","sources":["../../src/chat/pending-approval.store.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAGtD,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;CACnB;AAOD,eAAO,MAAM,oBAAoB;cACrB,IAAI,CAAC,eAAe,EAAE,IAAI,GAAG,WAAW,CAAC,GAAG,MAAM;YAepD,MAAM,GAAG,eAAe;eAMrB,MAAM,GAAG,IAAI;IASxB,0BAA0B;aACjB,IAAI;CAKd,CAAC"}
@@ -0,0 +1,41 @@
1
+ import { randomUUID } from 'node:crypto';
2
+ import { ApprovalNotFoundError } from '../common/errors.js';
3
+ const DEFAULT_TTL_MS = 10 * 60 * 1000; // 10 minutes
4
+ const store = new Map();
5
+ const timers = new Map();
6
+ export const pendingApprovalStore = {
7
+ set(data) {
8
+ const id = randomUUID();
9
+ const approval = { ...data, id, createdAt: Date.now() };
10
+ store.set(id, approval);
11
+ const timer = setTimeout(() => {
12
+ store.delete(id);
13
+ timers.delete(id);
14
+ }, DEFAULT_TTL_MS);
15
+ timer.unref();
16
+ timers.set(id, timer);
17
+ return id;
18
+ },
19
+ get(id) {
20
+ const approval = store.get(id);
21
+ if (!approval)
22
+ throw new ApprovalNotFoundError(id);
23
+ return approval;
24
+ },
25
+ delete(id) {
26
+ store.delete(id);
27
+ const timer = timers.get(id);
28
+ if (timer) {
29
+ clearTimeout(timer);
30
+ timers.delete(id);
31
+ }
32
+ },
33
+ /** Visible for testing */
34
+ clear() {
35
+ for (const timer of timers.values())
36
+ clearTimeout(timer);
37
+ store.clear();
38
+ timers.clear();
39
+ },
40
+ };
41
+ //# sourceMappingURL=pending-approval.store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pending-approval.store.js","sourceRoot":"","sources":["../../src/chat/pending-approval.store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAY5D,MAAM,cAAc,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,aAAa;AAEpD,MAAM,KAAK,GAAG,IAAI,GAAG,EAA2B,CAAC;AACjD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAyC,CAAC;AAEhE,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,GAAG,CAAC,IAA+C;QACjD,MAAM,EAAE,GAAG,UAAU,EAAE,CAAC;QACxB,MAAM,QAAQ,GAAoB,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QACzE,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QAExB,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACjB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACpB,CAAC,EAAE,cAAc,CAAC,CAAC;QACnB,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAEtB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,GAAG,CAAC,EAAU;QACZ,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC/B,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,qBAAqB,CAAC,EAAE,CAAC,CAAC;QACnD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,EAAU;QACf,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACjB,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC7B,IAAI,KAAK,EAAE,CAAC;YACV,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IAED,0BAA0B;IAC1B,KAAK;QACH,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE;YAAE,YAAY,CAAC,KAAK,CAAC,CAAC;QACzD,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,MAAM,CAAC,KAAK,EAAE,CAAC;IACjB,CAAC;CACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"system.prompts.d.ts","sourceRoot":"","sources":["../../../src/chat/prompts/system.prompts.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAGjD,MAAM,WAAW,sBAAsB;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAqDD,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAgCjD,CAAC;AAEF;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,MAAM,CAS1F;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,KAAK,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,GACjD,MAAM,CAQR"}
1
+ {"version":3,"file":"system.prompts.d.ts","sourceRoot":"","sources":["../../../src/chat/prompts/system.prompts.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAGjD,MAAM,WAAW,sBAAsB;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AA0DD,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAgCjD,CAAC;AAEF;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,MAAM,CAS1F;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,KAAK,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,GACjD,MAAM,CAQR"}
@@ -24,14 +24,17 @@ function buildToolListSection() {
24
24
  function buildBasePrompt(options = {}) {
25
25
  const name = options.agentName ?? 'MegaAgent';
26
26
  const desc = options.agentDescription ?? 'the AI pilot for the AI-WOS manufacturing management system';
27
- return `You are ${name} — ${desc}.
28
-
29
- ${buildToolListSection()}
30
-
31
- ## Long-term Memory (VectorDB)
27
+ const tools = getAllTools();
28
+ const hasMemoryTools = tools.some(t => t.name === 'search_memory' || t.name === 'create_memory');
29
+ const memorySection = hasMemoryTools
30
+ ? `\n\n## Long-term Memory (VectorDB)
32
31
  - You have persistent memory. The system searches it before each response.
33
32
  - To save something important, write: [MEMORY] <content>
34
- - Save: key decisions, discovered patterns, important facts, insights
33
+ - Save: key decisions, discovered patterns, important facts, insights`
34
+ : '';
35
+ return `You are ${name} — ${desc}.
36
+
37
+ ${buildToolListSection()}${memorySection}
35
38
 
36
39
  ## Artifacts
37
40
  - When you produce tables, reports or structured data, they can be saved as Artifacts
@@ -1 +1 @@
1
- {"version":3,"file":"system.prompts.js","sourceRoot":"","sources":["../../../src/chat/prompts/system.prompts.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAQ3D,SAAS,oBAAoB;IAC3B,MAAM,KAAK,GAAG,WAAW,EAAE,CAAC;IAC5B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,uCAAuC,CAAC;IAEvE,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC;IAC3D,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC;IAE7D,MAAM,KAAK,GAAa,CAAC,eAAe,CAAC,CAAC;IAE1C,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;QACnE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IACvE,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC;QAC1E,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IACxE,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,qEAAqE,CAAC,CAAC;IAClF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,eAAe,CAAC,UAAkC,EAAE;IAC3D,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,IAAI,WAAW,CAAC;IAC9C,MAAM,IAAI,GAAG,OAAO,CAAC,gBAAgB,IAAI,6DAA6D,CAAC;IAEvG,OAAO,WAAW,IAAI,MAAM,IAAI;;EAEhC,oBAAoB,EAAE;;;;;;;;;;;;;;;;;;;uDAmB+B,CAAC;AACxD,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAA6B;IACpD,OAAO,EAAE;;;;;;qEAM0D;IAEnE,QAAQ,EAAE;;;;;;kEAMsD;IAEhE,OAAO,EAAE;;;;;;mEAMwD;IAEjE,QAAQ,EAAE;;;;;;4CAMgC;CAC3C,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAc,EAAE,OAAgC;IAChF,MAAM,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,OAAO,CAAC;IAC9D,MAAM,IAAI,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IAEtC,IAAI,OAAO,EAAE,YAAY,EAAE,CAAC;QAC1B,OAAO,GAAG,IAAI,OAAO,UAAU,OAAO,OAAO,CAAC,YAAY,EAAE,CAAC;IAC/D,CAAC;IAED,OAAO,GAAG,IAAI,OAAO,UAAU,EAAE,CAAC;AACpC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,wBAAwB,CACtC,QAAkD;IAElD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAErC,MAAM,UAAU,GAAG,QAAQ;SACxB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;SAC5D,IAAI,CAAC,MAAM,CAAC,CAAC;IAEhB,OAAO,kCAAkC,UAAU,+GAA+G,CAAC;AACrK,CAAC"}
1
+ {"version":3,"file":"system.prompts.js","sourceRoot":"","sources":["../../../src/chat/prompts/system.prompts.ts"],"names":[],"mappings":"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"}
@@ -57,4 +57,7 @@ export declare class QdrantError extends MegaAgentError {
57
57
  export declare class QdrantConnectionError extends MegaAgentError {
58
58
  constructor();
59
59
  }
60
+ export declare class ApprovalNotFoundError extends MegaAgentError {
61
+ constructor(approvalId: string);
62
+ }
60
63
  //# sourceMappingURL=errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/common/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,qBAAa,cAAe,SAAQ,KAAK;aAGrB,IAAI,EAAE,MAAM;aACZ,UAAU,EAAE,MAAM;aAClB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;gBAHjD,OAAO,EAAE,MAAM,EACC,IAAI,EAAE,MAAM,EACZ,UAAU,GAAE,MAAY,EACxB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,YAAA;IAOnD,MAAM;;;;;CAOP;AAGD,qBAAa,mBAAoB,SAAQ,cAAc;gBACzC,QAAQ,EAAE,MAAM;CAG7B;AAED,qBAAa,iBAAkB,SAAQ,cAAc;gBACvC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAG/D;AAED,qBAAa,cAAe,SAAQ,cAAc;gBACpC,OAAO,EAAE,MAAM;CAG5B;AAGD,qBAAa,iBAAkB,SAAQ,cAAc;gBACvC,MAAM,EAAE,MAAM;CAG3B;AAED,qBAAa,qBAAsB,SAAQ,cAAc;gBAC3C,MAAM,EAAE,MAAM;CAG3B;AAED,qBAAa,mBAAoB,SAAQ,cAAc;gBACzC,SAAS,EAAE,MAAM;CAG9B;AAGD,qBAAa,QAAS,SAAQ,cAAc;gBAC9B,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAG9C;AAED,qBAAa,iBAAkB,SAAQ,cAAc;gBACvC,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM;CAQlD;AAED,qBAAa,sBAAuB,SAAQ,cAAc;gBAC5C,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;CAQhD;AAGD,qBAAa,qBAAsB,SAAQ,cAAc;gBAC3C,UAAU,EAAE,MAAM;CAG/B;AAED,qBAAa,uBAAwB,SAAQ,cAAc;gBAC7C,MAAM,EAAE,MAAM,EAAE;CAG7B;AAGD,qBAAa,kBAAmB,SAAQ,cAAc;gBACxC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAG9C;AAED,qBAAa,YAAa,SAAQ,cAAc;gBAClC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAG9C;AAGD,qBAAa,WAAY,SAAQ,cAAc;gBACjC,OAAO,EAAE,MAAM;CAG5B;AAED,qBAAa,qBAAsB,SAAQ,cAAc;;CAIxD"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/common/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,qBAAa,cAAe,SAAQ,KAAK;aAGrB,IAAI,EAAE,MAAM;aACZ,UAAU,EAAE,MAAM;aAClB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;gBAHjD,OAAO,EAAE,MAAM,EACC,IAAI,EAAE,MAAM,EACZ,UAAU,GAAE,MAAY,EACxB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,YAAA;IAOnD,MAAM;;;;;CAOP;AAGD,qBAAa,mBAAoB,SAAQ,cAAc;gBACzC,QAAQ,EAAE,MAAM;CAG7B;AAED,qBAAa,iBAAkB,SAAQ,cAAc;gBACvC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAG/D;AAED,qBAAa,cAAe,SAAQ,cAAc;gBACpC,OAAO,EAAE,MAAM;CAG5B;AAGD,qBAAa,iBAAkB,SAAQ,cAAc;gBACvC,MAAM,EAAE,MAAM;CAG3B;AAED,qBAAa,qBAAsB,SAAQ,cAAc;gBAC3C,MAAM,EAAE,MAAM;CAG3B;AAED,qBAAa,mBAAoB,SAAQ,cAAc;gBACzC,SAAS,EAAE,MAAM;CAG9B;AAGD,qBAAa,QAAS,SAAQ,cAAc;gBAC9B,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAG9C;AAED,qBAAa,iBAAkB,SAAQ,cAAc;gBACvC,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM;CAQlD;AAED,qBAAa,sBAAuB,SAAQ,cAAc;gBAC5C,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;CAQhD;AAGD,qBAAa,qBAAsB,SAAQ,cAAc;gBAC3C,UAAU,EAAE,MAAM;CAG/B;AAED,qBAAa,uBAAwB,SAAQ,cAAc;gBAC7C,MAAM,EAAE,MAAM,EAAE;CAG7B;AAGD,qBAAa,kBAAmB,SAAQ,cAAc;gBACxC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAG9C;AAED,qBAAa,YAAa,SAAQ,cAAc;gBAClC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAG9C;AAGD,qBAAa,WAAY,SAAQ,cAAc;gBACjC,OAAO,EAAE,MAAM;CAG5B;AAED,qBAAa,qBAAsB,SAAQ,cAAc;;CAIxD;AAGD,qBAAa,qBAAsB,SAAQ,cAAc;gBAC3C,UAAU,EAAE,MAAM;CAG/B"}
@@ -102,4 +102,10 @@ export class QdrantConnectionError extends MegaAgentError {
102
102
  super('Cannot connect to Qdrant', 'QDRANT_CONNECTION_ERROR', 503);
103
103
  }
104
104
  }
105
+ // Approval Errors
106
+ export class ApprovalNotFoundError extends MegaAgentError {
107
+ constructor(approvalId) {
108
+ super(`Pending approval not found or expired: ${approvalId}`, 'APPROVAL_NOT_FOUND', 404);
109
+ }
110
+ }
105
111
  //# sourceMappingURL=errors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/common/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/common/errors.ts"],"names":[],"mappings":"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"}
@@ -22,7 +22,7 @@ export declare class ChatController {
22
22
  /** POST /api/chat/:id/approve */
23
23
  approveToolCall(req: Request, res: Response): Promise<void>;
24
24
  /** POST /api/chat/:id/reject */
25
- rejectToolCall(_req: Request, res: Response): Promise<void>;
25
+ rejectToolCall(req: Request, res: Response): Promise<void>;
26
26
  private handleStream;
27
27
  private mapChat;
28
28
  private mapMessage;
@@ -1 +1 @@
1
- {"version":3,"file":"chat.controller.d.ts","sourceRoot":"","sources":["../../src/http/chat.controller.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAG3D,qBAAa,cAAc;IACb,OAAO,CAAC,QAAQ,CAAC,WAAW;gBAAX,WAAW,EAAE,WAAW;IAErD,qBAAqB;IACf,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB5D,oBAAoB;IACd,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAY3D,wBAAwB;IAClB,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBzD,0BAA0B;IACpB,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAW5D,2BAA2B;IACrB,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAW5D,kCAAkC;IAC5B,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAkC7D,iCAAiC;IAC3B,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBjE,gCAAgC;IAC1B,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;YAMnD,YAAY;IAwB1B,OAAO,CAAC,OAAO;IAYf,OAAO,CAAC,UAAU;CAWnB"}
1
+ {"version":3,"file":"chat.controller.d.ts","sourceRoot":"","sources":["../../src/http/chat.controller.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAG3D,qBAAa,cAAc;IACb,OAAO,CAAC,QAAQ,CAAC,WAAW;gBAAX,WAAW,EAAE,WAAW;IAErD,qBAAqB;IACf,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB5D,oBAAoB;IACd,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAY3D,wBAAwB;IAClB,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBzD,0BAA0B;IACpB,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAW5D,2BAA2B;IACrB,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAW5D,kCAAkC;IAC5B,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAkC7D,iCAAiC;IAC3B,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAyBjE,gCAAgC;IAC1B,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;YAelD,YAAY;IAwB1B,OAAO,CAAC,OAAO;IAYf,OAAO,CAAC,UAAU;CAWnB"}
@@ -102,9 +102,14 @@ export class ChatController {
102
102
  }
103
103
  /** POST /api/chat/:id/approve */
104
104
  async approveToolCall(req, res) {
105
- const { toolName, arguments: args, conversationState } = req.body;
105
+ const existing = await this.chatService.getChat(req.params.id);
106
+ if (!existing || existing.userId !== req.user.id) {
107
+ res.status(404).json({ success: false, error: 'Chat not found' });
108
+ return;
109
+ }
110
+ const { approvalId } = req.body;
106
111
  const userId = req.user.id;
107
- const result = await this.chatService.approveToolCall(req.params.id, toolName, args, userId, conversationState);
112
+ const result = await this.chatService.approveToolCall(req.params.id, approvalId, userId);
108
113
  res.json({
109
114
  success: true,
110
115
  data: {
@@ -116,7 +121,14 @@ export class ChatController {
116
121
  });
117
122
  }
118
123
  /** POST /api/chat/:id/reject */
119
- async rejectToolCall(_req, res) {
124
+ async rejectToolCall(req, res) {
125
+ const existing = await this.chatService.getChat(req.params.id);
126
+ if (!existing || existing.userId !== req.user.id) {
127
+ res.status(404).json({ success: false, error: 'Chat not found' });
128
+ return;
129
+ }
130
+ const { approvalId } = req.body;
131
+ this.chatService.rejectToolCall(approvalId);
120
132
  res.json({ success: true, data: { message: 'Tool call rejected by user.' } });
121
133
  }
122
134
  // ── SSE Streaming ──────────────────────────────────────────────