@memberjunction/ng-conversations 6.1.0-edge.6 → 6.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/components/dialogs/input-dialog.component.d.ts.map +1 -1
- package/dist/lib/components/dialogs/input-dialog.component.js +3 -3
- package/dist/lib/components/dialogs/input-dialog.component.js.map +1 -1
- package/dist/lib/components/message/message-input.component.js +4 -4
- package/dist/lib/components/message/message-input.component.js.map +1 -1
- package/dist/lib/components/realtime/realtime-activity-rail.component.d.ts +1 -1
- package/dist/lib/components/realtime/realtime-activity-rail.component.d.ts.map +1 -1
- package/dist/lib/components/realtime/realtime-activity-rail.component.js +2 -2
- package/dist/lib/components/realtime/realtime-activity-rail.component.js.map +1 -1
- package/dist/lib/components/realtime/realtime-agent-picker.component.d.ts +16 -1
- package/dist/lib/components/realtime/realtime-agent-picker.component.d.ts.map +1 -1
- package/dist/lib/components/realtime/realtime-agent-picker.component.js +39 -7
- package/dist/lib/components/realtime/realtime-agent-picker.component.js.map +1 -1
- package/dist/lib/components/realtime/realtime-delegation-card.component.d.ts +2 -2
- package/dist/lib/components/realtime/realtime-delegation-card.component.d.ts.map +1 -1
- package/dist/lib/components/realtime/realtime-delegation-card.component.js +159 -107
- package/dist/lib/components/realtime/realtime-delegation-card.component.js.map +1 -1
- package/dist/lib/components/realtime/realtime-session-state.d.ts +9 -4
- package/dist/lib/components/realtime/realtime-session-state.d.ts.map +1 -1
- package/dist/lib/components/realtime/realtime-session-state.js +95 -19
- package/dist/lib/components/realtime/realtime-session-state.js.map +1 -1
- package/dist/lib/services/delegation-result-parser.d.ts +5 -0
- package/dist/lib/services/delegation-result-parser.d.ts.map +1 -1
- package/dist/lib/services/delegation-result-parser.js +12 -0
- package/dist/lib/services/delegation-result-parser.js.map +1 -1
- package/dist/lib/services/realtime-session-review.service.d.ts +31 -1
- package/dist/lib/services/realtime-session-review.service.d.ts.map +1 -1
- package/dist/lib/services/realtime-session-review.service.js +63 -8
- package/dist/lib/services/realtime-session-review.service.js.map +1 -1
- package/dist/lib/services/realtime-session.service.d.ts +15 -8
- package/dist/lib/services/realtime-session.service.d.ts.map +1 -1
- package/dist/lib/services/realtime-session.service.js +62 -14
- package/dist/lib/services/realtime-session.service.js.map +1 -1
- package/package.json +31 -31
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"realtime-delegation-card.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/realtime/realtime-delegation-card.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,YAAY,EAAiB,MAAM,eAAe,CAAC;AAGvE,OAAO,EAAE,wBAAwB,EAAqB,MAAM,0BAA0B,CAAC;AACvF,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;;AAEnF;;;;;;;;;;;;;;;;GAgBG;AACH,qBAOa,+BAA+B;IAC1C,yEAAyE;IACzE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAO;IAE9C,uFAAuF;IAC5D,IAAI,EAAG,wBAAwB,CAAC;IAE3D,wEAAwE;IAC/D,OAAO,UAAS;IAEzB,mFAAmF;IACzE,gBAAgB,uBAA8B;IAExD,+FAA+F;IACrF,qBAAqB,yCAAgD;IAE/E;;;;;;OAMG;IACO,eAAe,uBAA8B;IAEvD,6EAA6E;IACtE,QAAQ,UAAS;IAExB,
|
|
1
|
+
{"version":3,"file":"realtime-delegation-card.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/realtime/realtime-delegation-card.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,YAAY,EAAiB,MAAM,eAAe,CAAC;AAGvE,OAAO,EAAE,wBAAwB,EAAqB,MAAM,0BAA0B,CAAC;AACvF,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;;AAEnF;;;;;;;;;;;;;;;;GAgBG;AACH,qBAOa,+BAA+B;IAC1C,yEAAyE;IACzE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAO;IAE9C,uFAAuF;IAC5D,IAAI,EAAG,wBAAwB,CAAC;IAE3D,wEAAwE;IAC/D,OAAO,UAAS;IAEzB,mFAAmF;IACzE,gBAAgB,uBAA8B;IAExD,+FAA+F;IACrF,qBAAqB,yCAAgD;IAE/E;;;;;;OAMG;IACO,eAAe,uBAA8B;IAEvD,6EAA6E;IACtE,QAAQ,UAAS;IAExB,4HAA4H;IAC5H,IAAW,SAAS,IAAI,wBAAwB,EAAE,CAEjD;IAED,iFAAiF;IAC1E,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,wBAAwB,GAAG,IAAI;IAKhF,+GAA+G;IAC/G,IAAW,WAAW,IAAI,OAAO,CAEhC;IAED,gEAAgE;IACzD,OAAO,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAOvC,oEAAoE;IAC7D,UAAU,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAO1C,gFAAgF;IAChF,IAAW,SAAS,IAAI,MAAM,CAE7B;IAED;;;OAGG;IACH,IAAW,cAAc,IAAI,OAAO,CAEnC;IAED,mFAAmF;IACnF,IAAW,UAAU,IAAI,MAAM,CAM9B;IAED,wEAAwE;IACxE,IAAW,aAAa,IAAI,MAAM,CAIjC;IAED,mDAAmD;IACnD,IAAW,eAAe,IAAI,MAAM,CAMnC;yCAhGU,+BAA+B;2CAA/B,+BAA+B;CAiG3C"}
|
|
@@ -6,110 +6,145 @@ import * as i0 from "@angular/core";
|
|
|
6
6
|
import * as i1 from "@angular/common";
|
|
7
7
|
import * as i2 from "@memberjunction/ng-ui-components";
|
|
8
8
|
const _forTrack0 = ($index, $item) => $item.ArtifactVersionID;
|
|
9
|
-
function
|
|
9
|
+
function RealtimeDelegationCardComponent_Conditional_0_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
10
|
+
i0.ɵɵelementStart(0, "div", 12);
|
|
11
|
+
i0.ɵɵelement(1, "i", 13);
|
|
12
|
+
i0.ɵɵelementEnd();
|
|
13
|
+
i0.ɵɵelementStart(2, "div", 14);
|
|
14
|
+
i0.ɵɵtext(3);
|
|
15
|
+
i0.ɵɵelementEnd();
|
|
16
|
+
} if (rf & 2) {
|
|
17
|
+
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
18
|
+
i0.ɵɵadvance(3);
|
|
19
|
+
i0.ɵɵtextInterpolate(ctx_r0.Card.AgentName);
|
|
20
|
+
} }
|
|
21
|
+
function RealtimeDelegationCardComponent_Conditional_0_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
22
|
+
i0.ɵɵelementStart(0, "div", 15);
|
|
23
|
+
i0.ɵɵtext(1);
|
|
24
|
+
i0.ɵɵelementEnd();
|
|
25
|
+
i0.ɵɵelementStart(2, "div", 14);
|
|
26
|
+
i0.ɵɵtext(3);
|
|
27
|
+
i0.ɵɵelementEnd();
|
|
28
|
+
} if (rf & 2) {
|
|
29
|
+
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
30
|
+
i0.ɵɵadvance();
|
|
31
|
+
i0.ɵɵtextInterpolate(ctx_r0.Card.AgentName.charAt(0));
|
|
32
|
+
i0.ɵɵadvance(2);
|
|
33
|
+
i0.ɵɵtextInterpolate1("", ctx_r0.Card.AgentName, " is working\u2026");
|
|
34
|
+
} }
|
|
35
|
+
function RealtimeDelegationCardComponent_Conditional_0_Conditional_7_Template(rf, ctx) { if (rf & 1) {
|
|
10
36
|
const _r2 = i0.ɵɵgetCurrentView();
|
|
11
|
-
i0.ɵɵelementStart(0, "button",
|
|
12
|
-
i0.ɵɵlistener("click", function
|
|
13
|
-
i0.ɵɵelement(1, "i",
|
|
37
|
+
i0.ɵɵelementStart(0, "button", 16);
|
|
38
|
+
i0.ɵɵlistener("click", function RealtimeDelegationCardComponent_Conditional_0_Conditional_7_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.OpenRun($event)); });
|
|
39
|
+
i0.ɵɵelement(1, "i", 17);
|
|
14
40
|
i0.ɵɵelementStart(2, "span");
|
|
15
41
|
i0.ɵɵtext(3, "Open run");
|
|
16
42
|
i0.ɵɵelementEnd()();
|
|
17
43
|
} }
|
|
18
|
-
function
|
|
19
|
-
i0.ɵɵ
|
|
44
|
+
function RealtimeDelegationCardComponent_Conditional_0_Conditional_8_Template(rf, ctx) { if (rf & 1) {
|
|
45
|
+
const _r3 = i0.ɵɵgetCurrentView();
|
|
46
|
+
i0.ɵɵelementStart(0, "button", 18);
|
|
47
|
+
i0.ɵɵlistener("click", function RealtimeDelegationCardComponent_Conditional_0_Conditional_8_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.CancelWork($event)); });
|
|
48
|
+
i0.ɵɵelement(1, "i", 19);
|
|
49
|
+
i0.ɵɵelementEnd();
|
|
50
|
+
} }
|
|
51
|
+
function RealtimeDelegationCardComponent_Conditional_0_Conditional_11_Template(rf, ctx) { if (rf & 1) {
|
|
52
|
+
i0.ɵɵelementStart(0, "div", 8);
|
|
20
53
|
i0.ɵɵtext(1);
|
|
21
54
|
i0.ɵɵelementEnd();
|
|
22
55
|
} if (rf & 2) {
|
|
23
|
-
const
|
|
56
|
+
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
24
57
|
i0.ɵɵadvance();
|
|
25
|
-
i0.ɵɵtextInterpolate(
|
|
58
|
+
i0.ɵɵtextInterpolate(ctx_r0.Card.LatestMessage);
|
|
26
59
|
} }
|
|
27
|
-
function
|
|
28
|
-
i0.ɵɵelement(0, "div",
|
|
60
|
+
function RealtimeDelegationCardComponent_Conditional_0_Conditional_13_Template(rf, ctx) { if (rf & 1) {
|
|
61
|
+
i0.ɵɵelement(0, "div", 20);
|
|
29
62
|
} if (rf & 2) {
|
|
30
|
-
const
|
|
31
|
-
i0.ɵɵstyleProp("width",
|
|
63
|
+
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
64
|
+
i0.ɵɵstyleProp("width", ctx_r0.Card.Percentage, "%");
|
|
32
65
|
} }
|
|
33
|
-
function
|
|
34
|
-
i0.ɵɵelement(0, "div",
|
|
66
|
+
function RealtimeDelegationCardComponent_Conditional_0_Conditional_14_Template(rf, ctx) { if (rf & 1) {
|
|
67
|
+
i0.ɵɵelement(0, "div", 11);
|
|
35
68
|
} }
|
|
36
69
|
function RealtimeDelegationCardComponent_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
37
|
-
|
|
38
|
-
i0.ɵɵ
|
|
39
|
-
i0.ɵɵ
|
|
70
|
+
i0.ɵɵelementStart(0, "div", 0)(1, "div", 2);
|
|
71
|
+
i0.ɵɵconditionalCreate(2, RealtimeDelegationCardComponent_Conditional_0_Conditional_2_Template, 4, 1)(3, RealtimeDelegationCardComponent_Conditional_0_Conditional_3_Template, 4, 2);
|
|
72
|
+
i0.ɵɵelementStart(4, "span", 3);
|
|
73
|
+
i0.ɵɵelement(5, "i", 4);
|
|
74
|
+
i0.ɵɵtext(6, " Running ");
|
|
40
75
|
i0.ɵɵelementEnd();
|
|
41
|
-
i0.ɵɵ
|
|
42
|
-
i0.ɵɵ
|
|
76
|
+
i0.ɵɵconditionalCreate(7, RealtimeDelegationCardComponent_Conditional_0_Conditional_7_Template, 4, 0, "button", 5);
|
|
77
|
+
i0.ɵɵconditionalCreate(8, RealtimeDelegationCardComponent_Conditional_0_Conditional_8_Template, 2, 0, "button", 6);
|
|
43
78
|
i0.ɵɵelementEnd();
|
|
44
|
-
i0.ɵɵelementStart(
|
|
45
|
-
i0.ɵɵ
|
|
46
|
-
i0.ɵɵtext(8, " Running ");
|
|
47
|
-
i0.ɵɵelementEnd();
|
|
48
|
-
i0.ɵɵconditionalCreate(9, RealtimeDelegationCardComponent_Conditional_0_Conditional_9_Template, 4, 0, "button", 7);
|
|
49
|
-
i0.ɵɵelementStart(10, "button", 8);
|
|
50
|
-
i0.ɵɵlistener("click", function RealtimeDelegationCardComponent_Conditional_0_Template_button_click_10_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.CancelWork($event)); });
|
|
51
|
-
i0.ɵɵelement(11, "i", 9);
|
|
52
|
-
i0.ɵɵelementEnd()();
|
|
53
|
-
i0.ɵɵelementStart(12, "div", 10);
|
|
54
|
-
i0.ɵɵtext(13);
|
|
79
|
+
i0.ɵɵelementStart(9, "div", 7);
|
|
80
|
+
i0.ɵɵtext(10);
|
|
55
81
|
i0.ɵɵelementEnd();
|
|
56
|
-
i0.ɵɵconditionalCreate(
|
|
57
|
-
i0.ɵɵelementStart(
|
|
58
|
-
i0.ɵɵconditionalCreate(
|
|
82
|
+
i0.ɵɵconditionalCreate(11, RealtimeDelegationCardComponent_Conditional_0_Conditional_11_Template, 2, 1, "div", 8);
|
|
83
|
+
i0.ɵɵelementStart(12, "div", 9);
|
|
84
|
+
i0.ɵɵconditionalCreate(13, RealtimeDelegationCardComponent_Conditional_0_Conditional_13_Template, 1, 2, "div", 10)(14, RealtimeDelegationCardComponent_Conditional_0_Conditional_14_Template, 1, 0, "div", 11);
|
|
59
85
|
i0.ɵɵelementEnd()();
|
|
60
86
|
} if (rf & 2) {
|
|
61
|
-
const
|
|
62
|
-
i0.ɵɵadvance(3);
|
|
63
|
-
i0.ɵɵtextInterpolate(ctx_r2.Card.AgentName.charAt(0));
|
|
87
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
64
88
|
i0.ɵɵadvance(2);
|
|
65
|
-
i0.ɵɵ
|
|
66
|
-
i0.ɵɵadvance(
|
|
67
|
-
i0.ɵɵconditional(
|
|
68
|
-
i0.ɵɵadvance(4);
|
|
69
|
-
i0.ɵɵtextInterpolate(ctx_r2.StepLabel);
|
|
89
|
+
i0.ɵɵconditional(ctx_r0.Card.Kind === "action" ? 2 : 3);
|
|
90
|
+
i0.ɵɵadvance(5);
|
|
91
|
+
i0.ɵɵconditional(ctx_r0.ShowOpenRun ? 7 : -1);
|
|
70
92
|
i0.ɵɵadvance();
|
|
71
|
-
i0.ɵɵconditional(
|
|
93
|
+
i0.ɵɵconditional(ctx_r0.Card.Kind !== "action" ? 8 : -1);
|
|
94
|
+
i0.ɵɵadvance(2);
|
|
95
|
+
i0.ɵɵtextInterpolate(ctx_r0.StepLabel);
|
|
96
|
+
i0.ɵɵadvance();
|
|
97
|
+
i0.ɵɵconditional(ctx_r0.ShowDetailLine ? 11 : -1);
|
|
72
98
|
i0.ɵɵadvance();
|
|
73
|
-
i0.ɵɵclassProp("work-progress--indeterminate",
|
|
99
|
+
i0.ɵɵclassProp("work-progress--indeterminate", ctx_r0.Card.Percentage == null);
|
|
74
100
|
i0.ɵɵadvance();
|
|
75
|
-
i0.ɵɵconditional(
|
|
101
|
+
i0.ɵɵconditional(ctx_r0.Card.Percentage != null ? 13 : 14);
|
|
102
|
+
} }
|
|
103
|
+
function RealtimeDelegationCardComponent_Conditional_1_ng_template_1_Conditional_9_Template(rf, ctx) { if (rf & 1) {
|
|
104
|
+
i0.ɵɵtext(0, " tool ");
|
|
105
|
+
} }
|
|
106
|
+
function RealtimeDelegationCardComponent_Conditional_1_ng_template_1_Conditional_10_Template(rf, ctx) { if (rf & 1) {
|
|
107
|
+
i0.ɵɵtext(0);
|
|
108
|
+
} if (rf & 2) {
|
|
109
|
+
const ctx_r0 = i0.ɵɵnextContext(3);
|
|
110
|
+
i0.ɵɵtextInterpolate1(" via ", ctx_r0.Card.AgentName, " ");
|
|
76
111
|
} }
|
|
77
112
|
function RealtimeDelegationCardComponent_Conditional_1_ng_template_1_Template(rf, ctx) { if (rf & 1) {
|
|
78
|
-
i0.ɵɵelement(0, "i",
|
|
79
|
-
i0.ɵɵelementStart(1, "span",
|
|
113
|
+
i0.ɵɵelement(0, "i", 25);
|
|
114
|
+
i0.ɵɵelementStart(1, "span", 26);
|
|
80
115
|
i0.ɵɵtext(2);
|
|
81
116
|
i0.ɵɵelementEnd();
|
|
82
|
-
i0.ɵɵelementStart(3, "span",
|
|
117
|
+
i0.ɵɵelementStart(3, "span", 27);
|
|
83
118
|
i0.ɵɵtext(4, "\u00B7");
|
|
84
119
|
i0.ɵɵelementEnd();
|
|
85
|
-
i0.ɵɵelementStart(5, "span",
|
|
120
|
+
i0.ɵɵelementStart(5, "span", 28);
|
|
86
121
|
i0.ɵɵtext(6);
|
|
87
122
|
i0.ɵɵelementEnd();
|
|
88
|
-
i0.ɵɵelementStart(7, "span",
|
|
89
|
-
i0.ɵɵelement(8, "i",
|
|
90
|
-
i0.ɵɵ
|
|
123
|
+
i0.ɵɵelementStart(7, "span", 29);
|
|
124
|
+
i0.ɵɵelement(8, "i", 30);
|
|
125
|
+
i0.ɵɵconditionalCreate(9, RealtimeDelegationCardComponent_Conditional_1_ng_template_1_Conditional_9_Template, 1, 0)(10, RealtimeDelegationCardComponent_Conditional_1_ng_template_1_Conditional_10_Template, 1, 1);
|
|
91
126
|
i0.ɵɵelementEnd();
|
|
92
127
|
} if (rf & 2) {
|
|
93
|
-
const
|
|
94
|
-
i0.ɵɵproperty("ngClass",
|
|
128
|
+
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
129
|
+
i0.ɵɵproperty("ngClass", ctx_r0.Card.Success ? "fa-check" : "fa-xmark");
|
|
95
130
|
i0.ɵɵadvance(2);
|
|
96
|
-
i0.ɵɵtextInterpolate(
|
|
131
|
+
i0.ɵɵtextInterpolate(ctx_r0.Card.AgentName);
|
|
97
132
|
i0.ɵɵadvance(4);
|
|
98
|
-
i0.ɵɵtextInterpolate(
|
|
133
|
+
i0.ɵɵtextInterpolate(ctx_r0.ResultPreview);
|
|
99
134
|
i0.ɵɵadvance(2);
|
|
100
|
-
i0.ɵɵproperty("title",
|
|
135
|
+
i0.ɵɵproperty("title", ctx_r0.ProvenanceTitle);
|
|
101
136
|
i0.ɵɵadvance();
|
|
102
|
-
i0.ɵɵ
|
|
137
|
+
i0.ɵɵconditional(ctx_r0.Card.Kind === "action" ? 9 : 10);
|
|
103
138
|
} }
|
|
104
139
|
function RealtimeDelegationCardComponent_Conditional_1_ng_template_2_For_1_Template(rf, ctx) { if (rf & 1) {
|
|
105
140
|
const _r5 = i0.ɵɵgetCurrentView();
|
|
106
|
-
i0.ɵɵelementStart(0, "button",
|
|
107
|
-
i0.ɵɵlistener("click", function RealtimeDelegationCardComponent_Conditional_1_ng_template_2_For_1_Template_button_click_0_listener($event) { const artifact_r6 = i0.ɵɵrestoreView(_r5).$implicit; const
|
|
108
|
-
i0.ɵɵelement(1, "i",
|
|
141
|
+
i0.ɵɵelementStart(0, "button", 32);
|
|
142
|
+
i0.ɵɵlistener("click", function RealtimeDelegationCardComponent_Conditional_1_ng_template_2_For_1_Template_button_click_0_listener($event) { const artifact_r6 = i0.ɵɵrestoreView(_r5).$implicit; const ctx_r0 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r0.OpenArtifact($event, artifact_r6)); });
|
|
143
|
+
i0.ɵɵelement(1, "i", 33);
|
|
109
144
|
i0.ɵɵelementStart(2, "span");
|
|
110
145
|
i0.ɵɵtext(3, "View");
|
|
111
146
|
i0.ɵɵelementEnd();
|
|
112
|
-
i0.ɵɵelement(4, "i",
|
|
147
|
+
i0.ɵɵelement(4, "i", 34);
|
|
113
148
|
i0.ɵɵelementEnd();
|
|
114
149
|
} if (rf & 2) {
|
|
115
150
|
const artifact_r6 = ctx.$implicit;
|
|
@@ -117,31 +152,31 @@ function RealtimeDelegationCardComponent_Conditional_1_ng_template_2_For_1_Templ
|
|
|
117
152
|
} }
|
|
118
153
|
function RealtimeDelegationCardComponent_Conditional_1_ng_template_2_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
119
154
|
const _r7 = i0.ɵɵgetCurrentView();
|
|
120
|
-
i0.ɵɵelementStart(0, "button",
|
|
121
|
-
i0.ɵɵlistener("click", function RealtimeDelegationCardComponent_Conditional_1_ng_template_2_Conditional_2_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r7); const
|
|
122
|
-
i0.ɵɵelement(1, "i",
|
|
155
|
+
i0.ɵɵelementStart(0, "button", 16);
|
|
156
|
+
i0.ɵɵlistener("click", function RealtimeDelegationCardComponent_Conditional_1_ng_template_2_Conditional_2_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r0 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r0.OpenRun($event)); });
|
|
157
|
+
i0.ɵɵelement(1, "i", 17);
|
|
123
158
|
i0.ɵɵelementStart(2, "span");
|
|
124
159
|
i0.ɵɵtext(3, "Open run");
|
|
125
160
|
i0.ɵɵelementEnd()();
|
|
126
161
|
} }
|
|
127
162
|
function RealtimeDelegationCardComponent_Conditional_1_ng_template_2_Template(rf, ctx) { if (rf & 1) {
|
|
128
|
-
i0.ɵɵrepeaterCreate(0, RealtimeDelegationCardComponent_Conditional_1_ng_template_2_For_1_Template, 5, 1, "button",
|
|
129
|
-
i0.ɵɵconditionalCreate(2, RealtimeDelegationCardComponent_Conditional_1_ng_template_2_Conditional_2_Template, 4, 0, "button",
|
|
163
|
+
i0.ɵɵrepeaterCreate(0, RealtimeDelegationCardComponent_Conditional_1_ng_template_2_For_1_Template, 5, 1, "button", 31, _forTrack0);
|
|
164
|
+
i0.ɵɵconditionalCreate(2, RealtimeDelegationCardComponent_Conditional_1_ng_template_2_Conditional_2_Template, 4, 0, "button", 5);
|
|
130
165
|
} if (rf & 2) {
|
|
131
|
-
const
|
|
132
|
-
i0.ɵɵrepeater(
|
|
166
|
+
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
167
|
+
i0.ɵɵrepeater(ctx_r0.Artifacts);
|
|
133
168
|
i0.ɵɵadvance(2);
|
|
134
|
-
i0.ɵɵconditional(
|
|
169
|
+
i0.ɵɵconditional(ctx_r0.ShowOpenRun ? 2 : -1);
|
|
135
170
|
} }
|
|
136
171
|
function RealtimeDelegationCardComponent_Conditional_1_ng_template_3_For_4_Template(rf, ctx) { if (rf & 1) {
|
|
137
172
|
const _r8 = i0.ɵɵgetCurrentView();
|
|
138
|
-
i0.ɵɵelementStart(0, "button",
|
|
139
|
-
i0.ɵɵlistener("click", function RealtimeDelegationCardComponent_Conditional_1_ng_template_3_For_4_Template_button_click_0_listener($event) { const artifact_r9 = i0.ɵɵrestoreView(_r8).$implicit; const
|
|
140
|
-
i0.ɵɵelement(1, "i",
|
|
173
|
+
i0.ɵɵelementStart(0, "button", 39);
|
|
174
|
+
i0.ɵɵlistener("click", function RealtimeDelegationCardComponent_Conditional_1_ng_template_3_For_4_Template_button_click_0_listener($event) { const artifact_r9 = i0.ɵɵrestoreView(_r8).$implicit; const ctx_r0 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r0.OpenArtifact($event, artifact_r9)); });
|
|
175
|
+
i0.ɵɵelement(1, "i", 33);
|
|
141
176
|
i0.ɵɵelementStart(2, "span");
|
|
142
177
|
i0.ɵɵtext(3);
|
|
143
178
|
i0.ɵɵelementEnd();
|
|
144
|
-
i0.ɵɵelement(4, "i",
|
|
179
|
+
i0.ɵɵelement(4, "i", 34);
|
|
145
180
|
i0.ɵɵelementEnd();
|
|
146
181
|
} if (rf & 2) {
|
|
147
182
|
const artifact_r9 = ctx.$implicit;
|
|
@@ -149,57 +184,69 @@ function RealtimeDelegationCardComponent_Conditional_1_ng_template_3_For_4_Templ
|
|
|
149
184
|
i0.ɵɵadvance(3);
|
|
150
185
|
i0.ɵɵtextInterpolate(artifact_r9.Name);
|
|
151
186
|
} }
|
|
152
|
-
function
|
|
187
|
+
function RealtimeDelegationCardComponent_Conditional_1_ng_template_3_Conditional_5_Template(rf, ctx) { if (rf & 1) {
|
|
188
|
+
i0.ɵɵelementStart(0, "div", 38);
|
|
189
|
+
i0.ɵɵelement(1, "i", 30);
|
|
190
|
+
i0.ɵɵtext(2);
|
|
191
|
+
i0.ɵɵelementEnd();
|
|
192
|
+
} if (rf & 2) {
|
|
193
|
+
const ctx_r0 = i0.ɵɵnextContext(3);
|
|
194
|
+
i0.ɵɵadvance();
|
|
195
|
+
i0.ɵɵproperty("title", ctx_r0.ProvenanceTitle);
|
|
196
|
+
i0.ɵɵadvance();
|
|
197
|
+
i0.ɵɵtextInterpolate1(" Direct action \u00B7 ", ctx_r0.Card.AgentName, " ");
|
|
198
|
+
} }
|
|
199
|
+
function RealtimeDelegationCardComponent_Conditional_1_ng_template_3_Conditional_6_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
153
200
|
const _r10 = i0.ɵɵgetCurrentView();
|
|
154
|
-
i0.ɵɵelementStart(0, "button",
|
|
155
|
-
i0.ɵɵlistener("click", function
|
|
156
|
-
i0.ɵɵelement(1, "i",
|
|
201
|
+
i0.ɵɵelementStart(0, "button", 41);
|
|
202
|
+
i0.ɵɵlistener("click", function RealtimeDelegationCardComponent_Conditional_1_ng_template_3_Conditional_6_Conditional_3_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r10); const ctx_r0 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r0.OpenRun($event)); });
|
|
203
|
+
i0.ɵɵelement(1, "i", 17);
|
|
157
204
|
i0.ɵɵelementStart(2, "span");
|
|
158
205
|
i0.ɵɵtext(3, "Open run");
|
|
159
206
|
i0.ɵɵelementEnd()();
|
|
160
207
|
} }
|
|
161
|
-
function
|
|
162
|
-
i0.ɵɵelementStart(0, "div",
|
|
163
|
-
i0.ɵɵelement(1, "i",
|
|
208
|
+
function RealtimeDelegationCardComponent_Conditional_1_ng_template_3_Conditional_6_Template(rf, ctx) { if (rf & 1) {
|
|
209
|
+
i0.ɵɵelementStart(0, "div", 38);
|
|
210
|
+
i0.ɵɵelement(1, "i", 30);
|
|
164
211
|
i0.ɵɵtext(2);
|
|
165
|
-
i0.ɵɵconditionalCreate(3,
|
|
212
|
+
i0.ɵɵconditionalCreate(3, RealtimeDelegationCardComponent_Conditional_1_ng_template_3_Conditional_6_Conditional_3_Template, 4, 0, "button", 40);
|
|
166
213
|
i0.ɵɵelementEnd();
|
|
167
214
|
} if (rf & 2) {
|
|
168
|
-
const
|
|
215
|
+
const ctx_r0 = i0.ɵɵnextContext(3);
|
|
169
216
|
i0.ɵɵadvance();
|
|
170
|
-
i0.ɵɵproperty("title",
|
|
217
|
+
i0.ɵɵproperty("title", ctx_r0.ProvenanceTitle);
|
|
171
218
|
i0.ɵɵadvance();
|
|
172
|
-
i0.ɵɵtextInterpolate2(" via ",
|
|
219
|
+
i0.ɵɵtextInterpolate2(" via ", ctx_r0.Card.AgentName, " \u00B7 run ", ctx_r0.Card.RunRef, " ");
|
|
173
220
|
i0.ɵɵadvance();
|
|
174
|
-
i0.ɵɵconditional(
|
|
221
|
+
i0.ɵɵconditional(ctx_r0.ShowOpenRun ? 3 : -1);
|
|
175
222
|
} }
|
|
176
223
|
function RealtimeDelegationCardComponent_Conditional_1_ng_template_3_Template(rf, ctx) { if (rf & 1) {
|
|
177
|
-
i0.ɵɵelementStart(0, "div",
|
|
224
|
+
i0.ɵɵelementStart(0, "div", 35)(1, "div", 36);
|
|
178
225
|
i0.ɵɵtext(2);
|
|
179
226
|
i0.ɵɵelementEnd();
|
|
180
|
-
i0.ɵɵrepeaterCreate(3, RealtimeDelegationCardComponent_Conditional_1_ng_template_3_For_4_Template, 5, 2, "button",
|
|
181
|
-
i0.ɵɵconditionalCreate(5, RealtimeDelegationCardComponent_Conditional_1_ng_template_3_Conditional_5_Template, 4, 4, "div",
|
|
227
|
+
i0.ɵɵrepeaterCreate(3, RealtimeDelegationCardComponent_Conditional_1_ng_template_3_For_4_Template, 5, 2, "button", 37, _forTrack0);
|
|
228
|
+
i0.ɵɵconditionalCreate(5, RealtimeDelegationCardComponent_Conditional_1_ng_template_3_Conditional_5_Template, 3, 2, "div", 38)(6, RealtimeDelegationCardComponent_Conditional_1_ng_template_3_Conditional_6_Template, 4, 4, "div", 38);
|
|
182
229
|
i0.ɵɵelementEnd();
|
|
183
230
|
} if (rf & 2) {
|
|
184
|
-
const
|
|
231
|
+
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
185
232
|
i0.ɵɵadvance(2);
|
|
186
|
-
i0.ɵɵtextInterpolate(
|
|
233
|
+
i0.ɵɵtextInterpolate(ctx_r0.ResultText);
|
|
187
234
|
i0.ɵɵadvance();
|
|
188
|
-
i0.ɵɵrepeater(
|
|
235
|
+
i0.ɵɵrepeater(ctx_r0.Artifacts);
|
|
189
236
|
i0.ɵɵadvance(2);
|
|
190
|
-
i0.ɵɵconditional(
|
|
237
|
+
i0.ɵɵconditional(ctx_r0.Card.Kind === "action" ? 5 : ctx_r0.Card.RunRef ? 6 : -1);
|
|
191
238
|
} }
|
|
192
239
|
function RealtimeDelegationCardComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
193
240
|
const _r4 = i0.ɵɵgetCurrentView();
|
|
194
|
-
i0.ɵɵelementStart(0, "mj-accordion-panel",
|
|
195
|
-
i0.ɵɵtwoWayListener("ExpandedChange", function RealtimeDelegationCardComponent_Conditional_1_Template_mj_accordion_panel_ExpandedChange_0_listener($event) { i0.ɵɵrestoreView(_r4); const
|
|
196
|
-
i0.ɵɵtemplate(1, RealtimeDelegationCardComponent_Conditional_1_ng_template_1_Template,
|
|
241
|
+
i0.ɵɵelementStart(0, "mj-accordion-panel", 21);
|
|
242
|
+
i0.ɵɵtwoWayListener("ExpandedChange", function RealtimeDelegationCardComponent_Conditional_1_Template_mj_accordion_panel_ExpandedChange_0_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r0 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r0.Expanded, $event) || (ctx_r0.Expanded = $event); return i0.ɵɵresetView($event); });
|
|
243
|
+
i0.ɵɵtemplate(1, RealtimeDelegationCardComponent_Conditional_1_ng_template_1_Template, 11, 5, "ng-template", 22)(2, RealtimeDelegationCardComponent_Conditional_1_ng_template_2_Template, 3, 1, "ng-template", 23)(3, RealtimeDelegationCardComponent_Conditional_1_ng_template_3_Template, 7, 2, "ng-template", 24);
|
|
197
244
|
i0.ɵɵelementEnd();
|
|
198
245
|
} if (rf & 2) {
|
|
199
|
-
const
|
|
200
|
-
i0.ɵɵclassProp("done-accordion--failed", !
|
|
246
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
247
|
+
i0.ɵɵclassProp("done-accordion--failed", !ctx_r0.Card.Success);
|
|
201
248
|
i0.ɵɵproperty("FlushBody", true);
|
|
202
|
-
i0.ɵɵtwoWayProperty("Expanded",
|
|
249
|
+
i0.ɵɵtwoWayProperty("Expanded", ctx_r0.Expanded);
|
|
203
250
|
} }
|
|
204
251
|
/**
|
|
205
252
|
* Renders a single delegation in the live session thread:
|
|
@@ -239,18 +286,18 @@ export class RealtimeDelegationCardComponent {
|
|
|
239
286
|
CancelRequested = new EventEmitter();
|
|
240
287
|
/** Whether the done chip is expanded inline to show the full result text. */
|
|
241
288
|
Expanded = false;
|
|
242
|
-
/** The artifacts this (done) delegation produced (empty array while running / when none). */
|
|
289
|
+
/** The artifacts this (done) delegation produced (empty array while running / when none). Suppressed for direct actions. */
|
|
243
290
|
get Artifacts() {
|
|
244
|
-
return this.Card.Done && this.Card.Artifacts ? this.Card.Artifacts : [];
|
|
291
|
+
return this.Card.Done && this.Card.Kind !== 'action' && this.Card.Artifacts ? this.Card.Artifacts : [];
|
|
245
292
|
}
|
|
246
293
|
/** Emits the open-artifact request for one of this card's produced artifacts. */
|
|
247
294
|
OpenArtifact(event, artifact) {
|
|
248
295
|
event.stopPropagation();
|
|
249
296
|
this.OpenArtifactRequested.emit(artifact);
|
|
250
297
|
}
|
|
251
|
-
/** True when the dev "Open run" link should render (gear on + run id known). */
|
|
298
|
+
/** True when the dev "Open run" link should render (gear on + run id known). Suppressed for direct actions. */
|
|
252
299
|
get ShowOpenRun() {
|
|
253
|
-
return this.DevMode && !!this.Card.RunID;
|
|
300
|
+
return this.DevMode && this.Card.Kind !== 'action' && !!this.Card.RunID;
|
|
254
301
|
}
|
|
255
302
|
/** Emits the open-run request for this card's delegated run. */
|
|
256
303
|
OpenRun(event) {
|
|
@@ -281,7 +328,9 @@ export class RealtimeDelegationCardComponent {
|
|
|
281
328
|
get ResultText() {
|
|
282
329
|
return this.Card.Result
|
|
283
330
|
|| this.Card.LatestMessage
|
|
284
|
-
||
|
|
331
|
+
|| (this.Card.Kind === 'action'
|
|
332
|
+
? `${this.Card.AgentName} executed.`
|
|
333
|
+
: `${this.Card.AgentName} completed the delegated work.`);
|
|
285
334
|
}
|
|
286
335
|
/** One-line, ~120-char preview of the result for the collapsed chip. */
|
|
287
336
|
get ResultPreview() {
|
|
@@ -291,19 +340,22 @@ export class RealtimeDelegationCardComponent {
|
|
|
291
340
|
}
|
|
292
341
|
/** Tooltip text for the provenance shield icon. */
|
|
293
342
|
get ProvenanceTitle() {
|
|
343
|
+
if (this.Card.Kind === 'action') {
|
|
344
|
+
return `Result produced directly by the ${this.Card.AgentName} action.`;
|
|
345
|
+
}
|
|
294
346
|
const run = this.Card.RunRef ? ` (run ${this.Card.RunRef})` : '';
|
|
295
347
|
return `Result produced by ${this.Card.AgentName}'s own agent run${run} — not invented by the voice co-agent.`;
|
|
296
348
|
}
|
|
297
349
|
static ɵfac = function RealtimeDelegationCardComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || RealtimeDelegationCardComponent)(); };
|
|
298
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: RealtimeDelegationCardComponent, selectors: [["mj-realtime-delegation-card"]], inputs: { Card: "Card", DevMode: "DevMode" }, outputs: { OpenRunRequested: "OpenRunRequested", OpenArtifactRequested: "OpenArtifactRequested", CancelRequested: "CancelRequested" }, decls: 2, vars: 1, consts: [["role", "status", "aria-live", "polite", 1, "work-card"], ["Size", "sm", 1, "done-accordion", 3, "done-accordion--failed", "FlushBody", "Expanded"], [1, "work-card__head"], [
|
|
299
|
-
i0.ɵɵconditionalCreate(0, RealtimeDelegationCardComponent_Conditional_0_Template,
|
|
350
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: RealtimeDelegationCardComponent, selectors: [["mj-realtime-delegation-card"]], inputs: { Card: "Card", DevMode: "DevMode" }, outputs: { OpenRunRequested: "OpenRunRequested", OpenArtifactRequested: "OpenArtifactRequested", CancelRequested: "CancelRequested" }, decls: 2, vars: 1, consts: [["role", "status", "aria-live", "polite", 1, "work-card"], ["Size", "sm", 1, "done-accordion", 3, "done-accordion--failed", "FlushBody", "Expanded"], [1, "work-card__head"], [1, "pill", "pill--running"], ["aria-hidden", "true", 1, "fa-solid", "fa-spinner", "spin"], ["type", "button", "title", "Open the delegated agent run record", 1, "dev-link"], ["type", "button", "title", "Cancel this work", "aria-label", "Cancel this work", 1, "cancel-work"], [1, "work-card__step"], [1, "work-card__detail"], [1, "work-progress"], [1, "work-progress__fill", 3, "width"], [1, "work-progress__fill", "work-progress__fill--slide"], ["aria-hidden", "true", 1, "avatar", "avatar--action"], [1, "fa-solid", "fa-wrench"], [1, "work-card__title"], ["aria-hidden", "true", 1, "avatar"], ["type", "button", "title", "Open the delegated agent run record", 1, "dev-link", 3, "click"], ["aria-hidden", "true", 1, "fa-solid", "fa-arrow-up-right-from-square"], ["type", "button", "title", "Cancel this work", "aria-label", "Cancel this work", 1, "cancel-work", 3, "click"], ["aria-hidden", "true", 1, "fa-solid", "fa-xmark"], [1, "work-progress__fill"], ["Size", "sm", 1, "done-accordion", 3, "ExpandedChange", "FlushBody", "Expanded"], ["mjAccordionTitle", ""], ["mjAccordionActions", ""], ["mjAccordionBody", ""], ["aria-hidden", "true", 1, "fa-solid", "done-chip__mark", 3, "ngClass"], [1, "done-chip__agent"], ["aria-hidden", "true", 1, "done-chip__sep"], [1, "done-chip__preview"], [1, "via-badge"], ["aria-hidden", "true", 1, "fa-solid", "fa-shield-halved", 3, "title"], ["type", "button", 1, "artifact-link", 3, "title"], ["type", "button", 1, "artifact-link", 3, "click", "title"], ["aria-hidden", "true", 1, "fa-solid", "fa-file-lines"], ["aria-hidden", "true", 1, "fa-solid", "fa-arrow-right"], [1, "done-detail"], [1, "done-detail__body"], ["type", "button", 1, "artifact-link", "artifact-link--detail", 3, "title"], [1, "done-detail__meta"], ["type", "button", 1, "artifact-link", "artifact-link--detail", 3, "click", "title"], ["type", "button", "title", "Open the delegated agent run record", 1, "dev-link", "dev-link--inline"], ["type", "button", "title", "Open the delegated agent run record", 1, "dev-link", "dev-link--inline", 3, "click"]], template: function RealtimeDelegationCardComponent_Template(rf, ctx) { if (rf & 1) {
|
|
351
|
+
i0.ɵɵconditionalCreate(0, RealtimeDelegationCardComponent_Conditional_0_Template, 15, 8, "div", 0)(1, RealtimeDelegationCardComponent_Conditional_1_Template, 4, 4, "mj-accordion-panel", 1);
|
|
300
352
|
} if (rf & 2) {
|
|
301
353
|
i0.ɵɵconditional(!ctx.Card.Done ? 0 : 1);
|
|
302
|
-
} }, dependencies: [CommonModule, i1.NgClass, MJAccordionModule, i2.MJAccordionPanelComponent, i2.MJAccordionTitleDirective, i2.MJAccordionActionsDirective, i2.MJAccordionBodyDirective], styles: ["[_nghost-%COMP%] {\n display: block;\n \n --sage: var(--mj-color-violet-400, #a78bfa);\n --sage-bg: color-mix(in srgb, var(--mj-color-violet-400, #a78bfa) 12%, transparent);\n --sage-border: color-mix(in srgb, var(--mj-color-violet-400, #a78bfa) 40%, transparent);\n}\n\n.avatar[_ngcontent-%COMP%] {\n width: 24px;\n height: 24px;\n border-radius: 50%;\n display: grid;\n place-items: center;\n font-weight: 600;\n font-size: 11px;\n flex-shrink: 0;\n background: var(--sage-bg);\n color: var(--mj-color-violet-300, var(--mj-text-primary));\n border: 1px solid var(--sage-border);\n}\n\n\n.work-card[_ngcontent-%COMP%] {\n border: 1px solid var(--sage-border);\n background: var(--sage-bg);\n border-radius: var(--mj-radius-lg, 12px);\n padding: 10px 14px;\n max-width: 560px;\n}\n.work-card__head[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-bottom: 8px;\n}\n.work-card__title[_ngcontent-%COMP%] {\n font-weight: 700;\n font-size: 13px;\n color: var(--mj-text-primary);\n flex: 1;\n min-width: 0;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.work-card__step[_ngcontent-%COMP%] {\n font-size: 12.5px;\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n.work-card__detail[_ngcontent-%COMP%] {\n font-size: 12px;\n color: var(--mj-text-muted);\n padding-left: 14px;\n margin-top: 3px;\n border-left: 2px solid var(--sage-border);\n}\n\n.pill[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 5px;\n padding: 2px 8px;\n border-radius: var(--mj-radius-full, 9999px);\n font-size: 10.5px;\n font-weight: 700;\n flex-shrink: 0;\n line-height: 1.5;\n}\n.pill--running[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--sage) 18%, transparent);\n color: var(--mj-color-violet-300, var(--mj-text-secondary));\n border: 1px solid var(--sage-border);\n}\n.pill[_ngcontent-%COMP%] i[_ngcontent-%COMP%] { font-size: 9px; }\n.spin[_ngcontent-%COMP%] { animation: _ngcontent-%COMP%_rt-spin 1.1s linear infinite; }\n\n\n.work-progress[_ngcontent-%COMP%] {\n height: 3px;\n border-radius: var(--mj-radius-full, 9999px);\n background: color-mix(in srgb, var(--sage) 18%, transparent);\n overflow: hidden;\n margin-top: 9px;\n position: relative;\n}\n.work-progress__fill[_ngcontent-%COMP%] {\n height: 100%;\n border-radius: var(--mj-radius-full, 9999px);\n background: var(--sage);\n transition: width 240ms ease;\n}\n.work-progress__fill--slide[_ngcontent-%COMP%] {\n position: absolute;\n width: 35%;\n animation: _ngcontent-%COMP%_rt-slide 1.6s ease-in-out infinite;\n}\n\n\n\n.done-accordion[_ngcontent-%COMP%] {\n display: block;\n max-width: 560px;\n}\n\n\n\n\n.dev-link[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 5px;\n padding: 3px 9px;\n border-radius: var(--mj-radius-full, 9999px);\n border: 1px dashed var(--mj-border-strong);\n background: transparent;\n color: var(--mj-text-muted);\n font-family: inherit;\n font-size: 10.5px;\n font-weight: 700;\n white-space: nowrap;\n flex-shrink: 0;\n cursor: pointer;\n transition: color 140ms ease, border-color 140ms ease, background 140ms ease;\n}\n.dev-link[_ngcontent-%COMP%]:hover {\n color: var(--mj-text-link, var(--mj-brand-primary));\n border-color: var(--mj-brand-primary);\n background: color-mix(in srgb, var(--mj-brand-primary) 8%, transparent);\n}\n.dev-link[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 9px;\n}\n.dev-link--inline[_ngcontent-%COMP%] {\n margin-left: 8px;\n}\n\n\n.artifact-link[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 5px;\n padding: 3px 10px;\n border-radius: var(--mj-radius-full, 9999px);\n border: 1px solid var(--sage-border);\n background: var(--sage-bg);\n color: var(--mj-color-violet-300, var(--mj-text-secondary));\n font-family: inherit;\n font-size: 10.5px;\n font-weight: 700;\n white-space: nowrap;\n flex-shrink: 0;\n cursor: pointer;\n transition: color 140ms ease, border-color 140ms ease, background 140ms ease;\n}\n.artifact-link[_ngcontent-%COMP%]:hover {\n color: var(--mj-text-primary);\n border-color: var(--sage);\n background: color-mix(in srgb, var(--sage) 18%, transparent);\n}\n.artifact-link[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 9px;\n}\n.artifact-link--detail[_ngcontent-%COMP%] {\n margin-top: 8px;\n max-width: 100%;\n}\n.artifact-link--detail[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n\n\n\n.done-chip__mark[_ngcontent-%COMP%] {\n font-size: 11px;\n color: var(--mj-status-success);\n flex-shrink: 0;\n}\n.done-accordion--failed[_ngcontent-%COMP%] .done-chip__mark[_ngcontent-%COMP%] {\n color: var(--mj-status-error);\n}\n.done-chip__agent[_ngcontent-%COMP%] {\n font-weight: 700;\n color: var(--mj-text-primary);\n flex-shrink: 0;\n}\n.done-chip__sep[_ngcontent-%COMP%] {\n color: var(--mj-text-disabled);\n flex-shrink: 0;\n}\n.done-chip__preview[_ngcontent-%COMP%] {\n flex: 1;\n min-width: 0;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n color: var(--mj-text-secondary);\n}\n.via-badge[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n font-size: 10px;\n font-weight: 700;\n color: var(--mj-color-violet-300, var(--mj-text-muted));\n flex-shrink: 0;\n}\n.via-badge[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 9px;\n cursor: help;\n}\n\n\n\n.done-detail[_ngcontent-%COMP%] {\n margin-top: 6px;\n margin-left: 12px;\n padding: 10px 14px;\n border-left: 2px solid var(--sage);\n background: var(--mj-bg-surface);\n border-radius: 0 var(--mj-radius-lg, 12px) var(--mj-radius-lg, 12px) 0;\n border-top: 1px solid var(--mj-border-subtle, var(--mj-border-default));\n border-right: 1px solid var(--mj-border-subtle, var(--mj-border-default));\n border-bottom: 1px solid var(--mj-border-subtle, var(--mj-border-default));\n}\n.done-detail__body[_ngcontent-%COMP%] {\n font-size: 13px;\n line-height: 1.55;\n color: var(--mj-text-primary);\n white-space: pre-wrap;\n}\n.done-detail__meta[_ngcontent-%COMP%] {\n margin-top: 8px;\n font-size: 10.5px;\n font-weight: 700;\n color: var(--mj-text-muted);\n display: flex;\n align-items: center;\n gap: 5px;\n}\n.done-detail__meta[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n cursor: help;\n}\n\n@keyframes _ngcontent-%COMP%_rt-spin {\n to { transform: rotate(360deg); }\n}\n@keyframes _ngcontent-%COMP%_rt-slide {\n 0% { left: -35%; }\n 100% { left: 100%; }\n}\n\n\n.cancel-work[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 22px;\n height: 22px;\n padding: 0;\n border-radius: var(--mj-radius-full, 9999px);\n border: 1px solid transparent;\n background: transparent;\n color: var(--mj-text-muted);\n cursor: pointer;\n flex-shrink: 0;\n}\n.cancel-work[_ngcontent-%COMP%]:hover {\n color: var(--mj-status-error);\n border-color: var(--mj-status-error-border, var(--mj-status-error));\n background: color-mix(in srgb, var(--mj-status-error) 8%, transparent);\n}\n.cancel-work[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 11px;\n}"] });
|
|
354
|
+
} }, dependencies: [CommonModule, i1.NgClass, MJAccordionModule, i2.MJAccordionPanelComponent, i2.MJAccordionTitleDirective, i2.MJAccordionActionsDirective, i2.MJAccordionBodyDirective], styles: ["[_nghost-%COMP%] {\n display: block;\n \n --sage: var(--mj-color-violet-400, #a78bfa);\n --sage-bg: color-mix(in srgb, var(--mj-color-violet-400, #a78bfa) 12%, transparent);\n --sage-border: color-mix(in srgb, var(--mj-color-violet-400, #a78bfa) 40%, transparent);\n}\n\n.avatar[_ngcontent-%COMP%] {\n width: 24px;\n height: 24px;\n border-radius: 50%;\n display: grid;\n place-items: center;\n font-weight: 600;\n font-size: 11px;\n flex-shrink: 0;\n background: var(--sage-bg);\n color: var(--mj-color-violet-300, var(--mj-text-primary));\n border: 1px solid var(--sage-border);\n}\n.avatar--action[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 10px;\n}\n\n\n.work-card[_ngcontent-%COMP%] {\n border: 1px solid var(--sage-border);\n background: var(--sage-bg);\n border-radius: var(--mj-radius-lg, 12px);\n padding: 10px 14px;\n max-width: 560px;\n}\n.work-card__head[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-bottom: 8px;\n}\n.work-card__title[_ngcontent-%COMP%] {\n font-weight: 700;\n font-size: 13px;\n color: var(--mj-text-primary);\n flex: 1;\n min-width: 0;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.work-card__step[_ngcontent-%COMP%] {\n font-size: 12.5px;\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n.work-card__detail[_ngcontent-%COMP%] {\n font-size: 12px;\n color: var(--mj-text-muted);\n padding-left: 14px;\n margin-top: 3px;\n border-left: 2px solid var(--sage-border);\n}\n\n.pill[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 5px;\n padding: 2px 8px;\n border-radius: var(--mj-radius-full, 9999px);\n font-size: 10.5px;\n font-weight: 700;\n flex-shrink: 0;\n line-height: 1.5;\n}\n.pill--running[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--sage) 18%, transparent);\n color: var(--mj-color-violet-300, var(--mj-text-secondary));\n border: 1px solid var(--sage-border);\n}\n.pill[_ngcontent-%COMP%] i[_ngcontent-%COMP%] { font-size: 9px; }\n.spin[_ngcontent-%COMP%] { animation: _ngcontent-%COMP%_rt-spin 1.1s linear infinite; }\n\n\n.work-progress[_ngcontent-%COMP%] {\n height: 3px;\n border-radius: var(--mj-radius-full, 9999px);\n background: color-mix(in srgb, var(--sage) 18%, transparent);\n overflow: hidden;\n margin-top: 9px;\n position: relative;\n}\n.work-progress__fill[_ngcontent-%COMP%] {\n height: 100%;\n border-radius: var(--mj-radius-full, 9999px);\n background: var(--sage);\n transition: width 240ms ease;\n}\n.work-progress__fill--slide[_ngcontent-%COMP%] {\n position: absolute;\n width: 35%;\n animation: _ngcontent-%COMP%_rt-slide 1.6s ease-in-out infinite;\n}\n\n\n\n.done-accordion[_ngcontent-%COMP%] {\n display: block;\n max-width: 560px;\n}\n\n\n\n\n.dev-link[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 5px;\n padding: 3px 9px;\n border-radius: var(--mj-radius-full, 9999px);\n border: 1px dashed var(--mj-border-strong);\n background: transparent;\n color: var(--mj-text-muted);\n font-family: inherit;\n font-size: 10.5px;\n font-weight: 700;\n white-space: nowrap;\n flex-shrink: 0;\n cursor: pointer;\n transition: color 140ms ease, border-color 140ms ease, background 140ms ease;\n}\n.dev-link[_ngcontent-%COMP%]:hover {\n color: var(--mj-text-link, var(--mj-brand-primary));\n border-color: var(--mj-brand-primary);\n background: color-mix(in srgb, var(--mj-brand-primary) 8%, transparent);\n}\n.dev-link[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 9px;\n}\n.dev-link--inline[_ngcontent-%COMP%] {\n margin-left: 8px;\n}\n\n\n.artifact-link[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 5px;\n padding: 3px 10px;\n border-radius: var(--mj-radius-full, 9999px);\n border: 1px solid var(--sage-border);\n background: var(--sage-bg);\n color: var(--mj-color-violet-300, var(--mj-text-secondary));\n font-family: inherit;\n font-size: 10.5px;\n font-weight: 700;\n white-space: nowrap;\n flex-shrink: 0;\n cursor: pointer;\n transition: color 140ms ease, border-color 140ms ease, background 140ms ease;\n}\n.artifact-link[_ngcontent-%COMP%]:hover {\n color: var(--mj-text-primary);\n border-color: var(--sage);\n background: color-mix(in srgb, var(--sage) 18%, transparent);\n}\n.artifact-link[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 9px;\n}\n.artifact-link--detail[_ngcontent-%COMP%] {\n margin-top: 8px;\n max-width: 100%;\n}\n.artifact-link--detail[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n\n\n\n.done-chip__mark[_ngcontent-%COMP%] {\n font-size: 11px;\n color: var(--mj-status-success);\n flex-shrink: 0;\n}\n.done-accordion--failed[_ngcontent-%COMP%] .done-chip__mark[_ngcontent-%COMP%] {\n color: var(--mj-status-error);\n}\n.done-chip__agent[_ngcontent-%COMP%] {\n font-weight: 700;\n color: var(--mj-text-primary);\n flex-shrink: 0;\n}\n.done-chip__sep[_ngcontent-%COMP%] {\n color: var(--mj-text-disabled);\n flex-shrink: 0;\n}\n.done-chip__preview[_ngcontent-%COMP%] {\n flex: 1;\n min-width: 0;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n color: var(--mj-text-secondary);\n}\n.via-badge[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n font-size: 10px;\n font-weight: 700;\n color: var(--mj-color-violet-300, var(--mj-text-muted));\n flex-shrink: 0;\n}\n.via-badge[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 9px;\n cursor: help;\n}\n\n\n\n.done-detail[_ngcontent-%COMP%] {\n margin-top: 6px;\n margin-left: 12px;\n padding: 10px 14px;\n border-left: 2px solid var(--sage);\n background: var(--mj-bg-surface);\n border-radius: 0 var(--mj-radius-lg, 12px) var(--mj-radius-lg, 12px) 0;\n border-top: 1px solid var(--mj-border-subtle, var(--mj-border-default));\n border-right: 1px solid var(--mj-border-subtle, var(--mj-border-default));\n border-bottom: 1px solid var(--mj-border-subtle, var(--mj-border-default));\n}\n.done-detail__body[_ngcontent-%COMP%] {\n font-size: 13px;\n line-height: 1.55;\n color: var(--mj-text-primary);\n white-space: pre-wrap;\n}\n.done-detail__meta[_ngcontent-%COMP%] {\n margin-top: 8px;\n font-size: 10.5px;\n font-weight: 700;\n color: var(--mj-text-muted);\n display: flex;\n align-items: center;\n gap: 5px;\n}\n.done-detail__meta[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n cursor: help;\n}\n\n@keyframes _ngcontent-%COMP%_rt-spin {\n to { transform: rotate(360deg); }\n}\n@keyframes _ngcontent-%COMP%_rt-slide {\n 0% { left: -35%; }\n 100% { left: 100%; }\n}\n\n\n.cancel-work[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 22px;\n height: 22px;\n padding: 0;\n border-radius: var(--mj-radius-full, 9999px);\n border: 1px solid transparent;\n background: transparent;\n color: var(--mj-text-muted);\n cursor: pointer;\n flex-shrink: 0;\n}\n.cancel-work[_ngcontent-%COMP%]:hover {\n color: var(--mj-status-error);\n border-color: var(--mj-status-error-border, var(--mj-status-error));\n background: color-mix(in srgb, var(--mj-status-error) 8%, transparent);\n}\n.cancel-work[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 11px;\n}"] });
|
|
303
355
|
}
|
|
304
356
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(RealtimeDelegationCardComponent, [{
|
|
305
357
|
type: Component,
|
|
306
|
-
args: [{ standalone: true, selector: 'mj-realtime-delegation-card', imports: [CommonModule, MJAccordionModule], template: "@if (!Card.Done) {\n <!-- WORKING \u2014 compact live card -->\n <div class=\"work-card\" role=\"status\" aria-live=\"polite\">\n <div class=\"work-card__head\">\n <div class=\"avatar\" aria-hidden=\"true\">{{ Card.AgentName.charAt(0) }}</div>\n <div class=\"work-card__title\">{{ Card.AgentName }} is working\u2026</div>\n <span class=\"pill pill--running\">\n <i class=\"fa-solid fa-spinner spin\" aria-hidden=\"true\"></i> Running\n </span>\n @if (ShowOpenRun) {\n <button type=\"button\" class=\"dev-link\" (click)=\"OpenRun($event)\"\n title=\"Open the delegated agent run record\">\n <i class=\"fa-solid fa-arrow-up-right-from-square\" aria-hidden=\"true\"></i>\n <span>Open run</span>\n </button>\n }\n <button type=\"button\" class=\"cancel-work\" (click)=\"CancelWork($event)\"\n title=\"Cancel this work\" aria-label=\"Cancel this work\">\n <i class=\"fa-solid fa-xmark\" aria-hidden=\"true\"></i>\n </button>\n </div>\n <div class=\"work-card__step\">{{ StepLabel }}</div>\n @if (ShowDetailLine) {\n <div class=\"work-card__detail\">{{ Card.LatestMessage }}</div>\n }\n <div class=\"work-progress\" [class.work-progress--indeterminate]=\"Card.Percentage == null\">\n @if (Card.Percentage != null) {\n <div class=\"work-progress__fill\" [style.width.%]=\"Card.Percentage\"></div>\n } @else {\n <div class=\"work-progress__fill work-progress__fill--slide\"></div>\n }\n </div>\n </div>\n} @else {\n <!-- DONE / FAILED \u2014 collapsed single-line chip, expandable inline.\n Migrated from a bespoke done-chip button + chevron + @if(Expanded) detail to\n mj-accordion-panel: title = result chip (mark/agent/preview/via-badge),\n actions = artifact \"View\" + dev \"Open run\" chips, body = full result detail.\n Failed state is carried via .done-accordion--failed on the panel. -->\n <mj-accordion-panel class=\"done-accordion\" [class.done-accordion--failed]=\"!Card.Success\"\n Size=\"sm\" [FlushBody]=\"true\" [(Expanded)]=\"Expanded\">\n <ng-template mjAccordionTitle>\n <i class=\"fa-solid done-chip__mark\" [ngClass]=\"Card.Success ? 'fa-check' : 'fa-xmark'\" aria-hidden=\"true\"></i>\n <span class=\"done-chip__agent\">{{ Card.AgentName }}</span>\n <span class=\"done-chip__sep\" aria-hidden=\"true\">\u00B7</span>\n <span class=\"done-chip__preview\">{{ ResultPreview }}</span>\n <span class=\"via-badge\">\n <i class=\"fa-solid fa-shield-halved\" [title]=\"ProvenanceTitle\" aria-hidden=\"true\"></i>\n via {{ Card.AgentName }}\n </span>\n </ng-template>\n <ng-template mjAccordionActions>\n @for (artifact of Artifacts; track artifact.ArtifactVersionID) {\n <button type=\"button\" class=\"artifact-link\" (click)=\"OpenArtifact($event, artifact)\"\n [title]=\"'View ' + artifact.Name\">\n <i class=\"fa-solid fa-file-lines\" aria-hidden=\"true\"></i>\n <span>View</span>\n <i class=\"fa-solid fa-arrow-right\" aria-hidden=\"true\"></i>\n </button>\n }\n @if (ShowOpenRun) {\n <button type=\"button\" class=\"dev-link\" (click)=\"OpenRun($event)\"\n title=\"Open the delegated agent run record\">\n <i class=\"fa-solid fa-arrow-up-right-from-square\" aria-hidden=\"true\"></i>\n <span>Open run</span>\n </button>\n }\n </ng-template>\n <ng-template mjAccordionBody>\n <div class=\"done-detail\">\n <div class=\"done-detail__body\">{{ ResultText }}</div>\n @for (artifact of Artifacts; track artifact.ArtifactVersionID) {\n <button type=\"button\" class=\"artifact-link artifact-link--detail\" (click)=\"OpenArtifact($event, artifact)\"\n [title]=\"'View ' + artifact.Name\">\n <i class=\"fa-solid fa-file-lines\" aria-hidden=\"true\"></i>\n <span>{{ artifact.Name }}</span>\n <i class=\"fa-solid fa-arrow-right\" aria-hidden=\"true\"></i>\n </button>\n }\n @if (Card.RunRef) {\n <div class=\"done-detail__meta\">\n <i class=\"fa-solid fa-shield-halved\" [title]=\"ProvenanceTitle\" aria-hidden=\"true\"></i>\n via {{ Card.AgentName }} \u00B7 run {{ Card.RunRef }}\n @if (ShowOpenRun) {\n <button type=\"button\" class=\"dev-link dev-link--inline\" (click)=\"OpenRun($event)\"\n title=\"Open the delegated agent run record\">\n <i class=\"fa-solid fa-arrow-up-right-from-square\" aria-hidden=\"true\"></i>\n <span>Open run</span>\n </button>\n }\n </div>\n }\n </div>\n </ng-template>\n </mj-accordion-panel>\n}\n", styles: [":host {\n display: block;\n /* sage / delegated-agent accent (distinct from the co-agent brand blue) */\n --sage: var(--mj-color-violet-400, #a78bfa);\n --sage-bg: color-mix(in srgb, var(--mj-color-violet-400, #a78bfa) 12%, transparent);\n --sage-border: color-mix(in srgb, var(--mj-color-violet-400, #a78bfa) 40%, transparent);\n}\n\n.avatar {\n width: 24px;\n height: 24px;\n border-radius: 50%;\n display: grid;\n place-items: center;\n font-weight: 600;\n font-size: 11px;\n flex-shrink: 0;\n background: var(--sage-bg);\n color: var(--mj-color-violet-300, var(--mj-text-primary));\n border: 1px solid var(--sage-border);\n}\n\n/* ---------- Working card (compact) ---------- */\n.work-card {\n border: 1px solid var(--sage-border);\n background: var(--sage-bg);\n border-radius: var(--mj-radius-lg, 12px);\n padding: 10px 14px;\n max-width: 560px;\n}\n.work-card__head {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-bottom: 8px;\n}\n.work-card__title {\n font-weight: 700;\n font-size: 13px;\n color: var(--mj-text-primary);\n flex: 1;\n min-width: 0;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.work-card__step {\n font-size: 12.5px;\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n.work-card__detail {\n font-size: 12px;\n color: var(--mj-text-muted);\n padding-left: 14px;\n margin-top: 3px;\n border-left: 2px solid var(--sage-border);\n}\n\n.pill {\n display: inline-flex;\n align-items: center;\n gap: 5px;\n padding: 2px 8px;\n border-radius: var(--mj-radius-full, 9999px);\n font-size: 10.5px;\n font-weight: 700;\n flex-shrink: 0;\n line-height: 1.5;\n}\n.pill--running {\n background: color-mix(in srgb, var(--sage) 18%, transparent);\n color: var(--mj-color-violet-300, var(--mj-text-secondary));\n border: 1px solid var(--sage-border);\n}\n.pill i { font-size: 9px; }\n.spin { animation: rt-spin 1.1s linear infinite; }\n\n/* Thin progress bar \u2014 determinate (server %) or indeterminate slide */\n.work-progress {\n height: 3px;\n border-radius: var(--mj-radius-full, 9999px);\n background: color-mix(in srgb, var(--sage) 18%, transparent);\n overflow: hidden;\n margin-top: 9px;\n position: relative;\n}\n.work-progress__fill {\n height: 100%;\n border-radius: var(--mj-radius-full, 9999px);\n background: var(--sage);\n transition: width 240ms ease;\n}\n.work-progress__fill--slide {\n position: absolute;\n width: 35%;\n animation: rt-slide 1.6s ease-in-out infinite;\n}\n\n/* ---------- Done state (collapsed single line) ---------- */\n/* Width constraint preserved on the migrated accordion panel. */\n.done-accordion {\n display: block;\n max-width: 560px;\n}\n/* Removed bespoke .done / .done-row / .done-row .done-chip layout chrome \u2014 the header\n row layout is now owned by mj-accordion-panel (header-row + actions slot). */\n\n/* ---------- Developer link (gear-gated \"Open run\") ---------- */\n.dev-link {\n display: inline-flex;\n align-items: center;\n gap: 5px;\n padding: 3px 9px;\n border-radius: var(--mj-radius-full, 9999px);\n border: 1px dashed var(--mj-border-strong);\n background: transparent;\n color: var(--mj-text-muted);\n font-family: inherit;\n font-size: 10.5px;\n font-weight: 700;\n white-space: nowrap;\n flex-shrink: 0;\n cursor: pointer;\n transition: color 140ms ease, border-color 140ms ease, background 140ms ease;\n}\n.dev-link:hover {\n color: var(--mj-text-link, var(--mj-brand-primary));\n border-color: var(--mj-brand-primary);\n background: color-mix(in srgb, var(--mj-brand-primary) 8%, transparent);\n}\n.dev-link i {\n font-size: 9px;\n}\n.dev-link--inline {\n margin-left: 8px;\n}\n\n/* ---------- \"View \u2192\" artifact chip (focuses the artifact's surface tab) ---------- */\n.artifact-link {\n display: inline-flex;\n align-items: center;\n gap: 5px;\n padding: 3px 10px;\n border-radius: var(--mj-radius-full, 9999px);\n border: 1px solid var(--sage-border);\n background: var(--sage-bg);\n color: var(--mj-color-violet-300, var(--mj-text-secondary));\n font-family: inherit;\n font-size: 10.5px;\n font-weight: 700;\n white-space: nowrap;\n flex-shrink: 0;\n cursor: pointer;\n transition: color 140ms ease, border-color 140ms ease, background 140ms ease;\n}\n.artifact-link:hover {\n color: var(--mj-text-primary);\n border-color: var(--sage);\n background: color-mix(in srgb, var(--sage) 18%, transparent);\n}\n.artifact-link i {\n font-size: 9px;\n}\n.artifact-link--detail {\n margin-top: 8px;\n max-width: 100%;\n}\n.artifact-link--detail span {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n/* Removed bespoke .done-chip button chrome (background/border/radius/hover) \u2014 the\n clickable header is now the mj-accordion-panel toggle. The chip's inner content\n styling (mark/agent/sep/preview/via-badge) is retained as accordion title content. */\n.done-chip__mark {\n font-size: 11px;\n color: var(--mj-status-success);\n flex-shrink: 0;\n}\n.done-accordion--failed .done-chip__mark {\n color: var(--mj-status-error);\n}\n.done-chip__agent {\n font-weight: 700;\n color: var(--mj-text-primary);\n flex-shrink: 0;\n}\n.done-chip__sep {\n color: var(--mj-text-disabled);\n flex-shrink: 0;\n}\n.done-chip__preview {\n flex: 1;\n min-width: 0;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n color: var(--mj-text-secondary);\n}\n.via-badge {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n font-size: 10px;\n font-weight: 700;\n color: var(--mj-color-violet-300, var(--mj-text-muted));\n flex-shrink: 0;\n}\n.via-badge i {\n font-size: 9px;\n cursor: help;\n}\n/* Removed .done-chip__chev \u2014 mj-accordion-panel provides its own chevron. */\n\n/* ---------- Expanded result detail ---------- */\n.done-detail {\n margin-top: 6px;\n margin-left: 12px;\n padding: 10px 14px;\n border-left: 2px solid var(--sage);\n background: var(--mj-bg-surface);\n border-radius: 0 var(--mj-radius-lg, 12px) var(--mj-radius-lg, 12px) 0;\n border-top: 1px solid var(--mj-border-subtle, var(--mj-border-default));\n border-right: 1px solid var(--mj-border-subtle, var(--mj-border-default));\n border-bottom: 1px solid var(--mj-border-subtle, var(--mj-border-default));\n}\n.done-detail__body {\n font-size: 13px;\n line-height: 1.55;\n color: var(--mj-text-primary);\n white-space: pre-wrap;\n}\n.done-detail__meta {\n margin-top: 8px;\n font-size: 10.5px;\n font-weight: 700;\n color: var(--mj-text-muted);\n display: flex;\n align-items: center;\n gap: 5px;\n}\n.done-detail__meta i {\n cursor: help;\n}\n\n@keyframes rt-spin {\n to { transform: rotate(360deg); }\n}\n@keyframes rt-slide {\n 0% { left: -35%; }\n 100% { left: 100%; }\n}\n\n/* ---------- \u2715 cancel affordance on the WORKING card (explicit user cancel) ---------- */\n.cancel-work {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 22px;\n height: 22px;\n padding: 0;\n border-radius: var(--mj-radius-full, 9999px);\n border: 1px solid transparent;\n background: transparent;\n color: var(--mj-text-muted);\n cursor: pointer;\n flex-shrink: 0;\n}\n.cancel-work:hover {\n color: var(--mj-status-error);\n border-color: var(--mj-status-error-border, var(--mj-status-error));\n background: color-mix(in srgb, var(--mj-status-error) 8%, transparent);\n}\n.cancel-work i {\n font-size: 11px;\n}\n"] }]
|
|
358
|
+
args: [{ standalone: true, selector: 'mj-realtime-delegation-card', imports: [CommonModule, MJAccordionModule], template: "@if (!Card.Done) {\n <!-- WORKING \u2014 compact live card -->\n <div class=\"work-card\" role=\"status\" aria-live=\"polite\">\n <div class=\"work-card__head\">\n @if (Card.Kind === 'action') {\n <div class=\"avatar avatar--action\" aria-hidden=\"true\"><i class=\"fa-solid fa-wrench\"></i></div>\n <div class=\"work-card__title\">{{ Card.AgentName }}</div>\n } @else {\n <div class=\"avatar\" aria-hidden=\"true\">{{ Card.AgentName.charAt(0) }}</div>\n <div class=\"work-card__title\">{{ Card.AgentName }} is working\u2026</div>\n }\n <span class=\"pill pill--running\">\n <i class=\"fa-solid fa-spinner spin\" aria-hidden=\"true\"></i> Running\n </span>\n @if (ShowOpenRun) {\n <button type=\"button\" class=\"dev-link\" (click)=\"OpenRun($event)\"\n title=\"Open the delegated agent run record\">\n <i class=\"fa-solid fa-arrow-up-right-from-square\" aria-hidden=\"true\"></i>\n <span>Open run</span>\n </button>\n }\n @if (Card.Kind !== 'action') {\n <button type=\"button\" class=\"cancel-work\" (click)=\"CancelWork($event)\"\n title=\"Cancel this work\" aria-label=\"Cancel this work\">\n <i class=\"fa-solid fa-xmark\" aria-hidden=\"true\"></i>\n </button>\n }\n </div>\n <div class=\"work-card__step\">{{ StepLabel }}</div>\n @if (ShowDetailLine) {\n <div class=\"work-card__detail\">{{ Card.LatestMessage }}</div>\n }\n <div class=\"work-progress\" [class.work-progress--indeterminate]=\"Card.Percentage == null\">\n @if (Card.Percentage != null) {\n <div class=\"work-progress__fill\" [style.width.%]=\"Card.Percentage\"></div>\n } @else {\n <div class=\"work-progress__fill work-progress__fill--slide\"></div>\n }\n </div>\n </div>\n} @else {\n <!-- DONE / FAILED \u2014 collapsed single-line chip, expandable inline.\n Migrated from a bespoke done-chip button + chevron + @if(Expanded) detail to\n mj-accordion-panel: title = result chip (mark/agent/preview/via-badge),\n actions = artifact \"View\" + dev \"Open run\" chips, body = full result detail.\n Failed state is carried via .done-accordion--failed on the panel. -->\n <mj-accordion-panel class=\"done-accordion\" [class.done-accordion--failed]=\"!Card.Success\"\n Size=\"sm\" [FlushBody]=\"true\" [(Expanded)]=\"Expanded\">\n <ng-template mjAccordionTitle>\n <i class=\"fa-solid done-chip__mark\" [ngClass]=\"Card.Success ? 'fa-check' : 'fa-xmark'\" aria-hidden=\"true\"></i>\n <span class=\"done-chip__agent\">{{ Card.AgentName }}</span>\n <span class=\"done-chip__sep\" aria-hidden=\"true\">\u00B7</span>\n <span class=\"done-chip__preview\">{{ ResultPreview }}</span>\n <span class=\"via-badge\">\n <i class=\"fa-solid fa-shield-halved\" [title]=\"ProvenanceTitle\" aria-hidden=\"true\"></i>\n @if (Card.Kind === 'action') {\n tool\n } @else {\n via {{ Card.AgentName }}\n }\n </span>\n </ng-template>\n <ng-template mjAccordionActions>\n @for (artifact of Artifacts; track artifact.ArtifactVersionID) {\n <button type=\"button\" class=\"artifact-link\" (click)=\"OpenArtifact($event, artifact)\"\n [title]=\"'View ' + artifact.Name\">\n <i class=\"fa-solid fa-file-lines\" aria-hidden=\"true\"></i>\n <span>View</span>\n <i class=\"fa-solid fa-arrow-right\" aria-hidden=\"true\"></i>\n </button>\n }\n @if (ShowOpenRun) {\n <button type=\"button\" class=\"dev-link\" (click)=\"OpenRun($event)\"\n title=\"Open the delegated agent run record\">\n <i class=\"fa-solid fa-arrow-up-right-from-square\" aria-hidden=\"true\"></i>\n <span>Open run</span>\n </button>\n }\n </ng-template>\n <ng-template mjAccordionBody>\n <div class=\"done-detail\">\n <div class=\"done-detail__body\">{{ ResultText }}</div>\n @for (artifact of Artifacts; track artifact.ArtifactVersionID) {\n <button type=\"button\" class=\"artifact-link artifact-link--detail\" (click)=\"OpenArtifact($event, artifact)\"\n [title]=\"'View ' + artifact.Name\">\n <i class=\"fa-solid fa-file-lines\" aria-hidden=\"true\"></i>\n <span>{{ artifact.Name }}</span>\n <i class=\"fa-solid fa-arrow-right\" aria-hidden=\"true\"></i>\n </button>\n }\n @if (Card.Kind === 'action') {\n <div class=\"done-detail__meta\">\n <i class=\"fa-solid fa-shield-halved\" [title]=\"ProvenanceTitle\" aria-hidden=\"true\"></i>\n Direct action \u00B7 {{ Card.AgentName }}\n </div>\n } @else if (Card.RunRef) {\n <div class=\"done-detail__meta\">\n <i class=\"fa-solid fa-shield-halved\" [title]=\"ProvenanceTitle\" aria-hidden=\"true\"></i>\n via {{ Card.AgentName }} \u00B7 run {{ Card.RunRef }}\n @if (ShowOpenRun) {\n <button type=\"button\" class=\"dev-link dev-link--inline\" (click)=\"OpenRun($event)\"\n title=\"Open the delegated agent run record\">\n <i class=\"fa-solid fa-arrow-up-right-from-square\" aria-hidden=\"true\"></i>\n <span>Open run</span>\n </button>\n }\n </div>\n }\n </div>\n </ng-template>\n </mj-accordion-panel>\n}\n", styles: [":host {\n display: block;\n /* sage / delegated-agent accent (distinct from the co-agent brand blue) */\n --sage: var(--mj-color-violet-400, #a78bfa);\n --sage-bg: color-mix(in srgb, var(--mj-color-violet-400, #a78bfa) 12%, transparent);\n --sage-border: color-mix(in srgb, var(--mj-color-violet-400, #a78bfa) 40%, transparent);\n}\n\n.avatar {\n width: 24px;\n height: 24px;\n border-radius: 50%;\n display: grid;\n place-items: center;\n font-weight: 600;\n font-size: 11px;\n flex-shrink: 0;\n background: var(--sage-bg);\n color: var(--mj-color-violet-300, var(--mj-text-primary));\n border: 1px solid var(--sage-border);\n}\n.avatar--action i {\n font-size: 10px;\n}\n\n/* ---------- Working card (compact) ---------- */\n.work-card {\n border: 1px solid var(--sage-border);\n background: var(--sage-bg);\n border-radius: var(--mj-radius-lg, 12px);\n padding: 10px 14px;\n max-width: 560px;\n}\n.work-card__head {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-bottom: 8px;\n}\n.work-card__title {\n font-weight: 700;\n font-size: 13px;\n color: var(--mj-text-primary);\n flex: 1;\n min-width: 0;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.work-card__step {\n font-size: 12.5px;\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n.work-card__detail {\n font-size: 12px;\n color: var(--mj-text-muted);\n padding-left: 14px;\n margin-top: 3px;\n border-left: 2px solid var(--sage-border);\n}\n\n.pill {\n display: inline-flex;\n align-items: center;\n gap: 5px;\n padding: 2px 8px;\n border-radius: var(--mj-radius-full, 9999px);\n font-size: 10.5px;\n font-weight: 700;\n flex-shrink: 0;\n line-height: 1.5;\n}\n.pill--running {\n background: color-mix(in srgb, var(--sage) 18%, transparent);\n color: var(--mj-color-violet-300, var(--mj-text-secondary));\n border: 1px solid var(--sage-border);\n}\n.pill i { font-size: 9px; }\n.spin { animation: rt-spin 1.1s linear infinite; }\n\n/* Thin progress bar \u2014 determinate (server %) or indeterminate slide */\n.work-progress {\n height: 3px;\n border-radius: var(--mj-radius-full, 9999px);\n background: color-mix(in srgb, var(--sage) 18%, transparent);\n overflow: hidden;\n margin-top: 9px;\n position: relative;\n}\n.work-progress__fill {\n height: 100%;\n border-radius: var(--mj-radius-full, 9999px);\n background: var(--sage);\n transition: width 240ms ease;\n}\n.work-progress__fill--slide {\n position: absolute;\n width: 35%;\n animation: rt-slide 1.6s ease-in-out infinite;\n}\n\n/* ---------- Done state (collapsed single line) ---------- */\n/* Width constraint preserved on the migrated accordion panel. */\n.done-accordion {\n display: block;\n max-width: 560px;\n}\n/* Removed bespoke .done / .done-row / .done-row .done-chip layout chrome \u2014 the header\n row layout is now owned by mj-accordion-panel (header-row + actions slot). */\n\n/* ---------- Developer link (gear-gated \"Open run\") ---------- */\n.dev-link {\n display: inline-flex;\n align-items: center;\n gap: 5px;\n padding: 3px 9px;\n border-radius: var(--mj-radius-full, 9999px);\n border: 1px dashed var(--mj-border-strong);\n background: transparent;\n color: var(--mj-text-muted);\n font-family: inherit;\n font-size: 10.5px;\n font-weight: 700;\n white-space: nowrap;\n flex-shrink: 0;\n cursor: pointer;\n transition: color 140ms ease, border-color 140ms ease, background 140ms ease;\n}\n.dev-link:hover {\n color: var(--mj-text-link, var(--mj-brand-primary));\n border-color: var(--mj-brand-primary);\n background: color-mix(in srgb, var(--mj-brand-primary) 8%, transparent);\n}\n.dev-link i {\n font-size: 9px;\n}\n.dev-link--inline {\n margin-left: 8px;\n}\n\n/* ---------- \"View \u2192\" artifact chip (focuses the artifact's surface tab) ---------- */\n.artifact-link {\n display: inline-flex;\n align-items: center;\n gap: 5px;\n padding: 3px 10px;\n border-radius: var(--mj-radius-full, 9999px);\n border: 1px solid var(--sage-border);\n background: var(--sage-bg);\n color: var(--mj-color-violet-300, var(--mj-text-secondary));\n font-family: inherit;\n font-size: 10.5px;\n font-weight: 700;\n white-space: nowrap;\n flex-shrink: 0;\n cursor: pointer;\n transition: color 140ms ease, border-color 140ms ease, background 140ms ease;\n}\n.artifact-link:hover {\n color: var(--mj-text-primary);\n border-color: var(--sage);\n background: color-mix(in srgb, var(--sage) 18%, transparent);\n}\n.artifact-link i {\n font-size: 9px;\n}\n.artifact-link--detail {\n margin-top: 8px;\n max-width: 100%;\n}\n.artifact-link--detail span {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n/* Removed bespoke .done-chip button chrome (background/border/radius/hover) \u2014 the\n clickable header is now the mj-accordion-panel toggle. The chip's inner content\n styling (mark/agent/sep/preview/via-badge) is retained as accordion title content. */\n.done-chip__mark {\n font-size: 11px;\n color: var(--mj-status-success);\n flex-shrink: 0;\n}\n.done-accordion--failed .done-chip__mark {\n color: var(--mj-status-error);\n}\n.done-chip__agent {\n font-weight: 700;\n color: var(--mj-text-primary);\n flex-shrink: 0;\n}\n.done-chip__sep {\n color: var(--mj-text-disabled);\n flex-shrink: 0;\n}\n.done-chip__preview {\n flex: 1;\n min-width: 0;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n color: var(--mj-text-secondary);\n}\n.via-badge {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n font-size: 10px;\n font-weight: 700;\n color: var(--mj-color-violet-300, var(--mj-text-muted));\n flex-shrink: 0;\n}\n.via-badge i {\n font-size: 9px;\n cursor: help;\n}\n/* Removed .done-chip__chev \u2014 mj-accordion-panel provides its own chevron. */\n\n/* ---------- Expanded result detail ---------- */\n.done-detail {\n margin-top: 6px;\n margin-left: 12px;\n padding: 10px 14px;\n border-left: 2px solid var(--sage);\n background: var(--mj-bg-surface);\n border-radius: 0 var(--mj-radius-lg, 12px) var(--mj-radius-lg, 12px) 0;\n border-top: 1px solid var(--mj-border-subtle, var(--mj-border-default));\n border-right: 1px solid var(--mj-border-subtle, var(--mj-border-default));\n border-bottom: 1px solid var(--mj-border-subtle, var(--mj-border-default));\n}\n.done-detail__body {\n font-size: 13px;\n line-height: 1.55;\n color: var(--mj-text-primary);\n white-space: pre-wrap;\n}\n.done-detail__meta {\n margin-top: 8px;\n font-size: 10.5px;\n font-weight: 700;\n color: var(--mj-text-muted);\n display: flex;\n align-items: center;\n gap: 5px;\n}\n.done-detail__meta i {\n cursor: help;\n}\n\n@keyframes rt-spin {\n to { transform: rotate(360deg); }\n}\n@keyframes rt-slide {\n 0% { left: -35%; }\n 100% { left: 100%; }\n}\n\n/* ---------- \u2715 cancel affordance on the WORKING card (explicit user cancel) ---------- */\n.cancel-work {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 22px;\n height: 22px;\n padding: 0;\n border-radius: var(--mj-radius-full, 9999px);\n border: 1px solid transparent;\n background: transparent;\n color: var(--mj-text-muted);\n cursor: pointer;\n flex-shrink: 0;\n}\n.cancel-work:hover {\n color: var(--mj-status-error);\n border-color: var(--mj-status-error-border, var(--mj-status-error));\n background: color-mix(in srgb, var(--mj-status-error) 8%, transparent);\n}\n.cancel-work i {\n font-size: 11px;\n}\n"] }]
|
|
307
359
|
}], null, { Card: [{
|
|
308
360
|
type: Input,
|
|
309
361
|
args: [{ required: true }]
|