@memberjunction/ng-flow-editor 6.1.4 → 6.2.0-edge.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.
@@ -33,29 +33,63 @@ export declare class AgentPropertiesPanelComponent {
33
33
  DeletePathRequested: EventEmitter<MJAIAgentStepPathEntity>;
34
34
  CloseRequested: EventEmitter<void>;
35
35
  protected collapsedSections: Record<string, boolean>;
36
+ get IsStepSelected(): boolean;
37
+ /** @deprecated Use {@link IsStepSelected}. */
36
38
  get isStepSelected(): boolean;
39
+ get IsConnectionSelected(): boolean;
40
+ /** @deprecated Use {@link IsConnectionSelected}. */
37
41
  get isConnectionSelected(): boolean;
42
+ get ShowActionPicker(): boolean;
43
+ /** @deprecated Use {@link ShowActionPicker}. */
38
44
  get showActionPicker(): boolean;
45
+ get ShowPromptPicker(): boolean;
46
+ /** @deprecated Use {@link ShowPromptPicker}. */
39
47
  get showPromptPicker(): boolean;
48
+ get ShowAgentPicker(): boolean;
49
+ /** @deprecated Use {@link ShowAgentPicker}. */
40
50
  get showAgentPicker(): boolean;
51
+ get ShowLoopConfig(): boolean;
52
+ /** @deprecated Use {@link ShowLoopConfig}. */
41
53
  get showLoopConfig(): boolean;
54
+ get StepTypeLabel(): string;
55
+ /** @deprecated Use {@link StepTypeLabel}. */
42
56
  get stepTypeLabel(): string;
57
+ get StepTypeColor(): string;
58
+ /** @deprecated Use {@link StepTypeColor}. */
43
59
  get stepTypeColor(): string;
60
+ get StepTypeIcon(): string;
61
+ /** @deprecated Use {@link StepTypeIcon}. */
44
62
  get stepTypeIcon(): string;
63
+ get StatusColor(): string;
64
+ /** @deprecated Use {@link StatusColor}. */
45
65
  get statusColor(): string;
46
66
  /** Path: origin step name */
67
+ get OriginStepName(): string;
68
+ /** @deprecated Use {@link OriginStepName}. */
47
69
  get originStepName(): string;
48
70
  /** Path: destination step name */
71
+ get DestinationStepName(): string;
72
+ /** @deprecated Use {@link DestinationStepName}. */
49
73
  get destinationStepName(): string;
50
74
  /** Path: whether a condition is set */
75
+ get IsConditionalPath(): boolean;
76
+ /** @deprecated Use {@link IsConditionalPath}. */
51
77
  get isConditionalPath(): boolean;
52
78
  /** Path accent color */
79
+ get PathAccentColor(): string;
80
+ /** @deprecated Use {@link PathAccentColor}. */
53
81
  get pathAccentColor(): string;
54
82
  /** Resolved action name for display */
83
+ get SelectedActionName(): string;
84
+ /** @deprecated Use {@link SelectedActionName}. */
55
85
  get selectedActionName(): string;
56
86
  /** Resolved prompt name for display */
87
+ get SelectedPromptName(): string;
88
+ /** @deprecated Use {@link SelectedPromptName}. */
57
89
  get selectedPromptName(): string;
58
90
  /** Resolved agent name for display */
91
+ get SelectedAgentName(): string;
92
+ /** @deprecated Use {@link SelectedAgentName}. */
59
93
  get selectedAgentName(): string;
60
94
  ToggleSection(sectionId: string): void;
61
95
  IsSectionCollapsed(sectionId: string): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"agent-properties-panel.component.d.ts","sourceRoot":"","sources":["../../../src/lib/agent-editor/agent-properties-panel.component.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-properties-panel.component.d.ts","sourceRoot":"","sources":["../../../src/lib/agent-editor/agent-properties-panel.component.ts"],"names":[],"mappings":"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"}
@@ -844,28 +844,52 @@ export class AgentPropertiesPanelComponent {
844
844
  // ── Collapsible section state ─────────────────────────────
845
845
  collapsedSections = {};
846
846
  // ── Computed Properties ─────────────────────────────────────
847
- get isStepSelected() {
847
+ get IsStepSelected() {
848
848
  return this.Step != null;
849
849
  }
850
- get isConnectionSelected() {
850
+ /** @deprecated Use {@link IsStepSelected}. */
851
+ get isStepSelected() {
852
+ return this.IsStepSelected;
853
+ }
854
+ get IsConnectionSelected() {
851
855
  return this.SelectedConnection != null && this.PathEntity != null;
852
856
  }
853
- get showActionPicker() {
857
+ /** @deprecated Use {@link IsConnectionSelected}. */
858
+ get isConnectionSelected() {
859
+ return this.IsConnectionSelected;
860
+ }
861
+ get ShowActionPicker() {
854
862
  return this.Step?.StepType === 'Action' ||
855
863
  ((this.Step?.StepType === 'ForEach' || this.Step?.StepType === 'While') && this.Step?.LoopBodyType === 'Action');
856
864
  }
857
- get showPromptPicker() {
865
+ /** @deprecated Use {@link ShowActionPicker}. */
866
+ get showActionPicker() {
867
+ return this.ShowActionPicker;
868
+ }
869
+ get ShowPromptPicker() {
858
870
  return this.Step?.StepType === 'Prompt' ||
859
871
  ((this.Step?.StepType === 'ForEach' || this.Step?.StepType === 'While') && this.Step?.LoopBodyType === 'Prompt');
860
872
  }
861
- get showAgentPicker() {
873
+ /** @deprecated Use {@link ShowPromptPicker}. */
874
+ get showPromptPicker() {
875
+ return this.ShowPromptPicker;
876
+ }
877
+ get ShowAgentPicker() {
862
878
  return this.Step?.StepType === 'Sub-Agent' ||
863
879
  ((this.Step?.StepType === 'ForEach' || this.Step?.StepType === 'While') && this.Step?.LoopBodyType === 'Sub-Agent');
864
880
  }
865
- get showLoopConfig() {
881
+ /** @deprecated Use {@link ShowAgentPicker}. */
882
+ get showAgentPicker() {
883
+ return this.ShowAgentPicker;
884
+ }
885
+ get ShowLoopConfig() {
866
886
  return this.Step?.StepType === 'ForEach' || this.Step?.StepType === 'While';
867
887
  }
868
- get stepTypeLabel() {
888
+ /** @deprecated Use {@link ShowLoopConfig}. */
889
+ get showLoopConfig() {
890
+ return this.ShowLoopConfig;
891
+ }
892
+ get StepTypeLabel() {
869
893
  switch (this.Step?.StepType) {
870
894
  case 'Action': return 'Action';
871
895
  case 'Prompt': return 'Prompt';
@@ -875,13 +899,25 @@ export class AgentPropertiesPanelComponent {
875
899
  default: return 'Step';
876
900
  }
877
901
  }
878
- get stepTypeColor() {
902
+ /** @deprecated Use {@link StepTypeLabel}. */
903
+ get stepTypeLabel() {
904
+ return this.StepTypeLabel;
905
+ }
906
+ get StepTypeColor() {
879
907
  return STEP_TYPE_COLORS[this.Step?.StepType ?? ''] ?? '#64748b';
880
908
  }
881
- get stepTypeIcon() {
909
+ /** @deprecated Use {@link StepTypeColor}. */
910
+ get stepTypeColor() {
911
+ return this.StepTypeColor;
912
+ }
913
+ get StepTypeIcon() {
882
914
  return STEP_TYPE_ICONS[this.Step?.StepType ?? ''] ?? 'fa-circle-nodes';
883
915
  }
884
- get statusColor() {
916
+ /** @deprecated Use {@link StepTypeIcon}. */
917
+ get stepTypeIcon() {
918
+ return this.StepTypeIcon;
919
+ }
920
+ get StatusColor() {
885
921
  switch (this.Step?.Status) {
886
922
  case 'Active': return '#10b981';
887
923
  case 'Disabled': return '#94a3b8';
@@ -889,46 +925,78 @@ export class AgentPropertiesPanelComponent {
889
925
  default: return '#94a3b8';
890
926
  }
891
927
  }
928
+ /** @deprecated Use {@link StatusColor}. */
929
+ get statusColor() {
930
+ return this.StatusColor;
931
+ }
892
932
  /** Path: origin step name */
893
- get originStepName() {
933
+ get OriginStepName() {
894
934
  if (!this.PathEntity)
895
935
  return '';
896
936
  const step = this.AllSteps.find(s => UUIDsEqual(s.ID, this.PathEntity.OriginStepID));
897
937
  return step?.Name ?? 'Unknown Step';
898
938
  }
939
+ /** @deprecated Use {@link OriginStepName}. */
940
+ get originStepName() {
941
+ return this.OriginStepName;
942
+ }
899
943
  /** Path: destination step name */
900
- get destinationStepName() {
944
+ get DestinationStepName() {
901
945
  if (!this.PathEntity)
902
946
  return '';
903
947
  const step = this.AllSteps.find(s => UUIDsEqual(s.ID, this.PathEntity.DestinationStepID));
904
948
  return step?.Name ?? 'Unknown Step';
905
949
  }
950
+ /** @deprecated Use {@link DestinationStepName}. */
951
+ get destinationStepName() {
952
+ return this.DestinationStepName;
953
+ }
906
954
  /** Path: whether a condition is set */
907
- get isConditionalPath() {
955
+ get IsConditionalPath() {
908
956
  return this.PathEntity?.Condition != null && this.PathEntity.Condition.trim().length > 0;
909
957
  }
958
+ /** @deprecated Use {@link IsConditionalPath}. */
959
+ get isConditionalPath() {
960
+ return this.IsConditionalPath;
961
+ }
910
962
  /** Path accent color */
963
+ get PathAccentColor() {
964
+ return this.IsConditionalPath ? '#f59e0b' : '#94a3b8';
965
+ }
966
+ /** @deprecated Use {@link PathAccentColor}. */
911
967
  get pathAccentColor() {
912
- return this.isConditionalPath ? '#f59e0b' : '#94a3b8';
968
+ return this.PathAccentColor;
913
969
  }
914
970
  /** Resolved action name for display */
915
- get selectedActionName() {
971
+ get SelectedActionName() {
916
972
  if (!this.Step?.ActionID)
917
973
  return 'None selected';
918
974
  return this.Actions.find(a => UUIDsEqual(a.ID, this.Step.ActionID))?.Name ?? 'Unknown';
919
975
  }
976
+ /** @deprecated Use {@link SelectedActionName}. */
977
+ get selectedActionName() {
978
+ return this.SelectedActionName;
979
+ }
920
980
  /** Resolved prompt name for display */
921
- get selectedPromptName() {
981
+ get SelectedPromptName() {
922
982
  if (!this.Step?.PromptID)
923
983
  return 'None selected';
924
984
  return this.Prompts.find(p => UUIDsEqual(p.ID, this.Step.PromptID))?.Name ?? 'Unknown';
925
985
  }
986
+ /** @deprecated Use {@link SelectedPromptName}. */
987
+ get selectedPromptName() {
988
+ return this.SelectedPromptName;
989
+ }
926
990
  /** Resolved agent name for display */
927
- get selectedAgentName() {
991
+ get SelectedAgentName() {
928
992
  if (!this.Step?.SubAgentID)
929
993
  return 'None selected';
930
994
  return this.Agents.find(a => UUIDsEqual(a.ID, this.Step.SubAgentID))?.Name ?? 'Unknown';
931
995
  }
996
+ /** @deprecated Use {@link SelectedAgentName}. */
997
+ get selectedAgentName() {
998
+ return this.SelectedAgentName;
999
+ }
932
1000
  // ── Section Collapse ──────────────────────────────────────
933
1001
  ToggleSection(sectionId) {
934
1002
  this.collapsedSections[sectionId] = !this.collapsedSections[sectionId];
@@ -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 <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
+ {"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 /** @deprecated Use {@link IsStepSelected}. */\n get isStepSelected(): boolean {\n return this.IsStepSelected;\n }\n\n get IsConnectionSelected(): boolean {\n return this.SelectedConnection != null && this.PathEntity != null;\n }\n\n /** @deprecated Use {@link IsConnectionSelected}. */\n get isConnectionSelected(): boolean {\n return this.IsConnectionSelected;\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 /** @deprecated Use {@link ShowActionPicker}. */\n get showActionPicker(): boolean {\n return this.ShowActionPicker;\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 /** @deprecated Use {@link ShowPromptPicker}. */\n get showPromptPicker(): boolean {\n return this.ShowPromptPicker;\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 /** @deprecated Use {@link ShowAgentPicker}. */\n get showAgentPicker(): boolean {\n return this.ShowAgentPicker;\n }\n\n get ShowLoopConfig(): boolean {\n return this.Step?.StepType === 'ForEach' || this.Step?.StepType === 'While';\n }\n\n /** @deprecated Use {@link ShowLoopConfig}. */\n get showLoopConfig(): boolean {\n return this.ShowLoopConfig;\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 /** @deprecated Use {@link StepTypeLabel}. */\n get stepTypeLabel(): string {\n return this.StepTypeLabel;\n }\n\n get StepTypeColor(): string {\n return STEP_TYPE_COLORS[this.Step?.StepType ?? ''] ?? '#64748b';\n }\n\n /** @deprecated Use {@link StepTypeColor}. */\n get stepTypeColor(): string {\n return this.StepTypeColor;\n }\n\n get StepTypeIcon(): string {\n return STEP_TYPE_ICONS[this.Step?.StepType ?? ''] ?? 'fa-circle-nodes';\n }\n\n /** @deprecated Use {@link StepTypeIcon}. */\n get stepTypeIcon(): string {\n return this.StepTypeIcon;\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 /** @deprecated Use {@link StatusColor}. */\n get statusColor(): string {\n return this.StatusColor;\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 /** @deprecated Use {@link OriginStepName}. */\n get originStepName(): string {\n return this.OriginStepName;\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 /** @deprecated Use {@link DestinationStepName}. */\n get destinationStepName(): string {\n return this.DestinationStepName;\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 /** @deprecated Use {@link IsConditionalPath}. */\n get isConditionalPath(): boolean {\n return this.IsConditionalPath;\n }\n\n /** Path accent color */\n get PathAccentColor(): string {\n return this.IsConditionalPath ? '#f59e0b' : '#94a3b8';\n }\n\n /** @deprecated Use {@link PathAccentColor}. */\n get pathAccentColor(): string {\n return this.PathAccentColor;\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 /** @deprecated Use {@link SelectedActionName}. */\n get selectedActionName(): string {\n return this.SelectedActionName;\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 /** @deprecated Use {@link SelectedPromptName}. */\n get selectedPromptName(): string {\n return this.SelectedPromptName;\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 /** @deprecated Use {@link SelectedAgentName}. */\n get selectedAgentName(): string {\n return this.SelectedAgentName;\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"]}
@@ -11,6 +11,8 @@ export declare class AgentStepListComponent {
11
11
  SelectedStepID: string | null;
12
12
  StepClicked: EventEmitter<MJAIAgentStepEntity>;
13
13
  IsStepSelected(step: MJAIAgentStepEntity): boolean;
14
+ GetConfiguredItem(step: MJAIAgentStepEntity): string;
15
+ /** @deprecated Use {@link GetConfiguredItem}. */
14
16
  getConfiguredItem(step: MJAIAgentStepEntity): string;
15
17
  static ɵfac: i0.ɵɵFactoryDeclaration<AgentStepListComponent, never>;
16
18
  static ɵcmp: i0.ɵɵComponentDeclaration<AgentStepListComponent, "mj-agent-step-list", never, { "Steps": { "alias": "Steps"; "required": false; }; "Paths": { "alias": "Paths"; "required": false; }; "SelectedStepID": { "alias": "SelectedStepID"; "required": false; }; }, { "StepClicked": "StepClicked"; }, never, never, false, never>;
@@ -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,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
+ {"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;IAWpD,iDAAiD;IACjD,iBAAiB,CAAC,IAAI,EAAE,mBAAmB,GAAG,MAAM;yCAvBzC,sBAAsB;2CAAtB,sBAAsB;CA0BlC"}
@@ -130,7 +130,7 @@ export class AgentStepListComponent {
130
130
  IsStepSelected(step) {
131
131
  return UUIDsEqual(this.SelectedStepID, step.ID);
132
132
  }
133
- getConfiguredItem(step) {
133
+ GetConfiguredItem(step) {
134
134
  switch (step.StepType) {
135
135
  case 'Action': return step.Action || '—';
136
136
  case 'Prompt': return step.Prompt || '—';
@@ -140,6 +140,10 @@ export class AgentStepListComponent {
140
140
  default: return '—';
141
141
  }
142
142
  }
143
+ /** @deprecated Use {@link GetConfiguredItem}. */
144
+ getConfiguredItem(step) {
145
+ return this.GetConfiguredItem(step);
146
+ }
143
147
  static ɵfac = function AgentStepListComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || AgentStepListComponent)(); };
144
148
  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) {
145
149
  i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2)(3, "h4");