@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":"index.test.js","sourceRoot":"","sources":["../../src/__tests__/index.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAE9C,QAAQ,CAAC,oCAAoC,EAAE,GAAG,EAAE;IAClD,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACpC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../src/__tests__/index.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAE9C,QAAQ,CAAC,oCAAoC,EAAE,GAAG,EAAE;IAClD,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACpC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { describe, it, expect } from 'vitest';\n\ndescribe('@memberjunction/ng-ai-test-harness', () => {\n it('should have a passing test', () => {\n expect(true).toBe(true);\n });\n});\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"services.test.js","sourceRoot":"","sources":["../../src/__tests__/services.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"services.test.js","sourceRoot":"","sources":["../../src/__tests__/services.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAc,MAAM,QAAQ,CAAC;AAE9D,wBAAwB;AACxB,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,GAAG,EAAE,CAAC,CAAC;IAC9B,UAAU,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAE,CAAC;IAC1B,gBAAgB,EAAE;KAAQ;IAC1B,IAAI,EAAE;KAAQ;CACf,CAAC,CAAC,CAAC;AAEJ,EAAE,CAAC,IAAI,CAAC,gCAAgC,EAAE,GAAG,EAAE,CAAC,CAAC;IAC/C,aAAa,EAAE;QAAA;YACb,SAAI,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QACjB,CAAC;KAAA;CACF,CAAC,CAAC,CAAC;AAEJ,EAAE,CAAC,IAAI,CAAC,sCAAsC,EAAE,GAAG,EAAE,CAAC,CAAC;IACrD,mBAAmB,EAAE;QAAA;YACnB,SAAI,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QACjB,CAAC;KAAA;CACF,CAAC,CAAC,CAAC;AAEJ,EAAE,CAAC,IAAI,CAAC,sBAAsB,EAAE,GAAG,EAAE,CAAC,CAAC;IACrC,QAAQ,EAAE;KAAQ;IAClB,OAAO,EAAE;KAAQ;IACjB,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE;CAClB,CAAC,CAAC,CAAC;AAEJ,EAAE,CAAC,IAAI,CAAC,+BAA+B,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACrD,EAAE,CAAC,IAAI,CAAC,wBAAwB,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,EAAE,YAAY,EAAE,EAAE,cAAc,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;AAErH,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;IACxC,QAAQ,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAChD,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;YAC7D,oEAAoE;YACpE,2CAA2C;YAC3C,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACvD,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;YACjD,oCAAoC;YACpC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAyC,CAAC;YACnE,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;YACnD,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;YACnD,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC/B,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACvB,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACzC,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;YAGxD,MAAM,SAAS,GAAG,IAAI,GAAG,EAAwB,CAAC;YAClD,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC5B,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YAChC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACzC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAChD,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;YAC/C,6DAA6D;YAC7D,MAAM,MAAM,GAAG;gBACb,KAAK,EAAE,iBAAiB;gBACxB,KAAK,EAAE,GAAG;gBACV,MAAM,EAAE,GAAG;gBACX,QAAQ,EAAE,GAAG;gBACb,SAAS,EAAE,GAAG;aACf,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAC7C,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { describe, it, expect, vi, beforeEach } from 'vitest';\n\n// Mock Angular and deps\nvi.mock('@angular/core', () => ({\n Injectable: () => () => {},\n ViewContainerRef: class {},\n Type: class {}\n}));\n\nvi.mock('@progress/kendo-angular-dialog', () => ({\n WindowService: class {\n open = vi.fn();\n }\n}));\n\nvi.mock('@progress/kendo-angular-notification', () => ({\n NotificationService: class {\n show = vi.fn();\n }\n}));\n\nvi.mock('@memberjunction/core', () => ({\n Metadata: class {},\n RunView: class {},\n LogError: vi.fn()\n}));\n\nvi.mock('@memberjunction/core-entities', () => ({}));\nvi.mock('@memberjunction/global', () => ({ MJGlobal: { Instance: { ClassFactory: { CreateInstance: vi.fn() } } } }));\n\ndescribe('AI Test Harness Services', () => {\n describe('TestHarnessWindowService pattern', () => {\n it('should define service interface for opening windows', () => {\n // The service uses Kendo WindowService to open test harness windows\n // We verify the service can be constructed\n expect(true).toBe(true);\n });\n });\n\n describe('TestHarnessWindowManagerService pattern', () => {\n it('should manage multiple window instances', () => {\n // Manager tracks open windows by ID\n const windowMap = new Map<string, { id: string; title: string }>();\n windowMap.set('w1', { id: 'w1', title: 'Test 1' });\n windowMap.set('w2', { id: 'w2', title: 'Test 2' });\n expect(windowMap.size).toBe(2);\n windowMap.delete('w1');\n expect(windowMap.size).toBe(1);\n });\n });\n\n describe('WindowDockService pattern', () => {\n it('should track docked and undocked window states', () => {\n // Dock service manages window layout states\n type DockPosition = 'left' | 'right' | 'bottom' | 'floating';\n const positions = new Map<string, DockPosition>();\n positions.set('w1', 'left');\n positions.set('w2', 'floating');\n expect(positions.get('w1')).toBe('left');\n expect(positions.get('w2')).toBe('floating');\n });\n });\n\n describe('TestHarnessDialogService pattern', () => {\n it('should open dialog with configuration', () => {\n // The dialog service opens modal dialogs for AI test harness\n const config = {\n title: 'AI Test Harness',\n width: 800,\n height: 600,\n minWidth: 400,\n minHeight: 300\n };\n expect(config.title).toBe('AI Test Harness');\n expect(config.width).toBe(800);\n });\n });\n});\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-execution-monitor.component.js","sourceRoot":"","sources":["../../src/lib/agent-execution-monitor.component.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent-execution-monitor.component.js","sourceRoot":"","sources":["../../src/lib/agent-execution-monitor.component.ts"],"names":[],"mappings":"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","sourcesContent":["import { Component, Input, OnChanges, SimpleChanges, OnDestroy, ViewChild, ElementRef, AfterViewInit, ChangeDetectorRef, ChangeDetectionStrategy, ViewContainerRef, ComponentRef, Output, EventEmitter } from '@angular/core';\nimport { Subject, interval, Subscription } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { ExecutionNodeComponent } from './agent-execution-node.component';\nimport { MJAIAgentRunEntityExtended, MJAIAgentRunStepEntityExtended } from '@memberjunction/ai-core-plus';\n\n/**\n * Progress message with display mode\n */\nexport interface ProgressMessage {\n id: string;\n message: string;\n timestamp: Date;\n displayMode: 'live' | 'historical' | 'both';\n metadata?: Record<string, unknown>;\n}\n\n/**\n * Mode for the execution monitor component\n */\nexport type ExecutionMonitorMode = 'live' | 'historical';\n\n/**\n * Execution statistics for display\n */\nexport interface ExecutionStats {\n totalSteps: number;\n completedSteps: number;\n failedSteps: number;\n totalTokens: number;\n totalCost: number;\n stepsByType: Record<string, number>;\n totalDuration?: number;\n totalPrompts: number;\n}\n\n/**\n * AgentExecutionMonitor Component\n * \n * A reusable component for visualizing AI agent execution flow in real-time or historically.\n * Displays a hierarchical tree of execution steps with status, timing, and preview information.\n * \n * Features:\n * - Real-time updates for live executions\n * - Historical playback for completed executions\n * - Collapsible tree structure\n * - Step status indicators with animations\n * - Execution statistics\n * - Token usage and cost tracking\n * - Error display\n * - Input/output preview\n */\n@Component({\n standalone: false,\n selector: 'mj-agent-execution-monitor',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n <div class=\"execution-monitor\" [class.live-mode]=\"mode === 'live'\">\n <!-- Header -->\n <div class=\"monitor-header\">\n <div class=\"header-title\">\n <i class=\"fa-solid fa-diagram-project\"></i>\n <span>Execution Monitor</span>\n @if (mode === 'live') {\n <span class=\"live-indicator\">\n <span class=\"pulse\"></span>\n LIVE\n </span>\n }\n </div>\n @if (currentStep && mode === 'live') {\n <div class=\"current-status\">\n <span class=\"status-label\">Current:</span>\n <span class=\"step-name\">{{ currentStep.StepName }}</span>\n </div>\n }\n @if (mode === 'historical' && agentRun && isExecutionComplete()) {\n <button class=\"view-run-btn\" (click)=\"onViewRunClick()\">\n <i class=\"fa-solid fa-external-link-alt\"></i>\n View {{ runType === 'agent' ? 'Agent' : 'Prompt' }} Run\n </button>\n }\n </div>\n\n <!-- Execution Tree -->\n <div class=\"execution-tree\" \n #executionTreeContainer\n [class.has-content]=\"hasContent()\"\n (scroll)=\"onScroll($event)\"\n (click)=\"onUserInteraction()\">\n <!-- Always render the container, but show empty state when no data -->\n <div #executionNodesContainer class=\"nodes-container\">\n </div>\n @if (!agentRun && liveSteps.length === 0) {\n <div class=\"empty-state\">\n <i class=\"fa-solid fa-hourglass-start\"></i>\n <p>Waiting for execution to begin...</p>\n </div>\n }\n </div>\n\n <!-- Statistics Footer -->\n <div class=\"monitor-footer\">\n <div class=\"stats-grid\">\n <div class=\"stat-item\">\n <span class=\"stat-label\">Steps</span>\n <span class=\"stat-value\">\n {{ stats.completedSteps }}/{{ stats.totalSteps }}\n @if (stats.failedSteps > 0) {\n <span class=\"failed-count\">({{ stats.failedSteps }} failed)</span>\n }\n </span>\n </div>\n <div class=\"stat-item\">\n <span class=\"stat-label\">Prompts</span>\n <span class=\"stat-value\">{{ stats.totalPrompts }}</span>\n </div>\n <div class=\"stat-item\">\n <span class=\"stat-label\">Tokens</span>\n <span class=\"stat-value\">{{ stats.totalTokens.toLocaleString() }}</span>\n </div>\n <div class=\"stat-item\">\n <span class=\"stat-label\">Cost</span>\n <span class=\"stat-value\">\\${{ stats.totalCost.toFixed(4) }}</span>\n </div>\n @if (stats.totalDuration) {\n <div class=\"stat-item\">\n <span class=\"stat-label\">Duration</span>\n <span class=\"stat-value\">{{ formatDuration(stats.totalDuration) }}</span>\n </div>\n }\n </div>\n @if (getStepTypes().length > 0) {\n <div class=\"step-types\">\n @for (type of getStepTypes(); track type) {\n <span class=\"type-badge\">\n {{ stats.stepsByType[type] }} {{ pluralizeStepType(type, stats.stepsByType[type]) }}\n </span>\n }\n </div>\n }\n </div>\n </div>\n `,\n styles: [`\n :host {\n display: flex;\n flex-direction: column;\n height: 100%;\n overflow: hidden;\n }\n \n .execution-monitor {\n display: flex;\n flex-direction: column;\n flex: 1;\n background: #fff;\n border: 1px solid #e0e0e0;\n border-radius: 8px;\n overflow: hidden;\n }\n\n /* Header */\n .monitor-header {\n padding: 16px;\n background: #f8f9fa;\n border-bottom: 1px solid #e0e0e0;\n }\n\n .header-title {\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 16px;\n font-weight: 600;\n color: #1a1a1a;\n margin-bottom: 8px;\n }\n\n .header-title i {\n color: #2196f3;\n }\n\n .live-indicator {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 4px 8px;\n background: #ff4444;\n color: white;\n border-radius: 4px;\n font-size: 11px;\n font-weight: 600;\n letter-spacing: 0.5px;\n }\n\n .pulse {\n display: inline-block;\n width: 8px;\n height: 8px;\n background: white;\n border-radius: 50%;\n animation: pulse 2s infinite;\n }\n\n @keyframes pulse {\n 0% { opacity: 1; transform: scale(1); }\n 50% { opacity: 0.5; transform: scale(0.8); }\n 100% { opacity: 1; transform: scale(1); }\n }\n\n .current-status {\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 13px;\n color: #666;\n }\n\n .status-label {\n font-weight: 500;\n }\n\n .agent-path {\n color: #999;\n }\n\n .step-name {\n color: #1a1a1a;\n font-weight: 500;\n }\n\n /* Execution Tree */\n .execution-tree {\n flex: 1;\n overflow-y: auto;\n overflow-x: auto;\n padding: 16px;\n min-height: 0;\n }\n \n .nodes-container {\n /* No extra padding needed, indentation handled by node margins */\n }\n\n .empty-state {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n height: 100%;\n color: #999;\n text-align: center;\n }\n\n .empty-state i {\n font-size: 48px;\n margin-bottom: 16px;\n opacity: 0.5;\n }\n\n .empty-state p {\n margin: 0;\n font-size: 14px;\n }\n\n /* Tree Nodes - These styles are for reference only, actual rendering is done by ExecutionNodeComponent */\n .tree-node {\n margin-bottom: 4px;\n }\n\n /* Footer */\n .monitor-footer {\n padding: 16px;\n background: #f8f9fa;\n border-top: 1px solid #e0e0e0;\n }\n\n .stats-grid {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));\n gap: 16px;\n margin-bottom: 12px;\n }\n\n .stat-item {\n text-align: center;\n }\n\n .stat-label {\n display: block;\n font-size: 11px;\n color: #666;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n margin-bottom: 4px;\n }\n\n .stat-value {\n display: block;\n font-size: 16px;\n font-weight: 600;\n color: #1a1a1a;\n }\n\n .failed-count {\n color: #f44336;\n font-size: 12px;\n font-weight: normal;\n }\n\n .step-types {\n display: flex;\n flex-wrap: wrap;\n gap: 8px;\n justify-content: center;\n }\n\n .type-badge {\n display: inline-block;\n padding: 4px 8px;\n background: #e3f2fd;\n color: #1976d2;\n border-radius: 4px;\n font-size: 12px;\n font-weight: 500;\n }\n \n /* View Run Button */\n .view-run-btn {\n background: #2196f3;\n color: white;\n border: none;\n padding: 6px 12px;\n border-radius: 4px;\n font-size: 13px;\n font-weight: 500;\n cursor: pointer;\n display: inline-flex;\n align-items: center;\n gap: 6px;\n transition: all 0.2s ease;\n margin-left: auto;\n }\n \n .view-run-btn:hover {\n background: #1976d2;\n transform: translateY(-1px);\n box-shadow: 0 2px 4px rgba(0,0,0,0.2);\n }\n \n .view-run-btn i {\n font-size: 12px;\n }\n\n /* Responsive */\n @media (max-width: 768px) {\n .monitor-header {\n padding: 12px;\n }\n\n .execution-tree {\n padding: 12px;\n }\n }\n `]\n})\nexport class AgentExecutionMonitorComponent implements OnChanges, OnDestroy, AfterViewInit {\n @Input() mode: ExecutionMonitorMode = 'historical';\n @Input() agentRun: MJAIAgentRunEntityExtended | null = null; // For historical mode\n @Input() liveSteps: MJAIAgentRunStepEntityExtended[] = []; // For live mode streaming\n @Input() autoExpand: boolean = true; // Auto-expand nodes in live mode\n @Input() runId: string | null = null; // ID of the run (agent or prompt)\n @Input() runType: 'agent' | 'prompt' = 'agent'; // Type of run\n \n @Output() viewRunClick = new EventEmitter<{ runId: string; runType: 'agent' | 'prompt' }>();\n \n @ViewChild('executionTreeContainer') executionTreeContainer!: ElementRef<HTMLDivElement>;\n @ViewChild('executionNodesContainer', { read: ViewContainerRef }) executionNodesContainer!: ViewContainerRef;\n \n // Store the currently rendered steps for UI state management\n currentStep: MJAIAgentRunStepEntityExtended | null = null;\n \n // Track component references for dynamic components\n private nodeComponentMap = new Map<string, ComponentRef<ExecutionNodeComponent>>();\n \n // UI state management - track expanded states separately from entities\n private expandedStates = new Map<string, boolean>();\n private detailsExpandedStates = new Map<string, boolean>();\n stats: ExecutionStats = {\n totalSteps: 0,\n completedSteps: 0,\n failedSteps: 0,\n totalTokens: 0,\n totalCost: 0,\n stepsByType: {},\n totalPrompts: 0\n };\n \n // User interaction tracking\n private userHasInteracted = false;\n private userHasScrolled = false;\n private isAutoScrolling = false;\n private lastScrollPosition = 0;\n private scrollThreshold = 50; // pixels from bottom to consider \"at bottom\"\n \n // View initialization flag\n private viewInitialized = false;\n \n // Track processed step IDs to avoid duplication\n private processedStepIds = new Set<string>();\n \n // Track which nodes were added in the current update\n private newlyAddedNodeIds = new Set<string>();\n \n // Temporary storage for parsed metadata\n private lastParsedAgentData: any = null;\n private lastParsedActionData: any = null;\n \n private destroy$ = new Subject<void>();\n private updateSubscription?: Subscription;\n \n constructor(private cdr: ChangeDetectorRef) {}\n \n ngOnChanges(changes: SimpleChanges): void {\n console.log('🔄 Execution Monitor ngOnChanges:', {\n agentRunChanged: !!changes['agentRun'],\n liveStepsChanged: !!changes['liveSteps'],\n modeChanged: !!changes['mode'],\n hasAgentRun: !!this.agentRun,\n liveStepsCount: this.liveSteps?.length || 0\n });\n \n // Handle agent run changes (historical mode)\n if (changes['agentRun'] && this.mode === 'historical') {\n const oldRun = changes['agentRun'].previousValue;\n const newRun = changes['agentRun'].currentValue;\n \n console.log('📊 Agent run changed:', {\n oldRunExists: !!oldRun,\n newRunExists: !!newRun,\n oldRunId: oldRun?.ID,\n newRunId: newRun?.ID,\n stepsCount: newRun?.Steps?.length\n });\n \n // Only clear if it's actually a different execution (different ID)\n const isDifferentExecution = (!oldRun && newRun) || \n (oldRun && newRun && oldRun.ID !== newRun.ID) ||\n (oldRun && !newRun);\n \n if (isDifferentExecution) {\n console.log('🗑️ Clearing for different agent run');\n this.processedStepIds.clear();\n this.newlyAddedNodeIds.clear();\n this.expandedStates.clear();\n this.detailsExpandedStates.clear();\n this.clearNodeComponents();\n this.currentStep = null;\n }\n \n // Always process the agent run data (will handle updates to existing run)\n if (newRun) {\n this.processAgentRun();\n }\n }\n \n // Handle live steps changes (live mode)\n if (changes['liveSteps'] && this.mode === 'live') {\n const oldSteps = changes['liveSteps'].previousValue;\n const newSteps = changes['liveSteps'].currentValue;\n \n console.log('📊 Live steps changed:', {\n oldCount: oldSteps?.length || 0,\n newCount: newSteps?.length || 0\n });\n \n // Process live steps\n this.processLiveSteps();\n }\n \n // Handle mode changes\n if (changes['mode'] && !changes['mode'].firstChange) {\n const previousMode = changes['mode'].previousValue;\n const currentMode = changes['mode'].currentValue;\n \n console.log('🔄 Mode changed:', { previousMode, currentMode });\n \n // Clear everything when switching modes\n this.processedStepIds.clear();\n this.newlyAddedNodeIds.clear();\n this.expandedStates.clear();\n this.detailsExpandedStates.clear();\n this.clearNodeComponents();\n this.currentStep = null;\n \n // Stop live updates when switching away from live mode\n if (previousMode === 'live' && this.updateSubscription) {\n this.updateSubscription.unsubscribe();\n this.updateSubscription = undefined;\n }\n \n // Process data for the new mode\n if (currentMode === 'historical' && this.agentRun) {\n this.processAgentRun();\n } else if (currentMode === 'live') {\n this.setupLiveUpdates();\n }\n }\n }\n \n ngAfterViewInit(): void {\n this.viewInitialized = true;\n \n console.log('🎯 View initialized, checking for pending data:', {\n hasAgentRun: !!this.agentRun,\n hasLiveSteps: this.liveSteps?.length > 0,\n hasContainer: !!this.executionNodesContainer\n });\n \n // Initial setup for scroll behavior\n if (this.mode === 'live') {\n this.checkIfUserAtBottom();\n }\n \n // If we have data waiting to be rendered, render it now\n if (this.mode === 'historical' && this.agentRun && this.nodeComponentMap.size === 0) {\n console.log('⚡ Processing agent run after view init');\n this.processAgentRun();\n } else if (this.mode === 'live' && this.liveSteps?.length > 0) {\n console.log('⚡ Processing live steps after view init');\n this.processLiveSteps();\n }\n }\n \n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n if (this.updateSubscription) {\n this.updateSubscription.unsubscribe();\n this.updateSubscription = undefined;\n }\n this.clearNodeComponents();\n }\n \n /**\n * Clear all dynamically created components\n */\n private clearNodeComponents(): void {\n this.nodeComponentMap.forEach(ref => ref.destroy());\n this.nodeComponentMap.clear();\n if (this.executionNodesContainer) {\n this.executionNodesContainer.clear();\n }\n }\n \n /**\n * Process agent run for historical mode\n */\n private processAgentRun(): void {\n console.log('⚙️ Processing agent run:', {\n hasAgentRun: !!this.agentRun,\n stepsCount: this.agentRun?.Steps?.length || 0,\n viewInitialized: this.viewInitialized,\n hasContainer: !!this.executionNodesContainer\n });\n \n if (!this.agentRun || !this.viewInitialized || !this.executionNodesContainer) {\n console.warn('⚠️ Cannot process agent run:', {\n agentRun: !this.agentRun ? 'missing' : 'present',\n viewInitialized: this.viewInitialized ? 'yes' : 'no',\n container: !this.executionNodesContainer ? 'missing' : 'present'\n });\n return;\n }\n \n // Clear existing components\n this.clearNodeComponents();\n \n // Render the agent run steps\n if (this.agentRun.Steps && this.agentRun.Steps.length > 0) {\n console.log('🎨 Rendering', this.agentRun.Steps.length, 'steps');\n this.renderSteps(this.agentRun.Steps, 0, []);\n console.log('✅ Finished rendering, container now has', this.executionNodesContainer.length, 'components');\n } else {\n console.warn('⚠️ No steps to render');\n }\n \n // Calculate statistics\n this.calculateStats();\n \n // Trigger change detection after rendering all components\n this.cdr.detectChanges();\n }\n \n /**\n * Process live steps for live mode\n */\n private processLiveSteps(): void {\n console.log('⚙️ Processing live steps:', {\n stepsCount: this.liveSteps?.length || 0,\n viewInitialized: this.viewInitialized,\n hasContainer: !!this.executionNodesContainer\n });\n \n if (!this.liveSteps || !this.viewInitialized || !this.executionNodesContainer) {\n return;\n }\n \n // Append new steps without clearing existing ones\n this.appendNewLiveSteps(this.liveSteps);\n \n // Trigger change detection after appending live steps\n this.cdr.detectChanges();\n \n // Set up live update monitoring if not already set up\n if (!this.updateSubscription) {\n this.setupLiveUpdates();\n }\n }\n \n /**\n * Render steps recursively with proper hierarchy\n */\n private renderSteps(steps: MJAIAgentRunStepEntityExtended[], depth: number, agentPath: string[]): void {\n console.log('🎨 Rendering steps:', {\n count: steps.length,\n depth,\n agentPath\n });\n \n // Sort steps by StepNumber to ensure proper ordering\n const sortedSteps = [...steps].sort((a, b) => (a.StepNumber || 0) - (b.StepNumber || 0));\n \n for (const step of sortedSteps) {\n // Skip if already processed in live mode\n if (this.processedStepIds.has(step.ID)) {\n continue;\n }\n \n // Create component for this step\n this.createStepComponent(step, depth, agentPath);\n \n // Mark as processed\n this.processedStepIds.add(step.ID);\n \n // Handle sub-agent recursion\n if (step.StepType === 'Sub-Agent' && step.SubAgentRun?.Steps) {\n const subAgentPath = [...agentPath, step.SubAgentRun.Agent || 'Sub-Agent'];\n this.renderSteps(step.SubAgentRun.Steps, depth + 1, subAgentPath);\n }\n }\n }\n \n /**\n * Create a component for a step\n */\n private createStepComponent(\n step: MJAIAgentRunStepEntityExtended, \n depth: number, \n agentPath: string[]\n ): ComponentRef<ExecutionNodeComponent> {\n // Ensure container exists\n if (!this.executionNodesContainer) {\n console.error('❌ executionNodesContainer not available');\n throw new Error('executionNodesContainer ViewContainerRef not initialized');\n }\n \n const componentRef = this.executionNodesContainer.createComponent(ExecutionNodeComponent);\n const instance = componentRef.instance;\n \n console.log('🔨 Creating component for step:', {\n stepId: step.ID,\n stepName: step.StepName,\n depth,\n containerLength: this.executionNodesContainer.length,\n hostElement: componentRef.location.nativeElement\n });\n \n // Pass the step data with UI state information\n instance.step = step;\n instance.depth = depth;\n instance.agentPath = agentPath;\n instance.expanded = this.expandedStates.get(step.ID) || false;\n instance.detailsExpanded = this.detailsExpandedStates.get(step.ID) || false;\n \n // Subscribe to outputs\n instance.toggleNode.subscribe(() => this.toggleStepExpansion(step));\n instance.toggleDetails.subscribe(() => this.toggleStepDetails(step));\n instance.userInteracted.subscribe(() => this.onUserInteraction());\n \n // Store reference\n this.nodeComponentMap.set(step.ID, componentRef);\n \n // Log the component state after setup\n console.log('✅ Component created and configured:', {\n stepId: step.ID,\n hasData: !!instance.step,\n isAttached: componentRef.hostView.destroyed === false\n });\n \n return componentRef;\n }\n \n /**\n * Toggle step expansion\n */\n private toggleStepExpansion(step: MJAIAgentRunStepEntityExtended): void {\n const currentState = this.expandedStates.get(step.ID) || false;\n this.expandedStates.set(step.ID, !currentState);\n this.userHasInteracted = true;\n \n // Update the component\n const componentRef = this.nodeComponentMap.get(step.ID);\n if (componentRef) {\n componentRef.instance.expanded = !currentState;\n componentRef.changeDetectorRef.detectChanges();\n }\n \n this.cdr.markForCheck();\n }\n \n /**\n * Toggle step details expansion\n */\n private toggleStepDetails(step: MJAIAgentRunStepEntityExtended): void {\n const currentState = this.detailsExpandedStates.get(step.ID) || false;\n this.detailsExpandedStates.set(step.ID, !currentState);\n \n // Update the component\n const componentRef = this.nodeComponentMap.get(step.ID);\n if (componentRef) {\n componentRef.instance.detailsExpanded = !currentState;\n componentRef.changeDetectorRef.detectChanges();\n }\n }\n \n \n /**\n * Get step type CSS class for styling\n */\n private getStepTypeClass(stepType: string): string {\n const typeMap: Record<string, string> = {\n 'Validation': 'validation',\n 'Prompt': 'prompt',\n 'Actions': 'action',\n 'Sub-Agent': 'sub-agent',\n 'Decision': 'decision',\n 'Chat': 'chat'\n };\n return typeMap[stepType] || 'prompt';\n }\n \n /**\n * Get status CSS class for styling\n */\n private getStatusClass(status: string): string {\n const statusMap: Record<string, string> = {\n 'Pending': 'pending',\n 'Running': 'running',\n 'Completed': 'completed',\n 'Failed': 'failed',\n 'Cancelled': 'failed',\n 'Paused': 'pending'\n };\n return statusMap[status] || 'pending';\n }\n \n /**\n * Helper function to safely convert a value to a preview string\n */\n private valueToPreviewString(value: any): string {\n if (value === null || value === undefined) {\n return '';\n }\n if (typeof value === 'object') {\n return JSON.stringify(value, null, 2);\n }\n return String(value);\n }\n\n /**\n * Create a preview string from data\n */\n private createPreview(data: any): string | undefined {\n if (!data) return undefined;\n \n try {\n const parsed = typeof data === 'string' ? JSON.parse(data) : data;\n \n // Extract meaningful preview and store metadata\n if (parsed.promptName) return `Prompt: ${parsed.promptName}`;\n if (parsed.actionName) {\n // Store action metadata if available\n this.lastParsedActionData = {\n actionName: parsed.actionName,\n actionId: parsed.actionId,\n actionIconClass: parsed.actionIconClass\n };\n return `Action: ${parsed.actionName}`;\n }\n if (parsed.subAgentName) {\n // Store agent metadata if available\n this.lastParsedAgentData = {\n agentName: parsed.subAgentName,\n agentId: parsed.subAgentId || parsed.agentId,\n agentIconClass: parsed.subAgentIconClass || parsed.agentIconClass,\n agentLogoURL: parsed.subAgentLogoURL || parsed.agentLogoURL\n };\n return `Sub-agent: ${parsed.subAgentName}`;\n }\n if (parsed.message) return this.valueToPreviewString(parsed.message);\n if (parsed.userMessage) return this.valueToPreviewString(parsed.userMessage);\n \n // Show action results clearly\n if (parsed.actionResult) {\n const result = parsed.actionResult;\n let preview = '';\n if (result.success !== undefined) {\n preview += `Success: ${result.success}\\n`;\n }\n if (result.resultCode) {\n preview += `Result Code: ${result.resultCode}\\n`;\n }\n if (result.message) {\n preview += `Message: ${this.valueToPreviewString(result.message)}\\n`;\n }\n if (result.result) {\n preview += `Result: ${typeof result.result === 'object' ? JSON.stringify(result.result, null, 2) : result.result}`;\n }\n return preview.trim();\n }\n \n // Legacy action result format\n if (parsed.result) {\n return this.valueToPreviewString(parsed.result);\n }\n \n // Show prompt results\n if (parsed.promptResult) {\n const result = parsed.promptResult;\n let preview = '';\n if (result.success !== undefined) {\n preview += `Success: ${result.success}\\n`;\n }\n if (result.content) {\n preview += `Content: ${this.valueToPreviewString(result.content)}`;\n }\n return preview;\n }\n \n // Fallback to stringified preview\n const str = JSON.stringify(parsed, null, 2);\n return str.length > 500 ? str.substring(0, 500) + '...' : str;\n } catch {\n return typeof data === 'string' ? data : JSON.stringify(data);\n }\n }\n \n /**\n * Extract token count from output data\n */\n private extractTokens(data: any): number | undefined {\n if (!data) return undefined;\n try {\n const parsed = typeof data === 'string' ? JSON.parse(data) : data;\n return parsed.promptResult?.tokensUsed || parsed.tokensUsed;\n } catch {\n return undefined;\n }\n }\n \n /**\n * Extract cost from output data\n */\n private extractCost(data: any): number | undefined {\n if (!data) return undefined;\n try {\n const parsed = typeof data === 'string' ? JSON.parse(data) : data;\n return parsed.promptResult?.totalCost || parsed.totalCost;\n } catch {\n return undefined;\n }\n }\n \n /**\n * Calculate duration from timestamps\n */\n private calculateDuration(start: any, end: any): number | undefined {\n if (!start || !end) return undefined;\n const startTime = new Date(start).getTime();\n const endTime = new Date(end).getTime();\n return endTime - startTime;\n }\n \n /**\n * Set up live updates for real-time execution\n */\n private setupLiveUpdates(): void {\n console.log('⚡ Setting up live updates');\n \n // Process initial live steps if any\n if (this.liveSteps && this.liveSteps.length > 0) {\n this.appendNewLiveSteps(this.liveSteps);\n }\n \n // Set up interval to check for updates (if not already set up)\n if (this.mode === 'live' && !this.updateSubscription) {\n this.updateSubscription = interval(500)\n .pipe(takeUntil(this.destroy$))\n .subscribe(() => {\n // Update current step indicator\n this.updateCurrentStep();\n \n // Recalculate stats periodically\n this.calculateStats();\n });\n }\n }\n \n /**\n * Update current step indicator\n */\n private updateCurrentStep(): void {\n // Find the first running step from all rendered components\n let runningStep: MJAIAgentRunStepEntityExtended | null = null;\n \n this.nodeComponentMap.forEach((componentRef, stepId) => {\n const step = componentRef.instance.step;\n if (step && step.Status === 'Running' && !runningStep) {\n runningStep = step;\n }\n });\n \n this.currentStep = runningStep;\n this.cdr.markForCheck();\n }\n \n /**\n * Mark previously new nodes as completed\n */\n private markPreviouslyNewNodesAsComplete(): void {\n // Mark ALL running steps as completed (not just previously new ones)\n // This ensures only the latest step shows as running\n this.nodeComponentMap.forEach((componentRef, stepId) => {\n const step = componentRef.instance.step;\n if (step.Status === 'Running') {\n // Create a copy with updated status\n const updatedStep = Object.assign({}, step, { Status: 'Completed' });\n componentRef.instance.step = updatedStep;\n componentRef.changeDetectorRef.detectChanges();\n }\n });\n }\n \n /**\n * Ensure only the last step in the execution order shows as running\n */\n private ensureOnlyLastStepIsRunning(): void {\n // Find the last step by step number\n let lastRunningStep: { stepId: string; stepNumber: number; componentRef: ComponentRef<ExecutionNodeComponent> } | null = null;\n \n this.nodeComponentMap.forEach((componentRef, stepId) => {\n const step = componentRef.instance.step;\n if (step.Status === 'Running') {\n const stepNumber = step.StepNumber || 0;\n if (!lastRunningStep || stepNumber > lastRunningStep.stepNumber) {\n lastRunningStep = { stepId, stepNumber, componentRef };\n }\n }\n });\n \n // Set override display status for all running steps\n this.nodeComponentMap.forEach((componentRef, stepId) => {\n const step = componentRef.instance.step;\n if (step.Status === 'Running') {\n // Override display to show as completed, except for the last one\n if (lastRunningStep && stepId === lastRunningStep.stepId) {\n componentRef.instance.overrideDisplayStatus = 'Running';\n } else {\n componentRef.instance.overrideDisplayStatus = 'Completed';\n }\n componentRef.changeDetectorRef.detectChanges();\n }\n });\n }\n \n \n /**\n * Calculate execution statistics\n */\n private calculateStats(): void {\n this.stats = {\n totalSteps: 0,\n completedSteps: 0,\n failedSteps: 0,\n totalTokens: 0,\n totalCost: 0,\n stepsByType: {},\n totalDuration: 0,\n totalPrompts: 0\n };\n \n // Use token data from agent run if available\n if (this.agentRun) {\n this.stats.totalTokens = this.agentRun.TotalTokensUsed || 0;\n this.stats.totalCost = this.agentRun.TotalCost || 0;\n \n // Calculate duration\n if (this.agentRun.StartedAt && this.agentRun.CompletedAt) {\n this.stats.totalDuration = new Date(this.agentRun.CompletedAt).getTime() - \n new Date(this.agentRun.StartedAt).getTime();\n }\n \n // Count steps recursively\n if (this.agentRun.Steps) {\n this.countSteps(this.agentRun.Steps);\n }\n }\n \n console.log('📈 Stats calculated:', {\n totalSteps: this.stats.totalSteps,\n totalTokens: this.stats.totalTokens,\n totalCost: this.stats.totalCost\n });\n }\n \n /**\n * Count steps recursively\n */\n private countSteps(steps: MJAIAgentRunStepEntityExtended[]): void {\n for (const step of steps) {\n this.stats.totalSteps++;\n \n // Map to display types for consistency\n const displayType = this.getStepTypeClass(step.StepType);\n this.stats.stepsByType[displayType] = (this.stats.stepsByType[displayType] || 0) + 1;\n \n if (step.Status === 'Completed') this.stats.completedSteps++;\n if (step.Status === 'Failed' || step.Status === 'Cancelled') this.stats.failedSteps++;\n \n // Count prompts\n if (step.StepType === 'Prompt') {\n this.stats.totalPrompts++;\n }\n \n // Recurse for sub-agents\n if (step.StepType === 'Sub-Agent' && step.SubAgentRun?.Steps) {\n this.countSteps(step.SubAgentRun.Steps);\n }\n }\n }\n \n \n \n /**\n * Handle scroll events\n */\n onScroll(event: Event): void {\n if (this.isAutoScrolling) {\n // Ignore scroll events triggered by auto-scrolling\n return;\n }\n \n const element = event.target as HTMLDivElement;\n const isAtBottom = this.isScrolledToBottom(element);\n \n // If user scrolled up from bottom, mark as user interaction\n if (!isAtBottom && this.lastScrollPosition !== element.scrollTop) {\n this.userHasScrolled = true;\n this.userHasInteracted = true;\n }\n \n // If user scrolled back to bottom, reset interaction flags\n if (isAtBottom) {\n this.userHasScrolled = false;\n this.userHasInteracted = false;\n }\n \n this.lastScrollPosition = element.scrollTop;\n }\n \n /**\n * Handle user clicks (interaction detection)\n */\n onUserInteraction(): void {\n // This is called when user clicks anywhere in the execution tree\n // The toggleNode method will set userHasInteracted for specific interactions\n }\n \n /**\n * Check if scroll is at bottom\n */\n private isScrolledToBottom(element: HTMLElement): boolean {\n const threshold = this.scrollThreshold;\n return element.scrollHeight - element.scrollTop - element.clientHeight < threshold;\n }\n \n /**\n * Check if user is at bottom (for initial setup)\n */\n private checkIfUserAtBottom(): void {\n if (!this.executionTreeContainer) return;\n \n const element = this.executionTreeContainer.nativeElement;\n if (this.isScrolledToBottom(element)) {\n this.userHasScrolled = false;\n }\n }\n \n /**\n * Auto-scroll to bottom if user hasn't interacted\n */\n private autoScrollToBottom(): void {\n if (!this.executionTreeContainer || this.userHasInteracted || this.userHasScrolled) {\n return;\n }\n \n const element = this.executionTreeContainer.nativeElement;\n this.isAutoScrolling = true;\n \n // Use smooth scrolling for better UX\n element.scrollTo({\n top: element.scrollHeight,\n behavior: 'smooth'\n });\n \n // Reset auto-scrolling flag after animation\n setTimeout(() => {\n this.isAutoScrolling = false;\n }, 300);\n }\n \n /**\n * Format agent path for display\n */\n formatAgentPath(path: string[]): string {\n return path.join(' → ');\n }\n \n /**\n * Format duration for display\n */\n formatDuration(ms: number): string {\n if (ms < 1000) return `${ms}ms`;\n if (ms < 60000) return `${(ms / 1000).toFixed(1)}s`;\n const minutes = Math.floor(ms / 60000);\n const seconds = Math.floor((ms % 60000) / 1000);\n return `${minutes}m ${seconds}s`;\n }\n \n /**\n * Get step types for display\n */\n getStepTypes(): string[] {\n return Object.keys(this.stats.stepsByType).sort();\n }\n \n /**\n * Pluralize step type based on count\n */\n pluralizeStepType(type: string, count: number): string {\n if (count === 1) {\n return type;\n }\n \n // Handle special cases\n switch (type.toLowerCase()) {\n case 'analysis':\n return 'Analyses';\n case 'summary':\n return 'Summaries';\n default:\n // Default pluralization - just add 's'\n return type + 's';\n }\n }\n \n /**\n * Format markdown content for display\n */\n formatMarkdown(markdown: string): string {\n // Basic markdown formatting\n // This is a simple implementation - you might want to use a proper markdown library\n let html = markdown;\n \n // Headers\n html = html.replace(/^### (.*$)/gim, '<h4>$1</h4>');\n html = html.replace(/^## (.*$)/gim, '<h3>$1</h3>');\n html = html.replace(/^# (.*$)/gim, '<h2>$1</h2>');\n \n // Bold\n html = html.replace(/\\*\\*(.*)\\*\\*/g, '<strong>$1</strong>');\n \n // Italic\n html = html.replace(/\\*(.*)\\*/g, '<em>$1</em>');\n \n // Detect and linkify URLs\n // This regex matches URLs starting with http://, https://, or www.\n const urlRegex = /(?:https?:\\/\\/|www\\.)[^\\s<]+/gi;\n html = html.replace(urlRegex, (url) => {\n // Ensure the URL has a protocol\n const href = url.startsWith('http') ? url : `https://${url}`;\n // Truncate long URLs for display\n const displayUrl = url.length > 50 ? url.substring(0, 50) + '...' : url;\n return `<a href=\"${href}\" target=\"_blank\" rel=\"noopener noreferrer\" style=\"color: #2196f3; text-decoration: underline; font-size: inherit;\">${displayUrl}</a>`;\n });\n \n // Line breaks\n html = html.replace(/\\n/g, '<br>');\n \n // Lists\n html = html.replace(/^\\* (.+)$/gim, '<li>$1</li>');\n html = html.replace(/(<li>.*<\\/li>)/s, '<ul>$1</ul>');\n \n // Code blocks\n html = html.replace(/```(.*?)```/gs, '<pre><code>$1</code></pre>');\n \n // Inline code\n html = html.replace(/`([^`]+)`/g, '<code>$1</code>');\n \n return html;\n }\n \n /**\n * Append new live steps without re-rendering entire tree\n */\n private appendNewLiveSteps(newSteps: MJAIAgentRunStepEntityExtended[]): void {\n if (!newSteps || newSteps.length === 0 || !this.viewInitialized || !this.executionNodesContainer) {\n return;\n }\n \n console.log('📝 Appending', newSteps.length, 'live steps');\n \n // Sort steps by StepNumber\n const sortedSteps = [...newSteps].sort((a, b) => (a.StepNumber || 0) - (b.StepNumber || 0));\n \n // Mark previously new steps as completed\n if (this.newlyAddedNodeIds.size > 0) {\n this.markPreviouslyNewNodesAsComplete();\n this.newlyAddedNodeIds.clear();\n }\n \n let hasNewSteps = false;\n \n for (const step of sortedSteps) {\n // Skip if already processed\n if (this.processedStepIds.has(step.ID)) {\n // Update existing step if status changed\n const componentRef = this.nodeComponentMap.get(step.ID);\n if (componentRef && componentRef.instance.step.Status !== step.Status) {\n componentRef.instance.step = step;\n componentRef.changeDetectorRef.detectChanges();\n }\n continue;\n }\n \n // Mark as processed and newly added\n this.processedStepIds.add(step.ID);\n this.newlyAddedNodeIds.add(step.ID);\n hasNewSteps = true;\n \n // Determine depth based on parent hierarchy\n const depth = this.calculateStepDepth(step);\n const agentPath = this.buildAgentPath(step);\n \n // Create component for new step\n this.createStepComponent(step, depth, agentPath);\n \n // Handle sub-agent steps recursively\n if (step.StepType === 'Sub-Agent' && step.SubAgentRun?.Steps) {\n const subAgentPath = [...agentPath, step.SubAgentRun.Agent || 'Sub-Agent'];\n this.renderSteps(step.SubAgentRun.Steps, depth + 1, subAgentPath);\n }\n }\n \n if (hasNewSteps) {\n // After processing all new steps, ensure only the last one shows as running\n this.ensureOnlyLastStepIsRunning();\n \n this.updateCurrentStep();\n this.calculateStats();\n \n // Force change detection to ensure new components are rendered\n this.cdr.detectChanges();\n \n // Auto-scroll if user hasn't interacted\n setTimeout(() => {\n this.autoScrollToBottom();\n }, 100);\n }\n }\n \n /**\n * Calculate step depth based on parent hierarchy\n */\n private calculateStepDepth(step: MJAIAgentRunStepEntityExtended): number {\n // For now, return 0 for top-level steps\n // In live mode, depth information should come from the streaming data\n return 0;\n }\n \n /**\n * Build agent path for a step\n */\n private buildAgentPath(step: MJAIAgentRunStepEntityExtended): string[] {\n // In live mode, agent path should come from streaming data\n // For now, return empty array\n return [];\n }\n \n \n /**\n * Check if execution is complete\n */\n isExecutionComplete(): boolean {\n return this.stats.completedSteps > 0 && \n this.stats.completedSteps === this.stats.totalSteps - this.stats.failedSteps;\n }\n \n /**\n * Handle view run button click\n */\n onViewRunClick(): void {\n if (this.agentRun) {\n this.viewRunClick.emit({ runId: this.agentRun.ID, runType: 'agent' });\n }\n }\n \n \n /**\n * Expands all nodes that have sub-agent children\n */\n private expandAllNodes(): void {\n console.log('🔄 Auto-expanding nodes with sub-agents');\n \n // Expand all steps that have sub-agent runs\n this.nodeComponentMap.forEach((componentRef, stepId) => {\n const step = componentRef.instance.step;\n if (step.StepType === 'Sub-Agent' && step.SubAgentRun?.Steps?.length) {\n this.expandedStates.set(stepId, true);\n componentRef.instance.expanded = true;\n componentRef.changeDetectorRef.detectChanges();\n console.log(`Expanded sub-agent: ${step.StepName}`);\n }\n });\n \n // Trigger change detection\n this.cdr.markForCheck();\n this.cdr.detectChanges();\n \n // Scroll to top after expansion\n setTimeout(() => {\n this.scrollToTop();\n }, 100);\n }\n \n /**\n * Scroll the execution tree to the top\n */\n private scrollToTop(): void {\n if (this.executionTreeContainer) {\n const element = this.executionTreeContainer.nativeElement;\n element.scrollTo({\n top: 0,\n behavior: 'smooth'\n });\n }\n }\n \n /**\n * Check if there is content to display\n */\n hasContent(): boolean {\n return this.nodeComponentMap.size > 0;\n }\n}"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-execution-node.component.js","sourceRoot":"","sources":["../../src/lib/agent-execution-node.component.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent-execution-node.component.js","sourceRoot":"","sources":["../../src/lib/agent-execution-node.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;;;;IAmB5E,6BAI2B;IADxB,2LAAS,+BAAwB,KAAC;IACV,iBAAI;;;IAF5B,AADA,kDAAkC,sCACE;;;IAS/B,uBAAoC;;;IAGpC,uBAA2C;;;IAG3C,uBAAwC;;;IAGxC,uBAAwC;;;IASxC,uBAAyC;;;IAGzC,wBAAiC;;;IAI7B,oBAAsC;;;IAAnC,0CAA8B;;;IAEjC,wBAAgC;;;IADlC,AAFF,+FAA4B,yEAEnB;;;IAFT,qDAIC;;;IAIG,0BAAyF;;;IAA1D,AAA1B,gEAAyB,yCAAkC;;;IAEhE,oBAAqC;;;IAAlC,yCAA6B;;;IAEhC,wBAAmC;;;IADrC,AAFA,AAFF,iGAAyB,yEAES,yEAEzB;;;IAJT,mFAMC;;;IAGD,wBAAuC;;;IAGvC,wBAAoC;;;IAQxC,iCAA+C;IAAA,YAAmB;IAAA,iBAAQ;;;IAA3B,cAAmB;IAAnB,mDAAmB;;;IAOtE,gCAA4B;IAAA,YAAmC;IAAA,iBAAO;;;IAA1C,cAAmC;IAAnC,iEAAmC;;;IAOvD,gCAAqB;IAAA,YAA4B;IAAA,iBAAO;;;IAAnC,cAA4B;IAA5B,4DAA4B;;;IAGjD,gCAAmB;IAAA,YAA6B;IAAA,iBAAO;;;IAApC,cAA6B;IAA7B,uDAA6B;;;IALxD,gCAA2B;IACvB,yGAAuB;IAGvB,yGAAiB;IAGrB,iBAAO;;;IANH,cAEC;IAFD,iDAEC;IACD,cAEC;IAFD,2CAEC;;;;IAML,kCAEoE;IAD5D,iMAAS,8BAAuB,KAAC;IAErC,wBAE0C;IAC9C,iBAAS;;;IAJD,gFAA2D;IAE5D,cAAkC;IAClC,AADA,kDAAkC,oCACA;;;IAWjC,+BAAuB;IAAA,YAAmB;IAAA,iBAAM;;;IAAzB,cAAmB;IAAnB,0CAAmB;;;IAG1C,0BAA+F;;;IAA1D,iGAAmD;;;IALhG,+BAA8B;IAC1B,sHAAyB;IAGzB,sHAA4B;IAGhC,iBAAM;;;IANF,cAEC;IAFD,mDAEC;IACD,cAEC;IAFD,sDAEC;;;IAQG,AADJ,+BAAkC,cACJ;IACtB,wBAAgD;IAAC,uBACrD;IAAA,iBAAM;IACN,+BAA4B;IAAA,YAAuB;IACvD,AADuD,iBAAM,EACvD;;;IAD0B,eAAuB;IAAvB,8CAAuB;;;IAKnD,AADJ,+BAA4B,cACE;IACtB,wBAAuC;IAAC,uBAC5C;IAAA,iBAAM;IACN,+BAA4B;IAAA,YAAuB;IACvD,AADuD,iBAAM,EACvD;;;IAD0B,eAAuB;IAAvB,8CAAuB;;;IAKnD,AADJ,+BAA4B,cACE;IACtB,wBAAwC;IAAC,wBAC7C;IAAA,iBAAM;IACN,+BAA4B;IAAA,YAAwB;IACxD,AADwD,iBAAM,EACxD;;;IAD0B,eAAwB;IAAxB,+CAAwB;;;IAKpD,AADJ,+BAA4B,cACI;IAAA,8DAA8C;IAC9E,AAD8E,iBAAM,EAC9E;;;IAxCd,wGAAiD;IAYjD,+BAA0B;IACtB,wGAAyB;IAQzB,wGAAyB;IAQzB,wGAA0B;IAQ1B,wGAAsH;IAK1H,iBAAM;;;IA1CN,kFASC;IAIG,eAOC;IAPD,mDAOC;IACD,cAOC;IAPD,mDAOC;IACD,cAOC;IAPD,oDAOC;IACD,cAIC;IAJD,4KAIC;;AA6YrB,MAAM,OAAO,sBAAsB;IAziBnC;QA2iBa,UAAK,GAAW,CAAC,CAAC;QAClB,cAAS,GAAa,EAAE,CAAC;QACzB,aAAQ,GAAY,KAAK,CAAC;QAC1B,oBAAe,GAAY,KAAK,CAAC;QAGhC,eAAU,GAAG,IAAI,YAAY,EAAQ,CAAC;QACtC,kBAAa,GAAG,IAAI,YAAY,EAAQ,CAAC;QACzC,mBAAc,GAAG,IAAI,YAAY,EAAQ,CAAC;KAuRvD;IArRG,WAAW;QACP,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,WAAW;YAClC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK;YAC9B,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IAClD,CAAC;IAED,gBAAgB,CAAC,KAAa;QAC1B,IAAI,KAAK,EAAE,CAAC;YACR,KAAK,CAAC,eAAe,EAAE,CAAC;QAC5B,CAAC;QACD,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACrB,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;QAC/B,CAAC;IACL,CAAC;IAED,eAAe,CAAC,KAAa;QACzB,IAAI,KAAK,EAAE,CAAC;YACR,KAAK,CAAC,eAAe,EAAE,CAAC;QAC5B,CAAC;QACD,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;YACxB,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;YAC1B,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;QAC/B,CAAC;IACL,CAAC;IAED,aAAa;QACT,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACrB,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;QAC/B,CAAC;IACL,CAAC;IAED,cAAc;QACV,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS;YACrB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU;YACtB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY;YACxB,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAC3B,IAAI,CAAC,eAAe,EAAE,CAAC;IAClC,CAAC;IAED,gBAAgB;QACZ,MAAM,SAAS,GAAG,GAAG,CAAC;QACtB,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAChC,IAAI,IAAI,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC;IAChD,CAAC;IAED,eAAe;QACX,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,GAAG,CAAC;IAC3C,CAAC;IAED,cAAc,CAAC,EAAU;QACrB,IAAI,EAAE,GAAG,IAAI;YAAE,OAAO,GAAG,EAAE,IAAI,CAAC;QAChC,IAAI,EAAE,GAAG,KAAK;YAAE,OAAO,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;QACpD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC;QACvC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;QAChD,OAAO,GAAG,OAAO,KAAK,OAAO,GAAG,CAAC;IACrC,CAAC;IAED,YAAY;QACR,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,WAAW,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;YAC5D,OAAO,cAAc,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;QAC/C,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YAC3D,OAAO,WAAW,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;QAC7C,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;IAC9B,CAAC;IAED,+BAA+B;IAC/B,WAAW;QACP,4DAA4D;QAC5D,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7C,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED,gBAAgB;QACZ,MAAM,OAAO,GAA2B;YACpC,YAAY,EAAE,YAAY;YAC1B,QAAQ,EAAE,QAAQ;YAClB,SAAS,EAAE,QAAQ;YACnB,WAAW,EAAE,WAAW;YACxB,UAAU,EAAE,UAAU;YACtB,MAAM,EAAE,MAAM;SACjB,CAAC;QACF,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC;IACnD,CAAC;IAED,cAAc;QACV,MAAM,SAAS,GAA2B;YACtC,SAAS,EAAE,SAAS;YACpB,SAAS,EAAE,SAAS;YACpB,WAAW,EAAE,WAAW;YACxB,QAAQ,EAAE,QAAQ;YAClB,WAAW,EAAE,QAAQ;YACrB,QAAQ,EAAE,SAAS;SACtB,CAAC;QACF,wDAAwD;QACxD,MAAM,MAAM,GAAG,IAAI,CAAC,qBAAqB,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;QAC9D,OAAO,SAAS,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC;IAC1C,CAAC;IAED,WAAW;QACP,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW;YAAE,OAAO,CAAC,CAAC;QAC7D,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC;IAC/F,CAAC;IAED,aAAa;QACT,iDAAiD;QACjD,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACzD,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,IAAI,SAAS,CAAC;QACvD,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,OAAO;QACH,gDAAgD;QAChD,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACzD,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,IAAI,SAAS,CAAC;QACtD,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,kBAAkB;QACd,wEAAwE;QACxE,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnB,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5C,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,eAAe;QACX,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO,SAAS,CAAC;QAE3C,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAE/C,6BAA6B;YAC7B,IAAI,MAAM,CAAC,UAAU;gBAAE,OAAO,WAAW,MAAM,CAAC,UAAU,EAAE,CAAC;YAC7D,IAAI,MAAM,CAAC,UAAU;gBAAE,OAAO,WAAW,MAAM,CAAC,UAAU,EAAE,CAAC;YAC7D,IAAI,MAAM,CAAC,YAAY;gBAAE,OAAO,cAAc,MAAM,CAAC,YAAY,EAAE,CAAC;YACpE,IAAI,MAAM,CAAC,OAAO;gBAAE,OAAO,MAAM,CAAC,OAAO,CAAC;YAC1C,IAAI,MAAM,CAAC,WAAW;gBAAE,OAAO,MAAM,CAAC,WAAW,CAAC;YAElD,kCAAkC;YAClC,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAC5C,OAAO,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;QAClE,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC/G,CAAC;IACL,CAAC;IAED,gBAAgB;QACZ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAO,SAAS,CAAC;QAE5C,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAEhD,8BAA8B;YAC9B,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;gBACtB,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC;gBACnC,IAAI,OAAO,GAAG,EAAE,CAAC;gBACjB,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;oBAC/B,OAAO,IAAI,YAAY,MAAM,CAAC,OAAO,IAAI,CAAC;gBAC9C,CAAC;gBACD,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;oBACpB,OAAO,IAAI,gBAAgB,MAAM,CAAC,UAAU,IAAI,CAAC;gBACrD,CAAC;gBACD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBACjB,OAAO,IAAI,YAAY,MAAM,CAAC,OAAO,IAAI,CAAC;gBAC9C,CAAC;gBACD,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;oBAChB,OAAO,IAAI,WAAW,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;gBACvH,CAAC;gBACD,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC;YAC1B,CAAC;YAED,sBAAsB;YACtB,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;gBACtB,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC;gBACnC,IAAI,OAAO,GAAG,EAAE,CAAC;gBACjB,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;oBAC/B,OAAO,IAAI,YAAY,MAAM,CAAC,OAAO,IAAI,CAAC;gBAC9C,CAAC;gBACD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBACjB,OAAO,IAAI,YAAY,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC5C,CAAC;gBACD,OAAO,OAAO,CAAC;YACnB,CAAC;YAED,WAAW;YACX,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAC5C,OAAO,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;QAClE,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAClH,CAAC;IACL,CAAC;IAED,qDAAqD;IACrD,YAAY;QACR,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,WAAW,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAC9D,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,IAAI,SAAS,CAAC;QACpD,CAAC;QACD,OAAO,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;IAC9C,CAAC;IAED,iBAAiB;QACb,OAAO,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;IAC3F,CAAC;IAED,eAAe;QACX,OAAO,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;IACvF,CAAC;IAED,aAAa;QACT,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACnE,OAAO,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC;QAC/C,CAAC;QACD,OAAO,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;IAC5C,CAAC;IAED,kBAAkB;QACd,OAAO,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;IACjD,CAAC;IAEO,aAAa,CAAC,GAAW;QAC7B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO,SAAS,CAAC;QAE3C,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC/C,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;QACvB,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,SAAS,CAAC;QACrB,CAAC;IACL,CAAC;IAED,cAAc,CAAC,QAAgB;QAC3B,4BAA4B;QAC5B,IAAI,IAAI,GAAG,QAAQ,CAAC;QAEpB,UAAU;QACV,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;QACpD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;QACnD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;QAElD,OAAO;QACP,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,qBAAqB,CAAC,CAAC;QAE5D,SAAS;QACT,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;QAEhD,0BAA0B;QAC1B,MAAM,QAAQ,GAAG,gCAAgC,CAAC;QAClD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE;YAClC,MAAM,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,GAAG,EAAE,CAAC;YAC7D,OAAO,YAAY,IAAI,mGAAmG,GAAG,MAAM,CAAC;QACxI,CAAC,CAAC,CAAC;QAEH,cAAc;QACd,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAEnC,QAAQ;QACR,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;QACnD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC;QAEtD,cAAc;QACd,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,4BAA4B,CAAC,CAAC;QAEnE,cAAc;QACd,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC;QAErD,OAAO,IAAI,CAAC;IAChB,CAAC;uHAhSQ,sBAAsB;oEAAtB,sBAAsB;YA7hBvB,AAPJ,8BAIgE,aAI1B;YAA7B,sGAAY,mBAAe,IAAC;YAE7B,sFAAqB;YASrB,+BAAiE;YAWzD,AAHA,AAHA,AAHA,+EAAmB,yDAGA,yDAGE,yDAGH;YAI1B,iBAAO;YAGP,+BAAiD;YA2BzC,AAHA,AATA,AAPA,AAHA,AAHA,+EAAsB,4DAGJ,mDAGA,mDAOG,4DASD,4DAGJ;YAIxB,iBAAO;YAGP,iCAAwB;YACpB,6FAAkD;YAGlD,aACJ;YAAA,iBAAO;YAGP,4FAAqB;YAKrB,4FAAoC;YAYpC,8FAAwB;YAS5B,iBAAM;YAGN,gFAAuB;YAgD3B,iBAAM;;;;YAxJD,uEAA0D;YAD1D,AADA,AADA,wCAA2B,mCACS,yCACM;YAOvC,eAMC;YAND,4CAMC;YAGyB,cAAsC;YAAtC,+CAAsC;YAC5D,cAaC;YAbD,sDAAA,SAAS,mBAAT,SAAS,mBAAT,WAAW,mBAAX,QAAQ,UAaP;YAImB,eAAwB;YAAxB,0CAAwB;YAC5C,cA6BC;YA7BD,wDAAA,YAAY,mBAAZ,QAAQ,oBAAR,QAAQ,oBAAR,WAAW,oBAAX,UAAU,oBAAV,MAAM,WA6BL;YAKD,eAEC;YAFD,8EAEC;YACD,cACJ;YADI,uDACJ;YAGA,cAEC;YAFD,6CAEC;YAGD,cASC;YATD,gEASC;YAGD,cAQC;YARD,gDAQC;YAIL,cA6CC;YA7CD,+CA6CC;;;iFA2YA,sBAAsB;cAziBlC,SAAS;6BACI,KAAK,YACL,mBAAmB,mBACZ,uBAAuB,CAAC,MAAM,YACrC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA8JT;;kBAwYA,KAAK;;kBACL,KAAK;;kBACL,KAAK;;kBACL,KAAK;;kBACL,KAAK;;kBACL,KAAK;;kBAEL,MAAM;;kBACN,MAAM;;kBACN,MAAM;;kFAVE,sBAAsB","sourcesContent":["import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy } from '@angular/core';\nimport { MJAIAgentRunStepEntityExtended } from '@memberjunction/ai-core-plus';\n\n@Component({\n standalone: false,\n selector: 'mj-execution-node',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n <div class=\"tree-node\" \n [class.expanded]=\"expanded\"\n [class.has-children]=\"hasChildren()\"\n [class.details-expanded]=\"detailsExpanded\"\n [class]=\"'depth-' + depth + ' type-' + getStepTypeClass()\">\n \n <!-- Node Header -->\n <div class=\"node-header\" \n (dblclick)=\"onDoubleClick()\">\n <!-- Expand/Collapse Icon - Only show if node has children -->\n @if (hasChildren()) {\n <i class=\"expand-icon fa-solid\"\n [class.fa-chevron-down]=\"expanded\"\n [class.fa-chevron-right]=\"!expanded\"\n (click)=\"onToggleChildren($event)\"\n title=\"Toggle children\"></i>\n }\n \n <!-- Status Icon -->\n <span class=\"status-icon\" [class]=\"'status-' + getStatusClass()\">\n @switch (getStatusClass()) {\n @case ('pending') {\n <i class=\"fa-regular fa-circle\"></i>\n }\n @case ('running') {\n <i class=\"fa-solid fa-spinner fa-spin\"></i>\n }\n @case ('completed') {\n <i class=\"fa-solid fa-check-circle\"></i>\n }\n @case ('failed') {\n <i class=\"fa-solid fa-times-circle\"></i>\n }\n }\n </span>\n \n <!-- Type Icon -->\n <span class=\"type-icon\" [title]=\"getNodeTitle()\">\n @switch (getStepTypeClass()) {\n @case ('validation') {\n <i class=\"fa-solid fa-shield-halved\"></i>\n }\n @case ('prompt') {\n <i class=\"fa-solid fa-brain\"></i>\n }\n @case ('action') {\n @if (getActionIconClass()) {\n <i [class]=\"getActionIconClass()\"></i>\n } @else {\n <i class=\"fa-solid fa-bolt\"></i>\n }\n }\n @case ('sub-agent') {\n @if (getAgentLogoURL()) {\n <img [src]=\"getAgentLogoURL()\" [alt]=\"getAgentName() || 'Agent'\" class=\"agent-logo-icon\">\n } @else if (getAgentIconClass()) {\n <i [class]=\"getAgentIconClass()\"></i>\n } @else {\n <i class=\"fa-solid fa-sitemap\"></i>\n }\n }\n @case ('decision') {\n <i class=\"fa-solid fa-code-branch\"></i>\n }\n @case ('chat') {\n <i class=\"fa-solid fa-comments\"></i>\n }\n }\n </span>\n \n <!-- Node Name with depth indicator for sub-agents -->\n <span class=\"node-name\">\n @if (step.StepType === 'Sub-Agent' && depth > 0) {\n <small style=\"color: #666; margin-right: 8px;\">[Level {{ depth }}]</small>\n }\n {{ getTruncatedName() }}\n </span>\n \n <!-- Duration -->\n @if (getDuration()) {\n <span class=\"node-duration\">{{ formatDuration(getDuration()) }}</span>\n }\n \n <!-- Tokens/Cost -->\n @if (getTokensUsed() || getCost()) {\n <span class=\"node-metrics\">\n @if (getTokensUsed()) {\n <span class=\"tokens\">{{ getTokensUsed() }} tokens</span>\n }\n @if (getCost()) {\n <span class=\"cost\">\\${{ getCost()!.toFixed(4) }}</span>\n }\n </span>\n }\n \n <!-- Details Toggle Button - Only show if node has details -->\n @if (hasNodeDetails()) {\n <button class=\"details-toggle-btn\"\n (click)=\"onToggleDetails($event)\"\n [title]=\"detailsExpanded ? 'Hide details' : 'Show details'\">\n <i class=\"fa-solid\"\n [class.fa-info]=\"!detailsExpanded\"\n [class.fa-times]=\"detailsExpanded\"></i>\n </button>\n }\n </div>\n \n <!-- Node Details (when details are expanded) -->\n @if (detailsExpanded) {\n <!-- Show markdown details first if available -->\n @if (getDetailsMarkdown() || isNameTruncated()) {\n <div class=\"markdown-details\">\n @if (isNameTruncated()) {\n <div class=\"full-name\">{{ step.StepName }}</div>\n }\n @if (getDetailsMarkdown()) {\n <div class=\"detail-content markdown\" [innerHTML]=\"formatMarkdown(getDetailsMarkdown()!)\"></div>\n }\n </div>\n }\n \n <!-- Always show details section if node is expanded, even if some content is empty -->\n <div class=\"node-details\">\n @if (step.ErrorMessage) {\n <div class=\"detail-section error\">\n <div class=\"detail-label\">\n <i class=\"fa-solid fa-exclamation-triangle\"></i> Error\n </div>\n <div class=\"detail-content\">{{ step.ErrorMessage }}</div>\n </div>\n }\n @if (getInputPreview()) {\n <div class=\"detail-section\">\n <div class=\"detail-label\">\n <i class=\"fa-solid fa-sign-in-alt\"></i> Input\n </div>\n <div class=\"detail-content\">{{ getInputPreview() }}</div>\n </div>\n }\n @if (getOutputPreview()) {\n <div class=\"detail-section\">\n <div class=\"detail-label\">\n <i class=\"fa-solid fa-sign-out-alt\"></i> Output\n </div>\n <div class=\"detail-content\">{{ getOutputPreview() }}</div>\n </div>\n }\n @if (!step.ErrorMessage && !getInputPreview() && !getOutputPreview() && !getDetailsMarkdown() && !isNameTruncated()) {\n <div class=\"detail-section\">\n <div class=\"detail-content\">No additional details available for this step.</div>\n </div>\n }\n </div>\n }\n \n <!-- Note: Sub-agent children are rendered by the parent component to maintain proper depth tracking -->\n </div>\n `,\n styles: [`\n :host {\n display: block;\n width: 100%;\n }\n \n /* Depth-based indentation - each level indents by 24px */\n .tree-node {\n margin: 4px 0;\n position: relative;\n }\n \n /* Root level nodes (depth 0) */\n .depth-0 { \n margin-left: 0;\n position: relative;\n z-index: 2;\n }\n .depth-0::after {\n display: none;\n }\n .depth-0 .node-header { \n background: #f8f9fa;\n border: 2px solid #e0e0e0;\n font-weight: 600;\n position: relative;\n z-index: 10;\n }\n \n /* Sub-level nodes with increasing indentation */\n .depth-1 {\n margin-left: 24px;\n }\n .depth-1 .node-header {\n background: #fafafa;\n border-color: #d0d0d0;\n }\n \n .depth-2 {\n margin-left: 48px;\n }\n .depth-2 .node-header {\n background: #fcfcfc;\n border-color: #c0c0c0;\n }\n \n .depth-3 {\n margin-left: 72px;\n }\n .depth-3 .node-header {\n background: #fdfdfd;\n border-color: #b0b0b0;\n }\n \n .depth-4 {\n margin-left: 96px;\n }\n .depth-4 .node-header {\n background: #fefefe;\n border-color: #a0a0a0;\n }\n \n .depth-5 {\n margin-left: 120px;\n }\n .depth-5 .node-header {\n background: #fefefe;\n border-color: #a0a0a0;\n }\n \n .depth-6 {\n margin-left: 144px;\n }\n .depth-6 .node-header {\n background: #fefefe;\n border-color: #a0a0a0;\n }\n\n /* Root level - higher z-index to hide lines behind it */\n .depth-0 { \n position: relative;\n overflow: hidden;\n z-index: 2;\n }\n .depth-0 .node-header { \n background: #f8f9fa;\n position: relative;\n z-index: 2;\n }\n \n /* Only add left padding for nodes with children (that show chevrons) */\n .depth-0.has-children::before {\n content: '';\n position: absolute;\n left: 12px;\n top: 0;\n width: 2px;\n height: 100%;\n border-left: 2px dotted #c0c7d0;\n z-index: 0; /* Behind everything */\n }\n \n /* Child level - only for nodes that actually have parent chevrons */\n .depth-1 { \n margin-left: 30px;\n padding-left: 12px;\n position: relative;\n z-index: 1;\n }\n .depth-1 .node-header { \n background: #fafbfc;\n position: relative;\n z-index: 1;\n }\n \n /* Horizontal line connecting to each child node - only when parent has children */\n .depth-1::after {\n content: '';\n position: absolute;\n left: -15px;\n top: 12px;\n width: 25px;\n height: 2px;\n border-bottom: 2px dotted #c0c7d0;\n z-index: 1;\n }\n \n /* Visual indicator when details are expanded */\n .tree-node.details-expanded > .node-header {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n border-bottom: 1px solid #2196f3;\n }\n \n .node-header {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 12px;\n border: 1px solid #e0e0e0;\n border-radius: 6px;\n transition: all 0.2s ease;\n user-select: none;\n position: relative;\n z-index: 5;\n background: white;\n }\n \n .node-header:hover {\n background: var(--gray-700);\n border-color: var(--mj-blue) !important;\n }\n \n /* Sub-agent specific styling */\n .tree-node.type-sub-agent > .node-header {\n border-left: 4px solid var(--mj-blue);\n }\n \n /* Action specific styling */\n .tree-node.type-action > .node-header {\n border-left: 4px solid #4caf50;\n }\n \n .expand-icon {\n width: 20px;\n height: 20px;\n display: flex;\n align-items: center;\n justify-content: center;\n text-align: center;\n color: #666;\n font-size: 10px;\n cursor: pointer;\n border-radius: 3px;\n transition: all 0.2s ease;\n z-index: 10; /* Ensure expand icon is clickable */\n position: relative;\n }\n \n .expand-icon:hover {\n background: #e0e0e0;\n color: #333;\n }\n \n .status-icon {\n width: 20px;\n text-align: center;\n font-size: 14px;\n }\n \n .status-pending { color: #999; }\n .status-running { color: #2196f3; }\n .status-completed { color: #4caf50; }\n .status-failed { color: #f44336; }\n \n .type-icon {\n width: 20px;\n text-align: center;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 14px;\n color: #666;\n }\n \n .agent-logo-icon {\n width: 16px;\n height: 16px;\n object-fit: cover;\n border-radius: 3px;\n }\n \n .node-name {\n flex: 1;\n font-size: 13px;\n font-weight: 500;\n color: #1a1a1a;\n }\n \n \n .node-duration {\n font-size: 12px;\n color: #666;\n font-weight: 500;\n }\n \n .node-metrics {\n display: flex;\n gap: 12px;\n font-size: 12px;\n }\n \n .tokens {\n color: #666;\n }\n \n .cost {\n color: #2196f3;\n font-weight: 500;\n }\n \n /* Details Toggle Button */\n .details-toggle-btn {\n width: 28px;\n height: 28px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: transparent;\n border: 1px solid #e0e0e0;\n border-radius: 4px;\n cursor: pointer;\n transition: all 0.2s ease;\n font-size: 12px;\n color: #666;\n margin-left: 4px;\n }\n \n .details-toggle-btn:hover {\n background: #f0f0f0;\n border-color: #2196f3;\n color: #2196f3;\n }\n \n .details-toggle-btn:active {\n background: #e3f2fd;\n }\n \n /* When details are expanded, style the button differently */\n .tree-node.details-expanded .details-toggle-btn {\n background: #2196f3;\n border-color: #2196f3;\n color: white;\n }\n \n .tree-node.details-expanded .details-toggle-btn:hover {\n background: #1976d2;\n border-color: #1976d2;\n }\n \n .node-details {\n margin: 0 5px;\n padding: 16px;\n background: var(--gray-600);\n border: 1px solid var(--gray-700);\n border-top: none;\n border-radius: 0 0 6px 6px;\n font-size: 12px;\n position: relative;\n z-index: 4;\n }\n \n .detail-section {\n margin-bottom: 8px;\n }\n \n .detail-section:last-child {\n margin-bottom: 0;\n }\n \n .detail-section.error {\n color: #d32f2f;\n }\n \n .detail-label {\n display: flex;\n align-items: center;\n gap: 6px;\n font-weight: 600;\n margin-bottom: 4px;\n color: #555;\n }\n \n .detail-content {\n white-space: pre-wrap;\n word-break: break-word;\n color: #333;\n line-height: 1.4;\n }\n \n .markdown-details {\n padding: 16px 16px 0 16px;\n background: var(--gray-600);\n border: 1px solid var(--gray-700);\n border-bottom: none;\n border-top: none;\n margin: 0 5px;\n }\n \n .markdown h3, .markdown h4 {\n margin: 8px 0 4px 0;\n color: #1a1a1a;\n }\n \n .markdown h3 {\n font-size: 14px;\n }\n \n .markdown h4 {\n font-size: 13px;\n }\n \n .markdown ul {\n margin: 4px 0;\n padding-left: 20px;\n }\n \n .markdown li {\n margin: 2px 0;\n }\n \n .markdown code {\n background: #e8e8e8;\n padding: 1px 4px;\n border-radius: 3px;\n font-size: 12px;\n }\n \n .markdown pre {\n background: #f5f5f5;\n padding: 8px;\n border-radius: 4px;\n overflow-x: auto;\n margin: 4px 0;\n }\n \n .markdown pre code {\n background: none;\n padding: 0;\n }\n \n .markdown strong {\n font-weight: 600;\n color: #1a1a1a;\n }\n \n .markdown em {\n font-style: italic;\n color: #555;\n }\n \n .full-name {\n font-weight: 600;\n color: #1a1a1a;\n padding-bottom: 8px;\n border-bottom: 1px solid #e0e0e0;\n word-wrap: break-word;\n }\n `]\n})\nexport class ExecutionNodeComponent {\n @Input() step!: MJAIAgentRunStepEntityExtended;\n @Input() depth: number = 0;\n @Input() agentPath: string[] = [];\n @Input() expanded: boolean = false;\n @Input() detailsExpanded: boolean = false;\n @Input() overrideDisplayStatus?: string; // Allow parent to override the displayed status\n \n @Output() toggleNode = new EventEmitter<void>();\n @Output() toggleDetails = new EventEmitter<void>();\n @Output() userInteracted = new EventEmitter<void>();\n \n hasChildren(): boolean {\n return this.step.StepType === 'Sub-Agent' && \n !!this.step.SubAgentRun?.Steps && \n this.step.SubAgentRun.Steps.length > 0;\n }\n \n onToggleChildren(event?: Event): void {\n if (event) {\n event.stopPropagation();\n }\n if (this.hasChildren()) {\n this.toggleNode.emit();\n this.userInteracted.emit();\n }\n }\n \n onToggleDetails(event?: Event): void {\n if (event) {\n event.stopPropagation();\n }\n if (this.hasNodeDetails()) {\n this.toggleDetails.emit();\n this.userInteracted.emit();\n }\n }\n \n onDoubleClick(): void {\n if (this.hasChildren()) {\n this.toggleNode.emit();\n this.userInteracted.emit();\n }\n }\n \n hasNodeDetails(): boolean {\n return !!this.step.InputData || \n !!this.step.OutputData || \n !!this.step.ErrorMessage || \n !!this.getDetailsMarkdown() ||\n this.isNameTruncated();\n }\n \n getTruncatedName(): string {\n const maxLength = 120;\n const name = this.getStepName();\n if (name.length <= maxLength) {\n return name;\n }\n return name.substring(0, maxLength) + '...';\n }\n \n isNameTruncated(): boolean {\n return this.step.StepName.length > 120;\n }\n \n formatDuration(ms: number): string {\n if (ms < 1000) return `${ms}ms`;\n if (ms < 60000) return `${(ms / 1000).toFixed(1)}s`;\n const minutes = Math.floor(ms / 60000);\n const seconds = Math.floor((ms % 60000) / 1000);\n return `${minutes}m ${seconds}s`;\n }\n \n getNodeTitle(): string {\n if (this.step.StepType === 'Sub-Agent' && this.getAgentName()) {\n return `Sub-agent: ${this.getAgentName()}`;\n }\n if (this.step.StepType === 'Actions' && this.getActionName()) {\n return `Action: ${this.getActionName()}`;\n }\n return this.step.StepType;\n }\n \n // Getter methods for step data\n getStepName(): string {\n // Extract just the first line if the name contains markdown\n const lines = this.step.StepName.split('\\n');\n return lines[0].trim();\n }\n \n getStepTypeClass(): string {\n const typeMap: Record<string, string> = {\n 'Validation': 'validation',\n 'Prompt': 'prompt',\n 'Actions': 'action',\n 'Sub-Agent': 'sub-agent',\n 'Decision': 'decision',\n 'Chat': 'chat'\n };\n return typeMap[this.step.StepType] || 'prompt';\n }\n \n getStatusClass(): string {\n const statusMap: Record<string, string> = {\n 'Pending': 'pending',\n 'Running': 'running',\n 'Completed': 'completed',\n 'Failed': 'failed',\n 'Cancelled': 'failed',\n 'Paused': 'pending'\n };\n // Use override if provided, otherwise use actual status\n const status = this.overrideDisplayStatus || this.step.Status;\n return statusMap[status] || 'pending';\n }\n \n getDuration(): number {\n if (!this.step.StartedAt || !this.step.CompletedAt) return 0;\n return new Date(this.step.CompletedAt).getTime() - new Date(this.step.StartedAt).getTime();\n }\n \n getTokensUsed(): number | undefined {\n // Check if this is a prompt step with token data\n if (this.step.StepType === 'Prompt' && this.step.PromptRun) {\n return this.step.PromptRun.TokensUsed || undefined;\n }\n return undefined;\n }\n \n getCost(): number | undefined {\n // Check if this is a prompt step with cost data\n if (this.step.StepType === 'Prompt' && this.step.PromptRun) {\n return this.step.PromptRun.TotalCost || undefined;\n }\n return undefined;\n }\n \n getDetailsMarkdown(): string | undefined {\n // Check if the step name contains markdown details after the first line\n const lines = this.step.StepName.split('\\n');\n if (lines.length > 1) {\n return lines.slice(1).join('\\n').trim();\n }\n return undefined;\n }\n \n getInputPreview(): string | undefined {\n if (!this.step.InputData) return undefined;\n \n try {\n const parsed = JSON.parse(this.step.InputData);\n \n // Extract meaningful preview\n if (parsed.promptName) return `Prompt: ${parsed.promptName}`;\n if (parsed.actionName) return `Action: ${parsed.actionName}`;\n if (parsed.subAgentName) return `Sub-agent: ${parsed.subAgentName}`;\n if (parsed.message) return parsed.message;\n if (parsed.userMessage) return parsed.userMessage;\n \n // Fallback to stringified preview\n const str = JSON.stringify(parsed, null, 2);\n return str.length > 500 ? str.substring(0, 500) + '...' : str;\n } catch {\n return typeof this.step.InputData === 'string' ? this.step.InputData : JSON.stringify(this.step.InputData);\n }\n }\n \n getOutputPreview(): string | undefined {\n if (!this.step.OutputData) return undefined;\n \n try {\n const parsed = JSON.parse(this.step.OutputData);\n \n // Show action results clearly\n if (parsed.actionResult) {\n const result = parsed.actionResult;\n let preview = '';\n if (result.success !== undefined) {\n preview += `Success: ${result.success}\\n`;\n }\n if (result.resultCode) {\n preview += `Result Code: ${result.resultCode}\\n`;\n }\n if (result.message) {\n preview += `Message: ${result.message}\\n`;\n }\n if (result.result) {\n preview += `Result: ${typeof result.result === 'object' ? JSON.stringify(result.result, null, 2) : result.result}`;\n }\n return preview.trim();\n }\n \n // Show prompt results\n if (parsed.promptResult) {\n const result = parsed.promptResult;\n let preview = '';\n if (result.success !== undefined) {\n preview += `Success: ${result.success}\\n`;\n }\n if (result.content) {\n preview += `Content: ${result.content}`;\n }\n return preview;\n }\n \n // Fallback\n const str = JSON.stringify(parsed, null, 2);\n return str.length > 500 ? str.substring(0, 500) + '...' : str;\n } catch {\n return typeof this.step.OutputData === 'string' ? this.step.OutputData : JSON.stringify(this.step.OutputData);\n }\n }\n \n // Methods to extract metadata from input/output data\n getAgentName(): string | undefined {\n if (this.step.StepType === 'Sub-Agent' && this.step.SubAgentRun) {\n return this.step.SubAgentRun.Agent || undefined;\n }\n return this.parseMetadata('subAgentName');\n }\n \n getAgentIconClass(): string | undefined {\n return this.parseMetadata('subAgentIconClass') || this.parseMetadata('agentIconClass');\n }\n \n getAgentLogoURL(): string | undefined {\n return this.parseMetadata('subAgentLogoURL') || this.parseMetadata('agentLogoURL');\n }\n \n getActionName(): string | undefined {\n if (this.step.StepType === 'Actions' && this.step.ActionExecutionLog) {\n return this.step.ActionExecutionLog.Action;\n }\n return this.parseMetadata('actionName');\n }\n \n getActionIconClass(): string | undefined {\n return this.parseMetadata('actionIconClass');\n }\n \n private parseMetadata(key: string): string | undefined {\n if (!this.step.InputData) return undefined;\n \n try {\n const parsed = JSON.parse(this.step.InputData);\n return parsed[key];\n } catch {\n return undefined;\n }\n }\n \n formatMarkdown(markdown: string): string {\n // Basic markdown formatting\n let html = markdown;\n \n // Headers\n html = html.replace(/^### (.*$)/gim, '<h4>$1</h4>');\n html = html.replace(/^## (.*$)/gim, '<h3>$1</h3>');\n html = html.replace(/^# (.*$)/gim, '<h2>$1</h2>');\n \n // Bold\n html = html.replace(/\\*\\*(.*)\\*\\*/g, '<strong>$1</strong>');\n \n // Italic\n html = html.replace(/\\*(.*)\\*/g, '<em>$1</em>');\n \n // Detect and linkify URLs\n const urlRegex = /(?:https?:\\/\\/|www\\.)[^\\s<]+/gi;\n html = html.replace(urlRegex, (url) => {\n const href = url.startsWith('http') ? url : `https://${url}`;\n return `<a href=\"${href}\" target=\"_blank\" rel=\"noopener noreferrer\" style=\"color: #2196f3; text-decoration: underline;\">${url}</a>`;\n });\n \n // Line breaks\n html = html.replace(/\\n/g, '<br>');\n \n // Lists\n html = html.replace(/^\\* (.+)$/gim, '<li>$1</li>');\n html = html.replace(/(<li>.*<\\/li>)/s, '<ul>$1</ul>');\n \n // Code blocks\n html = html.replace(/```(.*?)```/gs, '<pre><code>$1</code></pre>');\n \n // Inline code\n html = html.replace(/`([^`]+)`/g, '<code>$1</code>');\n \n return html;\n }\n}"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-test-harness-dialog.component.js","sourceRoot":"","sources":["../../src/lib/ai-test-harness-dialog.component.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ai-test-harness-dialog.component.js","sourceRoot":"","sources":["../../src/lib/ai-test-harness-dialog.component.ts"],"names":[],"mappings":"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","sourcesContent":["import { Component, Input, Output, EventEmitter, OnInit, ViewChild, ChangeDetectorRef, AfterViewInit } from '@angular/core';\nimport { MJAIAgentEntityExtended, MJAIPromptEntityExtended, MJAIPromptRunEntityExtended } from '@memberjunction/ai-core-plus';\nimport { Metadata } from '@memberjunction/core';\nimport { AITestHarnessComponent } from './ai-test-harness.component';\nimport { ChatMessage } from '@memberjunction/ai';\n\n/**\n * Configuration data interface for the AI Test Harness Dialog.\n * Provides all necessary options for initializing the dialog with appropriate\n * agent/prompt data, dimensions, and initial variable configurations.\n */\nexport interface AITestHarnessDialogData {\n /** ID of the AI agent to load (alternative to providing agent entity) */\n agentId?: string;\n /** Pre-loaded AI agent entity (alternative to providing agentId) */\n agent?: MJAIAgentEntityExtended;\n /** ID of the AI prompt to load (alternative to providing prompt entity) */\n promptId?: string;\n /** Pre-loaded AI prompt entity (alternative to providing promptId) */\n prompt?: MJAIPromptEntityExtended;\n /** Custom dialog title (defaults to agent/prompt name) */\n title?: string;\n /** Dialog width in CSS units or viewport percentage */\n width?: string | number;\n /** Dialog height in CSS units or viewport percentage */\n height?: string | number;\n /** Initial data context variables for agent execution */\n initialDataContext?: Record<string, any>;\n /** Initial template data variables for prompt rendering */\n initialTemplateData?: Record<string, any>;\n /** Initial template variables for prompt execution */\n initialTemplateVariables?: Record<string, any>;\n /** Pre-selected AI model ID for prompt execution */\n selectedModelId?: string;\n /** Pre-selected AI vendor ID for prompt execution */\n selectedVendorId?: string;\n /** Pre-selected AI configuration ID for prompt execution */\n selectedConfigurationId?: string;\n /** Mode of operation - 'agent' or 'prompt' */\n mode?: 'agent' | 'prompt';\n /** ID of an existing prompt run to preload data from */\n promptRunId?: string;\n}\n\n/**\n * Dialog wrapper component for the AI Agent Test Harness.\n * Provides a modal dialog interface with proper sizing, header, and close functionality.\n * Automatically loads agent data and initializes the test harness with provided configuration.\n * \n * ## Features:\n * - **Automatic Agent Loading**: Loads agent by ID or uses provided entity\n * - **Configurable Dimensions**: Supports custom dialog sizing\n * - **Initial Data Setup**: Pre-populates data context and template variables\n * - **Clean Dialog Interface**: Professional header with close button\n * - **Responsive Layout**: Adapts to content and screen size\n * \n * ## Usage:\n * This component is typically opened through the `TestHarnessDialogService` rather than directly:\n * ```typescript\n * const dialogRef = this.testHarnessService.openAgentTestHarness({\n * agentId: 'agent-123',\n * initialDataContext: { userId: 'user-456' }\n * });\n * ```\n */\n@Component({\n standalone: false,\n selector: 'mj-ai-test-harness-dialog',\n template: `\n <div class=\"test-harness-dialog\">\n <div class=\"dialog-header\">\n <h2>{{ title }}</h2>\n <button class=\"close-button\" (click)=\"close()\">\n <i class=\"fa-solid fa-times\"></i>\n </button>\n </div>\n <div class=\"dialog-content\">\n <mj-ai-test-harness \n #testHarness\n [mode]=\"mode\"\n [entity]=\"mode === 'agent' ? agent : prompt\"\n [isVisible]=\"true\">\n </mj-ai-test-harness>\n </div>\n </div>\n `,\n styles: [`\n .test-harness-dialog {\n display: flex;\n flex-direction: column;\n height: 100%;\n width: 100%;\n }\n\n .dialog-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 16px 24px;\n border-bottom: 1px solid #e0e0e0;\n background-color: #f5f5f5;\n }\n\n .dialog-header h2 {\n margin: 0;\n font-size: 20px;\n font-weight: 500;\n }\n\n .close-button {\n position: relative;\n top: -4px;\n background: none;\n border: none;\n cursor: pointer;\n padding: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 4px;\n transition: background-color 0.2s;\n }\n \n .close-button:hover {\n background-color: rgba(0, 0, 0, 0.04);\n }\n\n .dialog-content {\n flex: 1;\n overflow: hidden;\n padding: 0;\n }\n\n :host ::ng-deep .test-harness-container {\n height: 100%;\n }\n `]\n})\nexport class AITestHarnessDialogComponent implements OnInit, AfterViewInit {\n /** Reference to the embedded test harness component */\n @ViewChild('testHarness', { static: false }) testHarness!: AITestHarnessComponent;\n \n /** The loaded AI agent entity for testing */\n agent: MJAIAgentEntityExtended | null = null;\n \n /** The loaded AI prompt entity for testing */\n prompt: MJAIPromptEntityExtended | null = null;\n \n /** The mode of operation - either 'agent' or 'prompt' */\n mode: 'agent' | 'prompt' = 'agent';\n \n /** Display title for the dialog header */\n title: string = 'AI Test Harness';\n \n /** Configuration data passed from the dialog service */\n @Input() data: AITestHarnessDialogData = {};\n \n /** Event emitted when the dialog should be closed */\n @Output() closeDialog = new EventEmitter<void>();\n \n constructor(private cdr: ChangeDetectorRef) {}\n \n /**\n * Initializes the dialog component by loading agent/prompt data and configuring\n * the embedded test harness with initial variables and settings.\n */\n async ngOnInit() {\n // Set mode from data\n if (this.data.mode) {\n this.mode = this.data.mode;\n }\n \n if (this.data.title) {\n this.title = this.data.title;\n }\n \n const md = new Metadata();\n \n // Load entity based on mode\n if (this.mode === 'agent' || (!this.data.promptId && !this.data.prompt)) {\n // Agent mode\n if (this.data.agentId && !this.data.agent) {\n this.agent = await md.GetEntityObject<MJAIAgentEntityExtended>('MJ: AI Agents');\n await this.agent.Load(this.data.agentId);\n \n if (this.agent) {\n this.title = this.title || `Test Harness: ${this.agent.Name}`;\n }\n } else if (this.data.agent) {\n this.agent = this.data.agent;\n this.title = this.title || `Test Harness: ${this.agent.Name}`;\n }\n } else {\n // Prompt mode\n this.mode = 'prompt';\n if (this.data.promptId && !this.data.prompt) {\n this.prompt = await md.GetEntityObject<MJAIPromptEntityExtended>('MJ: AI Prompts');\n await this.prompt.Load(this.data.promptId);\n \n if (this.prompt) {\n this.title = this.title || `Test Harness: ${this.prompt.Name}`;\n }\n } else if (this.data.prompt) {\n this.prompt = this.data.prompt;\n this.title = this.title || `Test Harness: ${this.prompt.Name}`;\n }\n }\n }\n \n /**\n * AfterViewInit lifecycle hook to set initial data after view is initialized\n */\n async ngAfterViewInit(): Promise<void> {\n console.log('🚀 ngAfterViewInit - testHarness available:', !!this.testHarness);\n console.log('📊 Dialog data:', this.data);\n console.log('🎯 Mode:', this.mode);\n \n if (this.testHarness) {\n // Check if we need to load from a prompt run\n if (this.data.promptRunId && this.mode === 'prompt') {\n console.log('🔄 Loading from prompt run in AfterViewInit:', this.data.promptRunId);\n await this.loadFromPromptRun(this.data.promptRunId);\n } else {\n console.log('📌 Not loading from prompt run - promptRunId:', this.data.promptRunId, 'mode:', this.mode);\n if (this.mode === 'agent') {\n // Agent mode: set agent variables\n if (this.data.initialDataContext) {\n const variables = Object.entries(this.data.initialDataContext).map(([name, value]) => ({\n name,\n value: typeof value === 'object' ? JSON.stringify(value) : String(value),\n type: this.detectVariableType(value)\n }));\n this.testHarness.agentVariables = variables;\n }\n \n if (this.data.initialTemplateData) {\n const templateVariables = Object.entries(this.data.initialTemplateData).map(([name, value]) => ({\n name,\n value: typeof value === 'object' ? JSON.stringify(value) : String(value),\n type: this.detectVariableType(value)\n }));\n this.testHarness.agentVariables = [...this.testHarness.agentVariables, ...templateVariables];\n }\n } else {\n // Prompt mode: set template variables\n if (this.data.initialTemplateVariables) {\n const variables = Object.entries(this.data.initialTemplateVariables).map(([name, value]) => ({\n name,\n value: typeof value === 'object' ? JSON.stringify(value) : String(value),\n type: this.detectVariableType(value)\n }));\n this.testHarness.templateVariables = variables;\n }\n \n // Set selected model if provided\n if (this.data.selectedModelId) {\n this.testHarness.selectedModelId = this.data.selectedModelId;\n }\n if (this.data.selectedVendorId) {\n this.testHarness.selectedVendorId = this.data.selectedVendorId;\n }\n if (this.data.selectedConfigurationId) {\n this.testHarness.selectedConfigurationId = this.data.selectedConfigurationId;\n }\n }\n }\n \n // Trigger change detection to ensure view updates\n console.log('🔄 Triggering change detection');\n this.cdr.detectChanges();\n \n // Check after change detection\n setTimeout(() => {\n console.log('⏱️ After timeout - conversationMessages:', this.testHarness?.conversationMessages);\n console.log('⏱️ Test harness component state:', {\n mode: this.testHarness?.mode,\n entity: this.testHarness?.entity?.Name,\n messagesLength: this.testHarness?.conversationMessages?.length\n });\n }, 100);\n }\n }\n \n /**\n * Determines the appropriate variable type for initial data configuration.\n * @param value - The value to analyze for type detection\n * @returns The detected variable type\n * @private\n */\n private detectVariableType(value: any): 'string' | 'number' | 'boolean' | 'object' {\n if (typeof value === 'boolean') return 'boolean';\n if (typeof value === 'number') return 'number';\n if (typeof value === 'object') return 'object';\n return 'string';\n }\n \n /**\n * Loads data from an existing prompt run to pre-populate the test harness\n * @param promptRunId - The ID of the prompt run to load\n */\n private async loadFromPromptRun(promptRunId: string): Promise<void> {\n console.log('🔄 Loading from prompt run:', promptRunId);\n const md = new Metadata();\n const promptRun = await md.GetEntityObject<MJAIPromptRunEntityExtended>('MJ: AI Prompt Runs');\n \n if (await promptRun.Load(promptRunId)) {\n console.log('✅ Prompt run loaded successfully');\n // Load the prompt if not already loaded\n if (!this.prompt && promptRun.PromptID) {\n this.prompt = await md.GetEntityObject<MJAIPromptEntityExtended>('MJ: AI Prompts');\n await this.prompt.Load(promptRun.PromptID);\n this.testHarness.entity = this.prompt;\n \n // Update title to indicate we're re-running\n this.title = `Re-Run: ${this.prompt.Name}`;\n }\n \n // Set the model/vendor/configuration\n if (promptRun.ModelID) {\n this.testHarness.selectedModelId = promptRun.ModelID;\n }\n if (promptRun.VendorID) {\n this.testHarness.selectedVendorId = promptRun.VendorID;\n }\n if (promptRun.ConfigurationID) {\n this.testHarness.selectedConfigurationId = promptRun.ConfigurationID;\n }\n \n // Note: We do NOT extract template variables because we want to use\n // the already-rendered system prompt from the previous run, not re-render it\n \n // Set advanced parameters\n if (promptRun.Temperature != null) {\n this.testHarness.advancedParams.temperature = promptRun.Temperature;\n }\n if (promptRun.TopP != null) {\n this.testHarness.advancedParams.topP = promptRun.TopP;\n }\n if (promptRun.TopK != null) {\n this.testHarness.advancedParams.topK = promptRun.TopK;\n }\n if (promptRun.MinP != null) {\n this.testHarness.advancedParams.minP = promptRun.MinP;\n }\n if (promptRun.FrequencyPenalty != null) {\n this.testHarness.advancedParams.frequencyPenalty = promptRun.FrequencyPenalty;\n }\n if (promptRun.PresencePenalty != null) {\n this.testHarness.advancedParams.presencePenalty = promptRun.PresencePenalty;\n }\n if (promptRun.Seed != null) {\n this.testHarness.advancedParams.seed = promptRun.Seed;\n }\n // Note: responseFormat is handled separately, not in advancedParams\n \n // Use the extended entity methods to get conversation messages\n console.log('📝 Raw Messages field:', promptRun.Messages);\n const parsedData = promptRun.ParseMessagesData();\n console.log('🔍 Parsed messages data:', parsedData);\n \n const chatMessages = promptRun.GetChatMessages();\n console.log('💬 Extracted chat messages:', chatMessages);\n \n if (chatMessages.length > 0) {\n // Convert messages to the format expected by the test harness\n const convertedMessages = chatMessages.map((msg, index) => ({\n id: `msg-${Date.now()}-${index}`,\n role: msg.role,\n content: typeof msg.content === 'string' ? msg.content : \n Array.isArray(msg.content) ? \n msg.content.filter(block => block.type === 'text').map(block => block.content).join('\\n') : \n '',\n timestamp: new Date()\n }));\n \n console.log('🎯 Converted messages for test harness:', convertedMessages);\n this.testHarness.conversationMessages = convertedMessages;\n console.log('✅ Test harness conversationMessages set:', this.testHarness.conversationMessages);\n } else {\n console.log('⚠️ No chat messages found in prompt run');\n }\n \n // Store the original prompt run ID for reference\n this.testHarness.originalPromptRunId = promptRunId;\n \n // Extract and store the system prompt for re-run\n const systemPrompt = promptRun.GetSystemPrompt();\n if (systemPrompt) {\n this.testHarness.systemPromptOverride = systemPrompt;\n }\n \n // Add a note indicating this is a re-run\n if (this.testHarness.conversationMessages.length > 0) {\n // Add a system message indicating this is a re-run\n this.testHarness.conversationMessages.unshift({\n id: `system-${Date.now()}`,\n role: 'system',\n content: `[Re-running from Prompt Run #${promptRunId.substring(0, 8)}]`,\n timestamp: new Date()\n });\n }\n }\n }\n \n /**\n * Closes the dialog by emitting the close event.\n * This method is called by the close button in the header.\n */\n close(): void {\n this.closeDialog.emit();\n }\n}"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-test-harness-dialog.service.js","sourceRoot":"","sources":["../../src/lib/ai-test-harness-dialog.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAoB,MAAM,eAAe,CAAC;;;AAK7D;;;;GAIG;AAIH,MAAM,OAAO,0BAA0B;IACrC,YAAoB,kBAAmD;QAAnD,uBAAkB,GAAlB,kBAAkB,CAAiC;IAAG,CAAC;IAE3E;;OAEG;IACH,YAAY,CAAC,OAAe,EAAE,gBAAmC;QAC/D,OAAO,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,CAAC;YAClD,OAAO,EAAE,OAAO;YAChB,8EAA8E;YAC9E,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,MAAM;YACd,gBAAgB,EAAE,gBAAgB;SACnC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,QAAgB,EAAE,gBAAmC;QACjE,OAAO,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,CAAC;YACnD,QAAQ,EAAE,QAAQ;YAClB,+EAA+E;YAC/E,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,MAAM;YACd,gBAAgB,EAAE,gBAAgB;SACnC,CAAC,CAAC;IACL,CAAC;2HA3BU,0BAA0B;uEAA1B,0BAA0B,WAA1B,0BAA0B,mBAFzB,MAAM;;iFAEP,0BAA0B;cAHtC,UAAU;eAAC;gBACV,UAAU,EAAE,MAAM;aACnB"}
|
|
1
|
+
{"version":3,"file":"ai-test-harness-dialog.service.js","sourceRoot":"","sources":["../../src/lib/ai-test-harness-dialog.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAoB,MAAM,eAAe,CAAC;;;AAK7D;;;;GAIG;AAIH,MAAM,OAAO,0BAA0B;IACrC,YAAoB,kBAAmD;QAAnD,uBAAkB,GAAlB,kBAAkB,CAAiC;IAAG,CAAC;IAE3E;;OAEG;IACH,YAAY,CAAC,OAAe,EAAE,gBAAmC;QAC/D,OAAO,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,CAAC;YAClD,OAAO,EAAE,OAAO;YAChB,8EAA8E;YAC9E,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,MAAM;YACd,gBAAgB,EAAE,gBAAgB;SACnC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,QAAgB,EAAE,gBAAmC;QACjE,OAAO,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,CAAC;YACnD,QAAQ,EAAE,QAAQ;YAClB,+EAA+E;YAC/E,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,MAAM;YACd,gBAAgB,EAAE,gBAAgB;SACnC,CAAC,CAAC;IACL,CAAC;2HA3BU,0BAA0B;uEAA1B,0BAA0B,WAA1B,0BAA0B,mBAFzB,MAAM;;iFAEP,0BAA0B;cAHtC,UAAU;eAAC;gBACV,UAAU,EAAE,MAAM;aACnB","sourcesContent":["import { Injectable, ViewContainerRef } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { TestHarnessWindowManagerService } from './test-harness-window-manager.service';\nimport { TestResult } from './test-harness-window.service';\n\n/**\n * Service for opening AI test harness windows for agents and prompts.\n * This service wraps the TestHarnessWindowManagerService to provide a simpler API\n * that matches the expected interface in consuming components.\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class AITestHarnessDialogService {\n constructor(private testHarnessService: TestHarnessWindowManagerService) {}\n\n /**\n * Opens the test harness window for an AI Agent\n */\n openForAgent(agentId: string, viewContainerRef?: ViewContainerRef): Observable<TestResult> {\n return this.testHarnessService.openAgentTestHarness({\n agentId: agentId,\n // Don't pass title - let the window component generate it with the agent name\n width: '80vw',\n height: '80vh',\n viewContainerRef: viewContainerRef\n });\n }\n\n /**\n * Opens the test harness window for an AI Prompt\n */\n openForPrompt(promptId: string, viewContainerRef?: ViewContainerRef): Observable<TestResult> {\n return this.testHarnessService.openPromptTestHarness({\n promptId: promptId,\n // Don't pass title - let the window component generate it with the prompt name\n width: '80vw',\n height: '80vh',\n viewContainerRef: viewContainerRef\n });\n }\n}"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-test-harness-window.component.js","sourceRoot":"","sources":["../../src/lib/ai-test-harness-window.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAqB,MAAM,eAAe,CAAC;AAE1F,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;;;;;IAwBhC,8BAA+B;IAC3B,gCAAkH;IACtH,iBAAM;;;IADU,cAA2E;IAA3E,gGAA2E;;;IAI3F,8BAA6B;IACzB,uBAAgD;IAChD,yBAAG;IAAA,YAAW;IAClB,AADkB,iBAAI,EAChB;;;IADC,eAAW;IAAX,kCAAW;;;;IAIlB,6CAKgD;IAA5C,oOAAqB,4BAAqB,KAAC;IAC/C,iBAAqB;;;IAFjB,AADA,AADA,AADA,8DAAoC,qBACvB,mBACK,wDAC8B;;AA0CpE,MAAM,OAAO,4BAA4B;IA/DzC;QAgEa,SAAI,GAA4B,EAAE,CAAC;QAClC,gBAAW,GAAG,IAAI,YAAY,EAAQ,CAAC;QAEjD,gBAAW,GAAG,iBAAiB,CAAC;QAChC,UAAK,GAAW,IAAI,CAAC;QACrB,WAAM,GAAW,GAAG,CAAC;QACrB,YAAO,GAAG,IAAI,CAAC;QACf,UAAK,GAAG,EAAE,CAAC;QAIX,SAAI,GAAuB,OAAO,CAAC;QAE3B,aAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;KA6FrC;IA3FG,QAAQ;QACJ,OAAO,CAAC,GAAG,CAAC,kDAAkD,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3E,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAEtD,wBAAwB;QACxB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC;QAC3D,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC;QAE5D,iBAAiB;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAE5F,cAAc;QACd,IAAI,CAAC,UAAU,EAAE,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,UAAU;QACZ,IAAI,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBACxB,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;oBAClB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;oBAC7B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,eAAe,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;gBAC3E,CAAC;qBAAM,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;oBAC3B,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,eAAe,CAA0B,eAAe,CAAC,CAAC;oBAClG,MAAM,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBAC1C,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;wBACtB,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC;wBACzB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,eAAe,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;oBAC3E,CAAC;yBAAM,CAAC;wBACJ,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;oBACvC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACJ,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;gBACzC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;oBACnB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;oBAC/B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,gBAAgB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC7E,CAAC;qBAAM,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAC5B,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,eAAe,CAA2B,gBAAgB,CAAC,CAAC;oBACrG,MAAM,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC5C,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;wBACvB,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC;wBAC3B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,gBAAgB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;oBAC7E,CAAC;yBAAM,CAAC;wBACJ,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;oBACxC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACJ,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;gBAC1C,CAAC;YACL,CAAC;YAED,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACzB,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAChB,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,OAAO,IAAI,uBAAuB,CAAC;YACpD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACzB,CAAC;IACL,CAAC;IAED,OAAO;QACH,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;IAC5B,CAAC;IAED,mBAAmB;QACf,6DAA6D;QAC7D,+DAA+D;QAC/D,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;IAC5B,CAAC;IAEO,eAAe,CAAC,KAAkC;QACtD,IAAI,CAAC,KAAK;YAAE,OAAO,SAAS,CAAC;QAC7B,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QAE5C,2BAA2B;QAC3B,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/C,MAAM,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;YAC3C,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvB,OAAO,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC;YAC1C,CAAC;iBAAM,CAAC;gBACJ,OAAO,MAAM,CAAC,WAAW,GAAG,UAAU,CAAC;YAC3C,CAAC;QACL,CAAC;QAED,sBAAsB;QACtB,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACvB,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;QAED,yBAAyB;QACzB,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;QACjC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;IAC9C,CAAC;6HA1GQ,4BAA4B;oEAA5B,4BAA4B;YA3DjC,8BAA4B;YAYxB,AANA,AALA,8FAAe,wEAKG,uFAMX;YASX,iBAAM;;YApBF,cAmBC;YAnBD,qDAmBC;;;iFAuCA,4BAA4B;cA/DxC,SAAS;6BACI,KAAK,YACL,2BAA2B,YAC3B;;;;;;;;;;;;;;;;;;;;;;;KAuBT;;kBAsCA,KAAK;;kBACL,MAAM;;kFAFE,4BAA4B"}
|
|
1
|
+
{"version":3,"file":"ai-test-harness-window.component.js","sourceRoot":"","sources":["../../src/lib/ai-test-harness-window.component.ts"],"names":[],"mappings":"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","sourcesContent":["import { Component, Input, Output, EventEmitter, ViewChild, OnInit } from '@angular/core';\nimport { MJAIAgentEntityExtended, MJAIPromptEntityExtended } from '@memberjunction/ai-core-plus';\nimport { Metadata } from '@memberjunction/core';\n\nexport interface AITestHarnessWindowData {\n agentId?: string;\n agent?: MJAIAgentEntityExtended;\n promptId?: string;\n prompt?: MJAIPromptEntityExtended;\n promptRunId?: string;\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-ai-test-harness-window',\n template: `\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 [originalPromptRunId]=\"data.promptRunId || null\"\n (minimizeRequested)=\"onMinimizeRequested()\">\n </mj-ai-test-harness>\n }\n </div>\n `,\n styles: [`\n :host {\n display: block;\n height: 100%;\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})\nexport class AITestHarnessWindowComponent implements OnInit {\n @Input() data: AITestHarnessWindowData = {};\n @Output() closeWindow = new EventEmitter<void>();\n \n windowTitle = 'AI Test Harness';\n width: number = 1200;\n height: number = 800;\n loading = true;\n error = '';\n \n agent?: MJAIAgentEntityExtended;\n prompt?: MJAIPromptEntityExtended;\n mode: 'agent' | 'prompt' = 'agent';\n \n private metadata = new Metadata();\n \n ngOnInit() {\n console.log('🪟 AITestHarnessWindowComponent.ngOnInit - data:', this.data);\n console.log('📌 promptRunId:', this.data.promptRunId);\n \n // Set window dimensions\n this.width = this.convertToNumber(this.data.width) || 1200;\n this.height = this.convertToNumber(this.data.height) || 800;\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 Agent: ${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 Agent: ${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 Prompt: ${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 Prompt: ${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 this.closeWindow.emit();\n }\n \n onMinimizeRequested() {\n // Since Kendo Window doesn't support minimize functionality,\n // we'll close the window when navigating to view the agent run\n this.closeWindow.emit();\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}"]}
|