@admin-layout/ai-chat-ext-browser 12.2.4-alpha.85 → 12.2.5-alpha.2
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/lib/components/MessageWidgets/MessageFlights.d.ts +24 -0
- package/lib/components/MessageWidgets/MessageFlights.d.ts.map +1 -0
- package/lib/components/MessageWidgets/MessageFlights.js +193 -0
- package/lib/components/MessageWidgets/MessageFlights.js.map +1 -0
- package/lib/components/MessageWidgets/MessageMedia.d.ts +7 -5
- package/lib/components/MessageWidgets/MessageMedia.d.ts.map +1 -1
- package/lib/components/MessageWidgets/MessageMedia.js +86 -83
- package/lib/components/MessageWidgets/MessageMedia.js.map +1 -1
- package/lib/components/MessageWidgets/MessageTravel.d.ts.map +1 -1
- package/lib/components/MessageWidgets/MessageTravel.js +9 -1
- package/lib/components/MessageWidgets/MessageTravel.js.map +1 -1
- package/lib/components/MessageWidgets/index.d.ts +3 -0
- package/lib/components/MessageWidgets/index.d.ts.map +1 -1
- package/lib/components/MessageWidgets/mediaUtils.d.ts +21 -0
- package/lib/components/MessageWidgets/mediaUtils.d.ts.map +1 -0
- package/lib/components/MessageWidgets/mediaUtils.js +76 -0
- package/lib/components/MessageWidgets/mediaUtils.js.map +1 -0
- package/lib/components/index.d.ts +2 -1
- package/lib/components/index.d.ts.map +1 -1
- package/lib/index.d.ts +3 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -1
- package/lib/interfaces/ai-chat.interface.d.ts +13 -14
- package/lib/interfaces/ai-chat.interface.d.ts.map +1 -1
- package/lib/interfaces/index.d.ts +1 -1
- package/lib/interfaces/index.d.ts.map +1 -1
- package/lib/slot-fill/chat-settings-fill.js +1 -1
- package/lib/slot-fill/chat-settings-fill.js.map +1 -1
- package/lib/slot-fill/message-ai-assistant-fill.js +1 -1
- package/lib/slot-fill/message-ai-assistant-fill.js.map +1 -1
- package/lib/slot-fill/message-codeblock-fill.js +1 -1
- package/lib/slot-fill/message-codeblock-fill.js.map +1 -1
- package/lib/slot-fill/message-connector-fill.js +1 -1
- package/lib/slot-fill/message-connector-fill.js.map +1 -1
- package/lib/slot-fill/message-generic-fill.js +1 -1
- package/lib/slot-fill/message-generic-fill.js.map +1 -1
- package/lib/slot-fill/message-media-fill.js +1 -1
- package/lib/slot-fill/message-media-fill.js.map +1 -1
- package/lib/slot-fill/message-service-fill.js +1 -1
- package/lib/slot-fill/message-service-fill.js.map +1 -1
- package/lib/slot-fill/message-thinking-fill.js +1 -1
- package/lib/slot-fill/message-thinking-fill.js.map +1 -1
- package/lib/slot-fill/message-tooluse-fill.js +1 -1
- package/lib/slot-fill/message-tooluse-fill.js.map +1 -1
- package/lib/slot-fill/message-travel-fill.js +1 -1
- package/lib/slot-fill/message-travel-fill.js.map +1 -1
- package/lib/slot-fill/message-workflow-fill.js +1 -1
- package/lib/slot-fill/message-workflow-fill.js.map +1 -1
- package/package.json +7 -4
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { IPost } from 'common';
|
|
3
|
+
import { TravelAttachmentsInterface } from '../../interfaces';
|
|
4
|
+
export interface IMessageFlightsProps {
|
|
5
|
+
message: IPost;
|
|
6
|
+
attachment: TravelAttachmentsInterface;
|
|
7
|
+
/** Opens the full result set in the travel side panel. */
|
|
8
|
+
onMessageClick?: (ref: IPost) => void;
|
|
9
|
+
}
|
|
10
|
+
export interface IFlightCardListProps {
|
|
11
|
+
attachment: TravelAttachmentsInterface;
|
|
12
|
+
/** Fired by a card with no seller link; omit it to render such cards as plain content. */
|
|
13
|
+
onOpen?: () => void;
|
|
14
|
+
}
|
|
15
|
+
/** Every flight as a full-width vertical list, for a side panel or a results page. */
|
|
16
|
+
export declare const FlightCardList: ({ attachment, onOpen }: IFlightCardListProps) => React.JSX.Element;
|
|
17
|
+
/**
|
|
18
|
+
* Flight results as a swipeable row of cards: one card per offer, the next
|
|
19
|
+
* one peeking in so the row reads as scrollable. Touch swipes and snaps; a
|
|
20
|
+
* pointer gets arrow buttons, since sideways scrolling is awkward with a
|
|
21
|
+
* mouse.
|
|
22
|
+
*/
|
|
23
|
+
export declare const MessageFlights: ({ message, attachment, onMessageClick }: IMessageFlightsProps) => React.JSX.Element;
|
|
24
|
+
//# sourceMappingURL=MessageFlights.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MessageFlights.d.ts","sourceRoot":"","sources":["../../../src/components/MessageWidgets/MessageFlights.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAC;AAIxE,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC/B,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAG9D,MAAM,WAAW,oBAAoB;IACjC,OAAO,EAAE,KAAK,CAAC;IACf,UAAU,EAAE,0BAA0B,CAAC;IACvC,0DAA0D;IAC1D,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC;CACzC;AA2HD,MAAM,WAAW,oBAAoB;IACjC,UAAU,EAAE,0BAA0B,CAAC;IACvC,0FAA0F;IAC1F,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,sFAAsF;AACtF,eAAO,MAAM,cAAc,GAAI,wBAAwB,oBAAoB,sBAY1E,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,cAAc,GAAI,yCAAyC,oBAAoB,sBAoF3F,CAAC"}
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
import React,{useRef,useState,useCallback,useEffect}from'react';import {FaPlane}from'@react-icons/all-files/fa/FaPlane.js';import {FiChevronLeft}from'@react-icons/all-files/fi/FiChevronLeft.js';import {FiChevronRight}from'@react-icons/all-files/fi/FiChevronRight.js';import {toFlightCards}from'@admin-layout/client';const SliceRow = ({
|
|
2
|
+
slice
|
|
3
|
+
}) => {
|
|
4
|
+
return React.createElement("div", {
|
|
5
|
+
className: "grid grid-cols-[auto_1fr_auto] items-center gap-3"
|
|
6
|
+
}, React.createElement("div", null, React.createElement("p", {
|
|
7
|
+
className: "text-2xl font-bold leading-none tracking-tight tabular-nums text-gray-900 dark:text-gray-50"
|
|
8
|
+
}, slice.departTime ?? '--:--'), React.createElement("p", {
|
|
9
|
+
className: "mt-1.5 text-sm text-gray-500 dark:text-gray-400"
|
|
10
|
+
}, slice.origin)), React.createElement("div", {
|
|
11
|
+
className: "flex min-w-0 flex-col items-center",
|
|
12
|
+
"aria-hidden": "true"
|
|
13
|
+
}, React.createElement("div", {
|
|
14
|
+
className: "flex w-full items-center gap-1.5"
|
|
15
|
+
}, React.createElement("span", {
|
|
16
|
+
className: "h-px flex-1 border-t border-dashed border-gray-300 dark:border-gray-600"
|
|
17
|
+
}), React.createElement(FaPlane, {
|
|
18
|
+
className: "h-3.5 w-3.5 shrink-0 text-blue-500"
|
|
19
|
+
}), React.createElement("span", {
|
|
20
|
+
className: "h-px flex-1 border-t border-dashed border-gray-300 dark:border-gray-600"
|
|
21
|
+
})), slice.meta ? React.createElement("p", {
|
|
22
|
+
className: "mt-1 truncate text-[11px] leading-tight text-gray-400 dark:text-gray-500"
|
|
23
|
+
}, slice.meta) : null), React.createElement("div", {
|
|
24
|
+
className: "text-right"
|
|
25
|
+
}, React.createElement("p", {
|
|
26
|
+
className: "text-2xl font-bold leading-none tracking-tight tabular-nums text-gray-900 dark:text-gray-50"
|
|
27
|
+
}, slice.arriveTime ?? '--:--', slice.dayOffset ? React.createElement("sup", {
|
|
28
|
+
className: "ml-0.5 text-[11px] font-semibold text-amber-600 dark:text-amber-400"
|
|
29
|
+
}, slice.dayOffset) : null), React.createElement("p", {
|
|
30
|
+
className: "mt-1.5 text-sm text-gray-500 dark:text-gray-400"
|
|
31
|
+
}, slice.destination)));
|
|
32
|
+
};
|
|
33
|
+
const CARD_CLASS = 'group/card flex flex-col rounded-2xl border border-gray-200 bg-white p-4 text-left shadow-sm transition ' + 'hover:border-blue-300 hover:shadow-md focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-blue-500 ' + 'dark:border-gray-700 dark:bg-gray-800 dark:hover:border-blue-500/60';
|
|
34
|
+
const IN_ROW = 'w-[min(19rem,85%)] shrink-0 snap-start';
|
|
35
|
+
const FlightCard = ({
|
|
36
|
+
card,
|
|
37
|
+
onOpen,
|
|
38
|
+
fullWidth = false
|
|
39
|
+
}) => {
|
|
40
|
+
const className = `${CARD_CLASS} ${fullWidth ? 'w-full' : IN_ROW}`;
|
|
41
|
+
const body = React.createElement(React.Fragment, null, React.createElement("div", {
|
|
42
|
+
className: "flex items-center gap-2"
|
|
43
|
+
}, card.sellerInitial ? React.createElement("span", {
|
|
44
|
+
"aria-hidden": "true",
|
|
45
|
+
className: "flex h-5 w-5 shrink-0 items-center justify-center rounded-md bg-blue-500 text-[11px] font-bold text-white"
|
|
46
|
+
}, card.sellerInitial) : null, React.createElement("p", {
|
|
47
|
+
className: "truncate text-sm text-gray-500 dark:text-gray-400"
|
|
48
|
+
}, card.header)), React.createElement("div", {
|
|
49
|
+
className: "mb-4 mt-4 space-y-4"
|
|
50
|
+
}, card.slices.map((s, i) => React.createElement(SliceRow, {
|
|
51
|
+
key: i,
|
|
52
|
+
slice: s
|
|
53
|
+
}))), React.createElement("div", {
|
|
54
|
+
className: "mt-auto flex items-center justify-between gap-3 border-t border-gray-100 pt-3 dark:border-gray-700"
|
|
55
|
+
}, React.createElement("p", {
|
|
56
|
+
className: "min-w-0 truncate text-sm text-gray-600 dark:text-gray-300"
|
|
57
|
+
}, card.footer), card.price ? React.createElement("p", {
|
|
58
|
+
className: "shrink-0 text-lg font-bold tabular-nums text-blue-600 dark:text-blue-400"
|
|
59
|
+
}, card.price) : null));
|
|
60
|
+
// A bookable offer goes straight to the seller; without a link the card
|
|
61
|
+
// opens the full results in the side panel instead.
|
|
62
|
+
if (card.url) {
|
|
63
|
+
return React.createElement("a", {
|
|
64
|
+
href: card.url,
|
|
65
|
+
target: "_blank",
|
|
66
|
+
rel: "noopener noreferrer",
|
|
67
|
+
"aria-label": card.accessibleLabel,
|
|
68
|
+
className: className,
|
|
69
|
+
"data-flight-card": ""
|
|
70
|
+
}, body);
|
|
71
|
+
}
|
|
72
|
+
if (!onOpen) {
|
|
73
|
+
// Nothing to open: plain content, not a button that does nothing.
|
|
74
|
+
return React.createElement("div", {
|
|
75
|
+
role: "group",
|
|
76
|
+
"aria-label": card.accessibleLabel,
|
|
77
|
+
className: className,
|
|
78
|
+
"data-flight-card": ""
|
|
79
|
+
}, body);
|
|
80
|
+
}
|
|
81
|
+
return React.createElement("button", {
|
|
82
|
+
type: "button",
|
|
83
|
+
onClick: onOpen,
|
|
84
|
+
"aria-label": card.accessibleLabel,
|
|
85
|
+
className: className,
|
|
86
|
+
"data-flight-card": ""
|
|
87
|
+
}, body);
|
|
88
|
+
};
|
|
89
|
+
/** Every flight as a full-width vertical list, for a side panel or a results page. */
|
|
90
|
+
const FlightCardList = ({
|
|
91
|
+
attachment,
|
|
92
|
+
onOpen
|
|
93
|
+
}) => {
|
|
94
|
+
const cards = toFlightCards(attachment);
|
|
95
|
+
if (cards.length === 0) return null;
|
|
96
|
+
return React.createElement("ul", {
|
|
97
|
+
className: "space-y-3",
|
|
98
|
+
"aria-label": attachment.title || 'Flight options'
|
|
99
|
+
}, cards.map(c => React.createElement("li", {
|
|
100
|
+
key: c.key
|
|
101
|
+
}, React.createElement(FlightCard, {
|
|
102
|
+
card: c,
|
|
103
|
+
onOpen: onOpen,
|
|
104
|
+
fullWidth: true
|
|
105
|
+
}))));
|
|
106
|
+
};
|
|
107
|
+
/**
|
|
108
|
+
* Flight results as a swipeable row of cards: one card per offer, the next
|
|
109
|
+
* one peeking in so the row reads as scrollable. Touch swipes and snaps; a
|
|
110
|
+
* pointer gets arrow buttons, since sideways scrolling is awkward with a
|
|
111
|
+
* mouse.
|
|
112
|
+
*/
|
|
113
|
+
const MessageFlights = ({
|
|
114
|
+
message,
|
|
115
|
+
attachment,
|
|
116
|
+
onMessageClick
|
|
117
|
+
}) => {
|
|
118
|
+
const cards = toFlightCards(attachment);
|
|
119
|
+
const rowRef = useRef(null);
|
|
120
|
+
const [edges, setEdges] = useState({
|
|
121
|
+
atStart: true,
|
|
122
|
+
atEnd: true
|
|
123
|
+
});
|
|
124
|
+
const measure = useCallback(() => {
|
|
125
|
+
const el = rowRef.current;
|
|
126
|
+
if (!el) return;
|
|
127
|
+
setEdges({
|
|
128
|
+
atStart: el.scrollLeft <= 1,
|
|
129
|
+
atEnd: el.scrollLeft + el.clientWidth >= el.scrollWidth - 1
|
|
130
|
+
});
|
|
131
|
+
}, []);
|
|
132
|
+
useEffect(() => {
|
|
133
|
+
measure();
|
|
134
|
+
const el = rowRef.current;
|
|
135
|
+
if (!el || typeof ResizeObserver === 'undefined') return undefined;
|
|
136
|
+
const ro = new ResizeObserver(measure);
|
|
137
|
+
ro.observe(el);
|
|
138
|
+
return () => ro.disconnect();
|
|
139
|
+
}, [measure, cards.length]);
|
|
140
|
+
if (cards.length === 0) return null;
|
|
141
|
+
const step = dir => {
|
|
142
|
+
const el = rowRef.current;
|
|
143
|
+
const card = el?.querySelector('[data-flight-card]');
|
|
144
|
+
if (!el || !card) return;
|
|
145
|
+
el.scrollBy({
|
|
146
|
+
left: dir * (card.offsetWidth + 12),
|
|
147
|
+
behavior: 'smooth'
|
|
148
|
+
});
|
|
149
|
+
};
|
|
150
|
+
const open = () => onMessageClick?.(message);
|
|
151
|
+
const count = attachment.totalCount ?? attachment.properties.length;
|
|
152
|
+
const arrow = 'absolute top-1/2 z-10 hidden h-9 w-9 -translate-y-1/2 items-center justify-center rounded-full border border-gray-200 bg-white/95 text-gray-700 shadow-md transition hover:bg-white ' + 'disabled:pointer-events-none disabled:opacity-0 [@media(pointer:fine)]:flex dark:border-gray-600 dark:bg-gray-800/95 dark:text-gray-200';
|
|
153
|
+
return React.createElement("div", {
|
|
154
|
+
className: "my-2 w-full",
|
|
155
|
+
role: "group",
|
|
156
|
+
"aria-label": attachment.title || 'Flight options'
|
|
157
|
+
}, React.createElement("div", {
|
|
158
|
+
className: "relative"
|
|
159
|
+
}, React.createElement("div", {
|
|
160
|
+
ref: rowRef,
|
|
161
|
+
onScroll: measure,
|
|
162
|
+
// scroll-px-2 matches px-2: without it a snapped card sits flush
|
|
163
|
+
// against the edge while the first sits 8px in, and snapping
|
|
164
|
+
// nudges the row off 0 on load so "previous" looks enabled.
|
|
165
|
+
className: "flex snap-x snap-mandatory scroll-px-2 gap-3 overflow-x-auto scroll-smooth px-2 pb-2 pt-1 [scrollbar-width:none] [&::-webkit-scrollbar]:hidden"
|
|
166
|
+
}, cards.map(c => React.createElement(FlightCard, {
|
|
167
|
+
key: c.key,
|
|
168
|
+
card: c,
|
|
169
|
+
onOpen: open
|
|
170
|
+
}))), React.createElement("button", {
|
|
171
|
+
type: "button",
|
|
172
|
+
"aria-label": "Previous flights",
|
|
173
|
+
onClick: () => step(-1),
|
|
174
|
+
disabled: edges.atStart,
|
|
175
|
+
className: `${arrow} left-0`
|
|
176
|
+
}, React.createElement(FiChevronLeft, {
|
|
177
|
+
className: "h-5 w-5"
|
|
178
|
+
})), React.createElement("button", {
|
|
179
|
+
type: "button",
|
|
180
|
+
"aria-label": "More flights",
|
|
181
|
+
onClick: () => step(1),
|
|
182
|
+
disabled: edges.atEnd,
|
|
183
|
+
className: `${arrow} right-0`
|
|
184
|
+
}, React.createElement(FiChevronRight, {
|
|
185
|
+
className: "h-5 w-5"
|
|
186
|
+
}))), onMessageClick && count > cards.length ? React.createElement("button", {
|
|
187
|
+
type: "button",
|
|
188
|
+
onClick: open,
|
|
189
|
+
className: "mx-2 mt-1 inline-flex items-center gap-1 text-sm font-medium text-blue-600 hover:underline dark:text-blue-400"
|
|
190
|
+
}, attachment.actionLabel || `View all ${count} flights`, React.createElement(FiChevronRight, {
|
|
191
|
+
className: "h-4 w-4"
|
|
192
|
+
})) : null);
|
|
193
|
+
};export{FlightCardList,MessageFlights};//# sourceMappingURL=MessageFlights.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MessageFlights.js","sources":["../../../src/components/MessageWidgets/MessageFlights.tsx"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -7,11 +7,13 @@ export interface IMessageMediaProps {
|
|
|
7
7
|
onMessageClick?: (ref: IPost) => void;
|
|
8
8
|
}
|
|
9
9
|
/**
|
|
10
|
-
* Media card — renders the image / video / audio a cdecli generation
|
|
11
|
-
* (yantra-image-generation, yantra-video-generation, audio / TTS, …)
|
|
12
|
-
* inline in the chat. Shows the asset(s)
|
|
13
|
-
*
|
|
14
|
-
*
|
|
10
|
+
* Media result card — renders the image / video / audio a cdecli generation
|
|
11
|
+
* connector (yantra-image-generation, yantra-video-generation, audio / TTS, …)
|
|
12
|
+
* returned, inline in the chat. Shows the asset(s) in a real player, a technical
|
|
13
|
+
* metadata row (kind · dimensions · duration · format · model) derived from the
|
|
14
|
+
* loaded asset, the prompt as a caption, and open / download / copy-link actions.
|
|
15
|
+
* The asset URLs live on the message's propsConfiguration, so they persist with
|
|
16
|
+
* the chat.
|
|
15
17
|
*/
|
|
16
18
|
export declare const MessageMedia: (props: IMessageMediaProps) => React.JSX.Element;
|
|
17
19
|
//# sourceMappingURL=MessageMedia.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageMedia.d.ts","sourceRoot":"","sources":["../../../src/components/MessageWidgets/MessageMedia.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"MessageMedia.d.ts","sourceRoot":"","sources":["../../../src/components/MessageWidgets/MessageMedia.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAQxC,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAa/B,MAAM,WAAW,kBAAkB;IAC/B,OAAO,EAAE,KAAK,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,uFAAuF;IACvF,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC;CACzC;AAaD;;;;;;;;GAQG;AACH,eAAO,MAAM,YAAY,GAAI,OAAO,kBAAkB,sBAyIrD,CAAC"}
|
|
@@ -1,58 +1,28 @@
|
|
|
1
|
-
import React
|
|
2
|
-
image: {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
},
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
}),
|
|
12
|
-
label: 'Video'
|
|
13
|
-
},
|
|
14
|
-
audio: {
|
|
15
|
-
icon: React.createElement(FiMusic, {
|
|
16
|
-
className: "w-4 h-4"
|
|
17
|
-
}),
|
|
18
|
-
label: 'Audio'
|
|
19
|
-
}
|
|
20
|
-
};
|
|
21
|
-
/** Render a single asset with the element that matches its kind. */
|
|
22
|
-
const MediaAsset = ({
|
|
23
|
-
item
|
|
24
|
-
}) => {
|
|
25
|
-
if (item.kind === 'video') {
|
|
26
|
-
return React.createElement("video", {
|
|
27
|
-
src: item.url,
|
|
28
|
-
poster: item.posterUrl,
|
|
29
|
-
controls: true,
|
|
30
|
-
preload: "metadata",
|
|
31
|
-
className: "w-full max-h-80 rounded-lg bg-black object-contain"
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
if (item.kind === 'audio') {
|
|
35
|
-
return React.createElement("audio", {
|
|
36
|
-
src: item.url,
|
|
37
|
-
controls: true,
|
|
38
|
-
preload: "metadata",
|
|
39
|
-
className: "w-full"
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
// eslint-disable-next-line @next/next/no-img-element
|
|
43
|
-
return React.createElement("img", {
|
|
44
|
-
src: item.url,
|
|
45
|
-
alt: item.title || 'Generated image',
|
|
46
|
-
loading: "lazy",
|
|
47
|
-
className: "w-full max-h-80 rounded-lg object-contain bg-gray-50 dark:bg-gray-900"
|
|
48
|
-
});
|
|
1
|
+
import React,{useState}from'react';import {FiImage}from'@react-icons/all-files/fi/FiImage.js';import {FiVideo}from'@react-icons/all-files/fi/FiVideo.js';import {FiMusic}from'@react-icons/all-files/fi/FiMusic.js';import {FiDownload}from'@react-icons/all-files/fi/FiDownload.js';import {FiExternalLink}from'@react-icons/all-files/fi/FiExternalLink.js';import {FiCopy}from'@react-icons/all-files/fi/FiCopy.js';import {FiCheck}from'@react-icons/all-files/fi/FiCheck.js';import {MediaAsset}from'@admin-layout/connector-widgets-browser';import {deriveMediaItems,MEDIA_KIND_LABEL,formatAttribution,formatDimensions,formatDuration,formatMediaFormat}from'./mediaUtils.js';const KIND_ICON = {
|
|
2
|
+
image: React.createElement(FiImage, {
|
|
3
|
+
className: "w-3.5 h-3.5"
|
|
4
|
+
}),
|
|
5
|
+
video: React.createElement(FiVideo, {
|
|
6
|
+
className: "w-3.5 h-3.5"
|
|
7
|
+
}),
|
|
8
|
+
audio: React.createElement(FiMusic, {
|
|
9
|
+
className: "w-3.5 h-3.5"
|
|
10
|
+
})
|
|
49
11
|
};
|
|
12
|
+
/** One compact `·`-separated metadata cell. */
|
|
13
|
+
const MetaCell = ({
|
|
14
|
+
children
|
|
15
|
+
}) => React.createElement("span", {
|
|
16
|
+
className: "inline-flex items-center whitespace-nowrap"
|
|
17
|
+
}, children);
|
|
50
18
|
/**
|
|
51
|
-
* Media card — renders the image / video / audio a cdecli generation
|
|
52
|
-
* (yantra-image-generation, yantra-video-generation, audio / TTS, …)
|
|
53
|
-
* inline in the chat. Shows the asset(s)
|
|
54
|
-
*
|
|
55
|
-
*
|
|
19
|
+
* Media result card — renders the image / video / audio a cdecli generation
|
|
20
|
+
* connector (yantra-image-generation, yantra-video-generation, audio / TTS, …)
|
|
21
|
+
* returned, inline in the chat. Shows the asset(s) in a real player, a technical
|
|
22
|
+
* metadata row (kind · dimensions · duration · format · model) derived from the
|
|
23
|
+
* loaded asset, the prompt as a caption, and open / download / copy-link actions.
|
|
24
|
+
* The asset URLs live on the message's propsConfiguration, so they persist with
|
|
25
|
+
* the chat.
|
|
56
26
|
*/
|
|
57
27
|
const MessageMedia = props => {
|
|
58
28
|
const {
|
|
@@ -63,58 +33,91 @@ const MessageMedia = props => {
|
|
|
63
33
|
const {
|
|
64
34
|
attachment
|
|
65
35
|
} = message.propsConfiguration?.contents ?? {};
|
|
36
|
+
const [assetMeta, setAssetMeta] = useState({});
|
|
37
|
+
const [copied, setCopied] = useState(false);
|
|
66
38
|
if (!attachment || !attachment.url) return null;
|
|
67
|
-
const items = attachment
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
const
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
const
|
|
39
|
+
const items = deriveMediaItems(attachment);
|
|
40
|
+
if (items.length === 0) return null;
|
|
41
|
+
const kind = attachment.kind;
|
|
42
|
+
const kindLabel = MEDIA_KIND_LABEL[kind] ?? MEDIA_KIND_LABEL.image;
|
|
43
|
+
const kindIcon = KIND_ICON[kind] ?? KIND_ICON.image;
|
|
44
|
+
const title = attachment.title || `${kindLabel} generated`;
|
|
45
|
+
const attribution = formatAttribution(attachment);
|
|
46
|
+
const isImageGrid = items.length > 1 && kind === 'image';
|
|
47
|
+
// Technical metadata — dimensions/duration come from the loaded asset (single
|
|
48
|
+
// asset only; a grid has no one set of dimensions), format from the mime type.
|
|
49
|
+
const dimensions = !isImageGrid ? formatDimensions(assetMeta.width, assetMeta.height) : undefined;
|
|
50
|
+
const duration = !isImageGrid ? formatDuration(assetMeta.duration) : undefined;
|
|
51
|
+
const format = formatMediaFormat(attachment.mimeType, attachment.fileName);
|
|
52
|
+
const metaCells = [isImageGrid ? `${items.length} images` : undefined, dimensions, duration, format, attribution].filter(Boolean);
|
|
78
53
|
const open = () => onMessageClick?.(message);
|
|
54
|
+
const copyLink = async () => {
|
|
55
|
+
try {
|
|
56
|
+
await navigator.clipboard?.writeText(attachment.url);
|
|
57
|
+
setCopied(true);
|
|
58
|
+
window.setTimeout(() => setCopied(false), 1600);
|
|
59
|
+
} catch {
|
|
60
|
+
/* clipboard unavailable — no-op */
|
|
61
|
+
}
|
|
62
|
+
};
|
|
79
63
|
return React.createElement("div", {
|
|
80
64
|
key: `${index}`,
|
|
81
|
-
className: "my-2 mx-2 rounded-xl border border-gray-200 dark:border-gray-700 bg-white dark:bg-gray-800/60 overflow-hidden"
|
|
65
|
+
className: "my-2 mx-2 w-[calc(100%-1rem)] rounded-xl border border-gray-200 dark:border-gray-700 bg-white dark:bg-gray-800/60 overflow-hidden"
|
|
82
66
|
}, React.createElement("div", {
|
|
83
|
-
className: "flex items-center gap-2 px-3 py-2 border-b border-gray-100 dark:border-gray-700"
|
|
67
|
+
className: "flex items-center gap-2 px-3 py-2.5 border-b border-gray-100 dark:border-gray-700/80"
|
|
84
68
|
}, React.createElement("span", {
|
|
85
|
-
className: "flex-shrink-0 text-blue-
|
|
86
|
-
},
|
|
87
|
-
className: "flex-1 min-w-0 text-sm font-semibold text-gray-900 dark:text-gray-100 truncate"
|
|
69
|
+
className: "flex-shrink-0 inline-flex items-center gap-1 rounded-md bg-blue-50 dark:bg-gray-700 px-1.5 py-0.5 text-[11px] font-medium text-blue-600 dark:text-blue-400"
|
|
70
|
+
}, kindIcon, kindLabel), React.createElement("p", {
|
|
71
|
+
className: "flex-1 min-w-0 text-sm font-semibold text-gray-900 dark:text-gray-100 truncate",
|
|
72
|
+
title: title
|
|
88
73
|
}, title), attribution && React.createElement("span", {
|
|
89
|
-
className: "flex-shrink-0 text-[
|
|
74
|
+
className: "flex-shrink-0 text-[11px] text-gray-400 dark:text-gray-500 truncate max-w-[55%]"
|
|
90
75
|
}, attribution)), React.createElement("div", {
|
|
91
|
-
className: `p-2 ${
|
|
76
|
+
className: `p-2 ${isImageGrid ? 'grid grid-cols-2 gap-2' : 'flex flex-col gap-2'}`,
|
|
92
77
|
onClick: open,
|
|
93
78
|
role: onMessageClick ? 'button' : undefined
|
|
94
79
|
}, items.map((item, i) => React.createElement(MediaAsset, {
|
|
95
80
|
key: (item.url ?? '') + i,
|
|
96
|
-
item: item
|
|
97
|
-
|
|
98
|
-
|
|
81
|
+
item: item,
|
|
82
|
+
onMeta: items.length === 1 ? setAssetMeta : undefined
|
|
83
|
+
}))), metaCells.length > 0 && React.createElement("div", {
|
|
84
|
+
className: "px-3 pb-1 flex flex-wrap items-center gap-2 text-[11px] text-gray-500 dark:text-gray-400"
|
|
85
|
+
}, metaCells.map((cell, i) => React.createElement(React.Fragment, {
|
|
86
|
+
key: cell + i
|
|
87
|
+
}, i > 0 && React.createElement("span", {
|
|
88
|
+
className: "text-gray-300 dark:text-gray-600"
|
|
89
|
+
}, "\u00B7"), React.createElement(MetaCell, null, cell)))), React.createElement("div", {
|
|
90
|
+
className: "px-3 pb-3 pt-2"
|
|
99
91
|
}, attachment.prompt && React.createElement("p", {
|
|
100
92
|
className: "text-xs text-gray-500 dark:text-gray-400 line-clamp-2",
|
|
101
93
|
title: attachment.prompt
|
|
102
94
|
}, attachment.prompt), React.createElement("div", {
|
|
103
|
-
className: "mt-2 flex items-center gap-
|
|
95
|
+
className: "mt-2 flex flex-wrap items-center gap-2"
|
|
104
96
|
}, React.createElement("a", {
|
|
105
97
|
href: attachment.url,
|
|
106
98
|
target: "_blank",
|
|
107
99
|
rel: "noopener noreferrer",
|
|
108
100
|
onClick: e => e.stopPropagation(),
|
|
109
|
-
className: "inline-flex items-center gap-1 text-xs font-medium text-
|
|
110
|
-
},
|
|
111
|
-
className: "w-3 h-3"
|
|
112
|
-
})), React.createElement("a", {
|
|
101
|
+
className: "inline-flex items-center gap-1.5 rounded-lg bg-blue-600 hover:bg-blue-700 px-2.5 py-1.5 text-xs font-medium text-white transition-colors"
|
|
102
|
+
}, React.createElement(FiExternalLink, {
|
|
103
|
+
className: "w-3.5 h-3.5"
|
|
104
|
+
}), " Open"), React.createElement("a", {
|
|
113
105
|
href: attachment.url,
|
|
114
106
|
download: attachment.fileName || true,
|
|
115
107
|
onClick: e => e.stopPropagation(),
|
|
116
|
-
className: "inline-flex items-center gap-1 text-xs font-medium text-gray-
|
|
117
|
-
},
|
|
118
|
-
className: "w-3 h-3"
|
|
119
|
-
}))
|
|
108
|
+
className: "inline-flex items-center gap-1.5 rounded-lg bg-gray-50 dark:bg-gray-700 hover:bg-gray-100 dark:hover:bg-gray-600 px-2.5 py-1.5 text-xs font-medium text-gray-700 dark:text-gray-200 transition-colors"
|
|
109
|
+
}, React.createElement(FiDownload, {
|
|
110
|
+
className: "w-3.5 h-3.5"
|
|
111
|
+
}), " Download"), React.createElement("button", {
|
|
112
|
+
type: "button",
|
|
113
|
+
onClick: e => {
|
|
114
|
+
e.stopPropagation();
|
|
115
|
+
void copyLink();
|
|
116
|
+
},
|
|
117
|
+
className: "inline-flex items-center gap-1.5 rounded-lg bg-gray-50 dark:bg-gray-700 hover:bg-gray-100 dark:hover:bg-gray-600 px-2.5 py-1.5 text-xs font-medium text-gray-700 dark:text-gray-200 transition-colors"
|
|
118
|
+
}, copied ? React.createElement(FiCheck, {
|
|
119
|
+
className: "w-3.5 h-3.5"
|
|
120
|
+
}) : React.createElement(FiCopy, {
|
|
121
|
+
className: "w-3.5 h-3.5"
|
|
122
|
+
}), copied ? 'Copied' : 'Copy link'))));
|
|
120
123
|
};export{MessageMedia};//# sourceMappingURL=MessageMedia.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageMedia.js","sources":["../../../src/components/MessageWidgets/MessageMedia.tsx"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MessageMedia.js","sources":["../../../src/components/MessageWidgets/MessageMedia.tsx"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageTravel.d.ts","sourceRoot":"","sources":["../../../src/components/MessageWidgets/MessageTravel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"MessageTravel.d.ts","sourceRoot":"","sources":["../../../src/components/MessageWidgets/MessageTravel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAK/B,MAAM,WAAW,mBAAmB;IAChC,OAAO,EAAE,KAAK,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,iFAAiF;IACjF,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC;CACzC;AAuBD;;;GAGG;AACH,eAAO,MAAM,aAAa,GAAI,OAAO,mBAAmB,sBA4HvD,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React from'react';import {FiMapPin}from'@react-icons/all-files/fi/FiMapPin.js';import {FiStar}from'@react-icons/all-files/fi/FiStar.js';import {FiChevronRight}from'@react-icons/all-files/fi/FiChevronRight.js';const LIST_PREVIEW = 5;
|
|
1
|
+
import React from'react';import {FiMapPin}from'@react-icons/all-files/fi/FiMapPin.js';import {FiStar}from'@react-icons/all-files/fi/FiStar.js';import {FiChevronRight}from'@react-icons/all-files/fi/FiChevronRight.js';import {MessageFlights}from'./MessageFlights.js';import {isFlightAttachment}from'@admin-layout/client';const LIST_PREVIEW = 5;
|
|
2
2
|
const formatPrice = p => p.priceLabel ?? (typeof p.price === 'number' ? `$${Math.round(p.price)}` : undefined);
|
|
3
3
|
const formatSource = source => {
|
|
4
4
|
if (!source) return undefined;
|
|
@@ -27,6 +27,14 @@ const MessageTravel = props => {
|
|
|
27
27
|
if (!attachment || !Array.isArray(attachment.properties) || attachment.properties.length === 0) {
|
|
28
28
|
return null;
|
|
29
29
|
}
|
|
30
|
+
// Flight offers render as their own card row; everything else is a stay.
|
|
31
|
+
if (isFlightAttachment(attachment)) {
|
|
32
|
+
return React.createElement(MessageFlights, {
|
|
33
|
+
message: message,
|
|
34
|
+
attachment: attachment,
|
|
35
|
+
onMessageClick: onMessageClick
|
|
36
|
+
});
|
|
37
|
+
}
|
|
30
38
|
const properties = attachment.properties;
|
|
31
39
|
const count = attachment.totalCount ?? properties.length;
|
|
32
40
|
const city = attachment.city || properties.find(p => p.city)?.city;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageTravel.js","sources":["../../../src/components/MessageWidgets/MessageTravel.tsx"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MessageTravel.js","sources":["../../../src/components/MessageWidgets/MessageTravel.tsx"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,9 @@ export { MessageMedia } from './MessageMedia';
|
|
|
12
12
|
export type { IMessageMediaProps } from './MessageMedia';
|
|
13
13
|
export { MessageTravel } from './MessageTravel';
|
|
14
14
|
export type { IMessageTravelProps } from './MessageTravel';
|
|
15
|
+
export { MessageFlights } from './MessageFlights';
|
|
16
|
+
export { FlightCardList } from './MessageFlights';
|
|
17
|
+
export type { IMessageFlightsProps, IFlightCardListProps } from './MessageFlights';
|
|
15
18
|
export { MessageWorkflow } from './MessageWorkflow';
|
|
16
19
|
export type { IMessageWorkflowProps } from './MessageWorkflow';
|
|
17
20
|
export { MessageGeneric } from './MessageGeneric';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/MessageWidgets/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,YAAY,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,YAAY,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/MessageWidgets/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,YAAY,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,YAAY,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { MediaAttachmentsInterface, MediaItem } from '../../interfaces';
|
|
2
|
+
export type MediaKind = MediaItem['kind'];
|
|
3
|
+
/** Human label for each asset kind. */
|
|
4
|
+
export declare const MEDIA_KIND_LABEL: Record<MediaKind, string>;
|
|
5
|
+
/**
|
|
6
|
+
* Normalise an attachment into a flat list of assets. Agents emit two shapes:
|
|
7
|
+
* a single top-level `url`, or a nested `items[]` array — this tolerates both.
|
|
8
|
+
*/
|
|
9
|
+
export declare const deriveMediaItems: (attachment: MediaAttachmentsInterface) => MediaItem[];
|
|
10
|
+
/** Seconds → `m:ss` (hours fold into minutes). `65` → `"1:05"`, `8` → `"0:08"`. */
|
|
11
|
+
export declare const formatDuration: (seconds?: number) => string | undefined;
|
|
12
|
+
/** Intrinsic dimensions → `"1920×1080"`; undefined until both are known. */
|
|
13
|
+
export declare const formatDimensions: (width?: number, height?: number) => string | undefined;
|
|
14
|
+
/**
|
|
15
|
+
* Short uppercase format label from the mime subtype, falling back to the file
|
|
16
|
+
* extension. `"video/mp4"` → `"MP4"`, `"image/png"` → `"PNG"`, `foo.webp` → `"WEBP"`.
|
|
17
|
+
*/
|
|
18
|
+
export declare const formatMediaFormat: (mimeType?: string, fileName?: string) => string | undefined;
|
|
19
|
+
/** The attribution line: `connector · model`, omitting whichever is absent. */
|
|
20
|
+
export declare const formatAttribution: (attachment: MediaAttachmentsInterface) => string | undefined;
|
|
21
|
+
//# sourceMappingURL=mediaUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mediaUtils.d.ts","sourceRoot":"","sources":["../../../src/components/MessageWidgets/mediaUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAExE,MAAM,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;AAE1C,uCAAuC;AACvC,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAItD,CAAC;AAuBF;;;GAGG;AACH,eAAO,MAAM,gBAAgB,GAAI,YAAY,yBAAyB,KAAG,SAAS,EAcjF,CAAC;AAEF,mFAAmF;AACnF,eAAO,MAAM,cAAc,GAAI,UAAU,MAAM,KAAG,MAAM,GAAG,SAM1D,CAAC;AAEF,4EAA4E;AAC5E,eAAO,MAAM,gBAAgB,GAAI,QAAQ,MAAM,EAAE,SAAS,MAAM,KAAG,MAAM,GAAG,SACtB,CAAC;AAUvD;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAAI,WAAW,MAAM,EAAE,WAAW,MAAM,KAAG,MAAM,GAAG,SAMjF,CAAC;AAEF,+EAA+E;AAC/E,eAAO,MAAM,iBAAiB,GAAI,YAAY,yBAAyB,KAAG,MAAM,GAAG,SAGlF,CAAC"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/** Human label for each asset kind. */
|
|
2
|
+
const MEDIA_KIND_LABEL = {
|
|
3
|
+
image: 'Image',
|
|
4
|
+
video: 'Video',
|
|
5
|
+
audio: 'Audio'
|
|
6
|
+
};
|
|
7
|
+
/** Extensions worth recognising when an item names no kind — the rest fall through to image. */
|
|
8
|
+
const VIDEO_EXTENSIONS = ['mp4', 'webm', 'mov', 'm4v', 'mkv'];
|
|
9
|
+
const AUDIO_EXTENSIONS = ['mp3', 'wav', 'ogg', 'm4a', 'aac', 'flac'];
|
|
10
|
+
/**
|
|
11
|
+
* The kind an item renders as. `MediaAsset` picks `<img>` for anything it does not
|
|
12
|
+
* recognise, so an item that names no kind renders a clip or a track as a broken
|
|
13
|
+
* image — hence the fallbacks: the attachment's own kind, then the mime type, then
|
|
14
|
+
* the URL's extension.
|
|
15
|
+
*/
|
|
16
|
+
const itemKind = (item, attachment) => {
|
|
17
|
+
if (item.kind) return item.kind;
|
|
18
|
+
if (attachment.kind) return attachment.kind;
|
|
19
|
+
const mime = item.mimeType?.split('/')[0]?.toLowerCase();
|
|
20
|
+
if (mime === 'video' || mime === 'audio' || mime === 'image') return mime;
|
|
21
|
+
const ext = item.url?.split(/[?#]/)[0]?.split('.').pop()?.toLowerCase() ?? '';
|
|
22
|
+
if (VIDEO_EXTENSIONS.includes(ext)) return 'video';
|
|
23
|
+
if (AUDIO_EXTENSIONS.includes(ext)) return 'audio';
|
|
24
|
+
return 'image';
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* Normalise an attachment into a flat list of assets. Agents emit two shapes:
|
|
28
|
+
* a single top-level `url`, or a nested `items[]` array — this tolerates both.
|
|
29
|
+
*/
|
|
30
|
+
const deriveMediaItems = attachment => {
|
|
31
|
+
if (Array.isArray(attachment.items) && attachment.items.length > 0) {
|
|
32
|
+
return attachment.items.map(item => ({
|
|
33
|
+
...item,
|
|
34
|
+
kind: itemKind(item, attachment)
|
|
35
|
+
}));
|
|
36
|
+
}
|
|
37
|
+
if (!attachment.url) return [];
|
|
38
|
+
return [{
|
|
39
|
+
kind: itemKind(attachment, attachment),
|
|
40
|
+
url: attachment.url,
|
|
41
|
+
title: attachment.title,
|
|
42
|
+
mimeType: attachment.mimeType,
|
|
43
|
+
posterUrl: attachment.posterUrl
|
|
44
|
+
}];
|
|
45
|
+
};
|
|
46
|
+
/** Seconds → `m:ss` (hours fold into minutes). `65` → `"1:05"`, `8` → `"0:08"`. */
|
|
47
|
+
const formatDuration = seconds => {
|
|
48
|
+
if (seconds == null || !Number.isFinite(seconds) || seconds < 0) return undefined;
|
|
49
|
+
const total = Math.round(seconds);
|
|
50
|
+
const minutes = Math.floor(total / 60);
|
|
51
|
+
const secs = total % 60;
|
|
52
|
+
return `${minutes}:${secs.toString().padStart(2, '0')}`;
|
|
53
|
+
};
|
|
54
|
+
/** Intrinsic dimensions → `"1920×1080"`; undefined until both are known. */
|
|
55
|
+
const formatDimensions = (width, height) => width && height ? `${width}×${height}` : undefined;
|
|
56
|
+
/** Common mime subtypes that read better under a short alias than raw. */
|
|
57
|
+
const FORMAT_ALIASES = {
|
|
58
|
+
quicktime: 'MOV',
|
|
59
|
+
'x-matroska': 'MKV',
|
|
60
|
+
jpeg: 'JPG',
|
|
61
|
+
'svg+xml': 'SVG'
|
|
62
|
+
};
|
|
63
|
+
/**
|
|
64
|
+
* Short uppercase format label from the mime subtype, falling back to the file
|
|
65
|
+
* extension. `"video/mp4"` → `"MP4"`, `"image/png"` → `"PNG"`, `foo.webp` → `"WEBP"`.
|
|
66
|
+
*/
|
|
67
|
+
const formatMediaFormat = (mimeType, fileName) => {
|
|
68
|
+
const sub = mimeType?.split('/')[1]?.split(';')[0]?.trim().toLowerCase() || fileName?.split('.').pop()?.trim().toLowerCase();
|
|
69
|
+
if (!sub) return undefined;
|
|
70
|
+
return (FORMAT_ALIASES[sub] ?? sub).toUpperCase();
|
|
71
|
+
};
|
|
72
|
+
/** The attribution line: `connector · model`, omitting whichever is absent. */
|
|
73
|
+
const formatAttribution = attachment => {
|
|
74
|
+
const parts = [attachment.connector, attachment.model].filter(Boolean);
|
|
75
|
+
return parts.length ? parts.join(' · ') : undefined;
|
|
76
|
+
};export{MEDIA_KIND_LABEL,deriveMediaItems,formatAttribution,formatDimensions,formatDuration,formatMediaFormat};//# sourceMappingURL=mediaUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mediaUtils.js","sources":["../../../src/components/MessageWidgets/mediaUtils.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
export { MessageAiAssistant, MessageThinking, MessageCodeBlock, MessageToolUse, MessageService, MessageMedia, MessageTravel, MessageWorkflow, MessageGeneric, MessageConnector, } from './MessageWidgets';
|
|
1
|
+
export { MessageAiAssistant, MessageThinking, MessageCodeBlock, MessageToolUse, MessageService, MessageMedia, MessageTravel, MessageWorkflow, MessageGeneric, MessageConnector, MessageFlights, FlightCardList, } from './MessageWidgets';
|
|
2
|
+
export type { IMessageFlightsProps, IFlightCardListProps } from './MessageWidgets';
|
|
2
3
|
export { ChatSettingsPanel, ConnectedChatSettingsPanel } from './ChatSettingsPanel';
|
|
3
4
|
export type { ChatSettingsPanelProps, SettingsEntry, ConnectedChatSettingsPanelProps } from './ChatSettingsPanel';
|
|
4
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,YAAY,EACZ,aAAa,EACb,eAAe,EACf,cAAc,EACd,gBAAgB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,YAAY,EACZ,aAAa,EACb,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,cAAc,GACjB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACnF,OAAO,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AACpF,YAAY,EAAE,sBAAsB,EAAE,aAAa,EAAE,+BAA+B,EAAE,MAAM,qBAAqB,CAAC"}
|
package/lib/index.d.ts
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
1
|
export { feature as default } from './module';
|
|
2
2
|
export { parseWidgetPost } from './utils/parseWidgetPost';
|
|
3
|
+
export { MessageFlights, FlightCardList } from './components/MessageWidgets/MessageFlights';
|
|
4
|
+
export type { IMessageFlightsProps, IFlightCardListProps } from './components/MessageWidgets/MessageFlights';
|
|
5
|
+
export type { TravelAttachmentsInterface, TravelPropertyItem, TravelFlightDetails, TravelFlightSlice, } from './interfaces';
|
|
3
6
|
//# sourceMappingURL=index.d.ts.map
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AAC5F,YAAY,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAC7G,YAAY,EACR,0BAA0B,EAC1B,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,GACpB,MAAM,cAAc,CAAC"}
|
package/lib/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{feature as default}from'./module.js';export{parseWidgetPost}from'./utils/parseWidgetPost.js';//# sourceMappingURL=index.js.map
|
|
1
|
+
export{feature as default}from'./module.js';export{parseWidgetPost}from'./utils/parseWidgetPost.js';export{FlightCardList,MessageFlights}from'./components/MessageWidgets/MessageFlights.js';//# sourceMappingURL=index.js.map
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import type { TravelFlightDetails } from '@admin-layout/client';
|
|
2
|
+
import type { MediaItem } from '@admin-layout/connector-widgets-browser';
|
|
1
3
|
export interface AiAssistantAttachmentsInterface {
|
|
2
4
|
/** The model that generated the response (e.g. "GPT-4o", "Claude 3.5") */
|
|
3
5
|
model?: string;
|
|
@@ -77,19 +79,7 @@ export interface ServiceAttachmentsInterface {
|
|
|
77
79
|
/** Timestamp */
|
|
78
80
|
timestamp?: string;
|
|
79
81
|
}
|
|
80
|
-
|
|
81
|
-
export interface MediaItem {
|
|
82
|
-
/** Media kind — selects the element (img / video / audio). */
|
|
83
|
-
kind: 'image' | 'video' | 'audio';
|
|
84
|
-
/** Public URL of the asset. */
|
|
85
|
-
url: string;
|
|
86
|
-
/** Optional caption for this item. */
|
|
87
|
-
title?: string;
|
|
88
|
-
/** MIME type, when known (e.g. "image/png", "video/mp4", "audio/mpeg"). */
|
|
89
|
-
mimeType?: string;
|
|
90
|
-
/** Poster / thumbnail for a video item. */
|
|
91
|
-
posterUrl?: string;
|
|
92
|
-
}
|
|
82
|
+
export type { MediaItem };
|
|
93
83
|
/**
|
|
94
84
|
* Media attachment — rendered in chat as an inline image / video / audio
|
|
95
85
|
* player for the asset a generation connector (yantra-image-generation,
|
|
@@ -120,6 +110,7 @@ export interface MediaAttachmentsInterface {
|
|
|
120
110
|
/** Extra assets when a run returns more than one (image grid / variants). */
|
|
121
111
|
items?: MediaItem[];
|
|
122
112
|
}
|
|
113
|
+
export type { TravelFlightDetails, TravelFlightSlice } from '@admin-layout/client';
|
|
123
114
|
/** A single normalized stay (hotel / vacation rental) from the yantra-resortifi connector. */
|
|
124
115
|
export interface TravelPropertyItem {
|
|
125
116
|
id?: string;
|
|
@@ -140,6 +131,12 @@ export interface TravelPropertyItem {
|
|
|
140
131
|
url?: string;
|
|
141
132
|
/** Which data source produced this (airbnb / booking / priceline / resortifi). */
|
|
142
133
|
source?: string;
|
|
134
|
+
/**
|
|
135
|
+
* Present when the item is a flight offer. The chat card then renders a
|
|
136
|
+
* swipeable row of flight cards (times, airports, airline, stops, price)
|
|
137
|
+
* instead of the stay list; items without it keep the stay layout.
|
|
138
|
+
*/
|
|
139
|
+
flight?: TravelFlightDetails;
|
|
143
140
|
}
|
|
144
141
|
/**
|
|
145
142
|
* Travel listings attachment — rendered in chat as a compact button/card
|
|
@@ -158,8 +155,10 @@ export interface TravelAttachmentsInterface {
|
|
|
158
155
|
/** Lowest / highest nightly price, for the summary line. */
|
|
159
156
|
priceFrom?: number;
|
|
160
157
|
priceTo?: number;
|
|
161
|
-
/** Label for the open-in-side-panel action (default "View stays"). */
|
|
158
|
+
/** Label for the open-in-side-panel action (default "View stays", or "View flights"). */
|
|
162
159
|
actionLabel?: string;
|
|
160
|
+
/** ISO 4217 currency of the `price` values (default "USD"). */
|
|
161
|
+
currency?: string;
|
|
163
162
|
}
|
|
164
163
|
/** One labelled key-value row in the generic card. */
|
|
165
164
|
export interface GenericFieldItem {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-chat.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/ai-chat.interface.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ai-chat.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/ai-chat.interface.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { AiAssistantAttachmentsInterface, ThinkingAttachmentsInterface, CodeBlockAttachmentsInterface, ToolUseAttachmentsInterface, ServiceAttachmentsInterface, MediaAttachmentsInterface, MediaItem, TravelAttachmentsInterface, TravelPropertyItem, WorkflowAttachmentsInterface, WorkflowNodeItem, WorkflowEdgeItem, GenericAttachmentsInterface, GenericFieldItem, GenericListItem, ConnectorAttachmentsInterface, } from './ai-chat.interface';
|
|
1
|
+
export { AiAssistantAttachmentsInterface, ThinkingAttachmentsInterface, CodeBlockAttachmentsInterface, ToolUseAttachmentsInterface, ServiceAttachmentsInterface, MediaAttachmentsInterface, MediaItem, TravelAttachmentsInterface, TravelPropertyItem, TravelFlightDetails, TravelFlightSlice, WorkflowAttachmentsInterface, WorkflowNodeItem, WorkflowEdgeItem, GenericAttachmentsInterface, GenericFieldItem, GenericListItem, ConnectorAttachmentsInterface, } from './ai-chat.interface';
|
|
2
2
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/interfaces/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,+BAA+B,EAC/B,4BAA4B,EAC5B,6BAA6B,EAC7B,2BAA2B,EAC3B,2BAA2B,EAC3B,yBAAyB,EACzB,SAAS,EACT,0BAA0B,EAC1B,kBAAkB,EAClB,4BAA4B,EAC5B,gBAAgB,EAChB,gBAAgB,EAChB,2BAA2B,EAC3B,gBAAgB,EAChB,eAAe,EACf,6BAA6B,GAChC,MAAM,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/interfaces/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,+BAA+B,EAC/B,4BAA4B,EAC5B,6BAA6B,EAC7B,2BAA2B,EAC3B,2BAA2B,EAC3B,yBAAyB,EACzB,SAAS,EACT,0BAA0B,EAC1B,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,4BAA4B,EAC5B,gBAAgB,EAChB,gBAAgB,EAChB,2BAA2B,EAC3B,gBAAgB,EAChB,eAAe,EACf,6BAA6B,GAChC,MAAM,qBAAqB,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React from'react';import {Fill}from'@common-stack/components-pro';import'@react-icons/all-files/fi/FiCpu.js';import'@react-icons/all-files/fi/FiChevronDown.js';import'@react-icons/all-files/fi/FiCopy.js';import'@react-icons/all-files/fi/FiCheck.js';import'@react-icons/all-files/fi/FiExternalLink.js';import'@react-icons/all-files/fi/FiCode.js';import'@react-icons/all-files/fi/FiFile.js';import'@react-icons/all-files/fi/FiTool.js';import'@react-icons/all-files/fi/FiAlertCircle.js';import'@react-icons/all-files/fi/FiLoader.js';import'@react-icons/all-files/fi/FiInfo.js';import'@react-icons/all-files/fi/FiAlertTriangle.js';import'@react-icons/all-files/fi/FiCheckCircle.js';import'html-react-parser';import'../components/MessageWidgets/MessageMedia.js';import'@react-icons/all-files/fi/FiMapPin.js';import'@react-icons/all-files/fi/FiStar.js';import'@react-icons/all-files/fi/FiChevronRight.js';import'@react-icons/all-files/fi/FiGitBranch.js';import'@react-icons/all-files/fi/FiArrowRight.js';import'@react-icons/all-files/fi/FiBox.js';import'@react-icons/all-files/fi/FiZap.js';import'@react-icons/all-files/fi/FiSearch.js';import'@react-icons/all-files/fi/FiX.js';import'@react-icons/all-files/fi/FiRefreshCw.js';import'@react-icons/all-files/fi/FiEdit2.js';import'@react-icons/all-files/fi/FiPlus.js';import'@react-icons/all-files/fi/FiTrash2.js';import {ConnectedChatSettingsPanel}from'../components/ChatSettingsPanel/ConnectedChatSettingsPanel.js';/**
|
|
1
|
+
import React from'react';import {Fill}from'@common-stack/components-pro';import'@react-icons/all-files/fi/FiCpu.js';import'@react-icons/all-files/fi/FiChevronDown.js';import'@react-icons/all-files/fi/FiCopy.js';import'@react-icons/all-files/fi/FiCheck.js';import'@react-icons/all-files/fi/FiExternalLink.js';import'@react-icons/all-files/fi/FiCode.js';import'@react-icons/all-files/fi/FiFile.js';import'@react-icons/all-files/fi/FiTool.js';import'@react-icons/all-files/fi/FiAlertCircle.js';import'@react-icons/all-files/fi/FiLoader.js';import'@react-icons/all-files/fi/FiInfo.js';import'@react-icons/all-files/fi/FiAlertTriangle.js';import'@react-icons/all-files/fi/FiCheckCircle.js';import'html-react-parser';import'../components/MessageWidgets/MessageMedia.js';import'@react-icons/all-files/fi/FiMapPin.js';import'@react-icons/all-files/fi/FiStar.js';import'@react-icons/all-files/fi/FiChevronRight.js';import'@react-icons/all-files/fa/FaPlane.js';import'@react-icons/all-files/fi/FiChevronLeft.js';import'@admin-layout/client';import'@react-icons/all-files/fi/FiGitBranch.js';import'@react-icons/all-files/fi/FiArrowRight.js';import'@react-icons/all-files/fi/FiBox.js';import'@react-icons/all-files/fi/FiZap.js';import'@react-icons/all-files/fi/FiSearch.js';import'@react-icons/all-files/fi/FiX.js';import'@react-icons/all-files/fi/FiRefreshCw.js';import'@react-icons/all-files/fi/FiEdit2.js';import'@react-icons/all-files/fi/FiPlus.js';import'@react-icons/all-files/fi/FiTrash2.js';import {ConnectedChatSettingsPanel}from'../components/ChatSettingsPanel/ConnectedChatSettingsPanel.js';/**
|
|
2
2
|
* Fill name: "chat-settings"
|
|
3
3
|
* Provides a <Slot name="chat-settings"> fill that renders the
|
|
4
4
|
* full chat configuration panel wherever asked for in the host app.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-settings-fill.js","sources":["../../src/slot-fill/chat-settings-fill.tsx"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"chat-settings-fill.js","sources":["../../src/slot-fill/chat-settings-fill.tsx"],"sourcesContent":[null],"names":[],"mappings":"sjDAIA;;;;;;AAMG;AACH,MAAM,kBAAkB,GAAG,eAAe;AAEnC,MAAM,gBAAgB,GAAG,MAAK;SACjC,KACI,CAAA,aAAA,CAAA,IAAC,EAAA;AAQO,IAAA,IAAA,EAAA;cACI;QAOJ,KAAC,CAAA,MAAA,EAAA;AACD,MAAA,OAAA,MAAW,aAAC,CAAA,0BAAA,EAAA;QAGtB,SAAA,EAAA,KAAA,CAAA,SAAA;AACN,QAAE,OAAA,EAAA,KAAA,CAAA,OAAA;;;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React from'react';import {Fill}from'@common-stack/components-pro';import {PostTypeEnum}from'common';import {MessageAiAssistant}from'../components/MessageWidgets/MessageAiAssistant.js';import'@react-icons/all-files/fi/FiChevronDown.js';import'@react-icons/all-files/fi/FiCode.js';import'@react-icons/all-files/fi/FiCopy.js';import'@react-icons/all-files/fi/FiCheck.js';import'@react-icons/all-files/fi/FiFile.js';import'@react-icons/all-files/fi/FiTool.js';import'@react-icons/all-files/fi/FiAlertCircle.js';import'@react-icons/all-files/fi/FiLoader.js';import'@react-icons/all-files/fi/FiInfo.js';import'@react-icons/all-files/fi/FiAlertTriangle.js';import'@react-icons/all-files/fi/FiCheckCircle.js';import'@react-icons/all-files/fi/FiExternalLink.js';import'html-react-parser';import'../components/MessageWidgets/MessageMedia.js';import'@react-icons/all-files/fi/FiMapPin.js';import'@react-icons/all-files/fi/FiStar.js';import'@react-icons/all-files/fi/FiChevronRight.js';import'@react-icons/all-files/fi/FiGitBranch.js';import'@react-icons/all-files/fi/FiArrowRight.js';import'@react-icons/all-files/fi/FiBox.js';import'@react-icons/all-files/fi/FiZap.js';import'@react-icons/all-files/fi/FiSearch.js';import'@react-icons/all-files/fi/FiX.js';import'@react-icons/all-files/fi/FiRefreshCw.js';import'@react-icons/all-files/fi/FiEdit2.js';import'@react-icons/all-files/fi/FiPlus.js';import'@react-icons/all-files/fi/FiTrash2.js';import'../components/ChatSettingsPanel/ConnectedChatSettingsPanel.js';const MessageAiAssistantFill = () => {
|
|
1
|
+
import React from'react';import {Fill}from'@common-stack/components-pro';import {PostTypeEnum}from'common';import {MessageAiAssistant}from'../components/MessageWidgets/MessageAiAssistant.js';import'@react-icons/all-files/fi/FiChevronDown.js';import'@react-icons/all-files/fi/FiCode.js';import'@react-icons/all-files/fi/FiCopy.js';import'@react-icons/all-files/fi/FiCheck.js';import'@react-icons/all-files/fi/FiFile.js';import'@react-icons/all-files/fi/FiTool.js';import'@react-icons/all-files/fi/FiAlertCircle.js';import'@react-icons/all-files/fi/FiLoader.js';import'@react-icons/all-files/fi/FiInfo.js';import'@react-icons/all-files/fi/FiAlertTriangle.js';import'@react-icons/all-files/fi/FiCheckCircle.js';import'@react-icons/all-files/fi/FiExternalLink.js';import'html-react-parser';import'../components/MessageWidgets/MessageMedia.js';import'@react-icons/all-files/fi/FiMapPin.js';import'@react-icons/all-files/fi/FiStar.js';import'@react-icons/all-files/fi/FiChevronRight.js';import'@react-icons/all-files/fa/FaPlane.js';import'@react-icons/all-files/fi/FiChevronLeft.js';import'@admin-layout/client';import'@react-icons/all-files/fi/FiGitBranch.js';import'@react-icons/all-files/fi/FiArrowRight.js';import'@react-icons/all-files/fi/FiBox.js';import'@react-icons/all-files/fi/FiZap.js';import'@react-icons/all-files/fi/FiSearch.js';import'@react-icons/all-files/fi/FiX.js';import'@react-icons/all-files/fi/FiRefreshCw.js';import'@react-icons/all-files/fi/FiEdit2.js';import'@react-icons/all-files/fi/FiPlus.js';import'@react-icons/all-files/fi/FiTrash2.js';import'../components/ChatSettingsPanel/ConnectedChatSettingsPanel.js';const MessageAiAssistantFill = () => {
|
|
2
2
|
return React.createElement(Fill, {
|
|
3
3
|
name: PostTypeEnum.Aiassistant.toLowerCase()
|
|
4
4
|
}, props => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-ai-assistant-fill.js","sources":["../../src/slot-fill/message-ai-assistant-fill.tsx"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"message-ai-assistant-fill.js","sources":["../../src/slot-fill/message-ai-assistant-fill.tsx"],"sourcesContent":[null],"names":[],"mappings":"gmDAMO,MAAM,sBAAsB,GAAG,MAAK;AACvC,EAAA,OAAA,KACI,CAAA,aAAA,CAAA,IAAC,EAAA;AAEO,IAAA,IAAA,EAAA,YAAU,CAAA,WAAS,CAAA,WAAA;AACf,GAAA,EAAA,KAAA,IAAA;QACJ,KAAC,CAAA,MAAA,EAAA;AACD,MAAA,OAAA,MAAW,aAAC,CAAA,kBAAA,EAAA;QAGtB,GAAA;AACN,OAAE,CAAA;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React from'react';import {Fill}from'@common-stack/components-pro';import'@react-icons/all-files/fi/FiCpu.js';import'@react-icons/all-files/fi/FiChevronDown.js';import'@react-icons/all-files/fi/FiCopy.js';import'@react-icons/all-files/fi/FiCheck.js';import'@react-icons/all-files/fi/FiExternalLink.js';import {MessageCodeBlock}from'../components/MessageWidgets/MessageCodeBlock.js';import'@react-icons/all-files/fi/FiTool.js';import'@react-icons/all-files/fi/FiAlertCircle.js';import'@react-icons/all-files/fi/FiLoader.js';import'@react-icons/all-files/fi/FiInfo.js';import'@react-icons/all-files/fi/FiAlertTriangle.js';import'@react-icons/all-files/fi/FiCheckCircle.js';import'html-react-parser';import'../components/MessageWidgets/MessageMedia.js';import'@react-icons/all-files/fi/FiMapPin.js';import'@react-icons/all-files/fi/FiStar.js';import'@react-icons/all-files/fi/FiChevronRight.js';import'@react-icons/all-files/fi/FiGitBranch.js';import'@react-icons/all-files/fi/FiArrowRight.js';import'@react-icons/all-files/fi/FiBox.js';import'@react-icons/all-files/fi/FiZap.js';import'@react-icons/all-files/fi/FiSearch.js';import'@react-icons/all-files/fi/FiX.js';import'@react-icons/all-files/fi/FiRefreshCw.js';import'@react-icons/all-files/fi/FiEdit2.js';import'@react-icons/all-files/fi/FiPlus.js';import'@react-icons/all-files/fi/FiTrash2.js';import'../components/ChatSettingsPanel/ConnectedChatSettingsPanel.js';/**
|
|
1
|
+
import React from'react';import {Fill}from'@common-stack/components-pro';import'@react-icons/all-files/fi/FiCpu.js';import'@react-icons/all-files/fi/FiChevronDown.js';import'@react-icons/all-files/fi/FiCopy.js';import'@react-icons/all-files/fi/FiCheck.js';import'@react-icons/all-files/fi/FiExternalLink.js';import {MessageCodeBlock}from'../components/MessageWidgets/MessageCodeBlock.js';import'@react-icons/all-files/fi/FiTool.js';import'@react-icons/all-files/fi/FiAlertCircle.js';import'@react-icons/all-files/fi/FiLoader.js';import'@react-icons/all-files/fi/FiInfo.js';import'@react-icons/all-files/fi/FiAlertTriangle.js';import'@react-icons/all-files/fi/FiCheckCircle.js';import'html-react-parser';import'../components/MessageWidgets/MessageMedia.js';import'@react-icons/all-files/fi/FiMapPin.js';import'@react-icons/all-files/fi/FiStar.js';import'@react-icons/all-files/fi/FiChevronRight.js';import'@react-icons/all-files/fa/FaPlane.js';import'@react-icons/all-files/fi/FiChevronLeft.js';import'@admin-layout/client';import'@react-icons/all-files/fi/FiGitBranch.js';import'@react-icons/all-files/fi/FiArrowRight.js';import'@react-icons/all-files/fi/FiBox.js';import'@react-icons/all-files/fi/FiZap.js';import'@react-icons/all-files/fi/FiSearch.js';import'@react-icons/all-files/fi/FiX.js';import'@react-icons/all-files/fi/FiRefreshCw.js';import'@react-icons/all-files/fi/FiEdit2.js';import'@react-icons/all-files/fi/FiPlus.js';import'@react-icons/all-files/fi/FiTrash2.js';import'../components/ChatSettingsPanel/ConnectedChatSettingsPanel.js';/**
|
|
2
2
|
* Fill name: "codeblock"
|
|
3
3
|
* Note: PostTypeEnum doesn't have "CodeBlock" yet — we use a custom string.
|
|
4
4
|
* When added to the enum, switch to PostTypeEnum.Codeblock.toLowerCase().
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-codeblock-fill.js","sources":["../../src/slot-fill/message-codeblock-fill.tsx"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"message-codeblock-fill.js","sources":["../../src/slot-fill/message-codeblock-fill.tsx"],"sourcesContent":[null],"names":[],"mappings":"6gDAKA;;;;AAIG;AACH,MAAM,mBAAmB,GAAG,WAAW;AAEhC,MAAM,oBAAoB,GAAG,MAAK;SACrC,KACI,CAAA,aAAA,CAAA,IAAC,EAAA;AAEO,IAAA,IAAA,EAAA;AACI,GAAA,EAAA,KAAA,IAAA;QACJ,KAAC,CAAA,MAAA,EAAA;AACD,MAAA,OAAA,MAAW,aAAC,CAAA,gBAAA,EAAA;QAGtB,GAAA;AACN,OAAE,CAAA;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React from'react';import {Fill}from'@common-stack/components-pro';import'@react-icons/all-files/fi/FiCpu.js';import'@react-icons/all-files/fi/FiChevronDown.js';import'@react-icons/all-files/fi/FiCopy.js';import'@react-icons/all-files/fi/FiCheck.js';import'@react-icons/all-files/fi/FiExternalLink.js';import'@react-icons/all-files/fi/FiCode.js';import'@react-icons/all-files/fi/FiFile.js';import'@react-icons/all-files/fi/FiTool.js';import'@react-icons/all-files/fi/FiAlertCircle.js';import'@react-icons/all-files/fi/FiLoader.js';import'@react-icons/all-files/fi/FiInfo.js';import'@react-icons/all-files/fi/FiAlertTriangle.js';import'@react-icons/all-files/fi/FiCheckCircle.js';import'html-react-parser';import'../components/MessageWidgets/MessageMedia.js';import'@react-icons/all-files/fi/FiMapPin.js';import'@react-icons/all-files/fi/FiStar.js';import'@react-icons/all-files/fi/FiChevronRight.js';import'@react-icons/all-files/fi/FiGitBranch.js';import'@react-icons/all-files/fi/FiArrowRight.js';import'@react-icons/all-files/fi/FiBox.js';import {MessageConnector}from'../components/MessageWidgets/MessageConnector.js';import'@react-icons/all-files/fi/FiSearch.js';import'@react-icons/all-files/fi/FiX.js';import'@react-icons/all-files/fi/FiRefreshCw.js';import'@react-icons/all-files/fi/FiEdit2.js';import'@react-icons/all-files/fi/FiPlus.js';import'@react-icons/all-files/fi/FiTrash2.js';import'../components/ChatSettingsPanel/ConnectedChatSettingsPanel.js';/** Fill name: "connector" — cdecli integration summary card in chat. */
|
|
1
|
+
import React from'react';import {Fill}from'@common-stack/components-pro';import'@react-icons/all-files/fi/FiCpu.js';import'@react-icons/all-files/fi/FiChevronDown.js';import'@react-icons/all-files/fi/FiCopy.js';import'@react-icons/all-files/fi/FiCheck.js';import'@react-icons/all-files/fi/FiExternalLink.js';import'@react-icons/all-files/fi/FiCode.js';import'@react-icons/all-files/fi/FiFile.js';import'@react-icons/all-files/fi/FiTool.js';import'@react-icons/all-files/fi/FiAlertCircle.js';import'@react-icons/all-files/fi/FiLoader.js';import'@react-icons/all-files/fi/FiInfo.js';import'@react-icons/all-files/fi/FiAlertTriangle.js';import'@react-icons/all-files/fi/FiCheckCircle.js';import'html-react-parser';import'../components/MessageWidgets/MessageMedia.js';import'@react-icons/all-files/fi/FiMapPin.js';import'@react-icons/all-files/fi/FiStar.js';import'@react-icons/all-files/fi/FiChevronRight.js';import'@react-icons/all-files/fa/FaPlane.js';import'@react-icons/all-files/fi/FiChevronLeft.js';import'@admin-layout/client';import'@react-icons/all-files/fi/FiGitBranch.js';import'@react-icons/all-files/fi/FiArrowRight.js';import'@react-icons/all-files/fi/FiBox.js';import {MessageConnector}from'../components/MessageWidgets/MessageConnector.js';import'@react-icons/all-files/fi/FiSearch.js';import'@react-icons/all-files/fi/FiX.js';import'@react-icons/all-files/fi/FiRefreshCw.js';import'@react-icons/all-files/fi/FiEdit2.js';import'@react-icons/all-files/fi/FiPlus.js';import'@react-icons/all-files/fi/FiTrash2.js';import'../components/ChatSettingsPanel/ConnectedChatSettingsPanel.js';/** Fill name: "connector" — cdecli integration summary card in chat. */
|
|
2
2
|
const CONNECTOR_FILL_NAME = 'connector';
|
|
3
3
|
const MessageConnectorFill = () => {
|
|
4
4
|
return React.createElement(Fill, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-connector-fill.js","sources":["../../src/slot-fill/message-connector-fill.tsx"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"message-connector-fill.js","sources":["../../src/slot-fill/message-connector-fill.tsx"],"sourcesContent":[null],"names":[],"mappings":"0jDAKA;AACO,MAAM,mBAAmB,GAAG;AAE5B,MAAM,oBAAoB,GAAG,MAAK;SACrC,KACI,CAAA,aAAA,CAAA,IAAC,EAAA;AAEO,IAAA,IAAA,EAAA;AACI,GAAA,EAAA,KAAA,IAAA;QACJ,KAAC,CAAA,MAAA,EAAA;AACD,MAAA,OAAA,MAAW,aAAC,CAAA,gBAAA,EAAA;QAGtB,GAAA;AACN,OAAE,CAAA;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React from'react';import {Fill}from'@common-stack/components-pro';import'@react-icons/all-files/fi/FiCpu.js';import'@react-icons/all-files/fi/FiChevronDown.js';import'@react-icons/all-files/fi/FiCopy.js';import'@react-icons/all-files/fi/FiCheck.js';import'@react-icons/all-files/fi/FiExternalLink.js';import'@react-icons/all-files/fi/FiCode.js';import'@react-icons/all-files/fi/FiFile.js';import'@react-icons/all-files/fi/FiTool.js';import'@react-icons/all-files/fi/FiAlertCircle.js';import'@react-icons/all-files/fi/FiLoader.js';import'@react-icons/all-files/fi/FiInfo.js';import'@react-icons/all-files/fi/FiAlertTriangle.js';import'@react-icons/all-files/fi/FiCheckCircle.js';import'html-react-parser';import'../components/MessageWidgets/MessageMedia.js';import'@react-icons/all-files/fi/FiMapPin.js';import'@react-icons/all-files/fi/FiStar.js';import'@react-icons/all-files/fi/FiChevronRight.js';import'@react-icons/all-files/fi/FiGitBranch.js';import'@react-icons/all-files/fi/FiArrowRight.js';import {MessageGeneric}from'../components/MessageWidgets/MessageGeneric.js';import'@react-icons/all-files/fi/FiZap.js';import'@react-icons/all-files/fi/FiSearch.js';import'@react-icons/all-files/fi/FiX.js';import'@react-icons/all-files/fi/FiRefreshCw.js';import'@react-icons/all-files/fi/FiEdit2.js';import'@react-icons/all-files/fi/FiPlus.js';import'@react-icons/all-files/fi/FiTrash2.js';import'../components/ChatSettingsPanel/ConnectedChatSettingsPanel.js';/**
|
|
1
|
+
import React from'react';import {Fill}from'@common-stack/components-pro';import'@react-icons/all-files/fi/FiCpu.js';import'@react-icons/all-files/fi/FiChevronDown.js';import'@react-icons/all-files/fi/FiCopy.js';import'@react-icons/all-files/fi/FiCheck.js';import'@react-icons/all-files/fi/FiExternalLink.js';import'@react-icons/all-files/fi/FiCode.js';import'@react-icons/all-files/fi/FiFile.js';import'@react-icons/all-files/fi/FiTool.js';import'@react-icons/all-files/fi/FiAlertCircle.js';import'@react-icons/all-files/fi/FiLoader.js';import'@react-icons/all-files/fi/FiInfo.js';import'@react-icons/all-files/fi/FiAlertTriangle.js';import'@react-icons/all-files/fi/FiCheckCircle.js';import'html-react-parser';import'../components/MessageWidgets/MessageMedia.js';import'@react-icons/all-files/fi/FiMapPin.js';import'@react-icons/all-files/fi/FiStar.js';import'@react-icons/all-files/fi/FiChevronRight.js';import'@react-icons/all-files/fa/FaPlane.js';import'@react-icons/all-files/fi/FiChevronLeft.js';import'@admin-layout/client';import'@react-icons/all-files/fi/FiGitBranch.js';import'@react-icons/all-files/fi/FiArrowRight.js';import {MessageGeneric}from'../components/MessageWidgets/MessageGeneric.js';import'@react-icons/all-files/fi/FiZap.js';import'@react-icons/all-files/fi/FiSearch.js';import'@react-icons/all-files/fi/FiX.js';import'@react-icons/all-files/fi/FiRefreshCw.js';import'@react-icons/all-files/fi/FiEdit2.js';import'@react-icons/all-files/fi/FiPlus.js';import'@react-icons/all-files/fi/FiTrash2.js';import'../components/ChatSettingsPanel/ConnectedChatSettingsPanel.js';/**
|
|
2
2
|
* Fill name: "generic" — the shared catch-all card.
|
|
3
3
|
*
|
|
4
4
|
* `@common-stack/components-pro` matches a <Slot> to exactly one <Fill> by name (no runtime
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-generic-fill.js","sources":["../../src/slot-fill/message-generic-fill.tsx"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"message-generic-fill.js","sources":["../../src/slot-fill/message-generic-fill.tsx"],"sourcesContent":[null],"names":[],"mappings":"sjDAKA;;;;;;;AAOG;AACH,MAAM,iBAAiB,GAAG,SAAS;AAE5B,MAAM,kBAAkB,GAAG,MAAK;SACnC,KACI,CAAA,aAAA,CAAA,IAAC,EAAA;AAEO,IAAA,IAAA,EAAA;AACI,GAAA,EAAA,KAAA,IAAA;QACJ,KAAC,CAAA,MAAA,EAAA;AACD,MAAA,OAAA,MAAW,aAAC,CAAA,cAAA,EAAA;QAGtB,GAAA;AACN,OAAE,CAAA;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React from'react';import {Fill}from'@common-stack/components-pro';import'@react-icons/all-files/fi/FiCpu.js';import'@react-icons/all-files/fi/FiChevronDown.js';import'@react-icons/all-files/fi/FiCopy.js';import'@react-icons/all-files/fi/FiCheck.js';import'@react-icons/all-files/fi/FiExternalLink.js';import'@react-icons/all-files/fi/FiCode.js';import'@react-icons/all-files/fi/FiFile.js';import'@react-icons/all-files/fi/FiTool.js';import'@react-icons/all-files/fi/FiAlertCircle.js';import'@react-icons/all-files/fi/FiLoader.js';import'@react-icons/all-files/fi/FiInfo.js';import'@react-icons/all-files/fi/FiAlertTriangle.js';import'@react-icons/all-files/fi/FiCheckCircle.js';import'html-react-parser';import {MessageMedia}from'../components/MessageWidgets/MessageMedia.js';import'@react-icons/all-files/fi/FiMapPin.js';import'@react-icons/all-files/fi/FiStar.js';import'@react-icons/all-files/fi/FiChevronRight.js';import'@react-icons/all-files/fi/FiGitBranch.js';import'@react-icons/all-files/fi/FiArrowRight.js';import'@react-icons/all-files/fi/FiBox.js';import'@react-icons/all-files/fi/FiZap.js';import'@react-icons/all-files/fi/FiSearch.js';import'@react-icons/all-files/fi/FiX.js';import'@react-icons/all-files/fi/FiRefreshCw.js';import'@react-icons/all-files/fi/FiEdit2.js';import'@react-icons/all-files/fi/FiPlus.js';import'@react-icons/all-files/fi/FiTrash2.js';import'../components/ChatSettingsPanel/ConnectedChatSettingsPanel.js';/**
|
|
1
|
+
import React from'react';import {Fill}from'@common-stack/components-pro';import'@react-icons/all-files/fi/FiCpu.js';import'@react-icons/all-files/fi/FiChevronDown.js';import'@react-icons/all-files/fi/FiCopy.js';import'@react-icons/all-files/fi/FiCheck.js';import'@react-icons/all-files/fi/FiExternalLink.js';import'@react-icons/all-files/fi/FiCode.js';import'@react-icons/all-files/fi/FiFile.js';import'@react-icons/all-files/fi/FiTool.js';import'@react-icons/all-files/fi/FiAlertCircle.js';import'@react-icons/all-files/fi/FiLoader.js';import'@react-icons/all-files/fi/FiInfo.js';import'@react-icons/all-files/fi/FiAlertTriangle.js';import'@react-icons/all-files/fi/FiCheckCircle.js';import'html-react-parser';import {MessageMedia}from'../components/MessageWidgets/MessageMedia.js';import'@react-icons/all-files/fi/FiMapPin.js';import'@react-icons/all-files/fi/FiStar.js';import'@react-icons/all-files/fi/FiChevronRight.js';import'@react-icons/all-files/fa/FaPlane.js';import'@react-icons/all-files/fi/FiChevronLeft.js';import'@admin-layout/client';import'@react-icons/all-files/fi/FiGitBranch.js';import'@react-icons/all-files/fi/FiArrowRight.js';import'@react-icons/all-files/fi/FiBox.js';import'@react-icons/all-files/fi/FiZap.js';import'@react-icons/all-files/fi/FiSearch.js';import'@react-icons/all-files/fi/FiX.js';import'@react-icons/all-files/fi/FiRefreshCw.js';import'@react-icons/all-files/fi/FiEdit2.js';import'@react-icons/all-files/fi/FiPlus.js';import'@react-icons/all-files/fi/FiTrash2.js';import'../components/ChatSettingsPanel/ConnectedChatSettingsPanel.js';/**
|
|
2
2
|
* Fill name: "media"
|
|
3
3
|
* Note: PostTypeEnum has no "Media" yet — we use a custom string.
|
|
4
4
|
* When added to the enum, switch to PostTypeEnum.Media.toLowerCase().
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-media-fill.js","sources":["../../src/slot-fill/message-media-fill.tsx"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"message-media-fill.js","sources":["../../src/slot-fill/message-media-fill.tsx"],"sourcesContent":[null],"names":[],"mappings":"wiDAKA;;;;AAIG;AACH,MAAM,eAAe,GAAG,OAAO;AAExB,MAAM,gBAAgB,GAAG,MAAK;SACjC,KACI,CAAA,aAAA,CAAA,IAAC,EAAA;AAEO,IAAA,IAAA,EAAA;AACI,GAAA,EAAA,KAAA,IAAA;QACJ,KAAC,CAAA,MAAA,EAAA;AACD,MAAA,OAAA,MAAW,aAAC,CAAA,YAAA,EAAA;QAGtB,GAAA;AACN,OAAE,CAAA;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React from'react';import {Fill}from'@common-stack/components-pro';import {PostTypeEnum}from'common';import'@react-icons/all-files/fi/FiCpu.js';import'@react-icons/all-files/fi/FiChevronDown.js';import'@react-icons/all-files/fi/FiCopy.js';import'@react-icons/all-files/fi/FiCheck.js';import'@react-icons/all-files/fi/FiExternalLink.js';import'@react-icons/all-files/fi/FiCode.js';import'@react-icons/all-files/fi/FiFile.js';import'@react-icons/all-files/fi/FiTool.js';import'@react-icons/all-files/fi/FiAlertCircle.js';import'@react-icons/all-files/fi/FiLoader.js';import {MessageService}from'../components/MessageWidgets/MessageService.js';import'../components/MessageWidgets/MessageMedia.js';import'@react-icons/all-files/fi/FiMapPin.js';import'@react-icons/all-files/fi/FiStar.js';import'@react-icons/all-files/fi/FiChevronRight.js';import'@react-icons/all-files/fi/FiGitBranch.js';import'@react-icons/all-files/fi/FiArrowRight.js';import'@react-icons/all-files/fi/FiBox.js';import'@react-icons/all-files/fi/FiZap.js';import'@react-icons/all-files/fi/FiSearch.js';import'@react-icons/all-files/fi/FiX.js';import'@react-icons/all-files/fi/FiRefreshCw.js';import'@react-icons/all-files/fi/FiEdit2.js';import'@react-icons/all-files/fi/FiPlus.js';import'@react-icons/all-files/fi/FiTrash2.js';import'../components/ChatSettingsPanel/ConnectedChatSettingsPanel.js';const MessageServiceFill = () => {
|
|
1
|
+
import React from'react';import {Fill}from'@common-stack/components-pro';import {PostTypeEnum}from'common';import'@react-icons/all-files/fi/FiCpu.js';import'@react-icons/all-files/fi/FiChevronDown.js';import'@react-icons/all-files/fi/FiCopy.js';import'@react-icons/all-files/fi/FiCheck.js';import'@react-icons/all-files/fi/FiExternalLink.js';import'@react-icons/all-files/fi/FiCode.js';import'@react-icons/all-files/fi/FiFile.js';import'@react-icons/all-files/fi/FiTool.js';import'@react-icons/all-files/fi/FiAlertCircle.js';import'@react-icons/all-files/fi/FiLoader.js';import {MessageService}from'../components/MessageWidgets/MessageService.js';import'../components/MessageWidgets/MessageMedia.js';import'@react-icons/all-files/fi/FiMapPin.js';import'@react-icons/all-files/fi/FiStar.js';import'@react-icons/all-files/fi/FiChevronRight.js';import'@react-icons/all-files/fa/FaPlane.js';import'@react-icons/all-files/fi/FiChevronLeft.js';import'@admin-layout/client';import'@react-icons/all-files/fi/FiGitBranch.js';import'@react-icons/all-files/fi/FiArrowRight.js';import'@react-icons/all-files/fi/FiBox.js';import'@react-icons/all-files/fi/FiZap.js';import'@react-icons/all-files/fi/FiSearch.js';import'@react-icons/all-files/fi/FiX.js';import'@react-icons/all-files/fi/FiRefreshCw.js';import'@react-icons/all-files/fi/FiEdit2.js';import'@react-icons/all-files/fi/FiPlus.js';import'@react-icons/all-files/fi/FiTrash2.js';import'../components/ChatSettingsPanel/ConnectedChatSettingsPanel.js';const MessageServiceFill = () => {
|
|
2
2
|
return React.createElement(Fill, {
|
|
3
3
|
name: PostTypeEnum.Service.toLowerCase()
|
|
4
4
|
}, props => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-service-fill.js","sources":["../../src/slot-fill/message-service-fill.tsx"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"message-service-fill.js","sources":["../../src/slot-fill/message-service-fill.tsx"],"sourcesContent":[null],"names":[],"mappings":"q9CAMO,MAAM,kBAAkB,GAAG,MAAK;AACnC,EAAA,OAAA,KACI,CAAA,aAAA,CAAA,IAAC,EAAA;AAEO,IAAA,IAAA,EAAA,YAAU,CAAA,OAAS,CAAA,WAAA;AACf,GAAA,EAAA,KAAA,IAAA;QACJ,KAAC,CAAA,MAAA,EAAA;AACD,MAAA,OAAA,MAAW,aAAC,CAAA,cAAA,EAAA;QAGtB,GAAA;AACN,OAAE,CAAA;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React from'react';import {Fill}from'@common-stack/components-pro';import'@react-icons/all-files/fi/FiCpu.js';import'@react-icons/all-files/fi/FiChevronDown.js';import'@react-icons/all-files/fi/FiCopy.js';import'@react-icons/all-files/fi/FiCheck.js';import'@react-icons/all-files/fi/FiExternalLink.js';import {MessageThinking}from'../components/MessageWidgets/MessageThinking.js';import'@react-icons/all-files/fi/FiCode.js';import'@react-icons/all-files/fi/FiFile.js';import'@react-icons/all-files/fi/FiTool.js';import'@react-icons/all-files/fi/FiAlertCircle.js';import'@react-icons/all-files/fi/FiLoader.js';import'@react-icons/all-files/fi/FiInfo.js';import'@react-icons/all-files/fi/FiAlertTriangle.js';import'@react-icons/all-files/fi/FiCheckCircle.js';import'html-react-parser';import'../components/MessageWidgets/MessageMedia.js';import'@react-icons/all-files/fi/FiMapPin.js';import'@react-icons/all-files/fi/FiStar.js';import'@react-icons/all-files/fi/FiChevronRight.js';import'@react-icons/all-files/fi/FiGitBranch.js';import'@react-icons/all-files/fi/FiArrowRight.js';import'@react-icons/all-files/fi/FiBox.js';import'@react-icons/all-files/fi/FiZap.js';import'@react-icons/all-files/fi/FiSearch.js';import'@react-icons/all-files/fi/FiX.js';import'@react-icons/all-files/fi/FiRefreshCw.js';import'@react-icons/all-files/fi/FiEdit2.js';import'@react-icons/all-files/fi/FiPlus.js';import'@react-icons/all-files/fi/FiTrash2.js';import'../components/ChatSettingsPanel/ConnectedChatSettingsPanel.js';/**
|
|
1
|
+
import React from'react';import {Fill}from'@common-stack/components-pro';import'@react-icons/all-files/fi/FiCpu.js';import'@react-icons/all-files/fi/FiChevronDown.js';import'@react-icons/all-files/fi/FiCopy.js';import'@react-icons/all-files/fi/FiCheck.js';import'@react-icons/all-files/fi/FiExternalLink.js';import {MessageThinking}from'../components/MessageWidgets/MessageThinking.js';import'@react-icons/all-files/fi/FiCode.js';import'@react-icons/all-files/fi/FiFile.js';import'@react-icons/all-files/fi/FiTool.js';import'@react-icons/all-files/fi/FiAlertCircle.js';import'@react-icons/all-files/fi/FiLoader.js';import'@react-icons/all-files/fi/FiInfo.js';import'@react-icons/all-files/fi/FiAlertTriangle.js';import'@react-icons/all-files/fi/FiCheckCircle.js';import'html-react-parser';import'../components/MessageWidgets/MessageMedia.js';import'@react-icons/all-files/fi/FiMapPin.js';import'@react-icons/all-files/fi/FiStar.js';import'@react-icons/all-files/fi/FiChevronRight.js';import'@react-icons/all-files/fa/FaPlane.js';import'@react-icons/all-files/fi/FiChevronLeft.js';import'@admin-layout/client';import'@react-icons/all-files/fi/FiGitBranch.js';import'@react-icons/all-files/fi/FiArrowRight.js';import'@react-icons/all-files/fi/FiBox.js';import'@react-icons/all-files/fi/FiZap.js';import'@react-icons/all-files/fi/FiSearch.js';import'@react-icons/all-files/fi/FiX.js';import'@react-icons/all-files/fi/FiRefreshCw.js';import'@react-icons/all-files/fi/FiEdit2.js';import'@react-icons/all-files/fi/FiPlus.js';import'@react-icons/all-files/fi/FiTrash2.js';import'../components/ChatSettingsPanel/ConnectedChatSettingsPanel.js';/**
|
|
2
2
|
* Fill name: "thinking"
|
|
3
3
|
* Note: PostTypeEnum doesn't have "Thinking" yet — we use a custom string.
|
|
4
4
|
* When added to the enum, switch to PostTypeEnum.Thinking.toLowerCase().
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-thinking-fill.js","sources":["../../src/slot-fill/message-thinking-fill.tsx"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"message-thinking-fill.js","sources":["../../src/slot-fill/message-thinking-fill.tsx"],"sourcesContent":[null],"names":[],"mappings":"mmDAKA;;;;AAIG;AACH,MAAM,kBAAkB,GAAG,UAAU;AAE9B,MAAM,mBAAmB,GAAG,MAAK;SACpC,KACI,CAAA,aAAA,CAAA,IAAC,EAAA;AAEO,IAAA,IAAA,EAAA;AACI,GAAA,EAAA,KAAA,IAAA;QACJ,KAAC,CAAA,MAAA,EAAA;AACD,MAAA,OAAA,MAAW,aAAC,CAAA,eAAA,EAAA;QAGtB,GAAA;AACN,OAAE,CAAA;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React from'react';import {Fill}from'@common-stack/components-pro';import'@react-icons/all-files/fi/FiCpu.js';import'@react-icons/all-files/fi/FiChevronDown.js';import'@react-icons/all-files/fi/FiCopy.js';import'@react-icons/all-files/fi/FiCheck.js';import'@react-icons/all-files/fi/FiExternalLink.js';import'@react-icons/all-files/fi/FiCode.js';import'@react-icons/all-files/fi/FiFile.js';import {MessageToolUse}from'../components/MessageWidgets/MessageToolUse.js';import'@react-icons/all-files/fi/FiInfo.js';import'@react-icons/all-files/fi/FiAlertTriangle.js';import'@react-icons/all-files/fi/FiAlertCircle.js';import'@react-icons/all-files/fi/FiCheckCircle.js';import'html-react-parser';import'../components/MessageWidgets/MessageMedia.js';import'@react-icons/all-files/fi/FiMapPin.js';import'@react-icons/all-files/fi/FiStar.js';import'@react-icons/all-files/fi/FiChevronRight.js';import'@react-icons/all-files/fi/FiGitBranch.js';import'@react-icons/all-files/fi/FiArrowRight.js';import'@react-icons/all-files/fi/FiBox.js';import'@react-icons/all-files/fi/FiZap.js';import'@react-icons/all-files/fi/FiSearch.js';import'@react-icons/all-files/fi/FiX.js';import'@react-icons/all-files/fi/FiRefreshCw.js';import'@react-icons/all-files/fi/FiEdit2.js';import'@react-icons/all-files/fi/FiPlus.js';import'@react-icons/all-files/fi/FiTrash2.js';import'../components/ChatSettingsPanel/ConnectedChatSettingsPanel.js';/**
|
|
1
|
+
import React from'react';import {Fill}from'@common-stack/components-pro';import'@react-icons/all-files/fi/FiCpu.js';import'@react-icons/all-files/fi/FiChevronDown.js';import'@react-icons/all-files/fi/FiCopy.js';import'@react-icons/all-files/fi/FiCheck.js';import'@react-icons/all-files/fi/FiExternalLink.js';import'@react-icons/all-files/fi/FiCode.js';import'@react-icons/all-files/fi/FiFile.js';import {MessageToolUse}from'../components/MessageWidgets/MessageToolUse.js';import'@react-icons/all-files/fi/FiInfo.js';import'@react-icons/all-files/fi/FiAlertTriangle.js';import'@react-icons/all-files/fi/FiAlertCircle.js';import'@react-icons/all-files/fi/FiCheckCircle.js';import'html-react-parser';import'../components/MessageWidgets/MessageMedia.js';import'@react-icons/all-files/fi/FiMapPin.js';import'@react-icons/all-files/fi/FiStar.js';import'@react-icons/all-files/fi/FiChevronRight.js';import'@react-icons/all-files/fa/FaPlane.js';import'@react-icons/all-files/fi/FiChevronLeft.js';import'@admin-layout/client';import'@react-icons/all-files/fi/FiGitBranch.js';import'@react-icons/all-files/fi/FiArrowRight.js';import'@react-icons/all-files/fi/FiBox.js';import'@react-icons/all-files/fi/FiZap.js';import'@react-icons/all-files/fi/FiSearch.js';import'@react-icons/all-files/fi/FiX.js';import'@react-icons/all-files/fi/FiRefreshCw.js';import'@react-icons/all-files/fi/FiEdit2.js';import'@react-icons/all-files/fi/FiPlus.js';import'@react-icons/all-files/fi/FiTrash2.js';import'../components/ChatSettingsPanel/ConnectedChatSettingsPanel.js';/**
|
|
2
2
|
* Fill name: "tooluse"
|
|
3
3
|
* Note: PostTypeEnum doesn't have "ToolUse" yet — we use a custom string.
|
|
4
4
|
* When added to the enum, switch to PostTypeEnum.Tooluse.toLowerCase().
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-tooluse-fill.js","sources":["../../src/slot-fill/message-tooluse-fill.tsx"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"message-tooluse-fill.js","sources":["../../src/slot-fill/message-tooluse-fill.tsx"],"sourcesContent":[null],"names":[],"mappings":"ugDAKA;;;;AAIG;AACH,MAAM,iBAAiB,GAAG,SAAS;AAE5B,MAAM,kBAAkB,GAAG,MAAK;SACnC,KACI,CAAA,aAAA,CAAA,IAAC,EAAA;AAEO,IAAA,IAAA,EAAA;AACI,GAAA,EAAA,KAAA,IAAA;QACJ,KAAC,CAAA,MAAA,EAAA;AACD,MAAA,OAAA,MAAW,aAAC,CAAA,cAAA,EAAA;QAGtB,GAAA;AACN,OAAE,CAAA;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React from'react';import {Fill}from'@common-stack/components-pro';import'@react-icons/all-files/fi/FiCpu.js';import'@react-icons/all-files/fi/FiChevronDown.js';import'@react-icons/all-files/fi/FiCopy.js';import'@react-icons/all-files/fi/FiCheck.js';import'@react-icons/all-files/fi/FiExternalLink.js';import'@react-icons/all-files/fi/FiCode.js';import'@react-icons/all-files/fi/FiFile.js';import'@react-icons/all-files/fi/FiTool.js';import'@react-icons/all-files/fi/FiAlertCircle.js';import'@react-icons/all-files/fi/FiLoader.js';import'@react-icons/all-files/fi/FiInfo.js';import'@react-icons/all-files/fi/FiAlertTriangle.js';import'@react-icons/all-files/fi/FiCheckCircle.js';import'html-react-parser';import'../components/MessageWidgets/MessageMedia.js';import {MessageTravel}from'../components/MessageWidgets/MessageTravel.js';import'@react-icons/all-files/
|
|
1
|
+
import React from'react';import {Fill}from'@common-stack/components-pro';import'@react-icons/all-files/fi/FiCpu.js';import'@react-icons/all-files/fi/FiChevronDown.js';import'@react-icons/all-files/fi/FiCopy.js';import'@react-icons/all-files/fi/FiCheck.js';import'@react-icons/all-files/fi/FiExternalLink.js';import'@react-icons/all-files/fi/FiCode.js';import'@react-icons/all-files/fi/FiFile.js';import'@react-icons/all-files/fi/FiTool.js';import'@react-icons/all-files/fi/FiAlertCircle.js';import'@react-icons/all-files/fi/FiLoader.js';import'@react-icons/all-files/fi/FiInfo.js';import'@react-icons/all-files/fi/FiAlertTriangle.js';import'@react-icons/all-files/fi/FiCheckCircle.js';import'html-react-parser';import'../components/MessageWidgets/MessageMedia.js';import {MessageTravel}from'../components/MessageWidgets/MessageTravel.js';import'@react-icons/all-files/fa/FaPlane.js';import'@react-icons/all-files/fi/FiChevronLeft.js';import'@react-icons/all-files/fi/FiChevronRight.js';import'@admin-layout/client';import'@react-icons/all-files/fi/FiGitBranch.js';import'@react-icons/all-files/fi/FiArrowRight.js';import'@react-icons/all-files/fi/FiBox.js';import'@react-icons/all-files/fi/FiZap.js';import'@react-icons/all-files/fi/FiSearch.js';import'@react-icons/all-files/fi/FiX.js';import'@react-icons/all-files/fi/FiRefreshCw.js';import'@react-icons/all-files/fi/FiEdit2.js';import'@react-icons/all-files/fi/FiPlus.js';import'@react-icons/all-files/fi/FiTrash2.js';import'../components/ChatSettingsPanel/ConnectedChatSettingsPanel.js';/**
|
|
2
2
|
* Fill name: "travel"
|
|
3
3
|
* Note: PostTypeEnum doesn't have "Travel" yet — we use a custom string.
|
|
4
4
|
* When added to the enum, switch to PostTypeEnum.Travel.toLowerCase().
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-travel-fill.js","sources":["../../src/slot-fill/message-travel-fill.tsx"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"message-travel-fill.js","sources":["../../src/slot-fill/message-travel-fill.tsx"],"sourcesContent":[null],"names":[],"mappings":"qgDAKA;;;;AAIG;AACH,MAAM,gBAAgB,GAAG,QAAQ;AAE1B,MAAM,iBAAiB,GAAG,MAAK;SAClC,KACI,CAAA,aAAA,CAAA,IAAC,EAAA;AAEO,IAAA,IAAA,EAAA;AACI,GAAA,EAAA,KAAA,IAAA;QACJ,KAAC,CAAA,MAAA,EAAA;AACD,MAAA,OAAA,MAAW,aAAC,CAAA,aAAA,EAAA;QAGtB,GAAA;AACN,OAAE,CAAA;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React from'react';import {Fill}from'@common-stack/components-pro';import'@react-icons/all-files/fi/FiCpu.js';import'@react-icons/all-files/fi/FiChevronDown.js';import'@react-icons/all-files/fi/FiCopy.js';import'@react-icons/all-files/fi/FiCheck.js';import'@react-icons/all-files/fi/FiExternalLink.js';import'@react-icons/all-files/fi/FiCode.js';import'@react-icons/all-files/fi/FiFile.js';import'@react-icons/all-files/fi/FiTool.js';import'@react-icons/all-files/fi/FiAlertCircle.js';import'@react-icons/all-files/fi/FiLoader.js';import'@react-icons/all-files/fi/FiInfo.js';import'@react-icons/all-files/fi/FiAlertTriangle.js';import'@react-icons/all-files/fi/FiCheckCircle.js';import'html-react-parser';import'../components/MessageWidgets/MessageMedia.js';import'@react-icons/all-files/fi/FiMapPin.js';import'@react-icons/all-files/fi/FiStar.js';import'@react-icons/all-files/fi/FiChevronRight.js';import {MessageWorkflow}from'../components/MessageWidgets/MessageWorkflow.js';import'@react-icons/all-files/fi/FiBox.js';import'@react-icons/all-files/fi/FiZap.js';import'@react-icons/all-files/fi/FiSearch.js';import'@react-icons/all-files/fi/FiX.js';import'@react-icons/all-files/fi/FiRefreshCw.js';import'@react-icons/all-files/fi/FiEdit2.js';import'@react-icons/all-files/fi/FiPlus.js';import'@react-icons/all-files/fi/FiTrash2.js';import'../components/ChatSettingsPanel/ConnectedChatSettingsPanel.js';/**
|
|
1
|
+
import React from'react';import {Fill}from'@common-stack/components-pro';import'@react-icons/all-files/fi/FiCpu.js';import'@react-icons/all-files/fi/FiChevronDown.js';import'@react-icons/all-files/fi/FiCopy.js';import'@react-icons/all-files/fi/FiCheck.js';import'@react-icons/all-files/fi/FiExternalLink.js';import'@react-icons/all-files/fi/FiCode.js';import'@react-icons/all-files/fi/FiFile.js';import'@react-icons/all-files/fi/FiTool.js';import'@react-icons/all-files/fi/FiAlertCircle.js';import'@react-icons/all-files/fi/FiLoader.js';import'@react-icons/all-files/fi/FiInfo.js';import'@react-icons/all-files/fi/FiAlertTriangle.js';import'@react-icons/all-files/fi/FiCheckCircle.js';import'html-react-parser';import'../components/MessageWidgets/MessageMedia.js';import'@react-icons/all-files/fi/FiMapPin.js';import'@react-icons/all-files/fi/FiStar.js';import'@react-icons/all-files/fi/FiChevronRight.js';import'@react-icons/all-files/fa/FaPlane.js';import'@react-icons/all-files/fi/FiChevronLeft.js';import'@admin-layout/client';import {MessageWorkflow}from'../components/MessageWidgets/MessageWorkflow.js';import'@react-icons/all-files/fi/FiBox.js';import'@react-icons/all-files/fi/FiZap.js';import'@react-icons/all-files/fi/FiSearch.js';import'@react-icons/all-files/fi/FiX.js';import'@react-icons/all-files/fi/FiRefreshCw.js';import'@react-icons/all-files/fi/FiEdit2.js';import'@react-icons/all-files/fi/FiPlus.js';import'@react-icons/all-files/fi/FiTrash2.js';import'../components/ChatSettingsPanel/ConnectedChatSettingsPanel.js';/**
|
|
2
2
|
* Fill name: "workflow"
|
|
3
3
|
* PostTypeEnum has no "Workflow" yet — we use a custom string. ModernMessageBubble
|
|
4
4
|
* maps a post of type "workflow" → <Slot name="workflow"> (see tailwind-ui-inbox
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-workflow-fill.js","sources":["../../src/slot-fill/message-workflow-fill.tsx"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"message-workflow-fill.js","sources":["../../src/slot-fill/message-workflow-fill.tsx"],"sourcesContent":[null],"names":[],"mappings":"ggDAKA;;;;;AAKG;AACH,MAAM,kBAAkB,GAAG,UAAU;AAE9B,MAAM,mBAAmB,GAAG,MAAK;SACpC,KACI,CAAA,aAAA,CAAA,IAAC,EAAA;AAEO,IAAA,IAAA,EAAA;AACI,GAAA,EAAA,KAAA,IAAA;QACJ,KAAC,CAAA,MAAA,EAAA;AACD,MAAA,OAAA,MAAW,aAAC,CAAA,eAAA,EAAA;QAGtB,GAAA;AACN,OAAE,CAAA;;;;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@admin-layout/ai-chat-ext-browser",
|
|
3
|
-
"version": "12.2.
|
|
3
|
+
"version": "12.2.5-alpha.2",
|
|
4
4
|
"description": "AI Chat extension for Messenger - supports AI assistant, thinking, code blocks, tool use, and service messages",
|
|
5
5
|
"license": "ISC",
|
|
6
6
|
"author": "CDMBase LLC",
|
|
@@ -21,6 +21,9 @@
|
|
|
21
21
|
"watch": "npm run build:lib:watch"
|
|
22
22
|
},
|
|
23
23
|
"dependencies": {
|
|
24
|
+
"@admin-layout/client": "12.2.5-alpha.2",
|
|
25
|
+
"@admin-layout/connector-widgets-browser": "12.2.5-alpha.2",
|
|
26
|
+
"@react-icons/all-files": "^4.1.0",
|
|
24
27
|
"html-react-parser": "^3.0.1"
|
|
25
28
|
},
|
|
26
29
|
"devDependencies": {
|
|
@@ -30,13 +33,13 @@
|
|
|
30
33
|
"@common-stack/client-react": "*",
|
|
31
34
|
"@common-stack/components-pro": "*",
|
|
32
35
|
"lodash-es": "*",
|
|
33
|
-
"react": ">=
|
|
36
|
+
"react": ">=18"
|
|
34
37
|
},
|
|
35
38
|
"publishConfig": {
|
|
36
39
|
"access": "public"
|
|
37
40
|
},
|
|
38
|
-
"gitHead": "57ad95f9f2fb3faed22f90ac047bde3eca75340f",
|
|
39
41
|
"typescript": {
|
|
40
42
|
"definition": "lib/index.d.ts"
|
|
41
|
-
}
|
|
43
|
+
},
|
|
44
|
+
"gitHead": "5ccfbf6ff024031ed38926197c3aef7b3f4dc8ee"
|
|
42
45
|
}
|