@sftech/ng-orchestrator 0.0.12 → 0.0.14
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.service-CfV4pzby.mjs → sftech-ng-orchestrator-agent.service-BI5zPQT-.mjs} +3 -6
- package/fesm2022/sftech-ng-orchestrator-agent.service-BI5zPQT-.mjs.map +1 -0
- package/fesm2022/{sftech-ng-orchestrator-agents.routes-DwQh7K9t.mjs → sftech-ng-orchestrator-agents.routes-CnV8ngf_.mjs} +7 -11
- package/fesm2022/sftech-ng-orchestrator-agents.routes-CnV8ngf_.mjs.map +1 -0
- package/fesm2022/sftech-ng-orchestrator-chat.routes-BAF4OU_M.mjs +154 -0
- package/fesm2022/sftech-ng-orchestrator-chat.routes-BAF4OU_M.mjs.map +1 -0
- package/fesm2022/{sftech-ng-orchestrator-prompt-display.component-B617n6_1.mjs → sftech-ng-orchestrator-prompt-display.component-Dr3YvhU-.mjs} +2 -2
- package/fesm2022/{sftech-ng-orchestrator-prompt-display.component-B617n6_1.mjs.map → sftech-ng-orchestrator-prompt-display.component-Dr3YvhU-.mjs.map} +1 -1
- package/fesm2022/{sftech-ng-orchestrator-prompt.service-CVxtFO31.mjs → sftech-ng-orchestrator-prompt.service-CkWDxT-Y.mjs} +2 -2
- package/fesm2022/{sftech-ng-orchestrator-prompt.service-CVxtFO31.mjs.map → sftech-ng-orchestrator-prompt.service-CkWDxT-Y.mjs.map} +1 -1
- package/fesm2022/{sftech-ng-orchestrator-prompts.routes-Dc0sJqku.mjs → sftech-ng-orchestrator-prompts.routes-gyZH5vh-.mjs} +3 -3
- package/fesm2022/{sftech-ng-orchestrator-prompts.routes-Dc0sJqku.mjs.map → sftech-ng-orchestrator-prompts.routes-gyZH5vh-.mjs.map} +1 -1
- package/fesm2022/{sftech-ng-orchestrator-sftech-ng-orchestrator-DrqofNOF.mjs → sftech-ng-orchestrator-sftech-ng-orchestrator-CICnJ35v.mjs} +6 -6
- package/fesm2022/sftech-ng-orchestrator-sftech-ng-orchestrator-CICnJ35v.mjs.map +1 -0
- package/fesm2022/sftech-ng-orchestrator.mjs +1 -1
- package/lib/ng-orchestrator/agents/core/dtos/agent-create-request.dto.d.ts +0 -1
- package/lib/ng-orchestrator/agents/core/dtos/agent-response.dto.d.ts +1 -2
- package/lib/ng-orchestrator/agents/core/dtos/agent-update-request.dto.d.ts +0 -1
- package/lib/ng-orchestrator/agents/core/models/agent.model.d.ts +2 -3
- package/package.json +2 -2
- package/fesm2022/sftech-ng-orchestrator-agent.service-CfV4pzby.mjs.map +0 -1
- package/fesm2022/sftech-ng-orchestrator-agents.routes-DwQh7K9t.mjs.map +0 -1
- package/fesm2022/sftech-ng-orchestrator-chat.routes-B1DkdHdQ.mjs +0 -154
- package/fesm2022/sftech-ng-orchestrator-chat.routes-B1DkdHdQ.mjs.map +0 -1
- package/fesm2022/sftech-ng-orchestrator-sftech-ng-orchestrator-DrqofNOF.mjs.map +0 -1
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Pipe, signal, effect, Component } from '@angular/core';
|
|
3
|
+
import * as i1 from '@angular/forms';
|
|
4
|
+
import { FormGroup, FormControl, Validators, ReactiveFormsModule } from '@angular/forms';
|
|
5
|
+
import { Button } from 'primeng/button';
|
|
6
|
+
import { FloatLabel } from 'primeng/floatlabel';
|
|
7
|
+
import { InputText } from 'primeng/inputtext';
|
|
8
|
+
import { ProgressSpinner } from 'primeng/progressspinner';
|
|
9
|
+
import { Select } from 'primeng/select';
|
|
10
|
+
import { map, switchMap, of, catchError } from 'rxjs';
|
|
11
|
+
import { A as AgentService } from './sftech-ng-orchestrator-agent.service-BI5zPQT-.mjs';
|
|
12
|
+
import { O as OrcherstratorService } from './sftech-ng-orchestrator-sftech-ng-orchestrator-CICnJ35v.mjs';
|
|
13
|
+
import { P as PromptService, a as PromptHistoryService } from './sftech-ng-orchestrator-prompt.service-CkWDxT-Y.mjs';
|
|
14
|
+
import { Fieldset } from 'primeng/fieldset';
|
|
15
|
+
import { FormErrorDisplayComponent } from '@sftech/ng-shared';
|
|
16
|
+
import { MarkdownComponent } from 'ngx-markdown';
|
|
17
|
+
|
|
18
|
+
class BoldedInputVarPipe {
|
|
19
|
+
transform(value) {
|
|
20
|
+
return value ? value.replace(/\{\{(.*?)\}\}/g, '<span class="font-bold">{{ $1 }}</span>') : '';
|
|
21
|
+
}
|
|
22
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: BoldedInputVarPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
23
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.14", ngImport: i0, type: BoldedInputVarPipe, isStandalone: true, name: "boldInputVars" });
|
|
24
|
+
}
|
|
25
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: BoldedInputVarPipe, decorators: [{
|
|
26
|
+
type: Pipe,
|
|
27
|
+
args: [{
|
|
28
|
+
name: 'boldInputVars'
|
|
29
|
+
}]
|
|
30
|
+
}] });
|
|
31
|
+
|
|
32
|
+
class ChatComponent {
|
|
33
|
+
orchestratorService;
|
|
34
|
+
agentService;
|
|
35
|
+
promptService;
|
|
36
|
+
promptHistoryService;
|
|
37
|
+
answer = signal(undefined);
|
|
38
|
+
status = signal(EOrchestratorStatus.IDLE);
|
|
39
|
+
agents = signal(undefined);
|
|
40
|
+
selectedUserPrompt = signal(undefined);
|
|
41
|
+
statuses = EOrchestratorStatus;
|
|
42
|
+
form = new FormGroup({
|
|
43
|
+
agent: new FormControl(undefined),
|
|
44
|
+
});
|
|
45
|
+
inputForm = new FormGroup({});
|
|
46
|
+
constructor(orchestratorService, agentService, promptService, promptHistoryService) {
|
|
47
|
+
this.orchestratorService = orchestratorService;
|
|
48
|
+
this.agentService = agentService;
|
|
49
|
+
this.promptService = promptService;
|
|
50
|
+
this.promptHistoryService = promptHistoryService;
|
|
51
|
+
effect(() => {
|
|
52
|
+
if (!this.selectedUserPrompt()) {
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
this.selectedUserPrompt()
|
|
56
|
+
.template.match(/{{(.*?)}}/g)
|
|
57
|
+
?.forEach((m) => {
|
|
58
|
+
const key = m.slice(2, -2);
|
|
59
|
+
this.inputForm.addControl(key, new FormControl('', [Validators.required]));
|
|
60
|
+
});
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
ngOnInit() {
|
|
64
|
+
this.agentService
|
|
65
|
+
.getAll()
|
|
66
|
+
.pipe(map((res) => {
|
|
67
|
+
if (!res.data) {
|
|
68
|
+
this.status.set(EOrchestratorStatus.ERROR);
|
|
69
|
+
}
|
|
70
|
+
this.agents.set(res.data?.items);
|
|
71
|
+
}))
|
|
72
|
+
.subscribe();
|
|
73
|
+
this.form
|
|
74
|
+
.get('agent')
|
|
75
|
+
?.valueChanges.pipe(switchMap((value) => {
|
|
76
|
+
if (value) {
|
|
77
|
+
if (value.llmUserPromptHistoryId) {
|
|
78
|
+
return this.promptHistoryService.get(value.llmUserPromptHistoryId);
|
|
79
|
+
}
|
|
80
|
+
return this.promptService.get(value.llmUserPromptId);
|
|
81
|
+
}
|
|
82
|
+
this.selectedUserPrompt.set(undefined);
|
|
83
|
+
this.inputForm = new FormGroup({});
|
|
84
|
+
return of(null);
|
|
85
|
+
}), map((res) => {
|
|
86
|
+
if (!res?.data) {
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
this.selectedUserPrompt.set(res?.data);
|
|
90
|
+
}))
|
|
91
|
+
.subscribe();
|
|
92
|
+
}
|
|
93
|
+
run() {
|
|
94
|
+
if (this.form.valid && this.inputForm.valid) {
|
|
95
|
+
this.status.set(EOrchestratorStatus.REQUESTING);
|
|
96
|
+
this.orchestratorService
|
|
97
|
+
.runAgent({ agentIdentifier: this.form.get('agent').value.identifier, userInput: this.inputForm.value })
|
|
98
|
+
.pipe(map((res) => {
|
|
99
|
+
this.answer.set(res.data?.message);
|
|
100
|
+
this.status.set(EOrchestratorStatus.ANSWERED);
|
|
101
|
+
}), catchError((err) => {
|
|
102
|
+
console.error(err);
|
|
103
|
+
this.status.set(EOrchestratorStatus.ERROR);
|
|
104
|
+
return of();
|
|
105
|
+
}))
|
|
106
|
+
.subscribe();
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
console.error('Form is invalid');
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
getInputFormControlNames() {
|
|
113
|
+
return Object.keys(this.inputForm.controls);
|
|
114
|
+
}
|
|
115
|
+
example = '**Aufwärmteil (25 min)**\n' +
|
|
116
|
+
'1. **Lauf ABC (5 min)** – Die Mädchen laufen spielerisch durch die Halle, dabei machen sie verschiedene Übungen (z.B. Knie hoch, Hacken an den Po, Seitensprünge). *Ziel:* Muskelaktivierung, Steigerung der Herzfrequenz, Verbesserung der Lauftechnik.\n' +
|
|
117
|
+
'2. **Ballgewöhnung (5 min)** – Im Laufen von einer zur anderen Hallenseite werfen sich die Mädchen gegenseitig den Ball zu. *Ziel:* Verbesserung der Ballkoordination, Feinmotorik und des Zusammenspiels.\n' +
|
|
118
|
+
'3. **Löwenspiel (5 min)** – Ein Mädchen (\'Löwe\') versucht, die anderen beim Überqueren des Feldes zu fangen. Gefangene Spielerinnen helfen beim Fangen. *Ziel:* Steigerung der Geschwindigkeit, Verbesserung der Reaktionszeit, Förderung der sozialen Interaktion.\n' +
|
|
119
|
+
'4. **"Kleines" Handballspiel (5 min)** – Die Mädchen spielen auf einem kleinen Feld (ohne Torwart) und mit nur einem Ball. *Ziel:* Verbesserung der Handballtechnik und des Teamgefühls, Motivation steigern.\n' +
|
|
120
|
+
'5. **Streching (5 min)** – Dehnen der wichtigen Muskelgruppen (Arme, Beine, Rumpf). *Ziel:* Vermeidung von Verletzungen, Förderung der Beweglichkeit. \n' +
|
|
121
|
+
'**Hauptteil (50 min)**\n' +
|
|
122
|
+
'1. **Passübungen (10 min)** – Die Mädchen passen sich den Ball in Zweiergruppen zu, wobei der Ball jeweils nach einem Prellschritt abgespielt wird. *Ziel:* Technikverfeinerung, Verbesserung des Rhythmusgefühls.\n' +
|
|
123
|
+
'2. **Ballstaffel (10 min)** – In Teams von vier Mädchen läuft jeweils das erste Mädchen mit Ball bis zur Mittellinie und zurück, passt dann den Ball zur nächsten Spielerin etc. *Ziel:* Verbesserung der Lauf- und Passtechnik, Förderung des Teamgeists.\n' +
|
|
124
|
+
'3. **3 gegen 2 (10 min)** – Zwei Abwehrspielerinnen versuchen, drei Angreiferinnen am Torwurf zu hindern. Bei Ballverlust findet ein Rollenwechsel statt. *Ziel:* Verbesserung der Abwehr- und Angriffsfähigkeiten, Steigerung des taktischen Verständnisses..\n' +
|
|
125
|
+
'4. **Torwurfübung (10 min)** – Ein Mädchen wirft aufs Tor, die anderen fangen den Ball und werfen ihn zurück. *Ziel:* Verbesserung der Wurftechnik, Steigerung der Treffsicherheit.\n' +
|
|
126
|
+
'5. **"Großes" Handballspiel (10 min)** – Die Mädchen spielen ein normales Handballspiel auf dem gesamten Spielfeld. *Ziel:* Anwendung der gelernten Techniken, Förderung des Teamgefühls, Spaß am Spiel.\n' +
|
|
127
|
+
'**Abschlussteil (15 min)**\n' +
|
|
128
|
+
'1. **Ausklang-Spiel (5 min)** – Spielerisches Abschlussspiel ohne Handball, z.B. "Fischer, Fischer, wie tief ist das Wasser?". *Ziel:* Normalisierung der Herzfrequenz, Förderung des Gruppenzusammenhalts.\n' +
|
|
129
|
+
'2. **Feedback-Runde (5 min)** – Jedes Mädchen gibt Feedback zum Training und zu einer Mitspielerin. *Ziel:* Förderung der Kommunikationsfähigkeiten, Aufbau eines positiven Trainingsklimas.\n' +
|
|
130
|
+
'3. **Entspannungsübung (5 min)** – Die Mädchen machen mit geschlossenen Augen eine Fantasiereise, um zur Ruhe zu kommen. *Ziel:* Mentale Entspannung, Abschluss des Trainings.\n';
|
|
131
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ChatComponent, deps: [{ token: OrcherstratorService }, { token: AgentService }, { token: PromptService }, { token: PromptHistoryService }], target: i0.ɵɵFactoryTarget.Component });
|
|
132
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.14", type: ChatComponent, isStandalone: true, selector: "sftech-chat", ngImport: i0, template: "<div class=\"flex flex-col items-center justify-center mb-10 mt-5 py-10 px-5 border-[1px] border-primary-500 rounded\">\r\n @if (status() === statuses.ANSWERED) {\r\n <div class=\"font-bold\">\r\n <p>Meine Antwort:</p>\r\n </div>\r\n <markdown style=\"display: block; width: 100%; word-wrap: break-word\" [data]=\"answer()\"></markdown>\r\n } @else if (status() === statuses.ERROR) {\r\n <div class=\"font-bold\">\r\n <p>Ups... Ein Fehler ist aufgetreten</p>\r\n </div>\r\n <div class=\"mt-7\">\r\n Beim Senden deiner Nachricht an unseren Server ist ein Fehler aufgetreten. Bitte versuche es sp\u00E4ter\r\n noch einmal.\r\n </div>\r\n } @else if (status() === statuses.REQUESTING) {\r\n <div class=\"font-bold\">\r\n <p>Deine Anfrage wird verarbeitet</p>\r\n </div>\r\n <p class=\"mt-7\">\r\n <p-progress-spinner ariaLabel=\"loading\"/>\r\n </p>\r\n } @else if (status() === statuses.IDLE) {\r\n <div class=\"font-bold\">\r\n <p>Jetzt Anfrage senden</p>\r\n </div>\r\n <p class=\"mt-7\">\r\n Schicke uns jetzt deine Frage. Wir verfeinern diese um die bestm\u00F6gliche Antwort zu erhalten.\r\n </p>\r\n }\r\n</div>\r\n\r\n<form [formGroup]=\"form\" class=\"pt-2 mb-4\">\r\n <p-floatlabel variant=\"in\" class=\"w-full\">\r\n <p-select id=\"agent\" formControlName=\"agent\" [options]=\"agents()!\" [dataKey]=\"'id'\" optionLabel=\"name\"\r\n [filter]=\"true\" filterBy=\"name\" class=\"w-full\"/>\r\n <label for=\"agent\">W\u00E4hle einen Agent</label>\r\n </p-floatlabel>\r\n</form>\r\n@if (getInputFormControlNames().length > 0) {\r\n <div class=\"bg-highlight border-[1px] border-primary-900 mb-4 p-2\">\r\n <p class=\"mb-5\">Im folgenden werden die im Template mit <span ngNonBindable class=\"font-bold\">{{ }}</span>\r\n markierten Bereiche durch deine Eingaben ersetzt:\r\n </p>\r\n <p-fieldset legend=\"Template\" class=\"mt-2\">\r\n <div [innerHTML]=\"selectedUserPrompt()?.template | boldInputVars\">\r\n\r\n </div>\r\n </p-fieldset>\r\n </div>\r\n <form [formGroup]=\"inputForm\">\r\n <div class=\"grid grid-cols-3 gap-2\">\r\n @for (controlName of getInputFormControlNames(); track controlName) {\r\n <div>\r\n <p-floatlabel variant=\"in\" class=\"w-full\">\r\n <input type=\"text\" id=\"{{ controlName}}\" formControlName=\"{{ controlName }}\" pInputText\r\n class=\"w-full\"/>\r\n <label for=\"{{ controlName }}\">{{ controlName }}</label>\r\n </p-floatlabel>\r\n <sftech-form-error-display [control]=\"inputForm.get(controlName)!\"\r\n [label]=\"controlName\"></sftech-form-error-display>\r\n </div>\r\n }\r\n </div>\r\n <div class=\"mt-2\">\r\n <p-button type=\"submit\" label=\"Senden\" (onClick)=\"run()\"/>\r\n </div>\r\n </form>\r\n}", styles: [""], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: FloatLabel, selector: "p-floatlabel, p-floatLabel, p-float-label", inputs: ["variant"] }, { kind: "directive", type: InputText, selector: "[pInputText]", inputs: ["variant", "fluid", "pSize"] }, { kind: "component", type: Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "fluid", "buttonProps"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: ProgressSpinner, selector: "p-progressSpinner, p-progress-spinner, p-progressspinner", inputs: ["styleClass", "style", "strokeWidth", "fill", "animationDuration", "ariaLabel"] }, { kind: "component", type: Select, selector: "p-select", inputs: ["id", "scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "variant", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "size", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "fluid", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "filterValue", "options"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "component", type: Fieldset, selector: "p-fieldset", inputs: ["legend", "toggleable", "collapsed", "style", "styleClass", "transitionOptions"], outputs: ["collapsedChange", "onBeforeToggle", "onAfterToggle"] }, { kind: "pipe", type: BoldedInputVarPipe, name: "boldInputVars" }, { kind: "component", type: FormErrorDisplayComponent, selector: "sftech-form-error-display", inputs: ["control", "label"] }, { kind: "component", type: MarkdownComponent, selector: "markdown, [markdown]", inputs: ["data", "src", "disableSanitizer", "inline", "clipboard", "clipboardButtonComponent", "clipboardButtonTemplate", "emoji", "katex", "katexOptions", "mermaid", "mermaidOptions", "lineHighlight", "line", "lineOffset", "lineNumbers", "start", "commandLine", "filterOutput", "host", "prompt", "output", "user"], outputs: ["error", "load", "ready"] }] });
|
|
133
|
+
}
|
|
134
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ChatComponent, decorators: [{
|
|
135
|
+
type: Component,
|
|
136
|
+
args: [{ selector: 'sftech-chat', imports: [ReactiveFormsModule, FloatLabel, InputText, Button, ProgressSpinner, Select, Fieldset, BoldedInputVarPipe, FormErrorDisplayComponent, MarkdownComponent], template: "<div class=\"flex flex-col items-center justify-center mb-10 mt-5 py-10 px-5 border-[1px] border-primary-500 rounded\">\r\n @if (status() === statuses.ANSWERED) {\r\n <div class=\"font-bold\">\r\n <p>Meine Antwort:</p>\r\n </div>\r\n <markdown style=\"display: block; width: 100%; word-wrap: break-word\" [data]=\"answer()\"></markdown>\r\n } @else if (status() === statuses.ERROR) {\r\n <div class=\"font-bold\">\r\n <p>Ups... Ein Fehler ist aufgetreten</p>\r\n </div>\r\n <div class=\"mt-7\">\r\n Beim Senden deiner Nachricht an unseren Server ist ein Fehler aufgetreten. Bitte versuche es sp\u00E4ter\r\n noch einmal.\r\n </div>\r\n } @else if (status() === statuses.REQUESTING) {\r\n <div class=\"font-bold\">\r\n <p>Deine Anfrage wird verarbeitet</p>\r\n </div>\r\n <p class=\"mt-7\">\r\n <p-progress-spinner ariaLabel=\"loading\"/>\r\n </p>\r\n } @else if (status() === statuses.IDLE) {\r\n <div class=\"font-bold\">\r\n <p>Jetzt Anfrage senden</p>\r\n </div>\r\n <p class=\"mt-7\">\r\n Schicke uns jetzt deine Frage. Wir verfeinern diese um die bestm\u00F6gliche Antwort zu erhalten.\r\n </p>\r\n }\r\n</div>\r\n\r\n<form [formGroup]=\"form\" class=\"pt-2 mb-4\">\r\n <p-floatlabel variant=\"in\" class=\"w-full\">\r\n <p-select id=\"agent\" formControlName=\"agent\" [options]=\"agents()!\" [dataKey]=\"'id'\" optionLabel=\"name\"\r\n [filter]=\"true\" filterBy=\"name\" class=\"w-full\"/>\r\n <label for=\"agent\">W\u00E4hle einen Agent</label>\r\n </p-floatlabel>\r\n</form>\r\n@if (getInputFormControlNames().length > 0) {\r\n <div class=\"bg-highlight border-[1px] border-primary-900 mb-4 p-2\">\r\n <p class=\"mb-5\">Im folgenden werden die im Template mit <span ngNonBindable class=\"font-bold\">{{ }}</span>\r\n markierten Bereiche durch deine Eingaben ersetzt:\r\n </p>\r\n <p-fieldset legend=\"Template\" class=\"mt-2\">\r\n <div [innerHTML]=\"selectedUserPrompt()?.template | boldInputVars\">\r\n\r\n </div>\r\n </p-fieldset>\r\n </div>\r\n <form [formGroup]=\"inputForm\">\r\n <div class=\"grid grid-cols-3 gap-2\">\r\n @for (controlName of getInputFormControlNames(); track controlName) {\r\n <div>\r\n <p-floatlabel variant=\"in\" class=\"w-full\">\r\n <input type=\"text\" id=\"{{ controlName}}\" formControlName=\"{{ controlName }}\" pInputText\r\n class=\"w-full\"/>\r\n <label for=\"{{ controlName }}\">{{ controlName }}</label>\r\n </p-floatlabel>\r\n <sftech-form-error-display [control]=\"inputForm.get(controlName)!\"\r\n [label]=\"controlName\"></sftech-form-error-display>\r\n </div>\r\n }\r\n </div>\r\n <div class=\"mt-2\">\r\n <p-button type=\"submit\" label=\"Senden\" (onClick)=\"run()\"/>\r\n </div>\r\n </form>\r\n}" }]
|
|
137
|
+
}], ctorParameters: () => [{ type: OrcherstratorService }, { type: AgentService }, { type: PromptService }, { type: PromptHistoryService }] });
|
|
138
|
+
var EOrchestratorStatus;
|
|
139
|
+
(function (EOrchestratorStatus) {
|
|
140
|
+
EOrchestratorStatus["IDLE"] = "IDLE";
|
|
141
|
+
EOrchestratorStatus["REQUESTING"] = "REQUESTING";
|
|
142
|
+
EOrchestratorStatus["ANSWERED"] = "ANSWERED";
|
|
143
|
+
EOrchestratorStatus["ERROR"] = "ERROR";
|
|
144
|
+
})(EOrchestratorStatus || (EOrchestratorStatus = {}));
|
|
145
|
+
|
|
146
|
+
const chatRoutes = [
|
|
147
|
+
{
|
|
148
|
+
path: '',
|
|
149
|
+
component: ChatComponent
|
|
150
|
+
}
|
|
151
|
+
];
|
|
152
|
+
|
|
153
|
+
export { chatRoutes };
|
|
154
|
+
//# sourceMappingURL=sftech-ng-orchestrator-chat.routes-BAF4OU_M.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sftech-ng-orchestrator-chat.routes-BAF4OU_M.mjs","sources":["../../../../libs/ng-orchestrator/src/lib/ng-orchestrator/core/pipes/bold-input-vars.pipe.ts","../../../../libs/ng-orchestrator/src/lib/ng-orchestrator/chat/chat.component.ts","../../../../libs/ng-orchestrator/src/lib/ng-orchestrator/chat/chat.component.html","../../../../libs/ng-orchestrator/src/lib/ng-orchestrator/chat/chat.routes.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'boldInputVars'\r\n})\r\n\r\nexport class BoldedInputVarPipe implements PipeTransform {\r\n transform(value: string | undefined): string {\r\n return value ? value.replace(/\\{\\{(.*?)\\}\\}/g, '<span class=\"font-bold\">{{ $1 }}</span>') : '';\r\n }\r\n}","import {Component, effect, OnInit, signal} from '@angular/core';\r\nimport {FormControl, FormGroup, ReactiveFormsModule, Validators} from '@angular/forms';\r\nimport {Button} from 'primeng/button';\r\nimport {FloatLabel} from 'primeng/floatlabel';\r\nimport {InputText} from 'primeng/inputtext';\r\nimport {ProgressSpinner} from 'primeng/progressspinner';\r\nimport {Select} from 'primeng/select';\r\nimport {catchError, map, of, switchMap} from 'rxjs';\r\nimport {Agent} from '../agents/core/models/agent.model';\r\nimport {AgentService} from '../agents/core/services/agent.service';\r\nimport {OrcherstratorService} from '../core/service/orcherstrator.service';\r\nimport {PromptHistory} from '../prompts/core/models/prompt-history.model';\r\nimport {Prompt} from '../prompts/core/models/prompt.model';\r\nimport {PromptHistoryService} from '../prompts/core/services/prompt-history.service';\r\nimport {PromptService} from '../prompts/core/services/prompt.service';\r\nimport {Fieldset} from \"primeng/fieldset\";\r\nimport {BoldedInputVarPipe} from \"../core/pipes/bold-input-vars.pipe\";\r\nimport {FormErrorDisplayComponent} from \"@sftech/ng-shared\";\r\nimport {MarkdownComponent} from \"ngx-markdown\";\r\n\r\n@Component({\r\n selector: 'sftech-chat',\r\n imports: [ReactiveFormsModule, FloatLabel, InputText, Button, ProgressSpinner, Select, Fieldset, BoldedInputVarPipe, FormErrorDisplayComponent, MarkdownComponent],\r\n templateUrl: './chat.component.html',\r\n styleUrl: './chat.component.scss',\r\n})\r\nexport class ChatComponent implements OnInit {\r\n public answer = signal<string | undefined>(undefined);\r\n public status = signal<EOrchestratorStatus>(EOrchestratorStatus.IDLE);\r\n\r\n public agents = signal<Agent[] | undefined>(undefined);\r\n public selectedUserPrompt = signal<Prompt | PromptHistory | undefined>(undefined);\r\n\r\n public statuses = EOrchestratorStatus;\r\n\r\n public form = new FormGroup({\r\n agent: new FormControl<Agent | undefined | null>(undefined),\r\n });\r\n\r\n public inputForm = new FormGroup({});\r\n\r\n public constructor(\r\n private readonly orchestratorService: OrcherstratorService,\r\n private readonly agentService: AgentService,\r\n private readonly promptService: PromptService,\r\n private readonly promptHistoryService: PromptHistoryService,\r\n ) {\r\n effect(() => {\r\n if (!this.selectedUserPrompt()) {\r\n return;\r\n }\r\n this.selectedUserPrompt()!\r\n .template.match(/{{(.*?)}}/g)\r\n ?.forEach((m: string) => {\r\n const key = m.slice(2, -2);\r\n this.inputForm.addControl(key, new FormControl('', [Validators.required]));\r\n });\r\n });\r\n }\r\n\r\n public ngOnInit() {\r\n this.agentService\r\n .getAll()\r\n .pipe(\r\n map((res) => {\r\n if (!res.data) {\r\n this.status.set(EOrchestratorStatus.ERROR);\r\n }\r\n this.agents.set(res.data?.items);\r\n }),\r\n )\r\n .subscribe();\r\n this.form\r\n .get('agent')\r\n ?.valueChanges.pipe(\r\n switchMap((value: Agent | null | undefined) => {\r\n if (value) {\r\n if (value.llmUserPromptHistoryId) {\r\n return this.promptHistoryService.get(value.llmUserPromptHistoryId);\r\n }\r\n return this.promptService.get(value.llmUserPromptId);\r\n }\r\n this.selectedUserPrompt.set(undefined);\r\n this.inputForm = new FormGroup({});\r\n return of(null);\r\n }),\r\n map((res) => {\r\n if (!res?.data) {\r\n return;\r\n }\r\n this.selectedUserPrompt.set(res?.data as Prompt | PromptHistory);\r\n }),\r\n )\r\n .subscribe();\r\n }\r\n\r\n public run(): void {\r\n if (this.form.valid && this.inputForm.valid) {\r\n this.status.set(EOrchestratorStatus.REQUESTING);\r\n this.orchestratorService\r\n .runAgent({ agentIdentifier: this.form.get('agent')!.value!.identifier, userInput: this.inputForm.value })\r\n .pipe(\r\n map((res) => {\r\n this.answer.set(res.data?.message);\r\n this.status.set(EOrchestratorStatus.ANSWERED);\r\n }),\r\n catchError((err: unknown) => {\r\n console.error(err);\r\n this.status.set(EOrchestratorStatus.ERROR);\r\n return of();\r\n }),\r\n )\r\n .subscribe();\r\n } else {\r\n console.error('Form is invalid');\r\n }\r\n }\r\n\r\n public getInputFormControlNames(): string[] {\r\n return Object.keys(this.inputForm.controls);\r\n }\r\n\r\n public example = '**Aufwärmteil (25 min)**\\n' +\r\n '1. **Lauf ABC (5 min)** – Die Mädchen laufen spielerisch durch die Halle, dabei machen sie verschiedene Übungen (z.B. Knie hoch, Hacken an den Po, Seitensprünge). *Ziel:* Muskelaktivierung, Steigerung der Herzfrequenz, Verbesserung der Lauftechnik.\\n' +\r\n '2. **Ballgewöhnung (5 min)** – Im Laufen von einer zur anderen Hallenseite werfen sich die Mädchen gegenseitig den Ball zu. *Ziel:* Verbesserung der Ballkoordination, Feinmotorik und des Zusammenspiels.\\n' +\r\n '3. **Löwenspiel (5 min)** – Ein Mädchen (\\'Löwe\\') versucht, die anderen beim Überqueren des Feldes zu fangen. Gefangene Spielerinnen helfen beim Fangen. *Ziel:* Steigerung der Geschwindigkeit, Verbesserung der Reaktionszeit, Förderung der sozialen Interaktion.\\n' +\r\n '4. **\"Kleines\" Handballspiel (5 min)** – Die Mädchen spielen auf einem kleinen Feld (ohne Torwart) und mit nur einem Ball. *Ziel:* Verbesserung der Handballtechnik und des Teamgefühls, Motivation steigern.\\n' +\r\n '5. **Streching (5 min)** – Dehnen der wichtigen Muskelgruppen (Arme, Beine, Rumpf). *Ziel:* Vermeidung von Verletzungen, Förderung der Beweglichkeit. \\n' +\r\n '**Hauptteil (50 min)**\\n' +\r\n '1. **Passübungen (10 min)** – Die Mädchen passen sich den Ball in Zweiergruppen zu, wobei der Ball jeweils nach einem Prellschritt abgespielt wird. *Ziel:* Technikverfeinerung, Verbesserung des Rhythmusgefühls.\\n' +\r\n '2. **Ballstaffel (10 min)** – In Teams von vier Mädchen läuft jeweils das erste Mädchen mit Ball bis zur Mittellinie und zurück, passt dann den Ball zur nächsten Spielerin etc. *Ziel:* Verbesserung der Lauf- und Passtechnik, Förderung des Teamgeists.\\n' +\r\n '3. **3 gegen 2 (10 min)** – Zwei Abwehrspielerinnen versuchen, drei Angreiferinnen am Torwurf zu hindern. Bei Ballverlust findet ein Rollenwechsel statt. *Ziel:* Verbesserung der Abwehr- und Angriffsfähigkeiten, Steigerung des taktischen Verständnisses..\\n' +\r\n '4. **Torwurfübung (10 min)** – Ein Mädchen wirft aufs Tor, die anderen fangen den Ball und werfen ihn zurück. *Ziel:* Verbesserung der Wurftechnik, Steigerung der Treffsicherheit.\\n' +\r\n '5. **\"Großes\" Handballspiel (10 min)** – Die Mädchen spielen ein normales Handballspiel auf dem gesamten Spielfeld. *Ziel:* Anwendung der gelernten Techniken, Förderung des Teamgefühls, Spaß am Spiel.\\n' +\r\n '**Abschlussteil (15 min)**\\n' +\r\n '1. **Ausklang-Spiel (5 min)** – Spielerisches Abschlussspiel ohne Handball, z.B. \"Fischer, Fischer, wie tief ist das Wasser?\". *Ziel:* Normalisierung der Herzfrequenz, Förderung des Gruppenzusammenhalts.\\n' +\r\n '2. **Feedback-Runde (5 min)** – Jedes Mädchen gibt Feedback zum Training und zu einer Mitspielerin. *Ziel:* Förderung der Kommunikationsfähigkeiten, Aufbau eines positiven Trainingsklimas.\\n' +\r\n '3. **Entspannungsübung (5 min)** – Die Mädchen machen mit geschlossenen Augen eine Fantasiereise, um zur Ruhe zu kommen. *Ziel:* Mentale Entspannung, Abschluss des Trainings.\\n';\r\n}\r\n\r\nexport enum EOrchestratorStatus {\r\n IDLE = 'IDLE',\r\n REQUESTING = 'REQUESTING',\r\n ANSWERED = 'ANSWERED',\r\n ERROR = 'ERROR',\r\n}\r\n","<div class=\"flex flex-col items-center justify-center mb-10 mt-5 py-10 px-5 border-[1px] border-primary-500 rounded\">\r\n @if (status() === statuses.ANSWERED) {\r\n <div class=\"font-bold\">\r\n <p>Meine Antwort:</p>\r\n </div>\r\n <markdown style=\"display: block; width: 100%; word-wrap: break-word\" [data]=\"answer()\"></markdown>\r\n } @else if (status() === statuses.ERROR) {\r\n <div class=\"font-bold\">\r\n <p>Ups... Ein Fehler ist aufgetreten</p>\r\n </div>\r\n <div class=\"mt-7\">\r\n Beim Senden deiner Nachricht an unseren Server ist ein Fehler aufgetreten. Bitte versuche es später\r\n noch einmal.\r\n </div>\r\n } @else if (status() === statuses.REQUESTING) {\r\n <div class=\"font-bold\">\r\n <p>Deine Anfrage wird verarbeitet</p>\r\n </div>\r\n <p class=\"mt-7\">\r\n <p-progress-spinner ariaLabel=\"loading\"/>\r\n </p>\r\n } @else if (status() === statuses.IDLE) {\r\n <div class=\"font-bold\">\r\n <p>Jetzt Anfrage senden</p>\r\n </div>\r\n <p class=\"mt-7\">\r\n Schicke uns jetzt deine Frage. Wir verfeinern diese um die bestmögliche Antwort zu erhalten.\r\n </p>\r\n }\r\n</div>\r\n\r\n<form [formGroup]=\"form\" class=\"pt-2 mb-4\">\r\n <p-floatlabel variant=\"in\" class=\"w-full\">\r\n <p-select id=\"agent\" formControlName=\"agent\" [options]=\"agents()!\" [dataKey]=\"'id'\" optionLabel=\"name\"\r\n [filter]=\"true\" filterBy=\"name\" class=\"w-full\"/>\r\n <label for=\"agent\">Wähle einen Agent</label>\r\n </p-floatlabel>\r\n</form>\r\n@if (getInputFormControlNames().length > 0) {\r\n <div class=\"bg-highlight border-[1px] border-primary-900 mb-4 p-2\">\r\n <p class=\"mb-5\">Im folgenden werden die im Template mit <span ngNonBindable class=\"font-bold\">{{ }}</span>\r\n markierten Bereiche durch deine Eingaben ersetzt:\r\n </p>\r\n <p-fieldset legend=\"Template\" class=\"mt-2\">\r\n <div [innerHTML]=\"selectedUserPrompt()?.template | boldInputVars\">\r\n\r\n </div>\r\n </p-fieldset>\r\n </div>\r\n <form [formGroup]=\"inputForm\">\r\n <div class=\"grid grid-cols-3 gap-2\">\r\n @for (controlName of getInputFormControlNames(); track controlName) {\r\n <div>\r\n <p-floatlabel variant=\"in\" class=\"w-full\">\r\n <input type=\"text\" id=\"{{ controlName}}\" formControlName=\"{{ controlName }}\" pInputText\r\n class=\"w-full\"/>\r\n <label for=\"{{ controlName }}\">{{ controlName }}</label>\r\n </p-floatlabel>\r\n <sftech-form-error-display [control]=\"inputForm.get(controlName)!\"\r\n [label]=\"controlName\"></sftech-form-error-display>\r\n </div>\r\n }\r\n </div>\r\n <div class=\"mt-2\">\r\n <p-button type=\"submit\" label=\"Senden\" (onClick)=\"run()\"/>\r\n </div>\r\n </form>\r\n}","import {ChatComponent} from \"./chat.component\";\r\n\r\nexport const chatRoutes = [\r\n {\r\n path: '',\r\n component: ChatComponent\r\n }\r\n];"],"names":["i1.OrcherstratorService","i2.AgentService","i3.PromptService","i4.PromptHistoryService"],"mappings":"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"}
|
|
@@ -10,7 +10,7 @@ import { DialogService } from 'primeng/dynamicdialog';
|
|
|
10
10
|
import { FloatLabel } from 'primeng/floatlabel';
|
|
11
11
|
import { InputText } from 'primeng/inputtext';
|
|
12
12
|
import { Textarea } from 'primeng/textarea';
|
|
13
|
-
import { a as PromptHistoryService, c as PromptHistory, P as PromptService, b as Prompt } from './sftech-ng-orchestrator-prompt.service-
|
|
13
|
+
import { a as PromptHistoryService, c as PromptHistory, P as PromptService, b as Prompt } from './sftech-ng-orchestrator-prompt.service-CkWDxT-Y.mjs';
|
|
14
14
|
import { DatePipe } from '@angular/common';
|
|
15
15
|
import { Panel } from 'primeng/panel';
|
|
16
16
|
import * as i1$1 from 'primeng/table';
|
|
@@ -111,4 +111,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
|
|
|
111
111
|
}], ctorParameters: () => [] });
|
|
112
112
|
|
|
113
113
|
export { PromptDisplayComponent as P };
|
|
114
|
-
//# sourceMappingURL=sftech-ng-orchestrator-prompt-display.component-
|
|
114
|
+
//# sourceMappingURL=sftech-ng-orchestrator-prompt-display.component-Dr3YvhU-.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sftech-ng-orchestrator-prompt-display.component-B617n6_1.mjs","sources":["../../../../libs/ng-orchestrator/src/lib/ng-orchestrator/prompts/components/prompt-history/prompt-history-display/prompt-history-display.component.ts","../../../../libs/ng-orchestrator/src/lib/ng-orchestrator/prompts/components/prompt-history/prompt-history-display/prompt-history-display.component.html","../../../../libs/ng-orchestrator/src/lib/ng-orchestrator/prompts/components/prompt-history/prompt-history-list/prompt-history-list.component.ts","../../../../libs/ng-orchestrator/src/lib/ng-orchestrator/prompts/components/prompt-history/prompt-history-list/prompt-history-list.component.html","../../../../libs/ng-orchestrator/src/lib/ng-orchestrator/prompts/components/prompt/prompt-display/prompt-display.component.ts","../../../../libs/ng-orchestrator/src/lib/ng-orchestrator/prompts/components/prompt/prompt-display/prompt-display.component.html"],"sourcesContent":["import { Component, OnInit, inject } from '@angular/core';\r\nimport { FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';\r\nimport { BaseDialogComponent, BaseDisplayComponent } from '@sftech/ng-shared';\r\nimport { DatePicker } from 'primeng/datepicker';\r\nimport { FloatLabel } from 'primeng/floatlabel';\r\nimport { InputText } from 'primeng/inputtext';\r\nimport { Textarea } from 'primeng/textarea';\r\nimport { IPromptHistoryCreateDto } from '../../../core/dtos/prompt-history-create.dto';\r\nimport { IPromptHistoryResponseDto } from '../../../core/dtos/prompt-history-response.dto';\r\nimport { IPromptHistoryUpdateDto } from '../../../core/dtos/prompt-history-update.dto';\r\nimport { PromptHistory } from '../../../core/models/prompt-history.model';\r\nimport { PromptHistoryService } from '../../../core/services/prompt-history.service';\r\n\r\n@Component({\r\n selector: 'sftech-prompt-history-display',\r\n standalone: true,\r\n imports: [ReactiveFormsModule, BaseDialogComponent, DatePicker, FloatLabel, InputText, Textarea],\r\n templateUrl: './prompt-history-display.component.html',\r\n styleUrl: './prompt-history-display.component.css',\r\n})\r\nexport class PromptHistoryDisplayComponent extends BaseDisplayComponent<PromptHistory, IPromptHistoryCreateDto, IPromptHistoryUpdateDto, IPromptHistoryResponseDto> implements OnInit {\r\n protected override _repo = inject(PromptHistoryService);\r\n protected override _route = '/prompts/history';\r\n\r\n protected override initializeForm(): FormGroup {\r\n return new FormGroup({\r\n id: new FormControl({ value: this.model()!.id, disabled: true }),\r\n createdAt: new FormControl({ value: this.model()!.createdAt, disabled: true }),\r\n identifier: new FormControl({ value: this.model()!.identifier, disabled: true }),\r\n template: new FormControl({ value: this.model()!.template, disabled: this.canEdit }),\r\n name: new FormControl({ value: this.model()!.name, disabled: this.canEdit }),\r\n promptId: new FormControl({ value: this.model()!.promptId, disabled: this.canEdit }),\r\n });\r\n }\r\n protected override getNewModel(): PromptHistory {\r\n return new PromptHistory();\r\n }\r\n protected override mapFormToUpdateDto(): IPromptHistoryUpdateDto {\r\n throw new Error('Edit of PromptHistory is not supported');\r\n }\r\n protected override mapFormToCreateDto(): IPromptHistoryCreateDto {\r\n throw new Error('Manual creation of PromptHistory is not supported');\r\n }\r\n}\r\n","<sftech-base-dialog [hasHeader]=\"true\" (closed)=\"close({ operation: 'aborted' })\">\n <ng-template #header>\n <div class=\"flex justify-between\">\n <h2 class=\"text-xl font-semibold\">\n Prompt\n @if (model()) {\n <span class=\"ms-1\">{{ this.model()!.identifier }}</span>\n }\n </h2>\n </div>\n </ng-template>\n <ng-template #body>\n @if (model()) {\n <form [formGroup]=\"form\">\n <div class=\"grid grid-cols-4 mb-2 gap-2\">\n <p-floatlabel variant=\"in\" class=\"w-full\">\n <input type=\"text\" id=\"id\" formControlName=\"id\" pInputText class=\"w-full\"/>\n <label for=\"id\">{{ this.model()!.getUiNameForProperty('id') }}</label>\n </p-floatlabel>\n <p-floatlabel variant=\"in\" class=\"w-full\">\n <input type=\"text\" id=\"promptId\" formControlName=\"promptId\" pInputText class=\"w-full\"/>\n <label for=\"promptId\">{{ this.model()!.getUiNameForProperty('promptId') }}</label>\n </p-floatlabel>\n <p-floatlabel variant=\"in\" class=\"w-full\">\n <input type=\"text\" id=\"identifier\" formControlName=\"identifier\" pInputText class=\"w-full\"/>\n <label for=\"identifier\">{{ this.model()!.getUiNameForProperty('identifier') }}</label>\n </p-floatlabel>\n <p-floatlabel variant=\"in\" class=\"w-full\">\n <p-datePicker id=\"createdAt\" formControlName=\"createdAt\" dateFormat=\"dd.mm.yy\" [showTime]=\"true\"\n [hourFormat]=\"'24'\" [style]=\"{'width': '100%'}\"></p-datePicker>\n <label for=\"createdAt\">{{ this.model()!.getUiNameForProperty('createdAt') }}</label>\n </p-floatlabel>\n </div>\n <div class=\"w-full mb-2\">\n <p-floatlabel variant=\"in\" class=\"w-full\">\n <input type=\"text\" id=\"name\" formControlName=\"name\" pInputText class=\"w-full\"/>\n <label for=\"name\">{{ this.model()!.getUiNameForProperty('name') }}</label>\n </p-floatlabel>\n </div>\n <p-floatlabel variant=\"in\" class=\"w-full\">\n <textarea rows=\"5\" id=\"template\" formControlName=\"template\" pTextarea class=\"w-full\"></textarea>\n <label for=\"template\">{{ this.model()!.getUiNameForProperty('template') }}</label>\n </p-floatlabel>\n </form>\n }\n </ng-template>\n <ng-template #footer>\n </ng-template>\n</sftech-base-dialog>","import { DatePipe } from '@angular/common';\r\nimport { Component, OnInit, inject } from '@angular/core';\r\nimport { BaseListComponent, PaginatorComponent } from '@sftech/ng-shared';\r\nimport { Panel } from 'primeng/panel';\r\nimport { TableModule } from 'primeng/table';\r\nimport { IPromptHistoryCreateDto } from '../../../core/dtos/prompt-history-create.dto';\r\nimport { IPromptHistoryResponseDto } from '../../../core/dtos/prompt-history-response.dto';\r\nimport { IPromptHistoryUpdateDto } from '../../../core/dtos/prompt-history-update.dto';\r\nimport { PromptHistory } from '../../../core/models/prompt-history.model';\r\nimport { PromptHistoryService } from '../../../core/services/prompt-history.service';\r\nimport { PromptHistoryDisplayComponent } from '../prompt-history-display/prompt-history-display.component';\r\n\r\n@Component({\r\n selector: 'sftech-prompt-history-list',\r\n standalone: true,\r\n imports: [PaginatorComponent, DatePipe, Panel, TableModule],\r\n templateUrl: './prompt-history-list.component.html',\r\n styleUrl: './prompt-history-list.component.scss',\r\n})\r\nexport class PromptHistoryListComponent extends BaseListComponent<PromptHistory, IPromptHistoryCreateDto, IPromptHistoryUpdateDto, IPromptHistoryResponseDto> implements OnInit {\r\n protected override _repo = inject(PromptHistoryService);\r\n protected override _route = '/prompting/prompt-history';\r\n protected override _modalComponent = PromptHistoryDisplayComponent;\r\n protected detailModalHeaderText = 'Prompt-Details'\r\n}\r\n","@if (!data()) {\n <p-panel [toggleable]=\"false\">\n <p class=\"m-0\">\n Daten werden geladen...\n </p>\n </p-panel>\n} @else if (data()!.length === 0) {\n <p-panel [toggleable]=\"false\">\n <p class=\"m-0\">\n Es sind keine Prompts vorhanden.\n </p>\n </p-panel>\n} @else if (data()!.length > 0) {\n <p-table [value]=\"data()!\"\n stripedRows\n [tableStyle]=\"{ 'min-width': '50rem' }\"\n selectionMode=\"single\"\n [resizableColumns]=\"true\"\n dataKey=\"id\"\n >\n <ng-template #header>\n <tr>\n @for(column of data()![0].propertiesToShow; track column) {\n <th>\n {{ data()![0].getUiNameForProperty(column) }}\n </th>\n }\n </tr>\n </ng-template>\n <ng-template #body let-prompt>\n <tr (click)=\"openDisplay(prompt.id)\" [pSelectableRow]=\"prompt\">\n @for(column of data()![0].propertiesToShow; track column) {\n <td style=\"white-space: pre-wrap\">\n @if (column === 'createdAt') {\n {{ prompt.getPropertyValue(column) | date: 'dd.MM.yyyy - HH:mm' }}\n } @else {\n {{ prompt.getPropertyValue(column) }}\n }\n </td>\n }\n </tr>\n </ng-template>\n </p-table>\n <sftech-paginator [pagination]=\"odata().pagination\" (odataChanged)=\"updatePagination($event)\"></sftech-paginator>\n}\n\n","import { Component, effect, inject, signal } from '@angular/core';\r\nimport { FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';\r\nimport { BaseDialogComponent, BaseDisplayComponent, EFilterOperator, EFilterTypes, ESortDirection, FormErrorDisplayComponent, OData, ODataOrder, OdataFilter, OdataFilterCollection } from '@sftech/ng-shared';\r\nimport { AutoFocus } from 'primeng/autofocus';\r\nimport { Button } from 'primeng/button';\r\nimport { DatePicker } from 'primeng/datepicker';\r\nimport { DialogService } from 'primeng/dynamicdialog';\r\nimport { FloatLabel } from 'primeng/floatlabel';\r\nimport { InputText } from 'primeng/inputtext';\r\nimport { Textarea } from 'primeng/textarea';\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/services/prompt.service';\r\nimport { PromptHistoryListComponent } from '../../prompt-history/prompt-history-list/prompt-history-list.component';\r\n\r\n@Component({\r\n selector: 'sftech-prompt-display',\r\n imports: [ReactiveFormsModule, InputText, AutoFocus, FloatLabel, DatePicker, Textarea, Button, BaseDialogComponent, PromptHistoryListComponent, FormErrorDisplayComponent],\r\n providers: [DialogService],\r\n templateUrl: './prompt-display.component.html',\r\n styleUrl: './prompt-display.component.css',\r\n})\r\nexport class PromptDisplayComponent extends BaseDisplayComponent<Prompt, IPromptUpdateDto, IPromptUpdateDto, IPromptResponseDto> {\r\n protected override _repo = inject(PromptService);\r\n protected override _route = 'prompt';\r\n\r\n public odataForHistories = signal<OData | undefined>(undefined);\r\n\r\n constructor() {\r\n super();\r\n effect(() => {\r\n if (this.model()?.id) {\r\n this.odataForHistories.set(this.getOdataForHistories());\r\n }\r\n });\r\n }\r\n\r\n protected override initializeForm(): FormGroup {\r\n return new FormGroup({\r\n id: new FormControl({ value: this.model()!.id, disabled: true }),\r\n createdAt: new FormControl({ value: this.model()!.createdAt, disabled: true }),\r\n identifier: new FormControl({ value: this.model()!.identifier, disabled: true }),\r\n template: new FormControl(this.model()?.template),\r\n name: new FormControl(this.model()?.name),\r\n });\r\n }\r\n protected override getNewModel(): Prompt {\r\n return new Prompt();\r\n }\r\n protected override mapFormToUpdateDto(): IPromptUpdateDto {\r\n return {\r\n identifier: this.form.get('identifier')!.value,\r\n template: this.form.get('template')!.value,\r\n name: this.form.get('name')!.value,\r\n };\r\n }\r\n protected override mapFormToCreateDto(): IPromptUpdateDto {\r\n throw new Error('Method not implemented.');\r\n }\r\n\r\n public getOdataForHistories(): OData {\r\n const odata = new OData();\r\n odata.filter = new OdataFilterCollection();\r\n odata.filter.addAnd(new OdataFilter('promptId', this.model()!.id!, EFilterOperator.EQUALS, EFilterTypes.NUMERIC));\r\n odata.order = new ODataOrder();\r\n odata.order.column = 'createdAt';\r\n odata.order.direction = ESortDirection.DESC;\r\n return odata;\r\n }\r\n}\r\n","<sftech-base-dialog [hasHeader]=\"true\" (closed)=\"close({ operation: 'aborted' })\">\r\n <ng-template #header>\r\n <div class=\"flex justify-between\">\r\n <h2 class=\"text-xl font-semibold\">\r\n Prompt\r\n @if (model()) {\r\n <span class=\"ms-1\">{{ this.model()!.identifier }}</span>\r\n }\r\n </h2>\r\n </div>\r\n </ng-template>\r\n <ng-template #body>\r\n @if (model()) {\r\n <form [formGroup]=\"form\" [pAutoFocus]=\"true\" class=\"mb-5\">\r\n <div class=\"grid grid-cols-3 mb-2 gap-2\">\r\n <p-floatlabel variant=\"in\" class=\"w-full\">\r\n <input type=\"text\" id=\"id\" formControlName=\"id\" pInputText class=\"w-full\" />\r\n <label for=\"id\">{{ this.model()!.getUiNameForProperty('id') }}</label>\r\n </p-floatlabel>\r\n <p-floatlabel variant=\"in\" class=\"w-full\">\r\n <input type=\"text\" id=\"identifier\" formControlName=\"identifier\" pInputText class=\"w-full\" />\r\n <label for=\"identifier\">{{ this.model()!.getUiNameForProperty('identifier') }}</label>\r\n </p-floatlabel>\r\n <p-floatlabel variant=\"in\" class=\"w-full\">\r\n <p-datePicker id=\"createdAt\" formControlName=\"createdAt\" dateFormat=\"dd.mm.yy\" [showTime]=\"true\"\r\n [hourFormat]=\"'24'\" [style]=\"{'width': '100%'}\"></p-datePicker>\r\n <label for=\"createdAt\">{{ this.model()!.getUiNameForProperty('createdAt') }}</label>\r\n </p-floatlabel>\r\n </div>\r\n <p-floatlabel variant=\"in\" class=\"w-full mb-2\">\r\n <input type=\"text\" id=\"name\" formControlName=\"name\" pInputText class=\"w-full\"/>\r\n <label for=\"name\">{{ this.model()!.getUiNameForProperty('name') }}</label>\r\n </p-floatlabel>\r\n <p-floatlabel variant=\"in\" class=\"w-full\">\r\n <textarea rows=\"5\" id=\"template\" formControlName=\"template\" pTextarea class=\"w-full\"></textarea>\r\n <label for=\"template\">{{ this.model()!.getUiNameForProperty('template') }}</label>\r\n </p-floatlabel>\r\n <div class=\"flex justify-end mt-2\">\r\n <p-button label=\"Speichern\" type=\"submit\" (onClick)=\"submitForm()\" (keyup.enter)=\"submitForm()\" [disabled]=\"!form.dirty\"></p-button>\r\n </div>\r\n </form>\r\n @if (odataForHistories()) {\r\n <hr class=\"text-gray-200 my-3 w-full\" />\r\n <h2 class=\"font-bold mt-2 mb-5\">Prompt-History</h2>\r\n <sftech-prompt-history-list [odata]=\"odataForHistories()!\" [canEdit]=\"false\" [openDisplayAsModal]=\"true\"></sftech-prompt-history-list>\r\n }\r\n }\r\n </ng-template>\r\n <ng-template #footer>\r\n\r\n </ng-template>\r\n</sftech-base-dialog>\r\n"],"names":["i1"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sftech-ng-orchestrator-prompt-display.component-Dr3YvhU-.mjs","sources":["../../../../libs/ng-orchestrator/src/lib/ng-orchestrator/prompts/components/prompt-history/prompt-history-display/prompt-history-display.component.ts","../../../../libs/ng-orchestrator/src/lib/ng-orchestrator/prompts/components/prompt-history/prompt-history-display/prompt-history-display.component.html","../../../../libs/ng-orchestrator/src/lib/ng-orchestrator/prompts/components/prompt-history/prompt-history-list/prompt-history-list.component.ts","../../../../libs/ng-orchestrator/src/lib/ng-orchestrator/prompts/components/prompt-history/prompt-history-list/prompt-history-list.component.html","../../../../libs/ng-orchestrator/src/lib/ng-orchestrator/prompts/components/prompt/prompt-display/prompt-display.component.ts","../../../../libs/ng-orchestrator/src/lib/ng-orchestrator/prompts/components/prompt/prompt-display/prompt-display.component.html"],"sourcesContent":["import { Component, OnInit, inject } from '@angular/core';\r\nimport { FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';\r\nimport { BaseDialogComponent, BaseDisplayComponent } from '@sftech/ng-shared';\r\nimport { DatePicker } from 'primeng/datepicker';\r\nimport { FloatLabel } from 'primeng/floatlabel';\r\nimport { InputText } from 'primeng/inputtext';\r\nimport { Textarea } from 'primeng/textarea';\r\nimport { IPromptHistoryCreateDto } from '../../../core/dtos/prompt-history-create.dto';\r\nimport { IPromptHistoryResponseDto } from '../../../core/dtos/prompt-history-response.dto';\r\nimport { IPromptHistoryUpdateDto } from '../../../core/dtos/prompt-history-update.dto';\r\nimport { PromptHistory } from '../../../core/models/prompt-history.model';\r\nimport { PromptHistoryService } from '../../../core/services/prompt-history.service';\r\n\r\n@Component({\r\n selector: 'sftech-prompt-history-display',\r\n standalone: true,\r\n imports: [ReactiveFormsModule, BaseDialogComponent, DatePicker, FloatLabel, InputText, Textarea],\r\n templateUrl: './prompt-history-display.component.html',\r\n styleUrl: './prompt-history-display.component.css',\r\n})\r\nexport class PromptHistoryDisplayComponent extends BaseDisplayComponent<PromptHistory, IPromptHistoryCreateDto, IPromptHistoryUpdateDto, IPromptHistoryResponseDto> implements OnInit {\r\n protected override _repo = inject(PromptHistoryService);\r\n protected override _route = '/prompts/history';\r\n\r\n protected override initializeForm(): FormGroup {\r\n return new FormGroup({\r\n id: new FormControl({ value: this.model()!.id, disabled: true }),\r\n createdAt: new FormControl({ value: this.model()!.createdAt, disabled: true }),\r\n identifier: new FormControl({ value: this.model()!.identifier, disabled: true }),\r\n template: new FormControl({ value: this.model()!.template, disabled: this.canEdit }),\r\n name: new FormControl({ value: this.model()!.name, disabled: this.canEdit }),\r\n promptId: new FormControl({ value: this.model()!.promptId, disabled: this.canEdit }),\r\n });\r\n }\r\n protected override getNewModel(): PromptHistory {\r\n return new PromptHistory();\r\n }\r\n protected override mapFormToUpdateDto(): IPromptHistoryUpdateDto {\r\n throw new Error('Edit of PromptHistory is not supported');\r\n }\r\n protected override mapFormToCreateDto(): IPromptHistoryCreateDto {\r\n throw new Error('Manual creation of PromptHistory is not supported');\r\n }\r\n}\r\n","<sftech-base-dialog [hasHeader]=\"true\" (closed)=\"close({ operation: 'aborted' })\">\n <ng-template #header>\n <div class=\"flex justify-between\">\n <h2 class=\"text-xl font-semibold\">\n Prompt\n @if (model()) {\n <span class=\"ms-1\">{{ this.model()!.identifier }}</span>\n }\n </h2>\n </div>\n </ng-template>\n <ng-template #body>\n @if (model()) {\n <form [formGroup]=\"form\">\n <div class=\"grid grid-cols-4 mb-2 gap-2\">\n <p-floatlabel variant=\"in\" class=\"w-full\">\n <input type=\"text\" id=\"id\" formControlName=\"id\" pInputText class=\"w-full\"/>\n <label for=\"id\">{{ this.model()!.getUiNameForProperty('id') }}</label>\n </p-floatlabel>\n <p-floatlabel variant=\"in\" class=\"w-full\">\n <input type=\"text\" id=\"promptId\" formControlName=\"promptId\" pInputText class=\"w-full\"/>\n <label for=\"promptId\">{{ this.model()!.getUiNameForProperty('promptId') }}</label>\n </p-floatlabel>\n <p-floatlabel variant=\"in\" class=\"w-full\">\n <input type=\"text\" id=\"identifier\" formControlName=\"identifier\" pInputText class=\"w-full\"/>\n <label for=\"identifier\">{{ this.model()!.getUiNameForProperty('identifier') }}</label>\n </p-floatlabel>\n <p-floatlabel variant=\"in\" class=\"w-full\">\n <p-datePicker id=\"createdAt\" formControlName=\"createdAt\" dateFormat=\"dd.mm.yy\" [showTime]=\"true\"\n [hourFormat]=\"'24'\" [style]=\"{'width': '100%'}\"></p-datePicker>\n <label for=\"createdAt\">{{ this.model()!.getUiNameForProperty('createdAt') }}</label>\n </p-floatlabel>\n </div>\n <div class=\"w-full mb-2\">\n <p-floatlabel variant=\"in\" class=\"w-full\">\n <input type=\"text\" id=\"name\" formControlName=\"name\" pInputText class=\"w-full\"/>\n <label for=\"name\">{{ this.model()!.getUiNameForProperty('name') }}</label>\n </p-floatlabel>\n </div>\n <p-floatlabel variant=\"in\" class=\"w-full\">\n <textarea rows=\"5\" id=\"template\" formControlName=\"template\" pTextarea class=\"w-full\"></textarea>\n <label for=\"template\">{{ this.model()!.getUiNameForProperty('template') }}</label>\n </p-floatlabel>\n </form>\n }\n </ng-template>\n <ng-template #footer>\n </ng-template>\n</sftech-base-dialog>","import { DatePipe } from '@angular/common';\r\nimport { Component, OnInit, inject } from '@angular/core';\r\nimport { BaseListComponent, PaginatorComponent } from '@sftech/ng-shared';\r\nimport { Panel } from 'primeng/panel';\r\nimport { TableModule } from 'primeng/table';\r\nimport { IPromptHistoryCreateDto } from '../../../core/dtos/prompt-history-create.dto';\r\nimport { IPromptHistoryResponseDto } from '../../../core/dtos/prompt-history-response.dto';\r\nimport { IPromptHistoryUpdateDto } from '../../../core/dtos/prompt-history-update.dto';\r\nimport { PromptHistory } from '../../../core/models/prompt-history.model';\r\nimport { PromptHistoryService } from '../../../core/services/prompt-history.service';\r\nimport { PromptHistoryDisplayComponent } from '../prompt-history-display/prompt-history-display.component';\r\n\r\n@Component({\r\n selector: 'sftech-prompt-history-list',\r\n standalone: true,\r\n imports: [PaginatorComponent, DatePipe, Panel, TableModule],\r\n templateUrl: './prompt-history-list.component.html',\r\n styleUrl: './prompt-history-list.component.scss',\r\n})\r\nexport class PromptHistoryListComponent extends BaseListComponent<PromptHistory, IPromptHistoryCreateDto, IPromptHistoryUpdateDto, IPromptHistoryResponseDto> implements OnInit {\r\n protected override _repo = inject(PromptHistoryService);\r\n protected override _route = '/prompting/prompt-history';\r\n protected override _modalComponent = PromptHistoryDisplayComponent;\r\n protected detailModalHeaderText = 'Prompt-Details'\r\n}\r\n","@if (!data()) {\n <p-panel [toggleable]=\"false\">\n <p class=\"m-0\">\n Daten werden geladen...\n </p>\n </p-panel>\n} @else if (data()!.length === 0) {\n <p-panel [toggleable]=\"false\">\n <p class=\"m-0\">\n Es sind keine Prompts vorhanden.\n </p>\n </p-panel>\n} @else if (data()!.length > 0) {\n <p-table [value]=\"data()!\"\n stripedRows\n [tableStyle]=\"{ 'min-width': '50rem' }\"\n selectionMode=\"single\"\n [resizableColumns]=\"true\"\n dataKey=\"id\"\n >\n <ng-template #header>\n <tr>\n @for(column of data()![0].propertiesToShow; track column) {\n <th>\n {{ data()![0].getUiNameForProperty(column) }}\n </th>\n }\n </tr>\n </ng-template>\n <ng-template #body let-prompt>\n <tr (click)=\"openDisplay(prompt.id)\" [pSelectableRow]=\"prompt\">\n @for(column of data()![0].propertiesToShow; track column) {\n <td style=\"white-space: pre-wrap\">\n @if (column === 'createdAt') {\n {{ prompt.getPropertyValue(column) | date: 'dd.MM.yyyy - HH:mm' }}\n } @else {\n {{ prompt.getPropertyValue(column) }}\n }\n </td>\n }\n </tr>\n </ng-template>\n </p-table>\n <sftech-paginator [pagination]=\"odata().pagination\" (odataChanged)=\"updatePagination($event)\"></sftech-paginator>\n}\n\n","import { Component, effect, inject, signal } from '@angular/core';\r\nimport { FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';\r\nimport { BaseDialogComponent, BaseDisplayComponent, EFilterOperator, EFilterTypes, ESortDirection, FormErrorDisplayComponent, OData, ODataOrder, OdataFilter, OdataFilterCollection } from '@sftech/ng-shared';\r\nimport { AutoFocus } from 'primeng/autofocus';\r\nimport { Button } from 'primeng/button';\r\nimport { DatePicker } from 'primeng/datepicker';\r\nimport { DialogService } from 'primeng/dynamicdialog';\r\nimport { FloatLabel } from 'primeng/floatlabel';\r\nimport { InputText } from 'primeng/inputtext';\r\nimport { Textarea } from 'primeng/textarea';\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/services/prompt.service';\r\nimport { PromptHistoryListComponent } from '../../prompt-history/prompt-history-list/prompt-history-list.component';\r\n\r\n@Component({\r\n selector: 'sftech-prompt-display',\r\n imports: [ReactiveFormsModule, InputText, AutoFocus, FloatLabel, DatePicker, Textarea, Button, BaseDialogComponent, PromptHistoryListComponent, FormErrorDisplayComponent],\r\n providers: [DialogService],\r\n templateUrl: './prompt-display.component.html',\r\n styleUrl: './prompt-display.component.css',\r\n})\r\nexport class PromptDisplayComponent extends BaseDisplayComponent<Prompt, IPromptUpdateDto, IPromptUpdateDto, IPromptResponseDto> {\r\n protected override _repo = inject(PromptService);\r\n protected override _route = 'prompt';\r\n\r\n public odataForHistories = signal<OData | undefined>(undefined);\r\n\r\n constructor() {\r\n super();\r\n effect(() => {\r\n if (this.model()?.id) {\r\n this.odataForHistories.set(this.getOdataForHistories());\r\n }\r\n });\r\n }\r\n\r\n protected override initializeForm(): FormGroup {\r\n return new FormGroup({\r\n id: new FormControl({ value: this.model()!.id, disabled: true }),\r\n createdAt: new FormControl({ value: this.model()!.createdAt, disabled: true }),\r\n identifier: new FormControl({ value: this.model()!.identifier, disabled: true }),\r\n template: new FormControl(this.model()?.template),\r\n name: new FormControl(this.model()?.name),\r\n });\r\n }\r\n protected override getNewModel(): Prompt {\r\n return new Prompt();\r\n }\r\n protected override mapFormToUpdateDto(): IPromptUpdateDto {\r\n return {\r\n identifier: this.form.get('identifier')!.value,\r\n template: this.form.get('template')!.value,\r\n name: this.form.get('name')!.value,\r\n };\r\n }\r\n protected override mapFormToCreateDto(): IPromptUpdateDto {\r\n throw new Error('Method not implemented.');\r\n }\r\n\r\n public getOdataForHistories(): OData {\r\n const odata = new OData();\r\n odata.filter = new OdataFilterCollection();\r\n odata.filter.addAnd(new OdataFilter('promptId', this.model()!.id!, EFilterOperator.EQUALS, EFilterTypes.NUMERIC));\r\n odata.order = new ODataOrder();\r\n odata.order.column = 'createdAt';\r\n odata.order.direction = ESortDirection.DESC;\r\n return odata;\r\n }\r\n}\r\n","<sftech-base-dialog [hasHeader]=\"true\" (closed)=\"close({ operation: 'aborted' })\">\r\n <ng-template #header>\r\n <div class=\"flex justify-between\">\r\n <h2 class=\"text-xl font-semibold\">\r\n Prompt\r\n @if (model()) {\r\n <span class=\"ms-1\">{{ this.model()!.identifier }}</span>\r\n }\r\n </h2>\r\n </div>\r\n </ng-template>\r\n <ng-template #body>\r\n @if (model()) {\r\n <form [formGroup]=\"form\" [pAutoFocus]=\"true\" class=\"mb-5\">\r\n <div class=\"grid grid-cols-3 mb-2 gap-2\">\r\n <p-floatlabel variant=\"in\" class=\"w-full\">\r\n <input type=\"text\" id=\"id\" formControlName=\"id\" pInputText class=\"w-full\" />\r\n <label for=\"id\">{{ this.model()!.getUiNameForProperty('id') }}</label>\r\n </p-floatlabel>\r\n <p-floatlabel variant=\"in\" class=\"w-full\">\r\n <input type=\"text\" id=\"identifier\" formControlName=\"identifier\" pInputText class=\"w-full\" />\r\n <label for=\"identifier\">{{ this.model()!.getUiNameForProperty('identifier') }}</label>\r\n </p-floatlabel>\r\n <p-floatlabel variant=\"in\" class=\"w-full\">\r\n <p-datePicker id=\"createdAt\" formControlName=\"createdAt\" dateFormat=\"dd.mm.yy\" [showTime]=\"true\"\r\n [hourFormat]=\"'24'\" [style]=\"{'width': '100%'}\"></p-datePicker>\r\n <label for=\"createdAt\">{{ this.model()!.getUiNameForProperty('createdAt') }}</label>\r\n </p-floatlabel>\r\n </div>\r\n <p-floatlabel variant=\"in\" class=\"w-full mb-2\">\r\n <input type=\"text\" id=\"name\" formControlName=\"name\" pInputText class=\"w-full\"/>\r\n <label for=\"name\">{{ this.model()!.getUiNameForProperty('name') }}</label>\r\n </p-floatlabel>\r\n <p-floatlabel variant=\"in\" class=\"w-full\">\r\n <textarea rows=\"5\" id=\"template\" formControlName=\"template\" pTextarea class=\"w-full\"></textarea>\r\n <label for=\"template\">{{ this.model()!.getUiNameForProperty('template') }}</label>\r\n </p-floatlabel>\r\n <div class=\"flex justify-end mt-2\">\r\n <p-button label=\"Speichern\" type=\"submit\" (onClick)=\"submitForm()\" (keyup.enter)=\"submitForm()\" [disabled]=\"!form.dirty\"></p-button>\r\n </div>\r\n </form>\r\n @if (odataForHistories()) {\r\n <hr class=\"text-gray-200 my-3 w-full\" />\r\n <h2 class=\"font-bold mt-2 mb-5\">Prompt-History</h2>\r\n <sftech-prompt-history-list [odata]=\"odataForHistories()!\" [canEdit]=\"false\" [openDisplayAsModal]=\"true\"></sftech-prompt-history-list>\r\n }\r\n }\r\n </ng-template>\r\n <ng-template #footer>\r\n\r\n </ng-template>\r\n</sftech-base-dialog>\r\n"],"names":["i1"],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import * as i1 from '@angular/common/http';
|
|
|
2
2
|
import * as i0 from '@angular/core';
|
|
3
3
|
import { Inject, Injectable } from '@angular/core';
|
|
4
4
|
import { BaseDbModel, EFilterTypes, BaseDbApiService } from '@sftech/ng-shared';
|
|
5
|
-
import { a as ORCHESTRATOR_CONFIGURATION } from './sftech-ng-orchestrator-sftech-ng-orchestrator-
|
|
5
|
+
import { a as ORCHESTRATOR_CONFIGURATION } from './sftech-ng-orchestrator-sftech-ng-orchestrator-CICnJ35v.mjs';
|
|
6
6
|
|
|
7
7
|
class PromptHistory extends BaseDbModel {
|
|
8
8
|
identifier;
|
|
@@ -104,4 +104,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
|
|
|
104
104
|
}] }] });
|
|
105
105
|
|
|
106
106
|
export { PromptService as P, PromptHistoryService as a, Prompt as b, PromptHistory as c };
|
|
107
|
-
//# sourceMappingURL=sftech-ng-orchestrator-prompt.service-
|
|
107
|
+
//# sourceMappingURL=sftech-ng-orchestrator-prompt.service-CkWDxT-Y.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sftech-ng-orchestrator-prompt.service-
|
|
1
|
+
{"version":3,"file":"sftech-ng-orchestrator-prompt.service-CkWDxT-Y.mjs","sources":["../../../../libs/ng-orchestrator/src/lib/ng-orchestrator/prompts/core/models/prompt-history.model.ts","../../../../libs/ng-orchestrator/src/lib/ng-orchestrator/prompts/core/models/prompt.model.ts","../../../../libs/ng-orchestrator/src/lib/ng-orchestrator/prompts/core/services/prompt-history.service.ts","../../../../libs/ng-orchestrator/src/lib/ng-orchestrator/prompts/core/services/prompt.service.ts"],"sourcesContent":["import { BaseDbModel, IBaseDbResponseDto } from '@sftech/ng-shared';\r\nimport { IPromptHistoryResponseDto } from '../dtos/prompt-history-response.dto';\r\nimport { IPromptResponseDto } from '../dtos/prompt-request.dto';\r\n\r\nexport class PromptHistory extends BaseDbModel {\r\n public identifier!: string;\r\n public name!: string;\r\n public template!: string;\r\n public promptId!: number;\r\n\r\n public override propertiesToShow = ['name', 'identifier', 'template', 'promptId', 'createdAt'];\r\n\r\n public override propertyUINames = new Map<string, string>([\r\n ['name', 'name'],\r\n ['template', 'template'],\r\n ['histories', 'histories'],\r\n ['promptId', 'Prompt-ID'],\r\n ['createdAt', 'erstellt'],\r\n ]);\r\n\r\n public override fromDto(dto: IPromptHistoryResponseDto): PromptHistory {\r\n const model = new PromptHistory();\r\n model.id = dto.id;\r\n model.name = dto.name;\r\n model.createdAt = new Date(dto.createdAt);\r\n model.identifier = dto.identifier;\r\n model.template = dto.template;\r\n model.promptId = dto.promptId;\r\n return model;\r\n }\r\n}\r\n","import { BaseDbModel, EFilterTypes, IBaseDbResponseDto } from '@sftech/ng-shared';\r\nimport { IPromptResponseDto } from '../dtos/prompt-request.dto';\r\nimport { PromptHistory } from './prompt-history.model';\r\n\r\nexport class Prompt extends BaseDbModel {\r\n public identifier!: string;\r\n public name!: string;\r\n public template!: string;\r\n public histories: PromptHistory[] = [];\r\n\r\n public override propertiesToShow = ['name', 'identifier', 'template'];\r\n\r\n public override propertyUINames = new Map<string, string>([\r\n ['name', 'Name'],\r\n ['template', 'Template'],\r\n ['identifier', 'identifier'],\r\n ]);\r\n\r\n public override propertyFilterType = new Map<string, EFilterTypes>([\r\n ['name', EFilterTypes.STRING],\r\n ['template', EFilterTypes.STRING],\r\n ['identifier', EFilterTypes.STRING],\r\n ]);\r\n\r\n public override fromDto(dto: IPromptResponseDto): Prompt {\r\n const model = new Prompt();\r\n model.id = dto.id;\r\n model.createdAt = new Date(dto.createdAt);\r\n model.name = dto.name;\r\n model.identifier = dto.identifier;\r\n model.template = dto.template;\r\n model.histories = dto.histories ? (PromptHistory.fromDtos(dto.histories) as PromptHistory[]) : [];\r\n return model;\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { BaseDbApiService } from '@sftech/ng-shared';\r\nimport { IOrchestratorConfig } from '../../../core/configuration/orchestrator-config.interface';\r\nimport { ORCHESTRATOR_CONFIGURATION } from '../../../core/configuration/orchestrator-configuration.token';\r\nimport { IPromptHistoryResponseDto } from '../dtos/prompt-history-response.dto';\r\nimport { IPromptHistoryUpdateDto } from '../dtos/prompt-history-update.dto';\r\nimport { PromptHistory } from '../models/prompt-history.model';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class PromptHistoryService extends BaseDbApiService<PromptHistory, IPromptHistoryUpdateDto, IPromptHistoryUpdateDto, IPromptHistoryResponseDto> {\r\n constructor(\r\n protected override readonly http: HttpClient,\r\n @Inject(ORCHESTRATOR_CONFIGURATION) protected override readonly config: IOrchestratorConfig,\r\n ) {\r\n super(http, config);\r\n this.url = `${this.config.orchestratorDbUrl}/prompts/histories`;\r\n }\r\n\r\n protected getNewModel(): PromptHistory {\r\n return new PromptHistory();\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { BaseDbApiService } from '@sftech/ng-shared';\r\nimport { IOrchestratorConfig } from '../../../core/configuration/orchestrator-config.interface';\r\nimport { ORCHESTRATOR_CONFIGURATION } from '../../../core/configuration/orchestrator-configuration.token';\r\nimport { IPromptResponseDto } from '../dtos/prompt-request.dto';\r\nimport { IPromptUpdateDto } from '../dtos/prompt-update.dto';\r\nimport { Prompt } from '../models/prompt.model';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class PromptService extends BaseDbApiService<Prompt, IPromptUpdateDto, IPromptUpdateDto, IPromptResponseDto> {\r\n constructor(\r\n protected override readonly http: HttpClient,\r\n @Inject(ORCHESTRATOR_CONFIGURATION) protected override readonly config: IOrchestratorConfig,\r\n ) {\r\n super(http, config);\r\n this.url = `${this.config.orchestratorDbUrl}/prompts`;\r\n }\r\n\r\n protected getNewModel(): Prompt {\r\n return new Prompt();\r\n }\r\n}\r\n"],"names":[],"mappings":"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"}
|
|
@@ -5,8 +5,8 @@ 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.service-
|
|
9
|
-
import { P as PromptDisplayComponent } from './sftech-ng-orchestrator-prompt-display.component-
|
|
8
|
+
import { P as PromptService } from './sftech-ng-orchestrator-prompt.service-CkWDxT-Y.mjs';
|
|
9
|
+
import { P as PromptDisplayComponent } from './sftech-ng-orchestrator-prompt-display.component-Dr3YvhU-.mjs';
|
|
10
10
|
import { RouterOutlet } from '@angular/router';
|
|
11
11
|
|
|
12
12
|
class PromptsListComponent extends BaseListComponent {
|
|
@@ -49,4 +49,4 @@ const promptsRoutes = [
|
|
|
49
49
|
];
|
|
50
50
|
|
|
51
51
|
export { promptsRoutes };
|
|
52
|
-
//# sourceMappingURL=sftech-ng-orchestrator-prompts.routes-
|
|
52
|
+
//# sourceMappingURL=sftech-ng-orchestrator-prompts.routes-gyZH5vh-.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sftech-ng-orchestrator-prompts.routes-
|
|
1
|
+
{"version":3,"file":"sftech-ng-orchestrator-prompts.routes-gyZH5vh-.mjs","sources":["../../../../libs/ng-orchestrator/src/lib/ng-orchestrator/prompts/components/prompt/prompts-list/prompts-list.component.ts","../../../../libs/ng-orchestrator/src/lib/ng-orchestrator/prompts/components/prompt/prompts-list/prompts-list.component.html","../../../../libs/ng-orchestrator/src/lib/ng-orchestrator/prompts/prompts.component.ts","../../../../libs/ng-orchestrator/src/lib/ng-orchestrator/prompts/prompts.component.html","../../../../libs/ng-orchestrator/src/lib/ng-orchestrator/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/services/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 _modalComponent = PromptDisplayComponent;\r\n protected 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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"}
|
|
@@ -9,8 +9,8 @@ import { map, catchError, of } from 'rxjs';
|
|
|
9
9
|
class OrchestratorConfigMapper {
|
|
10
10
|
static map(config) {
|
|
11
11
|
return {
|
|
12
|
-
orchestratorUrl: config['ORCHESTRATOR_URL']
|
|
13
|
-
orchestratorDbUrl: config['ORCHESTRATOR_DB_URL']
|
|
12
|
+
orchestratorUrl: config['ORCHESTRATOR_URL'] ?? `${window.location.protocol}//${window.location.hostname}:${window.location.port}/api/orchestrator`,
|
|
13
|
+
orchestratorDbUrl: config['ORCHESTRATOR_DB_URL'] ?? `${window.location.protocol}//${window.location.hostname}:${window.location.port}/api/orchestrator-db`,
|
|
14
14
|
defaultConnectorUrl: config['DEFAULT_CONNECTOR_URL'],
|
|
15
15
|
defaultAnswerSpecification: config['DEFAULT_ANSWER_SPECIFICATION'],
|
|
16
16
|
defaultLlmProvider: config['DEFAULT_LLM_PROVIDER'],
|
|
@@ -138,15 +138,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
|
|
|
138
138
|
const orchestratorRoutes = [
|
|
139
139
|
{
|
|
140
140
|
path: 'chats',
|
|
141
|
-
loadChildren: () => import('./sftech-ng-orchestrator-chat.routes-
|
|
141
|
+
loadChildren: () => import('./sftech-ng-orchestrator-chat.routes-BAF4OU_M.mjs').then(m => m.chatRoutes)
|
|
142
142
|
},
|
|
143
143
|
{
|
|
144
144
|
path: 'prompts',
|
|
145
|
-
loadChildren: () => import('./sftech-ng-orchestrator-prompts.routes-
|
|
145
|
+
loadChildren: () => import('./sftech-ng-orchestrator-prompts.routes-gyZH5vh-.mjs').then(m => m.promptsRoutes)
|
|
146
146
|
},
|
|
147
147
|
{
|
|
148
148
|
path: 'agents',
|
|
149
|
-
loadChildren: () => import('./sftech-ng-orchestrator-agents.routes-
|
|
149
|
+
loadChildren: () => import('./sftech-ng-orchestrator-agents.routes-CnV8ngf_.mjs').then(m => m.agentsRoutes)
|
|
150
150
|
},
|
|
151
151
|
];
|
|
152
152
|
|
|
@@ -155,4 +155,4 @@ const orchestratorRoutes = [
|
|
|
155
155
|
*/
|
|
156
156
|
|
|
157
157
|
export { OrcherstratorService as O, ORCHESTRATOR_CONFIGURATION as a, OrchestratorModule as b, orchestratorRoutes as o };
|
|
158
|
-
//# sourceMappingURL=sftech-ng-orchestrator-sftech-ng-orchestrator-
|
|
158
|
+
//# sourceMappingURL=sftech-ng-orchestrator-sftech-ng-orchestrator-CICnJ35v.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sftech-ng-orchestrator-sftech-ng-orchestrator-CICnJ35v.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/models/llm-response.model.ts","../../../../libs/ng-orchestrator/src/lib/ng-orchestrator/core/models/mcp-tool.model.ts","../../../../libs/ng-orchestrator/src/lib/ng-orchestrator/core/service/orcherstrator.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 };\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');","import {ILlmResponseDto, ILlmTokensDto} from \"../dtos/llm-response.dto\";\r\n\r\nexport class LlmResponse {\r\n message!: string;\r\n tokens?: LlmTokens\r\n\r\n public static fromDto(dto: ILlmResponseDto): LlmResponse {\r\n const model = new LlmResponse();\r\n model.message = dto.message;\r\n model.tokens = dto.tokens ? LlmTokens.fromDto(dto.tokens) : undefined;\r\n return model;\r\n }\r\n}\r\n\r\nexport class LlmTokens {\r\n public input!: number;\r\n public output!: number;\r\n public total!: number;\r\n\r\n public static fromDto(dto: ILlmTokensDto): LlmTokens {\r\n const model = new LlmTokens();\r\n model.input = dto.input;\r\n model.output = dto.output;\r\n model.total = dto.total;\r\n return model;\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 } from '@angular/core';\r\nimport {IApiResponse, MappedApiError, MappedApiResponse, 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 { ILlmResponseDto } from '../dtos/llm-response.dto';\r\nimport { IMcpToolResponseDto } from '../dtos/mcp-tool-response.dto';\r\nimport { IOrchestratorRunDto } from '../dtos/orchestrator-run.dto';\r\nimport { LlmResponse } from '../models/llm-response.model';\r\nimport {McpTool} from \"../models/mcp-tool.model\";\r\n\r\n@Injectable()\r\nexport class OrcherstratorService {\r\n public constructor(\r\n private readonly http: HttpClient,\r\n @Inject(ORCHESTRATOR_CONFIGURATION) private readonly config: IOrchestratorConfig,\r\n ) {}\r\n\r\n public runAgent(runConfig: IOrchestratorRunDto): Observable<MappedApiResponseRaw<LlmResponse>> {\r\n const url = `${this.config.orchestratorUrl}/generic/run`;\r\n return this.http.post<IApiResponse<ILlmResponseDto>>(url, runConfig).pipe(\r\n map((res) => {\r\n console.log(res);\r\n const apiResponse = new MappedApiResponseRaw<LlmResponse>();\r\n apiResponse.status = res.status;\r\n apiResponse.messages = res.messages ? res.messages : [];\r\n apiResponse.isError = false;\r\n apiResponse.data = LlmResponse.fromDto(res.data as ILlmResponseDto);\r\n return apiResponse;\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 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 console.log(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","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\nimport { OrcherstratorService } from './core/service/orcherstrator.service';\r\n\r\n@NgModule({\r\n declarations: [],\r\n imports: [CommonModule],\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 OrcherstratorService,\r\n ],\r\n };\r\n }\r\n}\r\n","import {Route} from '@angular/router';\r\n\r\nexport const orchestratorRoutes: Route[] = [\r\n {\r\n path: 'chats',\r\n loadChildren: () => import('./chat/chat.routes').then(m => m.chatRoutes)\r\n },\r\n {\r\n path: 'prompts',\r\n loadChildren: () => import('./prompts/prompts.routes').then(m => m.promptsRoutes)\r\n },\r\n {\r\n path: 'agents',\r\n loadChildren: () => import('./agents/agents.routes').then(m => m.agentsRoutes)\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 { b as OrchestratorModule, o as orchestratorRoutes } from './sftech-ng-orchestrator-sftech-ng-orchestrator-
|
|
1
|
+
export { b as OrchestratorModule, o as orchestratorRoutes } from './sftech-ng-orchestrator-sftech-ng-orchestrator-CICnJ35v.mjs';
|
|
2
2
|
//# sourceMappingURL=sftech-ng-orchestrator.mjs.map
|