@memberjunction/ng-flow-editor 5.42.0 → 5.44.0
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/lib/agent-editor/agent-properties-panel.component.js +210 -226
- package/dist/lib/agent-editor/agent-properties-panel.component.js.map +1 -1
- package/dist/lib/agent-editor/agent-step-list.component.d.ts.map +1 -1
- package/dist/lib/agent-editor/agent-step-list.component.js +19 -26
- package/dist/lib/agent-editor/agent-step-list.component.js.map +1 -1
- package/dist/lib/components/flow-editor.component.d.ts +2 -0
- package/dist/lib/components/flow-editor.component.d.ts.map +1 -1
- package/dist/lib/components/flow-editor.component.js +27 -35
- package/dist/lib/components/flow-editor.component.js.map +1 -1
- package/dist/lib/flow-editor.module.d.ts +2 -1
- package/dist/lib/flow-editor.module.d.ts.map +1 -1
- package/dist/lib/flow-editor.module.js +10 -3
- package/dist/lib/flow-editor.module.js.map +1 -1
- package/package.json +8 -6
- package/dist/__tests__/exports.test.d.ts +0 -2
- package/dist/__tests__/exports.test.d.ts.map +0 -1
- package/dist/__tests__/exports.test.js +0 -17
- package/dist/__tests__/exports.test.js.map +0 -1
- package/dist/__tests__/index.test.d.ts +0 -2
- package/dist/__tests__/index.test.d.ts.map +0 -1
- package/dist/__tests__/index.test.js +0 -7
- package/dist/__tests__/index.test.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-properties-panel.component.js","sourceRoot":"","sources":["../../../src/lib/agent-editor/agent-properties-panel.component.ts","../../../src/lib/agent-editor/agent-properties-panel.component.html"],"names":[],"mappings":"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","sourcesContent":["import { Component, Input, Output, EventEmitter, ViewEncapsulation, ChangeDetectionStrategy } from '@angular/core';\nimport { MJAIAgentStepEntity, MJAIAgentStepPathEntity } from '@memberjunction/core-entities';\nimport { FlowConnection } from '../interfaces/flow-types';\nimport { UUIDsEqual } from '@memberjunction/global';\n\n/** Step type accent color mapping */\nconst STEP_TYPE_COLORS: Record<string, string> = {\n Action: '#3b82f6',\n Prompt: '#8b5cf6',\n 'Sub-Agent': '#10b981',\n ForEach: '#f59e0b',\n While: '#f59e0b'\n};\n\n/** Step type icon mapping */\nconst STEP_TYPE_ICONS: Record<string, string> = {\n Action: 'fa-bolt',\n Prompt: 'fa-comment-dots',\n 'Sub-Agent': 'fa-robot',\n ForEach: 'fa-arrows-spin',\n While: 'fa-rotate'\n};\n\n/**\n * Properties panel for editing AI Agent step and path configurations.\n * Shows context-aware sections based on the selected step type.\n */\n@Component({\n standalone: false,\n selector: 'mj-agent-properties-panel',\n templateUrl: './agent-properties-panel.component.html',\n styleUrls: ['./agent-properties-panel.component.css'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.Default\n})\nexport class AgentPropertiesPanelComponent {\n // ── Inputs ──────────────────────────────────────────────────\n @Input() Step: MJAIAgentStepEntity | null = null;\n @Input() SelectedConnection: FlowConnection | null = null;\n @Input() PathEntity: MJAIAgentStepPathEntity | null = null;\n @Input() ReadOnly = false;\n @Input() Actions: Array<{ ID: string; Name: string; IconClass?: string | null }> = [];\n @Input() Prompts: Array<{ ID: string; Name: string }> = [];\n @Input() Agents: Array<{ ID: string; Name: string; IconClass?: string | null; LogoURL?: string | null }> = [];\n @Input() AllSteps: MJAIAgentStepEntity[] = [];\n\n // ── Outputs ─────────────────────────────────────────────────\n @Output() StepChanged = new EventEmitter<MJAIAgentStepEntity>();\n @Output() PathChanged = new EventEmitter<MJAIAgentStepPathEntity>();\n @Output() DeleteStepRequested = new EventEmitter<MJAIAgentStepEntity>();\n @Output() DeletePathRequested = new EventEmitter<MJAIAgentStepPathEntity>();\n @Output() CloseRequested = new EventEmitter<void>();\n\n // ── Collapsible section state ─────────────────────────────\n protected collapsedSections: Record<string, boolean> = {};\n\n // ── Computed Properties ─────────────────────────────────────\n\n get isStepSelected(): boolean {\n return this.Step != null;\n }\n\n get isConnectionSelected(): boolean {\n return this.SelectedConnection != null && this.PathEntity != null;\n }\n\n get showActionPicker(): boolean {\n return this.Step?.StepType === 'Action' ||\n ((this.Step?.StepType === 'ForEach' || this.Step?.StepType === 'While') && this.Step?.LoopBodyType === 'Action');\n }\n\n get showPromptPicker(): boolean {\n return this.Step?.StepType === 'Prompt' ||\n ((this.Step?.StepType === 'ForEach' || this.Step?.StepType === 'While') && this.Step?.LoopBodyType === 'Prompt');\n }\n\n get showAgentPicker(): boolean {\n return this.Step?.StepType === 'Sub-Agent' ||\n ((this.Step?.StepType === 'ForEach' || this.Step?.StepType === 'While') && this.Step?.LoopBodyType === 'Sub-Agent');\n }\n\n get showLoopConfig(): boolean {\n return this.Step?.StepType === 'ForEach' || this.Step?.StepType === 'While';\n }\n\n get stepTypeLabel(): string {\n switch (this.Step?.StepType) {\n case 'Action': return 'Action';\n case 'Prompt': return 'Prompt';\n case 'Sub-Agent': return 'Sub-Agent';\n case 'ForEach': return 'For Each Loop';\n case 'While': return 'While Loop';\n default: return 'Step';\n }\n }\n\n get stepTypeColor(): string {\n return STEP_TYPE_COLORS[this.Step?.StepType ?? ''] ?? '#64748b';\n }\n\n get stepTypeIcon(): string {\n return STEP_TYPE_ICONS[this.Step?.StepType ?? ''] ?? 'fa-circle-nodes';\n }\n\n get statusColor(): string {\n switch (this.Step?.Status) {\n case 'Active': return '#10b981';\n case 'Disabled': return '#94a3b8';\n case 'Pending': return '#f59e0b';\n default: return '#94a3b8';\n }\n }\n\n /** Path: origin step name */\n get originStepName(): string {\n if (!this.PathEntity) return '';\n const step = this.AllSteps.find(s => UUIDsEqual(s.ID, this.PathEntity!.OriginStepID));\n return step?.Name ?? 'Unknown Step';\n }\n\n /** Path: destination step name */\n get destinationStepName(): string {\n if (!this.PathEntity) return '';\n const step = this.AllSteps.find(s => UUIDsEqual(s.ID, this.PathEntity!.DestinationStepID));\n return step?.Name ?? 'Unknown Step';\n }\n\n /** Path: whether a condition is set */\n get isConditionalPath(): boolean {\n return this.PathEntity?.Condition != null && this.PathEntity.Condition.trim().length > 0;\n }\n\n /** Path accent color */\n get pathAccentColor(): string {\n return this.isConditionalPath ? '#f59e0b' : '#94a3b8';\n }\n\n /** Resolved action name for display */\n get selectedActionName(): string {\n if (!this.Step?.ActionID) return 'None selected';\n return this.Actions.find(a => UUIDsEqual(a.ID, this.Step!.ActionID))?.Name ?? 'Unknown';\n }\n\n /** Resolved prompt name for display */\n get selectedPromptName(): string {\n if (!this.Step?.PromptID) return 'None selected';\n return this.Prompts.find(p => UUIDsEqual(p.ID, this.Step!.PromptID))?.Name ?? 'Unknown';\n }\n\n /** Resolved agent name for display */\n get selectedAgentName(): string {\n if (!this.Step?.SubAgentID) return 'None selected';\n return this.Agents.find(a => UUIDsEqual(a.ID, this.Step!.SubAgentID))?.Name ?? 'Unknown';\n }\n\n // ── Section Collapse ──────────────────────────────────────\n\n ToggleSection(sectionId: string): void {\n this.collapsedSections[sectionId] = !this.collapsedSections[sectionId];\n }\n\n IsSectionCollapsed(sectionId: string): boolean {\n return this.collapsedSections[sectionId] === true;\n }\n\n // ── Step Event Handlers ─────────────────────────────────────\n\n OnNameChange(value: string): void {\n if (!this.Step || this.ReadOnly) return;\n this.Step.Name = value;\n this.StepChanged.emit(this.Step);\n }\n\n OnDescriptionChange(value: string): void {\n if (!this.Step || this.ReadOnly) return;\n this.Step.Description = value;\n this.StepChanged.emit(this.Step);\n }\n\n OnStatusChange(value: string): void {\n if (!this.Step || this.ReadOnly) return;\n this.Step.Status = value as 'Active' | 'Disabled' | 'Pending';\n this.StepChanged.emit(this.Step);\n }\n\n OnStartingStepChange(checked: boolean): void {\n if (!this.Step || this.ReadOnly) return;\n this.Step.StartingStep = checked;\n this.StepChanged.emit(this.Step);\n }\n\n OnActionChange(actionId: string): void {\n if (!this.Step || this.ReadOnly) return;\n this.Step.ActionID = actionId || null;\n this.StepChanged.emit(this.Step);\n }\n\n OnPromptChange(promptId: string): void {\n if (!this.Step || this.ReadOnly) return;\n this.Step.PromptID = promptId || null;\n this.StepChanged.emit(this.Step);\n }\n\n OnSubAgentChange(agentId: string): void {\n if (!this.Step || this.ReadOnly) return;\n this.Step.SubAgentID = agentId || null;\n this.StepChanged.emit(this.Step);\n }\n\n OnLoopBodyTypeChange(value: string): void {\n if (!this.Step || this.ReadOnly) return;\n this.Step.LoopBodyType = value as 'Action' | 'Prompt' | 'Sub-Agent';\n this.StepChanged.emit(this.Step);\n }\n\n OnInputMappingChange(value: string): void {\n if (!this.Step || this.ReadOnly) return;\n this.Step.ActionInputMapping = value || null;\n this.StepChanged.emit(this.Step);\n }\n\n OnOutputMappingChange(value: string): void {\n if (!this.Step || this.ReadOnly) return;\n this.Step.ActionOutputMapping = value || null;\n this.StepChanged.emit(this.Step);\n }\n\n OnErrorBehaviorChange(value: string): void {\n if (!this.Step || this.ReadOnly) return;\n this.Step.OnErrorBehavior = value as 'fail' | 'continue' | 'retry';\n this.StepChanged.emit(this.Step);\n }\n\n OnRetryCountChange(value: number): void {\n if (!this.Step || this.ReadOnly) return;\n this.Step.RetryCount = value;\n this.StepChanged.emit(this.Step);\n }\n\n OnTimeoutChange(value: number): void {\n if (!this.Step || this.ReadOnly) return;\n this.Step.TimeoutSeconds = value;\n this.StepChanged.emit(this.Step);\n }\n\n OnConfigurationChange(value: string): void {\n if (!this.Step || this.ReadOnly) return;\n this.Step.Configuration = value || null;\n this.StepChanged.emit(this.Step);\n }\n\n // ── Path Event Handlers ─────────────────────────────────────\n\n OnPathDescriptionChange(value: string): void {\n if (!this.PathEntity || this.ReadOnly) return;\n this.PathEntity.Description = value;\n this.PathChanged.emit(this.PathEntity);\n }\n\n OnPathConditionChange(value: string): void {\n if (!this.PathEntity || this.ReadOnly) return;\n this.PathEntity.Condition = value || null;\n this.PathChanged.emit(this.PathEntity);\n }\n\n OnPathPriorityChange(value: number): void {\n if (!this.PathEntity || this.ReadOnly) return;\n this.PathEntity.Priority = value;\n this.PathChanged.emit(this.PathEntity);\n }\n\n OnDeleteStep(): void {\n if (this.Step) {\n this.DeleteStepRequested.emit(this.Step);\n }\n }\n\n OnDeletePath(): void {\n if (this.PathEntity) {\n this.DeletePathRequested.emit(this.PathEntity);\n }\n }\n\n // ── Template Helpers ──────────────────────────────────────\n\n /** Safely extract string value from an input/textarea/select change event */\n protected InputValue(event: Event): string {\n return (event.target as HTMLInputElement).value;\n }\n\n /** Safely extract checked state from a checkbox change event */\n protected CheckedValue(event: Event): boolean {\n return (event.target as HTMLInputElement).checked;\n }\n\n /** Safely extract numeric value from a number input event */\n protected NumericValue(event: Event): number {\n return +(event.target as HTMLInputElement).value;\n }\n\n /** Format JSON for display */\n protected FormatJsonDisplay(value: string | null | undefined): string {\n if (!value) return '';\n try {\n return JSON.stringify(JSON.parse(value), null, 2);\n } catch {\n return value;\n }\n }\n}\n","<div class=\"mj-agent-props\">\n\n <!-- Empty State -->\n @if (!isStepSelected && !isConnectionSelected) {\n <div class=\"mj-agent-props-empty\">\n <i class=\"fa-solid fa-mouse-pointer\"></i>\n <p>Select a step or connection to view its properties</p>\n </div>\n }\n\n <!-- ============================================ -->\n <!-- STEP PROPERTIES -->\n <!-- ============================================ -->\n @if (isStepSelected) {\n <!-- Step Header -->\n <div class=\"mj-agent-props-header mj-agent-props-header--step\"\n [style.border-left-color]=\"stepTypeColor\">\n <div class=\"mj-agent-props-header-top\">\n <span class=\"mj-agent-props-header-label\">STEP</span>\n <button class=\"mj-agent-props-close\" (click)=\"CloseRequested.emit()\" title=\"Close\">\n <i class=\"fa-solid fa-times\"></i>\n </button>\n </div>\n <!-- Identity card -->\n <div class=\"mj-agent-props-identity\">\n <div class=\"mj-agent-props-identity-icon\" [style.background]=\"stepTypeColor\">\n <i class=\"fa-solid\" [ngClass]=\"stepTypeIcon\"></i>\n </div>\n <div class=\"mj-agent-props-identity-info\">\n <span class=\"mj-agent-props-identity-name\">{{ Step!.Name }}</span>\n <span class=\"mj-agent-props-identity-meta\">\n <span class=\"mj-agent-props-type-pill\" [style.color]=\"stepTypeColor\"\n [style.background]=\"stepTypeColor + '18'\">{{ stepTypeLabel }}</span>\n <span class=\"mj-agent-props-status-dot\" [style.background]=\"statusColor\"></span>\n <span class=\"mj-agent-props-status-label\">{{ Step!.Status }}</span>\n @if (Step!.StartingStep) {\n <span class=\"mj-agent-props-start-badge\">Start</span>\n }\n </span>\n </div>\n </div>\n </div>\n <div class=\"mj-agent-props-content\">\n <!-- ── General Section ─────────────────── -->\n <div class=\"mj-agent-props-section\">\n <button class=\"mj-agent-props-section-header\" (click)=\"ToggleSection('general')\">\n <span class=\"mj-agent-props-section-title\">General</span>\n <i class=\"fa-solid\" [ngClass]=\"IsSectionCollapsed('general') ? 'fa-chevron-right' : 'fa-chevron-down'\"></i>\n </button>\n @if (!IsSectionCollapsed('general')) {\n <div class=\"mj-agent-props-section-body\">\n <div class=\"mj-agent-props-field\">\n <label>Name</label>\n @if (!ReadOnly) {\n <input type=\"text\" [value]=\"Step!.Name\"\n (input)=\"OnNameChange(InputValue($event))\"\n placeholder=\"Step name...\" class=\"mj-agent-props-input\">\n }\n @if (ReadOnly) {\n <div class=\"mj-agent-props-readonly-value\">{{ Step!.Name }}</div>\n }\n </div>\n <div class=\"mj-agent-props-field\">\n <label>Description</label>\n @if (!ReadOnly) {\n <textarea [value]=\"Step!.Description || ''\"\n (input)=\"OnDescriptionChange(InputValue($event))\"\n placeholder=\"Optional description...\" rows=\"2\"\n class=\"mj-agent-props-input mj-agent-props-textarea\"></textarea>\n }\n @if (ReadOnly) {\n <div class=\"mj-agent-props-readonly-value\">\n {{ Step!.Description || '—' }}\n </div>\n }\n </div>\n <div class=\"mj-agent-props-field\">\n <label>Status</label>\n @if (!ReadOnly) {\n <select [value]=\"Step!.Status\"\n (change)=\"OnStatusChange(InputValue($event))\"\n class=\"mj-agent-props-input\">\n <option value=\"Active\">Active</option>\n <option value=\"Disabled\">Disabled</option>\n <option value=\"Pending\">Pending</option>\n </select>\n }\n @if (ReadOnly) {\n <div class=\"mj-agent-props-readonly-value\">\n <span class=\"mj-agent-props-status-dot\" [style.background]=\"statusColor\"></span>\n {{ Step!.Status }}\n </div>\n }\n </div>\n @if (!ReadOnly) {\n <div class=\"mj-agent-props-field mj-agent-props-field--row\">\n <label class=\"mj-agent-props-checkbox-label\">\n <input type=\"checkbox\" [checked]=\"Step!.StartingStep\"\n (change)=\"OnStartingStepChange(CheckedValue($event))\">\n Starting Step\n </label>\n </div>\n }\n @if (ReadOnly && Step!.StartingStep) {\n <div class=\"mj-agent-props-field\">\n <label>Starting Step</label>\n <div class=\"mj-agent-props-readonly-value\">\n <span class=\"mj-agent-props-start-badge\">Yes — this is the entry point</span>\n </div>\n </div>\n }\n </div>\n }\n </div>\n <!-- ── Configuration Section ───────────── -->\n <div class=\"mj-agent-props-section\">\n <button class=\"mj-agent-props-section-header\" (click)=\"ToggleSection('config')\">\n <span class=\"mj-agent-props-section-title\">Configuration</span>\n <i class=\"fa-solid\" [ngClass]=\"IsSectionCollapsed('config') ? 'fa-chevron-right' : 'fa-chevron-down'\"></i>\n </button>\n @if (!IsSectionCollapsed('config')) {\n <div class=\"mj-agent-props-section-body\">\n <!-- Loop Body Type (ForEach / While) -->\n @if (showLoopConfig) {\n <div class=\"mj-agent-props-field\">\n <label>Loop Body Type</label>\n @if (!ReadOnly) {\n <select [value]=\"Step!.LoopBodyType || 'Action'\"\n (change)=\"OnLoopBodyTypeChange(InputValue($event))\"\n class=\"mj-agent-props-input\">\n <option value=\"Action\">Action</option>\n <option value=\"Prompt\">Prompt</option>\n <option value=\"Sub-Agent\">Sub-Agent</option>\n </select>\n }\n @if (ReadOnly) {\n <div class=\"mj-agent-props-readonly-value\">\n {{ Step!.LoopBodyType || 'Action' }}\n </div>\n }\n </div>\n }\n <!-- Action Picker -->\n @if (showActionPicker) {\n <div class=\"mj-agent-props-field\">\n <label>Action</label>\n @if (!ReadOnly) {\n <select [value]=\"Step!.ActionID || ''\"\n (change)=\"OnActionChange(InputValue($event))\"\n class=\"mj-agent-props-input\">\n <option value=\"\">-- Select Action --</option>\n @for (action of Actions; track action) {\n <option [value]=\"action.ID\">{{ action.Name }}</option>\n }\n </select>\n }\n @if (ReadOnly) {\n <div class=\"mj-agent-props-readonly-value\">{{ selectedActionName }}</div>\n }\n </div>\n }\n <!-- Prompt Picker -->\n @if (showPromptPicker) {\n <div class=\"mj-agent-props-field\">\n <label>Prompt</label>\n @if (!ReadOnly) {\n <select [value]=\"Step!.PromptID || ''\"\n (change)=\"OnPromptChange(InputValue($event))\"\n class=\"mj-agent-props-input\">\n <option value=\"\">-- Select Prompt --</option>\n @for (prompt of Prompts; track prompt) {\n <option [value]=\"prompt.ID\">{{ prompt.Name }}</option>\n }\n </select>\n }\n @if (ReadOnly) {\n <div class=\"mj-agent-props-readonly-value\">{{ selectedPromptName }}</div>\n }\n </div>\n }\n <!-- Sub-Agent Picker -->\n @if (showAgentPicker) {\n <div class=\"mj-agent-props-field\">\n <label>Sub-Agent</label>\n @if (!ReadOnly) {\n <select [value]=\"Step!.SubAgentID || ''\"\n (change)=\"OnSubAgentChange(InputValue($event))\"\n class=\"mj-agent-props-input\">\n <option value=\"\">-- Select Agent --</option>\n @for (agent of Agents; track agent) {\n <option [value]=\"agent.ID\">{{ agent.Name }}</option>\n }\n </select>\n }\n @if (ReadOnly) {\n <div class=\"mj-agent-props-readonly-value\">{{ selectedAgentName }}</div>\n }\n </div>\n }\n <!-- Loop Configuration (JSON) -->\n @if (showLoopConfig) {\n <div class=\"mj-agent-props-field\">\n <label>Loop Configuration</label>\n <mj-code-editor\n [value]=\"FormatJsonDisplay(Step!.Configuration)\"\n language=\"json\"\n [readonly]=\"ReadOnly\"\n setup=\"minimal\"\n [lineWrapping]=\"true\"\n (change)=\"OnConfigurationChange($any($event))\">\n </mj-code-editor>\n </div>\n }\n </div>\n }\n </div>\n <!-- ── Data Mapping Section (Action steps) ─── -->\n @if (Step!.StepType === 'Action' || showActionPicker) {\n <div class=\"mj-agent-props-section\">\n <button class=\"mj-agent-props-section-header\" (click)=\"ToggleSection('mapping')\">\n <span class=\"mj-agent-props-section-title\">Data Mapping</span>\n <i class=\"fa-solid\" [ngClass]=\"IsSectionCollapsed('mapping') ? 'fa-chevron-right' : 'fa-chevron-down'\"></i>\n </button>\n @if (!IsSectionCollapsed('mapping')) {\n <div class=\"mj-agent-props-section-body\">\n <div class=\"mj-agent-props-field\">\n <label>Input Mapping</label>\n <mj-code-editor\n [value]=\"FormatJsonDisplay(Step!.ActionInputMapping)\"\n language=\"json\"\n [readonly]=\"ReadOnly\"\n setup=\"minimal\"\n [lineWrapping]=\"true\"\n placeholder=\"Enter JSON input mapping...\"\n (change)=\"OnInputMappingChange($any($event))\">\n </mj-code-editor>\n </div>\n <div class=\"mj-agent-props-field\">\n <label>Output Mapping</label>\n <mj-code-editor\n [value]=\"FormatJsonDisplay(Step!.ActionOutputMapping)\"\n language=\"json\"\n [readonly]=\"ReadOnly\"\n setup=\"minimal\"\n [lineWrapping]=\"true\"\n placeholder=\"Enter JSON output mapping...\"\n (change)=\"OnOutputMappingChange($any($event))\">\n </mj-code-editor>\n </div>\n </div>\n }\n </div>\n }\n <!-- ── Error Handling Section ──────────── -->\n <div class=\"mj-agent-props-section\">\n <button class=\"mj-agent-props-section-header\" (click)=\"ToggleSection('errors')\">\n <span class=\"mj-agent-props-section-title\">Error Handling</span>\n <i class=\"fa-solid\" [ngClass]=\"IsSectionCollapsed('errors') ? 'fa-chevron-right' : 'fa-chevron-down'\"></i>\n </button>\n @if (!IsSectionCollapsed('errors')) {\n <div class=\"mj-agent-props-section-body\">\n <div class=\"mj-agent-props-field\">\n <label>On Error</label>\n @if (!ReadOnly) {\n <select [value]=\"Step!.OnErrorBehavior\"\n (change)=\"OnErrorBehaviorChange(InputValue($event))\"\n class=\"mj-agent-props-input\">\n <option value=\"fail\">Fail (stop flow)</option>\n <option value=\"continue\">Continue (ignore error)</option>\n <option value=\"retry\">Retry</option>\n </select>\n }\n @if (ReadOnly) {\n <div class=\"mj-agent-props-readonly-value\">\n {{ Step!.OnErrorBehavior === 'fail' ? 'Fail (stop flow)' :\n Step!.OnErrorBehavior === 'continue' ? 'Continue (ignore error)' : 'Retry' }}\n </div>\n }\n </div>\n @if (Step!.OnErrorBehavior === 'retry') {\n <div class=\"mj-agent-props-field\">\n <label>Retry Count</label>\n @if (!ReadOnly) {\n <input type=\"number\" [value]=\"Step!.RetryCount\" min=\"0\" max=\"10\"\n (input)=\"OnRetryCountChange(NumericValue($event))\"\n class=\"mj-agent-props-input\">\n }\n @if (ReadOnly) {\n <div class=\"mj-agent-props-readonly-value\">{{ Step!.RetryCount }}</div>\n }\n </div>\n }\n <div class=\"mj-agent-props-field\">\n <label>Timeout (seconds)</label>\n @if (!ReadOnly) {\n <input type=\"number\" [value]=\"Step!.TimeoutSeconds\" min=\"1\"\n (input)=\"OnTimeoutChange(NumericValue($event))\"\n class=\"mj-agent-props-input\">\n }\n @if (ReadOnly) {\n <div class=\"mj-agent-props-readonly-value\">{{ Step!.TimeoutSeconds }}s</div>\n }\n </div>\n </div>\n }\n </div>\n <!-- ── Danger Zone ─────────────────────── -->\n @if (!ReadOnly) {\n <div class=\"mj-agent-props-section mj-agent-props-danger\">\n <button class=\"mj-agent-props-delete-btn\" (click)=\"OnDeleteStep()\">\n <i class=\"fa-solid fa-trash-can\"></i> Delete Step\n </button>\n </div>\n }\n </div>\n }\n\n <!-- ============================================ -->\n <!-- PATH PROPERTIES -->\n <!-- ============================================ -->\n @if (isConnectionSelected) {\n <!-- Path Header -->\n <div class=\"mj-agent-props-header mj-agent-props-header--path\"\n [style.border-left-color]=\"pathAccentColor\">\n <div class=\"mj-agent-props-header-top\">\n <span class=\"mj-agent-props-header-label\">PATH</span>\n <button class=\"mj-agent-props-close\" (click)=\"CloseRequested.emit()\" title=\"Close\">\n <i class=\"fa-solid fa-times\"></i>\n </button>\n </div>\n <!-- Path identity card -->\n <div class=\"mj-agent-props-identity\">\n <div class=\"mj-agent-props-identity-icon mj-agent-props-identity-icon--path\"\n [style.background]=\"pathAccentColor\">\n <i class=\"fa-solid fa-arrow-right\"></i>\n </div>\n <div class=\"mj-agent-props-identity-info\">\n <span class=\"mj-agent-props-path-route\">\n <span class=\"mj-agent-props-path-step-name\">{{ originStepName }}</span>\n <i class=\"fa-solid fa-arrow-right mj-agent-props-path-arrow\"></i>\n <span class=\"mj-agent-props-path-step-name\">{{ destinationStepName }}</span>\n </span>\n <span class=\"mj-agent-props-identity-meta\">\n <span class=\"mj-agent-props-type-pill\"\n [style.color]=\"pathAccentColor\"\n [style.background]=\"pathAccentColor + '18'\">\n {{ isConditionalPath ? 'Conditional' : 'Always' }}\n </span>\n @if (PathEntity!.Priority !== 0) {\n <span class=\"mj-agent-props-priority-badge\">\n Priority: {{ PathEntity!.Priority }}\n </span>\n }\n </span>\n </div>\n </div>\n </div>\n <div class=\"mj-agent-props-content\">\n <!-- ── Overview Section ────────────────── -->\n <div class=\"mj-agent-props-section\">\n <button class=\"mj-agent-props-section-header\" (click)=\"ToggleSection('path-overview')\">\n <span class=\"mj-agent-props-section-title\">Route</span>\n <i class=\"fa-solid\" [ngClass]=\"IsSectionCollapsed('path-overview') ? 'fa-chevron-right' : 'fa-chevron-down'\"></i>\n </button>\n @if (!IsSectionCollapsed('path-overview')) {\n <div class=\"mj-agent-props-section-body\">\n <div class=\"mj-agent-props-field\">\n <label>From</label>\n <div class=\"mj-agent-props-readonly-value mj-agent-props-readonly-value--muted\">\n {{ originStepName }}\n </div>\n </div>\n <div class=\"mj-agent-props-field\">\n <label>To</label>\n <div class=\"mj-agent-props-readonly-value mj-agent-props-readonly-value--muted\">\n {{ destinationStepName }}\n </div>\n </div>\n <span class=\"mj-agent-props-hint\">To change the route, rewire the connection on the canvas.</span>\n </div>\n }\n </div>\n <!-- ── Path Settings Section ───────────── -->\n <div class=\"mj-agent-props-section\">\n <button class=\"mj-agent-props-section-header\" (click)=\"ToggleSection('path-settings')\">\n <span class=\"mj-agent-props-section-title\">Settings</span>\n <i class=\"fa-solid\" [ngClass]=\"IsSectionCollapsed('path-settings') ? 'fa-chevron-right' : 'fa-chevron-down'\"></i>\n </button>\n @if (!IsSectionCollapsed('path-settings')) {\n <div class=\"mj-agent-props-section-body\">\n <div class=\"mj-agent-props-field\">\n <label>Description</label>\n @if (!ReadOnly) {\n <input type=\"text\" [value]=\"PathEntity!.Description || ''\"\n (input)=\"OnPathDescriptionChange(InputValue($event))\"\n placeholder=\"Path label...\" class=\"mj-agent-props-input\">\n }\n @if (ReadOnly) {\n <div class=\"mj-agent-props-readonly-value\">\n {{ PathEntity!.Description || '—' }}\n </div>\n }\n @if (!ReadOnly) {\n <span class=\"mj-agent-props-hint\">Displayed as a label on the connection line</span>\n }\n </div>\n <div class=\"mj-agent-props-field\">\n <label>Condition</label>\n @if (!ReadOnly) {\n <mj-code-editor\n [value]=\"PathEntity!.Condition || ''\"\n language=\"javascript\"\n [readonly]=\"false\"\n setup=\"minimal\"\n [lineWrapping]=\"true\"\n placeholder=\"e.g. payload.status === 'active'\"\n (change)=\"OnPathConditionChange($any($event))\">\n </mj-code-editor>\n }\n @if (ReadOnly && PathEntity!.Condition) {\n <mj-code-editor\n [value]=\"PathEntity!.Condition\"\n language=\"javascript\"\n [readonly]=\"true\"\n setup=\"minimal\"\n [lineWrapping]=\"true\">\n </mj-code-editor>\n }\n @if (ReadOnly && !PathEntity!.Condition) {\n <div class=\"mj-agent-props-readonly-value mj-agent-props-readonly-value--muted\">\n No condition (always taken)\n </div>\n }\n @if (!ReadOnly) {\n <span class=\"mj-agent-props-hint\">\n JavaScript expression evaluated at runtime. Leave empty for unconditional.\n </span>\n }\n </div>\n <div class=\"mj-agent-props-field\">\n <label>Priority</label>\n @if (!ReadOnly) {\n <input type=\"number\" [value]=\"PathEntity!.Priority\" min=\"-100\" max=\"100\"\n (input)=\"OnPathPriorityChange(NumericValue($event))\"\n class=\"mj-agent-props-input\">\n }\n @if (ReadOnly) {\n <div class=\"mj-agent-props-readonly-value\">{{ PathEntity!.Priority }}</div>\n }\n <span class=\"mj-agent-props-hint\">Higher priority paths are evaluated first when multiple paths leave a step.</span>\n </div>\n </div>\n }\n </div>\n <!-- ── Danger Zone ─────────────────────── -->\n @if (!ReadOnly) {\n <div class=\"mj-agent-props-section mj-agent-props-danger\">\n <button class=\"mj-agent-props-delete-btn\" (click)=\"OnDeletePath()\">\n <i class=\"fa-solid fa-trash-can\"></i> Delete Path\n </button>\n </div>\n }\n </div>\n }\n</div>\n"]}
|
|
1
|
+
{"version":3,"file":"agent-properties-panel.component.js","sourceRoot":"","sources":["../../../src/lib/agent-editor/agent-properties-panel.component.ts","../../../src/lib/agent-editor/agent-properties-panel.component.html"],"names":[],"mappings":"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","sourcesContent":["import { Component, Input, Output, EventEmitter, ViewEncapsulation, ChangeDetectionStrategy } from '@angular/core';\nimport { MJAIAgentStepEntity, MJAIAgentStepPathEntity } from '@memberjunction/core-entities';\nimport { FlowConnection } from '../interfaces/flow-types';\nimport { UUIDsEqual } from '@memberjunction/global';\n\n/** Step type accent color mapping */\nconst STEP_TYPE_COLORS: Record<string, string> = {\n Action: '#3b82f6',\n Prompt: '#8b5cf6',\n 'Sub-Agent': '#10b981',\n ForEach: '#f59e0b',\n While: '#f59e0b'\n};\n\n/** Step type icon mapping */\nconst STEP_TYPE_ICONS: Record<string, string> = {\n Action: 'fa-bolt',\n Prompt: 'fa-comment-dots',\n 'Sub-Agent': 'fa-robot',\n ForEach: 'fa-arrows-spin',\n While: 'fa-rotate'\n};\n\n/**\n * Properties panel for editing AI Agent step and path configurations.\n * Shows context-aware sections based on the selected step type.\n */\n@Component({\n standalone: false,\n selector: 'mj-agent-properties-panel',\n templateUrl: './agent-properties-panel.component.html',\n styleUrls: ['./agent-properties-panel.component.css'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.Default\n})\nexport class AgentPropertiesPanelComponent {\n // ── Inputs ──────────────────────────────────────────────────\n @Input() Step: MJAIAgentStepEntity | null = null;\n @Input() SelectedConnection: FlowConnection | null = null;\n @Input() PathEntity: MJAIAgentStepPathEntity | null = null;\n @Input() ReadOnly = false;\n @Input() Actions: Array<{ ID: string; Name: string; IconClass?: string | null }> = [];\n @Input() Prompts: Array<{ ID: string; Name: string }> = [];\n @Input() Agents: Array<{ ID: string; Name: string; IconClass?: string | null; LogoURL?: string | null }> = [];\n @Input() AllSteps: MJAIAgentStepEntity[] = [];\n\n // ── Outputs ─────────────────────────────────────────────────\n @Output() StepChanged = new EventEmitter<MJAIAgentStepEntity>();\n @Output() PathChanged = new EventEmitter<MJAIAgentStepPathEntity>();\n @Output() DeleteStepRequested = new EventEmitter<MJAIAgentStepEntity>();\n @Output() DeletePathRequested = new EventEmitter<MJAIAgentStepPathEntity>();\n @Output() CloseRequested = new EventEmitter<void>();\n\n // ── Collapsible section state ─────────────────────────────\n protected collapsedSections: Record<string, boolean> = {};\n\n // ── Computed Properties ─────────────────────────────────────\n\n get isStepSelected(): boolean {\n return this.Step != null;\n }\n\n get isConnectionSelected(): boolean {\n return this.SelectedConnection != null && this.PathEntity != null;\n }\n\n get showActionPicker(): boolean {\n return this.Step?.StepType === 'Action' ||\n ((this.Step?.StepType === 'ForEach' || this.Step?.StepType === 'While') && this.Step?.LoopBodyType === 'Action');\n }\n\n get showPromptPicker(): boolean {\n return this.Step?.StepType === 'Prompt' ||\n ((this.Step?.StepType === 'ForEach' || this.Step?.StepType === 'While') && this.Step?.LoopBodyType === 'Prompt');\n }\n\n get showAgentPicker(): boolean {\n return this.Step?.StepType === 'Sub-Agent' ||\n ((this.Step?.StepType === 'ForEach' || this.Step?.StepType === 'While') && this.Step?.LoopBodyType === 'Sub-Agent');\n }\n\n get showLoopConfig(): boolean {\n return this.Step?.StepType === 'ForEach' || this.Step?.StepType === 'While';\n }\n\n get stepTypeLabel(): string {\n switch (this.Step?.StepType) {\n case 'Action': return 'Action';\n case 'Prompt': return 'Prompt';\n case 'Sub-Agent': return 'Sub-Agent';\n case 'ForEach': return 'For Each Loop';\n case 'While': return 'While Loop';\n default: return 'Step';\n }\n }\n\n get stepTypeColor(): string {\n return STEP_TYPE_COLORS[this.Step?.StepType ?? ''] ?? '#64748b';\n }\n\n get stepTypeIcon(): string {\n return STEP_TYPE_ICONS[this.Step?.StepType ?? ''] ?? 'fa-circle-nodes';\n }\n\n get statusColor(): string {\n switch (this.Step?.Status) {\n case 'Active': return '#10b981';\n case 'Disabled': return '#94a3b8';\n case 'Pending': return '#f59e0b';\n default: return '#94a3b8';\n }\n }\n\n /** Path: origin step name */\n get originStepName(): string {\n if (!this.PathEntity) return '';\n const step = this.AllSteps.find(s => UUIDsEqual(s.ID, this.PathEntity!.OriginStepID));\n return step?.Name ?? 'Unknown Step';\n }\n\n /** Path: destination step name */\n get destinationStepName(): string {\n if (!this.PathEntity) return '';\n const step = this.AllSteps.find(s => UUIDsEqual(s.ID, this.PathEntity!.DestinationStepID));\n return step?.Name ?? 'Unknown Step';\n }\n\n /** Path: whether a condition is set */\n get isConditionalPath(): boolean {\n return this.PathEntity?.Condition != null && this.PathEntity.Condition.trim().length > 0;\n }\n\n /** Path accent color */\n get pathAccentColor(): string {\n return this.isConditionalPath ? '#f59e0b' : '#94a3b8';\n }\n\n /** Resolved action name for display */\n get selectedActionName(): string {\n if (!this.Step?.ActionID) return 'None selected';\n return this.Actions.find(a => UUIDsEqual(a.ID, this.Step!.ActionID))?.Name ?? 'Unknown';\n }\n\n /** Resolved prompt name for display */\n get selectedPromptName(): string {\n if (!this.Step?.PromptID) return 'None selected';\n return this.Prompts.find(p => UUIDsEqual(p.ID, this.Step!.PromptID))?.Name ?? 'Unknown';\n }\n\n /** Resolved agent name for display */\n get selectedAgentName(): string {\n if (!this.Step?.SubAgentID) return 'None selected';\n return this.Agents.find(a => UUIDsEqual(a.ID, this.Step!.SubAgentID))?.Name ?? 'Unknown';\n }\n\n // ── Section Collapse ──────────────────────────────────────\n\n ToggleSection(sectionId: string): void {\n this.collapsedSections[sectionId] = !this.collapsedSections[sectionId];\n }\n\n IsSectionCollapsed(sectionId: string): boolean {\n return this.collapsedSections[sectionId] === true;\n }\n\n // ── Step Event Handlers ─────────────────────────────────────\n\n OnNameChange(value: string): void {\n if (!this.Step || this.ReadOnly) return;\n this.Step.Name = value;\n this.StepChanged.emit(this.Step);\n }\n\n OnDescriptionChange(value: string): void {\n if (!this.Step || this.ReadOnly) return;\n this.Step.Description = value;\n this.StepChanged.emit(this.Step);\n }\n\n OnStatusChange(value: string): void {\n if (!this.Step || this.ReadOnly) return;\n this.Step.Status = value as 'Active' | 'Disabled' | 'Pending';\n this.StepChanged.emit(this.Step);\n }\n\n OnStartingStepChange(checked: boolean): void {\n if (!this.Step || this.ReadOnly) return;\n this.Step.StartingStep = checked;\n this.StepChanged.emit(this.Step);\n }\n\n OnActionChange(actionId: string): void {\n if (!this.Step || this.ReadOnly) return;\n this.Step.ActionID = actionId || null;\n this.StepChanged.emit(this.Step);\n }\n\n OnPromptChange(promptId: string): void {\n if (!this.Step || this.ReadOnly) return;\n this.Step.PromptID = promptId || null;\n this.StepChanged.emit(this.Step);\n }\n\n OnSubAgentChange(agentId: string): void {\n if (!this.Step || this.ReadOnly) return;\n this.Step.SubAgentID = agentId || null;\n this.StepChanged.emit(this.Step);\n }\n\n OnLoopBodyTypeChange(value: string): void {\n if (!this.Step || this.ReadOnly) return;\n this.Step.LoopBodyType = value as 'Action' | 'Prompt' | 'Sub-Agent';\n this.StepChanged.emit(this.Step);\n }\n\n OnInputMappingChange(value: string): void {\n if (!this.Step || this.ReadOnly) return;\n this.Step.ActionInputMapping = value || null;\n this.StepChanged.emit(this.Step);\n }\n\n OnOutputMappingChange(value: string): void {\n if (!this.Step || this.ReadOnly) return;\n this.Step.ActionOutputMapping = value || null;\n this.StepChanged.emit(this.Step);\n }\n\n OnErrorBehaviorChange(value: string): void {\n if (!this.Step || this.ReadOnly) return;\n this.Step.OnErrorBehavior = value as 'fail' | 'continue' | 'retry';\n this.StepChanged.emit(this.Step);\n }\n\n OnRetryCountChange(value: number): void {\n if (!this.Step || this.ReadOnly) return;\n this.Step.RetryCount = value;\n this.StepChanged.emit(this.Step);\n }\n\n OnTimeoutChange(value: number): void {\n if (!this.Step || this.ReadOnly) return;\n this.Step.TimeoutSeconds = value;\n this.StepChanged.emit(this.Step);\n }\n\n OnConfigurationChange(value: string): void {\n if (!this.Step || this.ReadOnly) return;\n this.Step.Configuration = value || null;\n this.StepChanged.emit(this.Step);\n }\n\n // ── Path Event Handlers ─────────────────────────────────────\n\n OnPathDescriptionChange(value: string): void {\n if (!this.PathEntity || this.ReadOnly) return;\n this.PathEntity.Description = value;\n this.PathChanged.emit(this.PathEntity);\n }\n\n OnPathConditionChange(value: string): void {\n if (!this.PathEntity || this.ReadOnly) return;\n this.PathEntity.Condition = value || null;\n this.PathChanged.emit(this.PathEntity);\n }\n\n OnPathPriorityChange(value: number): void {\n if (!this.PathEntity || this.ReadOnly) return;\n this.PathEntity.Priority = value;\n this.PathChanged.emit(this.PathEntity);\n }\n\n OnDeleteStep(): void {\n if (this.Step) {\n this.DeleteStepRequested.emit(this.Step);\n }\n }\n\n OnDeletePath(): void {\n if (this.PathEntity) {\n this.DeletePathRequested.emit(this.PathEntity);\n }\n }\n\n // ── Template Helpers ──────────────────────────────────────\n\n /** Safely extract string value from an input/textarea/select change event */\n protected InputValue(event: Event): string {\n return (event.target as HTMLInputElement).value;\n }\n\n /** Safely extract checked state from a checkbox change event */\n protected CheckedValue(event: Event): boolean {\n return (event.target as HTMLInputElement).checked;\n }\n\n /** Safely extract numeric value from a number input event */\n protected NumericValue(event: Event): number {\n return +(event.target as HTMLInputElement).value;\n }\n\n /** Format JSON for display */\n protected FormatJsonDisplay(value: string | null | undefined): string {\n if (!value) return '';\n try {\n return JSON.stringify(JSON.parse(value), null, 2);\n } catch {\n return value;\n }\n }\n}\n","<div class=\"mj-agent-props\">\n\n <!-- Empty State -->\n @if (!isStepSelected && !isConnectionSelected) {\n <mj-empty-state class=\"mj-agent-props-empty\"\n Icon=\"fa-solid fa-arrow-pointer\"\n Title=\"No selection\"\n Message=\"Select a step or connection to view its properties\" />\n }\n\n <!-- ============================================ -->\n <!-- STEP PROPERTIES -->\n <!-- ============================================ -->\n @if (isStepSelected) {\n <!-- Step Header -->\n <div class=\"mj-agent-props-header mj-agent-props-header--step\"\n [style.border-left-color]=\"stepTypeColor\">\n <div class=\"mj-agent-props-header-top\">\n <span class=\"mj-agent-props-header-label\">STEP</span>\n <button class=\"mj-agent-props-close\" (click)=\"CloseRequested.emit()\" title=\"Close\">\n <i class=\"fa-solid fa-times\"></i>\n </button>\n </div>\n <!-- Identity card -->\n <div class=\"mj-agent-props-identity\">\n <div class=\"mj-agent-props-identity-icon\" [style.background]=\"stepTypeColor\">\n <i class=\"fa-solid\" [ngClass]=\"stepTypeIcon\"></i>\n </div>\n <div class=\"mj-agent-props-identity-info\">\n <span class=\"mj-agent-props-identity-name\">{{ Step!.Name }}</span>\n <span class=\"mj-agent-props-identity-meta\">\n <span class=\"mj-agent-props-type-pill\" [style.color]=\"stepTypeColor\"\n [style.background]=\"stepTypeColor + '18'\">{{ stepTypeLabel }}</span>\n <span class=\"mj-agent-props-status-dot\" [style.background]=\"statusColor\"></span>\n <span class=\"mj-agent-props-status-label\">{{ Step!.Status }}</span>\n @if (Step!.StartingStep) {\n <span class=\"mj-agent-props-start-badge\">Start</span>\n }\n </span>\n </div>\n </div>\n </div>\n <div class=\"mj-agent-props-content\">\n <!-- ── General Section ─────────────────── -->\n <mj-accordion-panel class=\"mj-agent-props-accordion\" Size=\"sm\" [FlushBody]=\"true\" [Expanded]=\"!IsSectionCollapsed('general')\" (ExpandedChange)=\"ToggleSection('general')\">\n <ng-template mjAccordionTitle><span>General</span></ng-template>\n <ng-template mjAccordionBody>\n <div class=\"mj-agent-props-section-body\">\n <div class=\"mj-agent-props-field\">\n <label>Name</label>\n @if (!ReadOnly) {\n <input type=\"text\" [value]=\"Step!.Name\"\n (input)=\"OnNameChange(InputValue($event))\"\n placeholder=\"Step name...\" class=\"mj-agent-props-input\">\n }\n @if (ReadOnly) {\n <div class=\"mj-agent-props-readonly-value\">{{ Step!.Name }}</div>\n }\n </div>\n <div class=\"mj-agent-props-field\">\n <label>Description</label>\n @if (!ReadOnly) {\n <textarea [value]=\"Step!.Description || ''\"\n (input)=\"OnDescriptionChange(InputValue($event))\"\n placeholder=\"Optional description...\" rows=\"2\"\n class=\"mj-agent-props-input mj-agent-props-textarea\"></textarea>\n }\n @if (ReadOnly) {\n <div class=\"mj-agent-props-readonly-value\">\n {{ Step!.Description || '—' }}\n </div>\n }\n </div>\n <div class=\"mj-agent-props-field\">\n <label>Status</label>\n @if (!ReadOnly) {\n <select [value]=\"Step!.Status\"\n (change)=\"OnStatusChange(InputValue($event))\"\n class=\"mj-agent-props-input\">\n <option value=\"Active\">Active</option>\n <option value=\"Disabled\">Disabled</option>\n <option value=\"Pending\">Pending</option>\n </select>\n }\n @if (ReadOnly) {\n <div class=\"mj-agent-props-readonly-value\">\n <span class=\"mj-agent-props-status-dot\" [style.background]=\"statusColor\"></span>\n {{ Step!.Status }}\n </div>\n }\n </div>\n @if (!ReadOnly) {\n <div class=\"mj-agent-props-field mj-agent-props-field--row\">\n <label class=\"mj-agent-props-checkbox-label\">\n <input type=\"checkbox\" [checked]=\"Step!.StartingStep\"\n (change)=\"OnStartingStepChange(CheckedValue($event))\">\n Starting Step\n </label>\n </div>\n }\n @if (ReadOnly && Step!.StartingStep) {\n <div class=\"mj-agent-props-field\">\n <label>Starting Step</label>\n <div class=\"mj-agent-props-readonly-value\">\n <span class=\"mj-agent-props-start-badge\">Yes — this is the entry point</span>\n </div>\n </div>\n }\n </div>\n </ng-template>\n </mj-accordion-panel>\n <!-- ── Configuration Section ───────────── -->\n <mj-accordion-panel class=\"mj-agent-props-accordion\" Size=\"sm\" [FlushBody]=\"true\" [Expanded]=\"!IsSectionCollapsed('config')\" (ExpandedChange)=\"ToggleSection('config')\">\n <ng-template mjAccordionTitle><span>Configuration</span></ng-template>\n <ng-template mjAccordionBody>\n <div class=\"mj-agent-props-section-body\">\n <!-- Loop Body Type (ForEach / While) -->\n @if (showLoopConfig) {\n <div class=\"mj-agent-props-field\">\n <label>Loop Body Type</label>\n @if (!ReadOnly) {\n <select [value]=\"Step!.LoopBodyType || 'Action'\"\n (change)=\"OnLoopBodyTypeChange(InputValue($event))\"\n class=\"mj-agent-props-input\">\n <option value=\"Action\">Action</option>\n <option value=\"Prompt\">Prompt</option>\n <option value=\"Sub-Agent\">Sub-Agent</option>\n </select>\n }\n @if (ReadOnly) {\n <div class=\"mj-agent-props-readonly-value\">\n {{ Step!.LoopBodyType || 'Action' }}\n </div>\n }\n </div>\n }\n <!-- Action Picker -->\n @if (showActionPicker) {\n <div class=\"mj-agent-props-field\">\n <label>Action</label>\n @if (!ReadOnly) {\n <select [value]=\"Step!.ActionID || ''\"\n (change)=\"OnActionChange(InputValue($event))\"\n class=\"mj-agent-props-input\">\n <option value=\"\">-- Select Action --</option>\n @for (action of Actions; track action) {\n <option [value]=\"action.ID\">{{ action.Name }}</option>\n }\n </select>\n }\n @if (ReadOnly) {\n <div class=\"mj-agent-props-readonly-value\">{{ selectedActionName }}</div>\n }\n </div>\n }\n <!-- Prompt Picker -->\n @if (showPromptPicker) {\n <div class=\"mj-agent-props-field\">\n <label>Prompt</label>\n @if (!ReadOnly) {\n <select [value]=\"Step!.PromptID || ''\"\n (change)=\"OnPromptChange(InputValue($event))\"\n class=\"mj-agent-props-input\">\n <option value=\"\">-- Select Prompt --</option>\n @for (prompt of Prompts; track prompt) {\n <option [value]=\"prompt.ID\">{{ prompt.Name }}</option>\n }\n </select>\n }\n @if (ReadOnly) {\n <div class=\"mj-agent-props-readonly-value\">{{ selectedPromptName }}</div>\n }\n </div>\n }\n <!-- Sub-Agent Picker -->\n @if (showAgentPicker) {\n <div class=\"mj-agent-props-field\">\n <label>Sub-Agent</label>\n @if (!ReadOnly) {\n <select [value]=\"Step!.SubAgentID || ''\"\n (change)=\"OnSubAgentChange(InputValue($event))\"\n class=\"mj-agent-props-input\">\n <option value=\"\">-- Select Agent --</option>\n @for (agent of Agents; track agent) {\n <option [value]=\"agent.ID\">{{ agent.Name }}</option>\n }\n </select>\n }\n @if (ReadOnly) {\n <div class=\"mj-agent-props-readonly-value\">{{ selectedAgentName }}</div>\n }\n </div>\n }\n <!-- Loop Configuration (JSON) -->\n @if (showLoopConfig) {\n <div class=\"mj-agent-props-field\">\n <label>Loop Configuration</label>\n <mj-code-editor\n [value]=\"FormatJsonDisplay(Step!.Configuration)\"\n language=\"json\"\n [readonly]=\"ReadOnly\"\n setup=\"minimal\"\n [lineWrapping]=\"true\"\n (change)=\"OnConfigurationChange($any($event))\">\n </mj-code-editor>\n </div>\n }\n </div>\n </ng-template>\n </mj-accordion-panel>\n <!-- ── Data Mapping Section (Action steps) ─── -->\n @if (Step!.StepType === 'Action' || showActionPicker) {\n <mj-accordion-panel class=\"mj-agent-props-accordion\" Size=\"sm\" [FlushBody]=\"true\" [Expanded]=\"!IsSectionCollapsed('mapping')\" (ExpandedChange)=\"ToggleSection('mapping')\">\n <ng-template mjAccordionTitle><span>Data Mapping</span></ng-template>\n <ng-template mjAccordionBody>\n <div class=\"mj-agent-props-section-body\">\n <div class=\"mj-agent-props-field\">\n <label>Input Mapping</label>\n <mj-code-editor\n [value]=\"FormatJsonDisplay(Step!.ActionInputMapping)\"\n language=\"json\"\n [readonly]=\"ReadOnly\"\n setup=\"minimal\"\n [lineWrapping]=\"true\"\n placeholder=\"Enter JSON input mapping...\"\n (change)=\"OnInputMappingChange($any($event))\">\n </mj-code-editor>\n </div>\n <div class=\"mj-agent-props-field\">\n <label>Output Mapping</label>\n <mj-code-editor\n [value]=\"FormatJsonDisplay(Step!.ActionOutputMapping)\"\n language=\"json\"\n [readonly]=\"ReadOnly\"\n setup=\"minimal\"\n [lineWrapping]=\"true\"\n placeholder=\"Enter JSON output mapping...\"\n (change)=\"OnOutputMappingChange($any($event))\">\n </mj-code-editor>\n </div>\n </div>\n </ng-template>\n </mj-accordion-panel>\n }\n <!-- ── Error Handling Section ──────────── -->\n <mj-accordion-panel class=\"mj-agent-props-accordion\" Size=\"sm\" [FlushBody]=\"true\" [Expanded]=\"!IsSectionCollapsed('errors')\" (ExpandedChange)=\"ToggleSection('errors')\">\n <ng-template mjAccordionTitle><span>Error Handling</span></ng-template>\n <ng-template mjAccordionBody>\n <div class=\"mj-agent-props-section-body\">\n <div class=\"mj-agent-props-field\">\n <label>On Error</label>\n @if (!ReadOnly) {\n <select [value]=\"Step!.OnErrorBehavior\"\n (change)=\"OnErrorBehaviorChange(InputValue($event))\"\n class=\"mj-agent-props-input\">\n <option value=\"fail\">Fail (stop flow)</option>\n <option value=\"continue\">Continue (ignore error)</option>\n <option value=\"retry\">Retry</option>\n </select>\n }\n @if (ReadOnly) {\n <div class=\"mj-agent-props-readonly-value\">\n {{ Step!.OnErrorBehavior === 'fail' ? 'Fail (stop flow)' :\n Step!.OnErrorBehavior === 'continue' ? 'Continue (ignore error)' : 'Retry' }}\n </div>\n }\n </div>\n @if (Step!.OnErrorBehavior === 'retry') {\n <div class=\"mj-agent-props-field\">\n <label>Retry Count</label>\n @if (!ReadOnly) {\n <input type=\"number\" [value]=\"Step!.RetryCount\" min=\"0\" max=\"10\"\n (input)=\"OnRetryCountChange(NumericValue($event))\"\n class=\"mj-agent-props-input\">\n }\n @if (ReadOnly) {\n <div class=\"mj-agent-props-readonly-value\">{{ Step!.RetryCount }}</div>\n }\n </div>\n }\n <div class=\"mj-agent-props-field\">\n <label>Timeout (seconds)</label>\n @if (!ReadOnly) {\n <input type=\"number\" [value]=\"Step!.TimeoutSeconds\" min=\"1\"\n (input)=\"OnTimeoutChange(NumericValue($event))\"\n class=\"mj-agent-props-input\">\n }\n @if (ReadOnly) {\n <div class=\"mj-agent-props-readonly-value\">{{ Step!.TimeoutSeconds }}s</div>\n }\n </div>\n </div>\n </ng-template>\n </mj-accordion-panel>\n <!-- ── Danger Zone ─────────────────────── -->\n @if (!ReadOnly) {\n <div class=\"mj-agent-props-section mj-agent-props-danger\">\n <button class=\"mj-agent-props-delete-btn\" (click)=\"OnDeleteStep()\">\n <i class=\"fa-solid fa-trash-can\"></i> Delete Step\n </button>\n </div>\n }\n </div>\n }\n\n <!-- ============================================ -->\n <!-- PATH PROPERTIES -->\n <!-- ============================================ -->\n @if (isConnectionSelected) {\n <!-- Path Header -->\n <div class=\"mj-agent-props-header mj-agent-props-header--path\"\n [style.border-left-color]=\"pathAccentColor\">\n <div class=\"mj-agent-props-header-top\">\n <span class=\"mj-agent-props-header-label\">PATH</span>\n <button class=\"mj-agent-props-close\" (click)=\"CloseRequested.emit()\" title=\"Close\">\n <i class=\"fa-solid fa-times\"></i>\n </button>\n </div>\n <!-- Path identity card -->\n <div class=\"mj-agent-props-identity\">\n <div class=\"mj-agent-props-identity-icon mj-agent-props-identity-icon--path\"\n [style.background]=\"pathAccentColor\">\n <i class=\"fa-solid fa-arrow-right\"></i>\n </div>\n <div class=\"mj-agent-props-identity-info\">\n <span class=\"mj-agent-props-path-route\">\n <span class=\"mj-agent-props-path-step-name\">{{ originStepName }}</span>\n <i class=\"fa-solid fa-arrow-right mj-agent-props-path-arrow\"></i>\n <span class=\"mj-agent-props-path-step-name\">{{ destinationStepName }}</span>\n </span>\n <span class=\"mj-agent-props-identity-meta\">\n <span class=\"mj-agent-props-type-pill\"\n [style.color]=\"pathAccentColor\"\n [style.background]=\"pathAccentColor + '18'\">\n {{ isConditionalPath ? 'Conditional' : 'Always' }}\n </span>\n @if (PathEntity!.Priority !== 0) {\n <span class=\"mj-agent-props-priority-badge\">\n Priority: {{ PathEntity!.Priority }}\n </span>\n }\n </span>\n </div>\n </div>\n </div>\n <div class=\"mj-agent-props-content\">\n <!-- ── Overview Section ────────────────── -->\n <mj-accordion-panel class=\"mj-agent-props-accordion\" Size=\"sm\" [FlushBody]=\"true\" [Expanded]=\"!IsSectionCollapsed('path-overview')\" (ExpandedChange)=\"ToggleSection('path-overview')\">\n <ng-template mjAccordionTitle><span>Route</span></ng-template>\n <ng-template mjAccordionBody>\n <div class=\"mj-agent-props-section-body\">\n <div class=\"mj-agent-props-field\">\n <label>From</label>\n <div class=\"mj-agent-props-readonly-value mj-agent-props-readonly-value--muted\">\n {{ originStepName }}\n </div>\n </div>\n <div class=\"mj-agent-props-field\">\n <label>To</label>\n <div class=\"mj-agent-props-readonly-value mj-agent-props-readonly-value--muted\">\n {{ destinationStepName }}\n </div>\n </div>\n <span class=\"mj-agent-props-hint\">To change the route, rewire the connection on the canvas.</span>\n </div>\n </ng-template>\n </mj-accordion-panel>\n <!-- ── Path Settings Section ───────────── -->\n <mj-accordion-panel class=\"mj-agent-props-accordion\" Size=\"sm\" [FlushBody]=\"true\" [Expanded]=\"!IsSectionCollapsed('path-settings')\" (ExpandedChange)=\"ToggleSection('path-settings')\">\n <ng-template mjAccordionTitle><span>Settings</span></ng-template>\n <ng-template mjAccordionBody>\n <div class=\"mj-agent-props-section-body\">\n <div class=\"mj-agent-props-field\">\n <label>Description</label>\n @if (!ReadOnly) {\n <input type=\"text\" [value]=\"PathEntity!.Description || ''\"\n (input)=\"OnPathDescriptionChange(InputValue($event))\"\n placeholder=\"Path label...\" class=\"mj-agent-props-input\">\n }\n @if (ReadOnly) {\n <div class=\"mj-agent-props-readonly-value\">\n {{ PathEntity!.Description || '—' }}\n </div>\n }\n @if (!ReadOnly) {\n <span class=\"mj-agent-props-hint\">Displayed as a label on the connection line</span>\n }\n </div>\n <div class=\"mj-agent-props-field\">\n <label>Condition</label>\n @if (!ReadOnly) {\n <mj-code-editor\n [value]=\"PathEntity!.Condition || ''\"\n language=\"javascript\"\n [readonly]=\"false\"\n setup=\"minimal\"\n [lineWrapping]=\"true\"\n placeholder=\"e.g. payload.status === 'active'\"\n (change)=\"OnPathConditionChange($any($event))\">\n </mj-code-editor>\n }\n @if (ReadOnly && PathEntity!.Condition) {\n <mj-code-editor\n [value]=\"PathEntity!.Condition\"\n language=\"javascript\"\n [readonly]=\"true\"\n setup=\"minimal\"\n [lineWrapping]=\"true\">\n </mj-code-editor>\n }\n @if (ReadOnly && !PathEntity!.Condition) {\n <div class=\"mj-agent-props-readonly-value mj-agent-props-readonly-value--muted\">\n No condition (always taken)\n </div>\n }\n @if (!ReadOnly) {\n <span class=\"mj-agent-props-hint\">\n JavaScript expression evaluated at runtime. Leave empty for unconditional.\n </span>\n }\n </div>\n <div class=\"mj-agent-props-field\">\n <label>Priority</label>\n @if (!ReadOnly) {\n <input type=\"number\" [value]=\"PathEntity!.Priority\" min=\"-100\" max=\"100\"\n (input)=\"OnPathPriorityChange(NumericValue($event))\"\n class=\"mj-agent-props-input\">\n }\n @if (ReadOnly) {\n <div class=\"mj-agent-props-readonly-value\">{{ PathEntity!.Priority }}</div>\n }\n <span class=\"mj-agent-props-hint\">Higher priority paths are evaluated first when multiple paths leave a step.</span>\n </div>\n </div>\n </ng-template>\n </mj-accordion-panel>\n <!-- ── Danger Zone ─────────────────────── -->\n @if (!ReadOnly) {\n <div class=\"mj-agent-props-section mj-agent-props-danger\">\n <button class=\"mj-agent-props-delete-btn\" (click)=\"OnDeletePath()\">\n <i class=\"fa-solid fa-trash-can\"></i> Delete Path\n </button>\n </div>\n }\n </div>\n }\n</div>\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-step-list.component.d.ts","sourceRoot":"","sources":["../../../src/lib/agent-editor/agent-step-list.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,YAAY,EAA8C,MAAM,eAAe,CAAC;AACnH,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;;AAG7F;;;GAGG;AACH,
|
|
1
|
+
{"version":3,"file":"agent-step-list.component.d.ts","sourceRoot":"","sources":["../../../src/lib/agent-editor/agent-step-list.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,YAAY,EAA8C,MAAM,eAAe,CAAC;AACnH,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;;AAG7F;;;GAGG;AACH,qBA2Ma,sBAAsB;IACxB,KAAK,EAAE,mBAAmB,EAAE,CAAM;IAClC,KAAK,EAAE,uBAAuB,EAAE,CAAM;IACtC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAQ;IAEpC,WAAW,oCAA2C;IAEhE,cAAc,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO;IAIlD,iBAAiB,CAAC,IAAI,EAAE,mBAAmB,GAAG,MAAM;yCAXzC,sBAAsB;2CAAtB,sBAAsB;CAqBlC"}
|
|
@@ -1,26 +1,27 @@
|
|
|
1
1
|
import { Component, Input, Output, EventEmitter, ViewEncapsulation, ChangeDetectionStrategy } from '@angular/core';
|
|
2
2
|
import { UUIDsEqual } from '@memberjunction/global';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@memberjunction/ng-ui-components";
|
|
4
5
|
function AgentStepListComponent_Conditional_7_For_15_Conditional_10_Template(rf, ctx) { if (rf & 1) {
|
|
5
|
-
i0.ɵɵelement(0, "i",
|
|
6
|
+
i0.ɵɵelement(0, "i", 14);
|
|
6
7
|
} }
|
|
7
8
|
function AgentStepListComponent_Conditional_7_For_15_Template(rf, ctx) { if (rf & 1) {
|
|
8
9
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
9
|
-
i0.ɵɵelementStart(0, "tr",
|
|
10
|
+
i0.ɵɵelementStart(0, "tr", 10);
|
|
10
11
|
i0.ɵɵlistener("click", function AgentStepListComponent_Conditional_7_For_15_Template_tr_click_0_listener() { const step_r2 = i0.ɵɵrestoreView(_r1).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.StepClicked.emit(step_r2)); });
|
|
11
|
-
i0.ɵɵelementStart(1, "td",
|
|
12
|
+
i0.ɵɵelementStart(1, "td", 11);
|
|
12
13
|
i0.ɵɵtext(2);
|
|
13
14
|
i0.ɵɵelementEnd();
|
|
14
|
-
i0.ɵɵelementStart(3, "td")(4, "span",
|
|
15
|
+
i0.ɵɵelementStart(3, "td")(4, "span", 12);
|
|
15
16
|
i0.ɵɵtext(5);
|
|
16
17
|
i0.ɵɵelementEnd()();
|
|
17
|
-
i0.ɵɵelementStart(6, "td")(7, "span",
|
|
18
|
+
i0.ɵɵelementStart(6, "td")(7, "span", 13);
|
|
18
19
|
i0.ɵɵtext(8);
|
|
19
20
|
i0.ɵɵelementEnd()();
|
|
20
21
|
i0.ɵɵelementStart(9, "td");
|
|
21
|
-
i0.ɵɵconditionalCreate(10, AgentStepListComponent_Conditional_7_For_15_Conditional_10_Template, 1, 0, "i",
|
|
22
|
+
i0.ɵɵconditionalCreate(10, AgentStepListComponent_Conditional_7_For_15_Conditional_10_Template, 1, 0, "i", 14);
|
|
22
23
|
i0.ɵɵelementEnd();
|
|
23
|
-
i0.ɵɵelementStart(11, "td",
|
|
24
|
+
i0.ɵɵelementStart(11, "td", 15);
|
|
24
25
|
i0.ɵɵtext(12);
|
|
25
26
|
i0.ɵɵelementEnd()();
|
|
26
27
|
} if (rf & 2) {
|
|
@@ -59,7 +60,7 @@ function AgentStepListComponent_Conditional_7_Template(rf, ctx) { if (rf & 1) {
|
|
|
59
60
|
i0.ɵɵtext(12, "Configured");
|
|
60
61
|
i0.ɵɵelementEnd()()();
|
|
61
62
|
i0.ɵɵelementStart(13, "tbody");
|
|
62
|
-
i0.ɵɵrepeaterCreate(14, AgentStepListComponent_Conditional_7_For_15_Template, 13, 9, "tr",
|
|
63
|
+
i0.ɵɵrepeaterCreate(14, AgentStepListComponent_Conditional_7_For_15_Template, 13, 9, "tr", 9, i0.ɵɵrepeaterTrackByIdentity);
|
|
63
64
|
i0.ɵɵelementEnd()();
|
|
64
65
|
} if (rf & 2) {
|
|
65
66
|
const ctx_r2 = i0.ɵɵnextContext();
|
|
@@ -67,9 +68,7 @@ function AgentStepListComponent_Conditional_7_Template(rf, ctx) { if (rf & 1) {
|
|
|
67
68
|
i0.ɵɵrepeater(ctx_r2.Steps);
|
|
68
69
|
} }
|
|
69
70
|
function AgentStepListComponent_Conditional_8_Template(rf, ctx) { if (rf & 1) {
|
|
70
|
-
i0.ɵɵ
|
|
71
|
-
i0.ɵɵtext(1, " No steps defined ");
|
|
72
|
-
i0.ɵɵelementEnd();
|
|
71
|
+
i0.ɵɵelement(0, "mj-empty-state", 6);
|
|
73
72
|
} }
|
|
74
73
|
function AgentStepListComponent_Conditional_15_For_13_Template(rf, ctx) { if (rf & 1) {
|
|
75
74
|
i0.ɵɵelementStart(0, "tr")(1, "td");
|
|
@@ -78,7 +77,7 @@ function AgentStepListComponent_Conditional_15_For_13_Template(rf, ctx) { if (rf
|
|
|
78
77
|
i0.ɵɵelementStart(3, "td");
|
|
79
78
|
i0.ɵɵtext(4);
|
|
80
79
|
i0.ɵɵelementEnd();
|
|
81
|
-
i0.ɵɵelementStart(5, "td",
|
|
80
|
+
i0.ɵɵelementStart(5, "td", 16);
|
|
82
81
|
i0.ɵɵtext(6);
|
|
83
82
|
i0.ɵɵelementEnd();
|
|
84
83
|
i0.ɵɵelementStart(7, "td");
|
|
@@ -117,9 +116,7 @@ function AgentStepListComponent_Conditional_15_Template(rf, ctx) { if (rf & 1) {
|
|
|
117
116
|
i0.ɵɵrepeater(ctx_r2.Paths);
|
|
118
117
|
} }
|
|
119
118
|
function AgentStepListComponent_Conditional_16_Template(rf, ctx) { if (rf & 1) {
|
|
120
|
-
i0.ɵɵ
|
|
121
|
-
i0.ɵɵtext(1, " No paths defined ");
|
|
122
|
-
i0.ɵɵelementEnd();
|
|
119
|
+
i0.ɵɵelement(0, "mj-empty-state", 8);
|
|
123
120
|
} }
|
|
124
121
|
/**
|
|
125
122
|
* Tabular list view of agent steps and paths.
|
|
@@ -144,14 +141,14 @@ export class AgentStepListComponent {
|
|
|
144
141
|
}
|
|
145
142
|
}
|
|
146
143
|
static ɵfac = function AgentStepListComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || AgentStepListComponent)(); };
|
|
147
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AgentStepListComponent, selectors: [["mj-agent-step-list"]], inputs: { Steps: "Steps", Paths: "Paths", SelectedStepID: "SelectedStepID" }, outputs: { StepClicked: "StepClicked" }, standalone: false, decls: 17, vars: 6, consts: [[1, "mj-step-list"], [1, "mj-step-list-section"], [1, "mj-step-list-section-header"], [1, "fa-solid", "fa-circle-nodes"], [1, "mj-step-list-table-wrap"], [1, "mj-step-list-table"], [1, "mj-step-list-empty"], [1, "fa-solid", "fa-link"], [3, "mj-step-list-row--selected"], [3, "click"], [1, "mj-step-list-name"], [1, "mj-step-list-type-badge"], [1, "mj-step-list-status"], [1, "fa-solid", "fa-check", "mj-step-list-check"], [1, "mj-step-list-configured"], [1, "mj-step-list-condition"]], template: function AgentStepListComponent_Template(rf, ctx) { if (rf & 1) {
|
|
144
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AgentStepListComponent, selectors: [["mj-agent-step-list"]], inputs: { Steps: "Steps", Paths: "Paths", SelectedStepID: "SelectedStepID" }, outputs: { StepClicked: "StepClicked" }, standalone: false, decls: 17, vars: 6, consts: [[1, "mj-step-list"], [1, "mj-step-list-section"], [1, "mj-step-list-section-header"], [1, "fa-solid", "fa-circle-nodes"], [1, "mj-step-list-table-wrap"], [1, "mj-step-list-table"], ["Size", "compact", "Icon", "", "Title", "No steps defined", 1, "mj-step-list-empty"], [1, "fa-solid", "fa-link"], ["Size", "compact", "Icon", "", "Title", "No paths defined", 1, "mj-step-list-empty"], [3, "mj-step-list-row--selected"], [3, "click"], [1, "mj-step-list-name"], [1, "mj-step-list-type-badge"], [1, "mj-step-list-status"], [1, "fa-solid", "fa-check", "mj-step-list-check"], [1, "mj-step-list-configured"], [1, "mj-step-list-condition"]], template: function AgentStepListComponent_Template(rf, ctx) { if (rf & 1) {
|
|
148
145
|
i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2)(3, "h4");
|
|
149
146
|
i0.ɵɵelement(4, "i", 3);
|
|
150
147
|
i0.ɵɵtext(5);
|
|
151
148
|
i0.ɵɵelementEnd()();
|
|
152
149
|
i0.ɵɵelementStart(6, "div", 4);
|
|
153
150
|
i0.ɵɵconditionalCreate(7, AgentStepListComponent_Conditional_7_Template, 16, 0, "table", 5);
|
|
154
|
-
i0.ɵɵconditionalCreate(8, AgentStepListComponent_Conditional_8_Template,
|
|
151
|
+
i0.ɵɵconditionalCreate(8, AgentStepListComponent_Conditional_8_Template, 1, 0, "mj-empty-state", 6);
|
|
155
152
|
i0.ɵɵelementEnd()();
|
|
156
153
|
i0.ɵɵelementStart(9, "div", 1)(10, "div", 2)(11, "h4");
|
|
157
154
|
i0.ɵɵelement(12, "i", 7);
|
|
@@ -159,7 +156,7 @@ export class AgentStepListComponent {
|
|
|
159
156
|
i0.ɵɵelementEnd()();
|
|
160
157
|
i0.ɵɵelementStart(14, "div", 4);
|
|
161
158
|
i0.ɵɵconditionalCreate(15, AgentStepListComponent_Conditional_15_Template, 14, 0, "table", 5);
|
|
162
|
-
i0.ɵɵconditionalCreate(16, AgentStepListComponent_Conditional_16_Template,
|
|
159
|
+
i0.ɵɵconditionalCreate(16, AgentStepListComponent_Conditional_16_Template, 1, 0, "mj-empty-state", 8);
|
|
163
160
|
i0.ɵɵelementEnd()()();
|
|
164
161
|
} if (rf & 2) {
|
|
165
162
|
i0.ɵɵadvance(5);
|
|
@@ -174,7 +171,7 @@ export class AgentStepListComponent {
|
|
|
174
171
|
i0.ɵɵconditional(ctx.Paths.length > 0 ? 15 : -1);
|
|
175
172
|
i0.ɵɵadvance();
|
|
176
173
|
i0.ɵɵconditional(ctx.Paths.length === 0 ? 16 : -1);
|
|
177
|
-
} }, styles: ["\n .mj-step-list {\n padding: 16px;\n overflow-y: auto;\n height: 100%;\n }\n\n .mj-step-list-section {\n margin-bottom: 24px;\n }\n\n .mj-step-list-section-header h4 {\n font-size: 14px;\n font-weight: 600;\n color: #334155;\n margin: 0 0 10px;\n display: flex;\n align-items: center;\n gap: 8px;\n i { font-size: 13px; color: #64748b; }\n }\n\n .mj-step-list-table-wrap {\n border: 1px solid #e2e8f0;\n border-radius: 8px;\n overflow: hidden;\n }\n\n .mj-step-list-table {\n width: 100%;\n border-collapse: collapse;\n font-size: 13px;\n\n th {\n background: #f8fafc;\n padding: 8px 12px;\n text-align: left;\n font-weight: 600;\n color: #64748b;\n font-size: 11px;\n text-transform: uppercase;\n letter-spacing: 0.3px;\n border-bottom: 1px solid #e2e8f0;\n }\n\n td {\n padding: 8px 12px;\n color: #334155;\n border-bottom: 1px solid #f1f5f9;\n }\n\n tbody tr {\n cursor: pointer;\n transition: background-color 0.1s ease;\n &:hover { background: #f8fafc; }\n &:last-child td { border-bottom: none; }\n }\n }\n\n .mj-step-list-row--selected {\n background: #eff6ff !important;\n }\n\n .mj-step-list-name { font-weight: 500; }\n\n .mj-step-list-type-badge {\n font-size: 11px;\n font-weight: 500;\n padding: 2px 8px;\n border-radius: 4px;\n background: #f1f5f9;\n color: #475569;\n }\n\n .mj-step-list-status {\n font-size: 11px;\n font-weight: 500;\n &[data-status=\"Active\"] { color: #10b981; }\n &[data-status=\"Disabled\"] { color: #94a3b8; }\n &[data-status=\"Pending\"] { color: #f59e0b; }\n }\n\n .mj-step-list-check { color: #10b981; font-size: 12px; }\n\n .mj-step-list-configured {\n color: #64748b;\n font-size: 12px;\n max-width: 200px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .mj-step-list-condition {\n font-family: 'SF Mono', monospace;\n font-size: 11px;\n color: #64748b;\n max-width: 200px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .mj-step-list-empty {\n padding: 24px;\n text-align: center;\n color: #94a3b8;\n font-size: 13px;\n }\n "], encapsulation: 2, changeDetection: 0 });
|
|
174
|
+
} }, dependencies: [i1.MJEmptyStateComponent], styles: ["\n .mj-step-list {\n padding: 16px;\n overflow-y: auto;\n height: 100%;\n }\n\n .mj-step-list-section {\n margin-bottom: 24px;\n }\n\n .mj-step-list-section-header h4 {\n font-size: 14px;\n font-weight: 600;\n color: #334155;\n margin: 0 0 10px;\n display: flex;\n align-items: center;\n gap: 8px;\n i { font-size: 13px; color: #64748b; }\n }\n\n .mj-step-list-table-wrap {\n border: 1px solid #e2e8f0;\n border-radius: 8px;\n overflow: hidden;\n }\n\n .mj-step-list-table {\n width: 100%;\n border-collapse: collapse;\n font-size: 13px;\n\n th {\n background: #f8fafc;\n padding: 8px 12px;\n text-align: left;\n font-weight: 600;\n color: #64748b;\n font-size: 11px;\n text-transform: uppercase;\n letter-spacing: 0.3px;\n border-bottom: 1px solid #e2e8f0;\n }\n\n td {\n padding: 8px 12px;\n color: #334155;\n border-bottom: 1px solid #f1f5f9;\n }\n\n tbody tr {\n cursor: pointer;\n transition: background-color 0.1s ease;\n &:hover { background: #f8fafc; }\n &:last-child td { border-bottom: none; }\n }\n }\n\n .mj-step-list-row--selected {\n background: #eff6ff !important;\n }\n\n .mj-step-list-name { font-weight: 500; }\n\n .mj-step-list-type-badge {\n font-size: 11px;\n font-weight: 500;\n padding: 2px 8px;\n border-radius: 4px;\n background: #f1f5f9;\n color: #475569;\n }\n\n .mj-step-list-status {\n font-size: 11px;\n font-weight: 500;\n &[data-status=\"Active\"] { color: #10b981; }\n &[data-status=\"Disabled\"] { color: #94a3b8; }\n &[data-status=\"Pending\"] { color: #f59e0b; }\n }\n\n .mj-step-list-check { color: #10b981; font-size: 12px; }\n\n .mj-step-list-configured {\n color: #64748b;\n font-size: 12px;\n max-width: 200px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .mj-step-list-condition {\n font-family: 'SF Mono', monospace;\n font-size: 11px;\n color: #64748b;\n max-width: 200px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .mj-step-list-empty {\n padding: 24px;\n text-align: center;\n color: #94a3b8;\n font-size: 13px;\n }\n "], encapsulation: 2, changeDetection: 0 });
|
|
178
175
|
}
|
|
179
176
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AgentStepListComponent, [{
|
|
180
177
|
type: Component,
|
|
@@ -225,9 +222,7 @@ export class AgentStepListComponent {
|
|
|
225
222
|
</table>
|
|
226
223
|
}
|
|
227
224
|
@if (Steps.length === 0) {
|
|
228
|
-
<
|
|
229
|
-
No steps defined
|
|
230
|
-
</div>
|
|
225
|
+
<mj-empty-state class="mj-step-list-empty" Size="compact" Icon="" Title="No steps defined" />
|
|
231
226
|
}
|
|
232
227
|
</div>
|
|
233
228
|
</div>
|
|
@@ -261,9 +256,7 @@ export class AgentStepListComponent {
|
|
|
261
256
|
</table>
|
|
262
257
|
}
|
|
263
258
|
@if (Paths.length === 0) {
|
|
264
|
-
<
|
|
265
|
-
No paths defined
|
|
266
|
-
</div>
|
|
259
|
+
<mj-empty-state class="mj-step-list-empty" Size="compact" Icon="" Title="No paths defined" />
|
|
267
260
|
}
|
|
268
261
|
</div>
|
|
269
262
|
</div>
|
|
@@ -278,5 +271,5 @@ export class AgentStepListComponent {
|
|
|
278
271
|
}], StepClicked: [{
|
|
279
272
|
type: Output
|
|
280
273
|
}] }); })();
|
|
281
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(AgentStepListComponent, { className: "AgentStepListComponent", filePath: "src/lib/agent-editor/agent-step-list.component.ts", lineNumber:
|
|
274
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(AgentStepListComponent, { className: "AgentStepListComponent", filePath: "src/lib/agent-editor/agent-step-list.component.ts", lineNumber: 212 }); })();
|
|
282
275
|
//# sourceMappingURL=agent-step-list.component.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-step-list.component.js","sourceRoot":"","sources":["../../../src/lib/agent-editor/agent-step-list.component.ts"],"names":[],"mappings":"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","sourcesContent":["import { Component, Input, Output, EventEmitter, ViewEncapsulation, ChangeDetectionStrategy } from '@angular/core';\nimport { MJAIAgentStepEntity, MJAIAgentStepPathEntity } from '@memberjunction/core-entities';\nimport { UUIDsEqual } from '@memberjunction/global';\n\n/**\n * Tabular list view of agent steps and paths.\n * Alternative to the visual flow canvas — useful for quick overview and bulk editing.\n */\n@Component({\n standalone: false,\n selector: 'mj-agent-step-list',\n template: `\n <div class=\"mj-step-list\">\n <!-- Steps Section -->\n <div class=\"mj-step-list-section\">\n <div class=\"mj-step-list-section-header\">\n <h4><i class=\"fa-solid fa-circle-nodes\"></i> Steps ({{ Steps.length }})</h4>\n </div>\n <div class=\"mj-step-list-table-wrap\">\n @if (Steps.length > 0) {\n <table class=\"mj-step-list-table\">\n <thead>\n <tr>\n <th>Name</th>\n <th>Type</th>\n <th>Status</th>\n <th>Start</th>\n <th>Configured</th>\n </tr>\n </thead>\n <tbody>\n @for (step of Steps; track step) {\n <tr\n [class.mj-step-list-row--selected]=\"IsStepSelected(step)\"\n (click)=\"StepClicked.emit(step)\">\n <td class=\"mj-step-list-name\">{{ step.Name }}</td>\n <td>\n <span class=\"mj-step-list-type-badge\" [attr.data-type]=\"step.StepType\">\n {{ step.StepType }}\n </span>\n </td>\n <td>\n <span class=\"mj-step-list-status\" [attr.data-status]=\"step.Status\">\n {{ step.Status }}\n </span>\n </td>\n <td>\n @if (step.StartingStep) {\n <i class=\"fa-solid fa-check mj-step-list-check\"></i>\n }\n </td>\n <td class=\"mj-step-list-configured\">{{ getConfiguredItem(step) }}</td>\n </tr>\n }\n </tbody>\n </table>\n }\n @if (Steps.length === 0) {\n <div class=\"mj-step-list-empty\">\n No steps defined\n </div>\n }\n </div>\n </div>\n \n <!-- Paths Section -->\n <div class=\"mj-step-list-section\">\n <div class=\"mj-step-list-section-header\">\n <h4><i class=\"fa-solid fa-link\"></i> Paths ({{ Paths.length }})</h4>\n </div>\n <div class=\"mj-step-list-table-wrap\">\n @if (Paths.length > 0) {\n <table class=\"mj-step-list-table\">\n <thead>\n <tr>\n <th>From</th>\n <th>To</th>\n <th>Condition</th>\n <th>Priority</th>\n </tr>\n </thead>\n <tbody>\n @for (path of Paths; track path) {\n <tr>\n <td>{{ path.OriginStep }}</td>\n <td>{{ path.DestinationStep }}</td>\n <td class=\"mj-step-list-condition\">{{ path.Condition || '(always)' }}</td>\n <td>{{ path.Priority }}</td>\n </tr>\n }\n </tbody>\n </table>\n }\n @if (Paths.length === 0) {\n <div class=\"mj-step-list-empty\">\n No paths defined\n </div>\n }\n </div>\n </div>\n </div>\n `,\n styles: [`\n .mj-step-list {\n padding: 16px;\n overflow-y: auto;\n height: 100%;\n }\n\n .mj-step-list-section {\n margin-bottom: 24px;\n }\n\n .mj-step-list-section-header h4 {\n font-size: 14px;\n font-weight: 600;\n color: #334155;\n margin: 0 0 10px;\n display: flex;\n align-items: center;\n gap: 8px;\n i { font-size: 13px; color: #64748b; }\n }\n\n .mj-step-list-table-wrap {\n border: 1px solid #e2e8f0;\n border-radius: 8px;\n overflow: hidden;\n }\n\n .mj-step-list-table {\n width: 100%;\n border-collapse: collapse;\n font-size: 13px;\n\n th {\n background: #f8fafc;\n padding: 8px 12px;\n text-align: left;\n font-weight: 600;\n color: #64748b;\n font-size: 11px;\n text-transform: uppercase;\n letter-spacing: 0.3px;\n border-bottom: 1px solid #e2e8f0;\n }\n\n td {\n padding: 8px 12px;\n color: #334155;\n border-bottom: 1px solid #f1f5f9;\n }\n\n tbody tr {\n cursor: pointer;\n transition: background-color 0.1s ease;\n &:hover { background: #f8fafc; }\n &:last-child td { border-bottom: none; }\n }\n }\n\n .mj-step-list-row--selected {\n background: #eff6ff !important;\n }\n\n .mj-step-list-name { font-weight: 500; }\n\n .mj-step-list-type-badge {\n font-size: 11px;\n font-weight: 500;\n padding: 2px 8px;\n border-radius: 4px;\n background: #f1f5f9;\n color: #475569;\n }\n\n .mj-step-list-status {\n font-size: 11px;\n font-weight: 500;\n &[data-status=\"Active\"] { color: #10b981; }\n &[data-status=\"Disabled\"] { color: #94a3b8; }\n &[data-status=\"Pending\"] { color: #f59e0b; }\n }\n\n .mj-step-list-check { color: #10b981; font-size: 12px; }\n\n .mj-step-list-configured {\n color: #64748b;\n font-size: 12px;\n max-width: 200px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .mj-step-list-condition {\n font-family: 'SF Mono', monospace;\n font-size: 11px;\n color: #64748b;\n max-width: 200px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .mj-step-list-empty {\n padding: 24px;\n text-align: center;\n color: #94a3b8;\n font-size: 13px;\n }\n `],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AgentStepListComponent {\n @Input() Steps: MJAIAgentStepEntity[] = [];\n @Input() Paths: MJAIAgentStepPathEntity[] = [];\n @Input() SelectedStepID: string | null = null;\n\n @Output() StepClicked = new EventEmitter<MJAIAgentStepEntity>();\n\n IsStepSelected(step: MJAIAgentStepEntity): boolean {\n return UUIDsEqual(this.SelectedStepID, step.ID);\n }\n\n getConfiguredItem(step: MJAIAgentStepEntity): string {\n switch (step.StepType) {\n case 'Action': return step.Action || '—';\n case 'Prompt': return step.Prompt || '—';\n case 'Sub-Agent': return step.SubAgent || '—';\n case 'ForEach':\n case 'While': return `${step.LoopBodyType ?? 'Action'} loop`;\n default: return '—';\n }\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"agent-step-list.component.js","sourceRoot":"","sources":["../../../src/lib/agent-editor/agent-step-list.component.ts"],"names":[],"mappings":"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","sourcesContent":["import { Component, Input, Output, EventEmitter, ViewEncapsulation, ChangeDetectionStrategy } from '@angular/core';\nimport { MJAIAgentStepEntity, MJAIAgentStepPathEntity } from '@memberjunction/core-entities';\nimport { UUIDsEqual } from '@memberjunction/global';\n\n/**\n * Tabular list view of agent steps and paths.\n * Alternative to the visual flow canvas — useful for quick overview and bulk editing.\n */\n@Component({\n standalone: false,\n selector: 'mj-agent-step-list',\n template: `\n <div class=\"mj-step-list\">\n <!-- Steps Section -->\n <div class=\"mj-step-list-section\">\n <div class=\"mj-step-list-section-header\">\n <h4><i class=\"fa-solid fa-circle-nodes\"></i> Steps ({{ Steps.length }})</h4>\n </div>\n <div class=\"mj-step-list-table-wrap\">\n @if (Steps.length > 0) {\n <table class=\"mj-step-list-table\">\n <thead>\n <tr>\n <th>Name</th>\n <th>Type</th>\n <th>Status</th>\n <th>Start</th>\n <th>Configured</th>\n </tr>\n </thead>\n <tbody>\n @for (step of Steps; track step) {\n <tr\n [class.mj-step-list-row--selected]=\"IsStepSelected(step)\"\n (click)=\"StepClicked.emit(step)\">\n <td class=\"mj-step-list-name\">{{ step.Name }}</td>\n <td>\n <span class=\"mj-step-list-type-badge\" [attr.data-type]=\"step.StepType\">\n {{ step.StepType }}\n </span>\n </td>\n <td>\n <span class=\"mj-step-list-status\" [attr.data-status]=\"step.Status\">\n {{ step.Status }}\n </span>\n </td>\n <td>\n @if (step.StartingStep) {\n <i class=\"fa-solid fa-check mj-step-list-check\"></i>\n }\n </td>\n <td class=\"mj-step-list-configured\">{{ getConfiguredItem(step) }}</td>\n </tr>\n }\n </tbody>\n </table>\n }\n @if (Steps.length === 0) {\n <mj-empty-state class=\"mj-step-list-empty\" Size=\"compact\" Icon=\"\" Title=\"No steps defined\" />\n }\n </div>\n </div>\n \n <!-- Paths Section -->\n <div class=\"mj-step-list-section\">\n <div class=\"mj-step-list-section-header\">\n <h4><i class=\"fa-solid fa-link\"></i> Paths ({{ Paths.length }})</h4>\n </div>\n <div class=\"mj-step-list-table-wrap\">\n @if (Paths.length > 0) {\n <table class=\"mj-step-list-table\">\n <thead>\n <tr>\n <th>From</th>\n <th>To</th>\n <th>Condition</th>\n <th>Priority</th>\n </tr>\n </thead>\n <tbody>\n @for (path of Paths; track path) {\n <tr>\n <td>{{ path.OriginStep }}</td>\n <td>{{ path.DestinationStep }}</td>\n <td class=\"mj-step-list-condition\">{{ path.Condition || '(always)' }}</td>\n <td>{{ path.Priority }}</td>\n </tr>\n }\n </tbody>\n </table>\n }\n @if (Paths.length === 0) {\n <mj-empty-state class=\"mj-step-list-empty\" Size=\"compact\" Icon=\"\" Title=\"No paths defined\" />\n }\n </div>\n </div>\n </div>\n `,\n styles: [`\n .mj-step-list {\n padding: 16px;\n overflow-y: auto;\n height: 100%;\n }\n\n .mj-step-list-section {\n margin-bottom: 24px;\n }\n\n .mj-step-list-section-header h4 {\n font-size: 14px;\n font-weight: 600;\n color: #334155;\n margin: 0 0 10px;\n display: flex;\n align-items: center;\n gap: 8px;\n i { font-size: 13px; color: #64748b; }\n }\n\n .mj-step-list-table-wrap {\n border: 1px solid #e2e8f0;\n border-radius: 8px;\n overflow: hidden;\n }\n\n .mj-step-list-table {\n width: 100%;\n border-collapse: collapse;\n font-size: 13px;\n\n th {\n background: #f8fafc;\n padding: 8px 12px;\n text-align: left;\n font-weight: 600;\n color: #64748b;\n font-size: 11px;\n text-transform: uppercase;\n letter-spacing: 0.3px;\n border-bottom: 1px solid #e2e8f0;\n }\n\n td {\n padding: 8px 12px;\n color: #334155;\n border-bottom: 1px solid #f1f5f9;\n }\n\n tbody tr {\n cursor: pointer;\n transition: background-color 0.1s ease;\n &:hover { background: #f8fafc; }\n &:last-child td { border-bottom: none; }\n }\n }\n\n .mj-step-list-row--selected {\n background: #eff6ff !important;\n }\n\n .mj-step-list-name { font-weight: 500; }\n\n .mj-step-list-type-badge {\n font-size: 11px;\n font-weight: 500;\n padding: 2px 8px;\n border-radius: 4px;\n background: #f1f5f9;\n color: #475569;\n }\n\n .mj-step-list-status {\n font-size: 11px;\n font-weight: 500;\n &[data-status=\"Active\"] { color: #10b981; }\n &[data-status=\"Disabled\"] { color: #94a3b8; }\n &[data-status=\"Pending\"] { color: #f59e0b; }\n }\n\n .mj-step-list-check { color: #10b981; font-size: 12px; }\n\n .mj-step-list-configured {\n color: #64748b;\n font-size: 12px;\n max-width: 200px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .mj-step-list-condition {\n font-family: 'SF Mono', monospace;\n font-size: 11px;\n color: #64748b;\n max-width: 200px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .mj-step-list-empty {\n padding: 24px;\n text-align: center;\n color: #94a3b8;\n font-size: 13px;\n }\n `],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AgentStepListComponent {\n @Input() Steps: MJAIAgentStepEntity[] = [];\n @Input() Paths: MJAIAgentStepPathEntity[] = [];\n @Input() SelectedStepID: string | null = null;\n\n @Output() StepClicked = new EventEmitter<MJAIAgentStepEntity>();\n\n IsStepSelected(step: MJAIAgentStepEntity): boolean {\n return UUIDsEqual(this.SelectedStepID, step.ID);\n }\n\n getConfiguredItem(step: MJAIAgentStepEntity): string {\n switch (step.StepType) {\n case 'Action': return step.Action || '—';\n case 'Prompt': return step.Prompt || '—';\n case 'Sub-Agent': return step.SubAgent || '—';\n case 'ForEach':\n case 'While': return `${step.LoopBodyType ?? 'Action'} loop`;\n default: return '—';\n }\n }\n}\n"]}
|
|
@@ -41,6 +41,8 @@ export declare class FlowEditorComponent implements OnInit, OnDestroy {
|
|
|
41
41
|
ConnectionLabelBorderColor: string;
|
|
42
42
|
/** Text color for connection labels */
|
|
43
43
|
ConnectionLabelTextColor: string;
|
|
44
|
+
/** Title for the canvas empty-state overlay — depends on read-only mode. */
|
|
45
|
+
get EmptyStateTitle(): string;
|
|
44
46
|
NodeSelected: EventEmitter<FlowNode | null>;
|
|
45
47
|
NodeAdded: EventEmitter<FlowNodeAddedEvent>;
|
|
46
48
|
NodeRemoved: EventEmitter<FlowNode>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flow-editor.component.d.ts","sourceRoot":"","sources":["../../../src/lib/components/flow-editor.component.ts"],"names":[],"mappings":"AAAA,OAAO,EACqB,YAAY,EAAa,MAAM,EAAE,SAAS,EACpE,iBAAiB,EAClB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,cAAc,EAAE,sBAAsB,EACxE,gBAAgB,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,eAAe,EAC5E,wBAAwB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EACL,QAAQ,EAAE,cAAc,EAAE,kBAAkB,EAAE,kBAAkB,EAChE,kBAAkB,EAAE,0BAA0B,EAAE,6BAA6B,EAC7E,yBAAyB,EACzB,oBAAoB,EAAgB,mBAAmB,EACvD,qBAAqB,EAAE,qBAAqB,EAC7C,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;;AAGpE;;;;;;;;;;;;;;GAcG;AACH,qBASa,mBAAoB,YAAW,MAAM,EAAE,SAAS;
|
|
1
|
+
{"version":3,"file":"flow-editor.component.d.ts","sourceRoot":"","sources":["../../../src/lib/components/flow-editor.component.ts"],"names":[],"mappings":"AAAA,OAAO,EACqB,YAAY,EAAa,MAAM,EAAE,SAAS,EACpE,iBAAiB,EAClB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,cAAc,EAAE,sBAAsB,EACxE,gBAAgB,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,eAAe,EAC5E,wBAAwB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EACL,QAAQ,EAAE,cAAc,EAAE,kBAAkB,EAAE,kBAAkB,EAChE,kBAAkB,EAAE,0BAA0B,EAAE,6BAA6B,EAC7E,yBAAyB,EACzB,oBAAoB,EAAgB,mBAAmB,EACvD,qBAAqB,EAAE,qBAAqB,EAC7C,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;;AAGpE;;;;;;;;;;;;;;GAcG;AACH,qBASa,mBAAoB,YAAW,MAAM,EAAE,SAAS;IA8EzD,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,aAAa;IA9Ed,KAAK,EAAE,QAAQ,EAAE,CAAM;IACvB,WAAW,EAAE,cAAc,EAAE,CAAM;IACnC,SAAS,EAAE,kBAAkB,EAAE,CAAM;IACrC,QAAQ,UAAS;IACjB,WAAW,UAAQ;IACnB,WAAW,UAAQ;IACnB,QAAQ,UAAQ;IAChB,aAAa,UAAQ;IACrB,WAAW,UAAQ;IACnB,UAAU,UAAQ;IAClB,QAAQ,SAAM;IACd,mBAAmB,EAAE,mBAAmB,CAAc;IAC/D,6CAA6C;IACpC,yBAAyB,SAAa;IAC/C,yCAAyC;IAChC,0BAA0B,SAAa;IAChD,uCAAuC;IAC9B,wBAAwB,SAAa;IAE9C,4EAA4E;IAC5E,IAAW,eAAe,IAAI,MAAM,CAInC;IAGS,YAAY,gCAAuC;IACnD,SAAS,mCAA0C;IACnD,WAAW,yBAAgC;IAC3C,SAAS,mCAA0C;IACnD,iBAAiB,2CAAkD;IACnE,iBAAiB,+BAAsC;IACvD,oBAAoB,8CAAqD;IACzE,kBAAkB,sCAA6C;IAC/D,gBAAgB,0CAAiD;IACjE,aAAa,qCAA4C;IACzD,YAAY,2BAAkC;IAC9C,kBAAkB,iCAAwC;IAC1D,iBAAiB,yBAAgC;IACjD,uBAAuB,+BAAsC;IAC7D,WAAW,wBAA+B;IAC1C,cAAc,wBAA+B;IAC7C,aAAa,wBAA+B;IAG3B,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,SAAS,CAAC;IAC1C,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,SAAS,CAAC;IACtD,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,SAAS,CAAC;IAGnE,SAAS,CAAC,SAAS,SAAO;IAC1B,SAAS,CAAC,cAAc;;;MAAkB;IAC1C,SAAS,CAAC,WAAW,SAAK;IAC1B,SAAS,CAAC,eAAe,EAAE,MAAM,EAAE,CAAM;IACzC,SAAS,CAAC,qBAAqB,EAAE,MAAM,EAAE,CAAM;IAC/C,SAAS,CAAC,OAAO,UAAS;IAE1B,4EAA4E;IAC5E,SAAS,CAAC,mBAAmB,GAAI,QAAQ,UAAU,GAAG,UAAU,KAAG,OAAO,CAExE;IAGF,SAAS,CAAC,kBAAkB,UAAS;IACrC,SAAS,CAAC,YAAY,SAAK;IAC3B,SAAS,CAAC,YAAY,SAAK;IAC3B,SAAS,CAAC,qBAAqB,EAAE,qBAAqB,CAAU;IAChE,SAAS,CAAC,eAAe,EAAE,QAAQ,GAAG,IAAI,CAAQ;IAClD,SAAS,CAAC,qBAAqB,EAAE,cAAc,GAAG,IAAI,CAAQ;IAE9D,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,uBAAuB,CAAK;gBAG1B,GAAG,EAAE,iBAAiB,EACtB,YAAY,EAAE,gBAAgB,EAC9B,aAAa,EAAE,iBAAiB;IAK1C,QAAQ,IAAI,IAAI;IAIhB,WAAW,IAAI,IAAI;IAOnB,wCAAwC;IACxC,SAAS,IAAI,IAAI;IAIjB,uBAAuB;IACvB,MAAM,IAAI,IAAI;IAUd,wBAAwB;IACxB,OAAO,IAAI,IAAI;IAUf,kCAAkC;IAClC,WAAW,CAAC,SAAS,CAAC,EAAE,mBAAmB,GAAG,IAAI;IAgBlD,2CAA2C;IAC3C,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAIlC,qCAAqC;IACrC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAMhC,0BAA0B;IAC1B,cAAc,IAAI,IAAI;IAQtB,oCAAoC;IACpC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IASjF;yEACqE;IACrE,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,eAAe,GAAG,aAAa,GAAG,QAAQ,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI;IAQlK,mFAAmF;IACnF,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,GAAG,WAAW,GAAG,gBAAgB,GAAG,aAAa,GAAG,OAAO,GAAG,OAAO,GAAG,UAAU,CAAC,CAAC,GAAG,IAAI;IAOzK,2DAA2D;IAC3D,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI;IAiBtC,uCAAuC;IACvC,eAAe,IAAI,IAAI;IAWvB,8BAA8B;IAC9B,IAAI,IAAI,IAAI;IAWZ,qCAAqC;IACrC,IAAI,IAAI,IAAI;IAWZ,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,0DAA0D;IAC1D,cAAc,IAAI,IAAI;IAWtB,+CAA+C;IAC/C,SAAS,CAAC,YAAY,IAAI,IAAI;IAM9B,8BAA8B;IAC9B,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI;IAMzD,iCAAiC;IACjC,SAAS,CAAC,kBAAkB,CAAC,KAAK,EAAE,sBAAsB,GAAG,IAAI;IA6BjE,8EAA8E;IAC9E,SAAS,CAAC,oBAAoB,CAAC,KAAK,EAAE,wBAAwB,GAAG,IAAI;IAkErE,yCAAyC;IACzC,SAAS,CAAC,YAAY,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI;IAsBrD,kCAAkC;IAClC,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,qBAAqB,GAAG,IAAI;IAmC/D,4BAA4B;IAC5B,SAAS,CAAC,YAAY,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI;IAqBpD,SAAS,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IAM5C,SAAS,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IAM/C,SAAS,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IAM9C,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAOlD,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,GAAG,IAAI;IAOpE,+EAA+E;IAC/E,SAAS,CAAC,mBAAmB,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,cAAc,GAAG,IAAI;IAW5E,SAAS,CAAC,uBAAuB,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,cAAc,GAAG,IAAI;IAOhF,SAAS,CAAC,mBAAmB,CAAC,MAAM,EAAE,qBAAqB,GAAG,IAAI;IAoBlE,SAAS,CAAC,eAAe,IAAI,IAAI;IAMjC,OAAO,CAAC,eAAe;IAevB,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,cAAc;IAsBtB,OAAO,CAAC,oBAAoB;IAa5B,SAAS,CAAC,SAAS,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IA2B/C,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,MAAM;IAI/D,SAAS,CAAC,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,GAAG,MAAM;IAM3E,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI;IAItD,oEAAoE;IACpE,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM;IAUpD,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,eAAe;IAKvB,OAAO,CAAC,gBAAgB;IAiBxB;;;OAGG;IACH,OAAO,CAAC,aAAa;IAarB,OAAO,CAAC,iBAAiB;IAqBzB,OAAO,CAAC,mBAAmB;IAiC3B,OAAO,CAAC,UAAU;yCAtuBP,mBAAmB;2CAAnB,mBAAmB;CAyuB/B"}
|