repoburg 1.3.49 → 1.3.51
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/.rgignore +5 -0
- package/backend/dist/src/app.module.js +2 -0
- package/backend/dist/src/app.module.js.map +1 -1
- package/backend/dist/src/core-entities/index.d.ts +2 -0
- package/backend/dist/src/core-entities/index.js +2 -0
- package/backend/dist/src/core-entities/index.js.map +1 -1
- package/backend/dist/src/core-entities/session.entity.d.ts +6 -0
- package/backend/dist/src/core-entities/session.entity.js +29 -0
- package/backend/dist/src/core-entities/session.entity.js.map +1 -1
- package/backend/dist/src/interactive-chat/chat.module.js +2 -0
- package/backend/dist/src/interactive-chat/chat.module.js.map +1 -1
- package/backend/dist/src/interactive-chat/chat.service.d.ts +3 -1
- package/backend/dist/src/interactive-chat/chat.service.js +25 -9
- package/backend/dist/src/interactive-chat/chat.service.js.map +1 -1
- package/backend/dist/src/llm-orchestration/action-handlers/invoke-subagent.handler.d.ts +20 -0
- package/backend/dist/src/llm-orchestration/action-handlers/invoke-subagent.handler.js +233 -0
- package/backend/dist/src/llm-orchestration/action-handlers/invoke-subagent.handler.js.map +1 -0
- package/backend/dist/src/llm-orchestration/action-handlers/list-sub-agents.handler.d.ts +15 -0
- package/backend/dist/src/llm-orchestration/action-handlers/list-sub-agents.handler.js +93 -0
- package/backend/dist/src/llm-orchestration/action-handlers/list-sub-agents.handler.js.map +1 -0
- package/backend/dist/src/llm-orchestration/hooks/follow-up-post-execution.hook.js +6 -1
- package/backend/dist/src/llm-orchestration/hooks/follow-up-post-execution.hook.js.map +1 -1
- package/backend/dist/src/llm-orchestration/hooks/sub-agent-final-response.hook.d.ts +12 -0
- package/backend/dist/src/llm-orchestration/hooks/sub-agent-final-response.hook.js +50 -0
- package/backend/dist/src/llm-orchestration/hooks/sub-agent-final-response.hook.js.map +1 -0
- package/backend/dist/src/llm-orchestration/llm-orchestration.interfaces.d.ts +5 -0
- package/backend/dist/src/llm-orchestration/llm-orchestration.interfaces.js +2 -0
- package/backend/dist/src/llm-orchestration/llm-orchestration.interfaces.js.map +1 -1
- package/backend/dist/src/llm-orchestration/llm-orchestration.module.js +24 -3
- package/backend/dist/src/llm-orchestration/llm-orchestration.module.js.map +1 -1
- package/backend/dist/src/llm-orchestration/llm-turn-processor.service.js +1 -0
- package/backend/dist/src/llm-orchestration/llm-turn-processor.service.js.map +1 -1
- package/backend/dist/src/llm-provider/llm-provider.interface.d.ts +2 -0
- package/backend/dist/src/llm-provider/llm-provider.interface.js.map +1 -1
- package/backend/dist/src/llm-provider/zai-llm.provider.js +18 -0
- package/backend/dist/src/llm-provider/zai-llm.provider.js.map +1 -1
- package/backend/dist/src/llm-responses/llm-responses.service.d.ts +3 -1
- package/backend/dist/src/llm-responses/llm-responses.service.js +4 -1
- package/backend/dist/src/llm-responses/llm-responses.service.js.map +1 -1
- package/backend/dist/src/seeding/data/system-prompts/default_master-agent.d.ts +1 -1
- package/backend/dist/src/seeding/data/system-prompts/default_master-agent.js +4 -0
- package/backend/dist/src/seeding/data/system-prompts/default_master-agent.js.map +1 -1
- package/backend/dist/src/seeding/data/system-prompts/native_tool_agent.d.ts +1 -1
- package/backend/dist/src/seeding/data/system-prompts/native_tool_agent.js +4 -0
- package/backend/dist/src/seeding/data/system-prompts/native_tool_agent.js.map +1 -1
- package/backend/dist/src/session-inputs/session-inputs.module.js +1 -1
- package/backend/dist/src/session-inputs/session-inputs.module.js.map +1 -1
- package/backend/dist/src/sessions/dto/session.dto.d.ts +4 -0
- package/backend/dist/src/sessions/dto/session.dto.js +20 -0
- package/backend/dist/src/sessions/dto/session.dto.js.map +1 -1
- package/backend/dist/src/sessions/sessions.controller.d.ts +1 -0
- package/backend/dist/src/sessions/sessions.controller.js +10 -0
- package/backend/dist/src/sessions/sessions.controller.js.map +1 -1
- package/backend/dist/src/sessions/sessions.service.d.ts +1 -0
- package/backend/dist/src/sessions/sessions.service.js +23 -0
- package/backend/dist/src/sessions/sessions.service.js.map +1 -1
- package/backend/dist/src/sub-agents/dto/create-sub-agent.dto.d.ts +9 -0
- package/backend/dist/src/sub-agents/dto/create-sub-agent.dto.js +52 -0
- package/backend/dist/src/sub-agents/dto/create-sub-agent.dto.js.map +1 -0
- package/backend/dist/src/sub-agents/dto/update-sub-agent.dto.d.ts +9 -0
- package/backend/dist/src/sub-agents/dto/update-sub-agent.dto.js +53 -0
- package/backend/dist/src/sub-agents/dto/update-sub-agent.dto.js.map +1 -0
- package/backend/dist/src/sub-agents/sub-agent.entity.d.ts +14 -0
- package/backend/dist/src/sub-agents/sub-agent.entity.js +67 -0
- package/backend/dist/src/sub-agents/sub-agent.entity.js.map +1 -0
- package/backend/dist/src/sub-agents/sub-agents.controller.d.ts +12 -0
- package/backend/dist/src/sub-agents/sub-agents.controller.js +82 -0
- package/backend/dist/src/sub-agents/sub-agents.controller.js.map +1 -0
- package/backend/dist/src/sub-agents/sub-agents.module.d.ts +2 -0
- package/backend/dist/src/sub-agents/sub-agents.module.js +26 -0
- package/backend/dist/src/sub-agents/sub-agents.module.js.map +1 -0
- package/backend/dist/src/sub-agents/sub-agents.service.d.ts +15 -0
- package/backend/dist/src/sub-agents/sub-agents.service.js +74 -0
- package/backend/dist/src/sub-agents/sub-agents.service.js.map +1 -0
- package/backend/dist/src/system-prompts/system-prompts.service.d.ts +1 -1
- package/backend/dist/src/system-prompts/system-prompts.service.js +23 -14
- package/backend/dist/src/system-prompts/system-prompts.service.js.map +1 -1
- package/backend/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +1 -1
package/.rgignore
CHANGED
|
@@ -12,6 +12,7 @@ const app_controller_1 = require("./app.controller");
|
|
|
12
12
|
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
|
+
const sub_agent_entity_1 = require("./sub-agents/sub-agent.entity");
|
|
15
16
|
const projects_module_1 = require("./projects/projects.module");
|
|
16
17
|
const sessions_module_1 = require("./sessions/sessions.module");
|
|
17
18
|
const session_inputs_module_1 = require("./session-inputs/session-inputs.module");
|
|
@@ -74,6 +75,7 @@ exports.AppModule = AppModule = __decorate([
|
|
|
74
75
|
core_entities_1.CustomVariable,
|
|
75
76
|
core_entities_1.ToolHook,
|
|
76
77
|
core_entities_1.LlmCallLog,
|
|
78
|
+
sub_agent_entity_1.SubAgent,
|
|
77
79
|
],
|
|
78
80
|
subscribers: [session_input_subscriber_1.SessionInputSubscriber],
|
|
79
81
|
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,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,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;AAyDM,IAAM,SAAS,GAAf,MAAM,SAAS;CAAG,CAAA;AAAZ,8BAAS;oBAAT,SAAS;IAvDrB,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;iBACT;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"}
|
|
@@ -30,4 +30,6 @@ __exportStar(require("./mcp-tool.entity"), exports);
|
|
|
30
30
|
__exportStar(require("./custom-variable.entity"), exports);
|
|
31
31
|
__exportStar(require("./tool-hook.entity"), exports);
|
|
32
32
|
__exportStar(require("./llm-call-log.entity"), exports);
|
|
33
|
+
__exportStar(require("./tool-hook.entity"), exports);
|
|
34
|
+
__exportStar(require("./llm-call-log.entity"), exports);
|
|
33
35
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core-entities/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,mDAAiC;AACjC,mDAAiC;AACjC,4DAA0C;AAC1C,yDAAuC;AACvC,qDAAmC;AACnC,yDAAuC;AACvC,yDAAuC;AACvC,0DAAwC;AACxC,6DAA2C;AAC3C,2DAAyC;AACzC,sDAAoC;AACpC,oDAAkC;AAClC,2DAAyC;AACzC,qDAAmC;AACnC,wDAAsC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core-entities/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,mDAAiC;AACjC,mDAAiC;AACjC,4DAA0C;AAC1C,yDAAuC;AACvC,qDAAmC;AACnC,yDAAuC;AACvC,yDAAuC;AACvC,0DAAwC;AACxC,6DAA2C;AAC3C,2DAAyC;AACzC,sDAAoC;AACpC,oDAAkC;AAClC,2DAAyC;AACzC,qDAAmC;AACnC,wDAAsC;AACtC,qDAAmC;AACnC,wDAAsC"}
|
|
@@ -4,6 +4,7 @@ import { ContextTemplate } from './context-template.entity';
|
|
|
4
4
|
import { SessionInput } from './session-input.entity';
|
|
5
5
|
import { SystemPrompt } from './system-prompt.entity';
|
|
6
6
|
import { ReasoningEffort } from '../llm-provider/llm-provider.interface';
|
|
7
|
+
import { SubAgent } from '../sub-agents/sub-agent.entity';
|
|
7
8
|
export declare class Session extends BaseEntity {
|
|
8
9
|
project_id: string | null;
|
|
9
10
|
project: Project;
|
|
@@ -19,6 +20,11 @@ export declare class Session extends BaseEntity {
|
|
|
19
20
|
url: string | null;
|
|
20
21
|
model_id: string | null;
|
|
21
22
|
reasoning_effort: ReasoningEffort | null;
|
|
23
|
+
sub_agent_id: string | null;
|
|
24
|
+
subAgent: SubAgent;
|
|
25
|
+
parent_session_id: string | null;
|
|
26
|
+
parentSession: Session;
|
|
22
27
|
sessionInputs: SessionInput[];
|
|
28
|
+
childSessions: Session[];
|
|
23
29
|
sessionInputCount: number;
|
|
24
30
|
}
|
|
@@ -17,6 +17,7 @@ const context_template_entity_1 = require("./context-template.entity");
|
|
|
17
17
|
const session_input_entity_1 = require("./session-input.entity");
|
|
18
18
|
const system_prompt_entity_1 = require("./system-prompt.entity");
|
|
19
19
|
const llm_provider_interface_1 = require("../llm-provider/llm-provider.interface");
|
|
20
|
+
const sub_agent_entity_1 = require("../sub-agents/sub-agent.entity");
|
|
20
21
|
let Session = class Session extends base_entity_1.BaseEntity {
|
|
21
22
|
};
|
|
22
23
|
exports.Session = Session;
|
|
@@ -92,10 +93,38 @@ __decorate([
|
|
|
92
93
|
(0, typeorm_1.Column)({ type: 'text', nullable: true }),
|
|
93
94
|
__metadata("design:type", String)
|
|
94
95
|
], Session.prototype, "reasoning_effort", void 0);
|
|
96
|
+
__decorate([
|
|
97
|
+
(0, typeorm_1.Column)({ type: 'uuid', nullable: true }),
|
|
98
|
+
__metadata("design:type", String)
|
|
99
|
+
], Session.prototype, "sub_agent_id", void 0);
|
|
100
|
+
__decorate([
|
|
101
|
+
(0, typeorm_1.ManyToOne)(() => sub_agent_entity_1.SubAgent, {
|
|
102
|
+
nullable: true,
|
|
103
|
+
onDelete: 'SET NULL',
|
|
104
|
+
}),
|
|
105
|
+
(0, typeorm_1.JoinColumn)({ name: 'sub_agent_id' }),
|
|
106
|
+
__metadata("design:type", sub_agent_entity_1.SubAgent)
|
|
107
|
+
], Session.prototype, "subAgent", void 0);
|
|
108
|
+
__decorate([
|
|
109
|
+
(0, typeorm_1.Column)({ type: 'uuid', nullable: true }),
|
|
110
|
+
__metadata("design:type", String)
|
|
111
|
+
], Session.prototype, "parent_session_id", void 0);
|
|
112
|
+
__decorate([
|
|
113
|
+
(0, typeorm_1.ManyToOne)(() => Session, {
|
|
114
|
+
nullable: true,
|
|
115
|
+
onDelete: 'SET NULL',
|
|
116
|
+
}),
|
|
117
|
+
(0, typeorm_1.JoinColumn)({ name: 'parent_session_id' }),
|
|
118
|
+
__metadata("design:type", Session)
|
|
119
|
+
], Session.prototype, "parentSession", void 0);
|
|
95
120
|
__decorate([
|
|
96
121
|
(0, typeorm_1.OneToMany)(() => session_input_entity_1.SessionInput, (sessionInput) => sessionInput.session),
|
|
97
122
|
__metadata("design:type", Array)
|
|
98
123
|
], Session.prototype, "sessionInputs", void 0);
|
|
124
|
+
__decorate([
|
|
125
|
+
(0, typeorm_1.OneToMany)(() => Session, 'parent_session_id'),
|
|
126
|
+
__metadata("design:type", Array)
|
|
127
|
+
], Session.prototype, "childSessions", void 0);
|
|
99
128
|
exports.Session = Session = __decorate([
|
|
100
129
|
(0, typeorm_1.Entity)('sessions')
|
|
101
130
|
], Session);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.entity.js","sourceRoot":"","sources":["../../../src/core-entities/session.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAA2E;AAC3E,+CAA2C;AAC3C,qDAA2C;AAC3C,uEAA4D;AAC5D,iEAAsD;AACtD,iEAAsD;AACtD,mFAAyE;
|
|
1
|
+
{"version":3,"file":"session.entity.js","sourceRoot":"","sources":["../../../src/core-entities/session.entity.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,6 +20,7 @@ const message_bus_module_1 = require("../message-bus/message-bus.module");
|
|
|
20
20
|
const sessions_module_1 = require("../sessions/sessions.module");
|
|
21
21
|
const system_prompts_module_1 = require("../system-prompts/system-prompts.module");
|
|
22
22
|
const llm_orchestration_module_1 = require("../llm-orchestration/llm-orchestration.module");
|
|
23
|
+
const sub_agents_module_1 = require("../sub-agents/sub-agents.module");
|
|
23
24
|
let InteractiveChatModule = class InteractiveChatModule {
|
|
24
25
|
};
|
|
25
26
|
exports.InteractiveChatModule = InteractiveChatModule;
|
|
@@ -35,6 +36,7 @@ exports.InteractiveChatModule = InteractiveChatModule = __decorate([
|
|
|
35
36
|
(0, common_1.forwardRef)(() => sessions_module_1.SessionsModule),
|
|
36
37
|
(0, common_1.forwardRef)(() => system_prompts_module_1.SystemPromptsModule),
|
|
37
38
|
(0, common_1.forwardRef)(() => llm_orchestration_module_1.LlmOrchestrationModule),
|
|
39
|
+
sub_agents_module_1.SubAgentsModule,
|
|
38
40
|
],
|
|
39
41
|
controllers: [streaming_controller_1.StreamingController],
|
|
40
42
|
providers: [chat_service_1.ChatService],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat.module.js","sourceRoot":"","sources":["../../../src/interactive-chat/chat.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAoD;AACpD,6CAAgD;AAChD,iDAA6C;AAC7C,iEAA6D;AAC7D,gFAAqE;AACrE,6EAAwE;AACxE,2DAAuD;AACvD,gFAA2E;AAC3E,4FAAuF;AACvF,0EAAqE;AACrE,iEAA6D;AAC7D,mFAA8E;AAC9E,4FAAuF;
|
|
1
|
+
{"version":3,"file":"chat.module.js","sourceRoot":"","sources":["../../../src/interactive-chat/chat.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAoD;AACpD,6CAAgD;AAChD,iDAA6C;AAC7C,iEAA6D;AAC7D,gFAAqE;AACrE,6EAAwE;AACxE,2DAAuD;AACvD,gFAA2E;AAC3E,4FAAuF;AACvF,0EAAqE;AACrE,iEAA6D;AAC7D,mFAA8E;AAC9E,4FAAuF;AACvF,uEAAkE;AAmB3D,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;CAAG,CAAA;AAAxB,sDAAqB;gCAArB,qBAAqB;IAjBjC,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,uBAAa,CAAC,UAAU,CAAC,CAAC,mCAAY,CAAC,CAAC;YACxC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,uCAAiB,CAAC;YACnC,4BAAY;YACZ,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,yCAAkB,CAAC;YACpC,iDAAsB;YACtB,qCAAgB;YAChB,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,gCAAc,CAAC;YAChC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,2CAAmB,CAAC;YACrC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,iDAAsB,CAAC;YACxC,mCAAe;SAChB;QACD,WAAW,EAAE,CAAC,0CAAmB,CAAC;QAClC,SAAS,EAAE,CAAC,0BAAW,CAAC;QACxB,OAAO,EAAE,CAAC,0BAAW,EAAE,qBAAqB,CAAC;KAC9C,CAAC;GACW,qBAAqB,CAAG"}
|
|
@@ -6,6 +6,7 @@ import { MessageBusService } from '../message-bus/message-bus.service';
|
|
|
6
6
|
import { SessionsService } from '../sessions/sessions.service';
|
|
7
7
|
import { SystemPromptsService } from '../system-prompts/system-prompts.service';
|
|
8
8
|
import { ToolSchemaService } from '../llm-orchestration/tool-schema.service';
|
|
9
|
+
import { SubAgentsService } from '../sub-agents/sub-agents.service';
|
|
9
10
|
import { Repository } from 'typeorm';
|
|
10
11
|
import { SessionInput } from '../core-entities/session-input.entity';
|
|
11
12
|
export declare class ChatService {
|
|
@@ -17,11 +18,12 @@ export declare class ChatService {
|
|
|
17
18
|
private readonly sessionsService;
|
|
18
19
|
private readonly systemPromptsService;
|
|
19
20
|
private readonly toolSchemaService;
|
|
21
|
+
private readonly subAgentsService;
|
|
20
22
|
private readonly handlerRegistry;
|
|
21
23
|
private readonly sessionInputsRepository;
|
|
22
24
|
private readonly logger;
|
|
23
25
|
private activeRequests;
|
|
24
|
-
constructor(llmProvider: LlmProvider, eventsGateway: EventsGateway, llmResponsesService: LlmResponsesService, applicationStateService: ApplicationStateService, messageBusService: MessageBusService, sessionsService: SessionsService, systemPromptsService: SystemPromptsService, toolSchemaService: ToolSchemaService, handlerRegistry: Map<string, any>, sessionInputsRepository: Repository<SessionInput>);
|
|
26
|
+
constructor(llmProvider: LlmProvider, eventsGateway: EventsGateway, llmResponsesService: LlmResponsesService, applicationStateService: ApplicationStateService, messageBusService: MessageBusService, sessionsService: SessionsService, systemPromptsService: SystemPromptsService, toolSchemaService: ToolSchemaService, subAgentsService: SubAgentsService, handlerRegistry: Map<string, any>, sessionInputsRepository: Repository<SessionInput>);
|
|
25
27
|
private getHistory;
|
|
26
28
|
sendMessage(sessionId: string, message: string, isManual: boolean): Promise<void>;
|
|
27
29
|
cancelRequest(sessionId: string): boolean;
|
|
@@ -23,11 +23,12 @@ const message_bus_service_1 = require("../message-bus/message-bus.service");
|
|
|
23
23
|
const sessions_service_1 = require("../sessions/sessions.service");
|
|
24
24
|
const system_prompts_service_1 = require("../system-prompts/system-prompts.service");
|
|
25
25
|
const tool_schema_service_1 = require("../llm-orchestration/tool-schema.service");
|
|
26
|
+
const sub_agents_service_1 = require("../sub-agents/sub-agents.service");
|
|
26
27
|
const typeorm_1 = require("@nestjs/typeorm");
|
|
27
28
|
const typeorm_2 = require("typeorm");
|
|
28
29
|
const session_input_entity_1 = require("../core-entities/session-input.entity");
|
|
29
30
|
let ChatService = ChatService_1 = class ChatService {
|
|
30
|
-
constructor(llmProvider, eventsGateway, llmResponsesService, applicationStateService, messageBusService, sessionsService, systemPromptsService, toolSchemaService, handlerRegistry, sessionInputsRepository) {
|
|
31
|
+
constructor(llmProvider, eventsGateway, llmResponsesService, applicationStateService, messageBusService, sessionsService, systemPromptsService, toolSchemaService, subAgentsService, handlerRegistry, sessionInputsRepository) {
|
|
31
32
|
this.llmProvider = llmProvider;
|
|
32
33
|
this.eventsGateway = eventsGateway;
|
|
33
34
|
this.llmResponsesService = llmResponsesService;
|
|
@@ -36,6 +37,7 @@ let ChatService = ChatService_1 = class ChatService {
|
|
|
36
37
|
this.sessionsService = sessionsService;
|
|
37
38
|
this.systemPromptsService = systemPromptsService;
|
|
38
39
|
this.toolSchemaService = toolSchemaService;
|
|
40
|
+
this.subAgentsService = subAgentsService;
|
|
39
41
|
this.handlerRegistry = handlerRegistry;
|
|
40
42
|
this.sessionInputsRepository = sessionInputsRepository;
|
|
41
43
|
this.logger = new common_1.Logger(ChatService_1.name);
|
|
@@ -59,6 +61,9 @@ let ChatService = ChatService_1 = class ChatService {
|
|
|
59
61
|
role: 'model',
|
|
60
62
|
parts: [{ text: input.raw_llm_response || '' }],
|
|
61
63
|
};
|
|
64
|
+
if (input.thoughts) {
|
|
65
|
+
content.thoughts = input.thoughts;
|
|
66
|
+
}
|
|
62
67
|
if (input.tool_calls) {
|
|
63
68
|
try {
|
|
64
69
|
content.tool_calls = JSON.parse(input.tool_calls);
|
|
@@ -87,14 +92,23 @@ let ChatService = ChatService_1 = class ChatService {
|
|
|
87
92
|
try {
|
|
88
93
|
const session = await this.sessionsService.findOne(sessionId);
|
|
89
94
|
const isStreaming = await this.applicationStateService.getStreamingEnabled();
|
|
90
|
-
|
|
95
|
+
const isSubAgentSession = !!session.sub_agent_id;
|
|
96
|
+
let subAgent = null;
|
|
97
|
+
let systemPromptToUse = session.systemPrompt;
|
|
91
98
|
let systemPromptId = '';
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
99
|
+
if (isSubAgentSession) {
|
|
100
|
+
subAgent = await this.subAgentsService.findOne(session.sub_agent_id);
|
|
101
|
+
if (subAgent && subAgent.systemPrompt) {
|
|
102
|
+
systemPromptToUse = subAgent.systemPrompt;
|
|
103
|
+
}
|
|
104
|
+
this.logger.log(`Session ${sessionId} is a sub-agent session (agent: ${subAgent?.name})`);
|
|
105
|
+
}
|
|
106
|
+
let finalSystemInstruction = '';
|
|
107
|
+
if (systemPromptToUse) {
|
|
108
|
+
systemPromptId = systemPromptToUse.id;
|
|
109
|
+
this.logger.log(`Lazy rendering system prompt ${systemPromptId} for turn in session ${sessionId}`);
|
|
110
|
+
const rendered = await this.systemPromptsService.findOne(systemPromptId);
|
|
96
111
|
finalSystemInstruction = rendered.prompt_content;
|
|
97
|
-
systemPromptId = promptIdToRender;
|
|
98
112
|
}
|
|
99
113
|
else {
|
|
100
114
|
this.logger.log(`No system prompt found for session ${sessionId}. Fetching default.`);
|
|
@@ -155,6 +169,7 @@ let ChatService = ChatService_1 = class ChatService {
|
|
|
155
169
|
output_token_count: llm_response.usage?.outputTokens,
|
|
156
170
|
cached_token_count: llm_response.usage?.cachedTokens,
|
|
157
171
|
tool_calls: llm_response.tool_calls,
|
|
172
|
+
thoughts: llm_response.thoughts,
|
|
158
173
|
});
|
|
159
174
|
this.eventsGateway.sendToAll('llm-generation-ended', {
|
|
160
175
|
sessionInputId: pendingInput.id,
|
|
@@ -217,8 +232,8 @@ exports.ChatService = ChatService = ChatService_1 = __decorate([
|
|
|
217
232
|
__param(2, (0, common_1.Inject)((0, common_1.forwardRef)(() => llm_responses_service_1.LlmResponsesService))),
|
|
218
233
|
__param(5, (0, common_1.Inject)((0, common_1.forwardRef)(() => sessions_service_1.SessionsService))),
|
|
219
234
|
__param(6, (0, common_1.Inject)((0, common_1.forwardRef)(() => system_prompts_service_1.SystemPromptsService))),
|
|
220
|
-
__param(
|
|
221
|
-
__param(
|
|
235
|
+
__param(9, (0, common_1.Inject)('ACTION_HANDLER_REGISTRY')),
|
|
236
|
+
__param(10, (0, typeorm_1.InjectRepository)(session_input_entity_1.SessionInput)),
|
|
222
237
|
__metadata("design:paramtypes", [Object, events_gateway_1.EventsGateway,
|
|
223
238
|
llm_responses_service_1.LlmResponsesService,
|
|
224
239
|
application_state_service_1.ApplicationStateService,
|
|
@@ -226,6 +241,7 @@ exports.ChatService = ChatService = ChatService_1 = __decorate([
|
|
|
226
241
|
sessions_service_1.SessionsService,
|
|
227
242
|
system_prompts_service_1.SystemPromptsService,
|
|
228
243
|
tool_schema_service_1.ToolSchemaService,
|
|
244
|
+
sub_agents_service_1.SubAgentsService,
|
|
229
245
|
Map,
|
|
230
246
|
typeorm_2.Repository])
|
|
231
247
|
], ChatService);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat.service.js","sourceRoot":"","sources":["../../../src/interactive-chat/chat.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAwE;AACxE,mFAKgD;AAChD,6DAAyD;AACzD,kFAA6E;AAC7E,8FAAyF;AACzF,4EAAuE;AACvE,mEAA+D;AAC/D,qFAAgF;AAChF,kFAA6E;AAC7E,6CAAmD;AACnD,qCAAqC;AACrC,gFAAqE;AAQ9D,IAAM,WAAW,mBAAjB,MAAM,WAAW;IAItB,YAEE,WAAyC,EACxB,aAA4B,EAE7C,mBAAyD,EACxC,uBAAgD,EAChD,iBAAoC,EAErD,eAAiD,EAEjD,oBAA2D,EAC1C,iBAAoC,
|
|
1
|
+
{"version":3,"file":"chat.service.js","sourceRoot":"","sources":["../../../src/interactive-chat/chat.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ActionHandler } from './action-handler.interface';
|
|
2
|
+
import { ActionExecutionResult, PlanExecutionContext, ToolMetadata } from '../llm-orchestration.interfaces';
|
|
3
|
+
import { SubAgentsService } from '../../sub-agents/sub-agents.service';
|
|
4
|
+
import { SessionsService } from '../../sessions/sessions.service';
|
|
5
|
+
import { SessionInputsService } from '../../session-inputs/session-inputs.service';
|
|
6
|
+
import { MessageBusService } from '../../message-bus/message-bus.service';
|
|
7
|
+
export declare class InvokeSubAgentHandler implements ActionHandler {
|
|
8
|
+
private readonly subAgentsService;
|
|
9
|
+
private readonly sessionsService;
|
|
10
|
+
private readonly sessionInputsService;
|
|
11
|
+
private readonly messageBusService;
|
|
12
|
+
readonly toolName = "invoke_subagent";
|
|
13
|
+
private readonly logger;
|
|
14
|
+
constructor(subAgentsService: SubAgentsService, sessionsService: SessionsService, sessionInputsService: SessionInputsService, messageBusService: MessageBusService);
|
|
15
|
+
getMetadata(): ToolMetadata;
|
|
16
|
+
getDefinition(): string;
|
|
17
|
+
execute(args: Record<string, any>, context: PlanExecutionContext): Promise<ActionExecutionResult>;
|
|
18
|
+
private handleNewDelegation;
|
|
19
|
+
private handleFollowUp;
|
|
20
|
+
}
|
|
@@ -0,0 +1,233 @@
|
|
|
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
|
+
var InvokeSubAgentHandler_1;
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.InvokeSubAgentHandler = void 0;
|
|
14
|
+
const common_1 = require("@nestjs/common");
|
|
15
|
+
const sub_agents_service_1 = require("../../sub-agents/sub-agents.service");
|
|
16
|
+
const sessions_service_1 = require("../../sessions/sessions.service");
|
|
17
|
+
const session_inputs_service_1 = require("../../session-inputs/session-inputs.service");
|
|
18
|
+
const message_bus_service_1 = require("../../message-bus/message-bus.service");
|
|
19
|
+
let InvokeSubAgentHandler = InvokeSubAgentHandler_1 = class InvokeSubAgentHandler {
|
|
20
|
+
constructor(subAgentsService, sessionsService, sessionInputsService, messageBusService) {
|
|
21
|
+
this.subAgentsService = subAgentsService;
|
|
22
|
+
this.sessionsService = sessionsService;
|
|
23
|
+
this.sessionInputsService = sessionInputsService;
|
|
24
|
+
this.messageBusService = messageBusService;
|
|
25
|
+
this.toolName = 'invoke_subagent';
|
|
26
|
+
this.logger = new common_1.Logger(InvokeSubAgentHandler_1.name);
|
|
27
|
+
}
|
|
28
|
+
getMetadata() {
|
|
29
|
+
return {
|
|
30
|
+
name: this.toolName,
|
|
31
|
+
description: 'Delegate a task to a specialized sub-agent. The sub-agent will run autonomously and return a result.',
|
|
32
|
+
arguments: [
|
|
33
|
+
{
|
|
34
|
+
name: 'agent_name',
|
|
35
|
+
type: 'string',
|
|
36
|
+
description: 'The name of sub-agent to invoke',
|
|
37
|
+
required: true,
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
name: 'prompt',
|
|
41
|
+
type: 'string',
|
|
42
|
+
description: 'The task or question to pass to sub-agent',
|
|
43
|
+
required: true,
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
name: 'pass_context',
|
|
47
|
+
type: 'boolean',
|
|
48
|
+
description: 'Whether to pass current master session context to sub-agent (default: false)',
|
|
49
|
+
required: false,
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
name: 'context_files',
|
|
53
|
+
type: 'array',
|
|
54
|
+
description: 'Optional: specific files or folders to include in sub-agent context',
|
|
55
|
+
required: false,
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
name: 'session_id',
|
|
59
|
+
type: 'string',
|
|
60
|
+
description: 'Optional: for follow-up, specify existing sub-agent session ID to continue conversation',
|
|
61
|
+
required: false,
|
|
62
|
+
},
|
|
63
|
+
],
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
getDefinition() {
|
|
67
|
+
return `## invoke_subagent
|
|
68
|
+
|
|
69
|
+
Delegate a task to a specialized sub-agent. The sub-agent will run autonomously and return its result.
|
|
70
|
+
|
|
71
|
+
### Parameters:
|
|
72
|
+
- **agent_name** (required): The name of sub-agent to invoke
|
|
73
|
+
- **prompt** (required): The task or question to pass to sub-agent
|
|
74
|
+
- **pass_context** (optional): Whether to pass current master session context to sub-agent (default: false)
|
|
75
|
+
- **context_files** (optional): Specific files or folders to include in sub-agent's context
|
|
76
|
+
- **session_id** (optional): For follow-ups, specify existing sub-agent session ID to continue
|
|
77
|
+
|
|
78
|
+
### Example:
|
|
79
|
+
\`\`\`typescript
|
|
80
|
+
tool: invoke_subagent
|
|
81
|
+
args: {
|
|
82
|
+
agent_name: "code-reviewer",
|
|
83
|
+
prompt: "Review auth module for security issues",
|
|
84
|
+
pass_context: true,
|
|
85
|
+
context_files: ["src/auth/**/*.ts"]
|
|
86
|
+
}
|
|
87
|
+
\`\`\`
|
|
88
|
+
|
|
89
|
+
For follow-ups:
|
|
90
|
+
\`\`\`typescript
|
|
91
|
+
tool: invoke_subagent
|
|
92
|
+
args: {
|
|
93
|
+
session_id: "uuid-of-child-session",
|
|
94
|
+
prompt: "Can you also check password hashing?"
|
|
95
|
+
}
|
|
96
|
+
\`\`\``;
|
|
97
|
+
}
|
|
98
|
+
async execute(args, context) {
|
|
99
|
+
const { agent_name, prompt, pass_context, context_files, session_id } = args;
|
|
100
|
+
console.log('=== DEBUG InvokeSubAgentHandler.execute ===');
|
|
101
|
+
console.log('args:', args);
|
|
102
|
+
console.log('context_files:', context_files);
|
|
103
|
+
if (session_id) {
|
|
104
|
+
return this.handleFollowUp(session_id, prompt, context);
|
|
105
|
+
}
|
|
106
|
+
return this.handleNewDelegation(agent_name, prompt, pass_context || false, context_files, context);
|
|
107
|
+
}
|
|
108
|
+
async handleNewDelegation(agentName, prompt, passContext, contextFiles, context) {
|
|
109
|
+
try {
|
|
110
|
+
console.log('=== DEBUG handleNewDelegation ===');
|
|
111
|
+
console.log('agentName:', agentName);
|
|
112
|
+
console.log('passContext:', passContext);
|
|
113
|
+
console.log('contextFiles:', contextFiles);
|
|
114
|
+
const subAgent = await this.subAgentsService.getAgentByName(agentName);
|
|
115
|
+
if (!subAgent) {
|
|
116
|
+
return {
|
|
117
|
+
status: 'FAILURE',
|
|
118
|
+
summary: `Sub-agent "${agentName}" not found or not active.`,
|
|
119
|
+
error_message: `Available sub-agents: ${(await this.subAgentsService.findActive())
|
|
120
|
+
.map((a) => a.name)
|
|
121
|
+
.join(', ')}`,
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
const subAgentSession = await this.sessionsService.create({
|
|
125
|
+
session_title: `Sub-Agent: ${agentName}`,
|
|
126
|
+
system_prompt_id: subAgent.system_prompt_id || undefined,
|
|
127
|
+
default_initial_context_template_id: subAgent.context_template_id || undefined,
|
|
128
|
+
model_id: subAgent.model_id || undefined,
|
|
129
|
+
sub_agent_id: subAgent.id,
|
|
130
|
+
parent_session_id: context.session_id,
|
|
131
|
+
});
|
|
132
|
+
console.log('Created session:', subAgentSession.id);
|
|
133
|
+
const adHocContextDef = passContext
|
|
134
|
+
? context.masterContextDefinition
|
|
135
|
+
: undefined;
|
|
136
|
+
const contextFilesDef = contextFiles
|
|
137
|
+
? { files: contextFiles, folders: [] }
|
|
138
|
+
: undefined;
|
|
139
|
+
console.log('adHocContextDef:', adHocContextDef);
|
|
140
|
+
console.log('contextFilesDef:', contextFilesDef);
|
|
141
|
+
let finalAdHocContextDef = undefined;
|
|
142
|
+
if (adHocContextDef && contextFilesDef) {
|
|
143
|
+
finalAdHocContextDef = {
|
|
144
|
+
...adHocContextDef,
|
|
145
|
+
files: [...(adHocContextDef.files || []), ...contextFilesDef.files],
|
|
146
|
+
folders: [
|
|
147
|
+
...(adHocContextDef.folders || []),
|
|
148
|
+
...contextFilesDef.folders,
|
|
149
|
+
],
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
else if (adHocContextDef) {
|
|
153
|
+
finalAdHocContextDef = adHocContextDef;
|
|
154
|
+
}
|
|
155
|
+
else if (contextFilesDef) {
|
|
156
|
+
finalAdHocContextDef = contextFilesDef;
|
|
157
|
+
}
|
|
158
|
+
console.log('finalAdHocContextDef:', finalAdHocContextDef);
|
|
159
|
+
const createInputDto = {
|
|
160
|
+
user_prompt: prompt,
|
|
161
|
+
context_template_id: subAgent.context_template_id || undefined,
|
|
162
|
+
ad_hoc_context_definition: finalAdHocContextDef
|
|
163
|
+
? JSON.stringify(finalAdHocContextDef)
|
|
164
|
+
: undefined,
|
|
165
|
+
execution_strategy: 'auto_apply',
|
|
166
|
+
};
|
|
167
|
+
console.log('createInputDto:', createInputDto);
|
|
168
|
+
await this.sessionInputsService.create(subAgentSession.id, createInputDto);
|
|
169
|
+
return {
|
|
170
|
+
status: 'SUCCESS',
|
|
171
|
+
summary: `Invoked sub-agent "${agentName}" - session ID: ${subAgentSession.id}`,
|
|
172
|
+
persisted_args: {
|
|
173
|
+
sub_agent_session_id: subAgentSession.id,
|
|
174
|
+
agentName,
|
|
175
|
+
prompt,
|
|
176
|
+
},
|
|
177
|
+
};
|
|
178
|
+
}
|
|
179
|
+
catch (error) {
|
|
180
|
+
return {
|
|
181
|
+
status: 'FAILURE',
|
|
182
|
+
summary: 'Failed to invoke sub-agent',
|
|
183
|
+
error_message: error.message,
|
|
184
|
+
};
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
async handleFollowUp(sessionId, prompt, context) {
|
|
188
|
+
try {
|
|
189
|
+
const childSession = await this.sessionsService.findOne(sessionId);
|
|
190
|
+
if (!childSession || !childSession.parent_session_id) {
|
|
191
|
+
return {
|
|
192
|
+
status: 'FAILURE',
|
|
193
|
+
summary: 'Invalid session ID or session is not a sub-agent session',
|
|
194
|
+
error_message: 'Session must be a child session to continue',
|
|
195
|
+
};
|
|
196
|
+
}
|
|
197
|
+
const createInputDto = {
|
|
198
|
+
user_prompt: prompt,
|
|
199
|
+
context_template_id: childSession.default_followup_context_template_id || undefined,
|
|
200
|
+
execution_strategy: 'auto_apply',
|
|
201
|
+
};
|
|
202
|
+
const sessionInput = await this.sessionInputsService.create(sessionId, createInputDto);
|
|
203
|
+
this.messageBusService.submit({
|
|
204
|
+
event: 'plan-ready',
|
|
205
|
+
data: {
|
|
206
|
+
sessionId,
|
|
207
|
+
sessionInputId: sessionInput.id,
|
|
208
|
+
},
|
|
209
|
+
});
|
|
210
|
+
return {
|
|
211
|
+
status: 'SUCCESS',
|
|
212
|
+
summary: 'Continuing conversation with sub-agent',
|
|
213
|
+
persisted_args: { sessionId, prompt },
|
|
214
|
+
};
|
|
215
|
+
}
|
|
216
|
+
catch (error) {
|
|
217
|
+
return {
|
|
218
|
+
status: 'FAILURE',
|
|
219
|
+
summary: 'Failed to continue sub-agent session',
|
|
220
|
+
error_message: error.message,
|
|
221
|
+
};
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
};
|
|
225
|
+
exports.InvokeSubAgentHandler = InvokeSubAgentHandler;
|
|
226
|
+
exports.InvokeSubAgentHandler = InvokeSubAgentHandler = InvokeSubAgentHandler_1 = __decorate([
|
|
227
|
+
(0, common_1.Injectable)(),
|
|
228
|
+
__metadata("design:paramtypes", [sub_agents_service_1.SubAgentsService,
|
|
229
|
+
sessions_service_1.SessionsService,
|
|
230
|
+
session_inputs_service_1.SessionInputsService,
|
|
231
|
+
message_bus_service_1.MessageBusService])
|
|
232
|
+
], InvokeSubAgentHandler);
|
|
233
|
+
//# sourceMappingURL=invoke-subagent.handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ActionHandler } from './action-handler.interface';
|
|
2
|
+
import { ActionExecutionResult, PlanExecutionContext } from '../llm-orchestration.interfaces';
|
|
3
|
+
import { SubAgentsService } from '../../sub-agents/sub-agents.service';
|
|
4
|
+
export declare class ListSubAgentsHandler implements ActionHandler {
|
|
5
|
+
private readonly subAgentsService;
|
|
6
|
+
readonly toolName = "list_sub_agents";
|
|
7
|
+
constructor(subAgentsService: SubAgentsService);
|
|
8
|
+
getMetadata(): {
|
|
9
|
+
name: string;
|
|
10
|
+
description: string;
|
|
11
|
+
arguments: any[];
|
|
12
|
+
};
|
|
13
|
+
getDefinition(): string;
|
|
14
|
+
execute(args: Record<string, any>, context: PlanExecutionContext): Promise<ActionExecutionResult>;
|
|
15
|
+
}
|