@memberjunction/ng-flow-editor 5.3.1 → 5.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"exports.test.js","sourceRoot":"","sources":["../../src/__tests__/exports.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAE/B,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;IAC9C,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC5C,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC;QACvE,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;QAC9D,MAAM,CAAC,YAAY,IAAI,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC5C,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;QACtD,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"exports.test.js","sourceRoot":"","sources":["../../src/__tests__/exports.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAE/B,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;IAC9C,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC5C,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC;QACvE,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;QAC9D,MAAM,CAAC,YAAY,IAAI,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC5C,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;QACtD,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { describe, it, expect } from 'vitest';\nimport { existsSync } from 'fs';\nimport { resolve } from 'path';\n\ndescribe('@memberjunction/ng-flow-editor', () => {\n it('should have a public API entry point', () => {\n const pkgRoot = resolve(__dirname, '../..');\n const hasPublicApi = existsSync(resolve(pkgRoot, 'src/public-api.ts'));\n const hasIndex = existsSync(resolve(pkgRoot, 'src/index.ts'));\n expect(hasPublicApi || hasIndex).toBe(true);\n });\n\n it('should have a package.json with correct name', () => {\n const pkgRoot = resolve(__dirname, '../..');\n const pkg = require(resolve(pkgRoot, 'package.json'));\n expect(pkg.name).toBe('@memberjunction/ng-flow-editor');\n });\n});\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../src/__tests__/index.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAE9C,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;IAC9C,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACpC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../src/__tests__/index.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAE9C,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;IAC9C,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACpC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { describe, it, expect } from 'vitest';\n\ndescribe('@memberjunction/ng-flow-editor', () => {\n it('should have a passing test', () => {\n expect(true).toBe(true);\n });\n});\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"agent-flow-transformer.service.js","sourceRoot":"","sources":["../../../src/lib/agent-editor/agent-flow-transformer.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-flow-transformer.service.js","sourceRoot":"","sources":["../../../src/lib/agent-editor/agent-flow-transformer.service.ts"],"names":[],"mappings":"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","sourcesContent":["import { Injectable } from '@angular/core';\nimport { MJAIAgentStepEntity, MJAIAgentStepPathEntity } from '@memberjunction/core-entities';\nimport { FlowNode, FlowConnection, FlowConnectionStyle, FlowNodeTypeConfig, FlowNodePort } from '../interfaces/flow-types';\n\n/** Picker item shape for Actions with optional icon */\nexport interface ActionPickerItem { ID: string; Name: string; IconClass?: string | null; }\n\n/** Picker item shape for Agents with optional icon and logo */\nexport interface AgentPickerItem { ID: string; Name: string; IconClass?: string | null; LogoURL?: string | null; }\n\n/** Step types mapped to visual configuration */\nexport const AGENT_STEP_TYPE_CONFIGS: FlowNodeTypeConfig[] = [\n {\n Type: 'Action',\n Label: 'Action',\n Icon: 'fa-bolt',\n Color: '#3B82F6',\n Category: 'Steps',\n DefaultPorts: [\n { ID: 'input', Direction: 'input', Side: 'top', Multiple: true },\n { ID: 'output', Direction: 'output', Side: 'bottom', Multiple: true }\n ]\n },\n {\n Type: 'Prompt',\n Label: 'Prompt',\n Icon: 'fa-comment-dots',\n Color: '#8B5CF6',\n Category: 'Steps',\n DefaultPorts: [\n { ID: 'input', Direction: 'input', Side: 'top', Multiple: true },\n { ID: 'output', Direction: 'output', Side: 'bottom', Multiple: true }\n ]\n },\n {\n Type: 'Sub-Agent',\n Label: 'Sub-Agent',\n Icon: 'fa-robot',\n Color: '#10B981',\n Category: 'Steps',\n DefaultPorts: [\n { ID: 'input', Direction: 'input', Side: 'top', Multiple: true },\n { ID: 'output', Direction: 'output', Side: 'bottom', Multiple: true }\n ]\n },\n {\n Type: 'ForEach',\n Label: 'For Each',\n Icon: 'fa-arrows-repeat',\n Color: '#F59E0B',\n Category: 'Loops',\n DefaultPorts: [\n { ID: 'input', Direction: 'input', Side: 'top', Multiple: true },\n { ID: 'output', Direction: 'output', Side: 'bottom', Multiple: true }\n ]\n },\n {\n Type: 'While',\n Label: 'While',\n Icon: 'fa-rotate',\n Color: '#F97316',\n Category: 'Loops',\n DefaultPorts: [\n { ID: 'input', Direction: 'input', Side: 'top', Multiple: true },\n { ID: 'output', Direction: 'output', Side: 'bottom', Multiple: true }\n ]\n }\n];\n\n/**\n * Transforms MJ AIAgentStep/Path entities to/from generic FlowNode/FlowConnection models.\n */\n@Injectable()\nexport class AgentFlowTransformerService {\n\n /** Convert MJ step entities to generic FlowNodes */\n StepsToNodes(\n steps: MJAIAgentStepEntity[],\n actions?: ActionPickerItem[],\n agents?: AgentPickerItem[]\n ): FlowNode[] {\n return steps.map(step => this.StepToNode(step, actions, agents));\n }\n\n /** Convert MJ path entities to generic FlowConnections */\n PathsToConnections(paths: MJAIAgentStepPathEntity[]): FlowConnection[] {\n return paths.map(path => this.pathToConnection(path, paths));\n }\n\n /** Build the subtitle for a step based on its configured action/prompt/agent */\n BuildStepSubtitle(step: MJAIAgentStepEntity): string {\n switch (step.StepType) {\n case 'Action':\n return step.Action ? `Action: ${step.Action}` : 'No action selected';\n case 'Prompt':\n return step.Prompt ? `Prompt: ${step.Prompt}` : 'No prompt selected';\n case 'Sub-Agent':\n return step.SubAgent ? `Agent: ${step.SubAgent}` : 'No sub-agent selected';\n case 'ForEach':\n return this.buildLoopSubtitle(step, 'For Each');\n case 'While':\n return this.buildLoopSubtitle(step, 'While');\n default:\n return step.StepType;\n }\n }\n\n /** Apply FlowNode position changes back to a step entity */\n ApplyNodePosition(step: MJAIAgentStepEntity, node: FlowNode): void {\n step.PositionX = Math.round(node.Position.X);\n step.PositionY = Math.round(node.Position.Y);\n if (node.Size) {\n step.Width = Math.round(node.Size.Width);\n step.Height = Math.round(node.Size.Height);\n }\n }\n\n /** Map FlowNode status from step entity status */\n MapStepStatus(stepStatus: string): FlowNode['Status'] {\n switch (stepStatus) {\n case 'Active': return 'default';\n case 'Disabled': return 'disabled';\n case 'Pending': return 'pending';\n default: return 'default';\n }\n }\n\n /**\n * Returns a short human-readable message describing what's missing,\n * or null if the step is fully configured.\n */\n BuildConfigWarningMessage(step: MJAIAgentStepEntity): string | null {\n switch (step.StepType) {\n case 'Action':\n return !step.ActionID ? 'No action selected' : null;\n case 'Prompt':\n return !step.PromptID ? 'No prompt selected' : null;\n case 'Sub-Agent':\n return !step.SubAgentID ? 'No sub-agent selected' : null;\n case 'ForEach':\n case 'While':\n return this.buildLoopWarningMessage(step);\n default:\n return null;\n }\n }\n\n private buildLoopWarningMessage(step: MJAIAgentStepEntity): string | null {\n const bodyType = step.LoopBodyType;\n if (!bodyType) return 'No loop body type selected';\n switch (bodyType) {\n case 'Action': return !step.ActionID ? 'No action selected for loop body' : null;\n case 'Prompt': return !step.PromptID ? 'No prompt selected for loop body' : null;\n case 'Sub-Agent': return !step.SubAgentID ? 'No sub-agent selected for loop body' : null;\n default: return null;\n }\n }\n\n /**\n * Returns true when a step is missing its required configuration reference\n * (e.g., an Action step with no ActionID, a Prompt step with no PromptID).\n */\n IsStepMissingConfiguration(step: MJAIAgentStepEntity): boolean {\n switch (step.StepType) {\n case 'Action':\n return !step.ActionID;\n case 'Prompt':\n return !step.PromptID;\n case 'Sub-Agent':\n return !step.SubAgentID;\n case 'ForEach':\n case 'While':\n return this.isLoopBodyMissingReference(step);\n default:\n return false;\n }\n }\n\n private isLoopBodyMissingReference(step: MJAIAgentStepEntity): boolean {\n const bodyType = step.LoopBodyType;\n if (!bodyType) return true; // No body type selected at all\n switch (bodyType) {\n case 'Action': return !step.ActionID;\n case 'Prompt': return !step.PromptID;\n case 'Sub-Agent': return !step.SubAgentID;\n default: return false;\n }\n }\n\n /**\n * Resolve the best icon and optional logo URL for a step based on its\n * configured action/agent and available picker data.\n *\n * Resolution chain:\n * - Action step: action's IconClass -> step-type fallback\n * - Sub-Agent step: agent's LogoURL (stored in Data) -> agent's IconClass -> step-type fallback\n * - Other steps: step-type icon\n */\n ResolveStepIcon(\n step: MJAIAgentStepEntity,\n actions?: ActionPickerItem[],\n agents?: AgentPickerItem[]\n ): { Icon: string; LogoURL?: string | null } {\n const fallbackIcon = this.getIconForType(step.StepType);\n\n if (step.StepType === 'Action' && step.ActionID && actions) {\n const action = actions.find(a => a.ID === step.ActionID);\n return { Icon: action?.IconClass || fallbackIcon };\n }\n\n if (step.StepType === 'Sub-Agent' && step.SubAgentID && agents) {\n const agent = agents.find(a => a.ID === step.SubAgentID);\n if (agent?.LogoURL) {\n return { Icon: agent.IconClass || fallbackIcon, LogoURL: agent.LogoURL };\n }\n return { Icon: agent?.IconClass || fallbackIcon };\n }\n\n // For loop steps, resolve based on loop body type\n if ((step.StepType === 'ForEach' || step.StepType === 'While') && step.LoopBodyType) {\n return this.resolveLoopBodyIcon(step, actions, agents);\n }\n\n return { Icon: fallbackIcon };\n }\n\n private resolveLoopBodyIcon(\n step: MJAIAgentStepEntity,\n actions?: ActionPickerItem[],\n agents?: AgentPickerItem[]\n ): { Icon: string; LogoURL?: string | null } {\n const fallbackIcon = this.getIconForType(step.StepType);\n\n if (step.LoopBodyType === 'Action' && step.ActionID && actions) {\n const action = actions.find(a => a.ID === step.ActionID);\n if (action?.IconClass) return { Icon: fallbackIcon }; // Loop keeps its own icon; body icon handled separately\n }\n\n if (step.LoopBodyType === 'Sub-Agent' && step.SubAgentID && agents) {\n const agent = agents.find(a => a.ID === step.SubAgentID);\n if (agent?.LogoURL) return { Icon: fallbackIcon, LogoURL: agent.LogoURL };\n }\n\n return { Icon: fallbackIcon };\n }\n\n // ── Public Conversion Methods ───────────────────────────────\n\n /** Convert a single MJ step entity to a FlowNode (public for direct use when adding nodes) */\n StepToNode(\n step: MJAIAgentStepEntity,\n actions?: ActionPickerItem[],\n agents?: AgentPickerItem[]\n ): FlowNode {\n const stepId = step.ID;\n const ports: FlowNodePort[] = [\n {\n ID: `${stepId}-input`,\n Direction: 'input',\n Side: 'top',\n Multiple: true,\n Disabled: step.StartingStep === true\n },\n {\n ID: `${stepId}-output`,\n Direction: 'output',\n Side: 'bottom',\n Multiple: true\n }\n ];\n\n // Show warning status when the step is missing its required configuration,\n // unless the step is explicitly disabled (respect the user's intent).\n const baseStatus = this.MapStepStatus(step.Status);\n const warningMessage = (baseStatus !== 'disabled') ? this.BuildConfigWarningMessage(step) : null;\n const effectiveStatus = warningMessage ? 'warning' : baseStatus;\n\n // Build loop-specific data for ForEach/While nodes\n const data: Record<string, unknown> = { StepEntityID: stepId };\n if (step.StepType === 'ForEach' || step.StepType === 'While') {\n this.populateLoopData(step, data, actions, agents);\n }\n\n // Resolve icon (and optional logo URL) from picker data\n const resolved = this.ResolveStepIcon(step, actions, agents);\n if (resolved.LogoURL) {\n data['LogoURL'] = resolved.LogoURL;\n }\n\n return {\n ID: stepId,\n Type: step.StepType,\n Label: step.Name,\n Subtitle: this.BuildStepSubtitle(step),\n Icon: resolved.Icon,\n Status: effectiveStatus,\n StatusMessage: warningMessage ?? undefined,\n IsStartNode: step.StartingStep === true,\n Position: {\n X: step.PositionX ?? 0,\n Y: step.PositionY ?? 0\n },\n Size: {\n Width: step.Width ?? 220,\n Height: step.Height ?? 100\n },\n Ports: ports,\n Data: data\n };\n }\n\n private pathToConnection(path: MJAIAgentStepPathEntity, allPaths: MJAIAgentStepPathEntity[]): FlowConnection {\n const hasCondition = path.Condition != null && path.Condition.trim().length > 0;\n const isAlwaysPath = !hasCondition;\n\n // Analyze sibling paths from the same origin step\n const siblingPaths = allPaths.filter(p => p.OriginStepID === path.OriginStepID);\n const isOnlyPath = siblingPaths.length === 1;\n const unconditionalSiblings = siblingPaths.filter(\n p => !p.Condition || p.Condition.trim().length === 0\n );\n // Flag as ambiguous when 2+ unconditional paths exist from the same source.\n // Multiple unconditional paths are always ambiguous because only the\n // highest-priority one will execute — regardless of whether they have descriptions.\n const hasAmbiguousAlways = isAlwaysPath && unconditionalSiblings.length > 1;\n\n // Build label, icon, and visual style\n const visual = this.buildPathVisuals(path, hasCondition, isOnlyPath, hasAmbiguousAlways);\n\n return {\n ID: path.ID,\n SourceNodeID: path.OriginStepID,\n SourcePortID: `${path.OriginStepID}-output`,\n TargetNodeID: path.DestinationStepID,\n TargetPortID: `${path.DestinationStepID}-input`,\n Label: visual.label,\n LabelIcon: visual.labelIcon,\n LabelIconColor: visual.labelIconColor,\n LabelDetail: visual.labelDetail,\n Condition: path.Condition ?? undefined,\n Priority: path.Priority,\n Style: visual.style,\n Color: visual.color,\n Data: {\n PathEntityID: path.ID,\n IsAlwaysPath: !hasCondition,\n HasAmbiguousAlways: hasAmbiguousAlways\n }\n };\n }\n\n private buildPathVisuals(\n path: MJAIAgentStepPathEntity,\n hasCondition: boolean,\n isOnlyPath: boolean,\n hasAmbiguousAlways: boolean\n ): { label?: string; labelIcon?: string; labelIconColor?: string; labelDetail?: string; color: string; style: FlowConnectionStyle } {\n // Conditional path — amber dashed with condition text\n if (hasCondition) {\n return {\n label: path.Description || path.Condition!,\n color: '#f59e0b',\n style: 'dashed'\n };\n }\n\n // Sole unconditional (only exit path) — neutral dark slate with Default indicator\n if (isOnlyPath) {\n return {\n label: path.Description || 'Default',\n labelIcon: 'fa-circle-check',\n labelIconColor: '#16a34a',\n color: '#64748b',\n style: 'solid'\n };\n }\n\n // Ambiguous: multiple unconditional paths from the same step\n if (hasAmbiguousAlways) {\n return {\n label: path.Description || 'Default',\n labelIcon: 'fa-triangle-exclamation',\n labelIconColor: '#ef4444',\n labelDetail: 'Duplicate default paths: only the highest-priority one will execute',\n color: '#ef4444',\n style: 'solid'\n };\n }\n\n // Valid default path (unconditional among conditional siblings) — forest green with checkmark\n return {\n label: path.Description || 'Default',\n labelIcon: 'fa-circle-check',\n labelIconColor: '#16a34a',\n color: '#16a34a',\n style: 'solid'\n };\n }\n\n /** Populate loop-specific display data on the node's Data payload */\n private populateLoopData(\n step: MJAIAgentStepEntity,\n data: Record<string, unknown>,\n actions?: ActionPickerItem[],\n agents?: AgentPickerItem[]\n ): void {\n const bodyType = step.LoopBodyType;\n data['LoopBodyType'] = bodyType ?? null;\n data['LoopBodyName'] = bodyType ? this.resolveLoopBodyName(step) : null;\n data['LoopBodyIcon'] = bodyType ? this.resolveLoopBodySpecificIcon(step, actions, agents) : null;\n data['LoopBodyColor'] = bodyType ? this.getBodyTypeColor(bodyType) : null;\n data['LoopIterationSummary'] = this.BuildLoopIterationSummary(step);\n\n // Store logo URL for loop body sub-agents\n if (bodyType === 'Sub-Agent' && step.SubAgentID && agents) {\n const agent = agents.find(a => a.ID === step.SubAgentID);\n if (agent?.LogoURL) {\n data['LoopBodyLogoURL'] = agent.LogoURL;\n }\n }\n\n const config = this.parseLoopConfig(step);\n if (config) {\n data['MaxIterations'] = config['maxIterations'] ?? null;\n data['LoopItemVariable'] = config['itemVariable'] ?? null;\n }\n }\n\n /** Resolve the best icon for a loop body, checking picker data first */\n private resolveLoopBodySpecificIcon(\n step: MJAIAgentStepEntity,\n actions?: ActionPickerItem[],\n agents?: AgentPickerItem[]\n ): string {\n const bodyType = step.LoopBodyType;\n const fallback = this.getBodyTypeIcon(bodyType ?? '');\n\n if (bodyType === 'Action' && step.ActionID && actions) {\n const action = actions.find(a => a.ID === step.ActionID);\n return action?.IconClass || fallback;\n }\n if (bodyType === 'Sub-Agent' && step.SubAgentID && agents) {\n const agent = agents.find(a => a.ID === step.SubAgentID);\n return agent?.IconClass || fallback;\n }\n return fallback;\n }\n\n /** Get icon for a loop body type */\n private getBodyTypeIcon(bodyType: string): string {\n switch (bodyType) {\n case 'Action': return 'fa-bolt';\n case 'Prompt': return 'fa-comment-dots';\n case 'Sub-Agent': return 'fa-robot';\n default: return 'fa-circle-nodes';\n }\n }\n\n /** Get color for a loop body type */\n private getBodyTypeColor(bodyType: string): string {\n switch (bodyType) {\n case 'Action': return '#3B82F6';\n case 'Prompt': return '#8B5CF6';\n case 'Sub-Agent': return '#10B981';\n default: return '#6B7280';\n }\n }\n\n private getIconForType(stepType: string): string {\n const config = AGENT_STEP_TYPE_CONFIGS.find(c => c.Type === stepType);\n return config?.Icon ?? 'fa-circle-nodes';\n }\n\n private buildLoopSubtitle(step: MJAIAgentStepEntity, prefix: string): string {\n const bodyType = step.LoopBodyType;\n if (!bodyType) return `${prefix} (no body type)`;\n const bodyName = this.resolveLoopBodyName(step);\n return bodyName ? `${prefix} → ${bodyName}` : `${prefix} → ${bodyType}`;\n }\n\n /** Resolve the display name for the loop body operation */\n private resolveLoopBodyName(step: MJAIAgentStepEntity): string | null {\n switch (step.LoopBodyType) {\n case 'Action': return step.Action ?? null;\n case 'Prompt': return step.Prompt ?? null;\n case 'Sub-Agent': return step.SubAgent ?? null;\n default: return null;\n }\n }\n\n /** Parse the Configuration JSON, returning null on failure */\n private parseLoopConfig(step: MJAIAgentStepEntity): Record<string, unknown> | null {\n if (!step.Configuration) return null;\n try {\n return JSON.parse(step.Configuration) as Record<string, unknown>;\n } catch {\n return null;\n }\n }\n\n /** Build a short iteration summary for display on loop nodes */\n BuildLoopIterationSummary(step: MJAIAgentStepEntity): string {\n const config = this.parseLoopConfig(step);\n if (step.StepType === 'ForEach') {\n const collection = config?.['collectionPath'] as string | undefined;\n return collection ? `over ${collection}` : 'over collection';\n }\n if (step.StepType === 'While') {\n const condition = config?.['condition'] as string | undefined;\n return condition ? `while ${this.truncateCondition(condition)}` : 'while condition';\n }\n return '';\n }\n\n private truncateCondition(condition: string): string {\n const maxLen = 30;\n if (condition.length <= maxLen) return condition;\n return condition.substring(0, maxLen) + '...';\n }\n}\n"]}
@@ -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":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;;;;;;ICI/G,8BAAkC;IAChC,uBAAyC;IACzC,yBAAG;IAAA,kEAAkD;IACvD,AADuD,iBAAI,EACrD;;;IA6BI,gCAAyC;IAAA,qBAAK;IAAA,iBAAO;;;;IAkBnD,iCAE0D;IADxD,oOAAS,oBAAa,yBAAkB,CAAC,KAAC;IAD5C,iBAE0D;;;IAFvC,wCAAoB;;;IAKvC,+BAA2C;IAAA,YAAgB;IAAA,iBAAM;;;IAAtB,cAAgB;IAAhB,sCAAgB;;;;IAM3D,oCAGqD;IAFnD,uOAAS,2BAAoB,yBAAkB,CAAC,KAAC;IAEE,iBAAW;;;IAHtD,qDAAiC;;;IAM3C,+BAA2C;IACzC,YACF;IAAA,iBAAM;;;IADJ,cACF;IADE,oEACF;;;;IAMA,kCAE+B;IAD7B,wOAAU,sBAAe,yBAAkB,CAAC,KAAC;IAE7C,kCAAuB;IAAA,sBAAM;IAAA,iBAAS;IACtC,kCAAyB;IAAA,wBAAQ;IAAA,iBAAS;IAC1C,kCAAwB;IAAA,uBAAO;IACjC,AADiC,iBAAS,EACjC;;;IAND,0CAAsB;;;IAS9B,+BAA2C;IACzC,2BAAgF;IAChF,YACF;IAAA,iBAAM;;;IAFoC,cAAgC;IAAhC,gDAAgC;IACxE,cACF;IADE,mDACF;;;;IAME,AADF,AADF,+BAA4D,gBACb,gBAEa;IAAtD,uOAAU,4BAAqB,2BAAoB,CAAC,KAAC;IADvD,iBACwD;IACxD,+BACF;IACF,AADE,iBAAQ,EACJ;;;IAJqB,eAA8B;IAA9B,kDAA8B;;;IAQvD,AADF,+BAAkC,YACzB;IAAA,6BAAa;IAAA,iBAAQ;IAE1B,AADF,+BAA2C,eACA;IAAA,kDAA6B;IAE1E,AADE,AADwE,iBAAO,EACzE,EACF;;;IAzDN,AADF,AADF,+BAAyC,cACL,YACzB;IAAA,oBAAI;IAAA,iBAAQ;IACnB,+HAAiB;IAKjB,6HAAgB;IAGlB,iBAAM;IAEJ,AADF,+BAAkC,YACzB;IAAA,2BAAW;IAAA,iBAAQ;IAC1B,kIAAiB;IAMjB,+HAAgB;IAKlB,iBAAM;IAEJ,AADF,gCAAkC,aACzB;IAAA,uBAAM;IAAA,iBAAQ;IACrB,kIAAiB;IASjB,+HAAgB;IAMlB,iBAAM;IACN,+HAAiB;IASjB,+HAAsC;IAQxC,iBAAM;;;IA1DF,eAIC;IAJD,2CAIC;IACD,cAEC;IAFD,0CAEC;IAID,eAKC;IALD,2CAKC;IACD,cAIC;IAJD,2CAIC;IAID,eAQC;IARD,4CAQC;IACD,cAKC;IALD,2CAKC;IAEH,cAQC;IARD,4CAQC;IACD,cAOC;IAPD,uEAOC;;;;IAiBK,kCAE+B;IAD7B,qPAAU,4BAAqB,yBAAkB,CAAC,KAAC;IAEnD,kCAAuB;IAAA,sBAAM;IAAA,iBAAS;IACtC,kCAAuB;IAAA,sBAAM;IAAA,iBAAS;IACtC,kCAA0B;IAAA,yBAAS;IACrC,AADqC,iBAAS,EACrC;;;IAND,4DAAwC;;;IAShD,+BAA2C;IACzC,YACF;IAAA,iBAAM;;;IADJ,cACF;IADE,qEACF;;;IAbF,AADF,+BAAkC,YACzB;IAAA,8BAAc;IAAA,iBAAQ;IAC7B,8IAAiB;IASjB,2IAAgB;IAKlB,iBAAM;;;IAdJ,eAQC;IARD,2CAQC;IACD,cAIC;IAJD,0CAIC;;;IAaK,kCAA4B;IAAA,YAAiB;IAAA,iBAAS;;;IAA9C,oCAAmB;IAAC,cAAiB;IAAjB,oCAAiB;;;;IALjD,kCAE+B;IAD7B,qPAAU,sBAAe,yBAAkB,CAAC,KAAC;IAE7C,kCAAiB;IAAA,mCAAmB;IAAA,iBAAS;IAC7C,+KAEC;IACH,iBAAS;;;IAPD,kDAA8B;IAIpC,eAEC;IAFD,6BAEC;;;IAIH,+BAA2C;IAAA,YAAwB;IAAA,iBAAM;;;IAA9B,cAAwB;IAAxB,+CAAwB;;;IAZrE,AADF,+BAAkC,YACzB;IAAA,sBAAM;IAAA,iBAAQ;IACrB,8IAAiB;IAUjB,2IAAgB;IAGlB,iBAAM;;;IAbJ,eASC;IATD,2CASC;IACD,cAEC;IAFD,0CAEC;;;IAaK,kCAA4B;IAAA,YAAiB;IAAA,iBAAS;;;IAA9C,qCAAmB;IAAC,cAAiB;IAAjB,qCAAiB;;;;IALjD,kCAE+B;IAD7B,sPAAU,sBAAe,yBAAkB,CAAC,KAAC;IAE7C,kCAAiB;IAAA,mCAAmB;IAAA,iBAAS;IAC7C,+KAEC;IACH,iBAAS;;;IAPD,kDAA8B;IAIpC,eAEC;IAFD,6BAEC;;;IAIH,+BAA2C;IAAA,YAAwB;IAAA,iBAAM;;;IAA9B,cAAwB;IAAxB,+CAAwB;;;IAZrE,AADF,+BAAkC,YACzB;IAAA,sBAAM;IAAA,iBAAQ;IACrB,8IAAiB;IAUjB,2IAAgB;IAGlB,iBAAM;;;IAbJ,eASC;IATD,2CASC;IACD,cAEC;IAFD,0CAEC;;;IAaK,kCAA2B;IAAA,YAAgB;IAAA,iBAAS;;;IAA5C,oCAAkB;IAAC,cAAgB;IAAhB,oCAAgB;;;;IAL/C,kCAE+B;IAD7B,sPAAU,wBAAiB,yBAAkB,CAAC,KAAC;IAE/C,kCAAiB;IAAA,kCAAkB;IAAA,iBAAS;IAC5C,+KAEC;IACH,iBAAS;;;IAPD,oDAAgC;IAItC,eAEC;IAFD,4BAEC;;;IAIH,+BAA2C;IAAA,YAAuB;IAAA,iBAAM;;;IAA7B,cAAuB;IAAvB,8CAAuB;;;IAZpE,AADF,+BAAkC,YACzB;IAAA,yBAAS;IAAA,iBAAQ;IACxB,8IAAiB;IAUjB,2IAAgB;IAGlB,iBAAM;;;IAbJ,eASC;IATD,2CASC;IACD,cAEC;IAFD,0CAEC;;;;IAMD,AADF,+BAAkC,YACzB;IAAA,kCAAkB;IAAA,iBAAQ;IACjC,0CAMiD;IAA/C,gPAAU,oCAAmC,KAAC;IAElD,AADE,iBAAiB,EACb;;;IAPF,eAAgD;IAIhD,AAFA,AAFA,2EAAgD,6BAE3B,sBAEA;;;IAvF7B,+BAAyC;IAEvC,6HAAsB;IAoBtB,6HAAwB;IAmBxB,6HAAwB;IAmBxB,6HAAuB;IAmBvB,6HAAsB;IAaxB,iBAAM;;;IA1FJ,cAkBC;IAlBD,gDAkBC;IAED,cAiBC;IAjBD,kDAiBC;IAED,cAiBC;IAjBD,kDAiBC;IAED,cAiBC;IAjBD,iDAiBC;IAED,cAYC;IAZD,gDAYC;;;;IAcG,AADF,AADF,+BAAyC,cACL,YACzB;IAAA,6BAAa;IAAA,iBAAQ;IAC5B,0CAOgD;IAA9C,gPAAU,mCAAkC,KAAC;IAEjD,AADE,iBAAiB,EACb;IAEJ,AADF,+BAAkC,YACzB;IAAA,8BAAc;IAAA,iBAAQ;IAC7B,0CAOiD;IAA/C,gPAAU,oCAAmC,KAAC;IAGpD,AADE,AADE,iBAAiB,EACb,EACF;;;IArBA,eAAqD;IAIrD,AAFA,AAFA,gFAAqD,6BAEhC,sBAEA;IAQrB,eAAsD;IAItD,AAFA,AAFA,iFAAsD,6BAEjC,sBAEA;;;;IAzB7B,AADF,+BAAoC,iBAC+C;IAAnC,kNAAS,qBAAc,SAAS,CAAC,KAAC;IAC9E,gCAA2C;IAAA,4BAAY;IAAA,iBAAO;IAC9D,wBAA2G;IAC7G,iBAAS;IACT,6HAAsC;IA4BxC,iBAAM;;;IA9BkB,eAAkF;IAAlF,uGAAkF;IAExG,cA2BC;IA3BD,gEA2BC;;;;IAcK,kCAE+B;IAD7B,wOAAU,6BAAsB,yBAAkB,CAAC,KAAC;IAEpD,kCAAqB;IAAA,gCAAgB;IAAA,iBAAS;IAC9C,kCAAyB;IAAA,uCAAuB;IAAA,iBAAS;IACzD,kCAAsB;IAAA,qBAAK;IAC7B,AAD6B,iBAAS,EAC7B;;;IAND,mDAA+B;;;IASvC,+BAA2C;IACzC,YAEF;IAAA,iBAAM;;;IAFJ,cAEF;IAFE,+KAEF;;;;IAOE,iCAE+B;IAD7B,mPAAS,0BAAmB,2BAAoB,CAAC,KAAC;IADpD,iBAE+B;;;IAFV,8CAA0B;;;IAK/C,+BAA2C;IAAA,YAAsB;IAAA,iBAAM;;;IAA5B,cAAsB;IAAtB,4CAAsB;;;IAPnE,AADF,+BAAkC,YACzB;IAAA,2BAAW;IAAA,iBAAQ;IAC1B,6IAAiB;IAKjB,2IAAgB;IAGlB,iBAAM;;;IARJ,eAIC;IAJD,2CAIC;IACD,cAEC;IAFD,0CAEC;;;;IAMD,iCAE+B;IAD7B,sOAAS,uBAAgB,2BAAoB,CAAC,KAAC;IADjD,iBAE+B;;;IAFV,kDAA8B;;;IAKnD,+BAA2C;IAAA,YAA2B;IAAA,iBAAM;;;IAAjC,cAA2B;IAA3B,0DAA2B;;;IAtCxE,AADF,AADF,+BAAyC,cACL,YACzB;IAAA,wBAAQ;IAAA,iBAAQ;IACvB,gIAAiB;IASjB,6HAAgB;IAMlB,iBAAM;IACN,6HAAyC;IAcvC,AADF,+BAAkC,YACzB;IAAA,iCAAiB;IAAA,iBAAQ;IAChC,iIAAiB;IAKjB,+HAAgB;IAIpB,AADE,iBAAM,EACF;;;IAxCF,eAQC;IARD,2CAQC;IACD,cAKC;IALD,0CAKC;IAEH,cAYC;IAZD,kEAYC;IAGC,eAIC;IAJD,4CAIC;IACD,cAEC;IAFD,2CAEC;;;;IAQL,AADF,+BAA0D,iBACW;IAAzB,kNAAS,qBAAc,KAAC;IAChE,wBAAqC;IAAC,6BACxC;IACF,AADE,iBAAS,EACL;;;;IAtSN,AADF,AAFF,8BAC4C,aACH,cACK;IAAA,oBAAI;IAAA,iBAAO;IACrD,iCAAmF;IAA9C,iMAAS,4BAAqB,KAAC;IAClE,uBAAiC;IAErC,AADE,iBAAS,EACL;IAGJ,AADF,8BAAqC,aAC0C;IAC3E,wBAAiD;IACnD,iBAAM;IAEJ,AADF,+BAA0C,gBACG;IAAA,aAAgB;IAAA,iBAAO;IAEhE,AADF,iCAA2C,gBAEC;IAAA,aAAmB;IAAA,iBAAO;IACpE,4BAAgF;IAChF,iCAA0C;IAAA,aAAkB;IAAA,iBAAO;IACnE,iHAA0B;IAMlC,AADE,AADE,AADE,iBAAO,EACH,EACF,EACF;IAIF,AADF,AAFF,gCAAoC,eAEE,kBAC+C;IAAnC,kMAAS,qBAAc,SAAS,CAAC,KAAC;IAC9E,iCAA2C;IAAA,wBAAO;IAAA,iBAAO;IACzD,yBAA2G;IAC7G,iBAAS;IACT,iHAAsC;IAgExC,iBAAM;IAGJ,AADF,gCAAoC,kBAC8C;IAAlC,kMAAS,qBAAc,QAAQ,CAAC,KAAC;IAC7E,iCAA2C;IAAA,8BAAa;IAAA,iBAAO;IAC/D,yBAA0G;IAC5G,iBAAS;IACT,gHAAqC;IA+FvC,iBAAM;IAEN,gHAAuD;IAsCrD,AADF,gCAAoC,kBAC8C;IAAlC,kMAAS,qBAAc,QAAQ,CAAC,KAAC;IAC7E,iCAA2C;IAAA,+BAAc;IAAA,iBAAO;IAChE,yBAA0G;IAC5G,iBAAS;IACT,iHAAqC;IA8CvC,iBAAM;IAEN,gHAAiB;IAOnB,iBAAM;;;IA1SJ,yDAAyC;IASG,eAAkC;IAAlC,kDAAkC;IACtD,cAAwB;IAAxB,6CAAwB;IAGD,eAAgB;IAAhB,sCAAgB;IAElB,eAA6B;IACpE,AADuC,6CAA6B,2CAC3B;IAAC,cAAmB;IAAnB,0CAAmB;IACrB,cAAgC;IAAhC,gDAAgC;IAC9B,eAAkB;IAAlB,wCAAkB;IAC5D,cAEC;IAFD,oDAEC;IAUiB,eAAkF;IAAlF,uGAAkF;IAExG,cA+DC;IA/DD,iEA+DC;IAMqB,eAAiF;IAAjF,sGAAiF;IAEvG,cA8FC;IA9FD,gEA8FC;IAGH,cAmCC;IAnCD,wFAmCC;IAKuB,eAAiF;IAAjF,sGAAiF;IAEvG,cA6CC;IA7CD,gEA6CC;IAGH,cAMC;IAND,4CAMC;;;IAoCO,gCAA4C;IAC1C,YACF;IAAA,iBAAO;;;IADL,cACF;IADE,qEACF;;;IAgBA,AADF,AADF,+BAAyC,cACL,YACzB;IAAA,oBAAI;IAAA,iBAAQ;IACnB,+BAAgF;IAC9E,YACF;IACF,AADE,iBAAM,EACF;IAEJ,AADF,+BAAkC,YACzB;IAAA,kBAAE;IAAA,iBAAQ;IACjB,+BAAgF;IAC9E,aACF;IACF,AADE,iBAAM,EACF;IACN,iCAAkC;IAAA,0EAAyD;IAC7F,AAD6F,iBAAO,EAC9F;;;IAVA,eACF;IADE,sDACF;IAKE,eACF;IADE,2DACF;;;;IAiBE,iCAE2D;IADzD,qOAAS,+BAAwB,yBAAkB,CAAC,KAAC;IADvD,iBAE2D;;;IAFxC,2DAAuC;;;IAK1D,+BAA2C;IACzC,YACF;IAAA,iBAAM;;;IADJ,cACF;IADE,0EACF;;;IAGA,gCAAkC;IAAA,2DAA2C;IAAA,iBAAO;;;;IAMpF,0CAOiD;IAA/C,iPAAU,oCAAmC,KAAC;IAChD,iBAAiB;;;IAHf,AAFA,AAFA,yDAAqC,mBAEnB,sBAEG;;;IAMvB,qCAMiB;;;IADf,AAFA,AAFA,mDAA+B,kBAEd,sBAEI;;;IAIvB,+BAAgF;IAC9E,6CACF;IAAA,iBAAM;;;IAGN,gCAAkC;IAChC,4FACF;IAAA,iBAAO;;;;IAMP,iCAE+B;IAD7B,sOAAS,4BAAqB,2BAAoB,CAAC,KAAC;IADtD,iBAE+B;;;IAFV,kDAA8B;;;IAKnD,+BAA2C;IAAA,YAA0B;IAAA,iBAAM;;;IAAhC,cAA0B;IAA1B,gDAA0B;;;IAxDvE,AADF,AADF,+BAAyC,cACL,YACzB;IAAA,2BAAW;IAAA,iBAAQ;IAC1B,+HAAiB;IAKjB,6HAAgB;IAKhB,8HAAiB;IAGnB,iBAAM;IAEJ,AADF,+BAAkC,YACzB;IAAA,yBAAS;IAAA,iBAAQ;IACxB,0IAAiB;IAWjB,0IAAyC;IASzC,+HAA0C;IAK1C,gIAAiB;IAKnB,iBAAM;IAEJ,AADF,gCAAkC,aACzB;IAAA,yBAAQ;IAAA,iBAAQ;IACvB,iIAAiB;IAKjB,+HAAgB;IAGhB,iCAAkC;IAAA,4FAA2E;IAEjH,AADE,AAD+G,iBAAO,EAChH,EACF;;;IA3DF,eAIC;IAJD,2CAIC;IACD,cAIC;IAJD,0CAIC;IACD,cAEC;IAFD,2CAEC;IAID,eAUC;IAVD,4CAUC;IACD,cAQC;IARD,0EAQC;IACD,cAIC;IAJD,2EAIC;IACD,cAIC;IAJD,4CAIC;IAID,eAIC;IAJD,4CAIC;IACD,cAEC;IAFD,2CAEC;;;;IASL,AADF,+BAA0D,iBACW;IAAzB,kNAAS,qBAAc,KAAC;IAChE,wBAAqC;IAAC,6BACxC;IACF,AADE,iBAAS,EACL;;;;IAvIN,AADF,AAFF,+BAC8C,aACL,cACK;IAAA,oBAAI;IAAA,iBAAO;IACrD,iCAAmF;IAA9C,kMAAS,4BAAqB,KAAC;IAClE,uBAAiC;IAErC,AADE,iBAAS,EACL;IAGJ,AADF,8BAAqC,cAEI;IACrC,wBAAuC;IACzC,iBAAM;IAGF,AADF,AADF,+BAA0C,gBACA,gBACM;IAAA,aAAoB;IAAA,iBAAO;IACvE,yBAAiE;IACjE,iCAA4C;IAAA,aAAyB;IACvE,AADuE,iBAAO,EACvE;IAEL,AADF,iCAA2C,gBAGK;IAC5C,aACF;IAAA,iBAAO;IACP,iHAAkC;IAQ1C,AADE,AADE,AADE,iBAAO,EACH,EACF,EACF;IAIF,AADF,AAFF,gCAAoC,eAEE,kBACqD;IAAzC,mMAAS,qBAAc,eAAe,CAAC,KAAC;IACpF,iCAA2C;IAAA,sBAAK;IAAA,iBAAO;IACvD,yBAAiH;IACnH,iBAAS;IACT,iHAA4C;IAiB9C,iBAAM;IAGJ,AADF,gCAAoC,kBACqD;IAAzC,mMAAS,qBAAc,eAAe,CAAC,KAAC;IACpF,iCAA2C;IAAA,yBAAQ;IAAA,iBAAO;IAC1D,yBAAiH;IACnH,iBAAS;IACT,iHAA4C;IAiE9C,iBAAM;IAEN,gHAAiB;IAOnB,iBAAM;;;IA3IJ,2DAA2C;IAUvC,eAAoC;IAApC,oDAAoC;IAKU,eAAoB;IAApB,2CAAoB;IAEpB,eAAyB;IAAzB,gDAAyB;IAInE,eAA+B;IAC/B,AADA,+CAA+B,6CACY;IAC3C,cACF;IADE,oFACF;IACA,cAIC;IAJD,4DAIC;IAUiB,eAAwF;IAAxF,6GAAwF;IAE9G,cAgBC;IAhBD,uEAgBC;IAMqB,eAAwF;IAAxF,6GAAwF;IAE9G,cAgEC;IAhED,uEAgEC;IAGH,cAMC;IAND,4CAMC;;ADzcP,qCAAqC;AACrC,MAAM,gBAAgB,GAA2B;IAC/C,MAAM,EAAE,SAAS;IACjB,MAAM,EAAE,SAAS;IACjB,WAAW,EAAE,SAAS;IACtB,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,SAAS;CACjB,CAAC;AAEF,6BAA6B;AAC7B,MAAM,eAAe,GAA2B;IAC9C,MAAM,EAAE,SAAS;IACjB,MAAM,EAAE,iBAAiB;IACzB,WAAW,EAAE,UAAU;IACvB,OAAO,EAAE,gBAAgB;IACzB,KAAK,EAAE,WAAW;CACnB,CAAC;AAEF;;;GAGG;AASH,MAAM,OAAO,6BAA6B;IACxC,+DAA+D;IACtD,IAAI,GAA+B,IAAI,CAAC;IACxC,kBAAkB,GAA0B,IAAI,CAAC;IACjD,UAAU,GAAmC,IAAI,CAAC;IAClD,QAAQ,GAAG,KAAK,CAAC;IACjB,OAAO,GAAmE,EAAE,CAAC;IAC7E,OAAO,GAAwC,EAAE,CAAC;IAClD,MAAM,GAA4F,EAAE,CAAC;IACrG,QAAQ,GAA0B,EAAE,CAAC;IAE9C,+DAA+D;IACrD,WAAW,GAAG,IAAI,YAAY,EAAuB,CAAC;IACtD,WAAW,GAAG,IAAI,YAAY,EAA2B,CAAC;IAC1D,mBAAmB,GAAG,IAAI,YAAY,EAAuB,CAAC;IAC9D,mBAAmB,GAAG,IAAI,YAAY,EAA2B,CAAC;IAClE,cAAc,GAAG,IAAI,YAAY,EAAQ,CAAC;IAEpD,6DAA6D;IACnD,iBAAiB,GAA4B,EAAE,CAAC;IAE1D,+DAA+D;IAE/D,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC;IAC3B,CAAC;IAED,IAAI,oBAAoB;QACtB,OAAO,IAAI,CAAC,kBAAkB,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC;IACpE,CAAC;IAED,IAAI,gBAAgB;QAClB,OAAO,IAAI,CAAC,IAAI,EAAE,QAAQ,KAAK,QAAQ;YAChC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,YAAY,KAAK,QAAQ,CAAC,CAAC;IAC1H,CAAC;IAED,IAAI,gBAAgB;QAClB,OAAO,IAAI,CAAC,IAAI,EAAE,QAAQ,KAAK,QAAQ;YAChC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,YAAY,KAAK,QAAQ,CAAC,CAAC;IAC1H,CAAC;IAED,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,IAAI,EAAE,QAAQ,KAAK,WAAW;YACnC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,YAAY,KAAK,WAAW,CAAC,CAAC;IAC7H,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,IAAI,EAAE,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC;IAC9E,CAAC;IAED,IAAI,aAAa;QACf,QAAQ,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC;YAC5B,KAAK,QAAQ,CAAC,CAAC,OAAO,QAAQ,CAAC;YAC/B,KAAK,QAAQ,CAAC,CAAC,OAAO,QAAQ,CAAC;YAC/B,KAAK,WAAW,CAAC,CAAC,OAAO,WAAW,CAAC;YACrC,KAAK,SAAS,CAAC,CAAC,OAAO,eAAe,CAAC;YACvC,KAAK,OAAO,CAAC,CAAC,OAAO,YAAY,CAAC;YAClC,OAAO,CAAC,CAAC,OAAO,MAAM,CAAC;QACzB,CAAC;IACH,CAAC;IAED,IAAI,aAAa;QACf,OAAO,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,IAAI,EAAE,CAAC,IAAI,SAAS,CAAC;IAClE,CAAC;IAED,IAAI,YAAY;QACd,OAAO,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,IAAI,EAAE,CAAC,IAAI,iBAAiB,CAAC;IACzE,CAAC;IAED,IAAI,WAAW;QACb,QAAQ,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;YAC1B,KAAK,QAAQ,CAAC,CAAC,OAAO,SAAS,CAAC;YAChC,KAAK,UAAU,CAAC,CAAC,OAAO,SAAS,CAAC;YAClC,KAAK,SAAS,CAAC,CAAC,OAAO,SAAS,CAAC;YACjC,OAAO,CAAC,CAAC,OAAO,SAAS,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,6BAA6B;IAC7B,IAAI,cAAc;QAChB,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAO,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,UAAW,CAAC,YAAY,CAAC,CAAC;QAC7E,OAAO,IAAI,EAAE,IAAI,IAAI,cAAc,CAAC;IACtC,CAAC;IAED,kCAAkC;IAClC,IAAI,mBAAmB;QACrB,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAO,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,UAAW,CAAC,iBAAiB,CAAC,CAAC;QAClF,OAAO,IAAI,EAAE,IAAI,IAAI,cAAc,CAAC;IACtC,CAAC;IAED,uCAAuC;IACvC,IAAI,iBAAiB;QACnB,OAAO,IAAI,CAAC,UAAU,EAAE,SAAS,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;IAC3F,CAAC;IAED,wBAAwB;IACxB,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IACxD,CAAC;IAED,uCAAuC;IACvC,IAAI,kBAAkB;QACpB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ;YAAE,OAAO,eAAe,CAAC;QACjD,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,IAAK,CAAC,QAAQ,CAAC,EAAE,IAAI,IAAI,SAAS,CAAC;IACjF,CAAC;IAED,uCAAuC;IACvC,IAAI,kBAAkB;QACpB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ;YAAE,OAAO,eAAe,CAAC;QACjD,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,IAAK,CAAC,QAAQ,CAAC,EAAE,IAAI,IAAI,SAAS,CAAC;IACjF,CAAC;IAED,sCAAsC;IACtC,IAAI,iBAAiB;QACnB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU;YAAE,OAAO,eAAe,CAAC;QACnD,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,IAAK,CAAC,UAAU,CAAC,EAAE,IAAI,IAAI,SAAS,CAAC;IAClF,CAAC;IAED,6DAA6D;IAE7D,aAAa,CAAC,SAAiB;QAC7B,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;IACzE,CAAC;IAED,kBAAkB,CAAC,SAAiB;QAClC,OAAO,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC;IACpD,CAAC;IAED,+DAA+D;IAE/D,YAAY,CAAC,KAAa;QACxB,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QACxC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,mBAAmB,CAAC,KAAa;QAC/B,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QACxC,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,cAAc,CAAC,KAAa;QAC1B,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QACxC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,KAA0C,CAAC;QAC9D,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,oBAAoB,CAAC,OAAgB;QACnC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QACxC,IAAI,CAAC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;QACjC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,cAAc,CAAC,QAAgB;QAC7B,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QACxC,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,QAAQ,IAAI,IAAI,CAAC;QACtC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,cAAc,CAAC,QAAgB;QAC7B,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QACxC,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,QAAQ,IAAI,IAAI,CAAC;QACtC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,gBAAgB,CAAC,OAAe;QAC9B,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QACxC,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,OAAO,IAAI,IAAI,CAAC;QACvC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,oBAAoB,CAAC,KAAa;QAChC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QACxC,IAAI,CAAC,IAAI,CAAC,YAAY,GAAG,KAA0C,CAAC;QACpE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,oBAAoB,CAAC,KAAa;QAChC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QACxC,IAAI,CAAC,IAAI,CAAC,kBAAkB,GAAG,KAAK,IAAI,IAAI,CAAC;QAC7C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,qBAAqB,CAAC,KAAa;QACjC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QACxC,IAAI,CAAC,IAAI,CAAC,mBAAmB,GAAG,KAAK,IAAI,IAAI,CAAC;QAC9C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,qBAAqB,CAAC,KAAa;QACjC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QACxC,IAAI,CAAC,IAAI,CAAC,eAAe,GAAG,KAAsC,CAAC;QACnE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,kBAAkB,CAAC,KAAa;QAC9B,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QACxC,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,eAAe,CAAC,KAAa;QAC3B,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QACxC,IAAI,CAAC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QACjC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,qBAAqB,CAAC,KAAa;QACjC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QACxC,IAAI,CAAC,IAAI,CAAC,aAAa,GAAG,KAAK,IAAI,IAAI,CAAC;QACxC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,+DAA+D;IAE/D,uBAAuB,CAAC,KAAa;QACnC,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC9C,IAAI,CAAC,UAAU,CAAC,WAAW,GAAG,KAAK,CAAC;QACpC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC;IAED,qBAAqB,CAAC,KAAa;QACjC,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC9C,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,KAAK,IAAI,IAAI,CAAC;QAC1C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC;IAED,oBAAoB,CAAC,KAAa;QAChC,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC9C,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,KAAK,CAAC;QACjC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC;IAED,YAAY;QACV,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAED,YAAY;QACV,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IAED,6DAA6D;IAE7D,6EAA6E;IACnE,UAAU,CAAC,KAAY;QAC/B,OAAQ,KAAK,CAAC,MAA2B,CAAC,KAAK,CAAC;IAClD,CAAC;IAED,gEAAgE;IACtD,YAAY,CAAC,KAAY;QACjC,OAAQ,KAAK,CAAC,MAA2B,CAAC,OAAO,CAAC;IACpD,CAAC;IAED,6DAA6D;IACnD,YAAY,CAAC,KAAY;QACjC,OAAO,CAAE,KAAK,CAAC,MAA2B,CAAC,KAAK,CAAC;IACnD,CAAC;IAED,8BAA8B;IACpB,iBAAiB,CAAC,KAAgC;QAC1D,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,CAAC;QACtB,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACpD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;uHAjRU,6BAA6B;6DAA7B,6BAA6B;YClC1C,8BAA4B;YAG1B,+FAAgD;YAUhD,uFAAsB;YAmTtB,uFAA4B;YAgJ9B,iBAAM;;YA7cJ,cAKC;YALD,2EAKC;YAKD,cA8SC;YA9SD,6CA8SC;YAKD,cA+IC;YA/ID,mDA+IC;;;iFD7aU,6BAA6B;cARzC,SAAS;6BACI,KAAK,YACP,2BAA2B,iBAGtB,iBAAiB,CAAC,IAAI,mBACpB,uBAAuB,CAAC,OAAO;;kBAI/C,KAAK;;kBACL,KAAK;;kBACL,KAAK;;kBACL,KAAK;;kBACL,KAAK;;kBACL,KAAK;;kBACL,KAAK;;kBACL,KAAK;;kBAGL,MAAM;;kBACN,MAAM;;kBACN,MAAM;;kBACN,MAAM;;kBACN,MAAM;;kFAhBI,6BAA6B"}
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';\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 => 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 => 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 => 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 => 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 => 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 +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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"}
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';\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]=\"SelectedStepID === step.ID\"\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 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 +1 @@
1
- {"version":3,"file":"flow-agent-editor.component.js","sourceRoot":"","sources":["../../../src/lib/agent-editor/flow-agent-editor.component.ts","../../../src/lib/agent-editor/flow-agent-editor.component.html"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"flow-agent-editor.component.js","sourceRoot":"","sources":["../../../src/lib/agent-editor/flow-agent-editor.component.ts","../../../src/lib/agent-editor/flow-agent-editor.component.html"],"names":[],"mappings":"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","sourcesContent":["import {\n Component, Input, Output, EventEmitter, ViewChild, OnInit, OnChanges, OnDestroy,\n SimpleChanges, ChangeDetectorRef, ViewEncapsulation, HostListener, HostBinding,\n ElementRef, Renderer2\n} from '@angular/core';\nimport { Metadata, RunView, CompositeKey } from '@memberjunction/core';\nimport { MJAIAgentStepEntity, MJAIAgentStepPathEntity, UserInfoEngine } from '@memberjunction/core-entities';\nimport { FlowNode, FlowConnection, FlowNodeAddedEvent, FlowConnectionCreatedEvent, FlowConnectionReassignedEvent, FlowNodeTypeConfig } from '../interfaces/flow-types';\nimport { FlowEditorComponent } from '../components/flow-editor.component';\nimport { AgentFlowTransformerService, AGENT_STEP_TYPE_CONFIGS } from './agent-flow-transformer.service';\n\n/** View mode for the agent editor */\nexport type AgentEditorViewMode = 'diagram' | 'list';\n\n/**\n * Flow Agent Editor — wraps the generic FlowEditorComponent with\n * MJ agent-specific CRUD, properties panel, and data transformation.\n */\n@Component({\n standalone: false,\n selector: 'mj-flow-agent-editor',\n templateUrl: './flow-agent-editor.component.html',\n styleUrls: ['./flow-agent-editor.component.css'],\n encapsulation: ViewEncapsulation.None,\n providers: [AgentFlowTransformerService]\n})\nexport class FlowAgentEditorComponent implements OnInit, OnChanges, OnDestroy {\n // ── Host Bindings ─────────────────────────────────────────────\n @HostBinding('class.mj-flow-agent-editor--fullscreen') get HostFullScreen(): boolean { return this.FullScreen; }\n\n // ── Inputs ──────────────────────────────────────────────────\n @Input() AgentID: string | null = null;\n @Input() EditMode = true;\n @Input() FullScreen = false;\n\n // ── Outputs ─────────────────────────────────────────────────\n @Output() FlowSaved = new EventEmitter<void>();\n @Output() FlowChanged = new EventEmitter<boolean>();\n @Output() FullScreenToggled = new EventEmitter<boolean>();\n @Output() StepSelected = new EventEmitter<MJAIAgentStepEntity | null>();\n\n // ── View Children ───────────────────────────────────────────\n @ViewChild('flowEditor') protected flowEditor: FlowEditorComponent | undefined;\n\n // ── State ───────────────────────────────────────────────────\n protected nodes: FlowNode[] = [];\n protected connections: FlowConnection[] = [];\n protected nodeTypes: FlowNodeTypeConfig[] = AGENT_STEP_TYPE_CONFIGS;\n protected viewMode: AgentEditorViewMode = 'diagram';\n protected isLoading = true;\n protected isSaving = false;\n protected hasUnsavedChanges = false;\n protected lastSaved: Date | null = null;\n\n // Fullscreen self-contained edit mode\n protected fullscreenEditMode = false;\n protected showUnsavedDialog = false;\n\n // Entity data\n protected steps: MJAIAgentStepEntity[] = [];\n protected paths: MJAIAgentStepPathEntity[] = [];\n protected deletedStepIDs: string[] = [];\n protected deletedPathIDs: string[] = [];\n\n // Selected items\n protected selectedStep: MJAIAgentStepEntity | null = null;\n protected selectedConnection: FlowConnection | null = null;\n protected selectedPathEntity: MJAIAgentStepPathEntity | null = null;\n protected showPropertiesPanel = false;\n\n // Picker data (includes icon fields for node rendering)\n protected availableActions: Array<{ ID: string; Name: string; IconClass?: string | null }> = [];\n protected availablePrompts: Array<{ ID: string; Name: string }> = [];\n protected availableAgents: Array<{ ID: string; Name: string; IconClass?: string | null; LogoURL?: string | null }> = [];\n\n // Permission state — cached once on init\n protected userCanUpdate = false;\n\n // User view preferences (persisted via UserInfoEngine)\n protected prefShowGrid = true;\n protected prefShowMinimap = true;\n protected prefShowLegend = true;\n\n private static readonly PREF_KEY = 'flow-editor/view-prefs';\n\n // Initial zoom state\n private needsInitialZoom = false;\n private resizeObserver: ResizeObserver | null = null;\n\n // Fullscreen DOM relocation state\n private originalParent: HTMLElement | null = null;\n private originalNextSibling: Node | null = null;\n private backdropElement: HTMLElement | null = null;\n\n constructor(\n private cdr: ChangeDetectorRef,\n private transformer: AgentFlowTransformerService,\n private elRef: ElementRef<HTMLElement>,\n private renderer: Renderer2\n ) {}\n\n // ── Lifecycle ───────────────────────────────────────────────\n\n ngOnInit(): void {\n this.loadViewPreferences();\n this.checkUpdatePermission();\n if (this.AgentID) {\n this.loadAll();\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['AgentID'] && !changes['AgentID'].firstChange && this.AgentID) {\n this.loadAll();\n }\n }\n\n ngOnDestroy(): void {\n this.teardownResizeObserver();\n // Restore element to original parent if still in fullscreen\n if (this.FullScreen) {\n this.restoreFromFullscreen();\n }\n }\n\n // ── Data Loading ────────────────────────────────────────────\n\n private async loadAll(): Promise<void> {\n this.isLoading = true;\n this.cdr.detectChanges();\n\n try {\n await Promise.all([\n this.loadStepsAndPaths(),\n this.loadPickerData()\n ]);\n this.rebuildFlowModel();\n } finally {\n this.isLoading = false;\n this.cdr.detectChanges();\n\n // Flag that we need an initial zoom; it will fire when the host element\n // first becomes visible (e.g. Kendo PanelBar expands)\n this.setupInitialZoomObserver();\n }\n }\n\n private async loadStepsAndPaths(): Promise<void> {\n if (!this.AgentID) return;\n const rv = new RunView();\n const [stepsResult, pathsResult] = await rv.RunViews([\n {\n EntityName: 'MJ: AI Agent Steps',\n ExtraFilter: `AgentID='${this.AgentID}'`,\n OrderBy: 'Name ASC',\n ResultType: 'entity_object'\n },\n {\n EntityName: 'MJ: AI Agent Step Paths',\n ExtraFilter: `OriginStepID IN (SELECT ID FROM [__mj].[AIAgentStep] WHERE AgentID='${this.AgentID}')`,\n OrderBy: 'Priority DESC',\n ResultType: 'entity_object'\n }\n ]);\n\n this.steps = stepsResult.Success ? (stepsResult.Results as MJAIAgentStepEntity[]) : [];\n this.paths = pathsResult.Success ? (pathsResult.Results as MJAIAgentStepPathEntity[]) : [];\n this.deletedStepIDs = [];\n this.deletedPathIDs = [];\n }\n\n private async loadPickerData(): Promise<void> {\n const rv = new RunView();\n const [actionsResult, promptsResult, agentsResult] = await rv.RunViews([\n {\n EntityName: 'MJ: Actions',\n Fields: ['ID', 'Name', 'IconClass'],\n ExtraFilter: `Status='Active'`,\n OrderBy: 'Name ASC',\n ResultType: 'simple'\n },\n {\n EntityName: 'MJ: AI Prompts',\n Fields: ['ID', 'Name'],\n ExtraFilter: '',\n OrderBy: 'Name ASC',\n ResultType: 'simple'\n },\n {\n EntityName: 'MJ: AI Agents',\n Fields: ['ID', 'Name', 'IconClass', 'LogoURL'],\n ExtraFilter: this.AgentID ? `ID <> '${this.AgentID}'` : '',\n OrderBy: 'Name ASC',\n ResultType: 'simple'\n }\n ]);\n\n this.availableActions = actionsResult.Success\n ? (actionsResult.Results as Array<{ ID: string; Name: string; IconClass?: string | null }>)\n : [];\n this.availablePrompts = promptsResult.Success\n ? (promptsResult.Results as Array<{ ID: string; Name: string }>)\n : [];\n this.availableAgents = agentsResult.Success\n ? (agentsResult.Results as Array<{ ID: string; Name: string; IconClass?: string | null; LogoURL?: string | null }>)\n : [];\n }\n\n private rebuildFlowModel(): void {\n this.nodes = this.transformer.StepsToNodes(this.steps, this.availableActions, this.availableAgents);\n this.connections = this.transformer.PathsToConnections(this.paths);\n }\n\n /**\n * Observe the host element's size. When it transitions from zero to non-zero height\n * (i.e. the collapsed Kendo panel expands), trigger the initial auto-arrange or zoom-to-fit.\n */\n private setupInitialZoomObserver(): void {\n if (this.nodes.length === 0) return;\n\n this.needsInitialZoom = true;\n this.teardownResizeObserver();\n\n this.resizeObserver = new ResizeObserver((entries) => {\n for (const entry of entries) {\n const height = entry.contentRect.height;\n if (height > 0 && this.needsInitialZoom) {\n this.needsInitialZoom = false;\n this.teardownResizeObserver();\n // Short delay for Foblex canvas to finish its own init after becoming visible\n setTimeout(() => this.applyInitialZoom(), 100);\n }\n }\n });\n\n this.resizeObserver.observe(this.elRef.nativeElement);\n }\n\n private applyInitialZoom(): void {\n if (!this.flowEditor || this.nodes.length === 0) return;\n const allAtOrigin = this.nodes.every(n => n.Position.X === 0 && n.Position.Y === 0);\n if (allAtOrigin) {\n this.flowEditor.AutoArrange();\n } else {\n this.flowEditor.ZoomToFit();\n }\n }\n\n private teardownResizeObserver(): void {\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n this.resizeObserver = null;\n }\n }\n\n // ── Save ────────────────────────────────────────────────────\n\n async Save(): Promise<void> {\n if (this.isSaving || !this.AgentID) return;\n this.isSaving = true;\n this.cdr.detectChanges();\n\n try {\n // Update positions from canvas to entities\n this.syncPositionsFromCanvas();\n\n // Delete removed items first\n await this.deleteRemovedEntities();\n\n // Save all steps\n for (const step of this.steps) {\n const result = await step.Save();\n if (!result) {\n console.error(`Failed to save step: ${step.Name}`, step.LatestResult);\n }\n }\n\n // Save all paths\n for (const path of this.paths) {\n const result = await path.Save();\n if (!result) {\n console.error(`Failed to save path: ${path.ID}`, path.LatestResult);\n }\n }\n\n this.hasUnsavedChanges = false;\n this.lastSaved = new Date();\n\n // Exit self-contained fullscreen edit mode after successful save\n if (this.fullscreenEditMode) {\n this.fullscreenEditMode = false;\n }\n\n this.FlowSaved.emit();\n } catch (err) {\n console.error('Error saving flow:', err);\n } finally {\n this.isSaving = false;\n this.cdr.detectChanges();\n }\n }\n\n private syncPositionsFromCanvas(): void {\n this.syncPositionsToEntities();\n }\n\n /** Write current FlowNode positions back to the underlying step entities.\n * Called on every node move so that rebuildFlowModel() never loses drag changes. */\n private syncPositionsToEntities(): void {\n for (const node of this.nodes) {\n const step = this.steps.find(s => s.ID === node.ID);\n if (step) {\n this.transformer.ApplyNodePosition(step, node);\n }\n }\n }\n\n private async deleteRemovedEntities(): Promise<void> {\n const md = new Metadata();\n\n for (const pathId of this.deletedPathIDs) {\n const pathEntity = await md.GetEntityObject<MJAIAgentStepPathEntity>('MJ: AI Agent Step Paths');\n await pathEntity.InnerLoad(CompositeKey.FromID(pathId));\n await pathEntity.Delete();\n }\n\n for (const stepId of this.deletedStepIDs) {\n const stepEntity = await md.GetEntityObject<MJAIAgentStepEntity>('MJ: AI Agent Steps');\n await stepEntity.InnerLoad(CompositeKey.FromID(stepId));\n await stepEntity.Delete();\n }\n\n this.deletedPathIDs = [];\n this.deletedStepIDs = [];\n }\n\n // ── Flow Editor Event Handlers ──────────────────────────────\n\n protected async onNodeAdded(event: FlowNodeAddedEvent): Promise<void> {\n if (!this.AgentID) return;\n\n const md = new Metadata();\n const step = await md.GetEntityObject<MJAIAgentStepEntity>('MJ: AI Agent Steps');\n step.NewRecord(); // This generates a UUID immediately - available before Save()\n step.AgentID = this.AgentID;\n step.Name = event.Node.Label;\n step.StepType = event.Node.Type as 'Action' | 'Prompt' | 'Sub-Agent' | 'ForEach' | 'While';\n step.Status = 'Active';\n step.StartingStep = this.steps.length === 0; // First step is starting step\n step.PositionX = Math.round(event.DropPosition.X);\n step.PositionY = Math.round(event.DropPosition.Y);\n step.OnErrorBehavior = 'fail';\n step.RetryCount = 0;\n step.TimeoutSeconds = 600;\n\n // Add the unsaved step to the array - it already has a UUID from NewRecord()\n // This allows connections to be drawn immediately without waiting for a database save\n this.steps.push(step);\n\n // Build a FlowNode using the entity's pre-generated ID so Foblex can track it\n const newNode = this.transformer.StepToNode(step, this.availableActions, this.availableAgents);\n this.nodes.push(newNode);\n this.markDirty();\n\n // Select the new node\n setTimeout(() => {\n this.flowEditor?.SelectNode(step.ID);\n this.onNodeSelected(newNode);\n }, 100);\n\n this.cdr.detectChanges();\n }\n\n protected async onConnectionCreated(event: FlowConnectionCreatedEvent): Promise<void> {\n if (!this.AgentID) return;\n\n // Prevent duplicate\n const exists = this.paths.some(\n p => p.OriginStepID === event.SourceNodeID && p.DestinationStepID === event.TargetNodeID\n );\n if (exists) return;\n\n const md = new Metadata();\n const path = await md.GetEntityObject<MJAIAgentStepPathEntity>('MJ: AI Agent Step Paths');\n path.NewRecord(); // Generates UUID immediately - available before Save()\n path.OriginStepID = event.SourceNodeID;\n path.DestinationStepID = event.TargetNodeID;\n path.Priority = 0;\n\n // Add unsaved path to the array - save will happen on main Save() button\n this.paths.push(path);\n this.rebuildFlowModel();\n this.markDirty();\n this.cdr.detectChanges();\n }\n\n protected onNodeSelected(node: FlowNode | null): void {\n if (node) {\n this.selectedStep = this.steps.find(s => s.ID === node.ID) ?? null;\n this.selectedConnection = null;\n this.selectedPathEntity = null;\n this.showPropertiesPanel = true;\n this.StepSelected.emit(this.selectedStep);\n } else {\n this.selectedStep = null;\n // Only hide the panel if no connection is currently selected.\n // When the user clicks a connection, Foblex fires NodeSelected(null) AND\n // ConnectionSelected(conn) — we must not let the null-node event hide\n // the panel that the connection event just opened.\n if (!this.selectedConnection) {\n this.showPropertiesPanel = false;\n }\n this.StepSelected.emit(null);\n }\n this.cdr.detectChanges();\n }\n\n protected onConnectionSelected(conn: FlowConnection | null): void {\n if (conn) {\n this.selectedConnection = conn;\n this.selectedPathEntity = this.paths.find(p => p.ID === conn.ID) ?? null;\n this.selectedStep = null;\n this.showPropertiesPanel = true;\n } else {\n this.selectedConnection = null;\n this.selectedPathEntity = null;\n }\n this.cdr.detectChanges();\n }\n\n protected onNodeRemoved(node: FlowNode): void {\n const step = this.steps.find(s => s.ID === node.ID);\n if (step) {\n // Track for deletion on save (only if it was previously saved)\n if (step.IsSaved) {\n this.deletedStepIDs.push(step.ID);\n // Also mark paths connected to this step for deletion\n const connectedPaths = this.paths.filter(\n p => p.OriginStepID === step.ID || p.DestinationStepID === step.ID\n );\n for (const path of connectedPaths) {\n if (path.IsSaved) {\n this.deletedPathIDs.push(path.ID);\n }\n }\n }\n this.steps = this.steps.filter(s => s.ID !== node.ID);\n this.paths = this.paths.filter(\n p => p.OriginStepID !== node.ID && p.DestinationStepID !== node.ID\n );\n this.markDirty();\n }\n }\n\n protected onConnectionRemoved(conn: FlowConnection): void {\n const path = this.paths.find(p => p.ID === conn.ID);\n if (path) {\n if (path.IsSaved) {\n this.deletedPathIDs.push(path.ID);\n }\n this.paths = this.paths.filter(p => p.ID !== conn.ID);\n this.markDirty();\n }\n }\n\n protected onConnectionReassigned(event: FlowConnectionReassignedEvent): void {\n const path = this.paths.find(p => p.ID === event.ConnectionID);\n if (!path) return;\n\n // Update the entity's origin/destination to match the new visual endpoints\n path.OriginStepID = event.NewSourceNodeID;\n path.DestinationStepID = event.NewTargetNodeID;\n\n // Rebuild all connections so sibling-based visual logic recalculates\n // (e.g., Default vs Duplicate Default labels depend on sibling analysis)\n this.rebuildFlowModel();\n this.markDirty();\n this.cdr.detectChanges();\n }\n\n protected onNodesChanged(nodes: FlowNode[]): void {\n this.nodes = nodes;\n // Sync canvas positions back to entities immediately so that\n // any subsequent rebuildFlowModel() preserves drag changes.\n this.syncPositionsToEntities();\n this.markDirty(); \n }\n\n protected onConnectionsChanged(connections: FlowConnection[]): void {\n this.connections = connections;\n this.markDirty();\n }\n\n // ── Properties Panel Events ─────────────────────────────────\n\n protected onStepChanged(step: MJAIAgentStepEntity): void {\n // Update the corresponding flow node in-place and push to generic editor\n const node = this.nodes.find(n => n.ID === step.ID);\n if (node) {\n const newLabel = step.Name;\n const newSubtitle = this.transformer.BuildStepSubtitle(step);\n const baseStatus = this.transformer.MapStepStatus(step.Status);\n const warningMessage = (baseStatus !== 'disabled') ? this.transformer.BuildConfigWarningMessage(step) : null;\n const newStatus = warningMessage ? 'warning' : baseStatus;\n const newIsStart = step.StartingStep === true;\n\n node.Label = newLabel;\n node.Subtitle = newSubtitle;\n node.Status = newStatus;\n node.StatusMessage = warningMessage ?? undefined;\n node.IsStartNode = newIsStart;\n\n // Update input port disabled state for starting steps\n const inputPort = node.Ports.find(p => p.Direction === 'input');\n if (inputPort) {\n inputPort.Disabled = newIsStart;\n }\n\n // Re-resolve icon from picker data (handles action/agent assignment changes)\n const resolved = this.transformer.ResolveStepIcon(step, this.availableActions, this.availableAgents);\n node.Icon = resolved.Icon;\n if (!node.Data) node.Data = {};\n node.Data['LogoURL'] = resolved.LogoURL ?? null;\n\n // For loop nodes, rebuild the loop-specific Data properties so the\n // inner body card updates immediately when the user changes body type / config\n if (step.StepType === 'ForEach' || step.StepType === 'While') {\n this.updateLoopNodeData(step, node);\n }\n\n // Push visual update to the generic flow editor (creates new object ref for OnPush)\n this.flowEditor?.UpdateNode(step.ID, {\n Label: newLabel,\n Subtitle: newSubtitle,\n Status: newStatus,\n StatusMessage: warningMessage ?? undefined,\n IsStartNode: newIsStart,\n Icon: resolved.Icon,\n Data: node.Data\n });\n }\n this.markDirty();\n this.cdr.detectChanges();\n }\n\n /** Update loop-specific data fields on a FlowNode from the step entity */\n private updateLoopNodeData(step: MJAIAgentStepEntity, node: FlowNode): void {\n if (!node.Data) node.Data = {};\n // Delegate to the transformer's public methods for consistency\n const bodyType = step.LoopBodyType;\n node.Data['LoopBodyType'] = bodyType ?? null;\n node.Data['LoopBodyName'] = this.resolveLoopBodyNameFromStep(step);\n node.Data['LoopBodyIcon'] = this.getBodyTypeIcon(bodyType);\n node.Data['LoopBodyColor'] = this.getBodyTypeColor(bodyType);\n node.Data['LoopIterationSummary'] = this.transformer.BuildLoopIterationSummary(step);\n }\n\n private resolveLoopBodyNameFromStep(step: MJAIAgentStepEntity): string | null {\n switch (step.LoopBodyType) {\n case 'Action': return step.Action ?? null;\n case 'Prompt': return step.Prompt ?? null;\n case 'Sub-Agent': return step.SubAgent ?? null;\n default: return null;\n }\n }\n\n private getBodyTypeIcon(bodyType: string | null): string {\n switch (bodyType) {\n case 'Action': return 'fa-bolt';\n case 'Prompt': return 'fa-comment-dots';\n case 'Sub-Agent': return 'fa-robot';\n default: return 'fa-circle-nodes';\n }\n }\n\n private getBodyTypeColor(bodyType: string | null): string {\n switch (bodyType) {\n case 'Action': return '#3B82F6';\n case 'Prompt': return '#8B5CF6';\n case 'Sub-Agent': return '#10B981';\n default: return '#6B7280';\n }\n }\n\n protected onPathChanged(path: MJAIAgentStepPathEntity): void {\n // Rebuild all connections from the same origin since always/conditional logic\n // depends on sibling paths (e.g., \"Default\" label only appears when siblings exist)\n this.rebuildFlowModel();\n this.markDirty();\n this.cdr.detectChanges();\n }\n\n protected onDeleteStepRequested(step: MJAIAgentStepEntity): void {\n const node = this.nodes.find(n => n.ID === step.ID);\n if (node) {\n this.flowEditor?.SelectNode(step.ID);\n this.flowEditor?.DeleteSelected();\n }\n this.showPropertiesPanel = false;\n this.selectedStep = null;\n this.cdr.detectChanges();\n }\n\n protected onDeletePathRequested(path: MJAIAgentStepPathEntity): void {\n const conn = this.connections.find(c => c.ID === path.ID);\n if (conn) {\n if (path.IsSaved) {\n this.deletedPathIDs.push(path.ID);\n }\n this.paths = this.paths.filter(p => p.ID !== path.ID);\n this.rebuildFlowModel();\n this.markDirty();\n }\n this.showPropertiesPanel = false;\n this.selectedConnection = null;\n this.selectedPathEntity = null;\n this.cdr.detectChanges();\n }\n\n protected onCloseProperties(): void {\n this.showPropertiesPanel = false;\n this.flowEditor?.ClearSelection();\n }\n\n // ── View & UI Controls ──────────────────────────────────────\n\n protected toggleViewMode(): void {\n this.viewMode = this.viewMode === 'diagram' ? 'list' : 'diagram';\n this.cdr.detectChanges();\n }\n\n /** Whether editing is currently allowed — combines parent EditMode + fullscreen self-contained edit */\n get isEditingActive(): boolean {\n return this.EditMode || this.fullscreenEditMode;\n }\n\n protected toggleFullscreenEditMode(): void {\n this.fullscreenEditMode = !this.fullscreenEditMode;\n this.cdr.detectChanges();\n }\n\n protected cancelFullscreenEdit(): void {\n if (this.hasUnsavedChanges) {\n // Reload to discard changes\n this.fullscreenEditMode = false;\n this.hasUnsavedChanges = false;\n this.loadAll();\n } else {\n this.fullscreenEditMode = false;\n this.cdr.detectChanges();\n }\n }\n\n protected toggleFullScreen(): void {\n if (this.FullScreen && this.hasUnsavedChanges) {\n this.showUnsavedDialog = true;\n this.cdr.detectChanges();\n return;\n }\n this.performFullscreenToggle();\n }\n\n protected onUnsavedDialogSave(): void {\n this.showUnsavedDialog = false;\n this.Save().then(() => this.performFullscreenToggle());\n }\n\n protected onUnsavedDialogDiscard(): void {\n this.showUnsavedDialog = false;\n this.hasUnsavedChanges = false;\n this.fullscreenEditMode = false;\n this.performFullscreenToggle();\n // Reload original data\n this.loadAll();\n }\n\n protected onUnsavedDialogCancel(): void {\n this.showUnsavedDialog = false;\n this.cdr.detectChanges();\n }\n\n private performFullscreenToggle(): void {\n this.FullScreen = !this.FullScreen;\n\n if (this.FullScreen) {\n this.moveToBodyForFullscreen();\n } else {\n this.fullscreenEditMode = false;\n this.restoreFromFullscreen();\n }\n\n this.FullScreenToggled.emit(this.FullScreen);\n this.cdr.detectChanges();\n // Re-fit after layout change\n setTimeout(() => this.flowEditor?.ZoomToFit(), 200);\n }\n\n private moveToBodyForFullscreen(): void {\n const hostEl = this.elRef.nativeElement;\n this.originalParent = hostEl.parentElement;\n this.originalNextSibling = hostEl.nextSibling;\n\n // Create backdrop as a separate body-level element so it covers everything\n this.backdropElement = this.renderer.createElement('div');\n this.renderer.addClass(this.backdropElement, 'mj-agent-editor-backdrop');\n this.renderer.listen(this.backdropElement, 'click', () => this.toggleFullScreen());\n this.renderer.appendChild(document.body, this.backdropElement);\n\n // Move the host element to body — @HostBinding applies the fixed-position class\n this.renderer.appendChild(document.body, hostEl);\n }\n\n private restoreFromFullscreen(): void {\n // Remove backdrop\n if (this.backdropElement) {\n this.renderer.removeChild(document.body, this.backdropElement);\n this.backdropElement = null;\n }\n\n // Restore host element to original position\n if (!this.originalParent) return;\n const hostEl = this.elRef.nativeElement;\n if (this.originalNextSibling) {\n this.renderer.insertBefore(this.originalParent, hostEl, this.originalNextSibling);\n } else {\n this.renderer.appendChild(this.originalParent, hostEl);\n }\n this.originalParent = null;\n this.originalNextSibling = null;\n }\n\n protected onStepClickedInList(step: MJAIAgentStepEntity): void {\n this.selectedStep = step;\n this.selectedConnection = null;\n this.selectedPathEntity = null;\n this.showPropertiesPanel = true;\n this.StepSelected.emit(step);\n this.cdr.detectChanges();\n }\n\n // ── Keyboard Shortcuts ─────────────────────────────────────\n\n @HostListener('document:keydown.escape')\n protected onEscapeKey(): void {\n if (this.showUnsavedDialog) {\n this.onUnsavedDialogCancel();\n } else if (this.FullScreen) {\n this.toggleFullScreen();\n }\n }\n\n // ── Permission Check ────────────────────────────────────────\n\n private checkUpdatePermission(): void {\n const md = new Metadata();\n const entity = md.EntityByName('MJ: AI Agents');\n if (entity) {\n const perms = entity.GetUserPermisions(md.CurrentUser);\n this.userCanUpdate = perms?.CanUpdate === true;\n }\n }\n\n // ── View Preference Persistence ─────────────────────────────\n\n private loadViewPreferences(): void {\n const raw = UserInfoEngine.Instance.GetSetting(FlowAgentEditorComponent.PREF_KEY);\n if (raw) {\n try {\n const prefs = JSON.parse(raw) as { grid?: boolean; minimap?: boolean; legend?: boolean };\n if (prefs.grid != null) this.prefShowGrid = prefs.grid;\n if (prefs.minimap != null) this.prefShowMinimap = prefs.minimap;\n if (prefs.legend != null) this.prefShowLegend = prefs.legend;\n } catch {\n // Ignore malformed preference data\n }\n }\n }\n\n private saveViewPreferences(): void {\n const prefs = JSON.stringify({\n grid: this.prefShowGrid,\n minimap: this.prefShowMinimap,\n legend: this.prefShowLegend\n });\n // Fire-and-forget — preference save errors are non-critical\n UserInfoEngine.Instance.SetSetting(FlowAgentEditorComponent.PREF_KEY, prefs);\n }\n\n protected onGridPrefChanged(show: boolean): void {\n this.prefShowGrid = show;\n this.saveViewPreferences();\n }\n\n protected onMinimapPrefChanged(show: boolean): void {\n this.prefShowMinimap = show;\n this.saveViewPreferences();\n }\n\n protected onLegendPrefChanged(show: boolean): void {\n this.prefShowLegend = show;\n this.saveViewPreferences();\n }\n\n // ── Helpers ─────────────────────────────────────────────────\n\n private markDirty(): void {\n if (!this.hasUnsavedChanges) {\n this.hasUnsavedChanges = true;\n this.FlowChanged.emit(true);\n }\n }\n}\n","<div class=\"mj-agent-editor\">\n\n <!-- ── Toolbar ─────────────────────────────────────────────── -->\n <div class=\"mj-agent-editor-toolbar\" [class.mj-agent-editor-toolbar--editing]=\"isEditingActive\">\n <div class=\"mj-agent-editor-toolbar-left\">\n <!-- Undo / Redo (edit mode only) -->\n @if (isEditingActive) {\n <button class=\"mj-agent-editor-btn\"\n [disabled]=\"!flowEditor?.CanUndo\" (click)=\"flowEditor?.Undo()\" title=\"Undo (Ctrl+Z)\">\n <i class=\"fa-solid fa-rotate-left\"></i>\n </button>\n }\n @if (isEditingActive) {\n <button class=\"mj-agent-editor-btn\"\n [disabled]=\"!flowEditor?.CanRedo\" (click)=\"flowEditor?.Redo()\" title=\"Redo (Ctrl+Y)\">\n <i class=\"fa-solid fa-rotate-right\"></i>\n </button>\n }\n </div>\n\n <div class=\"mj-agent-editor-toolbar-center\">\n <!-- Fullscreen title -->\n <span class=\"mj-agent-editor-title\">\n <i class=\"fa-solid fa-diagram-project\"></i> Flow Configuration\n </span>\n\n <!-- View Mode Toggle -->\n <div class=\"mj-agent-editor-view-toggle\">\n <button class=\"mj-agent-editor-view-btn\"\n [class.mj-agent-editor-view-btn--active]=\"viewMode === 'diagram'\"\n (click)=\"viewMode = 'diagram'\">\n <i class=\"fa-solid fa-diagram-project\"></i> Diagram\n </button>\n <button class=\"mj-agent-editor-view-btn\"\n [class.mj-agent-editor-view-btn--active]=\"viewMode === 'list'\"\n (click)=\"viewMode = 'list'\">\n <i class=\"fa-solid fa-list\"></i> List\n </button>\n </div>\n\n <!-- Mode indicator badge -->\n @if (isEditingActive) {\n <span class=\"mj-agent-editor-mode-badge mj-agent-editor-mode-badge--editing\">\n <i class=\"fa-solid fa-pen\"></i> Editing\n </span>\n }\n @if (!isEditingActive) {\n <span class=\"mj-agent-editor-mode-badge mj-agent-editor-mode-badge--readonly\">\n <i class=\"fa-solid fa-lock\"></i> Read Only\n </span>\n }\n </div>\n\n <div class=\"mj-agent-editor-toolbar-right\">\n <!-- Status indicators -->\n @if (hasUnsavedChanges) {\n <span class=\"mj-agent-editor-status mj-agent-editor-status--unsaved\">\n <i class=\"fa-solid fa-circle\"></i> Unsaved\n </span>\n }\n @if (lastSaved) {\n <span class=\"mj-agent-editor-status\">\n Saved {{ lastSaved | date:'shortTime' }}\n </span>\n }\n\n <!-- Save + Cancel (when editing) -->\n @if (isEditingActive) {\n <button class=\"mj-agent-editor-btn mj-agent-editor-btn--primary\"\n [disabled]=\"isSaving || !hasUnsavedChanges\" (click)=\"Save()\">\n <i class=\"fa-solid\" [ngClass]=\"isSaving ? 'fa-spinner fa-spin' : 'fa-floppy-disk'\"></i>\n {{ isSaving ? 'Saving...' : 'Save' }}\n </button>\n }\n @if (fullscreenEditMode && !EditMode) {\n <button\n class=\"mj-agent-editor-btn\"\n (click)=\"cancelFullscreenEdit()\" title=\"Cancel editing\">\n <i class=\"fa-solid fa-xmark\"></i> Cancel\n </button>\n }\n\n @if (isEditingActive) {\n <div class=\"mj-agent-editor-btn-divider\"></div>\n }\n\n <!-- Fullscreen edit toggle (only when parent is NOT in edit mode) -->\n @if (!EditMode && !fullscreenEditMode && userCanUpdate) {\n <button\n class=\"mj-agent-editor-btn mj-agent-editor-btn--edit\"\n (click)=\"toggleFullscreenEditMode()\" title=\"Edit flow\">\n <i class=\"fa-solid fa-pen-to-square\"></i> Edit\n </button>\n }\n\n <!-- Expand / Close fullscreen -->\n @if (!FullScreen) {\n <button class=\"mj-agent-editor-btn mj-agent-editor-btn--expand\"\n (click)=\"toggleFullScreen()\" title=\"Expand to full screen\">\n <i class=\"fa-solid fa-up-right-and-down-left-from-center\"></i> Expand\n </button>\n }\n @if (FullScreen) {\n <button class=\"mj-agent-editor-btn mj-agent-editor-btn--close\"\n (click)=\"toggleFullScreen()\" title=\"Close full screen (Esc)\">\n <i class=\"fa-solid fa-xmark\"></i> Close\n </button>\n }\n </div>\n </div>\n\n <!-- ── Loading State ─────────────────────────────────────── -->\n @if (isLoading) {\n <div class=\"mj-agent-editor-loading\">\n <i class=\"fa-solid fa-spinner fa-spin\"></i>\n <span>Loading flow...</span>\n </div>\n }\n\n <!-- ── Main Content ──────────────────────────────────────── -->\n @if (!isLoading) {\n <div class=\"mj-agent-editor-body\">\n <!-- Diagram View -->\n @if (viewMode === 'diagram') {\n <div class=\"mj-agent-editor-diagram\">\n <mj-flow-editor #flowEditor\n [Nodes]=\"nodes\"\n [Connections]=\"connections\"\n [NodeTypes]=\"nodeTypes\"\n [ReadOnly]=\"!isEditingActive\"\n [ShowMinimap]=\"prefShowMinimap\"\n [ShowPalette]=\"isEditingActive\"\n [ShowGrid]=\"prefShowGrid\"\n [ShowLegend]=\"prefShowLegend\"\n [ShowStatusBar]=\"true\"\n [ShowToolbar]=\"true\"\n [AutoLayoutDirection]=\"'vertical'\"\n (NodeSelected)=\"onNodeSelected($event)\"\n (NodeAdded)=\"onNodeAdded($event)\"\n (NodeRemoved)=\"onNodeRemoved($event)\"\n (ConnectionCreated)=\"onConnectionCreated($event)\"\n (ConnectionRemoved)=\"onConnectionRemoved($event)\"\n (ConnectionReassigned)=\"onConnectionReassigned($event)\"\n (ConnectionSelected)=\"onConnectionSelected($event)\"\n (NodesChanged)=\"onNodesChanged($event)\"\n (ConnectionsChanged)=\"onConnectionsChanged($event)\"\n (GridToggled)=\"onGridPrefChanged($event)\"\n (MinimapToggled)=\"onMinimapPrefChanged($event)\"\n (LegendToggled)=\"onLegendPrefChanged($event)\">\n </mj-flow-editor>\n <!-- Properties Panel -->\n <div class=\"mj-agent-editor-properties\"\n [class.mj-agent-editor-properties--visible]=\"showPropertiesPanel\">\n <mj-agent-properties-panel\n [Step]=\"selectedStep\"\n [SelectedConnection]=\"selectedConnection\"\n [PathEntity]=\"selectedPathEntity\"\n [ReadOnly]=\"!isEditingActive\"\n [Actions]=\"availableActions\"\n [Prompts]=\"availablePrompts\"\n [Agents]=\"availableAgents\"\n [AllSteps]=\"steps\"\n (StepChanged)=\"onStepChanged($event)\"\n (PathChanged)=\"onPathChanged($event)\"\n (DeleteStepRequested)=\"onDeleteStepRequested($event)\"\n (DeletePathRequested)=\"onDeletePathRequested($event)\"\n (CloseRequested)=\"onCloseProperties()\">\n </mj-agent-properties-panel>\n </div>\n </div>\n }\n <!-- List View -->\n @if (viewMode === 'list') {\n <div class=\"mj-agent-editor-list\">\n <mj-agent-step-list\n [Steps]=\"steps\"\n [Paths]=\"paths\"\n [SelectedStepID]=\"selectedStep?.ID || null\"\n (StepClicked)=\"onStepClickedInList($event)\">\n </mj-agent-step-list>\n <!-- Properties Panel in list mode too -->\n <div class=\"mj-agent-editor-properties\"\n [class.mj-agent-editor-properties--visible]=\"showPropertiesPanel\">\n <mj-agent-properties-panel\n [Step]=\"selectedStep\"\n [SelectedConnection]=\"selectedConnection\"\n [PathEntity]=\"selectedPathEntity\"\n [ReadOnly]=\"!isEditingActive\"\n [Actions]=\"availableActions\"\n [Prompts]=\"availablePrompts\"\n [Agents]=\"availableAgents\"\n [AllSteps]=\"steps\"\n (StepChanged)=\"onStepChanged($event)\"\n (PathChanged)=\"onPathChanged($event)\"\n (DeleteStepRequested)=\"onDeleteStepRequested($event)\"\n (DeletePathRequested)=\"onDeletePathRequested($event)\"\n (CloseRequested)=\"onCloseProperties()\">\n </mj-agent-properties-panel>\n </div>\n </div>\n }\n </div>\n }\n\n <!-- ── Unsaved Changes Dialog ──────────────────────────── -->\n @if (showUnsavedDialog) {\n <div class=\"mj-agent-editor-dialog-overlay\">\n <div class=\"mj-agent-editor-dialog\">\n <div class=\"mj-agent-editor-dialog-icon\">\n <i class=\"fa-solid fa-triangle-exclamation\"></i>\n </div>\n <h3 class=\"mj-agent-editor-dialog-title\">Unsaved Changes</h3>\n <p class=\"mj-agent-editor-dialog-message\">\n You have unsaved changes to this flow. What would you like to do?\n </p>\n <div class=\"mj-agent-editor-dialog-actions\">\n <button class=\"mj-agent-editor-btn mj-agent-editor-btn--primary\" (click)=\"onUnsavedDialogSave()\">\n <i class=\"fa-solid fa-floppy-disk\"></i> Save & Close\n </button>\n <button class=\"mj-agent-editor-btn mj-agent-editor-btn--danger-outline\" (click)=\"onUnsavedDialogDiscard()\">\n Discard Changes\n </button>\n <button class=\"mj-agent-editor-btn\" (click)=\"onUnsavedDialogCancel()\">\n Cancel\n </button>\n </div>\n </div>\n </div>\n }\n</div>\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"flow-editor.component.js","sourceRoot":"","sources":["../../../src/lib/components/flow-editor.component.ts","../../../src/lib/components/flow-editor.component.html"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"flow-editor.component.js","sourceRoot":"","sources":["../../../src/lib/components/flow-editor.component.ts","../../../src/lib/components/flow-editor.component.html"],"names":[],"mappings":"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","sourcesContent":["import {\n Component, Input, Output, EventEmitter, ViewChild, OnInit, OnDestroy,\n ChangeDetectorRef, ViewEncapsulation, ChangeDetectionStrategy, HostListener\n} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { FFlowComponent, FCanvasComponent, FZoomDirective, FCreateConnectionEvent,\n FCreateNodeEvent, FSelectionChangeEvent, FCanvasChangeEvent, FMoveNodesEvent,\n FReassignConnectionEvent } from '@foblex/flow';\nimport {\n FlowNode, FlowConnection, FlowNodeTypeConfig, FlowNodeAddedEvent,\n FlowNodeMovedEvent, FlowConnectionCreatedEvent, FlowConnectionReassignedEvent,\n FlowSelectionChangedEvent,\n FlowCanvasClickEvent, FlowPosition, FlowLayoutDirection,\n FlowContextMenuTarget, FlowContextMenuAction\n} from '../interfaces/flow-types';\nimport { FlowStateService } from '../services/flow-state.service';\nimport { FlowLayoutService } from '../services/flow-layout.service';\n\n/**\n * Generic, entity-agnostic visual flow editor component.\n * Wraps Foblex Flow to provide a clean MJ-style API.\n *\n * Usage:\n * ```html\n * <mj-flow-editor\n * [Nodes]=\"myNodes\"\n * [Connections]=\"myConnections\"\n * [NodeTypes]=\"myNodeTypes\"\n * (NodeSelected)=\"onNodeSelected($event)\"\n * (ConnectionCreated)=\"onConnectionCreated($event)\">\n * </mj-flow-editor>\n * ```\n */\n@Component({\n standalone: false,\n selector: 'mj-flow-editor',\n templateUrl: './flow-editor.component.html',\n styleUrls: ['./flow-editor.component.css'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.Default,\n providers: [FlowStateService, FlowLayoutService]\n})\nexport class FlowEditorComponent implements OnInit, OnDestroy {\n // ── Inputs ──────────────────────────────────────────────────\n @Input() Nodes: FlowNode[] = [];\n @Input() Connections: FlowConnection[] = [];\n @Input() NodeTypes: FlowNodeTypeConfig[] = [];\n @Input() ReadOnly = false;\n @Input() ShowMinimap = true;\n @Input() ShowPalette = true;\n @Input() ShowGrid = true;\n @Input() ShowStatusBar = true;\n @Input() ShowToolbar = true;\n @Input() ShowLegend = true;\n @Input() GridSize = 20;\n @Input() AutoLayoutDirection: FlowLayoutDirection = 'vertical';\n /** Background color for connection labels */\n @Input() ConnectionLabelBackground = '#fffef5';\n /** Border color for connection labels */\n @Input() ConnectionLabelBorderColor = '#cbd5e1';\n /** Text color for connection labels */\n @Input() ConnectionLabelTextColor = '#334155';\n\n // ── Outputs ─────────────────────────────────────────────────\n @Output() NodeSelected = new EventEmitter<FlowNode | null>();\n @Output() NodeAdded = new EventEmitter<FlowNodeAddedEvent>();\n @Output() NodeRemoved = new EventEmitter<FlowNode>();\n @Output() NodeMoved = new EventEmitter<FlowNodeMovedEvent>();\n @Output() ConnectionCreated = new EventEmitter<FlowConnectionCreatedEvent>();\n @Output() ConnectionRemoved = new EventEmitter<FlowConnection>();\n @Output() ConnectionReassigned = new EventEmitter<FlowConnectionReassignedEvent>();\n @Output() ConnectionSelected = new EventEmitter<FlowConnection | null>();\n @Output() SelectionChanged = new EventEmitter<FlowSelectionChangedEvent>();\n @Output() CanvasClicked = new EventEmitter<FlowCanvasClickEvent>();\n @Output() NodesChanged = new EventEmitter<FlowNode[]>();\n @Output() ConnectionsChanged = new EventEmitter<FlowConnection[]>();\n @Output() NodeEditRequested = new EventEmitter<FlowNode>();\n @Output() ConnectionEditRequested = new EventEmitter<FlowConnection>();\n @Output() GridToggled = new EventEmitter<boolean>();\n @Output() MinimapToggled = new EventEmitter<boolean>();\n @Output() LegendToggled = new EventEmitter<boolean>();\n\n // ── View Children ───────────────────────────────────────────\n @ViewChild(FFlowComponent) protected fFlow: FFlowComponent | undefined;\n @ViewChild(FCanvasComponent) protected fCanvas: FCanvasComponent | undefined;\n @ViewChild('fZoomRef') protected fZoom: FZoomDirective | undefined;\n\n // ── Internal State ──────────────────────────────────────────\n protected zoomLevel = 100;\n protected canvasPosition = { x: 0, y: 0 };\n protected canvasScale = 1;\n protected selectedNodeIDs: string[] = [];\n protected selectedConnectionIDs: string[] = [];\n protected panMode = false;\n\n /** Trigger function for canvas panning — only allows panning in pan mode */\n protected canvasMoveTriggerFn = (_event: MouseEvent | TouchEvent): boolean => {\n return this.panMode;\n };\n\n /* Context menu state */\n protected contextMenuVisible = false;\n protected contextMenuX = 0;\n protected contextMenuY = 0;\n protected contextMenuTargetType: FlowContextMenuTarget = 'node';\n protected contextMenuNode: FlowNode | null = null;\n protected contextMenuConnection: FlowConnection | null = null;\n\n private destroy$ = new Subject<void>();\n private initialized = false;\n private lastConnectionClickTime = 0;\n\n constructor(\n private cdr: ChangeDetectorRef,\n private stateService: FlowStateService,\n private layoutService: FlowLayoutService\n ) {}\n\n // ── Lifecycle ───────────────────────────────────────────────\n\n ngOnInit(): void {\n this.initialized = true;\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n // ── Public Methods ──────────────────────────────────────────\n\n /** Fit all nodes within the viewport */\n ZoomToFit(): void {\n this.fCanvas?.fitToScreen({ x: 150, y: 150 }, true);\n }\n\n /** Zoom in one step */\n ZoomIn(): void {\n if (this.fZoom) {\n this.fZoom.zoomIn();\n } else {\n const newScale = Math.min(this.canvasScale + 0.15, 3);\n this.fCanvas?.setScale(newScale);\n this.updateZoomLevel(newScale);\n }\n }\n\n /** Zoom out one step */\n ZoomOut(): void {\n if (this.fZoom) {\n this.fZoom.zoomOut();\n } else {\n const newScale = Math.max(this.canvasScale - 0.15, 0.1);\n this.fCanvas?.setScale(newScale);\n this.updateZoomLevel(newScale);\n }\n }\n\n /** Run auto-layout using dagre */\n AutoArrange(direction?: FlowLayoutDirection): void {\n const dir = direction ?? this.AutoLayoutDirection;\n this.pushUndoState();\n const result = this.layoutService.CalculateLayout(this.Nodes, this.Connections, dir);\n for (const node of this.Nodes) {\n const newPos = result.Positions.get(node.ID);\n if (newPos) {\n node.Position = { ...newPos };\n }\n }\n this.NodesChanged.emit(this.Nodes);\n this.cdr.detectChanges();\n // Fit to screen after layout\n setTimeout(() => this.ZoomToFit(), 100);\n }\n\n /** Center the canvas on a specific node */\n CenterOnNode(nodeId: string): void {\n this.fCanvas?.centerGroupOrNode(nodeId, true);\n }\n\n /** Programmatically select a node */\n SelectNode(nodeId: string): void {\n this.fFlow?.select([nodeId], []);\n const node = this.Nodes.find(n => n.ID === nodeId) ?? null;\n this.NodeSelected.emit(node);\n }\n\n /** Clear all selection */\n ClearSelection(): void {\n this.fFlow?.clearSelection();\n this.selectedNodeIDs = [];\n this.selectedConnectionIDs = [];\n this.NodeSelected.emit(null);\n this.ConnectionSelected.emit(null);\n }\n\n /** Update a node's visual status */\n SetNodeStatus(nodeId: string, status: FlowNode['Status'], message?: string): void {\n const node = this.Nodes.find(n => n.ID === nodeId);\n if (node) {\n node.Status = status;\n node.StatusMessage = message;\n this.cdr.detectChanges();\n }\n }\n\n /** Update a node's visual properties and push a new object reference so\n * OnPush child components (FlowNodeComponent) detect the change. */\n UpdateNode(nodeId: string, changes: Partial<Pick<FlowNode, 'Label' | 'Subtitle' | 'Icon' | 'Status' | 'StatusMessage' | 'IsStartNode' | 'Badges' | 'Data'>>): void {\n const idx = this.Nodes.findIndex(n => n.ID === nodeId);\n if (idx === -1) return;\n // Create a new object reference so the OnPush FlowNodeComponent picks up the change\n this.Nodes[idx] = { ...this.Nodes[idx], ...changes };\n this.cdr.detectChanges();\n }\n\n /** Update a connection's visual properties in-place (label, color, style, etc.) */\n UpdateConnection(connId: string, changes: Partial<Pick<FlowConnection, 'Label' | 'LabelIcon' | 'LabelIconColor' | 'LabelDetail' | 'Color' | 'Style' | 'Animated'>>): void {\n const conn = this.Connections.find(c => c.ID === connId);\n if (!conn) return;\n Object.assign(conn, changes);\n this.cdr.detectChanges();\n }\n\n /** Highlight a sequence of nodes (e.g., execution path) */\n HighlightPath(nodeIds: string[]): void {\n for (const node of this.Nodes) {\n if (nodeIds.includes(node.ID)) {\n node.Status = 'running';\n }\n }\n // Highlight connections along the path\n for (const conn of this.Connections) {\n const srcIdx = nodeIds.indexOf(conn.SourceNodeID);\n const tgtIdx = nodeIds.indexOf(conn.TargetNodeID);\n if (srcIdx >= 0 && tgtIdx >= 0 && tgtIdx === srcIdx + 1) {\n conn.Animated = true;\n }\n }\n this.cdr.detectChanges();\n }\n\n /** Clear all node status highlights */\n ClearHighlights(): void {\n for (const node of this.Nodes) {\n node.Status = 'default';\n node.StatusMessage = undefined;\n }\n for (const conn of this.Connections) {\n conn.Animated = false;\n }\n this.cdr.detectChanges();\n }\n\n /** Undo the last operation */\n Undo(): void {\n const snapshot = this.stateService.Undo(this.Nodes, this.Connections);\n if (snapshot) {\n this.Nodes = snapshot.Nodes;\n this.Connections = snapshot.Connections;\n this.NodesChanged.emit(this.Nodes);\n this.ConnectionsChanged.emit(this.Connections);\n this.cdr.detectChanges();\n }\n }\n\n /** Redo the last undone operation */\n Redo(): void {\n const snapshot = this.stateService.Redo(this.Nodes, this.Connections);\n if (snapshot) {\n this.Nodes = snapshot.Nodes;\n this.Connections = snapshot.Connections;\n this.NodesChanged.emit(this.Nodes);\n this.ConnectionsChanged.emit(this.Connections);\n this.cdr.detectChanges();\n }\n }\n\n get CanUndo(): boolean {\n return this.stateService.CanUndo;\n }\n\n get CanRedo(): boolean {\n return this.stateService.CanRedo;\n }\n\n /** Delete the currently selected nodes and connections */\n DeleteSelected(): void {\n if (this.ReadOnly || (this.selectedNodeIDs.length === 0 && this.selectedConnectionIDs.length === 0)) {\n return;\n }\n this.pushUndoState();\n this.removeSelectedItems();\n this.ClearSelection();\n }\n\n // ── Foblex Event Handlers ──────────────────────────────────\n\n /** Called when Foblex flow finishes loading */\n protected onFlowLoaded(): void {\n if (this.Nodes.length > 0) {\n setTimeout(() => this.ZoomToFit(), 200);\n }\n }\n\n /** Canvas zoom/pan changed */\n protected onCanvasChange(event: FCanvasChangeEvent): void {\n this.canvasPosition = event.position;\n this.canvasScale = event.scale;\n this.updateZoomLevel(event.scale);\n }\n\n /** User drew a new connection */\n protected onCreateConnection(event: FCreateConnectionEvent): void {\n if (!event.fInputId || this.ReadOnly) return;\n this.pushUndoState();\n\n // Derive node IDs from port IDs (ports are named nodeID-input / nodeID-output)\n const sourceNodeID = this.findNodeByPortId(event.fOutputId);\n const targetNodeID = this.findNodeByPortId(event.fInputId);\n\n if (!sourceNodeID || !targetNodeID) return;\n\n // Resolve actual port IDs — when fConnectOnNode is enabled, Foblex may\n // send the node ID itself instead of a port ID. Map to the correct port.\n const sourcePortID = this.resolvePortId(event.fOutputId, sourceNodeID, 'output');\n const targetPortID = this.resolvePortId(event.fInputId, targetNodeID, 'input');\n\n // Prevent duplicate connections\n const exists = this.Connections.some(\n c => c.SourcePortID === sourcePortID && c.TargetPortID === targetPortID\n );\n if (exists) return;\n\n this.ConnectionCreated.emit({\n SourceNodeID: sourceNodeID,\n SourcePortID: sourcePortID,\n TargetNodeID: targetNodeID,\n TargetPortID: targetPortID\n });\n }\n\n /** User reassigned (dragged) an existing connection endpoint to a new node */\n protected onReassignConnection(event: FReassignConnectionEvent): void {\n if (this.ReadOnly) return;\n\n const conn = this.Connections.find(c => c.ID === event.connectionId);\n if (!conn) return;\n\n // If dropped on empty space (no new target/source), discard the reassignment\n if (event.isTargetReassign && !event.newTargetId) return;\n if (event.isSourceReassign && !event.newSourceId) return;\n\n this.pushUndoState();\n\n const oldSourceNodeID = conn.SourceNodeID;\n const oldSourcePortID = conn.SourcePortID;\n const oldTargetNodeID = conn.TargetNodeID;\n const oldTargetPortID = conn.TargetPortID;\n\n // Resolve new endpoints\n let newSourceNodeID = oldSourceNodeID;\n let newSourcePortID = oldSourcePortID;\n let newTargetNodeID = oldTargetNodeID;\n let newTargetPortID = oldTargetPortID;\n\n if (event.isSourceReassign && event.newSourceId) {\n newSourceNodeID = this.findNodeByPortId(event.newSourceId) ?? oldSourceNodeID;\n newSourcePortID = this.resolvePortId(event.newSourceId, newSourceNodeID, 'output');\n }\n\n if (event.isTargetReassign && event.newTargetId) {\n newTargetNodeID = this.findNodeByPortId(event.newTargetId) ?? oldTargetNodeID;\n newTargetPortID = this.resolvePortId(event.newTargetId, newTargetNodeID, 'input');\n }\n\n // Prevent self-connections\n if (newSourceNodeID === newTargetNodeID) return;\n\n // Prevent duplicates\n const duplicate = this.Connections.some(\n c => c.ID !== conn.ID &&\n c.SourcePortID === newSourcePortID &&\n c.TargetPortID === newTargetPortID\n );\n if (duplicate) return;\n\n // Update the connection in-place\n conn.SourceNodeID = newSourceNodeID;\n conn.SourcePortID = newSourcePortID;\n conn.TargetNodeID = newTargetNodeID;\n conn.TargetPortID = newTargetPortID;\n\n this.ConnectionReassigned.emit({\n ConnectionID: conn.ID,\n OldSourceNodeID: oldSourceNodeID,\n OldSourcePortID: oldSourcePortID,\n OldTargetNodeID: oldTargetNodeID,\n OldTargetPortID: oldTargetPortID,\n NewSourceNodeID: newSourceNodeID,\n NewSourcePortID: newSourcePortID,\n NewTargetNodeID: newTargetNodeID,\n NewTargetPortID: newTargetPortID\n });\n\n this.ConnectionsChanged.emit(this.Connections);\n this.cdr.detectChanges();\n }\n\n /** External item dropped from palette */\n protected onCreateNode(event: FCreateNodeEvent): void {\n if (this.ReadOnly) return;\n this.pushUndoState();\n\n const nodeType = event.data as string;\n const config = this.NodeTypes.find(nt => nt.Type === nodeType);\n if (!config) return;\n\n // event.rect is already normalized to canvas coordinates by Foblex's\n // GetNormalizedElementRectExecution (via RoundedRect.fromCenter).\n // Do NOT pass it through getPositionInFlow() again — that double-normalizes\n // and places the node far from the actual drop point.\n // Use the center of the preview rect (≈ cursor position at drop time).\n const dropPosition: FlowPosition = {\n X: event.rect.x + event.rect.width / 2,\n Y: event.rect.y + event.rect.height / 2\n };\n\n const newNode = this.createDefaultNode(config, dropPosition);\n this.NodeAdded.emit({ Node: newNode, DropPosition: dropPosition });\n }\n\n /** Selection changed in Foblex */\n protected onSelectionChange(event: FSelectionChangeEvent): void {\n const timeSinceClick = Date.now() - this.lastConnectionClickTime;\n\n // If a direct connection click just fired, skip this Foblex callback\n // to avoid double-processing / overwriting the direct click result.\n if (timeSinceClick < 200) {\n return;\n }\n\n this.selectedNodeIDs = event.fNodeIds ?? [];\n this.selectedConnectionIDs = event.fConnectionIds ?? [];\n\n this.SelectionChanged.emit({\n SelectedNodeIDs: this.selectedNodeIDs,\n SelectedConnectionIDs: this.selectedConnectionIDs\n });\n\n // Emit specific node/connection selection events.\n // IMPORTANT: When selecting a connection, emit NodeSelected(null) FIRST so\n // that consumers clear their node state before the connection event opens\n // the connection properties panel.\n if (this.selectedNodeIDs.length === 1) {\n const node = this.Nodes.find(n => n.ID === this.selectedNodeIDs[0]);\n this.ConnectionSelected.emit(null);\n this.NodeSelected.emit(node ?? null);\n } else if (this.selectedConnectionIDs.length === 1) {\n const conn = this.Connections.find(c => c.ID === this.selectedConnectionIDs[0]);\n this.NodeSelected.emit(null);\n this.ConnectionSelected.emit(conn ?? null);\n } else if (this.selectedNodeIDs.length === 0 && this.selectedConnectionIDs.length === 0) {\n this.NodeSelected.emit(null);\n this.ConnectionSelected.emit(null);\n }\n }\n\n /** Nodes moved on canvas */\n protected onNodesMoved(event: FMoveNodesEvent): void {\n if (this.ReadOnly || !event.fNodes || event.fNodes.length === 0) return;\n this.pushUndoState();\n\n for (const moved of event.fNodes) {\n const node = this.Nodes.find(n => n.ID === moved.id);\n if (node) {\n const oldPosition = { ...node.Position };\n node.Position = { X: moved.position.x, Y: moved.position.y };\n this.NodeMoved.emit({\n NodeID: node.ID,\n OldPosition: oldPosition,\n NewPosition: node.Position\n });\n }\n }\n this.NodesChanged.emit(this.Nodes);\n }\n\n // ── Toolbar Event Handlers ─────────────────────────────────\n\n protected onGridToggled(show: boolean): void {\n this.ShowGrid = show;\n this.GridToggled.emit(show);\n this.cdr.detectChanges();\n }\n\n protected onMinimapToggled(show: boolean): void {\n this.ShowMinimap = show;\n this.MinimapToggled.emit(show);\n this.cdr.detectChanges();\n }\n\n protected onLegendToggled(show: boolean): void {\n this.ShowLegend = show;\n this.LegendToggled.emit(show);\n this.cdr.detectChanges();\n }\n\n protected onPanModeToggled(enabled: boolean): void {\n this.panMode = enabled;\n this.cdr.detectChanges();\n }\n\n // ── Context Menu ───────────────────────────────────────────\n\n protected onNodeContextMenu(event: MouseEvent, node: FlowNode): void {\n if (this.ReadOnly) return;\n event.preventDefault();\n event.stopPropagation();\n this.showContextMenu(event, 'node', node, null);\n }\n\n /** Direct click on a connection — ensures ConnectionSelected fires reliably */\n protected onConnectionClicked(event: MouseEvent, conn: FlowConnection): void {\n // Do NOT stopPropagation — let Foblex handle its own visual selection.\n // Record the time so onSelectionChange can skip double-processing.\n this.lastConnectionClickTime = Date.now();\n this.selectedConnectionIDs = [conn.ID];\n this.selectedNodeIDs = [];\n this.NodeSelected.emit(null);\n this.ConnectionSelected.emit(conn);\n this.cdr.detectChanges();\n }\n\n protected onConnectionContextMenu(event: MouseEvent, conn: FlowConnection): void {\n if (this.ReadOnly) return;\n event.preventDefault();\n event.stopPropagation();\n this.showContextMenu(event, 'connection', null, conn);\n }\n\n protected onContextMenuAction(action: FlowContextMenuAction): void {\n this.hideContextMenu();\n\n if (action === 'edit') {\n if (this.contextMenuTargetType === 'node' && this.contextMenuNode) {\n this.NodeEditRequested.emit(this.contextMenuNode);\n } else if (this.contextMenuTargetType === 'connection' && this.contextMenuConnection) {\n this.ConnectionEditRequested.emit(this.contextMenuConnection);\n }\n } else if (action === 'remove') {\n this.pushUndoState();\n if (this.contextMenuTargetType === 'node' && this.contextMenuNode) {\n this.removeNodeById(this.contextMenuNode.ID);\n } else if (this.contextMenuTargetType === 'connection' && this.contextMenuConnection) {\n this.removeConnectionById(this.contextMenuConnection.ID);\n }\n }\n }\n\n @HostListener('document:click')\n protected onDocumentClick(): void {\n if (this.contextMenuVisible) {\n this.hideContextMenu();\n }\n }\n\n private showContextMenu(\n event: MouseEvent,\n targetType: FlowContextMenuTarget,\n node: FlowNode | null,\n connection: FlowConnection | null\n ): void {\n this.contextMenuTargetType = targetType;\n this.contextMenuNode = node;\n this.contextMenuConnection = connection;\n this.contextMenuX = event.clientX;\n this.contextMenuY = event.clientY;\n this.contextMenuVisible = true;\n this.cdr.detectChanges();\n }\n\n private hideContextMenu(): void {\n this.contextMenuVisible = false;\n this.contextMenuNode = null;\n this.contextMenuConnection = null;\n this.cdr.detectChanges();\n }\n\n private removeNodeById(nodeId: string): void {\n const node = this.Nodes.find(n => n.ID === nodeId);\n if (!node) return;\n\n this.Nodes = this.Nodes.filter(n => n.ID !== nodeId);\n\n /* Remove connections attached to this node */\n const orphaned = this.Connections.filter(\n c => c.SourceNodeID === nodeId || c.TargetNodeID === nodeId\n );\n this.Connections = this.Connections.filter(\n c => c.SourceNodeID !== nodeId && c.TargetNodeID !== nodeId\n );\n for (const conn of orphaned) {\n this.ConnectionRemoved.emit(conn);\n }\n this.NodeRemoved.emit(node);\n this.NodesChanged.emit(this.Nodes);\n this.ConnectionsChanged.emit(this.Connections);\n this.cdr.detectChanges();\n }\n\n private removeConnectionById(connId: string): void {\n const conn = this.Connections.find(c => c.ID === connId);\n if (!conn) return;\n\n this.Connections = this.Connections.filter(c => c.ID !== connId);\n this.ConnectionRemoved.emit(conn);\n this.ConnectionsChanged.emit(this.Connections);\n this.cdr.detectChanges();\n }\n\n // ── Keyboard Shortcuts ─────────────────────────────────────\n\n @HostListener('keydown', ['$event'])\n protected onKeyDown(event: KeyboardEvent): void {\n if (this.ReadOnly) return;\n\n const isCtrlOrMeta = event.ctrlKey || event.metaKey;\n\n if (event.key === 'Delete' || event.key === 'Backspace') {\n // Don't delete if user is typing in an input\n const target = event.target as HTMLElement;\n if (target.tagName === 'INPUT' || target.tagName === 'TEXTAREA' || target.tagName === 'SELECT') {\n return;\n }\n event.preventDefault();\n this.DeleteSelected();\n } else if (isCtrlOrMeta && event.key === 'z' && !event.shiftKey) {\n event.preventDefault();\n this.Undo();\n } else if (isCtrlOrMeta && (event.key === 'y' || (event.key === 'z' && event.shiftKey))) {\n event.preventDefault();\n this.Redo();\n } else if (isCtrlOrMeta && event.key === 'a') {\n event.preventDefault();\n this.fFlow?.selectAll();\n }\n }\n\n // ── TrackBy Functions ───────────────────────────────────────\n\n protected trackNodeById(_index: number, node: FlowNode): string {\n return node.ID;\n }\n\n protected trackConnectionById(_index: number, conn: FlowConnection): string {\n return conn.ID;\n }\n\n // ── Helper Methods ─────────────────────────────────────────\n\n GetTypeConfig(type: string): FlowNodeTypeConfig | null {\n return this.NodeTypes.find(nt => nt.Type === type) ?? null;\n }\n\n /** Get the connectable side string for Foblex based on port side */\n GetConnectableSide(side: string | undefined): string {\n switch (side) {\n case 'left': return 'left';\n case 'right': return 'right';\n case 'top': return 'top';\n case 'bottom': return 'bottom';\n default: return 'auto';\n }\n }\n\n get selectedCount(): number {\n return this.selectedNodeIDs.length + this.selectedConnectionIDs.length;\n }\n\n private pushUndoState(): void {\n this.stateService.PushState(this.Nodes, this.Connections);\n }\n\n private updateZoomLevel(scale: number): void {\n this.zoomLevel = Math.round(scale * 100);\n this.cdr.detectChanges();\n }\n\n private findNodeByPortId(portId: string): string | null {\n for (const node of this.Nodes) {\n for (const port of node.Ports) {\n if (port.ID === portId) {\n return node.ID;\n }\n }\n }\n // When fConnectOnNode is enabled, Foblex may send the node ID itself\n // instead of a port ID. Check for a direct node ID match as fallback.\n const directMatch = this.Nodes.find(n => n.ID === portId);\n if (directMatch) {\n return directMatch.ID;\n }\n return null;\n }\n\n /**\n * When fConnectOnNode is enabled, Foblex may send a node ID instead of a port ID.\n * This resolves the raw ID to the correct port ID for the given direction.\n */\n private resolvePortId(rawId: string, nodeId: string, direction: 'input' | 'output'): string {\n const node = this.Nodes.find(n => n.ID === nodeId);\n if (!node) return rawId;\n\n // If the rawId already matches a port on this node, use it as-is\n const exactPort = node.Ports.find(p => p.ID === rawId);\n if (exactPort) return rawId;\n\n // Otherwise, find the first port matching the expected direction\n const dirPort = node.Ports.find(p => p.Direction === direction);\n return dirPort ? dirPort.ID : rawId;\n }\n\n private createDefaultNode(config: FlowNodeTypeConfig, position: FlowPosition): FlowNode {\n const id = this.generateId();\n const defaultPorts = config.DefaultPorts ?? [\n { ID: `${id}-input`, Direction: 'input' as const, Side: 'top' as const, Multiple: true },\n { ID: `${id}-output`, Direction: 'output' as const, Side: 'bottom' as const, Multiple: true }\n ];\n\n return {\n ID: id,\n Type: config.Type,\n Label: config.Label,\n Icon: config.Icon,\n Status: 'default',\n Position: position,\n Ports: defaultPorts.map(p => ({\n ...p,\n ID: p.ID.startsWith(id) ? p.ID : `${id}-${p.ID}`\n }))\n };\n }\n\n private removeSelectedItems(): void {\n // Remove selected connections\n const removedConnections = this.Connections.filter(c => this.selectedConnectionIDs.includes(c.ID));\n this.Connections = this.Connections.filter(c => !this.selectedConnectionIDs.includes(c.ID));\n for (const conn of removedConnections) {\n this.ConnectionRemoved.emit(conn);\n }\n\n // Remove selected nodes and their connections\n const removedNodes = this.Nodes.filter(n => this.selectedNodeIDs.includes(n.ID));\n this.Nodes = this.Nodes.filter(n => !this.selectedNodeIDs.includes(n.ID));\n\n // Also remove connections attached to deleted nodes\n const deletedNodeIDs = new Set(this.selectedNodeIDs);\n const orphanedConnections = this.Connections.filter(\n c => deletedNodeIDs.has(c.SourceNodeID) || deletedNodeIDs.has(c.TargetNodeID)\n );\n this.Connections = this.Connections.filter(\n c => !deletedNodeIDs.has(c.SourceNodeID) && !deletedNodeIDs.has(c.TargetNodeID)\n );\n\n for (const conn of orphanedConnections) {\n this.ConnectionRemoved.emit(conn);\n }\n for (const node of removedNodes) {\n this.NodeRemoved.emit(node);\n }\n\n this.NodesChanged.emit(this.Nodes);\n this.ConnectionsChanged.emit(this.Connections);\n this.cdr.detectChanges();\n }\n\n private generateId(): string {\n return 'flow-' + Math.random().toString(36).substring(2, 11);\n }\n}\n","<div class=\"mj-flow-editor\" [class.mj-flow-editor--readonly]=\"ReadOnly\" tabindex=\"0\">\n\n <!-- Canvas Toolbar -->\n @if (ShowToolbar) {\n <div class=\"mj-flow-editor-toolbar-area\">\n <mj-flow-toolbar\n [ZoomLevel]=\"zoomLevel\"\n [ShowGrid]=\"ShowGrid\"\n [ShowMinimap]=\"ShowMinimap\"\n [ShowLegend]=\"ShowLegend\"\n [ReadOnly]=\"ReadOnly\"\n [PanMode]=\"panMode\"\n (ZoomInClicked)=\"ZoomIn()\"\n (ZoomOutClicked)=\"ZoomOut()\"\n (FitToScreenClicked)=\"ZoomToFit()\"\n (AutoLayoutClicked)=\"AutoArrange()\"\n (GridToggled)=\"onGridToggled($event)\"\n (MinimapToggled)=\"onMinimapToggled($event)\"\n (LegendToggled)=\"onLegendToggled($event)\"\n (PanModeToggled)=\"onPanModeToggled($event)\">\n </mj-flow-toolbar>\n </div>\n }\n\n <!-- Main Canvas Area -->\n <div class=\"mj-flow-editor-canvas-area\">\n\n <!-- Palette Sidebar -->\n @if (ShowPalette && !ReadOnly) {\n <mj-flow-palette\n [NodeTypes]=\"NodeTypes\">\n </mj-flow-palette>\n }\n\n <!-- Foblex Canvas -->\n <div class=\"mj-flow-editor-canvas\"\n [class.mj-flow-editor-canvas--pan-mode]=\"panMode\">\n <f-flow fDraggable\n [fDraggableDisabled]=\"false\"\n [fCanvasMoveTrigger]=\"canvasMoveTriggerFn\"\n [vCellSize]=\"GridSize\"\n [hCellSize]=\"GridSize\"\n [fCellSizeWhileDragging]=\"ShowGrid\"\n (fLoaded)=\"onFlowLoaded()\"\n (fCreateConnection)=\"onCreateConnection($event)\"\n (fReassignConnection)=\"onReassignConnection($event)\"\n (fCreateNode)=\"onCreateNode($event)\"\n (fSelectionChange)=\"onSelectionChange($event)\"\n (fMoveNodes)=\"onNodesMoved($event)\">\n\n <!-- Background grid — MUST be direct child of f-flow (Foblex content projection requires it) -->\n @if (ShowGrid) {\n <f-background>\n <f-circle-pattern [color]=\"'#94a3b8'\" [radius]=\"24\"></f-circle-pattern>\n </f-background>\n }\n\n <!-- Alignment snap lines — direct child of f-flow -->\n @if (!ReadOnly) {\n <f-line-alignment [fAlignThreshold]=\"10\"></f-line-alignment>\n }\n\n <f-canvas fZoom #fZoomRef=\"fComponent\"\n [fZoomMinimum]=\"0.15\"\n [fZoomMaximum]=\"3\"\n [fZoomStep]=\"0.1\"\n [position]=\"canvasPosition\"\n [scale]=\"canvasScale\"\n (fCanvasChange)=\"onCanvasChange($event)\">\n\n <!-- Interactive connection drawing -->\n @if (!ReadOnly) {\n <f-connection-for-create\n fType=\"bezier\"\n [fRadius]=\"8\"\n [fOffset]=\"12\">\n <svg viewBox=\"0 0 10 10\" fMarker type=\"end\"\n orient=\"auto\" [refX]=\"9\" [refY]=\"5\" [height]=\"10\" [width]=\"10\">\n <path d=\"M0 0L10 5L0 10Z\" fill=\"#94a3b8\"/>\n </svg>\n </f-connection-for-create>\n }\n\n <!-- Connections -->\n @for (conn of Connections; track trackConnectionById($index, conn)) {\n <f-connection\n [fConnectionId]=\"conn.ID\"\n [fOutputId]=\"conn.SourcePortID\"\n [fInputId]=\"conn.TargetPortID\"\n fType=\"bezier\"\n fBehavior=\"fixed\"\n [fRadius]=\"8\"\n [fOffset]=\"12\"\n [fSelectionDisabled]=\"false\"\n [fReassignDisabled]=\"ReadOnly\"\n [style.--connection-color]=\"conn.Color || '#94a3b8'\"\n [class.mj-flow-connection-colored]=\"!!conn.Color\"\n [class.mj-flow-connection-dashed]=\"conn.Style === 'dashed'\"\n [class.mj-flow-connection-dotted]=\"conn.Style === 'dotted'\"\n (click)=\"onConnectionClicked($event, conn)\"\n (contextmenu)=\"onConnectionContextMenu($event, conn)\">\n <!-- Arrow marker -->\n <svg viewBox=\"0 0 10 10\" fMarker type=\"end\"\n orient=\"auto\" [refX]=\"9\" [refY]=\"5\" [height]=\"10\" [width]=\"10\">\n <path d=\"M0 0L10 5L0 10Z\" [attr.fill]=\"conn.Color || '#94a3b8'\"/>\n </svg>\n <!-- Connection label -->\n @if (conn.Label) {\n <div fConnectionContent [position]=\"0.5\"\n class=\"mj-flow-connection-label\"\n [style.backgroundColor]=\"ConnectionLabelBackground\"\n [style.borderColor]=\"ConnectionLabelBorderColor\"\n [style.color]=\"ConnectionLabelTextColor\"\n [title]=\"conn.LabelDetail || conn.Label || ''\">\n @if (conn.LabelIcon) {\n <i\n class=\"fa-solid mj-flow-connection-label-icon\"\n [ngClass]=\"conn.LabelIcon\"\n [style.color]=\"conn.LabelIconColor || 'inherit'\"></i>\n }\n {{ conn.Label }}\n </div>\n }\n </f-connection>\n }\n\n <!-- Nodes -->\n @for (node of Nodes; track trackNodeById($index, node)) {\n <mj-flow-node\n fNode\n fDragHandle\n [fNodeId]=\"node.ID\"\n [fNodePosition]=\"{ x: node.Position.X, y: node.Position.Y }\"\n [fNodeDraggingDisabled]=\"ReadOnly || panMode || node.Locked === true\"\n [fNodeSelectionDisabled]=\"panMode\"\n [fConnectOnNode]=\"!ReadOnly && !panMode\"\n [Node]=\"node\"\n [TypeConfig]=\"GetTypeConfig(node.Type)\"\n [ReadOnly]=\"ReadOnly\"\n (contextmenu)=\"onNodeContextMenu($event, node)\">\n </mj-flow-node>\n }\n\n </f-canvas>\n\n <!-- Rubber-band selection — direct child of f-flow -->\n @if (!ReadOnly) {\n <f-selection-area></f-selection-area>\n }\n\n <!-- Minimap -->\n @if (ShowMinimap) {\n <div class=\"mj-flow-editor-minimap\" fDragBlocker>\n <f-minimap [fMinSize]=\"1500\"></f-minimap>\n </div>\n }\n </f-flow>\n\n <!-- Legend -->\n @if (ShowLegend && Nodes.length > 0) {\n <div class=\"mj-flow-editor-legend\">\n <div class=\"mj-flow-editor-legend-title\">Legend</div>\n <div class=\"mj-flow-editor-legend-section\">\n <div class=\"mj-flow-editor-legend-heading\">Connections</div>\n <div class=\"mj-flow-editor-legend-item\">\n <svg class=\"mj-flow-editor-legend-line-svg\" width=\"28\" height=\"10\"><line x1=\"0\" y1=\"5\" x2=\"28\" y2=\"5\" stroke=\"#64748b\" stroke-width=\"2\"/></svg>\n <span>Only exit path</span>\n </div>\n <div class=\"mj-flow-editor-legend-item\">\n <svg class=\"mj-flow-editor-legend-line-svg\" width=\"28\" height=\"10\"><line x1=\"0\" y1=\"5\" x2=\"28\" y2=\"5\" stroke=\"#16a34a\" stroke-width=\"2\"/></svg>\n <i class=\"fa-solid fa-circle-check\" style=\"color:#16a34a;font-size:10px;\"></i>\n <span>Default (fallback)</span>\n </div>\n <div class=\"mj-flow-editor-legend-item\">\n <svg class=\"mj-flow-editor-legend-line-svg\" width=\"28\" height=\"10\"><line x1=\"0\" y1=\"5\" x2=\"28\" y2=\"5\" stroke=\"#f59e0b\" stroke-width=\"2\" stroke-dasharray=\"5 3\"/></svg>\n <span>Conditional</span>\n </div>\n <div class=\"mj-flow-editor-legend-item\">\n <svg class=\"mj-flow-editor-legend-line-svg\" width=\"28\" height=\"10\"><line x1=\"0\" y1=\"5\" x2=\"28\" y2=\"5\" stroke=\"#ef4444\" stroke-width=\"2\"/></svg>\n <i class=\"fa-solid fa-triangle-exclamation\" style=\"color:#ef4444;font-size:10px;\"></i>\n <span>Duplicate defaults</span>\n </div>\n </div>\n <div class=\"mj-flow-editor-legend-section\">\n <div class=\"mj-flow-editor-legend-heading\">Step Types</div>\n <div class=\"mj-flow-editor-legend-item\">\n <span class=\"mj-flow-editor-legend-swatch\" style=\"background:#3B82F6\"></span>\n <span>Action</span>\n </div>\n <div class=\"mj-flow-editor-legend-item\">\n <span class=\"mj-flow-editor-legend-swatch\" style=\"background:#8B5CF6\"></span>\n <span>Prompt</span>\n </div>\n <div class=\"mj-flow-editor-legend-item\">\n <span class=\"mj-flow-editor-legend-swatch\" style=\"background:#10B981\"></span>\n <span>Sub-Agent</span>\n </div>\n <div class=\"mj-flow-editor-legend-item\">\n <span class=\"mj-flow-editor-legend-swatch\" style=\"background:#F59E0B\"></span>\n <span>For Each</span>\n </div>\n <div class=\"mj-flow-editor-legend-item\">\n <span class=\"mj-flow-editor-legend-swatch\" style=\"background:#F97316\"></span>\n <span>While</span>\n </div>\n </div>\n <div class=\"mj-flow-editor-legend-section\">\n <div class=\"mj-flow-editor-legend-heading\">Borders</div>\n <div class=\"mj-flow-editor-legend-item\">\n <span class=\"mj-flow-editor-legend-box\" style=\"border-color:#16a34a;background:#f0fdf4;\"></span>\n <span>Start node</span>\n </div>\n <div class=\"mj-flow-editor-legend-item\">\n <span class=\"mj-flow-editor-legend-box\" style=\"border-color:#ef4444;background:#fef2f2;\"></span>\n <i class=\"fa-solid fa-triangle-exclamation\" style=\"color:#ea580c;font-size:10px;\"></i>\n <span>Missing config</span>\n </div>\n </div>\n </div>\n }\n\n <!-- Empty state overlay -->\n @if (Nodes.length === 0) {\n <div class=\"mj-flow-editor-empty\">\n <div class=\"mj-flow-editor-empty-content\">\n <i class=\"fa-solid fa-diagram-project mj-flow-editor-empty-icon\"></i>\n @if (!ReadOnly) {\n <p class=\"mj-flow-editor-empty-title\">Drag steps from the palette to start building your flow</p>\n }\n @if (ReadOnly) {\n <p class=\"mj-flow-editor-empty-title\">No steps defined for this flow</p>\n }\n @if (!ReadOnly) {\n <p class=\"mj-flow-editor-empty-subtitle\">\n Or use auto-layout after adding steps to arrange them automatically\n </p>\n }\n </div>\n </div>\n }\n </div>\n </div>\n\n <!-- Context Menu -->\n @if (contextMenuVisible) {\n <div\n class=\"mj-flow-context-menu\"\n [style.left.px]=\"contextMenuX\"\n [style.top.px]=\"contextMenuY\"\n (click)=\"$event.stopPropagation()\">\n <button class=\"mj-flow-context-menu-item\" (click)=\"onContextMenuAction('edit')\">\n <i class=\"fa-solid fa-pen-to-square\"></i>\n <span>Edit {{ contextMenuTargetType === 'node' ? 'Node' : 'Connection' }}</span>\n </button>\n <div class=\"mj-flow-context-menu-divider\"></div>\n <button class=\"mj-flow-context-menu-item mj-flow-context-menu-item--danger\" (click)=\"onContextMenuAction('remove')\">\n <i class=\"fa-solid fa-trash-can\"></i>\n <span>Remove {{ contextMenuTargetType === 'node' ? 'Node' : 'Connection' }}</span>\n </button>\n </div>\n }\n\n <!-- Status Bar -->\n @if (ShowStatusBar) {\n <mj-flow-status-bar\n [NodeCount]=\"Nodes.length\"\n [ConnectionCount]=\"Connections.length\"\n [SelectedCount]=\"selectedCount\"\n [ZoomLevel]=\"zoomLevel\">\n </mj-flow-status-bar>\n }\n</div>\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"flow-node.component.js","sourceRoot":"","sources":["../../../src/lib/components/flow-node.component.ts","../../../src/lib/components/flow-node.component.html"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"flow-node.component.js","sourceRoot":"","sources":["../../../src/lib/components/flow-node.component.ts","../../../src/lib/components/flow-node.component.html"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;;;;;ICE3F,0BAOM;;;IALJ,4DAAgD;IAIhD,AADA,AADA,8CAAyB,6CACY,6CACA;;;IAsBjC,yBAAoE;;;IAArB,AAAhB,sDAAe,0BAAmB;;;IAGjE,wBAA2F;;;IAAhC,2CAA2B;IAAhD,yCAAoB;;;IAM1D,+BAAuC;IAAA,qBAAK;IAAA,iBAAO;;;IAGnD,wBAIuC;;;IADrC,2DAA+C;IACjD,AAFE,2CAAsB,0CAEU;;;IAOtC,+BAAmC;IACjC,YACF;IAAA,iBAAM;;;IADJ,cACF;IADE,qDACF;;;IAiBQ,gCAA+B;IAAA,YAA6B;IAAA,iBAAO;;;IAApC,cAA6B;IAA7B,6DAA6B;;;IAJhE,+BAAoC;IAClC,wBAA8D;IAC9D,4BAAM;IAAA,YAA0B;IAAA,iBAAO;IACvC,kHAAiC;IAGnC,iBAAM;;;IAJE,eAA0B;IAA1B,iDAA0B;IAChC,cAEC;IAFD,2DAEC;;;IAaG,+BAA2D;IACzD,YACF;IAAA,iBAAM;;;IAF8B,2CAAsB;IACxD,cACF;IADE,oDACF;;;IAGA,+BAAkE;IAChE,gCACF;IAAA,iBAAM;;;IAZR,AADF,+BAAqC,cACG;IACpC,wBAA+E;IAC/E,gCAAmE;IAAA,YAAkB;IACvF,AADuF,iBAAO,EACxF;IACN,iHAAoB;IAKpB,iHAAqB;IAKvB,iBAAM;;;IAb2C,eAA6B;IAA7B,6CAA6B;IAAtD,6CAAwB;IACP,cAA6B;IAA7B,6CAA6B;IAAC,cAAkB;IAAlB,yCAAkB;IAEvF,cAIC;IAJD,8CAIC;IACD,cAIC;IAJD,+CAIC;;;IAIH,+BAAqC;IACnC,wBAA2C;IAC3C,4BAAM;IAAA,qCAAqB;IAC7B,AAD6B,iBAAO,EAC9B;;;IAKR,+BAAmC;IACjC,wBAA+B;IAC/B,4BAAM;IAAA,YAAsB;IAC9B,AAD8B,iBAAO,EAC/B;;;IADE,eAAsB;IAAtB,6CAAsB;;;IA3ClC,+BAAkC;IAEhC,mGAA4B;IAU5B,+BACmD;IACjD,mGAAoB;IAkBpB,mGAAqB;IAMvB,iBAAM;IAEN,mGAAwB;IAM1B,iBAAM;;;IA5CJ,cAQC;IARD,sDAQC;IAGC,cAAgD;IAAhD,gEAAgD;IAChD,cAiBC;IAjBD,8CAiBC;IACD,cAKC;IALD,+CAKC;IAGH,cAKC;IALD,kDAKC;;;IAMH,+BAE+B;IAC7B,wBAAgD;IAChD,4BAAM;IAAA,YAAwB;IAChC,AADgC,iBAAO,EACjC;;;IAHJ,iDAA4B;IAEtB,eAAwB;IAAxB,+CAAwB;;;IAaxB,wBAA+C;;;IAA3B,uCAAsB;;;IAL9C,gCAGwB;IACtB,uGAAkB;IAGlB,YACF;IAAA,iBAAO;;;;IANL,oEAAgD;IAChD,sCAAqB;IACrB,cAEC;IAFD,wCAEC;IACD,cACF;IADE,+CACF;;;IAVJ,+BAAiC;IAC/B,uHAUC;IACH,iBAAM;;;IAXJ,cAUC;IAVD,iCAUC;;;IAOL,0BAQM;;;IANJ,6DAAiD;IAKjD,AADA,AADA,AADA,gDAA2B,+CACY,+CACA,4BACZ;;ADpJ/B;;;;GAIG;AASH,MAAM,OAAO,iBAAiB;IACnB,IAAI,CAAY;IAChB,UAAU,GAA8B,IAAI,CAAC;IAC7C,QAAQ,GAAG,KAAK,CAAC;IACjB,OAAO,GAAG,KAAK,CAAC;IAEzB,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,UAAU,EAAE,KAAK,IAAI,SAAS,CAAC;IAC7C,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE,IAAI,IAAI,iBAAiB,CAAC;IACvE,CAAC;IAED,IAAI,OAAO;QACT,OAAQ,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,SAAS,CAAY,IAAI,IAAI,CAAC;IAC1D,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,IAAI,EAAE,MAAM,IAAI,SAAS,CAAC;IACxC,CAAC;IAED,IAAI,UAAU;QACZ,QAAQ,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;YAC1B,KAAK,SAAS,CAAC,CAAC,OAAO,iBAAiB,CAAC;YACzC,KAAK,OAAO,CAAC,CAAC,OAAO,iBAAiB,CAAC;YACvC,KAAK,SAAS,CAAC,CAAC,OAAO,yBAAyB,CAAC;YACjD,KAAK,SAAS,CAAC,CAAC,OAAO,oBAAoB,CAAC;YAC5C,KAAK,UAAU,CAAC,CAAC,OAAO,QAAQ,CAAC;YACjC,KAAK,SAAS,CAAC,CAAC,OAAO,UAAU,CAAC;YAClC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;QACrB,CAAC;IACH,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,IAAI,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC;IACrE,CAAC;IAED,IAAI,SAAS;QACX,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,OAAO,CAAC,CAAC;QAClE,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QACvB,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,KAAK;YACxB,QAAQ,EAAE,IAAI,CAAC,QAAQ,KAAK,KAAK;YACjC,QAAQ,EAAE,IAAI,CAAC,QAAQ,KAAK,IAAI;SACjC,CAAC;IACJ,CAAC;IAED,IAAI,UAAU;QACZ,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC;QACnE,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QACvB,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,QAAQ;YAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ,KAAK,KAAK;YACjC,QAAQ,EAAE,IAAI,CAAC,QAAQ,KAAK,IAAI;SACjC,CAAC;IACJ,CAAC;IAED,8DAA8D;IAE9D,6DAA6D;IAC7D,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,IAAI,EAAE,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC;IACtE,CAAC;IAED,mEAAmE;IACnE,IAAI,YAAY;QACd,OAAQ,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,cAAc,CAAY,IAAI,IAAI,CAAC;IAC/D,CAAC;IAED,+CAA+C;IAC/C,IAAI,YAAY;QACd,OAAQ,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,cAAc,CAAY,IAAI,IAAI,CAAC;IAC/D,CAAC;IAED,kCAAkC;IAClC,IAAI,YAAY;QACd,OAAQ,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,cAAc,CAAY,IAAI,iBAAiB,CAAC;IAC5E,CAAC;IAED,mCAAmC;IACnC,IAAI,aAAa;QACf,OAAQ,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,eAAe,CAAY,IAAI,SAAS,CAAC;IACrE,CAAC;IAED,wEAAwE;IACxE,IAAI,oBAAoB;QACtB,OAAQ,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,sBAAsB,CAAY,IAAI,EAAE,CAAC;IACrE,CAAC;IAED,0CAA0C;IAC1C,IAAI,iBAAiB;QACnB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,eAAe,CAAC,CAAC;QAC/C,OAAO,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9C,CAAC;IAED,8BAA8B;IAC9B,IAAI,gBAAgB;QAClB,OAAQ,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,kBAAkB,CAAY,IAAI,IAAI,CAAC;IACnE,CAAC;2GArGU,iBAAiB;6DAAjB,iBAAiB;YCf9B,mFAAiB;YAYjB,8BAQiE;YAG/D,yBAA6E;YAI3E,AADF,8BAAiC,aACO;YACpC,mFAAe;YAGf,iFAAgB;YAGhB,+BAAiC;YAAA,YAAgB;YACnD,AADmD,iBAAO,EACpD;YACN,8BAAuC;YACrC,sFAAwB;YAGxB,oFAAiB;YAQrB,AADE,iBAAM,EACF;YAGN,sFAAoC;YAOpC,gCAAiE;YAC/D,aACF;YAAA,iBAAM;YAGN,sFAAkB;YAmDlB,sFAAuD;YAUvD,sFAA6C;YAe/C,iBAAM;YAGN,sFAAkB;;YA9IlB,wCASC;YAIC,cAAmD;YAOnD,AADA,AADA,AADA,AADA,AADA,AADA,AADA,gEAAmD,2CACP,+DACoB,6DACF,6DACA,6DACA,yDACJ,6DACI;YAG7B,cAAqC;YAArC,mDAAqC;YAKlE,eAEC;YAFD,sCAEC;YACD,cAEC;YAFD,uCAEC;YACgC,eAAgB;YAAhB,oCAAgB;YAGjD,eAEC;YAFD,gDAEC;YACD,cAMC;YAND,yCAMC;YAKL,cAIC;YAJD,gEAIC;YAGoC,cAA2B;YAA3B,wCAA2B;YAC9D,cACF;YADE,wGACF;YAGA,cAgDC;YAhDD,0CAgDC;YAGD,cAOC;YAPD,mFAOC;YAGD,cAcC;YAdD,yEAcC;YAIH,cAUC;YAVD,0CAUC;;;iFDzIY,iBAAiB;cAR7B,SAAS;6BACI,KAAK,YACP,cAAc,iBAGT,iBAAiB,CAAC,IAAI,mBACpB,uBAAuB,CAAC,MAAM;;kBAG9C,KAAK;;kBACL,KAAK;;kBACL,KAAK;;kBACL,KAAK;;kFAJK,iBAAiB","sourcesContent":["import { Component, Input, ViewEncapsulation, ChangeDetectionStrategy } from '@angular/core';\nimport { FlowNode, FlowNodeTypeConfig } from '../interfaces/flow-types';\n\n/**\n * Renders a single node in the flow canvas.\n * Applied with Foblex's fNode directive in the parent FlowEditorComponent template.\n * Contains input/output ports via Foblex's fNodeInput/fNodeOutput directives.\n */\n@Component({\n standalone: false,\n selector: 'mj-flow-node',\n templateUrl: './flow-node.component.html',\n styleUrls: ['./flow-node.component.css'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FlowNodeComponent {\n @Input() Node!: FlowNode;\n @Input() TypeConfig: FlowNodeTypeConfig | null = null;\n @Input() ReadOnly = false;\n @Input() Compact = false;\n\n get headerColor(): string {\n return this.TypeConfig?.Color ?? '#6B7280';\n }\n\n get nodeIcon(): string {\n return this.Node?.Icon ?? this.TypeConfig?.Icon ?? 'fa-circle-nodes';\n }\n\n get logoURL(): string | null {\n return (this.Node?.Data?.['LogoURL'] as string) ?? null;\n }\n\n get statusClass(): string {\n return this.Node?.Status ?? 'default';\n }\n\n get statusIcon(): string {\n switch (this.Node?.Status) {\n case 'success': return 'fa-check-circle';\n case 'error': return 'fa-times-circle';\n case 'warning': return 'fa-exclamation-triangle';\n case 'running': return 'fa-spinner fa-spin';\n case 'disabled': return 'fa-ban';\n case 'pending': return 'fa-clock';\n default: return '';\n }\n }\n\n get hasStatus(): boolean {\n return this.Node?.Status != null && this.Node.Status !== 'default';\n }\n\n get inputPort(): { ID: string; Side: string; Multiple: boolean; Disabled: boolean } | null {\n const port = this.Node?.Ports?.find(p => p.Direction === 'input');\n if (!port) return null;\n return {\n ID: port.ID,\n Side: port.Side ?? 'top',\n Multiple: port.Multiple !== false,\n Disabled: port.Disabled === true\n };\n }\n\n get outputPort(): { ID: string; Side: string; Multiple: boolean; Disabled: boolean } | null {\n const port = this.Node?.Ports?.find(p => p.Direction === 'output');\n if (!port) return null;\n return {\n ID: port.ID,\n Side: port.Side ?? 'bottom',\n Multiple: port.Multiple !== false,\n Disabled: port.Disabled === true\n };\n }\n\n // ── Loop Node Properties ───────────────────────────────────\n\n /** Whether this node represents a loop (ForEach or While) */\n get isLoopNode(): boolean {\n return this.Node?.Type === 'ForEach' || this.Node?.Type === 'While';\n }\n\n /** Loop body type label (e.g., 'Action', 'Prompt', 'Sub-Agent') */\n get loopBodyType(): string | null {\n return (this.Node?.Data?.['LoopBodyType'] as string) ?? null;\n }\n\n /** Resolved name of the loop body operation */\n get loopBodyName(): string | null {\n return (this.Node?.Data?.['LoopBodyName'] as string) ?? null;\n }\n\n /** Icon for the loop body type */\n get loopBodyIcon(): string {\n return (this.Node?.Data?.['LoopBodyIcon'] as string) ?? 'fa-circle-nodes';\n }\n\n /** Color for the loop body type */\n get loopBodyColor(): string {\n return (this.Node?.Data?.['LoopBodyColor'] as string) ?? '#6B7280';\n }\n\n /** Short iteration summary (e.g., \"over items\" or \"while condition\") */\n get loopIterationSummary(): string {\n return (this.Node?.Data?.['LoopIterationSummary'] as string) ?? '';\n }\n\n /** Max iterations limit, if configured */\n get loopMaxIterations(): number | null {\n const val = this.Node?.Data?.['MaxIterations'];\n return typeof val === 'number' ? val : null;\n }\n\n /** Loop item variable name */\n get loopItemVariable(): string | null {\n return (this.Node?.Data?.['LoopItemVariable'] as string) ?? null;\n }\n}\n","<!-- Input Port -->\n@if (inputPort) {\n <div\n class=\"mj-flow-node-port mj-flow-node-port--input\"\n [class]=\"'mj-flow-node-port--' + inputPort.Side\"\n fNodeInput\n [fInputId]=\"inputPort.ID\"\n [fInputDisabled]=\"inputPort.Disabled\"\n [fInputMultiple]=\"inputPort.Multiple\">\n </div>\n}\n\n<!-- Node Body -->\n<div class=\"mj-flow-node-body\"\n [class.mj-flow-node-body--start]=\"Node.IsStartNode\"\n [class.mj-flow-node-body--loop]=\"isLoopNode\"\n [class.mj-flow-node-body--disabled]=\"Node.Status === 'disabled'\"\n [class.mj-flow-node-body--pending]=\"Node.Status === 'pending'\"\n [class.mj-flow-node-body--running]=\"Node.Status === 'running'\"\n [class.mj-flow-node-body--warning]=\"Node.Status === 'warning'\"\n [class.mj-flow-node-body--error]=\"Node.Status === 'error'\"\n [class.mj-flow-node-body--success]=\"Node.Status === 'success'\">\n\n <!-- Color accent bar -->\n <div class=\"mj-flow-node-accent\" [style.backgroundColor]=\"headerColor\"></div>\n\n <!-- Header -->\n <div class=\"mj-flow-node-header\">\n <div class=\"mj-flow-node-header-left\">\n @if (logoURL) {\n <img class=\"mj-flow-node-logo\" [src]=\"logoURL\" [alt]=\"Node.Label\" />\n }\n @if (!logoURL) {\n <i class=\"fa-solid mj-flow-node-icon\" [ngClass]=\"nodeIcon\" [style.color]=\"headerColor\"></i>\n }\n <span class=\"mj-flow-node-label\">{{ Node.Label }}</span>\n </div>\n <div class=\"mj-flow-node-header-right\">\n @if (Node.IsStartNode) {\n <span class=\"mj-flow-node-start-badge\">START</span>\n }\n @if (hasStatus) {\n <i\n class=\"fa-solid mj-flow-node-status\"\n [ngClass]=\"statusIcon\"\n [class]=\"'mj-flow-node-status--' + statusClass\"\n [title]=\"Node.StatusMessage || ''\"></i>\n }\n </div>\n </div>\n\n <!-- Subtitle / Configured Item (hidden for loop nodes — they use the body card instead) -->\n @if (Node.Subtitle && !isLoopNode) {\n <div class=\"mj-flow-node-subtitle\">\n {{ Node.Subtitle }}\n </div>\n }\n\n <!-- Type badge -->\n <div class=\"mj-flow-node-type-badge\" [style.color]=\"headerColor\">\n {{ TypeConfig?.Label || Node.Type }}\n </div>\n\n <!-- ═══ Loop Body Card — shown only for ForEach/While nodes ═══ -->\n @if (isLoopNode) {\n <div class=\"mj-flow-loop-section\">\n <!-- Iteration summary line -->\n @if (loopIterationSummary) {\n <div class=\"mj-flow-loop-iteration\">\n <i class=\"fa-solid fa-repeat mj-flow-loop-iteration-icon\"></i>\n <span>{{ loopIterationSummary }}</span>\n @if (loopMaxIterations != null) {\n <span class=\"mj-flow-loop-max\">(max {{ loopMaxIterations }})</span>\n }\n </div>\n }\n <!-- Body type inner card -->\n <div class=\"mj-flow-loop-body\"\n [class.mj-flow-loop-body--empty]=\"!loopBodyType\">\n @if (loopBodyType) {\n <div class=\"mj-flow-loop-body-inner\">\n <div class=\"mj-flow-loop-body-header\">\n <i class=\"fa-solid\" [ngClass]=\"loopBodyIcon\" [style.color]=\"loopBodyColor\"></i>\n <span class=\"mj-flow-loop-body-type\" [style.color]=\"loopBodyColor\">{{ loopBodyType }}</span>\n </div>\n @if (loopBodyName) {\n <div class=\"mj-flow-loop-body-name\" [title]=\"loopBodyName\">\n {{ loopBodyName }}\n </div>\n }\n @if (!loopBodyName) {\n <div class=\"mj-flow-loop-body-name mj-flow-loop-body-name--empty\">\n Not configured\n </div>\n }\n </div>\n }\n @if (!loopBodyType) {\n <div class=\"mj-flow-loop-body-empty\">\n <i class=\"fa-solid fa-circle-question\"></i>\n <span>No body type selected</span>\n </div>\n }\n </div>\n <!-- Item variable badge -->\n @if (loopItemVariable) {\n <div class=\"mj-flow-loop-variable\">\n <i class=\"fa-solid fa-tag\"></i>\n <span>{{ loopItemVariable }}</span>\n </div>\n }\n </div>\n }\n\n <!-- Warning banner (shown inline when step is misconfigured) -->\n @if (Node.Status === 'warning' && Node.StatusMessage) {\n <div\n class=\"mj-flow-node-warning-banner\"\n [title]=\"Node.StatusMessage\">\n <i class=\"fa-solid fa-triangle-exclamation\"></i>\n <span>{{ Node.StatusMessage }}</span>\n </div>\n }\n\n <!-- Badges row -->\n @if (Node.Badges && Node.Badges.length > 0) {\n <div class=\"mj-flow-node-badges\">\n @for (badge of Node.Badges; track badge) {\n <span\n class=\"mj-flow-node-badge\"\n [style.borderColor]=\"badge.Color || headerColor\"\n [title]=\"badge.Label\">\n @if (badge.Icon) {\n <i class=\"fa-solid\" [ngClass]=\"badge.Icon\"></i>\n }\n {{ badge.Value }}\n </span>\n }\n </div>\n }\n</div>\n\n<!-- Output Port -->\n@if (outputPort) {\n <div\n class=\"mj-flow-node-port mj-flow-node-port--output\"\n [class]=\"'mj-flow-node-port--' + outputPort.Side\"\n fNodeOutput\n [fOutputId]=\"outputPort.ID\"\n [fOutputDisabled]=\"outputPort.Disabled\"\n [fOutputMultiple]=\"outputPort.Multiple\"\n [isSelfConnectable]=\"false\">\n </div>\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"flow-palette.component.js","sourceRoot":"","sources":["../../../src/lib/components/flow-palette.component.ts","../../../src/lib/components/flow-palette.component.html"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"flow-palette.component.js","sourceRoot":"","sources":["../../../src/lib/components/flow-palette.component.ts","../../../src/lib/components/flow-palette.component.html"],"names":[],"mappings":"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","sourcesContent":["import { Component, Input, ViewEncapsulation, ChangeDetectionStrategy } from '@angular/core';\nimport { FlowNodeTypeConfig } from '../interfaces/flow-types';\n\n/**\n * Draggable palette sidebar for creating new nodes.\n * Uses Foblex's fExternalItem directive to enable drag-to-canvas creation.\n */\n@Component({\n standalone: false,\n selector: 'mj-flow-palette',\n templateUrl: './flow-palette.component.html',\n styleUrls: ['./flow-palette.component.css'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FlowPaletteComponent {\n @Input() NodeTypes: FlowNodeTypeConfig[] = [];\n @Input() Collapsed = false;\n\n get categories(): string[] {\n const cats = new Set<string>();\n for (const nt of this.NodeTypes) {\n if (nt.Draggable !== false) {\n cats.add(nt.Category ?? 'General');\n }\n }\n return Array.from(cats);\n }\n\n GetTypesForCategory(category: string): FlowNodeTypeConfig[] {\n return this.NodeTypes.filter(nt =>\n nt.Draggable !== false && (nt.Category ?? 'General') === category\n );\n }\n\n /** Converts a hex color to rgba with the given opacity for background tinting */\n GetBgColor(hexColor: string | undefined, opacity: number): string {\n if (!hexColor) return 'transparent';\n // Handle standard 6-digit hex colors\n const match = hexColor.match(/^#?([0-9a-fA-F]{6})$/);\n if (match) {\n const r = parseInt(match[1].substring(0, 2), 16);\n const g = parseInt(match[1].substring(2, 4), 16);\n const b = parseInt(match[1].substring(4, 6), 16);\n return `rgba(${r}, ${g}, ${b}, ${opacity})`;\n }\n // Fallback: return the color as-is with opacity via CSS\n return hexColor;\n }\n}\n","<div class=\"mj-flow-palette\" [class.mj-flow-palette--collapsed]=\"Collapsed\">\n <div class=\"mj-flow-palette-header\">\n <i class=\"fa-solid fa-puzzle-piece\"></i>\n @if (!Collapsed) {\n <span>Steps</span>\n }\n </div>\n\n @if (!Collapsed) {\n <div class=\"mj-flow-palette-content\">\n @for (category of categories; track category) {\n <div class=\"mj-flow-palette-category\">\n <div class=\"mj-flow-palette-category-label\">{{ category }}</div>\n @for (nodeType of GetTypesForCategory(category); track nodeType) {\n <div\n class=\"mj-flow-palette-item\"\n fExternalItem\n [fData]=\"nodeType.Type\"\n [title]=\"nodeType.Label\">\n <div class=\"mj-flow-palette-item-icon\" [style.backgroundColor]=\"GetBgColor(nodeType.Color, 0.08)\" [style.color]=\"nodeType.Color\">\n <i class=\"fa-solid\" [ngClass]=\"nodeType.Icon\"></i>\n </div>\n <span class=\"mj-flow-palette-item-label\">{{ nodeType.Label }}</span>\n </div>\n }\n </div>\n }\n </div>\n }\n</div>\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"flow-status-bar.component.js","sourceRoot":"","sources":["../../../src/lib/components/flow-status-bar.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;;;IAmBrF,+BAAkC;IAChC,uBAAwC;IACxC,YACF;IAAA,iBAAO;;;IADL,eACF;IADE,8DACF;;AApBR;;GAEG;AAuDH,MAAM,OAAO,sBAAsB;IACxB,SAAS,GAAG,CAAC,CAAC;IACd,eAAe,GAAG,CAAC,CAAC;IACpB,aAAa,GAAG,CAAC,CAAC;IAClB,SAAS,GAAG,GAAG,CAAC;gHAJd,sBAAsB;6DAAtB,sBAAsB;YAjD7B,AADF,8BAAgC,cACI;YAChC,uBAAwC;YACxC,YACF;YAAA,iBAAO;YACP,+BAAkC;YAChC,uBAAgC;YAChC,YACF;YAAA,iBAAO;YACP,yFAAyB;YAMzB,+BAA6D;YAC3D,uBAA4C;YAC5C,aACF;YACF,AADE,iBAAO,EACH;;YAhBF,eACF;YADE,2FACF;YAGE,eACF;YADE,mHACF;YACA,cAKC;YALD,gDAKC;YAGC,eACF;YADE,+CACF;;;iFAgCO,sBAAsB;cAtDlC,SAAS;6BACI,KAAK,YACP,oBAAoB,YACpB;;;;;;;;;;;;;;;;;;;;;KAqBP,iBA2BY,iBAAiB,CAAC,IAAI,mBACpB,uBAAuB,CAAC,MAAM;;kBAG9C,KAAK;;kBACL,KAAK;;kBACL,KAAK;;kBACL,KAAK;;kFAJK,sBAAsB"}
1
+ {"version":3,"file":"flow-status-bar.component.js","sourceRoot":"","sources":["../../../src/lib/components/flow-status-bar.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;;;IAmBrF,+BAAkC;IAChC,uBAAwC;IACxC,YACF;IAAA,iBAAO;;;IADL,eACF;IADE,8DACF;;AApBR;;GAEG;AAuDH,MAAM,OAAO,sBAAsB;IACxB,SAAS,GAAG,CAAC,CAAC;IACd,eAAe,GAAG,CAAC,CAAC;IACpB,aAAa,GAAG,CAAC,CAAC;IAClB,SAAS,GAAG,GAAG,CAAC;gHAJd,sBAAsB;6DAAtB,sBAAsB;YAjD7B,AADF,8BAAgC,cACI;YAChC,uBAAwC;YACxC,YACF;YAAA,iBAAO;YACP,+BAAkC;YAChC,uBAAgC;YAChC,YACF;YAAA,iBAAO;YACP,yFAAyB;YAMzB,+BAA6D;YAC3D,uBAA4C;YAC5C,aACF;YACF,AADE,iBAAO,EACH;;YAhBF,eACF;YADE,2FACF;YAGE,eACF;YADE,mHACF;YACA,cAKC;YALD,gDAKC;YAGC,eACF;YADE,+CACF;;;iFAgCO,sBAAsB;cAtDlC,SAAS;6BACI,KAAK,YACP,oBAAoB,YACpB;;;;;;;;;;;;;;;;;;;;;KAqBP,iBA2BY,iBAAiB,CAAC,IAAI,mBACpB,uBAAuB,CAAC,MAAM;;kBAG9C,KAAK;;kBACL,KAAK;;kBACL,KAAK;;kBACL,KAAK;;kFAJK,sBAAsB","sourcesContent":["import { Component, Input, ViewEncapsulation, ChangeDetectionStrategy } from '@angular/core';\n\n/**\n * Status bar at the bottom of the flow editor showing counts and state.\n */\n@Component({\n standalone: false,\n selector: 'mj-flow-status-bar',\n template: `\n <div class=\"mj-flow-status-bar\">\n <span class=\"mj-flow-status-item\">\n <i class=\"fa-solid fa-circle-nodes\"></i>\n {{ NodeCount }} {{ NodeCount === 1 ? 'node' : 'nodes' }}\n </span>\n <span class=\"mj-flow-status-item\">\n <i class=\"fa-solid fa-link\"></i>\n {{ ConnectionCount }} {{ ConnectionCount === 1 ? 'connection' : 'connections' }}\n </span>\n @if (SelectedCount > 0) {\n <span class=\"mj-flow-status-item\">\n <i class=\"fa-solid fa-check-square\"></i>\n {{ SelectedCount }} selected\n </span>\n }\n <span class=\"mj-flow-status-item mj-flow-status-item--right\">\n <i class=\"fa-solid fa-magnifying-glass\"></i>\n {{ ZoomLevel }}%\n </span>\n </div>\n `,\n styles: [`\n .mj-flow-status-bar {\n display: flex;\n align-items: center;\n gap: 16px;\n padding: 4px 14px;\n background: #f8fafc;\n border-top: 1px solid #e2e8f0;\n font-size: 11px;\n color: #64748b;\n flex-shrink: 0;\n min-height: 28px;\n }\n\n .mj-flow-status-item {\n display: inline-flex;\n align-items: center;\n gap: 5px;\n\n i { font-size: 10px; }\n\n &--right {\n margin-left: auto;\n }\n }\n `],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FlowStatusBarComponent {\n @Input() NodeCount = 0;\n @Input() ConnectionCount = 0;\n @Input() SelectedCount = 0;\n @Input() ZoomLevel = 100;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"flow-toolbar.component.js","sourceRoot":"","sources":["../../../src/lib/components/flow-toolbar.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;;;IA0C3G,yBAA2C;;;;IAKzC,AADF,8BAAmC,iBAC2D;IAAxD,yLAAS,+BAAwB,KAAC;IACpE,wBAA2C;IAE/C,AADE,iBAAS,EACL;;AAhDd;;;GAGG;AA2IH,MAAM,OAAO,oBAAoB;IACtB,SAAS,GAAG,GAAG,CAAC;IAChB,QAAQ,GAAG,IAAI,CAAC;IAChB,WAAW,GAAG,IAAI,CAAC;IACnB,UAAU,GAAG,IAAI,CAAC;IAClB,QAAQ,GAAG,KAAK,CAAC;IACjB,OAAO,GAAG,KAAK,CAAC;IAEf,aAAa,GAAG,IAAI,YAAY,EAAQ,CAAC;IACzC,cAAc,GAAG,IAAI,YAAY,EAAQ,CAAC;IAC1C,kBAAkB,GAAG,IAAI,YAAY,EAAQ,CAAC;IAC9C,iBAAiB,GAAG,IAAI,YAAY,EAAQ,CAAC;IAC7C,WAAW,GAAG,IAAI,YAAY,EAAW,CAAC;IAC1C,cAAc,GAAG,IAAI,YAAY,EAAW,CAAC;IAC7C,aAAa,GAAG,IAAI,YAAY,EAAW,CAAC;IAC5C,cAAc,GAAG,IAAI,YAAY,EAAW,CAAC;8GAf5C,oBAAoB;6DAApB,oBAAoB;YApIzB,AADF,AADF,8BAA6B,aACQ,gBACkD;YAA/C,iGAAS,wBAAoB,IAAC;YAChE,uBAAiD;YACnD,iBAAS;YACT,+BAAmC;YAAA,YAAgB;YAAA,iBAAO;YAC1D,iCAAqF;YAAjD,iGAAS,yBAAqB,IAAC;YACjE,uBAAkD;YACpD,iBAAS;YACT,iCAA8F;YAA1D,iGAAS,6BAAyB,IAAC;YACrE,uBAAkC;YAEtC,AADE,iBAAS,EACL;YAEN,0BAA2C;YAGzC,AADF,+BAAmC,kBAID;YAD9B,kGAAS,wBAAoB,KAAK,CAAC,IAAC;YAEpC,yBAAyC;YAC3C,iBAAS;YACT,mCAGyC;YADvC,kGAAS,wBAAoB,IAAI,CAAC,IAAC;YAEnC,yBAAgC;YAEpC,AADE,iBAAS,EACL;YAEN,wFAAiB;YAIjB,wFAAiB;YAQjB,0BAA2C;YAGzC,AADF,+BAAmC,kBAIX;YADpB,kGAAS,mCAA2B,IAAC;YAErC,yBAAsC;YACxC,iBAAS;YACT,mCAGyB;YADvB,kGAAS,yCAAiC,IAAC;YAE3C,yBAA+B;YACjC,iBAAS;YACT,mCAGwB;YADtB,kGAAS,uCAA+B,IAAC;YAEzC,yBAAsC;YAG5C,AADE,AADE,iBAAS,EACL,EACF;;YA5DiC,eAAgB;YAAhB,6CAAgB;YAajD,eAA8C;YAA9C,2DAA8C;YAM9C,eAA6C;YAA7C,0DAA6C;YAOjD,eAEC;YAFD,yCAEC;YAED,cAMC;YAND,yCAMC;YAMG,eAA8C;YAA9C,2DAA8C;YAM9C,eAAiD;YAAjD,8DAAiD;YAMjD,eAAgD;YAAhD,6DAAgD;;;iFA2E7C,oBAAoB;cA1IhC,SAAS;6BACI,KAAK,YACP,iBAAiB,YACjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAmEP,iBAiEY,iBAAiB,CAAC,IAAI,mBACpB,uBAAuB,CAAC,MAAM;;kBAG9C,KAAK;;kBACL,KAAK;;kBACL,KAAK;;kBACL,KAAK;;kBACL,KAAK;;kBACL,KAAK;;kBAEL,MAAM;;kBACN,MAAM;;kBACN,MAAM;;kBACN,MAAM;;kBACN,MAAM;;kBACN,MAAM;;kBACN,MAAM;;kBACN,MAAM;;kFAfI,oBAAoB"}
1
+ {"version":3,"file":"flow-toolbar.component.js","sourceRoot":"","sources":["../../../src/lib/components/flow-toolbar.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;;;IA0C3G,yBAA2C;;;;IAKzC,AADF,8BAAmC,iBAC2D;IAAxD,yLAAS,+BAAwB,KAAC;IACpE,wBAA2C;IAE/C,AADE,iBAAS,EACL;;AAhDd;;;GAGG;AA2IH,MAAM,OAAO,oBAAoB;IACtB,SAAS,GAAG,GAAG,CAAC;IAChB,QAAQ,GAAG,IAAI,CAAC;IAChB,WAAW,GAAG,IAAI,CAAC;IACnB,UAAU,GAAG,IAAI,CAAC;IAClB,QAAQ,GAAG,KAAK,CAAC;IACjB,OAAO,GAAG,KAAK,CAAC;IAEf,aAAa,GAAG,IAAI,YAAY,EAAQ,CAAC;IACzC,cAAc,GAAG,IAAI,YAAY,EAAQ,CAAC;IAC1C,kBAAkB,GAAG,IAAI,YAAY,EAAQ,CAAC;IAC9C,iBAAiB,GAAG,IAAI,YAAY,EAAQ,CAAC;IAC7C,WAAW,GAAG,IAAI,YAAY,EAAW,CAAC;IAC1C,cAAc,GAAG,IAAI,YAAY,EAAW,CAAC;IAC7C,aAAa,GAAG,IAAI,YAAY,EAAW,CAAC;IAC5C,cAAc,GAAG,IAAI,YAAY,EAAW,CAAC;8GAf5C,oBAAoB;6DAApB,oBAAoB;YApIzB,AADF,AADF,8BAA6B,aACQ,gBACkD;YAA/C,iGAAS,wBAAoB,IAAC;YAChE,uBAAiD;YACnD,iBAAS;YACT,+BAAmC;YAAA,YAAgB;YAAA,iBAAO;YAC1D,iCAAqF;YAAjD,iGAAS,yBAAqB,IAAC;YACjE,uBAAkD;YACpD,iBAAS;YACT,iCAA8F;YAA1D,iGAAS,6BAAyB,IAAC;YACrE,uBAAkC;YAEtC,AADE,iBAAS,EACL;YAEN,0BAA2C;YAGzC,AADF,+BAAmC,kBAID;YAD9B,kGAAS,wBAAoB,KAAK,CAAC,IAAC;YAEpC,yBAAyC;YAC3C,iBAAS;YACT,mCAGyC;YADvC,kGAAS,wBAAoB,IAAI,CAAC,IAAC;YAEnC,yBAAgC;YAEpC,AADE,iBAAS,EACL;YAEN,wFAAiB;YAIjB,wFAAiB;YAQjB,0BAA2C;YAGzC,AADF,+BAAmC,kBAIX;YADpB,kGAAS,mCAA2B,IAAC;YAErC,yBAAsC;YACxC,iBAAS;YACT,mCAGyB;YADvB,kGAAS,yCAAiC,IAAC;YAE3C,yBAA+B;YACjC,iBAAS;YACT,mCAGwB;YADtB,kGAAS,uCAA+B,IAAC;YAEzC,yBAAsC;YAG5C,AADE,AADE,iBAAS,EACL,EACF;;YA5DiC,eAAgB;YAAhB,6CAAgB;YAajD,eAA8C;YAA9C,2DAA8C;YAM9C,eAA6C;YAA7C,0DAA6C;YAOjD,eAEC;YAFD,yCAEC;YAED,cAMC;YAND,yCAMC;YAMG,eAA8C;YAA9C,2DAA8C;YAM9C,eAAiD;YAAjD,8DAAiD;YAMjD,eAAgD;YAAhD,6DAAgD;;;iFA2E7C,oBAAoB;cA1IhC,SAAS;6BACI,KAAK,YACP,iBAAiB,YACjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAmEP,iBAiEY,iBAAiB,CAAC,IAAI,mBACpB,uBAAuB,CAAC,MAAM;;kBAG9C,KAAK;;kBACL,KAAK;;kBACL,KAAK;;kBACL,KAAK;;kBACL,KAAK;;kBACL,KAAK;;kBAEL,MAAM;;kBACN,MAAM;;kBACN,MAAM;;kBACN,MAAM;;kBACN,MAAM;;kBACN,MAAM;;kBACN,MAAM;;kBACN,MAAM;;kFAfI,oBAAoB","sourcesContent":["import { Component, Input, Output, EventEmitter, ViewEncapsulation, ChangeDetectionStrategy } from '@angular/core';\n\n/**\n * Internal toolbar for the generic flow editor canvas controls.\n * Provides zoom, fit-to-screen, auto-layout, and grid/minimap toggles.\n */\n@Component({\n standalone: false,\n selector: 'mj-flow-toolbar',\n template: `\n <div class=\"mj-flow-toolbar\">\n <div class=\"mj-flow-toolbar-group\">\n <button class=\"mj-flow-toolbar-btn\" (click)=\"ZoomInClicked.emit()\" title=\"Zoom In\">\n <i class=\"fa-solid fa-magnifying-glass-plus\"></i>\n </button>\n <span class=\"mj-flow-toolbar-zoom\">{{ ZoomLevel }}%</span>\n <button class=\"mj-flow-toolbar-btn\" (click)=\"ZoomOutClicked.emit()\" title=\"Zoom Out\">\n <i class=\"fa-solid fa-magnifying-glass-minus\"></i>\n </button>\n <button class=\"mj-flow-toolbar-btn\" (click)=\"FitToScreenClicked.emit()\" title=\"Fit to Screen\">\n <i class=\"fa-solid fa-expand\"></i>\n </button>\n </div>\n \n <div class=\"mj-flow-toolbar-divider\"></div>\n \n <div class=\"mj-flow-toolbar-group\">\n <button class=\"mj-flow-toolbar-btn\"\n [class.mj-flow-toolbar-btn--active]=\"!PanMode\"\n (click)=\"PanModeToggled.emit(false)\"\n title=\"Select Mode (pointer)\">\n <i class=\"fa-solid fa-arrow-pointer\"></i>\n </button>\n <button class=\"mj-flow-toolbar-btn\"\n [class.mj-flow-toolbar-btn--active]=\"PanMode\"\n (click)=\"PanModeToggled.emit(true)\"\n title=\"Pan Mode (drag to move canvas)\">\n <i class=\"fa-solid fa-hand\"></i>\n </button>\n </div>\n \n @if (!ReadOnly) {\n <div class=\"mj-flow-toolbar-divider\"></div>\n }\n \n @if (!ReadOnly) {\n <div class=\"mj-flow-toolbar-group\">\n <button class=\"mj-flow-toolbar-btn\" (click)=\"AutoLayoutClicked.emit()\" title=\"Auto Arrange\">\n <i class=\"fa-solid fa-diagram-project\"></i>\n </button>\n </div>\n }\n \n <div class=\"mj-flow-toolbar-divider\"></div>\n \n <div class=\"mj-flow-toolbar-group\">\n <button class=\"mj-flow-toolbar-btn\"\n [class.mj-flow-toolbar-btn--active]=\"ShowGrid\"\n (click)=\"GridToggled.emit(!ShowGrid)\"\n title=\"Toggle Grid\">\n <i class=\"fa-solid fa-border-all\"></i>\n </button>\n <button class=\"mj-flow-toolbar-btn\"\n [class.mj-flow-toolbar-btn--active]=\"ShowMinimap\"\n (click)=\"MinimapToggled.emit(!ShowMinimap)\"\n title=\"Toggle Minimap\">\n <i class=\"fa-solid fa-map\"></i>\n </button>\n <button class=\"mj-flow-toolbar-btn\"\n [class.mj-flow-toolbar-btn--active]=\"ShowLegend\"\n (click)=\"LegendToggled.emit(!ShowLegend)\"\n title=\"Toggle Legend\">\n <i class=\"fa-solid fa-list-check\"></i>\n </button>\n </div>\n </div>\n `,\n styles: [`\n .mj-flow-toolbar {\n display: flex;\n align-items: center;\n gap: 2px;\n padding: 4px 8px;\n background: #ffffff;\n border: 1px solid #e2e8f0;\n border-radius: 8px;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);\n }\n\n .mj-flow-toolbar-group {\n display: flex;\n align-items: center;\n gap: 2px;\n }\n\n .mj-flow-toolbar-divider {\n width: 1px;\n height: 20px;\n background: #e2e8f0;\n margin: 0 4px;\n }\n\n .mj-flow-toolbar-btn {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 30px;\n height: 30px;\n border: none;\n border-radius: 6px;\n background: transparent;\n color: #64748b;\n cursor: pointer;\n transition: all 0.15s ease;\n font-size: 13px;\n }\n\n .mj-flow-toolbar-btn:hover {\n background: #f1f5f9;\n color: #334155;\n }\n\n .mj-flow-toolbar-btn--active {\n background: #eff6ff;\n color: #3b82f6;\n }\n\n .mj-flow-toolbar-btn--active:hover {\n background: #dbeafe;\n color: #2563eb;\n }\n\n .mj-flow-toolbar-zoom {\n font-size: 11px;\n font-weight: 500;\n color: #64748b;\n min-width: 38px;\n text-align: center;\n user-select: none;\n }\n `],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FlowToolbarComponent {\n @Input() ZoomLevel = 100;\n @Input() ShowGrid = true;\n @Input() ShowMinimap = true;\n @Input() ShowLegend = true;\n @Input() ReadOnly = false;\n @Input() PanMode = false;\n\n @Output() ZoomInClicked = new EventEmitter<void>();\n @Output() ZoomOutClicked = new EventEmitter<void>();\n @Output() FitToScreenClicked = new EventEmitter<void>();\n @Output() AutoLayoutClicked = new EventEmitter<void>();\n @Output() GridToggled = new EventEmitter<boolean>();\n @Output() MinimapToggled = new EventEmitter<boolean>();\n @Output() LegendToggled = new EventEmitter<boolean>();\n @Output() PanModeToggled = new EventEmitter<boolean>();\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"flow-editor.module.js","sourceRoot":"","sources":["../../src/lib/flow-editor.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAElE,qBAAqB;AACrB,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAEhF,4BAA4B;AAC5B,OAAO,EAAE,wBAAwB,EAAE,MAAM,4CAA4C,CAAC;AACtF,OAAO,EAAE,6BAA6B,EAAE,MAAM,iDAAiD,CAAC;AAChG,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;;AAkClF,MAAM,OAAO,gBAAgB;0GAAhB,gBAAgB;4DAAhB,gBAAgB;gEAlBzB,YAAY;YACZ,WAAW;YACX,WAAW;YACX,gBAAgB;;iFAeP,gBAAgB;cAhC5B,QAAQ;eAAC;gBACR,YAAY,EAAE;oBACZ,UAAU;oBACV,mBAAmB;oBACnB,iBAAiB;oBACjB,oBAAoB;oBACpB,oBAAoB;oBACpB,sBAAsB;oBACtB,iBAAiB;oBACjB,wBAAwB;oBACxB,6BAA6B;oBAC7B,sBAAsB;iBACvB;gBACD,OAAO,EAAE;oBACP,YAAY;oBACZ,WAAW;oBACX,WAAW;oBACX,gBAAgB;iBACjB;gBACD,OAAO,EAAE;oBACP,6BAA6B;oBAC7B,mBAAmB;oBACnB,iBAAiB;oBACjB,oBAAoB;oBACpB,oBAAoB;oBACpB,sBAAsB;oBACtB,iBAAiB;oBACjB,wBAAwB;oBACxB,6BAA6B;oBAC7B,sBAAsB;iBACvB;aACF;;wFACY,gBAAgB;QA9BzB,UAAU;QACV,mBAAmB;QACnB,iBAAiB;QACjB,oBAAoB;QACpB,oBAAoB;QACpB,sBAAsB;QACtB,iBAAiB;QACjB,wBAAwB;QACxB,6BAA6B;QAC7B,sBAAsB,aAGtB,YAAY;QACZ,WAAW;QACX,WAAW;QACX,gBAAgB;QAGhB,6BAA6B;QAC7B,mBAAmB;QACnB,iBAAiB;QACjB,oBAAoB;QACpB,oBAAoB;QACpB,sBAAsB;QACtB,iBAAiB;QACjB,wBAAwB;QACxB,6BAA6B;QAC7B,sBAAsB"}
1
+ {"version":3,"file":"flow-editor.module.js","sourceRoot":"","sources":["../../src/lib/flow-editor.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAElE,qBAAqB;AACrB,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAEhF,4BAA4B;AAC5B,OAAO,EAAE,wBAAwB,EAAE,MAAM,4CAA4C,CAAC;AACtF,OAAO,EAAE,6BAA6B,EAAE,MAAM,iDAAiD,CAAC;AAChG,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;;AAkClF,MAAM,OAAO,gBAAgB;0GAAhB,gBAAgB;4DAAhB,gBAAgB;gEAlBzB,YAAY;YACZ,WAAW;YACX,WAAW;YACX,gBAAgB;;iFAeP,gBAAgB;cAhC5B,QAAQ;eAAC;gBACR,YAAY,EAAE;oBACZ,UAAU;oBACV,mBAAmB;oBACnB,iBAAiB;oBACjB,oBAAoB;oBACpB,oBAAoB;oBACpB,sBAAsB;oBACtB,iBAAiB;oBACjB,wBAAwB;oBACxB,6BAA6B;oBAC7B,sBAAsB;iBACvB;gBACD,OAAO,EAAE;oBACP,YAAY;oBACZ,WAAW;oBACX,WAAW;oBACX,gBAAgB;iBACjB;gBACD,OAAO,EAAE;oBACP,6BAA6B;oBAC7B,mBAAmB;oBACnB,iBAAiB;oBACjB,oBAAoB;oBACpB,oBAAoB;oBACpB,sBAAsB;oBACtB,iBAAiB;oBACjB,wBAAwB;oBACxB,6BAA6B;oBAC7B,sBAAsB;iBACvB;aACF;;wFACY,gBAAgB;QA9BzB,UAAU;QACV,mBAAmB;QACnB,iBAAiB;QACjB,oBAAoB;QACpB,oBAAoB;QACpB,sBAAsB;QACtB,iBAAiB;QACjB,wBAAwB;QACxB,6BAA6B;QAC7B,sBAAsB,aAGtB,YAAY;QACZ,WAAW;QACX,WAAW;QACX,gBAAgB;QAGhB,6BAA6B;QAC7B,mBAAmB;QACnB,iBAAiB;QACjB,oBAAoB;QACpB,oBAAoB;QACpB,sBAAsB;QACtB,iBAAiB;QACjB,wBAAwB;QACxB,6BAA6B;QAC7B,sBAAsB","sourcesContent":["import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { FFlowModule } from '@foblex/flow';\nimport { CodeEditorModule } from '@memberjunction/ng-code-editor';\n\n// Generic components\nimport { FlowEditorComponent } from './components/flow-editor.component';\nimport { FlowNodeComponent } from './components/flow-node.component';\nimport { FlowPaletteComponent } from './components/flow-palette.component';\nimport { FlowToolbarComponent } from './components/flow-toolbar.component';\nimport { FlowStatusBarComponent } from './components/flow-status-bar.component';\n\n// Agent-specific components\nimport { FlowAgentEditorComponent } from './agent-editor/flow-agent-editor.component';\nimport { AgentPropertiesPanelComponent } from './agent-editor/agent-properties-panel.component';\nimport { AgentStepListComponent } from './agent-editor/agent-step-list.component';\n\n@NgModule({\n declarations: [\n // Generic\n FlowEditorComponent,\n FlowNodeComponent,\n FlowPaletteComponent,\n FlowToolbarComponent,\n FlowStatusBarComponent,\n // Agent-specific\n FlowAgentEditorComponent,\n AgentPropertiesPanelComponent,\n AgentStepListComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n FFlowModule,\n CodeEditorModule\n ],\n exports: [\n // Generic — for any consumer\n FlowEditorComponent,\n FlowNodeComponent,\n FlowPaletteComponent,\n FlowToolbarComponent,\n FlowStatusBarComponent,\n // Agent-specific\n FlowAgentEditorComponent,\n AgentPropertiesPanelComponent,\n AgentStepListComponent\n ]\n})\nexport class FlowEditorModule { }\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"flow-types.js","sourceRoot":"","sources":["../../../src/lib/interfaces/flow-types.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
1
+ {"version":3,"file":"flow-types.js","sourceRoot":"","sources":["../../../src/lib/interfaces/flow-types.ts"],"names":[],"mappings":"AAAA;;;GAGG","sourcesContent":["/**\n * Core interfaces for the generic flow editor.\n * These types are entity-agnostic — consumers map their domain data to/from these.\n */\n\n// ---------------------------------------------------------------------------\n// Node Types\n// ---------------------------------------------------------------------------\n\n/** Position on the canvas */\nexport interface FlowPosition {\n X: number;\n Y: number;\n}\n\n/** Size dimensions */\nexport interface FlowSize {\n Width: number;\n Height: number;\n}\n\n/** A port (connector) on a node */\nexport interface FlowNodePort {\n ID: string;\n Direction: 'input' | 'output';\n Side?: 'left' | 'right' | 'top' | 'bottom' | 'auto';\n Multiple?: boolean;\n Disabled?: boolean;\n Label?: string;\n /** Category string for connection validation (matched against FlowNodePort on targets) */\n Category?: string;\n}\n\n/** A small info badge displayed on a node */\nexport interface FlowNodeBadge {\n Label: string;\n Value: string;\n Icon?: string;\n Color?: string;\n}\n\n/** Visual status of a node */\nexport type FlowNodeStatus = 'default' | 'success' | 'error' | 'warning' | 'running' | 'disabled' | 'pending';\n\n/** A node in the flow graph */\nexport interface FlowNode {\n ID: string;\n Type: string;\n Label: string;\n Subtitle?: string;\n Icon?: string;\n IconColor?: string;\n Status: FlowNodeStatus;\n StatusMessage?: string;\n Badges?: FlowNodeBadge[];\n Position: FlowPosition;\n Size?: FlowSize;\n Ports: FlowNodePort[];\n Collapsed?: boolean;\n Selected?: boolean;\n Locked?: boolean;\n IsStartNode?: boolean;\n /** Opaque data payload — consumers store domain-specific data here */\n Data?: Record<string, unknown>;\n}\n\n// ---------------------------------------------------------------------------\n// Connection Types\n// ---------------------------------------------------------------------------\n\n/** Visual style for a connection line */\nexport type FlowConnectionStyle = 'solid' | 'dashed' | 'dotted';\n\n/** A connection (edge) between two nodes */\nexport interface FlowConnection {\n ID: string;\n SourceNodeID: string;\n SourcePortID: string;\n TargetNodeID: string;\n TargetPortID: string;\n Label?: string;\n LabelDetail?: string;\n /** Font Awesome icon class shown before the label text (e.g., 'fa-check') */\n LabelIcon?: string;\n /** Color for the label icon */\n LabelIconColor?: string;\n Condition?: string;\n Priority?: number;\n Style?: FlowConnectionStyle;\n Color?: string;\n Animated?: boolean;\n Selected?: boolean;\n /** Opaque data payload — consumers store domain-specific data here */\n Data?: Record<string, unknown>;\n}\n\n// ---------------------------------------------------------------------------\n// Node Type Registration (for palette and rendering)\n// ---------------------------------------------------------------------------\n\n/** Configuration for a node type displayed in the palette */\nexport interface FlowNodeTypeConfig {\n /** Unique type identifier (e.g., 'Action', 'Prompt') */\n Type: string;\n /** Display label */\n Label: string;\n /** Font Awesome icon class (e.g., 'fa-bolt') */\n Icon: string;\n /** Hex color for the node header */\n Color: string;\n /** Default ports created when this node type is added */\n DefaultPorts?: FlowNodePort[];\n /** Palette category for grouping (e.g., 'Steps', 'Loops') */\n Category?: string;\n /** Whether this type can be dragged from the palette (default true) */\n Draggable?: boolean;\n /** Maximum number of instances allowed (0 = unlimited, default 0) */\n MaxInstances?: number;\n}\n\n// ---------------------------------------------------------------------------\n// Event Payloads\n// ---------------------------------------------------------------------------\n\n/** Emitted when a new node is added from the palette */\nexport interface FlowNodeAddedEvent {\n Node: FlowNode;\n DropPosition: FlowPosition;\n}\n\n/** Emitted when a node is moved on the canvas */\nexport interface FlowNodeMovedEvent {\n NodeID: string;\n OldPosition: FlowPosition;\n NewPosition: FlowPosition;\n}\n\n/** Emitted when a new connection is drawn */\nexport interface FlowConnectionCreatedEvent {\n SourceNodeID: string;\n SourcePortID: string;\n TargetNodeID: string;\n TargetPortID: string;\n}\n\n/** Emitted when an existing connection is reassigned (endpoint dragged to a different node) */\nexport interface FlowConnectionReassignedEvent {\n ConnectionID: string;\n OldSourceNodeID: string;\n OldSourcePortID: string;\n OldTargetNodeID: string;\n OldTargetPortID: string;\n NewSourceNodeID: string;\n NewSourcePortID: string;\n NewTargetNodeID: string;\n NewTargetPortID: string;\n}\n\n/** Emitted when the selection state changes */\nexport interface FlowSelectionChangedEvent {\n SelectedNodeIDs: string[];\n SelectedConnectionIDs: string[];\n}\n\n/** Emitted when empty canvas is clicked */\nexport interface FlowCanvasClickEvent {\n Position: FlowPosition;\n}\n\n/** Context menu target type */\nexport type FlowContextMenuTarget = 'node' | 'connection';\n\n/** Context menu action */\nexport type FlowContextMenuAction = 'edit' | 'remove';\n\n// ---------------------------------------------------------------------------\n// State Types (for undo/redo)\n// ---------------------------------------------------------------------------\n\n/** A complete snapshot of the flow state */\nexport interface FlowSnapshot {\n Nodes: FlowNode[];\n Connections: FlowConnection[];\n}\n\n// ---------------------------------------------------------------------------\n// Layout Types\n// ---------------------------------------------------------------------------\n\n/** Direction for auto-layout */\nexport type FlowLayoutDirection = 'horizontal' | 'vertical';\n\n/** Result of an auto-layout operation */\nexport interface FlowLayoutResult {\n Positions: Map<string, FlowPosition>;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"flow-layout.service.js","sourceRoot":"","sources":["../../../src/lib/services/flow-layout.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"flow-layout.service.js","sourceRoot":"","sources":["../../../src/lib/services/flow-layout.service.ts"],"names":[],"mappings":"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","sourcesContent":["import { Injectable } from '@angular/core';\nimport { FlowNode, FlowConnection, FlowPosition, FlowLayoutDirection, FlowLayoutResult } from '../interfaces/flow-types';\n\n/**\n * Auto-layout service using dagre for directed graph layout.\n * Calculates optimal node positions for clean flow visualization.\n */\n@Injectable()\nexport class FlowLayoutService {\n private static readonly DEFAULT_NODE_WIDTH = 220;\n private static readonly DEFAULT_NODE_HEIGHT = 100;\n private static readonly NODE_SEPARATION = 60;\n private static readonly RANK_SEPARATION = 100;\n\n /**\n * Calculate optimal positions for all nodes using dagre layout.\n * Returns a map of node ID → new position.\n */\n CalculateLayout(\n nodes: FlowNode[],\n connections: FlowConnection[],\n direction: FlowLayoutDirection = 'vertical'\n ): FlowLayoutResult {\n // Dynamic import dagre to avoid issues if not installed\n let dagre: typeof import('@dagrejs/dagre');\n try {\n dagre = require('@dagrejs/dagre');\n } catch {\n console.warn('FlowLayoutService: @dagrejs/dagre not available, returning current positions');\n return this.currentPositions(nodes);\n }\n\n const graph = new dagre.graphlib.Graph();\n graph.setGraph({\n rankdir: direction === 'horizontal' ? 'LR' : 'TB',\n nodesep: FlowLayoutService.NODE_SEPARATION,\n ranksep: FlowLayoutService.RANK_SEPARATION,\n marginx: 40,\n marginy: 40\n });\n graph.setDefaultEdgeLabel(() => ({}));\n\n // Add nodes\n for (const node of nodes) {\n const width = node.Size?.Width ?? FlowLayoutService.DEFAULT_NODE_WIDTH;\n const height = node.Size?.Height ?? FlowLayoutService.DEFAULT_NODE_HEIGHT;\n graph.setNode(node.ID, { width, height });\n }\n\n // Add edges\n for (const conn of connections) {\n if (graph.hasNode(conn.SourceNodeID) && graph.hasNode(conn.TargetNodeID)) {\n graph.setEdge(conn.SourceNodeID, conn.TargetNodeID);\n }\n }\n\n dagre.layout(graph);\n\n const positions = new Map<string, FlowPosition>();\n for (const node of nodes) {\n const layoutNode = graph.node(node.ID);\n if (layoutNode) {\n // dagre returns center positions; convert to top-left\n const width = node.Size?.Width ?? FlowLayoutService.DEFAULT_NODE_WIDTH;\n const height = node.Size?.Height ?? FlowLayoutService.DEFAULT_NODE_HEIGHT;\n positions.set(node.ID, {\n X: layoutNode.x - width / 2,\n Y: layoutNode.y - height / 2\n });\n }\n }\n\n return { Positions: positions };\n }\n\n private currentPositions(nodes: FlowNode[]): FlowLayoutResult {\n const positions = new Map<string, FlowPosition>();\n for (const node of nodes) {\n positions.set(node.ID, { ...node.Position });\n }\n return { Positions: positions };\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"flow-state.service.js","sourceRoot":"","sources":["../../../src/lib/services/flow-state.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"flow-state.service.js","sourceRoot":"","sources":["../../../src/lib/services/flow-state.service.ts"],"names":[],"mappings":"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","sourcesContent":["import { Injectable } from '@angular/core';\nimport { FlowNode, FlowConnection, FlowSnapshot } from '../interfaces/flow-types';\n\n/**\n * Snapshot-based undo/redo state management for the flow editor.\n * Stores complete state snapshots on each change for reliable undo/redo.\n */\n@Injectable()\nexport class FlowStateService {\n private undoStack: FlowSnapshot[] = [];\n private redoStack: FlowSnapshot[] = [];\n private maxStackSize = 50;\n\n get CanUndo(): boolean {\n return this.undoStack.length > 0;\n }\n\n get CanRedo(): boolean {\n return this.redoStack.length > 0;\n }\n\n get UndoCount(): number {\n return this.undoStack.length;\n }\n\n get RedoCount(): number {\n return this.redoStack.length;\n }\n\n /**\n * Push the current state before making a change.\n * Call this BEFORE modifying nodes/connections so the previous state is saved.\n */\n PushState(nodes: FlowNode[], connections: FlowConnection[]): void {\n const snapshot = this.createSnapshot(nodes, connections);\n this.undoStack.push(snapshot);\n if (this.undoStack.length > this.maxStackSize) {\n this.undoStack.shift();\n }\n // Any new action clears the redo stack\n this.redoStack = [];\n }\n\n /**\n * Undo the last change. Returns the previous state snapshot.\n * The caller must pass the CURRENT state so it can be pushed to redo.\n */\n Undo(currentNodes: FlowNode[], currentConnections: FlowConnection[]): FlowSnapshot | null {\n if (!this.CanUndo) {\n return null;\n }\n // Push current state to redo\n this.redoStack.push(this.createSnapshot(currentNodes, currentConnections));\n // Pop and return previous state\n return this.undoStack.pop()!;\n }\n\n /**\n * Redo the last undone change. Returns the restored state snapshot.\n * The caller must pass the CURRENT state so it can be pushed to undo.\n */\n Redo(currentNodes: FlowNode[], currentConnections: FlowConnection[]): FlowSnapshot | null {\n if (!this.CanRedo) {\n return null;\n }\n // Push current state to undo\n this.undoStack.push(this.createSnapshot(currentNodes, currentConnections));\n // Pop and return redo state\n return this.redoStack.pop()!;\n }\n\n /** Clear all undo/redo history */\n Clear(): void {\n this.undoStack = [];\n this.redoStack = [];\n }\n\n private createSnapshot(nodes: FlowNode[], connections: FlowConnection[]): FlowSnapshot {\n return {\n Nodes: nodes.map(n => this.cloneNode(n)),\n Connections: connections.map(c => ({ ...c, Data: c.Data ? { ...c.Data } : undefined }))\n };\n }\n\n private cloneNode(node: FlowNode): FlowNode {\n return {\n ...node,\n Position: { ...node.Position },\n Size: node.Size ? { ...node.Size } : undefined,\n Ports: node.Ports.map(p => ({ ...p })),\n Badges: node.Badges ? node.Badges.map(b => ({ ...b })) : undefined,\n Data: node.Data ? { ...node.Data } : undefined\n };\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"public-api.js","sourceRoot":"","sources":["../src/public-api.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,SAAS;AACT,cAAc,0BAA0B,CAAC;AAEzC,aAAa;AACb,cAAc,6BAA6B,CAAC;AAE5C,WAAW;AACX,cAAc,mCAAmC,CAAC;AAClD,cAAc,oCAAoC,CAAC;AAEnD,qBAAqB;AACrB,cAAc,wCAAwC,CAAC;AACvD,cAAc,sCAAsC,CAAC;AACrD,cAAc,yCAAyC,CAAC;AACxD,cAAc,yCAAyC,CAAC;AACxD,cAAc,4CAA4C,CAAC;AAE3D,0BAA0B;AAC1B,cAAc,gDAAgD,CAAC;AAC/D,cAAc,qDAAqD,CAAC;AACpE,cAAc,8CAA8C,CAAC;AAC7D,cAAc,mDAAmD,CAAC"}
1
+ {"version":3,"file":"public-api.js","sourceRoot":"","sources":["../src/public-api.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,SAAS;AACT,cAAc,0BAA0B,CAAC;AAEzC,aAAa;AACb,cAAc,6BAA6B,CAAC;AAE5C,WAAW;AACX,cAAc,mCAAmC,CAAC;AAClD,cAAc,oCAAoC,CAAC;AAEnD,qBAAqB;AACrB,cAAc,wCAAwC,CAAC;AACvD,cAAc,sCAAsC,CAAC;AACrD,cAAc,yCAAyC,CAAC;AACxD,cAAc,yCAAyC,CAAC;AACxD,cAAc,4CAA4C,CAAC;AAE3D,0BAA0B;AAC1B,cAAc,gDAAgD,CAAC;AAC/D,cAAc,qDAAqD,CAAC;AACpE,cAAc,8CAA8C,CAAC;AAC7D,cAAc,mDAAmD,CAAC","sourcesContent":["/*\n * Public API Surface of @memberjunction/ng-flow-editor\n */\n\n// Module\nexport * from './lib/flow-editor.module';\n\n// Interfaces\nexport * from './lib/interfaces/flow-types';\n\n// Services\nexport * from './lib/services/flow-state.service';\nexport * from './lib/services/flow-layout.service';\n\n// Generic Components\nexport * from './lib/components/flow-editor.component';\nexport * from './lib/components/flow-node.component';\nexport * from './lib/components/flow-palette.component';\nexport * from './lib/components/flow-toolbar.component';\nexport * from './lib/components/flow-status-bar.component';\n\n// Agent Editor Components\nexport * from './lib/agent-editor/flow-agent-editor.component';\nexport * from './lib/agent-editor/agent-properties-panel.component';\nexport * from './lib/agent-editor/agent-step-list.component';\nexport * from './lib/agent-editor/agent-flow-transformer.service';\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@memberjunction/ng-flow-editor",
3
- "version": "5.3.1",
3
+ "version": "5.4.1",
4
4
  "description": "MemberJunction: Generic visual flow editor component powered by Foblex Flow, with an agent-specific Flow Agent Editor",
5
5
  "main": "./dist/public-api.js",
6
6
  "typings": "./dist/public-api.d.ts",
@@ -42,10 +42,10 @@
42
42
  "@foblex/mediator": "1.1.3",
43
43
  "@foblex/platform": "1.0.4",
44
44
  "@foblex/utils": "1.1.1",
45
- "@memberjunction/core": "5.3.1",
46
- "@memberjunction/core-entities": "5.3.1",
47
- "@memberjunction/global": "5.3.1",
48
- "@memberjunction/ng-code-editor": "5.3.1",
45
+ "@memberjunction/core": "5.4.1",
46
+ "@memberjunction/core-entities": "5.4.1",
47
+ "@memberjunction/global": "5.4.1",
48
+ "@memberjunction/ng-code-editor": "5.4.1",
49
49
  "rxjs": "^7.8.2",
50
50
  "tslib": "^2.8.1"
51
51
  },