@admin-layout/ai-chat-ext-browser 12.2.4-alpha.67 → 12.2.4-alpha.77
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/components/MessageWidgets/MessageGeneric.d.ts +20 -0
- package/lib/components/MessageWidgets/MessageGeneric.d.ts.map +1 -0
- package/lib/components/MessageWidgets/MessageGeneric.js +74 -0
- package/lib/components/MessageWidgets/MessageGeneric.js.map +1 -0
- package/lib/components/MessageWidgets/MessageMedia.d.ts +17 -0
- package/lib/components/MessageWidgets/MessageMedia.d.ts.map +1 -0
- package/lib/components/MessageWidgets/MessageMedia.js +120 -0
- package/lib/components/MessageWidgets/MessageMedia.js.map +1 -0
- package/lib/components/MessageWidgets/MessageTravel.d.ts +17 -0
- package/lib/components/MessageWidgets/MessageTravel.d.ts.map +1 -0
- package/lib/components/MessageWidgets/MessageTravel.js +69 -0
- package/lib/components/MessageWidgets/MessageTravel.js.map +1 -0
- package/lib/components/MessageWidgets/MessageWorkflow.d.ts +17 -0
- package/lib/components/MessageWidgets/MessageWorkflow.d.ts.map +1 -0
- package/lib/components/MessageWidgets/MessageWorkflow.js +82 -0
- package/lib/components/MessageWidgets/MessageWorkflow.js.map +1 -0
- package/lib/components/MessageWidgets/index.d.ts +8 -0
- package/lib/components/MessageWidgets/index.d.ts.map +1 -1
- package/lib/components/MessageWidgets/workflowUtils.d.ts +10 -0
- package/lib/components/MessageWidgets/workflowUtils.d.ts.map +1 -0
- package/lib/components/MessageWidgets/workflowUtils.js +15 -0
- package/lib/components/MessageWidgets/workflowUtils.js.map +1 -0
- package/lib/components/index.d.ts +1 -1
- package/lib/components/index.d.ts.map +1 -1
- package/lib/interfaces/ai-chat.interface.d.ts +177 -0
- package/lib/interfaces/ai-chat.interface.d.ts.map +1 -1
- package/lib/interfaces/index.d.ts +1 -1
- package/lib/interfaces/index.d.ts.map +1 -1
- package/lib/module.d.ts.map +1 -1
- package/lib/module.js +15 -1
- package/lib/module.js.map +1 -1
- package/lib/slot-fill/chat-settings-fill.js +1 -1
- package/lib/slot-fill/chat-settings-fill.js.map +1 -1
- package/lib/slot-fill/index.d.ts +4 -0
- package/lib/slot-fill/index.d.ts.map +1 -1
- package/lib/slot-fill/message-ai-assistant-fill.js +1 -1
- package/lib/slot-fill/message-ai-assistant-fill.js.map +1 -1
- package/lib/slot-fill/message-codeblock-fill.js +1 -1
- package/lib/slot-fill/message-codeblock-fill.js.map +1 -1
- package/lib/slot-fill/message-generic-fill.d.ts +3 -0
- package/lib/slot-fill/message-generic-fill.d.ts.map +1 -0
- package/lib/slot-fill/message-generic-fill.js +21 -0
- package/lib/slot-fill/message-generic-fill.js.map +1 -0
- package/lib/slot-fill/message-media-fill.d.ts +3 -0
- package/lib/slot-fill/message-media-fill.d.ts.map +1 -0
- package/lib/slot-fill/message-media-fill.js +18 -0
- package/lib/slot-fill/message-media-fill.js.map +1 -0
- package/lib/slot-fill/message-service-fill.js +1 -1
- package/lib/slot-fill/message-service-fill.js.map +1 -1
- package/lib/slot-fill/message-thinking-fill.js +1 -1
- package/lib/slot-fill/message-thinking-fill.js.map +1 -1
- package/lib/slot-fill/message-tooluse-fill.js +1 -1
- package/lib/slot-fill/message-tooluse-fill.js.map +1 -1
- package/lib/slot-fill/message-travel-fill.d.ts +3 -0
- package/lib/slot-fill/message-travel-fill.d.ts.map +1 -0
- package/lib/slot-fill/message-travel-fill.js +18 -0
- package/lib/slot-fill/message-travel-fill.js.map +1 -0
- package/lib/slot-fill/message-workflow-fill.d.ts +3 -0
- package/lib/slot-fill/message-workflow-fill.d.ts.map +1 -0
- package/lib/slot-fill/message-workflow-fill.js +19 -0
- package/lib/slot-fill/message-workflow-fill.js.map +1 -0
- package/package.json +2 -3
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { IPost } from 'common';
|
|
3
|
+
export interface IMessageGenericProps {
|
|
4
|
+
message: IPost;
|
|
5
|
+
index: number;
|
|
6
|
+
/** Fired when the card is clicked — the consumer opens the widget's detail panel, if any. */
|
|
7
|
+
onMessageClick?: (ref: IPost) => void;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Generic, schema-driven widget card — the shared renderer ANY extension-contributed widget
|
|
11
|
+
* routes to when it has no bespoke card (descriptor `card: 'generic'`). It paints whatever the
|
|
12
|
+
* {@link GenericAttachmentsInterface} payload provides — lead image, title/subtitle, body,
|
|
13
|
+
* key-value fields, and a list of items — so a new third-party widget (resume-builder,
|
|
14
|
+
* media-builder, …) renders a reasonable card with **zero** new components anywhere.
|
|
15
|
+
*
|
|
16
|
+
* Reads the payload from `message.propsConfiguration.contents.attachment`, mirroring the
|
|
17
|
+
* bespoke cards (MessageTravel / MessageMedia / MessageWorkflow), so it persists with the chat.
|
|
18
|
+
*/
|
|
19
|
+
export declare const MessageGeneric: (props: IMessageGenericProps) => React.JSX.Element;
|
|
20
|
+
//# sourceMappingURL=MessageGeneric.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MessageGeneric.d.ts","sourceRoot":"","sources":["../../../src/components/MessageWidgets/MessageGeneric.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAG/B,MAAM,WAAW,oBAAoB;IACjC,OAAO,EAAE,KAAK,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,6FAA6F;IAC7F,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC;CACzC;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc,GAAI,OAAO,oBAAoB,sBA6EzD,CAAC"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import React from'react';import {FiChevronRight}from'@react-icons/all-files/fi/FiChevronRight.js';import {FiBox}from'@react-icons/all-files/fi/FiBox.js';/**
|
|
2
|
+
* Generic, schema-driven widget card — the shared renderer ANY extension-contributed widget
|
|
3
|
+
* routes to when it has no bespoke card (descriptor `card: 'generic'`). It paints whatever the
|
|
4
|
+
* {@link GenericAttachmentsInterface} payload provides — lead image, title/subtitle, body,
|
|
5
|
+
* key-value fields, and a list of items — so a new third-party widget (resume-builder,
|
|
6
|
+
* media-builder, …) renders a reasonable card with **zero** new components anywhere.
|
|
7
|
+
*
|
|
8
|
+
* Reads the payload from `message.propsConfiguration.contents.attachment`, mirroring the
|
|
9
|
+
* bespoke cards (MessageTravel / MessageMedia / MessageWorkflow), so it persists with the chat.
|
|
10
|
+
*/
|
|
11
|
+
const MessageGeneric = props => {
|
|
12
|
+
const {
|
|
13
|
+
message,
|
|
14
|
+
onMessageClick
|
|
15
|
+
} = props;
|
|
16
|
+
const {
|
|
17
|
+
attachment
|
|
18
|
+
} = message.propsConfiguration?.contents ?? {};
|
|
19
|
+
if (!attachment || typeof attachment !== 'object') return null;
|
|
20
|
+
const title = attachment.title || attachment.component || 'Result';
|
|
21
|
+
const fields = Array.isArray(attachment.fields) ? attachment.fields : [];
|
|
22
|
+
const items = Array.isArray(attachment.items) ? attachment.items : [];
|
|
23
|
+
const thumbs = items.filter(it => it.imageUrl).slice(0, 4);
|
|
24
|
+
const actionLabel = attachment.actionLabel || (onMessageClick ? 'Open' : undefined);
|
|
25
|
+
const open = () => onMessageClick?.(message);
|
|
26
|
+
return React.createElement("button", {
|
|
27
|
+
type: "button",
|
|
28
|
+
onClick: open,
|
|
29
|
+
className: "my-2 mx-2 w-[calc(100%-1rem)] text-left rounded-xl border border-gray-200 dark:border-gray-700 bg-white dark:bg-gray-800/60 hover:border-blue-400 dark:hover:border-blue-500 hover:shadow-sm transition-colors overflow-hidden"
|
|
30
|
+
}, attachment.imageUrl ?
|
|
31
|
+
// eslint-disable-next-line @next/next/no-img-element
|
|
32
|
+
React.createElement("img", {
|
|
33
|
+
src: attachment.imageUrl,
|
|
34
|
+
alt: title,
|
|
35
|
+
className: "w-full h-32 object-cover",
|
|
36
|
+
loading: "lazy"
|
|
37
|
+
}) : thumbs.length > 0 ? React.createElement("div", {
|
|
38
|
+
className: "flex gap-0.5"
|
|
39
|
+
}, thumbs.map((it, i) =>
|
|
40
|
+
// eslint-disable-next-line @next/next/no-img-element
|
|
41
|
+
React.createElement("img", {
|
|
42
|
+
key: it.url ?? i,
|
|
43
|
+
src: it.imageUrl,
|
|
44
|
+
alt: it.title,
|
|
45
|
+
className: "h-24 flex-1 object-cover",
|
|
46
|
+
loading: "lazy"
|
|
47
|
+
}))) : null, React.createElement("div", {
|
|
48
|
+
className: "flex items-center gap-3 p-3"
|
|
49
|
+
}, React.createElement("div", {
|
|
50
|
+
className: "flex-shrink-0 text-blue-500"
|
|
51
|
+
}, React.createElement(FiBox, {
|
|
52
|
+
className: "w-5 h-5"
|
|
53
|
+
})), React.createElement("div", {
|
|
54
|
+
className: "flex-1 min-w-0"
|
|
55
|
+
}, React.createElement("p", {
|
|
56
|
+
className: "text-sm font-semibold text-gray-900 dark:text-gray-100 truncate"
|
|
57
|
+
}, title), attachment.subtitle ? React.createElement("p", {
|
|
58
|
+
className: "mt-0.5 text-xs text-gray-500 dark:text-gray-400 truncate"
|
|
59
|
+
}, attachment.subtitle) : null), actionLabel ? React.createElement("span", {
|
|
60
|
+
className: "flex-shrink-0 inline-flex items-center gap-1 text-xs font-medium text-blue-600 dark:text-blue-400"
|
|
61
|
+
}, actionLabel, " ", React.createElement(FiChevronRight, {
|
|
62
|
+
className: "w-4 h-4"
|
|
63
|
+
})) : null), attachment.body ? React.createElement("p", {
|
|
64
|
+
className: "px-3 pb-3 -mt-1 text-xs text-gray-600 dark:text-gray-300 whitespace-pre-line line-clamp-4"
|
|
65
|
+
}, attachment.body) : null, fields.length > 0 ? React.createElement("dl", {
|
|
66
|
+
className: "px-3 pb-3 grid grid-cols-[max-content_1fr] gap-x-3 gap-y-1"
|
|
67
|
+
}, fields.slice(0, 8).map((f, i) => React.createElement(React.Fragment, {
|
|
68
|
+
key: `${f.label}-${i}`
|
|
69
|
+
}, React.createElement("dt", {
|
|
70
|
+
className: "text-xs text-gray-500 dark:text-gray-400"
|
|
71
|
+
}, f.label), React.createElement("dd", {
|
|
72
|
+
className: "text-xs text-gray-800 dark:text-gray-200 truncate"
|
|
73
|
+
}, f.value)))) : null);
|
|
74
|
+
};export{MessageGeneric};//# sourceMappingURL=MessageGeneric.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MessageGeneric.js","sources":["../../../src/components/MessageWidgets/MessageGeneric.tsx"],"sourcesContent":[null],"names":[],"mappings":"yJAaA;;;;;;;;;AASG;AACI,MAAM,cAAc,GAAG,KAAC,IAA6B;AACxD,EAAA,MAAA;AACA,IAAA,OAAM;AAIN,IAAA;AAAmD,GAAA,GAAA,KAAA;QAEnD;IACA;MACA,OAAM,CAAA,kBAAsB,EAAA,QAAU,IAAC,EAAK;MAC5C,CAAA,cAAe,iBAAkB,KAAM,QAAQ,EAAE,OAAO,IAAI;AAC5D,EAAA,MAAA,kBAAoB,CAAA,KAAA,IAAW,UAAW,UAAK,IAAA,QAAiB;QAEhE,MAAU,GAAG,KAAK,CAAC,kBAAiB,CAAA,MAAQ,CAAC,GAAA,UAAA,CAAA,MAAA,GAAA,EAAA;AAE7C,EAAA,MAAA,KACI,GAAA,KAAA,CAAA,OAAA,CAAA,UAAA,CAAA,KACI,CAAA,GAAK,UACL,CAAA,KAAA,GAAS,EAAA;AAGR,EAAA,MAAA,MAAA,GAAA,KAAW,CAAA,MAAU,CAAC,EAAA,IAAA,EAAA,CAAA,QAAA,CAAA,CAAA,KAAA,CAAA,CAAA,EAAA,CAAA,CAAA;QACnB,WAAA,GAAA,UAAA,CAAA,WAAA,KAAA,cAAqD,GAAA,MAAA,GAAA,SAAA,CAAA;QACrD,IAAA,GAAA,MAAA,cAAA,GAAK,OAAK,CAAA;SAIF,KAAA,CAAA,aAAA,CAAA,QAAA,EAAA;AACA,IAAA,IAAA,EAAA,QAAA;WAWZ,EAAA,IAAA;aACI,EAAA;AACI,GAAA,EAAA,UAAA,CAAA,QAAA;;AAGA,EAAA,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA;mBACC,CAAA;AAMJ,IAAA,GAAA,EAAA,KAAA;yCAEmB;;AAAE,GAAA,CAAA,GAAA,MAAA,CAAA,MAAA,GAAA,CAAA,GAAA,KAAA,CAAA,aAAC,CAAA,KAAc,EAAC;AAKzC,IAAA,SAAA,EAAA;WAMA,CAAA,GAAO,MAAM,CAAA;AAIE;AACA,EAAA,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAO5B,IAAE,GAAA,EAAA,EAAA,CAAA,GAAA,IAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { IPost } from 'common';
|
|
3
|
+
export interface IMessageMediaProps {
|
|
4
|
+
message: IPost;
|
|
5
|
+
index: number;
|
|
6
|
+
/** Fired when the card (or an asset) is clicked — the consumer may open a lightbox. */
|
|
7
|
+
onMessageClick?: (ref: IPost) => void;
|
|
8
|
+
}
|
|
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.
|
|
15
|
+
*/
|
|
16
|
+
export declare const MessageMedia: (props: IMessageMediaProps) => React.JSX.Element;
|
|
17
|
+
//# sourceMappingURL=MessageMedia.d.ts.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1,120 @@
|
|
|
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
|
+
});
|
|
49
|
+
};
|
|
50
|
+
/**
|
|
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.
|
|
56
|
+
*/
|
|
57
|
+
const MessageMedia = props => {
|
|
58
|
+
const {
|
|
59
|
+
message,
|
|
60
|
+
index,
|
|
61
|
+
onMessageClick
|
|
62
|
+
} = props;
|
|
63
|
+
const {
|
|
64
|
+
attachment
|
|
65
|
+
} = message.propsConfiguration?.contents ?? {};
|
|
66
|
+
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';
|
|
78
|
+
const open = () => onMessageClick?.(message);
|
|
79
|
+
return React.createElement("div", {
|
|
80
|
+
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"
|
|
82
|
+
}, React.createElement("div", {
|
|
83
|
+
className: "flex items-center gap-2 px-3 py-2 border-b border-gray-100 dark:border-gray-700"
|
|
84
|
+
}, 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"
|
|
88
|
+
}, title), attribution && React.createElement("span", {
|
|
89
|
+
className: "flex-shrink-0 text-[10px] text-gray-400 dark:text-gray-500 truncate max-w-[55%]"
|
|
90
|
+
}, attribution)), React.createElement("div", {
|
|
91
|
+
className: `p-2 ${isGrid ? 'grid grid-cols-2 gap-2' : 'flex flex-col gap-2'}`,
|
|
92
|
+
onClick: open,
|
|
93
|
+
role: onMessageClick ? 'button' : undefined
|
|
94
|
+
}, items.map((item, i) => React.createElement(MediaAsset, {
|
|
95
|
+
key: (item.url ?? '') + i,
|
|
96
|
+
item: item
|
|
97
|
+
}))), React.createElement("div", {
|
|
98
|
+
className: "px-3 pb-3 pt-1"
|
|
99
|
+
}, attachment.prompt && React.createElement("p", {
|
|
100
|
+
className: "text-xs text-gray-500 dark:text-gray-400 line-clamp-2",
|
|
101
|
+
title: attachment.prompt
|
|
102
|
+
}, attachment.prompt), React.createElement("div", {
|
|
103
|
+
className: "mt-2 flex items-center gap-3"
|
|
104
|
+
}, React.createElement("a", {
|
|
105
|
+
href: attachment.url,
|
|
106
|
+
target: "_blank",
|
|
107
|
+
rel: "noopener noreferrer",
|
|
108
|
+
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", {
|
|
113
|
+
href: attachment.url,
|
|
114
|
+
download: attachment.fileName || true,
|
|
115
|
+
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
|
+
})))));
|
|
120
|
+
};export{MessageMedia};//# sourceMappingURL=MessageMedia.js.map
|
|
@@ -0,0 +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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { IPost } from 'common';
|
|
3
|
+
export interface IMessageTravelProps {
|
|
4
|
+
message: IPost;
|
|
5
|
+
index: number;
|
|
6
|
+
/** Fired when the card is clicked — the consumer opens the travel side panel. */
|
|
7
|
+
onMessageClick?: (ref: IPost) => void;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Travel listings card — a compact, clickable summary of the stays the
|
|
11
|
+
* yantra-resortifi connector returned. Shows a thumbnail strip + count + price
|
|
12
|
+
* range; clicking opens the full results in the travel side panel
|
|
13
|
+
* (via `onMessageClick`). The listings themselves live on the message's
|
|
14
|
+
* propsConfiguration, so they persist with the chat.
|
|
15
|
+
*/
|
|
16
|
+
export declare const MessageTravel: (props: IMessageTravelProps) => React.JSX.Element;
|
|
17
|
+
//# sourceMappingURL=MessageTravel.d.ts.map
|
|
@@ -0,0 +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;AAeD;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,GAAI,OAAO,mBAAmB,sBA8DvD,CAAC"}
|
|
@@ -0,0 +1,69 @@
|
|
|
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 priceRange = a => {
|
|
2
|
+
const prices = (a.properties ?? []).map(p => p.price).filter(n => typeof n === 'number' && Number.isFinite(n));
|
|
3
|
+
const from = a.priceFrom ?? (prices.length ? Math.min(...prices) : undefined);
|
|
4
|
+
const to = a.priceTo ?? (prices.length ? Math.max(...prices) : undefined);
|
|
5
|
+
if (from == null) return undefined;
|
|
6
|
+
return to != null && to !== from ? `$${Math.round(from)}–$${Math.round(to)}` : `$${Math.round(from)}`;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Travel listings card — a compact, clickable summary of the stays the
|
|
10
|
+
* yantra-resortifi connector returned. Shows a thumbnail strip + count + price
|
|
11
|
+
* range; clicking opens the full results in the travel side panel
|
|
12
|
+
* (via `onMessageClick`). The listings themselves live on the message's
|
|
13
|
+
* propsConfiguration, so they persist with the chat.
|
|
14
|
+
*/
|
|
15
|
+
const MessageTravel = props => {
|
|
16
|
+
const {
|
|
17
|
+
message,
|
|
18
|
+
onMessageClick
|
|
19
|
+
} = props;
|
|
20
|
+
const {
|
|
21
|
+
attachment
|
|
22
|
+
} = message.propsConfiguration?.contents ?? {};
|
|
23
|
+
if (!attachment || !Array.isArray(attachment.properties) || attachment.properties.length === 0) {
|
|
24
|
+
return null;
|
|
25
|
+
}
|
|
26
|
+
const properties = attachment.properties;
|
|
27
|
+
const count = attachment.totalCount ?? properties.length;
|
|
28
|
+
const city = attachment.city || properties.find(p => p.city)?.city;
|
|
29
|
+
const title = attachment.title || (city ? `Stays in ${city}` : 'Stays');
|
|
30
|
+
const range = priceRange(attachment);
|
|
31
|
+
const actionLabel = attachment.actionLabel || 'View stays';
|
|
32
|
+
const thumbs = properties.filter(p => p.imageUrl).slice(0, 4);
|
|
33
|
+
const open = () => onMessageClick?.(message);
|
|
34
|
+
return React.createElement("button", {
|
|
35
|
+
type: "button",
|
|
36
|
+
onClick: open,
|
|
37
|
+
className: "my-2 mx-2 w-[calc(100%-1rem)] text-left rounded-xl border border-gray-200 dark:border-gray-700 bg-white dark:bg-gray-800/60 hover:border-blue-400 dark:hover:border-blue-500 hover:shadow-sm transition-colors overflow-hidden"
|
|
38
|
+
}, thumbs.length > 0 && React.createElement("div", {
|
|
39
|
+
className: "flex gap-0.5"
|
|
40
|
+
}, thumbs.map((p, i) =>
|
|
41
|
+
// eslint-disable-next-line @next/next/no-img-element
|
|
42
|
+
React.createElement("img", {
|
|
43
|
+
key: p.id ?? i,
|
|
44
|
+
src: p.imageUrl,
|
|
45
|
+
alt: p.title,
|
|
46
|
+
className: "h-24 flex-1 object-cover",
|
|
47
|
+
loading: "lazy"
|
|
48
|
+
}))), React.createElement("div", {
|
|
49
|
+
className: "flex items-center gap-3 p-3"
|
|
50
|
+
}, React.createElement("div", {
|
|
51
|
+
className: "flex-shrink-0 text-blue-500"
|
|
52
|
+
}, React.createElement(FiMapPin, {
|
|
53
|
+
className: "w-5 h-5"
|
|
54
|
+
})), React.createElement("div", {
|
|
55
|
+
className: "flex-1 min-w-0"
|
|
56
|
+
}, React.createElement("p", {
|
|
57
|
+
className: "text-sm font-semibold text-gray-900 dark:text-gray-100 truncate"
|
|
58
|
+
}, title), React.createElement("p", {
|
|
59
|
+
className: "mt-0.5 text-xs text-gray-500 dark:text-gray-400"
|
|
60
|
+
}, count, " ", count === 1 ? 'stay' : 'stays', range ? ` · ${range}/night` : '', typeof properties[0]?.rating === 'number' ? React.createElement("span", {
|
|
61
|
+
className: "inline-flex items-center gap-0.5 ml-1"
|
|
62
|
+
}, "\u00B7 ", React.createElement(FiStar, {
|
|
63
|
+
className: "w-3 h-3 text-amber-400"
|
|
64
|
+
}), " ", properties[0].rating) : null)), React.createElement("span", {
|
|
65
|
+
className: "flex-shrink-0 inline-flex items-center gap-1 text-xs font-medium text-blue-600 dark:text-blue-400"
|
|
66
|
+
}, actionLabel, " ", React.createElement(FiChevronRight, {
|
|
67
|
+
className: "w-4 h-4"
|
|
68
|
+
}))));
|
|
69
|
+
};export{MessageTravel};//# sourceMappingURL=MessageTravel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MessageTravel.js","sources":["../../../src/components/MessageWidgets/MessageTravel.tsx"],"sourcesContent":[null],"names":[],"mappings":"wNAiBA,MAAM,UAAU,GAAG,CAAC,IAAmD;QACnE,MAAM,KAAS,CAAC,UAAE,IAAU,EAAI,EAAE,GAAC,CAAA,CAAA,IAAA,CAAA,CAAA,KAAA,CAAA,CAAA,MAAA,CAAA,CAAA,IAAA,OAAA,CAAA,KAAA,QAAA,IAAA,MAAA,CAAA,QAAA,CAAA,CAAA,CAAA,CAAA;YAC3B,GAAG,CAAA,CAAE,SAAK,KAAM,MAAA,CAAA,MAAA,GAAA,IAAA,CAAA,GAAA,CAAA,GAAA,MAAA,CAAA,GAAA,SAAA,CAAA;AACnB,EAAA,MAAA,EAAA,GAAA,CAAA,CAAM,OAAoB,WAAS,CAAA,MAAK,GAAA,IAAQ,CAAI,OAAO,MAAA,CAAA,GAAU,SAAG,CAAA;MAC7E,IAAM,IAAI,IAAI,EAAC,OAAA,SAAc;SAC7B,EAAM,IAAK,IAAE,IAAA,OAAY,IAAA,GAAO,CAAA,CAAA,EAAA,IAAS,CAAA,KAAK,CAAA,IAAI,CAAG,CAAA,EAAA,EAAA,IAAS,CAAC,KAAA,CAAA,EAAA,CAAS,CAAC,CAAC,GAAA,CAAA,CAAA,EAAA,IAAA,CAAA,KAAA,CAAA,IAAA,CAAA,CAAA,CAAA;;AACxD;AAClB;AACJ;AAEA;;;;;;AAMG,IAAA,OAAA;AACH,IAAA;AACI,GAAA,GAAA;AACA,EAAA,MAAA;IAIA;AACI,GAAA,GAAA,OAAA,CAAA,kBAAY,EAAA,QAAA,IAAA,EAAA;MACf,CAAA,UAAA,IAAA,CAAA,KAAA,CAAA,OAAA,CAAA,UAAA,CAAA,UAAA,CAAA,IAAA,UAAA,CAAA,UAAA,CAAA,MAAA,KAAA,CAAA,EAAA;AAED,IAAA,OAAM,IAAA;;QAEN,UAAa,GAAA,WAAe,UAAI;AAChC,EAAA,MAAA,QAAW,UAAG,CAAA,UAAgB,IAAK,UAAO,CAAA,MAAY;AACtD,EAAA,MAAA,OAAW,UAAG,CAAA,IAAW,IAAA,UAAY,CAAA,IAAA,CAAA,CAAA,IAAA,CAAA,CAAA,IAAA,CAAA,EAAA,IAAA;AACrC,EAAA,MAAA,kBAAoB,CAAA,KAAA,KAAW,IAAA,GAAA,CAAA,iBAA2B,GAAC,OAAA,CAAA;QAC3D,KAAM,GAAM,UAAG,CAAA,UAAkB,CAAC;QAElC,WAAa,GAAK,sBAAkB,IAAQ,YAAC;AAE7C,EAAA,MAAA,MACI,GAAA,UAAA,CAAA,MAAA,CAAA,CAAA,IAAA,CAAA,CAAA,QACS,CAAA,CAAA,KAAA,CAAQ,CAAA,EACb,CAAA,CAAA;QAGC,IAAA,GAAO,MAAM,cACV,GAAA,OAAA,CAAA;SAEQ,KAAA,CAAA,aAAA,CAAA,QAAA,EAAA;AACA,IAAA,IAAA,EAAA,QAAA;WAUZ,EAAA,IAAA;aACI,EAAA;AACI,GAAA,EAAA,MAAA,CAAA,MAAA,GAAA,CAAA,IAAA,KAAA,CAAA,aAAS,CAAA,KAAC,EAAA;aAEd,EAAA;AACI,GAAA,EAAA,MAAA,CAAA,GAAA,CAAA,CAAA,CAAA,EAAA,CAAA;;qBAEK,CAAA,KAAK,EAAA;;;;AAEL,IAAA,SAAA,EAAA;;AAES,GAAA,CAAA,CAAA,CAAA,EAAA,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA;;AAA+C,GAAA,EAAA,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA;aAKjE,EAAA;wBACK,CAAA,QAAW,EAAA;;0BAAE,CAAA,KAAA,EAAA;AAKlC,IAAE,SAAA,EAAA;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { IPost } from 'common';
|
|
3
|
+
export interface IMessageWorkflowProps {
|
|
4
|
+
message: IPost;
|
|
5
|
+
index: number;
|
|
6
|
+
/** Fired when the card is clicked — the consumer opens the workflow in the side panel / editor. */
|
|
7
|
+
onMessageClick?: (ref: IPost) => void;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Workflow card — a compact summary of a cdecli-created workflow graph
|
|
11
|
+
* (node chips in flow order + step count). Reads the graph from
|
|
12
|
+
* message.propsConfiguration; clicking fires onMessageClick(message) so the
|
|
13
|
+
* consumer opens the full workflow in the side panel / editor. The graph
|
|
14
|
+
* persists on the message, so it lives with the chat.
|
|
15
|
+
*/
|
|
16
|
+
export declare const MessageWorkflow: (props: IMessageWorkflowProps) => React.JSX.Element;
|
|
17
|
+
//# sourceMappingURL=MessageWorkflow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MessageWorkflow.d.ts","sourceRoot":"","sources":["../../../src/components/MessageWidgets/MessageWorkflow.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAI/B,MAAM,WAAW,qBAAqB;IAClC,OAAO,EAAE,KAAK,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,mGAAmG;IACnG,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC;CACzC;AAgBD;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,GAAI,OAAO,qBAAqB,sBAyE3D,CAAC"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import React from'react';import {FiGitBranch}from'@react-icons/all-files/fi/FiGitBranch.js';import {FiArrowRight}from'@react-icons/all-files/fi/FiArrowRight.js';import {FiExternalLink}from'@react-icons/all-files/fi/FiExternalLink.js';import {FiChevronRight}from'@react-icons/all-files/fi/FiChevronRight.js';import {workflowEditorUrl}from'./workflowUtils.js';/** A node chip in the mini-graph. */
|
|
2
|
+
const NodeChip = ({
|
|
3
|
+
node
|
|
4
|
+
}) => React.createElement("span", {
|
|
5
|
+
className: "inline-flex items-center rounded-md border px-2 py-1 text-xs font-medium whitespace-nowrap",
|
|
6
|
+
style: {
|
|
7
|
+
borderColor: (node.color || '#3b4567') + '66',
|
|
8
|
+
color: node.color || undefined
|
|
9
|
+
},
|
|
10
|
+
title: node.type
|
|
11
|
+
}, node.label);
|
|
12
|
+
/**
|
|
13
|
+
* Workflow card — a compact summary of a cdecli-created workflow graph
|
|
14
|
+
* (node chips in flow order + step count). Reads the graph from
|
|
15
|
+
* message.propsConfiguration; clicking fires onMessageClick(message) so the
|
|
16
|
+
* consumer opens the full workflow in the side panel / editor. The graph
|
|
17
|
+
* persists on the message, so it lives with the chat.
|
|
18
|
+
*/
|
|
19
|
+
const MessageWorkflow = props => {
|
|
20
|
+
const {
|
|
21
|
+
message,
|
|
22
|
+
onMessageClick
|
|
23
|
+
} = props;
|
|
24
|
+
const {
|
|
25
|
+
attachment
|
|
26
|
+
} = message.propsConfiguration?.contents ?? message.props ?? {};
|
|
27
|
+
if (!attachment || !Array.isArray(attachment.nodes) || attachment.nodes.length === 0) {
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
const nodes = attachment.nodes;
|
|
31
|
+
const title = attachment.title || attachment.slug || 'Workflow';
|
|
32
|
+
const count = nodes.length;
|
|
33
|
+
const href = workflowEditorUrl(attachment);
|
|
34
|
+
const actionLabel = attachment.actionLabel || 'Open workflow';
|
|
35
|
+
// Show up to 5 nodes inline; collapse the rest into a "+N" chip.
|
|
36
|
+
const shown = nodes.slice(0, 5);
|
|
37
|
+
const extra = count - shown.length;
|
|
38
|
+
const open = () => onMessageClick?.(message);
|
|
39
|
+
return React.createElement("button", {
|
|
40
|
+
type: "button",
|
|
41
|
+
onClick: open,
|
|
42
|
+
className: "my-2 mx-2 w-[calc(100%-1rem)] text-left rounded-xl border border-gray-200 dark:border-gray-700 bg-white dark:bg-gray-800/60 hover:border-indigo-400 dark:hover:border-indigo-500 hover:shadow-sm transition-colors overflow-hidden"
|
|
43
|
+
}, React.createElement("div", {
|
|
44
|
+
className: "flex items-center gap-3 px-3 pt-3"
|
|
45
|
+
}, React.createElement("div", {
|
|
46
|
+
className: "flex-shrink-0 text-indigo-500"
|
|
47
|
+
}, React.createElement(FiGitBranch, {
|
|
48
|
+
className: "w-5 h-5"
|
|
49
|
+
})), React.createElement("div", {
|
|
50
|
+
className: "flex-1 min-w-0"
|
|
51
|
+
}, React.createElement("p", {
|
|
52
|
+
className: "text-sm font-semibold text-gray-900 dark:text-gray-100 truncate"
|
|
53
|
+
}, title), React.createElement("p", {
|
|
54
|
+
className: "mt-0.5 text-xs text-gray-500 dark:text-gray-400"
|
|
55
|
+
}, count, " ", count === 1 ? 'step' : 'steps', attachment.version ? ` · ${attachment.version}` : '')), React.createElement("span", {
|
|
56
|
+
className: "flex-shrink-0 inline-flex items-center gap-1 text-xs font-medium text-indigo-600 dark:text-indigo-400"
|
|
57
|
+
}, actionLabel, " ", React.createElement(FiChevronRight, {
|
|
58
|
+
className: "w-4 h-4"
|
|
59
|
+
}))), React.createElement("div", {
|
|
60
|
+
className: "flex items-center gap-1.5 overflow-x-auto px-3 py-3"
|
|
61
|
+
}, shown.map((node, i) => React.createElement(React.Fragment, {
|
|
62
|
+
key: node.nodeId || i
|
|
63
|
+
}, React.createElement(NodeChip, {
|
|
64
|
+
node: node
|
|
65
|
+
}), i < shown.length - 1 && React.createElement(FiArrowRight, {
|
|
66
|
+
className: "w-3.5 h-3.5 flex-shrink-0 text-gray-400"
|
|
67
|
+
}))), extra > 0 && React.createElement(React.Fragment, null, React.createElement(FiArrowRight, {
|
|
68
|
+
className: "w-3.5 h-3.5 flex-shrink-0 text-gray-400"
|
|
69
|
+
}), React.createElement("span", {
|
|
70
|
+
className: "text-xs text-gray-500 dark:text-gray-400 whitespace-nowrap"
|
|
71
|
+
}, "+", extra))), href && React.createElement("div", {
|
|
72
|
+
className: "border-t border-gray-100 dark:border-gray-700/60 px-3 py-2"
|
|
73
|
+
}, React.createElement("a", {
|
|
74
|
+
href: href,
|
|
75
|
+
target: "_blank",
|
|
76
|
+
rel: "noopener noreferrer",
|
|
77
|
+
onClick: e => e.stopPropagation(),
|
|
78
|
+
className: "inline-flex items-center gap-1 text-xs font-medium text-indigo-600 dark:text-indigo-400 hover:underline"
|
|
79
|
+
}, "Open in editor ", React.createElement(FiExternalLink, {
|
|
80
|
+
className: "w-3 h-3"
|
|
81
|
+
}))));
|
|
82
|
+
};export{MessageWorkflow};//# sourceMappingURL=MessageWorkflow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MessageWorkflow.js","sources":["../../../src/components/MessageWidgets/MessageWorkflow.tsx"],"sourcesContent":[null],"names":["editorUrl"],"mappings":"sWAgBA;AACA,MAAM,QAAQ,GAAG,CAAC;;AAKN,CAAA,KAAA,KAAA,CAAA,aAAiB,OAAI,EAAA;WAEzB,EAAK,4FAIX;AAEF,EAAA,KAAA,EAAA;;;;;;AAMG;AACH;AACI;AACA;;AAKI;;AAGE,MAAA,eAAkB,QAAO,IAAA;QAC/B;AACA,IAAA,OAAM;AACN,IAAA;AACA,GAAA,GAAA;QACA;IACA;AACA,GAAA,GAAA,0BAA4B,UAAO,IAAA,OAAA,CAAA,KAAA,IAAA,EAAA;MAEnC,CAAA,UAAa,IAAG,CAAE,wBAAkB,CAAO,KAAE,CAAA,IAAA,UAAA,CAAA,KAAA,CAAA,MAAA,KAAA,CAAA,EAAA;AAE7C,IAAA,OAAO,IACH;;aAMQ,GAAA,UAAA,CAAA,KAAA;AACI,EAAA,MAAA,KAAA,GAAA,UAAA,CAAA,KAAA,IAAC,WAAW,IAAC,IAAA,UAAU;aAE3B,GAAA,KAAA,CAAA,MAAA;AACI,EAAA,MAAA,IAAA,GAAAA,iBAAA,CAAA,UAAA,CAAA;mBACA,GAAA,UAAA,CAAA,WAAG,IAAA,eAAU;;;qBACA,GAAA,KAAK,CAAK,MAAI;AACtB,EAAA,MAAA,IAAA,GAAA,MAAA,cAAW,GAAO,OAAG,CAAA;cAG9B,CAAA,aAAA,CAAA,QAAA,EAAA;kBACK;;AAAa,IAAA,SAAA,EAAA;UAItB,CAAA,aAAA,CAAA,KAAA,EAAA;aACK,EAAA;AAEO,GAAA,EAAA,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AACC,IAAA,SAAA,EAAA;wBAGC,CAAI,WACV,EAAA;AACI,IAAA,SAAA,EAAA;0BACA,CAAA,KAAA,EAAA;;wBAA+E,CAAK,GAE3F,EACC;AAEL,IAAA,SAAI,EAAA;aAEG,KAAA,CAAA,aAAA,CAAA,GAAA,EAAA;;iBAOmB,KAAA,KAAA,CAAA,GAAA,MAAC,GAAA,OAAA,EAAA,UAAe,CAAA,OAAU,GAAA,CAAA,GAAS,EAAA,UAKpE,CAAA,OAAA,CAAA,CAAA,GAAA,EAAA,CAAA,CAAA,EAAA,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA;AACN,IAAE,SAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -8,4 +8,12 @@ export { MessageToolUse } from './MessageToolUse';
|
|
|
8
8
|
export type { IMessageToolUseProps } from './MessageToolUse';
|
|
9
9
|
export { MessageService } from './MessageService';
|
|
10
10
|
export type { IMessageServiceProps } from './MessageService';
|
|
11
|
+
export { MessageMedia } from './MessageMedia';
|
|
12
|
+
export type { IMessageMediaProps } from './MessageMedia';
|
|
13
|
+
export { MessageTravel } from './MessageTravel';
|
|
14
|
+
export type { IMessageTravelProps } from './MessageTravel';
|
|
15
|
+
export { MessageWorkflow } from './MessageWorkflow';
|
|
16
|
+
export type { IMessageWorkflowProps } from './MessageWorkflow';
|
|
17
|
+
export { MessageGeneric } from './MessageGeneric';
|
|
18
|
+
export type { IMessageGenericProps } from './MessageGeneric';
|
|
11
19
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -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"}
|
|
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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { WorkflowAttachmentsInterface } from '../../interfaces';
|
|
2
|
+
/**
|
|
3
|
+
* Resolve the workflow composer deep link from an explicit `url`, else from the
|
|
4
|
+
* slug/version. Returns a same-origin GLOBAL (org-less) in-app route
|
|
5
|
+
* (`/workflow/:slug/v/:version`) — the composer resolves the active org from
|
|
6
|
+
* context — so the consumer can navigate in-app (or open a new tab for absolute
|
|
7
|
+
* URLs).
|
|
8
|
+
*/
|
|
9
|
+
export declare const workflowEditorUrl: (a: WorkflowAttachmentsInterface) => string | undefined;
|
|
10
|
+
//# sourceMappingURL=workflowUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflowUtils.d.ts","sourceRoot":"","sources":["../../../src/components/MessageWidgets/workflowUtils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,kBAAkB,CAAC;AAErE;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,GAAI,GAAG,4BAA4B,KAAG,MAAM,GAAG,SAO5E,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resolve the workflow composer deep link from an explicit `url`, else from the
|
|
3
|
+
* slug/version. Returns a same-origin GLOBAL (org-less) in-app route
|
|
4
|
+
* (`/workflow/:slug/v/:version`) — the composer resolves the active org from
|
|
5
|
+
* context — so the consumer can navigate in-app (or open a new tab for absolute
|
|
6
|
+
* URLs).
|
|
7
|
+
*/
|
|
8
|
+
const workflowEditorUrl = a => {
|
|
9
|
+
if (a.url) return a.url;
|
|
10
|
+
if (a.slug) {
|
|
11
|
+
const ver = a.version ? `/v/${a.version}` : '';
|
|
12
|
+
return `/workflow/${a.slug}${ver}`;
|
|
13
|
+
}
|
|
14
|
+
return undefined;
|
|
15
|
+
};export{workflowEditorUrl};//# sourceMappingURL=workflowUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflowUtils.js","sources":["../../../src/components/MessageWidgets/workflowUtils.ts"],"sourcesContent":[null],"names":[],"mappings":"AAEA;;;;;;AAMG;AACI,MAAM,iBAAiB,GAAG,CAAC,IAAqD;MACnF,CAAA,CAAI,GAAE,EAAG,OAAA,CAAA,CAAA,GAAA;QAAE,IAAA,EAAA;AACX,IAAA,MAAM,GAAA,GAAM,CAAC,CAAA,OAAA,GAAA,CAAA,GAAA,EAAA,CAAA,CAAA,OAAA,CAAA,CAAA,GAAA,EAAA;AACT,IAAA,OAAA,CAAA,UAAc,EAAA,CAAA,CAAA,IAAQ,CAAC,EAAC,GAAA,CAAA,CAAM;AAC9B,EAAA;SACH,SAAA;AACD"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { MessageAiAssistant, MessageThinking, MessageCodeBlock, MessageToolUse, MessageService, } from './MessageWidgets';
|
|
1
|
+
export { MessageAiAssistant, MessageThinking, MessageCodeBlock, MessageToolUse, MessageService, MessageMedia, MessageTravel, MessageWorkflow, MessageGeneric, } from './MessageWidgets';
|
|
2
2
|
export { ChatSettingsPanel, ConnectedChatSettingsPanel } from './ChatSettingsPanel';
|
|
3
3
|
export type { ChatSettingsPanelProps, SettingsEntry, ConnectedChatSettingsPanelProps } from './ChatSettingsPanel';
|
|
4
4
|
//# 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,GACjB,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,GACjB,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"}
|
|
@@ -77,4 +77,181 @@ export interface ServiceAttachmentsInterface {
|
|
|
77
77
|
/** Timestamp */
|
|
78
78
|
timestamp?: string;
|
|
79
79
|
}
|
|
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
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Media attachment — rendered in chat as an inline image / video / audio
|
|
95
|
+
* player for the asset a generation connector (yantra-image-generation,
|
|
96
|
+
* yantra-video-generation, audio / TTS, …) returned. The result persists on
|
|
97
|
+
* the chat message's propsConfiguration so it survives reloads.
|
|
98
|
+
*/
|
|
99
|
+
export interface MediaAttachmentsInterface {
|
|
100
|
+
/** Primary media kind (used when `items` is omitted). */
|
|
101
|
+
kind: 'image' | 'video' | 'audio';
|
|
102
|
+
/** Public URL of the primary asset. */
|
|
103
|
+
url: string;
|
|
104
|
+
/** Heading shown above the media (e.g. "Image generated"). */
|
|
105
|
+
title?: string;
|
|
106
|
+
/** The prompt that produced the asset — shown as a caption. */
|
|
107
|
+
prompt?: string;
|
|
108
|
+
/** MIME type of the primary asset, when known. */
|
|
109
|
+
mimeType?: string;
|
|
110
|
+
/** Poster / thumbnail for a video. */
|
|
111
|
+
posterUrl?: string;
|
|
112
|
+
/** Suggested download filename. */
|
|
113
|
+
fileName?: string;
|
|
114
|
+
/** Connector that produced it (e.g. "yantra-image-generation"). */
|
|
115
|
+
connector?: string;
|
|
116
|
+
/** Action id that produced it (e.g. "YANTRA_GEMINI_IMAGE_GENERATE"). */
|
|
117
|
+
action?: string;
|
|
118
|
+
/** Model used, when one was explicitly requested. */
|
|
119
|
+
model?: string;
|
|
120
|
+
/** Extra assets when a run returns more than one (image grid / variants). */
|
|
121
|
+
items?: MediaItem[];
|
|
122
|
+
}
|
|
123
|
+
/** A single normalized stay (hotel / vacation rental) from the yantra-resortifi connector. */
|
|
124
|
+
export interface TravelPropertyItem {
|
|
125
|
+
id?: string;
|
|
126
|
+
title: string;
|
|
127
|
+
/** Listing image URL. */
|
|
128
|
+
imageUrl?: string;
|
|
129
|
+
/** Numeric per-unit price. */
|
|
130
|
+
price?: number;
|
|
131
|
+
/** Pre-formatted price label (e.g. "$759"). */
|
|
132
|
+
priceLabel?: string;
|
|
133
|
+
/** Unit the price applies to. */
|
|
134
|
+
priceUnit?: 'night' | 'day' | 'trip';
|
|
135
|
+
/** Review score. */
|
|
136
|
+
rating?: number;
|
|
137
|
+
reviewCount?: number;
|
|
138
|
+
city?: string;
|
|
139
|
+
/** Deep link to the listing on the provider. */
|
|
140
|
+
url?: string;
|
|
141
|
+
/** Which data source produced this (airbnb / booking / priceline / resortifi). */
|
|
142
|
+
source?: string;
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Travel listings attachment — rendered in chat as a compact button/card
|
|
146
|
+
* ({@link TravelPropertyItem} previews + count) that opens the full results in
|
|
147
|
+
* the side panel. Results are persisted on the chat message's propsConfiguration.
|
|
148
|
+
*/
|
|
149
|
+
export interface TravelAttachmentsInterface {
|
|
150
|
+
/** Heading shown on the card (e.g. "Stays in Atlanta"). */
|
|
151
|
+
title?: string;
|
|
152
|
+
/** Destination label. */
|
|
153
|
+
city?: string;
|
|
154
|
+
/** The properties returned by the connector. */
|
|
155
|
+
properties: TravelPropertyItem[];
|
|
156
|
+
/** Total matches (may exceed properties.length). */
|
|
157
|
+
totalCount?: number;
|
|
158
|
+
/** Lowest / highest nightly price, for the summary line. */
|
|
159
|
+
priceFrom?: number;
|
|
160
|
+
priceTo?: number;
|
|
161
|
+
/** Label for the open-in-side-panel action (default "View stays"). */
|
|
162
|
+
actionLabel?: string;
|
|
163
|
+
}
|
|
164
|
+
/** One labelled key-value row in the generic card. */
|
|
165
|
+
export interface GenericFieldItem {
|
|
166
|
+
label: string;
|
|
167
|
+
value: string;
|
|
168
|
+
}
|
|
169
|
+
/** One entry in the generic card's list/grid (e.g. a result row). */
|
|
170
|
+
export interface GenericListItem {
|
|
171
|
+
title: string;
|
|
172
|
+
subtitle?: string;
|
|
173
|
+
imageUrl?: string;
|
|
174
|
+
/** Deep link opened when this item is clicked. */
|
|
175
|
+
url?: string;
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Generic widget attachment — the shared, schema-driven payload ANY extension-contributed
|
|
179
|
+
* widget can emit to render a card **without** shipping a bespoke component. Rendered by
|
|
180
|
+
* {@link MessageGeneric}; a widget routes here when its registry descriptor's `card` is
|
|
181
|
+
* `generic` (i.e. no bespoke card of its name exists). This is what keeps yantra-app "light":
|
|
182
|
+
* new third-party widgets (resume-builder, media-builder, …) reuse this card and need no
|
|
183
|
+
* changes to admin-layout, messenger-box, or yantra-app core.
|
|
184
|
+
*/
|
|
185
|
+
export interface GenericAttachmentsInterface {
|
|
186
|
+
/** Card heading. */
|
|
187
|
+
title?: string;
|
|
188
|
+
/** Secondary line under the title. */
|
|
189
|
+
subtitle?: string;
|
|
190
|
+
/** Lead image / thumbnail (top of the card). */
|
|
191
|
+
imageUrl?: string;
|
|
192
|
+
/** Icon name (lucide/feather) shown when there is no image. */
|
|
193
|
+
icon?: string;
|
|
194
|
+
/** Free-form body text shown under the header. */
|
|
195
|
+
body?: string;
|
|
196
|
+
/** Key-value metadata rows. */
|
|
197
|
+
fields?: GenericFieldItem[];
|
|
198
|
+
/** A list/grid of items (e.g. results). */
|
|
199
|
+
items?: GenericListItem[];
|
|
200
|
+
/** Label for the click action (default "Open") — shown only when the card opens something. */
|
|
201
|
+
actionLabel?: string;
|
|
202
|
+
/** External link opened on click when no detail panel is registered. */
|
|
203
|
+
url?: string;
|
|
204
|
+
/** The component name this payload represents (carried for debugging / telemetry). */
|
|
205
|
+
component?: string;
|
|
206
|
+
}
|
|
207
|
+
/** A node in a cdecli workflow graph (see forms-stack cdecli workflow-commands). */
|
|
208
|
+
export interface WorkflowNodeItem {
|
|
209
|
+
nodeId: string;
|
|
210
|
+
/** Node type, e.g. "NodeStart", "NodeHttp", "NodeCode", "NodeEnd". */
|
|
211
|
+
type?: string;
|
|
212
|
+
/** Display label (e.g. "Compute Slack Signature"). */
|
|
213
|
+
label: string;
|
|
214
|
+
/** Accent color (hex). */
|
|
215
|
+
color?: string;
|
|
216
|
+
position?: {
|
|
217
|
+
x: number;
|
|
218
|
+
y: number;
|
|
219
|
+
};
|
|
220
|
+
size?: {
|
|
221
|
+
width: number;
|
|
222
|
+
height: number;
|
|
223
|
+
};
|
|
224
|
+
}
|
|
225
|
+
/** An edge connecting two workflow nodes. */
|
|
226
|
+
export interface WorkflowEdgeItem {
|
|
227
|
+
source: string;
|
|
228
|
+
target: string;
|
|
229
|
+
sourceOutput?: string;
|
|
230
|
+
targetInput?: string;
|
|
231
|
+
}
|
|
232
|
+
/**
|
|
233
|
+
* Workflow attachment — rendered in chat as a compact card (node-graph preview +
|
|
234
|
+
* step count) that opens the full workflow in the side panel / editor. Produced
|
|
235
|
+
* when a cdecli workflow is created/updated; the graph persists on the chat
|
|
236
|
+
* message's propsConfiguration so it survives reloads.
|
|
237
|
+
*/
|
|
238
|
+
export interface WorkflowAttachmentsInterface {
|
|
239
|
+
/** Workflow name / heading (e.g. "Slack Webhook Signature POST"). */
|
|
240
|
+
title?: string;
|
|
241
|
+
/** Workflow slug (e.g. "slack-webhook-signature-post"). */
|
|
242
|
+
slug?: string;
|
|
243
|
+
/** Current version (e.g. "v_287bee7e77"). */
|
|
244
|
+
version?: string;
|
|
245
|
+
/** Org name, for the editor deep link. */
|
|
246
|
+
orgName?: string;
|
|
247
|
+
description?: string;
|
|
248
|
+
/** The workflow nodes (graph order where possible). */
|
|
249
|
+
nodes: WorkflowNodeItem[];
|
|
250
|
+
/** The edges connecting the nodes. */
|
|
251
|
+
edges?: WorkflowEdgeItem[];
|
|
252
|
+
/** Full deep link to the workflow editor (overrides the org/slug/version link). */
|
|
253
|
+
url?: string;
|
|
254
|
+
/** Label for the open action (default "Open workflow"). */
|
|
255
|
+
actionLabel?: string;
|
|
256
|
+
}
|
|
80
257
|
//# sourceMappingURL=ai-chat.interface.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-chat.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/ai-chat.interface.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,+BAA+B;IAC5C,0EAA0E;IAC1E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,8CAA8C;IAC9C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,uBAAuB;IACvB,KAAK,CAAC,EAAE;QACJ,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,0CAA0C;IAC1C,OAAO,CAAC,EAAE,KAAK,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC,CAAC;CACN;AAGD,MAAM,WAAW,4BAA4B;IACzC,oDAAoD;IACpD,OAAO,EAAE,MAAM,CAAC;IAChB,iCAAiC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kEAAkE;IAClE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4CAA4C;IAC5C,UAAU,CAAC,EAAE,OAAO,CAAC;CACxB;AAGD,MAAM,WAAW,6BAA6B;IAC1C,uBAAuB;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,mDAAmD;IACnD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oCAAoC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gDAAgD;IAChD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mCAAmC;IACnC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,qDAAqD;IACrD,MAAM,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;CAC/C;AAGD,MAAM,WAAW,2BAA2B;IACxC,yBAAyB;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,uDAAuD;IACvD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uDAAuD;IACvD,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,yBAAyB;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mCAAmC;IACnC,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;IACpD,kCAAkC;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAGD,MAAM,WAAW,2BAA2B;IACxC,yBAAyB;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,4BAA4B;IAC5B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,gBAAgB;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qBAAqB;IACrB,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;IACnD,yBAAyB;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6BAA6B;IAC7B,MAAM,CAAC,EAAE;QACL,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,gBAAgB;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB"}
|
|
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, } from './ai-chat.interface';
|
|
1
|
+
export { AiAssistantAttachmentsInterface, ThinkingAttachmentsInterface, CodeBlockAttachmentsInterface, ToolUseAttachmentsInterface, ServiceAttachmentsInterface, MediaAttachmentsInterface, MediaItem, TravelAttachmentsInterface, TravelPropertyItem, WorkflowAttachmentsInterface, WorkflowNodeItem, WorkflowEdgeItem, GenericAttachmentsInterface, GenericFieldItem, GenericListItem, } 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,
|
|
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,GAClB,MAAM,qBAAqB,CAAC"}
|
package/lib/module.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAerD,eAAO,MAAM,OAAO,SA6ClB,CAAC"}
|
package/lib/module.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {Feature}from'@common-stack/client-react';import {PostTypeEnum}from'common';import {MessageAiAssistantFill}from'./slot-fill/message-ai-assistant-fill.js';import {MessageThinkingFill}from'./slot-fill/message-thinking-fill.js';import {MessageCodeBlockFill}from'./slot-fill/message-codeblock-fill.js';import {MessageToolUseFill}from'./slot-fill/message-tooluse-fill.js';import {MessageServiceFill}from'./slot-fill/message-service-fill.js';import {ChatSettingsFill}from'./slot-fill/chat-settings-fill.js';const feature = new Feature({
|
|
1
|
+
import {Feature}from'@common-stack/client-react';import {PostTypeEnum}from'common';import {MessageAiAssistantFill}from'./slot-fill/message-ai-assistant-fill.js';import {MessageThinkingFill}from'./slot-fill/message-thinking-fill.js';import {MessageCodeBlockFill}from'./slot-fill/message-codeblock-fill.js';import {MessageToolUseFill}from'./slot-fill/message-tooluse-fill.js';import {MessageServiceFill}from'./slot-fill/message-service-fill.js';import {MessageMediaFill}from'./slot-fill/message-media-fill.js';import {MessageTravelFill}from'./slot-fill/message-travel-fill.js';import {MessageWorkflowFill}from'./slot-fill/message-workflow-fill.js';import {MessageGenericFill}from'./slot-fill/message-generic-fill.js';import {ChatSettingsFill}from'./slot-fill/chat-settings-fill.js';const feature = new Feature({
|
|
2
2
|
componentFillPlugins: [{
|
|
3
3
|
name: PostTypeEnum.Aiassistant.toLowerCase(),
|
|
4
4
|
render: MessageAiAssistantFill
|
|
@@ -14,6 +14,20 @@ import {Feature}from'@common-stack/client-react';import {PostTypeEnum}from'commo
|
|
|
14
14
|
}, {
|
|
15
15
|
name: PostTypeEnum.Service.toLowerCase(),
|
|
16
16
|
render: MessageServiceFill
|
|
17
|
+
}, {
|
|
18
|
+
name: 'media',
|
|
19
|
+
render: MessageMediaFill
|
|
20
|
+
}, {
|
|
21
|
+
name: 'travel',
|
|
22
|
+
render: MessageTravelFill
|
|
23
|
+
}, {
|
|
24
|
+
name: 'workflow',
|
|
25
|
+
render: MessageWorkflowFill
|
|
26
|
+
}, {
|
|
27
|
+
// Shared catch-all card for any extension-contributed widget without a bespoke card.
|
|
28
|
+
// One registration serves every present and future "generic" widget (see message-generic-fill).
|
|
29
|
+
name: 'generic',
|
|
30
|
+
render: MessageGenericFill
|
|
17
31
|
}, {
|
|
18
32
|
name: 'chat-settings',
|
|
19
33
|
render: ChatSettingsFill
|
package/lib/module.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.js","sources":["../src/module.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"module.js","sources":["../src/module.ts"],"sourcesContent":[null],"names":[],"mappings":"4wBAeO,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC;AAC/B,EAAA,oBAAA,EAAoB,CAAA;AAChB,IAAA,IAAA,EAAA,YAAA,CAAA,WAAA,CAAA,WAAA,EAAA;AACI,IAAA,MAAA,EAAA;AACA,GAAA,EAAA;AACH,IAAA,IAAA,EAAA,UAAA;AACD,IAAA,MAAA,EAAA;AACI,GAAA,EAAA;AACA,IAAA,IAAA,EAAA,WAAQ;AACX,IAAA,MAAA,EAAA;AACD,GAAA,EAAA;AACI,IAAA,IAAA,EAAA,SAAM;AACN,IAAA,MAAA,EAAA;AACH,GAAA,EAAA;AACD,IAAA,IAAA,EAAA,YAAA,CAAA,OAAA,CAAA,WAAA,EAAA;AACI,IAAA,MAAA,EAAA;AACA,GAAA,EAAA;AACH,IAAA,IAAA,EAAA,OAAA;AACD,IAAA,MAAA,EAAA;AACI,GAAA,EAAA;AACA,IAAA,IAAA,EAAA,QAAM;AACT,IAAA,MAAA,EAAA;AACD,GAAA,EAAA;AACI,IAAA,IAAA,EAAA,UAAM;AACN,IAAA,MAAA,EAAA;AACH,GAAA,EAAA;AACD;AACI;AACA,IAAA,IAAA,EAAA;AACH,IAAA,MAAA,EAAA;AACD,GAAA,EAAA;AACI,IAAA,IAAA,EAAA,eAAM;AACN,IAAA,MAAA,EAAA;AACH,GAAA;AACD,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'@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/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/FiSearch.js';import'@react-icons/all-files/fi/FiX.js';import'@react-icons/all-files/fi/FiRefreshCw.js';import'@react-icons/all-files/fi/FiEdit2.js';import'@react-icons/all-files/fi/FiPlus.js';import'@react-icons/all-files/fi/FiTrash2.js';import {ConnectedChatSettingsPanel}from'../components/ChatSettingsPanel/ConnectedChatSettingsPanel.js';/**
|
|
2
2
|
* Fill name: "chat-settings"
|
|
3
3
|
* Provides a <Slot name="chat-settings"> fill that renders the
|
|
4
4
|
* full chat configuration panel wherever asked for in the host app.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-settings-fill.js","sources":["../../src/slot-fill/chat-settings-fill.tsx"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"chat-settings-fill.js","sources":["../../src/slot-fill/chat-settings-fill.tsx"],"sourcesContent":[null],"names":[],"mappings":"84CAIA;;;;;;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;;;;;;"}
|
package/lib/slot-fill/index.d.ts
CHANGED
|
@@ -3,5 +3,9 @@ export { MessageThinkingFill } from './message-thinking-fill';
|
|
|
3
3
|
export { MessageCodeBlockFill } from './message-codeblock-fill';
|
|
4
4
|
export { MessageToolUseFill } from './message-tooluse-fill';
|
|
5
5
|
export { MessageServiceFill } from './message-service-fill';
|
|
6
|
+
export { MessageMediaFill } from './message-media-fill';
|
|
7
|
+
export { MessageTravelFill } from './message-travel-fill';
|
|
8
|
+
export { MessageWorkflowFill } from './message-workflow-fill';
|
|
9
|
+
export { MessageGenericFill } from './message-generic-fill';
|
|
6
10
|
export { ChatSettingsFill } from './chat-settings-fill';
|
|
7
11
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/slot-fill/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/slot-fill/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC"}
|
|
@@ -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'@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/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/FiSearch.js';import'@react-icons/all-files/fi/FiX.js';import'@react-icons/all-files/fi/FiRefreshCw.js';import'@react-icons/all-files/fi/FiEdit2.js';import'@react-icons/all-files/fi/FiPlus.js';import'@react-icons/all-files/fi/FiTrash2.js';import'../components/ChatSettingsPanel/ConnectedChatSettingsPanel.js';const MessageAiAssistantFill = () => {
|
|
2
2
|
return React.createElement(Fill, {
|
|
3
3
|
name: PostTypeEnum.Aiassistant.toLowerCase()
|
|
4
4
|
}, props => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-ai-assistant-fill.js","sources":["../../src/slot-fill/message-ai-assistant-fill.tsx"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"message-ai-assistant-fill.js","sources":["../../src/slot-fill/message-ai-assistant-fill.tsx"],"sourcesContent":[null],"names":[],"mappings":"w7CAMO,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'@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/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/FiSearch.js';import'@react-icons/all-files/fi/FiX.js';import'@react-icons/all-files/fi/FiRefreshCw.js';import'@react-icons/all-files/fi/FiEdit2.js';import'@react-icons/all-files/fi/FiPlus.js';import'@react-icons/all-files/fi/FiTrash2.js';import'../components/ChatSettingsPanel/ConnectedChatSettingsPanel.js';/**
|
|
2
2
|
* Fill name: "codeblock"
|
|
3
3
|
* Note: PostTypeEnum doesn't have "CodeBlock" yet — we use a custom string.
|
|
4
4
|
* When added to the enum, switch to PostTypeEnum.Codeblock.toLowerCase().
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-codeblock-fill.js","sources":["../../src/slot-fill/message-codeblock-fill.tsx"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"message-codeblock-fill.js","sources":["../../src/slot-fill/message-codeblock-fill.tsx"],"sourcesContent":[null],"names":[],"mappings":"q2CAKA;;;;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;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message-generic-fill.d.ts","sourceRoot":"","sources":["../../src/slot-fill/message-generic-fill.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAe1B,eAAO,MAAM,kBAAkB,yBAW9B,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
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/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
|
+
* Fill name: "generic" — the shared catch-all card.
|
|
3
|
+
*
|
|
4
|
+
* `@common-stack/components-pro` matches a <Slot> to exactly one <Fill> by name (no runtime
|
|
5
|
+
* fallback), so any extension-contributed widget without a bespoke card routes its post `type`
|
|
6
|
+
* to `generic` (set on the yantra produce side) and renders here. One registration covers every
|
|
7
|
+
* present and future generic widget.
|
|
8
|
+
*/
|
|
9
|
+
const GENERIC_FILL_NAME = 'generic';
|
|
10
|
+
const MessageGenericFill = () => {
|
|
11
|
+
return React.createElement(Fill, {
|
|
12
|
+
name: GENERIC_FILL_NAME
|
|
13
|
+
}, props => {
|
|
14
|
+
if (props.active) {
|
|
15
|
+
return React.createElement(MessageGeneric, {
|
|
16
|
+
...props
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
return null;
|
|
20
|
+
});
|
|
21
|
+
};export{MessageGenericFill};//# sourceMappingURL=message-generic-fill.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message-generic-fill.js","sources":["../../src/slot-fill/message-generic-fill.tsx"],"sourcesContent":[null],"names":[],"mappings":"84CAKA;;;;;;;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;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message-media-fill.d.ts","sourceRoot":"","sources":["../../src/slot-fill/message-media-fill.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAY1B,eAAO,MAAM,gBAAgB,yBAW5B,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
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/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
|
+
* Fill name: "media"
|
|
3
|
+
* Note: PostTypeEnum has no "Media" yet — we use a custom string.
|
|
4
|
+
* When added to the enum, switch to PostTypeEnum.Media.toLowerCase().
|
|
5
|
+
*/
|
|
6
|
+
const MEDIA_FILL_NAME = 'media';
|
|
7
|
+
const MessageMediaFill = () => {
|
|
8
|
+
return React.createElement(Fill, {
|
|
9
|
+
name: MEDIA_FILL_NAME
|
|
10
|
+
}, props => {
|
|
11
|
+
if (props.active) {
|
|
12
|
+
return React.createElement(MessageMedia, {
|
|
13
|
+
...props
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
return null;
|
|
17
|
+
});
|
|
18
|
+
};export{MessageMediaFill};//# sourceMappingURL=message-media-fill.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message-media-fill.js","sources":["../../src/slot-fill/message-media-fill.tsx"],"sourcesContent":[null],"names":[],"mappings":"g4CAKA;;;;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'@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/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/FiSearch.js';import'@react-icons/all-files/fi/FiX.js';import'@react-icons/all-files/fi/FiRefreshCw.js';import'@react-icons/all-files/fi/FiEdit2.js';import'@react-icons/all-files/fi/FiPlus.js';import'@react-icons/all-files/fi/FiTrash2.js';import'../components/ChatSettingsPanel/ConnectedChatSettingsPanel.js';const MessageServiceFill = () => {
|
|
2
2
|
return React.createElement(Fill, {
|
|
3
3
|
name: PostTypeEnum.Service.toLowerCase()
|
|
4
4
|
}, props => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-service-fill.js","sources":["../../src/slot-fill/message-service-fill.tsx"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"message-service-fill.js","sources":["../../src/slot-fill/message-service-fill.tsx"],"sourcesContent":[null],"names":[],"mappings":"6yCAMO,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'@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/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/FiSearch.js';import'@react-icons/all-files/fi/FiX.js';import'@react-icons/all-files/fi/FiRefreshCw.js';import'@react-icons/all-files/fi/FiEdit2.js';import'@react-icons/all-files/fi/FiPlus.js';import'@react-icons/all-files/fi/FiTrash2.js';import'../components/ChatSettingsPanel/ConnectedChatSettingsPanel.js';/**
|
|
2
2
|
* Fill name: "thinking"
|
|
3
3
|
* Note: PostTypeEnum doesn't have "Thinking" yet — we use a custom string.
|
|
4
4
|
* When added to the enum, switch to PostTypeEnum.Thinking.toLowerCase().
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-thinking-fill.js","sources":["../../src/slot-fill/message-thinking-fill.tsx"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"message-thinking-fill.js","sources":["../../src/slot-fill/message-thinking-fill.tsx"],"sourcesContent":[null],"names":[],"mappings":"27CAKA;;;;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'@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/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/FiSearch.js';import'@react-icons/all-files/fi/FiX.js';import'@react-icons/all-files/fi/FiRefreshCw.js';import'@react-icons/all-files/fi/FiEdit2.js';import'@react-icons/all-files/fi/FiPlus.js';import'@react-icons/all-files/fi/FiTrash2.js';import'../components/ChatSettingsPanel/ConnectedChatSettingsPanel.js';/**
|
|
2
2
|
* Fill name: "tooluse"
|
|
3
3
|
* Note: PostTypeEnum doesn't have "ToolUse" yet — we use a custom string.
|
|
4
4
|
* When added to the enum, switch to PostTypeEnum.Tooluse.toLowerCase().
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-tooluse-fill.js","sources":["../../src/slot-fill/message-tooluse-fill.tsx"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"message-tooluse-fill.js","sources":["../../src/slot-fill/message-tooluse-fill.tsx"],"sourcesContent":[null],"names":[],"mappings":"+1CAKA;;;;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;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message-travel-fill.d.ts","sourceRoot":"","sources":["../../src/slot-fill/message-travel-fill.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAY1B,eAAO,MAAM,iBAAiB,yBAW7B,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
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/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
|
+
* Fill name: "travel"
|
|
3
|
+
* Note: PostTypeEnum doesn't have "Travel" yet — we use a custom string.
|
|
4
|
+
* When added to the enum, switch to PostTypeEnum.Travel.toLowerCase().
|
|
5
|
+
*/
|
|
6
|
+
const TRAVEL_FILL_NAME = 'travel';
|
|
7
|
+
const MessageTravelFill = () => {
|
|
8
|
+
return React.createElement(Fill, {
|
|
9
|
+
name: TRAVEL_FILL_NAME
|
|
10
|
+
}, props => {
|
|
11
|
+
if (props.active) {
|
|
12
|
+
return React.createElement(MessageTravel, {
|
|
13
|
+
...props
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
return null;
|
|
17
|
+
});
|
|
18
|
+
};export{MessageTravelFill};//# sourceMappingURL=message-travel-fill.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message-travel-fill.js","sources":["../../src/slot-fill/message-travel-fill.tsx"],"sourcesContent":[null],"names":[],"mappings":"61CAKA;;;;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;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message-workflow-fill.d.ts","sourceRoot":"","sources":["../../src/slot-fill/message-workflow-fill.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAa1B,eAAO,MAAM,mBAAmB,yBAW/B,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
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/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
|
+
* Fill name: "workflow"
|
|
3
|
+
* PostTypeEnum has no "Workflow" yet — we use a custom string. ModernMessageBubble
|
|
4
|
+
* maps a post of type "workflow" → <Slot name="workflow"> (see tailwind-ui-inbox
|
|
5
|
+
* getMessageSlotName + MessengerSlotFillNameEnum.WORKFLOW_NAME).
|
|
6
|
+
*/
|
|
7
|
+
const WORKFLOW_FILL_NAME = 'workflow';
|
|
8
|
+
const MessageWorkflowFill = () => {
|
|
9
|
+
return React.createElement(Fill, {
|
|
10
|
+
name: WORKFLOW_FILL_NAME
|
|
11
|
+
}, props => {
|
|
12
|
+
if (props.active) {
|
|
13
|
+
return React.createElement(MessageWorkflow, {
|
|
14
|
+
...props
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
return null;
|
|
18
|
+
});
|
|
19
|
+
};export{MessageWorkflowFill};//# sourceMappingURL=message-workflow-fill.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message-workflow-fill.js","sources":["../../src/slot-fill/message-workflow-fill.tsx"],"sourcesContent":[null],"names":[],"mappings":"w1CAKA;;;;;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.
|
|
3
|
+
"version": "12.2.4-alpha.77",
|
|
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",
|
|
@@ -29,14 +29,13 @@
|
|
|
29
29
|
"peerDependencies": {
|
|
30
30
|
"@common-stack/client-react": "*",
|
|
31
31
|
"@common-stack/components-pro": "*",
|
|
32
|
-
"@messenger-box/platform-browser": "*",
|
|
33
32
|
"lodash-es": "*",
|
|
34
33
|
"react": ">=16.14.0"
|
|
35
34
|
},
|
|
36
35
|
"publishConfig": {
|
|
37
36
|
"access": "public"
|
|
38
37
|
},
|
|
39
|
-
"gitHead": "
|
|
38
|
+
"gitHead": "e57817dab6f7e4ea222a95d5964be084ac02d00b",
|
|
40
39
|
"typescript": {
|
|
41
40
|
"definition": "lib/index.d.ts"
|
|
42
41
|
}
|