repoburg 1.3.75 → 1.3.76
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/backend/dist/src/app.module.js +2 -0
- package/backend/dist/src/app.module.js.map +1 -1
- package/backend/dist/src/llm-orchestration/action-handlers/invoke-subagent.handler.d.ts +3 -1
- package/backend/dist/src/llm-orchestration/action-handlers/invoke-subagent.handler.js +20 -3
- package/backend/dist/src/llm-orchestration/action-handlers/invoke-subagent.handler.js.map +1 -1
- package/backend/dist/src/llm-orchestration/hooks/sub-agent-final-response.hook.d.ts +3 -1
- package/backend/dist/src/llm-orchestration/hooks/sub-agent-final-response.hook.js +32 -2
- package/backend/dist/src/llm-orchestration/hooks/sub-agent-final-response.hook.js.map +1 -1
- package/backend/dist/src/llm-orchestration/llm-turn-processor.service.d.ts +3 -1
- package/backend/dist/src/llm-orchestration/llm-turn-processor.service.js +34 -5
- package/backend/dist/src/llm-orchestration/llm-turn-processor.service.js.map +1 -1
- package/backend/dist/src/sub-agents/sub-agent-run.entity.d.ts +26 -0
- package/backend/dist/src/sub-agents/sub-agent-run.entity.js +93 -0
- package/backend/dist/src/sub-agents/sub-agent-run.entity.js.map +1 -0
- package/backend/dist/src/sub-agents/sub-agent-runs.service.d.ts +20 -0
- package/backend/dist/src/sub-agents/sub-agent-runs.service.js +103 -0
- package/backend/dist/src/sub-agents/sub-agent-runs.service.js.map +1 -0
- package/backend/dist/src/sub-agents/sub-agents.module.js +5 -3
- package/backend/dist/src/sub-agents/sub-agents.module.js.map +1 -1
- package/backend/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -13,6 +13,7 @@ const app_service_1 = require("./app.service");
|
|
|
13
13
|
const typeorm_1 = require("@nestjs/typeorm");
|
|
14
14
|
const core_entities_1 = require("./core-entities");
|
|
15
15
|
const sub_agent_entity_1 = require("./sub-agents/sub-agent.entity");
|
|
16
|
+
const sub_agent_run_entity_1 = require("./sub-agents/sub-agent-run.entity");
|
|
16
17
|
const projects_module_1 = require("./projects/projects.module");
|
|
17
18
|
const sessions_module_1 = require("./sessions/sessions.module");
|
|
18
19
|
const session_inputs_module_1 = require("./session-inputs/session-inputs.module");
|
|
@@ -76,6 +77,7 @@ exports.AppModule = AppModule = __decorate([
|
|
|
76
77
|
core_entities_1.ToolHook,
|
|
77
78
|
core_entities_1.LlmCallLog,
|
|
78
79
|
sub_agent_entity_1.SubAgent,
|
|
80
|
+
sub_agent_run_entity_1.SubAgentRun,
|
|
79
81
|
],
|
|
80
82
|
subscribers: [session_input_subscriber_1.SessionInputSubscriber],
|
|
81
83
|
synchronize: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.module.js","sourceRoot":"","sources":["../../src/app.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,qDAAiD;AACjD,+CAA2C;AAC3C,6CAAgD;AAChD,mDAgByB;AACzB,oEAAyD;AACzD,gEAA4D;AAC5D,gEAA4D;AAC5D,kFAA6E;AAC7E,sEAAiE;AACjE,kFAA6E;AAC7E,2FAAsF;AACtF,8FAAyF;AACzF,kFAA6E;AAC7E,6DAAyD;AACzD,mEAA+D;AAC/D,qFAAgF;AAChF,6BAA6B;AAC7B,yBAAyB;AACzB,wFAAmF;AACnF,wFAAmF;AACnF,2FAAsF;AACtF,+EAA0E;AAC1E,0DAAsD;AACtD,wFAAmF;AACnF,gEAAuE;AACvE,iDAA6C;AAC7C,+EAA0E;AAC1E,wFAAmF;AACnF,sEAAiE;AACjE,yEAAoE;AACpE,wFAAmF;AACnF,+EAAyE;AAEzE,IAAI,MAAM,GAAG,UAAU,CAAC;AAExB,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;IAC1C,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACvE,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IAClD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3C,CAAC;IACD,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IACzC,OAAO,CAAC,GAAG,CAAC,iCAAiC,MAAM,EAAE,CAAC,CAAC;AACzD,CAAC;
|
|
1
|
+
{"version":3,"file":"app.module.js","sourceRoot":"","sources":["../../src/app.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,qDAAiD;AACjD,+CAA2C;AAC3C,6CAAgD;AAChD,mDAgByB;AACzB,oEAAyD;AACzD,4EAAgE;AAChE,gEAA4D;AAC5D,gEAA4D;AAC5D,kFAA6E;AAC7E,sEAAiE;AACjE,kFAA6E;AAC7E,2FAAsF;AACtF,8FAAyF;AACzF,kFAA6E;AAC7E,6DAAyD;AACzD,mEAA+D;AAC/D,qFAAgF;AAChF,6BAA6B;AAC7B,yBAAyB;AACzB,wFAAmF;AACnF,wFAAmF;AACnF,2FAAsF;AACtF,+EAA0E;AAC1E,0DAAsD;AACtD,wFAAmF;AACnF,gEAAuE;AACvE,iDAA6C;AAC7C,+EAA0E;AAC1E,wFAAmF;AACnF,sEAAiE;AACjE,yEAAoE;AACpE,wFAAmF;AACnF,+EAAyE;AAEzE,IAAI,MAAM,GAAG,UAAU,CAAC;AAExB,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;IAC1C,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACvE,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IAClD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3C,CAAC;IACD,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IACzC,OAAO,CAAC,GAAG,CAAC,iCAAiC,MAAM,EAAE,CAAC,CAAC;AACzD,CAAC;AA0DM,IAAM,SAAS,GAAf,MAAM,SAAS;CAAG,CAAA;AAAZ,8BAAS;oBAAT,SAAS;IAxDrB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,uBAAa,CAAC,OAAO,CAAC;gBACpB,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,MAAM;gBAChB,QAAQ,EAAE;oBACR,uBAAO;oBACP,uBAAO;oBACP,+BAAe;oBACf,4BAAY;oBACZ,wBAAQ;oBACR,4BAAY;oBACZ,4BAAY;oBACZ,6BAAa;oBACb,gCAAgB;oBAChB,8BAAc;oBACd,yBAAS;oBACT,uBAAO;oBACP,8BAAc;oBACd,wBAAQ;oBACR,0BAAU;oBACV,2BAAQ;oBACR,kCAAW;iBACZ;gBACD,WAAW,EAAE,CAAC,iDAAsB,CAAC;gBACrC,WAAW,EAAE,IAAI;gBACjB,gBAAgB,EAAE,IAAI;aACvB,CAAC;YACF,gCAAc;YACd,gCAAc;YACd,2CAAmB;YACnB,mCAAe;YACf,2CAAmB;YACnB,iDAAsB;YACtB,mDAAuB;YACvB,2CAAmB;YACnB,8BAAa;YACb,kCAAe;YACf,6CAAoB;YACpB,+CAAqB;YACrB,+CAAqB;YACrB,iDAAsB;YACtB,yCAAkB;YAClB,4BAAY;YACZ,+CAAqB;YACrB,mCAAqB;YACrB,sBAAS;YACT,yCAAkB;YAClB,+CAAqB;YACrB,mCAAe;YACf,qCAAgB;YAChB,wCAAiB;SAClB;QACD,WAAW,EAAE,CAAC,8BAAa,CAAC;QAC5B,SAAS,EAAE,CAAC,wBAAU,CAAC;KACxB,CAAC;GACW,SAAS,CAAG"}
|
|
@@ -1,17 +1,19 @@
|
|
|
1
1
|
import { ActionHandler } from './action-handler.interface';
|
|
2
2
|
import { ActionExecutionResult, PlanExecutionContext, ToolMetadata } from '../llm-orchestration.interfaces';
|
|
3
3
|
import { SubAgentsService } from '../../sub-agents/sub-agents.service';
|
|
4
|
+
import { SubAgentRunsService } from '../../sub-agents/sub-agent-runs.service';
|
|
4
5
|
import { SessionsService } from '../../sessions/sessions.service';
|
|
5
6
|
import { SessionInputsService } from '../../session-inputs/session-inputs.service';
|
|
6
7
|
import { MessageBusService } from '../../message-bus/message-bus.service';
|
|
7
8
|
export declare class InvokeSubAgentHandler implements ActionHandler {
|
|
8
9
|
private readonly subAgentsService;
|
|
10
|
+
private readonly subAgentRunsService;
|
|
9
11
|
private readonly sessionsService;
|
|
10
12
|
private readonly sessionInputsService;
|
|
11
13
|
private readonly messageBusService;
|
|
12
14
|
readonly toolName = "invoke_subagent";
|
|
13
15
|
private readonly logger;
|
|
14
|
-
constructor(subAgentsService: SubAgentsService, sessionsService: SessionsService, sessionInputsService: SessionInputsService, messageBusService: MessageBusService);
|
|
16
|
+
constructor(subAgentsService: SubAgentsService, subAgentRunsService: SubAgentRunsService, sessionsService: SessionsService, sessionInputsService: SessionInputsService, messageBusService: MessageBusService);
|
|
15
17
|
getMetadata(): ToolMetadata;
|
|
16
18
|
getDefinition(): string;
|
|
17
19
|
execute(args: Record<string, any>, context: PlanExecutionContext): Promise<ActionExecutionResult>;
|
|
@@ -13,12 +13,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
13
13
|
exports.InvokeSubAgentHandler = void 0;
|
|
14
14
|
const common_1 = require("@nestjs/common");
|
|
15
15
|
const sub_agents_service_1 = require("../../sub-agents/sub-agents.service");
|
|
16
|
+
const sub_agent_runs_service_1 = require("../../sub-agents/sub-agent-runs.service");
|
|
16
17
|
const sessions_service_1 = require("../../sessions/sessions.service");
|
|
17
18
|
const session_inputs_service_1 = require("../../session-inputs/session-inputs.service");
|
|
18
19
|
const message_bus_service_1 = require("../../message-bus/message-bus.service");
|
|
19
20
|
let InvokeSubAgentHandler = InvokeSubAgentHandler_1 = class InvokeSubAgentHandler {
|
|
20
|
-
constructor(subAgentsService, sessionsService, sessionInputsService, messageBusService) {
|
|
21
|
+
constructor(subAgentsService, subAgentRunsService, sessionsService, sessionInputsService, messageBusService) {
|
|
21
22
|
this.subAgentsService = subAgentsService;
|
|
23
|
+
this.subAgentRunsService = subAgentRunsService;
|
|
22
24
|
this.sessionsService = sessionsService;
|
|
23
25
|
this.sessionInputsService = sessionInputsService;
|
|
24
26
|
this.messageBusService = messageBusService;
|
|
@@ -68,6 +70,12 @@ let InvokeSubAgentHandler = InvokeSubAgentHandler_1 = class InvokeSubAgentHandle
|
|
|
68
70
|
|
|
69
71
|
Delegate a task to a specialized sub-agent. The sub-agent will run autonomously and return its result.
|
|
70
72
|
|
|
73
|
+
### Behavior:
|
|
74
|
+
- Multiple subagents can be spawned in parallel for concurrent execution
|
|
75
|
+
- Regular tools (create_file, run_command, etc.) are blocked while subagents are running
|
|
76
|
+
- Subagent results are delivered to you automatically in follow-up messages
|
|
77
|
+
- You may continue spawning additional subagents while others are running
|
|
78
|
+
|
|
71
79
|
### Parameters:
|
|
72
80
|
- **agent_name** (required): The name of sub-agent to invoke
|
|
73
81
|
- **prompt** (required): The task or question to pass to sub-agent
|
|
@@ -136,6 +144,14 @@ args: {
|
|
|
136
144
|
parent_session_id: context.session_id,
|
|
137
145
|
});
|
|
138
146
|
this.logger.log(`Created session: ${subAgentSession.id}`);
|
|
147
|
+
await this.subAgentRunsService.create({
|
|
148
|
+
parent_session_id: context.session_id,
|
|
149
|
+
child_session_id: subAgentSession.id,
|
|
150
|
+
sub_agent_id: subAgent.id,
|
|
151
|
+
agent_name: agentName,
|
|
152
|
+
initial_prompt: prompt,
|
|
153
|
+
});
|
|
154
|
+
this.logger.log(`Created SubAgentRun for parent ${context.session_id} -> child ${subAgentSession.id}`);
|
|
139
155
|
const adHocContextDef = passContext
|
|
140
156
|
? context.masterContextDefinition
|
|
141
157
|
: undefined;
|
|
@@ -181,7 +197,7 @@ args: {
|
|
|
181
197
|
prompt,
|
|
182
198
|
},
|
|
183
199
|
execution_log: {
|
|
184
|
-
output: `Sub-agent "${agentName}" spawned
|
|
200
|
+
output: `Sub-agent "${agentName}" spawned successfully.\n\nSession ID: ${subAgentSession.id}\n\nNote: You may spawn additional subagents for parallel execution. Regular tools (create_file, run_command, etc.) will be blocked until all subagent results are received.`,
|
|
185
201
|
error_message: '',
|
|
186
202
|
},
|
|
187
203
|
};
|
|
@@ -230,7 +246,7 @@ args: {
|
|
|
230
246
|
summary: 'Continuing conversation with sub-agent',
|
|
231
247
|
persisted_args: { sessionId, prompt },
|
|
232
248
|
execution_log: {
|
|
233
|
-
output: `Follow-up sent to sub-agent session ${sessionId}
|
|
249
|
+
output: `Follow-up sent to sub-agent session ${sessionId}.\n\nNote: Regular tools remain blocked until all subagent results are received.`,
|
|
234
250
|
error_message: '',
|
|
235
251
|
},
|
|
236
252
|
};
|
|
@@ -252,6 +268,7 @@ exports.InvokeSubAgentHandler = InvokeSubAgentHandler;
|
|
|
252
268
|
exports.InvokeSubAgentHandler = InvokeSubAgentHandler = InvokeSubAgentHandler_1 = __decorate([
|
|
253
269
|
(0, common_1.Injectable)(),
|
|
254
270
|
__metadata("design:paramtypes", [sub_agents_service_1.SubAgentsService,
|
|
271
|
+
sub_agent_runs_service_1.SubAgentRunsService,
|
|
255
272
|
sessions_service_1.SessionsService,
|
|
256
273
|
session_inputs_service_1.SessionInputsService,
|
|
257
274
|
message_bus_service_1.MessageBusService])
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invoke-subagent.handler.js","sourceRoot":"","sources":["../../../../src/llm-orchestration/action-handlers/invoke-subagent.handler.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAoD;AAQpD,4EAAuE;AACvE,sEAAkE;AAClE,wFAAmF;AACnF,+EAA0E;AAInE,IAAM,qBAAqB,6BAA3B,MAAM,qBAAqB;IAIhC,YACmB,gBAAkC,EAClC,eAAgC,EAChC,oBAA0C,EAC1C,iBAAoC;
|
|
1
|
+
{"version":3,"file":"invoke-subagent.handler.js","sourceRoot":"","sources":["../../../../src/llm-orchestration/action-handlers/invoke-subagent.handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,10 +3,12 @@ import { SessionInput } from '../../core-entities';
|
|
|
3
3
|
import { PlanExecutionContext } from '../llm-orchestration.interfaces';
|
|
4
4
|
import { SessionsService } from '../../sessions/sessions.service';
|
|
5
5
|
import { SessionInputsService } from '../../session-inputs/session-inputs.service';
|
|
6
|
+
import { SubAgentRunsService } from '../../sub-agents/sub-agent-runs.service';
|
|
6
7
|
export declare class SubAgentFinalResponseHook implements PostExecutionHook {
|
|
7
8
|
private readonly sessionsService;
|
|
8
9
|
private readonly sessionInputsService;
|
|
10
|
+
private readonly subAgentRunsService;
|
|
9
11
|
private readonly logger;
|
|
10
|
-
constructor(sessionsService: SessionsService, sessionInputsService: SessionInputsService);
|
|
12
|
+
constructor(sessionsService: SessionsService, sessionInputsService: SessionInputsService, subAgentRunsService: SubAgentRunsService);
|
|
11
13
|
run(sessionInput: SessionInput, context: PlanExecutionContext): Promise<void>;
|
|
12
14
|
}
|
|
@@ -14,10 +14,12 @@ exports.SubAgentFinalResponseHook = void 0;
|
|
|
14
14
|
const common_1 = require("@nestjs/common");
|
|
15
15
|
const sessions_service_1 = require("../../sessions/sessions.service");
|
|
16
16
|
const session_inputs_service_1 = require("../../session-inputs/session-inputs.service");
|
|
17
|
+
const sub_agent_runs_service_1 = require("../../sub-agents/sub-agent-runs.service");
|
|
17
18
|
let SubAgentFinalResponseHook = SubAgentFinalResponseHook_1 = class SubAgentFinalResponseHook {
|
|
18
|
-
constructor(sessionsService, sessionInputsService) {
|
|
19
|
+
constructor(sessionsService, sessionInputsService, subAgentRunsService) {
|
|
19
20
|
this.sessionsService = sessionsService;
|
|
20
21
|
this.sessionInputsService = sessionInputsService;
|
|
22
|
+
this.subAgentRunsService = subAgentRunsService;
|
|
21
23
|
this.logger = new common_1.Logger(SubAgentFinalResponseHook_1.name);
|
|
22
24
|
}
|
|
23
25
|
async run(sessionInput, context) {
|
|
@@ -30,8 +32,17 @@ let SubAgentFinalResponseHook = SubAgentFinalResponseHook_1 = class SubAgentFina
|
|
|
30
32
|
return;
|
|
31
33
|
}
|
|
32
34
|
this.logger.log(`Sub-agent ${session.sub_agent_id} called final() in session ${session.id}. Routing response to master session ${session.parent_session_id}.`);
|
|
35
|
+
const run = await this.subAgentRunsService.findByChildSessionId(session.id);
|
|
36
|
+
if (run?.status === 'cancelled') {
|
|
37
|
+
this.logger.log(`Subagent run was cancelled. Ignoring result.`);
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
33
40
|
const finalResponseText = finalAction.plain || '';
|
|
34
41
|
const subAgentName = session.subAgent?.name || 'Unknown Agent';
|
|
42
|
+
if (run) {
|
|
43
|
+
await this.subAgentRunsService.markCompleted(session.id, finalResponseText);
|
|
44
|
+
this.logger.log(`Marked SubAgentRun ${run.id} as completed`);
|
|
45
|
+
}
|
|
35
46
|
const masterPrompt = `[Sub-Agent Result: ${subAgentName}]\n\n${finalResponseText}\n\n[End Sub-Agent Result]`;
|
|
36
47
|
await this.sessionInputsService.create(session.parent_session_id, {
|
|
37
48
|
user_prompt: masterPrompt,
|
|
@@ -39,12 +50,31 @@ let SubAgentFinalResponseHook = SubAgentFinalResponseHook_1 = class SubAgentFina
|
|
|
39
50
|
});
|
|
40
51
|
await this.sessionsService.setActive(session.parent_session_id);
|
|
41
52
|
this.logger.log(`Submitted sub-agent result to master session ${session.parent_session_id}`);
|
|
53
|
+
const hasActiveRuns = await this.subAgentRunsService.hasActiveRuns(session.parent_session_id);
|
|
54
|
+
if (!hasActiveRuns) {
|
|
55
|
+
this.logger.log(`All subagents complete for session ${session.parent_session_id}. Checking for pending tool results...`);
|
|
56
|
+
const parentSession = await this.sessionsService.findOne(session.parent_session_id);
|
|
57
|
+
const latestBlockedInput = parentSession.sessionInputs
|
|
58
|
+
?.filter((input) => input.tool_calls)
|
|
59
|
+
.sort((a, b) => new Date(b.created_at).getTime() - new Date(a.created_at).getTime())[0];
|
|
60
|
+
if (latestBlockedInput) {
|
|
61
|
+
this.logger.log(`Found pending tool calls in input ${latestBlockedInput.id}. Triggering follow-up.`);
|
|
62
|
+
await this.sessionInputsService.create(session.parent_session_id, {
|
|
63
|
+
user_prompt: '',
|
|
64
|
+
execution_strategy: latestBlockedInput.execution_strategy,
|
|
65
|
+
skip_persistence: true,
|
|
66
|
+
ad_hoc_context_definition: undefined,
|
|
67
|
+
context_template_id: undefined,
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
}
|
|
42
71
|
}
|
|
43
72
|
};
|
|
44
73
|
exports.SubAgentFinalResponseHook = SubAgentFinalResponseHook;
|
|
45
74
|
exports.SubAgentFinalResponseHook = SubAgentFinalResponseHook = SubAgentFinalResponseHook_1 = __decorate([
|
|
46
75
|
(0, common_1.Injectable)(),
|
|
47
76
|
__metadata("design:paramtypes", [sessions_service_1.SessionsService,
|
|
48
|
-
session_inputs_service_1.SessionInputsService
|
|
77
|
+
session_inputs_service_1.SessionInputsService,
|
|
78
|
+
sub_agent_runs_service_1.SubAgentRunsService])
|
|
49
79
|
], SubAgentFinalResponseHook);
|
|
50
80
|
//# sourceMappingURL=sub-agent-final-response.hook.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sub-agent-final-response.hook.js","sourceRoot":"","sources":["../../../../src/llm-orchestration/hooks/sub-agent-final-response.hook.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAoD;AAIpD,sEAAkE;AAClE,wFAAmF;
|
|
1
|
+
{"version":3,"file":"sub-agent-final-response.hook.js","sourceRoot":"","sources":["../../../../src/llm-orchestration/hooks/sub-agent-final-response.hook.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@ import { PostExecutionHook } from './hooks/post-execution-hook.interface';
|
|
|
6
6
|
import { ApplicationStateService } from '../application-state/application-state.service';
|
|
7
7
|
import { ExecutionLogsService } from '../execution-logs/execution-logs.service';
|
|
8
8
|
import { ToolHooksService } from '../tool-hooks/tool-hooks.service';
|
|
9
|
+
import { SubAgentRunsService } from '../sub-agents/sub-agent-runs.service';
|
|
9
10
|
export declare class LlmTurnProcessorService {
|
|
10
11
|
private readonly parser;
|
|
11
12
|
private readonly handlerRegistry;
|
|
@@ -15,8 +16,9 @@ export declare class LlmTurnProcessorService {
|
|
|
15
16
|
private readonly applicationStateService;
|
|
16
17
|
private readonly executionLogsService;
|
|
17
18
|
private readonly toolHooksService;
|
|
19
|
+
private readonly subAgentRunsService;
|
|
18
20
|
private readonly logger;
|
|
19
|
-
constructor(parser: LlmOutputParserService, handlerRegistry: Map<string, ActionHandler>, postExecutionHooks: PostExecutionHook[], aiActionsRepository: Repository<AIAction>, sessionInputsRepository: Repository<SessionInput>, applicationStateService: ApplicationStateService, executionLogsService: ExecutionLogsService, toolHooksService: ToolHooksService);
|
|
21
|
+
constructor(parser: LlmOutputParserService, handlerRegistry: Map<string, ActionHandler>, postExecutionHooks: PostExecutionHook[], aiActionsRepository: Repository<AIAction>, sessionInputsRepository: Repository<SessionInput>, applicationStateService: ApplicationStateService, executionLogsService: ExecutionLogsService, toolHooksService: ToolHooksService, subAgentRunsService: SubAgentRunsService);
|
|
20
22
|
processTurn(sessionInput: SessionInput): Promise<SessionInput>;
|
|
21
23
|
private getSuccessStatusForStrategy;
|
|
22
24
|
}
|
|
@@ -24,8 +24,9 @@ const ai_actions_service_1 = require("../ai-actions/ai-actions.service");
|
|
|
24
24
|
const application_state_service_1 = require("../application-state/application-state.service");
|
|
25
25
|
const execution_logs_service_1 = require("../execution-logs/execution-logs.service");
|
|
26
26
|
const tool_hooks_service_1 = require("../tool-hooks/tool-hooks.service");
|
|
27
|
+
const sub_agent_runs_service_1 = require("../sub-agents/sub-agent-runs.service");
|
|
27
28
|
let LlmTurnProcessorService = LlmTurnProcessorService_1 = class LlmTurnProcessorService {
|
|
28
|
-
constructor(parser, handlerRegistry, postExecutionHooks, aiActionsRepository, sessionInputsRepository, applicationStateService, executionLogsService, toolHooksService) {
|
|
29
|
+
constructor(parser, handlerRegistry, postExecutionHooks, aiActionsRepository, sessionInputsRepository, applicationStateService, executionLogsService, toolHooksService, subAgentRunsService) {
|
|
29
30
|
this.parser = parser;
|
|
30
31
|
this.handlerRegistry = handlerRegistry;
|
|
31
32
|
this.postExecutionHooks = postExecutionHooks;
|
|
@@ -34,6 +35,7 @@ let LlmTurnProcessorService = LlmTurnProcessorService_1 = class LlmTurnProcessor
|
|
|
34
35
|
this.applicationStateService = applicationStateService;
|
|
35
36
|
this.executionLogsService = executionLogsService;
|
|
36
37
|
this.toolHooksService = toolHooksService;
|
|
38
|
+
this.subAgentRunsService = subAgentRunsService;
|
|
37
39
|
this.logger = new common_1.Logger(LlmTurnProcessorService_1.name);
|
|
38
40
|
}
|
|
39
41
|
async processTurn(sessionInput) {
|
|
@@ -103,9 +105,8 @@ let LlmTurnProcessorService = LlmTurnProcessorService_1 = class LlmTurnProcessor
|
|
|
103
105
|
status: ai_actions_service_1.AIActionStatus.EXECUTION_FAILED,
|
|
104
106
|
order_of_execution: createdActions.length,
|
|
105
107
|
original_content_for_revert: null,
|
|
106
|
-
...action.arguments,
|
|
107
108
|
});
|
|
108
|
-
const savedAction =
|
|
109
|
+
const savedAction = await this.aiActionsRepository.save(aiActionEntity);
|
|
109
110
|
createdActions.push(savedAction);
|
|
110
111
|
await this.executionLogsService.createLog({
|
|
111
112
|
action_id: savedAction.id,
|
|
@@ -125,6 +126,10 @@ let LlmTurnProcessorService = LlmTurnProcessorService_1 = class LlmTurnProcessor
|
|
|
125
126
|
summary: `Tool '${action.tool_name}' is not a valid tool.`,
|
|
126
127
|
error_message: `No handler registered for tool name '${action.tool_name}'.`,
|
|
127
128
|
persisted_args: action.arguments,
|
|
129
|
+
execution_log: {
|
|
130
|
+
output: '',
|
|
131
|
+
error_message: `No handler registered for tool name '${action.tool_name}'.`,
|
|
132
|
+
},
|
|
128
133
|
};
|
|
129
134
|
if (action.toolCallId) {
|
|
130
135
|
executionContext.toolResults.push({
|
|
@@ -136,7 +141,30 @@ let LlmTurnProcessorService = LlmTurnProcessorService_1 = class LlmTurnProcessor
|
|
|
136
141
|
}
|
|
137
142
|
else {
|
|
138
143
|
try {
|
|
139
|
-
|
|
144
|
+
const hasActiveRuns = await this.subAgentRunsService.hasActiveRuns(sessionInput.session_id);
|
|
145
|
+
if (hasActiveRuns &&
|
|
146
|
+
!['final', 'invoke_subagent', 'list_sub_agents'].includes(action.tool_name)) {
|
|
147
|
+
result = {
|
|
148
|
+
status: 'FAILURE',
|
|
149
|
+
summary: `There is ongoing subagent activity. Cannot execute tool '${action.tool_name}' until subagent results are in.`,
|
|
150
|
+
error_message: `There is ongoing subagent activity. Cannot execute tool '${action.tool_name}' until subagent results are in. wait for their results before proceeding.`,
|
|
151
|
+
persisted_args: action.arguments,
|
|
152
|
+
execution_log: {
|
|
153
|
+
output: '',
|
|
154
|
+
error_message: `There is ongoing subagent activity. Cannot execute tool '${action.tool_name}' until subagent results are in. wait for their results before proceeding.`,
|
|
155
|
+
},
|
|
156
|
+
};
|
|
157
|
+
if (action.toolCallId) {
|
|
158
|
+
executionContext.toolResults.push({
|
|
159
|
+
toolCallId: action.toolCallId,
|
|
160
|
+
toolName: action.tool_name,
|
|
161
|
+
result: result.error_message,
|
|
162
|
+
});
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
else {
|
|
166
|
+
result = await handler.execute(action.arguments, executionContext);
|
|
167
|
+
}
|
|
140
168
|
}
|
|
141
169
|
catch (error) {
|
|
142
170
|
this.logger.error(`Handler for ${action.tool_name} failed during execution: ${error.message}`, error.stack);
|
|
@@ -255,6 +283,7 @@ exports.LlmTurnProcessorService = LlmTurnProcessorService = LlmTurnProcessorServ
|
|
|
255
283
|
typeorm_2.Repository,
|
|
256
284
|
application_state_service_1.ApplicationStateService,
|
|
257
285
|
execution_logs_service_1.ExecutionLogsService,
|
|
258
|
-
tool_hooks_service_1.ToolHooksService
|
|
286
|
+
tool_hooks_service_1.ToolHooksService,
|
|
287
|
+
sub_agent_runs_service_1.SubAgentRunsService])
|
|
259
288
|
], LlmTurnProcessorService);
|
|
260
289
|
//# sourceMappingURL=llm-turn-processor.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llm-turn-processor.service.js","sourceRoot":"","sources":["../../../src/llm-orchestration/llm-turn-processor.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAA4D;AAC5D,6CAAmD;AACnD,qCAAqC;AACrC,oDAA0D;AAC1D,kFAA4E;AAC5E,iFAGwC;AAIxC,yEAAkE;AAClE,8FAAyF;AACzF,qFAAgF;AAChF,yEAAoE;
|
|
1
|
+
{"version":3,"file":"llm-turn-processor.service.js","sourceRoot":"","sources":["../../../src/llm-orchestration/llm-turn-processor.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAA4D;AAC5D,6CAAmD;AACnD,qCAAqC;AACrC,oDAA0D;AAC1D,kFAA4E;AAC5E,iFAGwC;AAIxC,yEAAkE;AAClE,8FAAyF;AACzF,qFAAgF;AAChF,yEAAoE;AAEpE,iFAA2E;AAGpE,IAAM,uBAAuB,+BAA7B,MAAM,uBAAuB;IAGlC,YACmB,MAA8B,EAE/C,eAA4D,EAE5D,kBAAwD,EAExD,mBAA0D,EAE1D,uBAAkE,EACjD,uBAAgD,EAChD,oBAA0C,EAC1C,gBAAkC,EAClC,mBAAwC;QAZxC,WAAM,GAAN,MAAM,CAAwB;QAE9B,oBAAe,GAAf,eAAe,CAA4B;QAE3C,uBAAkB,GAAlB,kBAAkB,CAAqB;QAEvC,wBAAmB,GAAnB,mBAAmB,CAAsB;QAEzC,4BAAuB,GAAvB,uBAAuB,CAA0B;QACjD,4BAAuB,GAAvB,uBAAuB,CAAyB;QAChD,yBAAoB,GAApB,oBAAoB,CAAsB;QAC1C,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,wBAAmB,GAAnB,mBAAmB,CAAqB;QAf1C,WAAM,GAAG,IAAI,eAAM,CAAC,yBAAuB,CAAC,IAAI,CAAC,CAAC;IAgBhE,CAAC;IAEG,KAAK,CAAC,WAAW,CAAC,YAA0B;QACjD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,wCAAwC,YAAY,CAAC,EAAE,EAAE,CAAC,CAAC;QAG3E,MAAM,SAAS,GAAG,YAAY,CAAC,UAAU;YACvC,CAAC,CAAE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,CAAmB;YACxD,CAAC,CAAC,IAAI,CAAC;QAGT,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CACrE,YAAY,CAAC,gBAAgB,EAC7B,SAAS,CACV,CAAC;QAEF,MAAM,WAAW,GAAG;YAClB,aAAa;YACb,YAAY;YACZ,OAAO;YACP,gBAAgB;YAChB,aAAa;YACb,OAAO;YACP,aAAa;YACb,cAAc;YACd,aAAa;YACb,iBAAiB;SAClB,CAAC;QAEF,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YAC1B,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAChD,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAEhD,MAAM,eAAe,GAAG,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;YAC1D,MAAM,eAAe,GAAG,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;YAE1D,IAAI,eAAe,KAAK,eAAe,EAAE,CAAC;gBACxC,OAAO,CAAC,CAAC;YACX,CAAC;YAED,OAAO,eAAe,GAAG,eAAe,CAAC;QAC3C,CAAC,CAAC,CAAC;QAEH,YAAY,CAAC,wBAAwB,GAAG,WAAW,CAAC;QACpD,MAAM,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAGtD,MAAM,gBAAgB,GAAG,IAAI,mDAAoB,EAAE,CAAC;QACpD,gBAAgB,CAAC,UAAU,GAAG,YAAY,CAAC,UAAU,CAAC;QACtD,gBAAgB,CAAC,qBAAqB,GAAG,aAAa,CAAC;QAEvD,MAAM,cAAc,GAAe,EAAE,CAAC;QAGtC,KAAK,MAAM,MAAM,IAAI,aAAa,EAAE,CAAC;YACnC,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC3D,IAAI,MAA6B,CAAC;YAGlC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAC3D,MAAM,CAAC,SAAS,EAChB,QAAQ,CACT,CAAC;YACF,IAAI,UAAU,GAAG,KAAK,CAAC;YAEvB,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;gBAC/B,IAAI,CAAC;oBACH,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,wBAAwB,IAAI,CAAC,eAAe,aAAa,MAAM,CAAC,SAAS,EAAE,CAC5E,CAAC;oBACF,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,WAAW,CACxD,IAAI,CAAC,eAAe,EACpB;wBACE,SAAS,EAAE,QAAQ;wBACnB,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,SAAS,EAAE;wBAC/D,YAAY,EAAE,gBAAgB;qBAC/B,CACF,CAAC;oBAEF,IAAI,UAAU,CAAC,gBAAgB,EAAE,CAAC;wBAChC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,eAAe,oBAAoB,CAAC,CAAC;wBACnE,gBAAgB,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC;wBAC1C,gBAAgB,CAAC,KAAK,CAAC,WAAW,GAAG,QAAQ,IAAI,CAAC,eAAe,wBAAwB,CAAC;wBAC1F,UAAU,GAAG,IAAI,CAAC;wBAClB,MAAM;oBACR,CAAC;gBACH,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;gBACxD,CAAC;YACH,CAAC;YAED,IAAI,UAAU,EAAE,CAAC;gBAEf,MAAM,cAAc,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC;oBACrD,QAAQ,EAAE,YAAY,CAAC,EAAE;oBACzB,YAAY,EAAE,EAAE,EAAE,EAAE,YAAY,CAAC,EAAE,EAAE;oBACrC,WAAW,EAAE,MAAM,CAAC,SAAS;oBAC7B,MAAM,EAAE,mCAAc,CAAC,gBAAgB;oBACvC,kBAAkB,EAAE,cAAc,CAAC,MAAM;oBACzC,2BAA2B,EAAE,IAAI;iBAClC,CAAC,CAAC;gBACH,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBACxE,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAEjC,MAAM,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC;oBACxC,SAAS,EAAE,WAAW,CAAC,EAAE;oBACzB,aAAa,EACX,gBAAgB,CAAC,KAAK,CAAC,WAAW,IAAI,uBAAuB;oBAC/D,MAAM,EAAE,gDAAgD;iBACzD,CAAC,CAAC;gBAEH,MAAM;YACR,CAAC;YAED,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,8BAA8B,MAAM,CAAC,SAAS,aAAa,CAC5D,CAAC;gBACF,gBAAgB,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC;oBAC/C,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,SAAS,EAAE,MAAM,CAAC,SAAS;iBAC5B,CAAC,CAAC;gBACH,MAAM,GAAG;oBACP,MAAM,EAAE,SAAS;oBACjB,OAAO,EAAE,SAAS,MAAM,CAAC,SAAS,wBAAwB;oBAC1D,aAAa,EAAE,wCAAwC,MAAM,CAAC,SAAS,IAAI;oBAC3E,cAAc,EAAE,MAAM,CAAC,SAAS;oBAChC,aAAa,EAAE;wBACb,MAAM,EAAE,EAAE;wBACV,aAAa,EAAE,wCAAwC,MAAM,CAAC,SAAS,IAAI;qBAC5E;iBACF,CAAC;gBAGF,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;oBACtB,gBAAgB,CAAC,WAAW,CAAC,IAAI,CAAC;wBAChC,UAAU,EAAE,MAAM,CAAC,UAAU;wBAC7B,QAAQ,EAAE,MAAM,CAAC,SAAS;wBAC1B,MAAM,EAAE,gBAAgB,MAAM,CAAC,SAAS,4CAA4C;qBACrF,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC;oBACH,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAChE,YAAY,CAAC,UAAU,CACxB,CAAC;oBAEF,IACE,aAAa;wBACb,CAAC,CAAC,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,CAAC,CAAC,QAAQ,CACvD,MAAM,CAAC,SAAS,CACjB,EACD,CAAC;wBACD,MAAM,GAAG;4BACP,MAAM,EAAE,SAAS;4BACjB,OAAO,EAAE,4DAA4D,MAAM,CAAC,SAAS,kCAAkC;4BACvH,aAAa,EAAE,4DAA4D,MAAM,CAAC,SAAS,4EAA4E;4BACvK,cAAc,EAAE,MAAM,CAAC,SAAS;4BAChC,aAAa,EAAE;gCACb,MAAM,EAAE,EAAE;gCACV,aAAa,EAAE,4DAA4D,MAAM,CAAC,SAAS,4EAA4E;6BACxK;yBACF,CAAC;wBAGF,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;4BACtB,gBAAgB,CAAC,WAAW,CAAC,IAAI,CAAC;gCAChC,UAAU,EAAE,MAAM,CAAC,UAAU;gCAC7B,QAAQ,EAAE,MAAM,CAAC,SAAS;gCAC1B,MAAM,EAAE,MAAM,CAAC,aAAa;6BAC7B,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;oBACrE,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,eAAe,MAAM,CAAC,SAAS,6BAA6B,KAAK,CAAC,OAAO,EAAE,EAC3E,KAAK,CAAC,KAAK,CACZ,CAAC;oBACF,MAAM,GAAG;wBACP,MAAM,EAAE,SAAS;wBACjB,OAAO,EAAE,iCAAiC,KAAK,CAAC,OAAO,EAAE;wBACzD,aAAa,EAAE,KAAK,CAAC,OAAO;wBAC5B,cAAc,EAAE,MAAM,CAAC,SAAS;qBACjC,CAAC;gBACJ,CAAC;YACH,CAAC;YAID,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAC1D,MAAM,CAAC,SAAS,EAChB,OAAO,CACR,CAAC;gBACF,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;oBAC9B,IAAI,CAAC;wBACH,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,uBAAuB,IAAI,CAAC,eAAe,aAAa,MAAM,CAAC,SAAS,EAAE,CAC3E,CAAC;wBACF,MAAM,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,IAAI,CAAC,eAAe,EAAE;4BAC5D,SAAS,EAAE,OAAO;4BAClB,MAAM,EAAE;gCACN,SAAS,EAAE,MAAM,CAAC,SAAS;gCAC3B,IAAI,EAAE,MAAM,CAAC,SAAS;gCACtB,MAAM,EAAE;oCACN,MAAM,EAAE,MAAM,CAAC,MAAM;oCACrB,MAAM,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM;oCACpC,KAAK,EAAE,MAAM,CAAC,aAAa;iCAC5B;6BACF;4BACD,YAAY,EAAE,gBAAgB;yBAC/B,CAAC,CAAC;oBACL,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACX,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;oBACvD,CAAC;gBACH,CAAC;YACH,CAAC;YAED,MAAM,iBAAiB,GACrB,MAAM,IAAI,CAAC,uBAAuB,CAAC,oBAAoB,EAAE,CAAC;YAC5D,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,6BAA6B,iBAAiB,EAAE,CAAC,CAAC;YAClE,MAAM,aAAa,GAAG,IAAI,CAAC,2BAA2B,CAAC,iBAAiB,CAAC,CAAC;YAE1E,MAAM,cAAc,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC;gBACrD,QAAQ,EAAE,YAAY,CAAC,EAAE;gBACzB,YAAY,EAAE,EAAE,EAAE,EAAE,YAAY,CAAC,EAAE,EAAE;gBACrC,WAAW,EAAE,MAAM,CAAC,SAAS;gBAC7B,MAAM,EACJ,MAAM,CAAC,MAAM,KAAK,SAAS;oBACzB,CAAC,CAAC,aAAa;oBACf,CAAC,CAAC,mCAAc,CAAC,gBAAgB;gBACrC,kBAAkB,EAAE,cAAc,CAAC,MAAM;gBACzC,2BAA2B,EAAE,MAAM,CAAC,2BAA2B;gBAC/D,YAAY,EAAE,MAAM,CAAC,UAAU,IAAI,IAAI;gBACvC,GAAG,MAAM,CAAC,cAAc;aACzB,CAAC,CAAC;YACH,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACxE,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAGjC,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;gBACzB,MAAM,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC;oBACxC,SAAS,EAAE,WAAW,CAAC,EAAE;oBACzB,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC,MAAM;oBACnC,aAAa,EAAE,MAAM,CAAC,aAAa,CAAC,aAAa;iBAClD,CAAC,CAAC;YACL,CAAC;YAGD,IAAI,MAAM,CAAC,UAAU,IAAI,OAAO,EAAE,CAAC;gBACjC,MAAM,MAAM,GAAG,MAAM,CAAC,aAAa,EAAE,MAAM,IAAI,EAAE,CAAC;gBAElD,MAAM,KAAK,GACT,MAAM,CAAC,aAAa,EAAE,aAAa,IAAI,MAAM,CAAC,aAAa,IAAI,EAAE,CAAC;gBACpE,MAAM,cAAc,GAAG,KAAK;oBAC1B,CAAC,CAAC,GAAG,MAAM,cAAc,KAAK,EAAE,CAAC,IAAI,EAAE;oBACvC,CAAC,CAAC,MAAM,CAAC;gBAEX,gBAAgB,CAAC,WAAW,CAAC,IAAI,CAAC;oBAChC,UAAU,EAAE,MAAM,CAAC,UAAU;oBAC7B,QAAQ,EAAE,MAAM,CAAC,SAAS;oBAC1B,MAAM,EAAE,cAAc;iBACvB,CAAC,CAAC;YACL,CAAC;YAKD,IAAI,gBAAgB,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;gBACvC,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,8CAA8C,gBAAgB,CAAC,KAAK,CAAC,WAAW,gCAAgC,CACjH,CAAC;gBACF,MAAM;YACR,CAAC;QACH,CAAC;QAED,YAAY,CAAC,SAAS,GAAG,cAAc,CAAC;QAGxC,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,WAAW,IAAI,CAAC,kBAAkB,CAAC,MAAM,wBAAwB,CAClE,CAAC;QACF,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC3C,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;YACjD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,uBAAuB,IAAI,CAAC,WAAW,CAAC,IAAI,YAAY,KAAK,CAAC,OAAO,EAAE,EACvE,KAAK,CAAC,KAAK,CACZ,CAAC;YACJ,CAAC;YAED,IAAI,gBAAgB,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC;gBAC7C,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,wBAAwB,IAAI,CAAC,WAAW,CAAC,IAAI,8BAA8B,CAC5E,CAAC;gBACF,MAAM;YACR,CAAC;QACH,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,oCAAoC,YAAY,CAAC,EAAE,GAAG,CAAC,CAAC;QACxE,OAAO,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACzD,CAAC;IAEO,2BAA2B,CAAC,QAAgB;QAClD,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,YAAY;gBACf,OAAO,mCAAc,CAAC,cAAc,CAAC;YACvC,KAAK,cAAc,CAAC;YACpB,KAAK,cAAc;gBAIjB,OAAO,mCAAc,CAAC,sBAAsB,CAAC;YAC/C;gBAEE,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,gCAAgC,QAAQ,0CAA0C,CACnF,CAAC;gBACF,OAAO,mCAAc,CAAC,sBAAsB,CAAC;QACjD,CAAC;IACH,CAAC;CACF,CAAA;AArVY,0DAAuB;kCAAvB,uBAAuB;IADnC,IAAA,mBAAU,GAAE;IAMR,WAAA,IAAA,eAAM,EAAC,yBAAyB,CAAC,CAAA;IAEjC,WAAA,IAAA,eAAM,EAAC,sBAAsB,CAAC,CAAA;IAE9B,WAAA,IAAA,0BAAgB,EAAC,wBAAQ,CAAC,CAAA;IAE1B,WAAA,IAAA,0BAAgB,EAAC,4BAAY,CAAC,CAAA;qCAPN,kDAAsB;QAEb,GAAG,SAIC,oBAAU;QAEN,oBAAU;QACV,mDAAuB;QAC1B,6CAAoB;QACxB,qCAAgB;QACb,4CAAmB;GAhBhD,uBAAuB,CAqVnC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { BaseEntity } from '../core-entities/base.entity';
|
|
2
|
+
import { Session } from '../core-entities/session.entity';
|
|
3
|
+
import { SubAgent } from './sub-agent.entity';
|
|
4
|
+
export declare enum SubAgentRunStatus {
|
|
5
|
+
RUNNING = "running",
|
|
6
|
+
COMPLETED = "completed",
|
|
7
|
+
FAILED = "failed",
|
|
8
|
+
TIMEOUT = "timeout",
|
|
9
|
+
CANCELLED = "cancelled"
|
|
10
|
+
}
|
|
11
|
+
export declare class SubAgentRun extends BaseEntity {
|
|
12
|
+
parent_session_id: string;
|
|
13
|
+
parentSession: Session;
|
|
14
|
+
child_session_id: string;
|
|
15
|
+
childSession: Session | null;
|
|
16
|
+
sub_agent_id: string;
|
|
17
|
+
subAgent: SubAgent | null;
|
|
18
|
+
agent_name: string;
|
|
19
|
+
initial_prompt: string;
|
|
20
|
+
status: SubAgentRunStatus;
|
|
21
|
+
started_at: Date;
|
|
22
|
+
completed_at: Date;
|
|
23
|
+
result: string | null;
|
|
24
|
+
error_message: string | null;
|
|
25
|
+
duration_ms: number | null;
|
|
26
|
+
}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.SubAgentRun = exports.SubAgentRunStatus = void 0;
|
|
13
|
+
const typeorm_1 = require("typeorm");
|
|
14
|
+
const base_entity_1 = require("../core-entities/base.entity");
|
|
15
|
+
const session_entity_1 = require("../core-entities/session.entity");
|
|
16
|
+
const sub_agent_entity_1 = require("./sub-agent.entity");
|
|
17
|
+
var SubAgentRunStatus;
|
|
18
|
+
(function (SubAgentRunStatus) {
|
|
19
|
+
SubAgentRunStatus["RUNNING"] = "running";
|
|
20
|
+
SubAgentRunStatus["COMPLETED"] = "completed";
|
|
21
|
+
SubAgentRunStatus["FAILED"] = "failed";
|
|
22
|
+
SubAgentRunStatus["TIMEOUT"] = "timeout";
|
|
23
|
+
SubAgentRunStatus["CANCELLED"] = "cancelled";
|
|
24
|
+
})(SubAgentRunStatus || (exports.SubAgentRunStatus = SubAgentRunStatus = {}));
|
|
25
|
+
let SubAgentRun = class SubAgentRun extends base_entity_1.BaseEntity {
|
|
26
|
+
};
|
|
27
|
+
exports.SubAgentRun = SubAgentRun;
|
|
28
|
+
__decorate([
|
|
29
|
+
(0, typeorm_1.Column)({ type: 'uuid' }),
|
|
30
|
+
__metadata("design:type", String)
|
|
31
|
+
], SubAgentRun.prototype, "parent_session_id", void 0);
|
|
32
|
+
__decorate([
|
|
33
|
+
(0, typeorm_1.ManyToOne)(() => session_entity_1.Session, { onDelete: 'CASCADE' }),
|
|
34
|
+
(0, typeorm_1.JoinColumn)({ name: 'parent_session_id' }),
|
|
35
|
+
__metadata("design:type", session_entity_1.Session)
|
|
36
|
+
], SubAgentRun.prototype, "parentSession", void 0);
|
|
37
|
+
__decorate([
|
|
38
|
+
(0, typeorm_1.Column)({ type: 'uuid' }),
|
|
39
|
+
__metadata("design:type", String)
|
|
40
|
+
], SubAgentRun.prototype, "child_session_id", void 0);
|
|
41
|
+
__decorate([
|
|
42
|
+
(0, typeorm_1.ManyToOne)(() => session_entity_1.Session, { onDelete: 'SET NULL', nullable: true }),
|
|
43
|
+
(0, typeorm_1.JoinColumn)({ name: 'child_session_id' }),
|
|
44
|
+
__metadata("design:type", session_entity_1.Session)
|
|
45
|
+
], SubAgentRun.prototype, "childSession", void 0);
|
|
46
|
+
__decorate([
|
|
47
|
+
(0, typeorm_1.Column)({ type: 'uuid' }),
|
|
48
|
+
__metadata("design:type", String)
|
|
49
|
+
], SubAgentRun.prototype, "sub_agent_id", void 0);
|
|
50
|
+
__decorate([
|
|
51
|
+
(0, typeorm_1.ManyToOne)(() => sub_agent_entity_1.SubAgent, { onDelete: 'SET NULL', nullable: true }),
|
|
52
|
+
(0, typeorm_1.JoinColumn)({ name: 'sub_agent_id' }),
|
|
53
|
+
__metadata("design:type", sub_agent_entity_1.SubAgent)
|
|
54
|
+
], SubAgentRun.prototype, "subAgent", void 0);
|
|
55
|
+
__decorate([
|
|
56
|
+
(0, typeorm_1.Column)({ type: 'text' }),
|
|
57
|
+
__metadata("design:type", String)
|
|
58
|
+
], SubAgentRun.prototype, "agent_name", void 0);
|
|
59
|
+
__decorate([
|
|
60
|
+
(0, typeorm_1.Column)({ type: 'text' }),
|
|
61
|
+
__metadata("design:type", String)
|
|
62
|
+
], SubAgentRun.prototype, "initial_prompt", void 0);
|
|
63
|
+
__decorate([
|
|
64
|
+
(0, typeorm_1.Column)({
|
|
65
|
+
type: 'text',
|
|
66
|
+
default: SubAgentRunStatus.RUNNING,
|
|
67
|
+
}),
|
|
68
|
+
__metadata("design:type", String)
|
|
69
|
+
], SubAgentRun.prototype, "status", void 0);
|
|
70
|
+
__decorate([
|
|
71
|
+
(0, typeorm_1.Column)({ type: 'datetime', nullable: true }),
|
|
72
|
+
__metadata("design:type", Date)
|
|
73
|
+
], SubAgentRun.prototype, "started_at", void 0);
|
|
74
|
+
__decorate([
|
|
75
|
+
(0, typeorm_1.Column)({ type: 'datetime', nullable: true }),
|
|
76
|
+
__metadata("design:type", Date)
|
|
77
|
+
], SubAgentRun.prototype, "completed_at", void 0);
|
|
78
|
+
__decorate([
|
|
79
|
+
(0, typeorm_1.Column)({ type: 'text', nullable: true }),
|
|
80
|
+
__metadata("design:type", String)
|
|
81
|
+
], SubAgentRun.prototype, "result", void 0);
|
|
82
|
+
__decorate([
|
|
83
|
+
(0, typeorm_1.Column)({ type: 'text', nullable: true }),
|
|
84
|
+
__metadata("design:type", String)
|
|
85
|
+
], SubAgentRun.prototype, "error_message", void 0);
|
|
86
|
+
__decorate([
|
|
87
|
+
(0, typeorm_1.Column)({ type: 'integer', nullable: true }),
|
|
88
|
+
__metadata("design:type", Number)
|
|
89
|
+
], SubAgentRun.prototype, "duration_ms", void 0);
|
|
90
|
+
exports.SubAgentRun = SubAgentRun = __decorate([
|
|
91
|
+
(0, typeorm_1.Entity)('sub_agent_runs')
|
|
92
|
+
], SubAgentRun);
|
|
93
|
+
//# sourceMappingURL=sub-agent-run.entity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sub-agent-run.entity.js","sourceRoot":"","sources":["../../../src/sub-agents/sub-agent-run.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAgE;AAChE,8DAA0D;AAC1D,oEAA0D;AAC1D,yDAA8C;AAE9C,IAAY,iBAMX;AAND,WAAY,iBAAiB;IAC3B,wCAAmB,CAAA;IACnB,4CAAuB,CAAA;IACvB,sCAAiB,CAAA;IACjB,wCAAmB,CAAA;IACnB,4CAAuB,CAAA;AACzB,CAAC,EANW,iBAAiB,iCAAjB,iBAAiB,QAM5B;AAGM,IAAM,WAAW,GAAjB,MAAM,WAAY,SAAQ,wBAAU;CAgD1C,CAAA;AAhDY,kCAAW;AAEtB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;sDACC;AAI1B;IAFC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,wBAAO,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IACjD,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC;8BAC3B,wBAAO;kDAAC;AAGvB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;qDACA;AAIzB;IAFC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,wBAAO,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAClE,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC;8BAC3B,wBAAO;iDAAQ;AAG7B;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;iDACJ;AAIrB;IAFC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,2BAAQ,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACnE,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;8BAC3B,2BAAQ;6CAAQ;AAG1B;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;+CACN;AAGnB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;mDACF;AAMvB;IAJC,IAAA,gBAAM,EAAC;QACN,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,iBAAiB,CAAC,OAAO;KACnC,CAAC;;2CACwB;AAG1B;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8BACjC,IAAI;+CAAC;AAGjB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8BAC/B,IAAI;iDAAC;AAGnB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;2CACnB;AAGtB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;kDACZ;AAG7B;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;gDACjB;sBA/ChB,WAAW;IADvB,IAAA,gBAAM,EAAC,gBAAgB,CAAC;GACZ,WAAW,CAgDvB"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Repository } from 'typeorm';
|
|
2
|
+
import { SubAgentRun } from './sub-agent-run.entity';
|
|
3
|
+
export declare class SubAgentRunsService {
|
|
4
|
+
private readonly runsRepository;
|
|
5
|
+
private readonly logger;
|
|
6
|
+
constructor(runsRepository: Repository<SubAgentRun>);
|
|
7
|
+
create(data: {
|
|
8
|
+
parent_session_id: string;
|
|
9
|
+
child_session_id: string;
|
|
10
|
+
sub_agent_id: string;
|
|
11
|
+
agent_name: string;
|
|
12
|
+
initial_prompt: string;
|
|
13
|
+
}): Promise<SubAgentRun>;
|
|
14
|
+
hasActiveRuns(parentSessionId: string): Promise<boolean>;
|
|
15
|
+
getActiveRuns(parentSessionId: string): Promise<SubAgentRun[]>;
|
|
16
|
+
findByChildSessionId(childSessionId: string): Promise<SubAgentRun | null>;
|
|
17
|
+
markCompleted(childSessionId: string, result: string): Promise<SubAgentRun | null>;
|
|
18
|
+
markFailed(childSessionId: string, errorMessage: string): Promise<SubAgentRun | null>;
|
|
19
|
+
cancelAllActiveRuns(parentSessionId: string): Promise<number>;
|
|
20
|
+
}
|