@turingfocus/chat-ui-antd 0.7.0 → 0.8.1

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 (78) hide show
  1. package/dist/chat-composer.d.ts +11 -2
  2. package/dist/chat-composer.d.ts.map +1 -1
  3. package/dist/chat-composer.js +241 -14
  4. package/dist/chat-composer.js.map +1 -1
  5. package/dist/chat-conversation-view.d.ts.map +1 -1
  6. package/dist/chat-conversation-view.js +36 -11
  7. package/dist/chat-conversation-view.js.map +1 -1
  8. package/dist/chat-event-detail.d.ts +2 -1
  9. package/dist/chat-event-detail.d.ts.map +1 -1
  10. package/dist/chat-event-detail.js +3 -2
  11. package/dist/chat-event-detail.js.map +1 -1
  12. package/dist/chat-run-status.d.ts.map +1 -1
  13. package/dist/chat-run-status.js +3 -2
  14. package/dist/chat-run-status.js.map +1 -1
  15. package/dist/chat-timeline.d.ts.map +1 -1
  16. package/dist/chat-timeline.js +17 -16
  17. package/dist/chat-timeline.js.map +1 -1
  18. package/dist/code-content.d.ts +13 -0
  19. package/dist/code-content.d.ts.map +1 -0
  20. package/dist/code-content.js +144 -0
  21. package/dist/code-content.js.map +1 -0
  22. package/dist/code-highlight.d.ts +3 -0
  23. package/dist/code-highlight.d.ts.map +1 -0
  24. package/dist/code-highlight.js +29 -0
  25. package/dist/code-highlight.js.map +1 -0
  26. package/dist/dismissible-chat-alert.d.ts +12 -0
  27. package/dist/dismissible-chat-alert.d.ts.map +1 -0
  28. package/dist/dismissible-chat-alert.js +25 -0
  29. package/dist/dismissible-chat-alert.js.map +1 -0
  30. package/dist/event-renderers.d.ts.map +1 -1
  31. package/dist/event-renderers.js +16 -18
  32. package/dist/event-renderers.js.map +1 -1
  33. package/dist/index.d.ts +2 -0
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js +1 -0
  36. package/dist/index.js.map +1 -1
  37. package/dist/labels.d.ts +2 -1
  38. package/dist/labels.d.ts.map +1 -1
  39. package/dist/labels.js +33 -0
  40. package/dist/labels.js.map +1 -1
  41. package/dist/markdown-content.d.ts +2 -5
  42. package/dist/markdown-content.d.ts.map +1 -1
  43. package/dist/markdown-content.js +38 -14
  44. package/dist/markdown-content.js.map +1 -1
  45. package/dist/reference-picker.d.ts +8 -0
  46. package/dist/reference-picker.d.ts.map +1 -0
  47. package/dist/reference-picker.js +64 -0
  48. package/dist/reference-picker.js.map +1 -0
  49. package/dist/renderer-registry.d.ts.map +1 -1
  50. package/dist/renderer-registry.js +16 -1
  51. package/dist/renderer-registry.js.map +1 -1
  52. package/dist/resource-content.d.ts +14 -0
  53. package/dist/resource-content.d.ts.map +1 -0
  54. package/dist/resource-content.js +194 -0
  55. package/dist/resource-content.js.map +1 -0
  56. package/dist/resource-labels.d.ts +8 -0
  57. package/dist/resource-labels.d.ts.map +1 -0
  58. package/dist/resource-labels.js +15 -0
  59. package/dist/resource-labels.js.map +1 -0
  60. package/dist/shell-content.d.ts +16 -0
  61. package/dist/shell-content.d.ts.map +1 -0
  62. package/dist/shell-content.js +103 -0
  63. package/dist/shell-content.js.map +1 -0
  64. package/dist/tool-presentation.d.ts +6 -0
  65. package/dist/tool-presentation.d.ts.map +1 -0
  66. package/dist/tool-presentation.js +29 -0
  67. package/dist/tool-presentation.js.map +1 -0
  68. package/dist/types.d.ts +33 -0
  69. package/dist/types.d.ts.map +1 -1
  70. package/dist/use-chat-command-coordinator.d.ts +2 -2
  71. package/dist/use-chat-command-coordinator.d.ts.map +1 -1
  72. package/dist/use-chat-command-coordinator.js +2 -3
  73. package/dist/use-chat-command-coordinator.js.map +1 -1
  74. package/dist/value-inspector.d.ts +7 -0
  75. package/dist/value-inspector.d.ts.map +1 -0
  76. package/dist/value-inspector.js +31 -0
  77. package/dist/value-inspector.js.map +1 -0
  78. package/package.json +5 -3
@@ -9,6 +9,7 @@ export type ChatEventItem = Exclude<TimelineItem, {
9
9
  }>;
10
10
  export declare const isChatEventItem: (item: TimelineItem | null | undefined) => item is ChatEventItem;
11
11
  export interface ChatEventDetailProps {
12
+ readonly labels?: ChatUiLabelOverrides | undefined;
12
13
  readonly className?: string | undefined;
13
14
  readonly formatTimestamp?: ((timestamp: number) => string) | undefined;
14
15
  readonly item: ChatEventItem;
@@ -16,7 +17,7 @@ export interface ChatEventDetailProps {
16
17
  readonly renderers?: ChatRendererRegistry | undefined;
17
18
  readonly style?: CSSProperties | undefined;
18
19
  }
19
- export declare const ChatEventDetail: ({ className, formatTimestamp, item, onRendererError, renderers, style, }: ChatEventDetailProps) => import("react").JSX.Element;
20
+ export declare const ChatEventDetail: ({ labels, className, formatTimestamp, item, onRendererError, renderers, style, }: ChatEventDetailProps) => import("react").JSX.Element;
20
21
  export declare const ChatEventDetailEmpty: ({ labels: labelOverrides, }: {
21
22
  readonly labels?: ChatUiLabelOverrides | undefined;
22
23
  }) => import("react").JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"chat-event-detail.d.ts","sourceRoot":"","sources":["../src/chat-event-detail.tsx"],"names":[],"mappings":"AACA,OAAO,EAAW,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;AAEpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE/D,OAAO,EAIL,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EAC1B,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAGvD,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAC7D,MAAM,MAAM,2BAA2B,GAAG,OAAO,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;AAC/E,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,YAAY,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC,CAAC;AAEhF,eAAO,MAAM,eAAe,GAC1B,MAAM,YAAY,GAAG,IAAI,GAAG,SAAS,KACpC,IAAI,IAAI,aACqD,CAAC;AAEjE,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC,GAAG,SAAS,CAAC;IACvE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,eAAe,CAAC,EACvB,CAAC,CAAC,OAAO,EAAE,mBAAmB,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IACvD,QAAQ,CAAC,SAAS,CAAC,EAAE,oBAAoB,GAAG,SAAS,CAAC;IACtD,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;CAC5C;AAED,eAAO,MAAM,eAAe,GAAI,0EAO7B,oBAAoB,gCAiBtB,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,6BAElC;IACD,QAAQ,CAAC,MAAM,CAAC,EAAE,oBAAoB,GAAG,SAAS,CAAC;CACpD,gCAGA,CAAC"}
1
+ {"version":3,"file":"chat-event-detail.d.ts","sourceRoot":"","sources":["../src/chat-event-detail.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAW,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;AAEpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE/D,OAAO,EAIL,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EAC1B,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAGvD,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAC7D,MAAM,MAAM,2BAA2B,GAAG,OAAO,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;AAC/E,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,YAAY,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC,CAAC;AAEhF,eAAO,MAAM,eAAe,GAC1B,MAAM,YAAY,GAAG,IAAI,GAAG,SAAS,KACpC,IAAI,IAAI,aACqD,CAAC;AAEjE,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,MAAM,CAAC,EAAE,oBAAoB,GAAG,SAAS,CAAC;IACnD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC,GAAG,SAAS,CAAC;IACvE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,eAAe,CAAC,EACvB,CAAC,CAAC,OAAO,EAAE,mBAAmB,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IACvD,QAAQ,CAAC,SAAS,CAAC,EAAE,oBAAoB,GAAG,SAAS,CAAC;IACtD,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;CAC5C;AAED,eAAO,MAAM,eAAe,GAAI,kFAQ7B,oBAAoB,gCAmBtB,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,6BAElC;IACD,QAAQ,CAAC,MAAM,CAAC,EAAE,oBAAoB,GAAG,SAAS,CAAC;CACpD,gCAGA,CAAC"}
@@ -1,12 +1,13 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { ResourceLabelsProvider } from "./resource-labels.js";
2
3
  import { Empty } from "antd";
3
4
  import { useMemo } from "react";
4
5
  import { ChatTimelineItem, createChatRendererRegistry, formatChatTimestampUtc, } from "./renderer-registry.js";
5
6
  import { resolveChatUiLabels } from "./labels.js";
6
7
  export const isChatEventItem = (item) => item?.kind === "agent-event" || item?.kind === "unknown-event";
7
- export const ChatEventDetail = ({ className, formatTimestamp = formatChatTimestampUtc, item, onRendererError, renderers, style, }) => {
8
+ export const ChatEventDetail = ({ labels, className, formatTimestamp = formatChatTimestampUtc, item, onRendererError, renderers, style, }) => {
8
9
  const registry = useMemo(() => createChatRendererRegistry(renderers), [renderers]);
9
- return (_jsx("div", { className: className, style: style, children: _jsx(ChatTimelineItem, { displayMode: "detail", formatTimestamp: formatTimestamp, item: item, onRendererError: onRendererError, registry: registry, selected: true }) }));
10
+ return (_jsx(ResourceLabelsProvider, { labels: labels, children: _jsx("div", { className: className, style: style, children: _jsx(ChatTimelineItem, { displayMode: "detail", formatTimestamp: formatTimestamp, item: item, onRendererError: onRendererError, registry: registry, selected: true }) }) }));
10
11
  };
11
12
  export const ChatEventDetailEmpty = ({ labels: labelOverrides, }) => {
12
13
  const labels = resolveChatUiLabels(labelOverrides);
@@ -1 +1 @@
1
- {"version":3,"file":"chat-event-detail.js","sourceRoot":"","sources":["../src/chat-event-detail.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAsB,MAAM,OAAO,CAAC;AAIpD,OAAO,EACL,gBAAgB,EAChB,0BAA0B,EAC1B,sBAAsB,GAGvB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAMlD,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,IAAqC,EACd,EAAE,CACzB,IAAI,EAAE,IAAI,KAAK,aAAa,IAAI,IAAI,EAAE,IAAI,KAAK,eAAe,CAAC;AAYjE,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAC9B,SAAS,EACT,eAAe,GAAG,sBAAsB,EACxC,IAAI,EACJ,eAAe,EACf,SAAS,EACT,KAAK,GACgB,EAAE,EAAE;IACzB,MAAM,QAAQ,GAAG,OAAO,CACtB,GAAG,EAAE,CAAC,0BAA0B,CAAC,SAAS,CAAC,EAC3C,CAAC,SAAS,CAAC,CACZ,CAAC;IACF,OAAO,CACL,cAAK,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,YACrC,KAAC,gBAAgB,IACf,WAAW,EAAC,QAAQ,EACpB,eAAe,EAAE,eAAe,EAChC,IAAI,EAAE,IAAI,EACV,eAAe,EAAE,eAAe,EAChC,QAAQ,EAAE,QAAQ,EAClB,QAAQ,SACR,GACE,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,EACnC,MAAM,EAAE,cAAc,GAGvB,EAAE,EAAE;IACH,MAAM,MAAM,GAAG,mBAAmB,CAAC,cAAc,CAAC,CAAC;IACnD,OAAO,KAAC,KAAK,IAAC,WAAW,EAAE,MAAM,CAAC,gBAAgB,GAAI,CAAC;AACzD,CAAC,CAAC"}
1
+ {"version":3,"file":"chat-event-detail.js","sourceRoot":"","sources":["../src/chat-event-detail.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAsB,MAAM,OAAO,CAAC;AAIpD,OAAO,EACL,gBAAgB,EAChB,0BAA0B,EAC1B,sBAAsB,GAGvB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAMlD,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,IAAqC,EACd,EAAE,CACzB,IAAI,EAAE,IAAI,KAAK,aAAa,IAAI,IAAI,EAAE,IAAI,KAAK,eAAe,CAAC;AAajE,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAC9B,MAAM,EACN,SAAS,EACT,eAAe,GAAG,sBAAsB,EACxC,IAAI,EACJ,eAAe,EACf,SAAS,EACT,KAAK,GACgB,EAAE,EAAE;IACzB,MAAM,QAAQ,GAAG,OAAO,CACtB,GAAG,EAAE,CAAC,0BAA0B,CAAC,SAAS,CAAC,EAC3C,CAAC,SAAS,CAAC,CACZ,CAAC;IACF,OAAO,CACL,KAAC,sBAAsB,IAAC,MAAM,EAAE,MAAM,YACpC,cAAK,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,YACrC,KAAC,gBAAgB,IACf,WAAW,EAAC,QAAQ,EACpB,eAAe,EAAE,eAAe,EAChC,IAAI,EAAE,IAAI,EACV,eAAe,EAAE,eAAe,EAChC,QAAQ,EAAE,QAAQ,EAClB,QAAQ,SACR,GACE,GACiB,CAC1B,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,EACnC,MAAM,EAAE,cAAc,GAGvB,EAAE,EAAE;IACH,MAAM,MAAM,GAAG,mBAAmB,CAAC,cAAc,CAAC,CAAC;IACnD,OAAO,KAAC,KAAK,IAAC,WAAW,EAAE,MAAM,CAAC,gBAAgB,GAAI,CAAC;AACzD,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"chat-run-status.d.ts","sourceRoot":"","sources":["../src/chat-run-status.tsx"],"names":[],"mappings":"AACA,OAAO,EAA+B,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;AAExE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,4BAA4B,CAAC;AAGtD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAEvD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,MAAM,CAAC,EAAE,oBAAoB,GAAG,SAAS,CAAC;IACnD,QAAQ,CAAC,WAAW,EAAE,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IAC3D,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CAAC;IACzB,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACnD,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;CAC5C;AAED,eAAO,MAAM,aAAa,GAAI,oGAQ3B,kBAAkB,uCAuFpB,CAAC"}
1
+ {"version":3,"file":"chat-run-status.d.ts","sourceRoot":"","sources":["../src/chat-run-status.tsx"],"names":[],"mappings":"AACA,OAAO,EAA+B,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;AAExE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,4BAA4B,CAAC;AAOtD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAEvD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,MAAM,CAAC,EAAE,oBAAoB,GAAG,SAAS,CAAC;IACnD,QAAQ,CAAC,WAAW,EAAE,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IAC3D,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CAAC;IACzB,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACnD,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;CAC5C;AAED,eAAO,MAAM,aAAa,GAAI,oGAQ3B,kBAAkB,uCAyFpB,CAAC"}
@@ -1,7 +1,8 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Alert, Button, Tag, Typography, theme } from "antd";
2
+ import { Button, Tag, Typography, theme } from "antd";
3
3
  import { useEffect, useRef, useState } from "react";
4
4
  import { resolveChatUiLabels } from "./labels.js";
5
+ import { chatErrorNoticeKey, DismissibleChatAlert, } from "./dismissible-chat-alert.js";
5
6
  export const ChatRunStatus = ({ canInterrupt, className, labels: labelOverrides, onInterrupt, run, showInterruptButton = true, style, }) => {
6
7
  const { token } = theme.useToken();
7
8
  const labels = resolveChatUiLabels(labelOverrides);
@@ -54,6 +55,6 @@ export const ChatRunStatus = ({ canInterrupt, className, labels: labelOverrides,
54
55
  ? labels.interrupting
55
56
  : interruptAvailable
56
57
  ? labels.interrupt
57
- : labels.interruptUnavailable })) : null] }), run.error === undefined ? null : (_jsx(Alert, { message: run.error.message, showIcon: true, style: { marginTop: token.marginXS }, type: "error" }))] }));
58
+ : labels.interruptUnavailable })) : null] }), run.error === undefined ? null : (_jsx(DismissibleChatAlert, { resetOn: chatErrorNoticeKey(run.error), message: run.error.message, showIcon: true, style: { marginTop: token.marginXS }, type: "error" }, JSON.stringify([run.conversationId, run.id])))] }));
58
59
  };
59
60
  //# sourceMappingURL=chat-run-status.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chat-run-status.js","sourceRoot":"","sources":["../src/chat-run-status.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat-run-status.js","sourceRoot":"","sources":["../src/chat-run-status.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"chat-timeline.d.ts","sourceRoot":"","sources":["../src/chat-timeline.tsx"],"names":[],"mappings":"AACA,OAAO,EAOL,KAAK,aAAa,EAGnB,MAAM,OAAO,CAAC;AAGf,OAAO,EAEL,KAAK,YAAY,EAClB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAmB,KAAK,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAE7E,OAAO,EAIL,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EAC1B,MAAM,wBAAwB,CAAC;AAMhC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AA8CvD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC,GAAG,SAAS,CAAC;IACvE,QAAQ,CAAC,KAAK,EAAE,SAAS,YAAY,EAAE,CAAC;IACxC,QAAQ,CAAC,MAAM,CAAC,EAAE,oBAAoB,GAAG,SAAS,CAAC;IACnD,QAAQ,CAAC,aAAa,CAAC,EACrB,CAAC,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,WAAW,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IACpE,QAAQ,CAAC,eAAe,CAAC,EACvB,CAAC,CAAC,OAAO,EAAE,mBAAmB,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IACvD,QAAQ,CAAC,SAAS,CAAC,EAAE,oBAAoB,GAAG,SAAS,CAAC;IACtD,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACrD,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;CAC5C;AAED,eAAO,MAAM,YAAY,GAAI,4KAY1B,iBAAiB,gCAkOnB,CAAC"}
1
+ {"version":3,"file":"chat-timeline.d.ts","sourceRoot":"","sources":["../src/chat-timeline.tsx"],"names":[],"mappings":"AAEA,OAAO,EAOL,KAAK,aAAa,EAGnB,MAAM,OAAO,CAAC;AAGf,OAAO,EAEL,KAAK,YAAY,EAClB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAmB,KAAK,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAE7E,OAAO,EAIL,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EAC1B,MAAM,wBAAwB,CAAC;AAMhC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AA8CvD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC,GAAG,SAAS,CAAC;IACvE,QAAQ,CAAC,KAAK,EAAE,SAAS,YAAY,EAAE,CAAC;IACxC,QAAQ,CAAC,MAAM,CAAC,EAAE,oBAAoB,GAAG,SAAS,CAAC;IACnD,QAAQ,CAAC,aAAa,CAAC,EACrB,CAAC,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,WAAW,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IACpE,QAAQ,CAAC,eAAe,CAAC,EACvB,CAAC,CAAC,OAAO,EAAE,mBAAmB,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IACvD,QAAQ,CAAC,SAAS,CAAC,EAAE,oBAAoB,GAAG,SAAS,CAAC;IACtD,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACrD,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;CAC5C;AAED,eAAO,MAAM,YAAY,GAAI,4KAY1B,iBAAiB,gCAoOnB,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { ResourceLabelsProvider } from "./resource-labels.js";
2
3
  import { Button, Empty, Typography, theme } from "antd";
3
4
  import { memo, useCallback, useEffect, useMemo, useRef, useState, } from "react";
4
5
  import { Virtuoso } from "react-virtuoso";
@@ -159,21 +160,21 @@ export const ChatTimeline = ({ "aria-label": ariaLabel, className, conversationI
159
160
  ...style,
160
161
  }, children: _jsx(Empty, { description: labels.emptyTimeline }) }));
161
162
  }
162
- return (_jsxs("div", { className: className, style: {
163
- height: "100%",
164
- minHeight: 240,
165
- overflow: "hidden",
166
- position: "relative",
167
- ...style,
168
- }, children: [_jsx(Virtuoso, { ref: virtuosoRef, "aria-label": ariaLabel ?? labels.timelineLabel, atBottomStateChange: handleAtBottomChange, atBottomThreshold: 150, computeItemKey: (index, item) => item === undefined
169
- ? `timeline:${conversationId}:pending:${index}`
170
- : getTimelineItemKey(item), data: items, followOutput: followNewOutput, increaseViewportBy: { bottom: 400, top: 200 }, initialItemCount: Math.min(items.length, 20), initialTopMostItemIndex: Math.max(0, items.length - Math.min(items.length, 20)), itemContent: renderItem, overscan: { main: 300, reverse: 200 }, role: "log", style: { height: "100%" } }, conversationId), newItemCount === 0 ? null : (_jsx(Button, { onClick: jumpToLatest, size: "small", style: {
171
- bottom: token.marginSM,
172
- boxShadow: token.boxShadowSecondary,
173
- left: "50%",
174
- position: "absolute",
175
- transform: "translateX(-50%)",
176
- zIndex: 1,
177
- }, type: "primary", children: _jsxs(Typography.Text, { style: { color: "inherit" }, children: [newItemCount, " ", labels.newMessages, " \u00B7 ", labels.jumpToLatest] }) }))] }));
163
+ return (_jsx(ResourceLabelsProvider, { labels: labelOverrides, children: _jsxs("div", { className: className, style: {
164
+ height: "100%",
165
+ minHeight: 240,
166
+ overflow: "hidden",
167
+ position: "relative",
168
+ ...style,
169
+ }, children: [_jsx(Virtuoso, { ref: virtuosoRef, "aria-label": ariaLabel ?? labels.timelineLabel, atBottomStateChange: handleAtBottomChange, atBottomThreshold: 150, computeItemKey: (index, item) => item === undefined
170
+ ? `timeline:${conversationId}:pending:${index}`
171
+ : getTimelineItemKey(item), data: items, followOutput: followNewOutput, increaseViewportBy: { bottom: 400, top: 200 }, initialItemCount: Math.min(items.length, 20), initialTopMostItemIndex: Math.max(0, items.length - Math.min(items.length, 20)), itemContent: renderItem, overscan: { main: 300, reverse: 200 }, role: "log", style: { height: "100%" } }, conversationId), newItemCount === 0 ? null : (_jsx(Button, { onClick: jumpToLatest, size: "small", style: {
172
+ bottom: token.marginSM,
173
+ boxShadow: token.boxShadowSecondary,
174
+ left: "50%",
175
+ position: "absolute",
176
+ transform: "translateX(-50%)",
177
+ zIndex: 1,
178
+ }, type: "primary", children: _jsxs(Typography.Text, { style: { color: "inherit" }, children: [newItemCount, " ", labels.newMessages, " \u00B7 ", labels.jumpToLatest] }) }))] }) }));
178
179
  };
179
180
  //# sourceMappingURL=chat-timeline.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chat-timeline.js","sourceRoot":"","sources":["../src/chat-timeline.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat-timeline.js","sourceRoot":"","sources":["../src/chat-timeline.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { type ReactNode } from "react";
2
+ export interface ChatCodeContentProps {
3
+ readonly code: string;
4
+ readonly language?: string | undefined;
5
+ readonly title?: string | undefined;
6
+ }
7
+ export declare function ChatCodeContent({ code, language, title, }: ChatCodeContentProps): ReactNode;
8
+ export declare function ChatCodeDiff({ original, modified, language, }: {
9
+ readonly original: string;
10
+ readonly modified: string;
11
+ readonly language?: string | undefined;
12
+ }): ReactNode;
13
+ //# sourceMappingURL=code-content.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-content.d.ts","sourceRoot":"","sources":["../src/code-content.tsx"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAGf,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC;AA4ED,wBAAgB,eAAe,CAAC,EAC9B,IAAI,EACJ,QAAQ,EACR,KAAc,GACf,EAAE,oBAAoB,GAAG,SAAS,CAiHlC;AAED,wBAAgB,YAAY,CAAC,EAC3B,QAAQ,EACR,QAAQ,EACR,QAAQ,GACT,EAAE;IACD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACxC,GAAG,SAAS,CAwDZ"}
@@ -0,0 +1,144 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Component, createRef, useEffect, useMemo, useState, } from "react";
3
+ import { theme } from "antd";
4
+ /** Snapshot before React mutates syntax nodes, then restore text-relative selection. */
5
+ class CodeText extends Component {
6
+ element = createRef();
7
+ getSnapshotBeforeUpdate(previous) {
8
+ const element = this.element.current;
9
+ const selection = element?.ownerDocument.getSelection();
10
+ if (!element ||
11
+ !selection ||
12
+ selection.isCollapsed ||
13
+ !element.contains(selection.anchorNode) ||
14
+ !element.contains(selection.focusNode))
15
+ return null;
16
+ const offset = (node, position) => {
17
+ const range = element.ownerDocument.createRange();
18
+ range.selectNodeContents(element);
19
+ if (node !== null)
20
+ range.setEnd(node, position);
21
+ return range.toString().length;
22
+ };
23
+ const anchor = offset(selection.anchorNode, selection.anchorOffset);
24
+ const focus = offset(selection.focusNode, selection.focusOffset);
25
+ const end = Math.max(anchor, focus);
26
+ return previous.text.slice(0, end) === this.props.text.slice(0, end)
27
+ ? { anchor, focus }
28
+ : null;
29
+ }
30
+ componentDidUpdate(_previous, _state, snapshot) {
31
+ const element = this.element.current;
32
+ if (!element || !snapshot)
33
+ return;
34
+ const point = (offset) => {
35
+ const walker = element.ownerDocument.createTreeWalker(element, 4);
36
+ let node = walker.nextNode();
37
+ while (node !== null) {
38
+ const length = node.textContent?.length ?? 0;
39
+ if (offset <= length)
40
+ return { node, offset };
41
+ offset -= length;
42
+ node = walker.nextNode();
43
+ }
44
+ return { node: element, offset: element.childNodes.length };
45
+ };
46
+ const anchor = point(snapshot.anchor);
47
+ const focus = point(snapshot.focus);
48
+ element.ownerDocument
49
+ .getSelection()
50
+ ?.setBaseAndExtent(anchor.node, anchor.offset, focus.node, focus.offset);
51
+ }
52
+ render() {
53
+ return this.props.html === undefined ? (_jsx("code", { ref: this.element, children: this.props.text })) : (_jsx("code", { ref: this.element, dangerouslySetInnerHTML: { __html: this.props.html } }));
54
+ }
55
+ }
56
+ export function ChatCodeContent({ code, language, title = "Code", }) {
57
+ const { token } = theme.useToken();
58
+ const [wrap, setWrap] = useState(false);
59
+ const [expanded, setExpanded] = useState(false);
60
+ const [copied, setCopied] = useState();
61
+ const [highlight, setHighlight] = useState();
62
+ const visible = expanded ? code : code.slice(0, 4_000);
63
+ useEffect(() => {
64
+ let active = true;
65
+ void import("./code-highlight.js")
66
+ .then(({ highlightCode }) => {
67
+ const html = highlightCode(visible, language);
68
+ if (active)
69
+ setHighlight({ code: visible, language, html });
70
+ })
71
+ .catch(() => {
72
+ if (active)
73
+ setHighlight(undefined);
74
+ });
75
+ return () => {
76
+ active = false;
77
+ };
78
+ }, [visible, language]);
79
+ const html = highlight?.code === visible && highlight.language === language
80
+ ? highlight.html
81
+ : undefined;
82
+ const lines = useMemo(() => visible.split("\n").length, [visible]);
83
+ return (_jsxs("section", { "data-chat-code": "", "aria-label": title, style: {
84
+ background: token.colorFillQuaternary,
85
+ color: token.colorText,
86
+ minWidth: 0,
87
+ }, children: [_jsx("style", { children: "[data-chat-code] .hljs-keyword,[data-chat-code] .hljs-literal{color:var(--chat-code-keyword)}[data-chat-code] .hljs-string,[data-chat-code] .hljs-comment{color:var(--chat-code-string)}" }), _jsxs("div", { children: [_jsxs("span", { children: [title, " \u00B7 ", language ?? "text"] }), _jsx("button", { type: "button", "aria-pressed": wrap, onClick: () => setWrap((value) => !value), children: "Wrap lines" }), _jsx("button", { type: "button", onClick: () => {
88
+ void Promise.resolve()
89
+ .then(() => navigator.clipboard.writeText(code))
90
+ .then(() => setCopied("success"))
91
+ .catch(() => setCopied("failed"));
92
+ }, children: "Copy code" }), copied !== undefined && (_jsx("span", { role: "status", children: copied === "success" ? "Copied" : "Copy failed" }))] }), _jsxs("div", { style: { display: "flex", overflow: "auto", maxHeight: "32rem" }, children: [_jsx("pre", { "aria-hidden": "true", style: {
93
+ padding: 8,
94
+ userSelect: "none",
95
+ color: token.colorTextSecondary,
96
+ }, children: Array.from({ length: lines }, (_, index) => index + 1).join("\n") }), _jsx("pre", { style: {
97
+ margin: 0,
98
+ padding: 8,
99
+ whiteSpace: wrap ? "pre-wrap" : "pre",
100
+ overflowWrap: "anywhere",
101
+ flex: 1,
102
+ ...{
103
+ "--chat-code-keyword": token.colorPrimary,
104
+ "--chat-code-string": token.colorSuccessText,
105
+ },
106
+ }, children: _jsx(CodeText, { text: visible, html: html }) })] }), code.length > 4_000 && (_jsx("button", { type: "button", "aria-expanded": expanded, onClick: () => setExpanded((value) => !value), children: expanded
107
+ ? "Collapse code"
108
+ : `Show full code (${code.length} characters)` }))] }));
109
+ }
110
+ export function ChatCodeDiff({ original, modified, language, }) {
111
+ const [diff, setDiff] = useState();
112
+ useEffect(() => {
113
+ let active = true;
114
+ if (original.length + modified.length <= 80_000) {
115
+ void import("diff")
116
+ .then(({ diffLines }) => {
117
+ const changes = diffLines(original, modified, {
118
+ maxEditLength: 1_000,
119
+ timeout: 50,
120
+ });
121
+ if (active && changes !== undefined)
122
+ setDiff({
123
+ original,
124
+ modified,
125
+ text: changes
126
+ .map((part) => part.value
127
+ .split(/(?<=\n)/)
128
+ .map((line) => `${part.added ? "+" : part.removed ? "-" : " "}${line}`)
129
+ .join(""))
130
+ .join(""),
131
+ });
132
+ })
133
+ .catch(() => {
134
+ if (active)
135
+ setDiff(undefined);
136
+ });
137
+ }
138
+ return () => {
139
+ active = false;
140
+ };
141
+ }, [original, modified]);
142
+ return (_jsxs("div", { "aria-label": "Read-only diff", style: { minWidth: 0 }, children: [diff?.original === original && diff.modified === modified ? (_jsx(ChatCodeContent, { code: diff.text, title: "Changes (+ added, - removed)" })) : (_jsx("span", { children: "Diff unavailable or loading; both complete versions are below." })), _jsx(ChatCodeContent, { code: original, language: language, title: "Original" }), _jsx(ChatCodeContent, { code: modified, language: language, title: "Modified" })] }));
143
+ }
144
+ //# sourceMappingURL=code-content.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-content.js","sourceRoot":"","sources":["../src/code-content.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ /** Returns only library-escaped markup, never raw source HTML. */
2
+ export declare function highlightCode(code: string, language: string | undefined): string | undefined;
3
+ //# sourceMappingURL=code-highlight.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-highlight.d.ts","sourceRoot":"","sources":["../src/code-highlight.ts"],"names":[],"mappings":"AAqBA,kEAAkE;AAClE,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GAAG,SAAS,GAC3B,MAAM,GAAG,SAAS,CAQpB"}
@@ -0,0 +1,29 @@
1
+ import hljs from "highlight.js/lib/core";
2
+ import javascript from "highlight.js/lib/languages/javascript";
3
+ import typescript from "highlight.js/lib/languages/typescript";
4
+ import json from "highlight.js/lib/languages/json";
5
+ import python from "highlight.js/lib/languages/python";
6
+ import bash from "highlight.js/lib/languages/bash";
7
+ import xml from "highlight.js/lib/languages/xml";
8
+ import css from "highlight.js/lib/languages/css";
9
+ const highlighter = hljs.newInstance();
10
+ for (const [name, language] of Object.entries({
11
+ javascript,
12
+ typescript,
13
+ json,
14
+ python,
15
+ bash,
16
+ xml,
17
+ css,
18
+ })) {
19
+ highlighter.registerLanguage(name, language);
20
+ }
21
+ /** Returns only library-escaped markup, never raw source HTML. */
22
+ export function highlightCode(code, language) {
23
+ if (code.length > 40_000 ||
24
+ language === undefined ||
25
+ highlighter.getLanguage(language) === undefined)
26
+ return undefined;
27
+ return highlighter.highlight(code, { language, ignoreIllegals: true }).value;
28
+ }
29
+ //# sourceMappingURL=code-highlight.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-highlight.js","sourceRoot":"","sources":["../src/code-highlight.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,uBAAuB,CAAC;AACzC,OAAO,UAAU,MAAM,uCAAuC,CAAC;AAC/D,OAAO,UAAU,MAAM,uCAAuC,CAAC;AAC/D,OAAO,IAAI,MAAM,iCAAiC,CAAC;AACnD,OAAO,MAAM,MAAM,mCAAmC,CAAC;AACvD,OAAO,IAAI,MAAM,iCAAiC,CAAC;AACnD,OAAO,GAAG,MAAM,gCAAgC,CAAC;AACjD,OAAO,GAAG,MAAM,gCAAgC,CAAC;AAEjD,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;AACvC,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC;IAC5C,UAAU;IACV,UAAU;IACV,IAAI;IACJ,MAAM;IACN,IAAI;IACJ,GAAG;IACH,GAAG;CACJ,CAAC,EAAE,CAAC;IACH,WAAW,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAC/C,CAAC;AACD,kEAAkE;AAClE,MAAM,UAAU,aAAa,CAC3B,IAAY,EACZ,QAA4B;IAE5B,IACE,IAAI,CAAC,MAAM,GAAG,MAAM;QACpB,QAAQ,KAAK,SAAS;QACtB,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,SAAS;QAE/C,OAAO,SAAS,CAAC;IACnB,OAAO,WAAW,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC;AAC/E,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { type AlertProps } from "antd";
2
+ import type { ChatError, ChatErrorOccurrence } from "@turingfocus/chat-protocol";
3
+ export declare const chatErrorNoticeKey: (error: ChatError | undefined, occurrence?: ChatErrorOccurrence) => string;
4
+ interface DismissibleChatAlertProps extends Omit<AlertProps, "closable" | "onClose"> {
5
+ /** Stable identity of the current notice; a new occurrence restores it. */
6
+ readonly resetOn: string | undefined;
7
+ /** Temporary suppression must not discard the current dismissal. */
8
+ readonly visible?: boolean;
9
+ }
10
+ export declare const DismissibleChatAlert: ({ resetOn, visible, ...props }: DismissibleChatAlertProps) => import("react").JSX.Element | null;
11
+ export {};
12
+ //# sourceMappingURL=dismissible-chat-alert.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dismissible-chat-alert.d.ts","sourceRoot":"","sources":["../src/dismissible-chat-alert.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,UAAU,EAAE,MAAM,MAAM,CAAC;AAE9C,OAAO,KAAK,EACV,SAAS,EACT,mBAAmB,EACpB,MAAM,4BAA4B,CAAC;AAIpC,eAAO,MAAM,kBAAkB,GAC7B,OAAO,SAAS,GAAG,SAAS,EAC5B,aAAa,mBAAmB,KAC/B,MAQC,CAAC;AAEL,UAAU,yBAA0B,SAAQ,IAAI,CAC9C,UAAU,EACV,UAAU,GAAG,SAAS,CACvB;IACC,2EAA2E;IAC3E,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,oEAAoE;IACpE,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,eAAO,MAAM,oBAAoB,GAAI,gCAIlC,yBAAyB,uCAgB3B,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Alert } from "antd";
3
+ import { useState } from "react";
4
+ // Legacy snapshots and run failures have no occurrence metadata. Their visible
5
+ // error content is the fallback identity until cleared or their scope changes.
6
+ export const chatErrorNoticeKey = (error, occurrence) => JSON.stringify([
7
+ occurrence?.id,
8
+ occurrence?.generation,
9
+ error?.conversationId,
10
+ error?.code,
11
+ error?.message,
12
+ error?.retryable,
13
+ ]);
14
+ export const DismissibleChatAlert = ({ resetOn, visible = true, ...props }) => {
15
+ const [state, setState] = useState({ resetOn, dismissed: false });
16
+ // Reset during render so a replacement notice never inherits the old close
17
+ // state, including when React retries a concurrent render.
18
+ if (!Object.is(state.resetOn, resetOn)) {
19
+ setState({ resetOn, dismissed: false });
20
+ }
21
+ if (!visible || (Object.is(state.resetOn, resetOn) && state.dismissed))
22
+ return null;
23
+ return (_jsx(Alert, { ...props, closable: true, onClose: () => setState({ resetOn, dismissed: true }) }));
24
+ };
25
+ //# sourceMappingURL=dismissible-chat-alert.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dismissible-chat-alert.js","sourceRoot":"","sources":["../src/dismissible-chat-alert.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAmB,MAAM,MAAM,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAMjC,+EAA+E;AAC/E,+EAA+E;AAC/E,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,KAA4B,EAC5B,UAAgC,EACxB,EAAE,CACV,IAAI,CAAC,SAAS,CAAC;IACb,UAAU,EAAE,EAAE;IACd,UAAU,EAAE,UAAU;IACtB,KAAK,EAAE,cAAc;IACrB,KAAK,EAAE,IAAI;IACX,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,SAAS;CACjB,CAAC,CAAC;AAYL,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,EACnC,OAAO,EACP,OAAO,GAAG,IAAI,EACd,GAAG,KAAK,EACkB,EAAE,EAAE;IAC9B,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;IAClE,2EAA2E;IAC3E,2DAA2D;IAC3D,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;QACvC,QAAQ,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;IAC1C,CAAC;IACD,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC;QACpE,OAAO,IAAI,CAAC;IACd,OAAO,CACL,KAAC,KAAK,OACA,KAAK,EACT,QAAQ,QACR,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,GACrD,CACH,CAAC;AACJ,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"event-renderers.d.ts","sourceRoot":"","sources":["../src/event-renderers.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAIV,YAAY,EAIb,MAAM,4BAA4B,CAAC;AAGpC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAqBhE,eAAO,MAAM,eAAe,GAAI,MAAM,YAAY,KAAG,MAYpD,CAAC;AAqSF,eAAO,MAAM,kBAAkB,GAAI,mDAKhC,iBAAiB,uCAYnB,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,mDAK/B,iBAAiB,uCA8BnB,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,mDAKlC,iBAAiB,uCA+BnB,CAAC"}
1
+ {"version":3,"file":"event-renderers.d.ts","sourceRoot":"","sources":["../src/event-renderers.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAIV,YAAY,EAIb,MAAM,4BAA4B,CAAC;AAGpC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAyBhE,eAAO,MAAM,eAAe,GAAI,MAAM,YAAY,KAAG,MAqBpD,CAAC;AA+SF,eAAO,MAAM,kBAAkB,GAAI,mDAKhC,iBAAiB,uCAYnB,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,mDAK/B,iBAAiB,uCA8BnB,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,mDAKlC,iBAAiB,uCA+BnB,CAAC"}
@@ -1,7 +1,10 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { Alert, Card, Space, Tabs, Tag, Typography, theme } from "antd";
3
3
  import { AskUserInteractionResultView } from "./ask-user-interaction.js";
4
- const TOOL_RESULT_CHARACTER_LIMIT = 4_000;
4
+ import { ChatResourceView } from "./resource-content.js";
5
+ import { ToolPresentationView } from "./tool-presentation.js";
6
+ import { ValueInspector, serializeInspectionValue } from "./value-inspector.js";
7
+ import { ChatMarkdownContent } from "./markdown-content.js";
5
8
  const statusColor = (status) => status === "success"
6
9
  ? "success"
7
10
  : status === "failed" || status === "timeout"
@@ -19,23 +22,16 @@ export const getEventSummary = (item) => {
19
22
  }
20
23
  if (item.kind === "unknown-event")
21
24
  return item.summary;
25
+ if (item.eventCategory === "tool") {
26
+ const call = latestToolField(item, (transition) => transition.toolCall);
27
+ const presentation = latestToolField(item, (transition) => transition.toolReturn?.presentation);
28
+ if (call !== undefined)
29
+ return `${presentation?.kind ?? "Tool"}: ${call.name} ${call.arguments === undefined ? "" : serializeInspectionValue(call.arguments).slice(0, 160)}`;
30
+ }
22
31
  return (item.summary ??
23
32
  item.transitions.at(-1)?.summary ??
24
33
  `${item.eventType} (${item.status})`);
25
34
  };
26
- const formatBoundedValue = (value) => {
27
- let serialized;
28
- try {
29
- serialized =
30
- typeof value === "string" ? value : JSON.stringify(value, null, 2);
31
- }
32
- catch {
33
- serialized = "[Value could not be serialized]";
34
- }
35
- if (serialized.length <= TOOL_RESULT_CHARACTER_LIMIT)
36
- return serialized;
37
- return `${serialized.slice(0, TOOL_RESULT_CHARACTER_LIMIT)}\n[Result truncated]`;
38
- };
39
35
  const EventCompactRow = ({ failed: failedOverride, formatTimestamp, item, selected = false, status: statusOverride, }) => {
40
36
  const { token } = theme.useToken();
41
37
  const status = statusOverride ?? (item.kind === "unknown-event" ? "unknown" : item.status);
@@ -56,7 +52,7 @@ const EventCompactRow = ({ failed: failedOverride, formatTimestamp, item, select
56
52
  padding: `${token.paddingXXS}px ${token.paddingSM}px`,
57
53
  }, children: [_jsx(Typography.Text, { "aria-hidden": "true", style: { color: failed ? token.colorError : token.colorPrimary }, children: "\u25CF" }), _jsx(Typography.Text, { ellipsis: { tooltip: getEventSummary(item) }, style: { flex: 1, minWidth: 0 }, children: getEventSummary(item) }), _jsx(Tag, { bordered: false, color: statusColor(status), children: status }), _jsx(Typography.Text, { style: { flexShrink: 0, fontSize: token.fontSizeSM }, type: "secondary", children: formatTimestamp(item.createdAt) })] }));
58
54
  };
59
- const TransitionContent = ({ transition, }) => (_jsxs(Space, { direction: "vertical", size: "small", style: { width: "100%" }, children: [transition.error === undefined ? null : (_jsx(Alert, { message: transition.error.message, showIcon: true, type: "error" })), _jsx(Typography.Paragraph, { style: { margin: 0, whiteSpace: "pre-wrap" }, children: transition.summary ?? `Transition ${transition.status}` })] }));
55
+ const TransitionContent = ({ transition, }) => (_jsxs(Space, { direction: "vertical", size: "small", style: { width: "100%" }, children: [transition.error === undefined ? null : (_jsx(Alert, { message: _jsx(ChatMarkdownContent, { children: transition.error.message }), showIcon: true, type: "error" })), _jsx(Typography.Paragraph, { style: { margin: 0, whiteSpace: "pre-wrap" }, children: _jsx(ChatMarkdownContent, { children: transition.summary ?? `Transition ${transition.status}` }) }), transition.content === undefined ? null : (_jsx(ValueInspector, { value: transition.content }))] }));
60
56
  const transitionTabs = (transitions, formatTimestamp, renderTransition) => (_jsx(Tabs, { defaultActiveKey: transitions[transitions.length - 1].id, items: transitions.map((transition) => ({
61
57
  children: renderTransition(transition),
62
58
  key: transition.id,
@@ -66,7 +62,7 @@ const AgentEventDetail = ({ formatTimestamp, item, }) => {
66
62
  const failed = isFailedStatus(item.status);
67
63
  return (_jsx(Card, { "data-chat-event-detail": "", extra: _jsx(Tag, { color: statusColor(item.status), children: item.status }), size: "small", title: item.eventType, children: _jsxs(Space, { direction: "vertical", size: "small", style: { width: "100%" }, children: [failed ? (_jsx(Alert, { message: item.transitions.at(-1)?.error?.message ??
68
64
  item.summary ??
69
- "Event failed", showIcon: true, type: "error" })) : null, item.summary === undefined ? null : (_jsx(Typography.Paragraph, { style: { margin: 0, whiteSpace: "pre-wrap" }, children: item.summary })), item.transitions.length > 1 ? (transitionTabs(item.transitions, formatTimestamp, (transition) => (_jsx(TransitionContent, { transition: transition })))) : (_jsx(TransitionContent, { transition: item.transitions[0] })), _jsx(Typography.Text, { type: "secondary", children: formatTimestamp(item.createdAt) })] }) }));
65
+ "Event failed", showIcon: true, type: "error" })) : null, item.summary === undefined ? null : (_jsx(Typography.Paragraph, { style: { margin: 0, whiteSpace: "pre-wrap" }, children: _jsx(ChatMarkdownContent, { children: item.summary }) })), item.transitions.length > 1 ? (transitionTabs(item.transitions, formatTimestamp, (transition) => (_jsx(TransitionContent, { transition: transition })))) : (_jsx(TransitionContent, { transition: item.transitions[0] })), _jsx(Typography.Text, { type: "secondary", children: formatTimestamp(item.createdAt) })] }) }));
70
66
  };
71
67
  const latestToolField = (item, select) => {
72
68
  for (let index = item.transitions.length - 1; index >= 0; index -= 1) {
@@ -76,7 +72,9 @@ const latestToolField = (item, select) => {
76
72
  }
77
73
  return undefined;
78
74
  };
79
- const ToolTransitionContent = ({ transition, }) => (_jsxs(Space, { direction: "vertical", size: "small", style: { width: "100%" }, children: [transition.error === undefined ? null : (_jsx(Alert, { message: transition.error.message, showIcon: true, type: "error" })), transition.summary === undefined ? null : (_jsx(Typography.Paragraph, { style: { margin: 0, whiteSpace: "pre-wrap" }, children: transition.summary })), transition.toolCall === undefined ? null : (_jsxs(_Fragment, { children: [_jsx(Typography.Text, { strong: true, children: transition.toolCall.name }), transition.toolCall.arguments === undefined ? null : (_jsx(Typography.Paragraph, { code: true, style: { margin: 0, whiteSpace: "pre-wrap" }, children: formatBoundedValue(transition.toolCall.arguments) }))] })), transition.toolReturn?.result === undefined ? null : (_jsx(Typography.Paragraph, { code: true, style: { margin: 0, overflowWrap: "anywhere", whiteSpace: "pre-wrap" }, children: formatBoundedValue(transition.toolReturn.result) })), transition.toolReturn === undefined ||
75
+ const ToolTransitionContent = ({ transition, }) => (_jsxs(Space, { direction: "vertical", size: "small", style: { width: "100%" }, children: [transition.error === undefined ? null : (_jsx(Alert, { message: _jsx(ChatMarkdownContent, { children: transition.error.message }), showIcon: true, type: "error" })), transition.summary === undefined ? null : (_jsx(Typography.Paragraph, { style: { margin: 0, whiteSpace: "pre-wrap" }, children: _jsx(ChatMarkdownContent, { children: transition.summary }) })), transition.toolCall === undefined ? null : (_jsxs(_Fragment, { children: [_jsx(Typography.Text, { strong: true, children: transition.toolCall.name }), transition.toolCall.arguments === undefined ? null : (_jsx(ValueInspector, { value: transition.toolCall.arguments }))] })), transition.toolReturn?.presentation === undefined ? null : (_jsx(ToolPresentationView, { presentation: transition.toolReturn.presentation })), transition.toolReturn?.result === undefined ||
76
+ transition.toolReturn.presentation !== undefined ? null : (_jsx(ValueInspector, { value: transition.toolReturn.result })), transition.toolReturn?.attachments?.map((attachment, index) => (_jsx(ChatResourceView, { resource: attachment.resource, kind: attachment.kind === "image" ? "image" : "file", label: attachment.resource.name ??
77
+ `${attachment.kind} attachment ${index + 1}` }, index))), transition.toolReturn === undefined ||
80
78
  (transition.toolReturn.success === undefined &&
81
79
  transition.toolReturn.done === undefined) ? null : (_jsx(Typography.Text, { type: "secondary", children: [
82
80
  transition.toolReturn.success === undefined
@@ -133,6 +131,6 @@ export const UnknownEventRenderer = ({ displayMode = "detail", formatTimestamp,
133
131
  if (displayMode === "timeline") {
134
132
  return (_jsx(EventCompactRow, { formatTimestamp: formatTimestamp, item: item, selected: selected }));
135
133
  }
136
- return (_jsx(Alert, { "data-chat-event-detail": "", description: _jsxs(_Fragment, { children: [_jsx(Typography.Paragraph, { style: { marginBottom: 4, whiteSpace: "pre-wrap" }, children: item.summary }), _jsx(Typography.Text, { type: "secondary", children: formatTimestamp(item.createdAt) })] }), message: `Unknown event: ${getEventTitle(item)}`, showIcon: true, type: "warning" }));
134
+ return (_jsx(Alert, { "data-chat-event-detail": "", description: _jsxs(_Fragment, { children: [_jsx(Typography.Paragraph, { style: { marginBottom: 4, whiteSpace: "pre-wrap" }, children: _jsx(ChatMarkdownContent, { children: item.summary }) }), _jsx(Typography.Text, { type: "secondary", children: formatTimestamp(item.createdAt) })] }), message: `Unknown event: ${getEventTitle(item)}`, showIcon: true, type: "warning" }));
137
135
  };
138
136
  //# sourceMappingURL=event-renderers.js.map