@memberjunction/ng-core-entity-forms 2.53.0 → 2.55.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -206
- package/dist/lib/custom/AIAgents/ai-agent-form.component.d.ts +28 -5
- package/dist/lib/custom/AIAgents/ai-agent-form.component.d.ts.map +1 -1
- package/dist/lib/custom/AIAgents/ai-agent-form.component.js +364 -234
- package/dist/lib/custom/AIAgents/ai-agent-form.component.js.map +1 -1
- package/dist/lib/custom/AIAgents/new-agent-dialog.component.d.ts +36 -0
- package/dist/lib/custom/AIAgents/new-agent-dialog.component.d.ts.map +1 -0
- package/dist/lib/custom/AIAgents/new-agent-dialog.component.js +325 -0
- package/dist/lib/custom/AIAgents/new-agent-dialog.component.js.map +1 -0
- package/dist/lib/custom/AIAgents/new-agent-dialog.service.d.ts +41 -0
- package/dist/lib/custom/AIAgents/new-agent-dialog.service.d.ts.map +1 -0
- package/dist/lib/custom/AIAgents/new-agent-dialog.service.js +87 -0
- package/dist/lib/custom/AIAgents/new-agent-dialog.service.js.map +1 -0
- package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.js +5 -7
- package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.js.map +1 -1
- package/dist/lib/custom/AIPrompts/ai-prompt-form.component.d.ts +5 -2
- package/dist/lib/custom/AIPrompts/ai-prompt-form.component.d.ts.map +1 -1
- package/dist/lib/custom/AIPrompts/ai-prompt-form.component.js +501 -485
- package/dist/lib/custom/AIPrompts/ai-prompt-form.component.js.map +1 -1
- package/dist/lib/custom/Actions/action-execution-log-form.component.d.ts +2 -0
- package/dist/lib/custom/Actions/action-execution-log-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Actions/action-execution-log-form.component.js +216 -293
- package/dist/lib/custom/Actions/action-execution-log-form.component.js.map +1 -1
- package/dist/lib/custom/Actions/action-form.component.js +6 -8
- package/dist/lib/custom/Actions/action-form.component.js.map +1 -1
- package/dist/lib/custom/ai-agent-run/ai-agent-run-step-node.component.d.ts +25 -0
- package/dist/lib/custom/ai-agent-run/ai-agent-run-step-node.component.d.ts.map +1 -0
- package/dist/lib/custom/ai-agent-run/ai-agent-run-step-node.component.js +261 -0
- package/dist/lib/custom/ai-agent-run/ai-agent-run-step-node.component.js.map +1 -0
- package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.d.ts +73 -0
- package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.d.ts.map +1 -0
- package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.js +510 -0
- package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.js.map +1 -0
- package/dist/lib/custom/ai-agent-run/ai-agent-run.component.d.ts +41 -0
- package/dist/lib/custom/ai-agent-run/ai-agent-run.component.d.ts.map +1 -0
- package/dist/lib/custom/ai-agent-run/ai-agent-run.component.js +568 -0
- package/dist/lib/custom/ai-agent-run/ai-agent-run.component.js.map +1 -0
- package/dist/lib/custom/custom-forms.module.d.ts +31 -31
- package/dist/lib/custom/custom-forms.module.d.ts.map +1 -1
- package/dist/lib/custom/custom-forms.module.js +37 -34
- package/dist/lib/custom/custom-forms.module.js.map +1 -1
- package/dist/lib/generated/Entities/AIAgent/aiagent.form.component.js +16 -17
- package/dist/lib/generated/Entities/AIAgent/aiagent.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/AIAgentRun/aiagentrun.form.component.js +11 -14
- package/dist/lib/generated/Entities/AIAgentRun/aiagentrun.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/AIAgentRunStep/aiagentrunstep.form.component.js +3 -5
- package/dist/lib/generated/Entities/AIAgentRunStep/aiagentrunstep.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/AIAgentRunStep/sections/details.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/AIAgentRunStep/sections/details.component.js +13 -4
- package/dist/lib/generated/Entities/AIAgentRunStep/sections/details.component.js.map +1 -1
- package/dist/lib/generated/Entities/AIAgentType/aiagenttype.form.component.js +5 -7
- package/dist/lib/generated/Entities/AIAgentType/aiagenttype.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/AIConfiguration/aiconfiguration.form.component.js +7 -8
- package/dist/lib/generated/Entities/AIConfiguration/aiconfiguration.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/AIModel/aimodel.form.component.js +12 -13
- package/dist/lib/generated/Entities/AIModel/aimodel.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/AIModelCost/aimodelcost.form.component.js +3 -5
- package/dist/lib/generated/Entities/AIModelCost/aimodelcost.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/AIModelPriceType/aimodelpricetype.form.component.js +5 -7
- package/dist/lib/generated/Entities/AIModelPriceType/aimodelpricetype.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/AIModelPriceUnitType/aimodelpriceunittype.form.component.js +5 -7
- package/dist/lib/generated/Entities/AIModelPriceUnitType/aimodelpriceunittype.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/AIModelType/aimodeltype.form.component.js +11 -12
- package/dist/lib/generated/Entities/AIModelType/aimodeltype.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/AIPrompt/aiprompt.form.component.js +19 -20
- package/dist/lib/generated/Entities/AIPrompt/aiprompt.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/AIPromptRun/aipromptrun.form.component.js +11 -12
- package/dist/lib/generated/Entities/AIPromptRun/aipromptrun.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/AIPromptRun/sections/details.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/AIPromptRun/sections/details.component.js +13 -4
- package/dist/lib/generated/Entities/AIPromptRun/sections/details.component.js.map +1 -1
- package/dist/lib/generated/Entities/AIVendor/aivendor.form.component.js +15 -16
- package/dist/lib/generated/Entities/AIVendor/aivendor.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/Action/action.form.component.js +5 -5
- package/dist/lib/generated/Entities/Action/action.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/ActionAuthorization/actionauthorization.form.component.js +1 -1
- package/dist/lib/generated/Entities/ActionAuthorization/actionauthorization.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/ActionContext/actioncontext.form.component.js +1 -1
- package/dist/lib/generated/Entities/ActionContext/actioncontext.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/Conversation/conversation.form.component.js +5 -5
- package/dist/lib/generated/Entities/Conversation/conversation.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/TemplateContent/templatecontent.form.component.js +4 -4
- package/dist/lib/generated/Entities/TemplateContent/templatecontent.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/User/user.form.component.js +5 -5
- package/dist/lib/generated/Entities/User/user.form.component.js.map +1 -1
- package/dist/public-api.d.ts +2 -3
- package/dist/public-api.d.ts.map +1 -1
- package/dist/public-api.js +3 -16
- package/dist/public-api.js.map +1 -1
- package/package.json +13 -12
- package/dist/lib/custom/ai-test-harness/agent-execution-monitor.component.d.ts +0 -244
- package/dist/lib/custom/ai-test-harness/agent-execution-monitor.component.d.ts.map +0 -1
- package/dist/lib/custom/ai-test-harness/agent-execution-monitor.component.js +0 -1327
- package/dist/lib/custom/ai-test-harness/agent-execution-monitor.component.js.map +0 -1
- package/dist/lib/custom/ai-test-harness/agent-execution-node.component.d.ts +0 -19
- package/dist/lib/custom/ai-test-harness/agent-execution-node.component.d.ts.map +0 -1
- package/dist/lib/custom/ai-test-harness/agent-execution-node.component.js +0 -458
- package/dist/lib/custom/ai-test-harness/agent-execution-node.component.js.map +0 -1
- package/dist/lib/custom/ai-test-harness/ai-test-harness-dialog.component.d.ts +0 -78
- package/dist/lib/custom/ai-test-harness/ai-test-harness-dialog.component.d.ts.map +0 -1
- package/dist/lib/custom/ai-test-harness/ai-test-harness-dialog.component.js +0 -157
- package/dist/lib/custom/ai-test-harness/ai-test-harness-dialog.component.js.map +0 -1
- package/dist/lib/custom/ai-test-harness/ai-test-harness.component.d.ts +0 -598
- package/dist/lib/custom/ai-test-harness/ai-test-harness.component.d.ts.map +0 -1
- package/dist/lib/custom/ai-test-harness/ai-test-harness.component.js +0 -3204
- package/dist/lib/custom/ai-test-harness/ai-test-harness.component.js.map +0 -1
- package/dist/lib/custom/ai-test-harness/json-viewer-window.component.d.ts +0 -8
- package/dist/lib/custom/ai-test-harness/json-viewer-window.component.d.ts.map +0 -1
- package/dist/lib/custom/ai-test-harness/json-viewer-window.component.js +0 -57
- package/dist/lib/custom/ai-test-harness/json-viewer-window.component.js.map +0 -1
- package/dist/lib/custom/test-harness-dialog.service.d.ts +0 -111
- package/dist/lib/custom/test-harness-dialog.service.d.ts.map +0 -1
- package/dist/lib/custom/test-harness-dialog.service.js +0 -211
- package/dist/lib/custom/test-harness-dialog.service.js.map +0 -1
|
@@ -0,0 +1,510 @@
|
|
|
1
|
+
import { Component, Input, Output, EventEmitter } from '@angular/core';
|
|
2
|
+
import { Subject, BehaviorSubject, combineLatest } from 'rxjs';
|
|
3
|
+
import { map, shareReplay } from 'rxjs/operators';
|
|
4
|
+
import { RunView } from '@memberjunction/core';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/router";
|
|
7
|
+
function AIAgentRunTimelineComponent_div_0_div_1_ng_container_1_div_2_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
8
|
+
i0.ɵɵelementStart(0, "div", 15);
|
|
9
|
+
i0.ɵɵelement(1, "i", 16);
|
|
10
|
+
i0.ɵɵtext(2, " Loading sub-agent steps... ");
|
|
11
|
+
i0.ɵɵelementEnd();
|
|
12
|
+
} }
|
|
13
|
+
function AIAgentRunTimelineComponent_div_0_div_1_ng_container_1_div_2_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
14
|
+
i0.ɵɵelementStart(0, "div", 17);
|
|
15
|
+
i0.ɵɵelement(1, "i", 18);
|
|
16
|
+
i0.ɵɵtext(2, " No sub-agent steps found ");
|
|
17
|
+
i0.ɵɵelementEnd();
|
|
18
|
+
} }
|
|
19
|
+
function AIAgentRunTimelineComponent_div_0_div_1_ng_container_1_div_2_ng_container_3_ng_container_1_div_2_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
20
|
+
const _r6 = i0.ɵɵgetCurrentView();
|
|
21
|
+
i0.ɵɵelementContainerStart(0);
|
|
22
|
+
i0.ɵɵelementStart(1, "mj-ai-agent-run-step-node", 8);
|
|
23
|
+
i0.ɵɵlistener("itemClick", function AIAgentRunTimelineComponent_div_0_div_1_ng_container_1_div_2_ng_container_3_ng_container_1_div_2_ng_container_1_Template_mj_ai_agent_run_step_node_itemClick_1_listener() { const step_r7 = i0.ɵɵrestoreView(_r6).$implicit; const ctx_r2 = i0.ɵɵnextContext(8); return i0.ɵɵresetView(ctx_r2.selectItem(step_r7)); })("expandToggle", function AIAgentRunTimelineComponent_div_0_div_1_ng_container_1_div_2_ng_container_3_ng_container_1_div_2_ng_container_1_Template_mj_ai_agent_run_step_node_expandToggle_1_listener($event) { const step_r7 = i0.ɵɵrestoreView(_r6).$implicit; const ctx_r2 = i0.ɵɵnextContext(8); return i0.ɵɵresetView(ctx_r2.toggleItemExpansion(step_r7, $event)); })("navigateToEntity", function AIAgentRunTimelineComponent_div_0_div_1_ng_container_1_div_2_ng_container_3_ng_container_1_div_2_ng_container_1_Template_mj_ai_agent_run_step_node_navigateToEntity_1_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r2 = i0.ɵɵnextContext(8); return i0.ɵɵresetView(ctx_r2.navigateToEntity.emit($event)); });
|
|
24
|
+
i0.ɵɵelementEnd();
|
|
25
|
+
i0.ɵɵelementContainerEnd();
|
|
26
|
+
} if (rf & 2) {
|
|
27
|
+
const step_r7 = ctx.$implicit;
|
|
28
|
+
const ctx_r2 = i0.ɵɵnextContext(8);
|
|
29
|
+
i0.ɵɵadvance();
|
|
30
|
+
i0.ɵɵproperty("item", step_r7)("isSelected", (ctx_r2.selectedItem == null ? null : ctx_r2.selectedItem.id) === step_r7.id);
|
|
31
|
+
} }
|
|
32
|
+
function AIAgentRunTimelineComponent_div_0_div_1_ng_container_1_div_2_ng_container_3_ng_container_1_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
33
|
+
i0.ɵɵelementStart(0, "div", 20);
|
|
34
|
+
i0.ɵɵtemplate(1, AIAgentRunTimelineComponent_div_0_div_1_ng_container_1_div_2_ng_container_3_ng_container_1_div_2_ng_container_1_Template, 2, 2, "ng-container", 7);
|
|
35
|
+
i0.ɵɵelementEnd();
|
|
36
|
+
} if (rf & 2) {
|
|
37
|
+
const child_r5 = i0.ɵɵnextContext().$implicit;
|
|
38
|
+
i0.ɵɵadvance();
|
|
39
|
+
i0.ɵɵproperty("ngForOf", child_r5.children);
|
|
40
|
+
} }
|
|
41
|
+
function AIAgentRunTimelineComponent_div_0_div_1_ng_container_1_div_2_ng_container_3_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
42
|
+
const _r4 = i0.ɵɵgetCurrentView();
|
|
43
|
+
i0.ɵɵelementContainerStart(0);
|
|
44
|
+
i0.ɵɵelementStart(1, "mj-ai-agent-run-step-node", 8);
|
|
45
|
+
i0.ɵɵlistener("itemClick", function AIAgentRunTimelineComponent_div_0_div_1_ng_container_1_div_2_ng_container_3_ng_container_1_Template_mj_ai_agent_run_step_node_itemClick_1_listener() { const child_r5 = i0.ɵɵrestoreView(_r4).$implicit; const ctx_r2 = i0.ɵɵnextContext(6); return i0.ɵɵresetView(ctx_r2.selectItem(child_r5)); })("expandToggle", function AIAgentRunTimelineComponent_div_0_div_1_ng_container_1_div_2_ng_container_3_ng_container_1_Template_mj_ai_agent_run_step_node_expandToggle_1_listener($event) { const child_r5 = i0.ɵɵrestoreView(_r4).$implicit; const ctx_r2 = i0.ɵɵnextContext(6); return i0.ɵɵresetView(ctx_r2.toggleItemExpansion(child_r5, $event)); })("navigateToEntity", function AIAgentRunTimelineComponent_div_0_div_1_ng_container_1_div_2_ng_container_3_ng_container_1_Template_mj_ai_agent_run_step_node_navigateToEntity_1_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r2 = i0.ɵɵnextContext(6); return i0.ɵɵresetView(ctx_r2.navigateToEntity.emit($event)); });
|
|
46
|
+
i0.ɵɵelementEnd();
|
|
47
|
+
i0.ɵɵtemplate(2, AIAgentRunTimelineComponent_div_0_div_1_ng_container_1_div_2_ng_container_3_ng_container_1_div_2_Template, 2, 1, "div", 19);
|
|
48
|
+
i0.ɵɵelementContainerEnd();
|
|
49
|
+
} if (rf & 2) {
|
|
50
|
+
const child_r5 = ctx.$implicit;
|
|
51
|
+
const ctx_r2 = i0.ɵɵnextContext(6);
|
|
52
|
+
i0.ɵɵadvance();
|
|
53
|
+
i0.ɵɵproperty("item", child_r5)("isSelected", (ctx_r2.selectedItem == null ? null : ctx_r2.selectedItem.id) === child_r5.id);
|
|
54
|
+
i0.ɵɵadvance();
|
|
55
|
+
i0.ɵɵproperty("ngIf", child_r5.isExpanded && child_r5.children);
|
|
56
|
+
} }
|
|
57
|
+
function AIAgentRunTimelineComponent_div_0_div_1_ng_container_1_div_2_ng_container_3_Template(rf, ctx) { if (rf & 1) {
|
|
58
|
+
i0.ɵɵelementContainerStart(0);
|
|
59
|
+
i0.ɵɵtemplate(1, AIAgentRunTimelineComponent_div_0_div_1_ng_container_1_div_2_ng_container_3_ng_container_1_Template, 3, 3, "ng-container", 7);
|
|
60
|
+
i0.ɵɵelementContainerEnd();
|
|
61
|
+
} if (rf & 2) {
|
|
62
|
+
const item_r2 = i0.ɵɵnextContext(2).$implicit;
|
|
63
|
+
i0.ɵɵadvance();
|
|
64
|
+
i0.ɵɵproperty("ngForOf", item_r2.children);
|
|
65
|
+
} }
|
|
66
|
+
function AIAgentRunTimelineComponent_div_0_div_1_ng_container_1_div_2_mj_ai_agent_run_timeline_4_Template(rf, ctx) { if (rf & 1) {
|
|
67
|
+
const _r8 = i0.ɵɵgetCurrentView();
|
|
68
|
+
i0.ɵɵelementStart(0, "mj-ai-agent-run-timeline", 21);
|
|
69
|
+
i0.ɵɵlistener("itemSelected", function AIAgentRunTimelineComponent_div_0_div_1_ng_container_1_div_2_mj_ai_agent_run_timeline_4_Template_mj_ai_agent_run_timeline_itemSelected_0_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r2 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r2.selectItem($event)); })("navigateToEntity", function AIAgentRunTimelineComponent_div_0_div_1_ng_container_1_div_2_mj_ai_agent_run_timeline_4_Template_mj_ai_agent_run_timeline_navigateToEntity_0_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r2 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r2.navigateToEntity.emit($event)); });
|
|
70
|
+
i0.ɵɵelementEnd();
|
|
71
|
+
} if (rf & 2) {
|
|
72
|
+
const item_r2 = i0.ɵɵnextContext(2).$implicit;
|
|
73
|
+
i0.ɵɵproperty("aiAgentRunId", item_r2.data.ID)("autoRefresh", false);
|
|
74
|
+
} }
|
|
75
|
+
function AIAgentRunTimelineComponent_div_0_div_1_ng_container_1_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
76
|
+
i0.ɵɵelementStart(0, "div", 10);
|
|
77
|
+
i0.ɵɵtemplate(1, AIAgentRunTimelineComponent_div_0_div_1_ng_container_1_div_2_div_1_Template, 3, 0, "div", 11)(2, AIAgentRunTimelineComponent_div_0_div_1_ng_container_1_div_2_div_2_Template, 3, 0, "div", 12)(3, AIAgentRunTimelineComponent_div_0_div_1_ng_container_1_div_2_ng_container_3_Template, 2, 1, "ng-container", 13)(4, AIAgentRunTimelineComponent_div_0_div_1_ng_container_1_div_2_mj_ai_agent_run_timeline_4_Template, 1, 2, "mj-ai-agent-run-timeline", 14);
|
|
78
|
+
i0.ɵɵelementEnd();
|
|
79
|
+
} if (rf & 2) {
|
|
80
|
+
const item_r2 = i0.ɵɵnextContext().$implicit;
|
|
81
|
+
i0.ɵɵadvance();
|
|
82
|
+
i0.ɵɵproperty("ngIf", item_r2.type === "step" && !item_r2.childrenLoaded);
|
|
83
|
+
i0.ɵɵadvance();
|
|
84
|
+
i0.ɵɵproperty("ngIf", item_r2.type === "step" && item_r2.childrenLoaded && item_r2.hasNoChildren);
|
|
85
|
+
i0.ɵɵadvance();
|
|
86
|
+
i0.ɵɵproperty("ngIf", item_r2.type === "step" && item_r2.childrenLoaded && item_r2.children && item_r2.children.length > 0);
|
|
87
|
+
i0.ɵɵadvance();
|
|
88
|
+
i0.ɵɵproperty("ngIf", item_r2.type === "subrun" && (item_r2.data == null ? null : item_r2.data.ID));
|
|
89
|
+
} }
|
|
90
|
+
function AIAgentRunTimelineComponent_div_0_div_1_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
91
|
+
const _r1 = i0.ɵɵgetCurrentView();
|
|
92
|
+
i0.ɵɵelementContainerStart(0);
|
|
93
|
+
i0.ɵɵelementStart(1, "mj-ai-agent-run-step-node", 8);
|
|
94
|
+
i0.ɵɵlistener("itemClick", function AIAgentRunTimelineComponent_div_0_div_1_ng_container_1_Template_mj_ai_agent_run_step_node_itemClick_1_listener() { const item_r2 = i0.ɵɵrestoreView(_r1).$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.selectItem(item_r2)); })("expandToggle", function AIAgentRunTimelineComponent_div_0_div_1_ng_container_1_Template_mj_ai_agent_run_step_node_expandToggle_1_listener($event) { const item_r2 = i0.ɵɵrestoreView(_r1).$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.toggleItemExpansion(item_r2, $event)); })("navigateToEntity", function AIAgentRunTimelineComponent_div_0_div_1_ng_container_1_Template_mj_ai_agent_run_step_node_navigateToEntity_1_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.navigateToEntity.emit($event)); });
|
|
95
|
+
i0.ɵɵelementEnd();
|
|
96
|
+
i0.ɵɵtemplate(2, AIAgentRunTimelineComponent_div_0_div_1_ng_container_1_div_2_Template, 5, 4, "div", 9);
|
|
97
|
+
i0.ɵɵelementContainerEnd();
|
|
98
|
+
} if (rf & 2) {
|
|
99
|
+
const item_r2 = ctx.$implicit;
|
|
100
|
+
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
101
|
+
i0.ɵɵadvance();
|
|
102
|
+
i0.ɵɵproperty("item", item_r2)("isSelected", (ctx_r2.selectedItem == null ? null : ctx_r2.selectedItem.id) === item_r2.id);
|
|
103
|
+
i0.ɵɵadvance();
|
|
104
|
+
i0.ɵɵproperty("ngIf", (item_r2.type === "subrun" || item_r2.type === "step" && (item_r2.data == null ? null : item_r2.data.StepType) === "subagent") && item_r2.isExpanded);
|
|
105
|
+
} }
|
|
106
|
+
function AIAgentRunTimelineComponent_div_0_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
107
|
+
i0.ɵɵelementStart(0, "div", 6);
|
|
108
|
+
i0.ɵɵtemplate(1, AIAgentRunTimelineComponent_div_0_div_1_ng_container_1_Template, 3, 3, "ng-container", 7);
|
|
109
|
+
i0.ɵɵelementEnd();
|
|
110
|
+
} if (rf & 2) {
|
|
111
|
+
const items_r9 = i0.ɵɵnextContext().ngIf;
|
|
112
|
+
i0.ɵɵadvance();
|
|
113
|
+
i0.ɵɵproperty("ngForOf", items_r9);
|
|
114
|
+
} }
|
|
115
|
+
function AIAgentRunTimelineComponent_div_0_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
116
|
+
i0.ɵɵelementStart(0, "div", 22);
|
|
117
|
+
i0.ɵɵelement(1, "i", 23);
|
|
118
|
+
i0.ɵɵelementStart(2, "p");
|
|
119
|
+
i0.ɵɵtext(3, "No execution steps found");
|
|
120
|
+
i0.ɵɵelementEnd()();
|
|
121
|
+
} }
|
|
122
|
+
function AIAgentRunTimelineComponent_div_0_Template(rf, ctx) { if (rf & 1) {
|
|
123
|
+
i0.ɵɵelementStart(0, "div", 3);
|
|
124
|
+
i0.ɵɵtemplate(1, AIAgentRunTimelineComponent_div_0_div_1_Template, 2, 1, "div", 4)(2, AIAgentRunTimelineComponent_div_0_div_2_Template, 4, 0, "div", 5);
|
|
125
|
+
i0.ɵɵelementEnd();
|
|
126
|
+
} if (rf & 2) {
|
|
127
|
+
const items_r9 = ctx.ngIf;
|
|
128
|
+
i0.ɵɵadvance();
|
|
129
|
+
i0.ɵɵproperty("ngIf", items_r9.length > 0);
|
|
130
|
+
i0.ɵɵadvance();
|
|
131
|
+
i0.ɵɵproperty("ngIf", items_r9.length === 0);
|
|
132
|
+
} }
|
|
133
|
+
function AIAgentRunTimelineComponent_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
134
|
+
i0.ɵɵelementStart(0, "div", 24);
|
|
135
|
+
i0.ɵɵelement(1, "i", 25);
|
|
136
|
+
i0.ɵɵelementStart(2, "p");
|
|
137
|
+
i0.ɵɵtext(3, "Loading timeline...");
|
|
138
|
+
i0.ɵɵelementEnd()();
|
|
139
|
+
} }
|
|
140
|
+
function AIAgentRunTimelineComponent_div_3_Template(rf, ctx) { if (rf & 1) {
|
|
141
|
+
i0.ɵɵelementStart(0, "div", 26);
|
|
142
|
+
i0.ɵɵelement(1, "i", 27);
|
|
143
|
+
i0.ɵɵelementStart(2, "p");
|
|
144
|
+
i0.ɵɵtext(3);
|
|
145
|
+
i0.ɵɵelementEnd()();
|
|
146
|
+
} if (rf & 2) {
|
|
147
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
148
|
+
i0.ɵɵadvance(3);
|
|
149
|
+
i0.ɵɵtextInterpolate(ctx_r2.error);
|
|
150
|
+
} }
|
|
151
|
+
export class AIAgentRunTimelineComponent {
|
|
152
|
+
constructor(router) {
|
|
153
|
+
this.router = router;
|
|
154
|
+
this.autoRefresh = false;
|
|
155
|
+
this.refreshInterval = 5000;
|
|
156
|
+
this.itemSelected = new EventEmitter();
|
|
157
|
+
this.navigateToEntity = new EventEmitter();
|
|
158
|
+
this.destroy$ = new Subject();
|
|
159
|
+
// Observable subjects
|
|
160
|
+
this.stepsSubject$ = new BehaviorSubject([]);
|
|
161
|
+
this.subRunsSubject$ = new BehaviorSubject([]);
|
|
162
|
+
this.actionLogsSubject$ = new BehaviorSubject([]);
|
|
163
|
+
this.promptRunsSubject$ = new BehaviorSubject([]);
|
|
164
|
+
// Public observables
|
|
165
|
+
this.steps$ = this.stepsSubject$.asObservable();
|
|
166
|
+
this.subRuns$ = this.subRunsSubject$.asObservable();
|
|
167
|
+
this.actionLogs$ = this.actionLogsSubject$.asObservable();
|
|
168
|
+
this.promptRuns$ = this.promptRunsSubject$.asObservable();
|
|
169
|
+
this.loading = false;
|
|
170
|
+
this.error = null;
|
|
171
|
+
this.selectedItem = null;
|
|
172
|
+
// Combine all data sources to build timeline
|
|
173
|
+
this.timelineItems$ = combineLatest([
|
|
174
|
+
this.steps$,
|
|
175
|
+
this.subRuns$,
|
|
176
|
+
this.actionLogs$,
|
|
177
|
+
this.promptRuns$
|
|
178
|
+
]).pipe(map(([steps, subRuns, actionLogs, promptRuns]) => this.buildTimelineItems(steps, subRuns, actionLogs, promptRuns)), shareReplay(1));
|
|
179
|
+
}
|
|
180
|
+
ngOnInit() {
|
|
181
|
+
if (this.aiAgentRunId) {
|
|
182
|
+
this.loadData();
|
|
183
|
+
if (this.autoRefresh) {
|
|
184
|
+
this.startAutoRefresh();
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
ngOnDestroy() {
|
|
189
|
+
this.destroy$.next();
|
|
190
|
+
this.destroy$.complete();
|
|
191
|
+
}
|
|
192
|
+
startAutoRefresh() {
|
|
193
|
+
const interval = setInterval(() => {
|
|
194
|
+
this.loadData();
|
|
195
|
+
}, this.refreshInterval);
|
|
196
|
+
this.destroy$.subscribe(() => clearInterval(interval));
|
|
197
|
+
}
|
|
198
|
+
async loadData() {
|
|
199
|
+
if (!this.aiAgentRunId)
|
|
200
|
+
return;
|
|
201
|
+
this.loading = true;
|
|
202
|
+
this.error = null;
|
|
203
|
+
try {
|
|
204
|
+
await this.loadStepsAndSubRuns();
|
|
205
|
+
}
|
|
206
|
+
catch (error) {
|
|
207
|
+
this.error = 'Failed to load timeline data';
|
|
208
|
+
console.error('Error loading timeline:', error);
|
|
209
|
+
}
|
|
210
|
+
finally {
|
|
211
|
+
this.loading = false;
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
async loadStepsAndSubRuns() {
|
|
215
|
+
const rv = new RunView();
|
|
216
|
+
const [stepsResult, subRunsResult] = await rv.RunViews([
|
|
217
|
+
{
|
|
218
|
+
EntityName: 'MJ: AI Agent Run Steps',
|
|
219
|
+
ExtraFilter: `AgentRunID='${this.aiAgentRunId}'`,
|
|
220
|
+
OrderBy: 'StepNumber',
|
|
221
|
+
ResultType: 'entity_object'
|
|
222
|
+
},
|
|
223
|
+
{
|
|
224
|
+
EntityName: 'MJ: AI Agent Runs',
|
|
225
|
+
ExtraFilter: `ParentRunID='${this.aiAgentRunId}'`,
|
|
226
|
+
OrderBy: 'StartedAt',
|
|
227
|
+
ResultType: 'entity_object'
|
|
228
|
+
}
|
|
229
|
+
]);
|
|
230
|
+
if (stepsResult.Success) {
|
|
231
|
+
const steps = stepsResult.Results || [];
|
|
232
|
+
this.stepsSubject$.next(steps);
|
|
233
|
+
// Load action logs for action steps
|
|
234
|
+
const actionSteps = steps.filter(s => s.StepType === 'action' || s.StepType === 'tool');
|
|
235
|
+
if (actionSteps.length > 0) {
|
|
236
|
+
await this.loadActionLogs(actionSteps);
|
|
237
|
+
}
|
|
238
|
+
// Load prompt runs for prompt steps
|
|
239
|
+
const promptSteps = steps.filter(s => s.StepType === 'prompt');
|
|
240
|
+
if (promptSteps.length > 0) {
|
|
241
|
+
await this.loadPromptRuns(promptSteps);
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
if (subRunsResult.Success) {
|
|
245
|
+
const subRuns = subRunsResult.Results || [];
|
|
246
|
+
this.subRunsSubject$.next(subRuns);
|
|
247
|
+
// For each sub-run that has its own sub-runs, we'll need to handle that in the component
|
|
248
|
+
// This creates the hierarchical structure
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
async loadActionLogs(steps) {
|
|
252
|
+
const actionIds = steps
|
|
253
|
+
.map(s => s.TargetID)
|
|
254
|
+
.filter(id => id != null);
|
|
255
|
+
if (actionIds.length === 0)
|
|
256
|
+
return;
|
|
257
|
+
const rv = new RunView();
|
|
258
|
+
const result = await rv.RunView({
|
|
259
|
+
EntityName: 'Action Execution Logs',
|
|
260
|
+
ExtraFilter: `ActionID IN ('${actionIds.join("','")}')`,
|
|
261
|
+
OrderBy: 'StartedAt',
|
|
262
|
+
ResultType: 'entity_object'
|
|
263
|
+
});
|
|
264
|
+
if (result.Success) {
|
|
265
|
+
this.actionLogsSubject$.next(result.Results || []);
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
async loadPromptRuns(steps) {
|
|
269
|
+
const promptIds = steps
|
|
270
|
+
.map(s => s.TargetID)
|
|
271
|
+
.filter(id => id != null);
|
|
272
|
+
if (promptIds.length === 0)
|
|
273
|
+
return;
|
|
274
|
+
const rv = new RunView();
|
|
275
|
+
const result = await rv.RunView({
|
|
276
|
+
EntityName: 'MJ: AI Prompt Runs',
|
|
277
|
+
ExtraFilter: `ID IN ('${promptIds.join("','")}')`,
|
|
278
|
+
OrderBy: '__mj_CreatedAt',
|
|
279
|
+
ResultType: 'entity_object'
|
|
280
|
+
});
|
|
281
|
+
if (result.Success) {
|
|
282
|
+
this.promptRunsSubject$.next(result.Results || []);
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
buildTimelineItems(steps, subRuns, actionLogs, promptRuns) {
|
|
286
|
+
const items = [];
|
|
287
|
+
console.log('🔍 Timeline: Building items with:', {
|
|
288
|
+
stepsCount: steps.length,
|
|
289
|
+
subRunsCount: subRuns.length,
|
|
290
|
+
actionLogsCount: actionLogs.length,
|
|
291
|
+
promptRunsCount: promptRuns.length
|
|
292
|
+
});
|
|
293
|
+
// Build main timeline from steps
|
|
294
|
+
steps.forEach(step => {
|
|
295
|
+
const item = this.createTimelineItemFromStep(step, 0);
|
|
296
|
+
// Don't load children immediately for sub-agents
|
|
297
|
+
// They will be loaded on demand when expanded
|
|
298
|
+
items.push(item);
|
|
299
|
+
});
|
|
300
|
+
return items;
|
|
301
|
+
}
|
|
302
|
+
createTimelineItemFromStep(step, level) {
|
|
303
|
+
return {
|
|
304
|
+
id: step.ID,
|
|
305
|
+
type: 'step',
|
|
306
|
+
title: step.StepName || `Step ${step.StepNumber}`,
|
|
307
|
+
subtitle: `Type: ${step.StepType}`,
|
|
308
|
+
status: step.Status,
|
|
309
|
+
startTime: step.StartedAt,
|
|
310
|
+
endTime: step.CompletedAt || undefined,
|
|
311
|
+
duration: this.calculateDuration(step.StartedAt, step.CompletedAt),
|
|
312
|
+
icon: this.getStepIcon(step.StepType),
|
|
313
|
+
color: this.getStatusColor(step.Status),
|
|
314
|
+
data: step,
|
|
315
|
+
children: [],
|
|
316
|
+
level,
|
|
317
|
+
isExpanded: false
|
|
318
|
+
};
|
|
319
|
+
}
|
|
320
|
+
createTimelineItemFromSubRun(run, level) {
|
|
321
|
+
return {
|
|
322
|
+
id: run.ID,
|
|
323
|
+
type: 'subrun',
|
|
324
|
+
title: `Sub-Agent Run`,
|
|
325
|
+
subtitle: `Agent: ${run.Agent || 'Unknown'}`,
|
|
326
|
+
status: run.Status,
|
|
327
|
+
startTime: run.StartedAt,
|
|
328
|
+
endTime: run.CompletedAt || undefined,
|
|
329
|
+
duration: this.calculateDuration(run.StartedAt, run.CompletedAt),
|
|
330
|
+
icon: 'fa-robot',
|
|
331
|
+
color: this.getStatusColor(run.Status),
|
|
332
|
+
data: run,
|
|
333
|
+
level,
|
|
334
|
+
isExpanded: false
|
|
335
|
+
};
|
|
336
|
+
}
|
|
337
|
+
createTimelineItemFromActionLog(log, level) {
|
|
338
|
+
return {
|
|
339
|
+
id: log.ID,
|
|
340
|
+
type: 'action',
|
|
341
|
+
title: log.Action || 'Action',
|
|
342
|
+
subtitle: `Code: ${log.ResultCode || 'N/A'}`,
|
|
343
|
+
status: log.ResultCode === 'Success' ? 'Completed' : 'Failed',
|
|
344
|
+
startTime: log.StartedAt,
|
|
345
|
+
endTime: log.EndedAt || undefined,
|
|
346
|
+
duration: this.calculateDuration(log.StartedAt, log.EndedAt),
|
|
347
|
+
icon: 'fa-cog',
|
|
348
|
+
color: log.ResultCode === 'Success' ? 'success' : 'error',
|
|
349
|
+
data: log,
|
|
350
|
+
level
|
|
351
|
+
};
|
|
352
|
+
}
|
|
353
|
+
createTimelineItemFromPromptRun(run, level) {
|
|
354
|
+
return {
|
|
355
|
+
id: run.ID,
|
|
356
|
+
type: 'prompt',
|
|
357
|
+
title: run.Prompt || 'Prompt Run',
|
|
358
|
+
subtitle: `Model: ${run.Model || 'Unknown'}`,
|
|
359
|
+
status: 'Completed',
|
|
360
|
+
startTime: run.__mj_CreatedAt,
|
|
361
|
+
endTime: run.__mj_UpdatedAt,
|
|
362
|
+
duration: this.calculateDuration(run.__mj_CreatedAt, run.__mj_UpdatedAt),
|
|
363
|
+
icon: 'fa-microchip',
|
|
364
|
+
color: 'info',
|
|
365
|
+
data: run,
|
|
366
|
+
level
|
|
367
|
+
};
|
|
368
|
+
}
|
|
369
|
+
getStepIcon(stepType) {
|
|
370
|
+
const iconMap = {
|
|
371
|
+
'prompt': 'fa-microchip',
|
|
372
|
+
'tool': 'fa-tools',
|
|
373
|
+
'subagent': 'fa-robot',
|
|
374
|
+
'decision': 'fa-code-branch',
|
|
375
|
+
'action': 'fa-cog'
|
|
376
|
+
};
|
|
377
|
+
return iconMap[stepType] || 'fa-circle';
|
|
378
|
+
}
|
|
379
|
+
getStatusColor(status) {
|
|
380
|
+
const colorMap = {
|
|
381
|
+
'Running': 'info',
|
|
382
|
+
'Completed': 'success',
|
|
383
|
+
'Failed': 'error',
|
|
384
|
+
'Cancelled': 'warning',
|
|
385
|
+
'Paused': 'secondary'
|
|
386
|
+
};
|
|
387
|
+
return colorMap[status] || 'secondary';
|
|
388
|
+
}
|
|
389
|
+
calculateDuration(start, end) {
|
|
390
|
+
if (!end)
|
|
391
|
+
return 'Running...';
|
|
392
|
+
const startTime = new Date(start).getTime();
|
|
393
|
+
const endTime = new Date(end).getTime();
|
|
394
|
+
const duration = endTime - startTime;
|
|
395
|
+
if (duration < 1000)
|
|
396
|
+
return `${duration}ms`;
|
|
397
|
+
if (duration < 60000)
|
|
398
|
+
return `${(duration / 1000).toFixed(1)}s`;
|
|
399
|
+
if (duration < 3600000)
|
|
400
|
+
return `${Math.floor(duration / 60000)}m ${Math.floor((duration % 60000) / 1000)}s`;
|
|
401
|
+
return `${Math.floor(duration / 3600000)}h ${Math.floor((duration % 3600000) / 60000)}m`;
|
|
402
|
+
}
|
|
403
|
+
selectItem(item) {
|
|
404
|
+
this.selectedItem = item;
|
|
405
|
+
this.itemSelected.emit(item);
|
|
406
|
+
}
|
|
407
|
+
async toggleItemExpansion(item, event) {
|
|
408
|
+
event.stopPropagation();
|
|
409
|
+
console.log('🔄 Timeline: Toggling expansion for item:', {
|
|
410
|
+
id: item.id,
|
|
411
|
+
type: item.type,
|
|
412
|
+
title: item.title,
|
|
413
|
+
wasExpanded: item.isExpanded,
|
|
414
|
+
willBeExpanded: !item.isExpanded,
|
|
415
|
+
hasData: !!item.data,
|
|
416
|
+
dataId: item.data?.ID,
|
|
417
|
+
childrenLoaded: item.childrenLoaded
|
|
418
|
+
});
|
|
419
|
+
// Toggle expansion state
|
|
420
|
+
item.isExpanded = !item.isExpanded;
|
|
421
|
+
// If expanding and children not loaded yet, load them
|
|
422
|
+
if (item.isExpanded && !item.childrenLoaded && item.type === 'step' && item.data?.StepType === 'subagent') {
|
|
423
|
+
await this.loadSubAgentChildren(item);
|
|
424
|
+
}
|
|
425
|
+
}
|
|
426
|
+
async loadSubAgentChildren(item) {
|
|
427
|
+
console.log('🔄 Timeline: Loading children for sub-agent step:', item.id);
|
|
428
|
+
try {
|
|
429
|
+
const rv = new RunView();
|
|
430
|
+
// For a sub-agent step, we need to find the steps from sub-runs
|
|
431
|
+
// that have the current agent run as their parent
|
|
432
|
+
const stepsResult = await rv.RunView({
|
|
433
|
+
EntityName: 'MJ: AI Agent Run Steps',
|
|
434
|
+
ExtraFilter: `AgentRunID IN (SELECT ID FROM __mj.vwAIAgentRuns WHERE ParentRunID = '${this.aiAgentRunId}')`,
|
|
435
|
+
OrderBy: 'StepNumber',
|
|
436
|
+
ResultType: 'entity_object'
|
|
437
|
+
});
|
|
438
|
+
if (stepsResult.Success && stepsResult.Results && stepsResult.Results.length > 0) {
|
|
439
|
+
console.log(`🔄 Timeline: Found ${stepsResult.Results.length} sub-agent steps`);
|
|
440
|
+
// Group steps by their AgentRunID to create a hierarchy
|
|
441
|
+
const stepsByRun = new Map();
|
|
442
|
+
stepsResult.Results.forEach(step => {
|
|
443
|
+
const runId = step.AgentRunID;
|
|
444
|
+
if (!stepsByRun.has(runId)) {
|
|
445
|
+
stepsByRun.set(runId, []);
|
|
446
|
+
}
|
|
447
|
+
stepsByRun.get(runId).push(step);
|
|
448
|
+
});
|
|
449
|
+
// Create timeline items directly from steps (no intermediate node)
|
|
450
|
+
item.children = [];
|
|
451
|
+
for (const [runId, steps] of stepsByRun) {
|
|
452
|
+
// Add steps directly as children, no intermediate container
|
|
453
|
+
const childSteps = steps.map(step => this.createTimelineItemFromStep(step, item.level + 1));
|
|
454
|
+
item.children.push(...childSteps);
|
|
455
|
+
}
|
|
456
|
+
}
|
|
457
|
+
else {
|
|
458
|
+
console.log('🔄 Timeline: No sub-agent steps found');
|
|
459
|
+
item.hasNoChildren = true;
|
|
460
|
+
item.children = [];
|
|
461
|
+
}
|
|
462
|
+
item.childrenLoaded = true;
|
|
463
|
+
}
|
|
464
|
+
catch (error) {
|
|
465
|
+
console.error('🔄 Timeline: Error loading sub-agent children:', error);
|
|
466
|
+
item.hasNoChildren = true;
|
|
467
|
+
item.childrenLoaded = true;
|
|
468
|
+
}
|
|
469
|
+
}
|
|
470
|
+
navigateToSubRun(runId, event) {
|
|
471
|
+
event.stopPropagation();
|
|
472
|
+
this.navigateToEntity.emit({ entityName: 'MJ: AI Agent Runs', recordId: runId });
|
|
473
|
+
}
|
|
474
|
+
navigateToActionLog(logId, event) {
|
|
475
|
+
event.stopPropagation();
|
|
476
|
+
this.navigateToEntity.emit({ entityName: 'Action Execution Logs', recordId: logId });
|
|
477
|
+
}
|
|
478
|
+
navigateToPromptRun(runId, event) {
|
|
479
|
+
event.stopPropagation();
|
|
480
|
+
this.navigateToEntity.emit({ entityName: 'MJ: AI Prompt Runs', recordId: runId });
|
|
481
|
+
}
|
|
482
|
+
static { this.ɵfac = function AIAgentRunTimelineComponent_Factory(t) { return new (t || AIAgentRunTimelineComponent)(i0.ɵɵdirectiveInject(i1.Router)); }; }
|
|
483
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AIAgentRunTimelineComponent, selectors: [["mj-ai-agent-run-timeline"]], inputs: { aiAgentRunId: "aiAgentRunId", autoRefresh: "autoRefresh", refreshInterval: "refreshInterval" }, outputs: { itemSelected: "itemSelected", navigateToEntity: "navigateToEntity" }, decls: 4, vars: 5, consts: [["class", "timeline-container", 4, "ngIf"], ["class", "loading-state", 4, "ngIf"], ["class", "error-state", 4, "ngIf"], [1, "timeline-container"], ["class", "timeline", 4, "ngIf"], ["class", "empty-state", 4, "ngIf"], [1, "timeline"], [4, "ngFor", "ngForOf"], [3, "itemClick", "expandToggle", "navigateToEntity", "item", "isSelected"], ["class", "sub-timeline", 4, "ngIf"], [1, "sub-timeline"], ["class", "loading-children", 4, "ngIf"], ["class", "no-children", 4, "ngIf"], [4, "ngIf"], [3, "aiAgentRunId", "autoRefresh", "itemSelected", "navigateToEntity", 4, "ngIf"], [1, "loading-children"], [1, "fas", "fa-spinner", "fa-spin"], [1, "no-children"], [1, "fas", "fa-info-circle"], ["class", "sub-run-steps", 4, "ngIf"], [1, "sub-run-steps"], [3, "itemSelected", "navigateToEntity", "aiAgentRunId", "autoRefresh"], [1, "empty-state"], [1, "fas", "fa-stream", "fa-3x"], [1, "loading-state"], [1, "fas", "fa-spinner", "fa-spin", "fa-2x"], [1, "error-state"], [1, "fas", "fa-exclamation-triangle", "fa-2x"]], template: function AIAgentRunTimelineComponent_Template(rf, ctx) { if (rf & 1) {
|
|
484
|
+
i0.ɵɵtemplate(0, AIAgentRunTimelineComponent_div_0_Template, 3, 2, "div", 0);
|
|
485
|
+
i0.ɵɵpipe(1, "async");
|
|
486
|
+
i0.ɵɵtemplate(2, AIAgentRunTimelineComponent_div_2_Template, 4, 0, "div", 1)(3, AIAgentRunTimelineComponent_div_3_Template, 4, 1, "div", 2);
|
|
487
|
+
} if (rf & 2) {
|
|
488
|
+
i0.ɵɵproperty("ngIf", !ctx.loading && i0.ɵɵpipeBind1(1, 3, ctx.timelineItems$));
|
|
489
|
+
i0.ɵɵadvance(2);
|
|
490
|
+
i0.ɵɵproperty("ngIf", ctx.loading);
|
|
491
|
+
i0.ɵɵadvance();
|
|
492
|
+
i0.ɵɵproperty("ngIf", ctx.error);
|
|
493
|
+
} }, styles: [".timeline-container[_ngcontent-%COMP%] {\n height: 100%;\n overflow-y: auto;\n padding: 20px;\n}\n\n.timeline[_ngcontent-%COMP%] {\n position: relative;\n padding-left: 40px; \n\n}\n\n.sub-timeline[_ngcontent-%COMP%] {\n margin-left: 24px;\n margin-top: 8px;\n padding-left: 12px;\n border-left: 2px dashed #e0e6ed;\n}\n\n\n\n.empty-state[_ngcontent-%COMP%], \n.loading-state[_ngcontent-%COMP%], \n.error-state[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n height: 100%;\n color: #6c757d;\n gap: 16px;\n}\n\n.error-state[_ngcontent-%COMP%] {\n color: #dc3545;\n}\n\n\n\n.loading-children[_ngcontent-%COMP%], \n.no-children[_ngcontent-%COMP%] {\n padding: 12px 20px;\n margin-left: 60px;\n color: #6c757d;\n font-size: 13px;\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.loading-children[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: #2196f3;\n}\n\n.no-children[_ngcontent-%COMP%] {\n color: #868e96;\n font-style: italic;\n}\n\n.no-children[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: #adb5bd;\n}\n\n\n\n.sub-run-steps[_ngcontent-%COMP%] {\n margin-left: 20px;\n padding-left: 20px;\n border-left: 2px solid #e9ecef;\n margin-top: 8px;\n}"] }); }
|
|
494
|
+
}
|
|
495
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AIAgentRunTimelineComponent, [{
|
|
496
|
+
type: Component,
|
|
497
|
+
args: [{ selector: 'mj-ai-agent-run-timeline', template: "<div class=\"timeline-container\" *ngIf=\"!loading && (timelineItems$ | async) as items\">\n <div class=\"timeline\" *ngIf=\"items.length > 0\">\n <ng-container *ngFor=\"let item of items\">\n <!-- Main Timeline Item -->\n <mj-ai-agent-run-step-node\n [item]=\"item\"\n [isSelected]=\"selectedItem?.id === item.id\"\n (itemClick)=\"selectItem(item)\"\n (expandToggle)=\"toggleItemExpansion(item, $event)\"\n (navigateToEntity)=\"navigateToEntity.emit($event)\">\n </mj-ai-agent-run-step-node>\n \n <!-- Sub-Run Timeline (Recursive) -->\n <div class=\"sub-timeline\" *ngIf=\"(item.type === 'subrun' || (item.type === 'step' && item.data?.StepType === 'subagent')) && item.isExpanded\">\n <!-- Show loading indicator while loading children -->\n <div class=\"loading-children\" *ngIf=\"item.type === 'step' && !item.childrenLoaded\">\n <i class=\"fas fa-spinner fa-spin\"></i> Loading sub-agent steps...\n </div>\n \n <!-- Show no children message -->\n <div class=\"no-children\" *ngIf=\"item.type === 'step' && item.childrenLoaded && item.hasNoChildren\">\n <i class=\"fas fa-info-circle\"></i> No sub-agent steps found\n </div>\n \n <!-- For sub-agent steps that have loaded children -->\n <ng-container *ngIf=\"item.type === 'step' && item.childrenLoaded && item.children && item.children.length > 0\">\n <ng-container *ngFor=\"let child of item.children\">\n <!-- Render the sub-run container with its steps -->\n <mj-ai-agent-run-step-node\n [item]=\"child\"\n [isSelected]=\"selectedItem?.id === child.id\"\n (itemClick)=\"selectItem(child)\"\n (expandToggle)=\"toggleItemExpansion(child, $event)\"\n (navigateToEntity)=\"navigateToEntity.emit($event)\">\n </mj-ai-agent-run-step-node>\n \n <!-- Show the steps within this sub-run when expanded -->\n <div class=\"sub-run-steps\" *ngIf=\"child.isExpanded && child.children\">\n <ng-container *ngFor=\"let step of child.children\">\n <mj-ai-agent-run-step-node\n [item]=\"step\"\n [isSelected]=\"selectedItem?.id === step.id\"\n (itemClick)=\"selectItem(step)\"\n (expandToggle)=\"toggleItemExpansion(step, $event)\"\n (navigateToEntity)=\"navigateToEntity.emit($event)\">\n </mj-ai-agent-run-step-node>\n </ng-container>\n </div>\n </ng-container>\n </ng-container>\n \n <!-- For actual sub-run items (from the initial load) -->\n <mj-ai-agent-run-timeline\n *ngIf=\"item.type === 'subrun' && item.data?.ID\"\n [aiAgentRunId]=\"item.data.ID\"\n [autoRefresh]=\"false\"\n (itemSelected)=\"selectItem($event)\"\n (navigateToEntity)=\"navigateToEntity.emit($event)\">\n </mj-ai-agent-run-timeline>\n </div>\n </ng-container>\n </div>\n \n <div class=\"empty-state\" *ngIf=\"items.length === 0\">\n <i class=\"fas fa-stream fa-3x\"></i>\n <p>No execution steps found</p>\n </div>\n</div>\n\n<div class=\"loading-state\" *ngIf=\"loading\">\n <i class=\"fas fa-spinner fa-spin fa-2x\"></i>\n <p>Loading timeline...</p>\n</div>\n\n<div class=\"error-state\" *ngIf=\"error\">\n <i class=\"fas fa-exclamation-triangle fa-2x\"></i>\n <p>{{ error }}</p>\n</div>", styles: [".timeline-container {\n height: 100%;\n overflow-y: auto;\n padding: 20px;\n}\n\n.timeline {\n position: relative;\n padding-left: 40px; /* Add padding to accommodate expand buttons */\n}\n\n.sub-timeline {\n margin-left: 24px;\n margin-top: 8px;\n padding-left: 12px;\n border-left: 2px dashed #e0e6ed;\n}\n\n/* State Displays */\n.empty-state,\n.loading-state,\n.error-state {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n height: 100%;\n color: #6c757d;\n gap: 16px;\n}\n\n.error-state {\n color: #dc3545;\n}\n\n/* Loading and No Children States */\n.loading-children,\n.no-children {\n padding: 12px 20px;\n margin-left: 60px;\n color: #6c757d;\n font-size: 13px;\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.loading-children i {\n color: #2196f3;\n}\n\n.no-children {\n color: #868e96;\n font-style: italic;\n}\n\n.no-children i {\n color: #adb5bd;\n}\n\n/* Sub-run steps container */\n.sub-run-steps {\n margin-left: 20px;\n padding-left: 20px;\n border-left: 2px solid #e9ecef;\n margin-top: 8px;\n}"] }]
|
|
498
|
+
}], () => [{ type: i1.Router }], { aiAgentRunId: [{
|
|
499
|
+
type: Input
|
|
500
|
+
}], autoRefresh: [{
|
|
501
|
+
type: Input
|
|
502
|
+
}], refreshInterval: [{
|
|
503
|
+
type: Input
|
|
504
|
+
}], itemSelected: [{
|
|
505
|
+
type: Output
|
|
506
|
+
}], navigateToEntity: [{
|
|
507
|
+
type: Output
|
|
508
|
+
}] }); })();
|
|
509
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(AIAgentRunTimelineComponent, { className: "AIAgentRunTimelineComponent", filePath: "src/lib/custom/ai-agent-run/ai-agent-run-timeline.component.ts", lineNumber: 33 }); })();
|
|
510
|
+
//# sourceMappingURL=ai-agent-run-timeline.component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai-agent-run-timeline.component.js","sourceRoot":"","sources":["../../../../src/lib/custom/ai-agent-run/ai-agent-run-timeline.component.ts","../../../../src/lib/custom/ai-agent-run/ai-agent-run-timeline.component.html"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAqB,MAAM,eAAe,CAAC;AAC1F,OAAO,EAAE,OAAO,EAAc,eAAe,EAAE,aAAa,EAAE,MAAM,MAAM,CAAC;AAC3E,OAAO,EAAa,GAAG,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7D,OAAO,EAAY,OAAO,EAAE,MAAM,sBAAsB,CAAC;;;;ICWjD,+BAAmF;IACjF,wBAAsC;IAAC,4CACzC;IAAA,iBAAM;;;IAGN,+BAAmG;IACjG,wBAAkC;IAAC,0CACrC;IAAA,iBAAM;;;;IAgBA,6BAAkD;IAChD,oDAKqD;IAAnD,AADA,AADA,2TAAa,0BAAgB,KAAC,0TACd,2CAAiC,KAAC,wSAC9B,oCAA6B,KAAC;IACpD,iBAA4B;;;;;IAL1B,cAAa;IACb,AADA,8BAAa,4FAC8B;;;IAJjD,+BAAsE;IACpE,mKAAkD;IASpD,iBAAM;;;IAT2B,cAAiB;IAAjB,2CAAiB;;;;IAZpD,6BAAkD;IAEhD,oDAKqD;IAAnD,AADA,AADA,uSAAa,2BAAiB,KAAC,sSACf,4CAAkC,KAAC,mRAC/B,oCAA6B,KAAC;IACpD,iBAA4B;IAG5B,4IAAsE;;;;;IARpE,cAAc;IACd,AADA,+BAAc,6FAC8B;IAOlB,cAAwC;IAAxC,+DAAwC;;;IAZxE,6BAA+G;IAC7G,8IAAkD;;;;IAAlB,cAAgB;IAAhB,0CAAgB;;;;IA0BlD,oDAKqD;IAAnD,AADA,oRAAgB,yBAAkB,KAAC,+QACf,oCAA6B,KAAC;IACpD,iBAA2B;;;IAHzB,AADA,8CAA6B,sBACR;;;IA1CzB,+BAA8I;IAuC5I,AA3BA,AALA,AALA,8GAAmF,iGAKgB,mHAKY,2IAgC1D;IAEvD,iBAAM;;;IA5C2B,cAAkD;IAAlD,yEAAkD;IAKvD,cAAuE;IAAvE,iGAAuE;IAKlF,cAA8F;IAA9F,2HAA8F;IA4B1G,cAA6C;IAA7C,mGAA6C;;;;IAnDpD,6BAAyC;IAEvC,oDAKqD;IAAnD,AADA,AADA,kQAAa,0BAAgB,KAAC,iQACd,2CAAiC,KAAC,+OAC9B,oCAA6B,KAAC;IACpD,iBAA4B;IAG5B,uGAA8I;;;;;IAR5I,cAAa;IACb,AADA,8BAAa,4FAC8B;IAOlB,cAAiH;IAAjH,2KAAiH;;;IAZhJ,8BAA+C;IAC7C,0GAAyC;IA2D3C,iBAAM;;;IA3D2B,cAAQ;IAAR,kCAAQ;;;IA6DzC,+BAAoD;IAClD,wBAAmC;IACnC,yBAAG;IAAA,wCAAwB;IAC7B,AAD6B,iBAAI,EAC3B;;;IAlER,8BAAsF;IA+DpF,AA9DA,kFAA+C,qEA8DK;IAItD,iBAAM;;;IAlEmB,cAAsB;IAAtB,0CAAsB;IA8DnB,cAAwB;IAAxB,4CAAwB;;;IAMpD,+BAA2C;IACzC,wBAA4C;IAC5C,yBAAG;IAAA,mCAAmB;IACxB,AADwB,iBAAI,EACtB;;;IAEN,+BAAuC;IACrC,wBAAiD;IACjD,yBAAG;IAAA,YAAW;IAChB,AADgB,iBAAI,EACd;;;IADD,eAAW;IAAX,kCAAW;;AD5ChB,MAAM,OAAO,2BAA2B;IA2BtC,YAAoB,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;QAzBzB,gBAAW,GAAG,KAAK,CAAC;QACpB,oBAAe,GAAG,IAAI,CAAC;QACtB,iBAAY,GAAG,IAAI,YAAY,EAAgB,CAAC;QAChD,qBAAgB,GAAG,IAAI,YAAY,EAA4C,CAAC;QAElF,aAAQ,GAAG,IAAI,OAAO,EAAQ,CAAC;QAEvC,sBAAsB;QACd,kBAAa,GAAG,IAAI,eAAe,CAAyB,EAAE,CAAC,CAAC;QAChE,oBAAe,GAAG,IAAI,eAAe,CAAqB,EAAE,CAAC,CAAC;QAC9D,uBAAkB,GAAG,IAAI,eAAe,CAA6B,EAAE,CAAC,CAAC;QACzE,uBAAkB,GAAG,IAAI,eAAe,CAAsB,EAAE,CAAC,CAAC;QAE1E,qBAAqB;QACrB,WAAM,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;QAC3C,aAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC;QAC/C,gBAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;QACrD,gBAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;QAIrD,YAAO,GAAG,KAAK,CAAC;QAChB,UAAK,GAAkB,IAAI,CAAC;QAC5B,iBAAY,GAAwB,IAAI,CAAC;QAGvC,6CAA6C;QAC7C,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;YAClC,IAAI,CAAC,MAAM;YACX,IAAI,CAAC,QAAQ;YACb,IAAI,CAAC,WAAW;YAChB,IAAI,CAAC,WAAW;SACjB,CAAC,CAAC,IAAI,CACL,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,EAAE,CAC/C,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,CAAC,CAChE,EACD,WAAW,CAAC,CAAC,CAAC,CACf,CAAC;IACJ,CAAC;IAED,QAAQ;QACN,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,IAAI,CAAC,QAAQ,EAAE,CAAC;YAEhB,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,CAAC;QACH,CAAC;IACH,CAAC;IAED,WAAW;QACT,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACrB,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;IAEO,gBAAgB;QACtB,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;YAChC,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAEzB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAO;QAE/B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAElB,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACnC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,KAAK,GAAG,8BAA8B,CAAC;YAC5C,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;QAClD,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACvB,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,mBAAmB;QAC/B,MAAM,EAAE,GAAG,IAAI,OAAO,EAAE,CAAC;QACzB,MAAM,CAAC,WAAW,EAAE,aAAa,CAAC,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC;YACrD;gBACE,UAAU,EAAE,wBAAwB;gBACpC,WAAW,EAAE,eAAe,IAAI,CAAC,YAAY,GAAG;gBAChD,OAAO,EAAE,YAAY;gBACrB,UAAU,EAAE,eAAe;aAC5B;YACD;gBACE,UAAU,EAAE,mBAAmB;gBAC/B,WAAW,EAAE,gBAAgB,IAAI,CAAC,YAAY,GAAG;gBACjD,OAAO,EAAE,WAAW;gBACpB,UAAU,EAAE,eAAe;aAC5B;SACF,CAAC,CAAC;QAEH,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;YACxB,MAAM,KAAK,GAAG,WAAW,CAAC,OAAiC,IAAI,EAAE,CAAC;YAClE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAE/B,oCAAoC;YACpC,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC;YACxF,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3B,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;YACzC,CAAC;YAED,oCAAoC;YACpC,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;YAC/D,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3B,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;QAED,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;YAC1B,MAAM,OAAO,GAAG,aAAa,CAAC,OAA6B,IAAI,EAAE,CAAC;YAClE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAEnC,yFAAyF;YACzF,0CAA0C;QAC5C,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,KAA6B;QACxD,MAAM,SAAS,GAAG,KAAK;aACpB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;aACpB,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC;QAE5B,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAEnC,MAAM,EAAE,GAAG,IAAI,OAAO,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,OAAO,CAA2B;YACxD,UAAU,EAAE,uBAAuB;YACnC,WAAW,EAAE,iBAAiB,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI;YACvD,OAAO,EAAE,WAAW;YACpB,UAAU,EAAE,eAAe;SAC5B,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,KAA6B;QACxD,MAAM,SAAS,GAAG,KAAK;aACpB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;aACpB,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC;QAE5B,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAEnC,MAAM,EAAE,GAAG,IAAI,OAAO,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,OAAO,CAAoB;YACjD,UAAU,EAAE,oBAAoB;YAChC,WAAW,EAAE,WAAW,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI;YACjD,OAAO,EAAE,gBAAgB;YACzB,UAAU,EAAE,eAAe;SAC5B,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAEO,kBAAkB,CACxB,KAA6B,EAC7B,OAA2B,EAC3B,UAAsC,EACtC,UAA+B;QAE/B,MAAM,KAAK,GAAmB,EAAE,CAAC;QAEjC,OAAO,CAAC,GAAG,CAAC,mCAAmC,EAAE;YAC/C,UAAU,EAAE,KAAK,CAAC,MAAM;YACxB,YAAY,EAAE,OAAO,CAAC,MAAM;YAC5B,eAAe,EAAE,UAAU,CAAC,MAAM;YAClC,eAAe,EAAE,UAAU,CAAC,MAAM;SACnC,CAAC,CAAC;QAEH,iCAAiC;QACjC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACnB,MAAM,IAAI,GAAG,IAAI,CAAC,0BAA0B,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAEtD,iDAAiD;YACjD,8CAA8C;YAE9C,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,0BAA0B,CAAC,IAA0B,EAAE,KAAa;QAC1E,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,IAAI,CAAC,QAAQ,IAAI,QAAQ,IAAI,CAAC,UAAU,EAAE;YACjD,QAAQ,EAAE,SAAS,IAAI,CAAC,QAAQ,EAAE;YAClC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,IAAI,CAAC,WAAW,IAAI,SAAS;YACtC,QAAQ,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC;YAClE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC;YACrC,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC;YACvC,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,EAAE;YACZ,KAAK;YACL,UAAU,EAAE,KAAK;SAClB,CAAC;IACJ,CAAC;IAEO,4BAA4B,CAAC,GAAqB,EAAE,KAAa;QACvE,OAAO;YACL,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,eAAe;YACtB,QAAQ,EAAE,UAAU,GAAG,CAAC,KAAK,IAAI,SAAS,EAAE;YAC5C,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,OAAO,EAAE,GAAG,CAAC,WAAW,IAAI,SAAS;YACrC,QAAQ,EAAE,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,WAAW,CAAC;YAChE,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC;YACtC,IAAI,EAAE,GAAG;YACT,KAAK;YACL,UAAU,EAAE,KAAK;SAClB,CAAC;IACJ,CAAC;IAEO,+BAA+B,CAAC,GAA6B,EAAE,KAAa;QAClF,OAAO;YACL,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,GAAG,CAAC,MAAM,IAAI,QAAQ;YAC7B,QAAQ,EAAE,SAAS,GAAG,CAAC,UAAU,IAAI,KAAK,EAAE;YAC5C,MAAM,EAAE,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ;YAC7D,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,SAAS;YACjC,QAAQ,EAAE,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC;YAC5D,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO;YACzD,IAAI,EAAE,GAAG;YACT,KAAK;SACN,CAAC;IACJ,CAAC;IAEO,+BAA+B,CAAC,GAAsB,EAAE,KAAa;QAC3E,OAAO;YACL,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,GAAG,CAAC,MAAM,IAAI,YAAY;YACjC,QAAQ,EAAE,UAAU,GAAG,CAAC,KAAK,IAAI,SAAS,EAAE;YAC5C,MAAM,EAAE,WAAW;YACnB,SAAS,EAAE,GAAG,CAAC,cAAc;YAC7B,OAAO,EAAE,GAAG,CAAC,cAAc;YAC3B,QAAQ,EAAE,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,cAAc,EAAE,GAAG,CAAC,cAAc,CAAC;YACxE,IAAI,EAAE,cAAc;YACpB,KAAK,EAAE,MAAM;YACb,IAAI,EAAE,GAAG;YACT,KAAK;SACN,CAAC;IACJ,CAAC;IAEO,WAAW,CAAC,QAAgB;QAClC,MAAM,OAAO,GAA2B;YACtC,QAAQ,EAAE,cAAc;YACxB,MAAM,EAAE,UAAU;YAClB,UAAU,EAAE,UAAU;YACtB,UAAU,EAAE,gBAAgB;YAC5B,QAAQ,EAAE,QAAQ;SACnB,CAAC;QACF,OAAO,OAAO,CAAC,QAAQ,CAAC,IAAI,WAAW,CAAC;IAC1C,CAAC;IAEO,cAAc,CAAC,MAAc;QACnC,MAAM,QAAQ,GAA2B;YACvC,SAAS,EAAE,MAAM;YACjB,WAAW,EAAE,SAAS;YACtB,QAAQ,EAAE,OAAO;YACjB,WAAW,EAAE,SAAS;YACtB,QAAQ,EAAE,WAAW;SACtB,CAAC;QACF,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC;IACzC,CAAC;IAED,iBAAiB,CAAC,KAAW,EAAE,GAAiB;QAC9C,IAAI,CAAC,GAAG;YAAE,OAAO,YAAY,CAAC;QAE9B,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;QAC5C,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;QACxC,MAAM,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;QAErC,IAAI,QAAQ,GAAG,IAAI;YAAE,OAAO,GAAG,QAAQ,IAAI,CAAC;QAC5C,IAAI,QAAQ,GAAG,KAAK;YAAE,OAAO,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;QAChE,IAAI,QAAQ,GAAG,OAAO;YAAE,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;QAC5G,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC;IAC3F,CAAC;IAED,UAAU,CAAC,IAAkB;QAC3B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,IAAkB,EAAE,KAAY;QACxD,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,2CAA2C,EAAE;YACvD,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,WAAW,EAAE,IAAI,CAAC,UAAU;YAC5B,cAAc,EAAE,CAAC,IAAI,CAAC,UAAU;YAChC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI;YACpB,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE;YACrB,cAAc,EAAE,IAAI,CAAC,cAAc;SACpC,CAAC,CAAC;QAEH,yBAAyB;QACzB,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;QAEnC,sDAAsD;QACtD,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,EAAE,QAAQ,KAAK,UAAU,EAAE,CAAC;YAC1G,MAAM,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAAC,IAAkB;QACnD,OAAO,CAAC,GAAG,CAAC,mDAAmD,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;QAE1E,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,IAAI,OAAO,EAAE,CAAC;YAEzB,gEAAgE;YAChE,kDAAkD;YAClD,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC,OAAO,CAAuB;gBACzD,UAAU,EAAE,wBAAwB;gBACpC,WAAW,EAAE,yEAAyE,IAAI,CAAC,YAAY,IAAI;gBAC3G,OAAO,EAAE,YAAY;gBACrB,UAAU,EAAE,eAAe;aAC5B,CAAC,CAAC;YAEH,IAAI,WAAW,CAAC,OAAO,IAAI,WAAW,CAAC,OAAO,IAAI,WAAW,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACjF,OAAO,CAAC,GAAG,CAAC,sBAAsB,WAAW,CAAC,OAAO,CAAC,MAAM,kBAAkB,CAAC,CAAC;gBAEhF,wDAAwD;gBACxD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkC,CAAC;gBAC7D,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;oBACjC,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC;oBAC9B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;wBAC3B,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;oBAC5B,CAAC;oBACD,UAAU,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACpC,CAAC,CAAC,CAAC;gBAEH,mEAAmE;gBACnE,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;gBACnB,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,UAAU,EAAE,CAAC;oBACxC,4DAA4D;oBAC5D,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,0BAA0B,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;oBAC5F,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;gBACpC,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;gBACrD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;gBAC1B,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;YACrB,CAAC;YAED,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC7B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,gDAAgD,EAAE,KAAK,CAAC,CAAC;YACvE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,gBAAgB,CAAC,KAAa,EAAE,KAAY;QAC1C,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,mBAAmB,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;IACnF,CAAC;IAED,mBAAmB,CAAC,KAAa,EAAE,KAAY;QAC7C,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,uBAAuB,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;IACvF,CAAC;IAED,mBAAmB,CAAC,KAAa,EAAE,KAAY;QAC7C,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,oBAAoB,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;IACpF,CAAC;4FAnYU,2BAA2B;oEAA3B,2BAA2B;YChCxC,4EAAsF;;YA0EtF,AALA,4EAA2C,+DAKJ;;YA1EN,+EAA2C;YAqEhD,eAAa;YAAb,kCAAa;YAKf,cAAW;YAAX,gCAAW;;;iFD1CxB,2BAA2B;cALvC,SAAS;2BACE,0BAA0B;uCAK3B,YAAY;kBAApB,KAAK;YACG,WAAW;kBAAnB,KAAK;YACG,eAAe;kBAAvB,KAAK;YACI,YAAY;kBAArB,MAAM;YACG,gBAAgB;kBAAzB,MAAM;;kFALI,2BAA2B"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { OnInit, OnDestroy, ChangeDetectorRef, ElementRef } from '@angular/core';
|
|
2
|
+
import { Router, ActivatedRoute } from '@angular/router';
|
|
3
|
+
import { AIAgentRunEntity, AIAgentEntity } from '@memberjunction/core-entities';
|
|
4
|
+
import { SharedService } from '@memberjunction/ng-shared';
|
|
5
|
+
import { TimelineItem } from './ai-agent-run-timeline.component';
|
|
6
|
+
import { AIAgentRunFormComponent } from '../../generated/Entities/AIAgentRun/aiagentrun.form.component';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
export declare class AIAgentRunFormComponentExtended extends AIAgentRunFormComponent implements OnInit, OnDestroy {
|
|
9
|
+
protected router: Router;
|
|
10
|
+
record: AIAgentRunEntity;
|
|
11
|
+
private destroy$;
|
|
12
|
+
activeTab: string;
|
|
13
|
+
selectedTimelineItem: TimelineItem | null;
|
|
14
|
+
jsonPanelExpanded: boolean;
|
|
15
|
+
loading: boolean;
|
|
16
|
+
error: string | null;
|
|
17
|
+
selectedItemJsonString: string;
|
|
18
|
+
agent: AIAgentEntity | null;
|
|
19
|
+
constructor(elementRef: ElementRef, sharedService: SharedService, router: Router, route: ActivatedRoute, cdr: ChangeDetectorRef);
|
|
20
|
+
ngOnInit(): Promise<void>;
|
|
21
|
+
ngOnDestroy(): void;
|
|
22
|
+
private loadAgent;
|
|
23
|
+
calculateDuration(start: Date, end?: Date | null): string;
|
|
24
|
+
selectTimelineItem(item: TimelineItem): void;
|
|
25
|
+
closeJsonPanel(): void;
|
|
26
|
+
navigateToSubRun(runId: string): void;
|
|
27
|
+
navigateToParentRun(): void;
|
|
28
|
+
navigateToActionLog(logId: string): void;
|
|
29
|
+
navigateToEntityRecord(event: {
|
|
30
|
+
entityName: string;
|
|
31
|
+
recordId: string;
|
|
32
|
+
}): void;
|
|
33
|
+
refreshData(): void;
|
|
34
|
+
getSelectedItemJson(): string;
|
|
35
|
+
getStatusIcon(status: string): string;
|
|
36
|
+
copyToClipboard(text: string): Promise<void>;
|
|
37
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AIAgentRunFormComponentExtended, never>;
|
|
38
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AIAgentRunFormComponentExtended, "mj-ai-agent-run-form", never, {}, {}, never, never, false, never>;
|
|
39
|
+
}
|
|
40
|
+
export declare function LoadAIAgentRunFormComponent(): void;
|
|
41
|
+
//# sourceMappingURL=ai-agent-run.component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai-agent-run.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/custom/ai-agent-run/ai-agent-run.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,MAAM,EAAE,SAAS,EAAa,iBAAiB,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACvG,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAIzD,OAAO,EAAE,gBAAgB,EAAqE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAGnJ,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,+DAA+D,CAAC;;AAExG,qBAMa,+BAAgC,SAAQ,uBAAwB,YAAW,MAAM,EAAE,SAAS;IAkBrG,SAAS,CAAC,MAAM,EAAE,MAAM;IAjBnB,MAAM,EAAG,gBAAgB,CAAC;IAEjC,OAAO,CAAC,QAAQ,CAAuB;IAGvC,SAAS,SAAc;IACvB,oBAAoB,EAAE,YAAY,GAAG,IAAI,CAAQ;IACjD,iBAAiB,UAAS;IAC1B,OAAO,UAAS;IAChB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAQ;IAC5B,sBAAsB,SAAQ;IAE9B,KAAK,EAAE,aAAa,GAAG,IAAI,CAAQ;gBAGjC,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,aAAa,EAClB,MAAM,EAAE,MAAM,EACxB,KAAK,EAAE,cAAc,EACrB,GAAG,EAAE,iBAAiB;IAKlB,QAAQ;IAQd,WAAW;YAKG,SAAS;IAevB,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,MAAM;IAUzD,kBAAkB,CAAC,IAAI,EAAE,YAAY;IAOrC,cAAc;IAMd,gBAAgB,CAAC,KAAK,EAAE,MAAM;IAI9B,mBAAmB;IAMnB,mBAAmB,CAAC,KAAK,EAAE,MAAM;IAIjC,sBAAsB,CAAC,KAAK,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE;IAItE,WAAW;IAIX,mBAAmB,IAAI,MAAM;IAK7B,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAW/B,eAAe,CAAC,IAAI,EAAE,MAAM;yCAlHvB,+BAA+B;2CAA/B,+BAA+B;CA0H3C;AAID,wBAAgB,2BAA2B,SAE1C"}
|