@chat-lab/ui 0.1.0-beta.43 → 0.1.0-beta.44

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 (99) hide show
  1. package/dist/_virtual/_commonjsHelpers.cjs +0 -26
  2. package/dist/_virtual/_commonjsHelpers.cjs.map +1 -1
  3. package/dist/_virtual/_commonjsHelpers.js +1 -26
  4. package/dist/_virtual/_commonjsHelpers.js.map +1 -1
  5. package/dist/_virtual/index.cjs +2 -2
  6. package/dist/_virtual/index.js +2 -2
  7. package/dist/_virtual/index2.cjs +2 -2
  8. package/dist/_virtual/index2.js +2 -2
  9. package/dist/_virtual/index3.cjs +2 -2
  10. package/dist/_virtual/index3.js +2 -2
  11. package/dist/_virtual/index4.cjs +2 -5
  12. package/dist/_virtual/index4.cjs.map +1 -1
  13. package/dist/_virtual/index4.js +2 -5
  14. package/dist/_virtual/index4.js.map +1 -1
  15. package/dist/adk/components/Debug/Trace/store.cjs +5 -5
  16. package/dist/adk/components/Debug/Trace/store.cjs.map +1 -1
  17. package/dist/adk/components/Debug/Trace/store.js +2 -2
  18. package/dist/adk/hooks/useEvents.cjs +5 -5
  19. package/dist/adk/hooks/useEvents.cjs.map +1 -1
  20. package/dist/adk/hooks/useEvents.js +2 -2
  21. package/dist/assets/ThumbDownIcon.cjs +1 -1
  22. package/dist/assets/ThumbDownIcon.cjs.map +1 -1
  23. package/dist/assets/ThumbDownIcon.js +1 -1
  24. package/dist/assets/ThumbDownIcon.js.map +1 -1
  25. package/dist/components/assistant-ui/thread.cjs +2 -2
  26. package/dist/components/assistant-ui/thread.cjs.map +1 -1
  27. package/dist/components/assistant-ui/thread.js +1 -1
  28. package/dist/components/assistant-ui/tooltip-icon-button.cjs +2 -2
  29. package/dist/components/assistant-ui/tooltip-icon-button.cjs.map +1 -1
  30. package/dist/components/assistant-ui/tooltip-icon-button.js +1 -1
  31. package/dist/components/thread-list.cjs +7 -7
  32. package/dist/components/thread-list.cjs.map +1 -1
  33. package/dist/components/thread-list.js +2 -2
  34. package/dist/components/thread-list.js.map +1 -1
  35. package/dist/components/ui/button.cjs +2 -2
  36. package/dist/components/ui/button.cjs.map +1 -1
  37. package/dist/components/ui/button.js +1 -1
  38. package/dist/hooks/useADKChat.cjs +33 -5
  39. package/dist/hooks/useADKChat.cjs.map +1 -1
  40. package/dist/hooks/useADKChat.d.ts +6 -1
  41. package/dist/hooks/useADKChat.d.ts.map +1 -1
  42. package/dist/hooks/useADKChat.js +34 -6
  43. package/dist/hooks/useADKChat.js.map +1 -1
  44. package/dist/index.cjs +1 -0
  45. package/dist/index.cjs.map +1 -1
  46. package/dist/index.css +1 -2
  47. package/dist/index.js +1 -0
  48. package/dist/index.js.map +1 -1
  49. package/dist/lib/utils.cjs +1 -1
  50. package/dist/lib/utils.js +1 -1
  51. package/dist/node_modules/.pnpm/@a2a-js_sdk@0.3.7_express@5.1.0/node_modules/@a2a-js/sdk/dist/chunk-3QDLXHKS.cjs +7 -0
  52. package/dist/node_modules/.pnpm/@a2a-js_sdk@0.3.7_express@5.1.0/node_modules/@a2a-js/sdk/dist/chunk-3QDLXHKS.cjs.map +1 -0
  53. package/dist/node_modules/.pnpm/@a2a-js_sdk@0.3.7_express@5.1.0/node_modules/@a2a-js/sdk/dist/chunk-3QDLXHKS.js +5 -0
  54. package/dist/node_modules/.pnpm/@a2a-js_sdk@0.3.7_express@5.1.0/node_modules/@a2a-js/sdk/dist/chunk-3QDLXHKS.js.map +1 -0
  55. package/dist/node_modules/.pnpm/@a2a-js_sdk@0.3.7_express@5.1.0/node_modules/@a2a-js/sdk/dist/chunk-SJNAG4AL.cjs +100 -0
  56. package/dist/node_modules/.pnpm/@a2a-js_sdk@0.3.7_express@5.1.0/node_modules/@a2a-js/sdk/dist/chunk-SJNAG4AL.cjs.map +1 -0
  57. package/dist/node_modules/.pnpm/@a2a-js_sdk@0.3.7_express@5.1.0/node_modules/@a2a-js/sdk/dist/chunk-SJNAG4AL.js +90 -0
  58. package/dist/node_modules/.pnpm/@a2a-js_sdk@0.3.7_express@5.1.0/node_modules/@a2a-js/sdk/dist/chunk-SJNAG4AL.js.map +1 -0
  59. package/dist/node_modules/.pnpm/@a2a-js_sdk@0.3.7_express@5.1.0/node_modules/@a2a-js/sdk/dist/client/index.cjs +975 -0
  60. package/dist/node_modules/.pnpm/@a2a-js_sdk@0.3.7_express@5.1.0/node_modules/@a2a-js/sdk/dist/client/index.cjs.map +1 -0
  61. package/dist/node_modules/.pnpm/@a2a-js_sdk@0.3.7_express@5.1.0/node_modules/@a2a-js/sdk/dist/client/index.js +958 -0
  62. package/dist/node_modules/.pnpm/@a2a-js_sdk@0.3.7_express@5.1.0/node_modules/@a2a-js/sdk/dist/client/index.js.map +1 -0
  63. package/dist/node_modules/.pnpm/@assistant-ui_react@0.11.37_patch_hash_wncib234fzw2z5h67nrdhchb2a_@types_react-dom@17.0.2_@ty_c64hu5rigivj2gtpzfqjqatr5y/node_modules/@assistant-ui/react/dist/primitives/messagePart/useMessagePartText.cjs.map +1 -1
  64. package/dist/node_modules/.pnpm/@assistant-ui_react@0.11.37_patch_hash_wncib234fzw2z5h67nrdhchb2a_@types_react-dom@17.0.2_@ty_c64hu5rigivj2gtpzfqjqatr5y/node_modules/@assistant-ui/react/dist/primitives/messagePart/useMessagePartText.js.map +1 -1
  65. package/dist/node_modules/.pnpm/@radix-ui_react-slot@1.2.4_@types_react@17.0.2_react@17.0.2/node_modules/@radix-ui/react-slot/dist/index.cjs +0 -12
  66. package/dist/node_modules/.pnpm/@radix-ui_react-slot@1.2.4_@types_react@17.0.2_react@17.0.2/node_modules/@radix-ui/react-slot/dist/index.cjs.map +1 -1
  67. package/dist/node_modules/.pnpm/@radix-ui_react-slot@1.2.4_@types_react@17.0.2_react@17.0.2/node_modules/@radix-ui/react-slot/dist/index.js +2 -12
  68. package/dist/node_modules/.pnpm/@radix-ui_react-slot@1.2.4_@types_react@17.0.2_react@17.0.2/node_modules/@radix-ui/react-slot/dist/index.js.map +1 -1
  69. package/dist/node_modules/.pnpm/@rollup_plugin-typescript@11.1.6_rollup@3.29.5_tslib@2.8.1_typescript@5.9.3/node_modules/tslib/tslib.es6.cjs +0 -18
  70. package/dist/node_modules/.pnpm/@rollup_plugin-typescript@11.1.6_rollup@3.29.5_tslib@2.8.1_typescript@5.9.3/node_modules/tslib/tslib.es6.cjs.map +1 -1
  71. package/dist/node_modules/.pnpm/@rollup_plugin-typescript@11.1.6_rollup@3.29.5_tslib@2.8.1_typescript@5.9.3/node_modules/tslib/tslib.es6.js +1 -17
  72. package/dist/node_modules/.pnpm/@rollup_plugin-typescript@11.1.6_rollup@3.29.5_tslib@2.8.1_typescript@5.9.3/node_modules/tslib/tslib.es6.js.map +1 -1
  73. package/dist/node_modules/.pnpm/classnames@2.5.1/node_modules/classnames/index.cjs +1 -1
  74. package/dist/node_modules/.pnpm/classnames@2.5.1/node_modules/classnames/index.js +1 -1
  75. package/dist/node_modules/.pnpm/dayjs@1.11.18/node_modules/dayjs/dayjs.min.cjs +1 -4
  76. package/dist/node_modules/.pnpm/dayjs@1.11.18/node_modules/dayjs/dayjs.min.cjs.map +1 -1
  77. package/dist/node_modules/.pnpm/dayjs@1.11.18/node_modules/dayjs/dayjs.min.js +1 -1
  78. package/dist/node_modules/.pnpm/secure-json-parse@4.1.0/node_modules/secure-json-parse/index.cjs +1 -1
  79. package/dist/node_modules/.pnpm/secure-json-parse@4.1.0/node_modules/secure-json-parse/index.js +1 -1
  80. package/dist/node_modules/.pnpm/style-to-js@1.1.18/node_modules/style-to-js/cjs/index.cjs +1 -1
  81. package/dist/node_modules/.pnpm/style-to-js@1.1.18/node_modules/style-to-js/cjs/index.js +1 -1
  82. package/dist/node_modules/.pnpm/style-to-object@1.0.11/node_modules/style-to-object/cjs/index.cjs +1 -1
  83. package/dist/node_modules/.pnpm/style-to-object@1.0.11/node_modules/style-to-object/cjs/index.js +1 -1
  84. package/dist/node_modules/.pnpm/use-sidecar@1.1.3_@types_react@17.0.2_react@17.0.2/node_modules/use-sidecar/dist/es2015/medium.cjs +0 -5
  85. package/dist/node_modules/.pnpm/use-sidecar@1.1.3_@types_react@17.0.2_react@17.0.2/node_modules/use-sidecar/dist/es2015/medium.cjs.map +1 -1
  86. package/dist/node_modules/.pnpm/use-sidecar@1.1.3_@types_react@17.0.2_react@17.0.2/node_modules/use-sidecar/dist/es2015/medium.js +1 -5
  87. package/dist/node_modules/.pnpm/use-sidecar@1.1.3_@types_react@17.0.2_react@17.0.2/node_modules/use-sidecar/dist/es2015/medium.js.map +1 -1
  88. package/dist/node_modules/.pnpm/use-sync-external-store@1.6.0_react@17.0.2/node_modules/use-sync-external-store/shim/index.cjs +1 -1
  89. package/dist/node_modules/.pnpm/use-sync-external-store@1.6.0_react@17.0.2/node_modules/use-sync-external-store/shim/index.js +1 -1
  90. package/dist/node_modules/.pnpm/valtio@2.1.8_patch_hash_boxi3qpsg2dztwe4vz7tsjpr3m_@types_react@17.0.2_react@17.0.2/node_modules/valtio/esm/vanilla.cjs +0 -1
  91. package/dist/node_modules/.pnpm/valtio@2.1.8_patch_hash_boxi3qpsg2dztwe4vz7tsjpr3m_@types_react@17.0.2_react@17.0.2/node_modules/valtio/esm/vanilla.cjs.map +1 -1
  92. package/dist/node_modules/.pnpm/valtio@2.1.8_patch_hash_boxi3qpsg2dztwe4vz7tsjpr3m_@types_react@17.0.2_react@17.0.2/node_modules/valtio/esm/vanilla.js +0 -1
  93. package/dist/node_modules/.pnpm/valtio@2.1.8_patch_hash_boxi3qpsg2dztwe4vz7tsjpr3m_@types_react@17.0.2_react@17.0.2/node_modules/valtio/esm/vanilla.js.map +1 -1
  94. package/dist/packages/core/dist/index.cjs +171 -27
  95. package/dist/packages/core/dist/index.cjs.map +1 -1
  96. package/dist/packages/core/dist/index.js +162 -19
  97. package/dist/packages/core/dist/index.js.map +1 -1
  98. package/dist/plugins/adkPlugin.d.ts.map +1 -1
  99. package/package.json +1 -1
@@ -6,32 +6,6 @@ function getDefaultExportFromCjs (x) {
6
6
  return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
7
7
  }
8
8
 
9
- function getAugmentedNamespace(n) {
10
- if (n.__esModule) return n;
11
- var f = n.default;
12
- if (typeof f == "function") {
13
- var a = function a () {
14
- if (this instanceof a) {
15
- return Reflect.construct(f, arguments, this.constructor);
16
- }
17
- return f.apply(this, arguments);
18
- };
19
- a.prototype = f.prototype;
20
- } else a = {};
21
- Object.defineProperty(a, '__esModule', {value: true});
22
- Object.keys(n).forEach(function (k) {
23
- var d = Object.getOwnPropertyDescriptor(n, k);
24
- Object.defineProperty(a, k, d.get ? d : {
25
- enumerable: true,
26
- get: function () {
27
- return n[k];
28
- }
29
- });
30
- });
31
- return a;
32
- }
33
-
34
9
  exports.commonjsGlobal = commonjsGlobal;
35
- exports.getAugmentedNamespace = getAugmentedNamespace;
36
10
  exports.getDefaultExportFromCjs = getDefaultExportFromCjs;
37
11
  //# sourceMappingURL=_commonjsHelpers.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"_commonjsHelpers.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"_commonjsHelpers.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;"}
@@ -4,30 +4,5 @@ function getDefaultExportFromCjs (x) {
4
4
  return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
5
5
  }
6
6
 
7
- function getAugmentedNamespace(n) {
8
- if (n.__esModule) return n;
9
- var f = n.default;
10
- if (typeof f == "function") {
11
- var a = function a () {
12
- if (this instanceof a) {
13
- return Reflect.construct(f, arguments, this.constructor);
14
- }
15
- return f.apply(this, arguments);
16
- };
17
- a.prototype = f.prototype;
18
- } else a = {};
19
- Object.defineProperty(a, '__esModule', {value: true});
20
- Object.keys(n).forEach(function (k) {
21
- var d = Object.getOwnPropertyDescriptor(n, k);
22
- Object.defineProperty(a, k, d.get ? d : {
23
- enumerable: true,
24
- get: function () {
25
- return n[k];
26
- }
27
- });
28
- });
29
- return a;
30
- }
31
-
32
- export { commonjsGlobal, getAugmentedNamespace, getDefaultExportFromCjs };
7
+ export { commonjsGlobal, getDefaultExportFromCjs };
33
8
  //# sourceMappingURL=_commonjsHelpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_commonjsHelpers.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"_commonjsHelpers.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var lib = {};
3
+ var shim = {exports: {}};
4
4
 
5
- exports.__exports = lib;
5
+ exports.__module = shim;
6
6
  //# sourceMappingURL=index.cjs.map
@@ -1,4 +1,4 @@
1
- var lib = {};
1
+ var shim = {exports: {}};
2
2
 
3
- export { lib as __exports };
3
+ export { shim as __module };
4
4
  //# sourceMappingURL=index.js.map
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var shim = {exports: {}};
3
+ var classnames = {exports: {}};
4
4
 
5
- exports.__module = shim;
5
+ exports.__module = classnames;
6
6
  //# sourceMappingURL=index2.cjs.map
@@ -1,4 +1,4 @@
1
- var shim = {exports: {}};
1
+ var classnames = {exports: {}};
2
2
 
3
- export { shim as __module };
3
+ export { classnames as __module };
4
4
  //# sourceMappingURL=index2.js.map
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var classnames = {exports: {}};
3
+ var cjs = {};
4
4
 
5
- exports.__module = classnames;
5
+ exports.__exports = cjs;
6
6
  //# sourceMappingURL=index3.cjs.map
@@ -1,4 +1,4 @@
1
- var classnames = {exports: {}};
1
+ var cjs = {};
2
2
 
3
- export { classnames as __module };
3
+ export { cjs as __exports };
4
4
  //# sourceMappingURL=index3.js.map
@@ -1,9 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var _commonjsHelpers = require('./_commonjsHelpers.cjs');
4
- var index = require('../node_modules/.pnpm/@volcengine_console-web-sdk@6.2.0/node_modules/@volcengine/console-web-sdk/dist/js/treeshaking/index.cjs');
3
+ var secureJsonParse = {exports: {}};
5
4
 
6
- var require$$0 = /*@__PURE__*/_commonjsHelpers.getAugmentedNamespace(index);
7
-
8
- module.exports = require$$0;
5
+ exports.__module = secureJsonParse;
9
6
  //# sourceMappingURL=index4.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index4.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;"}
1
+ {"version":3,"file":"index4.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -1,7 +1,4 @@
1
- import { getAugmentedNamespace } from './_commonjsHelpers.js';
2
- import * as index from '../node_modules/.pnpm/@volcengine_console-web-sdk@6.2.0/node_modules/@volcengine/console-web-sdk/dist/js/treeshaking/index.js';
1
+ var secureJsonParse = {exports: {}};
3
2
 
4
- var require$$0 = /*@__PURE__*/getAugmentedNamespace(index);
5
-
6
- export { require$$0 as default };
3
+ export { secureJsonParse as __module };
7
4
  //# sourceMappingURL=index4.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index4.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
1
+ {"version":3,"file":"index4.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -1,10 +1,10 @@
1
1
  'use strict';
2
2
 
3
- var dayjs_min = require('../../../../node_modules/.pnpm/dayjs@1.11.18/node_modules/dayjs/dayjs.min.cjs');
4
- var fetch = require('../../../../node_modules/.pnpm/@byted-iaas_fetch@0.0.13_@arco-design_web-react@2.64.1_@types_react@17.0.2_react-dom@17.0.2_r_c5lheq6mbvfvtoizhtvrll35su/node_modules/@byted-iaas/fetch/lib/fetch.cjs');
3
+ var dayjs = require('dayjs');
4
+ var IaasFetch = require('@byted-iaas/fetch');
5
5
  var react = require('../../../../node_modules/.pnpm/zustand@5.0.8_patch_hash_rz6xqpd4m4x2bh7isifaksfeb4_@types_react@17.0.2_react@17.0.2_use-sync_ay3nj3f4buvymz7rhhedugq5p4/node_modules/zustand/esm/react.cjs');
6
6
 
7
- const FetchInstance = new fetch.IaasFetch({
7
+ const FetchInstance = new IaasFetch({
8
8
  service: 'apmplus_server',
9
9
  version: '2024-07-30',
10
10
  platform: 'VOLCENGINE',
@@ -76,12 +76,12 @@ const useTraceStore = react.create((set, get) => ({
76
76
  // Always set loading to true when fetching starts
77
77
  set({ isLoading: true });
78
78
  try {
79
- const now = dayjs_min.default();
79
+ const now = dayjs();
80
80
  const res = await FetchInstance.request({
81
81
  action: 'GetSessionSpans',
82
82
  params: {
83
83
  SessionId: sessionId || '',
84
- StartTime: dayjs_min.default().subtract(1, 'd').valueOf(),
84
+ StartTime: dayjs().subtract(1, 'd').valueOf(),
85
85
  EndTime: now.valueOf(),
86
86
  },
87
87
  type: 'open-top',
@@ -1 +1 @@
1
- {"version":3,"file":"store.cjs","sources":["../../../../../src/adk/components/Debug/Trace/store.ts"],"sourcesContent":["import { create } from 'zustand';\nimport { TraceSpan, TraceNode } from './types';\nimport dayjs from 'dayjs';\nimport IaasFetch from '@byted-iaas/fetch';\n\nconst FetchInstance = new IaasFetch({\n service: 'apmplus_server',\n version: '2024-07-30',\n platform: 'VOLCENGINE',\n disablePreTcc: true,\n});\n\ninterface RawSpan {\n OperationName: string;\n SpanId: string;\n TraceId: string;\n Input: string;\n Output: string;\n SpanKind: string;\n Model: string;\n InputTokens: number;\n OutputTokens: number;\n TotalTokens: number;\n Duration: number;\n StartTime: number;\n EndTime: number;\n ParentSpanId?: string;\n Tags?: Record<string, any>;\n}\n\n// Helper function to convert RawSpan to TraceSpan\nconst convertToTraceSpan = (raw: RawSpan): TraceSpan => {\n return {\n id: raw.SpanId,\n name: raw.OperationName,\n status: 'success', // Default to success as per provided data\n startTime: raw.StartTime,\n endTime: raw.EndTime,\n duration: raw.Duration,\n children: [],\n metadata: {\n parentSpanId: raw.ParentSpanId,\n input: raw.Input,\n output: raw.Output,\n spanKind: raw.SpanKind,\n model: raw.Model,\n tags: raw.Tags,\n tokens: {\n input: raw.InputTokens,\n output: raw.OutputTokens,\n total: raw.TotalTokens,\n },\n },\n };\n};\n\n// Function to build the tree\nconst buildTraceTree = (spans: RawSpan[]): TraceSpan[] => {\n // Convert all raw spans to TraceSpan objects first\n const traceSpans = spans.map(convertToTraceSpan);\n const spanMap = new Map<string, TraceSpan>();\n const roots: TraceSpan[] = [];\n\n // Index by ID\n traceSpans.forEach(span => spanMap.set(span.id, span));\n\n // Build relationships\n traceSpans.forEach(span => {\n const parentSpanId = span.metadata?.parentSpanId;\n if (parentSpanId && spanMap.has(parentSpanId)) {\n const parent = spanMap.get(parentSpanId)!;\n parent.children = parent.children || [];\n parent.children.push(span);\n } else {\n roots.push(span);\n }\n });\n\n return roots;\n};\n\n// Helper to flatten the tree\nconst flattenTree = (spans: TraceSpan[], level: number = 0): TraceNode[] => {\n const tree = spans.flatMap(span => [\n { span, level },\n ...(span.children ? flattenTree(span.children, level + 1) : []),\n ]);\n return tree;\n};\n\nexport interface EventData {\n flatTree: TraceNode[];\n trace: TraceSpan[] | null;\n}\n\ninterface TraceState {\n selectedSpan: TraceSpan | null;\n setSelectedSpan: (span: TraceSpan | null) => void;\n\n // Cache events by sessionId\n events: Record<string, EventData>;\n isLoading: boolean;\n fetchEvents: (sessionId: string) => Promise<void>;\n}\n\nexport const useTraceStore = create<TraceState>((set, get) => ({\n selectedSpan: null,\n setSelectedSpan: (span) => set({ selectedSpan: span }),\n\n events: {},\n isLoading: false,\n\n fetchEvents: async (sessionId: string) => {\n if (!sessionId) return;\n\n // Always set loading to true when fetching starts\n set({ isLoading: true });\n\n try {\n const now = dayjs();\n const res = await FetchInstance.request<{ data: { Spans: RawSpan[] } }>({\n action: 'GetSessionSpans',\n params: {\n SessionId: sessionId || '',\n StartTime: dayjs().subtract(1, 'd').valueOf(),\n EndTime: now.valueOf(),\n },\n type: 'open-top',\n method: 'POST',\n });\n\n const [err, data] = res;\n if (err) {\n throw err;\n }\n\n const spans: RawSpan[] = data?.data?.Spans || [];\n\n // Build Trace Tree\n const traceTree = buildTraceTree(spans);\n const trace = traceTree.length > 0 ? traceTree : null;\n const flatTree = traceTree.length > 0 ? flattenTree(traceTree) : [];\n\n set((state) => ({\n events: {\n ...state.events,\n [sessionId]: {\n trace,\n flatTree,\n },\n },\n isLoading: false,\n }));\n } catch (error) {\n console.error('Failed to fetch trace events:', error);\n set({ isLoading: false });\n }\n },\n}));\n"],"names":["IaasFetch","create","dayjs"],"mappings":";;;;;;AAKA,MAAM,aAAa,GAAG,IAAIA,eAAS,CAAC;AAClC,IAAA,OAAO,EAAE,gBAAgB;AACzB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,QAAQ,EAAE,YAAY;AACtB,IAAA,aAAa,EAAE,IAAI;AACpB,CAAA,CAAC,CAAC;AAoBH;AACA,MAAM,kBAAkB,GAAG,CAAC,GAAY,KAAe;IACrD,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,MAAM;QACd,IAAI,EAAE,GAAG,CAAC,aAAa;QACvB,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,QAAQ,EAAE,GAAG,CAAC,QAAQ;AACtB,QAAA,QAAQ,EAAE,EAAE;AACZ,QAAA,QAAQ,EAAE;YACR,YAAY,EAAE,GAAG,CAAC,YAAY;YAC9B,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,IAAI,EAAE,GAAG,CAAC,IAAI;AACd,YAAA,MAAM,EAAE;gBACN,KAAK,EAAE,GAAG,CAAC,WAAW;gBACtB,MAAM,EAAE,GAAG,CAAC,YAAY;gBACxB,KAAK,EAAE,GAAG,CAAC,WAAW;AACvB,aAAA;AACF,SAAA;KACF,CAAC;AACJ,CAAC,CAAC;AAEF;AACA,MAAM,cAAc,GAAG,CAAC,KAAgB,KAAiB;;IAEvD,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;AACjD,IAAA,MAAM,OAAO,GAAG,IAAI,GAAG,EAAqB,CAAC;IAC7C,MAAM,KAAK,GAAgB,EAAE,CAAC;;AAG9B,IAAA,UAAU,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;;AAGvD,IAAA,UAAU,CAAC,OAAO,CAAC,IAAI,IAAG;AACxB,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC;QACjD,IAAI,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE;YAC7C,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAE,CAAC;YAC1C,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;AACxC,YAAA,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC5B;aAAM;AACL,YAAA,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAClB;AACH,KAAC,CAAC,CAAC;AAEH,IAAA,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF;AACA,MAAM,WAAW,GAAG,CAAC,KAAkB,EAAE,KAAgB,GAAA,CAAC,KAAiB;IACzE,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,IAAI;QACjC,EAAE,IAAI,EAAE,KAAK,EAAE;QACf,IAAI,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;AAChE,KAAA,CAAC,CAAC;AACH,IAAA,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAiBK,MAAM,aAAa,GAAGC,YAAM,CAAa,CAAC,GAAG,EAAE,GAAG,MAAM;AAC7D,IAAA,YAAY,EAAE,IAAI;AAClB,IAAA,eAAe,EAAE,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;AAEtD,IAAA,MAAM,EAAE,EAAE;AACV,IAAA,SAAS,EAAE,KAAK;AAEhB,IAAA,WAAW,EAAE,OAAO,SAAiB,KAAI;AACvC,QAAA,IAAI,CAAC,SAAS;YAAE,OAAO;;AAGvB,QAAA,GAAG,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AAEzB,QAAA,IAAI;AACF,YAAA,MAAM,GAAG,GAAGC,iBAAK,EAAE,CAAC;AACpB,YAAA,MAAM,GAAG,GAAG,MAAM,aAAa,CAAC,OAAO,CAAiC;AACtE,gBAAA,MAAM,EAAE,iBAAiB;AACzB,gBAAA,MAAM,EAAE;oBACN,SAAS,EAAE,SAAS,IAAI,EAAE;AAC1B,oBAAA,SAAS,EAAEA,iBAAK,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE;AAC7C,oBAAA,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE;AACvB,iBAAA;AACD,gBAAA,IAAI,EAAE,UAAU;AAChB,gBAAA,MAAM,EAAE,MAAM;AACf,aAAA,CAAC,CAAC;AAEH,YAAA,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC;YACxB,IAAI,GAAG,EAAE;AACP,gBAAA,MAAM,GAAG,CAAC;aACX;YAED,MAAM,KAAK,GAAc,IAAI,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;;AAGjD,YAAA,MAAM,SAAS,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;AACxC,YAAA,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC;AACtD,YAAA,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,GAAG,WAAW,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;AAEpE,YAAA,GAAG,CAAC,CAAC,KAAK,MAAM;AACd,gBAAA,MAAM,EAAE;oBACN,GAAG,KAAK,CAAC,MAAM;oBACf,CAAC,SAAS,GAAG;wBACX,KAAK;wBACL,QAAQ;AACT,qBAAA;AACF,iBAAA;AACD,gBAAA,SAAS,EAAE,KAAK;AACjB,aAAA,CAAC,CAAC,CAAC;SACL;QAAC,OAAO,KAAK,EAAE;AACd,YAAA,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;AACtD,YAAA,GAAG,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;SAC3B;KACF;AACF,CAAA,CAAC;;;;"}
1
+ {"version":3,"file":"store.cjs","sources":["../../../../../src/adk/components/Debug/Trace/store.ts"],"sourcesContent":["import { create } from 'zustand';\nimport { TraceSpan, TraceNode } from './types';\nimport dayjs from 'dayjs';\nimport IaasFetch from '@byted-iaas/fetch';\n\nconst FetchInstance = new IaasFetch({\n service: 'apmplus_server',\n version: '2024-07-30',\n platform: 'VOLCENGINE',\n disablePreTcc: true,\n});\n\ninterface RawSpan {\n OperationName: string;\n SpanId: string;\n TraceId: string;\n Input: string;\n Output: string;\n SpanKind: string;\n Model: string;\n InputTokens: number;\n OutputTokens: number;\n TotalTokens: number;\n Duration: number;\n StartTime: number;\n EndTime: number;\n ParentSpanId?: string;\n Tags?: Record<string, any>;\n}\n\n// Helper function to convert RawSpan to TraceSpan\nconst convertToTraceSpan = (raw: RawSpan): TraceSpan => {\n return {\n id: raw.SpanId,\n name: raw.OperationName,\n status: 'success', // Default to success as per provided data\n startTime: raw.StartTime,\n endTime: raw.EndTime,\n duration: raw.Duration,\n children: [],\n metadata: {\n parentSpanId: raw.ParentSpanId,\n input: raw.Input,\n output: raw.Output,\n spanKind: raw.SpanKind,\n model: raw.Model,\n tags: raw.Tags,\n tokens: {\n input: raw.InputTokens,\n output: raw.OutputTokens,\n total: raw.TotalTokens,\n },\n },\n };\n};\n\n// Function to build the tree\nconst buildTraceTree = (spans: RawSpan[]): TraceSpan[] => {\n // Convert all raw spans to TraceSpan objects first\n const traceSpans = spans.map(convertToTraceSpan);\n const spanMap = new Map<string, TraceSpan>();\n const roots: TraceSpan[] = [];\n\n // Index by ID\n traceSpans.forEach(span => spanMap.set(span.id, span));\n\n // Build relationships\n traceSpans.forEach(span => {\n const parentSpanId = span.metadata?.parentSpanId;\n if (parentSpanId && spanMap.has(parentSpanId)) {\n const parent = spanMap.get(parentSpanId)!;\n parent.children = parent.children || [];\n parent.children.push(span);\n } else {\n roots.push(span);\n }\n });\n\n return roots;\n};\n\n// Helper to flatten the tree\nconst flattenTree = (spans: TraceSpan[], level: number = 0): TraceNode[] => {\n const tree = spans.flatMap(span => [\n { span, level },\n ...(span.children ? flattenTree(span.children, level + 1) : []),\n ]);\n return tree;\n};\n\nexport interface EventData {\n flatTree: TraceNode[];\n trace: TraceSpan[] | null;\n}\n\ninterface TraceState {\n selectedSpan: TraceSpan | null;\n setSelectedSpan: (span: TraceSpan | null) => void;\n\n // Cache events by sessionId\n events: Record<string, EventData>;\n isLoading: boolean;\n fetchEvents: (sessionId: string) => Promise<void>;\n}\n\nexport const useTraceStore = create<TraceState>((set, get) => ({\n selectedSpan: null,\n setSelectedSpan: (span) => set({ selectedSpan: span }),\n\n events: {},\n isLoading: false,\n\n fetchEvents: async (sessionId: string) => {\n if (!sessionId) return;\n\n // Always set loading to true when fetching starts\n set({ isLoading: true });\n\n try {\n const now = dayjs();\n const res = await FetchInstance.request<{ data: { Spans: RawSpan[] } }>({\n action: 'GetSessionSpans',\n params: {\n SessionId: sessionId || '',\n StartTime: dayjs().subtract(1, 'd').valueOf(),\n EndTime: now.valueOf(),\n },\n type: 'open-top',\n method: 'POST',\n });\n\n const [err, data] = res;\n if (err) {\n throw err;\n }\n\n const spans: RawSpan[] = data?.data?.Spans || [];\n\n // Build Trace Tree\n const traceTree = buildTraceTree(spans);\n const trace = traceTree.length > 0 ? traceTree : null;\n const flatTree = traceTree.length > 0 ? flattenTree(traceTree) : [];\n\n set((state) => ({\n events: {\n ...state.events,\n [sessionId]: {\n trace,\n flatTree,\n },\n },\n isLoading: false,\n }));\n } catch (error) {\n console.error('Failed to fetch trace events:', error);\n set({ isLoading: false });\n }\n },\n}));\n"],"names":["create"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import dayjs from '../../../../node_modules/.pnpm/dayjs@1.11.18/node_modules/dayjs/dayjs.min.js';
2
- import { IaasFetch } from '../../../../node_modules/.pnpm/@byted-iaas_fetch@0.0.13_@arco-design_web-react@2.64.1_@types_react@17.0.2_react-dom@17.0.2_r_c5lheq6mbvfvtoizhtvrll35su/node_modules/@byted-iaas/fetch/lib/fetch.js';
1
+ import dayjs from 'dayjs';
2
+ import IaasFetch from '@byted-iaas/fetch';
3
3
  import { create } from '../../../../node_modules/.pnpm/zustand@5.0.8_patch_hash_rz6xqpd4m4x2bh7isifaksfeb4_@types_react@17.0.2_react@17.0.2_use-sync_ay3nj3f4buvymz7rhhedugq5p4/node_modules/zustand/esm/react.js';
4
4
 
5
5
  const FetchInstance = new IaasFetch({
@@ -1,12 +1,12 @@
1
1
  'use strict';
2
2
 
3
- var dayjs_min = require('../../node_modules/.pnpm/dayjs@1.11.18/node_modules/dayjs/dayjs.min.cjs');
3
+ var dayjs = require('dayjs');
4
4
  var useRequest = require('../../node_modules/.pnpm/ahooks@3.9.6_react-dom@17.0.2_react@17.0.2__react@17.0.2/node_modules/ahooks/es/useRequest/src/useRequest.cjs');
5
- var fetch = require('../../node_modules/.pnpm/@byted-iaas_fetch@0.0.13_@arco-design_web-react@2.64.1_@types_react@17.0.2_react-dom@17.0.2_r_c5lheq6mbvfvtoizhtvrll35su/node_modules/@byted-iaas/fetch/lib/fetch.cjs');
5
+ var IaasFetch = require('@byted-iaas/fetch');
6
6
  require('../../packages/core/dist/index.cjs');
7
7
  var react = require('../../node_modules/.pnpm/valtio@2.1.8_patch_hash_boxi3qpsg2dztwe4vz7tsjpr3m_@types_react@17.0.2_react@17.0.2/node_modules/valtio/esm/react.cjs');
8
8
 
9
- const FetchInstance = new fetch.IaasFetch({
9
+ const FetchInstance = new IaasFetch({
10
10
  service: 'apmplus_server',
11
11
  version: '2024-07-30',
12
12
  platform: 'VOLCENGINE',
@@ -76,7 +76,7 @@ const useEvent = (sessionId, region, controller) => {
76
76
  const { currentThreadId, threadMap } = react.useSnapshot(controller.store.state);
77
77
  const currentThread = currentThreadId ? threadMap?.[currentThreadId] : null;
78
78
  const { data, refresh, loading } = useRequest(async () => {
79
- const now = dayjs_min.default();
79
+ const now = dayjs();
80
80
  const res = await FetchInstance.request({
81
81
  action: 'GetSessionSpans',
82
82
  errorDisplay: 'none',
@@ -86,7 +86,7 @@ const useEvent = (sessionId, region, controller) => {
86
86
  region: region,
87
87
  params: {
88
88
  SessionId: sessionId || '',
89
- StartTime: dayjs_min.default().subtract(1, 'd').valueOf(),
89
+ StartTime: dayjs().subtract(1, 'd').valueOf(),
90
90
  EndTime: now.valueOf(),
91
91
  },
92
92
  type: 'open-top',
@@ -1 +1 @@
1
- {"version":3,"file":"useEvents.cjs","sources":["../../../src/adk/hooks/useEvents.ts"],"sourcesContent":["import dayjs from 'dayjs';\nimport { useRequest } from 'ahooks';\nimport IaasFetch from '@byted-iaas/fetch';\nimport { TraceSpan, TraceNode } from '../components/Debug/Trace/types';\nimport useThread from '@/hooks/useThread';\nimport { ChatController, useSnapshot } from '@chat-lab/core';\n\nconst FetchInstance = new IaasFetch({\n service: 'apmplus_server',\n version: '2024-07-30',\n platform: 'VOLCENGINE',\n disablePreTcc: true,\n});\n\ninterface RawSpan {\n OperationName: string;\n SpanId: string;\n TraceId: string;\n Input: string;\n Output: string;\n SpanKind: string;\n Model: string;\n InputTokens: number;\n OutputTokens: number;\n TotalTokens: number;\n Duration: number;\n StartTime: number;\n Tags?: Record<string, string>;\n EndTime: number;\n ParentSpanId?: string;\n}\n\n// Helper function to convert RawSpan to TraceSpan\nconst convertToTraceSpan = (raw: RawSpan): TraceSpan => {\n const statusCode = raw?.Tags?.['http.status_code'];\n let status: 'success' | 'error' = 'success';\n if (statusCode && statusCode !== '200') {\n status = 'error';\n }\n return {\n id: raw.SpanId,\n name: raw.OperationName,\n status: status, // Default to success as per provided data\n startTime: raw.StartTime,\n endTime: raw.EndTime,\n duration: raw.Duration,\n tags: raw.Tags || {},\n children: [],\n metadata: {\n parentSpanId: raw.ParentSpanId,\n input: raw.Input,\n output: raw.Output,\n spanKind: raw.SpanKind,\n model: raw.Model,\n tokens: {\n input: raw.InputTokens,\n output: raw.OutputTokens,\n total: raw.TotalTokens,\n },\n },\n };\n};\n\n// Function to build the tree\nconst buildTraceTree = (spans: RawSpan[]): TraceSpan[] => {\n // Convert all raw spans to TraceSpan objects first\n const traceSpans = spans.map(convertToTraceSpan);\n const spanMap = new Map<string, TraceSpan>();\n const roots: TraceSpan[] = [];\n\n // Index by ID\n traceSpans.forEach(span => spanMap.set(span.id, span));\n\n // Build relationships\n traceSpans.forEach(span => {\n const parentSpanId = span.metadata?.parentSpanId as string;\n if (parentSpanId && spanMap.has(parentSpanId)) {\n const parent = spanMap.get(parentSpanId)!;\n parent.children = parent.children || [];\n parent.children.push(span);\n } else {\n roots.push(span);\n }\n });\n\n return roots;\n};\n\n// Helper to flatten the tree\nconst flattenTree = (spans: TraceSpan[], level: number = 0): TraceNode[] => {\n const tree = spans.flatMap(span => [\n { span, level },\n ...(span.children ? flattenTree(span.children, level + 1) : []),\n ]);\n return tree;\n};\n\nexport const useEvent = (\n sessionId: string | null,\n region: string,\n controller: ChatController,\n) => {\n const { currentThreadId, threadMap } = useSnapshot(controller.store.state);\n const currentThread = currentThreadId ? threadMap?.[currentThreadId] : null;\n const { data, refresh, loading } = useRequest(\n async () => {\n const now = dayjs();\n const res = await FetchInstance.request<{ data: { Spans: RawSpan[] } }>({\n action: 'GetSessionSpans',\n errorDisplay: 'none',\n headers: {\n 'x-apmplus-region': region,\n },\n region: region,\n params: {\n SessionId: sessionId || '',\n StartTime: dayjs().subtract(1, 'd').valueOf(),\n EndTime: now.valueOf(),\n },\n type: 'open-top',\n method: 'POST',\n });\n const [err, data] = res;\n if (err) {\n throw err as any;\n }\n\n const spans: RawSpan[] = data?.data?.Spans || [];\n\n // Build Trace Tree\n const traceTree = buildTraceTree(spans);\n const trace = traceTree.length > 0 ? traceTree : null;\n const flatTree = traceTree.length > 0 ? flattenTree(traceTree) : [];\n\n return {\n traceTree,\n flatTree,\n trace,\n };\n },\n {\n ready: !!sessionId && (currentThread?.messages?.length||0) > 0,\n refreshDeps: [sessionId],\n pollingInterval: 2000,\n },\n );\n\n return {\n data,\n loading,\n refresh,\n };\n};\n"],"names":["IaasFetch","useSnapshot","dayjs"],"mappings":"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"}
1
+ {"version":3,"file":"useEvents.cjs","sources":["../../../src/adk/hooks/useEvents.ts"],"sourcesContent":["import dayjs from 'dayjs';\nimport { useRequest } from 'ahooks';\nimport IaasFetch from '@byted-iaas/fetch';\nimport { TraceSpan, TraceNode } from '../components/Debug/Trace/types';\nimport useThread from '@/hooks/useThread';\nimport { ChatController, useSnapshot } from '@chat-lab/core';\n\nconst FetchInstance = new IaasFetch({\n service: 'apmplus_server',\n version: '2024-07-30',\n platform: 'VOLCENGINE',\n disablePreTcc: true,\n});\n\ninterface RawSpan {\n OperationName: string;\n SpanId: string;\n TraceId: string;\n Input: string;\n Output: string;\n SpanKind: string;\n Model: string;\n InputTokens: number;\n OutputTokens: number;\n TotalTokens: number;\n Duration: number;\n StartTime: number;\n Tags?: Record<string, string>;\n EndTime: number;\n ParentSpanId?: string;\n}\n\n// Helper function to convert RawSpan to TraceSpan\nconst convertToTraceSpan = (raw: RawSpan): TraceSpan => {\n const statusCode = raw?.Tags?.['http.status_code'];\n let status: 'success' | 'error' = 'success';\n if (statusCode && statusCode !== '200') {\n status = 'error';\n }\n return {\n id: raw.SpanId,\n name: raw.OperationName,\n status: status, // Default to success as per provided data\n startTime: raw.StartTime,\n endTime: raw.EndTime,\n duration: raw.Duration,\n tags: raw.Tags || {},\n children: [],\n metadata: {\n parentSpanId: raw.ParentSpanId,\n input: raw.Input,\n output: raw.Output,\n spanKind: raw.SpanKind,\n model: raw.Model,\n tokens: {\n input: raw.InputTokens,\n output: raw.OutputTokens,\n total: raw.TotalTokens,\n },\n },\n };\n};\n\n// Function to build the tree\nconst buildTraceTree = (spans: RawSpan[]): TraceSpan[] => {\n // Convert all raw spans to TraceSpan objects first\n const traceSpans = spans.map(convertToTraceSpan);\n const spanMap = new Map<string, TraceSpan>();\n const roots: TraceSpan[] = [];\n\n // Index by ID\n traceSpans.forEach(span => spanMap.set(span.id, span));\n\n // Build relationships\n traceSpans.forEach(span => {\n const parentSpanId = span.metadata?.parentSpanId as string;\n if (parentSpanId && spanMap.has(parentSpanId)) {\n const parent = spanMap.get(parentSpanId)!;\n parent.children = parent.children || [];\n parent.children.push(span);\n } else {\n roots.push(span);\n }\n });\n\n return roots;\n};\n\n// Helper to flatten the tree\nconst flattenTree = (spans: TraceSpan[], level: number = 0): TraceNode[] => {\n const tree = spans.flatMap(span => [\n { span, level },\n ...(span.children ? flattenTree(span.children, level + 1) : []),\n ]);\n return tree;\n};\n\nexport const useEvent = (\n sessionId: string | null,\n region: string,\n controller: ChatController,\n) => {\n const { currentThreadId, threadMap } = useSnapshot(controller.store.state);\n const currentThread = currentThreadId ? threadMap?.[currentThreadId] : null;\n const { data, refresh, loading } = useRequest(\n async () => {\n const now = dayjs();\n const res = await FetchInstance.request<{ data: { Spans: RawSpan[] } }>({\n action: 'GetSessionSpans',\n errorDisplay: 'none',\n headers: {\n 'x-apmplus-region': region,\n },\n region: region,\n params: {\n SessionId: sessionId || '',\n StartTime: dayjs().subtract(1, 'd').valueOf(),\n EndTime: now.valueOf(),\n },\n type: 'open-top',\n method: 'POST',\n });\n const [err, data] = res;\n if (err) {\n throw err as any;\n }\n\n const spans: RawSpan[] = data?.data?.Spans || [];\n\n // Build Trace Tree\n const traceTree = buildTraceTree(spans);\n const trace = traceTree.length > 0 ? traceTree : null;\n const flatTree = traceTree.length > 0 ? flattenTree(traceTree) : [];\n\n return {\n traceTree,\n flatTree,\n trace,\n };\n },\n {\n ready: !!sessionId && (currentThread?.messages?.length||0) > 0,\n refreshDeps: [sessionId],\n pollingInterval: 2000,\n },\n );\n\n return {\n data,\n loading,\n refresh,\n };\n};\n"],"names":["useSnapshot"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import dayjs from '../../node_modules/.pnpm/dayjs@1.11.18/node_modules/dayjs/dayjs.min.js';
1
+ import dayjs from 'dayjs';
2
2
  import useRequest from '../../node_modules/.pnpm/ahooks@3.9.6_react-dom@17.0.2_react@17.0.2__react@17.0.2/node_modules/ahooks/es/useRequest/src/useRequest.js';
3
- import { IaasFetch } from '../../node_modules/.pnpm/@byted-iaas_fetch@0.0.13_@arco-design_web-react@2.64.1_@types_react@17.0.2_react-dom@17.0.2_r_c5lheq6mbvfvtoizhtvrll35su/node_modules/@byted-iaas/fetch/lib/fetch.js';
3
+ import IaasFetch from '@byted-iaas/fetch';
4
4
  import '../../packages/core/dist/index.js';
5
5
  import { useSnapshot } from '../../node_modules/.pnpm/valtio@2.1.8_patch_hash_boxi3qpsg2dztwe4vz7tsjpr3m_@types_react@17.0.2_react@17.0.2/node_modules/valtio/esm/react.js';
6
6
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  var jsxRuntime = require('react/jsx-runtime');
4
4
 
5
- const ThumbDownIcon = ({ className, fill = "#737A87", }) => (jsxRuntime.jsxs("svg", { className: className, width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [jsxRuntime.jsx("g", { "clip-path": "url(#clip0_154_4247)", children: jsxRuntime.jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M7.11877 15.1695L6.99716 15.1125C6.18652 14.7217 5.00927 13.9328 5.00927 12.6662C5.00927 12.164 5.23222 11.498 5.67812 10.6681H3.15198C1.16272 10.6681 0.705836 8.91222 1.16272 7.5965L3.15198 2.35976C3.32008 1.75067 3.87989 1.32812 4.51873 1.32813L12.3487 1.32813C12.5328 1.32813 12.6821 1.47736 12.6821 1.66146L12.6821 10.3348C12.6821 10.5189 12.5328 10.6681 12.3487 10.6681H11.3174L8.3507 14.8884C8.16337 15.1865 7.65771 15.415 7.11877 15.1695ZM14.0105 10.6671C13.8264 10.6671 13.6771 10.5179 13.6771 10.3338V1.6671C13.6771 1.48301 13.8264 1.33377 14.0105 1.33377L14.6771 1.33377C14.8612 1.33377 15.0105 1.48301 15.0105 1.6671V10.3338C15.0105 10.5179 14.8612 10.6671 14.6771 10.6671H14.0105ZM7.45133 13.8494L10.6249 9.33479H11.3487L11.3487 2.66146L4.51873 2.66146C4.47739 2.66146 4.44519 2.68576 4.43727 2.71447L4.42063 2.77476L2.4167 8.05009C2.15324 8.82618 2.41603 9.33479 3.15198 9.33479H7.90818L6.85264 11.2992C6.50163 11.9525 6.3426 12.4275 6.3426 12.6662C6.3426 13.053 6.75709 13.4906 7.45133 13.8494Z", fill: fill }) }), jsxRuntime.jsx("defs", { children: jsxRuntime.jsx("clipPath", { id: "clip0_154_4247", children: jsxRuntime.jsx("rect", { width: "16", height: "16", fill: "white" }) }) })] }));
5
+ const ThumbDownIcon = ({ className, fill = "#737A87", }) => (jsxRuntime.jsxs("svg", { className: className, width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [jsxRuntime.jsx("g", { clipPath: "url(#clip0_154_4247)", children: jsxRuntime.jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M7.11877 15.1695L6.99716 15.1125C6.18652 14.7217 5.00927 13.9328 5.00927 12.6662C5.00927 12.164 5.23222 11.498 5.67812 10.6681H3.15198C1.16272 10.6681 0.705836 8.91222 1.16272 7.5965L3.15198 2.35976C3.32008 1.75067 3.87989 1.32812 4.51873 1.32813L12.3487 1.32813C12.5328 1.32813 12.6821 1.47736 12.6821 1.66146L12.6821 10.3348C12.6821 10.5189 12.5328 10.6681 12.3487 10.6681H11.3174L8.3507 14.8884C8.16337 15.1865 7.65771 15.415 7.11877 15.1695ZM14.0105 10.6671C13.8264 10.6671 13.6771 10.5179 13.6771 10.3338V1.6671C13.6771 1.48301 13.8264 1.33377 14.0105 1.33377L14.6771 1.33377C14.8612 1.33377 15.0105 1.48301 15.0105 1.6671V10.3338C15.0105 10.5179 14.8612 10.6671 14.6771 10.6671H14.0105ZM7.45133 13.8494L10.6249 9.33479H11.3487L11.3487 2.66146L4.51873 2.66146C4.47739 2.66146 4.44519 2.68576 4.43727 2.71447L4.42063 2.77476L2.4167 8.05009C2.15324 8.82618 2.41603 9.33479 3.15198 9.33479H7.90818L6.85264 11.2992C6.50163 11.9525 6.3426 12.4275 6.3426 12.6662C6.3426 13.053 6.75709 13.4906 7.45133 13.8494Z", fill: fill }) }), jsxRuntime.jsx("defs", { children: jsxRuntime.jsx("clipPath", { id: "clip0_154_4247", children: jsxRuntime.jsx("rect", { width: "16", height: "16", fill: "white" }) }) })] }));
6
6
 
7
7
  module.exports = ThumbDownIcon;
8
8
  //# sourceMappingURL=ThumbDownIcon.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ThumbDownIcon.cjs","sources":["../../src/assets/ThumbDownIcon.tsx"],"sourcesContent":["const ThumbDownIcon = ({\n className,\n fill = \"#737A87\",\n}: {\n className?: string;\n fill?: string;\n}) => (\n <svg\n className={className}\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g clip-path=\"url(#clip0_154_4247)\">\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M7.11877 15.1695L6.99716 15.1125C6.18652 14.7217 5.00927 13.9328 5.00927 12.6662C5.00927 12.164 5.23222 11.498 5.67812 10.6681H3.15198C1.16272 10.6681 0.705836 8.91222 1.16272 7.5965L3.15198 2.35976C3.32008 1.75067 3.87989 1.32812 4.51873 1.32813L12.3487 1.32813C12.5328 1.32813 12.6821 1.47736 12.6821 1.66146L12.6821 10.3348C12.6821 10.5189 12.5328 10.6681 12.3487 10.6681H11.3174L8.3507 14.8884C8.16337 15.1865 7.65771 15.415 7.11877 15.1695ZM14.0105 10.6671C13.8264 10.6671 13.6771 10.5179 13.6771 10.3338V1.6671C13.6771 1.48301 13.8264 1.33377 14.0105 1.33377L14.6771 1.33377C14.8612 1.33377 15.0105 1.48301 15.0105 1.6671V10.3338C15.0105 10.5179 14.8612 10.6671 14.6771 10.6671H14.0105ZM7.45133 13.8494L10.6249 9.33479H11.3487L11.3487 2.66146L4.51873 2.66146C4.47739 2.66146 4.44519 2.68576 4.43727 2.71447L4.42063 2.77476L2.4167 8.05009C2.15324 8.82618 2.41603 9.33479 3.15198 9.33479H7.90818L6.85264 11.2992C6.50163 11.9525 6.3426 12.4275 6.3426 12.6662C6.3426 13.053 6.75709 13.4906 7.45133 13.8494Z\"\n fill={fill}\n />\n </g>\n <defs>\n <clipPath id=\"clip0_154_4247\">\n <rect width=\"16\" height=\"16\" fill=\"white\" />\n </clipPath>\n </defs>\n </svg>\n);\n\nexport default ThumbDownIcon;\n"],"names":["_jsxs","_jsx"],"mappings":";;;;AAAA,MAAM,aAAa,GAAG,CAAC,EACrB,SAAS,EACT,IAAI,GAAG,SAAS,GAIjB,MACCA,yBACE,SAAS,EAAE,SAAS,EACpB,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,4BAA4B,EAAA,QAAA,EAAA,CAElCC,mCAAa,sBAAsB,EAAA,QAAA,EACjCA,cACE,CAAA,MAAA,EAAA,EAAA,QAAQ,EAAC,SAAS,EAClB,QAAQ,EAAC,SAAS,EAClB,CAAC,EAAC,k/BAAk/B,EACp/B,IAAI,EAAE,IAAI,GACV,EACA,CAAA,EACJA,mCACEA,cAAU,CAAA,UAAA,EAAA,EAAA,EAAE,EAAC,gBAAgB,YAC3BA,cAAM,CAAA,MAAA,EAAA,EAAA,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAA,CAAG,GACnC,EACN,CAAA,CAAA,EAAA,CACH;;;;"}
1
+ {"version":3,"file":"ThumbDownIcon.cjs","sources":["../../src/assets/ThumbDownIcon.tsx"],"sourcesContent":["const ThumbDownIcon = ({\n className,\n fill = \"#737A87\",\n}: {\n className?: string;\n fill?: string;\n}) => (\n <svg\n className={className}\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g clipPath=\"url(#clip0_154_4247)\">\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M7.11877 15.1695L6.99716 15.1125C6.18652 14.7217 5.00927 13.9328 5.00927 12.6662C5.00927 12.164 5.23222 11.498 5.67812 10.6681H3.15198C1.16272 10.6681 0.705836 8.91222 1.16272 7.5965L3.15198 2.35976C3.32008 1.75067 3.87989 1.32812 4.51873 1.32813L12.3487 1.32813C12.5328 1.32813 12.6821 1.47736 12.6821 1.66146L12.6821 10.3348C12.6821 10.5189 12.5328 10.6681 12.3487 10.6681H11.3174L8.3507 14.8884C8.16337 15.1865 7.65771 15.415 7.11877 15.1695ZM14.0105 10.6671C13.8264 10.6671 13.6771 10.5179 13.6771 10.3338V1.6671C13.6771 1.48301 13.8264 1.33377 14.0105 1.33377L14.6771 1.33377C14.8612 1.33377 15.0105 1.48301 15.0105 1.6671V10.3338C15.0105 10.5179 14.8612 10.6671 14.6771 10.6671H14.0105ZM7.45133 13.8494L10.6249 9.33479H11.3487L11.3487 2.66146L4.51873 2.66146C4.47739 2.66146 4.44519 2.68576 4.43727 2.71447L4.42063 2.77476L2.4167 8.05009C2.15324 8.82618 2.41603 9.33479 3.15198 9.33479H7.90818L6.85264 11.2992C6.50163 11.9525 6.3426 12.4275 6.3426 12.6662C6.3426 13.053 6.75709 13.4906 7.45133 13.8494Z\"\n fill={fill}\n />\n </g>\n <defs>\n <clipPath id=\"clip0_154_4247\">\n <rect width=\"16\" height=\"16\" fill=\"white\" />\n </clipPath>\n </defs>\n </svg>\n);\n\nexport default ThumbDownIcon;\n"],"names":["_jsxs","_jsx"],"mappings":";;;;AAAA,MAAM,aAAa,GAAG,CAAC,EACrB,SAAS,EACT,IAAI,GAAG,SAAS,GAIjB,MACCA,yBACE,SAAS,EAAE,SAAS,EACpB,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,4BAA4B,EAElC,QAAA,EAAA,CAAAC,cAAA,CAAA,GAAA,EAAA,EAAG,QAAQ,EAAC,sBAAsB,EAChC,QAAA,EAAAA,cAAA,CAAA,MAAA,EAAA,EACE,QAAQ,EAAC,SAAS,EAClB,QAAQ,EAAC,SAAS,EAClB,CAAC,EAAC,k/BAAk/B,EACp/B,IAAI,EAAE,IAAI,EACV,CAAA,EAAA,CACA,EACJA,cACE,CAAA,MAAA,EAAA,EAAA,QAAA,EAAAA,cAAA,CAAA,UAAA,EAAA,EAAU,EAAE,EAAC,gBAAgB,EAC3B,QAAA,EAAAA,cAAA,CAAA,MAAA,EAAA,EAAM,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAA,CAAG,GACnC,EACN,CAAA,CAAA,EAAA,CACH;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
 
3
- const ThumbDownIcon = ({ className, fill = "#737A87", }) => (jsxs("svg", { className: className, width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [jsx("g", { "clip-path": "url(#clip0_154_4247)", children: jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M7.11877 15.1695L6.99716 15.1125C6.18652 14.7217 5.00927 13.9328 5.00927 12.6662C5.00927 12.164 5.23222 11.498 5.67812 10.6681H3.15198C1.16272 10.6681 0.705836 8.91222 1.16272 7.5965L3.15198 2.35976C3.32008 1.75067 3.87989 1.32812 4.51873 1.32813L12.3487 1.32813C12.5328 1.32813 12.6821 1.47736 12.6821 1.66146L12.6821 10.3348C12.6821 10.5189 12.5328 10.6681 12.3487 10.6681H11.3174L8.3507 14.8884C8.16337 15.1865 7.65771 15.415 7.11877 15.1695ZM14.0105 10.6671C13.8264 10.6671 13.6771 10.5179 13.6771 10.3338V1.6671C13.6771 1.48301 13.8264 1.33377 14.0105 1.33377L14.6771 1.33377C14.8612 1.33377 15.0105 1.48301 15.0105 1.6671V10.3338C15.0105 10.5179 14.8612 10.6671 14.6771 10.6671H14.0105ZM7.45133 13.8494L10.6249 9.33479H11.3487L11.3487 2.66146L4.51873 2.66146C4.47739 2.66146 4.44519 2.68576 4.43727 2.71447L4.42063 2.77476L2.4167 8.05009C2.15324 8.82618 2.41603 9.33479 3.15198 9.33479H7.90818L6.85264 11.2992C6.50163 11.9525 6.3426 12.4275 6.3426 12.6662C6.3426 13.053 6.75709 13.4906 7.45133 13.8494Z", fill: fill }) }), jsx("defs", { children: jsx("clipPath", { id: "clip0_154_4247", children: jsx("rect", { width: "16", height: "16", fill: "white" }) }) })] }));
3
+ const ThumbDownIcon = ({ className, fill = "#737A87", }) => (jsxs("svg", { className: className, width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [jsx("g", { clipPath: "url(#clip0_154_4247)", children: jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M7.11877 15.1695L6.99716 15.1125C6.18652 14.7217 5.00927 13.9328 5.00927 12.6662C5.00927 12.164 5.23222 11.498 5.67812 10.6681H3.15198C1.16272 10.6681 0.705836 8.91222 1.16272 7.5965L3.15198 2.35976C3.32008 1.75067 3.87989 1.32812 4.51873 1.32813L12.3487 1.32813C12.5328 1.32813 12.6821 1.47736 12.6821 1.66146L12.6821 10.3348C12.6821 10.5189 12.5328 10.6681 12.3487 10.6681H11.3174L8.3507 14.8884C8.16337 15.1865 7.65771 15.415 7.11877 15.1695ZM14.0105 10.6671C13.8264 10.6671 13.6771 10.5179 13.6771 10.3338V1.6671C13.6771 1.48301 13.8264 1.33377 14.0105 1.33377L14.6771 1.33377C14.8612 1.33377 15.0105 1.48301 15.0105 1.6671V10.3338C15.0105 10.5179 14.8612 10.6671 14.6771 10.6671H14.0105ZM7.45133 13.8494L10.6249 9.33479H11.3487L11.3487 2.66146L4.51873 2.66146C4.47739 2.66146 4.44519 2.68576 4.43727 2.71447L4.42063 2.77476L2.4167 8.05009C2.15324 8.82618 2.41603 9.33479 3.15198 9.33479H7.90818L6.85264 11.2992C6.50163 11.9525 6.3426 12.4275 6.3426 12.6662C6.3426 13.053 6.75709 13.4906 7.45133 13.8494Z", fill: fill }) }), jsx("defs", { children: jsx("clipPath", { id: "clip0_154_4247", children: jsx("rect", { width: "16", height: "16", fill: "white" }) }) })] }));
4
4
 
5
5
  export { ThumbDownIcon as default };
6
6
  //# sourceMappingURL=ThumbDownIcon.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ThumbDownIcon.js","sources":["../../src/assets/ThumbDownIcon.tsx"],"sourcesContent":["const ThumbDownIcon = ({\n className,\n fill = \"#737A87\",\n}: {\n className?: string;\n fill?: string;\n}) => (\n <svg\n className={className}\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g clip-path=\"url(#clip0_154_4247)\">\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M7.11877 15.1695L6.99716 15.1125C6.18652 14.7217 5.00927 13.9328 5.00927 12.6662C5.00927 12.164 5.23222 11.498 5.67812 10.6681H3.15198C1.16272 10.6681 0.705836 8.91222 1.16272 7.5965L3.15198 2.35976C3.32008 1.75067 3.87989 1.32812 4.51873 1.32813L12.3487 1.32813C12.5328 1.32813 12.6821 1.47736 12.6821 1.66146L12.6821 10.3348C12.6821 10.5189 12.5328 10.6681 12.3487 10.6681H11.3174L8.3507 14.8884C8.16337 15.1865 7.65771 15.415 7.11877 15.1695ZM14.0105 10.6671C13.8264 10.6671 13.6771 10.5179 13.6771 10.3338V1.6671C13.6771 1.48301 13.8264 1.33377 14.0105 1.33377L14.6771 1.33377C14.8612 1.33377 15.0105 1.48301 15.0105 1.6671V10.3338C15.0105 10.5179 14.8612 10.6671 14.6771 10.6671H14.0105ZM7.45133 13.8494L10.6249 9.33479H11.3487L11.3487 2.66146L4.51873 2.66146C4.47739 2.66146 4.44519 2.68576 4.43727 2.71447L4.42063 2.77476L2.4167 8.05009C2.15324 8.82618 2.41603 9.33479 3.15198 9.33479H7.90818L6.85264 11.2992C6.50163 11.9525 6.3426 12.4275 6.3426 12.6662C6.3426 13.053 6.75709 13.4906 7.45133 13.8494Z\"\n fill={fill}\n />\n </g>\n <defs>\n <clipPath id=\"clip0_154_4247\">\n <rect width=\"16\" height=\"16\" fill=\"white\" />\n </clipPath>\n </defs>\n </svg>\n);\n\nexport default ThumbDownIcon;\n"],"names":["_jsxs","_jsx"],"mappings":";;AAAA,MAAM,aAAa,GAAG,CAAC,EACrB,SAAS,EACT,IAAI,GAAG,SAAS,GAIjB,MACCA,cACE,SAAS,EAAE,SAAS,EACpB,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,4BAA4B,EAAA,QAAA,EAAA,CAElCC,wBAAa,sBAAsB,EAAA,QAAA,EACjCA,GACE,CAAA,MAAA,EAAA,EAAA,QAAQ,EAAC,SAAS,EAClB,QAAQ,EAAC,SAAS,EAClB,CAAC,EAAC,k/BAAk/B,EACp/B,IAAI,EAAE,IAAI,GACV,EACA,CAAA,EACJA,wBACEA,GAAU,CAAA,UAAA,EAAA,EAAA,EAAE,EAAC,gBAAgB,YAC3BA,GAAM,CAAA,MAAA,EAAA,EAAA,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAA,CAAG,GACnC,EACN,CAAA,CAAA,EAAA,CACH;;;;"}
1
+ {"version":3,"file":"ThumbDownIcon.js","sources":["../../src/assets/ThumbDownIcon.tsx"],"sourcesContent":["const ThumbDownIcon = ({\n className,\n fill = \"#737A87\",\n}: {\n className?: string;\n fill?: string;\n}) => (\n <svg\n className={className}\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g clipPath=\"url(#clip0_154_4247)\">\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M7.11877 15.1695L6.99716 15.1125C6.18652 14.7217 5.00927 13.9328 5.00927 12.6662C5.00927 12.164 5.23222 11.498 5.67812 10.6681H3.15198C1.16272 10.6681 0.705836 8.91222 1.16272 7.5965L3.15198 2.35976C3.32008 1.75067 3.87989 1.32812 4.51873 1.32813L12.3487 1.32813C12.5328 1.32813 12.6821 1.47736 12.6821 1.66146L12.6821 10.3348C12.6821 10.5189 12.5328 10.6681 12.3487 10.6681H11.3174L8.3507 14.8884C8.16337 15.1865 7.65771 15.415 7.11877 15.1695ZM14.0105 10.6671C13.8264 10.6671 13.6771 10.5179 13.6771 10.3338V1.6671C13.6771 1.48301 13.8264 1.33377 14.0105 1.33377L14.6771 1.33377C14.8612 1.33377 15.0105 1.48301 15.0105 1.6671V10.3338C15.0105 10.5179 14.8612 10.6671 14.6771 10.6671H14.0105ZM7.45133 13.8494L10.6249 9.33479H11.3487L11.3487 2.66146L4.51873 2.66146C4.47739 2.66146 4.44519 2.68576 4.43727 2.71447L4.42063 2.77476L2.4167 8.05009C2.15324 8.82618 2.41603 9.33479 3.15198 9.33479H7.90818L6.85264 11.2992C6.50163 11.9525 6.3426 12.4275 6.3426 12.6662C6.3426 13.053 6.75709 13.4906 7.45133 13.8494Z\"\n fill={fill}\n />\n </g>\n <defs>\n <clipPath id=\"clip0_154_4247\">\n <rect width=\"16\" height=\"16\" fill=\"white\" />\n </clipPath>\n </defs>\n </svg>\n);\n\nexport default ThumbDownIcon;\n"],"names":["_jsxs","_jsx"],"mappings":";;AAAA,MAAM,aAAa,GAAG,CAAC,EACrB,SAAS,EACT,IAAI,GAAG,SAAS,GAIjB,MACCA,cACE,SAAS,EAAE,SAAS,EACpB,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,4BAA4B,EAElC,QAAA,EAAA,CAAAC,GAAA,CAAA,GAAA,EAAA,EAAG,QAAQ,EAAC,sBAAsB,EAChC,QAAA,EAAAA,GAAA,CAAA,MAAA,EAAA,EACE,QAAQ,EAAC,SAAS,EAClB,QAAQ,EAAC,SAAS,EAClB,CAAC,EAAC,k/BAAk/B,EACp/B,IAAI,EAAE,IAAI,EACV,CAAA,EAAA,CACA,EACJA,GACE,CAAA,MAAA,EAAA,EAAA,QAAA,EAAAA,GAAA,CAAA,UAAA,EAAA,EAAU,EAAE,EAAC,gBAAgB,EAC3B,QAAA,EAAAA,GAAA,CAAA,MAAA,EAAA,EAAM,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAA,CAAG,GACnC,EACN,CAAA,CAAA,EAAA,CACH;;;;"}
@@ -17,7 +17,7 @@ var Copy = require('../../assets/Copy.cjs');
17
17
  var RefreshIcon = require('../../assets/RefreshIcon.cjs');
18
18
  var threadHeader = require('./thread-header.cjs');
19
19
  var NewSession = require('../../assets/NewSession.cjs');
20
- var dayjs_min = require('../../node_modules/.pnpm/dayjs@1.11.18/node_modules/dayjs/dayjs.min.cjs');
20
+ var dayjs = require('dayjs');
21
21
  var useThread = require('../../hooks/useThread.cjs');
22
22
  var welcome = require('../welcome.cjs');
23
23
  var download = require('../../utils/download.cjs');
@@ -120,7 +120,7 @@ const NewThread = () => {
120
120
  sending: false,
121
121
  metadata: {},
122
122
  messages: [],
123
- createdAt: dayjs_min.default().unix(),
123
+ createdAt: dayjs().unix(),
124
124
  })
125
125
  .then(() => ref?.setCurrentThread(id));
126
126
  };
@@ -1 +1 @@
1
- {"version":3,"file":"thread.cjs","sources":["../../../src/components/assistant-ui/thread.tsx"],"sourcesContent":["import {\n ArrowDownIcon,\n ArrowUpIcon,\n CheckIcon,\n ChevronLeftIcon,\n ChevronRightIcon,\n PencilIcon,\n Square,\n Share2Icon, // 添加分享图标\n MoreHorizontalIcon,\n LoaderCircle,\n Mic,\n} from 'lucide-react';\nimport { v4 as uuid } from 'uuid';\nimport {\n ActionBarPrimitive,\n BranchPickerPrimitive,\n ComposerPrimitive,\n ErrorPrimitive,\n MessagePrimitive,\n ThreadPrimitive,\n useAssistantApi,\n useAssistantState,\n useMessagePartText,\n} from '@assistant-ui/react';\n\nimport { useMemo, useState, type FC, type PropsWithChildren } from 'react';\nimport { LazyMotion, MotionConfig, domAnimation } from 'motion/react';\nimport * as m from 'motion/react-m';\n\nimport { Checkbox } from '@radix-ui/react-checkbox';\n\nimport { Button } from '@/components/ui/button';\nimport { MarkdownText } from '@/components/assistant-ui/markdown-text';\nimport { ToolFallback } from '@/components/assistant-ui/tool-fallback';\nimport { TooltipIconButton } from '@/components/assistant-ui/tooltip-icon-button';\nimport {\n ComposerAddAttachment,\n ComposerAttachments,\n UserMessageAttachments,\n} from '@/components/assistant-ui/attachment';\nimport { File } from '@/components/assistant-ui/file';\n\nimport { cn } from '@/lib/utils';\nimport { Reasoning, ReasoningGroup } from './reasoning';\nimport {\n useChatkitContext,\n useChatkitPlugins,\n useChatkitRef,\n} from '@/contexts/ChatkitContext';\nimport ThumbUpIcon from '@/assets/ThumbUpIcon';\nimport ThumbDownIcon from '@/assets/ThumbDownIcon';\nimport CopyIcon from '@/assets/Copy';\nimport RefreshIcon from '@/assets/RefreshIcon';\nimport ThreadHeader from './thread-header';\nimport NewSession from '@/assets/NewSession';\nimport dayjs from 'dayjs';\nimport useThread from '@/hooks/useThread';\nimport Recommend from '../welcome';\nimport { saveStringToMarkdown } from '@/utils/download';\nimport Download from '@/assets/Download';\nimport AbortMessage from '@/assets/AbortMessage';\nimport ClearIcon from '@/assets/ClearIcon';\n\nconst assistantMessageComponents = {\n Text: MarkdownText,\n tools: { Fallback: ToolFallback },\n File,\n Reasoning,\n ReasoningGroup,\n};\n\nconst userMessageComponents = { Text: MarkdownText };\nexport const Thread: FC<{\n welcome?: React.ReactNode;\n recommends?: string[];\n}> = ({ welcome, recommends }) => {\n const { currentThread } = useThread();\n\n const ref = useChatkitRef();\n const welcomeElement = useMemo(() => {\n if (welcome) return welcome;\n if (recommends)\n return (\n <Recommend\n recommends={recommends}\n onSelect={question => {\n ref?.sendMessage({\n content: [\n {\n type: 'text',\n text: question,\n },\n ],\n });\n }}\n />\n );\n return undefined;\n }, [recommends]);\n\n const threadMessageComponents = useMemo(\n () => ({\n UserMessage,\n EditComposer,\n AssistantMessage,\n }),\n [],\n );\n\n const { showHeader } = useChatkitContext();\n return (\n <div className=\"min-w-full h-full flex flex-col\">\n {showHeader && (\n <ThreadHeader title={currentThread?.name || 'Thread Title'} />\n )}\n <LazyMotion features={domAnimation}>\n <MotionConfig reducedMotion=\"user\">\n <ThreadPrimitive.Root\n className=\"aui-root aui-thread-root @container flex-1 flex h-[calc(100%-65px)] flex-col bg-background\"\n style={{\n ['--thread-max-width' as string]: '66rem',\n }}\n >\n <ThreadPrimitive.If empty={false}>\n <ThreadPrimitive.Viewport className=\"aui-thread-viewport relative flex flex-1 flex-col overflow-x-auto overflow-y-auto px-4\">\n <ThreadPrimitive.Messages\n components={threadMessageComponents}\n />\n <div className=\"aui-thread-viewport-spacer min-h-12 grow z-9 bg-white\" />\n <Composer />\n </ThreadPrimitive.Viewport>\n </ThreadPrimitive.If>\n <ThreadPrimitive.If empty>\n <ThreadPrimitive.Viewport className=\"aui-thread-viewport relative flex flex-1 flex-col overflow-x-auto overflow-y-auto px-4 justify-center\">\n <div className=\" aui-thread-viewport-spacer min-h-12 grow z-9 bg-white\" />\n {currentThread?.loading ? (\n <div className=\"flex items-center justify-center gap-1.5 h-[180px]\">\n <span\n className=\"w-2.5 h-2.5 bg-gray-500 rounded-full\"\n style={{\n animation: 'bounce 1s ease-in-out infinite',\n animationDelay: '0ms',\n }}\n />\n <span\n className=\"w-2.5 h-2.5 bg-gray-500 rounded-full\"\n style={{\n animation: 'bounce 1s ease-in-out infinite',\n animationDelay: '150ms',\n }}\n />\n <span\n className=\"w-2.5 h-2.5 bg-gray-500 rounded-full\"\n style={{\n animation: 'bounce 1s ease-in-out infinite',\n animationDelay: '300ms',\n }}\n />\n </div>\n ) : (\n (welcomeElement ?? <ThreadWelcome />)\n )}\n <div className=\"aui-thread-viewport-spacer min-h-12 grow z-9 bg-white\" />\n\n <Composer />\n </ThreadPrimitive.Viewport>\n </ThreadPrimitive.If>\n </ThreadPrimitive.Root>\n </MotionConfig>\n </LazyMotion>\n </div>\n );\n};\n\nconst ThreadScrollToBottom: FC = () => {\n return (\n <ThreadPrimitive.ScrollToBottom asChild>\n <TooltipIconButton\n tooltip=\"Scroll to bottom\"\n variant=\"outline\"\n className=\"aui-thread-scroll-to-bottom absolute -top-12 z-10 self-center rounded-full p-4 disabled:invisible dark:bg-background dark:hover:bg-accent\"\n >\n <ArrowDownIcon />\n </TooltipIconButton>\n </ThreadPrimitive.ScrollToBottom>\n );\n};\n\nconst NewThread = () => {\n const ref = useChatkitRef();\n const handleCreateNewThread = async () => {\n // 新建会话的逻辑\n const id = uuid();\n ref\n ?.addThread({\n id,\n name: id,\n sending: false,\n metadata: {},\n messages: [],\n createdAt: dayjs().unix(),\n })\n .then(() => ref?.setCurrentThread(id));\n };\n\n return (\n <TooltipIconButton\n tooltip=\"新会话\"\n onClick={handleCreateNewThread}\n className=\"flex h-[32px] w-[32px] items-center justify-center rounded-full bg-white border border-[#EAEDF1] text-[#0C0D0E] transition-colors hover:bg-gray-50 disabled:opacity-50 disabled:pointer-events-none\"\n >\n <NewSession />\n </TooltipIconButton>\n );\n};\n\nconst ClearThread = () => {\n const ref = useChatkitRef();\n const handleCreateNewThread = () => {\n ref?.clearCurrentThread();\n };\n const { currentThread } = useThread();\n\n const disabled =\n currentThread?.messages.length === 0 || currentThread?.loading;\n return (\n <TooltipIconButton\n tooltip=\"清空会话\"\n disabled={disabled}\n onClick={handleCreateNewThread}\n className={cn(\n 'flex flex-shrink-0 size-[38px] items-center justify-center rounded-full bg-white border border-[#EAEDF1] text-[#0C0D0E] transition-colors hover:bg-gray-50',\n disabled && 'opacity-50 pointer-events-none',\n )}\n >\n <ClearIcon className=\"size-[16px]\" />\n </TooltipIconButton>\n );\n};\n\nconst ThreadWelcome: FC = () => {\n return (\n <div className=\"aui-thread-welcome-root mx-auto flex w-full max-w-[var(--thread-max-width)] flex-col\">\n <div className=\"aui-thread-welcome-center flex w-full flex-col items-center justify-center\">\n <div className=\"aui-thread-welcome-message flex size-full flex-col justify-center px-8 text-[24px] text-center font-medium leading-[100%] text-[#0C0D0E]\">\n 你好\n </div>\n </div>\n </div>\n );\n};\n\nconst ThreadSuggestions: FC = () => {\n return (\n <div className=\"aui-thread-welcome-suggestions grid w-full gap-2 pb-4 @md:grid-cols-2\">\n 你好\n </div>\n );\n};\n\nconst Composer: FC = () => {\n const { showThreadList, placeholder } = useChatkitContext();\n return (\n <div className=\"aui-composer-wrapper sticky bottom-0 mx-auto flex w-full max-w-[var(--thread-max-width)] flex-col gap-4 overflow-visible bg-background pb-4 md:pb-6\">\n <ThreadScrollToBottom />\n <div className=\"flex items-center gap-2\">\n <div className=\"flex-shrink-0\">\n {showThreadList ? <NewThread /> : <ClearThread />}\n </div>\n <ComposerPrimitive.Root className=\"aui-composer-root group/input-group relative flex flex-1 flex-col rounded-[24px] border border-[#EAEDF1] bg-background px-[16px] py-[12px] shadow-sm transition-all\">\n <ComposerAttachments />\n <div className=\"flex items-center w-full gap-2\">\n <ComposerPrimitive.Input\n placeholder={placeholder}\n className=\"aui-composer-input max-h-32 min-h-[24px] flex-1 resize-none bg-transparent py-0 text-[14px] leading-[22px] outline-none placeholder:text-muted-foreground\"\n rows={1}\n autoFocus\n aria-label=\"Message input\"\n />\n <ComposerAction />\n </div>\n </ComposerPrimitive.Root>\n </div>\n </div>\n );\n};\n\nconst ComposerAction: FC = () => {\n const { currentThread } = useThread();\n const plugins = useChatkitPlugins();\n return (\n <div className=\"aui-composer-action-wrapper flex items-center gap-3\">\n <div className=\"flex items-center gap-2\">\n {plugins.map((plugin, idx) => (\n <div key={idx} className=\"flex items-center justify-center\">\n {plugin}\n </div>\n ))}\n </div>\n\n <div className=\"h-5 w-[1px] bg-[#E5E7EB]\" />\n\n <ThreadPrimitive.If running={false}>\n <ComposerPrimitive.Send asChild>\n <TooltipIconButton\n tooltip=\"发送\"\n type=\"submit\"\n variant=\"ghost\"\n size=\"icon\"\n className=\"aui-composer-send size-[32px] bg-[#1664FF] rounded-full text-white text-primary hover:bg-primary/10 hover:text-primary p-0\"\n aria-label=\"Send message\"\n >\n {currentThread?.loading ? (\n <LoaderCircle className=\"aui-composer-send-icon size-[16px] animate-spin\" />\n ) : (\n <ArrowUpIcon className=\"aui-composer-send-icon size-[16px] text-white\" />\n )}\n </TooltipIconButton>\n </ComposerPrimitive.Send>\n </ThreadPrimitive.If>\n\n <ThreadPrimitive.If running>\n <ComposerPrimitive.Cancel asChild>\n <TooltipIconButton\n tooltip=\"stop\"\n type=\"submit\"\n variant=\"ghost\"\n size=\"icon\"\n className=\"aui-composer-send size-[32px] bg-[#1664FF] rounded-full text-white text-primary hover:bg-primary/10 hover:text-primary p-0\"\n aria-label=\"Send message\"\n >\n <AbortMessage className=\"aui-composer-send-icon size-[32px] fill-white\" />\n </TooltipIconButton>\n </ComposerPrimitive.Cancel>\n </ThreadPrimitive.If>\n </div>\n );\n};\n\nconst MessageError: FC = () => {\n return (\n <MessagePrimitive.Error>\n <ErrorPrimitive.Root className=\"aui-message-error-root mt-2 rounded-md border border-destructive bg-destructive/10 p-3 text-sm text-destructive dark:bg-destructive/5 dark:text-red-200\">\n <div className=\"font-medium text-destructive text-red-500\">\n 请求出现错误!\n </div>\n <ErrorPrimitive.Message className=\"aui-message-error-message line-clamp-2\" />\n </ErrorPrimitive.Root>\n </MessagePrimitive.Error>\n );\n};\n\nconst ToolGroup: FC<\n PropsWithChildren<{ startIndex: number; endIndex: number }>\n> = ({ startIndex, endIndex, children }) => {\n const toolCount = endIndex - startIndex + 1;\n return (\n <details className=\"my-2\">\n <summary className=\"cursor-pointer font-medium\">\n {toolCount} tool {toolCount === 1 ? 'call' : 'calls'}\n </summary>\n <div className=\"space-y-2 pl-4\">{children}</div>\n </details>\n );\n};\nconst AssistantMessage: FC = () => {\n return (\n <MessagePrimitive.Root asChild>\n <div\n className=\"aui-assistant-message-root relative mx-auto w-full max-w-[var(--thread-max-width)] py-4 duration-150 slide-in-from-bottom-1 last:mb-24\"\n data-role=\"assistant\"\n >\n <div className=\"group\">\n <div className=\"aui-assistant-message-content mx-2 leading-7 break-words text-foreground flex flex-col gap-[12px]\">\n <MessagePrimitive.Parts components={assistantMessageComponents} />\n <MessageError />\n </div>\n\n <div className=\"aui-assistant-message-footer mt-2 ml-2 flex hover:visible opacity-0 group-hover:opacity-100 transition-opacity duration-200\">\n <BranchPicker />\n <AssistantActionBar />\n </div>\n </div>\n </div>\n </MessagePrimitive.Root>\n );\n};\n\nconst AssistantActionBar: FC = () => {\n const [submittedFeedback, setSubmittedFeedback] = useState<\n 'positive' | 'negative' | undefined\n >(undefined);\n const { currentThread } = useThread();\n\n const downloadContent = useAssistantState(({ message }) => {\n if (\n (message.role !== 'assistant' || message.status?.type !== 'running') &&\n message.parts.some(c => c.type === 'text' && c.text.length > 0)\n ) {\n return message.parts\n .filter(c => c.type === 'text')\n .map(c => c.text)\n .join('\\n');\n }\n return '';\n });\n\n return (\n <ActionBarPrimitive.Root\n hideWhenRunning\n autohide=\"never\"\n autohideFloat=\"single-branch\"\n className=\"aui-assistant-action-bar-root col-start-3 row-start-2 -ml-1 flex items-center gap-[8px] text-muted-foreground data-floating:absolute data-floating:rounded-md data-floating:border data-floating:bg-background data-floating:p-1 data-floating:shadow-sm\"\n >\n <div\n className=\"flex items-center justify-center\"\n onClick={() =>\n setSubmittedFeedback(\n submittedFeedback === 'positive' ? undefined : 'positive',\n )\n }\n >\n <TooltipIconButton tooltip=\"Like\">\n <ThumbUpIcon\n className=\"aui-assistant-action-bar-copy-check-icon size-[16px]\"\n fill={submittedFeedback === 'positive' ? '#000' : undefined}\n />\n </TooltipIconButton>\n </div>\n <div\n className=\"flex items-center justify-center\"\n onClick={() =>\n setSubmittedFeedback(\n submittedFeedback === 'negative' ? undefined : 'negative',\n )\n }\n >\n <TooltipIconButton tooltip=\"Dislike\">\n <ThumbDownIcon\n className=\"aui-assistant-action-bar-copy-check-icon size-[16px]\"\n fill={submittedFeedback === 'negative' ? '#000' : undefined}\n />\n </TooltipIconButton>\n </div>\n\n <div className=\"w-[1px] h-[12px] bg-[#DDE2E9]\" />\n <ActionBarPrimitive.Copy asChild>\n <TooltipIconButton tooltip=\"Copy\">\n <MessagePrimitive.If copied>\n <CheckIcon className=\"aui-assistant-action-bar-copy-check-icon size-[16px]\" />\n </MessagePrimitive.If>\n <MessagePrimitive.If copied={false}>\n <CopyIcon className=\"aui-assistant-action-bar-copy-icon size-[16px]\" />\n </MessagePrimitive.If>\n </TooltipIconButton>\n </ActionBarPrimitive.Copy>\n\n <TooltipIconButton\n tooltip=\"download\"\n onClick={() => {\n saveStringToMarkdown(downloadContent, 'message.md');\n }}\n >\n <Download className=\"aui-assistant-action-bar-refresh-icon size-[16px]\" />\n </TooltipIconButton>\n <ActionBarPrimitive.Reload asChild>\n <TooltipIconButton tooltip=\"Refresh\">\n <RefreshIcon className=\"aui-assistant-action-bar-refresh-icon size-[16px]\" />\n </TooltipIconButton>\n </ActionBarPrimitive.Reload>\n </ActionBarPrimitive.Root>\n );\n};\n\n// const UserActionBar: FC = () => {\n// return (\n// <ActionBarPrimitive.Root\n// hideWhenRunning\n// autohide=\"not-last\"\n// className=\"aui-user-action-bar-root flex flex-col items-end\"\n// >\n// <ActionBarPrimitive.Edit asChild>\n// <TooltipIconButton tooltip=\"Edit\" className=\"aui-user-action-edit p-4\">\n// <PencilIcon />\n// </TooltipIconButton>\n// </ActionBarPrimitive.Edit>\n// </ActionBarPrimitive.Root>\n// );\n// };\n\nconst EditComposer: FC = () => {\n return (\n <div className=\"aui-edit-composer-wrapper mx-auto flex w-full max-w-[var(--thread-max-width)] flex-col gap-4 px-2 first:mt-4\">\n <ComposerPrimitive.Root className=\"aui-edit-composer-root ml-auto flex w-full max-w-7/8 flex-col rounded-xl bg-muted\">\n <ComposerPrimitive.Input\n className=\"aui-edit-composer-input flex min-h-[60px] w-full resize-none bg-transparent p-4 text-foreground outline-none\"\n autoFocus\n />\n\n <div className=\"aui-edit-composer-footer mx-3 mb-3 flex items-center justify-center gap-2 self-end\">\n <ComposerPrimitive.Cancel asChild>\n <Button variant=\"ghost\" size=\"sm\" aria-label=\"Cancel edit\">\n Cancel\n </Button>\n </ComposerPrimitive.Cancel>\n <ComposerPrimitive.Send asChild>\n <Button size=\"sm\" aria-label=\"Update message\">\n Update\n </Button>\n </ComposerPrimitive.Send>\n </div>\n </ComposerPrimitive.Root>\n </div>\n );\n};\n\nconst BranchPicker: FC<BranchPickerPrimitive.Root.Props> = ({\n className,\n ...rest\n}) => {\n return (\n <BranchPickerPrimitive.Root\n hideWhenSingleBranch\n className={cn(\n 'aui-branch-picker-root mr-2 -ml-2 inline-flex items-center text-xs text-muted-foreground',\n className,\n )}\n {...rest}\n >\n <BranchPickerPrimitive.Previous asChild>\n <TooltipIconButton tooltip=\"Previous\">\n <ChevronLeftIcon />\n </TooltipIconButton>\n </BranchPickerPrimitive.Previous>\n <span className=\"aui-branch-picker-state font-medium\">\n <BranchPickerPrimitive.Number /> / <BranchPickerPrimitive.Count />\n </span>\n <BranchPickerPrimitive.Next asChild>\n <TooltipIconButton tooltip=\"Next\">\n <ChevronRightIcon />\n </TooltipIconButton>\n </BranchPickerPrimitive.Next>\n </BranchPickerPrimitive.Root>\n );\n};\n\nconst UserMessage: FC = () => {\n return (\n <MessagePrimitive.Root asChild>\n <div\n className=\"aui-user-message-root mx-auto grid w-full max-w-[var(--thread-max-width)] animate-in auto-rows-auto grid-cols-[minmax(72px,1fr)_auto] gap-y-2 px-2 py-4 duration-150 ease-out fade-in slide-in-from-bottom-1 first:mt-3 last:mb-5 [&:where(>*)]:col-start-2 group\"\n data-role=\"user\"\n >\n <UserMessageAttachments />\n\n {/* <Checkbox /> */}\n <div className=\"aui-user-message-content-wrapper relative col-start-2 min-w-0\">\n <div className=\"aui-user-message-content bg-muted px-5 py-2.5 break-words text-foreground bg-[#F3F7FF] rounded-[8px]\">\n <MessagePrimitive.Parts components={userMessageComponents} />\n </div>\n {/* <div className=\"aui-user-action-bar-wrapper invisible group-hover:visible transition-all duration-200\">\n <UserActionBar />\n </div> */}\n </div>\n\n {/* 移除了下方工具栏代码 */}\n\n {/* <BranchPicker className=\"aui-user-branch-picker col-span-full col-start-1 row-start-3 -mr-1 justify-end\" /> */}\n </div>\n </MessagePrimitive.Root>\n );\n};\n\n// 2. 修改UserActionBar组件,添加编辑、分享和更多选项功能\nconst UserActionBar: FC = () => {\n return (\n <ActionBarPrimitive.Root\n hideWhenRunning\n className=\"aui-user-action-bar-root flex items-end gap-2 justify-end bg-background p-1 rounded-md\"\n >\n <ActionBarPrimitive.Edit asChild>\n <TooltipIconButton tooltip=\"编辑\" className=\"aui-user-action-edit\">\n <PencilIcon className=\"h-3.5 w-3.5\" />\n </TooltipIconButton>\n </ActionBarPrimitive.Edit>\n\n <TooltipIconButton tooltip=\"编辑\" className=\"aui-user-action-edit\">\n <Share2Icon className=\"h-3.5 w-3.5\" />\n </TooltipIconButton>\n <TooltipIconButton tooltip=\"编辑\" className=\"aui-user-action-edit\">\n <MoreHorizontalIcon className=\"h-3.5 w-3.5\" />\n </TooltipIconButton>\n </ActionBarPrimitive.Root>\n );\n};\n"],"names":["MarkdownText","ToolFallback","File","Reasoning","ReasoningGroup","welcome","useChatkitRef","useMemo","_jsx","Recommend","useChatkitContext","_jsxs","ThreadHeader","LazyMotion","domAnimation","MotionConfig","ThreadPrimitive.Root","ThreadPrimitive.If","ThreadPrimitive.Viewport","ThreadPrimitive.Messages","ThreadPrimitive.ScrollToBottom","TooltipIconButton","ArrowDownIcon","uuid","dayjs","cn","ComposerPrimitive.Root","ComposerAttachments","ComposerPrimitive.Input","useChatkitPlugins","ComposerPrimitive.Send","LoaderCircle","ArrowUpIcon","ComposerPrimitive.Cancel","MessagePrimitive.Error","ErrorPrimitive.Root","ErrorPrimitive.Message","MessagePrimitive.Root","MessagePrimitive.Parts","useState","useAssistantState","ActionBarPrimitive.Root","ActionBarPrimitive.Copy","MessagePrimitive.If","CheckIcon","CopyIcon","saveStringToMarkdown","ActionBarPrimitive.Reload","Button","BranchPickerPrimitive.Root","BranchPickerPrimitive.Previous","ChevronLeftIcon","BranchPickerPrimitive.Number","BranchPickerPrimitive.Count","BranchPickerPrimitive.Next","ChevronRightIcon","UserMessageAttachments"],"mappings":"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"}
1
+ {"version":3,"file":"thread.cjs","sources":["../../../src/components/assistant-ui/thread.tsx"],"sourcesContent":["import {\n ArrowDownIcon,\n ArrowUpIcon,\n CheckIcon,\n ChevronLeftIcon,\n ChevronRightIcon,\n PencilIcon,\n Square,\n Share2Icon, // 添加分享图标\n MoreHorizontalIcon,\n LoaderCircle,\n Mic,\n} from 'lucide-react';\nimport { v4 as uuid } from 'uuid';\nimport {\n ActionBarPrimitive,\n BranchPickerPrimitive,\n ComposerPrimitive,\n ErrorPrimitive,\n MessagePrimitive,\n ThreadPrimitive,\n useAssistantApi,\n useAssistantState,\n useMessagePartText,\n} from '@assistant-ui/react';\n\nimport { useMemo, useState, type FC, type PropsWithChildren } from 'react';\nimport { LazyMotion, MotionConfig, domAnimation } from 'motion/react';\nimport * as m from 'motion/react-m';\n\nimport { Checkbox } from '@radix-ui/react-checkbox';\n\nimport { Button } from '@/components/ui/button';\nimport { MarkdownText } from '@/components/assistant-ui/markdown-text';\nimport { ToolFallback } from '@/components/assistant-ui/tool-fallback';\nimport { TooltipIconButton } from '@/components/assistant-ui/tooltip-icon-button';\nimport {\n ComposerAddAttachment,\n ComposerAttachments,\n UserMessageAttachments,\n} from '@/components/assistant-ui/attachment';\nimport { File } from '@/components/assistant-ui/file';\n\nimport { cn } from '@/lib/utils';\nimport { Reasoning, ReasoningGroup } from './reasoning';\nimport {\n useChatkitContext,\n useChatkitPlugins,\n useChatkitRef,\n} from '@/contexts/ChatkitContext';\nimport ThumbUpIcon from '@/assets/ThumbUpIcon';\nimport ThumbDownIcon from '@/assets/ThumbDownIcon';\nimport CopyIcon from '@/assets/Copy';\nimport RefreshIcon from '@/assets/RefreshIcon';\nimport ThreadHeader from './thread-header';\nimport NewSession from '@/assets/NewSession';\nimport dayjs from 'dayjs';\nimport useThread from '@/hooks/useThread';\nimport Recommend from '../welcome';\nimport { saveStringToMarkdown } from '@/utils/download';\nimport Download from '@/assets/Download';\nimport AbortMessage from '@/assets/AbortMessage';\nimport ClearIcon from '@/assets/ClearIcon';\n\nconst assistantMessageComponents = {\n Text: MarkdownText,\n tools: { Fallback: ToolFallback },\n File,\n Reasoning,\n ReasoningGroup,\n};\n\nconst userMessageComponents = { Text: MarkdownText };\nexport const Thread: FC<{\n welcome?: React.ReactNode;\n recommends?: string[];\n}> = ({ welcome, recommends }) => {\n const { currentThread } = useThread();\n\n const ref = useChatkitRef();\n const welcomeElement = useMemo(() => {\n if (welcome) return welcome;\n if (recommends)\n return (\n <Recommend\n recommends={recommends}\n onSelect={question => {\n ref?.sendMessage({\n content: [\n {\n type: 'text',\n text: question,\n },\n ],\n });\n }}\n />\n );\n return undefined;\n }, [recommends]);\n\n const threadMessageComponents = useMemo(\n () => ({\n UserMessage,\n EditComposer,\n AssistantMessage,\n }),\n [],\n );\n\n const { showHeader } = useChatkitContext();\n return (\n <div className=\"min-w-full h-full flex flex-col\">\n {showHeader && (\n <ThreadHeader title={currentThread?.name || 'Thread Title'} />\n )}\n <LazyMotion features={domAnimation}>\n <MotionConfig reducedMotion=\"user\">\n <ThreadPrimitive.Root\n className=\"aui-root aui-thread-root @container flex-1 flex h-[calc(100%-65px)] flex-col bg-background\"\n style={{\n ['--thread-max-width' as string]: '66rem',\n }}\n >\n <ThreadPrimitive.If empty={false}>\n <ThreadPrimitive.Viewport className=\"aui-thread-viewport relative flex flex-1 flex-col overflow-x-auto overflow-y-auto px-4\">\n <ThreadPrimitive.Messages\n components={threadMessageComponents}\n />\n <div className=\"aui-thread-viewport-spacer min-h-12 grow z-9 bg-white\" />\n <Composer />\n </ThreadPrimitive.Viewport>\n </ThreadPrimitive.If>\n <ThreadPrimitive.If empty>\n <ThreadPrimitive.Viewport className=\"aui-thread-viewport relative flex flex-1 flex-col overflow-x-auto overflow-y-auto px-4 justify-center\">\n <div className=\" aui-thread-viewport-spacer min-h-12 grow z-9 bg-white\" />\n {currentThread?.loading ? (\n <div className=\"flex items-center justify-center gap-1.5 h-[180px]\">\n <span\n className=\"w-2.5 h-2.5 bg-gray-500 rounded-full\"\n style={{\n animation: 'bounce 1s ease-in-out infinite',\n animationDelay: '0ms',\n }}\n />\n <span\n className=\"w-2.5 h-2.5 bg-gray-500 rounded-full\"\n style={{\n animation: 'bounce 1s ease-in-out infinite',\n animationDelay: '150ms',\n }}\n />\n <span\n className=\"w-2.5 h-2.5 bg-gray-500 rounded-full\"\n style={{\n animation: 'bounce 1s ease-in-out infinite',\n animationDelay: '300ms',\n }}\n />\n </div>\n ) : (\n (welcomeElement ?? <ThreadWelcome />)\n )}\n <div className=\"aui-thread-viewport-spacer min-h-12 grow z-9 bg-white\" />\n\n <Composer />\n </ThreadPrimitive.Viewport>\n </ThreadPrimitive.If>\n </ThreadPrimitive.Root>\n </MotionConfig>\n </LazyMotion>\n </div>\n );\n};\n\nconst ThreadScrollToBottom: FC = () => {\n return (\n <ThreadPrimitive.ScrollToBottom asChild>\n <TooltipIconButton\n tooltip=\"Scroll to bottom\"\n variant=\"outline\"\n className=\"aui-thread-scroll-to-bottom absolute -top-12 z-10 self-center rounded-full p-4 disabled:invisible dark:bg-background dark:hover:bg-accent\"\n >\n <ArrowDownIcon />\n </TooltipIconButton>\n </ThreadPrimitive.ScrollToBottom>\n );\n};\n\nconst NewThread = () => {\n const ref = useChatkitRef();\n const handleCreateNewThread = async () => {\n // 新建会话的逻辑\n const id = uuid();\n ref\n ?.addThread({\n id,\n name: id,\n sending: false,\n metadata: {},\n messages: [],\n createdAt: dayjs().unix(),\n })\n .then(() => ref?.setCurrentThread(id));\n };\n\n return (\n <TooltipIconButton\n tooltip=\"新会话\"\n onClick={handleCreateNewThread}\n className=\"flex h-[32px] w-[32px] items-center justify-center rounded-full bg-white border border-[#EAEDF1] text-[#0C0D0E] transition-colors hover:bg-gray-50 disabled:opacity-50 disabled:pointer-events-none\"\n >\n <NewSession />\n </TooltipIconButton>\n );\n};\n\nconst ClearThread = () => {\n const ref = useChatkitRef();\n const handleCreateNewThread = () => {\n ref?.clearCurrentThread();\n };\n const { currentThread } = useThread();\n\n const disabled =\n currentThread?.messages.length === 0 || currentThread?.loading;\n return (\n <TooltipIconButton\n tooltip=\"清空会话\"\n disabled={disabled}\n onClick={handleCreateNewThread}\n className={cn(\n 'flex flex-shrink-0 size-[38px] items-center justify-center rounded-full bg-white border border-[#EAEDF1] text-[#0C0D0E] transition-colors hover:bg-gray-50',\n disabled && 'opacity-50 pointer-events-none',\n )}\n >\n <ClearIcon className=\"size-[16px]\" />\n </TooltipIconButton>\n );\n};\n\nconst ThreadWelcome: FC = () => {\n return (\n <div className=\"aui-thread-welcome-root mx-auto flex w-full max-w-[var(--thread-max-width)] flex-col\">\n <div className=\"aui-thread-welcome-center flex w-full flex-col items-center justify-center\">\n <div className=\"aui-thread-welcome-message flex size-full flex-col justify-center px-8 text-[24px] text-center font-medium leading-[100%] text-[#0C0D0E]\">\n 你好\n </div>\n </div>\n </div>\n );\n};\n\nconst ThreadSuggestions: FC = () => {\n return (\n <div className=\"aui-thread-welcome-suggestions grid w-full gap-2 pb-4 @md:grid-cols-2\">\n 你好\n </div>\n );\n};\n\nconst Composer: FC = () => {\n const { showThreadList, placeholder } = useChatkitContext();\n return (\n <div className=\"aui-composer-wrapper sticky bottom-0 mx-auto flex w-full max-w-[var(--thread-max-width)] flex-col gap-4 overflow-visible bg-background pb-4 md:pb-6\">\n <ThreadScrollToBottom />\n <div className=\"flex items-center gap-2\">\n <div className=\"flex-shrink-0\">\n {showThreadList ? <NewThread /> : <ClearThread />}\n </div>\n <ComposerPrimitive.Root className=\"aui-composer-root group/input-group relative flex flex-1 flex-col rounded-[24px] border border-[#EAEDF1] bg-background px-[16px] py-[12px] shadow-sm transition-all\">\n <ComposerAttachments />\n <div className=\"flex items-center w-full gap-2\">\n <ComposerPrimitive.Input\n placeholder={placeholder}\n className=\"aui-composer-input max-h-32 min-h-[24px] flex-1 resize-none bg-transparent py-0 text-[14px] leading-[22px] outline-none placeholder:text-muted-foreground\"\n rows={1}\n autoFocus\n aria-label=\"Message input\"\n />\n <ComposerAction />\n </div>\n </ComposerPrimitive.Root>\n </div>\n </div>\n );\n};\n\nconst ComposerAction: FC = () => {\n const { currentThread } = useThread();\n const plugins = useChatkitPlugins();\n return (\n <div className=\"aui-composer-action-wrapper flex items-center gap-3\">\n <div className=\"flex items-center gap-2\">\n {plugins.map((plugin, idx) => (\n <div key={idx} className=\"flex items-center justify-center\">\n {plugin}\n </div>\n ))}\n </div>\n\n <div className=\"h-5 w-[1px] bg-[#E5E7EB]\" />\n\n <ThreadPrimitive.If running={false}>\n <ComposerPrimitive.Send asChild>\n <TooltipIconButton\n tooltip=\"发送\"\n type=\"submit\"\n variant=\"ghost\"\n size=\"icon\"\n className=\"aui-composer-send size-[32px] bg-[#1664FF] rounded-full text-white text-primary hover:bg-primary/10 hover:text-primary p-0\"\n aria-label=\"Send message\"\n >\n {currentThread?.loading ? (\n <LoaderCircle className=\"aui-composer-send-icon size-[16px] animate-spin\" />\n ) : (\n <ArrowUpIcon className=\"aui-composer-send-icon size-[16px] text-white\" />\n )}\n </TooltipIconButton>\n </ComposerPrimitive.Send>\n </ThreadPrimitive.If>\n\n <ThreadPrimitive.If running>\n <ComposerPrimitive.Cancel asChild>\n <TooltipIconButton\n tooltip=\"stop\"\n type=\"submit\"\n variant=\"ghost\"\n size=\"icon\"\n className=\"aui-composer-send size-[32px] bg-[#1664FF] rounded-full text-white text-primary hover:bg-primary/10 hover:text-primary p-0\"\n aria-label=\"Send message\"\n >\n <AbortMessage className=\"aui-composer-send-icon size-[32px] fill-white\" />\n </TooltipIconButton>\n </ComposerPrimitive.Cancel>\n </ThreadPrimitive.If>\n </div>\n );\n};\n\nconst MessageError: FC = () => {\n return (\n <MessagePrimitive.Error>\n <ErrorPrimitive.Root className=\"aui-message-error-root mt-2 rounded-md border border-destructive bg-destructive/10 p-3 text-sm text-destructive dark:bg-destructive/5 dark:text-red-200\">\n <div className=\"font-medium text-destructive text-red-500\">\n 请求出现错误!\n </div>\n <ErrorPrimitive.Message className=\"aui-message-error-message line-clamp-2\" />\n </ErrorPrimitive.Root>\n </MessagePrimitive.Error>\n );\n};\n\nconst ToolGroup: FC<\n PropsWithChildren<{ startIndex: number; endIndex: number }>\n> = ({ startIndex, endIndex, children }) => {\n const toolCount = endIndex - startIndex + 1;\n return (\n <details className=\"my-2\">\n <summary className=\"cursor-pointer font-medium\">\n {toolCount} tool {toolCount === 1 ? 'call' : 'calls'}\n </summary>\n <div className=\"space-y-2 pl-4\">{children}</div>\n </details>\n );\n};\nconst AssistantMessage: FC = () => {\n return (\n <MessagePrimitive.Root asChild>\n <div\n className=\"aui-assistant-message-root relative mx-auto w-full max-w-[var(--thread-max-width)] py-4 duration-150 slide-in-from-bottom-1 last:mb-24\"\n data-role=\"assistant\"\n >\n <div className=\"group\">\n <div className=\"aui-assistant-message-content mx-2 leading-7 break-words text-foreground flex flex-col gap-[12px]\">\n <MessagePrimitive.Parts components={assistantMessageComponents} />\n <MessageError />\n </div>\n\n <div className=\"aui-assistant-message-footer mt-2 ml-2 flex hover:visible opacity-0 group-hover:opacity-100 transition-opacity duration-200\">\n <BranchPicker />\n <AssistantActionBar />\n </div>\n </div>\n </div>\n </MessagePrimitive.Root>\n );\n};\n\nconst AssistantActionBar: FC = () => {\n const [submittedFeedback, setSubmittedFeedback] = useState<\n 'positive' | 'negative' | undefined\n >(undefined);\n const { currentThread } = useThread();\n\n const downloadContent = useAssistantState(({ message }) => {\n if (\n (message.role !== 'assistant' || message.status?.type !== 'running') &&\n message.parts.some(c => c.type === 'text' && c.text.length > 0)\n ) {\n return message.parts\n .filter(c => c.type === 'text')\n .map(c => c.text)\n .join('\\n');\n }\n return '';\n });\n\n return (\n <ActionBarPrimitive.Root\n hideWhenRunning\n autohide=\"never\"\n autohideFloat=\"single-branch\"\n className=\"aui-assistant-action-bar-root col-start-3 row-start-2 -ml-1 flex items-center gap-[8px] text-muted-foreground data-floating:absolute data-floating:rounded-md data-floating:border data-floating:bg-background data-floating:p-1 data-floating:shadow-sm\"\n >\n <div\n className=\"flex items-center justify-center\"\n onClick={() =>\n setSubmittedFeedback(\n submittedFeedback === 'positive' ? undefined : 'positive',\n )\n }\n >\n <TooltipIconButton tooltip=\"Like\">\n <ThumbUpIcon\n className=\"aui-assistant-action-bar-copy-check-icon size-[16px]\"\n fill={submittedFeedback === 'positive' ? '#000' : undefined}\n />\n </TooltipIconButton>\n </div>\n <div\n className=\"flex items-center justify-center\"\n onClick={() =>\n setSubmittedFeedback(\n submittedFeedback === 'negative' ? undefined : 'negative',\n )\n }\n >\n <TooltipIconButton tooltip=\"Dislike\">\n <ThumbDownIcon\n className=\"aui-assistant-action-bar-copy-check-icon size-[16px]\"\n fill={submittedFeedback === 'negative' ? '#000' : undefined}\n />\n </TooltipIconButton>\n </div>\n\n <div className=\"w-[1px] h-[12px] bg-[#DDE2E9]\" />\n <ActionBarPrimitive.Copy asChild>\n <TooltipIconButton tooltip=\"Copy\">\n <MessagePrimitive.If copied>\n <CheckIcon className=\"aui-assistant-action-bar-copy-check-icon size-[16px]\" />\n </MessagePrimitive.If>\n <MessagePrimitive.If copied={false}>\n <CopyIcon className=\"aui-assistant-action-bar-copy-icon size-[16px]\" />\n </MessagePrimitive.If>\n </TooltipIconButton>\n </ActionBarPrimitive.Copy>\n\n <TooltipIconButton\n tooltip=\"download\"\n onClick={() => {\n saveStringToMarkdown(downloadContent, 'message.md');\n }}\n >\n <Download className=\"aui-assistant-action-bar-refresh-icon size-[16px]\" />\n </TooltipIconButton>\n <ActionBarPrimitive.Reload asChild>\n <TooltipIconButton tooltip=\"Refresh\">\n <RefreshIcon className=\"aui-assistant-action-bar-refresh-icon size-[16px]\" />\n </TooltipIconButton>\n </ActionBarPrimitive.Reload>\n </ActionBarPrimitive.Root>\n );\n};\n\n// const UserActionBar: FC = () => {\n// return (\n// <ActionBarPrimitive.Root\n// hideWhenRunning\n// autohide=\"not-last\"\n// className=\"aui-user-action-bar-root flex flex-col items-end\"\n// >\n// <ActionBarPrimitive.Edit asChild>\n// <TooltipIconButton tooltip=\"Edit\" className=\"aui-user-action-edit p-4\">\n// <PencilIcon />\n// </TooltipIconButton>\n// </ActionBarPrimitive.Edit>\n// </ActionBarPrimitive.Root>\n// );\n// };\n\nconst EditComposer: FC = () => {\n return (\n <div className=\"aui-edit-composer-wrapper mx-auto flex w-full max-w-[var(--thread-max-width)] flex-col gap-4 px-2 first:mt-4\">\n <ComposerPrimitive.Root className=\"aui-edit-composer-root ml-auto flex w-full max-w-7/8 flex-col rounded-xl bg-muted\">\n <ComposerPrimitive.Input\n className=\"aui-edit-composer-input flex min-h-[60px] w-full resize-none bg-transparent p-4 text-foreground outline-none\"\n autoFocus\n />\n\n <div className=\"aui-edit-composer-footer mx-3 mb-3 flex items-center justify-center gap-2 self-end\">\n <ComposerPrimitive.Cancel asChild>\n <Button variant=\"ghost\" size=\"sm\" aria-label=\"Cancel edit\">\n Cancel\n </Button>\n </ComposerPrimitive.Cancel>\n <ComposerPrimitive.Send asChild>\n <Button size=\"sm\" aria-label=\"Update message\">\n Update\n </Button>\n </ComposerPrimitive.Send>\n </div>\n </ComposerPrimitive.Root>\n </div>\n );\n};\n\nconst BranchPicker: FC<BranchPickerPrimitive.Root.Props> = ({\n className,\n ...rest\n}) => {\n return (\n <BranchPickerPrimitive.Root\n hideWhenSingleBranch\n className={cn(\n 'aui-branch-picker-root mr-2 -ml-2 inline-flex items-center text-xs text-muted-foreground',\n className,\n )}\n {...rest}\n >\n <BranchPickerPrimitive.Previous asChild>\n <TooltipIconButton tooltip=\"Previous\">\n <ChevronLeftIcon />\n </TooltipIconButton>\n </BranchPickerPrimitive.Previous>\n <span className=\"aui-branch-picker-state font-medium\">\n <BranchPickerPrimitive.Number /> / <BranchPickerPrimitive.Count />\n </span>\n <BranchPickerPrimitive.Next asChild>\n <TooltipIconButton tooltip=\"Next\">\n <ChevronRightIcon />\n </TooltipIconButton>\n </BranchPickerPrimitive.Next>\n </BranchPickerPrimitive.Root>\n );\n};\n\nconst UserMessage: FC = () => {\n return (\n <MessagePrimitive.Root asChild>\n <div\n className=\"aui-user-message-root mx-auto grid w-full max-w-[var(--thread-max-width)] animate-in auto-rows-auto grid-cols-[minmax(72px,1fr)_auto] gap-y-2 px-2 py-4 duration-150 ease-out fade-in slide-in-from-bottom-1 first:mt-3 last:mb-5 [&:where(>*)]:col-start-2 group\"\n data-role=\"user\"\n >\n <UserMessageAttachments />\n\n {/* <Checkbox /> */}\n <div className=\"aui-user-message-content-wrapper relative col-start-2 min-w-0\">\n <div className=\"aui-user-message-content bg-muted px-5 py-2.5 break-words text-foreground bg-[#F3F7FF] rounded-[8px]\">\n <MessagePrimitive.Parts components={userMessageComponents} />\n </div>\n {/* <div className=\"aui-user-action-bar-wrapper invisible group-hover:visible transition-all duration-200\">\n <UserActionBar />\n </div> */}\n </div>\n\n {/* 移除了下方工具栏代码 */}\n\n {/* <BranchPicker className=\"aui-user-branch-picker col-span-full col-start-1 row-start-3 -mr-1 justify-end\" /> */}\n </div>\n </MessagePrimitive.Root>\n );\n};\n\n// 2. 修改UserActionBar组件,添加编辑、分享和更多选项功能\nconst UserActionBar: FC = () => {\n return (\n <ActionBarPrimitive.Root\n hideWhenRunning\n className=\"aui-user-action-bar-root flex items-end gap-2 justify-end bg-background p-1 rounded-md\"\n >\n <ActionBarPrimitive.Edit asChild>\n <TooltipIconButton tooltip=\"编辑\" className=\"aui-user-action-edit\">\n <PencilIcon className=\"h-3.5 w-3.5\" />\n </TooltipIconButton>\n </ActionBarPrimitive.Edit>\n\n <TooltipIconButton tooltip=\"编辑\" className=\"aui-user-action-edit\">\n <Share2Icon className=\"h-3.5 w-3.5\" />\n </TooltipIconButton>\n <TooltipIconButton tooltip=\"编辑\" className=\"aui-user-action-edit\">\n <MoreHorizontalIcon className=\"h-3.5 w-3.5\" />\n </TooltipIconButton>\n </ActionBarPrimitive.Root>\n );\n};\n"],"names":["MarkdownText","ToolFallback","File","Reasoning","ReasoningGroup","welcome","useChatkitRef","useMemo","_jsx","Recommend","useChatkitContext","_jsxs","ThreadHeader","LazyMotion","domAnimation","MotionConfig","ThreadPrimitive.Root","ThreadPrimitive.If","ThreadPrimitive.Viewport","ThreadPrimitive.Messages","ThreadPrimitive.ScrollToBottom","TooltipIconButton","ArrowDownIcon","uuid","cn","ComposerPrimitive.Root","ComposerAttachments","ComposerPrimitive.Input","useChatkitPlugins","ComposerPrimitive.Send","LoaderCircle","ArrowUpIcon","ComposerPrimitive.Cancel","MessagePrimitive.Error","ErrorPrimitive.Root","ErrorPrimitive.Message","MessagePrimitive.Root","MessagePrimitive.Parts","useState","useAssistantState","ActionBarPrimitive.Root","ActionBarPrimitive.Copy","MessagePrimitive.If","CheckIcon","CopyIcon","saveStringToMarkdown","ActionBarPrimitive.Reload","Button","BranchPickerPrimitive.Root","BranchPickerPrimitive.Previous","ChevronLeftIcon","BranchPickerPrimitive.Number","BranchPickerPrimitive.Count","BranchPickerPrimitive.Next","ChevronRightIcon","UserMessageAttachments"],"mappings":"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"}