@turingfocus/chat-ui-antd 0.8.1 → 0.8.4

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 (43) hide show
  1. package/dist/ask-user-interaction.d.ts +3 -1
  2. package/dist/ask-user-interaction.d.ts.map +1 -1
  3. package/dist/ask-user-interaction.js +17 -11
  4. package/dist/ask-user-interaction.js.map +1 -1
  5. package/dist/chat-composer.d.ts +7 -1
  6. package/dist/chat-composer.d.ts.map +1 -1
  7. package/dist/chat-composer.js +62 -18
  8. package/dist/chat-composer.js.map +1 -1
  9. package/dist/chat-conversation-view.d.ts +6 -1
  10. package/dist/chat-conversation-view.d.ts.map +1 -1
  11. package/dist/chat-conversation-view.js +38 -33
  12. package/dist/chat-conversation-view.js.map +1 -1
  13. package/dist/chat-diagnostics.d.ts +14 -0
  14. package/dist/chat-diagnostics.d.ts.map +1 -0
  15. package/dist/chat-diagnostics.js +96 -0
  16. package/dist/chat-diagnostics.js.map +1 -0
  17. package/dist/chat-notices.d.ts +19 -0
  18. package/dist/chat-notices.d.ts.map +1 -0
  19. package/dist/chat-notices.js +147 -0
  20. package/dist/chat-notices.js.map +1 -0
  21. package/dist/chat-run-status.d.ts +3 -2
  22. package/dist/chat-run-status.d.ts.map +1 -1
  23. package/dist/chat-run-status.js +5 -2
  24. package/dist/chat-run-status.js.map +1 -1
  25. package/dist/chat-ui-shell.d.ts +2 -1
  26. package/dist/chat-ui-shell.d.ts.map +1 -1
  27. package/dist/chat-ui-shell.js +4 -2
  28. package/dist/chat-ui-shell.js.map +1 -1
  29. package/dist/chat-workspace.d.ts.map +1 -1
  30. package/dist/chat-workspace.js +8 -1
  31. package/dist/chat-workspace.js.map +1 -1
  32. package/dist/index.d.ts +2 -1
  33. package/dist/index.d.ts.map +1 -1
  34. package/dist/index.js.map +1 -1
  35. package/dist/labels.d.ts.map +1 -1
  36. package/dist/labels.js +2 -0
  37. package/dist/labels.js.map +1 -1
  38. package/dist/types.d.ts +13 -0
  39. package/dist/types.d.ts.map +1 -1
  40. package/dist/use-chat-command-coordinator.d.ts.map +1 -1
  41. package/dist/use-chat-command-coordinator.js +6 -6
  42. package/dist/use-chat-command-coordinator.js.map +1 -1
  43. package/package.json +3 -3
@@ -2,6 +2,8 @@ import type { AskUserInteractionAnswer, AskUserInteractionQuestion, AskUserInter
2
2
  import type { ChatUiLabels } from "./types.js";
3
3
  export interface AskUserInteractionCardProps {
4
4
  readonly answerDisabled: boolean;
5
+ readonly draft?: AskUserInteractionAnswer["answers"] | undefined;
6
+ readonly onDraftChange?: ((answer: AskUserInteractionAnswer) => void) | undefined;
5
7
  readonly labels: ChatUiLabels;
6
8
  readonly onAnswer: (answer: AskUserInteractionAnswer) => Promise<boolean>;
7
9
  readonly onChatAboutThis?: ((request: AskUserChatAboutThisRequest) => void) | undefined;
@@ -15,7 +17,7 @@ export interface AskUserChatAboutThisRequest {
15
17
  readonly requestId: string;
16
18
  readonly revision: string;
17
19
  }
18
- export declare const AskUserInteractionCard: ({ answerDisabled, labels, onAnswer, onChatAboutThis, request, }: AskUserInteractionCardProps) => import("react").JSX.Element;
20
+ export declare const AskUserInteractionCard: ({ answerDisabled, draft, onDraftChange, labels, onAnswer, onChatAboutThis, request, }: AskUserInteractionCardProps) => import("react").JSX.Element;
19
21
  export interface AskUserInteractionResultViewProps {
20
22
  readonly result: AskUserInteractionResult;
21
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ask-user-interaction.d.ts","sourceRoot":"","sources":["../src/ask-user-interaction.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EACV,wBAAwB,EACxB,0BAA0B,EAC1B,yBAAyB,EACzB,wBAAwB,EACzB,MAAM,4BAA4B,CAAC;AAGpC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAM/C,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,wBAAwB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1E,QAAQ,CAAC,eAAe,CAAC,EACvB,CAAC,CAAC,OAAO,EAAE,2BAA2B,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAC/D,QAAQ,CAAC,OAAO,EAAE,yBAAyB,CAAC;CAC7C;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,OAAO,EAAE,wBAAwB,CAAC,SAAS,CAAC,CAAC;IACtD,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,0BAA0B,CAAC;IAC9C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAsBD,eAAO,MAAM,sBAAsB,GAAI,iEAMpC,2BAA2B,gCAgK7B,CAAC;AAEF,MAAM,WAAW,iCAAiC;IAChD,QAAQ,CAAC,MAAM,EAAE,wBAAwB,CAAC;CAC3C;AAED,eAAO,MAAM,4BAA4B,GAAI,aAE1C,iCAAiC,gCA+CnC,CAAC"}
1
+ {"version":3,"file":"ask-user-interaction.d.ts","sourceRoot":"","sources":["../src/ask-user-interaction.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EACV,wBAAwB,EACxB,0BAA0B,EAC1B,yBAAyB,EACzB,wBAAwB,EACzB,MAAM,4BAA4B,CAAC;AAGpC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAM/C,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,KAAK,CAAC,EAAE,wBAAwB,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;IACjE,QAAQ,CAAC,aAAa,CAAC,EACrB,CAAC,CAAC,MAAM,EAAE,wBAAwB,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAC3D,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,wBAAwB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1E,QAAQ,CAAC,eAAe,CAAC,EACvB,CAAC,CAAC,OAAO,EAAE,2BAA2B,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAC/D,QAAQ,CAAC,OAAO,EAAE,yBAAyB,CAAC;CAC7C;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,OAAO,EAAE,wBAAwB,CAAC,SAAS,CAAC,CAAC;IACtD,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,0BAA0B,CAAC;IAC9C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAsBD,eAAO,MAAM,sBAAsB,GAAI,uFAQpC,2BAA2B,gCA0K7B,CAAC;AAEF,MAAM,WAAW,iCAAiC;IAChD,QAAQ,CAAC,MAAM,EAAE,wBAAwB,CAAC;CAC3C;AAED,eAAO,MAAM,4BAA4B,GAAI,aAE1C,iCAAiC,gCA+CnC,CAAC"}
@@ -17,7 +17,7 @@ const normalizeAnswers = (values, questions) => {
17
17
  });
18
18
  return Object.fromEntries(entries);
19
19
  };
20
- export const AskUserInteractionCard = ({ answerDisabled, labels, onAnswer, onChatAboutThis, request, }) => {
20
+ export const AskUserInteractionCard = ({ answerDisabled, draft, onDraftChange, labels, onAnswer, onChatAboutThis, request, }) => {
21
21
  const [form] = Form.useForm();
22
22
  const [submitting, setSubmitting] = useState(false);
23
23
  const answer = useCallback(async (action, values = {}) => {
@@ -44,16 +44,22 @@ export const AskUserInteractionCard = ({ answerDisabled, labels, onAnswer, onCha
44
44
  request.revision,
45
45
  submitting,
46
46
  ]);
47
- const initialAnswers = request.questions.map((question) => question.defaultValue === undefined
48
- ? undefined
49
- : question.multiple
50
- ? Array.isArray(question.defaultValue)
51
- ? question.defaultValue
52
- : [question.defaultValue]
53
- : Array.isArray(question.defaultValue)
54
- ? question.defaultValue[0]
55
- : question.defaultValue);
56
- return (_jsxs(Card, { "aria-label": labels.askUserLabel, size: "small", title: request.title, children: [answerDisabled ? (_jsx(Typography.Paragraph, { type: "secondary", children: labels.askUserUnavailable })) : null, _jsxs(Form, { form: form, initialValues: { answers: initialAnswers }, layout: "vertical", onFinish: (values) => answer("submit", values), children: [request.questions.map((question, questionIndex) => (_jsxs(Fragment, { children: [_jsx(Form.Item, { label: _jsxs(Space, { direction: "vertical", size: 0, children: [question.title === undefined ? null : (_jsx(Typography.Text, { strong: true, children: question.title })), _jsx(Typography.Text, { children: question.prompt })] }), name: ["answers", questionIndex], ...(question.description === undefined
47
+ const initialAnswers = request.questions.map((question) => draft?.[question.id] ??
48
+ (question.defaultValue === undefined
49
+ ? undefined
50
+ : question.multiple
51
+ ? Array.isArray(question.defaultValue)
52
+ ? question.defaultValue
53
+ : [question.defaultValue]
54
+ : Array.isArray(question.defaultValue)
55
+ ? question.defaultValue[0]
56
+ : question.defaultValue));
57
+ return (_jsxs(Card, { "aria-label": labels.askUserLabel, size: "small", title: request.title, children: [answerDisabled ? (_jsx(Typography.Paragraph, { type: "secondary", children: labels.askUserUnavailable })) : null, _jsxs(Form, { form: form, initialValues: { answers: initialAnswers }, layout: "vertical", onValuesChange: (_changed, values) => onDraftChange?.({
58
+ requestId: request.requestId,
59
+ revision: request.revision,
60
+ action: "submit",
61
+ answers: normalizeAnswers(values.answers, request.questions),
62
+ }), onFinish: (values) => answer("submit", values), children: [request.questions.map((question, questionIndex) => (_jsxs(Fragment, { children: [_jsx(Form.Item, { label: _jsxs(Space, { direction: "vertical", size: 0, children: [question.title === undefined ? null : (_jsx(Typography.Text, { strong: true, children: question.title })), _jsx(Typography.Text, { children: question.prompt })] }), name: ["answers", questionIndex], ...(question.description === undefined
57
63
  ? {}
58
64
  : {
59
65
  extra: (_jsx(Typography.Text, { type: "secondary", children: question.description })),
@@ -1 +1 @@
1
- {"version":3,"file":"ask-user-interaction.js","sourceRoot":"","sources":["../src/ask-user-interaction.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ask-user-interaction.js","sourceRoot":"","sources":["../src/ask-user-interaction.tsx"],"names":[],"mappings":"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"}
@@ -1,8 +1,14 @@
1
+ import { type ChatError } from "@turingfocus/chat-protocol";
1
2
  import { type CSSProperties, type ReactNode } from "react";
2
3
  import type { ChatAttachmentUploader, ComposerDraft } from "@turingfocus/chat-react";
3
4
  import type { UploadedAttachment } from "@turingfocus/chat-protocol";
4
5
  import type { ChatUiLabelOverrides } from "./types.js";
6
+ export type ChatComposerSendShortcut = "ctrl-enter" | "enter";
5
7
  export interface ChatComposerProps {
8
+ /** Defaults to Ctrl+Enter on every platform; Enter inserts a newline. */
9
+ readonly sendShortcut?: ChatComposerSendShortcut | undefined;
10
+ readonly renderUploadError?: ((error: ChatError) => ReactNode) | undefined;
11
+ readonly onUploadError?: ((error: ChatError) => ChatError) | undefined;
6
12
  readonly className?: string | undefined;
7
13
  readonly disabled?: boolean | undefined;
8
14
  readonly disabledReason?: ReactNode | undefined;
@@ -24,5 +30,5 @@ export interface ChatComposerInterruptAction {
24
30
  readonly onInterrupt: () => boolean | PromiseLike<boolean>;
25
31
  readonly resetKey?: string | undefined;
26
32
  }
27
- export declare const ChatComposer: ({ className, disabled, disabledReason, interruptAction, attachmentUploader, draft: controlledDraft, getDeadlineAt, longTextThreshold, maxAttachments, onDraftChange, labels: labelOverrides, onSend, resetKey, style, textInputDisabled, }: ChatComposerProps) => import("react").JSX.Element;
33
+ export declare const ChatComposer: ({ sendShortcut, className, onUploadError, renderUploadError, disabled, disabledReason, interruptAction, attachmentUploader, draft: controlledDraft, getDeadlineAt, longTextThreshold, maxAttachments, onDraftChange, labels: labelOverrides, onSend, resetKey, style, textInputDisabled, }: ChatComposerProps) => import("react").JSX.Element;
28
34
  //# sourceMappingURL=chat-composer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"chat-composer.d.ts","sourceRoot":"","sources":["../src/chat-composer.tsx"],"names":[],"mappings":"AAMA,OAAO,EAKL,KAAK,aAAa,EAIlB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAEf,OAAO,KAAK,EACV,sBAAsB,EACtB,aAAa,EAEd,MAAM,yBAAyB,CAAC;AAKjC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAGrE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAEvD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAChD,QAAQ,CAAC,eAAe,CAAC,EAAE,2BAA2B,GAAG,SAAS,CAAC;IACnE,QAAQ,CAAC,MAAM,CAAC,EAAE,oBAAoB,GAAG,SAAS,CAAC;IACnD,QAAQ,CAAC,MAAM,EAAE,CACf,IAAI,EAAE,MAAM,EACZ,WAAW,CAAC,EAAE,SAAS,kBAAkB,EAAE,KACxC,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IACpC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,sBAAsB,GAAG,SAAS,CAAC;IACjE,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;IAC3C,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,MAAM,MAAM,CAAC,GAAG,SAAS,CAAC;IACpD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChD,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7C,QAAQ,CAAC,aAAa,CAAC,EACnB,CAAC,CACC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,aAAa,GAAG,WAAW,GAAG,MAAM,CAAC,KAC7D,IAAI,CAAC,GACV,SAAS,CAAC;IACd,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;IAC3C,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAClD;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,WAAW,EAAE,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IAC3D,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACxC;AAED,eAAO,MAAM,YAAY,GAAI,4OAgB1B,iBAAiB,gCAohBnB,CAAC"}
1
+ {"version":3,"file":"chat-composer.d.ts","sourceRoot":"","sources":["../src/chat-composer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,SAAS,EACf,MAAM,4BAA4B,CAAC;AAOpC,OAAO,EAML,KAAK,aAAa,EAIlB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAEf,OAAO,KAAK,EACV,sBAAsB,EACtB,aAAa,EAEd,MAAM,yBAAyB,CAAC;AAKjC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAGrE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAEvD,MAAM,MAAM,wBAAwB,GAAG,YAAY,GAAG,OAAO,CAAC;AAE9D,MAAM,WAAW,iBAAiB;IAChC,yEAAyE;IACzE,QAAQ,CAAC,YAAY,CAAC,EAAE,wBAAwB,GAAG,SAAS,CAAC;IAC7D,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,SAAS,KAAK,SAAS,CAAC,GAAG,SAAS,CAAC;IAC3E,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,SAAS,KAAK,SAAS,CAAC,GAAG,SAAS,CAAC;IACvE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAChD,QAAQ,CAAC,eAAe,CAAC,EAAE,2BAA2B,GAAG,SAAS,CAAC;IACnE,QAAQ,CAAC,MAAM,CAAC,EAAE,oBAAoB,GAAG,SAAS,CAAC;IACnD,QAAQ,CAAC,MAAM,EAAE,CACf,IAAI,EAAE,MAAM,EACZ,WAAW,CAAC,EAAE,SAAS,kBAAkB,EAAE,KACxC,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IACpC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,sBAAsB,GAAG,SAAS,CAAC;IACjE,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;IAC3C,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,MAAM,MAAM,CAAC,GAAG,SAAS,CAAC;IACpD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChD,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7C,QAAQ,CAAC,aAAa,CAAC,EACnB,CAAC,CACC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,aAAa,GAAG,WAAW,GAAG,MAAM,CAAC,KAC7D,IAAI,CAAC,GACV,SAAS,CAAC;IACd,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;IAC3C,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAClD;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,WAAW,EAAE,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IAC3D,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACxC;AAED,eAAO,MAAM,YAAY,GAAI,4RAmB1B,iBAAiB,gCAmlBnB,CAAC"}
@@ -1,16 +1,20 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { safeDiagnosticError, } from "@turingfocus/chat-protocol";
2
3
  import { ChatReferencePicker } from "./reference-picker.js";
3
4
  import { appendComposerReference, useChatDocumentSource, } from "@turingfocus/chat-react";
4
5
  import { Button, Input, Modal, Space, Typography, theme } from "antd";
5
- import { useCallback, useEffect, useRef, useState, } from "react";
6
+ import { useCallback, useId, useEffect, useRef, useState, } from "react";
6
7
  import { rebaseComposerLongTexts, resolveComposerDraftText, } from "@turingfocus/chat-react";
7
8
  import { resolveChatUiLabels } from "./labels.js";
8
- export const ChatComposer = ({ className, disabled = false, disabledReason, interruptAction, attachmentUploader, draft: controlledDraft, getDeadlineAt, longTextThreshold = 4_000, maxAttachments = 20, onDraftChange, labels: labelOverrides, onSend, resetKey, style, textInputDisabled = false, }) => {
9
+ export const ChatComposer = ({ sendShortcut = "ctrl-enter", className, onUploadError, renderUploadError, disabled = false, disabledReason, interruptAction, attachmentUploader, draft: controlledDraft, getDeadlineAt, longTextThreshold = 4_000, maxAttachments = 20, onDraftChange, labels: labelOverrides, onSend, resetKey, style, textInputDisabled = false, }) => {
9
10
  const { source: documentSource, scope: documentScope } = useChatDocumentSource();
10
11
  const [referencePickerOpen, setReferencePickerOpen] = useState(false);
11
12
  useEffect(() => setReferencePickerOpen(false), [resetKey, documentSource, documentScope]);
12
13
  const { token } = theme.useToken();
13
14
  const labels = resolveChatUiLabels(labelOverrides);
15
+ const shortcutHintId = useId();
16
+ const composing = useRef(false);
17
+ const submissionInFlight = useRef(false);
14
18
  const [draft, setDraft] = useState("");
15
19
  const [uploading, setUploading] = useState([]);
16
20
  const [selectedLongTextId, setSelectedLongTextId] = useState();
@@ -59,6 +63,8 @@ export const ChatComposer = ({ className, disabled = false, disabledReason, inte
59
63
  };
60
64
  cancelUploads();
61
65
  pendingTextEdit.current = undefined;
66
+ composing.current = false;
67
+ submissionInFlight.current = false;
62
68
  submissionId.current += 1;
63
69
  setDraft("");
64
70
  setUploading([]);
@@ -78,11 +84,13 @@ export const ChatComposer = ({ className, disabled = false, disabledReason, inte
78
84
  text,
79
85
  });
80
86
  if (disabled ||
81
- submitting ||
87
+ submissionInFlight.current ||
88
+ uploading.some((item) => item.error === undefined) ||
82
89
  (resolvedText.trim().length === 0 && attachments.length === 0))
83
90
  return;
84
91
  const requestId = submissionId.current + 1;
85
92
  submissionId.current = requestId;
93
+ submissionInFlight.current = true;
86
94
  setSubmitting(true);
87
95
  try {
88
96
  const succeeded = await onSend(resolvedText, attachments);
@@ -97,8 +105,10 @@ export const ChatComposer = ({ className, disabled = false, disabledReason, inte
97
105
  // draft so the user can retry without creating a second error source.
98
106
  }
99
107
  finally {
100
- if (submissionId.current === requestId)
108
+ if (submissionId.current === requestId) {
109
+ submissionInFlight.current = false;
101
110
  setSubmitting(false);
111
+ }
102
112
  }
103
113
  };
104
114
  const uploadFile = useCallback(async (file, id) => {
@@ -137,13 +147,20 @@ export const ChatComposer = ({ className, disabled = false, disabledReason, inte
137
147
  },
138
148
  });
139
149
  }
140
- catch (error) {
150
+ catch {
151
+ const failure = {
152
+ code: "unknown",
153
+ message: "Upload failed",
154
+ retryable: false,
155
+ diagnostic: { operation: "uploadAttachment" },
156
+ };
157
+ const recorded = onUploadError?.(failure) ?? safeDiagnosticError(failure);
141
158
  if (uploadGeneration.current !== generation)
142
159
  return;
143
160
  setUploading((current) => current.map((item) => item.id === id
144
161
  ? {
145
162
  ...item,
146
- error: error instanceof Error ? error.message : "Upload failed",
163
+ error: recorded,
147
164
  }
148
165
  : item));
149
166
  return;
@@ -153,6 +170,9 @@ export const ChatComposer = ({ className, disabled = false, disabledReason, inte
153
170
  uploadControllers.current.delete(id);
154
171
  }
155
172
  }
173
+ const recordedFailure = result.ok
174
+ ? undefined
175
+ : (onUploadError?.(result.error) ?? safeDiagnosticError(result.error));
156
176
  if (uploadGeneration.current !== generation)
157
177
  return;
158
178
  if (result.ok) {
@@ -162,9 +182,9 @@ export const ChatComposer = ({ className, disabled = false, disabledReason, inte
162
182
  setUploading((current) => current.filter((item) => item.id !== id));
163
183
  }
164
184
  else {
165
- setUploading((current) => current.map((item) => item.id === id ? { ...item, error: result.error.message } : item));
185
+ setUploading((current) => current.map((item) => item.id === id ? { ...item, error: recordedFailure } : item));
166
186
  }
167
- }, [attachmentUploader, getDeadlineAt, updateDraft]);
187
+ }, [attachmentUploader, getDeadlineAt, onUploadError, updateDraft]);
168
188
  const selectFiles = (event) => {
169
189
  const remaining = Math.max(0, maxAttachments - attachments.length - uploading.length);
170
190
  for (const file of Array.from(event.target.files ?? []).slice(0, remaining)) {
@@ -211,10 +231,22 @@ export const ChatComposer = ({ className, disabled = false, disabledReason, inte
211
231
  ].sort((left, right) => left.start - right.start),
212
232
  });
213
233
  };
214
- const handlePressEnter = (event) => {
215
- if (event.shiftKey || event.nativeEvent.isComposing)
234
+ const handleKeyDown = (event) => {
235
+ // IME may end composition before its confirming keydown (notably WebKit).
236
+ // keyCode is used only for this compatibility guard, never to identify Enter.
237
+ if (event.defaultPrevented ||
238
+ composing.current ||
239
+ event.nativeEvent.isComposing ||
240
+ event.nativeEvent.keyCode === 229 ||
241
+ event.key !== "Enter" ||
242
+ event.shiftKey ||
243
+ event.altKey ||
244
+ event.metaKey ||
245
+ (!event.ctrlKey && sendShortcut !== "enter"))
216
246
  return;
217
247
  event.preventDefault();
248
+ if (event.repeat || disabled || textInputDisabled)
249
+ return;
218
250
  void submit();
219
251
  };
220
252
  const interrupt = async () => {
@@ -243,7 +275,13 @@ export const ChatComposer = ({ className, disabled = false, disabledReason, inte
243
275
  borderBlockStart: `${token.lineWidth}px ${token.lineType} ${token.colorBorderSecondary}`,
244
276
  padding: token.paddingSM,
245
277
  ...style,
246
- }, children: [_jsxs("div", { "data-chat-composer": "", style: { alignItems: "flex-end", display: "flex", gap: token.marginXS }, children: [_jsx(Input.TextArea, { "aria-label": labels.composerLabel, autoSize: { maxRows: 8, minRows: 2 }, disabled: disabled || textInputDisabled, onBeforeInput: (event) => {
278
+ }, children: [_jsxs("div", { "data-chat-composer": "", style: { alignItems: "flex-end", display: "flex", gap: token.marginXS }, children: [_jsx(Input.TextArea, { "aria-label": labels.composerLabel, "aria-describedby": shortcutHintId, "aria-keyshortcuts": sendShortcut === "enter" ? "Enter Control+Enter" : "Control+Enter", onCompositionStart: () => {
279
+ composing.current = true;
280
+ }, onCompositionEnd: () => {
281
+ composing.current = false;
282
+ }, onBlur: () => {
283
+ composing.current = false;
284
+ }, autoSize: { maxRows: 8, minRows: 2 }, disabled: disabled || textInputDisabled, onBeforeInput: (event) => {
247
285
  pendingTextEdit.current = {
248
286
  previousEnd: event.currentTarget.selectionEnd ?? text.length,
249
287
  previousStart: event.currentTarget.selectionStart ?? text.length,
@@ -266,7 +304,7 @@ export const ChatComposer = ({ className, disabled = false, disabledReason, inte
266
304
  ...pending,
267
305
  nextEnd: pending.previousStart + insertedLength,
268
306
  });
269
- }, onPaste: handlePaste, onPressEnter: handlePressEnter, placeholder: disabled || textInputDisabled
307
+ }, onPaste: handlePaste, onKeyDown: handleKeyDown, placeholder: disabled || textInputDisabled
270
308
  ? typeof disabledReason === "string"
271
309
  ? disabledReason
272
310
  : labels.textSendingUnavailable
@@ -283,13 +321,19 @@ export const ChatComposer = ({ className, disabled = false, disabledReason, inte
283
321
  uploading.some((item) => item.error === undefined) ||
284
322
  (text.trim().length === 0 && attachments.length === 0), loading: submitting, onClick: () => {
285
323
  void submit();
286
- }, type: "primary", children: submitting ? labels.sending : labels.send })] }), attachments.length === 0 && uploading.length === 0 ? null : (_jsxs(Space, { wrap: true, size: "small", style: { marginBlockStart: token.marginXS }, children: [attachments.map((attachment) => (_jsxs(Button, { "aria-label": `${labels.removeAttachment} ${attachment.name ?? attachment.uri}`, onClick: () => updateDraft({
324
+ }, type: "primary", children: submitting ? labels.sending : labels.send })] }), _jsx(Typography.Text, { id: shortcutHintId, type: "secondary", style: { display: "block", fontSize: token.fontSizeSM }, children: sendShortcut === "enter"
325
+ ? (labels.composerEnterHint ??
326
+ "Enter or Ctrl+Enter to send · Shift+Enter for a new line")
327
+ : (labels.composerCtrlEnterHint ??
328
+ "Enter for a new line · Ctrl+Enter to send") }), attachments.length === 0 && uploading.length === 0 ? null : (_jsxs(Space, { wrap: true, size: "small", style: { marginBlockStart: token.marginXS }, children: [attachments.map((attachment) => (_jsxs(Button, { "aria-label": `${labels.removeAttachment} ${attachment.name ?? attachment.uri}`, onClick: () => updateDraft({
287
329
  attachments: attachments.filter((item) => item !== attachment),
288
- }), size: "small", children: [attachment.name ?? attachment.uri, " \u00D7"] }, attachment.uri))), uploading.map((item) => (_jsx(Button, { danger: item.error !== undefined, loading: item.error === undefined, onClick: () => item.error === undefined
289
- ? undefined
290
- : void uploadFile(item.file, item.id), size: "small", children: item.error === undefined
291
- ? item.file.name
292
- : `${labels.retryUpload} ${item.file.name}` }, item.id)))] })), referencePickerOpen &&
330
+ }), size: "small", children: [attachment.name ?? attachment.uri, " \u00D7"] }, attachment.uri))), uploading.map((item) => (_jsxs("div", { children: [_jsx(Button, { danger: item.error !== undefined, loading: item.error === undefined, onClick: () => item.error === undefined
331
+ ? undefined
332
+ : void uploadFile(item.file, item.id), size: "small", children: item.error === undefined
333
+ ? item.file.name
334
+ : `${labels.retryUpload} ${item.file.name}` }, item.id), item.error
335
+ ? (renderUploadError?.(item.error) ?? (_jsx("span", { role: "alert", children: item.error.message })))
336
+ : null] }, item.id)))] })), referencePickerOpen &&
293
337
  controlledDraft !== undefined &&
294
338
  onDraftChange !== undefined && (_jsx(ChatReferencePicker, { conversationId: controlledDraft.conversationId, onClose: () => setReferencePickerOpen(false), onSelect: (reference) => {
295
339
  const current = draftSnapshot.current;
@@ -1 +1 @@
1
- {"version":3,"file":"chat-composer.js","sourceRoot":"","sources":["../src/chat-composer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat-composer.js","sourceRoot":"","sources":["../src/chat-composer.tsx"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
+ import { type ChatNoticeTiming } from "./chat-notices.js";
1
2
  import { type CSSProperties } from "react";
3
+ import { type ChatComposerSendShortcut } from "./chat-composer.js";
2
4
  import { type ChatEventDetailMode, type ChatEventItem } from "./chat-event-detail.js";
3
5
  import { type AskUserChatAboutThisRequest } from "./ask-user-interaction.js";
4
6
  import type { ChatRendererFailure, ChatRendererRegistry } from "./renderer-registry.js";
@@ -6,6 +8,9 @@ import type { ChatUiLabelOverrides } from "./types.js";
6
8
  import { type ChatUiCommand, type ChatUiCommandFailure } from "./use-chat-command-coordinator.js";
7
9
  export type { ChatUiCommand, ChatUiCommandFailure };
8
10
  export interface ChatConversationViewProps {
11
+ readonly sendShortcut?: ChatComposerSendShortcut | undefined;
12
+ readonly noticeTiming?: ChatNoticeTiming | undefined;
13
+ readonly onRequestAuthentication?: (() => void) | undefined;
9
14
  readonly className?: string | undefined;
10
15
  readonly defaultEventDetailMode?: ChatEventDetailMode | undefined;
11
16
  readonly defaultSelectedEventId?: string | null | undefined;
@@ -32,5 +37,5 @@ export interface ChatConversationViewProps {
32
37
  readonly selectedEventId?: string | null | undefined;
33
38
  readonly style?: CSSProperties | undefined;
34
39
  }
35
- export declare const ChatConversationView: ({ className, defaultEventDetailMode, defaultEventDetailSplitRatio, defaultSelectedEventId, eventDetailMode: controlledEventDetailMode, eventDetailSplitBreakpoint, eventDetailSplitRatio, formatTimestamp, getDeadlineAt, labels: labelOverrides, onChatAboutThis, onCommandError, onEventDetailModeChange, onEventDetailSplitRatioChange, onRendererError, onSelectedEventChange, renderers, selectedEventId: controlledSelectedEventId, style, }: ChatConversationViewProps) => import("react").JSX.Element;
40
+ export declare const ChatConversationView: ({ sendShortcut, className, noticeTiming, onRequestAuthentication, defaultEventDetailMode, defaultEventDetailSplitRatio, defaultSelectedEventId, eventDetailMode: controlledEventDetailMode, eventDetailSplitBreakpoint, eventDetailSplitRatio, formatTimestamp, getDeadlineAt, labels: labelOverrides, onChatAboutThis, onCommandError, onEventDetailModeChange, onEventDetailSplitRatioChange, onRendererError, onSelectedEventChange, renderers, selectedEventId: controlledSelectedEventId, style, }: ChatConversationViewProps) => import("react").JSX.Element;
36
41
  //# sourceMappingURL=chat-conversation-view.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"chat-conversation-view.d.ts","sourceRoot":"","sources":["../src/chat-conversation-view.tsx"],"names":[],"mappings":"AACA,OAAO,EAML,KAAK,aAAa,EACnB,MAAM,OAAO,CAAC;AAoBf,OAAO,EAIL,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAEnB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAEL,KAAK,2BAA2B,EACjC,MAAM,2BAA2B,CAAC;AASnC,OAAO,KAAK,EACV,mBAAmB,EACnB,oBAAoB,EACrB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,oBAAoB,EAC1B,MAAM,mCAAmC,CAAC;AAE3C,YAAY,EAAE,aAAa,EAAE,oBAAoB,EAAE,CAAC;AAEpD,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAAC;IAClE,QAAQ,CAAC,sBAAsB,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC5D,QAAQ,CAAC,eAAe,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAAC;IAC3D,QAAQ,CAAC,0BAA0B,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzD,gFAAgF;IAChF,QAAQ,CAAC,4BAA4B,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3D,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC,GAAG,SAAS,CAAC;IACvE,QAAQ,CAAC,aAAa,EAAE,MAAM,MAAM,CAAC;IACrC,QAAQ,CAAC,MAAM,CAAC,EAAE,oBAAoB,GAAG,SAAS,CAAC;IACnD,QAAQ,CAAC,cAAc,CAAC,EACtB,CAAC,CAAC,OAAO,EAAE,oBAAoB,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IACxD,QAAQ,CAAC,uBAAuB,CAAC,EAC/B,CAAC,CAAC,IAAI,EAAE,mBAAmB,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IACpD;;;OAGG;IACH,QAAQ,CAAC,6BAA6B,CAAC,EACrC,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,eAAe,CAAC,EACvB,CAAC,CAAC,OAAO,EAAE,2BAA2B,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAC/D,QAAQ,CAAC,eAAe,CAAC,EACvB,CAAC,CAAC,OAAO,EAAE,mBAAmB,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IACvD,QAAQ,CAAC,qBAAqB,CAAC,EAC7B,CAAC,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,EAAE,IAAI,EAAE,aAAa,GAAG,IAAI,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAC7E,QAAQ,CAAC,SAAS,CAAC,EAAE,oBAAoB,GAAG,SAAS,CAAC;IACtD,sEAAsE;IACtE,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpD,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACrD,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;CAC5C;AAgDD,eAAO,MAAM,oBAAoB,GAAI,obAoBlC,yBAAyB,gCAogB3B,CAAC"}
1
+ {"version":3,"file":"chat-conversation-view.d.ts","sourceRoot":"","sources":["../src/chat-conversation-view.tsx"],"names":[],"mappings":"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"}
@@ -1,14 +1,15 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Alert, Modal, Segmented, Typography, theme } from "antd";
2
+ import { ChatNotices } from "./chat-notices.js";
3
+ import { ChatErrorNotice } from "./chat-diagnostics.js";
4
+ import { Modal, Segmented, Typography, theme } from "antd";
3
5
  import { useCallback, useEffect, useMemo, useRef, useState, } from "react";
4
6
  import { isChatLifecycleOperable, } from "@turingfocus/chat-protocol";
5
- import { useChatAttachmentUploader, useChatClient, useChatSelector, useComposerDraft, useConversationCache, } from "@turingfocus/chat-react";
6
- import { ChatComposer } from "./chat-composer.js";
7
- import { chatErrorNoticeKey, DismissibleChatAlert, } from "./dismissible-chat-alert.js";
7
+ import { useAskUserRemoteTool, useChatAttachmentUploader, useChatClient, useChatSelector, useComposerDraft, useConversationCache, } from "@turingfocus/chat-react";
8
+ import { ChatComposer, } from "./chat-composer.js";
9
+ import { chatErrorNoticeKey } from "./dismissible-chat-alert.js";
8
10
  import { ChatEventDetail, ChatEventDetailEmpty, isChatEventItem, } from "./chat-event-detail.js";
9
- import { AskUserInteractionCard, } from "./ask-user-interaction.js";
11
+ import { AskUserInteractionCard, AskUserInteractionResultView, } from "./ask-user-interaction.js";
10
12
  import { ChatRunStatus } from "./chat-run-status.js";
11
- import { ChatStateView } from "./chat-state-view.js";
12
13
  import { ChatTimeline } from "./chat-timeline.js";
13
14
  import { resolveChatUiLabels } from "./labels.js";
14
15
  import { EventDetailSplitLayout, normalizeEventDetailSplitRatio, } from "./event-detail-split-layout.js";
@@ -36,12 +37,13 @@ const equalChatConversationViewSnapshot = (left, right) => left === right ||
36
37
  left.pendingInteraction === right.pendingInteraction &&
37
38
  left.run === right.run &&
38
39
  left.timeline === right.timeline);
39
- export const ChatConversationView = ({ className, defaultEventDetailMode = "auto", defaultEventDetailSplitRatio, defaultSelectedEventId = null, eventDetailMode: controlledEventDetailMode, eventDetailSplitBreakpoint = 800, eventDetailSplitRatio, formatTimestamp, getDeadlineAt, labels: labelOverrides, onChatAboutThis, onCommandError, onEventDetailModeChange, onEventDetailSplitRatioChange, onRendererError, onSelectedEventChange, renderers, selectedEventId: controlledSelectedEventId, style, }) => {
40
+ export const ChatConversationView = ({ sendShortcut, className, noticeTiming, onRequestAuthentication, defaultEventDetailMode = "auto", defaultEventDetailSplitRatio, defaultSelectedEventId = null, eventDetailMode: controlledEventDetailMode, eventDetailSplitBreakpoint = 800, eventDetailSplitRatio, formatTimestamp, getDeadlineAt, labels: labelOverrides, onChatAboutThis, onCommandError, onEventDetailModeChange, onEventDetailSplitRatioChange, onRendererError, onSelectedEventChange, renderers, selectedEventId: controlledSelectedEventId, style, }) => {
40
41
  const { token } = theme.useToken();
41
42
  const labels = resolveChatUiLabels(labelOverrides);
42
43
  const client = useChatClient();
43
44
  const cache = useConversationCache();
44
45
  const snapshot = useChatSelector(selectChatConversationViewSnapshot, equalChatConversationViewSnapshot);
46
+ const remoteAskUser = useAskUserRemoteTool(snapshot?.conversationId ?? "");
45
47
  const attachmentUploader = useChatAttachmentUploader();
46
48
  const composer = useComposerDraft(snapshot?.conversationId ?? "");
47
49
  const activeRecoveryUnverified = snapshot?.lifecycle?.status === "active" &&
@@ -52,7 +54,7 @@ export const ChatConversationView = ({ className, defaultEventDetailMode = "auto
52
54
  const lifecycleDisplayStatus = activeRecoveryUnverified
53
55
  ? "recovering"
54
56
  : snapshot?.lifecycle?.status;
55
- const { answerInteraction, dismissFailure, interrupt, sendText, viewResetKey, visibleCommandFailures, visibleSnapshotError, } = useChatCommandCoordinator({
57
+ const { answerInteraction, dismissFailure, interrupt, sendText, viewResetKey, visibleCommandFailures, } = useChatCommandCoordinator({
56
58
  canAnswerInteraction: lifecycleOperable && snapshot?.capabilities.answerInteraction === true,
57
59
  canInterrupt: lifecycleOperable && (snapshot?.capabilities.interrupt ?? false),
58
60
  client,
@@ -213,7 +215,7 @@ export const ChatConversationView = ({ className, defaultEventDetailMode = "auto
213
215
  labels.eventDetailModeSplit,
214
216
  ]);
215
217
  if (snapshot === null) {
216
- return _jsx(ChatStateView, { labels: labels, state: { kind: "loading" } });
218
+ return (_jsx(ChatNotices, { loading: true, labels: labels, timing: noticeTiming, getDeadlineAt: getDeadlineAt }));
217
219
  }
218
220
  const conversationId = snapshot.conversationId;
219
221
  const timeline = (_jsx(ChatTimeline, { conversationId: conversationId, formatTimestamp: formatTimestamp, items: snapshot.timeline, labels: labels, onEventSelect: selectEvent, onRendererError: onRendererError, renderers: renderers, selectedEventId: selectedEventId }, viewResetKey));
@@ -229,36 +231,33 @@ export const ChatConversationView = ({ className, defaultEventDetailMode = "auto
229
231
  height: "100%",
230
232
  minHeight: 0,
231
233
  ...style,
232
- }, children: [cache.conversationId === snapshot.conversationId &&
233
- cache.source !== "none" &&
234
- (cache.status === "syncing" || cache.status === "error") ? (_jsx(DismissibleChatAlert, { resetOn: `${cache.status}:${cache.freshness}`, message: cache.status === "error"
235
- ? labels.cacheSyncFailed
236
- : cache.freshness === "stale"
237
- ? labels.cacheStale
238
- : labels.cacheSyncing, type: cache.status === "error" ? "warning" : "info", showIcon: true, style: { margin: token.marginXS } }, `cache:${viewResetKey}`)) : null, cache.conversationId === snapshot.conversationId &&
239
- cache.unavailableAttachments > 0 ? (_jsx(DismissibleChatAlert, { resetOn: String(cache.unavailableAttachments), message: labels.cacheAttachmentUnavailable, type: "warning", showIcon: true, style: { margin: token.marginXS } }, `cache-attachments:${viewResetKey}`)) : null, cache.storageError ? (_jsx(DismissibleChatAlert, { resetOn: "storage-error", message: labels.cacheStorageFailed, type: "warning", showIcon: true, style: { margin: token.marginXS } }, `cache-storage:${viewResetKey}`)) : null, _jsx(ChatRunStatus, { canInterrupt: lifecycleOperable && snapshot.capabilities.interrupt, labels: labels, onInterrupt: interrupt, run: snapshot.run, showInterruptButton: false }, `${viewResetKey}:${snapshot.run?.id ?? "no-run"}`), snapshot.lifecycle === undefined ||
240
- (snapshot.lifecycle.status === "active" &&
241
- !activeRecoveryUnverified) ? null : (_jsx(DismissibleChatAlert, { resetOn: lifecycleDisplayStatus, message: lifecycleDisplayStatus === undefined
242
- ? undefined
243
- : labels.lifecycleStatus?.[lifecycleDisplayStatus], showIcon: true, style: { margin: token.marginXS }, type: snapshot.lifecycle.status === "auth-required" ||
244
- snapshot.lifecycle.status === "subscription-failed" ||
245
- snapshot.lifecycle.status === "offline"
246
- ? "warning"
247
- : "info" }, `lifecycle:${viewResetKey}`)), snapshot.error === undefined ? null : (_jsx(DismissibleChatAlert, { resetOn: snapshot.errorNoticeKey, visible: visibleSnapshotError !== undefined, message: snapshot.error.message, showIcon: true, style: { margin: token.marginXS }, type: "error" }, `snapshot-error:${viewResetKey}`)), visibleCommandFailures.map((failure) => (_jsx(Alert, { closable: true, message: failure.error.message, onClose: () => {
248
- dismissFailure(failure.command);
249
- }, showIcon: true, style: { margin: token.marginXS }, type: "error" }, failure.command))), _jsxs("div", { style: {
234
+ }, children: [_jsx(ChatNotices, { conversationId: conversationId, timing: noticeTiming, labels: labels, getDeadlineAt: getDeadlineAt, onRequestAuthentication: onRequestAuthentication }, `notices:${viewResetKey}`), _jsx(ChatRunStatus, { canInterrupt: lifecycleOperable && snapshot.capabilities.interrupt, labels: labels, onInterrupt: interrupt, run: snapshot.run, showInterruptButton: false, showError: false }, `${viewResetKey}:${snapshot.run?.id ?? "no-run"}`), _jsxs("div", { style: {
250
235
  alignItems: "center",
251
236
  display: "flex",
252
237
  gap: token.marginXS,
253
238
  justifyContent: "flex-end",
254
239
  padding: `${token.paddingXXS}px ${token.paddingSM}px`,
255
240
  }, children: [_jsx(Typography.Text, { type: "secondary", children: labels.eventDetailModeLabel }), _jsx(Segmented, { "aria-label": labels.eventDetailModeLabel, onChange: changeEventDetailMode, options: eventDetailModeOptions, size: "small", value: requestedEventDetailMode })] }), _jsx("div", { "data-chat-event-layout": resolvedEventDetailMode, ref: layoutRef, style: { display: "flex", flex: 1, minHeight: 0, minWidth: 0 }, children: _jsx(EventDetailSplitLayout, { ariaLabel: labels.eventDetailSplitHandleLabel ?? "Resize event detail panes", detail: eventDetail, onRatioChange: changeEventDetailSplitRatio, ratio: resolvedEventDetailSplitRatio, resizable: controlledEventDetailSplitRatio === undefined ||
256
- onEventDetailSplitRatioChange !== undefined, split: resolvedEventDetailMode === "split", timeline: timeline }) }), snapshot.pendingInteraction === undefined ? null : (_jsx("div", { style: { padding: token.paddingXS }, children: _jsx(AskUserInteractionCard, { answerDisabled: !lifecycleOperable ||
241
+ onEventDetailSplitRatioChange !== undefined, split: resolvedEventDetailMode === "split", timeline: timeline }) }), visibleCommandFailures
242
+ .filter((failure) => failure.command === "answerInteraction")
243
+ .map((failure) => (_jsx(ChatErrorNotice, { error: failure.error, operation: failure.command, labels: labels, onDismiss: () => dismissFailure(failure.command) }, failure.command))), remoteAskUser.entries.length === 0 ? null : (_jsx("div", { role: "region", "aria-label": String(labels.askUserLabel), style: {
244
+ flex: "0 1 auto",
245
+ minHeight: 0,
246
+ maxHeight: "40%",
247
+ overflowY: "auto",
248
+ }, children: remoteAskUser.entries.map((entry) => (_jsx("div", { style: { padding: token.paddingXS }, children: entry.result === undefined ? (_jsx(AskUserInteractionCard, { answerDisabled: false, labels: labels, onAnswer: remoteAskUser.answer, draft: entry.draft, onDraftChange: remoteAskUser.setDraft, onChatAboutThis: onChatAboutThis, request: entry.request })) : (_jsx(AskUserInteractionResultView, { result: entry.result })) }, entry.request.requestId))) })), snapshot.pendingInteraction === undefined ? null : (_jsx("div", { style: { padding: token.paddingXS }, children: _jsx(AskUserInteractionCard, { answerDisabled: !lifecycleOperable ||
257
249
  snapshot.capabilities.answerInteraction !== true, labels: labels, onAnswer: answerInteraction, onChatAboutThis: onChatAboutThis, request: snapshot.pendingInteraction }, JSON.stringify([
258
250
  conversationId,
259
251
  snapshot.pendingInteraction.requestId,
260
252
  snapshot.pendingInteraction.revision,
261
- ])) })), _jsx(ChatComposer, { attachmentUploader: snapshot.capabilities.sendAttachments === true
253
+ ])) })), visibleCommandFailures
254
+ .filter((failure) => failure.command !== "answerInteraction")
255
+ .map((failure) => (_jsx(ChatErrorNotice, { error: failure.error, operation: failure.command, labels: labels, onDismiss: () => dismissFailure(failure.command) }, failure.command))), cache.conversationId === conversationId &&
256
+ cache.unavailableAttachments > 0 ? (_jsx("span", { role: "status", children: labels.cacheAttachmentUnavailable })) : null, _jsx(ChatComposer, { sendShortcut: sendShortcut, renderUploadError: (error) => (_jsx(ChatErrorNotice, { error: error, operation: "uploadAttachment", labels: labels })), onUploadError: (error) => client.recordDiagnostic({
257
+ ...error,
258
+ conversationId,
259
+ diagnostic: { ...error.diagnostic, operation: "uploadAttachment" },
260
+ }), attachmentUploader: snapshot.capabilities.sendAttachments === true
262
261
  ? attachmentUploader
263
262
  : undefined, draft: composer.draft, getDeadlineAt: getDeadlineAt, disabled: !lifecycleOperable ||
264
263
  (!snapshot.capabilities.sendText &&
@@ -268,11 +267,17 @@ export const ChatConversationView = ({ className, defaultEventDetailMode = "auto
268
267
  (snapshot.capabilities.sendAttachments === true &&
269
268
  attachmentUploader !== undefined))
270
269
  ? undefined
271
- : snapshot.lifecycle !== undefined && !lifecycleOperable
272
- ? lifecycleDisplayStatus === undefined
270
+ : cache.conversationId === conversationId &&
271
+ cache.status === "syncing"
272
+ ? undefined
273
+ : snapshot.lifecycle?.status === "connecting" ||
274
+ snapshot.lifecycle?.status === "joining"
273
275
  ? undefined
274
- : labels.lifecycleStatus?.[lifecycleDisplayStatus]
275
- : labels.textSendingUnavailable, interruptAction: snapshot.run?.status === "running"
276
+ : snapshot.lifecycle !== undefined && !lifecycleOperable
277
+ ? lifecycleDisplayStatus === undefined
278
+ ? undefined
279
+ : labels.lifecycleStatus?.[lifecycleDisplayStatus]
280
+ : labels.textSendingUnavailable, interruptAction: snapshot.run?.status === "running"
276
281
  ? {
277
282
  disabled: !snapshot.capabilities.interrupt ||
278
283
  !lifecycleOperable ||