@epam/ai-dial-chat-hooks 1.1.0-dev.373 → 1.1.0-dev.377
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/useConversationStream/buffered-generation.d.ts +15 -0
- package/conversation/useConversationStream/buffered-generation.d.ts.map +1 -0
- package/conversation/useConversationStream/generation-resume.d.ts +29 -0
- package/conversation/useConversationStream/generation-resume.d.ts.map +1 -1
- package/conversation/useConversationStream/useConversationStream.d.ts +9 -0
- package/conversation/useConversationStream/useConversationStream.d.ts.map +1 -1
- package/files/attachment-canvas.d.ts.map +1 -1
- package/index.js +2240 -2175
- package/package.json +14 -14
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Conversation, Message } from '@epam/ai-dial-chat-shared';
|
|
2
|
+
/**
|
|
3
|
+
* A generation's assistant message accumulated while its conversation isn't
|
|
4
|
+
* the displayed one (a background stream, or a resume attach), keyed by
|
|
5
|
+
* conversation path so it can be restored once that conversation is shown
|
|
6
|
+
* again.
|
|
7
|
+
*/
|
|
8
|
+
export interface BufferedGeneration {
|
|
9
|
+
generationId: string;
|
|
10
|
+
messageIndex: number;
|
|
11
|
+
message: Message;
|
|
12
|
+
}
|
|
13
|
+
/** Restores `buffered.message` into `conversation` at `buffered.messageIndex`, merging into whatever message is already there. */
|
|
14
|
+
export declare const restoreBufferedMessage: (conversation: Conversation, buffered: BufferedGeneration) => Conversation;
|
|
15
|
+
//# sourceMappingURL=buffered-generation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buffered-generation.d.ts","sourceRoot":"","sources":["../../../src/conversation/useConversationStream/buffered-generation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAEvE;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;CAClB;AAgBD,kIAAkI;AAClI,eAAO,MAAM,sBAAsB,GACjC,cAAc,YAAY,EAC1B,UAAU,kBAAkB,KAC3B,YAeF,CAAC"}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import { Conversation } from '@epam/ai-dial-chat-shared';
|
|
2
|
+
import { Dispatch, MutableRefObject, SetStateAction } from 'react';
|
|
3
|
+
import { BufferedGeneration } from './buffered-generation';
|
|
4
|
+
import { ConversationStreamTransport } from './useConversationStream';
|
|
2
5
|
/**
|
|
3
6
|
* True when the conversation's last message is an unresolved assistant
|
|
4
7
|
* placeholder: the backend only persists a conversation at generation start
|
|
@@ -7,4 +10,30 @@ import { Conversation } from '@epam/ai-dial-chat-shared';
|
|
|
7
10
|
* generation was still active elsewhere when the conversation was loaded.
|
|
8
11
|
*/
|
|
9
12
|
export declare const isAwaitingGenerationResume: (conversation: Conversation) => boolean;
|
|
13
|
+
/** Host-owned state {@link createResumeIfAwaitingGeneration} reads/writes through. */
|
|
14
|
+
export interface ResumeIfAwaitingGenerationDeps {
|
|
15
|
+
transport: ConversationStreamTransport;
|
|
16
|
+
setConversation: Dispatch<SetStateAction<Conversation | null>>;
|
|
17
|
+
conversationRef: MutableRefObject<Conversation | null>;
|
|
18
|
+
resumingPathsRef: MutableRefObject<Set<string>>;
|
|
19
|
+
bufferedGenerationsRef: MutableRefObject<Map<string, BufferedGeneration>>;
|
|
20
|
+
addStreamingPath: (path: string) => void;
|
|
21
|
+
removeStreamingPath: (path: string) => void;
|
|
22
|
+
isPathDisplayed: (path: string) => boolean;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Builds `resumeIfAwaitingGeneration`: a hard refresh mid-generation loads a
|
|
26
|
+
* conversation whose last message is the backend's empty start-state
|
|
27
|
+
* placeholder (no incremental save exists to show partial content). Rather
|
|
28
|
+
* than leaving that static and forever empty, this marks the path as
|
|
29
|
+
* streaming — for free, reusing the same typing indicator and any
|
|
30
|
+
* `isStreaming` guards a composed handlers hook already applies — and
|
|
31
|
+
* attaches to the backend's live replay of the in-flight generation
|
|
32
|
+
* (`transport.attachToGeneration`), showing the assistant message populate
|
|
33
|
+
* progressively. It falls back to watching the conversation's generic
|
|
34
|
+
* resource-update channel (`transport.watchConversation`) until the
|
|
35
|
+
* backend's finalize save resolves the placeholder whenever attach is
|
|
36
|
+
* unavailable or ends without a terminal event.
|
|
37
|
+
*/
|
|
38
|
+
export declare const createResumeIfAwaitingGeneration: ({ transport, setConversation, conversationRef, resumingPathsRef, bufferedGenerationsRef, addStreamingPath, removeStreamingPath, isPathDisplayed, }: ResumeIfAwaitingGenerationDeps) => (currentConversationId: string, conversation: Conversation) => void;
|
|
10
39
|
//# sourceMappingURL=generation-resume.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generation-resume.d.ts","sourceRoot":"","sources":["../../../src/conversation/useConversationStream/generation-resume.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"generation-resume.d.ts","sourceRoot":"","sources":["../../../src/conversation/useConversationStream/generation-resume.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,YAAY,EAIlB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAGxE,OAAO,EACL,KAAK,kBAAkB,EAExB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAsB3E;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B,GACrC,cAAc,YAAY,KACzB,OASF,CAAC;AAqFF,sFAAsF;AACtF,MAAM,WAAW,8BAA8B;IAC7C,SAAS,EAAE,2BAA2B,CAAC;IACvC,eAAe,EAAE,QAAQ,CAAC,cAAc,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC,CAAC;IAC/D,eAAe,EAAE,gBAAgB,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IACvD,gBAAgB,EAAE,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAChD,sBAAsB,EAAE,gBAAgB,CAAC,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAC1E,gBAAgB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,mBAAmB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;CAC5C;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,gCAAgC,GAAI,oJAS9C,8BAA8B,MACvB,uBAAuB,MAAM,EAAE,cAAc,YAAY,KAAG,IA6KrE,CAAC"}
|
|
@@ -23,6 +23,15 @@ export interface ConversationStreamTransport {
|
|
|
23
23
|
}): Promise<void>;
|
|
24
24
|
/** Opens a stream of resource-update events for `path`, until aborted via `signal`. */
|
|
25
25
|
watchConversation(path: string, signal: AbortSignal): Promise<ReadableStream<Uint8Array>>;
|
|
26
|
+
/**
|
|
27
|
+
* Attaches to an active generation's live replay: a `snapshot` event
|
|
28
|
+
* carrying the assistant message as assembled so far, then a `chunk` event
|
|
29
|
+
* per subsequent delta, then exactly one terminal event (`done`/`error`/
|
|
30
|
+
* `stopped`), until aborted via `signal`. Rejects when no active
|
|
31
|
+
* generation exists for `path` — including one that already finished —
|
|
32
|
+
* so the caller can fall back to `watchConversation`.
|
|
33
|
+
*/
|
|
34
|
+
attachToGeneration(path: string, signal: AbortSignal): Promise<ReadableStream<Uint8Array>>;
|
|
26
35
|
/** Reloads the persisted conversation by its full (bucket-qualified) id. */
|
|
27
36
|
getConversation(conversationId: string, signal?: AbortSignal): Promise<Conversation>;
|
|
28
37
|
}
|
|
@@ -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,
|
|
1
|
+
{"version":3,"file":"useConversationStream.d.ts","sourceRoot":"","sources":["../../../src/conversation/useConversationStream/useConversationStream.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attachment-canvas.d.ts","sourceRoot":"","sources":["../../src/files/attachment-canvas.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,sBAAsB,EACtB,uBAAuB,EACxB,MAAM,iCAAiC,CAAC;AASzC,OAAO,KAAK,EACV,UAAU,EAEV,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"attachment-canvas.d.ts","sourceRoot":"","sources":["../../src/files/attachment-canvas.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,sBAAsB,EACtB,uBAAuB,EACxB,MAAM,iCAAiC,CAAC;AASzC,OAAO,KAAK,EACV,UAAU,EAEV,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,2BAA2B,CAAC;AAQnC,OAAO,EAIL,KAAK,eAAe,EACrB,MAAM,0BAA0B,CAAC;AAIlC;;;;GAIG;AACH,MAAM,WAAW,4BAA4B;IAC3C,0DAA0D;IAC1D,0BAA0B,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IACnE,iGAAiG;IACjG,cAAc,EAAE,CAAC,UAAU,EAAE,iBAAiB,KAAK,MAAM,GAAG,SAAS,CAAC;CACvE;AAqDD;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,GAAI,KAAK,MAAM,KAAG,MAiB5C,CAAC;AASF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,gCAAgC,GAC3C,aAAa,MAAM,EACnB,KAAK,MAAM,KACV,MASF,CAAC;AAEF,wHAAwH;AACxH,eAAO,MAAM,2BAA2B,GACtC,aAAa,MAAM,EACnB,KAAK,MAAM,KACV,OAQF,CAAC;AAWF,8EAA8E;AAC9E,eAAO,MAAM,oBAAoB,QAAO,IAGvC,CAAC;AAgHF;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,GAClC,YAAY,iBAAiB,EAC7B,WAAW,4BAA4B,KACtC,OAGmB,CAAC;AAEvB;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,GACpC,YAAY,iBAAiB,EAC7B,WAAW,4BAA4B,KACtC,kBAAkB,GAAG,IAqBvB,CAAC;AAEF,uGAAuG;AACvG,eAAO,MAAM,wBAAwB,GACnC,YAAY,iBAAiB,EAC7B,WAAW,4BAA4B,KACtC,OAAO,CAAC,sBAAsB,GAAG,kBAAkB,GAAG,IAAI,CAK5D,CAAC;AAEF,qGAAqG;AACrG,eAAO,MAAM,4BAA4B,GACvC,YAAY,iBAAiB,EAC7B,WAAW,4BAA4B,KACtC,OAAO,CAAC,qBAAqB,GAAG,kBAAkB,GAAG,IAAI,CAK3D,CAAC;AAIF,oHAAoH;AACpH,eAAO,MAAM,wBAAwB,GACnC,YAAY,iBAAiB,EAC7B,WAAW,4BAA4B,EACvC,WAAW,MAAM,KAChB,OAAO,CAAC,iBAAiB,GAAG,kBAAkB,GAAG,IAAI,CAKvD,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,GACnC,YAAY,iBAAiB,EAC7B,WAAW,4BAA4B,KACtC,OAAO,CAAC,iBAAiB,GAAG,kBAAkB,GAAG,IAAI,CAOvD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,GACvC,YAAY,UAAU,EACtB,QAAQ,eAAe,EAAE,EACzB,WAAW,4BAA4B,KACtC,gBAAgB,GAAG,IAmBrB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,qCAAqC,GAChD,YAAY,kBAAkB,EAC9B,WAAW,4BAA4B,KACtC,gBAAgB,GAAG,IA0BrB,CAAC;AAwCF,gGAAgG;AAChG,eAAO,MAAM,uBAAuB,GAClC,YAAY,iBAAiB,EAC7B,WAAW,4BAA4B,KACtC,OAAO,CAAC,gBAAgB,GAAG,kBAAkB,GAAG,IAAI,CAUtD,CAAC;AAEF,mGAAmG;AACnG,eAAO,MAAM,yBAAyB,GACpC,YAAY,iBAAiB,EAC7B,WAAW,4BAA4B,EACvC,QAAQ,aAAa,KACpB,OAAO,CAAC,kBAAkB,GAAG,kBAAkB,GAAG,IAAI,CAUxD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,wBAAwB,GACnC,YAAY,iBAAiB,EAC7B,WAAW,4BAA4B,KACtC,OAAO,CACR,iBAAiB,GAAG,sBAAsB,GAAG,kBAAkB,GAAG,IAAI,CAYvE,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,8BAA8B,GACzC,YAAY,iBAAiB,EAC7B,WAAW,4BAA4B,EACvC,OAAO,gBAAgB,EACvB,SAAS,MAAM,KACd,OAAO,CAAC,uBAAuB,GAAG,IAAI,CA4BxC,CAAC"}
|