@turingfocus/chat-ui-antd 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/LICENSE +21 -0
  2. package/dist/ask-user-interaction.d.ts +23 -0
  3. package/dist/ask-user-interaction.d.ts.map +1 -0
  4. package/dist/ask-user-interaction.js +116 -0
  5. package/dist/ask-user-interaction.js.map +1 -0
  6. package/dist/chat-composer.d.ts +13 -0
  7. package/dist/chat-composer.d.ts.map +1 -0
  8. package/dist/chat-composer.js +58 -0
  9. package/dist/chat-composer.js.map +1 -0
  10. package/dist/chat-conversation-view.d.ts +19 -0
  11. package/dist/chat-conversation-view.d.ts.map +1 -0
  12. package/dist/chat-conversation-view.js +71 -0
  13. package/dist/chat-conversation-view.js.map +1 -0
  14. package/dist/chat-run-status.d.ts +13 -0
  15. package/dist/chat-run-status.d.ts.map +1 -0
  16. package/dist/chat-run-status.js +59 -0
  17. package/dist/chat-run-status.js.map +1 -0
  18. package/dist/chat-state-view.d.ts +14 -0
  19. package/dist/chat-state-view.d.ts.map +1 -0
  20. package/dist/chat-state-view.js +59 -0
  21. package/dist/chat-state-view.js.map +1 -0
  22. package/dist/chat-timeline.d.ts +17 -0
  23. package/dist/chat-timeline.d.ts.map +1 -0
  24. package/dist/chat-timeline.js +79 -0
  25. package/dist/chat-timeline.js.map +1 -0
  26. package/dist/chat-ui-shell.d.ts +22 -0
  27. package/dist/chat-ui-shell.d.ts.map +1 -0
  28. package/dist/chat-ui-shell.js +41 -0
  29. package/dist/chat-ui-shell.js.map +1 -0
  30. package/dist/conversation-list.d.ts +21 -0
  31. package/dist/conversation-list.d.ts.map +1 -0
  32. package/dist/conversation-list.js +75 -0
  33. package/dist/conversation-list.js.map +1 -0
  34. package/dist/index.d.ts +13 -0
  35. package/dist/index.d.ts.map +1 -0
  36. package/dist/index.js +12 -0
  37. package/dist/index.js.map +1 -0
  38. package/dist/labels.d.ts +4 -0
  39. package/dist/labels.d.ts.map +1 -0
  40. package/dist/labels.js +37 -0
  41. package/dist/labels.js.map +1 -0
  42. package/dist/markdown-content.d.ts +10 -0
  43. package/dist/markdown-content.d.ts.map +1 -0
  44. package/dist/markdown-content.js +20 -0
  45. package/dist/markdown-content.js.map +1 -0
  46. package/dist/renderer-registry.d.ts +33 -0
  47. package/dist/renderer-registry.d.ts.map +1 -0
  48. package/dist/renderer-registry.js +191 -0
  49. package/dist/renderer-registry.js.map +1 -0
  50. package/dist/timeline-tail-tracker.d.ts +21 -0
  51. package/dist/timeline-tail-tracker.d.ts.map +1 -0
  52. package/dist/timeline-tail-tracker.js +36 -0
  53. package/dist/timeline-tail-tracker.js.map +1 -0
  54. package/dist/types.d.ts +78 -0
  55. package/dist/types.d.ts.map +1 -0
  56. package/dist/types.js +2 -0
  57. package/dist/types.js.map +1 -0
  58. package/dist/use-chat-command-coordinator.d.ts +31 -0
  59. package/dist/use-chat-command-coordinator.d.ts.map +1 -0
  60. package/dist/use-chat-command-coordinator.js +303 -0
  61. package/dist/use-chat-command-coordinator.js.map +1 -0
  62. package/package.json +47 -0
@@ -0,0 +1,303 @@
1
+ import { useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState, } from "react";
2
+ const clientIdentityByInstance = new WeakMap();
3
+ let nextClientIdentity = 0;
4
+ const getClientIdentity = (client) => {
5
+ const existing = clientIdentityByInstance.get(client);
6
+ if (existing !== undefined)
7
+ return existing;
8
+ nextClientIdentity += 1;
9
+ clientIdentityByInstance.set(client, nextClientIdentity);
10
+ return nextClientIdentity;
11
+ };
12
+ const useCommitEffect = typeof window === "undefined" ? useEffect : useLayoutEffect;
13
+ const unexpectedCommandError = (conversationId) => ({
14
+ code: "unknown",
15
+ conversationId,
16
+ message: "The chat command failed unexpectedly.",
17
+ retryable: true,
18
+ });
19
+ const chatUiCommands = [
20
+ "answerInteraction",
21
+ "sendText",
22
+ "interrupt",
23
+ ];
24
+ const createInteractionKey = ({ requestId, revision, }) => `${requestId.length}:${requestId}:${revision.length}:${revision}`;
25
+ const sameChatError = (left, right) => left === right ||
26
+ (left.code === right.code &&
27
+ left.conversationId === right.conversationId &&
28
+ left.message === right.message);
29
+ const createViewResetKey = (client, conversationId) => {
30
+ const clientIdentity = getClientIdentity(client);
31
+ return conversationId === null
32
+ ? `${clientIdentity}:none`
33
+ : `${clientIdentity}:conversation:${conversationId.length}:${conversationId}`;
34
+ };
35
+ const useChatCommandScopes = ({ canInterrupt, client, conversationId, run, }) => {
36
+ const viewScope = useMemo(() => ({
37
+ client,
38
+ conversationId,
39
+ resetKey: createViewResetKey(client, conversationId),
40
+ }), [client, conversationId]);
41
+ const runScope = useMemo(() => ({ canInterrupt, run, view: viewScope }), [canInterrupt, run, viewScope]);
42
+ const committedViewScope = useRef(viewScope);
43
+ const committedRunScope = useRef(runScope);
44
+ const mounted = useRef(true);
45
+ const commandRequestIds = useRef({
46
+ answerInteraction: 0,
47
+ interrupt: 0,
48
+ sendText: 0,
49
+ });
50
+ useCommitEffect(() => {
51
+ committedViewScope.current = viewScope;
52
+ committedRunScope.current = runScope;
53
+ }, [runScope, viewScope]);
54
+ useEffect(() => {
55
+ mounted.current = true;
56
+ return () => {
57
+ mounted.current = false;
58
+ commandRequestIds.current.answerInteraction += 1;
59
+ commandRequestIds.current.interrupt += 1;
60
+ commandRequestIds.current.sendText += 1;
61
+ };
62
+ }, []);
63
+ const isLatestRequest = useCallback((request) => {
64
+ if (!mounted.current)
65
+ return false;
66
+ if (commandRequestIds.current[request.command] !== request.requestId) {
67
+ return false;
68
+ }
69
+ if (committedViewScope.current !== request.viewScope ||
70
+ request.client !== request.viewScope.client) {
71
+ return false;
72
+ }
73
+ return (request.client.getSnapshot()?.conversation.id === request.conversationId);
74
+ }, []);
75
+ const isFailureRelevant = useCallback((request) => {
76
+ if (!isLatestRequest(request))
77
+ return false;
78
+ if (request.command === "answerInteraction") {
79
+ const current = request.client.getSnapshot();
80
+ return (current?.capabilities.answerInteraction === true &&
81
+ current.pendingInteraction !== undefined &&
82
+ createInteractionKey(current.pendingInteraction) ===
83
+ request.interactionKey);
84
+ }
85
+ if (request.command !== "interrupt")
86
+ return true;
87
+ if (request.runScope === undefined ||
88
+ committedRunScope.current !== request.runScope) {
89
+ return false;
90
+ }
91
+ const current = request.client.getSnapshot();
92
+ const activeRun = current?.run;
93
+ return (current?.capabilities.interrupt === true &&
94
+ activeRun !== null &&
95
+ activeRun !== undefined &&
96
+ activeRun.id === request.runId &&
97
+ activeRun.canInterrupt &&
98
+ activeRun.status === "running");
99
+ }, [isLatestRequest]);
100
+ const beginRequest = useCallback((command, activeConversationId, targetId) => {
101
+ const requestId = commandRequestIds.current[command] + 1;
102
+ commandRequestIds.current[command] = requestId;
103
+ return {
104
+ client,
105
+ command,
106
+ conversationId: activeConversationId,
107
+ requestId,
108
+ viewScope,
109
+ ...(command === "interrupt"
110
+ ? { runId: targetId, runScope }
111
+ : command === "answerInteraction"
112
+ ? { interactionKey: targetId }
113
+ : {}),
114
+ };
115
+ }, [client, runScope, viewScope]);
116
+ return {
117
+ beginRequest,
118
+ isFailureRelevant,
119
+ isLatestRequest,
120
+ runScope,
121
+ viewScope,
122
+ };
123
+ };
124
+ export const useChatCommandCoordinator = ({ canAnswerInteraction, canInterrupt, client, conversationId, getDeadlineAt, interactionRequest, onCommandError, run, snapshotError, }) => {
125
+ const { beginRequest, isFailureRelevant, isLatestRequest, runScope, viewScope, } = useChatCommandScopes({
126
+ canInterrupt,
127
+ client,
128
+ conversationId,
129
+ run,
130
+ });
131
+ const [failureState, setFailureState] = useState({
132
+ failures: {},
133
+ viewScope: null,
134
+ });
135
+ const reportFailure = useCallback((request, error) => {
136
+ if (!isLatestRequest(request))
137
+ return true;
138
+ const visible = isFailureRelevant(request);
139
+ const failure = { command: request.command, error };
140
+ setFailureState((current) => ({
141
+ failures: {
142
+ ...(current.viewScope === request.viewScope ? current.failures : {}),
143
+ [request.command]: {
144
+ error,
145
+ interactionKey: request.interactionKey,
146
+ runScope: request.runScope,
147
+ visible,
148
+ },
149
+ },
150
+ viewScope: request.viewScope,
151
+ }));
152
+ if (visible)
153
+ onCommandError?.(failure);
154
+ return !visible;
155
+ }, [isFailureRelevant, isLatestRequest, onCommandError]);
156
+ const clearFailure = useCallback((request) => {
157
+ if (!isLatestRequest(request))
158
+ return;
159
+ setFailureState((current) => {
160
+ if (current.viewScope !== request.viewScope)
161
+ return current;
162
+ const failure = current.failures[request.command];
163
+ return failure === undefined
164
+ ? current
165
+ : {
166
+ ...current,
167
+ failures: {
168
+ ...current.failures,
169
+ [request.command]: { ...failure, visible: false },
170
+ },
171
+ };
172
+ });
173
+ }, [isLatestRequest]);
174
+ const dismissFailure = useCallback((command) => {
175
+ setFailureState((current) => {
176
+ const failure = current.failures[command];
177
+ return failure === undefined
178
+ ? current
179
+ : {
180
+ ...current,
181
+ failures: {
182
+ ...current.failures,
183
+ [command]: { ...failure, visible: false },
184
+ },
185
+ };
186
+ });
187
+ }, []);
188
+ const sendText = useCallback(async (text) => {
189
+ if (conversationId === null)
190
+ return false;
191
+ const request = beginRequest("sendText", conversationId);
192
+ let result;
193
+ try {
194
+ result = await client.sendText({
195
+ conversationId,
196
+ deadlineAt: getDeadlineAt(),
197
+ text,
198
+ });
199
+ }
200
+ catch {
201
+ return reportFailure(request, unexpectedCommandError(conversationId));
202
+ }
203
+ if (!result.ok)
204
+ return reportFailure(request, result.error);
205
+ clearFailure(request);
206
+ return true;
207
+ }, [
208
+ beginRequest,
209
+ clearFailure,
210
+ client,
211
+ conversationId,
212
+ getDeadlineAt,
213
+ reportFailure,
214
+ ]);
215
+ const answerInteraction = useCallback(async (answer) => {
216
+ if (conversationId === null)
217
+ return false;
218
+ const request = beginRequest("answerInteraction", conversationId, createInteractionKey(answer));
219
+ try {
220
+ const result = await client.answerInteraction({
221
+ conversationId,
222
+ answer,
223
+ deadlineAt: getDeadlineAt(),
224
+ });
225
+ if (!result.ok)
226
+ return reportFailure(request, result.error);
227
+ }
228
+ catch {
229
+ return reportFailure(request, unexpectedCommandError(conversationId));
230
+ }
231
+ clearFailure(request);
232
+ return true;
233
+ }, [
234
+ beginRequest,
235
+ clearFailure,
236
+ client,
237
+ conversationId,
238
+ getDeadlineAt,
239
+ reportFailure,
240
+ ]);
241
+ const interrupt = useCallback(async () => {
242
+ if (conversationId === null)
243
+ return false;
244
+ const runId = run?.id;
245
+ const request = beginRequest("interrupt", conversationId, runId);
246
+ try {
247
+ const result = await client.interrupt({
248
+ conversationId,
249
+ deadlineAt: getDeadlineAt(),
250
+ ...(runId === undefined ? {} : { runId }),
251
+ });
252
+ if (!result.ok)
253
+ return reportFailure(request, result.error);
254
+ }
255
+ catch {
256
+ return reportFailure(request, unexpectedCommandError(conversationId));
257
+ }
258
+ clearFailure(request);
259
+ return true;
260
+ }, [
261
+ beginRequest,
262
+ clearFailure,
263
+ client,
264
+ conversationId,
265
+ getDeadlineAt,
266
+ reportFailure,
267
+ run?.id,
268
+ ]);
269
+ const visibleCommandFailures = failureState.viewScope === viewScope
270
+ ? chatUiCommands.flatMap((command) => {
271
+ const entry = failureState.failures[command];
272
+ if (entry === undefined ||
273
+ !entry.visible ||
274
+ (command === "answerInteraction" &&
275
+ (!canAnswerInteraction ||
276
+ interactionRequest === undefined ||
277
+ entry.interactionKey !==
278
+ createInteractionKey(interactionRequest))) ||
279
+ (command === "interrupt" && entry.runScope !== runScope)) {
280
+ return [];
281
+ }
282
+ return [{ command, error: entry.error }];
283
+ })
284
+ : [];
285
+ const trackedCommandFailures = failureState.viewScope === viewScope
286
+ ? Object.values(failureState.failures)
287
+ : [];
288
+ const visibleSnapshotError = visibleCommandFailures.length === 0 &&
289
+ snapshotError !== undefined &&
290
+ !trackedCommandFailures.some(({ error }) => sameChatError(error, snapshotError))
291
+ ? snapshotError
292
+ : undefined;
293
+ return {
294
+ answerInteraction,
295
+ dismissFailure,
296
+ interrupt,
297
+ sendText,
298
+ viewResetKey: viewScope.resetKey,
299
+ visibleCommandFailures,
300
+ visibleSnapshotError,
301
+ };
302
+ };
303
+ //# sourceMappingURL=use-chat-command-coordinator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-chat-command-coordinator.js","sourceRoot":"","sources":["../src/use-chat-command-coordinator.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,47 @@
1
+ {
2
+ "name": "@turingfocus/chat-ui-antd",
3
+ "version": "0.1.0",
4
+ "description": "Composable Ant Design chat UI and default renderers",
5
+ "license": "MIT",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "git+https://github.com/A2C-SMCP/tf-chat-kit.git",
9
+ "directory": "packages/chat-ui-antd"
10
+ },
11
+ "homepage": "https://github.com/A2C-SMCP/tf-chat-kit#readme",
12
+ "bugs": {
13
+ "url": "https://github.com/A2C-SMCP/tf-chat-kit/issues"
14
+ },
15
+ "type": "module",
16
+ "sideEffects": false,
17
+ "files": [
18
+ "dist"
19
+ ],
20
+ "main": "./dist/index.js",
21
+ "module": "./dist/index.js",
22
+ "types": "./dist/index.d.ts",
23
+ "exports": {
24
+ ".": {
25
+ "types": "./dist/index.d.ts",
26
+ "import": "./dist/index.js",
27
+ "default": "./dist/index.js"
28
+ }
29
+ },
30
+ "dependencies": {
31
+ "react-markdown": "10.1.0",
32
+ "react-virtuoso": "4.17.0",
33
+ "rehype-sanitize": "6.0.0",
34
+ "remark-gfm": "4.0.1",
35
+ "@turingfocus/chat-protocol": "^0.1.0",
36
+ "@turingfocus/chat-react": "^0.1.0"
37
+ },
38
+ "peerDependencies": {
39
+ "antd": ">=5.23.4 <6.0.0",
40
+ "react": ">=18.2.0 <19.0.0",
41
+ "react-dom": ">=18.2.0 <19.0.0"
42
+ },
43
+ "publishConfig": {
44
+ "access": "public",
45
+ "registry": "https://registry.npmjs.org/"
46
+ }
47
+ }