@sftech/ng-orchestrator 0.0.14 → 0.0.18
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/fesm2022/sftech-ng-orchestrator-agent-rag-upload.component-iqEbrzkb.mjs +189 -0
- package/fesm2022/sftech-ng-orchestrator-agent-rag-upload.component-iqEbrzkb.mjs.map +1 -0
- package/fesm2022/sftech-ng-orchestrator-agents.routes-CVcxzNAE.mjs +270 -0
- package/fesm2022/sftech-ng-orchestrator-agents.routes-CVcxzNAE.mjs.map +1 -0
- package/fesm2022/sftech-ng-orchestrator-chats.routes-BDe9JC4m.mjs +625 -0
- package/fesm2022/sftech-ng-orchestrator-chats.routes-BDe9JC4m.mjs.map +1 -0
- package/fesm2022/{sftech-ng-orchestrator-prompt-display.component-Dr3YvhU-.mjs → sftech-ng-orchestrator-prompt-display.component-BkSLQgGU.mjs} +59 -11
- package/fesm2022/sftech-ng-orchestrator-prompt-display.component-BkSLQgGU.mjs.map +1 -0
- package/fesm2022/sftech-ng-orchestrator-prompt.model-DhASegzq.mjs +57 -0
- package/fesm2022/sftech-ng-orchestrator-prompt.model-DhASegzq.mjs.map +1 -0
- package/fesm2022/{sftech-ng-orchestrator-prompts.routes-gyZH5vh-.mjs → sftech-ng-orchestrator-prompts.routes-DeR6lppF.mjs} +2 -3
- package/fesm2022/sftech-ng-orchestrator-prompts.routes-DeR6lppF.mjs.map +1 -0
- package/fesm2022/sftech-ng-orchestrator-sftech-ng-orchestrator-D9fLhC24.mjs +281 -0
- package/fesm2022/sftech-ng-orchestrator-sftech-ng-orchestrator-D9fLhC24.mjs.map +1 -0
- package/fesm2022/sftech-ng-orchestrator.mjs +1 -1
- package/lib/ng-orchestrator/{agents → admin/agents}/components/agent/agent-display/agent-display.component.d.ts +8 -8
- package/lib/ng-orchestrator/admin/agents/components/agent/agent-rag-upload/agent-rag-upload.component.d.ts +21 -0
- package/lib/ng-orchestrator/{agents → admin/agents}/components/agent/agents-list/agents-list.component.d.ts +6 -4
- package/lib/ng-orchestrator/{prompts → admin/prompts}/components/prompt/prompt-display/prompt-display.component.d.ts +4 -4
- package/lib/ng-orchestrator/{prompts → admin/prompts}/components/prompt/prompts-list/prompts-list.component.d.ts +4 -4
- package/lib/ng-orchestrator/{prompts → admin/prompts}/components/prompt-history/prompt-history-display/prompt-history-display.component.d.ts +5 -5
- package/lib/ng-orchestrator/{prompts → admin/prompts}/components/prompt-history/prompt-history-list/prompt-history-list.component.d.ts +5 -5
- package/lib/ng-orchestrator/chats/agent-chat/agent-chat-message/agent-chat-message.component.d.ts +11 -0
- package/lib/ng-orchestrator/chats/agent-chat/agent-chat-message-human-input/agent-chat-message-human-input.component.d.ts +21 -0
- package/lib/ng-orchestrator/chats/agent-chat/agent-chat-message-human-input-initial/agent-chat-message-human-input-initial.component.d.ts +20 -0
- package/lib/ng-orchestrator/chats/agent-chat/agent-chat.component.d.ts +50 -0
- package/lib/ng-orchestrator/chats/agent-selection/agent-selection.component.d.ts +22 -0
- package/lib/ng-orchestrator/chats/chats.component.d.ts +5 -0
- package/lib/ng-orchestrator/chats/chats.routes.d.ts +16 -0
- package/lib/ng-orchestrator/chats/core/dataprovider/agent-run-icon-text.dataprovider.d.ts +9 -0
- package/lib/ng-orchestrator/core/configuration/orchestrator-config.interface.d.ts +2 -0
- package/lib/ng-orchestrator/core/dataprovider/orchestrator-icon.provider.d.ts +13 -0
- package/lib/ng-orchestrator/{agents/core → core}/dtos/agent-create-request.dto.d.ts +2 -0
- package/lib/ng-orchestrator/{agents/core → core}/dtos/agent-response.dto.d.ts +3 -1
- package/lib/ng-orchestrator/core/dtos/agent-run-create-request.dto.d.ts +3 -0
- package/lib/ng-orchestrator/core/dtos/agent-run-response.dto.d.ts +12 -0
- package/lib/ng-orchestrator/{agents/core → core}/dtos/agent-update-request.dto.d.ts +2 -0
- package/lib/ng-orchestrator/core/dtos/chat-create-request.dto.d.ts +4 -0
- package/lib/ng-orchestrator/core/dtos/chat-message-response.dto.d.ts +6 -0
- package/lib/ng-orchestrator/core/dtos/chat-response.dto.d.ts +6 -0
- package/lib/ng-orchestrator/core/dtos/chat-update-request.dto.d.ts +3 -0
- package/lib/ng-orchestrator/core/dtos/rag-ingest-config.dto.d.ts +4 -0
- package/lib/ng-orchestrator/core/enums/agent-run-status.enum.d.ts +9 -0
- package/lib/ng-orchestrator/core/models/agent-run.model.d.ts +19 -0
- package/lib/ng-orchestrator/{agents/core → core}/models/agent.model.d.ts +4 -2
- package/lib/ng-orchestrator/core/models/chat-message.model.d.ts +10 -0
- package/lib/ng-orchestrator/core/models/chat.model.d.ts +8 -0
- package/lib/ng-orchestrator/core/service/agent-run.service.d.ts +19 -0
- package/lib/ng-orchestrator/{agents/core/services → core/service}/agent.service.d.ts +1 -1
- package/lib/ng-orchestrator/core/service/chat.service.d.ts +20 -0
- package/lib/ng-orchestrator/core/service/orchestrator.service.d.ts +23 -0
- package/lib/ng-orchestrator/{prompts/core/services → core/service}/prompt-history.service.d.ts +1 -1
- package/lib/ng-orchestrator/{prompts/core/services → core/service}/prompt.service.d.ts +1 -1
- package/lib/ng-orchestrator/core/validators/rag.validator.d.ts +2 -0
- package/lib/ng-orchestrator/orchestrator.module.d.ts +2 -1
- package/package.json +2 -2
- package/fesm2022/sftech-ng-orchestrator-agent.service-BI5zPQT-.mjs +0 -106
- package/fesm2022/sftech-ng-orchestrator-agent.service-BI5zPQT-.mjs.map +0 -1
- package/fesm2022/sftech-ng-orchestrator-agents.routes-CnV8ngf_.mjs +0 -214
- package/fesm2022/sftech-ng-orchestrator-agents.routes-CnV8ngf_.mjs.map +0 -1
- package/fesm2022/sftech-ng-orchestrator-chat.routes-BAF4OU_M.mjs +0 -154
- package/fesm2022/sftech-ng-orchestrator-chat.routes-BAF4OU_M.mjs.map +0 -1
- package/fesm2022/sftech-ng-orchestrator-prompt-display.component-Dr3YvhU-.mjs.map +0 -1
- package/fesm2022/sftech-ng-orchestrator-prompt.service-CkWDxT-Y.mjs +0 -107
- package/fesm2022/sftech-ng-orchestrator-prompt.service-CkWDxT-Y.mjs.map +0 -1
- package/fesm2022/sftech-ng-orchestrator-prompts.routes-gyZH5vh-.mjs.map +0 -1
- package/fesm2022/sftech-ng-orchestrator-sftech-ng-orchestrator-CICnJ35v.mjs +0 -158
- package/fesm2022/sftech-ng-orchestrator-sftech-ng-orchestrator-CICnJ35v.mjs.map +0 -1
- package/lib/ng-orchestrator/chat/chat.component.d.ts +0 -38
- package/lib/ng-orchestrator/chat/chat.routes.d.ts +0 -5
- package/lib/ng-orchestrator/core/dtos/llm-response.dto.d.ts +0 -10
- package/lib/ng-orchestrator/core/models/llm-response.model.d.ts +0 -12
- package/lib/ng-orchestrator/core/pipes/bold-input-vars.pipe.d.ts +0 -7
- package/lib/ng-orchestrator/core/service/orcherstrator.service.d.ts +0 -17
- /package/lib/ng-orchestrator/{agents → admin/agents}/agents.component.d.ts +0 -0
- /package/lib/ng-orchestrator/{agents → admin/agents}/agents.routes.d.ts +0 -0
- /package/lib/ng-orchestrator/{agents → admin/agents}/components/agent/agent-display/prompt-helper-modal/prompt-helper-modal.component.d.ts +0 -0
- /package/lib/ng-orchestrator/{prompts → admin/prompts}/prompts.component.d.ts +0 -0
- /package/lib/ng-orchestrator/{prompts → admin/prompts}/prompts.routes.d.ts +0 -0
- /package/lib/ng-orchestrator/{prompts/core → core}/dtos/prompt-history-create.dto.d.ts +0 -0
- /package/lib/ng-orchestrator/{prompts/core → core}/dtos/prompt-history-response.dto.d.ts +0 -0
- /package/lib/ng-orchestrator/{prompts/core → core}/dtos/prompt-history-update.dto.d.ts +0 -0
- /package/lib/ng-orchestrator/{prompts/core → core}/dtos/prompt-request.dto.d.ts +0 -0
- /package/lib/ng-orchestrator/{prompts/core → core}/dtos/prompt-update.dto.d.ts +0 -0
- /package/lib/ng-orchestrator/{prompts/core → core}/models/prompt-history.model.d.ts +0 -0
- /package/lib/ng-orchestrator/{prompts/core → core}/models/prompt.model.d.ts +0 -0
|
@@ -5,8 +5,7 @@ import { DialogService } from 'primeng/dynamicdialog';
|
|
|
5
5
|
import { Panel } from 'primeng/panel';
|
|
6
6
|
import * as i1 from 'primeng/table';
|
|
7
7
|
import { TableModule } from 'primeng/table';
|
|
8
|
-
import { P as PromptService } from './sftech-ng-orchestrator-prompt.
|
|
9
|
-
import { P as PromptDisplayComponent } from './sftech-ng-orchestrator-prompt-display.component-Dr3YvhU-.mjs';
|
|
8
|
+
import { P as PromptService, a as PromptDisplayComponent } from './sftech-ng-orchestrator-prompt-display.component-BkSLQgGU.mjs';
|
|
10
9
|
import { RouterOutlet } from '@angular/router';
|
|
11
10
|
|
|
12
11
|
class PromptsListComponent extends BaseListComponent {
|
|
@@ -49,4 +48,4 @@ const promptsRoutes = [
|
|
|
49
48
|
];
|
|
50
49
|
|
|
51
50
|
export { promptsRoutes };
|
|
52
|
-
//# sourceMappingURL=sftech-ng-orchestrator-prompts.routes-
|
|
51
|
+
//# sourceMappingURL=sftech-ng-orchestrator-prompts.routes-DeR6lppF.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sftech-ng-orchestrator-prompts.routes-DeR6lppF.mjs","sources":["../../../../libs/ng-orchestrator/src/lib/ng-orchestrator/admin/prompts/components/prompt/prompts-list/prompts-list.component.ts","../../../../libs/ng-orchestrator/src/lib/ng-orchestrator/admin/prompts/components/prompt/prompts-list/prompts-list.component.html","../../../../libs/ng-orchestrator/src/lib/ng-orchestrator/admin/prompts/prompts.component.ts","../../../../libs/ng-orchestrator/src/lib/ng-orchestrator/admin/prompts/prompts.component.html","../../../../libs/ng-orchestrator/src/lib/ng-orchestrator/admin/prompts/prompts.routes.ts"],"sourcesContent":["import { Component, inject } from '@angular/core';\r\nimport { BaseListComponent, IconProvider, PaginatorComponent } from '@sftech/ng-shared';\r\nimport { DialogService } from 'primeng/dynamicdialog';\r\nimport { Panel } from 'primeng/panel';\r\nimport { TableModule } from 'primeng/table';\r\nimport { IPromptResponseDto } from '../../../../../core/dtos/prompt-request.dto';\r\nimport { IPromptUpdateDto } from '../../../../../core/dtos/prompt-update.dto';\r\nimport { Prompt } from '../../../../../core/models/prompt.model';\r\nimport { PromptService } from '../../../../../core/service/prompt.service';\r\nimport { PromptDisplayComponent } from '../prompt-display/prompt-display.component';\r\n\r\n@Component({\r\n selector: 'sftech-prompts-list',\r\n imports: [PaginatorComponent, Panel, TableModule],\r\n providers: [DialogService],\r\n templateUrl: './prompts-list.component.html',\r\n styleUrl: './prompts-list.component.css',\r\n})\r\nexport class PromptsListComponent extends BaseListComponent<Prompt, IPromptUpdateDto, IPromptUpdateDto, IPromptResponseDto> {\r\n protected _repo = inject(PromptService);\r\n protected _route = 'prompts';\r\n protected override _modalComponent = PromptDisplayComponent;\r\n protected override detailModalHeaderText = 'Prompt-Details';\r\n\r\n public iconProvider = IconProvider;\r\n\r\n constructor() {\r\n super();\r\n }\r\n}\r\n","<h1 class=\"text-primary-900 font-bold text-xl p-2 my-4\">Prompt-Übersicht</h1>\r\n@if (!data()) {\r\n <p-panel [toggleable]=\"false\">\r\n <p class=\"m-0\">\r\n Daten werden geladen...\r\n </p>\r\n </p-panel>\r\n} @else if (data()!.length === 0) {\r\n <p-panel [toggleable]=\"false\">\r\n <p class=\"m-0\">\r\n Es sind keine Prompts vorhanden.\r\n </p>\r\n </p-panel>\r\n} @else if (data()!.length > 0) {\r\n <p-table [value]=\"data()!\"\r\n stripedRows\r\n [tableStyle]=\"{ 'min-width': '50rem' }\"\r\n selectionMode=\"single\"\r\n [resizableColumns]=\"true\"\r\n dataKey=\"id\"\r\n >\r\n <ng-template #header>\r\n <tr>\r\n @for(column of data()![0].propertiesToShow; track column) {\r\n <th>{{ data()![0].getUiNameForProperty(column) }}</th>\r\n }\r\n </tr>\r\n </ng-template>\r\n <ng-template #body let-prompt>\r\n <tr (click)=\"openDisplay(prompt.id)\" [pSelectableRow]=\"prompt\">\r\n @for(column of data()![0].propertiesToShow; track column) {\r\n <td style=\"white-space: pre-wrap\">\r\n {{ prompt.getPropertyValue(column) }}\r\n </td>\r\n }\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n <sftech-paginator [pagination]=\"odata().pagination\" (odataChanged)=\"updatePagination($event)\"></sftech-paginator>\r\n}\r\n\r\n","import { Component } from '@angular/core';\r\nimport { RouterOutlet } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'sftech-prompts',\r\n imports: [RouterOutlet],\r\n templateUrl: './prompts.component.html',\r\n styleUrl: './prompts.component.css',\r\n})\r\nexport class PromptsComponent {}\r\n","<router-outlet></router-outlet>\r\n\r\n","import { PromptsListComponent } from './components/prompt/prompts-list/prompts-list.component';\r\nimport { PromptsComponent } from './prompts.component';\r\n\r\nexport const promptsRoutes = [\r\n {\r\n path: '',\r\n component: PromptsComponent,\r\n children: [\r\n {\r\n path: '',\r\n component: PromptsListComponent,\r\n },\r\n ],\r\n },\r\n];\r\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,281 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import * as i0 from '@angular/core';
|
|
3
|
+
import { InjectionToken, Inject, Injectable, NgModule } from '@angular/core';
|
|
4
|
+
import { MarkdownModule } from 'ngx-markdown';
|
|
5
|
+
import * as i1 from '@angular/common/http';
|
|
6
|
+
import { BaseDbModel, EFilterTypes, MappedApiError, MappedApiResponseRaw } from '@sftech/ng-shared';
|
|
7
|
+
import { map, catchError, of, Observable } from 'rxjs';
|
|
8
|
+
import { AdminGuard } from '@sftech/ng-auth';
|
|
9
|
+
|
|
10
|
+
// biome-ignore lint/complexity/noStaticOnlyClass: <explanation>
|
|
11
|
+
class OrchestratorConfigMapper {
|
|
12
|
+
static map(config) {
|
|
13
|
+
return {
|
|
14
|
+
orchestratorUrl: config['ORCHESTRATOR_URL'] ?? `${window.location.protocol}//${window.location.hostname}:${window.location.port}/api/orchestrator`,
|
|
15
|
+
orchestratorDbUrl: config['ORCHESTRATOR_DB_URL'] ?? `${window.location.protocol}//${window.location.hostname}:${window.location.port}/api/orchestrator-db`,
|
|
16
|
+
defaultConnectorUrl: config['DEFAULT_CONNECTOR_URL'],
|
|
17
|
+
defaultAnswerSpecification: config['DEFAULT_ANSWER_SPECIFICATION'],
|
|
18
|
+
defaultLlmProvider: config['DEFAULT_LLM_PROVIDER'],
|
|
19
|
+
defaultLlmModel: config['DEFAULT_LLM_MODEL'],
|
|
20
|
+
defaultLlmTemperature: config['DEFAULT_LLM_TEMPERATURE'],
|
|
21
|
+
defaultLlmTimeout: config['DEFAULT_LLM_TIMEOUT'],
|
|
22
|
+
defaultLlmRetries: config['DEFAULT_LLM_RETRIES'],
|
|
23
|
+
defaultLlmMaxTokens: config['DEFAULT_LLM_MAX_TOKENS'],
|
|
24
|
+
defaultRagModel: config['DEFAULT_RAG_PROVIDER'],
|
|
25
|
+
defaultRagProvider: config['DEFAULT_RAG_MODEL'],
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
const ORCHESTRATOR_CONFIGURATION = new InjectionToken('ORCHESTRATOR_CONFIGURATION');
|
|
31
|
+
|
|
32
|
+
var EAgentRunStatus;
|
|
33
|
+
(function (EAgentRunStatus) {
|
|
34
|
+
EAgentRunStatus["INIT"] = "init";
|
|
35
|
+
EAgentRunStatus["PRERUNNING"] = "pre_running";
|
|
36
|
+
EAgentRunStatus["RUNNING"] = "running";
|
|
37
|
+
EAgentRunStatus["POSTRUNNING"] = "post_running";
|
|
38
|
+
EAgentRunStatus["CLARIFICATION_NEEDED"] = "clarification_needed";
|
|
39
|
+
EAgentRunStatus["COMPLETED"] = "completed";
|
|
40
|
+
EAgentRunStatus["FAILED"] = "failed";
|
|
41
|
+
})(EAgentRunStatus || (EAgentRunStatus = {}));
|
|
42
|
+
|
|
43
|
+
class ChatMessage extends BaseDbModel {
|
|
44
|
+
message;
|
|
45
|
+
messageType;
|
|
46
|
+
chatId;
|
|
47
|
+
chat;
|
|
48
|
+
fromDto(dto) {
|
|
49
|
+
const obj = new ChatMessage();
|
|
50
|
+
obj.id = dto.id;
|
|
51
|
+
obj.createdAt = dto.createdAt;
|
|
52
|
+
obj.message = dto.message;
|
|
53
|
+
obj.messageType = dto.messageType;
|
|
54
|
+
obj.chatId = dto.chatId;
|
|
55
|
+
return obj;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
class Chat extends BaseDbModel {
|
|
60
|
+
messages = [];
|
|
61
|
+
agentId;
|
|
62
|
+
fromDto(dto) {
|
|
63
|
+
const obj = new Chat();
|
|
64
|
+
obj.id = dto.id;
|
|
65
|
+
obj.createdAt = dto.createdAt;
|
|
66
|
+
obj.agentId = dto.agentId;
|
|
67
|
+
obj.messages = dto.messages.map((dto) => new ChatMessage().fromDto(dto));
|
|
68
|
+
return obj;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
class AgentRun extends BaseDbModel {
|
|
73
|
+
status;
|
|
74
|
+
step;
|
|
75
|
+
startedAt;
|
|
76
|
+
endedAt;
|
|
77
|
+
agentId;
|
|
78
|
+
agent;
|
|
79
|
+
chatId;
|
|
80
|
+
chat;
|
|
81
|
+
propertiesToShow = ['status', 'step', 'startedAt', 'endedAt'];
|
|
82
|
+
propertyUINames = new Map([
|
|
83
|
+
['status', 'Status'],
|
|
84
|
+
['step', 'Schritt'],
|
|
85
|
+
['startedAt', 'Start'],
|
|
86
|
+
['endedAt', 'Ende'],
|
|
87
|
+
]);
|
|
88
|
+
propertyFilterType = new Map([
|
|
89
|
+
['status', EFilterTypes.STRING],
|
|
90
|
+
['step', EFilterTypes.STRING],
|
|
91
|
+
['startedAt', EFilterTypes.DATE],
|
|
92
|
+
['endedAt', EFilterTypes.DATE],
|
|
93
|
+
]);
|
|
94
|
+
fromDto(dto) {
|
|
95
|
+
const model = new AgentRun();
|
|
96
|
+
model.id = dto.id;
|
|
97
|
+
model.createdAt = new Date(dto.createdAt);
|
|
98
|
+
model.agentId = dto.agentId;
|
|
99
|
+
model.chatId = dto.chatId;
|
|
100
|
+
model.status = dto.status;
|
|
101
|
+
model.startedAt = dto.startedAt;
|
|
102
|
+
model.endedAt = dto.endedAt;
|
|
103
|
+
model.step = dto.step;
|
|
104
|
+
if (dto.chat) {
|
|
105
|
+
model.chat = new Chat().fromDto(dto.chat);
|
|
106
|
+
}
|
|
107
|
+
return model;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
class McpTool {
|
|
112
|
+
name;
|
|
113
|
+
identifier;
|
|
114
|
+
desceription;
|
|
115
|
+
static fromDto(dto) {
|
|
116
|
+
const tool = new McpTool();
|
|
117
|
+
tool.name = dto.name;
|
|
118
|
+
tool.identifier = dto.identifier;
|
|
119
|
+
tool.desceription = dto.description;
|
|
120
|
+
return tool;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
class OrchestratorService {
|
|
125
|
+
http;
|
|
126
|
+
zone;
|
|
127
|
+
config;
|
|
128
|
+
constructor(http, zone, config) {
|
|
129
|
+
this.http = http;
|
|
130
|
+
this.zone = zone;
|
|
131
|
+
this.config = config;
|
|
132
|
+
}
|
|
133
|
+
runAgent(runConfig) {
|
|
134
|
+
const url = `${this.config.orchestratorUrl}/generic/run`;
|
|
135
|
+
return this.http.post(url, runConfig).pipe(map((res) => {
|
|
136
|
+
return res.data;
|
|
137
|
+
}), catchError((err) => {
|
|
138
|
+
const error = new MappedApiError();
|
|
139
|
+
error.messages = err.messages ? err.messages : [];
|
|
140
|
+
return of(new MappedApiError());
|
|
141
|
+
}));
|
|
142
|
+
}
|
|
143
|
+
observeAgentRun(agentRunId) {
|
|
144
|
+
return new Observable((observer) => {
|
|
145
|
+
const eventSource = new EventSource(`${this.config.orchestratorUrl}/generic/stream/${agentRunId}`);
|
|
146
|
+
eventSource.onmessage = (event) => {
|
|
147
|
+
this.zone.run(() => {
|
|
148
|
+
const agentRun = new AgentRun();
|
|
149
|
+
const result = agentRun.fromDto(JSON.parse(event.data));
|
|
150
|
+
observer.next(result);
|
|
151
|
+
// Close EventSource when agent run is completed
|
|
152
|
+
if (result.status === EAgentRunStatus.COMPLETED || result.status === EAgentRunStatus.FAILED) {
|
|
153
|
+
eventSource.close();
|
|
154
|
+
observer.complete();
|
|
155
|
+
}
|
|
156
|
+
});
|
|
157
|
+
};
|
|
158
|
+
eventSource.onerror = (error) => {
|
|
159
|
+
this.zone.run(() => {
|
|
160
|
+
eventSource.close();
|
|
161
|
+
observer.error(error);
|
|
162
|
+
});
|
|
163
|
+
};
|
|
164
|
+
// Cleanup, wenn unsubscribed wird
|
|
165
|
+
return () => eventSource.close();
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
getTools() {
|
|
169
|
+
const url = `${this.config.orchestratorUrl}/tools`;
|
|
170
|
+
return this.http.get(url).pipe(map((res) => {
|
|
171
|
+
const apiResponse = new MappedApiResponseRaw();
|
|
172
|
+
apiResponse.status = res.status;
|
|
173
|
+
apiResponse.messages = res.messages ? res.messages : [];
|
|
174
|
+
apiResponse.isError = false;
|
|
175
|
+
apiResponse.data = res.data.map((t) => McpTool.fromDto(t));
|
|
176
|
+
return apiResponse;
|
|
177
|
+
}), catchError((err) => {
|
|
178
|
+
console.error('Error fetching tools:', err);
|
|
179
|
+
const error = new MappedApiError();
|
|
180
|
+
error.messages = err.messages ? err.messages : [];
|
|
181
|
+
error.status = err.status ? err.status : 500;
|
|
182
|
+
error.isError = true;
|
|
183
|
+
return of(error);
|
|
184
|
+
}));
|
|
185
|
+
}
|
|
186
|
+
storeRagDocuments(files, ragInfo) {
|
|
187
|
+
const url = `${this.config.orchestratorUrl}/rag/store`;
|
|
188
|
+
const formData = new FormData();
|
|
189
|
+
// Add all files to FormData
|
|
190
|
+
files.forEach((file) => {
|
|
191
|
+
formData.append('files', file);
|
|
192
|
+
});
|
|
193
|
+
// Add ragInfo as JSON string or separate fields
|
|
194
|
+
formData.append('agentIdentifier', ragInfo.agentIdentifier);
|
|
195
|
+
if (ragInfo.chatId) {
|
|
196
|
+
formData.append('chatId', ragInfo.chatId.toString());
|
|
197
|
+
}
|
|
198
|
+
return this.http.post(url, formData).pipe(map((res) => {
|
|
199
|
+
console.log(res);
|
|
200
|
+
return res.data;
|
|
201
|
+
}), catchError((err) => {
|
|
202
|
+
console.error('Error storing RAG documents:', err);
|
|
203
|
+
const error = new MappedApiError();
|
|
204
|
+
error.messages = err.messages ? err.messages : [];
|
|
205
|
+
error.status = err.status ? err.status : 500;
|
|
206
|
+
error.isError = true;
|
|
207
|
+
return of(error);
|
|
208
|
+
}));
|
|
209
|
+
}
|
|
210
|
+
chatAgent(agentRunId, message) {
|
|
211
|
+
const url = `${this.config.orchestratorUrl}/generic/chat/${agentRunId}`;
|
|
212
|
+
return this.http.post(url, { message }).pipe(map((res) => {
|
|
213
|
+
return res.data;
|
|
214
|
+
}), catchError((err) => {
|
|
215
|
+
console.error('Error sending chat message:', err);
|
|
216
|
+
const error = new MappedApiError();
|
|
217
|
+
error.messages = err.messages ? err.messages : [];
|
|
218
|
+
error.status = err.status ? err.status : 500;
|
|
219
|
+
error.isError = true;
|
|
220
|
+
return of(error);
|
|
221
|
+
}));
|
|
222
|
+
}
|
|
223
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: OrchestratorService, deps: [{ token: i1.HttpClient }, { token: i0.NgZone }, { token: ORCHESTRATOR_CONFIGURATION }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
224
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: OrchestratorService });
|
|
225
|
+
}
|
|
226
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: OrchestratorService, decorators: [{
|
|
227
|
+
type: Injectable
|
|
228
|
+
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: i0.NgZone }, { type: undefined, decorators: [{
|
|
229
|
+
type: Inject,
|
|
230
|
+
args: [ORCHESTRATOR_CONFIGURATION]
|
|
231
|
+
}] }] });
|
|
232
|
+
|
|
233
|
+
// biome-ignore lint/complexity/noStaticOnlyClass: <explanation>
|
|
234
|
+
class OrchestratorModule {
|
|
235
|
+
static forRoot(config) {
|
|
236
|
+
return {
|
|
237
|
+
ngModule: OrchestratorModule,
|
|
238
|
+
providers: [
|
|
239
|
+
{
|
|
240
|
+
provide: ORCHESTRATOR_CONFIGURATION,
|
|
241
|
+
useValue: OrchestratorConfigMapper.map(config),
|
|
242
|
+
},
|
|
243
|
+
OrchestratorService,
|
|
244
|
+
],
|
|
245
|
+
};
|
|
246
|
+
}
|
|
247
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: OrchestratorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
248
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.14", ngImport: i0, type: OrchestratorModule, imports: [CommonModule, MarkdownModule] });
|
|
249
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: OrchestratorModule, imports: [CommonModule, MarkdownModule] });
|
|
250
|
+
}
|
|
251
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: OrchestratorModule, decorators: [{
|
|
252
|
+
type: NgModule,
|
|
253
|
+
args: [{
|
|
254
|
+
declarations: [],
|
|
255
|
+
imports: [CommonModule, MarkdownModule],
|
|
256
|
+
}]
|
|
257
|
+
}] });
|
|
258
|
+
|
|
259
|
+
const orchestratorRoutes = [
|
|
260
|
+
{
|
|
261
|
+
path: 'chats',
|
|
262
|
+
loadChildren: () => import('./sftech-ng-orchestrator-chats.routes-BDe9JC4m.mjs').then((m) => m.chatsRoutes),
|
|
263
|
+
},
|
|
264
|
+
{
|
|
265
|
+
path: 'admin/prompts',
|
|
266
|
+
loadChildren: () => import('./sftech-ng-orchestrator-prompts.routes-DeR6lppF.mjs').then((m) => m.promptsRoutes),
|
|
267
|
+
canActivate: [AdminGuard],
|
|
268
|
+
},
|
|
269
|
+
{
|
|
270
|
+
path: 'admin/agents',
|
|
271
|
+
loadChildren: () => import('./sftech-ng-orchestrator-agents.routes-CVcxzNAE.mjs').then((m) => m.agentsRoutes),
|
|
272
|
+
canActivate: [AdminGuard],
|
|
273
|
+
},
|
|
274
|
+
];
|
|
275
|
+
|
|
276
|
+
/**
|
|
277
|
+
* Generated bundle index. Do not edit.
|
|
278
|
+
*/
|
|
279
|
+
|
|
280
|
+
export { AgentRun as A, Chat as C, EAgentRunStatus as E, ORCHESTRATOR_CONFIGURATION as O, OrchestratorService as a, ChatMessage as b, OrchestratorModule as c, orchestratorRoutes as o };
|
|
281
|
+
//# sourceMappingURL=sftech-ng-orchestrator-sftech-ng-orchestrator-D9fLhC24.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sftech-ng-orchestrator-sftech-ng-orchestrator-D9fLhC24.mjs","sources":["../../../../libs/ng-orchestrator/src/lib/ng-orchestrator/core/configuration/orchestrator-config.mapper.ts","../../../../libs/ng-orchestrator/src/lib/ng-orchestrator/core/configuration/orchestrator-configuration.token.ts","../../../../libs/ng-orchestrator/src/lib/ng-orchestrator/core/enums/agent-run-status.enum.ts","../../../../libs/ng-orchestrator/src/lib/ng-orchestrator/core/models/chat-message.model.ts","../../../../libs/ng-orchestrator/src/lib/ng-orchestrator/core/models/chat.model.ts","../../../../libs/ng-orchestrator/src/lib/ng-orchestrator/core/models/agent-run.model.ts","../../../../libs/ng-orchestrator/src/lib/ng-orchestrator/core/models/mcp-tool.model.ts","../../../../libs/ng-orchestrator/src/lib/ng-orchestrator/core/service/orchestrator.service.ts","../../../../libs/ng-orchestrator/src/lib/ng-orchestrator/orchestrator.module.ts","../../../../libs/ng-orchestrator/src/lib/ng-orchestrator/orchestrator.routes.ts","../../../../libs/ng-orchestrator/src/sftech-ng-orchestrator.ts"],"sourcesContent":["import { IAppConfig } from '@sftech/ng-shared';\r\nimport { IOrchestratorConfig } from './orchestrator-config.interface';\r\n\r\n// biome-ignore lint/complexity/noStaticOnlyClass: <explanation>\r\nexport class OrchestratorConfigMapper {\r\n public static map(config: IAppConfig): IOrchestratorConfig {\r\n return {\r\n orchestratorUrl: (config['ORCHESTRATOR_URL'] as string) ?? `${window.location.protocol}//${window.location.hostname}:${window.location.port}/api/orchestrator`,\r\n orchestratorDbUrl: (config['ORCHESTRATOR_DB_URL'] as string) ?? `${window.location.protocol}//${window.location.hostname}:${window.location.port}/api/orchestrator-db`,\r\n defaultConnectorUrl: config['DEFAULT_CONNECTOR_URL'] as string,\r\n defaultAnswerSpecification: config['DEFAULT_ANSWER_SPECIFICATION'] as string,\r\n defaultLlmProvider: config['DEFAULT_LLM_PROVIDER'] as string,\r\n defaultLlmModel: config['DEFAULT_LLM_MODEL'] as string,\r\n defaultLlmTemperature: config['DEFAULT_LLM_TEMPERATURE'] as number,\r\n defaultLlmTimeout: config['DEFAULT_LLM_TIMEOUT'] as number,\r\n defaultLlmRetries: config['DEFAULT_LLM_RETRIES'] as number,\r\n defaultLlmMaxTokens: config['DEFAULT_LLM_MAX_TOKENS'] as number,\r\n defaultRagModel: config['DEFAULT_RAG_PROVIDER'] as string,\r\n defaultRagProvider: config['DEFAULT_RAG_MODEL'] as string,\r\n };\r\n }\r\n}\r\n","import {InjectionToken} from \"@angular/core\";\r\nimport {IOrchestratorConfig} from \"./orchestrator-config.interface\";\r\n\r\nexport const ORCHESTRATOR_CONFIGURATION = new InjectionToken<IOrchestratorConfig>('ORCHESTRATOR_CONFIGURATION');","export enum EAgentRunStatus {\r\n INIT = 'init',\r\n PRERUNNING = 'pre_running',\r\n RUNNING = 'running',\r\n POSTRUNNING = 'post_running',\r\n CLARIFICATION_NEEDED = 'clarification_needed',\r\n COMPLETED = 'completed',\r\n FAILED = 'failed',\r\n}\r\n","import { BaseDbModel } from '@sftech/ng-shared';\r\nimport { IChatMessageResponseDto } from '../dtos/chat-message-response.dto';\r\nimport { Chat } from './chat.model';\r\n\r\nexport class ChatMessage extends BaseDbModel {\r\n public message!: string;\r\n\r\n public messageType!: string;\r\n\r\n public chatId!: number;\r\n\r\n public chat?: Chat;\r\n\r\n public override fromDto(dto: IChatMessageResponseDto): ChatMessage {\r\n const obj = new ChatMessage();\r\n obj.id = dto.id!;\r\n obj.createdAt = dto.createdAt!;\r\n\r\n obj.message = dto.message;\r\n obj.messageType = dto.messageType;\r\n obj.chatId = dto.chatId;\r\n return obj;\r\n }\r\n}\r\n","import { BaseDbModel } from '@sftech/ng-shared';\r\nimport { IChatMessageResponseDto } from '../dtos/chat-message-response.dto';\r\nimport { IChatResponseDto } from '../dtos/chat-response.dto';\r\nimport { ChatMessage } from './chat-message.model';\r\n\r\nexport class Chat extends BaseDbModel {\r\n public messages: ChatMessage[] = [];\r\n\r\n public agentId!: number;\r\n\r\n public override fromDto(dto: IChatResponseDto): Chat {\r\n const obj = new Chat();\r\n obj.id = dto.id!;\r\n obj.createdAt = dto.createdAt!;\r\n obj.agentId = dto.agentId;\r\n\r\n obj.messages = dto.messages.map((dto: IChatMessageResponseDto) => new ChatMessage().fromDto(dto));\r\n return obj;\r\n }\r\n}\r\n","import { BaseDbModel, EFilterTypes, IBaseDbResponseDto } from '@sftech/ng-shared';\r\nimport { IAgentResponseDto } from '../dtos/agent-response.dto';\r\nimport { IAgentRunResponseDto } from '../dtos/agent-run-response.dto';\r\nimport { IPromptHistoryResponseDto } from '../dtos/prompt-history-response.dto';\r\nimport { EAgentRunStatus } from '../enums/agent-run-status.enum';\r\nimport { Agent } from './agent.model';\r\nimport { Chat } from './chat.model';\r\nimport { PromptHistory } from './prompt-history.model';\r\nimport { Prompt } from './prompt.model';\r\n\r\nexport class AgentRun extends BaseDbModel {\r\n public status!: EAgentRunStatus;\r\n\r\n public step!: string;\r\n\r\n public startedAt?: Date;\r\n\r\n public endedAt?: Date;\r\n\r\n public agentId?: number;\r\n\r\n public agent?: Agent;\r\n\r\n public chatId?: number;\r\n\r\n public chat?: Chat;\r\n\r\n public override propertiesToShow = ['status', 'step', 'startedAt', 'endedAt'];\r\n\r\n public override propertyUINames = new Map<string, string>([\r\n ['status', 'Status'],\r\n ['step', 'Schritt'],\r\n ['startedAt', 'Start'],\r\n ['endedAt', 'Ende'],\r\n ]);\r\n\r\n public override propertyFilterType = new Map<string, EFilterTypes>([\r\n ['status', EFilterTypes.STRING],\r\n ['step', EFilterTypes.STRING],\r\n ['startedAt', EFilterTypes.DATE],\r\n ['endedAt', EFilterTypes.DATE],\r\n ]);\r\n\r\n public override fromDto(dto: IAgentRunResponseDto): AgentRun {\r\n const model = new AgentRun();\r\n model.id = dto.id;\r\n model.createdAt = new Date(dto.createdAt);\r\n model.agentId = dto.agentId;\r\n model.chatId = dto.chatId;\r\n model.status = dto.status;\r\n model.startedAt = dto.startedAt;\r\n model.endedAt = dto.endedAt;\r\n model.step = dto.step;\r\n\r\n if (dto.chat) {\r\n model.chat = new Chat().fromDto(dto.chat);\r\n }\r\n return model;\r\n }\r\n}\r\n","import {IMcpToolResponseDto} from \"../dtos/mcp-tool-response.dto\";\r\n\r\nexport class McpTool {\r\n name!: string;\r\n identifier!: string;\r\n desceription!: string;\r\n\r\n public static fromDto(dto: IMcpToolResponseDto): McpTool {\r\n const tool = new McpTool();\r\n tool.name = dto.name;\r\n tool.identifier = dto.identifier;\r\n tool.desceription = dto.description;\r\n return tool;\r\n }\r\n}","import { HttpClient } from '@angular/common/http';\r\nimport { Inject, Injectable, NgZone } from '@angular/core';\r\nimport { IApiResponse, MappedApiError, MappedApiResponseRaw } from '@sftech/ng-shared';\r\nimport { Observable, catchError, map, of } from 'rxjs';\r\nimport { IOrchestratorConfig } from '../configuration/orchestrator-config.interface';\r\nimport { ORCHESTRATOR_CONFIGURATION } from '../configuration/orchestrator-configuration.token';\r\nimport { IAgentRunResponseDto } from '../dtos/agent-run-response.dto';\r\nimport { IMcpToolResponseDto } from '../dtos/mcp-tool-response.dto';\r\nimport { IOrchestratorRunDto } from '../dtos/orchestrator-run.dto';\r\nimport { IRagInfoDto } from '../dtos/rag-ingest-config.dto';\r\nimport { EAgentRunStatus } from '../enums/agent-run-status.enum';\r\nimport { AgentRun } from '../models/agent-run.model';\r\nimport { McpTool } from '../models/mcp-tool.model';\r\n\r\n@Injectable()\r\nexport class OrchestratorService {\r\n public constructor(\r\n private readonly http: HttpClient,\r\n private readonly zone: NgZone,\r\n @Inject(ORCHESTRATOR_CONFIGURATION) private readonly config: IOrchestratorConfig,\r\n ) {}\r\n\r\n public runAgent(runConfig: IOrchestratorRunDto): Observable<MappedApiError | number> {\r\n const url = `${this.config.orchestratorUrl}/generic/run`;\r\n return this.http.post<IApiResponse<number>>(url, runConfig).pipe(\r\n map((res) => {\r\n return res.data as number;\r\n }),\r\n catchError((err) => {\r\n const error = new MappedApiError();\r\n error.messages = err.messages ? err.messages : [];\r\n return of(new MappedApiError());\r\n }),\r\n );\r\n }\r\n\r\n public observeAgentRun(agentRunId: number): Observable<MappedApiError | AgentRun> {\r\n return new Observable<AgentRun>((observer) => {\r\n const eventSource = new EventSource(`${this.config.orchestratorUrl}/generic/stream/${agentRunId}`);\r\n\r\n eventSource.onmessage = (event) => {\r\n this.zone.run(() => {\r\n const agentRun = new AgentRun();\r\n const result = agentRun.fromDto(JSON.parse(event.data) as IAgentRunResponseDto);\r\n observer.next(result);\r\n\r\n // Close EventSource when agent run is completed\r\n if (result.status === EAgentRunStatus.COMPLETED || result.status === EAgentRunStatus.FAILED) {\r\n eventSource.close();\r\n observer.complete();\r\n }\r\n });\r\n };\r\n\r\n eventSource.onerror = (error) => {\r\n this.zone.run(() => {\r\n eventSource.close();\r\n observer.error(error);\r\n });\r\n };\r\n\r\n // Cleanup, wenn unsubscribed wird\r\n return () => eventSource.close();\r\n });\r\n }\r\n\r\n public getTools(): Observable<MappedApiResponseRaw<McpTool[]>> {\r\n const url = `${this.config.orchestratorUrl}/tools`;\r\n return this.http.get<IApiResponse<IMcpToolResponseDto[]>>(url).pipe(\r\n map((res) => {\r\n const apiResponse = new MappedApiResponseRaw<McpTool[]>();\r\n apiResponse.status = res.status;\r\n apiResponse.messages = res.messages ? res.messages : [];\r\n apiResponse.isError = false;\r\n apiResponse.data = (res.data as IMcpToolResponseDto[]).map((t) => McpTool.fromDto(t));\r\n return apiResponse;\r\n }),\r\n catchError((err) => {\r\n console.error('Error fetching tools:', err);\r\n const error = new MappedApiError();\r\n error.messages = err.messages ? err.messages : [];\r\n error.status = err.status ? err.status : 500;\r\n error.isError = true;\r\n return of(error);\r\n }),\r\n );\r\n }\r\n\r\n public storeRagDocuments(files: File[], ragInfo: IRagInfoDto): Observable<MappedApiError | boolean> {\r\n const url = `${this.config.orchestratorUrl}/rag/store`;\r\n const formData = new FormData();\r\n\r\n // Add all files to FormData\r\n files.forEach((file) => {\r\n formData.append('files', file);\r\n });\r\n\r\n // Add ragInfo as JSON string or separate fields\r\n formData.append('agentIdentifier', ragInfo.agentIdentifier);\r\n if (ragInfo.chatId) {\r\n formData.append('chatId', ragInfo.chatId.toString());\r\n }\r\n\r\n return this.http.post<IApiResponse<boolean>>(url, formData).pipe(\r\n map((res) => {\r\n console.log(res);\r\n\r\n return res.data as boolean;\r\n }),\r\n catchError((err) => {\r\n console.error('Error storing RAG documents:', err);\r\n const error = new MappedApiError();\r\n error.messages = err.messages ? err.messages : [];\r\n error.status = err.status ? err.status : 500;\r\n error.isError = true;\r\n return of(error);\r\n }),\r\n );\r\n }\r\n\r\n public chatAgent(agentRunId: number, message: string): Observable<MappedApiError | number> {\r\n const url = `${this.config.orchestratorUrl}/generic/chat/${agentRunId}`;\r\n return this.http.post<IApiResponse<number>>(url, { message }).pipe(\r\n map((res) => {\r\n return res.data as number;\r\n }),\r\n catchError((err) => {\r\n console.error('Error sending chat message:', err);\r\n const error = new MappedApiError();\r\n error.messages = err.messages ? err.messages : [];\r\n error.status = err.status ? err.status : 500;\r\n error.isError = true;\r\n return of(error);\r\n }),\r\n );\r\n }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { IAppConfig } from '@sftech/ng-shared';\r\nimport { OrchestratorConfigMapper } from './core/configuration/orchestrator-config.mapper';\r\nimport { ORCHESTRATOR_CONFIGURATION } from './core/configuration/orchestrator-configuration.token';\r\n\r\nimport { MarkdownModule } from 'ngx-markdown';\r\nimport { OrchestratorService } from './core/service/orchestrator.service';\r\n\r\n@NgModule({\r\n declarations: [],\r\n imports: [CommonModule, MarkdownModule],\r\n})\r\n// biome-ignore lint/complexity/noStaticOnlyClass: <explanation>\r\nexport class OrchestratorModule {\r\n public static forRoot(config: IAppConfig): ModuleWithProviders<OrchestratorModule> {\r\n return {\r\n ngModule: OrchestratorModule,\r\n providers: [\r\n {\r\n provide: ORCHESTRATOR_CONFIGURATION,\r\n useValue: OrchestratorConfigMapper.map(config),\r\n },\r\n OrchestratorService,\r\n ],\r\n };\r\n }\r\n}\r\n","import { Route } from '@angular/router';\r\nimport { AdminGuard } from '@sftech/ng-auth';\r\n\r\nexport const orchestratorRoutes: Route[] = [\r\n {\r\n path: 'chats',\r\n loadChildren: () => import('./chats/chats.routes').then((m) => m.chatsRoutes),\r\n },\r\n {\r\n path: 'admin/prompts',\r\n loadChildren: () => import('./admin/prompts/prompts.routes').then((m) => m.promptsRoutes),\r\n canActivate: [AdminGuard],\r\n },\r\n {\r\n path: 'admin/agents',\r\n loadChildren: () => import('./admin/agents/agents.routes').then((m) => m.agentsRoutes),\r\n canActivate: [AdminGuard],\r\n },\r\n];\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { c as OrchestratorModule, o as orchestratorRoutes } from './sftech-ng-orchestrator-sftech-ng-orchestrator-D9fLhC24.mjs';
|
|
2
2
|
//# sourceMappingURL=sftech-ng-orchestrator.mjs.map
|
|
@@ -2,18 +2,18 @@ import { OnInit } from '@angular/core';
|
|
|
2
2
|
import { FormGroup } from '@angular/forms';
|
|
3
3
|
import { BaseDisplayComponent } from '@sftech/ng-shared';
|
|
4
4
|
import { DialogService } from 'primeng/dynamicdialog';
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
5
|
+
import { IAgentCreateDto } from '../../../../../core/dtos/agent-create-request.dto';
|
|
6
|
+
import { IAgentResponseDto } from '../../../../../core/dtos/agent-response.dto';
|
|
7
|
+
import { IAgentUpdateDto } from '../../../../../core/dtos/agent-update-request.dto';
|
|
8
|
+
import { Agent } from '../../../../../core/models/agent.model';
|
|
9
|
+
import { McpTool } from '../../../../../core/models/mcp-tool.model';
|
|
10
|
+
import { AgentService } from '../../../../../core/service/agent.service';
|
|
11
|
+
import { OrchestratorService } from '../../../../../core/service/orchestrator.service';
|
|
12
12
|
import * as i0 from "@angular/core";
|
|
13
13
|
export declare class AgentDisplayComponent extends BaseDisplayComponent<Agent, IAgentUpdateDto, IAgentUpdateDto, IAgentResponseDto> implements OnInit {
|
|
14
14
|
protected _repo: AgentService;
|
|
15
15
|
protected _route: string;
|
|
16
|
-
protected _orchestratorService:
|
|
16
|
+
protected _orchestratorService: OrchestratorService;
|
|
17
17
|
tools: import("@angular/core").WritableSignal<McpTool[] | undefined>;
|
|
18
18
|
protected dialog: DialogService;
|
|
19
19
|
private _options;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { OnInit } from '@angular/core';
|
|
2
|
+
import { BaseDialogComponent } from '@sftech/ng-shared';
|
|
3
|
+
import { FileRemoveEvent, FileSelectEvent } from 'primeng/fileupload';
|
|
4
|
+
import { Agent } from '../../../../../core/models/agent.model';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export declare class AgentRagUploadComponent extends BaseDialogComponent implements OnInit {
|
|
7
|
+
agentId: import("@angular/core").InputSignal<number | undefined>;
|
|
8
|
+
chatId: import("@angular/core").InputSignal<number | undefined>;
|
|
9
|
+
uploadedFiles: import("@angular/core").WritableSignal<File[]>;
|
|
10
|
+
agent: import("@angular/core").WritableSignal<Agent | undefined>;
|
|
11
|
+
isUploading: import("@angular/core").WritableSignal<boolean>;
|
|
12
|
+
uploadError: import("@angular/core").WritableSignal<string | undefined>;
|
|
13
|
+
private agentService;
|
|
14
|
+
private orchestratorService;
|
|
15
|
+
ngOnInit(): void;
|
|
16
|
+
onFileSelect(event: FileSelectEvent): void;
|
|
17
|
+
onFileRemove(event: FileRemoveEvent): void;
|
|
18
|
+
uploadFiles(): void;
|
|
19
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AgentRagUploadComponent, never>;
|
|
20
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AgentRagUploadComponent, "sftech-agent-rag-upload", never, { "agentId": { "alias": "agentId"; "required": false; "isSignal": true; }; "chatId": { "alias": "chatId"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
21
|
+
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { BaseListComponent, IconProvider } from '@sftech/ng-shared';
|
|
2
|
-
import { IAgentResponseDto } from '
|
|
3
|
-
import { IAgentUpdateDto } from '
|
|
4
|
-
import { Agent } from '
|
|
5
|
-
import { AgentService } from '
|
|
2
|
+
import { IAgentResponseDto } from '../../../../../core/dtos/agent-response.dto';
|
|
3
|
+
import { IAgentUpdateDto } from '../../../../../core/dtos/agent-update-request.dto';
|
|
4
|
+
import { Agent } from '../../../../../core/models/agent.model';
|
|
5
|
+
import { AgentService } from '../../../../../core/service/agent.service';
|
|
6
6
|
import { AgentDisplayComponent } from '../agent-display/agent-display.component';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
export declare class AgentsListComponent extends BaseListComponent<Agent, IAgentUpdateDto, IAgentUpdateDto, IAgentResponseDto> {
|
|
@@ -10,8 +10,10 @@ export declare class AgentsListComponent extends BaseListComponent<Agent, IAgent
|
|
|
10
10
|
protected _route: string;
|
|
11
11
|
protected _modalComponent: typeof AgentDisplayComponent;
|
|
12
12
|
protected detailModalHeaderText: string;
|
|
13
|
+
private dialogService;
|
|
13
14
|
iconProvider: typeof IconProvider;
|
|
14
15
|
constructor();
|
|
16
|
+
openRagUploadModal(agentId: number, event: Event): void;
|
|
15
17
|
static ɵfac: i0.ɵɵFactoryDeclaration<AgentsListComponent, never>;
|
|
16
18
|
static ɵcmp: i0.ɵɵComponentDeclaration<AgentsListComponent, "sftech-prompts-list", never, {}, {}, never, never, true, never>;
|
|
17
19
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { FormGroup } from '@angular/forms';
|
|
2
2
|
import { BaseDisplayComponent, OData } from '@sftech/ng-shared';
|
|
3
|
-
import { IPromptResponseDto } from '
|
|
4
|
-
import { IPromptUpdateDto } from '
|
|
5
|
-
import { Prompt } from '
|
|
6
|
-
import { PromptService } from '
|
|
3
|
+
import { IPromptResponseDto } from '../../../../../core/dtos/prompt-request.dto';
|
|
4
|
+
import { IPromptUpdateDto } from '../../../../../core/dtos/prompt-update.dto';
|
|
5
|
+
import { Prompt } from '../../../../../core/models/prompt.model';
|
|
6
|
+
import { PromptService } from '../../../../../core/service/prompt.service';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
export declare class PromptDisplayComponent extends BaseDisplayComponent<Prompt, IPromptUpdateDto, IPromptUpdateDto, IPromptResponseDto> {
|
|
9
9
|
protected _repo: PromptService;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { BaseListComponent, IconProvider } from '@sftech/ng-shared';
|
|
2
|
-
import { IPromptResponseDto } from '
|
|
3
|
-
import { IPromptUpdateDto } from '
|
|
4
|
-
import { Prompt } from '
|
|
5
|
-
import { PromptService } from '
|
|
2
|
+
import { IPromptResponseDto } from '../../../../../core/dtos/prompt-request.dto';
|
|
3
|
+
import { IPromptUpdateDto } from '../../../../../core/dtos/prompt-update.dto';
|
|
4
|
+
import { Prompt } from '../../../../../core/models/prompt.model';
|
|
5
|
+
import { PromptService } from '../../../../../core/service/prompt.service';
|
|
6
6
|
import { PromptDisplayComponent } from '../prompt-display/prompt-display.component';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
export declare class PromptsListComponent extends BaseListComponent<Prompt, IPromptUpdateDto, IPromptUpdateDto, IPromptResponseDto> {
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { OnInit } from '@angular/core';
|
|
2
2
|
import { FormGroup } from '@angular/forms';
|
|
3
3
|
import { BaseDisplayComponent } from '@sftech/ng-shared';
|
|
4
|
-
import { IPromptHistoryCreateDto } from '
|
|
5
|
-
import { IPromptHistoryResponseDto } from '
|
|
6
|
-
import { IPromptHistoryUpdateDto } from '
|
|
7
|
-
import { PromptHistory } from '
|
|
8
|
-
import { PromptHistoryService } from '
|
|
4
|
+
import { IPromptHistoryCreateDto } from '../../../../../core/dtos/prompt-history-create.dto';
|
|
5
|
+
import { IPromptHistoryResponseDto } from '../../../../../core/dtos/prompt-history-response.dto';
|
|
6
|
+
import { IPromptHistoryUpdateDto } from '../../../../../core/dtos/prompt-history-update.dto';
|
|
7
|
+
import { PromptHistory } from '../../../../../core/models/prompt-history.model';
|
|
8
|
+
import { PromptHistoryService } from '../../../../../core/service/prompt-history.service';
|
|
9
9
|
import * as i0 from "@angular/core";
|
|
10
10
|
export declare class PromptHistoryDisplayComponent extends BaseDisplayComponent<PromptHistory, IPromptHistoryCreateDto, IPromptHistoryUpdateDto, IPromptHistoryResponseDto> implements OnInit {
|
|
11
11
|
protected _repo: PromptHistoryService;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { OnInit } from '@angular/core';
|
|
2
2
|
import { BaseListComponent } from '@sftech/ng-shared';
|
|
3
|
-
import { IPromptHistoryCreateDto } from '
|
|
4
|
-
import { IPromptHistoryResponseDto } from '
|
|
5
|
-
import { IPromptHistoryUpdateDto } from '
|
|
6
|
-
import { PromptHistory } from '
|
|
7
|
-
import { PromptHistoryService } from '
|
|
3
|
+
import { IPromptHistoryCreateDto } from '../../../../../core/dtos/prompt-history-create.dto';
|
|
4
|
+
import { IPromptHistoryResponseDto } from '../../../../../core/dtos/prompt-history-response.dto';
|
|
5
|
+
import { IPromptHistoryUpdateDto } from '../../../../../core/dtos/prompt-history-update.dto';
|
|
6
|
+
import { PromptHistory } from '../../../../../core/models/prompt-history.model';
|
|
7
|
+
import { PromptHistoryService } from '../../../../../core/service/prompt-history.service';
|
|
8
8
|
import { PromptHistoryDisplayComponent } from '../prompt-history-display/prompt-history-display.component';
|
|
9
9
|
import * as i0 from "@angular/core";
|
|
10
10
|
export declare class PromptHistoryListComponent extends BaseListComponent<PromptHistory, IPromptHistoryCreateDto, IPromptHistoryUpdateDto, IPromptHistoryResponseDto> implements OnInit {
|
package/lib/ng-orchestrator/chats/agent-chat/agent-chat-message/agent-chat-message.component.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { AgentRunIconTextDataprovider } from '../../core/dataprovider/agent-run-icon-text.dataprovider';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class AgentChatMessageComponent {
|
|
4
|
+
message: import("@angular/core").InputSignal<string>;
|
|
5
|
+
type: import("@angular/core").InputSignal<string>;
|
|
6
|
+
iconTextMapper: typeof AgentRunIconTextDataprovider;
|
|
7
|
+
extractJson(message: string): string;
|
|
8
|
+
private _toMarkdownFromJson;
|
|
9
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AgentChatMessageComponent, never>;
|
|
10
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AgentChatMessageComponent, "sftech-agent-chat-message", never, { "message": { "alias": "message"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
11
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { EventEmitter } from '@angular/core';
|
|
2
|
+
import { FormControl, FormGroup } from '@angular/forms';
|
|
3
|
+
import { AgentRunIconTextDataprovider } from 'libs/ng-orchestrator/src/lib/ng-orchestrator/chats/core/dataprovider/agent-run-icon-text.dataprovider';
|
|
4
|
+
import { MessageService } from 'primeng/api';
|
|
5
|
+
import { Agent } from '../../../core/models/agent.model';
|
|
6
|
+
import { OrchestratorService } from '../../../core/service/orchestrator.service';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
export declare class AgentChatMessageHumanInputComponent {
|
|
9
|
+
agent: import("@angular/core").InputSignal<Agent | undefined>;
|
|
10
|
+
agentRunId: import("@angular/core").InputSignal<number | undefined>;
|
|
11
|
+
agentRunIdReceived: EventEmitter<number>;
|
|
12
|
+
messageService: MessageService;
|
|
13
|
+
orchestratorService: OrchestratorService;
|
|
14
|
+
form: FormGroup<{
|
|
15
|
+
message: FormControl<string | null>;
|
|
16
|
+
}>;
|
|
17
|
+
protected readonly iconTextMapper: typeof AgentRunIconTextDataprovider;
|
|
18
|
+
run(): void;
|
|
19
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AgentChatMessageHumanInputComponent, never>;
|
|
20
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AgentChatMessageHumanInputComponent, "sftech-agent-chat-message-human-input", never, { "agent": { "alias": "agent"; "required": false; "isSignal": true; }; "agentRunId": { "alias": "agentRunId"; "required": false; "isSignal": true; }; }, { "agentRunIdReceived": "agentRunIdReceived"; }, never, never, true, never>;
|
|
21
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { EventEmitter } from '@angular/core';
|
|
2
|
+
import { FormGroup } from '@angular/forms';
|
|
3
|
+
import { AgentRunIconTextDataprovider } from 'libs/ng-orchestrator/src/lib/ng-orchestrator/chats/core/dataprovider/agent-run-icon-text.dataprovider';
|
|
4
|
+
import { MessageService } from 'primeng/api';
|
|
5
|
+
import { Agent } from '../../../core/models/agent.model';
|
|
6
|
+
import { OrchestratorService } from '../../../core/service/orchestrator.service';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
export declare class AgentChatMessageHumanInputInitialComponent {
|
|
9
|
+
agent: import("@angular/core").InputSignal<Agent | undefined>;
|
|
10
|
+
agentRunIdReceived: EventEmitter<number>;
|
|
11
|
+
messageService: MessageService;
|
|
12
|
+
orchestratorService: OrchestratorService;
|
|
13
|
+
form: FormGroup<{}>;
|
|
14
|
+
private _agentChanged$;
|
|
15
|
+
protected readonly iconTextMapper: typeof AgentRunIconTextDataprovider;
|
|
16
|
+
run(): void;
|
|
17
|
+
getInputFormControlNames(): string[];
|
|
18
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AgentChatMessageHumanInputInitialComponent, never>;
|
|
19
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AgentChatMessageHumanInputInitialComponent, "sftech-agent-chat-message-human-input-initial", never, { "agent": { "alias": "agent"; "required": false; "isSignal": true; }; }, { "agentRunIdReceived": "agentRunIdReceived"; }, never, never, true, never>;
|
|
20
|
+
}
|