@epam/ai-dial-chat-hooks 1.3.0-dev.290 → 1.3.0-dev.296
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/scheduled-task-grouping.d.ts +5 -0
- package/conversation/scheduled-task-grouping.d.ts.map +1 -1
- package/conversation/scheduled-task-grouping.js +24 -19
- package/conversation.js +10 -10
- package/entry-points/project.d.ts +1 -0
- package/entry-points/project.d.ts.map +1 -1
- package/index.d.ts +1 -0
- package/index.d.ts.map +1 -1
- package/index.js +128 -127
- package/package.json +17 -17
- package/project/project-mapping.d.ts +4 -2
- package/project/project-mapping.d.ts.map +1 -1
- package/project/project-mapping.js +5 -2
- package/project/projects-api-client.d.ts +14 -11
- package/project/projects-api-client.d.ts.map +1 -1
- package/project/projects-api-client.js +5 -3
- package/project/use-project-artifacts.d.ts +24 -0
- package/project/use-project-artifacts.d.ts.map +1 -0
- package/project/use-project-artifacts.js +78 -0
- package/project/use-project-conversations.d.ts +15 -13
- package/project/use-project-conversations.d.ts.map +1 -1
- package/project/use-project-conversations.js +127 -110
- package/project.js +13 -12
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.296",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"main": "./index.js",
|
|
@@ -131,7 +131,7 @@
|
|
|
131
131
|
}
|
|
132
132
|
},
|
|
133
133
|
"dependencies": {
|
|
134
|
-
"@epam/ai-dial-chat-api-client": "1.3.0-dev.
|
|
134
|
+
"@epam/ai-dial-chat-api-client": "1.3.0-dev.296",
|
|
135
135
|
"dompurify": "3.4.17",
|
|
136
136
|
"fflate": "^0.8.3",
|
|
137
137
|
"lru-cache": "^10.4.3",
|
|
@@ -140,23 +140,23 @@
|
|
|
140
140
|
},
|
|
141
141
|
"peerDependencies": {
|
|
142
142
|
"react": "^19.2.8",
|
|
143
|
-
"@epam/ai-dial-attachment-canvas": "1.3.0-dev.
|
|
144
|
-
"@epam/ai-dial-attachment-input": "1.3.0-dev.
|
|
145
|
-
"@epam/ai-dial-catalog": "1.3.0-dev.
|
|
146
|
-
"@epam/ai-dial-chat-overlay": "1.3.0-dev.
|
|
147
|
-
"@epam/ai-dial-chat-shared": "1.3.0-dev.
|
|
148
|
-
"@epam/ai-dial-conversation-input": "1.3.0-dev.
|
|
149
|
-
"@epam/ai-dial-mcp-apps": "1.3.0-dev.
|
|
150
|
-
"@epam/ai-dial-projects": "1.3.0-dev.
|
|
151
|
-
"@epam/ai-dial-publish-panel": "1.3.0-dev.
|
|
152
|
-
"@epam/ai-dial-quotations": "1.3.0-dev.
|
|
143
|
+
"@epam/ai-dial-attachment-canvas": "1.3.0-dev.296",
|
|
144
|
+
"@epam/ai-dial-attachment-input": "1.3.0-dev.296",
|
|
145
|
+
"@epam/ai-dial-catalog": "1.3.0-dev.296",
|
|
146
|
+
"@epam/ai-dial-chat-overlay": "1.3.0-dev.296",
|
|
147
|
+
"@epam/ai-dial-chat-shared": "1.3.0-dev.296",
|
|
148
|
+
"@epam/ai-dial-conversation-input": "1.3.0-dev.296",
|
|
149
|
+
"@epam/ai-dial-mcp-apps": "1.3.0-dev.296",
|
|
150
|
+
"@epam/ai-dial-projects": "1.3.0-dev.296",
|
|
151
|
+
"@epam/ai-dial-publish-panel": "1.3.0-dev.296",
|
|
152
|
+
"@epam/ai-dial-quotations": "1.3.0-dev.296",
|
|
153
153
|
"@epam/ai-dial-react-file-manager": "^0.4.0-dev.25",
|
|
154
|
-
"@epam/ai-dial-scheduled-tasks": "1.3.0-dev.
|
|
155
|
-
"@epam/ai-dial-share": "1.3.0-dev.
|
|
156
|
-
"@epam/ai-dial-skill-editor": "1.3.0-dev.
|
|
157
|
-
"@epam/ai-dial-source-panel": "1.3.0-dev.
|
|
154
|
+
"@epam/ai-dial-scheduled-tasks": "1.3.0-dev.296",
|
|
155
|
+
"@epam/ai-dial-share": "1.3.0-dev.296",
|
|
156
|
+
"@epam/ai-dial-skill-editor": "1.3.0-dev.296",
|
|
157
|
+
"@epam/ai-dial-source-panel": "1.3.0-dev.296",
|
|
158
158
|
"@epam/ai-dial-ui-kit": "^0.16.0-dev.67",
|
|
159
|
-
"@epam/ai-dial-usage-dashboard": "1.3.0-dev.
|
|
159
|
+
"@epam/ai-dial-usage-dashboard": "1.3.0-dev.296",
|
|
160
160
|
"@modelcontextprotocol/sdk": "^1.32.2",
|
|
161
161
|
"@epam/pdf-highlighter-kit": "^0.0.19"
|
|
162
162
|
},
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ProjectSource as ProjectSourceDto, ProjectDetailsDto, ProjectDto } from '@epam/ai-dial-chat-api-client';
|
|
2
|
-
import { ProjectItem, ProjectSource, ProjectViewModel, StoredProjectContextFile } from '@epam/ai-dial-projects';
|
|
1
|
+
import { ProjectSource as ProjectSourceDto, ProjectArtifactItemDto, ProjectDetailsDto, ProjectDto } from '@epam/ai-dial-chat-api-client';
|
|
2
|
+
import { ProjectItem, ProjectOutputItem, ProjectSource, ProjectViewModel, StoredProjectContextFile } from '@epam/ai-dial-projects';
|
|
3
3
|
/** Maps a BFF project source onto the Projects lib's source. */
|
|
4
4
|
export declare const mapProjectSource: (source: ProjectSourceDto) => ProjectSource;
|
|
5
5
|
/** Maps a BFF project to the card item the Projects lib renders; the sort date falls back to the creation time. */
|
|
@@ -8,4 +8,6 @@ export declare const mapProjectDtoToItem: (project: ProjectDto) => ProjectItem;
|
|
|
8
8
|
export declare const mapProjectDetailsToViewModel: (project: ProjectDetailsDto) => ProjectViewModel;
|
|
9
9
|
/** Maps a project's stored context files to the cards the project form renders; ids are `stored:{name}`. */
|
|
10
10
|
export declare const mapStoredContextFiles: (project: ProjectDetailsDto) => StoredProjectContextFile[];
|
|
11
|
+
/** Maps a project's BFF artifact listing to the output cards the project view renders, keeping its order; content types come from the file names. */
|
|
12
|
+
export declare const mapProjectArtifactsToOutputs: (items: ProjectArtifactItemDto[]) => ProjectOutputItem[];
|
|
11
13
|
//# sourceMappingURL=project-mapping.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-mapping.d.ts","sourceRoot":"","sources":["../../src/project/project-mapping.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,IAAI,gBAAgB,EACjC,KAAK,iBAAiB,EACtB,KAAK,UAAU,EAChB,MAAM,+BAA+B,CAAC;AAMvC,OAAO,EACL,KAAK,WAAW,EAChB,aAAa,EACb,KAAK,gBAAgB,EACrB,KAAK,wBAAwB,EAC9B,MAAM,wBAAwB,CAAC;AAchC,gEAAgE;AAChE,eAAO,MAAM,gBAAgB,GAAI,QAAQ,gBAAgB,KAAG,aACnC,CAAC;AAE1B,mHAAmH;AACnH,eAAO,MAAM,mBAAmB,GAAI,SAAS,UAAU,KAAG,WAMxD,CAAC;AAEH,oHAAoH;AACpH,eAAO,MAAM,4BAA4B,GACvC,SAAS,iBAAiB,KACzB,gBAQD,CAAC;AAEH,4GAA4G;AAC5G,eAAO,MAAM,qBAAqB,GAChC,SAAS,iBAAiB,KACzB,wBAAwB,EAYvB,CAAC"}
|
|
1
|
+
{"version":3,"file":"project-mapping.d.ts","sourceRoot":"","sources":["../../src/project/project-mapping.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,IAAI,gBAAgB,EACjC,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACtB,KAAK,UAAU,EAChB,MAAM,+BAA+B,CAAC;AAMvC,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,aAAa,EACb,KAAK,gBAAgB,EACrB,KAAK,wBAAwB,EAC9B,MAAM,wBAAwB,CAAC;AAchC,gEAAgE;AAChE,eAAO,MAAM,gBAAgB,GAAI,QAAQ,gBAAgB,KAAG,aACnC,CAAC;AAE1B,mHAAmH;AACnH,eAAO,MAAM,mBAAmB,GAAI,SAAS,UAAU,KAAG,WAMxD,CAAC;AAEH,oHAAoH;AACpH,eAAO,MAAM,4BAA4B,GACvC,SAAS,iBAAiB,KACzB,gBAQD,CAAC;AAEH,4GAA4G;AAC5G,eAAO,MAAM,qBAAqB,GAChC,SAAS,iBAAiB,KACzB,wBAAwB,EAYvB,CAAC;AAEL,qJAAqJ;AACrJ,eAAO,MAAM,4BAA4B,GACvC,OAAO,sBAAsB,EAAE,KAC9B,iBAAiB,EAIf,CAAC"}
|
|
@@ -31,6 +31,9 @@ var a = "", o = {
|
|
|
31
31
|
status: t.Idle,
|
|
32
32
|
isStored: !0
|
|
33
33
|
};
|
|
34
|
-
})
|
|
34
|
+
}), d = (e) => e.map(({ name: e }) => ({
|
|
35
|
+
name: e,
|
|
36
|
+
contentType: r(e) ?? a
|
|
37
|
+
}));
|
|
35
38
|
//#endregion
|
|
36
|
-
export { l as mapProjectDetailsToViewModel, c as mapProjectDtoToItem, s as mapProjectSource, u as mapStoredContextFiles };
|
|
39
|
+
export { d as mapProjectArtifactsToOutputs, l as mapProjectDetailsToViewModel, c as mapProjectDtoToItem, s as mapProjectSource, u as mapStoredContextFiles };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AttachmentDto, ConversationResponseDto, CreateConversationDto, CreateProjectResponseDto, ListProjectsResponseDto, ProjectConversationListResponseDto, ProjectDetailsDto, RenameConversationResponseDto, UpdateProjectResponseDto } from '@epam/ai-dial-chat-api-client';
|
|
1
|
+
import { AttachmentDto, ConversationResponseDto, CreateConversationDto, CreateProjectResponseDto, ListProjectsResponseDto, ProjectArtifactListResponseDto, ProjectConversationListResponseDto, ProjectConversationTitlesResponseDto, ProjectDetailsDto, RenameConversationResponseDto, UpdateProjectResponseDto } from '@epam/ai-dial-chat-api-client';
|
|
2
2
|
import { RequestSkill } from '@epam/ai-dial-chat-shared';
|
|
3
3
|
/** A generated-client `Raw` answer, of which only the native response is read. */
|
|
4
4
|
interface RawApiResponse {
|
|
@@ -40,9 +40,16 @@ export interface ProjectsConfiguredClient {
|
|
|
40
40
|
}, options?: RequestInit) => Promise<RawApiResponse>;
|
|
41
41
|
listProjectConversations: (request: {
|
|
42
42
|
id: string;
|
|
43
|
-
limit?: number;
|
|
44
|
-
offset?: number;
|
|
45
43
|
}, options?: RequestInit) => Promise<ProjectConversationListResponseDto>;
|
|
44
|
+
getProjectConversationTitles: (request: {
|
|
45
|
+
id: string;
|
|
46
|
+
projectConversationTitlesBodyDto: {
|
|
47
|
+
names: string[];
|
|
48
|
+
};
|
|
49
|
+
}, options?: RequestInit) => Promise<ProjectConversationTitlesResponseDto>;
|
|
50
|
+
listProjectArtifacts: (request: {
|
|
51
|
+
id: string;
|
|
52
|
+
}, options?: RequestInit) => Promise<ProjectArtifactListResponseDto>;
|
|
46
53
|
createProjectConversation: (request: {
|
|
47
54
|
id: string;
|
|
48
55
|
createConversationDto: CreateConversationDto;
|
|
@@ -107,13 +114,6 @@ export interface ProjectUpdateRequest {
|
|
|
107
114
|
/** The loaded project's `contentVersion`; a conversation written meanwhile does not change it. */
|
|
108
115
|
contentVersion: string;
|
|
109
116
|
}
|
|
110
|
-
/** One page of a project's conversations, newest first. */
|
|
111
|
-
export interface ProjectConversationListPage {
|
|
112
|
-
/** Page size, `1..100`; the BFF defaults to 50. */
|
|
113
|
-
limit?: number;
|
|
114
|
-
/** Conversations to skip; the next page starts at the count already loaded. */
|
|
115
|
-
offset?: number;
|
|
116
|
-
}
|
|
117
117
|
/** The first message of a new top-level or project conversation. */
|
|
118
118
|
export interface ConversationCreateRequest {
|
|
119
119
|
/** The first user message. */
|
|
@@ -138,7 +138,10 @@ export interface ProjectsApiClient {
|
|
|
138
138
|
deleteProject: (id: string, contentVersion: string) => Promise<void>;
|
|
139
139
|
downloadProjectArchive: (id: string, signal?: AbortSignal) => Promise<Response>;
|
|
140
140
|
downloadProjectContextFile: (id: string, fileName: string, signal?: AbortSignal) => Promise<Response>;
|
|
141
|
-
|
|
141
|
+
/** Lists the files the agents saved under the project's `artifacts/` folder, newest first. */
|
|
142
|
+
listProjectArtifacts: (projectId: string, signal?: AbortSignal) => Promise<ProjectArtifactListResponseDto>;
|
|
143
|
+
listProjectConversations: (projectId: string, signal?: AbortSignal) => Promise<ProjectConversationListResponseDto>;
|
|
144
|
+
getProjectConversationTitles: (projectId: string, names: string[], signal?: AbortSignal) => Promise<ProjectConversationTitlesResponseDto>;
|
|
142
145
|
createProjectConversation: (projectId: string, request: ConversationCreateRequest) => Promise<ConversationResponseDto>;
|
|
143
146
|
getProjectConversation: (conversationId: string, signal?: AbortSignal) => Promise<ConversationResponseDto>;
|
|
144
147
|
saveProjectConversation: (conversationId: string, conversation: ConversationResponseDto) => Promise<ConversationResponseDto>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projects-api-client.d.ts","sourceRoot":"","sources":["../../src/project/projects-api-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,uBAAuB,EACvB,qBAAqB,EACrB,wBAAwB,EACxB,uBAAuB,EACvB,kCAAkC,EAClC,iBAAiB,EACjB,6BAA6B,EAC7B,wBAAwB,EACzB,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE9D,kFAAkF;AAClF,UAAU,cAAc;IACtB,GAAG,EAAE,QAAQ,CAAC;CACf;AAED,4FAA4F;AAC5F,MAAM,WAAW,wBAAwB;IACvC,YAAY,EAAE,CAAC,OAAO,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAC1E,UAAU,EAAE,CACV,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,EACvB,OAAO,CAAC,EAAE,WAAW,KAClB,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAChC,aAAa,EAAE,CACb,OAAO,EAAE;QACP,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;KAChB,EACD,OAAO,CAAC,EAAE,WAAW,KAClB,OAAO,CAAC,wBAAwB,CAAC,CAAC;IACvC,aAAa,EAAE,CACb,OAAO,EAAE;QACP,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;KAChB,EACD,OAAO,CAAC,EAAE,WAAW,KAClB,OAAO,CAAC,wBAAwB,CAAC,CAAC;IACvC,aAAa,EAAE,CAAC,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3E,kBAAkB,EAAE,CAClB,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,EACvB,OAAO,CAAC,EAAE,WAAW,KAClB,OAAO,CAAC,cAAc,CAAC,CAAC;IAC7B,sBAAsB,EAAE,CACtB,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,EACzC,OAAO,CAAC,EAAE,WAAW,KAClB,OAAO,CAAC,cAAc,CAAC,CAAC;IAC7B,wBAAwB,EAAE,CACxB,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"projects-api-client.d.ts","sourceRoot":"","sources":["../../src/project/projects-api-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -50,10 +50,12 @@ var e = (e) => {
|
|
|
50
50
|
id: t,
|
|
51
51
|
fileName: r
|
|
52
52
|
}, ...n(i))).raw,
|
|
53
|
-
|
|
53
|
+
listProjectArtifacts: (t, r) => e.listProjectArtifacts({ id: t }, ...n(r)),
|
|
54
|
+
listProjectConversations: (t, r) => e.listProjectConversations({ id: t }, ...n(r)),
|
|
55
|
+
getProjectConversationTitles: (t, r, i) => e.getProjectConversationTitles({
|
|
54
56
|
id: t,
|
|
55
|
-
|
|
56
|
-
}, ...n(
|
|
57
|
+
projectConversationTitlesBodyDto: { names: r }
|
|
58
|
+
}, ...n(i)),
|
|
57
59
|
createProjectConversation: (t, n) => e.createProjectConversation({
|
|
58
60
|
id: t,
|
|
59
61
|
createConversationDto: r(n)
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { ProjectArtifactItemDto } from '@epam/ai-dial-chat-api-client';
|
|
2
|
+
import { ProjectsApiClient } from './projects-api-client';
|
|
3
|
+
/**
|
|
4
|
+
* Loads the files the agents of a project's chats saved under its
|
|
5
|
+
* `artifacts/` folder, for the project view's Outputs section, and keeps them
|
|
6
|
+
* in local state. The list is read once per project (and on retry), and
|
|
7
|
+
* `refresh` silently re-reads it for live updates, keeping the shown outputs
|
|
8
|
+
* when it fails. A `refresh` that arrives while a read is in flight is not
|
|
9
|
+
* dropped: that read lists once more before it settles. A retry keeps
|
|
10
|
+
* `hasError` until its read settles, so the host's error UI stays in place. A
|
|
11
|
+
* request is aborted by a newer one, a project change or unmount.
|
|
12
|
+
*
|
|
13
|
+
* @param client - Configured project requests, from `createProjectsApiClient`; it must be referentially stable, because a new object reloads the list.
|
|
14
|
+
* @param projectId - The project's DIAL id, or `null` while none is known.
|
|
15
|
+
*/
|
|
16
|
+
export declare const useProjectArtifacts: (client: Pick<ProjectsApiClient, "listProjectArtifacts">, projectId: string | null) => {
|
|
17
|
+
retry: () => void;
|
|
18
|
+
refresh: () => Promise<void>;
|
|
19
|
+
/** The project's outputs, newest first, as the BFF lists them. */
|
|
20
|
+
items: ProjectArtifactItemDto[];
|
|
21
|
+
isLoading: boolean;
|
|
22
|
+
hasError: boolean;
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=use-project-artifacts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-project-artifacts.d.ts","sourceRoot":"","sources":["../../src/project/use-project-artifacts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAE5E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAoB/D;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,mBAAmB,GAC9B,QAAQ,IAAI,CAAC,iBAAiB,EAAE,sBAAsB,CAAC,EACvD,WAAW,MAAM,GAAG,IAAI;;;IAhCxB,kEAAkE;WAC3D,sBAAsB,EAAE;eACpB,OAAO;cACR,OAAO;CAyGlB,CAAC"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { useCallback as e, useEffect as t, useRef as n, useState as r } from "react";
|
|
2
|
+
//#region src/project/use-project-artifacts.ts
|
|
3
|
+
var i = {
|
|
4
|
+
items: [],
|
|
5
|
+
isLoading: !0,
|
|
6
|
+
hasError: !1
|
|
7
|
+
}, a = {
|
|
8
|
+
...i,
|
|
9
|
+
isLoading: !1
|
|
10
|
+
}, o = (o, s) => {
|
|
11
|
+
let [c, l] = r(i), [u, d] = r(0), f = n(null), p = n(!1), m = n(null), h = n(c);
|
|
12
|
+
t(() => {
|
|
13
|
+
h.current = c;
|
|
14
|
+
}), t(() => {
|
|
15
|
+
let e = m.current === s;
|
|
16
|
+
if (m.current = s, s == null) {
|
|
17
|
+
l(a);
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
let t = new AbortController();
|
|
21
|
+
return p.current = !1, (async () => {
|
|
22
|
+
l((t) => e ? {
|
|
23
|
+
...t,
|
|
24
|
+
isLoading: !0
|
|
25
|
+
} : i);
|
|
26
|
+
try {
|
|
27
|
+
let e;
|
|
28
|
+
do
|
|
29
|
+
if (p.current = !1, {items: e} = await o.listProjectArtifacts(s, t.signal), t.signal.aborted) return;
|
|
30
|
+
while (p.current);
|
|
31
|
+
l({
|
|
32
|
+
items: e,
|
|
33
|
+
isLoading: !1,
|
|
34
|
+
hasError: !1
|
|
35
|
+
});
|
|
36
|
+
} catch {
|
|
37
|
+
if (t.signal.aborted) return;
|
|
38
|
+
l({
|
|
39
|
+
...a,
|
|
40
|
+
hasError: !0
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
})(), () => {
|
|
44
|
+
t.abort(), f.current?.abort();
|
|
45
|
+
};
|
|
46
|
+
}, [
|
|
47
|
+
o,
|
|
48
|
+
s,
|
|
49
|
+
u
|
|
50
|
+
]);
|
|
51
|
+
let g = e(() => d((e) => e + 1), []), _ = e(async () => {
|
|
52
|
+
let e = h.current;
|
|
53
|
+
if (s == null) return;
|
|
54
|
+
if (e.isLoading) {
|
|
55
|
+
p.current = !0;
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
if (e.hasError) return;
|
|
59
|
+
f.current?.abort();
|
|
60
|
+
let t = new AbortController();
|
|
61
|
+
f.current = t;
|
|
62
|
+
try {
|
|
63
|
+
let { items: e } = await o.listProjectArtifacts(s, t.signal);
|
|
64
|
+
if (t.signal.aborted) return;
|
|
65
|
+
l((t) => ({
|
|
66
|
+
...t,
|
|
67
|
+
items: e
|
|
68
|
+
}));
|
|
69
|
+
} catch {}
|
|
70
|
+
}, [o, s]);
|
|
71
|
+
return {
|
|
72
|
+
...c,
|
|
73
|
+
retry: g,
|
|
74
|
+
refresh: _
|
|
75
|
+
};
|
|
76
|
+
};
|
|
77
|
+
//#endregion
|
|
78
|
+
export { o as useProjectArtifacts };
|
|
@@ -2,28 +2,30 @@ import { ProjectConversationListItem } from '@epam/ai-dial-projects';
|
|
|
2
2
|
import { ProjectsApiClient } from './projects-api-client';
|
|
3
3
|
/**
|
|
4
4
|
* Loads a project's conversations for its Chats list and keeps them in local
|
|
5
|
-
* state
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
5
|
+
* state. DIAL Core cannot page them in display order, so the whole list is
|
|
6
|
+
* read once per project (and on retry) and paged here: the list shows the
|
|
7
|
+
* first 20, and `loadMore` shows 20 more after reading the titles the list
|
|
8
|
+
* left pending. `refresh` silently re-reads the whole list for live updates,
|
|
9
|
+
* and rename, delete and `markViewed` update it in place. Requests are
|
|
10
|
+
* aborted when the project changes or the view unmounts. Rename, delete and
|
|
11
|
+
* `loadMore` reject on failure for the caller's toast.
|
|
10
12
|
*
|
|
11
13
|
* @param client - Configured project requests, from `createProjectsApiClient`; it must be referentially stable, because a new object reloads the list.
|
|
12
14
|
* @param projectId - The project's DIAL id, or `null` while none is known.
|
|
13
15
|
*/
|
|
14
|
-
export declare const useProjectConversations: (client: Pick<ProjectsApiClient, "listProjectConversations" | "renameProjectConversation" | "deleteProjectConversation" | "markProjectConversationViewed">, projectId: string | null) => {
|
|
15
|
-
retry: () => void;
|
|
16
|
-
loadMore: () => Promise<void>;
|
|
17
|
-
rename: (id: string, newTitle: string) => Promise<void>;
|
|
18
|
-
remove: (id: string) => Promise<void>;
|
|
19
|
-
refresh: () => Promise<void>;
|
|
20
|
-
markViewed: (id: string) => void;
|
|
16
|
+
export declare const useProjectConversations: (client: Pick<ProjectsApiClient, "listProjectConversations" | "getProjectConversationTitles" | "renameProjectConversation" | "deleteProjectConversation" | "markProjectConversationViewed">, projectId: string | null) => {
|
|
21
17
|
items: ProjectConversationListItem[];
|
|
22
18
|
isLoading: boolean;
|
|
23
19
|
hasError: boolean;
|
|
24
20
|
/** More conversations exist after `items`. */
|
|
25
21
|
hasMore: boolean;
|
|
26
|
-
/** The next
|
|
22
|
+
/** The titles of the next conversations are being read. */
|
|
27
23
|
isLoadingMore: boolean;
|
|
24
|
+
retry: () => void;
|
|
25
|
+
loadMore: () => Promise<void>;
|
|
26
|
+
rename: (id: string, newTitle: string) => Promise<void>;
|
|
27
|
+
remove: (id: string) => Promise<void>;
|
|
28
|
+
refresh: () => Promise<void>;
|
|
29
|
+
markViewed: (id: string) => void;
|
|
28
30
|
};
|
|
29
31
|
//# sourceMappingURL=use-project-conversations.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-project-conversations.d.ts","sourceRoot":"","sources":["../../src/project/use-project-conversations.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAE1E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"use-project-conversations.d.ts","sourceRoot":"","sources":["../../src/project/use-project-conversations.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAE1E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AA+F/D;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,uBAAuB,GAClC,QAAQ,IAAI,CACV,iBAAiB,EACf,0BAA0B,GAC1B,8BAA8B,GAC9B,2BAA2B,GAC3B,2BAA2B,GAC3B,+BAA+B,CAClC,EACD,WAAW,MAAM,GAAG,IAAI;;;;IA6NtB,8CAA8C;;IAE9C,2DAA2D;;;;iBA1ChD,MAAM,YAAY,MAAM;iBAaxB,MAAM;;qBAlCZ,MAAM;CAwEd,CAAC"}
|