@memberjunction/ng-core-entity-forms 2.74.0 → 2.76.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. package/README.md +124 -0
  2. package/dist/lib/custom/AIAgents/FlowAgentType/flow-agent-diagram.component.d.ts +109 -0
  3. package/dist/lib/custom/AIAgents/FlowAgentType/flow-agent-diagram.component.d.ts.map +1 -0
  4. package/dist/lib/custom/AIAgents/FlowAgentType/flow-agent-diagram.component.js +2020 -0
  5. package/dist/lib/custom/AIAgents/FlowAgentType/flow-agent-diagram.component.js.map +1 -0
  6. package/dist/lib/custom/AIAgents/FlowAgentType/flow-agent-form-section.component.d.ts +32 -0
  7. package/dist/lib/custom/AIAgents/FlowAgentType/flow-agent-form-section.component.d.ts.map +1 -0
  8. package/dist/lib/custom/AIAgents/FlowAgentType/flow-agent-form-section.component.js +413 -0
  9. package/dist/lib/custom/AIAgents/FlowAgentType/flow-agent-form-section.component.js.map +1 -0
  10. package/dist/lib/custom/AIAgents/FlowAgentType/step-info-control.component.d.ts +9 -0
  11. package/dist/lib/custom/AIAgents/FlowAgentType/step-info-control.component.d.ts.map +1 -0
  12. package/dist/lib/custom/AIAgents/FlowAgentType/step-info-control.component.js +84 -0
  13. package/dist/lib/custom/AIAgents/FlowAgentType/step-info-control.component.js.map +1 -0
  14. package/dist/lib/custom/AIAgents/ai-agent-form.component.d.ts +34 -6
  15. package/dist/lib/custom/AIAgents/ai-agent-form.component.d.ts.map +1 -1
  16. package/dist/lib/custom/AIAgents/ai-agent-form.component.js +656 -520
  17. package/dist/lib/custom/AIAgents/ai-agent-form.component.js.map +1 -1
  18. package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.d.ts +11 -6
  19. package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.d.ts.map +1 -1
  20. package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.js +459 -448
  21. package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.js.map +1 -1
  22. package/dist/lib/custom/Actions/action-execution-log-form.component.js +51 -49
  23. package/dist/lib/custom/Actions/action-execution-log-form.component.js.map +1 -1
  24. package/dist/lib/custom/Actions/action-test-harness.component.d.ts.map +1 -1
  25. package/dist/lib/custom/Actions/action-test-harness.component.js +5 -3
  26. package/dist/lib/custom/Actions/action-test-harness.component.js.map +1 -1
  27. package/dist/lib/custom/ai-agent-run/ai-agent-run-analytics.component.d.ts +35 -7
  28. package/dist/lib/custom/ai-agent-run/ai-agent-run-analytics.component.d.ts.map +1 -1
  29. package/dist/lib/custom/ai-agent-run/ai-agent-run-analytics.component.js +235 -219
  30. package/dist/lib/custom/ai-agent-run/ai-agent-run-analytics.component.js.map +1 -1
  31. package/dist/lib/custom/ai-agent-run/ai-agent-run-cost.service.d.ts +37 -0
  32. package/dist/lib/custom/ai-agent-run/ai-agent-run-cost.service.d.ts.map +1 -0
  33. package/dist/lib/custom/ai-agent-run/ai-agent-run-cost.service.js +117 -0
  34. package/dist/lib/custom/ai-agent-run/ai-agent-run-cost.service.js.map +1 -0
  35. package/dist/lib/custom/ai-agent-run/ai-agent-run-data.service.d.ts +49 -0
  36. package/dist/lib/custom/ai-agent-run/ai-agent-run-data.service.d.ts.map +1 -0
  37. package/dist/lib/custom/ai-agent-run/ai-agent-run-data.service.js +211 -0
  38. package/dist/lib/custom/ai-agent-run/ai-agent-run-data.service.js.map +1 -0
  39. package/dist/lib/custom/ai-agent-run/ai-agent-run-step-detail.component.d.ts +33 -0
  40. package/dist/lib/custom/ai-agent-run/ai-agent-run-step-detail.component.d.ts.map +1 -0
  41. package/dist/lib/custom/ai-agent-run/ai-agent-run-step-detail.component.js +265 -0
  42. package/dist/lib/custom/ai-agent-run/ai-agent-run-step-detail.component.js.map +1 -0
  43. package/dist/lib/custom/ai-agent-run/ai-agent-run-step-node.component.d.ts.map +1 -1
  44. package/dist/lib/custom/ai-agent-run/ai-agent-run-step-node.component.js +0 -8
  45. package/dist/lib/custom/ai-agent-run/ai-agent-run-step-node.component.js.map +1 -1
  46. package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.d.ts +4 -8
  47. package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.d.ts.map +1 -1
  48. package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.js +47 -189
  49. package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.js.map +1 -1
  50. package/dist/lib/custom/ai-agent-run/ai-agent-run-visualization.component.d.ts +71 -0
  51. package/dist/lib/custom/ai-agent-run/ai-agent-run-visualization.component.d.ts.map +1 -0
  52. package/dist/lib/custom/ai-agent-run/ai-agent-run-visualization.component.js +931 -0
  53. package/dist/lib/custom/ai-agent-run/ai-agent-run-visualization.component.js.map +1 -0
  54. package/dist/lib/custom/ai-agent-run/ai-agent-run.component.d.ts +10 -4
  55. package/dist/lib/custom/ai-agent-run/ai-agent-run.component.d.ts.map +1 -1
  56. package/dist/lib/custom/ai-agent-run/ai-agent-run.component.js +257 -295
  57. package/dist/lib/custom/ai-agent-run/ai-agent-run.component.js.map +1 -1
  58. package/dist/lib/custom/custom-forms.module.d.ts +30 -25
  59. package/dist/lib/custom/custom-forms.module.d.ts.map +1 -1
  60. package/dist/lib/custom/custom-forms.module.js +31 -4
  61. package/dist/lib/custom/custom-forms.module.js.map +1 -1
  62. package/dist/lib/generated/Entities/AIAgent/aiagent.form.component.js +34 -14
  63. package/dist/lib/generated/Entities/AIAgent/aiagent.form.component.js.map +1 -1
  64. package/dist/lib/generated/Entities/AIAgentStep/aiagentstep.form.component.d.ts +10 -0
  65. package/dist/lib/generated/Entities/AIAgentStep/aiagentstep.form.component.d.ts.map +1 -0
  66. package/dist/lib/generated/Entities/AIAgentStep/aiagentstep.form.component.js +80 -0
  67. package/dist/lib/generated/Entities/AIAgentStep/aiagentstep.form.component.js.map +1 -0
  68. package/dist/lib/generated/Entities/AIAgentStep/sections/details.component.d.ts +11 -0
  69. package/dist/lib/generated/Entities/AIAgentStep/sections/details.component.d.ts.map +1 -0
  70. package/dist/lib/generated/Entities/AIAgentStep/sections/details.component.js +277 -0
  71. package/dist/lib/generated/Entities/AIAgentStep/sections/details.component.js.map +1 -0
  72. package/dist/lib/generated/Entities/AIAgentStepPath/aiagentsteppath.form.component.d.ts +10 -0
  73. package/dist/lib/generated/Entities/AIAgentStepPath/aiagentsteppath.form.component.d.ts.map +1 -0
  74. package/dist/lib/generated/Entities/AIAgentStepPath/aiagentsteppath.form.component.js +59 -0
  75. package/dist/lib/generated/Entities/AIAgentStepPath/aiagentsteppath.form.component.js.map +1 -0
  76. package/dist/lib/generated/Entities/AIAgentStepPath/sections/details.component.d.ts +11 -0
  77. package/dist/lib/generated/Entities/AIAgentStepPath/sections/details.component.d.ts.map +1 -0
  78. package/dist/lib/generated/Entities/AIAgentStepPath/sections/details.component.js +147 -0
  79. package/dist/lib/generated/Entities/AIAgentStepPath/sections/details.component.js.map +1 -0
  80. package/dist/lib/generated/Entities/AIAgentType/sections/details.component.d.ts.map +1 -1
  81. package/dist/lib/generated/Entities/AIAgentType/sections/details.component.js +31 -4
  82. package/dist/lib/generated/Entities/AIAgentType/sections/details.component.js.map +1 -1
  83. package/dist/lib/generated/Entities/AIPrompt/aiprompt.form.component.js +16 -6
  84. package/dist/lib/generated/Entities/AIPrompt/aiprompt.form.component.js.map +1 -1
  85. package/dist/lib/generated/Entities/AIPromptRun/sections/details.component.d.ts.map +1 -1
  86. package/dist/lib/generated/Entities/AIPromptRun/sections/details.component.js +15 -4
  87. package/dist/lib/generated/Entities/AIPromptRun/sections/details.component.js.map +1 -1
  88. package/dist/lib/generated/Entities/Action/action.form.component.js +19 -9
  89. package/dist/lib/generated/Entities/Action/action.form.component.js.map +1 -1
  90. package/dist/lib/generated/generated-forms.module.d.ts +294 -285
  91. package/dist/lib/generated/generated-forms.module.d.ts.map +1 -1
  92. package/dist/lib/generated/generated-forms.module.js +183 -110
  93. package/dist/lib/generated/generated-forms.module.js.map +1 -1
  94. package/dist/public-api.d.ts +2 -0
  95. package/dist/public-api.d.ts.map +1 -1
  96. package/dist/public-api.js +3 -0
  97. package/dist/public-api.js.map +1 -1
  98. package/package.json +21 -17
@@ -0,0 +1,211 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { BehaviorSubject } from 'rxjs';
3
+ import { RunView } from '@memberjunction/core';
4
+ import * as i0 from "@angular/core";
5
+ export class AIAgentRunDataService {
6
+ constructor() {
7
+ // Data subjects
8
+ this.stepsSubject$ = new BehaviorSubject([]);
9
+ this.subRunsSubject$ = new BehaviorSubject([]);
10
+ this.actionLogsSubject$ = new BehaviorSubject([]);
11
+ this.promptRunsSubject$ = new BehaviorSubject([]);
12
+ this.loadingSubject$ = new BehaviorSubject(false);
13
+ this.errorSubject$ = new BehaviorSubject(null);
14
+ // Public observables
15
+ this.steps$ = this.stepsSubject$.asObservable();
16
+ this.subRuns$ = this.subRunsSubject$.asObservable();
17
+ this.actionLogs$ = this.actionLogsSubject$.asObservable();
18
+ this.promptRuns$ = this.promptRunsSubject$.asObservable();
19
+ this.loading$ = this.loadingSubject$.asObservable();
20
+ this.error$ = this.errorSubject$.asObservable();
21
+ // Cache for sub-agent data
22
+ this.subAgentDataCache = new Map();
23
+ this.currentAgentRunId = null;
24
+ }
25
+ /**
26
+ * Load all data for an agent run
27
+ */
28
+ async loadAgentRunData(agentRunId) {
29
+ if (!agentRunId) {
30
+ this.errorSubject$.next('No agent run ID provided');
31
+ return;
32
+ }
33
+ // If already loaded for this run, don't reload
34
+ if (this.currentAgentRunId === agentRunId && this.stepsSubject$.value.length > 0) {
35
+ console.log('AgentRunDataService: Data already loaded for', agentRunId);
36
+ return;
37
+ }
38
+ this.currentAgentRunId = agentRunId;
39
+ this.loadingSubject$.next(true);
40
+ this.errorSubject$.next(null);
41
+ // Clear cache when loading new run
42
+ this.subAgentDataCache.clear();
43
+ try {
44
+ await this.loadStepsAndSubRuns(agentRunId);
45
+ }
46
+ catch (error) {
47
+ this.errorSubject$.next('Failed to load agent run data');
48
+ console.error('Error loading agent run data:', error);
49
+ }
50
+ finally {
51
+ this.loadingSubject$.next(false);
52
+ }
53
+ }
54
+ async loadStepsAndSubRuns(agentRunId) {
55
+ const rv = new RunView();
56
+ // First, get all steps to determine what additional data we need
57
+ const stepsResult = await rv.RunView({
58
+ EntityName: 'MJ: AI Agent Run Steps',
59
+ ExtraFilter: `AgentRunID='${agentRunId}'`,
60
+ OrderBy: 'StepNumber'
61
+ });
62
+ if (!stepsResult.Success) {
63
+ throw new Error('Failed to load agent run steps');
64
+ }
65
+ const steps = stepsResult.Results || [];
66
+ // Build filters for batch loading
67
+ const actionLogIds = steps
68
+ .filter(s => s.StepType === 'Actions' && s.TargetLogID)
69
+ .map(s => s.TargetLogID)
70
+ .filter(id => id != null);
71
+ const promptRunIds = steps
72
+ .filter(s => s.StepType === 'Prompt' && s.TargetLogID)
73
+ .map(s => s.TargetLogID)
74
+ .filter(id => id != null);
75
+ // Build batch queries array
76
+ const batchQueries = [
77
+ // Sub-runs query
78
+ {
79
+ EntityName: 'MJ: AI Agent Runs',
80
+ ExtraFilter: `ParentRunID='${agentRunId}'`,
81
+ OrderBy: 'StartedAt'
82
+ },
83
+ // Current run query
84
+ {
85
+ EntityName: 'MJ: AI Agent Runs',
86
+ ExtraFilter: `ID='${agentRunId}'`
87
+ }
88
+ ];
89
+ // Add action logs query if needed
90
+ if (actionLogIds.length > 0) {
91
+ batchQueries.push({
92
+ EntityName: 'Action Execution Logs',
93
+ ExtraFilter: `ID IN ('${actionLogIds.join("','")}')`,
94
+ OrderBy: 'StartedAt'
95
+ });
96
+ }
97
+ // Add prompt runs query if needed
98
+ if (promptRunIds.length > 0) {
99
+ batchQueries.push({
100
+ EntityName: 'MJ: AI Prompt Runs',
101
+ ExtraFilter: `ID IN ('${promptRunIds.join("','")}')`,
102
+ OrderBy: '__mj_CreatedAt'
103
+ });
104
+ }
105
+ // Execute all queries in one batch
106
+ const batchResults = await rv.RunViews(batchQueries);
107
+ // Process results
108
+ let resultIndex = 0;
109
+ // Sub-runs
110
+ const subRuns = batchResults[resultIndex].Success
111
+ ? (batchResults[resultIndex].Results || [])
112
+ : [];
113
+ resultIndex++;
114
+ // Skip current run result
115
+ resultIndex++;
116
+ // Action logs
117
+ const actionLogs = actionLogIds.length > 0 && batchResults[resultIndex]?.Success
118
+ ? (batchResults[resultIndex].Results || [])
119
+ : [];
120
+ if (actionLogIds.length > 0)
121
+ resultIndex++;
122
+ // Prompt runs
123
+ const promptRuns = promptRunIds.length > 0 && batchResults[resultIndex]?.Success
124
+ ? (batchResults[resultIndex].Results || [])
125
+ : [];
126
+ // Update all subjects
127
+ this.stepsSubject$.next(steps);
128
+ this.subRunsSubject$.next(subRuns);
129
+ this.actionLogsSubject$.next(actionLogs);
130
+ this.promptRunsSubject$.next(promptRuns);
131
+ console.log('AgentRunDataService: Data loaded', {
132
+ steps: steps.length,
133
+ subRuns: subRuns.length,
134
+ actionLogs: actionLogs.length,
135
+ promptRuns: promptRuns.length
136
+ });
137
+ }
138
+ /**
139
+ * Load sub-agent data (for expanding sub-agent nodes)
140
+ */
141
+ async loadSubAgentData(subAgentRunId) {
142
+ // Check cache first
143
+ const cachedData = this.subAgentDataCache.get(subAgentRunId);
144
+ if (cachedData) {
145
+ return cachedData;
146
+ }
147
+ const rv = new RunView();
148
+ // Load steps first to determine what else we need
149
+ const stepsResult = await rv.RunView({
150
+ EntityName: 'MJ: AI Agent Run Steps',
151
+ ExtraFilter: `AgentRunID = '${subAgentRunId}'`,
152
+ OrderBy: 'StepNumber'
153
+ });
154
+ if (!stepsResult.Success || !stepsResult.Results) {
155
+ return { steps: [], promptRuns: [] };
156
+ }
157
+ const steps = stepsResult.Results;
158
+ // Get prompt run IDs
159
+ const promptRunIds = steps
160
+ .filter(s => s.StepType === 'Prompt' && s.TargetLogID)
161
+ .map(s => s.TargetLogID)
162
+ .filter(id => id != null);
163
+ let promptRuns = [];
164
+ // Load prompt runs if needed
165
+ if (promptRunIds.length > 0) {
166
+ const promptResult = await rv.RunView({
167
+ EntityName: 'MJ: AI Prompt Runs',
168
+ ExtraFilter: `ID IN ('${promptRunIds.join("','")}')`,
169
+ OrderBy: '__mj_CreatedAt'
170
+ });
171
+ if (promptResult.Success) {
172
+ promptRuns = promptResult.Results || [];
173
+ }
174
+ }
175
+ // Cache the data
176
+ const data = { steps, promptRuns };
177
+ this.subAgentDataCache.set(subAgentRunId, data);
178
+ return data;
179
+ }
180
+ /**
181
+ * Clear all data
182
+ */
183
+ clearData() {
184
+ this.stepsSubject$.next([]);
185
+ this.subRunsSubject$.next([]);
186
+ this.actionLogsSubject$.next([]);
187
+ this.promptRunsSubject$.next([]);
188
+ this.subAgentDataCache.clear();
189
+ this.currentAgentRunId = null;
190
+ }
191
+ /**
192
+ * Get current data snapshot
193
+ */
194
+ getCurrentData() {
195
+ return {
196
+ steps: this.stepsSubject$.value,
197
+ subRuns: this.subRunsSubject$.value,
198
+ actionLogs: this.actionLogsSubject$.value,
199
+ promptRuns: this.promptRunsSubject$.value
200
+ };
201
+ }
202
+ static { this.ɵfac = function AIAgentRunDataService_Factory(t) { return new (t || AIAgentRunDataService)(); }; }
203
+ static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: AIAgentRunDataService, factory: AIAgentRunDataService.ɵfac, providedIn: 'root' }); }
204
+ }
205
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AIAgentRunDataService, [{
206
+ type: Injectable,
207
+ args: [{
208
+ providedIn: 'root'
209
+ }]
210
+ }], () => [], null); })();
211
+ //# sourceMappingURL=ai-agent-run-data.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-agent-run-data.service.js","sourceRoot":"","sources":["../../../../src/lib/custom/ai-agent-run/ai-agent-run-data.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ import { EventEmitter, ChangeDetectorRef } from '@angular/core';
2
+ import { TimelineItem } from './ai-agent-run-timeline.component';
3
+ import * as i0 from "@angular/core";
4
+ export declare class AIAgentRunStepDetailComponent {
5
+ private cdr;
6
+ selectedTimelineItem: TimelineItem | null;
7
+ closePanel: EventEmitter<void>;
8
+ navigateToActionLog: EventEmitter<string>;
9
+ copyToClipboard: EventEmitter<string>;
10
+ selectedItemJsonString: string;
11
+ detailPaneTab: 'json' | 'diff';
12
+ constructor(cdr: ChangeDetectorRef);
13
+ ngOnChanges(): void;
14
+ getSelectedItemJson(): string;
15
+ /**
16
+ * Check if selected timeline item is a step with payload changes
17
+ */
18
+ get showStepPayloadDiff(): boolean;
19
+ /**
20
+ * Get parsed PayloadAtStart for the selected step
21
+ */
22
+ get stepPayloadAtStartObject(): any;
23
+ /**
24
+ * Get parsed PayloadAtEnd for the selected step
25
+ */
26
+ get stepPayloadAtEndObject(): any;
27
+ onClosePanel(): void;
28
+ onNavigateToActionLog(logId: string): void;
29
+ onCopyToClipboard(): void;
30
+ static ɵfac: i0.ɵɵFactoryDeclaration<AIAgentRunStepDetailComponent, never>;
31
+ static ɵcmp: i0.ɵɵComponentDeclaration<AIAgentRunStepDetailComponent, "mj-ai-agent-run-step-detail", never, { "selectedTimelineItem": { "alias": "selectedTimelineItem"; "required": false; }; }, { "closePanel": "closePanel"; "navigateToActionLog": "navigateToActionLog"; "copyToClipboard": "copyToClipboard"; }, never, never, false, never>;
32
+ }
33
+ //# sourceMappingURL=ai-agent-run-step-detail.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-agent-run-step-detail.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/custom/ai-agent-run/ai-agent-run-step-detail.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,YAAY,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAC1F,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;;AAIjE,qBAKa,6BAA6B;IAS5B,OAAO,CAAC,GAAG;IARd,oBAAoB,EAAE,YAAY,GAAG,IAAI,CAAQ;IAChD,UAAU,qBAA4B;IACtC,mBAAmB,uBAA8B;IACjD,eAAe,uBAA8B;IAEvD,sBAAsB,SAAQ;IAC9B,aAAa,EAAE,MAAM,GAAG,MAAM,CAAU;gBAEpB,GAAG,EAAE,iBAAiB;IAE1C,WAAW;IASX,mBAAmB,IAAI,MAAM;IAuB7B;;OAEG;IACH,IAAI,mBAAmB,IAAI,OAAO,CAYjC;IAED;;OAEG;IACH,IAAI,wBAAwB,IAAI,GAAG,CA4BlC;IAED;;OAEG;IACH,IAAI,sBAAsB,IAAI,GAAG,CA4BhC;IAED,YAAY;IAIZ,qBAAqB,CAAC,KAAK,EAAE,MAAM;IAInC,iBAAiB;yCAtIN,6BAA6B;2CAA7B,6BAA6B;CAyIzC"}
@@ -0,0 +1,265 @@
1
+ import { Component, Input, Output, EventEmitter } from '@angular/core';
2
+ import { AIAgentRunStepEntity } from '@memberjunction/core-entities';
3
+ import { ParseJSONRecursive } from '@memberjunction/global';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common";
6
+ import * as i2 from "@angular/forms";
7
+ import * as i3 from "@memberjunction/ng-code-editor";
8
+ import * as i4 from "@memberjunction/ng-deep-diff";
9
+ function AIAgentRunStepDetailComponent_div_0_div_24_Template(rf, ctx) { if (rf & 1) {
10
+ const _r3 = i0.ɵɵgetCurrentView();
11
+ i0.ɵɵelementStart(0, "div", 15)(1, "button", 16);
12
+ i0.ɵɵlistener("click", function AIAgentRunStepDetailComponent_div_0_div_24_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onNavigateToActionLog(ctx_r1.selectedTimelineItem.data.ID)); });
13
+ i0.ɵɵelement(2, "i", 17);
14
+ i0.ɵɵtext(3, " View Action Execution Log ");
15
+ i0.ɵɵelementEnd()();
16
+ } }
17
+ function AIAgentRunStepDetailComponent_div_0_Conditional_25_Template(rf, ctx) { if (rf & 1) {
18
+ const _r4 = i0.ɵɵgetCurrentView();
19
+ i0.ɵɵelementStart(0, "div", 11)(1, "button", 18);
20
+ i0.ɵɵlistener("click", function AIAgentRunStepDetailComponent_div_0_Conditional_25_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.detailPaneTab = "diff"); });
21
+ i0.ɵɵelement(2, "i", 19);
22
+ i0.ɵɵtext(3, " Payload Changes ");
23
+ i0.ɵɵelementEnd();
24
+ i0.ɵɵelementStart(4, "button", 18);
25
+ i0.ɵɵlistener("click", function AIAgentRunStepDetailComponent_div_0_Conditional_25_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.detailPaneTab = "json"); });
26
+ i0.ɵɵelement(5, "i", 20);
27
+ i0.ɵɵtext(6, " Full JSON ");
28
+ i0.ɵɵelementEnd()();
29
+ } if (rf & 2) {
30
+ const ctx_r1 = i0.ɵɵnextContext(2);
31
+ i0.ɵɵadvance();
32
+ i0.ɵɵclassProp("active", ctx_r1.detailPaneTab === "diff");
33
+ i0.ɵɵadvance(3);
34
+ i0.ɵɵclassProp("active", ctx_r1.detailPaneTab === "json");
35
+ } }
36
+ function AIAgentRunStepDetailComponent_div_0_Conditional_27_Template(rf, ctx) { if (rf & 1) {
37
+ i0.ɵɵelementStart(0, "div", 13);
38
+ i0.ɵɵelement(1, "mj-deep-diff", 21);
39
+ i0.ɵɵelementEnd();
40
+ } if (rf & 2) {
41
+ const ctx_r1 = i0.ɵɵnextContext(2);
42
+ i0.ɵɵadvance();
43
+ i0.ɵɵproperty("oldValue", ctx_r1.stepPayloadAtStartObject)("newValue", ctx_r1.stepPayloadAtEndObject)("title", "")("showSummary", true)("showUnchanged", false)("expandAll", false)("maxDepth", 8)("maxStringLength", 150)("treatNullAsUndefined", true);
44
+ } }
45
+ function AIAgentRunStepDetailComponent_div_0_Conditional_28_Template(rf, ctx) { if (rf & 1) {
46
+ const _r5 = i0.ɵɵgetCurrentView();
47
+ i0.ɵɵelementStart(0, "div", 14)(1, "div", 22)(2, "button", 23);
48
+ i0.ɵɵlistener("click", function AIAgentRunStepDetailComponent_div_0_Conditional_28_Template_button_click_2_listener() { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onCopyToClipboard()); });
49
+ i0.ɵɵelement(3, "i", 24);
50
+ i0.ɵɵelementEnd()();
51
+ i0.ɵɵelementStart(4, "mj-code-editor", 25);
52
+ i0.ɵɵtwoWayListener("ngModelChange", function AIAgentRunStepDetailComponent_div_0_Conditional_28_Template_mj_code_editor_ngModelChange_4_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(2); i0.ɵɵtwoWayBindingSet(ctx_r1.selectedItemJsonString, $event) || (ctx_r1.selectedItemJsonString = $event); return i0.ɵɵresetView($event); });
53
+ i0.ɵɵelementEnd()();
54
+ } if (rf & 2) {
55
+ const ctx_r1 = i0.ɵɵnextContext(2);
56
+ i0.ɵɵadvance(4);
57
+ i0.ɵɵtwoWayProperty("ngModel", ctx_r1.selectedItemJsonString);
58
+ i0.ɵɵproperty("language", "json")("readonly", true);
59
+ } }
60
+ function AIAgentRunStepDetailComponent_div_0_Template(rf, ctx) { if (rf & 1) {
61
+ const _r1 = i0.ɵɵgetCurrentView();
62
+ i0.ɵɵelementStart(0, "div", 1)(1, "div", 2)(2, "h3");
63
+ i0.ɵɵelement(3, "i", 3);
64
+ i0.ɵɵtext(4);
65
+ i0.ɵɵelementEnd();
66
+ i0.ɵɵelementStart(5, "button", 4);
67
+ i0.ɵɵlistener("click", function AIAgentRunStepDetailComponent_div_0_Template_button_click_5_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onClosePanel()); });
68
+ i0.ɵɵelement(6, "i", 5);
69
+ i0.ɵɵelementEnd()();
70
+ i0.ɵɵelementStart(7, "div", 6)(8, "div", 7)(9, "div", 8)(10, "label");
71
+ i0.ɵɵtext(11, "Type");
72
+ i0.ɵɵelementEnd();
73
+ i0.ɵɵelementStart(12, "span");
74
+ i0.ɵɵtext(13);
75
+ i0.ɵɵelementEnd()();
76
+ i0.ɵɵelementStart(14, "div", 8)(15, "label");
77
+ i0.ɵɵtext(16, "Status");
78
+ i0.ɵɵelementEnd();
79
+ i0.ɵɵelementStart(17, "span", 9);
80
+ i0.ɵɵtext(18);
81
+ i0.ɵɵelementEnd()();
82
+ i0.ɵɵelementStart(19, "div", 8)(20, "label");
83
+ i0.ɵɵtext(21, "Duration");
84
+ i0.ɵɵelementEnd();
85
+ i0.ɵɵelementStart(22, "span");
86
+ i0.ɵɵtext(23);
87
+ i0.ɵɵelementEnd()()();
88
+ i0.ɵɵtemplate(24, AIAgentRunStepDetailComponent_div_0_div_24_Template, 4, 0, "div", 10)(25, AIAgentRunStepDetailComponent_div_0_Conditional_25_Template, 7, 4, "div", 11);
89
+ i0.ɵɵelementStart(26, "div", 12);
90
+ i0.ɵɵtemplate(27, AIAgentRunStepDetailComponent_div_0_Conditional_27_Template, 2, 9, "div", 13)(28, AIAgentRunStepDetailComponent_div_0_Conditional_28_Template, 5, 3, "div", 14);
91
+ i0.ɵɵelementEnd()()();
92
+ } if (rf & 2) {
93
+ const ctx_r1 = i0.ɵɵnextContext();
94
+ i0.ɵɵadvance(3);
95
+ i0.ɵɵproperty("ngClass", ctx_r1.selectedTimelineItem.icon);
96
+ i0.ɵɵadvance();
97
+ i0.ɵɵtextInterpolate1(" ", ctx_r1.selectedTimelineItem.title, " ");
98
+ i0.ɵɵadvance(9);
99
+ i0.ɵɵtextInterpolate(ctx_r1.selectedTimelineItem.type);
100
+ i0.ɵɵadvance(4);
101
+ i0.ɵɵattribute("data-status", ctx_r1.selectedTimelineItem.status);
102
+ i0.ɵɵadvance();
103
+ i0.ɵɵtextInterpolate1(" ", ctx_r1.selectedTimelineItem.status, " ");
104
+ i0.ɵɵadvance(5);
105
+ i0.ɵɵtextInterpolate(ctx_r1.selectedTimelineItem.duration || "N/A");
106
+ i0.ɵɵadvance();
107
+ i0.ɵɵproperty("ngIf", ctx_r1.selectedTimelineItem.type === "action" && (ctx_r1.selectedTimelineItem.data == null ? null : ctx_r1.selectedTimelineItem.data.ID));
108
+ i0.ɵɵadvance();
109
+ i0.ɵɵconditional(ctx_r1.showStepPayloadDiff ? 25 : -1);
110
+ i0.ɵɵadvance();
111
+ i0.ɵɵclassProp("with-tabs", ctx_r1.showStepPayloadDiff);
112
+ i0.ɵɵadvance();
113
+ i0.ɵɵconditional(ctx_r1.detailPaneTab === "diff" && ctx_r1.showStepPayloadDiff ? 27 : -1);
114
+ i0.ɵɵadvance();
115
+ i0.ɵɵconditional(ctx_r1.detailPaneTab === "json" || !ctx_r1.showStepPayloadDiff ? 28 : -1);
116
+ } }
117
+ export class AIAgentRunStepDetailComponent {
118
+ constructor(cdr) {
119
+ this.cdr = cdr;
120
+ this.selectedTimelineItem = null;
121
+ this.closePanel = new EventEmitter();
122
+ this.navigateToActionLog = new EventEmitter();
123
+ this.copyToClipboard = new EventEmitter();
124
+ this.selectedItemJsonString = '{}';
125
+ this.detailPaneTab = 'diff';
126
+ }
127
+ ngOnChanges() {
128
+ if (this.selectedTimelineItem) {
129
+ this.selectedItemJsonString = this.getSelectedItemJson();
130
+ // Default to diff tab if step has payload diff, otherwise json tab
131
+ this.detailPaneTab = this.showStepPayloadDiff ? 'diff' : 'json';
132
+ this.cdr.detectChanges();
133
+ }
134
+ }
135
+ getSelectedItemJson() {
136
+ if (!this.selectedTimelineItem)
137
+ return '{}';
138
+ // Get all the data from the entity
139
+ let data;
140
+ if (this.selectedTimelineItem.data instanceof AIAgentRunStepEntity) {
141
+ // If it's a step entity, we need to get the full run data
142
+ data = this.selectedTimelineItem.data.GetAll();
143
+ }
144
+ else {
145
+ data = this.selectedTimelineItem.data;
146
+ }
147
+ // Apply recursive JSON parsing to the entire data object
148
+ const parseOptions = {
149
+ extractInlineJson: true,
150
+ maxDepth: 100,
151
+ debug: false
152
+ };
153
+ const parsedData = ParseJSONRecursive(data, parseOptions);
154
+ return JSON.stringify(parsedData, null, 2);
155
+ }
156
+ /**
157
+ * Check if selected timeline item is a step with payload changes
158
+ */
159
+ get showStepPayloadDiff() {
160
+ if (!this.selectedTimelineItem || this.selectedTimelineItem.type !== 'step') {
161
+ return false;
162
+ }
163
+ const stepData = this.selectedTimelineItem.data;
164
+ if (stepData && (stepData.PayloadAtStart?.trim().length > 0
165
+ || stepData.PayloadAtEnd?.trim().length > 0)) {
166
+ return stepData.PayloadAtStart !== stepData.PayloadAtEnd;
167
+ }
168
+ else {
169
+ return false;
170
+ }
171
+ }
172
+ /**
173
+ * Get parsed PayloadAtStart for the selected step
174
+ */
175
+ get stepPayloadAtStartObject() {
176
+ if (!this.selectedTimelineItem || this.selectedTimelineItem.type !== 'step') {
177
+ return null;
178
+ }
179
+ const stepData = this.selectedTimelineItem.data;
180
+ if (!stepData?.PayloadAtStart)
181
+ return null;
182
+ try {
183
+ // First, check if PayloadAtStart is a JSON string that needs to be parsed
184
+ let payloadData = stepData.PayloadAtStart;
185
+ try {
186
+ // If PayloadAtStart is a JSON string, parse it first
187
+ payloadData = JSON.parse(stepData.PayloadAtStart);
188
+ }
189
+ catch {
190
+ // If it's not valid JSON, use it as-is
191
+ payloadData = stepData.PayloadAtStart;
192
+ }
193
+ const parseOptions = {
194
+ extractInlineJson: true,
195
+ maxDepth: 100,
196
+ debug: false
197
+ };
198
+ return ParseJSONRecursive(payloadData, parseOptions);
199
+ }
200
+ catch (e) {
201
+ return null;
202
+ }
203
+ }
204
+ /**
205
+ * Get parsed PayloadAtEnd for the selected step
206
+ */
207
+ get stepPayloadAtEndObject() {
208
+ if (!this.selectedTimelineItem || this.selectedTimelineItem.type !== 'step') {
209
+ return null;
210
+ }
211
+ const stepData = this.selectedTimelineItem.data;
212
+ if (!stepData?.PayloadAtEnd)
213
+ return null;
214
+ try {
215
+ // First, check if PayloadAtEnd is a JSON string that needs to be parsed
216
+ let payloadData = stepData.PayloadAtEnd;
217
+ try {
218
+ // If PayloadAtEnd is a JSON string, parse it first
219
+ payloadData = JSON.parse(stepData.PayloadAtEnd);
220
+ }
221
+ catch {
222
+ // If it's not valid JSON, use it as-is
223
+ payloadData = stepData.PayloadAtEnd;
224
+ }
225
+ const parseOptions = {
226
+ extractInlineJson: true,
227
+ maxDepth: 100,
228
+ debug: false
229
+ };
230
+ return ParseJSONRecursive(payloadData, parseOptions);
231
+ }
232
+ catch (e) {
233
+ return null;
234
+ }
235
+ }
236
+ onClosePanel() {
237
+ this.closePanel.emit();
238
+ }
239
+ onNavigateToActionLog(logId) {
240
+ this.navigateToActionLog.emit(logId);
241
+ }
242
+ onCopyToClipboard() {
243
+ this.copyToClipboard.emit(this.getSelectedItemJson());
244
+ }
245
+ static { this.ɵfac = function AIAgentRunStepDetailComponent_Factory(t) { return new (t || AIAgentRunStepDetailComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); }; }
246
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AIAgentRunStepDetailComponent, selectors: [["mj-ai-agent-run-step-detail"]], inputs: { selectedTimelineItem: "selectedTimelineItem" }, outputs: { closePanel: "closePanel", navigateToActionLog: "navigateToActionLog", copyToClipboard: "copyToClipboard" }, features: [i0.ɵɵNgOnChangesFeature], decls: 1, vars: 1, consts: [["class", "json-detail-pane", 4, "ngIf"], [1, "json-detail-pane"], [1, "json-pane-header"], [1, "fas", 3, "ngClass"], ["title", "Close", 1, "btn-icon", 3, "click"], [1, "fas", "fa-times"], [1, "json-pane-content"], [1, "json-meta"], [1, "meta-item"], [1, "status-badge", "small"], ["class", "action-link", 4, "ngIf"], [1, "detail-pane-tabs"], [1, "detail-pane-content"], [1, "step-payload-diff"], [1, "json-viewer"], [1, "action-link"], [1, "btn-link", 3, "click"], [1, "fas", "fa-external-link-alt"], [1, "detail-tab", 3, "click"], [1, "fa-solid", "fa-code-branch"], [1, "fa-solid", "fa-code"], [3, "oldValue", "newValue", "title", "showSummary", "showUnchanged", "expandAll", "maxDepth", "maxStringLength", "treatNullAsUndefined"], [1, "json-toolbar"], ["title", "Copy JSON", 1, "btn-icon", 3, "click"], [1, "fas", "fa-copy"], [2, "height", "calc(100% - 40px)", "width", "100%", 3, "ngModelChange", "ngModel", "language", "readonly"]], template: function AIAgentRunStepDetailComponent_Template(rf, ctx) { if (rf & 1) {
247
+ i0.ɵɵtemplate(0, AIAgentRunStepDetailComponent_div_0_Template, 29, 12, "div", 0);
248
+ } if (rf & 2) {
249
+ i0.ɵɵproperty("ngIf", ctx.selectedTimelineItem);
250
+ } }, dependencies: [i1.NgClass, i1.NgIf, i2.NgControlStatus, i2.NgModel, i3.CodeEditorComponent, i4.DeepDiffComponent], styles: [".json-detail-pane[_ngcontent-%COMP%] {\n height: 100%;\n display: flex;\n flex-direction: column;\n background: white;\n border-left: 1px solid #e0e6ed;\n}\n\n.json-pane-header[_ngcontent-%COMP%] {\n padding: 16px;\n border-bottom: 1px solid #e0e6ed;\n display: flex;\n justify-content: space-between;\n align-items: center;\n background: #f8f9fa;\n}\n\n.json-pane-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 16px;\n font-weight: 600;\n color: #2c3e50;\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.btn-icon[_ngcontent-%COMP%] {\n background: none;\n border: none;\n padding: 4px 8px;\n cursor: pointer;\n color: #6c757d;\n border-radius: 4px;\n transition: all 0.2s;\n}\n\n.btn-icon[_ngcontent-%COMP%]:hover {\n background: rgba(0, 0, 0, 0.05);\n color: #495057;\n}\n\n.json-pane-content[_ngcontent-%COMP%] {\n flex: 1;\n overflow-y: auto;\n display: flex;\n flex-direction: column;\n}\n\n.json-meta[_ngcontent-%COMP%] {\n padding: 16px;\n display: flex;\n gap: 24px;\n border-bottom: 1px solid #e0e6ed;\n}\n\n.meta-item[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.meta-item[_ngcontent-%COMP%] label[_ngcontent-%COMP%] {\n font-size: 11px;\n text-transform: uppercase;\n color: #6c757d;\n font-weight: 600;\n}\n\n.meta-item[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n font-size: 13px;\n color: #2c3e50;\n}\n\n.status-badge[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n padding: 4px 8px;\n border-radius: 4px;\n font-size: 11px;\n font-weight: 600;\n text-transform: uppercase;\n}\n\n.status-badge.small[_ngcontent-%COMP%] {\n padding: 2px 6px;\n font-size: 10px;\n}\n\n.status-badge[data-status=\"Running\"][_ngcontent-%COMP%] {\n background: #e3f2fd;\n color: #1976d2;\n}\n\n.status-badge[data-status=\"Completed\"][_ngcontent-%COMP%] {\n background: #e8f5e9;\n color: #388e3c;\n}\n\n.status-badge[data-status=\"Failed\"][_ngcontent-%COMP%] {\n background: #ffebee;\n color: #d32f2f;\n}\n\n.status-badge[data-status=\"Cancelled\"][_ngcontent-%COMP%] {\n background: #fff3e0;\n color: #f57c00;\n}\n\n.action-link[_ngcontent-%COMP%] {\n padding: 12px 16px;\n border-bottom: 1px solid #e0e6ed;\n}\n\n.btn-link[_ngcontent-%COMP%] {\n background: none;\n border: none;\n color: #2196f3;\n cursor: pointer;\n padding: 6px 12px;\n border-radius: 4px;\n transition: all 0.2s;\n display: inline-flex;\n align-items: center;\n gap: 6px;\n font-size: 13px;\n}\n\n.btn-link[_ngcontent-%COMP%]:hover {\n background: rgba(33, 150, 243, 0.1);\n color: #1976d2;\n}\n\n.detail-pane-tabs[_ngcontent-%COMP%] {\n display: flex;\n gap: 0;\n background: #f8f9fa;\n border-bottom: 1px solid #e0e6ed;\n padding: 0 16px;\n}\n\n.detail-tab[_ngcontent-%COMP%] {\n padding: 12px 16px;\n background: none;\n border: none;\n border-bottom: 2px solid transparent;\n cursor: pointer;\n font-size: 13px;\n color: #6c757d;\n transition: all 0.2s;\n display: flex;\n align-items: center;\n gap: 6px;\n}\n\n.detail-tab[_ngcontent-%COMP%]:hover {\n color: #495057;\n background: rgba(0, 0, 0, 0.02);\n}\n\n.detail-tab.active[_ngcontent-%COMP%] {\n color: #2196f3;\n border-bottom-color: #2196f3;\n font-weight: 600;\n}\n\n.detail-pane-content[_ngcontent-%COMP%] {\n flex: 1;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n height: calc(100% - 200px);\n}\n\n.detail-pane-content.with-tabs[_ngcontent-%COMP%] {\n height: calc(100% - 250px);\n}\n\n.json-viewer[_ngcontent-%COMP%] {\n flex: 1;\n display: flex;\n flex-direction: column;\n position: relative;\n overflow: hidden;\n}\n\n.json-toolbar[_ngcontent-%COMP%] {\n position: absolute;\n top: 8px;\n right: 8px;\n z-index: 10;\n display: flex;\n gap: 4px;\n}\n\n.step-payload-diff[_ngcontent-%COMP%] {\n flex: 1;\n overflow-y: auto;\n padding: 16px;\n}"] }); }
251
+ }
252
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AIAgentRunStepDetailComponent, [{
253
+ type: Component,
254
+ args: [{ selector: 'mj-ai-agent-run-step-detail', template: "<div class=\"json-detail-pane\" *ngIf=\"selectedTimelineItem\">\n <div class=\"json-pane-header\">\n <h3>\n <i class=\"fas\" [ngClass]=\"selectedTimelineItem.icon\"></i>\n {{ selectedTimelineItem.title }}\n </h3>\n <button class=\"btn-icon\" (click)=\"onClosePanel()\" title=\"Close\">\n <i class=\"fas fa-times\"></i>\n </button>\n </div>\n <div class=\"json-pane-content\">\n <div class=\"json-meta\">\n <div class=\"meta-item\">\n <label>Type</label>\n <span>{{ selectedTimelineItem.type }}</span>\n </div>\n <div class=\"meta-item\">\n <label>Status</label>\n <span class=\"status-badge small\" [attr.data-status]=\"selectedTimelineItem.status\">\n {{ selectedTimelineItem.status }}\n </span>\n </div>\n <div class=\"meta-item\">\n <label>Duration</label>\n <span>{{ selectedTimelineItem.duration || 'N/A' }}</span>\n </div>\n </div>\n \n <!-- Action-specific link -->\n <div class=\"action-link\" *ngIf=\"selectedTimelineItem.type === 'action' && selectedTimelineItem.data?.ID\">\n <button class=\"btn-link\" (click)=\"onNavigateToActionLog(selectedTimelineItem.data.ID)\">\n <i class=\"fas fa-external-link-alt\"></i> View Action Execution Log\n </button>\n </div>\n \n <!-- Tab Navigation - Only show when we have both options -->\n @if (showStepPayloadDiff) {\n <div class=\"detail-pane-tabs\">\n <button \n class=\"detail-tab\" \n [class.active]=\"detailPaneTab === 'diff'\"\n (click)=\"detailPaneTab = 'diff'\">\n <i class=\"fa-solid fa-code-branch\"></i>\n Payload Changes\n </button>\n <button \n class=\"detail-tab\" \n [class.active]=\"detailPaneTab === 'json'\"\n (click)=\"detailPaneTab = 'json'\">\n <i class=\"fa-solid fa-code\"></i>\n Full JSON\n </button>\n </div>\n }\n \n <!-- Tab Content -->\n <div class=\"detail-pane-content\" [class.with-tabs]=\"showStepPayloadDiff\">\n <!-- Payload Diff Tab -->\n @if (detailPaneTab === 'diff' && showStepPayloadDiff) {\n <div class=\"step-payload-diff\">\n <mj-deep-diff\n [oldValue]=\"stepPayloadAtStartObject\"\n [newValue]=\"stepPayloadAtEndObject\"\n [title]=\"''\"\n [showSummary]=\"true\"\n [showUnchanged]=\"false\"\n [expandAll]=\"false\"\n [maxDepth]=\"8\"\n [maxStringLength]=\"150\"\n [treatNullAsUndefined]=\"true\">\n </mj-deep-diff>\n </div>\n }\n \n <!-- Full JSON Tab -->\n @if (detailPaneTab === 'json' || !showStepPayloadDiff) {\n <div class=\"json-viewer\">\n <div class=\"json-toolbar\">\n <button class=\"btn-icon\" title=\"Copy JSON\" (click)=\"onCopyToClipboard()\">\n <i class=\"fas fa-copy\"></i>\n </button>\n </div>\n <mj-code-editor\n [(ngModel)]=\"selectedItemJsonString\"\n [language]=\"'json'\"\n [readonly]=\"true\"\n style=\"height: calc(100% - 40px); width: 100%;\">\n </mj-code-editor>\n </div>\n }\n </div>\n </div>\n</div>", styles: [".json-detail-pane {\n height: 100%;\n display: flex;\n flex-direction: column;\n background: white;\n border-left: 1px solid #e0e6ed;\n}\n\n.json-pane-header {\n padding: 16px;\n border-bottom: 1px solid #e0e6ed;\n display: flex;\n justify-content: space-between;\n align-items: center;\n background: #f8f9fa;\n}\n\n.json-pane-header h3 {\n margin: 0;\n font-size: 16px;\n font-weight: 600;\n color: #2c3e50;\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.btn-icon {\n background: none;\n border: none;\n padding: 4px 8px;\n cursor: pointer;\n color: #6c757d;\n border-radius: 4px;\n transition: all 0.2s;\n}\n\n.btn-icon:hover {\n background: rgba(0, 0, 0, 0.05);\n color: #495057;\n}\n\n.json-pane-content {\n flex: 1;\n overflow-y: auto;\n display: flex;\n flex-direction: column;\n}\n\n.json-meta {\n padding: 16px;\n display: flex;\n gap: 24px;\n border-bottom: 1px solid #e0e6ed;\n}\n\n.meta-item {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.meta-item label {\n font-size: 11px;\n text-transform: uppercase;\n color: #6c757d;\n font-weight: 600;\n}\n\n.meta-item span {\n font-size: 13px;\n color: #2c3e50;\n}\n\n.status-badge {\n display: inline-flex;\n align-items: center;\n padding: 4px 8px;\n border-radius: 4px;\n font-size: 11px;\n font-weight: 600;\n text-transform: uppercase;\n}\n\n.status-badge.small {\n padding: 2px 6px;\n font-size: 10px;\n}\n\n.status-badge[data-status=\"Running\"] {\n background: #e3f2fd;\n color: #1976d2;\n}\n\n.status-badge[data-status=\"Completed\"] {\n background: #e8f5e9;\n color: #388e3c;\n}\n\n.status-badge[data-status=\"Failed\"] {\n background: #ffebee;\n color: #d32f2f;\n}\n\n.status-badge[data-status=\"Cancelled\"] {\n background: #fff3e0;\n color: #f57c00;\n}\n\n.action-link {\n padding: 12px 16px;\n border-bottom: 1px solid #e0e6ed;\n}\n\n.btn-link {\n background: none;\n border: none;\n color: #2196f3;\n cursor: pointer;\n padding: 6px 12px;\n border-radius: 4px;\n transition: all 0.2s;\n display: inline-flex;\n align-items: center;\n gap: 6px;\n font-size: 13px;\n}\n\n.btn-link:hover {\n background: rgba(33, 150, 243, 0.1);\n color: #1976d2;\n}\n\n.detail-pane-tabs {\n display: flex;\n gap: 0;\n background: #f8f9fa;\n border-bottom: 1px solid #e0e6ed;\n padding: 0 16px;\n}\n\n.detail-tab {\n padding: 12px 16px;\n background: none;\n border: none;\n border-bottom: 2px solid transparent;\n cursor: pointer;\n font-size: 13px;\n color: #6c757d;\n transition: all 0.2s;\n display: flex;\n align-items: center;\n gap: 6px;\n}\n\n.detail-tab:hover {\n color: #495057;\n background: rgba(0, 0, 0, 0.02);\n}\n\n.detail-tab.active {\n color: #2196f3;\n border-bottom-color: #2196f3;\n font-weight: 600;\n}\n\n.detail-pane-content {\n flex: 1;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n height: calc(100% - 200px);\n}\n\n.detail-pane-content.with-tabs {\n height: calc(100% - 250px);\n}\n\n.json-viewer {\n flex: 1;\n display: flex;\n flex-direction: column;\n position: relative;\n overflow: hidden;\n}\n\n.json-toolbar {\n position: absolute;\n top: 8px;\n right: 8px;\n z-index: 10;\n display: flex;\n gap: 4px;\n}\n\n.step-payload-diff {\n flex: 1;\n overflow-y: auto;\n padding: 16px;\n}"] }]
255
+ }], () => [{ type: i0.ChangeDetectorRef }], { selectedTimelineItem: [{
256
+ type: Input
257
+ }], closePanel: [{
258
+ type: Output
259
+ }], navigateToActionLog: [{
260
+ type: Output
261
+ }], copyToClipboard: [{
262
+ type: Output
263
+ }] }); })();
264
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(AIAgentRunStepDetailComponent, { className: "AIAgentRunStepDetailComponent", filePath: "src/lib/custom/ai-agent-run/ai-agent-run-step-detail.component.ts", lineNumber: 11 }); })();
265
+ //# sourceMappingURL=ai-agent-run-step-detail.component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-agent-run-step-detail.component.js","sourceRoot":"","sources":["../../../../src/lib/custom/ai-agent-run/ai-agent-run-step-detail.component.ts","../../../../src/lib/custom/ai-agent-run/ai-agent-run-step-detail.component.html"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAqB,MAAM,eAAe,CAAC;AAE1F,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAoB,MAAM,wBAAwB,CAAC;;;;;;;;IC2BxE,AADF,+BAAyG,iBAChB;IAA9D,iMAAS,iEAAmD,KAAC;IACpF,wBAAwC;IAAC,2CAC3C;IACF,AADE,iBAAS,EACL;;;;IAKF,AADF,+BAA8B,iBAIO;IAAjC,gOAAyB,MAAM,KAAC;IAChC,wBAAuC;IACvC,iCACF;IAAA,iBAAS;IACT,kCAGmC;IAAjC,gOAAyB,MAAM,KAAC;IAChC,wBAAgC;IAChC,2BACF;IACF,AADE,iBAAS,EACL;;;IAZF,cAAyC;IAAzC,yDAAyC;IAOzC,eAAyC;IAAzC,yDAAyC;;;IAY3C,+BAA+B;IAC7B,mCAUe;IACjB,iBAAM;;;IAVF,cAAqC;IAQrC,AADA,AADA,AADA,AADA,AADA,AADA,AADA,AADA,0DAAqC,2CACF,aACvB,qBACQ,wBACG,oBACJ,eACL,wBACS,8BACM;;;;IAS7B,AADF,AADF,+BAAyB,cACG,iBACiD;IAA9B,yMAAS,0BAAmB,KAAC;IACtE,wBAA2B;IAE/B,AADE,iBAAS,EACL;IACN,0CAIkD;IAHhD,kWAAoC;IAKxC,AADE,iBAAiB,EACb;;;IALF,eAAoC;IAApC,6DAAoC;IAEpC,AADA,iCAAmB,kBACF;;;;IAnFzB,AADF,AADF,8BAA2D,aAC3B,SACxB;IACF,uBAAyD;IACzD,YACF;IAAA,iBAAK;IACL,iCAAgE;IAAvC,yLAAS,qBAAc,KAAC;IAC/C,uBAA4B;IAEhC,AADE,iBAAS,EACL;IAIA,AADF,AADF,AADF,8BAA+B,aACN,aACE,aACd;IAAA,qBAAI;IAAA,iBAAQ;IACnB,6BAAM;IAAA,aAA+B;IACvC,AADuC,iBAAO,EACxC;IAEJ,AADF,+BAAuB,aACd;IAAA,uBAAM;IAAA,iBAAQ;IACrB,gCAAkF;IAChF,aACF;IACF,AADE,iBAAO,EACH;IAEJ,AADF,+BAAuB,aACd;IAAA,yBAAQ;IAAA,iBAAQ;IACvB,6BAAM;IAAA,aAA4C;IAEtD,AADE,AADoD,iBAAO,EACrD,EACF;IAUN,AAPA,uFAAyG,kFAO9E;IAoB3B,gCAAyE;IAmBvE,AAjBA,+FAAuD,kFAiBC;IAiB9D,AADE,AADE,iBAAM,EACF,EACF;;;IAzFe,eAAqC;IAArC,0DAAqC;IACpD,cACF;IADE,kEACF;IASU,eAA+B;IAA/B,sDAA+B;IAIJ,eAAgD;;IAC/E,cACF;IADE,mEACF;IAIM,eAA4C;IAA5C,mEAA4C;IAK5B,cAA6E;IAA7E,+JAA6E;IAOvG,cAiBC;IAjBD,sDAiBC;IAGgC,cAAuC;IAAvC,uDAAuC;IAEtE,cAcC;IAdD,yFAcC;IAGD,cAcC;IAdD,0FAcC;;AD/EP,MAAM,OAAO,6BAA6B;IASxC,YAAoB,GAAsB;QAAtB,QAAG,GAAH,GAAG,CAAmB;QARjC,yBAAoB,GAAwB,IAAI,CAAC;QAChD,eAAU,GAAG,IAAI,YAAY,EAAQ,CAAC;QACtC,wBAAmB,GAAG,IAAI,YAAY,EAAU,CAAC;QACjD,oBAAe,GAAG,IAAI,YAAY,EAAU,CAAC;QAEvD,2BAAsB,GAAG,IAAI,CAAC;QAC9B,kBAAa,GAAoB,MAAM,CAAC;IAEK,CAAC;IAE9C,WAAW;QACT,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC9B,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACzD,mEAAmE;YACnE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;YAChE,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,mBAAmB;QACjB,IAAI,CAAC,IAAI,CAAC,oBAAoB;YAAE,OAAO,IAAI,CAAC;QAE5C,mCAAmC;QACnC,IAAI,IAAI,CAAC;QACT,IAAI,IAAI,CAAC,oBAAoB,CAAC,IAAI,YAAY,oBAAoB,EAAE,CAAC;YACnE,0DAA0D;YAC1D,IAAI,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACjD,CAAC;aAAM,CAAC;YACN,IAAI,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC;QACxC,CAAC;QAED,yDAAyD;QACzD,MAAM,YAAY,GAAqB;YACrC,iBAAiB,EAAE,IAAI;YACvB,QAAQ,EAAE,GAAG;YACb,KAAK,EAAE,KAAK;SACb,CAAC;QACF,MAAM,UAAU,GAAG,kBAAkB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAE1D,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,IAAI,mBAAmB;QACrB,IAAI,CAAC,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC,oBAAoB,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC5E,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC;QAChD,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;eAC3C,QAAQ,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;YAC1D,OAAO,QAAQ,CAAC,cAAc,KAAK,QAAQ,CAAC,YAAY,CAAC;QAC3D,CAAC;aAAM,CAAC;YACN,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;OAEG;IACH,IAAI,wBAAwB;QAC1B,IAAI,CAAC,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC,oBAAoB,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC5E,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC;QAChD,IAAI,CAAC,QAAQ,EAAE,cAAc;YAAE,OAAO,IAAI,CAAC;QAE3C,IAAI,CAAC;YACH,0EAA0E;YAC1E,IAAI,WAAW,GAAG,QAAQ,CAAC,cAAc,CAAC;YAC1C,IAAI,CAAC;gBACH,qDAAqD;gBACrD,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;YACpD,CAAC;YAAC,MAAM,CAAC;gBACP,uCAAuC;gBACvC,WAAW,GAAG,QAAQ,CAAC,cAAc,CAAC;YACxC,CAAC;YAED,MAAM,YAAY,GAAqB;gBACrC,iBAAiB,EAAE,IAAI;gBACvB,QAAQ,EAAE,GAAG;gBACb,KAAK,EAAE,KAAK;aACb,CAAC;YACF,OAAO,kBAAkB,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QACvD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACH,IAAI,sBAAsB;QACxB,IAAI,CAAC,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC,oBAAoB,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC5E,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC;QAChD,IAAI,CAAC,QAAQ,EAAE,YAAY;YAAE,OAAO,IAAI,CAAC;QAEzC,IAAI,CAAC;YACH,wEAAwE;YACxE,IAAI,WAAW,GAAG,QAAQ,CAAC,YAAY,CAAC;YACxC,IAAI,CAAC;gBACH,mDAAmD;gBACnD,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YAClD,CAAC;YAAC,MAAM,CAAC;gBACP,uCAAuC;gBACvC,WAAW,GAAG,QAAQ,CAAC,YAAY,CAAC;YACtC,CAAC;YAED,MAAM,YAAY,GAAqB;gBACrC,iBAAiB,EAAE,IAAI;gBACvB,QAAQ,EAAE,GAAG;gBACb,KAAK,EAAE,KAAK;aACb,CAAC;YACF,OAAO,kBAAkB,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QACvD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,YAAY;QACV,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC;IAED,qBAAqB,CAAC,KAAa;QACjC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;IACxD,CAAC;8FAxIU,6BAA6B;oEAA7B,6BAA6B;YCV1C,gFAA2D;;YAA5B,+CAA0B;;;iFDU5C,6BAA6B;cALzC,SAAS;2BACE,6BAA6B;kDAK9B,oBAAoB;kBAA5B,KAAK;YACI,UAAU;kBAAnB,MAAM;YACG,mBAAmB;kBAA5B,MAAM;YACG,eAAe;kBAAxB,MAAM;;kFAJI,6BAA6B"}
@@ -1 +1 @@
1
- {"version":3,"file":"ai-agent-run-step-node.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/custom/ai-agent-run/ai-agent-run-step-node.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,YAAY,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;;AAEjE,qBAKa,2BAA2B;IAC7B,IAAI,EAAG,YAAY,CAAC;IACpB,UAAU,UAAS;IAClB,SAAS,6BAAoC;IAC7C,YAAY,sBAA6B;IACzC,gBAAgB;oBAAkC,MAAM;kBAAY,MAAM;OAAM;IAE1F,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED,IAAI,UAAU,IAAI,OAAO,CAExB;IAED,IAAI,mBAAmB,IAAI,OAAO,CAQjC;IAED,IAAI,oBAAoB,IAAI,MAAM,CAiBjC;IAED,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAWrC,WAAW;IAIX,kBAAkB,CAAC,KAAK,EAAE,KAAK;IAc/B,gBAAgB,CAAC,KAAK,EAAE,KAAK;IA8C7B,iBAAiB,IAAI,MAAM;yCAvHhB,2BAA2B;2CAA3B,2BAA2B;CA+IvC"}
1
+ {"version":3,"file":"ai-agent-run-step-node.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/custom/ai-agent-run/ai-agent-run-step-node.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,YAAY,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;;AAEjE,qBAKa,2BAA2B;IAC7B,IAAI,EAAG,YAAY,CAAC;IACpB,UAAU,UAAS;IAClB,SAAS,6BAAoC;IAC7C,YAAY,sBAA6B;IACzC,gBAAgB;oBAAkC,MAAM;kBAAY,MAAM;OAAM;IAE1F,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED,IAAI,UAAU,IAAI,OAAO,CAExB;IAED,IAAI,mBAAmB,IAAI,OAAO,CAQjC;IAED,IAAI,oBAAoB,IAAI,MAAM,CAiBjC;IAED,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAWrC,WAAW;IAIX,kBAAkB,CAAC,KAAK,EAAE,KAAK;IAM/B,gBAAgB,CAAC,KAAK,EAAE,KAAK;IA8C7B,iBAAiB,IAAI,MAAM;yCA/GhB,2BAA2B;2CAA3B,2BAA2B;CAuIvC"}
@@ -99,14 +99,6 @@ export class AIAgentRunStepNodeComponent {
99
99
  this.itemClick.emit(this.item);
100
100
  }
101
101
  handleExpandToggle(event) {
102
- console.log('🔄 StepNode: Expand toggle clicked:', {
103
- itemId: this.item.id,
104
- itemType: this.item.type,
105
- isSubAgent: this.isSubAgent,
106
- stepType: this.item.data?.StepType,
107
- hasChildren: this.hasChildren,
108
- currentExpanded: this.item.isExpanded
109
- });
110
102
  if (this.isSubAgent) {
111
103
  this.expandToggle.emit(event);
112
104
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ai-agent-run-step-node.component.js","sourceRoot":"","sources":["../../../../src/lib/custom/ai-agent-run/ai-agent-run-step-node.component.ts","../../../../src/lib/custom/ai-agent-run/ai-agent-run-step-node.component.html"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;;;;;ICQrE,kCAG+C;IADvC,gMAAS,iCAA0B,KAAC;IAE1C,wBAEiD;IACnD,iBAAS;;;;IAFJ,cAA2C;IAC3C,AADA,2DAA2C,2CACF;;;IAiB5C,+BAAkE;IAChE,YACF;IAAA,iBAAM;;;IADJ,cACF;IADE,2DACF;;;IAGE,gCAA6C;IAC3C,wBAA4B;IAAC,YAC/B;IAAA,iBAAO;;;IADwB,eAC/B;IAD+B,qDAC/B;;;;IAUF,kCAGuC;IAD/B,iMAAS,+BAAwB,KAAC;IAExC,wBAAwC;IACxC,gCAA0B;IAAA,YAA0B;IACtD,AADsD,iBAAO,EACpD;;;IAHD,mDAA8B;IAEV,eAA0B;IAA1B,iDAA0B;;AD7C1D,MAAM,OAAO,2BAA2B;IALxC;QAOW,eAAU,GAAG,KAAK,CAAC;QAClB,cAAS,GAAG,IAAI,YAAY,EAAgB,CAAC;QAC7C,iBAAY,GAAG,IAAI,YAAY,EAAS,CAAC;QACzC,qBAAgB,GAAG,IAAI,YAAY,EAA4C,CAAC;KA0I3F;IAxIC,IAAI,WAAW;QACb,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IAC/D,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,KAAK,WAAW,CAAC,CAAC;IAChH,CAAC;IAED,IAAI,mBAAmB;QACrB,8EAA8E;QAC9E,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;YACzC,OAAO,CAAC,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,WAAW,CAAC;mBAC/E,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;QACpC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,oBAAoB;QACtB,qCAAqC;QACrC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;YACzC,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;gBACtC,KAAK,SAAS;oBACZ,OAAO,iBAAiB,CAAC;gBAC3B,KAAK,QAAQ;oBACX,OAAO,iBAAiB,CAAC;gBAC3B,KAAK,WAAW;oBACd,OAAO,gBAAgB,CAAC;gBAC1B;oBACE,OAAO,cAAc,CAAC;YAC1B,CAAC;QACH,CAAC;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,aAAa,CAAC,MAAc;QAC1B,MAAM,OAAO,GAA2B;YACtC,SAAS,EAAE,yBAAyB;YACpC,WAAW,EAAE,iBAAiB;YAC9B,QAAQ,EAAE,iBAAiB;YAC3B,WAAW,EAAE,QAAQ;YACrB,QAAQ,EAAE,iBAAiB;SAC5B,CAAC;QACF,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,oBAAoB,CAAC;IACjD,CAAC;IAED,WAAW;QACT,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,kBAAkB,CAAC,KAAY;QAC7B,OAAO,CAAC,GAAG,CAAC,qCAAqC,EAAE;YACjD,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;YACpB,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;YACxB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ;YAClC,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU;SACtC,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAED,gBAAgB,CAAC,KAAY;QAC3B,KAAK,CAAC,eAAe,EAAE,CAAC;QAExB,IAAI,CAAC,IAAI,CAAC,mBAAmB;YAAE,OAAO;QAEtC,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,QAAQ,GAAG,EAAE,CAAC;QAElB,yEAAyE;QACzE,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAChD,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;YACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;YAEzC,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;gBACtC,KAAK,SAAS;oBACZ,UAAU,GAAG,uBAAuB,CAAC;oBACrC,MAAM;gBACR,KAAK,QAAQ;oBACX,UAAU,GAAG,oBAAoB,CAAC;oBAClC,MAAM;gBACR,KAAK,WAAW;oBACd,UAAU,GAAG,mBAAmB,CAAC;oBACjC,MAAM;YACV,CAAC;QACH,CAAC;aAAM,CAAC;YACN,oCAAoC;YACpC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAExB,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;gBAC5C,KAAK,SAAS;oBACZ,UAAU,GAAG,uBAAuB,CAAC;oBACrC,MAAM;gBACR,KAAK,QAAQ;oBACX,UAAU,GAAG,oBAAoB,CAAC;oBAClC,MAAM;gBACR,KAAK,WAAW;oBACd,UAAU,GAAG,mBAAmB,CAAC;oBACjC,MAAM;YACV,CAAC;QACH,CAAC;QAED,IAAI,UAAU,IAAI,QAAQ,EAAE,CAAC;YAC3B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAED,iBAAiB;QACf,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAChD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YAC5B,MAAM,KAAK,GAAG,EAAE,CAAC;YAEjB,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC1B,KAAK,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;YACjD,CAAC;YACD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACf,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC/B,CAAC;YAED,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAClD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YAC3B,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;gBAChB,OAAO,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACjF,CAAC;QACH,CAAC;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;4FA9IU,2BAA2B;oEAA3B,2BAA2B;YCRxC,8BAK6B;YAAxB,qGAAS,iBAAa,IAAC;YAG1B,kFAG+C;YAO/C,8BAA4D;YAC1D,uBAAyC;YAC3C,iBAAM;YAKF,AADF,AADF,8BAA8B,aACC,SACvB;YAAA,YAAgB;YAAA,iBAAK;YACzB,+BAA4B;YAAA,YAA2C;;YACzE,AADyE,iBAAO,EAC1E;YAEN,+BAA+B;YAAA,aAAmB;YAAA,iBAAM;YAExD,8EAAkE;YAIlE,+BAA2B;YACzB,iFAA6C;YAG7C,iCAAsD;YACpD,wBAA0D;YAC1D,aACF;YAEJ,AADE,AADE,iBAAO,EACH,EACF;YAGN,gCAA8B;YAC5B,qFAGuC;YAK3C,AADE,iBAAM,EACF;;YApDD,wDAAwC;YAHxC,0CAA6B;;YAQvB,cAAgB;YAAhB,qCAAgB;YASI,cAA8B;;YAC1C,cAAqB;YAArB,uCAAqB;YAM9B,eAAgB;YAAhB,oCAAgB;YACQ,eAA2C;YAA3C,iFAA2C;YAG1C,eAAmB;YAAnB,uCAAmB;YAEX,cAAyB;YAAzB,8CAAyB;YAKtC,eAAmB;YAAnB,wCAAmB;YAGtB,cAAgC;;YACpC,cAAsC;YAAtC,4DAAsC;YACrD,cACF;YADE,gDACF;YAOO,eAAyB;YAAzB,8CAAyB;;;iFDzCzB,2BAA2B;cALvC,SAAS;2BACE,2BAA2B;gBAK5B,IAAI;kBAAZ,KAAK;YACG,UAAU;kBAAlB,KAAK;YACI,SAAS;kBAAlB,MAAM;YACG,YAAY;kBAArB,MAAM;YACG,gBAAgB;kBAAzB,MAAM;;kFALI,2BAA2B"}
1
+ {"version":3,"file":"ai-agent-run-step-node.component.js","sourceRoot":"","sources":["../../../../src/lib/custom/ai-agent-run/ai-agent-run-step-node.component.ts","../../../../src/lib/custom/ai-agent-run/ai-agent-run-step-node.component.html"],"names":[],"mappings":"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"}