@memberjunction/ng-ai-test-harness
Version:
MemberJunction AI Test Harness - A reusable component for testing AI agents and prompts with beautiful UX
78 lines • 3.1 kB
TypeScript
import { EventEmitter, OnInit, OnDestroy, AfterViewInit, Renderer2, ElementRef, ChangeDetectorRef } from '@angular/core';
import { WindowComponent } from '@progress/kendo-angular-dialog';
import { AIAgentEntityExtended, AIPromptEntityExtended } from '@memberjunction/core-entities';
import { AITestHarnessComponent } from './ai-test-harness.component';
import * as i0 from "@angular/core";
export interface CustomWindowData {
agentId?: string;
agent?: AIAgentEntityExtended;
promptId?: string;
prompt?: AIPromptEntityExtended;
title?: string;
width?: string | number;
height?: string | number;
initialDataContext?: Record<string, any>;
initialTemplateData?: Record<string, any>;
initialTemplateVariables?: Record<string, any>;
selectedModelId?: string;
mode?: 'agent' | 'prompt';
}
export declare class TestHarnessCustomWindowComponent implements OnInit, OnDestroy, AfterViewInit {
private renderer;
private elementRef;
private cdr;
kendoWindow: WindowComponent;
testHarness?: AITestHarnessComponent;
data: CustomWindowData;
closeWindow: EventEmitter<void>;
minimizeWindow: EventEmitter<void>;
restoreWindow: EventEmitter<void>;
executionStateChange: EventEmitter<{
windowId?: string | undefined;
isExecuting: boolean;
}>;
windowTitle: string;
width: number;
height: number;
windowTop: number;
windowLeft: number;
loading: boolean;
error: string;
windowState: 'default' | 'minimized' | 'maximized';
isMaximized: boolean;
isMinimized: boolean;
private originalWidth;
private originalHeight;
private originalTop;
private originalLeft;
private readonly MINIMIZED_WIDTH;
private readonly MINIMIZED_HEIGHT;
agent?: AIAgentEntityExtended;
prompt?: AIPromptEntityExtended;
mode: 'agent' | 'prompt';
private metadata;
constructor(renderer: Renderer2, elementRef: ElementRef, cdr: ChangeDetectorRef);
ngOnInit(): void;
loadEntity(): Promise<void>;
onClose(): void;
closeButtonClick(): void;
onStateChange(state: 'default' | 'minimized' | 'maximized'): void;
onWindowResize(): void;
onRunOpened(event: {
runId: string;
runType: 'agent' | 'prompt';
}): void;
minimize(): void;
restoreFromMinimized(): void;
toggleMaximize(): void;
private convertToNumber;
ngAfterViewInit(): void;
private adjustContentHeight;
private setupResizeListener;
private setupExecutionTracking;
ngOnDestroy(): void;
private updateWindowPosition;
static ɵfac: i0.ɵɵFactoryDeclaration<TestHarnessCustomWindowComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<TestHarnessCustomWindowComponent, "mj-test-harness-custom-window", never, { "data": { "alias": "data"; "required": false; }; }, { "closeWindow": "closeWindow"; "minimizeWindow": "minimizeWindow"; "restoreWindow": "restoreWindow"; "executionStateChange": "executionStateChange"; }, never, never, false, never>;
}
//# sourceMappingURL=test-harness-custom-window.component.d.ts.map