@epam/ai-dial-chat-hooks 1.3.0-dev.96 → 1.3.0-dev.98
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/conversation/create-chat-stream-api.d.ts +6 -0
- package/conversation/create-chat-stream-api.d.ts.map +1 -1
- package/conversation/create-chat-stream-api.js +28 -23
- package/conversation/useConversationStream/useConversationStream.d.ts.map +1 -1
- package/conversation/useConversationStream/useConversationStream.js +233 -219
- package/conversation.js +33 -33
- package/index.js +114 -114
- package/package.json +17 -17
|
@@ -46,6 +46,12 @@ export declare class StreamUpstreamError extends Error {
|
|
|
46
46
|
export declare class StreamInterruptedError extends Error {
|
|
47
47
|
constructor(cause?: unknown);
|
|
48
48
|
}
|
|
49
|
+
/** Thrown when the Stop endpoint answers with a non-OK status. */
|
|
50
|
+
export declare class StopCompletionError extends Error {
|
|
51
|
+
/** HTTP status of the rejected Stop request. */
|
|
52
|
+
readonly status: number;
|
|
53
|
+
constructor(status: number);
|
|
54
|
+
}
|
|
49
55
|
export declare const DEFAULT_STREAM_IDLE_TIMEOUT_MS = 45000;
|
|
50
56
|
/** Callbacks {@link streamCompletion} reports streamed completion events through. */
|
|
51
57
|
export interface ChatStreamCompletionOptions {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-chat-stream-api.d.ts","sourceRoot":"","sources":["../../src/conversation/create-chat-stream-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAC/E,OAAO,KAAK,EACV,oBAAoB,EACpB,WAAW,EACZ,MAAM,2BAA2B,CAAC;AAOnC,mFAAmF;AACnF,eAAO,MAAM,4CAA4C,0IACgF,CAAC;AAE1I,yFAAyF;AACzF,qBAAa,0BAA2B,SAAQ,KAAK;IACnD,MAAM,CAAC,QAAQ,CAAC,IAAI,8BAA8B;IAElD,iFAAiF;IACjF,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAEzB;;;OAGG;gBACS,MAAM,CAAC,EAAE,MAAM;CAK5B;AAED,sFAAsF;AACtF,eAAO,MAAM,mCAAmC,iIACgF,CAAC;AAEjI;;;;;;GAMG;AACH,qBAAa,uBAAwB,SAAQ,KAAK;gBACpC,OAAO,GAAE,MAA4C;CAIlE;AAED;;;;;;GAMG;AACH,qBAAa,mBAAoB,SAAQ,KAAK;gBAChC,OAAO,EAAE,MAAM;CAI5B;AAED;;;;;;;GAOG;AACH,qBAAa,sBAAuB,SAAQ,KAAK;gBACnC,KAAK,CAAC,EAAE,OAAO;CAI5B;AAMD,eAAO,MAAM,8BAA8B,QAAS,CAAC;AAErD,qFAAqF;AACrF,MAAM,WAAW,2BAA2B;IAC1C,OAAO,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IACtC,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAChC,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,0FAA0F;AAC1F,MAAM,WAAW,uBAAuB;IACtC,yEAAyE;IACzE,YAAY,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IAClC,2DAA2D;IAC3D,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC7C,iFAAiF;IACjF,mBAAmB,EAAE,MAAM,CAAC;IAC5B,uFAAuF;IACvF,WAAW,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IACvC,wFAAwF;IACxF,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AA4GD,wFAAwF;AACxF,MAAM,WAAW,aAAa;IAC5B,gBAAgB,EAAE,CAChB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,2BAA2B,EACpC,aAAa,CAAC,EAAE,oBAAoB,EACpC,YAAY,CAAC,EAAE,MAAM,EACrB,IAAI,CAAC,EAAE,yBAAyB,EAChC,YAAY,CAAC,EAAE,MAAM,EACrB,eAAe,CAAC,EAAE,MAAM,KACrB,IAAI,CAAC;IACV,cAAc,EAAE,CAAC,GAAG,EAAE;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACrB;AAED;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,GAC9B,MAAM,uBAAuB,KAC5B,aAoKF,CAAC"}
|
|
1
|
+
{"version":3,"file":"create-chat-stream-api.d.ts","sourceRoot":"","sources":["../../src/conversation/create-chat-stream-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAC/E,OAAO,KAAK,EACV,oBAAoB,EACpB,WAAW,EACZ,MAAM,2BAA2B,CAAC;AAOnC,mFAAmF;AACnF,eAAO,MAAM,4CAA4C,0IACgF,CAAC;AAE1I,yFAAyF;AACzF,qBAAa,0BAA2B,SAAQ,KAAK;IACnD,MAAM,CAAC,QAAQ,CAAC,IAAI,8BAA8B;IAElD,iFAAiF;IACjF,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAEzB;;;OAGG;gBACS,MAAM,CAAC,EAAE,MAAM;CAK5B;AAED,sFAAsF;AACtF,eAAO,MAAM,mCAAmC,iIACgF,CAAC;AAEjI;;;;;;GAMG;AACH,qBAAa,uBAAwB,SAAQ,KAAK;gBACpC,OAAO,GAAE,MAA4C;CAIlE;AAED;;;;;;GAMG;AACH,qBAAa,mBAAoB,SAAQ,KAAK;gBAChC,OAAO,EAAE,MAAM;CAI5B;AAED;;;;;;;GAOG;AACH,qBAAa,sBAAuB,SAAQ,KAAK;gBACnC,KAAK,CAAC,EAAE,OAAO;CAI5B;AAED,kEAAkE;AAClE,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C,gDAAgD;IAChD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;gBAEZ,MAAM,EAAE,MAAM;CAK3B;AAMD,eAAO,MAAM,8BAA8B,QAAS,CAAC;AAErD,qFAAqF;AACrF,MAAM,WAAW,2BAA2B;IAC1C,OAAO,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IACtC,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAChC,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,0FAA0F;AAC1F,MAAM,WAAW,uBAAuB;IACtC,yEAAyE;IACzE,YAAY,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IAClC,2DAA2D;IAC3D,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC7C,iFAAiF;IACjF,mBAAmB,EAAE,MAAM,CAAC;IAC5B,uFAAuF;IACvF,WAAW,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IACvC,wFAAwF;IACxF,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AA4GD,wFAAwF;AACxF,MAAM,WAAW,aAAa;IAC5B,gBAAgB,EAAE,CAChB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,2BAA2B,EACpC,aAAa,CAAC,EAAE,oBAAoB,EACpC,YAAY,CAAC,EAAE,MAAM,EACrB,IAAI,CAAC,EAAE,yBAAyB,EAChC,YAAY,CAAC,EAAE,MAAM,EACrB,eAAe,CAAC,EAAE,MAAM,KACrB,IAAI,CAAC;IACV,cAAc,EAAE,CAAC,GAAG,EAAE;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACrB;AAED;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,GAC9B,MAAM,uBAAuB,KAC5B,aAoKF,CAAC"}
|
|
@@ -17,7 +17,12 @@ var e = { "Content-Type": "application/json" }, t = 409, n = "The response could
|
|
|
17
17
|
constructor(e) {
|
|
18
18
|
super("The completion stream was interrupted", { cause: e }), this.name = "StreamInterruptedError";
|
|
19
19
|
}
|
|
20
|
-
}, c =
|
|
20
|
+
}, c = class extends Error {
|
|
21
|
+
status;
|
|
22
|
+
constructor(e) {
|
|
23
|
+
super(`stopCompletion failed: ${e}`), this.name = "StopCompletionError", this.status = e;
|
|
24
|
+
}
|
|
25
|
+
}, l = 45e3, u = (e, t) => {
|
|
21
26
|
let n = Date.now(), r, i = !1, a = () => {
|
|
22
27
|
if (i) return;
|
|
23
28
|
let o = Date.now() - n;
|
|
@@ -37,31 +42,31 @@ var e = { "Content-Type": "application/json" }, t = 409, n = "The response could
|
|
|
37
42
|
i || (i = !0, clearTimeout(r), s && (document.removeEventListener("visibilitychange", o), window.removeEventListener("online", a), window.removeEventListener("pageshow", a)));
|
|
38
43
|
}
|
|
39
44
|
};
|
|
40
|
-
},
|
|
45
|
+
}, d = (e) => typeof e == "object" && !!e && e.name === "AbortError", f = (e) => {
|
|
41
46
|
let { status: t } = e;
|
|
42
47
|
return typeof t == "number" ? t : void 0;
|
|
43
|
-
},
|
|
48
|
+
}, p = (e, t, n) => {
|
|
44
49
|
let i = e.trim();
|
|
45
50
|
if (!i || i.startsWith(":") || !i.startsWith("data: ")) return;
|
|
46
51
|
let a = i.slice(6);
|
|
47
52
|
if (a !== "[DONE]") try {
|
|
48
53
|
let e = JSON.parse(a);
|
|
49
54
|
if (e.error) {
|
|
50
|
-
n(e.error.type === r.type ? new r(
|
|
55
|
+
n(e.error.type === r.type ? new r(f(e.error)) : new o(e.error.message));
|
|
51
56
|
return;
|
|
52
57
|
}
|
|
53
58
|
t(e);
|
|
54
59
|
} catch {}
|
|
55
|
-
},
|
|
60
|
+
}, m = (n) => {
|
|
56
61
|
let { completionsBasePath: r } = n, i = (...e) => (n.fetchImpl ?? fetch)(...e);
|
|
57
62
|
return {
|
|
58
|
-
streamCompletion: (o, c,
|
|
59
|
-
let { onChunk: y, onComplete: b, onError: x, signal: S } =
|
|
63
|
+
streamCompletion: (o, c, l, f, m, h, g, _, v) => {
|
|
64
|
+
let { onChunk: y, onComplete: b, onError: x, signal: S } = f;
|
|
60
65
|
(async () => {
|
|
61
|
-
let
|
|
66
|
+
let f;
|
|
62
67
|
try {
|
|
63
68
|
let t = n.getTimezone?.();
|
|
64
|
-
|
|
69
|
+
f = await i(`${r}/completions`, {
|
|
65
70
|
method: "POST",
|
|
66
71
|
credentials: "include",
|
|
67
72
|
signal: S,
|
|
@@ -73,7 +78,7 @@ var e = { "Content-Type": "application/json" }, t = 409, n = "The response could
|
|
|
73
78
|
body: JSON.stringify({
|
|
74
79
|
path: o,
|
|
75
80
|
message: c ?? "",
|
|
76
|
-
model:
|
|
81
|
+
model: l,
|
|
77
82
|
custom_content: m || {},
|
|
78
83
|
...h != null && { generationId: h },
|
|
79
84
|
...g != null && { mode: g },
|
|
@@ -82,26 +87,26 @@ var e = { "Content-Type": "application/json" }, t = 409, n = "The response could
|
|
|
82
87
|
})
|
|
83
88
|
});
|
|
84
89
|
} catch (e) {
|
|
85
|
-
if (
|
|
90
|
+
if (d(e)) return;
|
|
86
91
|
x(new s(e));
|
|
87
92
|
return;
|
|
88
93
|
}
|
|
89
|
-
let C =
|
|
90
|
-
if (C && n.setCsrfToken(C), !
|
|
91
|
-
if (
|
|
94
|
+
let C = f.headers.get("x-csrf-token");
|
|
95
|
+
if (C && n.setCsrfToken(C), !f.ok) {
|
|
96
|
+
if (f.status === t) {
|
|
92
97
|
x(new a());
|
|
93
98
|
return;
|
|
94
99
|
}
|
|
95
|
-
x(/* @__PURE__ */ Error(`Stream request failed with status ${
|
|
100
|
+
x(/* @__PURE__ */ Error(`Stream request failed with status ${f.status}`));
|
|
96
101
|
return;
|
|
97
102
|
}
|
|
98
|
-
if (!
|
|
103
|
+
if (!f.body) {
|
|
99
104
|
x(/* @__PURE__ */ Error("No response body"));
|
|
100
105
|
return;
|
|
101
106
|
}
|
|
102
|
-
let w =
|
|
107
|
+
let w = f.body.getReader(), T = new TextDecoder(), E = "", D = !1, O = !1, k = (e) => {
|
|
103
108
|
D || (D = !0, A.stop(), x(e));
|
|
104
|
-
}, A =
|
|
109
|
+
}, A = u(n.idleTimeoutMs ?? 45e3, () => {
|
|
105
110
|
O = !0, k(new s()), w.cancel().catch(() => void 0);
|
|
106
111
|
});
|
|
107
112
|
try {
|
|
@@ -109,17 +114,17 @@ var e = { "Content-Type": "application/json" }, t = 409, n = "The response could
|
|
|
109
114
|
let { done: e, value: t } = await w.read();
|
|
110
115
|
if (O) break;
|
|
111
116
|
if (e) {
|
|
112
|
-
E.trim() &&
|
|
117
|
+
E.trim() && p(E, y, k);
|
|
113
118
|
break;
|
|
114
119
|
}
|
|
115
120
|
A.touch(), E += T.decode(t, { stream: !0 });
|
|
116
121
|
let n = E.split("\n");
|
|
117
122
|
E = n.pop() ?? "";
|
|
118
|
-
for (let e of n)
|
|
123
|
+
for (let e of n) p(e, y, k);
|
|
119
124
|
}
|
|
120
125
|
D || (D = !0, b());
|
|
121
126
|
} catch (e) {
|
|
122
|
-
if (
|
|
127
|
+
if (d(e)) return;
|
|
123
128
|
k(new s(e));
|
|
124
129
|
} finally {
|
|
125
130
|
A.stop(), w.releaseLock();
|
|
@@ -136,9 +141,9 @@ var e = { "Content-Type": "application/json" }, t = 409, n = "The response could
|
|
|
136
141
|
},
|
|
137
142
|
body: JSON.stringify(t)
|
|
138
143
|
}), o = a.headers.get("x-csrf-token");
|
|
139
|
-
if (o && n.setCsrfToken(o), !a.ok) throw
|
|
144
|
+
if (o && n.setCsrfToken(o), !a.ok) throw new c(a.status);
|
|
140
145
|
}
|
|
141
146
|
};
|
|
142
147
|
};
|
|
143
148
|
//#endregion
|
|
144
|
-
export { i as DEFAULT_GENERATION_CONFLICT_MESSAGE, n as DEFAULT_GENERATION_PERSISTENCE_ERROR_MESSAGE,
|
|
149
|
+
export { i as DEFAULT_GENERATION_CONFLICT_MESSAGE, n as DEFAULT_GENERATION_PERSISTENCE_ERROR_MESSAGE, l as DEFAULT_STREAM_IDLE_TIMEOUT_MS, a as GenerationConflictError, r as GenerationPersistenceError, c as StopCompletionError, s as StreamInterruptedError, o as StreamUpstreamError, m as createChatStreamApi };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useConversationStream.d.ts","sourceRoot":"","sources":["../../../src/conversation/useConversationStream/useConversationStream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EACL,KAAK,YAAY,EAEjB,KAAK,oBAAoB,EAEzB,KAAK,WAAW,EACjB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,gBAAgB,EACrB,KAAK,cAAc,EAMpB,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"useConversationStream.d.ts","sourceRoot":"","sources":["../../../src/conversation/useConversationStream/useConversationStream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EACL,KAAK,YAAY,EAEjB,KAAK,oBAAoB,EAEzB,KAAK,WAAW,EACjB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,gBAAgB,EACrB,KAAK,cAAc,EAMpB,MAAM,OAAO,CAAC;AA6Cf,gFAAgF;AAChF,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IACtC,UAAU,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAChC,MAAM,EAAE,WAAW,CAAC;CACrB;AAED;;;;GAIG;AACH,MAAM,WAAW,2BAA2B;IAC1C,6GAA6G;IAC7G,gBAAgB,CACd,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,uBAAuB,EAChC,aAAa,CAAC,EAAE,oBAAoB,EACpC,YAAY,CAAC,EAAE,MAAM,EACrB,IAAI,CAAC,EAAE,yBAAyB,EAChC,YAAY,CAAC,EAAE,MAAM,EACrB,eAAe,CAAC,EAAE,MAAM,GACvB,IAAI,CAAC;IACR;;;OAGG;IACH,cAAc,CAAC,MAAM,EAAE;QACrB,YAAY,EAAE,MAAM,CAAC;QACrB,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClB,uFAAuF;IACvF,iBAAiB,CACf,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC;IACvC;;;;;;;OAOG;IACH,kBAAkB,CAChB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC;IACvC,4EAA4E;IAC5E,eAAe,CACb,cAAc,EAAE,MAAM,EACtB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,CAAC,CAAC;IACzB;;;;;OAKG;IACH,gBAAgB,CAAC,CACf,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,YAAY,GACzB,OAAO,CAAC,YAAY,CAAC,CAAC;CAC1B;AAED,6FAA6F;AAC7F,MAAM,WAAW,+BAA+B;IAC9C,iGAAiG;IACjG,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,eAAe,CAAC;IACzE,wGAAwG;IACxG,kBAAkB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;CAClE;AAED,yFAAyF;AACzF,MAAM,WAAW,yBAAyB;IACxC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,oKAAoK;IACpK,cAAc,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC/D,+HAA+H;IAC/H,uBAAuB,CAAC,EAAE,MAAM,IAAI,CAAC;CACtC;AAED,6GAA6G;AAC7G,MAAM,WAAW,iCAAiC;IAChD,qBAAqB,CAAC,EAAE,MAAM,IAAI,CAAC;IACnC,mBAAmB,CAAC,EAAE,MAAM,IAAI,CAAC;IACjC,oBAAoB,CAAC,EAAE,MAAM,IAAI,CAAC;CACnC;AAED,+FAA+F;AAC/F,MAAM,WAAW,yBAAyB;IACxC,eAAe,EAAE,QAAQ,CAAC,cAAc,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC,CAAC;IAC/D,eAAe,EAAE,gBAAgB,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;CACxD;AAED,oDAAoD;AACpD,MAAM,WAAW,2BAA2B;IAC1C,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,KAAK,EAAE,yBAAyB,CAAC;IACjC,SAAS,EAAE,2BAA2B,CAAC;IACvC,UAAU,EAAE,+BAA+B,CAAC;IAC5C,OAAO,CAAC,EAAE,yBAAyB,CAAC;IACpC,OAAO,CAAC,EAAE,iCAAiC,CAAC;IAC5C,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACrC;;;;;OAKG;IACH,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,iFAAiF;IACjF,iCAAiC,CAAC,EAAE,MAAM,CAAC;IAC3C;;;;;OAKG;IACH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACvC;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAqBD,4EAA4E;AAC5E,MAAM,WAAW,kBAAkB;IACjC;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,qDAAqD;AACrD,MAAM,WAAW,2BAA2B;IAC1C,WAAW,EAAE,CACX,cAAc,EAAE,MAAM,EACtB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,EACb,aAAa,CAAC,EAAE,oBAAoB,EACpC,YAAY,CAAC,EAAE,MAAM,EACrB,IAAI,CAAC,EAAE,yBAAyB,EAChC,OAAO,CAAC,EAAE,kBAAkB,KACzB,IAAI,CAAC;IACV,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,0BAA0B,EAAE,CAC1B,qBAAqB,EAAE,MAAM,EAC7B,YAAY,EAAE,YAAY,KACvB,IAAI,CAAC;IACV,+GAA+G;IAC/G,yBAAyB,EAAE,CACzB,qBAAqB,EAAE,MAAM,EAC7B,YAAY,EAAE,YAAY,KACvB,YAAY,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;IACrB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,iEAAiE;IACjE,0BAA0B,EAAE,OAAO,CAAC;IACpC,iDAAiD;IACjD,uBAAuB,EAAE,OAAO,CAAC;IACjC,yEAAyE;IACzE,uBAAuB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9C;AAkBD;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,GAAI,mQAYnC,2BAA2B,KAAG,2BAm6BhC,CAAC"}
|
|
@@ -1,336 +1,350 @@
|
|
|
1
1
|
import { safeDecodeURI as e } from "../../shared/string-utils.js";
|
|
2
|
-
import { DEFAULT_GENERATION_CONFLICT_MESSAGE as t, DEFAULT_GENERATION_PERSISTENCE_ERROR_MESSAGE as n, GenerationConflictError as r, GenerationPersistenceError as i,
|
|
3
|
-
import { getConversationPath as
|
|
4
|
-
import { applyChunkToMessages as
|
|
5
|
-
import { restoreBufferedMessage as
|
|
6
|
-
import { createResumeIfAwaitingGeneration as ee, fetchConversationForRecovery as te, findPendingBackgroundMessageIndex as
|
|
2
|
+
import { DEFAULT_GENERATION_CONFLICT_MESSAGE as t, DEFAULT_GENERATION_PERSISTENCE_ERROR_MESSAGE as n, GenerationConflictError as r, GenerationPersistenceError as i, StopCompletionError as a, StreamInterruptedError as o, StreamUpstreamError as s } from "../create-chat-stream-api.js";
|
|
3
|
+
import { getConversationPath as c } from "./conversation-path.js";
|
|
4
|
+
import { applyChunkToMessages as l } from "./apply-chunk.js";
|
|
5
|
+
import { restoreBufferedMessage as u } from "./buffered-generation.js";
|
|
6
|
+
import { createResumeIfAwaitingGeneration as ee, fetchConversationForRecovery as te, findPendingBackgroundMessageIndex as d, hasGeneratedPayload as ne, isAwaitingGenerationResume as f } from "./generation-resume.js";
|
|
7
7
|
import { createFrameScheduler as re } from "./frame-scheduler.js";
|
|
8
|
-
import { MessageRole as
|
|
9
|
-
import { useCallback as
|
|
10
|
-
import { SendCompletionDtoModeEnum as
|
|
8
|
+
import { MessageRole as p, generateUUID as ie } from "@epam/ai-dial-chat-shared";
|
|
9
|
+
import { useCallback as m, useEffect as h, useMemo as g, useRef as _, useState as v } from "react";
|
|
10
|
+
import { SendCompletionDtoModeEnum as y } from "@epam/ai-dial-chat-api-client";
|
|
11
11
|
//#region src/conversation/useConversationStream/useConversationStream.ts
|
|
12
|
-
var
|
|
12
|
+
var ae = 2e4, oe = 401, b = 404, x = 2e3, S = 100, se = (e, t, n) => e instanceof i ? n : e instanceof r ? t : e instanceof s ? e.message : "", C = (e) => {
|
|
13
13
|
if (!e) return;
|
|
14
|
-
let t =
|
|
14
|
+
let t = d(e);
|
|
15
15
|
return t === -1 ? void 0 : e.messages[t].backgroundGeneration?.generationId;
|
|
16
|
-
},
|
|
17
|
-
let
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
}, [
|
|
21
|
-
let
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
}, [
|
|
25
|
-
let [
|
|
26
|
-
|
|
27
|
-
|
|
16
|
+
}, w = ({ conversationId: s, state: { setConversation: w, conversationRef: T }, transport: E, generation: { startGeneration: ce, completeGeneration: le }, channel: D, overlay: O, onStopError: ue, generationConflictMessage: de = t, generationPersistenceErrorMessage: k = n, onStreamError: A, batchChunksPerFrame: j = !1 }) => {
|
|
17
|
+
let fe = _(A);
|
|
18
|
+
h(() => {
|
|
19
|
+
fe.current = A;
|
|
20
|
+
}, [A]);
|
|
21
|
+
let pe = _(j);
|
|
22
|
+
h(() => {
|
|
23
|
+
pe.current = j;
|
|
24
|
+
}, [j]);
|
|
25
|
+
let [M] = v(re), [N, P] = v(() => /* @__PURE__ */ new Set()), F = _(N);
|
|
26
|
+
F.current = N;
|
|
27
|
+
let [I, me] = v(() => /* @__PURE__ */ new Set()), L = _(/* @__PURE__ */ new Map()), R = _(/* @__PURE__ */ new Set()), z = _(/* @__PURE__ */ new Map()), B = _(/* @__PURE__ */ new Set()), V = _(/* @__PURE__ */ new Set()), he = _(/* @__PURE__ */ new Map()), H = _(!0), U = _(/* @__PURE__ */ new Map()), [ge, W] = v(U.current), G = _(/* @__PURE__ */ new Set()), [_e, ve] = v(G.current);
|
|
28
|
+
h(() => (H.current = !0, () => {
|
|
29
|
+
H.current = !1;
|
|
28
30
|
}), []);
|
|
29
|
-
let
|
|
30
|
-
if (!
|
|
31
|
-
let t = new Map(
|
|
32
|
-
t.delete(e),
|
|
33
|
-
}, []),
|
|
34
|
-
if (!
|
|
35
|
-
let r = new Map(
|
|
31
|
+
let K = m((e) => {
|
|
32
|
+
if (!U.current.has(e)) return;
|
|
33
|
+
let t = new Map(U.current);
|
|
34
|
+
t.delete(e), U.current = t, H.current && W(t);
|
|
35
|
+
}, []), q = m((e, t, n) => {
|
|
36
|
+
if (!H.current || !n()) return;
|
|
37
|
+
let r = new Map(U.current);
|
|
36
38
|
r.set(e, {
|
|
37
39
|
retry: t,
|
|
38
40
|
isCurrent: n
|
|
39
|
-
}),
|
|
40
|
-
}, []),
|
|
41
|
-
if (!
|
|
42
|
-
let e =
|
|
43
|
-
if (!(!e || !e.isCurrent() ||
|
|
44
|
-
|
|
41
|
+
}), U.current = r, W(r);
|
|
42
|
+
}, []), ye = m(async () => {
|
|
43
|
+
if (!s) return;
|
|
44
|
+
let e = U.current.get(c(s));
|
|
45
|
+
if (!(!e || !e.isCurrent() || G.current.has(e))) {
|
|
46
|
+
G.current.add(e), ve(new Set(G.current));
|
|
45
47
|
try {
|
|
46
48
|
await e.retry();
|
|
47
49
|
} finally {
|
|
48
|
-
|
|
50
|
+
G.current.delete(e), H.current && ve(new Set(G.current));
|
|
49
51
|
}
|
|
50
52
|
}
|
|
51
|
-
}, [
|
|
52
|
-
|
|
53
|
-
let
|
|
54
|
-
|
|
53
|
+
}, [s]), be = _(s);
|
|
54
|
+
h(() => (be.current = s, () => M.cancelAll()), [s, M]);
|
|
55
|
+
let J = m((e) => H.current && c(be.current ?? "") === e, []), Y = m((e) => {
|
|
56
|
+
K(e), P((t) => {
|
|
55
57
|
if (t.has(e)) return t;
|
|
56
58
|
let n = new Set(t);
|
|
57
59
|
return n.add(e), n;
|
|
58
60
|
});
|
|
59
|
-
}, [
|
|
60
|
-
|
|
61
|
+
}, [K]), X = m((e) => {
|
|
62
|
+
P((t) => {
|
|
61
63
|
if (!t.has(e)) return t;
|
|
62
64
|
let n = new Set(t);
|
|
63
65
|
return n.delete(e), n;
|
|
64
66
|
});
|
|
65
|
-
}, []),
|
|
66
|
-
|
|
67
|
+
}, []), Z = m((e, t) => {
|
|
68
|
+
me((n) => {
|
|
67
69
|
if (n.has(e) === t) return n;
|
|
68
70
|
let r = new Set(n);
|
|
69
71
|
return t ? r.add(e) : r.delete(e), r;
|
|
70
72
|
});
|
|
71
|
-
}, []),
|
|
72
|
-
|
|
73
|
-
}, [
|
|
74
|
-
transport:
|
|
75
|
-
setConversation:
|
|
76
|
-
conversationRef:
|
|
77
|
-
resumingPathsRef:
|
|
78
|
-
bufferedGenerationsRef:
|
|
79
|
-
addStreamingPath:
|
|
80
|
-
removeStreamingPath:
|
|
81
|
-
isPathDisplayed:
|
|
82
|
-
generationPersistenceErrorMessage:
|
|
83
|
-
frameScheduler:
|
|
84
|
-
stoppedGenerationIdsRef:
|
|
85
|
-
onReloadError:
|
|
86
|
-
onReloadSuccess:
|
|
73
|
+
}, []), xe = m((e, t) => {
|
|
74
|
+
L.current.get(e) === t && (L.current.delete(e), Z(e, !1));
|
|
75
|
+
}, [Z]), Q = g(() => ee({
|
|
76
|
+
transport: E,
|
|
77
|
+
setConversation: w,
|
|
78
|
+
conversationRef: T,
|
|
79
|
+
resumingPathsRef: R,
|
|
80
|
+
bufferedGenerationsRef: z,
|
|
81
|
+
addStreamingPath: Y,
|
|
82
|
+
removeStreamingPath: X,
|
|
83
|
+
isPathDisplayed: J,
|
|
84
|
+
generationPersistenceErrorMessage: k,
|
|
85
|
+
frameScheduler: j ? M : void 0,
|
|
86
|
+
stoppedGenerationIdsRef: B,
|
|
87
|
+
onReloadError: q,
|
|
88
|
+
onReloadSuccess: K
|
|
87
89
|
}), [
|
|
88
|
-
J,
|
|
89
90
|
Y,
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
D,
|
|
91
|
+
X,
|
|
92
|
+
J,
|
|
93
|
+
E,
|
|
94
94
|
k,
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
let _;
|
|
101
|
-
|
|
102
|
-
let
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
95
|
+
j,
|
|
96
|
+
M,
|
|
97
|
+
q,
|
|
98
|
+
K
|
|
99
|
+
]), Se = m((t, n, a, s, ee, re, m = y.Append, h = {}) => {
|
|
100
|
+
let g = re ?? ie(), _ = c(t);
|
|
101
|
+
M.flush(_), R.current.delete(_), L.current.set(_, g), he.current.set(_, g), Z(_, !0);
|
|
102
|
+
let v;
|
|
103
|
+
m === y.Regenerate ? v = a : m === y.Edit && (v = a - 1);
|
|
104
|
+
let b = () => he.current.get(_) !== g, x = ce(_, g), S = T.current?.messages[a];
|
|
105
|
+
S ? z.current.set(_, {
|
|
106
|
+
generationId: g,
|
|
107
|
+
messageIndex: a,
|
|
108
|
+
message: S
|
|
109
|
+
}) : z.current.delete(_), Y(_), O?.notifyGenerationStart?.(), D?.ensureConnected();
|
|
110
|
+
let C = () => {
|
|
111
|
+
b() || X(_), xe(_, g), le(_, g), D?.notifyGenerationSettled?.();
|
|
112
|
+
}, ue = () => {
|
|
113
|
+
if (b()) return;
|
|
114
|
+
let e = z.current.get(_);
|
|
115
|
+
!e || e.generationId !== g || (e.message = {
|
|
114
116
|
...e.message,
|
|
115
|
-
streamErrorMessage:
|
|
116
|
-
},
|
|
117
|
-
if (!t ||
|
|
118
|
-
let n =
|
|
119
|
-
return
|
|
117
|
+
streamErrorMessage: k
|
|
118
|
+
}, fe.current?.(new i()), J(_) && w((t) => {
|
|
119
|
+
if (!t || b() || !J(_)) return t;
|
|
120
|
+
let n = u(t, e);
|
|
121
|
+
return T.current = n, n;
|
|
120
122
|
}));
|
|
121
|
-
},
|
|
122
|
-
if (
|
|
123
|
-
if (!
|
|
124
|
-
|
|
123
|
+
}, A = z.current.get(_), j = () => H.current && !b() && z.current.get(_) === A, N = async () => {
|
|
124
|
+
if (j()) {
|
|
125
|
+
if (!J(_)) {
|
|
126
|
+
A && z.current.delete(_);
|
|
125
127
|
return;
|
|
126
128
|
}
|
|
127
129
|
try {
|
|
128
|
-
let n = await
|
|
129
|
-
if (!
|
|
130
|
-
if (
|
|
131
|
-
|
|
130
|
+
let n = await E.getConversation(e(t));
|
|
131
|
+
if (!j()) return;
|
|
132
|
+
if (K(_), !J(_)) {
|
|
133
|
+
A && z.current.delete(_);
|
|
132
134
|
return;
|
|
133
135
|
}
|
|
134
|
-
if (
|
|
135
|
-
Q(t, n, { seedMessage:
|
|
136
|
+
if (d(n) !== -1) {
|
|
137
|
+
Q(t, n, { seedMessage: A?.message });
|
|
136
138
|
return;
|
|
137
139
|
}
|
|
138
|
-
if (
|
|
139
|
-
|
|
140
|
+
if (A && A.messageIndex === n.messages.length - 1 && f(n) && ne(A.message)) {
|
|
141
|
+
ue();
|
|
140
142
|
return;
|
|
141
143
|
}
|
|
142
|
-
|
|
144
|
+
A && z.current.delete(_), w(n), T.current = n;
|
|
143
145
|
} catch {
|
|
144
|
-
|
|
146
|
+
j() && q(_, N, j);
|
|
145
147
|
}
|
|
146
148
|
}
|
|
147
|
-
},
|
|
148
|
-
signal:
|
|
149
|
+
}, P = {
|
|
150
|
+
signal: x.signal,
|
|
149
151
|
onChunk: (e) => {
|
|
150
|
-
if (
|
|
151
|
-
let t =
|
|
152
|
-
if (t?.generationId ===
|
|
153
|
-
let n =
|
|
152
|
+
if (b()) return;
|
|
153
|
+
let t = z.current.get(_);
|
|
154
|
+
if (t?.generationId === g) {
|
|
155
|
+
let n = l([t.message], 0, e);
|
|
154
156
|
n && (t.message = n[0]);
|
|
155
157
|
}
|
|
156
|
-
if (
|
|
157
|
-
if (
|
|
158
|
-
|
|
159
|
-
let e =
|
|
160
|
-
if (
|
|
158
|
+
if (J(_)) {
|
|
159
|
+
if (pe.current && t?.generationId === g) {
|
|
160
|
+
M.schedule(_, () => {
|
|
161
|
+
let e = z.current.get(_);
|
|
162
|
+
if (b() || !J(_) || e?.generationId !== g) return;
|
|
161
163
|
let t = { ...e };
|
|
162
|
-
|
|
164
|
+
w((e) => {
|
|
163
165
|
if (!e) return e;
|
|
164
|
-
let n =
|
|
165
|
-
return
|
|
166
|
+
let n = u(e, t);
|
|
167
|
+
return T.current = n, n;
|
|
166
168
|
});
|
|
167
169
|
});
|
|
168
170
|
return;
|
|
169
171
|
}
|
|
170
|
-
|
|
172
|
+
w((t) => {
|
|
171
173
|
if (!t) return t;
|
|
172
|
-
let n =
|
|
173
|
-
if (n?.generationId ===
|
|
174
|
+
let n = z.current.get(_), r;
|
|
175
|
+
if (n?.generationId === g) r = u(t, n);
|
|
174
176
|
else {
|
|
175
|
-
let n =
|
|
177
|
+
let n = l(t.messages, a, e);
|
|
176
178
|
if (!n) return t;
|
|
177
179
|
r = {
|
|
178
180
|
...t,
|
|
179
181
|
messages: n
|
|
180
182
|
};
|
|
181
183
|
}
|
|
182
|
-
return
|
|
184
|
+
return T.current = r, r;
|
|
183
185
|
});
|
|
184
186
|
}
|
|
185
187
|
},
|
|
186
188
|
onComplete: async () => {
|
|
187
|
-
|
|
189
|
+
M.flush(_), C(), B.current.has(g) ? B.current.delete(g) : b() || O?.notifyGenerationEnd?.(), await N();
|
|
188
190
|
},
|
|
189
191
|
onError: (e) => {
|
|
190
|
-
if (
|
|
191
|
-
|
|
192
|
+
if (M.flush(_), fe.current?.(e), e instanceof o && !b()) {
|
|
193
|
+
U(e);
|
|
192
194
|
return;
|
|
193
195
|
}
|
|
194
|
-
if (e instanceof r &&
|
|
195
|
-
|
|
196
|
+
if (e instanceof r && h.resumeOnConflict && !b()) {
|
|
197
|
+
ge(e);
|
|
196
198
|
return;
|
|
197
199
|
}
|
|
198
|
-
|
|
200
|
+
F(e);
|
|
199
201
|
}
|
|
200
|
-
},
|
|
201
|
-
let t =
|
|
202
|
-
if (n && !(e instanceof i) &&
|
|
203
|
-
me(e, n,
|
|
202
|
+
}, F = (e) => {
|
|
203
|
+
let t = z.current.get(_), n = t?.generationId === g ? t : void 0;
|
|
204
|
+
if (n && !(e instanceof i) && z.current.delete(_), C(), n && E.saveConversation && e instanceof i && e.status === oe) {
|
|
205
|
+
me(e, n, E.saveConversation.bind(E));
|
|
204
206
|
return;
|
|
205
207
|
}
|
|
206
|
-
|
|
207
|
-
},
|
|
208
|
+
I(e, n);
|
|
209
|
+
}, I = (e, t) => {
|
|
208
210
|
if (t && e instanceof i && (t.message = {
|
|
209
211
|
...t.message,
|
|
210
|
-
streamErrorMessage:
|
|
211
|
-
}),
|
|
212
|
-
let n =
|
|
213
|
-
|
|
214
|
-
if (!e ||
|
|
215
|
-
let r = t?.generationId ===
|
|
212
|
+
streamErrorMessage: k
|
|
213
|
+
}), b() || !J(_)) return;
|
|
214
|
+
let n = se(e, de, k);
|
|
215
|
+
w((e) => {
|
|
216
|
+
if (!e || b() || !J(_)) return e;
|
|
217
|
+
let r = t?.generationId === g ? u(e, t) : e, i = {
|
|
216
218
|
...r,
|
|
217
|
-
messages: r.messages.map((e, t) => t ===
|
|
219
|
+
messages: r.messages.map((e, t) => t === a ? {
|
|
218
220
|
...e,
|
|
219
221
|
streamErrorMessage: n
|
|
220
222
|
} : e)
|
|
221
223
|
};
|
|
222
|
-
return
|
|
224
|
+
return T.current = i, i;
|
|
223
225
|
});
|
|
224
226
|
}, me = async (n, r, i) => {
|
|
225
|
-
let a = () =>
|
|
227
|
+
let a = () => H.current && !b() && z.current.get(_) === r;
|
|
226
228
|
try {
|
|
227
|
-
let o = await
|
|
229
|
+
let o = await E.getConversation(e(t));
|
|
228
230
|
if (!a()) return;
|
|
229
|
-
if (r.messageIndex !== o.messages.length - 1 || !
|
|
230
|
-
|
|
231
|
+
if (r.messageIndex !== o.messages.length - 1 || !f(o)) {
|
|
232
|
+
I(n, r);
|
|
231
233
|
return;
|
|
232
234
|
}
|
|
233
|
-
let s = await i(
|
|
234
|
-
if (!a() || (
|
|
235
|
-
|
|
235
|
+
let s = await i(_, u(o, r));
|
|
236
|
+
if (!a() || (z.current.delete(_), !J(_))) return;
|
|
237
|
+
w(s), T.current = s;
|
|
236
238
|
} catch {
|
|
237
|
-
a() &&
|
|
239
|
+
a() && I(n, r);
|
|
238
240
|
}
|
|
239
|
-
},
|
|
240
|
-
|
|
241
|
-
},
|
|
242
|
-
|
|
243
|
-
},
|
|
244
|
-
|
|
245
|
-
},
|
|
246
|
-
if (
|
|
247
|
-
|
|
241
|
+
}, V = () => {
|
|
242
|
+
C(), B.current.has(g) ? B.current.delete(g) : b() || O?.notifyGenerationEnd?.();
|
|
243
|
+
}, U = async (n) => {
|
|
244
|
+
R.current.add(_), W(await te(() => E.getConversation(e(t)), b), n, !1);
|
|
245
|
+
}, ge = async (n) => {
|
|
246
|
+
L.current.get(_) === g && Z(_, !1), R.current.add(_), W(await te(() => E.getConversation(e(t)), b, (e) => e.messages.length === a && e.messages.at(-1)?.role === p.User), n, !0);
|
|
247
|
+
}, W = (e, n, r) => {
|
|
248
|
+
if (b()) {
|
|
249
|
+
C();
|
|
248
250
|
return;
|
|
249
251
|
}
|
|
250
|
-
let i = e?.messages[e.messages.length - 1],
|
|
251
|
-
if (!e || !
|
|
252
|
-
|
|
252
|
+
let i = e?.messages[e.messages.length - 1], o = e != null && e.messages.length - 1 === a && i?.role === p.Assistant, s = r && e != null && d(e) !== -1;
|
|
253
|
+
if (!e || !o && !s) {
|
|
254
|
+
R.current.delete(_), F(n);
|
|
253
255
|
return;
|
|
254
256
|
}
|
|
255
|
-
let c =
|
|
256
|
-
if (
|
|
257
|
+
let c = z.current.get(_), l = c?.generationId === g ? c : void 0;
|
|
258
|
+
if (f(e)) {
|
|
257
259
|
Q(t, e, {
|
|
258
|
-
seedMessage:
|
|
260
|
+
seedMessage: o ? l?.message : void 0,
|
|
259
261
|
skipDedupe: !0,
|
|
260
|
-
onSettled:
|
|
262
|
+
onSettled: V
|
|
261
263
|
});
|
|
262
264
|
return;
|
|
263
265
|
}
|
|
264
|
-
|
|
266
|
+
R.current.delete(_), l && z.current.delete(_), J(_) && (w(e), T.current = e), V();
|
|
265
267
|
};
|
|
266
268
|
(async () => {
|
|
267
269
|
try {
|
|
268
|
-
let e =
|
|
269
|
-
if (
|
|
270
|
-
|
|
270
|
+
let e = D?.channelId ?? await D?.waitForChannel(ae) ?? void 0, t = B.current.has(g);
|
|
271
|
+
if (x.signal.aborted || b() || t) {
|
|
272
|
+
z.current.get(_)?.generationId === g && z.current.delete(_), b() || X(_), xe(_, g), le(_, g), D?.notifyGenerationSettled?.(), t ? B.current.delete(g) : b() || O?.notifyGenerationEnd?.();
|
|
271
273
|
return;
|
|
272
274
|
}
|
|
273
|
-
|
|
275
|
+
E.streamCompletion(_, n, s, P, ee, g, m, v, e);
|
|
274
276
|
} catch (e) {
|
|
275
|
-
|
|
277
|
+
P.onError(e instanceof Error ? e : Error(String(e)));
|
|
276
278
|
}
|
|
277
279
|
})();
|
|
278
280
|
}, [
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
J,
|
|
281
|
+
ce,
|
|
282
|
+
le,
|
|
282
283
|
Y,
|
|
283
284
|
X,
|
|
284
285
|
Z,
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
286
|
+
xe,
|
|
287
|
+
J,
|
|
288
|
+
D?.channelId,
|
|
289
|
+
D?.ensureConnected,
|
|
290
|
+
D?.waitForChannel,
|
|
291
|
+
D?.notifyGenerationSettled,
|
|
292
|
+
O,
|
|
293
|
+
E,
|
|
292
294
|
Q,
|
|
293
295
|
de,
|
|
294
|
-
T,
|
|
295
296
|
k,
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
}
|
|
297
|
+
M,
|
|
298
|
+
q,
|
|
299
|
+
K
|
|
300
|
+
]), Ce = m((e, t) => {
|
|
301
|
+
let n = c(e), r = z.current.get(n);
|
|
302
|
+
return U.current.get(n)?.isCurrent() && r && t.messages.length - 1 >= r.messageIndex && t.messages[r.messageIndex].role === p.Assistant && !f(t) ? (K(n), z.current.delete(n), t) : r ? u(t, r) : t;
|
|
303
|
+
}, [K]), we = m(() => {
|
|
304
|
+
if (!s) return;
|
|
305
|
+
let e = c(s), t = L.current.get(e), n = t ?? C(T.current);
|
|
306
|
+
if (!n || V.current.has(n)) return;
|
|
307
|
+
V.current.add(n), B.current.add(n), M.flush(e), O?.notifyStopGenerating?.();
|
|
308
|
+
let r = z.current.get(e)?.message.content, i = () => L.current.get(e) === n || t == null && F.current.has(e), o = async () => {
|
|
309
|
+
let e = x / S;
|
|
310
|
+
for (let t = 0; t < e; t++) {
|
|
311
|
+
if (!i() || !H.current) return !0;
|
|
312
|
+
await new Promise((e) => setTimeout(e, S));
|
|
313
|
+
}
|
|
314
|
+
return !i();
|
|
315
|
+
};
|
|
316
|
+
(async () => {
|
|
317
|
+
try {
|
|
318
|
+
await E.stopCompletion({
|
|
319
|
+
generationId: n,
|
|
320
|
+
path: e,
|
|
321
|
+
content: r
|
|
322
|
+
});
|
|
323
|
+
} catch (e) {
|
|
324
|
+
let t = e instanceof Error ? e : Error(String(e));
|
|
325
|
+
if (t instanceof a && t.status === b && await o()) return;
|
|
326
|
+
V.current.delete(n), ue?.(t);
|
|
327
|
+
}
|
|
328
|
+
})();
|
|
315
329
|
}, [
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
]),
|
|
330
|
+
s,
|
|
331
|
+
T,
|
|
332
|
+
M,
|
|
333
|
+
ue,
|
|
334
|
+
O,
|
|
335
|
+
E
|
|
336
|
+
]), Te = m((e, t) => Q(e, t), [Q]), Ee = s != null && N.has(c(s)), $ = s == null ? null : c(s), De = $ != null && (I.has($) || Ee && C(T.current) != null), Oe = $ ? ge.get($) : void 0, ke = Oe?.isCurrent() ?? !1;
|
|
323
337
|
return {
|
|
324
|
-
hasConversationReloadError:
|
|
325
|
-
isReloadingConversation: !!
|
|
326
|
-
retryConversationReload:
|
|
327
|
-
startStream:
|
|
328
|
-
handleStop:
|
|
329
|
-
resumeIfAwaitingGeneration:
|
|
330
|
-
restoreBufferedGeneration:
|
|
331
|
-
isStreaming:
|
|
332
|
-
canStopStreaming:
|
|
338
|
+
hasConversationReloadError: ke,
|
|
339
|
+
isReloadingConversation: !!Oe && ke && _e.has(Oe),
|
|
340
|
+
retryConversationReload: ye,
|
|
341
|
+
startStream: Se,
|
|
342
|
+
handleStop: we,
|
|
343
|
+
resumeIfAwaitingGeneration: Te,
|
|
344
|
+
restoreBufferedGeneration: Ce,
|
|
345
|
+
isStreaming: Ee,
|
|
346
|
+
canStopStreaming: De
|
|
333
347
|
};
|
|
334
348
|
};
|
|
335
349
|
//#endregion
|
|
336
|
-
export {
|
|
350
|
+
export { w as useConversationStream };
|
package/conversation.js
CHANGED
|
@@ -1,35 +1,35 @@
|
|
|
1
1
|
import { buildAnnouncementSignature as e, hasAnnouncementContent as t, hasStructuredAnnouncement as n, sanitizeAnnouncementHtml as r, sanitizeAnnouncementMessageHtml as i } from "./conversation/announcement-message.js";
|
|
2
2
|
import { createMemoryConversationDraftStore as a, createWebStorageConversationDraftStore as o } from "./conversation/conversation-draft/conversation-draft-store.js";
|
|
3
|
-
import { DEFAULT_GENERATION_CONFLICT_MESSAGE as s, DEFAULT_GENERATION_PERSISTENCE_ERROR_MESSAGE as c, DEFAULT_STREAM_IDLE_TIMEOUT_MS as l, GenerationConflictError as u, GenerationPersistenceError as d,
|
|
4
|
-
import { shouldWatchForDisplayNameUpdate as
|
|
5
|
-
import { formatAppVersion as
|
|
6
|
-
import { findDeploymentForConversationId as
|
|
7
|
-
import { getTimeOfDayGreeting as
|
|
8
|
-
import { createDeploymentChangedMessage as
|
|
9
|
-
import { getFormSchemaToolSyncKey as
|
|
10
|
-
import { getQuickAppConversationStarters as
|
|
11
|
-
import { mapStages as
|
|
12
|
-
import { getStarterPopulateText as
|
|
13
|
-
import { deriveConversationRowActionState as
|
|
14
|
-
import { useActiveConversationSync as
|
|
15
|
-
import { useAsyncConfirmDialog as
|
|
16
|
-
import { useConversationComposerDraft as
|
|
17
|
-
import { useConversationLookupMaps as
|
|
18
|
-
import { getConversationSource as
|
|
19
|
-
import { useImportFilePicker as
|
|
20
|
-
import { useMessageSelectionReply as
|
|
21
|
-
import { useAttachmentUpload as
|
|
22
|
-
import { AudioTranscriptionError as
|
|
23
|
-
import { useTranscribeAudio as
|
|
24
|
-
import { attachmentToDto as
|
|
25
|
-
import { createMessagePair as
|
|
26
|
-
import { hasActiveToolConfig as
|
|
27
|
-
import { getStarterConversationText as
|
|
28
|
-
import { getConversationPath as
|
|
29
|
-
import { useConversationHandlers as
|
|
30
|
-
import { applyChunkToMessages as
|
|
31
|
-
import { isAwaitingGenerationResume as
|
|
32
|
-
import { useConversationStream as
|
|
33
|
-
import { useChatSettingsFormConfig as
|
|
34
|
-
import { useToolsMenu as
|
|
35
|
-
export {
|
|
3
|
+
import { DEFAULT_GENERATION_CONFLICT_MESSAGE as s, DEFAULT_GENERATION_PERSISTENCE_ERROR_MESSAGE as c, DEFAULT_STREAM_IDLE_TIMEOUT_MS as l, GenerationConflictError as u, GenerationPersistenceError as d, StopCompletionError as f, StreamInterruptedError as p, StreamUpstreamError as m, createChatStreamApi as h } from "./conversation/create-chat-stream-api.js";
|
|
4
|
+
import { shouldWatchForDisplayNameUpdate as g } from "./conversation/display-name-watch.js";
|
|
5
|
+
import { formatAppVersion as _, sanitizeFooterHtml as v } from "./conversation/footer-message.js";
|
|
6
|
+
import { findDeploymentForConversationId as y, getModelIdCandidatesFromConversationId as b, getModelIdFromConversationId as x } from "./conversation/get-model-id-from-conversation-id.js";
|
|
7
|
+
import { getTimeOfDayGreeting as S } from "./conversation/greeting.js";
|
|
8
|
+
import { createDeploymentChangedMessage as C } from "./conversation/message-factory.js";
|
|
9
|
+
import { getFormSchemaToolSyncKey as w, getLastDeploymentId as T, getLastUserMessageToolConfiguration as E, getLatestToolConfiguration as D, getToolConfigurationFromFormSchema as O, isMessageStreaming as k, messageHasStages as A, normalizeResponseFormat as j } from "./conversation/message-utils.js";
|
|
10
|
+
import { getQuickAppConversationStarters as M } from "./conversation/quick-app-conversation-starters.js";
|
|
11
|
+
import { mapStages as N, toStage as P } from "./conversation/stage.js";
|
|
12
|
+
import { getStarterPopulateText as F, getStartersFromSchema as I } from "./conversation/starter-option.js";
|
|
13
|
+
import { deriveConversationRowActionState as L } from "./conversation/deriveConversationRowActionState/deriveConversationRowActionState.js";
|
|
14
|
+
import { useActiveConversationSync as R } from "./conversation/useActiveConversationSync/useActiveConversationSync.js";
|
|
15
|
+
import { useAsyncConfirmDialog as z } from "./conversation/useAsyncConfirmDialog/useAsyncConfirmDialog.js";
|
|
16
|
+
import { useConversationComposerDraft as B } from "./conversation/useConversationComposerDraft/useConversationComposerDraft.js";
|
|
17
|
+
import { useConversationLookupMaps as V } from "./conversation/useConversationLookupMaps/useConversationLookupMaps.js";
|
|
18
|
+
import { getConversationSource as H, useConversationPanelItems as U } from "./conversation/useConversationPanelItems/useConversationPanelItems.js";
|
|
19
|
+
import { useImportFilePicker as W } from "./conversation/useImportFilePicker/useImportFilePicker.js";
|
|
20
|
+
import { useMessageSelectionReply as G } from "./conversation/useMessageSelectionReply/useMessageSelectionReply.js";
|
|
21
|
+
import { useAttachmentUpload as K } from "./conversation/useAttachmentUpload/useAttachmentUpload.js";
|
|
22
|
+
import { AudioTranscriptionError as q, AudioTranscriptionErrorReason as J } from "./conversation/useTranscribeAudio/audio-transcription-error.js";
|
|
23
|
+
import { useTranscribeAudio as Y } from "./conversation/useTranscribeAudio/useTranscribeAudio.js";
|
|
24
|
+
import { attachmentToDto as X, attachmentsToDtos as Z } from "./conversation/useConversationHandlers/attachment-to-dto.js";
|
|
25
|
+
import { createMessagePair as Q } from "./conversation/useConversationHandlers/message-factory.js";
|
|
26
|
+
import { hasActiveToolConfig as $, isAnswerIncomplete as ee, isMessageChanged as te, shouldRerunGenerationOnEdit as ne } from "./conversation/useConversationHandlers/message-utils.js";
|
|
27
|
+
import { getStarterConversationText as re, getStarterDisplayText as ie, getStarterSubmitText as ae } from "./conversation/useConversationHandlers/starter-option.js";
|
|
28
|
+
import { getConversationPath as oe } from "./conversation/useConversationStream/conversation-path.js";
|
|
29
|
+
import { useConversationHandlers as se } from "./conversation/useConversationHandlers/useConversationHandlers.js";
|
|
30
|
+
import { applyChunkToMessages as ce, mergeStages as le } from "./conversation/useConversationStream/apply-chunk.js";
|
|
31
|
+
import { isAwaitingGenerationResume as ue } from "./conversation/useConversationStream/generation-resume.js";
|
|
32
|
+
import { useConversationStream as de } from "./conversation/useConversationStream/useConversationStream.js";
|
|
33
|
+
import { useChatSettingsFormConfig as fe } from "./useChatSettingsFormConfig/useChatSettingsFormConfig.js";
|
|
34
|
+
import { useToolsMenu as pe } from "./useToolsMenu/useToolsMenu.js";
|
|
35
|
+
export { q as AudioTranscriptionError, J as AudioTranscriptionErrorReason, s as DEFAULT_GENERATION_CONFLICT_MESSAGE, c as DEFAULT_GENERATION_PERSISTENCE_ERROR_MESSAGE, l as DEFAULT_STREAM_IDLE_TIMEOUT_MS, u as GenerationConflictError, d as GenerationPersistenceError, f as StopCompletionError, p as StreamInterruptedError, m as StreamUpstreamError, ce as applyChunkToMessages, X as attachmentToDto, Z as attachmentsToDtos, e as buildAnnouncementSignature, h as createChatStreamApi, C as createDeploymentChangedMessage, a as createMemoryConversationDraftStore, Q as createMessagePair, o as createWebStorageConversationDraftStore, L as deriveConversationRowActionState, y as findDeploymentForConversationId, _ as formatAppVersion, oe as getConversationPath, H as getConversationSource, w as getFormSchemaToolSyncKey, T as getLastDeploymentId, E as getLastUserMessageToolConfiguration, D as getLatestToolConfiguration, b as getModelIdCandidatesFromConversationId, x as getModelIdFromConversationId, M as getQuickAppConversationStarters, re as getStarterConversationText, ie as getStarterDisplayText, F as getStarterPopulateText, ae as getStarterSubmitText, I as getStartersFromSchema, S as getTimeOfDayGreeting, O as getToolConfigurationFromFormSchema, $ as hasActiveToolConfig, t as hasAnnouncementContent, n as hasStructuredAnnouncement, ee as isAnswerIncomplete, ue as isAwaitingGenerationResume, te as isMessageChanged, k as isMessageStreaming, N as mapStages, le as mergeStages, A as messageHasStages, j as normalizeResponseFormat, r as sanitizeAnnouncementHtml, i as sanitizeAnnouncementMessageHtml, v as sanitizeFooterHtml, ne as shouldRerunGenerationOnEdit, g as shouldWatchForDisplayNameUpdate, P as toStage, R as useActiveConversationSync, z as useAsyncConfirmDialog, K as useAttachmentUpload, fe as useChatSettingsFormConfig, B as useConversationComposerDraft, se as useConversationHandlers, V as useConversationLookupMaps, U as useConversationPanelItems, de as useConversationStream, W as useImportFilePicker, G as useMessageSelectionReply, pe as useToolsMenu, Y as useTranscribeAudio };
|
package/index.js
CHANGED
|
@@ -48,117 +48,117 @@ import { FavoriteEntityType as Kt, useFavoriteEntitiesState as qt } from "./cata
|
|
|
48
48
|
import { usePublishFolders as Jt } from "./catalog/usePublishFolders/usePublishFolders.js";
|
|
49
49
|
import { buildAnnouncementSignature as Yt, hasAnnouncementContent as Xt, hasStructuredAnnouncement as Zt, sanitizeAnnouncementHtml as Qt, sanitizeAnnouncementMessageHtml as $t } from "./conversation/announcement-message.js";
|
|
50
50
|
import { createMemoryConversationDraftStore as en, createWebStorageConversationDraftStore as tn } from "./conversation/conversation-draft/conversation-draft-store.js";
|
|
51
|
-
import { DEFAULT_GENERATION_CONFLICT_MESSAGE as nn, DEFAULT_GENERATION_PERSISTENCE_ERROR_MESSAGE as rn, DEFAULT_STREAM_IDLE_TIMEOUT_MS as an, GenerationConflictError as on, GenerationPersistenceError as sn,
|
|
52
|
-
import { shouldWatchForDisplayNameUpdate as
|
|
53
|
-
import { formatAppVersion as
|
|
54
|
-
import { findDeploymentForConversationId as
|
|
55
|
-
import { getTimeOfDayGreeting as
|
|
56
|
-
import { createDeploymentChangedMessage as
|
|
57
|
-
import { getFormSchemaToolSyncKey as
|
|
58
|
-
import { toOverlayMessages as
|
|
59
|
-
import { getQuickAppConversationStarters as
|
|
60
|
-
import { mapStages as
|
|
61
|
-
import { getStarterPopulateText as
|
|
62
|
-
import { useOAuthCallbackCompletion as
|
|
63
|
-
import { buildPromptExportEnvelope as
|
|
64
|
-
import { PROMPT_CONTENT_MAX_LENGTH as
|
|
65
|
-
import { usePromptsState as
|
|
66
|
-
import { UnsupportedTriggerReason as
|
|
67
|
-
import { ScheduledTaskTriggerDescriptionKind as
|
|
68
|
-
import { apSchedulerDayToJsDay as
|
|
69
|
-
import { mapFormValuesToCreateBody as
|
|
70
|
-
import { prepareScheduledTaskCreateBody as
|
|
71
|
-
import { createScheduledTasksApiClient as
|
|
72
|
-
import { useScheduledTasks as
|
|
73
|
-
import { mergeRunsById as
|
|
74
|
-
import { mapOfflineCredentialsResponse as
|
|
75
|
-
import { OfflineCredentialsGateStatus as
|
|
76
|
-
import { OfflineCredentialsLoginOutcomeType as
|
|
77
|
-
import { OfflineCredentialsLogoutOutcomeType as
|
|
78
|
-
import { checkScheduledTaskAuthSessionError as
|
|
79
|
-
import { validateSkillFileBatch as
|
|
80
|
-
import { skillFileToAttachment as
|
|
81
|
-
import { SkillEditorLoadState as
|
|
82
|
-
import { useSkillEditorSubmit as
|
|
83
|
-
import { useSkillFileActions as
|
|
84
|
-
import { SkillPreviewErrorKind as
|
|
85
|
-
import { useSkillsState as
|
|
86
|
-
import { SkillArchiveImportErrorKind as
|
|
87
|
-
import { RecipientsCountStatus as
|
|
88
|
-
import { deriveConversationRowActionState as
|
|
89
|
-
import { useActiveConversationSync as
|
|
90
|
-
import { useAsyncConfirmDialog as
|
|
91
|
-
import { useConversationComposerDraft as
|
|
92
|
-
import { useConversationLookupMaps as
|
|
93
|
-
import { getConversationSource as
|
|
94
|
-
import { useImportFilePicker as
|
|
95
|
-
import { useMessageSelectionReply as
|
|
96
|
-
import { sanitizeFileName as
|
|
97
|
-
import { useAttachmentUpload as
|
|
98
|
-
import { AudioTranscriptionError as
|
|
99
|
-
import { useTranscribeAudio as
|
|
100
|
-
import { DEFAULT_MAX_ARCHIVE_BYTES as
|
|
101
|
-
import { attachmentToDto as
|
|
102
|
-
import { createMessagePair as
|
|
103
|
-
import { hasActiveToolConfig as
|
|
104
|
-
import { getStarterConversationText as
|
|
105
|
-
import { getConversationPath as
|
|
106
|
-
import { useConversationHandlers as
|
|
107
|
-
import { useConversationImport as
|
|
108
|
-
import { useConversationScroll as
|
|
109
|
-
import { applyChunkToMessages as
|
|
110
|
-
import { isAwaitingGenerationResume as
|
|
111
|
-
import { useConversationStream as
|
|
112
|
-
import { useConversationSources as
|
|
113
|
-
import { DialFilesApiUploadMode as
|
|
114
|
-
import { FileManagerNotificationReason as
|
|
115
|
-
import { COLUMNS_MY_FILES as
|
|
116
|
-
import { buildSharedItemVirtualPath as
|
|
117
|
-
import { resolveDialFileApiPath as
|
|
118
|
-
import { prepareCopyItems as
|
|
119
|
-
import { buildFromCache as
|
|
120
|
-
import { createFilesApiClient as
|
|
121
|
-
import { createUploadFileWithProgress as
|
|
122
|
-
import { openAnnotationAttachment as
|
|
123
|
-
import { annotationToOoxmlCanvasContent as
|
|
124
|
-
import { getUrlFileName as
|
|
125
|
-
import { annotationToDisplayAttachment as
|
|
126
|
-
import { dialFileToAttachment as
|
|
127
|
-
import { DownloadDestinationType as
|
|
128
|
-
import { prepareDownloadDestination as
|
|
129
|
-
import { deriveActionProfile as
|
|
130
|
-
import { useDialFileListing as
|
|
131
|
-
import { useDialFileMetadata as
|
|
132
|
-
import { useDialFileMutations as
|
|
133
|
-
import { useDialFileSharing as
|
|
134
|
-
import { useDialFileUploadBatch as
|
|
135
|
-
import { useDialFileManager as
|
|
136
|
-
import { useDialFileManagerSections as
|
|
137
|
-
import { useDialFileManagerTabConfig as
|
|
138
|
-
import { useFileAttachmentPicker as
|
|
139
|
-
import { getBrowserTimezone as
|
|
140
|
-
import { isValidAbsoluteUrl as
|
|
141
|
-
import { buildExternalServiceScopeId as
|
|
142
|
-
import { useChatSettingsFormConfig as
|
|
143
|
-
import { usePageFileDrag as
|
|
144
|
-
import { useViewportWidth as
|
|
145
|
-
import { usePanelMaxWidth as
|
|
146
|
-
import { useShareLink as
|
|
147
|
-
import { useToolsMenu as
|
|
148
|
-
import { USAGE_DATA_I18N_KEYS as
|
|
149
|
-
import { USAGE_MODEL_LIMITS_I18N_KEYS as
|
|
150
|
-
import { UsagePeriod as
|
|
151
|
-
import { isCappedStat as
|
|
152
|
-
import { USAGE_RESET_I18N_KEYS as
|
|
153
|
-
import { useDeploymentUsageLimits as
|
|
154
|
-
import { useRefreshUsageAfterGeneration as
|
|
155
|
-
import { resetUsageLimitBannerDismissals as
|
|
156
|
-
import { USAGE_BANNER_I18N_KEYS as
|
|
157
|
-
import { useUsageData as
|
|
158
|
-
import { McpAppResourceFetchError as
|
|
159
|
-
import { useMcpAppTools as
|
|
160
|
-
import { useMcpAppHostContext as
|
|
161
|
-
import { useMcpAppHostAdapter as
|
|
162
|
-
import { useOpenMcpAppCanvas as
|
|
163
|
-
import { useGridEditingScroll as
|
|
164
|
-
export { x as AttachmentValidationErrorReason, Kr as AudioTranscriptionError, qr as AudioTranscriptionErrorReason, B as AuthenticationType, bi as COLUMNS_MY_FILES, xi as COLUMNS_ORGANIZATION, Si as COLUMNS_SHARED, Ci as CORE_PERMISSION_MAP, Ct as CatalogPrimaryActionType, T as ConversationExportMode, E as ConversationTransferErrorCode, D as ConversationTransferWarningCode, wi as DATE_OPTIONS, he as DEFAULT_ENTITY_DETAILS_LABELS, nn as DEFAULT_GENERATION_CONFLICT_MESSAGE, rn as DEFAULT_GENERATION_PERSISTENCE_ERROR_MESSAGE, Yr as DEFAULT_MAX_ARCHIVE_BYTES, an as DEFAULT_STREAM_IDLE_TIMEOUT_MS, Ti as DIAL_FILE_MANAGER_SECTION_TABS, gi as DialFilesApiUploadMode, Na as DownloadDestinationType, k as EXPORT_APP_NAME, O as ExportFileNameKind, Kt as FavoriteEntityType, _i as FileManagerNotificationReason, vi as FileNameValidationErrorReason, yi as FileOperationKind, on as GenerationConflictError, sn as GenerationPersistenceError, Co as McpAppResourceFetchError, ct as McpResourceKind, W as OAuthResourceKind, ur as OfflineCredentialsGateStatus, fr as OfflineCredentialsLoginOutcomeType, mr as OfflineCredentialsLogoutOutcomeType, Ei as PATH_SEPARATOR_REGEXP, Ln as PROMPT_CONTENT_MAX_LENGTH, Rn as PROMPT_COUNTER_ANNOUNCE_THRESHOLD, zn as PROMPT_DESCRIPTION_MAX_LENGTH, Bn as PROMPT_NAME_MAX_LENGTH, Je as PUBLIC_SKILL_BUCKET, Vn as PromptFieldError, Ce as PromptSource, Di as RESERVED_MARKER_NAME, jr as RecipientsCountStatus, Oe as SKILL_FILE_UPLOAD_MAX_BYTES, ke as SKILL_FOLDER_MARKER, Ye as SKILL_LISTING_MAX_PAGES, Xe as SKILL_LISTING_PAGE_SIZE, Ae as SKILL_MANIFEST_FILE, Ze as SKILL_MANIFEST_MAX_BYTES, je as SKILL_TEXT_FIELD_MAX_LENGTHS, Me as SKILL_UPLOAD_MAX_FILES, Ne as SKILL_UPLOAD_MAX_TOTAL_BYTES, Yn as ScheduledTaskTriggerDescriptionKind, Er as SkillArchiveImportErrorKind, Dr as SkillArchiveImportStatus, Or as SkillArchiveSelectionRejectionReason, yr as SkillEditorLoadState, Cr as SkillPreviewErrorKind, Qe as SkillSource, cn as StreamInterruptedError, ln as StreamUpstreamError, G as TOOLSET_REDIRECT_STATE_KEY, K as ToolsetAuthStatus, q as ToolsetAuthTypes, J as ToolsetCredentialsLevel, Vt as ToolsetLoginOutcomeType, Y as ToolsetOAuthCallbackQuery, X as ToolsetOAuthChannelControlType, Z as ToolsetOAuthFailureReason, Q as ToolsetOAuthInitiationResultType, $ as ToolsetOAuthResultType, Oi as UPLOAD_CONCURRENCY, bo as USAGE_BANNER_I18N_KEYS, io as USAGE_DATA_I18N_KEYS, oo as USAGE_MODEL_LIMITS_I18N_KEYS, po as USAGE_RESET_I18N_KEYS, Jn as UnsupportedTriggerReason, lo as UsagePeriod, ee as WithLogin, Da as annotationToDisplayAttachment, la as annotationToOoxmlCanvasContent, ua as annotationToPdfCanvasContent, Zn as apSchedulerDayToJsDay, se as appendLocaleCode, di as applyChunkToMessages, Oa as attachmentDtoToDisplayAttachment, ka as attachmentDtosToDisplayAttachments, Zr as attachmentToDto, Qr as attachmentsToDtos, ce as buildAdditionalLocaleOptions, Yt as buildAnnouncementSignature, lt as buildApplicationMcpUrl, N as buildChatCompletionsUrl, ut as buildConnectApi, P as buildDeploymentConnectApi, Ya as buildExternalServiceScopeId, Xi as buildFromCache, Pn as buildPromptExportEnvelope, Fn as buildPromptExportFileName, Te as buildPromptOverview, Hn as buildPromptPath, V as buildResetFields, F as buildResponsesUrl, ki as buildSharedItemVirtualPath, Zi as buildSharedSearchScope, et as buildSkillContentTree, Pe as buildSkillFilesPayload, Fe as buildSkillManifest, Ie as buildSkillManifestForSubmit, Le as buildSkillManifestFromFrontmatter, tt as buildSkillOverview, It as buildToolsetAuthorizeUrl, dt as buildToolsetMcpUrl, gr as checkScheduledTaskAuthSessionError, kr as classifySkillArchiveImportError, da as clearAttachmentCache, le as composeLocalePayload, un as createChatStreamApi, i as createCsrfMiddleware, vn as createDeploymentChangedMessage, oa as createFilesApiClient, wo as createMcpAppsApiClient, en as createMemoryConversationDraftStore, $r as createMessagePair, j as createPublishApiClient, ir as createScheduledTasksApiClient, a as createUnauthorizedMiddleware, sa as createUploadFileWithProgress, tn as createWebStorageConversationDraftStore, I as decodeDeploymentId, te as decodeToolsetId, ue as decomposeLocalizedFields, Fa as deriveActionProfile, vt as deriveAvailableTabIds, Nr as deriveConversationRowActionState, yt as deriveFavoriteItems, Xn as describeScheduledTaskTrigger, Ai as dialCorePathToRelative, Aa as dialFileToAttachment, ja as dialFilesToAttachments, Ma as dialFolderPathToAttachment, m as downloadAttachment, Mt as emitToolsetLoginSuccess, L as encodeDeploymentId, ne as encodeToolsetId, Qi as fetchByTab, $i as fetchForSearch, bt as filterCatalogItemsBySelector, xt as filterHiddenOwnedItems, R as findDeploymentByIdOrReference, mn as findDeploymentForConversationId, ji as findDialFileByPath, ea as findFirstSuccessfulCopyMoveItem, Mi as findFolderByVirtualPath, fn as formatAppVersion, pe as formatCalendarDate, C as formatDateYM, w as formatDateYMD, Ni as formatOperationFolderName, A as formatQuotedNameList, mo as formatUsageResetShort, ho as formatUsageResetTime, e as getApiErrorDetails, t as getApiErrorMessage, n as getApiErrorStatus, Ga as getBrowserTimezone, si as getConversationPath, Rr as getConversationSource, Xa as getExternalServiceFallbackName, yn as getFormSchemaToolSyncKey, bn as getLastDeploymentId, xn as getLastUserMessageToolConfiguration, Sn as getLatestToolConfiguration, hn as getModelIdCandidatesFromConversationId, gn as getModelIdFromConversationId, pt as getPublicCatalogEntityFolderPath, On as getQuickAppConversationStarters, Un as getRemainingCharacters, Tt as getRunnerSchemas, Re as getSkillFieldLengthViolations, ii as getStarterConversationText, ai as getStarterDisplayText, jn as getStarterPopulateText, oi as getStarterSubmitText, Mn as getStartersFromSchema, _n as getTimeOfDayGreeting, Cn as getToolConfigurationFromFormSchema, Pt as getToolsetOAuthChannelName, Lt as getToolsetRedirectUri, wa as getUrlFileName, Pi as getVirtualPathName, ei as hasActiveToolConfig, Xt as hasAnnouncementContent, fa as hasAttachmentTextSource, Fi as hasDialFileWritePermission, Ii as hasForbiddenNameSymbols, Li as hasSamePaths, Zt as hasStructuredAnnouncement, o as includesIgnoreCase, Rt as initiateOAuthLogin, ti as isAnswerIncomplete, pi as isAwaitingGenerationResume, uo as isCappedStat, r as isConversationNotFoundError, Ri as isCopyMoveDuplicateAllowed, Et as isCustomAppSchema, _ as isDialFileAcceptType, d as isDialFileId, h as isDownloadableAttachment, Ta as isExternalSourcePreviewable, ni as isMessageChanged, wn as isMessageStreaming, Ee as isOrganisationPromptItem, mt as isPublicCatalogEntityId, re as isPublicToolsetId, Dt as isQuickAppSchema, zi as isShareActionsAllowed, ze as isSkillFolderMarkerPath, Ka as isValidAbsoluteUrl, qa as isValidFeaturesData, Be as isValidSkillRelativePath, Qn as jsDayToApSchedulerDay, ta as mapCorePermissions, ge as mapDeploymentDetailsDtoToEntityDetails, U as mapDeploymentLimitsDtoToCatalogLimits, H as mapDeploymentLimitsToInput, ye as mapDeploymentToCatalogItem, be as mapDeploymentToolsetCredentials, _e as mapEntityDetailsToCatalogDetails, na as mapFileMetadataToDialFile, $n as mapFormValuesToCreateBody, er as mapFormValuesToUpdateBody, cr as mapOfflineCredentialsResponse, so as mapOverallCostLimitsToPeriodStatuses, De as mapPromptToCatalogItem, ht as mapPublishConversationResultDto, gt as mapPublishHistoryEntryDto, tr as mapScheduledTaskDtoToFormValues, ra as mapSearchItem, nt as mapSkillToCatalogItem, kn as mapStages, ve as mapToolsetCredentials, xe as mapToolsetToCatalogItem, ao as mapUsageDataToDashboard, co as mapUserUsageToModelLimits, ia as mergeCreatedFolderIntoCache, or as mergeRunsById, fi as mergeStages, Tn as messageHasStages, v as mimeTypesToAttachmentExtensionLabels, y as mimeTypesToDialFileAcceptTypes, b as mimeTypesToFileAccept, Ve as nameFromPath, zt as navigateToolsetOAuthPopup, z as normalizeDeploymentId, lr as normalizeOfflineCredentialsConnectSettings, En as normalizeResponseFormat, He as normalizeSkillName, ie as normalizeToolsetId, Bi as normalizeVirtualPath, ca as openAnnotationAttachment, Bt as openToolsetOAuthPopup, me as padTwoDigits, Za as parseExternalServiceUrl, Ja as parseFeaturesData, Vi as parseNewFolderVirtualPath, we as parsePromptResourceUrl, Ue as parseSkillManifest, kt as parseSkillManifestDocument, $e as parseSkillResourceUrl, Ji as prepareCopyItems, Pa as prepareDownloadDestination, Yi as prepareMoveRenameItems, nr as prepareScheduledTaskCreateBody, rr as prepareScheduledTaskUpdateBody, rt as readSkillFileBytes, it as readSkillFilePreviewBytes, at as readSkillManifest, St as reconcileFilterTopics, pa as referenceAttachmentToPdfCanvasContent, vo as resetUsageLimitBannerDismissals, wt as resolveCatalogPrimaryAction, ma as resolveCodeCanvasContent, Se as resolveDeploymentFolder, Ki as resolveDialFileApiPath, f as resolveDialFileBucketAndPath, Ea as resolveExternalSourceContentType, ha as resolveGroupedVisualizerCanvasContent, ga as resolveHtmlCanvasContent, _a as resolveImageCanvasContent, va as resolveJsonCanvasContent, de as resolveLocalizedText, ya as resolveMarkdownCanvasContent, ft as resolveMcpResourceKind, ba as resolveOoxmlCanvasContent, Hi as resolveOwnerCoords, xa as resolvePdfCanvasContent, p as resolveRelativeDialFilePath, Ui as resolveSectionByPath, ot as resolveSkillFileDownloadPath, st as resolveSkillManifestFileId, Sa as resolveTextCanvasContent, ae as resolveToolsetCredentialsLevel, Ca as resolveVisualizerCanvasContent, s as safeDecodeURI, c as safeDecodeURIComponent, Qt as sanitizeAnnouncementHtml, $t as sanitizeAnnouncementMessageHtml, Hr as sanitizeFileName, pn as sanitizeFooterHtml, oe as selectToolsetAuthStatus, fo as selectUsageBannerSource, In as serializePromptExport, ri as shouldRerunGenerationOnEdit, dn as shouldWatchForDisplayNameUpdate, We as skillFileBytesToBlob, vr as skillFileToAttachment, Ge as skillFolderMarkerParent, Ur as splitFileNameExtension, Ke as startsWithFrontmatterBlock, l as stripSurroundingSlashes, u as stripTrailingSlashes, Nt as subscribeToolsetLoginSuccess, fe as toBaseLocale, Dn as toOverlayMessages, _t as toPublishEntityType, M as toPublishRuleDto, An as toStage, Wr as trimFileNameToByteLimit, Wi as unionPathSets, qe as unpackSkillArchive, aa as updateEntry, Pr as useActiveConversationSync, Wt as useApplicationCredentials, Fr as useAsyncConfirmDialog, g as useAttachmentAction, Gr as useAttachmentUpload, S as useAttachmentValidation, Ot as useCatalogEditNavigation, jt as useCatalogItemDetails, Ut as useCatalogToolsetCredentials, Qa as useChatSettingsFormConfig, Ir as useConversationComposerDraft, Xr as useConversationExport, ci as useConversationHandlers, li as useConversationImport, Lr as useConversationLookupMaps, zr as useConversationPanelItems, ui as useConversationScroll, hi as useConversationSources, mi as useConversationStream, go as useDeploymentUsageLimits, Ia as useDialFileListing, Va as useDialFileManager, Ha as useDialFileManagerSections, Ua as useDialFileManagerTabConfig, La as useDialFileMetadata, Ra as useDialFileMutations, za as useDialFileSharing, Ba as useDialFileUploadBatch, qt as useFavoriteEntitiesState, Wa as useFileAttachmentPicker, ko as useGridEditingScroll, Br as useImportFilePicker, Do as useMcpAppHostAdapter, Eo as useMcpAppHostContext, To as useMcpAppTools, Vr as useMessageSelectionReply, Nn as useOAuthCallbackCompletion, hr as useOfflineCredentialsAuth, dr as useOfflineCredentialsGate, pr as useOfflineCredentialsLogin, Oo as useOpenMcpAppCanvas, $a as usePageFileDrag, to as usePanelMaxWidth, qn as usePromptsState, Jt as usePublishFolders, _o as useRefreshUsageAfterGeneration, sr as useScheduledTaskRuns, ar as useScheduledTasks, no as useShareLink, Mr as useShareRecipientsCount, Ar as useSkillArchiveImport, Gt as useSkillDetailsPanelData, br as useSkillEditorLoad, xr as useSkillEditorSubmit, Sr as useSkillFileActions, wr as useSkillFilePreview, At as useSkillItemDetails, Tr as useSkillsState, ro as useToolsMenu, Ht as useToolsetLogin, Jr as useTranscribeAudio, So as useUsageData, xo as useUsageLimitBanner, yo as useUsageLimitBannerDismissal, eo as useViewportWidth, Wn as validatePromptContent, Gn as validatePromptDescription, Kn as validatePromptName, _r as validateSkillFileBatch, qi as virtualPathToApiPath, Ft as waitForToolsetOAuthResult, Gi as withRoutableRootLabels };
|
|
51
|
+
import { DEFAULT_GENERATION_CONFLICT_MESSAGE as nn, DEFAULT_GENERATION_PERSISTENCE_ERROR_MESSAGE as rn, DEFAULT_STREAM_IDLE_TIMEOUT_MS as an, GenerationConflictError as on, GenerationPersistenceError as sn, StopCompletionError as cn, StreamInterruptedError as ln, StreamUpstreamError as un, createChatStreamApi as dn } from "./conversation/create-chat-stream-api.js";
|
|
52
|
+
import { shouldWatchForDisplayNameUpdate as fn } from "./conversation/display-name-watch.js";
|
|
53
|
+
import { formatAppVersion as pn, sanitizeFooterHtml as mn } from "./conversation/footer-message.js";
|
|
54
|
+
import { findDeploymentForConversationId as hn, getModelIdCandidatesFromConversationId as gn, getModelIdFromConversationId as _n } from "./conversation/get-model-id-from-conversation-id.js";
|
|
55
|
+
import { getTimeOfDayGreeting as vn } from "./conversation/greeting.js";
|
|
56
|
+
import { createDeploymentChangedMessage as yn } from "./conversation/message-factory.js";
|
|
57
|
+
import { getFormSchemaToolSyncKey as bn, getLastDeploymentId as xn, getLastUserMessageToolConfiguration as Sn, getLatestToolConfiguration as Cn, getToolConfigurationFromFormSchema as wn, isMessageStreaming as Tn, messageHasStages as En, normalizeResponseFormat as Dn } from "./conversation/message-utils.js";
|
|
58
|
+
import { toOverlayMessages as On } from "./conversation/overlay-messages.js";
|
|
59
|
+
import { getQuickAppConversationStarters as kn } from "./conversation/quick-app-conversation-starters.js";
|
|
60
|
+
import { mapStages as An, toStage as jn } from "./conversation/stage.js";
|
|
61
|
+
import { getStarterPopulateText as Mn, getStartersFromSchema as Nn } from "./conversation/starter-option.js";
|
|
62
|
+
import { useOAuthCallbackCompletion as Pn } from "./oauth/useOAuthCallbackCompletion/useOAuthCallbackCompletion.js";
|
|
63
|
+
import { buildPromptExportEnvelope as Fn, buildPromptExportFileName as In, serializePromptExport as Ln } from "./prompt/export-prompt.js";
|
|
64
|
+
import { PROMPT_CONTENT_MAX_LENGTH as Rn, PROMPT_COUNTER_ANNOUNCE_THRESHOLD as zn, PROMPT_DESCRIPTION_MAX_LENGTH as Bn, PROMPT_NAME_MAX_LENGTH as Vn, PromptFieldError as Hn, buildPromptPath as Un, getRemainingCharacters as Wn, validatePromptContent as Gn, validatePromptDescription as Kn, validatePromptName as qn } from "./prompt/prompt.js";
|
|
65
|
+
import { usePromptsState as Jn } from "./prompt/usePromptsState/usePromptsState.js";
|
|
66
|
+
import { UnsupportedTriggerReason as Yn } from "./scheduled-task/scheduled-task-mapping.js";
|
|
67
|
+
import { ScheduledTaskTriggerDescriptionKind as Xn, describeScheduledTaskTrigger as Zn } from "./scheduled-task/scheduled-task-description.js";
|
|
68
|
+
import { apSchedulerDayToJsDay as Qn, jsDayToApSchedulerDay as $n } from "./shared/cron-weekday.js";
|
|
69
|
+
import { mapFormValuesToCreateBody as er, mapFormValuesToUpdateBody as tr, mapScheduledTaskDtoToFormValues as nr } from "./scheduled-task/scheduled-task-trigger.js";
|
|
70
|
+
import { prepareScheduledTaskCreateBody as rr, prepareScheduledTaskUpdateBody as ir } from "./scheduled-task/scheduled-task-preparation.js";
|
|
71
|
+
import { createScheduledTasksApiClient as ar } from "./scheduled-task/scheduled-tasks-api-client.js";
|
|
72
|
+
import { useScheduledTasks as or } from "./scheduled-task/use-scheduled-tasks.js";
|
|
73
|
+
import { mergeRunsById as sr, useScheduledTaskRuns as cr } from "./scheduled-task/use-scheduled-task-runs.js";
|
|
74
|
+
import { mapOfflineCredentialsResponse as lr, normalizeOfflineCredentialsConnectSettings as ur } from "./offline-credentials/map-offline-credentials-response.js";
|
|
75
|
+
import { OfflineCredentialsGateStatus as dr, useOfflineCredentialsGate as fr } from "./offline-credentials/useOfflineCredentialsGate/useOfflineCredentialsGate.js";
|
|
76
|
+
import { OfflineCredentialsLoginOutcomeType as pr, useOfflineCredentialsLogin as mr } from "./offline-credentials/useOfflineCredentialsLogin/useOfflineCredentialsLogin.js";
|
|
77
|
+
import { OfflineCredentialsLogoutOutcomeType as hr, useOfflineCredentialsAuth as gr } from "./offline-credentials/useOfflineCredentialsAuth/useOfflineCredentialsAuth.js";
|
|
78
|
+
import { checkScheduledTaskAuthSessionError as _r } from "./scheduled-task/check-scheduled-task-auth-session-error.js";
|
|
79
|
+
import { validateSkillFileBatch as vr } from "./skill/skill-file-batch-validation.js";
|
|
80
|
+
import { skillFileToAttachment as yr } from "./skill/skill-file-preview.js";
|
|
81
|
+
import { SkillEditorLoadState as br, useSkillEditorLoad as xr } from "./skill/useSkillEditorLoad.js";
|
|
82
|
+
import { useSkillEditorSubmit as Sr } from "./skill/useSkillEditorSubmit.js";
|
|
83
|
+
import { useSkillFileActions as Cr } from "./skill/useSkillFileActions.js";
|
|
84
|
+
import { SkillPreviewErrorKind as wr, useSkillFilePreview as Tr } from "./skill/useSkillFilePreview.js";
|
|
85
|
+
import { useSkillsState as Er } from "./skill/useSkillsState/useSkillsState.js";
|
|
86
|
+
import { SkillArchiveImportErrorKind as Dr, SkillArchiveImportStatus as Or, SkillArchiveSelectionRejectionReason as kr, classifySkillArchiveImportError as Ar, useSkillArchiveImport as jr } from "./skill/useSkillArchiveImport/useSkillArchiveImport.js";
|
|
87
|
+
import { RecipientsCountStatus as Mr, useShareRecipientsCount as Nr } from "./useShareRecipientsCount/useShareRecipientsCount.js";
|
|
88
|
+
import { deriveConversationRowActionState as Pr } from "./conversation/deriveConversationRowActionState/deriveConversationRowActionState.js";
|
|
89
|
+
import { useActiveConversationSync as Fr } from "./conversation/useActiveConversationSync/useActiveConversationSync.js";
|
|
90
|
+
import { useAsyncConfirmDialog as Ir } from "./conversation/useAsyncConfirmDialog/useAsyncConfirmDialog.js";
|
|
91
|
+
import { useConversationComposerDraft as Lr } from "./conversation/useConversationComposerDraft/useConversationComposerDraft.js";
|
|
92
|
+
import { useConversationLookupMaps as Rr } from "./conversation/useConversationLookupMaps/useConversationLookupMaps.js";
|
|
93
|
+
import { getConversationSource as zr, useConversationPanelItems as Br } from "./conversation/useConversationPanelItems/useConversationPanelItems.js";
|
|
94
|
+
import { useImportFilePicker as Vr } from "./conversation/useImportFilePicker/useImportFilePicker.js";
|
|
95
|
+
import { useMessageSelectionReply as Hr } from "./conversation/useMessageSelectionReply/useMessageSelectionReply.js";
|
|
96
|
+
import { sanitizeFileName as Ur, splitFileNameExtension as Wr, trimFileNameToByteLimit as Gr } from "./files/file-name.js";
|
|
97
|
+
import { useAttachmentUpload as Kr } from "./conversation/useAttachmentUpload/useAttachmentUpload.js";
|
|
98
|
+
import { AudioTranscriptionError as qr, AudioTranscriptionErrorReason as Jr } from "./conversation/useTranscribeAudio/audio-transcription-error.js";
|
|
99
|
+
import { useTranscribeAudio as Yr } from "./conversation/useTranscribeAudio/useTranscribeAudio.js";
|
|
100
|
+
import { DEFAULT_MAX_ARCHIVE_BYTES as Xr, useConversationExport as Zr } from "./conversation/useConversationExport/useConversationExport.js";
|
|
101
|
+
import { attachmentToDto as Qr, attachmentsToDtos as $r } from "./conversation/useConversationHandlers/attachment-to-dto.js";
|
|
102
|
+
import { createMessagePair as ei } from "./conversation/useConversationHandlers/message-factory.js";
|
|
103
|
+
import { hasActiveToolConfig as ti, isAnswerIncomplete as ni, isMessageChanged as ri, shouldRerunGenerationOnEdit as ii } from "./conversation/useConversationHandlers/message-utils.js";
|
|
104
|
+
import { getStarterConversationText as ai, getStarterDisplayText as oi, getStarterSubmitText as si } from "./conversation/useConversationHandlers/starter-option.js";
|
|
105
|
+
import { getConversationPath as ci } from "./conversation/useConversationStream/conversation-path.js";
|
|
106
|
+
import { useConversationHandlers as li } from "./conversation/useConversationHandlers/useConversationHandlers.js";
|
|
107
|
+
import { useConversationImport as ui } from "./conversation/useConversationImport/useConversationImport.js";
|
|
108
|
+
import { useConversationScroll as di } from "./conversation/useConversationScroll/useConversationScroll.js";
|
|
109
|
+
import { applyChunkToMessages as fi, mergeStages as pi } from "./conversation/useConversationStream/apply-chunk.js";
|
|
110
|
+
import { isAwaitingGenerationResume as mi } from "./conversation/useConversationStream/generation-resume.js";
|
|
111
|
+
import { useConversationStream as hi } from "./conversation/useConversationStream/useConversationStream.js";
|
|
112
|
+
import { useConversationSources as gi } from "./conversation-sources/useConversationSources/useConversationSources.js";
|
|
113
|
+
import { DialFilesApiUploadMode as _i } from "./files/dial-files-api.js";
|
|
114
|
+
import { FileManagerNotificationReason as vi, FileNameValidationErrorReason as yi, FileOperationKind as bi } from "./files/dial-file-manager.types.js";
|
|
115
|
+
import { COLUMNS_MY_FILES as xi, COLUMNS_ORGANIZATION as Si, COLUMNS_SHARED as Ci, CORE_PERMISSION_MAP as wi, DATE_OPTIONS as Ti, DIAL_FILE_MANAGER_SECTION_TABS as Ei, PATH_SEPARATOR_REGEXP as Di, RESERVED_MARKER_NAME as Oi, UPLOAD_CONCURRENCY as ki } from "./files/dial-file-manager.model.js";
|
|
116
|
+
import { buildSharedItemVirtualPath as Ai, dialCorePathToRelative as ji, findDialFileByPath as Mi, findFolderByVirtualPath as Ni, formatOperationFolderName as Pi, getVirtualPathName as Fi, hasDialFileWritePermission as Ii, hasForbiddenNameSymbols as Li, hasSamePaths as Ri, isCopyMoveDuplicateAllowed as zi, isShareActionsAllowed as Bi, normalizeVirtualPath as Vi, parseNewFolderVirtualPath as Hi, resolveOwnerCoords as Ui, resolveSectionByPath as Wi, unionPathSets as Gi, withRoutableRootLabels as Ki } from "./files/dial-file-manager-path.util.js";
|
|
117
|
+
import { resolveDialFileApiPath as qi, virtualPathToApiPath as Ji } from "./files/resolve-dial-file-api-path.js";
|
|
118
|
+
import { prepareCopyItems as Yi, prepareMoveRenameItems as Xi } from "./files/dial-file-manager-copy-move.util.js";
|
|
119
|
+
import { buildFromCache as Zi, buildSharedSearchScope as Qi, fetchByTab as $i, fetchForSearch as ea, findFirstSuccessfulCopyMoveItem as ta, mapCorePermissions as na, mapFileMetadataToDialFile as ra, mapSearchItem as ia, mergeCreatedFolderIntoCache as aa, updateEntry as oa } from "./files/dial-file-manager-mapping.util.js";
|
|
120
|
+
import { createFilesApiClient as sa } from "./files/create-files-api.js";
|
|
121
|
+
import { createUploadFileWithProgress as ca } from "./files/create-upload-file-with-progress.js";
|
|
122
|
+
import { openAnnotationAttachment as la } from "./files/annotation.js";
|
|
123
|
+
import { annotationToOoxmlCanvasContent as ua, annotationToPdfCanvasContent as da, clearAttachmentCache as fa, hasAttachmentTextSource as pa, referenceAttachmentToPdfCanvasContent as ma, resolveCodeCanvasContent as ha, resolveGroupedVisualizerCanvasContent as ga, resolveHtmlCanvasContent as _a, resolveImageCanvasContent as va, resolveJsonCanvasContent as ya, resolveMarkdownCanvasContent as ba, resolveOoxmlCanvasContent as xa, resolvePdfCanvasContent as Sa, resolveTextCanvasContent as Ca, resolveVisualizerCanvasContent as wa } from "./files/attachment-canvas.js";
|
|
124
|
+
import { getUrlFileName as Ta, isExternalSourcePreviewable as Ea, resolveExternalSourceContentType as Da } from "./files/source-content.js";
|
|
125
|
+
import { annotationToDisplayAttachment as Oa, attachmentDtoToDisplayAttachment as ka, attachmentDtosToDisplayAttachments as Aa } from "./files/attachment-dto-to-display.js";
|
|
126
|
+
import { dialFileToAttachment as ja, dialFilesToAttachments as Ma, dialFolderPathToAttachment as Na } from "./files/dial-file-to-attachment.js";
|
|
127
|
+
import { DownloadDestinationType as Pa } from "./files/download-destination.js";
|
|
128
|
+
import { prepareDownloadDestination as Fa } from "./files/prepare-download-destination.js";
|
|
129
|
+
import { deriveActionProfile as Ia } from "./files/file-manager-variant.js";
|
|
130
|
+
import { useDialFileListing as La } from "./files/useDialFileListing/useDialFileListing.js";
|
|
131
|
+
import { useDialFileMetadata as Ra } from "./files/useDialFileMetadata/useDialFileMetadata.js";
|
|
132
|
+
import { useDialFileMutations as za } from "./files/useDialFileMutations/useDialFileMutations.js";
|
|
133
|
+
import { useDialFileSharing as Ba } from "./files/useDialFileSharing/useDialFileSharing.js";
|
|
134
|
+
import { useDialFileUploadBatch as Va } from "./files/useDialFileUploadBatch/useDialFileUploadBatch.js";
|
|
135
|
+
import { useDialFileManager as Ha } from "./files/useDialFileManager/useDialFileManager.js";
|
|
136
|
+
import { useDialFileManagerSections as Ua } from "./files/useDialFileManagerSections/useDialFileManagerSections.js";
|
|
137
|
+
import { useDialFileManagerTabConfig as Wa } from "./files/useDialFileManagerTabConfig/useDialFileManagerTabConfig.js";
|
|
138
|
+
import { useFileAttachmentPicker as Ga } from "./files/useFileAttachmentPicker/useFileAttachmentPicker.js";
|
|
139
|
+
import { getBrowserTimezone as Ka } from "./shared/browser-timezone.js";
|
|
140
|
+
import { isValidAbsoluteUrl as qa, isValidFeaturesData as Ja, parseFeaturesData as Ya } from "./shared/custom-apps.js";
|
|
141
|
+
import { buildExternalServiceScopeId as Xa, getExternalServiceFallbackName as Za, parseExternalServiceUrl as Qa } from "./shared/external-services.js";
|
|
142
|
+
import { useChatSettingsFormConfig as $a } from "./useChatSettingsFormConfig/useChatSettingsFormConfig.js";
|
|
143
|
+
import { usePageFileDrag as eo } from "./usePageFileDrag/usePageFileDrag.js";
|
|
144
|
+
import { useViewportWidth as to } from "./useViewportWidth/useViewportWidth.js";
|
|
145
|
+
import { usePanelMaxWidth as no } from "./usePanelMaxWidth/usePanelMaxWidth.js";
|
|
146
|
+
import { useShareLink as ro } from "./useShareLink/useShareLink.js";
|
|
147
|
+
import { useToolsMenu as io } from "./useToolsMenu/useToolsMenu.js";
|
|
148
|
+
import { USAGE_DATA_I18N_KEYS as ao, mapUsageDataToDashboard as oo } from "./usage/map-usage-data-to-dashboard.js";
|
|
149
|
+
import { USAGE_MODEL_LIMITS_I18N_KEYS as so, mapOverallCostLimitsToPeriodStatuses as co, mapUserUsageToModelLimits as lo } from "./usage/map-user-usage-to-model-limits.js";
|
|
150
|
+
import { UsagePeriod as uo } from "./usage/usage-period.js";
|
|
151
|
+
import { isCappedStat as fo, selectUsageBannerSource as po } from "./usage/usage-banner-source.js";
|
|
152
|
+
import { USAGE_RESET_I18N_KEYS as mo, formatUsageResetShort as ho, formatUsageResetTime as go } from "./usage/usage-reset-time.js";
|
|
153
|
+
import { useDeploymentUsageLimits as _o } from "./usage/useDeploymentUsageLimits/useDeploymentUsageLimits.js";
|
|
154
|
+
import { useRefreshUsageAfterGeneration as vo } from "./usage/useRefreshUsageAfterGeneration/useRefreshUsageAfterGeneration.js";
|
|
155
|
+
import { resetUsageLimitBannerDismissals as yo, useUsageLimitBannerDismissal as bo } from "./usage/useUsageLimitBannerDismissal/useUsageLimitBannerDismissal.js";
|
|
156
|
+
import { USAGE_BANNER_I18N_KEYS as xo, useUsageLimitBanner as So } from "./usage/useUsageLimitBanner/useUsageLimitBanner.js";
|
|
157
|
+
import { useUsageData as Co } from "./usage/useUsageData/useUsageData.js";
|
|
158
|
+
import { McpAppResourceFetchError as wo, createMcpAppsApiClient as To } from "./mcp-apps/mcp-apps-api-client.js";
|
|
159
|
+
import { useMcpAppTools as Eo } from "./mcp-apps/useMcpAppTools/useMcpAppTools.js";
|
|
160
|
+
import { useMcpAppHostContext as Do } from "./mcp-apps/useMcpAppHostContext/useMcpAppHostContext.js";
|
|
161
|
+
import { useMcpAppHostAdapter as Oo } from "./mcp-apps/useMcpAppHostAdapter/useMcpAppHostAdapter.js";
|
|
162
|
+
import { useOpenMcpAppCanvas as ko } from "./mcp-apps/useOpenMcpAppCanvas/useOpenMcpAppCanvas.js";
|
|
163
|
+
import { useGridEditingScroll as Ao } from "@epam/ai-dial-chat-shared";
|
|
164
|
+
export { x as AttachmentValidationErrorReason, qr as AudioTranscriptionError, Jr as AudioTranscriptionErrorReason, B as AuthenticationType, xi as COLUMNS_MY_FILES, Si as COLUMNS_ORGANIZATION, Ci as COLUMNS_SHARED, wi as CORE_PERMISSION_MAP, Ct as CatalogPrimaryActionType, T as ConversationExportMode, E as ConversationTransferErrorCode, D as ConversationTransferWarningCode, Ti as DATE_OPTIONS, he as DEFAULT_ENTITY_DETAILS_LABELS, nn as DEFAULT_GENERATION_CONFLICT_MESSAGE, rn as DEFAULT_GENERATION_PERSISTENCE_ERROR_MESSAGE, Xr as DEFAULT_MAX_ARCHIVE_BYTES, an as DEFAULT_STREAM_IDLE_TIMEOUT_MS, Ei as DIAL_FILE_MANAGER_SECTION_TABS, _i as DialFilesApiUploadMode, Pa as DownloadDestinationType, k as EXPORT_APP_NAME, O as ExportFileNameKind, Kt as FavoriteEntityType, vi as FileManagerNotificationReason, yi as FileNameValidationErrorReason, bi as FileOperationKind, on as GenerationConflictError, sn as GenerationPersistenceError, wo as McpAppResourceFetchError, ct as McpResourceKind, W as OAuthResourceKind, dr as OfflineCredentialsGateStatus, pr as OfflineCredentialsLoginOutcomeType, hr as OfflineCredentialsLogoutOutcomeType, Di as PATH_SEPARATOR_REGEXP, Rn as PROMPT_CONTENT_MAX_LENGTH, zn as PROMPT_COUNTER_ANNOUNCE_THRESHOLD, Bn as PROMPT_DESCRIPTION_MAX_LENGTH, Vn as PROMPT_NAME_MAX_LENGTH, Je as PUBLIC_SKILL_BUCKET, Hn as PromptFieldError, Ce as PromptSource, Oi as RESERVED_MARKER_NAME, Mr as RecipientsCountStatus, Oe as SKILL_FILE_UPLOAD_MAX_BYTES, ke as SKILL_FOLDER_MARKER, Ye as SKILL_LISTING_MAX_PAGES, Xe as SKILL_LISTING_PAGE_SIZE, Ae as SKILL_MANIFEST_FILE, Ze as SKILL_MANIFEST_MAX_BYTES, je as SKILL_TEXT_FIELD_MAX_LENGTHS, Me as SKILL_UPLOAD_MAX_FILES, Ne as SKILL_UPLOAD_MAX_TOTAL_BYTES, Xn as ScheduledTaskTriggerDescriptionKind, Dr as SkillArchiveImportErrorKind, Or as SkillArchiveImportStatus, kr as SkillArchiveSelectionRejectionReason, br as SkillEditorLoadState, wr as SkillPreviewErrorKind, Qe as SkillSource, cn as StopCompletionError, ln as StreamInterruptedError, un as StreamUpstreamError, G as TOOLSET_REDIRECT_STATE_KEY, K as ToolsetAuthStatus, q as ToolsetAuthTypes, J as ToolsetCredentialsLevel, Vt as ToolsetLoginOutcomeType, Y as ToolsetOAuthCallbackQuery, X as ToolsetOAuthChannelControlType, Z as ToolsetOAuthFailureReason, Q as ToolsetOAuthInitiationResultType, $ as ToolsetOAuthResultType, ki as UPLOAD_CONCURRENCY, xo as USAGE_BANNER_I18N_KEYS, ao as USAGE_DATA_I18N_KEYS, so as USAGE_MODEL_LIMITS_I18N_KEYS, mo as USAGE_RESET_I18N_KEYS, Yn as UnsupportedTriggerReason, uo as UsagePeriod, ee as WithLogin, Oa as annotationToDisplayAttachment, ua as annotationToOoxmlCanvasContent, da as annotationToPdfCanvasContent, Qn as apSchedulerDayToJsDay, se as appendLocaleCode, fi as applyChunkToMessages, ka as attachmentDtoToDisplayAttachment, Aa as attachmentDtosToDisplayAttachments, Qr as attachmentToDto, $r as attachmentsToDtos, ce as buildAdditionalLocaleOptions, Yt as buildAnnouncementSignature, lt as buildApplicationMcpUrl, N as buildChatCompletionsUrl, ut as buildConnectApi, P as buildDeploymentConnectApi, Xa as buildExternalServiceScopeId, Zi as buildFromCache, Fn as buildPromptExportEnvelope, In as buildPromptExportFileName, Te as buildPromptOverview, Un as buildPromptPath, V as buildResetFields, F as buildResponsesUrl, Ai as buildSharedItemVirtualPath, Qi as buildSharedSearchScope, et as buildSkillContentTree, Pe as buildSkillFilesPayload, Fe as buildSkillManifest, Ie as buildSkillManifestForSubmit, Le as buildSkillManifestFromFrontmatter, tt as buildSkillOverview, It as buildToolsetAuthorizeUrl, dt as buildToolsetMcpUrl, _r as checkScheduledTaskAuthSessionError, Ar as classifySkillArchiveImportError, fa as clearAttachmentCache, le as composeLocalePayload, dn as createChatStreamApi, i as createCsrfMiddleware, yn as createDeploymentChangedMessage, sa as createFilesApiClient, To as createMcpAppsApiClient, en as createMemoryConversationDraftStore, ei as createMessagePair, j as createPublishApiClient, ar as createScheduledTasksApiClient, a as createUnauthorizedMiddleware, ca as createUploadFileWithProgress, tn as createWebStorageConversationDraftStore, I as decodeDeploymentId, te as decodeToolsetId, ue as decomposeLocalizedFields, Ia as deriveActionProfile, vt as deriveAvailableTabIds, Pr as deriveConversationRowActionState, yt as deriveFavoriteItems, Zn as describeScheduledTaskTrigger, ji as dialCorePathToRelative, ja as dialFileToAttachment, Ma as dialFilesToAttachments, Na as dialFolderPathToAttachment, m as downloadAttachment, Mt as emitToolsetLoginSuccess, L as encodeDeploymentId, ne as encodeToolsetId, $i as fetchByTab, ea as fetchForSearch, bt as filterCatalogItemsBySelector, xt as filterHiddenOwnedItems, R as findDeploymentByIdOrReference, hn as findDeploymentForConversationId, Mi as findDialFileByPath, ta as findFirstSuccessfulCopyMoveItem, Ni as findFolderByVirtualPath, pn as formatAppVersion, pe as formatCalendarDate, C as formatDateYM, w as formatDateYMD, Pi as formatOperationFolderName, A as formatQuotedNameList, ho as formatUsageResetShort, go as formatUsageResetTime, e as getApiErrorDetails, t as getApiErrorMessage, n as getApiErrorStatus, Ka as getBrowserTimezone, ci as getConversationPath, zr as getConversationSource, Za as getExternalServiceFallbackName, bn as getFormSchemaToolSyncKey, xn as getLastDeploymentId, Sn as getLastUserMessageToolConfiguration, Cn as getLatestToolConfiguration, gn as getModelIdCandidatesFromConversationId, _n as getModelIdFromConversationId, pt as getPublicCatalogEntityFolderPath, kn as getQuickAppConversationStarters, Wn as getRemainingCharacters, Tt as getRunnerSchemas, Re as getSkillFieldLengthViolations, ai as getStarterConversationText, oi as getStarterDisplayText, Mn as getStarterPopulateText, si as getStarterSubmitText, Nn as getStartersFromSchema, vn as getTimeOfDayGreeting, wn as getToolConfigurationFromFormSchema, Pt as getToolsetOAuthChannelName, Lt as getToolsetRedirectUri, Ta as getUrlFileName, Fi as getVirtualPathName, ti as hasActiveToolConfig, Xt as hasAnnouncementContent, pa as hasAttachmentTextSource, Ii as hasDialFileWritePermission, Li as hasForbiddenNameSymbols, Ri as hasSamePaths, Zt as hasStructuredAnnouncement, o as includesIgnoreCase, Rt as initiateOAuthLogin, ni as isAnswerIncomplete, mi as isAwaitingGenerationResume, fo as isCappedStat, r as isConversationNotFoundError, zi as isCopyMoveDuplicateAllowed, Et as isCustomAppSchema, _ as isDialFileAcceptType, d as isDialFileId, h as isDownloadableAttachment, Ea as isExternalSourcePreviewable, ri as isMessageChanged, Tn as isMessageStreaming, Ee as isOrganisationPromptItem, mt as isPublicCatalogEntityId, re as isPublicToolsetId, Dt as isQuickAppSchema, Bi as isShareActionsAllowed, ze as isSkillFolderMarkerPath, qa as isValidAbsoluteUrl, Ja as isValidFeaturesData, Be as isValidSkillRelativePath, $n as jsDayToApSchedulerDay, na as mapCorePermissions, ge as mapDeploymentDetailsDtoToEntityDetails, U as mapDeploymentLimitsDtoToCatalogLimits, H as mapDeploymentLimitsToInput, ye as mapDeploymentToCatalogItem, be as mapDeploymentToolsetCredentials, _e as mapEntityDetailsToCatalogDetails, ra as mapFileMetadataToDialFile, er as mapFormValuesToCreateBody, tr as mapFormValuesToUpdateBody, lr as mapOfflineCredentialsResponse, co as mapOverallCostLimitsToPeriodStatuses, De as mapPromptToCatalogItem, ht as mapPublishConversationResultDto, gt as mapPublishHistoryEntryDto, nr as mapScheduledTaskDtoToFormValues, ia as mapSearchItem, nt as mapSkillToCatalogItem, An as mapStages, ve as mapToolsetCredentials, xe as mapToolsetToCatalogItem, oo as mapUsageDataToDashboard, lo as mapUserUsageToModelLimits, aa as mergeCreatedFolderIntoCache, sr as mergeRunsById, pi as mergeStages, En as messageHasStages, v as mimeTypesToAttachmentExtensionLabels, y as mimeTypesToDialFileAcceptTypes, b as mimeTypesToFileAccept, Ve as nameFromPath, zt as navigateToolsetOAuthPopup, z as normalizeDeploymentId, ur as normalizeOfflineCredentialsConnectSettings, Dn as normalizeResponseFormat, He as normalizeSkillName, ie as normalizeToolsetId, Vi as normalizeVirtualPath, la as openAnnotationAttachment, Bt as openToolsetOAuthPopup, me as padTwoDigits, Qa as parseExternalServiceUrl, Ya as parseFeaturesData, Hi as parseNewFolderVirtualPath, we as parsePromptResourceUrl, Ue as parseSkillManifest, kt as parseSkillManifestDocument, $e as parseSkillResourceUrl, Yi as prepareCopyItems, Fa as prepareDownloadDestination, Xi as prepareMoveRenameItems, rr as prepareScheduledTaskCreateBody, ir as prepareScheduledTaskUpdateBody, rt as readSkillFileBytes, it as readSkillFilePreviewBytes, at as readSkillManifest, St as reconcileFilterTopics, ma as referenceAttachmentToPdfCanvasContent, yo as resetUsageLimitBannerDismissals, wt as resolveCatalogPrimaryAction, ha as resolveCodeCanvasContent, Se as resolveDeploymentFolder, qi as resolveDialFileApiPath, f as resolveDialFileBucketAndPath, Da as resolveExternalSourceContentType, ga as resolveGroupedVisualizerCanvasContent, _a as resolveHtmlCanvasContent, va as resolveImageCanvasContent, ya as resolveJsonCanvasContent, de as resolveLocalizedText, ba as resolveMarkdownCanvasContent, ft as resolveMcpResourceKind, xa as resolveOoxmlCanvasContent, Ui as resolveOwnerCoords, Sa as resolvePdfCanvasContent, p as resolveRelativeDialFilePath, Wi as resolveSectionByPath, ot as resolveSkillFileDownloadPath, st as resolveSkillManifestFileId, Ca as resolveTextCanvasContent, ae as resolveToolsetCredentialsLevel, wa as resolveVisualizerCanvasContent, s as safeDecodeURI, c as safeDecodeURIComponent, Qt as sanitizeAnnouncementHtml, $t as sanitizeAnnouncementMessageHtml, Ur as sanitizeFileName, mn as sanitizeFooterHtml, oe as selectToolsetAuthStatus, po as selectUsageBannerSource, Ln as serializePromptExport, ii as shouldRerunGenerationOnEdit, fn as shouldWatchForDisplayNameUpdate, We as skillFileBytesToBlob, yr as skillFileToAttachment, Ge as skillFolderMarkerParent, Wr as splitFileNameExtension, Ke as startsWithFrontmatterBlock, l as stripSurroundingSlashes, u as stripTrailingSlashes, Nt as subscribeToolsetLoginSuccess, fe as toBaseLocale, On as toOverlayMessages, _t as toPublishEntityType, M as toPublishRuleDto, jn as toStage, Gr as trimFileNameToByteLimit, Gi as unionPathSets, qe as unpackSkillArchive, oa as updateEntry, Fr as useActiveConversationSync, Wt as useApplicationCredentials, Ir as useAsyncConfirmDialog, g as useAttachmentAction, Kr as useAttachmentUpload, S as useAttachmentValidation, Ot as useCatalogEditNavigation, jt as useCatalogItemDetails, Ut as useCatalogToolsetCredentials, $a as useChatSettingsFormConfig, Lr as useConversationComposerDraft, Zr as useConversationExport, li as useConversationHandlers, ui as useConversationImport, Rr as useConversationLookupMaps, Br as useConversationPanelItems, di as useConversationScroll, gi as useConversationSources, hi as useConversationStream, _o as useDeploymentUsageLimits, La as useDialFileListing, Ha as useDialFileManager, Ua as useDialFileManagerSections, Wa as useDialFileManagerTabConfig, Ra as useDialFileMetadata, za as useDialFileMutations, Ba as useDialFileSharing, Va as useDialFileUploadBatch, qt as useFavoriteEntitiesState, Ga as useFileAttachmentPicker, Ao as useGridEditingScroll, Vr as useImportFilePicker, Oo as useMcpAppHostAdapter, Do as useMcpAppHostContext, Eo as useMcpAppTools, Hr as useMessageSelectionReply, Pn as useOAuthCallbackCompletion, gr as useOfflineCredentialsAuth, fr as useOfflineCredentialsGate, mr as useOfflineCredentialsLogin, ko as useOpenMcpAppCanvas, eo as usePageFileDrag, no as usePanelMaxWidth, Jn as usePromptsState, Jt as usePublishFolders, vo as useRefreshUsageAfterGeneration, cr as useScheduledTaskRuns, or as useScheduledTasks, ro as useShareLink, Nr as useShareRecipientsCount, jr as useSkillArchiveImport, Gt as useSkillDetailsPanelData, xr as useSkillEditorLoad, Sr as useSkillEditorSubmit, Cr as useSkillFileActions, Tr as useSkillFilePreview, At as useSkillItemDetails, Er as useSkillsState, io as useToolsMenu, Ht as useToolsetLogin, Yr as useTranscribeAudio, Co as useUsageData, So as useUsageLimitBanner, bo as useUsageLimitBannerDismissal, to as useViewportWidth, Gn as validatePromptContent, Kn as validatePromptDescription, qn as validatePromptName, vr as validateSkillFileBatch, Ji as virtualPathToApiPath, Ft as waitForToolsetOAuthResult, Ki as withRoutableRootLabels };
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@epam/ai-dial-chat-hooks",
|
|
3
3
|
"description": "Framework-level React hooks extracted from AI DIAL Chat for building custom chat interfaces",
|
|
4
|
-
"version": "1.3.0-dev.
|
|
4
|
+
"version": "1.3.0-dev.98",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"main": "./index.js",
|
|
@@ -121,7 +121,7 @@
|
|
|
121
121
|
}
|
|
122
122
|
},
|
|
123
123
|
"dependencies": {
|
|
124
|
-
"@epam/ai-dial-chat-api-client": "1.3.0-dev.
|
|
124
|
+
"@epam/ai-dial-chat-api-client": "1.3.0-dev.98",
|
|
125
125
|
"dompurify": "3.4.16",
|
|
126
126
|
"fflate": "^0.8.3",
|
|
127
127
|
"lru-cache": "^10.4.3",
|
|
@@ -130,22 +130,22 @@
|
|
|
130
130
|
},
|
|
131
131
|
"peerDependencies": {
|
|
132
132
|
"react": "^19.2.8",
|
|
133
|
-
"@epam/ai-dial-attachment-canvas": "1.3.0-dev.
|
|
134
|
-
"@epam/ai-dial-attachment-input": "1.3.0-dev.
|
|
135
|
-
"@epam/ai-dial-catalog": "1.3.0-dev.
|
|
136
|
-
"@epam/ai-dial-chat-overlay": "1.3.0-dev.
|
|
137
|
-
"@epam/ai-dial-chat-shared": "1.3.0-dev.
|
|
138
|
-
"@epam/ai-dial-conversation-input": "1.3.0-dev.
|
|
139
|
-
"@epam/ai-dial-mcp-apps": "1.3.0-dev.
|
|
140
|
-
"@epam/ai-dial-publish-panel": "1.3.0-dev.
|
|
141
|
-
"@epam/ai-dial-quotations": "1.3.0-dev.
|
|
142
|
-
"@epam/ai-dial-react-file-manager": "^0.4.0-dev.
|
|
143
|
-
"@epam/ai-dial-scheduled-tasks": "1.3.0-dev.
|
|
144
|
-
"@epam/ai-dial-share": "1.3.0-dev.
|
|
145
|
-
"@epam/ai-dial-skill-editor": "1.3.0-dev.
|
|
146
|
-
"@epam/ai-dial-source-panel": "1.3.0-dev.
|
|
133
|
+
"@epam/ai-dial-attachment-canvas": "1.3.0-dev.98",
|
|
134
|
+
"@epam/ai-dial-attachment-input": "1.3.0-dev.98",
|
|
135
|
+
"@epam/ai-dial-catalog": "1.3.0-dev.98",
|
|
136
|
+
"@epam/ai-dial-chat-overlay": "1.3.0-dev.98",
|
|
137
|
+
"@epam/ai-dial-chat-shared": "1.3.0-dev.98",
|
|
138
|
+
"@epam/ai-dial-conversation-input": "1.3.0-dev.98",
|
|
139
|
+
"@epam/ai-dial-mcp-apps": "1.3.0-dev.98",
|
|
140
|
+
"@epam/ai-dial-publish-panel": "1.3.0-dev.98",
|
|
141
|
+
"@epam/ai-dial-quotations": "1.3.0-dev.98",
|
|
142
|
+
"@epam/ai-dial-react-file-manager": "^0.4.0-dev.9",
|
|
143
|
+
"@epam/ai-dial-scheduled-tasks": "1.3.0-dev.98",
|
|
144
|
+
"@epam/ai-dial-share": "1.3.0-dev.98",
|
|
145
|
+
"@epam/ai-dial-skill-editor": "1.3.0-dev.98",
|
|
146
|
+
"@epam/ai-dial-source-panel": "1.3.0-dev.98",
|
|
147
147
|
"@epam/ai-dial-ui-kit": "^0.16.0-dev.13",
|
|
148
|
-
"@epam/ai-dial-usage-dashboard": "1.3.0-dev.
|
|
148
|
+
"@epam/ai-dial-usage-dashboard": "1.3.0-dev.98",
|
|
149
149
|
"@modelcontextprotocol/sdk": "^1.32.1",
|
|
150
150
|
"@epam/pdf-highlighter-kit": "^0.0.19",
|
|
151
151
|
"@mcp-ui/client": "^7.1.1"
|