@sftech/ng-orchestrator 0.0.9 → 0.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (27) hide show
  1. package/fesm2022/{sftech-ng-orchestrator-agent.service-B-Oyla5f.mjs → sftech-ng-orchestrator-agent.service-w7yNia2v.mjs} +3 -3
  2. package/fesm2022/{sftech-ng-orchestrator-agent.service-B-Oyla5f.mjs.map → sftech-ng-orchestrator-agent.service-w7yNia2v.mjs.map} +1 -1
  3. package/fesm2022/sftech-ng-orchestrator-agents.routes-BnMYwh1T.mjs +148 -0
  4. package/fesm2022/sftech-ng-orchestrator-agents.routes-BnMYwh1T.mjs.map +1 -0
  5. package/fesm2022/{sftech-ng-orchestrator-chat.routes-C-qQU3r4.mjs → sftech-ng-orchestrator-chat.routes-D4nOLrzi.mjs} +5 -6
  6. package/fesm2022/sftech-ng-orchestrator-chat.routes-D4nOLrzi.mjs.map +1 -0
  7. package/fesm2022/sftech-ng-orchestrator-prompt-display.component-C2jx7jgq.mjs +114 -0
  8. package/fesm2022/sftech-ng-orchestrator-prompt-display.component-C2jx7jgq.mjs.map +1 -0
  9. package/fesm2022/{sftech-ng-orchestrator-prompt.service-CGjm-Lgg.mjs → sftech-ng-orchestrator-prompt.service-DXvM-ziS.mjs} +2 -2
  10. package/fesm2022/{sftech-ng-orchestrator-prompt.service-CGjm-Lgg.mjs.map → sftech-ng-orchestrator-prompt.service-DXvM-ziS.mjs.map} +1 -1
  11. package/fesm2022/{sftech-ng-orchestrator-prompts.routes-C0Lzyz67.mjs → sftech-ng-orchestrator-prompts.routes-CO3W8D4y.mjs} +3 -3
  12. package/fesm2022/{sftech-ng-orchestrator-prompts.routes-C0Lzyz67.mjs.map → sftech-ng-orchestrator-prompts.routes-CO3W8D4y.mjs.map} +1 -1
  13. package/fesm2022/{sftech-ng-orchestrator-sftech-ng-orchestrator-BvI6i-px.mjs → sftech-ng-orchestrator-sftech-ng-orchestrator-CgBxpVr9.mjs} +21 -5
  14. package/fesm2022/sftech-ng-orchestrator-sftech-ng-orchestrator-CgBxpVr9.mjs.map +1 -0
  15. package/fesm2022/sftech-ng-orchestrator.mjs +1 -1
  16. package/lib/ng-orchestrator/agents/components/agent/agent-display/agent-display.component.d.ts +8 -1
  17. package/lib/ng-orchestrator/core/configuration/orchestrator-config.interface.d.ts +9 -1
  18. package/lib/ng-orchestrator/core/configuration/orchestrator-config.mapper.d.ts +3 -2
  19. package/lib/ng-orchestrator/core/dtos/mcp-tool-response.dto.d.ts +4 -0
  20. package/lib/ng-orchestrator/core/service/orcherstrator.service.d.ts +2 -0
  21. package/package.json +2 -2
  22. package/fesm2022/sftech-ng-orchestrator-agents.routes-DB9PYB14.mjs +0 -130
  23. package/fesm2022/sftech-ng-orchestrator-agents.routes-DB9PYB14.mjs.map +0 -1
  24. package/fesm2022/sftech-ng-orchestrator-chat.routes-C-qQU3r4.mjs.map +0 -1
  25. package/fesm2022/sftech-ng-orchestrator-prompt-display.component-LSo-QYNv.mjs +0 -114
  26. package/fesm2022/sftech-ng-orchestrator-prompt-display.component-LSo-QYNv.mjs.map +0 -1
  27. package/fesm2022/sftech-ng-orchestrator-sftech-ng-orchestrator-BvI6i-px.mjs.map +0 -1
@@ -0,0 +1,114 @@
1
+ import * as i0 from '@angular/core';
2
+ import { inject, Component, signal, effect } from '@angular/core';
3
+ import * as i1 from '@angular/forms';
4
+ import { FormGroup, FormControl, ReactiveFormsModule } from '@angular/forms';
5
+ import { BaseDisplayComponent, BaseDialogComponent, BaseListComponent, PaginatorComponent, OData, OdataFilterCollection, OdataFilter, EFilterOperator, EFilterTypes, ODataOrder, ESortDirection, FormErrorDisplayComponent } from '@sftech/ng-shared';
6
+ import { AutoFocus } from 'primeng/autofocus';
7
+ import { Button } from 'primeng/button';
8
+ import { DatePicker } from 'primeng/datepicker';
9
+ import { DialogService } from 'primeng/dynamicdialog';
10
+ import { FloatLabel } from 'primeng/floatlabel';
11
+ import { InputText } from 'primeng/inputtext';
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-DXvM-ziS.mjs';
14
+ import { DatePipe } from '@angular/common';
15
+ import { Panel } from 'primeng/panel';
16
+ import * as i1$1 from 'primeng/table';
17
+ import { TableModule } from 'primeng/table';
18
+
19
+ class PromptHistoryDisplayComponent extends BaseDisplayComponent {
20
+ _repo = inject(PromptHistoryService);
21
+ _route = '/prompts/history';
22
+ initializeForm() {
23
+ return new FormGroup({
24
+ id: new FormControl({ value: this.model().id, disabled: true }),
25
+ createdAt: new FormControl({ value: this.model().createdAt, disabled: true }),
26
+ identifier: new FormControl({ value: this.model().identifier, disabled: true }),
27
+ template: new FormControl({ value: this.model().template, disabled: this.canEdit }),
28
+ name: new FormControl({ value: this.model().name, disabled: this.canEdit }),
29
+ promptId: new FormControl({ value: this.model().promptId, disabled: this.canEdit }),
30
+ });
31
+ }
32
+ getNewModel() {
33
+ return new PromptHistory();
34
+ }
35
+ mapFormToUpdateDto() {
36
+ throw new Error('Edit of PromptHistory is not supported');
37
+ }
38
+ mapFormToCreateDto() {
39
+ throw new Error('Manual creation of PromptHistory is not supported');
40
+ }
41
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: PromptHistoryDisplayComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
42
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.11", type: PromptHistoryDisplayComponent, isStandalone: true, selector: "sftech-prompt-history-display", usesInheritance: true, ngImport: i0, template: "<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>", 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: BaseDialogComponent, selector: "sftech-base-dialog", inputs: ["hasHeader", "hasFooter", "showButtons", "headerText"], outputs: ["closed"] }, { kind: "component", type: DatePicker, selector: "p-datePicker, p-datepicker, p-date-picker", inputs: ["iconDisplay", "style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "ariaLabel", "iconAriaLabel", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "fluid", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "startWeekFromFirstDayOfYear", "showClear", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autofocus", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "timeSeparator", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "variant", "size", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "locale", "view", "defaultDate"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onClear", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onShow"] }, { 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: "directive", type: Textarea, selector: "[pTextarea], [pInputTextarea]", inputs: ["autoResize", "variant", "fluid", "pSize"], outputs: ["onResize"] }] });
43
+ }
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: PromptHistoryDisplayComponent, decorators: [{
45
+ type: Component,
46
+ args: [{ selector: 'sftech-prompt-history-display', standalone: true, imports: [ReactiveFormsModule, BaseDialogComponent, DatePicker, FloatLabel, InputText, Textarea], template: "<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>" }]
47
+ }] });
48
+
49
+ class PromptHistoryListComponent extends BaseListComponent {
50
+ _repo = inject(PromptHistoryService);
51
+ _route = '/prompting/prompt-history';
52
+ _modalComponent = PromptHistoryDisplayComponent;
53
+ detailModalHeaderText = 'Prompt-Details';
54
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: PromptHistoryListComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
55
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.11", type: PromptHistoryListComponent, isStandalone: true, selector: "sftech-prompt-history-list", usesInheritance: true, ngImport: i0, template: "@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", styles: [""], dependencies: [{ kind: "component", type: PaginatorComponent, selector: "sftech-paginator", inputs: ["pagination"], outputs: ["odataChanged"] }, { kind: "pipe", type: DatePipe, name: "date" }, { kind: "component", type: Panel, selector: "p-panel", inputs: ["toggleable", "header", "collapsed", "style", "styleClass", "iconPos", "expandIcon", "collapseIcon", "showHeader", "toggler", "transitionOptions", "toggleButtonProps"], outputs: ["collapsedChange", "onBeforeToggle", "onAfterToggle"] }, { kind: "ngmodule", type: TableModule }, { kind: "component", type: i1$1.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "style", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorStyleClass", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "scrollDirection", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "responsive", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "autoLayout", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "size", "showGridlines", "stripedRows", "groupRowsByOrder", "responsiveLayout", "breakpoint", "paginatorLocale", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "virtualRowHeight", "selectAll"], outputs: ["contextMenuSelectionChange", "selectAllChange", "selectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "directive", type: i1$1.SelectableRow, selector: "[pSelectableRow]", inputs: ["pSelectableRow", "pSelectableRowIndex", "pSelectableRowDisabled"] }] });
56
+ }
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: PromptHistoryListComponent, decorators: [{
58
+ type: Component,
59
+ args: [{ selector: 'sftech-prompt-history-list', standalone: true, imports: [PaginatorComponent, DatePipe, Panel, TableModule], template: "@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" }]
60
+ }] });
61
+
62
+ class PromptDisplayComponent extends BaseDisplayComponent {
63
+ _repo = inject(PromptService);
64
+ _route = 'prompt';
65
+ odataForHistories = signal(undefined);
66
+ constructor() {
67
+ super();
68
+ effect(() => {
69
+ if (this.model()?.id) {
70
+ this.odataForHistories.set(this.getOdataForHistories());
71
+ }
72
+ });
73
+ }
74
+ initializeForm() {
75
+ return new FormGroup({
76
+ id: new FormControl({ value: this.model().id, disabled: true }),
77
+ createdAt: new FormControl({ value: this.model().createdAt, disabled: true }),
78
+ identifier: new FormControl({ value: this.model().identifier, disabled: true }),
79
+ template: new FormControl(this.model()?.template),
80
+ name: new FormControl(this.model()?.name),
81
+ });
82
+ }
83
+ getNewModel() {
84
+ return new Prompt();
85
+ }
86
+ mapFormToUpdateDto() {
87
+ return {
88
+ identifier: this.form.get('identifier').value,
89
+ template: this.form.get('template').value,
90
+ name: this.form.get('name').value,
91
+ };
92
+ }
93
+ mapFormToCreateDto() {
94
+ throw new Error('Method not implemented.');
95
+ }
96
+ getOdataForHistories() {
97
+ const odata = new OData();
98
+ odata.filter = new OdataFilterCollection();
99
+ odata.filter.addAnd(new OdataFilter('promptId', this.model().id, EFilterOperator.EQUALS, EFilterTypes.NUMERIC));
100
+ odata.order = new ODataOrder();
101
+ odata.order.column = 'createdAt';
102
+ odata.order.direction = ESortDirection.DESC;
103
+ return odata;
104
+ }
105
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: PromptDisplayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
106
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.11", type: PromptDisplayComponent, isStandalone: true, selector: "sftech-prompt-display", providers: [DialogService], usesInheritance: true, ngImport: i0, template: "<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", 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: "directive", type: InputText, selector: "[pInputText]", inputs: ["variant", "fluid", "pSize"] }, { kind: "directive", type: AutoFocus, selector: "[pAutoFocus]", inputs: ["autofocus", "pAutoFocus"] }, { kind: "component", type: FloatLabel, selector: "p-floatlabel, p-floatLabel, p-float-label", inputs: ["variant"] }, { kind: "component", type: DatePicker, selector: "p-datePicker, p-datepicker, p-date-picker", inputs: ["iconDisplay", "style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "ariaLabel", "iconAriaLabel", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "fluid", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "startWeekFromFirstDayOfYear", "showClear", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autofocus", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "timeSeparator", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "variant", "size", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "locale", "view", "defaultDate"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onClear", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onShow"] }, { kind: "directive", type: Textarea, selector: "[pTextarea], [pInputTextarea]", inputs: ["autoResize", "variant", "fluid", "pSize"], outputs: ["onResize"] }, { 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: BaseDialogComponent, selector: "sftech-base-dialog", inputs: ["hasHeader", "hasFooter", "showButtons", "headerText"], outputs: ["closed"] }, { kind: "component", type: PromptHistoryListComponent, selector: "sftech-prompt-history-list" }] });
107
+ }
108
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: PromptDisplayComponent, decorators: [{
109
+ type: Component,
110
+ args: [{ selector: 'sftech-prompt-display', imports: [ReactiveFormsModule, InputText, AutoFocus, FloatLabel, DatePicker, Textarea, Button, BaseDialogComponent, PromptHistoryListComponent, FormErrorDisplayComponent], providers: [DialogService], template: "<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" }]
111
+ }], ctorParameters: () => [] });
112
+
113
+ export { PromptDisplayComponent as P };
114
+ //# sourceMappingURL=sftech-ng-orchestrator-prompt-display.component-C2jx7jgq.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sftech-ng-orchestrator-prompt-display.component-C2jx7jgq.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-BvI6i-px.mjs';
5
+ import { a as ORCHESTRATOR_CONFIGURATION } from './sftech-ng-orchestrator-sftech-ng-orchestrator-CgBxpVr9.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.11", 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-CGjm-Lgg.mjs.map
107
+ //# sourceMappingURL=sftech-ng-orchestrator-prompt.service-DXvM-ziS.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"sftech-ng-orchestrator-prompt.service-CGjm-Lgg.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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"}
1
+ {"version":3,"file":"sftech-ng-orchestrator-prompt.service-DXvM-ziS.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-CGjm-Lgg.mjs';
9
- import { P as PromptDisplayComponent } from './sftech-ng-orchestrator-prompt-display.component-LSo-QYNv.mjs';
8
+ import { P as PromptService } from './sftech-ng-orchestrator-prompt.service-DXvM-ziS.mjs';
9
+ import { P as PromptDisplayComponent } from './sftech-ng-orchestrator-prompt-display.component-C2jx7jgq.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-C0Lzyz67.mjs.map
52
+ //# sourceMappingURL=sftech-ng-orchestrator-prompts.routes-CO3W8D4y.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"sftech-ng-orchestrator-prompts.routes-C0Lzyz67.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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"}
1
+ {"version":3,"file":"sftech-ng-orchestrator-prompts.routes-CO3W8D4y.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":";;;;;;;;;;;AAkBM,MAAO,oBAAqB,SAAQ,iBAAiF,CAAA;AAC7G,IAAA,KAAK,GAAG,MAAM,CAAC,aAAa,CAAC;IAC7B,MAAM,GAAG,SAAS;IAClB,eAAe,GAAG,sBAAsB;IACxC,qBAAqB,GAAG,gBAAgB;IAE3C,YAAY,GAAG,YAAY;AAElC,IAAA,WAAA,GAAA;AACI,QAAA,KAAK,EAAE;;wGATF,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;4FAApB,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,SAAA,EAJlB,CAAC,aAAa,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECd9B,6hDAyCA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,ED5Bc,kBAAkB,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,KAAK,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,WAAA,EAAA,OAAA,EAAA,YAAA,EAAA,SAAA,EAAA,YAAA,EAAA,cAAA,EAAA,YAAA,EAAA,SAAA,EAAA,mBAAA,EAAA,mBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,iBAAA,EAAA,gBAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,WAAW,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,aAAA,EAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,WAAA,EAAA,oBAAA,EAAA,qBAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,2BAAA,EAAA,+BAAA,EAAA,2BAAA,EAAA,uBAAA,EAAA,wBAAA,EAAA,qBAAA,EAAA,mBAAA,EAAA,eAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,mBAAA,EAAA,sBAAA,EAAA,0BAAA,EAAA,SAAA,EAAA,kBAAA,EAAA,eAAA,EAAA,YAAA,EAAA,MAAA,EAAA,gBAAA,EAAA,oBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,SAAA,EAAA,oBAAA,EAAA,aAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,cAAA,EAAA,eAAA,EAAA,uBAAA,EAAA,sBAAA,EAAA,oBAAA,EAAA,aAAA,EAAA,YAAA,EAAA,aAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,SAAA,EAAA,aAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,sBAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,UAAA,EAAA,aAAA,EAAA,MAAA,EAAA,eAAA,EAAA,aAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,SAAA,EAAA,OAAA,EAAA,MAAA,EAAA,cAAA,EAAA,WAAA,EAAA,WAAA,EAAA,eAAA,EAAA,WAAA,EAAA,kBAAA,EAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,4BAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,QAAA,EAAA,QAAA,EAAA,UAAA,EAAA,YAAA,EAAA,aAAA,EAAA,eAAA,EAAA,qBAAA,EAAA,aAAA,EAAA,cAAA,EAAA,cAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,cAAA,EAAA,wBAAA,EAAA,cAAA,EAAA,aAAA,EAAA,YAAA,EAAA,aAAA,EAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,EAAA,qBAAA,EAAA,wBAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;4FAKvC,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAPhC,SAAS;+BACI,qBAAqB,EAAA,OAAA,EACtB,CAAC,kBAAkB,EAAE,KAAK,EAAE,WAAW,CAAC,EAAA,SAAA,EACtC,CAAC,aAAa,CAAC,EAAA,QAAA,EAAA,6hDAAA,EAAA;;;MELjB,gBAAgB,CAAA;wGAAhB,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;4FAAhB,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECT7B,yCAEA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDGc,YAAY,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,kBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,QAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;4FAIb,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAN5B,SAAS;+BACI,gBAAgB,EAAA,OAAA,EACjB,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,yCAAA,EAAA;;;AEFd,MAAA,aAAa,GAAG;AACzB,IAAA;AACI,QAAA,IAAI,EAAE,EAAE;AACR,QAAA,SAAS,EAAE,gBAAgB;AAC3B,QAAA,QAAQ,EAAE;AACN,YAAA;AACI,gBAAA,IAAI,EAAE,EAAE;AACR,gBAAA,SAAS,EAAE,oBAAoB;AAClC,aAAA;AACJ,SAAA;AACJ,KAAA;;;;;"}
@@ -2,14 +2,23 @@ import { CommonModule } from '@angular/common';
2
2
  import * as i0 from '@angular/core';
3
3
  import { InjectionToken, Inject, Injectable, NgModule } from '@angular/core';
4
4
  import * as i1 from '@angular/common/http';
5
- import { map } from 'rxjs';
5
+ import { map, catchError, of } from 'rxjs';
6
6
  import { MappedApiResponseRaw } from '@sftech/ng-shared';
7
7
 
8
+ // biome-ignore lint/complexity/noStaticOnlyClass: <explanation>
8
9
  class OrchestratorConfigMapper {
9
10
  static map(config) {
10
11
  return {
11
12
  orchestratorUrl: config['ORCHESTRATOR_URL'],
12
13
  orchestratorDbUrl: config['ORCHESTRATOR_DB_URL'],
14
+ mcpToolUrl: config['MCP_TOOL_URL'],
15
+ defaultConnectorUrl: config['DEFAULT_CONNECTOR_URL'],
16
+ defaultLlmProvider: config['DEFAULT_LLM_PROVIDER'],
17
+ defaultLlmModel: config['DEFAULT_LLM_MODEL'],
18
+ defaultLlmTemperature: config['DEFAULT_LLM_TEMPERATURE'],
19
+ defaultLlmTimeout: config['DEFAULT_LLM_TIMEOUT'],
20
+ defaultLlmRetries: config['DEFAULT_LLM_RETRIES'],
21
+ defaultLlmMaxTokens: config['DEFAULT_LLM_MAX_TOKENS'],
13
22
  };
14
23
  }
15
24
  }
@@ -58,6 +67,13 @@ class OrcherstratorService {
58
67
  return apiResponse;
59
68
  }));
60
69
  }
70
+ getTools() {
71
+ const url = `${this.config.mcpToolUrl}/tools`;
72
+ return this.http.get(url).pipe(catchError((err) => {
73
+ console.error('Error fetching tools:', err);
74
+ return of([]);
75
+ }));
76
+ }
61
77
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: OrcherstratorService, deps: [{ token: i1.HttpClient }, { token: ORCHESTRATOR_CONFIGURATION }], target: i0.ɵɵFactoryTarget.Injectable });
62
78
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: OrcherstratorService });
63
79
  }
@@ -97,15 +113,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImpo
97
113
  const orchestratorRoutes = [
98
114
  {
99
115
  path: 'chats',
100
- loadChildren: () => import('./sftech-ng-orchestrator-chat.routes-C-qQU3r4.mjs').then(m => m.chatRoutes)
116
+ loadChildren: () => import('./sftech-ng-orchestrator-chat.routes-D4nOLrzi.mjs').then(m => m.chatRoutes)
101
117
  },
102
118
  {
103
119
  path: 'prompts',
104
- loadChildren: () => import('./sftech-ng-orchestrator-prompts.routes-C0Lzyz67.mjs').then(m => m.promptsRoutes)
120
+ loadChildren: () => import('./sftech-ng-orchestrator-prompts.routes-CO3W8D4y.mjs').then(m => m.promptsRoutes)
105
121
  },
106
122
  {
107
123
  path: 'agents',
108
- loadChildren: () => import('./sftech-ng-orchestrator-agents.routes-DB9PYB14.mjs').then(m => m.agentsRoutes)
124
+ loadChildren: () => import('./sftech-ng-orchestrator-agents.routes-BnMYwh1T.mjs').then(m => m.agentsRoutes)
109
125
  },
110
126
  ];
111
127
 
@@ -114,4 +130,4 @@ const orchestratorRoutes = [
114
130
  */
115
131
 
116
132
  export { OrcherstratorService as O, ORCHESTRATOR_CONFIGURATION as a, OrchestratorModule as b, orchestratorRoutes as o };
117
- //# sourceMappingURL=sftech-ng-orchestrator-sftech-ng-orchestrator-BvI6i-px.mjs.map
133
+ //# sourceMappingURL=sftech-ng-orchestrator-sftech-ng-orchestrator-CgBxpVr9.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sftech-ng-orchestrator-sftech-ng-orchestrator-CgBxpVr9.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/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,\r\n orchestratorDbUrl: config['ORCHESTRATOR_DB_URL'] as string,\r\n mcpToolUrl: config['MCP_TOOL_URL'] as string,\r\n defaultConnectorUrl: config['DEFAULT_CONNECTOR_URL'] 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 {Inject, Injectable} from \"@angular/core\";\r\nimport {HttpClient} from \"@angular/common/http\";\r\nimport {IOrchestratorRunDto} from \"../dtos/orchestrator-run.dto\";\r\nimport {catchError, map, Observable, of} from \"rxjs\";\r\nimport {ORCHESTRATOR_CONFIGURATION} from \"../configuration/orchestrator-configuration.token\";\r\nimport {IOrchestratorConfig} from \"../configuration/orchestrator-config.interface\";\r\nimport {IApiResponse, MappedApiResponseRaw} from \"@sftech/ng-shared\";\r\nimport {LlmResponse} from \"../models/llm-response.model\";\r\nimport {ILlmResponseDto} from \"../dtos/llm-response.dto\";\r\nimport {IMcpToolResponseDto} from \"../dtos/mcp-tool-response.dto\";\r\n\r\n@Injectable()\r\nexport class OrcherstratorService {\r\n public constructor(private readonly http: HttpClient, @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<IMcpToolResponseDto[]> {\r\n const url = `${this.config.mcpToolUrl}/tools`;\r\n return this.http.get<IMcpToolResponseDto[]>(url).pipe(\r\n catchError((err) => {\r\n console.error('Error fetching tools:', err);\r\n return of([]);\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-BvI6i-px.mjs';
1
+ export { b as OrchestratorModule, o as orchestratorRoutes } from './sftech-ng-orchestrator-sftech-ng-orchestrator-CgBxpVr9.mjs';
2
2
  //# sourceMappingURL=sftech-ng-orchestrator.mjs.map
@@ -1,3 +1,4 @@
1
+ import { OnInit } from '@angular/core';
1
2
  import { FormGroup } from '@angular/forms';
2
3
  import { BaseDisplayComponent } from '@sftech/ng-shared';
3
4
  import { DialogService } from 'primeng/dynamicdialog';
@@ -5,11 +6,17 @@ import { IAgentResponseDto } from '../../../core/dtos/agent-response.dto';
5
6
  import { IAgentUpdateDto } from '../../../core/dtos/agent-update-request.dto';
6
7
  import { Agent } from '../../../core/models/agent.model';
7
8
  import { AgentService } from '../../../core/services/agent.service';
9
+ import { OrcherstratorService } from "../../../../core/service/orcherstrator.service";
10
+ import { IMcpToolResponseDto } from "../../../../core/dtos/mcp-tool-response.dto";
8
11
  import * as i0 from "@angular/core";
9
- export declare class AgentDisplayComponent extends BaseDisplayComponent<Agent, IAgentUpdateDto, IAgentUpdateDto, IAgentResponseDto> {
12
+ export declare class AgentDisplayComponent extends BaseDisplayComponent<Agent, IAgentUpdateDto, IAgentUpdateDto, IAgentResponseDto> implements OnInit {
10
13
  protected _repo: AgentService;
11
14
  protected _route: string;
15
+ protected _orchestratorService: OrcherstratorService;
16
+ tools: import("@angular/core").WritableSignal<IMcpToolResponseDto[]>;
12
17
  protected dialog: DialogService;
18
+ private _options;
19
+ ngOnInit(): void;
13
20
  protected initializeForm(): FormGroup;
14
21
  protected getNewModel(): Agent;
15
22
  protected mapFormToUpdateDto(): IAgentUpdateDto;
@@ -1,5 +1,13 @@
1
- import { IAppConfig } from "@sftech/ng-shared";
1
+ import { IAppConfig } from '@sftech/ng-shared';
2
2
  export interface IOrchestratorConfig extends IAppConfig {
3
3
  orchestratorUrl: string;
4
4
  orchestratorDbUrl: string;
5
+ mcpToolUrl: string;
6
+ defaultConnectorUrl: string;
7
+ defaultLlmProvider: string;
8
+ defaultLlmModel: string;
9
+ defaultLlmTemperature: number;
10
+ defaultLlmTimeout: number;
11
+ defaultLlmRetries: number;
12
+ defaultLlmMaxTokens: number;
5
13
  }
@@ -1,4 +1,5 @@
1
- import { IOrchestratorConfig } from "./orchestrator-config.interface";
1
+ import { IAppConfig } from '@sftech/ng-shared';
2
+ import { IOrchestratorConfig } from './orchestrator-config.interface';
2
3
  export declare class OrchestratorConfigMapper {
3
- static map(config: any): IOrchestratorConfig;
4
+ static map(config: IAppConfig): IOrchestratorConfig;
4
5
  }
@@ -0,0 +1,4 @@
1
+ export interface IMcpToolResponseDto {
2
+ name: string;
3
+ description: string;
4
+ }
@@ -4,12 +4,14 @@ import { Observable } from "rxjs";
4
4
  import { IOrchestratorConfig } from "../configuration/orchestrator-config.interface";
5
5
  import { MappedApiResponseRaw } from "@sftech/ng-shared";
6
6
  import { LlmResponse } from "../models/llm-response.model";
7
+ import { IMcpToolResponseDto } from "../dtos/mcp-tool-response.dto";
7
8
  import * as i0 from "@angular/core";
8
9
  export declare class OrcherstratorService {
9
10
  private readonly http;
10
11
  private readonly config;
11
12
  constructor(http: HttpClient, config: IOrchestratorConfig);
12
13
  runAgent(runConfig: IOrchestratorRunDto): Observable<MappedApiResponseRaw<LlmResponse>>;
14
+ getTools(): Observable<IMcpToolResponseDto[]>;
13
15
  static ɵfac: i0.ɵɵFactoryDeclaration<OrcherstratorService, never>;
14
16
  static ɵprov: i0.ɵɵInjectableDeclaration<OrcherstratorService>;
15
17
  }
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@sftech/ng-orchestrator",
3
- "version": "0.0.9",
3
+ "version": "0.0.10",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^19.2.0",
6
6
  "@angular/core": "^19.2.0",
7
- "@sftech/ng-shared": ">=0.0.7"
7
+ "@sftech/ng-shared": ">=0.0.9"
8
8
  },
9
9
  "sideEffects": false,
10
10
  "module": "fesm2022/sftech-ng-orchestrator.mjs",