@epam/ai-dial-chat-overlay 1.1.0-dev.94 → 1.1.0-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.js +72 -77
- package/lib/ChatOverlay.d.ts.map +1 -1
- package/lib/ChatOverlayManager.d.ts.map +1 -1
- package/lib/internal/dom-styles.d.ts +6 -0
- package/lib/internal/dom-styles.d.ts.map +1 -1
- package/lib/internal/overlay-styles.d.ts +14 -0
- package/lib/internal/overlay-styles.d.ts.map +1 -0
- package/package.json +1 -1
- package/protocol/overlay-protocol.d.ts +126 -7
- package/protocol/overlay-protocol.d.ts.map +1 -1
package/index.js
CHANGED
|
@@ -4,27 +4,29 @@ var e = "@DIAL_OVERLAY", t = /* @__PURE__ */ function(e) {
|
|
|
4
4
|
}({}), n = /* @__PURE__ */ function(e) {
|
|
5
5
|
return e.InitReady = "@DIAL_OVERLAY/INIT_READY", e.Ready = "@DIAL_OVERLAY/READY", e.ReadyToInteract = "@DIAL_OVERLAY/READY_TO_INTERACT", e.SelectedConversationLoaded = "@DIAL_OVERLAY/SELECTED_CONVERSATION_LOADED", e.GptStartGenerating = "@DIAL_OVERLAY/GPT_START_GENERATING", e.GptEndGenerating = "@DIAL_OVERLAY/GPT_END_GENERATING", e.StopGenerating = "@DIAL_OVERLAY/STOP_GENERATING", e.ConversationsUpdated = "@DIAL_OVERLAY/CONVERSATIONS_UPDATED", e;
|
|
6
6
|
}({}), r = /* @__PURE__ */ function(e) {
|
|
7
|
-
return e.CodeApps = "code-apps", e.
|
|
8
|
-
}({}), i = /* @__PURE__ */ function(e) {
|
|
7
|
+
return e.CodeApps = "code-apps", e.SchemaApps = "schema-apps", e.HideCustomAppCreation = "hide-custom-app-creation", e.DisabledSend = "disabled-send", e.SkipFocusChatInputOnload = "skip-focus-chat-input-onload", e.ChatSettings = "chat-settings", e.RemovableTools = "removable-tools", e.DislikeComment = "dislike-comment", e.InputFiles = "input-files", e.Likes = "likes", e.LiveChatInteraction = "live-chat-interaction", e.DisallowChangeAgent = "disallow-change-agent", e.HideChangeAgent = "hide-change-agent", e.HideNewConversation = "hide-new-conversation", e.EmptyChatSettings = "empty-chat-settings", e.HideEmptyChatChangeAgent = "hide-empty-chat-change-agent", e.AttachmentsManager = "attachments-manager", e.ConversationsPanelToggle = "conversations-panel-toggle", e.ConversationsSection = "conversations-section", e.Header = "header", e.HideNavigationMenu = "hide-navigation-menu", e.ShowConversationsSectionByDefault = "showConversationsSectionByDefault", e.HideConversationsFilter = "hide-conversations-filter", e.Catalog = "catalog", e.CatalogHideMyApps = "catalog-hide-my-apps", e.CatalogTableView = "catalog-table-view", e.FileManager = "file-manager", e.HideDeleteUserMessage = "hide-delete-user-message", e.HideEditUserMessage = "hide-edit-user-message", e.HideRegenerateAssistantMessage = "hide-regenerate-assistant-message", e.ConversationsPublishing = "conversations-publishing", e.ApplicationsSharing = "applications-sharing", e.ConversationsSharing = "conversations-sharing", e.ToolsetsSharing = "toolsets-sharing", e.Toolsets = "toolsets", e.Prompts = "prompts", e.Skills = "skills", e.CustomApps = "custom-apps", e.HideUserMenu = "hide-user-menu", e.HideUserSettings = "hide-user-settings", e.HideKeyboardShortcuts = "hide-keyboard-shortcuts", e.VoiceInput = "voice-input", e.ShowAllStarters = "show-all-starters", e.HideFooterVersion = "hide-footer-version", e;
|
|
8
|
+
}({}), i = { "custom-applications": "schema-apps" }, a = new Set(Object.values(r)), o = (e) => a.has(e) ? e : i[e], s = /* @__PURE__ */ function(e) {
|
|
9
9
|
return e.External = "external", e.SameWindow = "sameWindow", e;
|
|
10
|
-
}({}),
|
|
10
|
+
}({}), c = /* @__PURE__ */ function(e) {
|
|
11
11
|
return e.ActiveConversationUnavailable = "ACTIVE_CONVERSATION_UNAVAILABLE", e.ConversationListUnavailable = "CONVERSATION_LIST_UNAVAILABLE", e.InvalidPayload = "INVALID_PAYLOAD", e.RequestExecutionFailed = "REQUEST_EXECUTION_FAILED", e;
|
|
12
|
-
}({}),
|
|
12
|
+
}({}), l = /* @__PURE__ */ function(e) {
|
|
13
|
+
return e.Completed = "completed", e.Failed = "failed", e;
|
|
14
|
+
}({}), u = (e) => {
|
|
13
15
|
if (typeof e != "object" || !e) return !1;
|
|
14
16
|
let n = e;
|
|
15
17
|
return typeof n.type == "string" && Object.values(t).includes(n.type) && typeof n.requestId == "string" && (!("expiresAt" in n) || typeof n.expiresAt == "number" && Number.isFinite(n.expiresAt));
|
|
16
|
-
},
|
|
18
|
+
}, d = (e) => {
|
|
17
19
|
if (typeof e != "object" || !e) return !1;
|
|
18
20
|
let n = e;
|
|
19
21
|
if (typeof n.type != "string" || typeof n.requestId != "string" || !Object.values(t).some((e) => n.type === `${e}/RESPONSE`)) return !1;
|
|
20
22
|
if (!("error" in n)) return !0;
|
|
21
23
|
let r = n.error;
|
|
22
|
-
return typeof r == "object" && !!r && typeof r.code == "string" && Object.values(
|
|
23
|
-
},
|
|
24
|
+
return typeof r == "object" && !!r && typeof r.code == "string" && Object.values(c).includes(r.code) && typeof r.message == "string";
|
|
25
|
+
}, f = (e) => {
|
|
24
26
|
if (typeof e != "object" || !e) return !1;
|
|
25
27
|
let t = e;
|
|
26
28
|
return typeof t.type == "string" && Object.values(n).includes(t.type) && !("requestId" in t);
|
|
27
|
-
},
|
|
29
|
+
}, p = "<svg viewBox=\"0 0 50 50\" width=\"32\" height=\"32\" role=\"presentation\" aria-hidden=\"true\"><circle cx=\"25\" cy=\"25\" r=\"20\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"4\" stroke-linecap=\"round\" stroke-dasharray=\"31.4 31.4\"><animateTransform attributeName=\"transform\" type=\"rotate\" from=\"0 25 25\" to=\"360 25 25\" dur=\"1s\" repeatCount=\"indefinite\" /></circle></svg>", m = 0, h = () => (m += 1, `dial-overlay-${Date.now()}-${m}`), g = class {
|
|
28
30
|
requestType;
|
|
29
31
|
requestId;
|
|
30
32
|
responseType;
|
|
@@ -34,7 +36,7 @@ var e = "@DIAL_OVERLAY", t = /* @__PURE__ */ function(e) {
|
|
|
34
36
|
settled = !1;
|
|
35
37
|
timeoutHandle;
|
|
36
38
|
constructor(e, t) {
|
|
37
|
-
this.requestType = e, this.requestId =
|
|
39
|
+
this.requestType = e, this.requestId = h(), this.responseType = `${e}/RESPONSE`, this.promise = new Promise((e, t) => {
|
|
38
40
|
this.resolveFn = e, this.rejectFn = t;
|
|
39
41
|
}), this.timeoutHandle = setTimeout(() => {
|
|
40
42
|
this.reject(/* @__PURE__ */ Error(`ChatOverlay: request "${e}" timed out after ${t}ms`));
|
|
@@ -49,9 +51,17 @@ var e = "@DIAL_OVERLAY", t = /* @__PURE__ */ function(e) {
|
|
|
49
51
|
reject(e) {
|
|
50
52
|
this.settled || (this.settled = !0, clearTimeout(this.timeoutHandle), this.rejectFn(e));
|
|
51
53
|
}
|
|
52
|
-
},
|
|
54
|
+
}, _ = (e, t) => {
|
|
53
55
|
Object.assign(e.style, t);
|
|
54
|
-
},
|
|
56
|
+
}, v = (e, t) => {
|
|
57
|
+
if (document.getElementById(e)) return;
|
|
58
|
+
let n = document.createElement("style");
|
|
59
|
+
n.id = e, n.textContent = t, document.head.appendChild(n);
|
|
60
|
+
}, y = "dial-overlay-styles", b = /* @__PURE__ */ function(e) {
|
|
61
|
+
return e.Root = "dial-overlay-root", e.Iframe = "dial-overlay-iframe", e.Loader = "dial-overlay-loader", e.LoaderHidden = "dial-overlay-loader--hidden", e;
|
|
62
|
+
}({}), x = "\n.dial-overlay-root {\n position: relative;\n}\n.dial-overlay-iframe {\n display: block;\n width: 100%;\n height: 100%;\n border: none;\n}\n.dial-overlay-loader {\n position: absolute;\n inset: 0;\n z-index: 2;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n background: var(--dial-overlay-loader-background, #ffffff);\n color: var(--dial-overlay-loader-color, #2764d9);\n}\n.dial-overlay-loader--hidden {\n display: none !important;\n}\n", S = () => {
|
|
63
|
+
v(y, x);
|
|
64
|
+
}, C = class {
|
|
55
65
|
promise;
|
|
56
66
|
resolveFn;
|
|
57
67
|
rejectFn;
|
|
@@ -67,47 +77,32 @@ var e = "@DIAL_OVERLAY", t = /* @__PURE__ */ function(e) {
|
|
|
67
77
|
reject(e) {
|
|
68
78
|
this.settled || (this.settled = !0, this.rejectFn(e));
|
|
69
79
|
}
|
|
70
|
-
},
|
|
80
|
+
}, w = 1e4, T = "data-dial-overlay-loader", E = class extends Error {
|
|
71
81
|
code;
|
|
72
82
|
requestType;
|
|
73
83
|
constructor(e, t) {
|
|
74
84
|
super(`ChatOverlay: request "${e}" failed [${t.code}]: ${t.message}`), this.name = "ChatOverlayRequestError", this.code = t.code, this.requestType = e;
|
|
75
85
|
}
|
|
76
|
-
},
|
|
86
|
+
}, D = (e) => {
|
|
77
87
|
if (typeof e != "string") return e;
|
|
78
88
|
let t = document.querySelector(e);
|
|
79
89
|
if (!t) throw Error(`ChatOverlay: no element matches selector "${e}"`);
|
|
80
90
|
return t;
|
|
81
|
-
},
|
|
91
|
+
}, O = (e) => {
|
|
82
92
|
let t = document.createElement("iframe");
|
|
83
93
|
t.src = e.domain, t.name = "overlay", t.setAttribute("aria-label", "DIAL Chat"), t.setAttribute("sandbox", "allow-same-origin allow-scripts allow-modals allow-forms allow-popups allow-downloads allow-popups-to-escape-sandbox");
|
|
84
94
|
let n = ["clipboard-write"];
|
|
85
|
-
return e.enabledFeatures?.includes(r.VoiceInput) && n.push("microphone"), t.setAttribute("allow", n.join("; ")),
|
|
86
|
-
|
|
87
|
-
display: "block",
|
|
88
|
-
width: "100%",
|
|
89
|
-
height: "100%"
|
|
90
|
-
}), t;
|
|
91
|
-
}, b = (e) => {
|
|
95
|
+
return e.enabledFeatures?.includes(r.VoiceInput) && n.push("microphone"), t.setAttribute("allow", n.join("; ")), t.className = b.Iframe, t;
|
|
96
|
+
}, k = (e) => {
|
|
92
97
|
let t = document.createElement("div");
|
|
93
|
-
return t.setAttribute(
|
|
94
|
-
|
|
95
|
-
inset: "0",
|
|
96
|
-
zIndex: "2",
|
|
97
|
-
display: "flex",
|
|
98
|
-
alignItems: "center",
|
|
99
|
-
justifyContent: "center",
|
|
100
|
-
boxSizing: "border-box",
|
|
101
|
-
background: "#ffffff",
|
|
102
|
-
color: "#2764d9"
|
|
103
|
-
}), e.loaderClass && (t.className = e.loaderClass), e.loaderStyles && p(t, e.loaderStyles), t;
|
|
104
|
-
}, x = class {
|
|
98
|
+
return t.setAttribute(T, ""), t.innerHTML = e.loaderInnerHTML ?? p, t.className = [b.Loader, e.loaderClass].filter(Boolean).join(" "), e.loaderStyles && _(t, e.loaderStyles), t;
|
|
99
|
+
}, A = class {
|
|
105
100
|
root;
|
|
106
101
|
iframe;
|
|
107
102
|
loader;
|
|
108
103
|
options;
|
|
109
104
|
targetOrigin;
|
|
110
|
-
readyGate = new
|
|
105
|
+
readyGate = new C();
|
|
111
106
|
pendingRequests = /* @__PURE__ */ new Map();
|
|
112
107
|
eventSubscribers = /* @__PURE__ */ new Map();
|
|
113
108
|
messageListener = (e) => {
|
|
@@ -115,9 +110,9 @@ var e = "@DIAL_OVERLAY", t = /* @__PURE__ */ function(e) {
|
|
|
115
110
|
};
|
|
116
111
|
isDestroyed = !1;
|
|
117
112
|
constructor(e, t) {
|
|
118
|
-
this.root =
|
|
113
|
+
this.root = D(e), this.options = { ...t }, this.targetOrigin = new URL(t.domain).origin, S(), this.iframe = O(this.options), this.loader = k(this.options);
|
|
119
114
|
let n = window.getComputedStyle(this.root).position;
|
|
120
|
-
(n === "static" || n === "") &&
|
|
115
|
+
(n === "static" || n === "") && this.root.classList.add(b.Root), this.root.appendChild(this.loader), this.root.appendChild(this.iframe), window.addEventListener("message", this.messageListener), this.readyGate.promise.catch(() => void 0);
|
|
121
116
|
}
|
|
122
117
|
ready() {
|
|
123
118
|
return this.readyGate.promise;
|
|
@@ -195,14 +190,16 @@ var e = "@DIAL_OVERLAY", t = /* @__PURE__ */ function(e) {
|
|
|
195
190
|
let e = { hostDomain: window.location.origin };
|
|
196
191
|
this.options.theme !== void 0 && (e.theme = this.options.theme), this.options.modelId !== void 0 && (e.modelId = this.options.modelId), this.options.overlayConversationId !== void 0 && (e.overlayConversationId = this.options.overlayConversationId), this.options.enabledFeatures !== void 0 && (e.enabledFeatures = this.options.enabledFeatures);
|
|
197
192
|
let n = this.options.auth?.providerUiModes;
|
|
198
|
-
|
|
193
|
+
n !== void 0 && Object.keys(n).length > 0 && (e.authProviderUiModes = n);
|
|
194
|
+
let r = this.options.auth?.autoSignInProvider?.trim();
|
|
195
|
+
return r && (e.authAutoSignInProvider = r), this.send(t.SetOverlayOptions, e, { bypassReadyGate: !0 });
|
|
199
196
|
}
|
|
200
197
|
send(e, t, n) {
|
|
201
198
|
return this.isDestroyed ? Promise.reject(/* @__PURE__ */ Error("ChatOverlay: instance was destroyed")) : n?.bypassReadyGate ? this.dispatchRequest(e, t) : this.readyGate.promise.then(() => this.dispatchRequest(e, t));
|
|
202
199
|
}
|
|
203
200
|
dispatchRequest(e, t) {
|
|
204
201
|
if (this.isDestroyed) return Promise.reject(/* @__PURE__ */ Error("ChatOverlay: instance was destroyed"));
|
|
205
|
-
let n = this.options.requestTimeout ??
|
|
202
|
+
let n = this.options.requestTimeout ?? w, r = new g(e, n);
|
|
206
203
|
this.pendingRequests.set(r.requestId, r), r.promise.finally(() => {
|
|
207
204
|
this.pendingRequests.delete(r.requestId);
|
|
208
205
|
}).catch(() => void 0);
|
|
@@ -217,17 +214,17 @@ var e = "@DIAL_OVERLAY", t = /* @__PURE__ */ function(e) {
|
|
|
217
214
|
handleMessage(e) {
|
|
218
215
|
if (e.source !== this.iframe.contentWindow) return;
|
|
219
216
|
let t = e.data;
|
|
220
|
-
if (
|
|
217
|
+
if (d(t)) {
|
|
221
218
|
this.handleResponse(t);
|
|
222
219
|
return;
|
|
223
220
|
}
|
|
224
|
-
|
|
221
|
+
f(t) && this.handleEvent(t);
|
|
225
222
|
}
|
|
226
223
|
handleResponse(e) {
|
|
227
224
|
let t = this.pendingRequests.get(e.requestId);
|
|
228
225
|
if (!(!t || !t.matches(e.type, e.requestId))) {
|
|
229
226
|
if (this.pendingRequests.delete(e.requestId), e.error) {
|
|
230
|
-
t.reject(new
|
|
227
|
+
t.reject(new E(t.requestType, e.error));
|
|
231
228
|
return;
|
|
232
229
|
}
|
|
233
230
|
t.resolve(e.payload);
|
|
@@ -238,46 +235,44 @@ var e = "@DIAL_OVERLAY", t = /* @__PURE__ */ function(e) {
|
|
|
238
235
|
t === n.Ready && this.sendCurrentOverlayOptions().catch(() => void 0), t === (this.options.loaderHideEvent ?? n.Ready) && this.hideLoader(), t === n.ReadyToInteract && this.readyGate.resolve(!0), this.notifySubscribers(t, e.payload);
|
|
239
236
|
}
|
|
240
237
|
hideLoader() {
|
|
241
|
-
this.loader.style.display
|
|
238
|
+
this.loader.classList.add(b.LoaderHidden), this.loader.style.removeProperty("display");
|
|
242
239
|
}
|
|
243
240
|
notifySubscribers(e, t) {
|
|
244
241
|
this.eventSubscribers.get(e)?.forEach((e) => e(t));
|
|
245
242
|
}
|
|
246
|
-
},
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
e.id = A, e.textContent = "\n.dial-overlay-btn {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 48px;\n height: 48px;\n border: none;\n border-radius: 999px;\n cursor: pointer;\n background: #2764d9;\n color: #ffffff;\n}\n.dial-overlay-btn:hover,\n.dial-overlay-btn:focus-visible {\n background: #1d4fb8;\n outline: 2px solid #1d4fb8;\n outline-offset: 2px;\n}\n", document.head.appendChild(e);
|
|
250
|
-
}, M = (e, t) => {
|
|
243
|
+
}, j = 1279, M = 380, N = 600, P = 999999, F = "24px", I = "<svg viewBox=\"0 0 24 24\" width=\"24\" height=\"24\" aria-hidden=\"true\" focusable=\"false\"><path fill=\"currentColor\" d=\"M4 4h16v12H7l-3 3V4z\"/></svg>", L = "<svg viewBox=\"0 0 24 24\" width=\"20\" height=\"20\" aria-hidden=\"true\" focusable=\"false\"><path fill=\"currentColor\" d=\"M18.3 5.71 12 12.01l-6.3-6.3-1.4 1.41 6.29 6.29-6.29 6.29 1.4 1.41 6.3-6.3 6.3 6.3 1.4-1.41-6.29-6.29 6.29-6.29z\"/></svg>", R = "<svg viewBox=\"0 0 24 24\" width=\"20\" height=\"20\" aria-hidden=\"true\" focusable=\"false\"><path fill=\"currentColor\" d=\"M4 4h6v2H6v4H4V4zm10 0h6v6h-2V6h-4V4zM4 14h2v4h4v2H4v-6zm14 0h2v6h-6v-2h4v-4z\"/></svg>", z = "dial-overlay-manager-styles", B = "\n.dial-overlay-btn {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 48px;\n height: 48px;\n border: none;\n border-radius: 999px;\n cursor: pointer;\n background: var(--dial-overlay-btn-background, #2764d9);\n color: var(--dial-overlay-btn-color, #ffffff);\n}\n.dial-overlay-btn:hover,\n.dial-overlay-btn:focus-visible {\n background: var(--dial-overlay-btn-background-hover, #1d4fb8);\n outline: 2px solid var(--dial-overlay-btn-outline, #1d4fb8);\n outline-offset: 2px;\n}\n", V = () => {
|
|
244
|
+
v(z, B);
|
|
245
|
+
}, H = (e, t) => {
|
|
251
246
|
let n = document.createElement("button");
|
|
252
247
|
return n.type = "button", n.className = "dial-overlay-btn", n.setAttribute("aria-label", e), n.innerHTML = t, n;
|
|
253
|
-
},
|
|
248
|
+
}, U = (e) => typeof e == "number" ? `${e}px` : e, W = /* @__PURE__ */ function(e) {
|
|
254
249
|
return e.LeftBottom = "left-bottom", e.LeftTop = "left-top", e.RightBottom = "right-bottom", e.RightTop = "right-top", e;
|
|
255
|
-
}({}),
|
|
250
|
+
}({}), G = {
|
|
256
251
|
"right-bottom": {
|
|
257
|
-
insetInlineEnd:
|
|
258
|
-
insetBlockEnd:
|
|
252
|
+
insetInlineEnd: F,
|
|
253
|
+
insetBlockEnd: F,
|
|
259
254
|
insetInlineStart: "auto",
|
|
260
255
|
insetBlockStart: "auto"
|
|
261
256
|
},
|
|
262
257
|
"right-top": {
|
|
263
|
-
insetInlineEnd:
|
|
264
|
-
insetBlockStart:
|
|
258
|
+
insetInlineEnd: F,
|
|
259
|
+
insetBlockStart: F,
|
|
265
260
|
insetInlineStart: "auto",
|
|
266
261
|
insetBlockEnd: "auto"
|
|
267
262
|
},
|
|
268
263
|
"left-bottom": {
|
|
269
|
-
insetInlineStart:
|
|
270
|
-
insetBlockEnd:
|
|
264
|
+
insetInlineStart: F,
|
|
265
|
+
insetBlockEnd: F,
|
|
271
266
|
insetInlineEnd: "auto",
|
|
272
267
|
insetBlockStart: "auto"
|
|
273
268
|
},
|
|
274
269
|
"left-top": {
|
|
275
|
-
insetInlineStart:
|
|
276
|
-
insetBlockStart:
|
|
270
|
+
insetInlineStart: F,
|
|
271
|
+
insetBlockStart: F,
|
|
277
272
|
insetInlineEnd: "auto",
|
|
278
273
|
insetBlockEnd: "auto"
|
|
279
274
|
}
|
|
280
|
-
},
|
|
275
|
+
}, K = class {
|
|
281
276
|
overlays = /* @__PURE__ */ new Map();
|
|
282
277
|
abortController = new AbortController();
|
|
283
278
|
isDestroyed = !1;
|
|
@@ -289,9 +284,9 @@ var e = "@DIAL_OVERLAY", t = /* @__PURE__ */ function(e) {
|
|
|
289
284
|
}
|
|
290
285
|
createOverlay(e) {
|
|
291
286
|
if (this.overlays.has(e.overlayId)) throw Error(`ChatOverlayManager: overlay "${e.overlayId}" already exists`);
|
|
292
|
-
|
|
287
|
+
V();
|
|
293
288
|
let t = document.createElement("div");
|
|
294
|
-
t.setAttribute("data-dial-overlay-container", e.overlayId),
|
|
289
|
+
t.setAttribute("data-dial-overlay-container", e.overlayId), _(t, {
|
|
295
290
|
display: "flex",
|
|
296
291
|
flexDirection: "column",
|
|
297
292
|
overflow: "hidden",
|
|
@@ -300,24 +295,24 @@ var e = "@DIAL_OVERLAY", t = /* @__PURE__ */ function(e) {
|
|
|
300
295
|
background: "#ffffff"
|
|
301
296
|
});
|
|
302
297
|
let n = document.createElement("div");
|
|
303
|
-
|
|
298
|
+
_(n, {
|
|
304
299
|
display: "flex",
|
|
305
300
|
justifyContent: "flex-end",
|
|
306
301
|
gap: "8px",
|
|
307
302
|
padding: "8px"
|
|
308
303
|
});
|
|
309
|
-
let r =
|
|
304
|
+
let r = H(e.closeButtonAriaLabel ?? "Collapse", L);
|
|
310
305
|
n.appendChild(r);
|
|
311
306
|
let i;
|
|
312
|
-
e.allowFullscreen && (i =
|
|
307
|
+
e.allowFullscreen && (i = H(e.fullscreenButtonAriaLabel ?? "Open full screen", R), n.appendChild(i));
|
|
313
308
|
let a = document.createElement("div");
|
|
314
|
-
|
|
309
|
+
_(a, {
|
|
315
310
|
flex: "1",
|
|
316
311
|
minHeight: "0"
|
|
317
312
|
}), t.appendChild(n), t.appendChild(a), document.body.appendChild(t);
|
|
318
|
-
let o = new
|
|
313
|
+
let o = new A(a, e);
|
|
319
314
|
e.allowFullscreen && o.allowFullscreen();
|
|
320
|
-
let s =
|
|
315
|
+
let s = H(e.toggleButtonAriaLabel ?? "Open chat", I);
|
|
321
316
|
document.body.appendChild(s);
|
|
322
317
|
let c = {
|
|
323
318
|
overlay: o,
|
|
@@ -402,16 +397,16 @@ var e = "@DIAL_OVERLAY", t = /* @__PURE__ */ function(e) {
|
|
|
402
397
|
return t;
|
|
403
398
|
}
|
|
404
399
|
applyLayout(e) {
|
|
405
|
-
let { options: t, container: n, toggleButton: r } = e, i = t.position ?? "right-bottom", a = String(t.zIndex ??
|
|
406
|
-
if (
|
|
400
|
+
let { options: t, container: n, toggleButton: r } = e, i = t.position ?? "right-bottom", a = String(t.zIndex ?? P);
|
|
401
|
+
if (_(r, {
|
|
407
402
|
position: "fixed",
|
|
408
403
|
zIndex: a,
|
|
409
|
-
...
|
|
410
|
-
}),
|
|
404
|
+
...G[i]
|
|
405
|
+
}), _(n, {
|
|
411
406
|
position: "fixed",
|
|
412
407
|
zIndex: a
|
|
413
|
-
}), window.innerWidth <=
|
|
414
|
-
|
|
408
|
+
}), window.innerWidth <= j) {
|
|
409
|
+
_(n, {
|
|
415
410
|
insetInlineStart: "0",
|
|
416
411
|
insetInlineEnd: "0",
|
|
417
412
|
insetBlockStart: "0",
|
|
@@ -422,12 +417,12 @@ var e = "@DIAL_OVERLAY", t = /* @__PURE__ */ function(e) {
|
|
|
422
417
|
});
|
|
423
418
|
return;
|
|
424
419
|
}
|
|
425
|
-
|
|
426
|
-
width:
|
|
427
|
-
height:
|
|
428
|
-
...
|
|
420
|
+
_(n, {
|
|
421
|
+
width: U(t.width ?? M),
|
|
422
|
+
height: U(t.height ?? N),
|
|
423
|
+
...G[i]
|
|
429
424
|
});
|
|
430
425
|
}
|
|
431
426
|
};
|
|
432
427
|
//#endregion
|
|
433
|
-
export {
|
|
428
|
+
export { A as ChatOverlay, K as ChatOverlayManager, E as ChatOverlayRequestError, i as DEPRECATED_OVERLAY_FEATURE_ALIASES, e as DIAL_OVERLAY_NAMESPACE, s as OverlayAuthUiMode, n as OverlayEventType, r as OverlayFeature, W as OverlayPosition, c as OverlayRequestErrorCode, t as OverlayRequestType, l as OverlayStageStatus, f as isOverlayMessageEvent, u as isOverlayMessageRequest, d as isOverlayMessageResponse, o as resolveOverlayFeature };
|
package/lib/ChatOverlay.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatOverlay.d.ts","sourceRoot":"","sources":["../../src/lib/ChatOverlay.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,kBAAkB,EAEvB,KAAK,0BAA0B,EAC/B,KAAK,+BAA+B,EAEpC,KAAK,0BAA0B,EAC/B,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,EACxB,KAAK,gCAAgC,EAIrC,KAAK,mBAAmB,EACxB,gBAAgB,EAIhB,KAAK,0BAA0B,EAE/B,KAAK,0BAA0B,EAE/B,KAAK,mBAAmB,EAGxB,KAAK,yBAAyB,EAE9B,KAAK,uBAAuB,EAE5B,KAAK,sBAAsB,EAG5B,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"ChatOverlay.d.ts","sourceRoot":"","sources":["../../src/lib/ChatOverlay.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatOverlayManager.d.ts","sourceRoot":"","sources":["../../src/lib/ChatOverlayManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,0BAA0B,EAC1B,+BAA+B,EAC/B,0BAA0B,EAC1B,wBAAwB,EACxB,mBAAmB,EACnB,gCAAgC,EAChC,gBAAgB,EAChB,0BAA0B,EAC1B,0BAA0B,EAC1B,mBAAmB,EACnB,yBAAyB,EACzB,uBAAuB,EACvB,sBAAsB,EACvB,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"ChatOverlayManager.d.ts","sourceRoot":"","sources":["../../src/lib/ChatOverlayManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,9 @@
|
|
|
1
1
|
/** Applies each entry of `styles` as an inline style property on `element`. */
|
|
2
2
|
export declare const setStyles: (element: HTMLElement, styles: Record<string, string>) => void;
|
|
3
|
+
/**
|
|
4
|
+
* Appends a `<style id="{id}">` element carrying `css` to `document.head`,
|
|
5
|
+
* once per document. Repeat calls with the same `id` are a no-op, so every
|
|
6
|
+
* overlay instance can call it during construction.
|
|
7
|
+
*/
|
|
8
|
+
export declare const injectStyleSheet: (id: string, css: string) => void;
|
|
3
9
|
//# sourceMappingURL=dom-styles.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dom-styles.d.ts","sourceRoot":"","sources":["../../../src/lib/internal/dom-styles.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,eAAO,MAAM,SAAS,GACpB,SAAS,WAAW,EACpB,QAAQ,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAC7B,IAEF,CAAC"}
|
|
1
|
+
{"version":3,"file":"dom-styles.d.ts","sourceRoot":"","sources":["../../../src/lib/internal/dom-styles.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,eAAO,MAAM,SAAS,GACpB,SAAS,WAAW,EACpB,QAAQ,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAC7B,IAEF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAAI,IAAI,MAAM,EAAE,KAAK,MAAM,KAAG,IAQ1D,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/** Class names applied by `ChatOverlay` to the host root, iframe, and loader. */
|
|
2
|
+
export declare enum OverlayClassName {
|
|
3
|
+
/** Positioning context on the host-provided root element. */
|
|
4
|
+
Root = "dial-overlay-root",
|
|
5
|
+
/** The embedded chat iframe. */
|
|
6
|
+
Iframe = "dial-overlay-iframe",
|
|
7
|
+
/** The loader shown until the configured hide event arrives. */
|
|
8
|
+
Loader = "dial-overlay-loader",
|
|
9
|
+
/** Hidden state of the loader. */
|
|
10
|
+
LoaderHidden = "dial-overlay-loader--hidden"
|
|
11
|
+
}
|
|
12
|
+
/** Injects the `ChatOverlay` stylesheet into `document.head`, once per document. */
|
|
13
|
+
export declare const ensureOverlayStylesInjected: () => void;
|
|
14
|
+
//# sourceMappingURL=overlay-styles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"overlay-styles.d.ts","sourceRoot":"","sources":["../../../src/lib/internal/overlay-styles.ts"],"names":[],"mappings":"AAIA,iFAAiF;AACjF,oBAAY,gBAAgB;IAC1B,6DAA6D;IAC7D,IAAI,sBAAsB;IAC1B,gCAAgC;IAChC,MAAM,wBAAwB;IAC9B,gEAAgE;IAChE,MAAM,wBAAwB;IAC9B,kCAAkC;IAClC,YAAY,gCAAgC;CAC7C;AAkDD,oFAAoF;AACpF,eAAO,MAAM,2BAA2B,QAAO,IAE9C,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@epam/ai-dial-chat-overlay",
|
|
3
3
|
"description": "Embeddable postMessage-based ChatOverlay/ChatOverlayManager widget for hosting a DIAL Chat instance inside a third-party page",
|
|
4
|
-
"version": "1.1.0-
|
|
4
|
+
"version": "1.1.0-rc.0",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"main": "./index.js",
|
|
@@ -52,14 +52,35 @@ export declare enum OverlayEventType {
|
|
|
52
52
|
export declare enum OverlayFeature {
|
|
53
53
|
/** Enables the "Add app" menu's Code Apps entry. */
|
|
54
54
|
CodeApps = "code-apps",
|
|
55
|
-
/**
|
|
56
|
-
|
|
57
|
-
|
|
55
|
+
/**
|
|
56
|
+
* Enables the catalog's Quick App creation entry, i.e. applications built
|
|
57
|
+
* on an `applicationTypeSchemaId`. Schema-less applications are gated by
|
|
58
|
+
* `CustomApps` instead.
|
|
59
|
+
*/
|
|
60
|
+
SchemaApps = "schema-apps",
|
|
61
|
+
/**
|
|
62
|
+
* Hides both of the catalog's app-creation entries, "Create Quick App" and
|
|
63
|
+
* "Create Custom app", regardless of `SchemaApps` / `CustomApps`.
|
|
64
|
+
*/
|
|
58
65
|
HideCustomAppCreation = "hide-custom-app-creation",
|
|
59
66
|
/** Disables the send action on the chat input without removing the button. */
|
|
60
67
|
DisabledSend = "disabled-send",
|
|
61
68
|
/** Suppresses the chat input's auto-focus effect on load. */
|
|
62
69
|
SkipFocusChatInputOnload = "skip-focus-chat-input-onload",
|
|
70
|
+
/**
|
|
71
|
+
* Enables the "Chat settings" entry (temperature, system prompt, response
|
|
72
|
+
* format) in the conversation input's "+" menu, on every screen that renders
|
|
73
|
+
* that input. Disabling it removes the entry everywhere, regardless of
|
|
74
|
+
* `EmptyChatSettings`.
|
|
75
|
+
*/
|
|
76
|
+
ChatSettings = "chat-settings",
|
|
77
|
+
/**
|
|
78
|
+
* Enables removing a deployment tool from the conversation input: each tool
|
|
79
|
+
* chip gets a × that drops it from the row, and the "+" menu gets a "Tools"
|
|
80
|
+
* entry that brings a dropped chip back. Disabling it makes every chip a
|
|
81
|
+
* persistent on/off toggle that the user cannot add or remove.
|
|
82
|
+
*/
|
|
83
|
+
RemovableTools = "removable-tools",
|
|
63
84
|
/** Enables the comment field in the negative-feedback (dislike) modal. */
|
|
64
85
|
DislikeComment = "dislike-comment",
|
|
65
86
|
/** Enables attaching files to a message via the conversation input. */
|
|
@@ -70,9 +91,15 @@ export declare enum OverlayFeature {
|
|
|
70
91
|
LiveChatInteraction = "live-chat-interaction",
|
|
71
92
|
/** Restricts (disables) changing the selected agent/model on the conversation top bar. */
|
|
72
93
|
DisallowChangeAgent = "disallow-change-agent",
|
|
94
|
+
/** Hides the agent/model selector on the in-chat conversation input. */
|
|
95
|
+
HideChangeAgent = "hide-change-agent",
|
|
73
96
|
/** Hides the new-conversation controls in the header/layout. */
|
|
74
97
|
HideNewConversation = "hide-new-conversation",
|
|
75
|
-
/**
|
|
98
|
+
/**
|
|
99
|
+
* Enables the empty-chat (new conversation composer) settings UI. Narrows
|
|
100
|
+
* `ChatSettings` to that screen only â both must be enabled for the entry to
|
|
101
|
+
* appear there.
|
|
102
|
+
*/
|
|
76
103
|
EmptyChatSettings = "empty-chat-settings",
|
|
77
104
|
/** Hides the model selector on the empty-chat composer screen. */
|
|
78
105
|
HideEmptyChatChangeAgent = "hide-empty-chat-change-agent",
|
|
@@ -84,14 +111,24 @@ export declare enum OverlayFeature {
|
|
|
84
111
|
ConversationsSection = "conversations-section",
|
|
85
112
|
/** Enables the app header. */
|
|
86
113
|
Header = "header",
|
|
114
|
+
/**
|
|
115
|
+
* Hides the header's hamburger button and the navigation sheet it opens â
|
|
116
|
+
* the mobile-breakpoint navigation surface carrying the nav items, profile,
|
|
117
|
+
* keyboard shortcuts, and log out.
|
|
118
|
+
*/
|
|
119
|
+
HideNavigationMenu = "hide-navigation-menu",
|
|
87
120
|
/** Makes the conversations sidebar section open by default. */
|
|
88
121
|
ShowConversationsSectionByDefault = "showConversationsSectionByDefault",
|
|
122
|
+
/** Hides the conversations panel's source filter tabs (All / My chats / Shared / Organization). */
|
|
123
|
+
HideConversationsFilter = "hide-conversations-filter",
|
|
89
124
|
/** Enables the catalog (`/catalog`) route. */
|
|
90
125
|
Catalog = "catalog",
|
|
91
126
|
/** Restricts the catalog to hide the current user's own/shared-with-me apps. */
|
|
92
127
|
CatalogHideMyApps = "catalog-hide-my-apps",
|
|
93
128
|
/** Makes the catalog's table view the initial default (instead of grid). */
|
|
94
129
|
CatalogTableView = "catalog-table-view",
|
|
130
|
+
/** Enables the file manager (`/files`) route and its navigation entry. */
|
|
131
|
+
FileManager = "file-manager",
|
|
95
132
|
/** Hides the delete action on a user's own messages. */
|
|
96
133
|
HideDeleteUserMessage = "hide-delete-user-message",
|
|
97
134
|
/** Hides the edit action on a user's own messages. */
|
|
@@ -108,15 +145,52 @@ export declare enum OverlayFeature {
|
|
|
108
145
|
ToolsetsSharing = "toolsets-sharing",
|
|
109
146
|
/** Enables toolsets functionality. */
|
|
110
147
|
Toolsets = "toolsets",
|
|
111
|
-
/** Enables the
|
|
148
|
+
/** Enables prompts: the catalog's Prompts tab, its create option, and the prompt editor route. */
|
|
149
|
+
Prompts = "prompts",
|
|
150
|
+
/** Enables skills: the catalog's Skills tab and the skill details panel. */
|
|
151
|
+
Skills = "skills",
|
|
152
|
+
/**
|
|
153
|
+
* Enables the catalog's custom-app creation entry, the editability of
|
|
154
|
+
* schema-less applications, and the custom-app editor route. Applications
|
|
155
|
+
* built on a schema are gated by `SchemaApps` instead.
|
|
156
|
+
*/
|
|
112
157
|
CustomApps = "custom-apps",
|
|
113
158
|
/** Hides the user avatar/menu button in the header. */
|
|
114
159
|
HideUserMenu = "hide-user-menu",
|
|
115
160
|
/** Hides the settings entry in the user menu. */
|
|
116
161
|
HideUserSettings = "hide-user-settings",
|
|
162
|
+
/** Hides the keyboard-shortcuts entry in the user menu and the mobile profile sheet. */
|
|
163
|
+
HideKeyboardShortcuts = "hide-keyboard-shortcuts",
|
|
117
164
|
/** Enables the `microphone` permission on the iframe's `allow` attribute for voice input. */
|
|
118
|
-
VoiceInput = "voice-input"
|
|
165
|
+
VoiceInput = "voice-input",
|
|
166
|
+
/**
|
|
167
|
+
* Renders every conversation starter, each on its own row, instead of
|
|
168
|
+
* fitting as many as the measured width allows on one line and collapsing
|
|
169
|
+
* the rest into a "…" dropdown. Intended for narrow embeds, where the row
|
|
170
|
+
* has space for a single starter and hides the remainder behind the menu.
|
|
171
|
+
*/
|
|
172
|
+
ShowAllStarters = "show-all-starters",
|
|
173
|
+
/**
|
|
174
|
+
* Hides the application version label in the footer. The label is
|
|
175
|
+
* diagnostic chrome an embedding host usually owns itself, and it is not
|
|
176
|
+
* gated by the operator's `footer` capability flag.
|
|
177
|
+
*/
|
|
178
|
+
HideFooterVersion = "hide-footer-version"
|
|
119
179
|
}
|
|
180
|
+
/**
|
|
181
|
+
* Wire values a host may still be sending that were renamed, mapped to the
|
|
182
|
+
* canonical `OverlayFeature` member. Accepted for backward compatibility on a
|
|
183
|
+
* transitional basis: a deprecated value resolves to its replacement instead of
|
|
184
|
+
* being dropped. Remove an entry once hosts have migrated, and record the
|
|
185
|
+
* rename in the migration guide's "Renamed flags" table.
|
|
186
|
+
*/
|
|
187
|
+
export declare const DEPRECATED_OVERLAY_FEATURE_ALIASES: Readonly<Record<string, OverlayFeature>>;
|
|
188
|
+
/**
|
|
189
|
+
* Resolves a raw wire value to an `OverlayFeature`, accepting the deprecated
|
|
190
|
+
* aliases in `DEPRECATED_OVERLAY_FEATURE_ALIASES`. Returns `undefined` for an
|
|
191
|
+
* unrecognized value so the caller can drop it and warn.
|
|
192
|
+
*/
|
|
193
|
+
export declare const resolveOverlayFeature: (value: string) => OverlayFeature | undefined;
|
|
120
194
|
/** Controls how an overlay starts authentication for a configured provider. */
|
|
121
195
|
export declare enum OverlayAuthUiMode {
|
|
122
196
|
/** Opens authentication in a separate browser window or tab. */
|
|
@@ -142,6 +216,30 @@ export interface OverlayRequestError {
|
|
|
142
216
|
/** Human-readable explanation suitable for logs and diagnostics. */
|
|
143
217
|
message: string;
|
|
144
218
|
}
|
|
219
|
+
/** Settled outcome of an agent execution stage carried over the protocol. */
|
|
220
|
+
export declare enum OverlayStageStatus {
|
|
221
|
+
/** The stage completed successfully. */
|
|
222
|
+
Completed = "completed",
|
|
223
|
+
/** The stage encountered an error. */
|
|
224
|
+
Failed = "failed"
|
|
225
|
+
}
|
|
226
|
+
/**
|
|
227
|
+
* One agent execution stage (a tool call, retrieval step, or reasoning step)
|
|
228
|
+
* projected into the protocol. A host reads these to react to what an agent
|
|
229
|
+
* did — e.g. refreshing its own view when a particular tool has run.
|
|
230
|
+
*/
|
|
231
|
+
export interface OverlayMessageStage {
|
|
232
|
+
/** Zero-based ordering key, stable across updates to the same stage. */
|
|
233
|
+
index: number;
|
|
234
|
+
/** Human-readable stage label, e.g. `'Lookup available terms'`. */
|
|
235
|
+
name: string;
|
|
236
|
+
/** `null` while the stage is still running; a settled value once it finishes. */
|
|
237
|
+
status: OverlayStageStatus | null;
|
|
238
|
+
/** Text content accumulated for this stage, when the agent produced any. */
|
|
239
|
+
content?: string;
|
|
240
|
+
/** Short source/category label shown beside the name, e.g. `'MCP'`. */
|
|
241
|
+
tag?: string;
|
|
242
|
+
}
|
|
145
243
|
/** Minimal message shape carried in overlay protocol payloads. */
|
|
146
244
|
export interface OverlayChatMessage {
|
|
147
245
|
/** Message id. */
|
|
@@ -150,6 +248,12 @@ export interface OverlayChatMessage {
|
|
|
150
248
|
role: string;
|
|
151
249
|
/** Message text content. */
|
|
152
250
|
content: string;
|
|
251
|
+
/**
|
|
252
|
+
* Agent execution stages attached to this message, omitted when it has
|
|
253
|
+
* none. Stage attachments are not carried — the protocol projects labels,
|
|
254
|
+
* status, and text only.
|
|
255
|
+
*/
|
|
256
|
+
stages?: OverlayMessageStage[];
|
|
153
257
|
}
|
|
154
258
|
/** Host-agnostic conversation projection for the overlay protocol. */
|
|
155
259
|
export interface OverlayConversation {
|
|
@@ -181,7 +285,11 @@ export interface ChatOverlayOptions {
|
|
|
181
285
|
domain: string;
|
|
182
286
|
/** Milliseconds to wait for a request's response before rejecting. Defaults to `10000`. */
|
|
183
287
|
requestTimeout?: number;
|
|
184
|
-
/**
|
|
288
|
+
/**
|
|
289
|
+
* Inline CSS properties applied to the loader element while it is visible.
|
|
290
|
+
* A `display` entry is dropped once `loaderHideEvent` arrives — use
|
|
291
|
+
* `loaderHideEvent` to control visibility, not `display`.
|
|
292
|
+
*/
|
|
185
293
|
loaderStyles?: Record<string, string>;
|
|
186
294
|
/** CSS class applied to the loader element. */
|
|
187
295
|
loaderClass?: string;
|
|
@@ -200,6 +308,15 @@ export interface ChatOverlayOptions {
|
|
|
200
308
|
/** Per-provider authentication UI behavior configured by the embedding host. */
|
|
201
309
|
auth?: {
|
|
202
310
|
providerUiModes?: Record<string, OverlayAuthUiMode>;
|
|
311
|
+
/**
|
|
312
|
+
* Provider id whose login the embedded app starts on its own, with no user
|
|
313
|
+
* interaction, while the session is unauthenticated. Presence enables the
|
|
314
|
+
* behavior — there is no separate boolean — and the same provider must be
|
|
315
|
+
* mapped to `OverlayAuthUiMode.SameWindow` in `providerUiModes`, because
|
|
316
|
+
* only that path navigates the iframe itself. Supersedes the legacy
|
|
317
|
+
* `signInOptions.autoSignIn` + `signInProvider` pair.
|
|
318
|
+
*/
|
|
319
|
+
autoSignInProvider?: string;
|
|
203
320
|
};
|
|
204
321
|
}
|
|
205
322
|
/** Payload of a `SET_OVERLAY_OPTIONS` request. */
|
|
@@ -219,6 +336,8 @@ export interface SetOverlayOptionsPayload {
|
|
|
219
336
|
enabledFeatures?: string[];
|
|
220
337
|
/** Opaque per-provider authentication UI modes supplied by the host. */
|
|
221
338
|
authProviderUiModes?: Record<string, string>;
|
|
339
|
+
/** Opaque wire form of `ChatOverlayOptions.auth.autoSignInProvider`. */
|
|
340
|
+
authAutoSignInProvider?: string;
|
|
222
341
|
}
|
|
223
342
|
/** Payload of a `SEND_MESSAGE` request. */
|
|
224
343
|
export interface SendMessagePayload {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"overlay-protocol.d.ts","sourceRoot":"","sources":["../../src/protocol/overlay-protocol.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,eAAO,MAAM,sBAAsB,kBAAkB,CAAC;AAEtD,mEAAmE;AACnE,oBAAY,kBAAkB;IAC5B,gDAAgD;IAChD,WAAW,+BAA+B;IAC1C,qDAAqD;IACrD,WAAW,+BAA+B;IAC1C,yDAAyD;IACzD,eAAe,oCAAoC;IACnD,mDAAmD;IACnD,eAAe,oCAAoC;IACnD,iDAAiD;IACjD,cAAc,kCAAkC;IAChD,2EAA2E;IAC3E,iBAAiB,sCAAsC;IACvD,kDAAkD;IAClD,gBAAgB,oCAAoC;IACpD,8DAA8D;IAC9D,wBAAwB,6CAA6C;IACrE,0DAA0D;IAC1D,kBAAkB,sCAAsC;IACxD,qFAAqF;IACrF,kBAAkB,sCAAsC;IACxD,kEAAkE;IAClE,uBAAuB,4CAA4C;IACnE,mCAAmC;IACnC,kBAAkB,sCAAsC;IACxD,mCAAmC;IACnC,kBAAkB,sCAAsC;CACzD;AAED,8DAA8D;AAC9D,oBAAY,gBAAgB;IAC1B,iEAAiE;IACjE,SAAS,6BAA6B;IACtC,uDAAuD;IACvD,KAAK,wBAAwB;IAC7B,4FAA4F;IAC5F,eAAe,oCAAoC;IACnD,0FAA0F;IAC1F,0BAA0B,+CAA+C;IACzE,iEAAiE;IACjE,kBAAkB,uCAAuC;IACzD,oEAAoE;IACpE,gBAAgB,qCAAqC;IACrD,gEAAgE;IAChE,cAAc,kCAAkC;IAChD,yDAAyD;IACzD,oBAAoB,wCAAwC;CAC7D;AAED,iGAAiG;AACjG,oBAAY,cAAc;IACxB,oDAAoD;IACpD,QAAQ,cAAc;IACtB
|
|
1
|
+
{"version":3,"file":"overlay-protocol.d.ts","sourceRoot":"","sources":["../../src/protocol/overlay-protocol.ts"],"names":[],"mappings":"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"}
|