@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.
Files changed (49) hide show
  1. package/lib/components/MessageWidgets/MessageFlights.d.ts +24 -0
  2. package/lib/components/MessageWidgets/MessageFlights.d.ts.map +1 -0
  3. package/lib/components/MessageWidgets/MessageFlights.js +193 -0
  4. package/lib/components/MessageWidgets/MessageFlights.js.map +1 -0
  5. package/lib/components/MessageWidgets/MessageMedia.d.ts +7 -5
  6. package/lib/components/MessageWidgets/MessageMedia.d.ts.map +1 -1
  7. package/lib/components/MessageWidgets/MessageMedia.js +86 -83
  8. package/lib/components/MessageWidgets/MessageMedia.js.map +1 -1
  9. package/lib/components/MessageWidgets/MessageTravel.d.ts.map +1 -1
  10. package/lib/components/MessageWidgets/MessageTravel.js +9 -1
  11. package/lib/components/MessageWidgets/MessageTravel.js.map +1 -1
  12. package/lib/components/MessageWidgets/index.d.ts +3 -0
  13. package/lib/components/MessageWidgets/index.d.ts.map +1 -1
  14. package/lib/components/MessageWidgets/mediaUtils.d.ts +21 -0
  15. package/lib/components/MessageWidgets/mediaUtils.d.ts.map +1 -0
  16. package/lib/components/MessageWidgets/mediaUtils.js +76 -0
  17. package/lib/components/MessageWidgets/mediaUtils.js.map +1 -0
  18. package/lib/components/index.d.ts +2 -1
  19. package/lib/components/index.d.ts.map +1 -1
  20. package/lib/index.d.ts +3 -0
  21. package/lib/index.d.ts.map +1 -1
  22. package/lib/index.js +1 -1
  23. package/lib/interfaces/ai-chat.interface.d.ts +13 -14
  24. package/lib/interfaces/ai-chat.interface.d.ts.map +1 -1
  25. package/lib/interfaces/index.d.ts +1 -1
  26. package/lib/interfaces/index.d.ts.map +1 -1
  27. package/lib/slot-fill/chat-settings-fill.js +1 -1
  28. package/lib/slot-fill/chat-settings-fill.js.map +1 -1
  29. package/lib/slot-fill/message-ai-assistant-fill.js +1 -1
  30. package/lib/slot-fill/message-ai-assistant-fill.js.map +1 -1
  31. package/lib/slot-fill/message-codeblock-fill.js +1 -1
  32. package/lib/slot-fill/message-codeblock-fill.js.map +1 -1
  33. package/lib/slot-fill/message-connector-fill.js +1 -1
  34. package/lib/slot-fill/message-connector-fill.js.map +1 -1
  35. package/lib/slot-fill/message-generic-fill.js +1 -1
  36. package/lib/slot-fill/message-generic-fill.js.map +1 -1
  37. package/lib/slot-fill/message-media-fill.js +1 -1
  38. package/lib/slot-fill/message-media-fill.js.map +1 -1
  39. package/lib/slot-fill/message-service-fill.js +1 -1
  40. package/lib/slot-fill/message-service-fill.js.map +1 -1
  41. package/lib/slot-fill/message-thinking-fill.js +1 -1
  42. package/lib/slot-fill/message-thinking-fill.js.map +1 -1
  43. package/lib/slot-fill/message-tooluse-fill.js +1 -1
  44. package/lib/slot-fill/message-tooluse-fill.js.map +1 -1
  45. package/lib/slot-fill/message-travel-fill.js +1 -1
  46. package/lib/slot-fill/message-travel-fill.js.map +1 -1
  47. package/lib/slot-fill/message-workflow-fill.js +1 -1
  48. package/lib/slot-fill/message-workflow-fill.js.map +1 -1
  49. 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 connector
11
- * (yantra-image-generation, yantra-video-generation, audio / TTS, …) returned,
12
- * inline in the chat. Shows the asset(s), the prompt as a caption, an
13
- * attribution line (connector · model), and open / download actions. The asset
14
- * URLs live on the message's propsConfiguration, so they persist with the chat.
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,KAAK,MAAM,OAAO,CAAC;AAM1B,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAG/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;AAmCD;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,GAAI,OAAO,kBAAkB,sBAsFrD,CAAC"}
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 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';const KIND_META = {
2
- image: {
3
- icon: React.createElement(FiImage, {
4
- className: "w-4 h-4"
5
- }),
6
- label: 'Image'
7
- },
8
- video: {
9
- icon: React.createElement(FiVideo, {
10
- className: "w-4 h-4"
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 connector
52
- * (yantra-image-generation, yantra-video-generation, audio / TTS, …) returned,
53
- * inline in the chat. Shows the asset(s), the prompt as a caption, an
54
- * attribution line (connector · model), and open / download actions. The asset
55
- * URLs live on the message's propsConfiguration, so they persist with the chat.
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.items && attachment.items.length > 0 ? attachment.items : [{
68
- kind: attachment.kind,
69
- url: attachment.url,
70
- title: attachment.title,
71
- mimeType: attachment.mimeType,
72
- posterUrl: attachment.posterUrl
73
- }];
74
- const meta = KIND_META[attachment.kind] ?? KIND_META.image;
75
- const title = attachment.title || `${meta.label} generated`;
76
- const attribution = [attachment.connector, attachment.model].filter(Boolean).join(' · ');
77
- const isGrid = items.length > 1 && attachment.kind === 'image';
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-500"
86
- }, meta.icon), React.createElement("p", {
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-[10px] text-gray-400 dark:text-gray-500 truncate max-w-[55%]"
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 ${isGrid ? 'grid grid-cols-2 gap-2' : 'flex flex-col gap-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
- }))), React.createElement("div", {
98
- className: "px-3 pb-3 pt-1"
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-3"
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-blue-600 dark:text-blue-400 hover:underline"
110
- }, "Open ", React.createElement(FiExternalLink, {
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-600 dark:text-gray-300 hover:underline"
117
- }, "Download ", React.createElement(FiDownload, {
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":"oVAgBA,MAAM,SAAS,GAAwE;AACnF,EAAA,KAAA,EAAK;AACL,IAAA,IAAA,EAAK,KAAI,CAAA,uBAAO;AAChB,MAAA,SAAS,EAAI;KACf,CAAA;AAEF,IAAA,KAAA,EAAA;AACA,GAAA;AACI,EAAA,KAAA;QACI,EAAA,KAAO,CACH,aAAA,CAAA,OAAA,EAAA;MAQP,SAAA,EAAA;AACD,KAAA,CAAA;AACI,IAAA,KAAA,EAAA;;OAEJ,EAAA;IACA,IAAA,EAAA,KACI,CAAA,aAAA,CAAA,OAAA,EAAA;AAOR,MAAE,SAAA,EAAA;AAEF,KAAA,CAAA;;;;;;AAMG,EAAA;AACH,CAAA,KAAM;MACF,IAAM,CAAA,SAAS,SAAS;AACxB,IAAA,OAAM,KAAE,CAAA,aAAgB,CAAA,OAAQ,EAAA;AAIhC,MAAA,GAAK,EAAA,IAAA,CAAA,GAAU;AAAqB,MAAA,MAAA,EAAA,KAAW,SAAC;AAEhD,MAAA,QAAM,EAAK,IACP;aACM,EAAA,UAAW;AACb,MAAA,SAAE,EAAA;AACI,KAAA,CAAA;;oBAEO,OAAE,EAAA;gBACL,CAAA,aAAO,CAAA,OAAW,EAAK;gBACvB,GAAA;gBACA,IAAA;AACH,MAAA,OAAA,EAAA,UAAA;eACH,EAAA;AAEZ,KAAA,CAAA;;;AAGA,EAAA,OAAA,KAAM,CAAA,aAAe,CAAA,KAAS,EAAC;IAE/B,GAAA,EAAA,IAAM,CAAI,GAAG;IAEb,GAAA,EAAA,IACI,CAAA,KAAA,IAAA,iBAAA;WAKI,EAAA,MAAA;AACI,IAAA,SAAA,EAAA;AACA,GAAA,CAAA;;AAWJ;;AAYK;;AAMG;;AAOS;AAET,MAAA,YAAA,GAAA,KAAA,IAAA;;;AAYpB,IAAE,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
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;AAG/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,sBAuHvD,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":"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"}
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,GACnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AACpF,YAAY,EAAE,sBAAsB,EAAE,aAAa,EAAE,+BAA+B,EAAE,MAAM,qBAAqB,CAAC"}
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
@@ -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
- /** A single generated asset from a cdecli generation connector. */
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":"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"}
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":"y7CAIA;;;;;;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
+ {"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":"m+CAMO,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
+ {"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":"g5CAKA;;;;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
+ {"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":"67CAKA;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
+ {"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":"y7CAKA;;;;;;;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
+ {"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":"26CAKA;;;;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
+ {"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":"w1CAMO,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
+ {"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":"s+CAKA;;;;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
+ {"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":"04CAKA;;;;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
+ {"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/fi/FiGitBranch.js';import'@react-icons/all-files/fi/FiArrowRight.js';import'@react-icons/all-files/fi/FiChevronRight.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 {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":"w4CAKA;;;;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
+ {"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":"m4CAKA;;;;;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;;;;"}
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.4-alpha.85",
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": ">=16.14.0"
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
  }