UNPKG

@memberjunction/ng-ai-test-harness

Version:

MemberJunction AI Test Harness - A reusable component for testing AI agents and prompts with beautiful UX

770 lines 319 kB
import { Component, Input, Output, EventEmitter, ViewChild, SecurityContext } from '@angular/core'; import { Metadata, RunView, CompositeKey } from '@memberjunction/core'; import { MJNotificationService } from '@memberjunction/ng-notifications'; import { SharedService } from '@memberjunction/ng-shared'; import { Subject } from 'rxjs'; import { AIEngineBase } from '@memberjunction/ai-engine-base'; import { ParseJSONRecursive } from '@memberjunction/global'; import * as i0 from "@angular/core"; import * as i1 from "@angular/platform-browser"; import * as i2 from "@progress/kendo-angular-dialog"; import * as i3 from "@angular/router"; import * as i4 from "@angular/common"; import * as i5 from "@angular/forms"; import * as i6 from "@progress/kendo-angular-buttons"; import * as i7 from "@progress/kendo-angular-dropdowns"; import * as i8 from "@progress/kendo-angular-inputs"; import * as i9 from "@progress/kendo-angular-layout"; import * as i10 from "@memberjunction/ng-code-editor"; import * as i11 from "./agent-execution-monitor.component"; const _c0 = ["messagesContainer"]; const _c1 = ["fileInput"]; const _c2 = ["messageInput"]; const _c3 = ["saveDialogInput"]; const _forTrack0 = ($index, $item) => $item.id; const _forTrack1 = ($index, $item) => $item.ID; const _c4 = () => ({ text: "String", value: "string" }); const _c5 = () => ({ text: "Number", value: "number" }); const _c6 = () => ({ text: "Boolean", value: "boolean" }); const _c7 = () => ({ text: "Object", value: "object" }); const _c8 = (a0, a1, a2, a3) => [a0, a1, a2, a3]; function AITestHarnessComponent_div_0_Conditional_2_Conditional_2_Template(rf, ctx) { if (rf & 1) { i0.ɵɵelement(0, "img", 14); } if (rf & 2) { const ctx_r1 = i0.ɵɵnextContext(3); i0.ɵɵproperty("src", ctx_r1.getEntityLogoURL(), i0.ɵɵsanitizeUrl)("alt", ctx_r1.getEntityName() + " logo"); } } function AITestHarnessComponent_div_0_Conditional_2_Conditional_3_Template(rf, ctx) { if (rf & 1) { i0.ɵɵelement(0, "i"); } if (rf & 2) { const ctx_r1 = i0.ɵɵnextContext(3); i0.ɵɵclassMap(ctx_r1.getEntityIconClass()); } } function AITestHarnessComponent_div_0_Conditional_2_Conditional_7_Template(rf, ctx) { if (rf & 1) { i0.ɵɵelementStart(0, "p"); i0.ɵɵtext(1); i0.ɵɵelementEnd(); } if (rf & 2) { const ctx_r1 = i0.ɵɵnextContext(3); i0.ɵɵadvance(); i0.ɵɵtextInterpolate(ctx_r1.entity.Description); } } function AITestHarnessComponent_div_0_Conditional_2_Template(rf, ctx) { if (rf & 1) { const _r1 = i0.ɵɵgetCurrentView(); i0.ɵɵelementStart(0, "div", 9)(1, "div", 13); i0.ɵɵtemplate(2, AITestHarnessComponent_div_0_Conditional_2_Conditional_2_Template, 1, 2, "img", 14)(3, AITestHarnessComponent_div_0_Conditional_2_Conditional_3_Template, 1, 2, "i", 15); i0.ɵɵelementStart(4, "div")(5, "h3"); i0.ɵɵtext(6); i0.ɵɵelementEnd(); i0.ɵɵtemplate(7, AITestHarnessComponent_div_0_Conditional_2_Conditional_7_Template, 2, 1, "p"); i0.ɵɵelementEnd()(); i0.ɵɵelementStart(8, "div", 16)(9, "button", 17); i0.ɵɵlistener("click", function AITestHarnessComponent_div_0_Conditional_2_Template_button_click_9_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.clearConversation()); }); i0.ɵɵelement(10, "i", 18); i0.ɵɵtext(11, " Clear "); i0.ɵɵelementEnd(); i0.ɵɵelementStart(12, "button", 19); i0.ɵɵlistener("click", function AITestHarnessComponent_div_0_Conditional_2_Template_button_click_12_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.saveConversation()); }); i0.ɵɵelement(13, "i", 20); i0.ɵɵtext(14, " Save "); i0.ɵɵelementEnd(); i0.ɵɵelementStart(15, "button", 21); i0.ɵɵlistener("click", function AITestHarnessComponent_div_0_Conditional_2_Template_button_click_15_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.exportConversation()); }); i0.ɵɵelement(16, "i", 22); i0.ɵɵtext(17, " Export "); i0.ɵɵelementEnd(); i0.ɵɵelementStart(18, "button", 23); i0.ɵɵlistener("click", function AITestHarnessComponent_div_0_Conditional_2_Template_button_click_18_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.importConversation()); }); i0.ɵɵelement(19, "i", 24); i0.ɵɵtext(20, " Import "); i0.ɵɵelementEnd(); i0.ɵɵelementStart(21, "input", 25, 0); i0.ɵɵlistener("change", function AITestHarnessComponent_div_0_Conditional_2_Template_input_change_21_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onFileSelected($event)); }); i0.ɵɵelementEnd(); i0.ɵɵelementStart(23, "button", 26); i0.ɵɵlistener("click", function AITestHarnessComponent_div_0_Conditional_2_Template_button_click_23_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.toggleSidebar()); }); i0.ɵɵelement(24, "i", 27); i0.ɵɵelementEnd()()(); } if (rf & 2) { const ctx_r1 = i0.ɵɵnextContext(2); i0.ɵɵadvance(2); i0.ɵɵconditional(ctx_r1.hasEntityLogo() ? 2 : 3); i0.ɵɵadvance(4); i0.ɵɵtextInterpolate(ctx_r1.getEntityName()); i0.ɵɵadvance(); i0.ɵɵconditional(ctx_r1.entity.Description ? 7 : -1); i0.ɵɵadvance(2); i0.ɵɵproperty("disabled", ctx_r1.isExecuting || ctx_r1.conversationMessages.length === 0); i0.ɵɵadvance(3); i0.ɵɵproperty("disabled", ctx_r1.conversationMessages.length === 0); i0.ɵɵadvance(3); i0.ɵɵproperty("disabled", ctx_r1.conversationMessages.length === 0); i0.ɵɵadvance(9); i0.ɵɵclassProp("fa-chevron-right", !ctx_r1.showSidebar)("fa-chevron-left", ctx_r1.showSidebar); } } function AITestHarnessComponent_div_0_Conditional_4_Conditional_5_Template(rf, ctx) { if (rf & 1) { i0.ɵɵelementStart(0, "div", 30); i0.ɵɵelement(1, "i", 45); i0.ɵɵelementStart(2, "h4"); i0.ɵɵtext(3, "Start a conversation"); i0.ɵɵelementEnd(); i0.ɵɵelementStart(4, "p"); i0.ɵɵtext(5, "Send a message to begin testing the AI agent"); i0.ɵɵelementEnd()(); } } function AITestHarnessComponent_div_0_Conditional_4_For_7_Conditional_3_Template(rf, ctx) { if (rf & 1) { i0.ɵɵelement(0, "i", 59); i0.ɵɵtext(1, " You "); } } function AITestHarnessComponent_div_0_Conditional_4_For_7_Conditional_4_Conditional_0_Template(rf, ctx) { if (rf & 1) { i0.ɵɵelement(0, "img", 60); } if (rf & 2) { const ctx_r1 = i0.ɵɵnextContext(5); i0.ɵɵproperty("src", ctx_r1.getEntityLogoURL(), i0.ɵɵsanitizeUrl)("alt", ctx_r1.getEntityName() + " logo"); } } function AITestHarnessComponent_div_0_Conditional_4_For_7_Conditional_4_Conditional_1_Template(rf, ctx) { if (rf & 1) { i0.ɵɵelement(0, "i"); } if (rf & 2) { const ctx_r1 = i0.ɵɵnextContext(5); i0.ɵɵclassMap(ctx_r1.getEntityIconClass()); } } function AITestHarnessComponent_div_0_Conditional_4_For_7_Conditional_4_Template(rf, ctx) { if (rf & 1) { i0.ɵɵtemplate(0, AITestHarnessComponent_div_0_Conditional_4_For_7_Conditional_4_Conditional_0_Template, 1, 2, "img", 60)(1, AITestHarnessComponent_div_0_Conditional_4_For_7_Conditional_4_Conditional_1_Template, 1, 2, "i", 15); i0.ɵɵtext(2); } if (rf & 2) { const ctx_r1 = i0.ɵɵnextContext(4); i0.ɵɵconditional(ctx_r1.hasEntityLogo() ? 0 : 1); i0.ɵɵadvance(2); i0.ɵɵtextInterpolate1(" ", ctx_r1.getEntityName() || "Assistant", " "); } } function AITestHarnessComponent_div_0_Conditional_4_For_7_Conditional_7_Template(rf, ctx) { if (rf & 1) { i0.ɵɵelementStart(0, "span", 49); i0.ɵɵelement(1, "i", 61); i0.ɵɵtext(2); i0.ɵɵelementEnd(); } if (rf & 2) { const message_r5 = i0.ɵɵnextContext().$implicit; const ctx_r1 = i0.ɵɵnextContext(3); i0.ɵɵadvance(2); i0.ɵɵtextInterpolate1(" ", ctx_r1.formatElapsedTime(message_r5.elapsedTime), " "); } } function AITestHarnessComponent_div_0_Conditional_4_For_7_Conditional_8_Template(rf, ctx) { if (rf & 1) { i0.ɵɵelementStart(0, "span", 50); i0.ɵɵtext(1); i0.ɵɵelementEnd(); } if (rf & 2) { const message_r5 = i0.ɵɵnextContext().$implicit; const ctx_r1 = i0.ɵɵnextContext(3); i0.ɵɵproperty("title", ctx_r1.getExecutionSummary(message_r5)); i0.ɵɵadvance(); i0.ɵɵtextInterpolate(ctx_r1.formatExecutionTime(message_r5.executionTime)); } } function AITestHarnessComponent_div_0_Conditional_4_For_7_Conditional_9_Template(rf, ctx) { if (rf & 1) { const _r6 = i0.ɵɵgetCurrentView(); i0.ɵɵelementStart(0, "button", 62); i0.ɵɵlistener("click", function AITestHarnessComponent_div_0_Conditional_4_For_7_Conditional_9_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r6); const message_r5 = i0.ɵɵnextContext().$implicit; const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.showRawJsonDialog(message_r5)); }); i0.ɵɵelement(1, "i", 63); i0.ɵɵelementEnd(); } } function AITestHarnessComponent_div_0_Conditional_4_For_7_Conditional_13_Template(rf, ctx) { if (rf & 1) { i0.ɵɵelementStart(0, "div", 55); i0.ɵɵelement(1, "span", 64); i0.ɵɵelementStart(2, "span", 65); i0.ɵɵtext(3, "|"); i0.ɵɵelementEnd()(); } if (rf & 2) { const message_r5 = i0.ɵɵnextContext().$implicit; const ctx_r1 = i0.ɵɵnextContext(3); i0.ɵɵadvance(); i0.ɵɵproperty("innerHTML", ctx_r1.getFormattedStreamingContent(message_r5), i0.ɵɵsanitizeHtml); } } function AITestHarnessComponent_div_0_Conditional_4_For_7_Conditional_14_Template(rf, ctx) { if (rf & 1) { i0.ɵɵelement(0, "div", 56); } if (rf & 2) { const message_r5 = i0.ɵɵnextContext().$implicit; const ctx_r1 = i0.ɵɵnextContext(3); i0.ɵɵproperty("innerHTML", ctx_r1.getFormattedContent(message_r5), i0.ɵɵsanitizeHtml); } } function AITestHarnessComponent_div_0_Conditional_4_For_7_Conditional_15_Template(rf, ctx) { if (rf & 1) { i0.ɵɵelementStart(0, "div", 57); i0.ɵɵelement(1, "i", 66); i0.ɵɵtext(2); i0.ɵɵelementEnd(); } if (rf & 2) { const message_r5 = i0.ɵɵnextContext().$implicit; i0.ɵɵadvance(2); i0.ɵɵtextInterpolate1(" ", message_r5.error, " "); } } function AITestHarnessComponent_div_0_Conditional_4_For_7_Conditional_16_Conditional_7_Template(rf, ctx) { if (rf & 1) { i0.ɵɵelementStart(0, "div", 71); i0.ɵɵelement(1, "mj-code-editor", 72); i0.ɵɵelementEnd(); } if (rf & 2) { const message_r5 = i0.ɵɵnextContext(2).$implicit; const ctx_r1 = i0.ɵɵnextContext(3); i0.ɵɵadvance(); i0.ɵɵproperty("ngModel", ctx_r1.formatJson(message_r5.payload))("language", "json")("readonly", true); } } function AITestHarnessComponent_div_0_Conditional_4_For_7_Conditional_16_Template(rf, ctx) { if (rf & 1) { const _r7 = i0.ɵɵgetCurrentView(); i0.ɵɵelementStart(0, "div", 67)(1, "div", 68); i0.ɵɵlistener("click", function AITestHarnessComponent_div_0_Conditional_4_For_7_Conditional_16_Template_div_click_1_listener() { i0.ɵɵrestoreView(_r7); const message_r5 = i0.ɵɵnextContext().$implicit; const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.togglePayloadCollapse(message_r5)); }); i0.ɵɵelementStart(2, "span", 69); i0.ɵɵelement(3, "i", 63); i0.ɵɵtext(4, " Payload "); i0.ɵɵelementEnd(); i0.ɵɵelementStart(5, "button", 70); i0.ɵɵelement(6, "i", 27); i0.ɵɵelementEnd()(); i0.ɵɵtemplate(7, AITestHarnessComponent_div_0_Conditional_4_For_7_Conditional_16_Conditional_7_Template, 2, 3, "div", 71); i0.ɵɵelementEnd(); } if (rf & 2) { const message_r5 = i0.ɵɵnextContext().$implicit; i0.ɵɵclassProp("collapsed", message_r5.payloadCollapsed); i0.ɵɵadvance(6); i0.ɵɵclassProp("fa-chevron-down", !message_r5.payloadCollapsed)("fa-chevron-right", message_r5.payloadCollapsed); i0.ɵɵadvance(); i0.ɵɵconditional(!message_r5.payloadCollapsed ? 7 : -1); } } function AITestHarnessComponent_div_0_Conditional_4_For_7_Template(rf, ctx) { if (rf & 1) { const _r4 = i0.ɵɵgetCurrentView(); i0.ɵɵelementStart(0, "div", 31)(1, "div", 46)(2, "span", 47); i0.ɵɵtemplate(3, AITestHarnessComponent_div_0_Conditional_4_For_7_Conditional_3_Template, 2, 0)(4, AITestHarnessComponent_div_0_Conditional_4_For_7_Conditional_4_Template, 3, 2); i0.ɵɵelementEnd(); i0.ɵɵelementStart(5, "span", 48); i0.ɵɵtext(6); i0.ɵɵelementEnd(); i0.ɵɵtemplate(7, AITestHarnessComponent_div_0_Conditional_4_For_7_Conditional_7_Template, 3, 1, "span", 49)(8, AITestHarnessComponent_div_0_Conditional_4_For_7_Conditional_8_Template, 2, 2, "span", 50)(9, AITestHarnessComponent_div_0_Conditional_4_For_7_Conditional_9_Template, 2, 0, "button", 51); i0.ɵɵelementEnd(); i0.ɵɵelementStart(10, "div", 52)(11, "button", 53); i0.ɵɵlistener("click", function AITestHarnessComponent_div_0_Conditional_4_For_7_Template_button_click_11_listener() { const message_r5 = i0.ɵɵrestoreView(_r4).$implicit; const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.copyMessage(message_r5)); }); i0.ɵɵelement(12, "i", 54); i0.ɵɵelementEnd(); i0.ɵɵtemplate(13, AITestHarnessComponent_div_0_Conditional_4_For_7_Conditional_13_Template, 4, 1, "div", 55)(14, AITestHarnessComponent_div_0_Conditional_4_For_7_Conditional_14_Template, 1, 1, "div", 56)(15, AITestHarnessComponent_div_0_Conditional_4_For_7_Conditional_15_Template, 3, 1, "div", 57)(16, AITestHarnessComponent_div_0_Conditional_4_For_7_Conditional_16_Template, 8, 7, "div", 58); i0.ɵɵelementEnd()(); } if (rf & 2) { const message_r5 = ctx.$implicit; const ctx_r1 = i0.ɵɵnextContext(3); i0.ɵɵproperty("ngClass", ctx_r1.getMessageClass(message_r5)); i0.ɵɵadvance(3); i0.ɵɵconditional(message_r5.role === "user" ? 3 : 4); i0.ɵɵadvance(3); i0.ɵɵtextInterpolate(ctx_r1.formatTimestamp(message_r5.timestamp)); i0.ɵɵadvance(); i0.ɵɵconditional(message_r5.isStreaming && message_r5.elapsedTime !== undefined ? 7 : message_r5.executionTime ? 8 : -1); i0.ɵɵadvance(2); i0.ɵɵconditional(ctx_r1.showRawToggle(message_r5) ? 9 : -1); i0.ɵɵadvance(4); i0.ɵɵconditional(message_r5.isStreaming ? 13 : 14); i0.ɵɵadvance(2); i0.ɵɵconditional(message_r5.error ? 15 : -1); i0.ɵɵadvance(); i0.ɵɵconditional(ctx_r1.hasPayload(message_r5.payload) && ctx_r1.mode === "agent" && message_r5.role === "assistant" ? 16 : -1); } } function AITestHarnessComponent_div_0_Conditional_4_Conditional_9_Conditional_9_Conditional_1_Template(rf, ctx) { if (rf & 1) { i0.ɵɵelement(0, "i", 61); i0.ɵɵelementStart(1, "span"); i0.ɵɵtext(2, "Running..."); i0.ɵɵelementEnd(); } } function AITestHarnessComponent_div_0_Conditional_4_Conditional_9_Conditional_9_Conditional_2_Template(rf, ctx) { if (rf & 1) { i0.ɵɵelement(0, "i", 79); i0.ɵɵelementStart(1, "span"); i0.ɵɵtext(2, "Re-Run"); i0.ɵɵelementEnd(); } } function AITestHarnessComponent_div_0_Conditional_4_Conditional_9_Conditional_9_Template(rf, ctx) { if (rf & 1) { const _r8 = i0.ɵɵgetCurrentView(); i0.ɵɵelementStart(0, "button", 78); i0.ɵɵlistener("click", function AITestHarnessComponent_div_0_Conditional_4_Conditional_9_Conditional_9_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r1.executeRerun()); }); i0.ɵɵtemplate(1, AITestHarnessComponent_div_0_Conditional_4_Conditional_9_Conditional_9_Conditional_1_Template, 3, 0)(2, AITestHarnessComponent_div_0_Conditional_4_Conditional_9_Conditional_9_Conditional_2_Template, 3, 0); i0.ɵɵelementEnd(); } if (rf & 2) { const ctx_r1 = i0.ɵɵnextContext(4); i0.ɵɵproperty("disabled", ctx_r1.isExecuting); i0.ɵɵadvance(); i0.ɵɵconditional(ctx_r1.isExecuting ? 1 : 2); } } function AITestHarnessComponent_div_0_Conditional_4_Conditional_9_Conditional_10_Template(rf, ctx) { if (rf & 1) { const _r9 = i0.ɵɵgetCurrentView(); i0.ɵɵelementStart(0, "button", 80); i0.ɵɵlistener("click", function AITestHarnessComponent_div_0_Conditional_4_Conditional_9_Conditional_10_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r9); const ctx_r1 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r1.resetToOriginalMessages()); }); i0.ɵɵelement(1, "i", 81); i0.ɵɵelementStart(2, "span"); i0.ɵɵtext(3, "Reset Messages"); i0.ɵɵelementEnd()(); } if (rf & 2) { const ctx_r1 = i0.ɵɵnextContext(4); i0.ɵɵproperty("disabled", ctx_r1.isExecuting); } } function AITestHarnessComponent_div_0_Conditional_4_Conditional_9_Template(rf, ctx) { if (rf & 1) { i0.ɵɵelementStart(0, "div", 33)(1, "div", 73); i0.ɵɵelement(2, "i", 74); i0.ɵɵelementStart(3, "span"); i0.ɵɵtext(4, "Messages from Prompt Run "); i0.ɵɵelementStart(5, "strong"); i0.ɵɵtext(6); i0.ɵɵelementEnd(); i0.ɵɵtext(7, " loaded above"); i0.ɵɵelementEnd()(); i0.ɵɵelementStart(8, "div", 75); i0.ɵɵtemplate(9, AITestHarnessComponent_div_0_Conditional_4_Conditional_9_Conditional_9_Template, 3, 2, "button", 76)(10, AITestHarnessComponent_div_0_Conditional_4_Conditional_9_Conditional_10_Template, 4, 1, "button", 77); i0.ɵɵelementEnd()(); } if (rf & 2) { const ctx_r1 = i0.ɵɵnextContext(3); i0.ɵɵadvance(6); i0.ɵɵtextInterpolate(ctx_r1.originalPromptRunId.substring(0, 8)); i0.ɵɵadvance(3); i0.ɵɵconditional(!ctx_r1.hasExecutedRerun ? 9 : 10); } } function AITestHarnessComponent_div_0_Conditional_4_Conditional_10_Conditional_4_Template(rf, ctx) { if (rf & 1) { i0.ɵɵelement(0, "i", 61); } } function AITestHarnessComponent_div_0_Conditional_4_Conditional_10_Conditional_5_Template(rf, ctx) { if (rf & 1) { i0.ɵɵelement(0, "i", 84); } } function AITestHarnessComponent_div_0_Conditional_4_Conditional_10_Template(rf, ctx) { if (rf & 1) { const _r10 = i0.ɵɵgetCurrentView(); i0.ɵɵelementStart(0, "div", 34)(1, "kendo-textarea", 82, 2); i0.ɵɵtwoWayListener("ngModelChange", function AITestHarnessComponent_div_0_Conditional_4_Conditional_10_Template_kendo_textarea_ngModelChange_1_listener($event) { i0.ɵɵrestoreView(_r10); const ctx_r1 = i0.ɵɵnextContext(3); i0.ɵɵtwoWayBindingSet(ctx_r1.currentUserMessage, $event) || (ctx_r1.currentUserMessage = $event); return i0.ɵɵresetView($event); }); i0.ɵɵlistener("keypress", function AITestHarnessComponent_div_0_Conditional_4_Conditional_10_Template_kendo_textarea_keypress_1_listener($event) { i0.ɵɵrestoreView(_r10); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.handleKeyPress($event)); }); i0.ɵɵelementEnd(); i0.ɵɵelementStart(3, "button", 83); i0.ɵɵlistener("click", function AITestHarnessComponent_div_0_Conditional_4_Conditional_10_Template_button_click_3_listener() { i0.ɵɵrestoreView(_r10); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.sendMessage()); }); i0.ɵɵtemplate(4, AITestHarnessComponent_div_0_Conditional_4_Conditional_10_Conditional_4_Template, 1, 0, "i", 61)(5, AITestHarnessComponent_div_0_Conditional_4_Conditional_10_Conditional_5_Template, 1, 0, "i", 84); i0.ɵɵelementEnd()(); } if (rf & 2) { const ctx_r1 = i0.ɵɵnextContext(3); i0.ɵɵadvance(); i0.ɵɵtwoWayProperty("ngModel", ctx_r1.currentUserMessage); i0.ɵɵproperty("rows", 3)("disabled", ctx_r1.isExecuting); i0.ɵɵadvance(2); i0.ɵɵproperty("disabled", ctx_r1.isExecuting || !ctx_r1.currentUserMessage.trim()); i0.ɵɵadvance(); i0.ɵɵconditional(ctx_r1.isExecuting ? 4 : 5); } } function AITestHarnessComponent_div_0_Conditional_4_Conditional_14_Template(rf, ctx) { if (rf & 1) { const _r11 = i0.ɵɵgetCurrentView(); i0.ɵɵelementStart(0, "button", 38); i0.ɵɵlistener("click", function AITestHarnessComponent_div_0_Conditional_4_Conditional_14_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r11); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.selectTab("agentVariables")); }); i0.ɵɵelement(1, "i", 63); i0.ɵɵtext(2, " Agent Variables "); i0.ɵɵelementEnd(); i0.ɵɵelementStart(3, "button", 85); i0.ɵɵlistener("click", function AITestHarnessComponent_div_0_Conditional_4_Conditional_14_Template_button_click_3_listener() { i0.ɵɵrestoreView(_r11); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.selectTab("executionMonitor")); }); i0.ɵɵelement(4, "i", 86); i0.ɵɵtext(5, " Execution Monitor "); i0.ɵɵelementEnd(); i0.ɵɵelementStart(6, "button", 38); i0.ɵɵlistener("click", function AITestHarnessComponent_div_0_Conditional_4_Conditional_14_Template_button_click_6_listener() { i0.ɵɵrestoreView(_r11); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.selectTab("agentSettings")); }); i0.ɵɵelement(7, "i", 87); i0.ɵɵtext(8, " Settings "); i0.ɵɵelementEnd(); } if (rf & 2) { const ctx_r1 = i0.ɵɵnextContext(3); i0.ɵɵclassProp("active", ctx_r1.activeTab === "agentVariables"); i0.ɵɵproperty("disabled", ctx_r1.executionMonitorMode === "live" && ctx_r1.activeTab !== "agentVariables"); i0.ɵɵadvance(3); i0.ɵɵclassProp("active", ctx_r1.activeTab === "executionMonitor"); i0.ɵɵadvance(3); i0.ɵɵclassProp("active", ctx_r1.activeTab === "agentSettings"); i0.ɵɵproperty("disabled", ctx_r1.executionMonitorMode === "live" && ctx_r1.activeTab !== "agentSettings"); } } function AITestHarnessComponent_div_0_Conditional_4_Conditional_15_Template(rf, ctx) { if (rf & 1) { const _r12 = i0.ɵɵgetCurrentView(); i0.ɵɵelementStart(0, "button", 85); i0.ɵɵlistener("click", function AITestHarnessComponent_div_0_Conditional_4_Conditional_15_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r12); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.selectTab("templateVariables")); }); i0.ɵɵelement(1, "i", 63); i0.ɵɵtext(2, " Template Variables "); i0.ɵɵelementEnd(); i0.ɵɵelementStart(3, "button", 85); i0.ɵɵlistener("click", function AITestHarnessComponent_div_0_Conditional_4_Conditional_15_Template_button_click_3_listener() { i0.ɵɵrestoreView(_r12); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.selectTab("modelSettings")); }); i0.ɵɵelement(4, "i", 87); i0.ɵɵtext(5, " Model Settings "); i0.ɵɵelementEnd(); } if (rf & 2) { const ctx_r1 = i0.ɵɵnextContext(3); i0.ɵɵclassProp("active", ctx_r1.activeTab === "templateVariables"); i0.ɵɵadvance(3); i0.ɵɵclassProp("active", ctx_r1.activeTab === "modelSettings"); } } function AITestHarnessComponent_div_0_Conditional_4_Conditional_19_Template(rf, ctx) { if (rf & 1) { i0.ɵɵelementStart(0, "span", 40); i0.ɵɵtext(1); i0.ɵɵelementEnd(); } if (rf & 2) { const ctx_r1 = i0.ɵɵnextContext(3); i0.ɵɵadvance(); i0.ɵɵtextInterpolate(ctx_r1.savedConversations.length); } } function AITestHarnessComponent_div_0_Conditional_4_Conditional_21_Conditional_7_Template(rf, ctx) { if (rf & 1) { i0.ɵɵelementStart(0, "div", 90)(1, "p"); i0.ɵɵtext(2, "No variables defined. Click \"Add Variable\" to get started."); i0.ɵɵelementEnd()(); } } function AITestHarnessComponent_div_0_Conditional_4_Conditional_21_For_9_Template(rf, ctx) { if (rf & 1) { const _r14 = i0.ɵɵgetCurrentView(); i0.ɵɵelementStart(0, "div", 91)(1, "kendo-textbox", 94); i0.ɵɵtwoWayListener("ngModelChange", function AITestHarnessComponent_div_0_Conditional_4_Conditional_21_For_9_Template_kendo_textbox_ngModelChange_1_listener($event) { const variable_r15 = i0.ɵɵrestoreView(_r14).$implicit; i0.ɵɵtwoWayBindingSet(variable_r15.name, $event) || (variable_r15.name = $event); return i0.ɵɵresetView($event); }); i0.ɵɵelementEnd(); i0.ɵɵelementStart(2, "kendo-dropdownlist", 95); i0.ɵɵtwoWayListener("ngModelChange", function AITestHarnessComponent_div_0_Conditional_4_Conditional_21_For_9_Template_kendo_dropdownlist_ngModelChange_2_listener($event) { const variable_r15 = i0.ɵɵrestoreView(_r14).$implicit; i0.ɵɵtwoWayBindingSet(variable_r15.type, $event) || (variable_r15.type = $event); return i0.ɵɵresetView($event); }); i0.ɵɵelementEnd(); i0.ɵɵelementStart(3, "kendo-textbox", 96); i0.ɵɵtwoWayListener("ngModelChange", function AITestHarnessComponent_div_0_Conditional_4_Conditional_21_For_9_Template_kendo_textbox_ngModelChange_3_listener($event) { const variable_r15 = i0.ɵɵrestoreView(_r14).$implicit; i0.ɵɵtwoWayBindingSet(variable_r15.value, $event) || (variable_r15.value = $event); return i0.ɵɵresetView($event); }); i0.ɵɵelementEnd(); i0.ɵɵelementStart(4, "button", 97); i0.ɵɵlistener("click", function AITestHarnessComponent_div_0_Conditional_4_Conditional_21_For_9_Template_button_click_4_listener() { const $index_r16 = i0.ɵɵrestoreView(_r14).$index; const ctx_r1 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r1.removeAgentVariable($index_r16)); }); i0.ɵɵelement(5, "i", 98); i0.ɵɵelementEnd()(); } if (rf & 2) { const variable_r15 = ctx.$implicit; const ctx_r1 = i0.ɵɵnextContext(4); i0.ɵɵadvance(); i0.ɵɵtwoWayProperty("ngModel", variable_r15.name); i0.ɵɵproperty("disabled", ctx_r1.isExecuting); i0.ɵɵadvance(); i0.ɵɵtwoWayProperty("ngModel", variable_r15.type); i0.ɵɵproperty("data", i0.ɵɵpureFunction4(14, _c8, i0.ɵɵpureFunction0(10, _c4), i0.ɵɵpureFunction0(11, _c5), i0.ɵɵpureFunction0(12, _c6), i0.ɵɵpureFunction0(13, _c7)))("valuePrimitive", true)("disabled", ctx_r1.isExecuting); i0.ɵɵadvance(); i0.ɵɵtwoWayProperty("ngModel", variable_r15.value); i0.ɵɵproperty("placeholder", variable_r15.type === "object" ? "JSON value" : "Value")("disabled", ctx_r1.isExecuting); i0.ɵɵadvance(); i0.ɵɵproperty("disabled", ctx_r1.isExecuting); } } function AITestHarnessComponent_div_0_Conditional_4_Conditional_21_Template(rf, ctx) { if (rf & 1) { const _r13 = i0.ɵɵgetCurrentView(); i0.ɵɵelementStart(0, "div", 42)(1, "div", 88)(2, "h4"); i0.ɵɵtext(3, "Agent Variables"); i0.ɵɵelementEnd(); i0.ɵɵelementStart(4, "p"); i0.ɵɵtext(5, "Variables available during agent execution and template rendering"); i0.ɵɵelementEnd()(); i0.ɵɵelementStart(6, "div", 89); i0.ɵɵtemplate(7, AITestHarnessComponent_div_0_Conditional_4_Conditional_21_Conditional_7_Template, 3, 0, "div", 90); i0.ɵɵrepeaterCreate(8, AITestHarnessComponent_div_0_Conditional_4_Conditional_21_For_9_Template, 6, 19, "div", 91, i0.ɵɵrepeaterTrackByIndex); i0.ɵɵelementEnd(); i0.ɵɵelementStart(10, "button", 92); i0.ɵɵlistener("click", function AITestHarnessComponent_div_0_Conditional_4_Conditional_21_Template_button_click_10_listener() { i0.ɵɵrestoreView(_r13); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.addAgentVariable()); }); i0.ɵɵelement(11, "i", 93); i0.ɵɵtext(12, " Add Variable "); i0.ɵɵelementEnd()(); } if (rf & 2) { const ctx_r1 = i0.ɵɵnextContext(3); i0.ɵɵadvance(7); i0.ɵɵconditional(ctx_r1.agentVariables.length === 0 ? 7 : -1); i0.ɵɵadvance(); i0.ɵɵrepeater(ctx_r1.agentVariables); i0.ɵɵadvance(2); i0.ɵɵproperty("disabled", ctx_r1.isExecuting); } } function AITestHarnessComponent_div_0_Conditional_4_Conditional_22_Template(rf, ctx) { if (rf & 1) { const _r17 = i0.ɵɵgetCurrentView(); i0.ɵɵelementStart(0, "div", 43)(1, "mj-agent-execution-monitor", 99); i0.ɵɵlistener("viewRunClick", function AITestHarnessComponent_div_0_Conditional_4_Conditional_22_Template_mj_agent_execution_monitor_viewRunClick_1_listener($event) { i0.ɵɵrestoreView(_r17); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.navigateToAgentRun($event)); }); i0.ɵɵelementEnd()(); } if (rf & 2) { const ctx_r1 = i0.ɵɵnextContext(3); i0.ɵɵadvance(); i0.ɵɵproperty("mode", ctx_r1.executionMonitorMode)("agentRun", ctx_r1.currentAgentRun)("liveSteps", ctx_r1.liveAgentSteps)("autoExpand", true)("runId", ctx_r1.getLastRunId())("runType", ctx_r1.mode); } } function AITestHarnessComponent_div_0_Conditional_4_Conditional_23_Conditional_12_For_1_Conditional_0_Template(rf, ctx) { if (rf & 1) { i0.ɵɵtext(0); } if (rf & 2) { const config_r19 = i0.ɵɵnextContext().$implicit; i0.ɵɵtextInterpolate1(" ", config_r19.Description, " "); } } function AITestHarnessComponent_div_0_Conditional_4_Conditional_23_Conditional_12_For_1_Template(rf, ctx) { if (rf & 1) { i0.ɵɵtemplate(0, AITestHarnessComponent_div_0_Conditional_4_Conditional_23_Conditional_12_For_1_Conditional_0_Template, 1, 1); } if (rf & 2) { const config_r19 = ctx.$implicit; const ctx_r1 = i0.ɵɵnextContext(5); i0.ɵɵconditional(config_r19.ID === ctx_r1.agentConfigurationId && config_r19.Description ? 0 : -1); } } function AITestHarnessComponent_div_0_Conditional_4_Conditional_23_Conditional_12_Template(rf, ctx) { if (rf & 1) { i0.ɵɵrepeaterCreate(0, AITestHarnessComponent_div_0_Conditional_4_Conditional_23_Conditional_12_For_1_Template, 1, 1, null, null, _forTrack1); } if (rf & 2) { const ctx_r1 = i0.ɵɵnextContext(4); i0.ɵɵrepeater(ctx_r1.availableConfigurations); } } function AITestHarnessComponent_div_0_Conditional_4_Conditional_23_Conditional_13_Template(rf, ctx) { if (rf & 1) { i0.ɵɵtext(0, " Using default configuration "); } } function AITestHarnessComponent_div_0_Conditional_4_Conditional_23_Template(rf, ctx) { if (rf & 1) { const _r18 = i0.ɵɵgetCurrentView(); i0.ɵɵelementStart(0, "div", 42)(1, "div", 88)(2, "h4"); i0.ɵɵtext(3, "Agent Settings"); i0.ɵɵelementEnd(); i0.ɵɵelementStart(4, "p"); i0.ɵɵtext(5, "Configure agent execution parameters"); i0.ɵɵelementEnd()(); i0.ɵɵelementStart(6, "div", 100)(7, "div", 101)(8, "label"); i0.ɵɵtext(9, "AI Configuration"); i0.ɵɵelementEnd(); i0.ɵɵelementStart(10, "kendo-dropdownlist", 102); i0.ɵɵtwoWayListener("ngModelChange", function AITestHarnessComponent_div_0_Conditional_4_Conditional_23_Template_kendo_dropdownlist_ngModelChange_10_listener($event) { i0.ɵɵrestoreView(_r18); const ctx_r1 = i0.ɵɵnextContext(3); i0.ɵɵtwoWayBindingSet(ctx_r1.agentConfigurationId, $event) || (ctx_r1.agentConfigurationId = $event); return i0.ɵɵresetView($event); }); i0.ɵɵelementEnd(); i0.ɵɵelementStart(11, "div", 103); i0.ɵɵtemplate(12, AITestHarnessComponent_div_0_Conditional_4_Conditional_23_Conditional_12_Template, 2, 0)(13, AITestHarnessComponent_div_0_Conditional_4_Conditional_23_Conditional_13_Template, 1, 0); i0.ɵɵelementEnd()()()(); } if (rf & 2) { const ctx_r1 = i0.ɵɵnextContext(3); i0.ɵɵadvance(10); i0.ɵɵtwoWayProperty("ngModel", ctx_r1.agentConfigurationId); i0.ɵɵproperty("data", ctx_r1.availableConfigurations)("valuePrimitive", true); i0.ɵɵadvance(2); i0.ɵɵconditional(ctx_r1.agentConfigurationId ? 12 : 13); } } function AITestHarnessComponent_div_0_Conditional_4_Conditional_24_For_8_Template(rf, ctx) { if (rf & 1) { const _r21 = i0.ɵɵgetCurrentView(); i0.ɵɵelementStart(0, "div", 91)(1, "kendo-textbox", 94); i0.ɵɵtwoWayListener("ngModelChange", function AITestHarnessComponent_div_0_Conditional_4_Conditional_24_For_8_Template_kendo_textbox_ngModelChange_1_listener($event) { const variable_r22 = i0.ɵɵrestoreView(_r21).$implicit; i0.ɵɵtwoWayBindingSet(variable_r22.name, $event) || (variable_r22.name = $event); return i0.ɵɵresetView($event); }); i0.ɵɵelementEnd(); i0.ɵɵelementStart(2, "kendo-dropdownlist", 95); i0.ɵɵtwoWayListener("ngModelChange", function AITestHarnessComponent_div_0_Conditional_4_Conditional_24_For_8_Template_kendo_dropdownlist_ngModelChange_2_listener($event) { const variable_r22 = i0.ɵɵrestoreView(_r21).$implicit; i0.ɵɵtwoWayBindingSet(variable_r22.type, $event) || (variable_r22.type = $event); return i0.ɵɵresetView($event); }); i0.ɵɵelementEnd(); i0.ɵɵelementStart(3, "kendo-textbox", 96); i0.ɵɵtwoWayListener("ngModelChange", function AITestHarnessComponent_div_0_Conditional_4_Conditional_24_For_8_Template_kendo_textbox_ngModelChange_3_listener($event) { const variable_r22 = i0.ɵɵrestoreView(_r21).$implicit; i0.ɵɵtwoWayBindingSet(variable_r22.value, $event) || (variable_r22.value = $event); return i0.ɵɵresetView($event); }); i0.ɵɵelementEnd(); i0.ɵɵelementStart(4, "button", 105); i0.ɵɵlistener("click", function AITestHarnessComponent_div_0_Conditional_4_Conditional_24_For_8_Template_button_click_4_listener() { const $index_r23 = i0.ɵɵrestoreView(_r21).$index; const ctx_r1 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r1.removeTemplateVariable($index_r23)); }); i0.ɵɵelement(5, "i", 98); i0.ɵɵelementEnd()(); } if (rf & 2) { const variable_r22 = ctx.$implicit; const ctx_r1 = i0.ɵɵnextContext(4); i0.ɵɵadvance(); i0.ɵɵtwoWayProperty("ngModel", variable_r22.name); i0.ɵɵproperty("disabled", ctx_r1.isExecuting); i0.ɵɵadvance(); i0.ɵɵtwoWayProperty("ngModel", variable_r22.type); i0.ɵɵproperty("data", i0.ɵɵpureFunction4(13, _c8, i0.ɵɵpureFunction0(9, _c4), i0.ɵɵpureFunction0(10, _c5), i0.ɵɵpureFunction0(11, _c6), i0.ɵɵpureFunction0(12, _c7)))("valuePrimitive", true)("disabled", ctx_r1.isExecuting); i0.ɵɵadvance(); i0.ɵɵtwoWayProperty("ngModel", variable_r22.value); i0.ɵɵproperty("placeholder", variable_r22.type === "object" ? "JSON value" : "Value")("disabled", ctx_r1.isExecuting); } } function AITestHarnessComponent_div_0_Conditional_4_Conditional_24_Template(rf, ctx) { if (rf & 1) { const _r20 = i0.ɵɵgetCurrentView(); i0.ɵɵelementStart(0, "div", 42)(1, "div", 88)(2, "h4"); i0.ɵɵtext(3, "Template Variables"); i0.ɵɵelementEnd(); i0.ɵɵelementStart(4, "p"); i0.ɵɵtext(5, "Variables for prompt template rendering"); i0.ɵɵelementEnd()(); i0.ɵɵelementStart(6, "div", 89); i0.ɵɵrepeaterCreate(7, AITestHarnessComponent_div_0_Conditional_4_Conditional_24_For_8_Template, 6, 18, "div", 91, i0.ɵɵrepeaterTrackByIndex); i0.ɵɵelementEnd(); i0.ɵɵelementStart(9, "button", 104); i0.ɵɵlistener("click", function AITestHarnessComponent_div_0_Conditional_4_Conditional_24_Template_button_click_9_listener() { i0.ɵɵrestoreView(_r20); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.addTemplateVariable()); }); i0.ɵɵelement(10, "i", 93); i0.ɵɵtext(11, " Add Variable "); i0.ɵɵelementEnd()(); } if (rf & 2) { const ctx_r1 = i0.ɵɵnextContext(3); i0.ɵɵadvance(7); i0.ɵɵrepeater(ctx_r1.templateVariables); } } function AITestHarnessComponent_div_0_Conditional_4_Conditional_25_Conditional_18_Template(rf, ctx) { if (rf & 1) { i0.ɵɵtext(0, " Using default vendor for the default model "); } } function AITestHarnessComponent_div_0_Conditional_4_Conditional_25_Conditional_19_Template(rf, ctx) { if (rf & 1) { i0.ɵɵtext(0, " Only one vendor available for this model "); } } function AITestHarnessComponent_div_0_Conditional_4_Conditional_25_Conditional_20_Template(rf, ctx) { if (rf & 1) { i0.ɵɵtext(0, " Select the inference provider for this model "); } } function AITestHarnessComponent_div_0_Conditional_4_Conditional_25_Conditional_26_For_1_Conditional_0_Template(rf, ctx) { if (rf & 1) { i0.ɵɵtext(0); } if (rf & 2) { const config_r25 = i0.ɵɵnextContext().$implicit; i0.ɵɵtextInterpolate1(" ", config_r25.Description, " "); } } function AITestHarnessComponent_div_0_Conditional_4_Conditional_25_Conditional_26_For_1_Template(rf, ctx) { if (rf & 1) { i0.ɵɵtemplate(0, AITestHarnessComponent_div_0_Conditional_4_Conditional_25_Conditional_26_For_1_Conditional_0_Template, 1, 1); } if (rf & 2) { const config_r25 = ctx.$implicit; const ctx_r1 = i0.ɵɵnextContext(5); i0.ɵɵconditional(config_r25.ID === ctx_r1.selectedConfigurationId && config_r25.Description ? 0 : -1); } } function AITestHarnessComponent_div_0_Conditional_4_Conditional_25_Conditional_26_Template(rf, ctx) { if (rf & 1) { i0.ɵɵrepeaterCreate(0, AITestHarnessComponent_div_0_Conditional_4_Conditional_25_Conditional_26_For_1_Template, 1, 1, null, null, _forTrack1); } if (rf & 2) { const ctx_r1 = i0.ɵɵnextContext(4); i0.ɵɵrepeater(ctx_r1.availableConfigurations); } } function AITestHarnessComponent_div_0_Conditional_4_Conditional_25_Conditional_27_Template(rf, ctx) { if (rf & 1) { i0.ɵɵtext(0, " Using default configuration "); } } function AITestHarnessComponent_div_0_Conditional_4_Conditional_25_Conditional_86_Template(rf, ctx) { if (rf & 1) { const _r26 = i0.ɵɵgetCurrentView(); i0.ɵɵelementStart(0, "div", 101)(1, "label", 129); i0.ɵɵtext(2, " Top Log Probs "); i0.ɵɵelementEnd(); i0.ɵɵelementStart(3, "kendo-numerictextbox", 130); i0.ɵɵtwoWayListener("ngModelChange", function AITestHarnessComponent_div_0_Conditional_4_Conditional_25_Conditional_86_Template_kendo_numerictextbox_ngModelChange_3_listener($event) { i0.ɵɵrestoreView(_r26); const ctx_r1 = i0.ɵɵnextContext(4); i0.ɵɵtwoWayBindingSet(ctx_r1.advancedParams.topLogProbs, $event) || (ctx_r1.advancedParams.topLogProbs = $event); return i0.ɵɵresetView($event); }); i0.ɵɵelementEnd()(); } if (rf & 2) { const ctx_r1 = i0.ɵɵnextContext(4); i0.ɵɵadvance(3); i0.ɵɵtwoWayProperty("ngModel", ctx_r1.advancedParams.topLogProbs); i0.ɵɵproperty("min", 2)("max", 20)("step", 1)("format", "n0"); } } function AITestHarnessComponent_div_0_Conditional_4_Conditional_25_Template(rf, ctx) { if (rf & 1) { const _r24 = i0.ɵɵgetCurrentView(); i0.ɵɵelementStart(0, "div", 44)(1, "div", 88)(2, "h4"); i0.ɵɵtext(3, "Model Settings"); i0.ɵɵelementEnd(); i0.ɵɵelementStart(4, "p"); i0.ɵɵtext(5, "Configure AI model parameters"); i0.ɵɵelementEnd(); i0.ɵɵelementStart(6, "button", 106); i0.ɵɵlistener("click", function AITestHarnessComponent_div_0_Conditional_4_Conditional_25_Template_button_click_6_listener() { i0.ɵɵrestoreView(_r24); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.resetToPromptDefaults()); }); i0.ɵɵelement(7, "i", 107); i0.ɵɵelementEnd()(); i0.ɵɵelementStart(8, "div", 100)(9, "div", 101)(10, "label"); i0.ɵɵtext(11, "AI Model"); i0.ɵɵelementEnd(); i0.ɵɵelementStart(12, "kendo-dropdownlist", 108); i0.ɵɵtwoWayListener("ngModelChange", function AITestHarnessComponent_div_0_Conditional_4_Conditional_25_Template_kendo_dropdownlist_ngModelChange_12_listener($event) { i0.ɵɵrestoreView(_r24); const ctx_r1 = i0.ɵɵnextContext(3); i0.ɵɵtwoWayBindingSet(ctx_r1.selectedModelId, $event) || (ctx_r1.selectedModelId = $event); return i0.ɵɵresetView($event); }); i0.ɵɵlistener("ngModelChange", function AITestHarnessComponent_div_0_Conditional_4_Conditional_25_Template_kendo_dropdownlist_ngModelChange_12_listener() { i0.ɵɵrestoreView(_r24); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.onModelSelectionChange()); }); i0.ɵɵelementEnd()(); i0.ɵɵelementStart(13, "div", 101)(14, "label"); i0.ɵɵtext(15, "AI Vendor"); i0.ɵɵelementEnd(); i0.ɵɵelementStart(16, "kendo-dropdownlist", 109); i0.ɵɵtwoWayListener("ngModelChange", function AITestHarnessComponent_div_0_Conditional_4_Conditional_25_Template_kendo_dropdownlist_ngModelChange_16_listener($event) { i0.ɵɵrestoreView(_r24); const ctx_r1 = i0.ɵɵnextContext(3); i0.ɵɵtwoWayBindingSet(ctx_r1.selectedVendorId, $event) || (ctx_r1.selectedVendorId = $event); return i0.ɵɵresetView($event); }); i0.ɵɵelementEnd(); i0.ɵɵelementStart(17, "div", 103); i0.ɵɵtemplate(18, AITestHarnessComponent_div_0_Conditional_4_Conditional_25_Conditional_18_Template, 1, 0)(19, AITestHarnessComponent_div_0_Conditional_4_Conditional_25_Conditional_19_Template, 1, 0)(20, AITestHarnessComponent_div_0_Conditional_4_Conditional_25_Conditional_20_Template, 1, 0); i0.ɵɵelementEnd()(); i0.ɵɵelementStart(21, "div", 101)(22, "label"); i0.ɵɵtext(23, "AI Configuration"); i0.ɵɵelementEnd(); i0.ɵɵelementStart(24, "kendo-dropdownlist", 102); i0.ɵɵtwoWayListener("ngModelChange", function AITestHarnessComponent_div_0_Conditional_4_Conditional_25_Template_kendo_dropdownlist_ngModelChange_24_listener($event) { i0.ɵɵrestoreView(_r24); const ctx_r1 = i0.ɵɵnextContext(3); i0.ɵɵtwoWayBindingSet(ctx_r1.selectedConfigurationId, $event) || (ctx_r1.selectedConfigurationId = $event); return i0.ɵɵresetView($event); }); i0.ɵɵelementEnd(); i0.ɵɵelementStart(25, "div", 103); i0.ɵɵtemplate(26, AITestHarnessComponent_div_0_Conditional_4_Conditional_25_Conditional_26_Template, 2, 0)(27, AITestHarnessComponent_div_0_Conditional_4_Conditional_25_Conditional_27_Template, 1, 0); i0.ɵɵelementEnd()(); i0.ɵɵelementStart(28, "div", 101)(29, "label"); i0.ɵɵtext(30, "Response Format"); i0.ɵɵelementEnd(); i0.ɵɵelementStart(31, "kendo-dropdownlist", 110); i0.ɵɵtwoWayListener("ngModelChange", function AITestHarnessComponent_div_0_Conditional_4_Conditional_25_Template_kendo_dropdownlist_ngModelChange_31_listener($event) { i0.ɵɵrestoreView(_r24); const ctx_r1 = i0.ɵɵnextContext(3); i0.ɵɵtwoWayBindingSet(ctx_r1.selectedResponseFormat, $event) || (ctx_r1.selectedResponseFormat = $event); return i0.ɵɵresetView($event); }); i0.ɵɵelementEnd(); i0.ɵɵelementStart(32, "div", 103); i0.ɵɵtext(33, " Expected format for AI response (defaults to prompt setting) "); i0.ɵɵelementEnd()(); i0.ɵɵelementStart(34, "div", 101)(35, "label"); i0.ɵɵtext(36, "Max Tokens"); i0.ɵɵelementEnd(); i0.ɵɵelementStart(37, "kendo-numerictextbox", 111); i0.ɵɵtwoWayListener("ngModelChange", function AITestHarnessComponent_div_0_Conditional_4_Conditional_25_Template_kendo_numerictextbox_ngModelChange_37_listener($event) { i0.ɵɵrestoreView(_r24); const ctx_r1 = i0.ɵɵnextContext(3); i0.ɵɵtwoWayBindingSet(ctx_r1.maxTokens, $event) || (ctx_r1.maxTokens = $event); return i0.ɵɵresetView($event); }); i0.ɵɵelementEnd(); i0.ɵɵelementStart(38, "div", 103); i0.ɵɵtext(39, " Maximum length of generated response "); i0.ɵɵelementEnd()(); i0.ɵɵelementStart(40, "div", 101)(41, "label", 112)(42, "input", 113); i0.ɵɵtwoWayListener("ngModelChange", function AITestHarnessComponent_div_0_Conditional_4_Conditional_25_Template_input_ngModelChange_42_listener($event) { i0.ɵɵrestoreView(_r24); const ctx_r1 = i0.ɵɵnextContext(3); i0.ɵɵtwoWayBindingSet(ctx_r1.skipValidation, $event) || (ctx_r1.skipValidation = $event); return i0.ɵɵresetView($event); }); i0.ɵɵelementEnd(); i0.ɵɵtext(43, " Skip Validation "); i0.ɵɵelementEnd(); i0.ɵɵelementStart(44, "div", 103); i0.ɵɵtext(45, " Skip output validation during testing "); i0.ɵɵelementEnd()(); i0.ɵɵelementStart(46, "kendo-expansionpanel", 114); i0.ɵɵlistener("action", function AITestHarnessComponent_div_0_Conditional_4_Conditional_25_Template_kendo_expansionpanel_action_46_listener() { i0.ɵɵrestoreView(_r24); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.toggleAdvancedParams()); }); i0.ɵɵelementStart(47, "div", 115)(48, "div", 101)(49, "label", 116); i0.ɵɵtext(50, " Temperature "); i0.ɵɵelementEnd(); i0.ɵɵelementStart(51, "kendo-numerictextbox", 117); i0.ɵɵtwoWayListener("ngModelChange", function AITestHarnessComponent_div_0_Conditional_4_Conditional_25_Template_kendo_numerictextbox_ngModelChange_51_listener($event) { i0.ɵɵrestoreView(_r24); const ctx_r1 = i0.ɵɵnextContext(3); i0.ɵɵtwoWayBindingSet(ctx_r1.advancedParams.temperature, $event) || (ctx_r1.advancedParams.temperature = $event); return i0.ɵɵresetView($event); }); i0.ɵɵelementEnd()(); i0.ɵɵelementStart(52, "div", 101)(53, "label", 118); i0.ɵɵtext(54, " Top P "); i0.ɵɵelementEnd(); i0.ɵɵelementStart(55, "kendo-numerictextbox", 117); i0.ɵɵtwoWayListener("ngModelChange", function AITestHarnessComponent_div_0_Conditional_4_Conditional_25_Template_kendo_numerictextbox_ngModelChange_55_listener($event) { i0.ɵɵrestoreView(_r24); const ctx_r1 = i0.ɵɵnextContext(3); i0.ɵɵtwoWayBindingSet(ctx_r1.advancedParams.topP, $event) || (ctx_r1.advancedParams.topP = $event); return i0.ɵɵresetView($event); }); i0.ɵɵelementEnd()(); i0.ɵɵelementStart(56, "div", 101)(57, "label", 119); i0.ɵɵtext(58, " Top K "); i0.ɵɵelementEnd(); i0.ɵɵelementStart(59, "kendo-numerictextbox", 117); i0.ɵɵtwoWayListener("ngModelChange", function AITestHarnessComponent_div_0_Conditional_4_Conditional_25_Template_kendo_numerictextbox_ngModelChange_59_listener($event) { i0.ɵɵrestoreView(_r24); const ctx_r1 = i0.ɵɵnextContext(3); i0.ɵɵtwoWayBindingSet(ctx_r1.advancedParams.topK, $event) || (ctx_r1.advancedParams.topK = $event); return i0.ɵɵresetView($event); }); i0.ɵɵelementEnd()(); i0.ɵɵelementStart(60, "div", 101)(61, "label", 120); i0.ɵɵtext(62, " Min P "); i0.ɵɵelementEnd(); i0.ɵɵelementStart(63, "kendo-numerictextbox", 117); i0.ɵɵtwoWayListener("ngModelChange", function AITestHarnessComponent_div_0_Conditional_4_Conditional_25_Template_kendo_numerictextbox_ngModelChange_63_listener($event) { i0.ɵɵrestoreView(_r24); const ctx_r1 = i0.ɵɵnextContext(3); i0.ɵɵtwoWayBindingSet(ctx_r1.advancedParams.minP, $event) || (ctx_r1.advancedParams.minP = $event); return i0.ɵɵresetView($event); }); i0.ɵɵelementEnd()(); i0.ɵɵelementStart(64, "div", 101)(65, "label", 121); i0.ɵɵtext(66, " Frequency Penalty "); i0.ɵɵelementEnd(); i0.ɵɵelementStart(67, "kendo-numerictextbox", 117); i0.ɵɵtwoWayListener("ngModelChange", function AITestHarnessComponent_div_0_Conditional_4_Conditional_25_Template_kendo_numerictextbox_ngModelChange_67_listener($event) { i0.ɵɵrestoreView(_r24); const ctx_r1 = i0.ɵɵnextContext(3); i0.ɵɵtwoWayBindingSet(ctx_r1.advancedParams.frequencyPenalty, $event) || (ctx_r1.advancedParams.frequencyPenalty = $event); return i0.ɵɵresetView($event); }); i0.ɵɵelementEnd()(); i0.ɵɵelementStart(68, "div", 101)(69, "label", 122); i0.ɵɵtext(70, " Presence Penalty "); i0.ɵɵelementEnd(); i0.ɵɵelementStart(71, "kendo-numerictextbox", 117); i0.ɵɵtwoWayListener("ngModelChange", function AITestHarnessComponent_div_0_Conditional_4_Conditional_25_Template_kendo_numerictextbox_ngModelChange_71_listener($event) { i0.ɵɵrestoreView(_r24); const ctx_r1 = i0.ɵɵnextContext(3); i0.ɵɵtwoWayBindingSet(ctx_r1.advancedParams.presencePenalty, $event) || (ctx_r1.advancedParams.presencePenalty = $event); return i0.ɵɵresetView($event); }); i0.ɵɵelementEnd()(); i0.ɵɵelementStart(72, "div", 101)(73, "label", 123); i0.ɵɵtext(74, " Seed "); i0.ɵɵelementEnd(); i0.ɵɵelementStart(75, "kendo-numerictextbox", 124); i0.ɵɵtwoWayListener("ngModelChange", function AITestHarnessComponent_div_0_Conditional_4_Conditional_25_Template_kendo_numerictextbox_ngModelChange_75_listener($event) { i0.ɵɵrestoreView(_r24); const ctx_r1 = i0.ɵɵnextContext(3); i0.ɵɵtwoWayBindingSet(ctx_r1.advancedParams.seed, $event) || (ctx_r1.advancedParams.seed = $event); return i0.ɵɵresetView($event); }); i0.ɵɵelementEnd()(); i0.ɵɵelementStart(76, "div", 101)(77, "label", 125); i0.ɵɵtext(78, " Stop Sequences "); i0.ɵɵelementEnd(); i0.ɵɵelementStart(79, "kendo-textarea", 126); i0.ɵɵtwoWayListener("ngModelChange", function AITestHarnessComponent_div_0_Conditional_4_Conditional_25_Template_kendo_textarea_ngModelChange_79_listener($event) { i0.ɵɵrestoreView(_r24); const ctx_r1 = i0.ɵɵnextContext(3); i0.ɵɵtwoWayBindingSet(ctx_r1.stopSequencesText, $event) || (ctx_r1.stopSequencesText = $event); return i0.ɵɵresetView($event); }); i0.ɵɵlistener("ngModelChange", function AITestHarnessComponent_div_0_Conditional_4_Conditional_25_Template_kendo_textarea_ngModelChange_79_listener() { i0.ɵɵrestoreView(_r24); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.updateStopSequences()); }); i0.ɵɵelementEnd(); i0.ɵɵelementStart(80, "div", 103); i0.ɵɵtext(81, " Separate multiple sequences with commas "); i0.ɵɵelementEnd()(); i0.ɵɵelementStart(82, "div", 101)(83, "label", 127); i0.ɵɵtext(84, " Include Log Probs "); i0.ɵɵelementEnd(); i0.ɵɵelementStart(85, "kendo-switch", 128); i0.ɵɵtwoWayListener("ngModelChange", function AITestHarnessComponent_div_0_Conditional_4_Conditional_25_Template_kendo_switch_ngModelChange_85_listener($event) { i0.ɵɵrestoreView(_r24); const ctx_r1 = i0.ɵɵnextContext(3); i0.ɵɵtwoWayBindingSet(ctx_r1.advancedParams.includeLogProbs, $event) || (ctx_r1.advancedParams.includeLogProbs = $event); return i0.ɵɵresetView($event); }); i0.ɵɵelementEnd()(); i0.ɵɵtemplate(86, AITestHarnessComponent_div_0_Conditional_4_Conditional_25_Conditional_86_Template, 4, 5, "div", 101); i0.ɵɵelementEnd()()()(); } if (rf & 2) { const ctx_r1 = i0.ɵɵnextContext(3); i0.ɵɵadvance(12); i0.ɵɵtwoWayProperty("ngModel", ctx_r1.selectedModelId); i0.ɵɵproperty("data", ctx_r1.availableModels)("valuePrimitive", true); i0.ɵɵadvance(4); i0.ɵɵtwoWayProperty("ngModel", ctx_r1.selectedVendorId); i0.ɵɵproperty("data", ctx_r1.availableVendors)("valuePrimitive", true)("disabled", ctx_r1.availableVendors.length <= 1 || !ctx_r1.selectedModelId); i0.ɵɵadvance(2); i0.ɵɵconditional(!ctx_r1.selectedModelId ? 18 : ctx_r1.availableVendors.length <= 1 ? 19 : 20); i0.ɵɵadvance(6); i0.ɵɵtwoWayProperty("ngModel", ctx_r1.selectedConfigurationId); i0.ɵɵproperty("data", ctx_r1.availableConfigurations)("valuePrimitive", true); i0.ɵɵadvance(2); i0.ɵɵconditional(ctx_r1.selectedConfigurationId ? 26 : 27); i0.ɵɵadvance(5); i0.ɵɵtwoWayProperty("ngModel", ctx_r1.selectedResponseFormat); i0.ɵɵproperty("data", ctx_r1.responseFormatOptions); i0.ɵɵadvance(6); i0.ɵɵtwoWayProperty("ngModel", ctx_r1.maxTokens); i0.ɵɵproperty("min", 100)("max", 8000)("step", 100); i0.ɵɵadvance(5); i0.ɵɵtwoWayProperty("ngModel", ctx_r1.skipValidation); i0.ɵɵadvance(4); i0.ɵɵproperty("expanded", ctx_r1.advancedParamsExpanded); i0.ɵɵadvance(5); i0.ɵɵtwoWayProperty("ngModel", ctx_r1.advancedParams.temperature); i0.ɵɵproperty("min", 0)("max", 2)("step", 0.1)("format", "n1"); i0.ɵɵadvance(4); i0.ɵɵtwoWayProperty("ngModel", ctx_r1.advancedParams.topP); i0.ɵɵproperty("min", 0)("max", 1)("step", 0.01)("format", "n2"); i0.ɵɵadvance(4); i0.ɵɵtwoWayProperty("ngModel", ctx_r1.advancedParams.topK); i0.ɵɵproperty("min", 1)("max", 100)("step"