@memberjunction/ng-ai-test-harness 5.3.1 → 5.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/__tests__/index.test.js.map +1 -1
- package/dist/__tests__/services.test.js.map +1 -1
- package/dist/lib/agent-execution-monitor.component.js.map +1 -1
- package/dist/lib/agent-execution-node.component.js.map +1 -1
- package/dist/lib/ai-test-harness-dialog.component.js.map +1 -1
- package/dist/lib/ai-test-harness-dialog.service.js.map +1 -1
- package/dist/lib/ai-test-harness-window.component.js.map +1 -1
- package/dist/lib/ai-test-harness.component.js.map +1 -1
- package/dist/lib/json-viewer-window.component.js.map +1 -1
- package/dist/lib/test-harness-custom-window.component.js.map +1 -1
- package/dist/lib/test-harness-window-manager.service.js.map +1 -1
- package/dist/lib/test-harness-window.service.js.map +1 -1
- package/dist/lib/window-dock.service.js.map +1 -1
- package/dist/module.js.map +1 -1
- package/dist/public-api.js.map +1 -1
- package/package.json +13 -13
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json-viewer-window.component.js","sourceRoot":"","sources":["../../src/lib/json-viewer-window.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;;;;AAgFjD,MAAM,OAAO,yBAAyB;IA9EtC;QA+Ea,gBAAW,GAAW,EAAE,CAAC;KAWrC;IATG,eAAe;QACX,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;gBACtD,wBAAwB;YAC5B,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACb,gBAAgB;YACpB,CAAC,CAAC,CAAC;QACP,CAAC;IACL,CAAC;0HAXQ,yBAAyB;oEAAzB,yBAAyB;YAxEtB,AADJ,AADJ,8BAAiC,aACG,gBAC0D;YAA9C,sGAAS,qBAAiB,IAAC;YAC/D,uBAAgC;YAExC,AADI,iBAAS,EACP;YAEF,AADJ,8BAA8B,wBAMa;YAJnC,kOAAyB;YAOrC,AADI,AADI,iBAAiB,EACf,EACJ;;YAPM,eAAyB;YAAzB,+CAAyB;YAGzB,AADA,AADA,+BAAiB,oBACE,sBACE;;;iFA+D5B,yBAAyB;cA9ErC,SAAS;6BACI,KAAK,YACL,uBAAuB,YACvB;;;;;;;;;;;;;;;;;KAiBT;;kBA2DA,KAAK;;kFADG,yBAAyB"}
|
|
1
|
+
{"version":3,"file":"json-viewer-window.component.js","sourceRoot":"","sources":["../../src/lib/json-viewer-window.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;;;;AAgFjD,MAAM,OAAO,yBAAyB;IA9EtC;QA+Ea,gBAAW,GAAW,EAAE,CAAC;KAWrC;IATG,eAAe;QACX,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;gBACtD,wBAAwB;YAC5B,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACb,gBAAgB;YACpB,CAAC,CAAC,CAAC;QACP,CAAC;IACL,CAAC;0HAXQ,yBAAyB;oEAAzB,yBAAyB;YAxEtB,AADJ,AADJ,8BAAiC,aACG,gBAC0D;YAA9C,sGAAS,qBAAiB,IAAC;YAC/D,uBAAgC;YAExC,AADI,iBAAS,EACP;YAEF,AADJ,8BAA8B,wBAMa;YAJnC,kOAAyB;YAOrC,AADI,AADI,iBAAiB,EACf,EACJ;;YAPM,eAAyB;YAAzB,+CAAyB;YAGzB,AADA,AADA,+BAAiB,oBACE,sBACE;;;iFA+D5B,yBAAyB;cA9ErC,SAAS;6BACI,KAAK,YACL,uBAAuB,YACvB;;;;;;;;;;;;;;;;;KAiBT;;kBA2DA,KAAK;;kFADG,yBAAyB","sourcesContent":["import { Component, Input } from '@angular/core';\n\n@Component({\n standalone: false,\n selector: 'mj-json-viewer-window',\n template: `\n <div class=\"json-dialog-content\">\n <div class=\"json-dialog-header\">\n <button class=\"custom-button icon-only\" (click)=\"copyJsonContent()\" title=\"Copy JSON\">\n <i class=\"fa-solid fa-copy\"></i>\n </button>\n </div>\n <div class=\"json-dialog-body\">\n <mj-code-editor \n [(ngModel)]=\"jsonContent\"\n [readonly]=\"true\"\n [language]=\"'json'\"\n [lineWrapping]=\"true\"\n style=\"height: 100%; width: 100%;\">\n </mj-code-editor>\n </div>\n </div>\n `,\n styles: [`\n .json-dialog-content {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: white;\n overflow: hidden;\n }\n\n .json-dialog-header {\n padding: 12px 16px;\n background: #f8f9fa;\n border-bottom: 1px solid #dee2e6;\n display: flex;\n justify-content: flex-end;\n align-items: center;\n flex-shrink: 0;\n }\n\n .json-dialog-body {\n flex: 1;\n overflow: auto;\n padding: 0;\n position: relative;\n min-height: 0;\n }\n\n .custom-button {\n background: white;\n border: 1px solid #dee2e6;\n border-radius: 4px;\n padding: 6px 12px;\n font-size: 13px;\n color: #495057;\n cursor: pointer;\n transition: all 0.2s;\n display: inline-flex;\n align-items: center;\n gap: 6px;\n font-family: inherit;\n }\n\n .custom-button:hover:not(:disabled) {\n background: #f8f9fa;\n border-color: #adb5bd;\n color: #212529;\n }\n\n .custom-button.icon-only {\n padding: 6px 8px;\n }\n\n .custom-button i {\n font-size: 14px;\n }\n `]\n})\nexport class JsonViewerWindowComponent {\n @Input() jsonContent: string = '';\n\n copyJsonContent() {\n if (this.jsonContent) {\n navigator.clipboard.writeText(this.jsonContent).then(() => {\n // Success - JSON copied\n }).catch((err) => {\n // Error copying\n });\n }\n }\n}"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-harness-custom-window.component.js","sourceRoot":"","sources":["../../src/lib/test-harness-custom-window.component.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"test-harness-custom-window.component.js","sourceRoot":"","sources":["../../src/lib/test-harness-custom-window.component.ts"],"names":[],"mappings":"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","sourcesContent":["import { Component, Input, Output, EventEmitter, OnInit, ViewChild, OnDestroy, AfterViewInit, Renderer2, ElementRef, ChangeDetectorRef } from '@angular/core';\nimport { WindowComponent } from '@progress/kendo-angular-dialog';\nimport { MJAIAgentEntityExtended, MJAIPromptEntityExtended } from '@memberjunction/ai-core-plus';\nimport { Metadata } from '@memberjunction/core';\nimport { AITestHarnessComponent } from './ai-test-harness.component';\n\nexport interface CustomWindowData {\n agentId?: string;\n agent?: MJAIAgentEntityExtended;\n promptId?: string;\n prompt?: MJAIPromptEntityExtended;\n title?: string;\n width?: string | number;\n height?: string | number;\n initialDataContext?: Record<string, any>;\n initialTemplateData?: Record<string, any>;\n initialTemplateVariables?: Record<string, any>;\n selectedModelId?: string;\n mode?: 'agent' | 'prompt';\n}\n\n@Component({\n standalone: false,\n selector: 'mj-test-harness-custom-window',\n template: `\n <kendo-window\n #kendoWindow\n [title]=\"windowTitle\"\n [width]=\"width\"\n [height]=\"height\"\n [top]=\"windowTop\"\n [left]=\"windowLeft\"\n [minWidth]=\"isMinimized ? 400 : 800\"\n [minHeight]=\"isMinimized ? 60 : 600\"\n [draggable]=\"true\"\n [resizable]=\"!isMinimized\"\n [state]=\"windowState\"\n [class.minimized-window]=\"isMinimized\"\n (close)=\"onClose()\"\n (stateChange)=\"onStateChange($event)\"\n (resize)=\"onWindowResize()\">\n \n <kendo-window-titlebar>\n <div class=\"window-title\">\n @if (mode === 'agent' && agent?.LogoURL) {\n <img [src]=\"agent?.LogoURL\" class=\"title-logo\" alt=\"Agent logo\" />\n } @else if (mode === 'agent') {\n <i class=\"fa-solid fa-robot title-icon\"></i>\n } @else {\n <i class=\"fa-solid fa-comment-dots title-icon\"></i>\n }\n <span>{{ windowTitle }}</span>\n </div>\n <div class=\"window-actions\">\n <button \n (click)=\"minimize()\"\n title=\"Minimize\"\n class=\"window-action-btn\">\n <i class=\"fa-solid fa-window-minimize\"></i>\n </button>\n <button \n (click)=\"toggleMaximize()\"\n [title]=\"isMaximized ? 'Restore' : 'Maximize'\"\n class=\"window-action-btn\">\n <i class=\"fa-solid\" [class.fa-window-maximize]=\"!isMaximized\" [class.fa-window-restore]=\"isMaximized\"></i>\n </button>\n <button \n (click)=\"closeButtonClick()\"\n title=\"Close\"\n class=\"window-action-btn\">\n <i class=\"fa-solid fa-xmark\"></i>\n </button>\n </div>\n </kendo-window-titlebar>\n \n <div class=\"window-content\">\n @if (loading) {\n <div class=\"loading-container\">\n <mj-loading [text]=\"'Loading ' + (mode === 'agent' ? 'AI Agent' : 'AI Prompt') + '...'\" size=\"large\"></mj-loading>\n </div>\n }\n @else if (error) {\n <div class=\"error-container\">\n <i class=\"fa-solid fa-exclamation-triangle\"></i>\n <p>{{ error }}</p>\n </div>\n }\n @else {\n <mj-ai-test-harness\n [entity]=\"(agent || prompt) || null\"\n [mode]=\"mode\"\n [isVisible]=\"true\"\n (runOpened)=\"onRunOpened($event)\">\n </mj-ai-test-harness>\n }\n </div>\n </kendo-window>\n `,\n styles: [`\n :host {\n display: contents;\n }\n \n /* Remove animation for snappy performance\n ::ng-deep .window-transition {\n transition: all 0.6s ease-in-out !important;\n } */\n \n ::ng-deep .minimized-window {\n .k-window-content {\n display: none !important;\n }\n \n .k-window-titlebar {\n border-radius: 4px !important;\n }\n }\n \n .window-title {\n display: flex;\n align-items: center;\n gap: 8px;\n flex: 1;\n \n .title-icon {\n color: #666;\n font-size: 16px;\n }\n \n .title-logo {\n width: 20px;\n height: 20px;\n object-fit: contain;\n }\n }\n \n .window-actions {\n display: flex;\n gap: 4px;\n align-items: center;\n }\n \n .window-action-btn {\n background: transparent;\n border: none;\n padding: 8px;\n cursor: pointer;\n border-radius: 4px;\n transition: background-color 0.2s;\n display: flex;\n align-items: center;\n justify-content: center;\n \n &:hover {\n background-color: rgba(0, 0, 0, 0.08);\n }\n \n i {\n font-size: 14px;\n color: #666;\n }\n }\n \n .window-content {\n height: 100%;\n display: flex;\n flex-direction: column;\n }\n \n .loading-container,\n .error-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n height: 100%;\n gap: 1rem;\n }\n \n .error-container {\n color: #dc3545;\n \n i {\n font-size: 3rem;\n }\n }\n \n mj-ai-test-harness {\n flex: 1;\n overflow: hidden;\n }\n \n /* Ensure Kendo Window content wrapper maintains proper height */\n ::ng-deep .k-window-content {\n display: flex;\n flex-direction: column;\n }\n `]\n})\nexport class TestHarnessCustomWindowComponent implements OnInit, OnDestroy, AfterViewInit {\n @ViewChild('kendoWindow', { static: false }) kendoWindow!: WindowComponent;\n @ViewChild(AITestHarnessComponent, { static: false }) testHarness?: AITestHarnessComponent;\n @Input() data: CustomWindowData = {};\n @Output() closeWindow = new EventEmitter<void>();\n @Output() minimizeWindow = new EventEmitter<void>();\n @Output() restoreWindow = new EventEmitter<void>();\n @Output() executionStateChange = new EventEmitter<{ windowId?: string; isExecuting: boolean }>();\n \n windowTitle = 'AI Test Harness';\n width: number = 1200;\n height: number = 800;\n windowTop: number = 100;\n windowLeft: number = 100;\n loading = true;\n error = '';\n windowState: 'default' | 'minimized' | 'maximized' = 'default';\n isMaximized = false;\n isMinimized = false;\n \n // Store original dimensions for restore\n private originalWidth: number = 1200;\n private originalHeight: number = 800;\n private originalTop: number = 100;\n private originalLeft: number = 100;\n \n // Minimized dimensions\n private readonly MINIMIZED_WIDTH = 400;\n private readonly MINIMIZED_HEIGHT = 60;\n \n agent?: MJAIAgentEntityExtended;\n prompt?: MJAIPromptEntityExtended;\n mode: 'agent' | 'prompt' = 'agent';\n \n private metadata = new Metadata();\n \n constructor(\n private renderer: Renderer2,\n private elementRef: ElementRef,\n private cdr: ChangeDetectorRef\n ) {}\n \n ngOnInit() {\n // Set window dimensions\n this.width = this.convertToNumber(this.data.width) || 1200;\n this.height = this.convertToNumber(this.data.height) || 800;\n \n // Store original dimensions\n this.originalWidth = this.width;\n this.originalHeight = this.height;\n \n // Calculate centered position\n const windowWidth = window.innerWidth;\n const windowHeight = window.innerHeight;\n this.windowLeft = Math.max(0, (windowWidth - this.width) / 2);\n this.windowTop = Math.max(0, (windowHeight - this.height) / 2);\n \n // Store original position\n this.originalLeft = this.windowLeft;\n this.originalTop = this.windowTop;\n \n // Determine mode\n this.mode = this.data.mode || (this.data.promptId || this.data.prompt ? 'prompt' : 'agent');\n \n // Load entity\n this.loadEntity();\n }\n \n async loadEntity() {\n try {\n if (this.mode === 'agent') {\n if (this.data.agent) {\n this.agent = this.data.agent;\n this.windowTitle = this.data.title || `Test: ${this.agent.Name}`;\n } else if (this.data.agentId) {\n const agentEntity = await this.metadata.GetEntityObject<MJAIAgentEntityExtended>('MJ: AI Agents');\n await agentEntity.Load(this.data.agentId);\n if (agentEntity.IsSaved) {\n this.agent = agentEntity;\n this.windowTitle = this.data.title || `Test: ${this.agent.Name}`;\n } else {\n throw new Error('Agent not found');\n }\n } else {\n throw new Error('No agent provided');\n }\n } else {\n if (this.data.prompt) {\n this.prompt = this.data.prompt;\n this.windowTitle = this.data.title || `Test: ${this.prompt.Name}`;\n } else if (this.data.promptId) {\n const promptEntity = await this.metadata.GetEntityObject<MJAIPromptEntityExtended>('MJ: AI Prompts');\n await promptEntity.Load(this.data.promptId);\n if (promptEntity.IsSaved) {\n this.prompt = promptEntity;\n this.windowTitle = this.data.title || `Test: ${this.prompt.Name}`;\n } else {\n throw new Error('Prompt not found');\n }\n } else {\n throw new Error('No prompt provided');\n }\n }\n \n this.loading = false;\n } catch (err: any) {\n this.error = err.message || 'Failed to load entity';\n this.loading = false;\n }\n }\n \n onClose() {\n // When the Kendo Window's close event fires (from the default X button),\n // emit our closeWindow event to notify the window manager\n this.closeWindow.emit();\n }\n \n closeButtonClick() {\n // When our custom close button is clicked, emit the close event\n // This will trigger the window to close and call our onClose handler\n if (this.kendoWindow) {\n this.kendoWindow.close.emit();\n } else {\n // If kendoWindow is not available, directly emit the close event\n this.onClose();\n }\n }\n \n onStateChange(state: 'default' | 'minimized' | 'maximized') {\n this.windowState = state;\n this.isMaximized = state === 'maximized';\n this.isMinimized = state === 'minimized';\n \n // Handle restore from minimized\n if (this.isMinimized && state !== 'minimized') {\n this.restoreFromMinimized();\n }\n \n // Adjust content height on any state change\n if (state !== 'minimized') {\n setTimeout(() => this.adjustContentHeight(), 100);\n }\n }\n \n onWindowResize() {\n // Handle Kendo Window resize event\n if (!this.isMinimized) {\n // Use a small delay to ensure the DOM has updated\n setTimeout(() => this.adjustContentHeight(), 50);\n }\n }\n \n onRunOpened(event: { runId: string; runType: 'agent' | 'prompt' }) {\n // Auto-minimize the test harness window when a run is opened\n this.minimize();\n }\n \n minimize() {\n if (!this.isMinimized) {\n // Store current dimensions before minimizing\n this.originalWidth = this.width;\n this.originalHeight = this.height;\n this.originalTop = this.windowTop;\n this.originalLeft = this.windowLeft;\n \n // Hide the window when minimized (dock will show icon)\n this.isMinimized = true;\n this.minimizeWindow.emit();\n \n // Hide the window element\n let windowElement = this.elementRef.nativeElement.querySelector('.k-window');\n if (!windowElement && this.elementRef.nativeElement.closest) {\n windowElement = this.elementRef.nativeElement.closest('.k-window');\n }\n if (windowElement) {\n this.renderer.setStyle(windowElement, 'display', 'none');\n }\n }\n }\n \n restoreFromMinimized() {\n this.width = this.originalWidth;\n this.height = this.originalHeight;\n this.windowTop = this.originalTop;\n this.windowLeft = this.originalLeft;\n this.windowState = 'default';\n this.isMinimized = false;\n \n // Show the window element\n let windowElement = this.elementRef.nativeElement.querySelector('.k-window');\n if (!windowElement && this.elementRef.nativeElement.closest) {\n windowElement = this.elementRef.nativeElement.closest('.k-window');\n }\n if (windowElement) {\n this.renderer.setStyle(windowElement, 'display', 'block');\n }\n \n // Update position after state change\n setTimeout(() => {\n this.updateWindowPosition();\n \n // Force Angular change detection\n this.cdr.detectChanges();\n \n // Force the Kendo Window to recalculate its internal dimensions\n if (this.kendoWindow) {\n // Trigger resize event to fix content sizing\n window.dispatchEvent(new Event('resize'));\n \n // Use the shared method to adjust content height\n this.adjustContentHeight();\n }\n }, 100);\n \n // Emit restore event\n this.restoreWindow.emit();\n }\n \n toggleMaximize() {\n if (this.isMinimized) {\n // First restore from minimized, then maximize\n this.restoreFromMinimized();\n setTimeout(() => {\n this.windowState = 'maximized';\n this.isMaximized = true;\n }, 600);\n } else {\n this.windowState = this.isMaximized ? 'default' : 'maximized';\n this.isMaximized = !this.isMaximized;\n }\n }\n \n private convertToNumber(value: string | number | undefined): number | undefined {\n if (!value) return undefined;\n if (typeof value === 'number') return value;\n \n // Handle percentage values\n if (value.endsWith('vw') || value.endsWith('vh')) {\n const percentage = parseFloat(value) / 100;\n if (value.endsWith('vw')) {\n return window.innerWidth * percentage;\n } else {\n return window.innerHeight * percentage;\n }\n }\n \n // Handle pixel values\n if (value.endsWith('px')) {\n return parseFloat(value);\n }\n \n // Try to parse as number\n const parsed = parseFloat(value);\n return isNaN(parsed) ? undefined : parsed;\n }\n \n ngAfterViewInit() {\n // Set initial position if needed\n setTimeout(() => {\n this.updateWindowPosition();\n this.adjustContentHeight();\n }, 100);\n \n // Set up execution tracking\n this.setupExecutionTracking();\n \n // Set up window resize listener\n this.setupResizeListener();\n }\n \n private adjustContentHeight() {\n // Ensure the window content wrapper has proper height\n const contentWrapper = this.elementRef.nativeElement.querySelector('.k-window-content');\n if (contentWrapper && this.kendoWindow) {\n // Get the actual window element to check current dimensions\n const windowElement = this.elementRef.nativeElement.querySelector('.k-window') ||\n this.elementRef.nativeElement.closest('.k-window');\n \n // Update our tracked dimensions if the window has been resized\n if (windowElement) {\n const rect = windowElement.getBoundingClientRect();\n if (rect.width > 0) this.width = rect.width;\n if (rect.height > 0) this.height = rect.height;\n }\n \n // Calculate the actual content height (window height minus titlebar and some padding)\n const windowHeight = this.height;\n const titlebarHeight = 40; // Titlebar height\n const bottomPadding = 10; // Extra space to prevent clipping\n const contentHeight = windowHeight - titlebarHeight - bottomPadding;\n \n this.renderer.setStyle(contentWrapper, 'height', `${contentHeight}px`);\n this.renderer.setStyle(contentWrapper, 'display', 'flex');\n this.renderer.setStyle(contentWrapper, 'flex-direction', 'column');\n }\n \n // Also update the test harness container\n const testHarnessContainer = this.elementRef.nativeElement.querySelector('mj-ai-test-harness');\n if (testHarnessContainer) {\n this.renderer.setStyle(testHarnessContainer, 'flex', '1');\n this.renderer.setStyle(testHarnessContainer, 'height', '100%');\n this.renderer.setStyle(testHarnessContainer, 'overflow', 'hidden');\n }\n }\n \n private setupResizeListener() {\n // Debounced resize handler\n let resizeTimeout: any;\n const handleResize = () => {\n clearTimeout(resizeTimeout);\n resizeTimeout = setTimeout(() => {\n if (!this.isMinimized) {\n this.adjustContentHeight();\n }\n }, 100);\n };\n \n // Listen for window resize events\n window.addEventListener('resize', handleResize);\n \n // Store the handler for cleanup\n (this as any).resizeHandler = handleResize;\n \n // Note: Kendo Window resize events are handled by the (resize) event binding in the template\n }\n\n private setupExecutionTracking() {\n // Use a timer to check the test harness execution state\n // This is needed because the test harness doesn't emit events for execution state changes\n if (this.testHarness) {\n // Initial state\n let lastExecutingState = false;\n \n // Check execution state periodically\n const checkInterval = setInterval(() => {\n if (this.testHarness && this.testHarness.isExecuting !== lastExecutingState) {\n lastExecutingState = this.testHarness.isExecuting;\n this.executionStateChange.emit({ isExecuting: lastExecutingState });\n }\n }, 100);\n \n // Store interval for cleanup\n (this as any).executionCheckInterval = checkInterval;\n }\n }\n \n ngOnDestroy() {\n // Clean up execution tracking interval\n if ((this as any).executionCheckInterval) {\n clearInterval((this as any).executionCheckInterval);\n }\n \n // Clean up resize listener\n if ((this as any).resizeHandler) {\n window.removeEventListener('resize', (this as any).resizeHandler);\n }\n \n // Ensure window is properly closed and cleaned up\n if (this.kendoWindow) {\n this.kendoWindow.close.emit();\n }\n }\n \n private updateWindowPosition() {\n // Find the window element - it might be in the parent if we're inside a wrapper\n let windowElement = this.elementRef.nativeElement.querySelector('.k-window');\n if (!windowElement && this.elementRef.nativeElement.closest) {\n windowElement = this.elementRef.nativeElement.closest('.k-window');\n }\n \n if (windowElement && (this.windowTop !== undefined || this.windowLeft !== undefined)) {\n if (this.windowTop !== undefined) {\n this.renderer.setStyle(windowElement, 'top', `${this.windowTop}px`);\n }\n if (this.windowLeft !== undefined) {\n this.renderer.setStyle(windowElement, 'left', `${this.windowLeft}px`);\n }\n }\n }\n}"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-harness-window-manager.service.js","sourceRoot":"","sources":["../../src/lib/test-harness-window-manager.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"test-harness-window-manager.service.js","sourceRoot":"","sources":["../../src/lib/test-harness-window-manager.service.ts"],"names":[],"mappings":"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","sourcesContent":["import { Injectable, ComponentRef, ApplicationRef, Injector, createComponent, ViewContainerRef } from '@angular/core';\nimport { MJAIAgentEntityExtended, MJAIPromptEntityExtended } from '@memberjunction/ai-core-plus';\nimport { TestHarnessCustomWindowComponent, CustomWindowData } from './test-harness-custom-window.component';\nimport { Observable, Subject } from 'rxjs';\nimport { TestResult } from './test-harness-window.service';\nimport { WindowDockService } from './window-dock.service';\n\ninterface WindowInfo {\n componentRef: ComponentRef<TestHarnessCustomWindowComponent>;\n usedViewContainerRef: boolean;\n}\n\n/**\n * Service for managing test harness windows for AI Agents and AI Prompts.\n * Creates Kendo Window components with custom titlebar including minimize button.\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class TestHarnessWindowManagerService {\n private openWindows = new Map<string, WindowInfo>();\n private windowCounter = 0;\n \n constructor(\n private appRef: ApplicationRef,\n private injector: Injector,\n private dockService: WindowDockService\n ) {}\n \n /**\n * Opens the AI Agent Test Harness in a window\n */\n openAgentTestHarness(options: {\n agentId?: string;\n agent?: MJAIAgentEntityExtended;\n title?: string;\n width?: string | number;\n height?: string | number;\n initialDataContext?: Record<string, any>;\n initialTemplateData?: Record<string, any>;\n viewContainerRef?: ViewContainerRef;\n }): Observable<TestResult> {\n const data: CustomWindowData = {\n agentId: options.agentId,\n agent: options.agent,\n title: options.title,\n width: options.width || '90vw',\n height: options.height || '90vh',\n initialDataContext: options.initialDataContext,\n initialTemplateData: options.initialTemplateData,\n mode: 'agent'\n };\n \n return this.createWindow(data, options.viewContainerRef);\n }\n \n /**\n * Opens the AI Prompt Test Harness in a window\n */\n openPromptTestHarness(options: {\n promptId?: string;\n prompt?: MJAIPromptEntityExtended;\n title?: string;\n width?: string | number;\n height?: string | number;\n initialTemplateVariables?: Record<string, any>;\n selectedModelId?: string;\n viewContainerRef?: ViewContainerRef;\n }): Observable<TestResult> {\n const data: CustomWindowData = {\n promptId: options.promptId,\n prompt: options.prompt,\n title: options.title || 'Test AI Prompt',\n width: options.width || '90vw',\n height: options.height || '90vh',\n initialTemplateVariables: options.initialTemplateVariables,\n selectedModelId: options.selectedModelId,\n mode: 'prompt'\n };\n \n return this.createWindow(data, options.viewContainerRef);\n }\n \n /**\n * Creates a test harness window\n */\n private createWindow(data: CustomWindowData, viewContainerRef?: ViewContainerRef): Observable<TestResult> {\n const resultSubject = new Subject<TestResult>();\n const windowId = `test-harness-${++this.windowCounter}`;\n \n // Create component\n const componentRef = createComponent(TestHarnessCustomWindowComponent, {\n environmentInjector: this.appRef.injector,\n elementInjector: this.injector,\n hostElement: document.createElement('div')\n });\n \n // Set component data\n componentRef.instance.data = data;\n \n // Handle window events\n componentRef.instance.closeWindow.subscribe(() => {\n this.closeWindow(windowId);\n resultSubject.next({\n success: true\n });\n resultSubject.complete();\n });\n \n // Handle minimize event\n componentRef.instance.minimizeWindow.subscribe(() => {\n const title = componentRef.instance.windowTitle;\n let icon: string | undefined = 'fa-solid fa-flask'; // default\n let iconUrl: string | undefined;\n \n // Get the appropriate icon based on mode and entity\n if (componentRef.instance.mode === 'agent' && componentRef.instance.agent) {\n // For agents, use LogoURL since MJAIAgentEntityExtended doesn't have IconClass\n if (componentRef.instance.agent.LogoURL) {\n iconUrl = componentRef.instance.agent.LogoURL;\n icon = undefined; // Clear icon when using URL\n } else {\n icon = 'fa-solid fa-robot'; // Default agent icon\n }\n } else if (componentRef.instance.mode === 'prompt') {\n icon = 'fa-solid fa-comment-dots'; // Default prompt icon\n }\n \n // Add to dock with icon or iconUrl\n this.dockService.addWindow(windowId, title, icon, () => {\n // Restore callback\n componentRef.instance.restoreFromMinimized();\n }, iconUrl);\n });\n \n // Handle restore event\n componentRef.instance.restoreWindow.subscribe(() => {\n // Remove from dock\n this.dockService.removeWindow(windowId);\n });\n \n // Handle execution state changes\n componentRef.instance.executionStateChange.subscribe((state) => {\n if (state.isExecuting) {\n // Show indeterminate progress (spinning/pulsing)\n this.dockService.updateWindowProgress(windowId, 50); // 50% for indeterminate animation\n } else {\n // Clear progress\n this.dockService.updateWindowProgress(windowId, undefined);\n }\n });\n \n // Attach to DOM\n if (viewContainerRef) {\n // When using viewContainerRef, the view is automatically attached to Angular\n viewContainerRef.insert(componentRef.hostView);\n } else {\n // When appending to document.body, we need to manually attach to Angular\n document.body.appendChild(componentRef.location.nativeElement);\n this.appRef.attachView(componentRef.hostView);\n }\n \n // Store reference with info about how it was created\n this.openWindows.set(windowId, {\n componentRef,\n usedViewContainerRef: !!viewContainerRef\n });\n \n return resultSubject.asObservable();\n }\n \n /**\n * Closes a specific window\n */\n private closeWindow(windowId: string) {\n const windowInfo = this.openWindows.get(windowId);\n if (windowInfo) {\n // Remove from dock if minimized\n this.dockService.removeWindow(windowId);\n \n // Only detach from appRef if we attached it manually (not using viewContainerRef)\n if (!windowInfo.usedViewContainerRef) {\n this.appRef.detachView(windowInfo.componentRef.hostView);\n }\n windowInfo.componentRef.destroy();\n this.openWindows.delete(windowId);\n }\n }\n \n /**\n * Closes all open windows\n */\n closeAllWindows() {\n this.openWindows.forEach((windowInfo, id) => {\n this.closeWindow(id);\n });\n }\n}"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-harness-window.service.js","sourceRoot":"","sources":["../../src/lib/test-harness-window.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"test-harness-window.service.js","sourceRoot":"","sources":["../../src/lib/test-harness-window.service.ts"],"names":[],"mappings":"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","sourcesContent":["import { Injectable, ViewContainerRef, ComponentRef } from '@angular/core';\nimport { WindowService, WindowRef, WindowSettings } from '@progress/kendo-angular-dialog';\nimport { MJAIAgentEntityExtended, MJAIPromptEntityExtended } from '@memberjunction/ai-core-plus';\nimport { AITestHarnessWindowComponent, AITestHarnessWindowData } from './ai-test-harness-window.component';\nimport { Observable, Subject } from 'rxjs';\n\nexport interface TestResult {\n success: boolean;\n result?: any;\n error?: string;\n executionTime?: number;\n tokensUsed?: number;\n cost?: number;\n}\n\n/**\n * Service for managing test harness windows for AI Agents and AI Prompts.\n * Uses Kendo Window component which provides maximize and close functionality.\n * \n * Note: Kendo Window created via WindowService does not include a minimize button\n * in the titlebar. The window supports maximize/restore and close actions only.\n * To add minimize functionality, a custom window component with custom titlebar\n * would need to be implemented.\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class TestHarnessWindowService {\n private openWindows = new Map<string, WindowRef>();\n private windowCounter = 0;\n \n constructor(private windowService: WindowService) {}\n \n /**\n * Opens the AI Agent Test Harness in a window\n */\n openAgentTestHarness(options: {\n agentId?: string;\n agent?: MJAIAgentEntityExtended;\n title?: string;\n width?: string | number;\n height?: string | number;\n initialDataContext?: Record<string, any>;\n initialTemplateData?: Record<string, any>;\n viewContainerRef?: ViewContainerRef;\n }): Observable<TestResult> {\n const data: AITestHarnessWindowData = {\n agentId: options.agentId,\n agent: options.agent,\n title: options.title,\n width: options.width || '90vw',\n height: options.height || '90vh',\n initialDataContext: options.initialDataContext,\n initialTemplateData: options.initialTemplateData,\n mode: 'agent'\n };\n \n return this.openWindow(data, options.viewContainerRef);\n }\n \n /**\n * Opens the AI Prompt Test Harness in a window\n */\n openPromptTestHarness(options: {\n promptId?: string;\n prompt?: MJAIPromptEntityExtended;\n title?: string;\n width?: string | number;\n height?: string | number;\n initialTemplateVariables?: Record<string, any>;\n selectedModelId?: string;\n promptRunId?: string;\n viewContainerRef?: ViewContainerRef;\n }): Observable<TestResult> {\n console.log('🎯 openPromptTestHarness called with options:', options);\n console.log('📌 promptRunId:', options.promptRunId);\n \n const data: AITestHarnessWindowData = {\n promptId: options.promptId,\n prompt: options.prompt,\n title: options.title || 'Test AI Prompt',\n width: options.width || '90vw',\n height: options.height || '90vh',\n initialTemplateVariables: options.initialTemplateVariables,\n selectedModelId: options.selectedModelId,\n promptRunId: options.promptRunId,\n mode: 'prompt'\n };\n \n console.log('📦 Final AITestHarnessWindowData:', data);\n \n return this.openWindow(data, options.viewContainerRef);\n }\n \n /**\n * Opens a test harness window\n */\n private openWindow(data: AITestHarnessWindowData, viewContainerRef?: ViewContainerRef): Observable<TestResult> {\n const resultSubject = new Subject<TestResult>();\n const windowId = `test-harness-${++this.windowCounter}`;\n \n const windowSettings: WindowSettings = {\n title: data.title || 'AI Test Harness',\n content: AITestHarnessWindowComponent,\n width: this.convertToNumber(data.width) || 1200,\n height: this.convertToNumber(data.height) || 800,\n minWidth: 800,\n minHeight: 600,\n draggable: true,\n resizable: true,\n state: 'default',\n cssClass: 'test-harness-window-wrapper'\n };\n \n if (viewContainerRef) {\n windowSettings.appendTo = viewContainerRef;\n }\n \n const windowRef = this.windowService.open(windowSettings);\n this.openWindows.set(windowId, windowRef);\n \n // Pass data to the component\n const componentRef = windowRef.content as ComponentRef<AITestHarnessWindowComponent>;\n if (componentRef && componentRef.instance) {\n componentRef.instance.data = data;\n \n // Handle window close\n componentRef.instance.closeWindow.subscribe(() => {\n this.closeWindow(windowId);\n // Don't complete the observable here, as the window.result will handle it\n });\n }\n \n // Handle window close via close button\n windowRef.result.subscribe({\n next: (result) => {\n this.openWindows.delete(windowId);\n resultSubject.next({\n success: true,\n result: result\n });\n resultSubject.complete();\n },\n error: (error) => {\n this.openWindows.delete(windowId);\n resultSubject.next({\n success: false,\n error: error.message || 'Test failed'\n });\n resultSubject.complete();\n }\n });\n \n return resultSubject.asObservable();\n }\n \n /**\n * Closes a specific window\n */\n private closeWindow(windowId: string) {\n const windowRef = this.openWindows.get(windowId);\n if (windowRef) {\n try {\n windowRef.close();\n this.openWindows.delete(windowId);\n } catch (error) {\n console.error('Error closing window:', error);\n // Force delete from map even if close fails\n this.openWindows.delete(windowId);\n }\n }\n }\n \n /**\n * Closes all open windows\n */\n closeAllWindows() {\n this.openWindows.forEach((windowRef, id) => {\n windowRef.close();\n });\n this.openWindows.clear();\n }\n \n /**\n * Helper method to convert string dimensions to pixel numbers\n */\n private convertToNumber(value: string | number | undefined): number | undefined {\n if (!value) return undefined;\n if (typeof value === 'number') return value;\n \n // Handle percentage values\n if (value.endsWith('vw') || value.endsWith('vh')) {\n const percentage = parseFloat(value) / 100;\n if (value.endsWith('vw')) {\n return window.innerWidth * percentage;\n } else {\n return window.innerHeight * percentage;\n }\n }\n \n // Handle pixel values\n if (value.endsWith('px')) {\n return parseFloat(value);\n }\n \n // Try to parse as number\n const parsed = parseFloat(value);\n return isNaN(parsed) ? undefined : parsed;\n }\n}"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"window-dock.service.js","sourceRoot":"","sources":["../../src/lib/window-dock.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"window-dock.service.js","sourceRoot":"","sources":["../../src/lib/window-dock.service.ts"],"names":[],"mappings":"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","sourcesContent":["import { Injectable, Component, ComponentRef, ApplicationRef, Injector, createComponent } from '@angular/core';\n\nexport interface DockItem {\n windowId: string;\n title: string;\n icon?: string;\n iconUrl?: string;\n restoreCallback: () => void;\n progress?: number; // 0-100 for progress indicator\n}\n\n@Component({\n selector: 'mj-window-dock',\n standalone: true,\n imports: [],\n template: `\n <div class=\"window-dock\">\n @for (item of dockItems; track item.windowId) {\n <div class=\"dock-item\" \n [title]=\"item.title\"\n (click)=\"restoreWindow(item)\">\n <i [class]=\"item.icon\"></i>\n <span class=\"dock-item-label\">{{ getTruncatedTitle(item.title) }}</span>\n </div>\n }\n </div>\n `,\n styles: [`\n :host {\n position: fixed;\n bottom: 10px;\n right: 10px;\n z-index: 10001;\n }\n \n .window-dock {\n display: flex;\n gap: 12px;\n background: #f0f4f8;\n border: 1px solid #d0d8e0;\n border-radius: 8px;\n padding: 12px;\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);\n }\n \n .dock-item {\n width: 64px;\n height: 72px;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 4px;\n cursor: pointer;\n border-radius: 6px;\n transition: all 0.2s;\n padding: 8px 4px;\n \n &:hover {\n background-color: rgba(255, 255, 255, 0.8);\n transform: translateY(-2px);\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);\n }\n \n i {\n font-size: 28px;\n color: #2c5282;\n }\n \n .dock-item-label {\n font-size: 11px;\n color: #4a5568;\n text-align: center;\n line-height: 1.2;\n max-width: 60px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n \n .dock-item-progress {\n position: absolute;\n bottom: 2px;\n left: 2px;\n right: 2px;\n height: 3px;\n background: rgba(0, 0, 0, 0.1);\n border-radius: 2px;\n overflow: hidden;\n }\n \n .dock-item-progress-bar {\n height: 100%;\n background: #0076B6; /* MJ blue color */\n transition: width 0.3s ease;\n }\n \n /* Pulse animation for indeterminate progress (50%) */\n .dock-item-progress-bar[style*=\"width: 50%\"] {\n animation: pulse-progress 1.5s ease-in-out infinite;\n }\n }\n \n @keyframes pulse-progress {\n 0% { opacity: 0.6; width: 30%; }\n 50% { opacity: 1; width: 70%; }\n 100% { opacity: 0.6; width: 30%; }\n }\n `]\n})\nexport class WindowDockComponent {\n dockItems: DockItem[] = [];\n \n addItem(item: DockItem) {\n this.dockItems.push(item);\n }\n \n removeItem(windowId: string) {\n this.dockItems = this.dockItems.filter(item => item.windowId !== windowId);\n }\n \n restoreWindow(item: DockItem) {\n item.restoreCallback();\n this.removeItem(item.windowId);\n }\n \n getTruncatedTitle(title: string): string {\n // Remove \"Test: \" prefix for the label to save space\n const cleanTitle = title.startsWith('Test: ') ? title.substring(6) : title;\n // Truncate to first 8 characters for the label\n return cleanTitle.length > 8 ? cleanTitle.substring(0, 8) + '...' : cleanTitle;\n }\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class WindowDockService {\n private dockComponent?: ComponentRef<WindowDockComponent>;\n \n constructor(\n private appRef: ApplicationRef,\n private injector: Injector\n ) {}\n \n private ensureDockExists() {\n if (!this.dockComponent) {\n // Create dock component\n this.dockComponent = createComponent(WindowDockComponent, {\n environmentInjector: this.appRef.injector,\n elementInjector: this.injector\n });\n \n // Attach to DOM\n document.body.appendChild(this.dockComponent.location.nativeElement);\n this.appRef.attachView(this.dockComponent.hostView);\n }\n }\n \n addWindow(windowId: string, title: string, icon?: string, restoreCallback?: () => void, iconUrl?: string, progress?: number) {\n this.ensureDockExists();\n if (this.dockComponent) {\n this.dockComponent.instance.addItem({\n windowId,\n title,\n icon,\n iconUrl,\n restoreCallback: restoreCallback || (() => {}),\n progress\n });\n }\n }\n \n removeWindow(windowId: string) {\n if (this.dockComponent) {\n this.dockComponent.instance.removeItem(windowId);\n \n // If no more items, remove the dock\n if (this.dockComponent.instance.dockItems.length === 0) {\n this.appRef.detachView(this.dockComponent.hostView);\n this.dockComponent.destroy();\n this.dockComponent = undefined;\n }\n }\n }\n \n updateWindowProgress(windowId: string, progress: number | undefined) {\n if (this.dockComponent) {\n const item = this.dockComponent.instance.dockItems.find(i => i.windowId === windowId);\n if (item) {\n item.progress = progress;\n }\n }\n }\n}"]}
|
package/dist/module.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAElE,mBAAmB;AACnB,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAE5D,yBAAyB;AACzB,OAAO,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;AACpF,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAGxE,aAAa;AACb,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,4BAA4B,EAAE,MAAM,wCAAwC,CAAC;AACtF,OAAO,EAAE,4BAA4B,EAAE,MAAM,wCAAwC,CAAC;AACtF,OAAO,EAAE,gCAAgC,EAAE,MAAM,4CAA4C,CAAC;AAC9F,OAAO,EAAE,8BAA8B,EAAE,MAAM,yCAAyC,CAAC;AACzF,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9D,WAAW;AACX,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAClF,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,EAAE,+BAA+B,EAAE,MAAM,2CAA2C,CAAC;;AA+C5F,MAAM,OAAO,mBAAmB;oHAAnB,mBAAmB;mEAAnB,mBAAmB;wEAPnB;YACT,0BAA0B;YAC1B,wBAAwB;YACxB,+BAA+B;YAC/B,iBAAiB;SAClB,YAhCC,YAAY;YACZ,WAAW;YACX,mBAAmB;YACnB,WAAW;YACX,aAAa;YACb,aAAa;YACb,YAAY;YACZ,eAAe;YACf,YAAY;YACZ,YAAY;YACZ,kBAAkB;YAClB,gBAAgB;YAChB,cAAc;YACd,WAAW;YACX,iBAAiB;YACjB,yBAAyB;YACzB,gBAAgB;YAChB,mBAAmB;;iFAiBV,mBAAmB;cA7C/B,QAAQ;eAAC;gBACR,YAAY,EAAE;oBACZ,sBAAsB;oBACtB,4BAA4B;oBAC5B,4BAA4B;oBAC5B,gCAAgC;oBAChC,yBAAyB;oBACzB,8BAA8B;oBAC9B,sBAAsB;iBACvB;gBACD,OAAO,EAAE;oBACP,YAAY;oBACZ,WAAW;oBACX,mBAAmB;oBACnB,WAAW;oBACX,aAAa;oBACb,aAAa;oBACb,YAAY;oBACZ,eAAe;oBACf,YAAY;oBACZ,YAAY;oBACZ,kBAAkB;oBAClB,gBAAgB;oBAChB,cAAc;oBACd,WAAW;oBACX,iBAAiB;oBACjB,yBAAyB;oBACzB,gBAAgB;oBAChB,mBAAmB;iBACpB;gBACD,OAAO,EAAE;oBACP,sBAAsB;oBACtB,4BAA4B;oBAC5B,4BAA4B;oBAC5B,gCAAgC;oBAChC,8BAA8B;oBAC9B,yBAAyB;iBAC1B;gBACD,SAAS,EAAE;oBACT,0BAA0B;oBAC1B,wBAAwB;oBACxB,+BAA+B;oBAC/B,iBAAiB;iBAClB;aACF;;wFACY,mBAAmB,mBA3C5B,sBAAsB;QACtB,4BAA4B;QAC5B,4BAA4B;QAC5B,gCAAgC;QAChC,yBAAyB;QACzB,8BAA8B;QAC9B,sBAAsB,aAGtB,YAAY;QACZ,WAAW;QACX,mBAAmB;QACnB,WAAW;QACX,aAAa;QACb,aAAa;QACb,YAAY;QACZ,eAAe;QACf,YAAY;QACZ,YAAY;QACZ,kBAAkB;QAClB,gBAAgB;QAChB,cAAc;QACd,WAAW;QACX,iBAAiB;QACjB,yBAAyB;QACzB,gBAAgB;QAChB,mBAAmB,aAGnB,sBAAsB;QACtB,4BAA4B;QAC5B,4BAA4B;QAC5B,gCAAgC;QAChC,8BAA8B;QAC9B,yBAAyB"}
|
|
1
|
+
{"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"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","sourcesContent":["import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\n// Kendo UI Modules\nimport { ButtonsModule } from '@progress/kendo-angular-buttons';\nimport { DialogsModule, WindowModule } from '@progress/kendo-angular-dialog';\nimport { DropDownsModule } from '@progress/kendo-angular-dropdowns';\nimport { InputsModule } from '@progress/kendo-angular-inputs';\nimport { LayoutModule } from '@progress/kendo-angular-layout';\nimport { NotificationModule } from '@progress/kendo-angular-notification';\nimport { IndicatorsModule } from '@progress/kendo-angular-indicators';\nimport { TooltipsModule } from '@progress/kendo-angular-tooltip';\nimport { IconsModule } from '@progress/kendo-angular-icons';\n\n// MemberJunction imports\nimport { ContainerDirectivesModule } from '@memberjunction/ng-container-directives';\nimport { CodeEditorModule } from '@memberjunction/ng-code-editor';\nimport { SharedGenericModule } from '@memberjunction/ng-shared-generic';\n\n\n// Components\nimport { AITestHarnessComponent } from './lib/ai-test-harness.component';\nimport { AITestHarnessDialogComponent } from './lib/ai-test-harness-dialog.component';\nimport { AITestHarnessWindowComponent } from './lib/ai-test-harness-window.component';\nimport { TestHarnessCustomWindowComponent } from './lib/test-harness-custom-window.component';\nimport { AgentExecutionMonitorComponent } from './lib/agent-execution-monitor.component';\nimport { ExecutionNodeComponent } from './lib/agent-execution-node.component';\nimport { JsonViewerWindowComponent } from './lib/json-viewer-window.component';\nimport { WindowDockService } from './lib/window-dock.service';\n\n// Services\nimport { AITestHarnessDialogService } from './lib/ai-test-harness-dialog.service';\nimport { TestHarnessWindowService } from './lib/test-harness-window.service';\nimport { TestHarnessWindowManagerService } from './lib/test-harness-window-manager.service';\n\n@NgModule({\n declarations: [\n AITestHarnessComponent,\n AITestHarnessDialogComponent,\n AITestHarnessWindowComponent,\n TestHarnessCustomWindowComponent,\n JsonViewerWindowComponent,\n AgentExecutionMonitorComponent,\n ExecutionNodeComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n // Kendo UI\n ButtonsModule,\n DialogsModule,\n WindowModule,\n DropDownsModule,\n InputsModule,\n LayoutModule,\n NotificationModule,\n IndicatorsModule,\n TooltipsModule,\n IconsModule,\n // MemberJunction\n ContainerDirectivesModule,\n CodeEditorModule,\n SharedGenericModule\n ],\n exports: [\n AITestHarnessComponent,\n AITestHarnessDialogComponent,\n AITestHarnessWindowComponent,\n TestHarnessCustomWindowComponent,\n AgentExecutionMonitorComponent,\n JsonViewerWindowComponent\n ],\n providers: [\n AITestHarnessDialogService,\n TestHarnessWindowService,\n TestHarnessWindowManagerService,\n WindowDockService\n ]\n})\nexport class AITestHarnessModule { }"]}
|
package/dist/public-api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public-api.js","sourceRoot":"","sources":["../src/public-api.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,iCAAiC,CAAC;AACzC,OAAO,wCAAwC,CAAC;AAChD,OAAO,wCAAwC,CAAC;AAChD,OAAO,4CAA4C,CAAC;AAEpD,qBAAqB;AACrB,cAAc,iCAAiC,CAAC;AAChD,cAAc,wCAAwC,CAAC;AACvD,cAAc,wCAAwC,CAAC;AACvD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,mCAAmC,CAAC;AAClD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,sCAAsC,CAAC;AACrD,cAAc,yCAAyC,CAAC;AACxD,cAAc,sCAAsC,CAAC;AACrD,cAAc,oCAAoC,CAAC;AACnD,cAAc,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"public-api.js","sourceRoot":"","sources":["../src/public-api.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,iCAAiC,CAAC;AACzC,OAAO,wCAAwC,CAAC;AAChD,OAAO,wCAAwC,CAAC;AAChD,OAAO,4CAA4C,CAAC;AAEpD,qBAAqB;AACrB,cAAc,iCAAiC,CAAC;AAChD,cAAc,wCAAwC,CAAC;AACvD,cAAc,wCAAwC,CAAC;AACvD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,mCAAmC,CAAC;AAClD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,sCAAsC,CAAC;AACrD,cAAc,yCAAyC,CAAC;AACxD,cAAc,sCAAsC,CAAC;AACrD,cAAc,oCAAoC,CAAC;AACnD,cAAc,UAAU,CAAC","sourcesContent":["// Prevent tree shaking of components\nimport './lib/ai-test-harness.component';\nimport './lib/ai-test-harness-dialog.component';\nimport './lib/ai-test-harness-window.component';\nimport './lib/test-harness-custom-window.component';\n\n// Public API Surface\nexport * from './lib/ai-test-harness.component';\nexport * from './lib/ai-test-harness-dialog.component';\nexport * from './lib/ai-test-harness-window.component';\nexport * from './lib/test-harness-custom-window.component';\nexport * from './lib/test-harness-window.service';\nexport * from './lib/test-harness-window-manager.service';\nexport * from './lib/ai-test-harness-dialog.service';\nexport * from './lib/agent-execution-monitor.component';\nexport * from './lib/agent-execution-node.component';\nexport * from './lib/json-viewer-window.component';\nexport * from './module';"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@memberjunction/ng-ai-test-harness",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.4.1",
|
|
4
4
|
"description": "MemberJunction AI Test Harness - A reusable component for testing AI agents and prompts with beautiful UX",
|
|
5
5
|
"main": "./dist/public-api.js",
|
|
6
6
|
"typings": "./dist/public-api.d.ts",
|
|
@@ -35,18 +35,18 @@
|
|
|
35
35
|
"dependencies": {
|
|
36
36
|
"@angular/platform-browser": "21.1.3",
|
|
37
37
|
"@angular/router": "21.1.3",
|
|
38
|
-
"@memberjunction/ai": "5.
|
|
39
|
-
"@memberjunction/ai-core-plus": "5.
|
|
40
|
-
"@memberjunction/ai-engine-base": "5.
|
|
41
|
-
"@memberjunction/core": "5.
|
|
42
|
-
"@memberjunction/core-entities": "5.
|
|
43
|
-
"@memberjunction/global": "5.
|
|
44
|
-
"@memberjunction/graphql-dataprovider": "5.
|
|
45
|
-
"@memberjunction/ng-code-editor": "5.
|
|
46
|
-
"@memberjunction/ng-container-directives": "5.
|
|
47
|
-
"@memberjunction/ng-notifications": "5.
|
|
48
|
-
"@memberjunction/ng-shared": "5.
|
|
49
|
-
"@memberjunction/ng-shared-generic": "5.
|
|
38
|
+
"@memberjunction/ai": "5.4.1",
|
|
39
|
+
"@memberjunction/ai-core-plus": "5.4.1",
|
|
40
|
+
"@memberjunction/ai-engine-base": "5.4.1",
|
|
41
|
+
"@memberjunction/core": "5.4.1",
|
|
42
|
+
"@memberjunction/core-entities": "5.4.1",
|
|
43
|
+
"@memberjunction/global": "5.4.1",
|
|
44
|
+
"@memberjunction/graphql-dataprovider": "5.4.1",
|
|
45
|
+
"@memberjunction/ng-code-editor": "5.4.1",
|
|
46
|
+
"@memberjunction/ng-container-directives": "5.4.1",
|
|
47
|
+
"@memberjunction/ng-notifications": "5.4.1",
|
|
48
|
+
"@memberjunction/ng-shared": "5.4.1",
|
|
49
|
+
"@memberjunction/ng-shared-generic": "5.4.1",
|
|
50
50
|
"@progress/kendo-angular-buttons": "22.0.1",
|
|
51
51
|
"@progress/kendo-angular-dialog": "22.0.1",
|
|
52
52
|
"@progress/kendo-angular-dropdowns": "22.0.1",
|