@next-bricks/ai-portal 0.46.2 → 0.47.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (157) hide show
  1. package/dist/bricks.json +27 -23
  2. package/dist/chunks/114.af61e48a.js +2 -0
  3. package/dist/chunks/{114.86e10cdd.js.map → 114.af61e48a.js.map} +1 -1
  4. package/dist/chunks/{161.a114c103.js → 161.6c50f07c.js} +3 -3
  5. package/dist/chunks/{161.a114c103.js.map → 161.6c50f07c.js.map} +1 -1
  6. package/dist/chunks/1692.fc5b8118.js +2 -0
  7. package/dist/chunks/1692.fc5b8118.js.map +1 -0
  8. package/dist/chunks/1889.b7766f77.js +2 -0
  9. package/dist/chunks/1889.b7766f77.js.map +1 -0
  10. package/dist/chunks/3151.d1fdecfb.js +3 -0
  11. package/dist/chunks/3151.d1fdecfb.js.map +1 -0
  12. package/dist/chunks/{3171.f486ac82.js → 3171.a4a34e43.js} +2 -2
  13. package/dist/chunks/{3171.f486ac82.js.map → 3171.a4a34e43.js.map} +1 -1
  14. package/dist/chunks/{3744.327905d1.js → 3744.8d040aaa.js} +2 -2
  15. package/dist/chunks/{3744.327905d1.js.map → 3744.8d040aaa.js.map} +1 -1
  16. package/dist/chunks/{4228.fb9278c3.js → 4228.ea602510.js} +2 -2
  17. package/dist/chunks/{4228.fb9278c3.js.map → 4228.ea602510.js.map} +1 -1
  18. package/dist/chunks/4306.9e8251b7.js +2 -0
  19. package/dist/chunks/4306.9e8251b7.js.map +1 -0
  20. package/dist/chunks/{7146.c0ae3b12.js → 4765.f5f33140.js} +2 -2
  21. package/dist/chunks/{7146.c0ae3b12.js.map → 4765.f5f33140.js.map} +1 -1
  22. package/dist/chunks/{4837.e8c87fc9.js → 4837.d70e4d5f.js} +2 -2
  23. package/dist/chunks/{9599.ffd509c6.js.map → 4837.d70e4d5f.js.map} +1 -1
  24. package/dist/chunks/495.8b4a1756.js +2 -0
  25. package/dist/chunks/495.8b4a1756.js.map +1 -0
  26. package/dist/chunks/{5552.57a9edba.js → 5552.39ed2457.js} +2 -2
  27. package/dist/chunks/{5552.57a9edba.js.map → 5552.39ed2457.js.map} +1 -1
  28. package/dist/chunks/{6530.dd7ab536.js → 6530.3c295a95.js} +2 -2
  29. package/dist/chunks/6530.3c295a95.js.map +1 -0
  30. package/dist/chunks/{4765.ae81ae59.js → 7146.6cc7fa79.js} +2 -2
  31. package/dist/chunks/{4765.ae81ae59.js.map → 7146.6cc7fa79.js.map} +1 -1
  32. package/dist/chunks/7431.9dd045ca.js +3 -0
  33. package/dist/chunks/{7431.23127b05.js.map → 7431.9dd045ca.js.map} +1 -1
  34. package/dist/chunks/7570.62513e32.js +2 -0
  35. package/dist/chunks/{7570.708bdafd.js.map → 7570.62513e32.js.map} +1 -1
  36. package/dist/chunks/7733.dbb66cbc.js +2 -0
  37. package/dist/chunks/{7733.0615ed85.js.map → 7733.dbb66cbc.js.map} +1 -1
  38. package/dist/chunks/{8882.30a26232.js → 8882.1dd288fd.js} +3 -3
  39. package/dist/chunks/{8882.30a26232.js.map → 8882.1dd288fd.js.map} +1 -1
  40. package/dist/chunks/9328.b23938c7.js +2 -0
  41. package/dist/chunks/9328.b23938c7.js.map +1 -0
  42. package/dist/chunks/{9474.094511f1.js → 9474.59a27cc1.js} +2 -2
  43. package/dist/chunks/9474.59a27cc1.js.map +1 -0
  44. package/dist/chunks/948.85b663ec.js +3 -0
  45. package/dist/chunks/948.85b663ec.js.map +1 -0
  46. package/dist/chunks/{9599.ffd509c6.js → 9599.8bf50b3b.js} +2 -2
  47. package/dist/chunks/{4837.e8c87fc9.js.map → 9599.8bf50b3b.js.map} +1 -1
  48. package/dist/chunks/action-buttons.52180d20.js +2 -0
  49. package/dist/chunks/{action-buttons.e4dbe352.js.map → action-buttons.52180d20.js.map} +1 -1
  50. package/dist/chunks/{activity-timeline.5ea5526f.js → activity-timeline.0c683db9.js} +2 -2
  51. package/dist/chunks/{activity-timeline.5ea5526f.js.map → activity-timeline.0c683db9.js.map} +1 -1
  52. package/dist/chunks/{ai-agents.8bc0db39.js → ai-agents.4b5985d1.js} +3 -3
  53. package/dist/chunks/{ai-agents.8bc0db39.js.map → ai-agents.4b5985d1.js.map} +1 -1
  54. package/dist/chunks/ai-employees.10893372.js +3 -0
  55. package/dist/chunks/{ai-employees.b4cfaf9c.js.map → ai-employees.10893372.js.map} +1 -1
  56. package/dist/chunks/{call-tool.45c76c9a.js → call-tool.1be50464.js} +2 -2
  57. package/dist/chunks/{call-tool.45c76c9a.js.map → call-tool.1be50464.js.map} +1 -1
  58. package/dist/chunks/chat-box.57a9d3ec.js +2 -0
  59. package/dist/chunks/{chat-box.0e8ed3b2.js.map → chat-box.57a9d3ec.js.map} +1 -1
  60. package/dist/chunks/chat-input.6e8da9e5.js +3 -0
  61. package/dist/chunks/{chat-input.2bf76ff7.js.map → chat-input.6e8da9e5.js.map} +1 -1
  62. package/dist/chunks/chat-stream.596a9cf9.js +2 -0
  63. package/dist/chunks/{chat-stream.40fc8941.js.map → chat-stream.596a9cf9.js.map} +1 -1
  64. package/dist/chunks/cruise-canvas.5cd0f774.js +2 -0
  65. package/dist/chunks/{cruise-canvas.f84b9094.js.map → cruise-canvas.5cd0f774.js.map} +1 -1
  66. package/dist/chunks/{dropdown-select.3c0cd96d.js → dropdown-select.3b1915db.js} +2 -2
  67. package/dist/chunks/{dropdown-select.3c0cd96d.js.map → dropdown-select.3b1915db.js.map} +1 -1
  68. package/dist/chunks/{elevo-logo.dc137a3c.js → elevo-logo.93d0f4ab.js} +2 -2
  69. package/dist/chunks/{elevo-logo.dc137a3c.js.map → elevo-logo.93d0f4ab.js.map} +1 -1
  70. package/dist/chunks/{elevo-sidebar.6f74b954.js → elevo-sidebar.877ac231.js} +3 -3
  71. package/dist/chunks/{elevo-sidebar.6f74b954.js.map → elevo-sidebar.877ac231.js.map} +1 -1
  72. package/dist/chunks/goal-card-list.7b4a6342.js +3 -0
  73. package/dist/chunks/{goal-card-list.a9057f02.js.map → goal-card-list.7b4a6342.js.map} +1 -1
  74. package/dist/chunks/{home-container.211ba989.js → home-container.1866b2fa.js} +2 -2
  75. package/dist/chunks/{home-container.211ba989.js.map → home-container.1866b2fa.js.map} +1 -1
  76. package/dist/chunks/{icon-button.1f657055.js → icon-button.1ac30b57.js} +2 -2
  77. package/dist/chunks/{icon-button.1f657055.js.map → icon-button.1ac30b57.js.map} +1 -1
  78. package/dist/chunks/{load-request-store.eb92f754.js → load-request-store.0229141e.js} +2 -2
  79. package/dist/chunks/{load-request-store.eb92f754.js.map → load-request-store.0229141e.js.map} +1 -1
  80. package/dist/chunks/main.83b93022.js +2 -0
  81. package/dist/chunks/{main.0a194943.js.map → main.83b93022.js.map} +1 -1
  82. package/dist/chunks/{mcp-tools.457ff64a.js → mcp-tools.028e5150.js} +2 -2
  83. package/dist/chunks/{mcp-tools.457ff64a.js.map → mcp-tools.028e5150.js.map} +1 -1
  84. package/dist/chunks/{page-container.099db5b9.js → page-container.5da7bbb4.js} +2 -2
  85. package/dist/chunks/{page-container.099db5b9.js.map → page-container.5da7bbb4.js.map} +1 -1
  86. package/dist/chunks/{preview-container.bbde74aa.js → preview-container.6aa7058b.js} +2 -2
  87. package/dist/chunks/{preview-container.bbde74aa.js.map → preview-container.6aa7058b.js.map} +1 -1
  88. package/dist/chunks/project-conversations.5326be22.js +3 -0
  89. package/dist/chunks/{project-conversations.e525349e.js.map → project-conversations.5326be22.js.map} +1 -1
  90. package/dist/chunks/{project-knowledges.e5845df3.js → project-knowledges.7c8e9b0c.js} +3 -3
  91. package/dist/chunks/{project-knowledges.e5845df3.js.map → project-knowledges.7c8e9b0c.js.map} +1 -1
  92. package/dist/chunks/show-case.47b40ba3.js +2 -0
  93. package/dist/chunks/{show-case.e7d8f1a7.js.map → show-case.47b40ba3.js.map} +1 -1
  94. package/dist/chunks/show-cases.5dcf60c0.js +2 -0
  95. package/dist/chunks/{show-cases.b26fafd9.js.map → show-cases.5dcf60c0.js.map} +1 -1
  96. package/dist/chunks/stat-with-mini-chart.c9fde80c.js +2 -0
  97. package/dist/chunks/{stat-with-mini-chart.0c308dd8.js.map → stat-with-mini-chart.c9fde80c.js.map} +1 -1
  98. package/dist/chunks/tab-list.2cbcb36a.js +3 -0
  99. package/dist/chunks/{tab-list.acfe1ff4.js.map → tab-list.2cbcb36a.js.map} +1 -1
  100. package/dist/examples.json +6 -6
  101. package/dist/index.5606be01.js +2 -0
  102. package/dist/index.5606be01.js.map +1 -0
  103. package/dist/manifest.json +215 -215
  104. package/dist/types.json +104 -104
  105. package/dist-types/shared/MarkdownPre.d.ts +5 -0
  106. package/dist-types/shared/bricks.d.ts +2 -0
  107. package/package.json +3 -3
  108. package/dist/chunks/103.8b767f50.js +0 -3
  109. package/dist/chunks/103.8b767f50.js.map +0 -1
  110. package/dist/chunks/114.86e10cdd.js +0 -2
  111. package/dist/chunks/1889.218ea7ea.js +0 -2
  112. package/dist/chunks/1889.218ea7ea.js.map +0 -1
  113. package/dist/chunks/4306.bae21d5d.js +0 -2
  114. package/dist/chunks/4306.bae21d5d.js.map +0 -1
  115. package/dist/chunks/495.ab513dc5.js +0 -2
  116. package/dist/chunks/495.ab513dc5.js.map +0 -1
  117. package/dist/chunks/6530.dd7ab536.js.map +0 -1
  118. package/dist/chunks/7431.23127b05.js +0 -3
  119. package/dist/chunks/7570.708bdafd.js +0 -2
  120. package/dist/chunks/7733.0615ed85.js +0 -2
  121. package/dist/chunks/7954.c1753f33.js +0 -2
  122. package/dist/chunks/7954.c1753f33.js.map +0 -1
  123. package/dist/chunks/9140.8e69fcb4.js +0 -3
  124. package/dist/chunks/9140.8e69fcb4.js.map +0 -1
  125. package/dist/chunks/9328.c93d9ac1.js +0 -2
  126. package/dist/chunks/9328.c93d9ac1.js.map +0 -1
  127. package/dist/chunks/9474.094511f1.js.map +0 -1
  128. package/dist/chunks/action-buttons.e4dbe352.js +0 -2
  129. package/dist/chunks/ai-employees.b4cfaf9c.js +0 -3
  130. package/dist/chunks/chat-box.0e8ed3b2.js +0 -2
  131. package/dist/chunks/chat-input.2bf76ff7.js +0 -3
  132. package/dist/chunks/chat-stream.40fc8941.js +0 -2
  133. package/dist/chunks/cruise-canvas.f84b9094.js +0 -2
  134. package/dist/chunks/goal-card-list.a9057f02.js +0 -3
  135. package/dist/chunks/main.0a194943.js +0 -2
  136. package/dist/chunks/project-conversations.e525349e.js +0 -3
  137. package/dist/chunks/show-case.e7d8f1a7.js +0 -2
  138. package/dist/chunks/show-cases.b26fafd9.js +0 -2
  139. package/dist/chunks/stat-with-mini-chart.0c308dd8.js +0 -2
  140. package/dist/chunks/tab-list.acfe1ff4.js +0 -3
  141. package/dist/index.0ebd0c2a.js +0 -2
  142. package/dist/index.0ebd0c2a.js.map +0 -1
  143. package/dist-types/cruise-canvas/CodeBlock/CodeBlock.d.ts +0 -5
  144. package/dist-types/shared/CodeDisplay.d.ts +0 -12
  145. /package/dist/chunks/{161.a114c103.js.LICENSE.txt → 161.6c50f07c.js.LICENSE.txt} +0 -0
  146. /package/dist/chunks/{103.8b767f50.js.LICENSE.txt → 3151.d1fdecfb.js.LICENSE.txt} +0 -0
  147. /package/dist/chunks/{7431.23127b05.js.LICENSE.txt → 7431.9dd045ca.js.LICENSE.txt} +0 -0
  148. /package/dist/chunks/{8882.30a26232.js.LICENSE.txt → 8882.1dd288fd.js.LICENSE.txt} +0 -0
  149. /package/dist/chunks/{9140.8e69fcb4.js.LICENSE.txt → 948.85b663ec.js.LICENSE.txt} +0 -0
  150. /package/dist/chunks/{ai-agents.8bc0db39.js.LICENSE.txt → ai-agents.4b5985d1.js.LICENSE.txt} +0 -0
  151. /package/dist/chunks/{ai-employees.b4cfaf9c.js.LICENSE.txt → ai-employees.10893372.js.LICENSE.txt} +0 -0
  152. /package/dist/chunks/{chat-input.2bf76ff7.js.LICENSE.txt → chat-input.6e8da9e5.js.LICENSE.txt} +0 -0
  153. /package/dist/chunks/{elevo-sidebar.6f74b954.js.LICENSE.txt → elevo-sidebar.877ac231.js.LICENSE.txt} +0 -0
  154. /package/dist/chunks/{goal-card-list.a9057f02.js.LICENSE.txt → goal-card-list.7b4a6342.js.LICENSE.txt} +0 -0
  155. /package/dist/chunks/{project-conversations.e525349e.js.LICENSE.txt → project-conversations.5326be22.js.LICENSE.txt} +0 -0
  156. /package/dist/chunks/{project-knowledges.e5845df3.js.LICENSE.txt → project-knowledges.7c8e9b0c.js.LICENSE.txt} +0 -0
  157. /package/dist/chunks/{tab-list.acfe1ff4.js.LICENSE.txt → tab-list.2cbcb36a.js.LICENSE.txt} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"chunks/4306.bae21d5d.js","mappings":"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","sources":["webpack:///../../node_modules/@easyops-cn/brick-next-pipes/dist/esm/pipes/add.js","webpack:///../../node_modules/@easyops-cn/brick-next-pipes/dist/esm/pipes/boolean.js","webpack:///../../node_modules/@easyops-cn/brick-next-pipes/dist/esm/pipes/cmdbInstanceShowName.js","webpack:///../../node_modules/@easyops-cn/brick-next-pipes/dist/esm/pipes/countBy.js","webpack:///../../node_modules/@easyops-cn/brick-next-pipes/dist/esm/pipes/datetime.js","webpack:///../../node_modules/@easyops-cn/brick-next-pipes/dist/esm/pipes/deltaTime.js","webpack:///../../node_modules/@easyops-cn/brick-next-pipes/dist/esm/pipes/divide.js","webpack:///../../node_modules/@easyops-cn/brick-next-pipes/dist/esm/pipes/equal.js","webpack:///../../node_modules/@easyops-cn/brick-next-pipes/dist/esm/pipes/find.js","webpack:///../../node_modules/@easyops-cn/brick-next-pipes/dist/esm/pipes/findIndex.js","webpack:///../../node_modules/@easyops-cn/brick-next-pipes/dist/esm/pipes/findLast.js","webpack:///../../node_modules/@easyops-cn/brick-next-pipes/dist/esm/pipes/findLastIndex.js","webpack:///../../node_modules/@easyops-cn/brick-next-pipes/dist/esm/pipes/get.js","webpack:///../../node_modules/@easyops-cn/brick-next-pipes/dist/esm/pipes/graphTree.js","webpack:///../../node_modules/@easyops-cn/brick-next-pipes/dist/esm/pipes/groupBy.js","webpack:///../../node_modules/tslib/tslib.es6.mjs","webpack:///../../node_modules/@easyops-cn/brick-next-pipes/dist/esm/utils/unitFormat/constants/interface.js","webpack:///../../node_modules/@easyops-cn/brick-next-pipes/dist/esm/utils/unitFormat/constants/percent.js","webpack:///../../node_modules/@easyops-cn/brick-next-pipes/dist/esm/pipes/groupByToIndex.js","webpack:///../../node_modules/@easyops-cn/brick-next-pipes/dist/esm/pipes/includes.js","webpack:///../../node_modules/@easyops-cn/brick-next-pipes/dist/esm/pipes/join.js","webpack:///../../node_modules/@easyops-cn/brick-next-pipes/dist/esm/pipes/json.js","webpack:///../../node_modules/@easyops-cn/brick-next-pipes/dist/esm/pipes/jsonStringify.js","webpack:///../../node_modules/@easyops-cn/brick-next-pipes/dist/esm/pipes/keyBy.js","webpack:///../../node_modules/@easyops-cn/brick-next-pipes/dist/esm/pipes/map.js","webpack:///../../node_modules/@easyops-cn/brick-next-pipes/dist/esm/pipes/mapToArray.js","webpack:///../../node_modules/@easyops-cn/brick-next-pipes/dist/esm/pipes/mergeArrayByKey.js","webpack:///../../node_modules/@easyops-cn/brick-next-pipes/dist/esm/pipes/multiply.js","webpack:///../../node_modules/@easyops-cn/brick-next-pipes/dist/esm/pipes/not.js","webpack:///../../node_modules/@easyops-cn/brick-next-pipes/dist/esm/pipes/nullish.js","webpack:///../../node_modules/@easyops-cn/brick-next-pipes/dist/esm/pipes/number.js","webpack:///../../node_modules/@easyops-cn/brick-next-pipes/dist/esm/pipes/parseTimeRange.js","webpack:///../../node_modules/@easyops-cn/brick-next-pipes/dist/esm/pipes/randomString.js","webpack:///../../node_modules/@easyops-cn/brick-next-pipes/dist/esm/pipes/reverse.js","webpack:///../../node_modules/@easyops-cn/brick-next-pipes/dist/esm/pipes/slice.js","webpack:///../../node_modules/@easyops-cn/brick-next-pipes/dist/esm/pipes/sort.js","webpack:///../../node_modules/@easyops-cn/brick-next-pipes/dist/esm/pipes/split.js","webpack:///../../node_modules/@easyops-cn/brick-next-pipes/dist/esm/pipes/string.js","webpack:///../../node_modules/@easyops-cn/brick-next-pipes/dist/esm/pipes/substr.js","webpack:///../../node_modules/@easyops-cn/brick-next-pipes/dist/esm/pipes/substring.js","webpack:///../../node_modules/@easyops-cn/brick-next-pipes/dist/esm/pipes/subtract.js","webpack:///../../node_modules/@easyops-cn/brick-next-pipes/dist/esm/pipes/ternary.js","webpack:///../../node_modules/@easyops-cn/brick-next-pipes/dist/esm/pipes/uniq.js","webpack:///../../node_modules/@easyops-cn/brick-next-pipes/dist/esm/utils/unitFormat/constants/bytes.js","webpack:///../../node_modules/@easyops-cn/brick-next-pipes/dist/esm/utils/unitFormat/constants/byteRates.js","webpack:///../../node_modules/@easyops-cn/brick-next-pipes/dist/esm/utils/unitFormat/constants/times.js","webpack:///../../node_modules/@easyops-cn/brick-next-pipes/dist/esm/utils/unitFormat/constants/unitMap.js","webpack:///../../node_modules/@easyops-cn/brick-next-pipes/dist/esm/utils/unitFormat/constants/numbers.js","webpack:///../../node_modules/@easyops-cn/brick-next-pipes/dist/esm/utils/unitFormat/func/valueFormatter.js","webpack:///../../node_modules/@easyops-cn/brick-next-pipes/dist/esm/utils/unitFormat/func/util.js","webpack:///../../node_modules/@easyops-cn/brick-next-pipes/dist/esm/utils/unitFormat/func/time.js","webpack:///../../node_modules/@easyops-cn/brick-next-pipes/dist/esm/utils/unitFormat/func/data.js","webpack:///../../node_modules/@easyops-cn/brick-next-pipes/dist/esm/utils/unitFormat/func/dataRate.js","webpack:///../../node_modules/@easyops-cn/brick-next-pipes/dist/esm/utils/unitFormat/func/number.js","webpack:///../../node_modules/@easyops-cn/brick-next-pipes/dist/esm/utils/unitFormat/func/percent.js","webpack:///../../node_modules/@easyops-cn/brick-next-pipes/dist/esm/pipes/unitFormat.js","webpack:///../../node_modules/@easyops-cn/brick-next-pipes/dist/esm/pipes/yaml.js","webpack:///../../node_modules/@easyops-cn/brick-next-pipes/dist/esm/pipes/yamlStringify.js","webpack:///../../node_modules/@easyops-cn/brick-next-pipes/dist/esm/pipes/round.js","webpack:///../../node_modules/@easyops-cn/brick-next-pipes/dist/esm/pipes/atobUnicode.js","webpack:///../../node_modules/@easyops-cn/brick-next-pipes/dist/esm/pipes/btoaUnicode.js"],"sourcesContent":["/**\n * 数学加法或字符串拼接。\n *\n * @category Mathematics\n *\n * @remarks\n *\n * 详见 {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Addition}。\n *\n * @example\n *\n * 数学加法:\n *\n * ```ts\n * // Number + Number -> addition\n * 1 + 2 // 3\n *\n * // Boolean + Number -> addition\n * true + 1 // 2\n *\n * // Boolean + Boolean -> addition\n * false + false // 0\n * ```\n *\n * 字符串拼接:\n *\n * ```ts\n * // String + String -> concatenation\n * 'foo' + 'bar' // \"foobar\"\n *\n * // Number + String -> concatenation\n * 5 + 'foo' // \"5foo\"\n *\n * // String + Boolean -> concatenation\n * 'foo' + false // \"foofalse\"\n * ```\n *\n * @public\n *\n * @param value - 值。\n * @param operand - 操作数。\n *\n * @returns 如果其中一个参数为字符串,返回字符串,否则返回数字。\n */\nexport function add(value, operand) {\n return value + operand;\n}\n//# sourceMappingURL=add.js.map","/**\n * 将一个值转换为布尔值(也可使用别名 `bool`)。\n *\n * @category Type conversion\n *\n * @public\n *\n * @remarks 该转换会把字符串的 `\"0\"` 也看作 `false`。\n *\n * @param value - 需要转换的值。\n *\n * @returns 转换后的布尔值。\n */\nexport function boolean(value) {\n // Consider `\"0\"` as false.\n return value !== \"0\" && Boolean(value);\n}\n/** @internal */\nexport var bool = boolean;\n//# sourceMappingURL=boolean.js.map","/**\n * 获得一个 CMDB 实例的展示名。\n *\n * @category Others\n *\n * @public\n *\n * @example\n *\n * ```ts\n * cmdbInstancesShowName(\"Foo\")\n * // Returns \"Foo\".\n *\n * cmdbInstancesShowName([\"Foo\", \"Bar\"])\n * // Returns \"Foo(Bar)\".\n *\n * cmdbInstancesShowName([\"Foo\", \"Bar\", \"Baz\"])\n * // Returns \"Foo(Bar, Baz)\".\n *\n * cmdbInstancesShowName([\"Foo\"])\n * // Returns \"Foo\".\n *\n * cmdbInstancesShowName([undefined, \"Bar\"])\n * // Returns \"Bar\".\n * ```\n *\n * @param value - 用于展示的(一个或多个)属性值。\n *\n * @returns 实例的展示名。\n */\nexport function cmdbInstanceShowName(value) {\n if (Array.isArray(value)) {\n var firstKey = value[0] || \"\"; // 第一个show key为undefined时 且 第二个也为undefined 显示 \"-\"\n var resKey = value.slice(1, value.length).join(\",\");\n var res = resKey\n ? \"\" + firstKey + (firstKey ? \"(\" + resKey + \")\" : \"\" + resKey)\n : firstKey || \"-\"; // 第一个show key为undefined时 且 第二个为有值 显示 \"第二个值不需要括号\"\n return res;\n }\n else {\n return value;\n }\n}\n//# sourceMappingURL=cmdbInstanceShowName.js.map","import { countBy as _countBy } from \"lodash\";\n/**\n * 统计一个集合中每个元素的指定属性(或迭代器执行结果)的值出现的次数。\n *\n * @category Collection\n *\n * @remarks 透传调用 {@link https://lodash.com/docs/#countBy | _.countBy}。\n *\n * @example\n *\n * ```ts\n * countBy([6.1, 4.2, 6.3], Math.floor);\n * // => { '4': 1, '6': 2 }\n *\n * countBy(['one', 'two', 'three'], 'length');\n * // => { '3': 2, '5': 1 }\n * ```\n *\n * @public\n *\n * @param collection - 数据集合。\n * @param iteratee - 属性名(或迭代器)。\n *\n * @returns 统计结果。\n */\nexport function countBy(collection, iteratee) {\n return _countBy(collection, iteratee);\n}\n//# sourceMappingURL=countBy.js.map","import moment from \"moment\";\n/**\n * 日期时间格式化(使用当地时区)。\n *\n * @category Datetime\n *\n * @public\n *\n * @example\n *\n * ```ts\n * datetime(1582877669000, \"YYYY-MM-DD\")\n * // Returns \"2020-02-28\"\n *\n * datetime(\"2020-02-28T17:14\", \"YYYY-MM-DD\")\n * // Returns \"2020-02-28\"\n * ```\n *\n * @param value - 日期时间字符串或 Unix 时间戳({@link https://momentjs.com/docs/#/parsing/string/})。\n * @param format - 输出格式。\n *\n * @returns 格式化后的日期时间。\n */\nexport function datetime(value, format) {\n return moment(value).format(format);\n}\n//# sourceMappingURL=datetime.js.map","import moment from \"moment\";\nfunction isPeriod(time) {\n return typeof time === \"object\" && time !== null;\n}\nfunction getMoment(input, format) {\n return typeof input === \"number\" ? moment(input) : moment(input, format);\n}\n/**\n * 将一个时间段转换为人类可读的文本。\n *\n * @category Datetime\n *\n * @remarks\n *\n * 给定一个时间段(`startTime` 和 `endTime`),将它转换为人类可读的文本。\n *\n * 当输入时间为单个值时,则计算它与当前时间的间隔时间段。\n *\n * @public\n *\n * @example\n *\n * ```ts\n * // Assuming now is \"2019-05-10 17:51:00\".\n *\n * deltaTime(\"2019-05-10 17:21:00\")\n * // Returns \"30 minutes ago\"\n *\n * deltaTime(\"2019-05-10 18:51:00\")\n * // Returns \"in an hour\"\n *\n * deltaTime({ startTime: \"2019-05-10\", endTime: \"2019-06-10\" }, false)\n * // Returns \"a month\"\n *\n * deltaTime({ startTime: \"2019-05-10 17:48:00\" }, false)\n * // Returns \"3 minutes\"\n * ```\n *\n * @param time - 指定时间(字符串或 UNIX 时间戳)或时间段。\n * @param withSuffix - 是否添加后缀(默认为 `true`)。\n * @param format - 输入的时间格式(使用时间戳时可忽略,默认为 `\"YYYY-MM-DD HH:mm:ss\"`)。\n *\n * @returns 人类可读的时间段显示。\n */\nexport function deltaTime(time, withSuffix, format) {\n if (withSuffix === void 0) { withSuffix = true; }\n if (format === void 0) { format = \"YYYY-MM-DD HH:mm:ss\"; }\n if (!time)\n return \"\";\n if (isPeriod(time) && time.startTime && time.endTime) {\n var startTime = getMoment(time.startTime, format);\n var endTime = getMoment(time.endTime, format);\n return moment.duration(endTime.diff(startTime)).humanize(withSuffix);\n }\n var other = isPeriod(time) ? time.startTime || time.endTime : time;\n var then = getMoment(other, format);\n return moment.duration(then.diff(moment())).humanize(withSuffix);\n}\n//# sourceMappingURL=deltaTime.js.map","/**\n * 数学除法。\n *\n * @category Mathematics\n *\n * @public\n *\n * @param value - 被除数。\n * @param operand - 除数。\n *\n * @returns 商。\n */\nexport function divide(value, operand) {\n return value / operand;\n}\n//# sourceMappingURL=divide.js.map","import { isEqual } from \"lodash\";\n/**\n * 比较两个值是否相同(深度比较)。\n *\n * @category Logic\n *\n * @remarks\n *\n * 透传调用 {@link https://lodash.com/docs/#isEqual | _.isEqual}。\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are **not** supported.\n *\n * @public\n *\n * @param value - 被比较的值。\n * @param other - 比较值。\n *\n * @returns 如果两者相同返回 `true`,否则返回 `false`。\n *\n * @example\n *\n * ```ts\n * let object = { 'user': 'fred' };\n * let other = { 'user': 'fred' };\n *\n * equal(object, other);\n * // => true\n *\n * object === other;\n * // => false\n * ```\n */\nexport function equal(value, other) {\n return isEqual(value, other);\n}\n//# sourceMappingURL=equal.js.map","import { find as _find } from \"lodash\";\n/**\n * 从一个数据集合中找到第一个匹配的元素。\n *\n * @category Collection\n *\n * @remarks 透传调用 {@link https://lodash.com/docs/#find | _.find}。\n *\n * @public\n *\n * @param collection - 要搜索的集合。\n * @param predicate - 需要匹配的条件。\n * @param fromIndex - 从哪个位置开始搜索。\n *\n * @returns 返回找到的元素,没有找到时返回 `undefined`。\n */\nexport function find(collection, predict, fromIndex) {\n return _find(collection, predict, fromIndex);\n}\n//# sourceMappingURL=find.js.map","import { findIndex as _findIndex } from \"lodash\";\n/**\n * 从一个数组中找到第一个匹配的元素的位置。\n *\n * @category Array\n *\n * @remarks 透传调用 {@link https://lodash.com/docs/#findIndex | _.findIndex}。\n *\n * @public\n *\n * @param array - 要搜索的数组。\n * @param predicate - 需要匹配的条件。\n * @param fromIndex - 从哪个位置开始搜索。\n *\n * @returns 返回找到的元素的位置,没有找到时返回 `-1`。\n */\nexport function findIndex(array, predict, fromIndex) {\n return _findIndex(array, predict, fromIndex);\n}\n//# sourceMappingURL=findIndex.js.map","import { findLast as _findLast } from \"lodash\";\n/**\n * 从一个数据集合中从后向前找到第一个匹配的元素。\n *\n * @category Collection\n *\n * @remarks 透传调用 {@link https://lodash.com/docs/#findLast | _.findLast}。\n *\n * @public\n *\n * @param collection - 要搜索的集合。\n * @param predicate - 需要匹配的条件。\n * @param fromIndex - 从哪个位置开始搜索。\n *\n * @returns 返回找到的元素,没有找到时返回 `undefined`。\n */\nexport function findLast(collection, predict, fromIndex) {\n return _findLast(collection, predict, fromIndex);\n}\n//# sourceMappingURL=findLast.js.map","import { findLastIndex as _findLastIndex } from \"lodash\";\n/**\n * 从一个数组中从后向前找到第一个匹配的元素的位置。\n *\n * @category Array\n *\n * @remarks 透传调用 {@link https://lodash.com/docs/#findLastIndex | _.findLastIndex}。\n *\n * @public\n *\n * @param array - 要搜索的数组。\n * @param predicate - 需要匹配的条件。\n * @param fromIndex - 从哪个位置开始搜索。\n *\n * @returns 返回找到的元素的位置,没有找到时返回 `-1`。s\n */\nexport function findLastIndex(array, predict, fromIndex) {\n return _findLastIndex(array, predict, fromIndex);\n}\n//# sourceMappingURL=findLastIndex.js.map","import { get as _get } from \"lodash\";\n/**\n * 获取一个对象指定属性(路径)的值。\n *\n * @remarks 透传调用 {@link https://lodash.com/docs/#get | _.get}。\n *\n * @category Object\n *\n * @public\n *\n * @param object - 对象。\n * @param path - 属性(路径)。\n * @param defaultValue - 当获取的值为 `undefined` 时返回的默认值。\n *\n * @returns 结果。\n */\nexport function get(object, path, defaultValue) {\n return _get(object, path, defaultValue);\n}\n//# sourceMappingURL=get.js.map","import { find, get, groupBy, uniq, map, forEach, isEmpty, orderBy, } from \"lodash\";\n/**\n * 将{@link http://192.168.100.162/next/developers/providers/cmdb/instance-graph-api-traverse-graph | 图遍历查询接口}返回的图数据转换为树结构数据。\n *\n * @category Others\n *\n * @public\n *\n * @example\n *\n * ```ts\n * const data: GraphData = {\n * topic_vertices: [\n * {\n * instanceId: \"1\",\n * name: \"A\",\n * },\n * {\n * instanceId: \"2\",\n * name: \"B\",\n * }\n * ],\n * vertices: [\n * {\n * instanceId: \"3\",\n * name: \"C\",\n * },\n * {\n * instanceId: \"4\",\n * name: \"D\",\n * }\n * ],\n * edges: [\n * {\n * out: \"1\",\n * in: \"3\",\n * out_name: \"children\",\n * },\n * {\n * out: \"2\",\n * in: \"4\",\n * out_name: \"children\",\n * }\n * ]\n * }\n * graphTree(data)\n * // Returns:\n * // [\n * // {instanceId: \"1\", name: \"A\", children: [{instanceId: \"3\", name: \"C\"}]},\n * // {instanceId: \"2\", name: \"B\", children: [{instanceId: \"4\", name: \"D\"}]}\n * // ]\n * ```\n *\n * @param value - 图数据。\n * @param query - 图查询条件及排序等。\n *\n * @returns 树结构数据。\n */\nexport function graphTree(value, query) {\n var _a, _b;\n if (!value) {\n return [];\n }\n var sort = query === null || query === void 0 ? void 0 : query.sort;\n var groupByEdgeOut = groupBy(value.edges, \"out\");\n var findChildren = function (node) {\n var relationEdges = groupByEdgeOut[node.instanceId];\n forEach(relationEdges, function (edge) {\n var key = edge.out_name;\n var foundInstance = find(value.vertices, [\"instanceId\", edge.in]);\n if (foundInstance) {\n var resultInstance = findChildren(foundInstance);\n if (node[key]) {\n node[key].push(resultInstance);\n }\n else {\n node[key] = [resultInstance];\n }\n }\n });\n if (sort) {\n var keyList = uniq(map(relationEdges, \"out_name\"));\n forEach(keyList, function (key) {\n if (!isEmpty(node[key])) {\n node[key] = orderBy(node[key], function (item) { var _a; return (_a = get(item, sort.key)) !== null && _a !== void 0 ? _a : -Infinity; }, sort.order === -1 ? \"desc\" : \"asc\");\n }\n });\n }\n return node;\n };\n var result = (_b = (_a = value.topic_vertices) === null || _a === void 0 ? void 0 : _a.map(function (root) {\n return findChildren(root);\n })) !== null && _b !== void 0 ? _b : [];\n return result;\n}\n//# sourceMappingURL=graphTree.js.map","import { groupBy as _groupBy } from \"lodash\";\n/**\n * 把一个集合按指定属性(或迭代器执行结果)的值进行分组。\n *\n * @category Collection\n *\n * @remarks 透传调用 {@link https://lodash.com/docs/#groupBy | _.groupBy}。\n *\n * @public\n *\n * @example\n *\n * ```ts\n * groupBy([6.1, 4.2, 6.3], Math.floor);\n * // => { '4': [4.2], '6': [6.1, 6.3] }\n *\n * groupBy(['one', 'two', 'three'], 'length');\n * // => { '3': ['one', 'two'], '5': ['three'] }\n * ```\n *\n * @param collection - 数据结合。\n * @param iteratee - 属性名(或迭代器)。\n *\n * @returns 分组结果。\n */\nexport function groupBy(collection, iteratee) {\n return _groupBy(collection, iteratee);\n}\n//# sourceMappingURL=groupBy.js.map","/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n function next() {\n while (env.stack.length) {\n var rec = env.stack.pop();\n try {\n var result = rec.dispose && rec.dispose.call(rec.value);\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n catch (e) {\n fail(e);\n }\n }\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n};\n","export var UnitType;\n(function (UnitType) {\n UnitType[\"Time\"] = \"time\";\n UnitType[\"Byte\"] = \"byte\";\n UnitType[\"Bibyte\"] = \"bibyte\";\n UnitType[\"BitRate\"] = \"bitRate\";\n UnitType[\"ByteRate\"] = \"byteRate\";\n})(UnitType || (UnitType = {}));\n//# sourceMappingURL=interface.js.map","export var PercentUnitId;\n(function (PercentUnitId) {\n PercentUnitId[\"Percent1\"] = \"percent(1)\";\n PercentUnitId[\"Percent100\"] = \"percent(100)\";\n})(PercentUnitId || (PercentUnitId = {}));\nexport var percentFormatUnitIds = [\n PercentUnitId.Percent1,\n PercentUnitId.Percent100,\n];\n//# sourceMappingURL=percent.js.map","import { __assign } from \"tslib\";\nimport { isNil, groupBy, keys, set, indexOf, get } from \"lodash\";\n/**\n * 返回一个数组的拷贝,并为每个元素新增一个分组索引字段。\n *\n * @category Others\n *\n * @public\n *\n * @remarks\n *\n * 新增的分组索引按分组属性升序排列。\n *\n * @example\n *\n * ```ts\n * const data = [\n * { a: \"3\", b: \"1\" },\n * { a: \"1\", b: \"2\" },\n * { a: \"1\", b: \"3\" },\n * ]\n * groupByIndex(data, \"a\", \"groupIndex\")\n * // Returns `[\n * // { a: \"3\", b: \"1\", groupIndex: 1 },\n * // { a: \"1\", b: \"2\", groupIndex: 0 },\n * // { a: \"1\", b: \"3\", groupIndex: 0 },\n * // ]`\n * ```\n *\n * @param value - 对象数组。\n * @param groupField - 要分组的属性名。\n * @param targetField - 要新增的分组索引属性名。\n *\n * @returns 增加了分组索引属性的新数组。\n */\nexport function groupByToIndex(value, groupField, targetField) {\n var result = value;\n if (!isNil(groupField) && !isNil(targetField)) {\n var groupByValue = groupBy(value, groupField);\n var allKeys_1 = keys(groupByValue).sort();\n result = result.map(function (v) {\n var item = __assign({}, v);\n set(item, targetField, indexOf(allKeys_1, get(v, groupField)));\n return item;\n });\n }\n return result;\n}\n//# sourceMappingURL=groupByToIndex.js.map","/**\n * 判断一个数组是否包含指定元素,或一个字符串是否包含指定子串。\n *\n * @category Array\n *\n * @public\n *\n * @param value - 一个数组或字符串。\n * @param part - 要搜索的数组元素或字符串子串。\n *\n * @returns 如果包含返回 `true`,否则返回 `false`。\n */\nexport function includes(value, part) {\n return value.includes(part);\n}\n//# sourceMappingURL=includes.js.map","/**\n * 将一个数组的所有元素拼接成字符串。\n *\n * @category Array\n *\n * @remarks 当输入值不是数组时返回空字符串。\n *\n * @public\n *\n * @param value - 数组。\n * @param separator - 分隔符号(默认为 `\",\"`)。\n *\n * @returns 拼接后的字符串。\n */\nexport function join(value, separator) {\n if (separator === void 0) { separator = \",\"; }\n return Array.isArray(value) ? value.join(separator) : \"\";\n}\n//# sourceMappingURL=join.js.map","import { isNil } from \"lodash\";\n/**\n * 解析一个 JSON 格式的字符串(反序列化)。\n *\n * @category Serialization\n *\n * @public\n *\n * @param value - JSON 格式的字符串。\n *\n * @returns 返回解析后的值;如果解析失败返回 `undefined`;如果输入为 `null` 或 `undefined` 返回原输入。\n */\nexport function json(value) {\n if (isNil(value))\n return value;\n try {\n return JSON.parse(value);\n }\n catch (e) {\n // eslint-disable-next-line no-console\n console.error(e);\n return;\n }\n}\n//# sourceMappingURL=json.js.map","/**\n * 将一个值转换为 JSON 格式的字符串(序列化)。\n *\n * @category Serialization\n *\n * @public\n *\n * @param value - 输入值。\n * @param indent - 空格缩进数量(默认为 `2`)。\n *\n * @returns 序列化后的字符串;如果序列化失败(例如包含循环引用)返回 `undefined`。\n */\nexport function jsonStringify(value, indent) {\n if (indent === void 0) { indent = 2; }\n try {\n return JSON.stringify(value, null, indent);\n }\n catch (e) {\n // eslint-disable-next-line no-console\n console.error(e);\n return;\n }\n}\n//# sourceMappingURL=jsonStringify.js.map","import { keyBy as _keyBy } from \"lodash\";\n/**\n * 将指定属性(或迭代器执行结果)作为键名收集一个集合中的元素。\n *\n * @category Collection\n *\n * @remarks 透传调用 {@link https://lodash.com/docs/#keyBy | _.keyBy}。\n *\n * @public\n *\n * @example\n *\n * ```ts\n * const array = [\n * { 'dir': 'left', 'code': 97 },\n * { 'dir': 'right', 'code': 100 }\n * ];\n *\n * keyBy(array, function(o) {\n * return String.fromCharCode(o.code);\n * });\n * // => { 'a': { 'dir': 'left', 'code': 97 }, 'd': { 'dir': 'right', 'code': 100 } }\n *\n * keyBy(array, 'dir');\n * // => { 'left': { 'dir': 'left', 'code': 97 }, 'right': { 'dir': 'right', 'code': 100 } }\n * ```\n *\n * @param collection - 数据集合。\n * @param iteratee - 属性名(或迭代器)。\n *\n * @returns 收集结果。\n */\nexport function keyBy(collection, iteratee) {\n return _keyBy(collection, iteratee);\n}\n//# sourceMappingURL=keyBy.js.map","import { get } from \"lodash\";\n/**\n * 通过填充调用数组中各项的指定属性来创建一个新数组。\n *\n * @category Array\n *\n * @public\n *\n * @example\n *\n * ```ts\n * map([{ count: 123 }], \"count\")\n * // Returns `[ 123 ]`\n *\n * map([{ item: { name: \"xyz\" } }, {}], \"item.name\")\n * // Returns [\"xyz\", undefined]\n * ```\n *\n * @param value - 数组。\n * @param key - 属性名(路径)。\n *\n * @returns 返回新数组,当输入不是数组时返回空数组。\n */\nexport function map(value, key) {\n return Array.isArray(value) ? value.map(function (item) { return get(item, key); }) : [];\n}\n//# sourceMappingURL=map.js.map","/**\n * 将一个对象根据键值对映射转换为数组。\n *\n * @category Others\n *\n * @remarks\n *\n * 该函数首先将输入的对象 `data` 拆分成键值对数组,再将每个键值对\n * `[key, value]` 转换为 `{ [keyField]: key, [valueField]: value }`,\n * 最后返回这个新数组。\n *\n * @public\n *\n * @example\n *\n * ```ts\n * const data = { name: \"Li Lei\", age: 16, gender: \"male\" }\n * mapToArray(data, \"label\", \"value\")\n * // Returns `[\n * // {label: \"name\", \"value\": \"Li Lei\"},\n * // {label: \"age\", \"value\": 16},\n * // {label: \"gender\", \"value\": \"male\"},\n * // ]`\n * ```\n *\n * @param data - 对象。\n * @param keyField - 键名字段。\n * @param valueField - 键值字段。\n *\n * @returns 键值对映射后的数组。\n */\nexport function mapToArray(data, keyField, valueField) {\n if (typeof data !== \"object\" || !data)\n return [];\n return Object.entries(data).map(function (_a) {\n var _b;\n var k = _a[0], v = _a[1];\n return (_b = {},\n _b[keyField] = k,\n _b[valueField] = v,\n _b);\n });\n}\n//# sourceMappingURL=mapToArray.js.map","import { keyBy, mergeWith, isArray } from \"lodash\";\n/**\n * 将多个对象数组根据键合并为一个数组, 对于数组类型的属性不会 deep merge, 只会 concat。\n *\n * @category Array\n *\n * @public\n *\n * @example\n *\n * ```ts\n * const dataList = [\n * [{id:1,a:\"sai\"},{id:2,a: \"King\"}],\n * [{id:1,b:23},{id:3,b:24}],\n * ]\n * mergeArrayByKey(dataList, \"id\")\n * // Returns `[\n * // {id:1,a:\"sai\",b:23},\n * // {id:2,a:\"King\"},\n * // {id:3,b:24},\n * // ]`\n *\n * const dataList2 = [\n * [{\"id\":1, 'data': [{ 'user': 'barney' }, { 'user': 'fred' }] }],\n * [{\"id\":1, 'data': [{ 'age': 36 }, { 'age': 40 }]}]\n * ]\n * mergeArrayByKey(dataList, \"id\")\n * // Returns `[\n * // {id: 1, data: [{ 'user': 'barney' }, { 'user': 'fred' }, { 'age': 36 }, { 'age': 40 }] },\n * // ]`\n * ```\n *\n * @param dataList - 所有需要合并的对象数组\n * @param key - 属性名(或迭代器)。\n * @returns 根据 key 合并后的数组。\n */\nexport function mergeArrayByKey(dataList, key) {\n return dataList.reduce(function (acc, cur) {\n return Object.values(mergeWith(keyBy(acc, key), keyBy(cur, key), customizer));\n }, []);\n}\n// A specialized version of merge which simply concatenates arrays instead of deep merging them.\nfunction customizer(objValue, srcValue) {\n if (isArray(objValue)) {\n return objValue.concat(srcValue);\n }\n}\n//# sourceMappingURL=mergeArrayByKey.js.map","/**\n * 数学乘法。\n *\n * @category Mathematics\n *\n * @public\n *\n * @param value - 被乘数。\n * @param operand - 乘数。\n *\n * @returns 积。\n */\nexport function multiply(value, operand) {\n return value * operand;\n}\n//# sourceMappingURL=multiply.js.map","/**\n * 布尔取反。\n *\n * @category Logic\n *\n * @public\n *\n * @param value - 输入值\n *\n * @returns 取反后的布尔值。\n */\nexport function not(value) {\n return !value;\n}\n//# sourceMappingURL=not.js.map","/**\n * 空值合并(`??`)。\n *\n * @category Logic\n *\n * @public\n *\n * @param value - 输入值。\n * @param defaultValue - 默认值。\n *\n * @returns 当输入值是 `null` 或 `undefined` 时返回默认值,否则返回原输入值。\n */\nexport function nullish(value, defaultValue) {\n return value !== null && value !== void 0 ? value : defaultValue;\n}\n//# sourceMappingURL=nullish.js.map","/**\n * 将输入值转换为数字。\n *\n * @category Type conversion\n *\n * @public\n *\n * @param value - 输入值。\n *\n * @returns 转换后的数字。\n */\nexport function number(value) {\n return Number(value);\n}\n//# sourceMappingURL=number.js.map","import moment from \"moment\";\n/**\n * 解析一个时间字符串。\n *\n * @category Datetime\n *\n * @public\n *\n * @remarks\n *\n * `now/d` 将被转换为当天开始时的时间戳。\n *\n * `now/y` 将被转换为当年开始时的时间戳。\n *\n * `now-{n}d` 将被转换为 `n` 天前的时间戳。\n *\n * @param value - 时间字符串。\n *\n * @returns 解析后的时间戳,如果输入为空返回当前的时间戳。\n */\nexport function parseTimeRange(value) {\n if (value === \"now/d\") {\n return +moment().startOf(\"day\");\n }\n if (value === \"now/y\") {\n return +moment().startOf(\"year\");\n }\n var reg = /^now-(\\d+)(\\w+)/;\n var matches = reg.exec(value);\n if (matches !== null) {\n var num = matches[1], unit = matches[2];\n return +moment().subtract(num, unit);\n }\n return value ? +value : +moment();\n}\n//# sourceMappingURL=parseTimeRange.js.map","/**\n * 获得一个随机字符串\n *\n * @category Others\n *\n * @public\n *\n * @example\n *\n * ```ts\n * randomString()\n * // Returns \"jUf92Zd0\".\n *\n * randomString(6)\n * // Returns \"sUf0Zd\".\n *\n * randomString(6, \"0123456789@\")\n * // Returns \"971@12\".\n *\n * ```\n *\n * @param length - 随机字符串的长度,默认为8。\n *\n * @param characters - 随机字符串包含哪些字符,默认为大小写字母及数字。例如指定\"0123456789\"则随机字符只会包含数字;指定\"0123456789abcdef\"则随机字符是个16进制数。\n *\n * @returns 随机字符串\n */\nexport function randomString(length, characters) {\n length = length > 0 ? length : 8;\n characters =\n typeof characters === \"string\"\n ? characters\n : \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\";\n var result = \"\";\n for (var i = 0; i < length; i++) {\n result += characters.charAt(Math.floor(Math.random() * characters.length));\n }\n return result;\n}\n//# sourceMappingURL=randomString.js.map","/**\n * 返回一个数组倒转之后的新数组。\n *\n * @category Array\n *\n * @public\n *\n * @param value - 数组。\n *\n * @returns 倒转后的新数组,如果输入不是数组则返回空数组。\n */\nexport function reverse(value) {\n return Array.isArray(value) ? value.slice().reverse() : [];\n}\n//# sourceMappingURL=reverse.js.map","/**\n * 根据起始位置和结束位置(不包含)返回一个数组的一部分。\n *\n * @category Array\n *\n * @public\n *\n * @remarks\n *\n * 详见 {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/slice}。\n *\n * @param value - 输入数组。\n * @param start - 要开始提取的索引位置。\n * @param end - 结束提取的索引位置。\n *\n * @returns 新数组。\n */\nexport function slice(value, start, end) {\n return value.slice(start, end);\n}\n//# sourceMappingURL=slice.js.map","import { sortBy } from \"lodash\";\n/**\n * 返回一个数组按指定属性排序后的新数组。\n *\n * @category Array\n *\n * @public\n *\n * @param value - 数组。\n * @param fields - 属性(路径)。\n *\n * @returns 排序后的新数组。\n */\nexport function sort(value, fields) {\n return Array.isArray(value) ? sortBy(value, fields) : [];\n}\n//# sourceMappingURL=sort.js.map","/**\n * 将一个字符串分割为字符串列表。\n *\n * @category String\n *\n * @public\n *\n * @remarks\n *\n * 详见 {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/split}。\n *\n * @param value - 字符串。\n * @param separator - 分隔符。\n *\n * @returns 返回字符串子串数组,如果输入不是字符串则返回空数组。\n */\nexport function split(value, separator) {\n return typeof value === \"string\" ? value.split(separator) : [];\n}\n//# sourceMappingURL=split.js.map","/**\n * 将输入值转换为字符串。\n *\n * @category Type conversion\n *\n * @public\n *\n * @param value - 输入值。\n *\n * @returns 返回转换后的字符串,如果输入值为 `null` 或 `undefined` 则返回空字符串。\n */\nexport function string(value) {\n // Consider `undefined` and `null` as `\"\"`.\n return value === undefined || value === null ? \"\" : String(value);\n}\n//# sourceMappingURL=string.js.map","/**\n * 根据指定起始位置和长度返回一个字符串的子串。\n *\n * @category String\n *\n * @public\n *\n * @remarks\n *\n * 详见 {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/substr}。\n *\n * @param value - 字符串。\n * @param from - 返回的子串的起始位置。\n * @param length - 返回的子串的长度。\n *\n * @returns 子串。\n */\nexport function substr(value, from, length) {\n return typeof value === \"string\" ? value.substr(from, length) : \"\";\n}\n//# sourceMappingURL=substr.js.map","/**\n * 根据指定起始位置和结束位置(不包含)返回一个字符串的子串。\n *\n * @category String\n *\n * @public\n *\n * @remarks\n *\n * 详见 {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/substring}\n *\n * @param value - 字符串。\n * @param from - 返回的子串的起始位置。\n * @param end - 返回的子串的结束位置。\n *\n * @returns 子串。\n */\nexport function substring(value, start, end) {\n return typeof value === \"string\" ? value.substring(start, end) : \"\";\n}\n//# sourceMappingURL=substring.js.map","/**\n * 数学减法。\n *\n * @category Mathematics\n *\n * @public\n *\n * @param value - 被减数。\n * @param operand - 减数。\n *\n * @returns 差。\n */\nexport function subtract(value, operand) {\n return value - operand;\n}\n//# sourceMappingURL=subtract.js.map","/**\n * 三元运算,根据条件返回两个值中的一个。\n *\n * @category Logic\n *\n * @public\n *\n * @param value - 条件。\n * @param resultIfTrue - 当条件为真时返回的值。\n * @param resultIfFalse - 当条件为假时返回的值。\n *\n * @returns 当 `value` 为真时返回 `resultIfTrue`,否则返回 `resultIfFalse`。\n */\nexport function ternary(value, resultIfTrue, resultIfFalse) {\n return value ? resultIfTrue : resultIfFalse;\n}\n//# sourceMappingURL=ternary.js.map","import { uniq as _uniq } from \"lodash\";\n/**\n * 获取一个数组去重后的新数组。\n *\n * @category Array\n *\n * @remarks 透传调用 {@link https://lodash.com/docs/#uniq | _.uniq}。\n *\n * @public\n *\n * @param array - 数组。\n *\n * @returns 去重后的数组。\n *\n * @example\n *\n * ```ts\n * uniq([2, 1, 2]);\n * // => [2, 1]\n * ```\n */\nexport function uniq(array) {\n return _uniq(array);\n}\n//# sourceMappingURL=uniq.js.map","export var BytesUnitId;\n(function (BytesUnitId) {\n BytesUnitId[\"Bytes\"] = \"bytes\";\n BytesUnitId[\"Kilobytes\"] = \"kilobytes\";\n BytesUnitId[\"Megabytes\"] = \"megabytes\";\n BytesUnitId[\"Gigabytes\"] = \"gigabytes\";\n BytesUnitId[\"Terabytes\"] = \"terabytes\";\n BytesUnitId[\"Petabytes\"] = \"petabytes\";\n BytesUnitId[\"Bibytes\"] = \"bibytes\";\n BytesUnitId[\"Kibibytes\"] = \"kibibytes\";\n BytesUnitId[\"Mebibytes\"] = \"mebibytes\";\n BytesUnitId[\"Gibibytes\"] = \"gibibytes\";\n BytesUnitId[\"Tebibytes\"] = \"tebibytes\";\n BytesUnitId[\"Pebibytes\"] = \"pebibytes\";\n // deprecated\n BytesUnitId[\"b\"] = \"b\";\n BytesUnitId[\"B\"] = \"B\";\n BytesUnitId[\"KB\"] = \"KB\";\n BytesUnitId[\"MB\"] = \"MB\";\n BytesUnitId[\"GB\"] = \"GB\";\n})(BytesUnitId || (BytesUnitId = {}));\nexport var bytes = [\n {\n id: BytesUnitId.Bytes,\n alias: [\"B\", \"bytes(B)\"],\n divisor: 1,\n display: \"B\",\n },\n {\n id: BytesUnitId.Kilobytes,\n alias: [\"KB\", \"kilobytes(KB)\"],\n divisor: 1000,\n display: \"KB\",\n },\n {\n id: BytesUnitId.Megabytes,\n alias: [\"MB\", \"megabytes(MB)\"],\n divisor: Math.pow(1000, 2),\n display: \"MB\",\n },\n {\n id: BytesUnitId.Gigabytes,\n alias: [\"GB\", \"gigabytes(GB)\"],\n divisor: Math.pow(1000, 3),\n display: \"GB\",\n },\n {\n id: BytesUnitId.Terabytes,\n alias: [\"TB\", \"terabytes(TB)\"],\n divisor: Math.pow(1000, 4),\n display: \"TB\",\n },\n {\n id: BytesUnitId.Petabytes,\n alias: [\"PB\", \"petabytes(PB)\"],\n divisor: Math.pow(1000, 5),\n display: \"PB\",\n },\n];\nexport var bibytes = [\n {\n id: BytesUnitId.Bibytes,\n alias: [\"B\", \"bibytes(B)\"],\n divisor: 1,\n display: \"B\",\n },\n {\n id: BytesUnitId.Kibibytes,\n alias: [\"KiB\", \"kibibytes(KiB)\"],\n divisor: 1024,\n display: \"KiB\",\n },\n {\n id: BytesUnitId.Mebibytes,\n alias: [\"MiB\", \"mebibytes(MiB)\"],\n divisor: Math.pow(1024, 2),\n display: \"MiB\",\n },\n {\n id: BytesUnitId.Gibibytes,\n alias: [\"GiB\", \"gibibytes(GiB)\"],\n divisor: Math.pow(1024, 3),\n display: \"GiB\",\n },\n {\n id: BytesUnitId.Tebibytes,\n alias: [\"TiB\", \"tebibytes(TiB)\"],\n divisor: Math.pow(1024, 4),\n display: \"TiB\",\n },\n {\n id: BytesUnitId.Pebibytes,\n alias: [\"PiB\", \"pebibytes(PiB)\"],\n divisor: Math.pow(1024, 5),\n display: \"PiB\",\n },\n];\nexport var deprecatedBytes = [\n {\n id: BytesUnitId.b,\n divisor: 1,\n display: \"b\",\n },\n {\n id: BytesUnitId.B,\n divisor: 8,\n display: \"B\",\n },\n {\n id: BytesUnitId.KB,\n divisor: 8 * 1024,\n display: \"KB\",\n },\n {\n id: BytesUnitId.MB,\n divisor: 8 * 1024 * 1024,\n display: \"MB\",\n },\n {\n id: BytesUnitId.GB,\n divisor: 8 * 1024 * 1024 * 1024,\n display: \"GB\",\n },\n];\n//# sourceMappingURL=bytes.js.map","export var ByteRatesUnitId;\n(function (ByteRatesUnitId) {\n ByteRatesUnitId[\"BitsPerSecond\"] = \"bits/sec\";\n ByteRatesUnitId[\"KilobitsPerSecond\"] = \"kilobits/sec\";\n ByteRatesUnitId[\"MegabitsPerSecond\"] = \"megabits/sec\";\n ByteRatesUnitId[\"GigabitsPerSecond\"] = \"gigabits/sec\";\n ByteRatesUnitId[\"BytesPerSecond\"] = \"bytes/sec\";\n ByteRatesUnitId[\"KilobytesPerSecond\"] = \"kilobytes/sec\";\n ByteRatesUnitId[\"MegabytesPerSecond\"] = \"megabytes/sec\";\n ByteRatesUnitId[\"GigabytesPerSecond\"] = \"gigabytes/sec\";\n // deprecated\n ByteRatesUnitId[\"bps\"] = \"bps\";\n ByteRatesUnitId[\"Bps\"] = \"Bps\";\n ByteRatesUnitId[\"KBps\"] = \"KBps\";\n ByteRatesUnitId[\"MBps\"] = \"MBps\";\n ByteRatesUnitId[\"GBps\"] = \"GBps\";\n})(ByteRatesUnitId || (ByteRatesUnitId = {}));\nexport var bitRates = [\n {\n id: ByteRatesUnitId.BitsPerSecond,\n alias: [\"bps\", \"bits/sec(bps)\"],\n divisor: 1,\n display: \"bps\",\n },\n {\n id: ByteRatesUnitId.KilobitsPerSecond,\n alias: [\"Kbps\", \"kilobits/sec(Kbps)\"],\n divisor: 1024,\n display: \"Kbps\",\n },\n {\n id: ByteRatesUnitId.MegabitsPerSecond,\n alias: [\"Mbps\", \"megabits/sec(Mbps)\"],\n divisor: 1024 * 1024,\n display: \"Mbps\",\n },\n {\n id: ByteRatesUnitId.GigabitsPerSecond,\n alias: [\"Gbps\", \"gigabits/sec(Gbps)\"],\n divisor: 1024 * 1024 * 1024,\n display: \"Gbps\",\n },\n];\nexport var byteRates = [\n {\n id: ByteRatesUnitId.BytesPerSecond,\n alias: [\"Bps\", \"bytes/sec(Bps)\"],\n divisor: 8,\n display: \"Bps\",\n },\n {\n id: ByteRatesUnitId.KilobytesPerSecond,\n alias: [\"KBps\", \"kilobytes/sec(KBps)\"],\n divisor: 8 * 1024,\n display: \"KBps\",\n },\n {\n id: ByteRatesUnitId.MegabytesPerSecond,\n alias: [\"MBps\", \"megabytes/sec(MBps)\"],\n divisor: 8 * 1024 * 1024,\n display: \"MBps\",\n },\n {\n id: ByteRatesUnitId.GigabytesPerSecond,\n alias: [\"GBps\", \"gigabytes/sec(GBps)\"],\n divisor: 8 * 1024 * 1024 * 1024,\n display: \"GBps\",\n },\n];\nexport var deprecatedByteRates = [\n {\n id: ByteRatesUnitId.bps,\n divisor: 1,\n display: \"bps\",\n },\n {\n id: ByteRatesUnitId.Bps,\n divisor: 8,\n display: \"Bps\",\n },\n {\n id: ByteRatesUnitId.KBps,\n divisor: 8 * 1024,\n display: \"KBps\",\n },\n {\n id: ByteRatesUnitId.MBps,\n divisor: 8 * 1024 * 1024,\n display: \"MBps\",\n },\n {\n id: ByteRatesUnitId.GBps,\n divisor: 8 * 1024 * 1024 * 1024,\n display: \"GBps\",\n },\n];\n//# sourceMappingURL=byteRates.js.map","export var TimesUnitId;\n(function (TimesUnitId) {\n TimesUnitId[\"Nanosecond\"] = \"nanoseconds\";\n TimesUnitId[\"Microsecond\"] = \"microseconds\";\n TimesUnitId[\"Milliseconds\"] = \"milliseconds\";\n TimesUnitId[\"Seconds\"] = \"seconds\";\n TimesUnitId[\"Minutes\"] = \"minutes\";\n TimesUnitId[\"Hours\"] = \"hours\";\n TimesUnitId[\"Days\"] = \"days\";\n TimesUnitId[\"Weeks\"] = \"weeks\";\n TimesUnitId[\"Months\"] = \"months\";\n TimesUnitId[\"Years\"] = \"years\";\n // deprecated\n TimesUnitId[\"ms\"] = \"ms\";\n TimesUnitId[\"s\"] = \"s\";\n TimesUnitId[\"min\"] = \"min\";\n TimesUnitId[\"hour\"] = \"hour\";\n TimesUnitId[\"day\"] = \"day\";\n TimesUnitId[\"week\"] = \"week\";\n})(TimesUnitId || (TimesUnitId = {}));\nexport var times = [\n {\n id: TimesUnitId.Nanosecond,\n alias: [\"ns\", \"nanoseconds(ns)\"],\n divisor: 1,\n display: \"ns\",\n },\n {\n id: TimesUnitId.Microsecond,\n alias: [\"μs\", \"microseconds(μs)\"],\n divisor: 1000,\n display: \"μs\",\n },\n {\n id: TimesUnitId.Milliseconds,\n alias: [\"ms\", \"milliseconds(ms)\"],\n divisor: 1000 * 1000,\n display: \"ms\",\n },\n {\n id: TimesUnitId.Seconds,\n alias: [\"s\", \"seconds(s)\"],\n divisor: 1000 * 1000 * 1000,\n display: \"s\",\n },\n {\n id: TimesUnitId.Minutes,\n alias: [\"min\", \"minutes(min)\"],\n divisor: 1000 * 1000 * 1000 * 60,\n display: \"min\",\n },\n {\n id: TimesUnitId.Hours,\n alias: [\"hour\", \"hours(hour)\"],\n divisor: 1000 * 1000 * 1000 * 60 * 60,\n display: \"hour\",\n },\n {\n id: TimesUnitId.Days,\n alias: [\"day\", \"days(day)\"],\n divisor: 1000 * 1000 * 1000 * 60 * 60 * 24,\n display: \"day\",\n },\n {\n id: TimesUnitId.Weeks,\n alias: [\"week\", \"weeks(week)\"],\n divisor: 1000 * 1000 * 1000 * 60 * 60 * 24 * 7,\n display: \"week\",\n },\n {\n id: TimesUnitId.Months,\n alias: [\"month\", \"months(month)\"],\n divisor: 1000 * 1000 * 1000 * 60 * 60 * 24 * 30,\n display: \"month\",\n },\n {\n id: TimesUnitId.Years,\n alias: [\"year\", \"years(year)\"],\n divisor: 1000 * 1000 * 1000 * 60 * 60 * 24 * 365,\n display: \"year\",\n },\n];\nexport var deprecatedTimes = [\n {\n id: TimesUnitId.ms,\n divisor: 1,\n display: \"毫秒\",\n },\n {\n id: TimesUnitId.s,\n divisor: 1000,\n display: \"秒\",\n },\n {\n id: TimesUnitId.min,\n divisor: 1000 * 60,\n display: \"分\",\n },\n {\n id: TimesUnitId.hour,\n divisor: 1000 * 60 * 60,\n display: \"小时\",\n },\n {\n id: TimesUnitId.day,\n divisor: 1000 * 60 * 60 * 24,\n display: \"天\",\n },\n {\n id: TimesUnitId.week,\n divisor: 1000 * 60 * 60 * 24 * 7,\n display: \"周\",\n },\n];\n//# sourceMappingURL=times.js.map","var _a;\nimport { bytes, bibytes } from \"./bytes\";\nimport { bitRates, byteRates } from \"./byteRates\";\nimport { times } from \"./times\";\nimport { UnitType } from \"./interface\";\nexport var UNIT_MAP = (_a = {},\n _a[UnitType.Time] = times,\n _a[UnitType.Byte] = bytes,\n _a[UnitType.Bibyte] = bibytes,\n _a[UnitType.BitRate] = bitRates,\n _a[UnitType.ByteRate] = byteRates,\n _a);\n//# sourceMappingURL=unitMap.js.map","export var ShortUnitId;\n(function (ShortUnitId) {\n ShortUnitId[\"None\"] = \"none\";\n ShortUnitId[\"K\"] = \"K\";\n ShortUnitId[\"M\"] = \"M\";\n ShortUnitId[\"B\"] = \"B\";\n ShortUnitId[\"T\"] = \"T\";\n})(ShortUnitId || (ShortUnitId = {}));\nexport var numberFormatUnits = [\n {\n id: ShortUnitId.None,\n divisor: 1,\n display: \"\",\n },\n {\n id: ShortUnitId.K,\n divisor: 1000,\n display: \"K\",\n },\n {\n id: ShortUnitId.M,\n divisor: 1000 * 1000,\n display: \"M\",\n },\n {\n id: ShortUnitId.B,\n divisor: 1000 * 1000 * 1000,\n display: \"B\",\n },\n {\n id: ShortUnitId.T,\n divisor: 1000 * 1000 * 1000 * 1000,\n display: \"T\",\n },\n];\n//# sourceMappingURL=numbers.js.map","var _a;\nimport { humanizePercentValue } from \"./percent\";\nimport { humanizeTimeValue, timeFormatUnitIds } from \"./time\";\nimport { humanizeDataValue, dataFormatUnitIds } from \"./data\";\nimport { humanizeDataRateValue, dataRateFormatUnitIds } from \"./dataRate\";\nimport { humanizeNumberValue } from \"./number\";\nimport { percentFormatUnitIds, } from \"../constants\";\nexport var FormatType;\n(function (FormatType) {\n FormatType[\"None\"] = \"none\";\n FormatType[\"Short\"] = \"short\";\n FormatType[\"Percent\"] = \"percent\";\n FormatType[\"Time\"] = \"time\";\n FormatType[\"Data\"] = \"data\";\n FormatType[\"DataRate\"] = \"data_rate\";\n})(FormatType || (FormatType = {}));\nexport var formatUnitIds = (_a = {},\n _a[FormatType.None] = [],\n _a[FormatType.Short] = [],\n _a[FormatType.Percent] = percentFormatUnitIds,\n _a[FormatType.Time] = timeFormatUnitIds,\n _a[FormatType.Data] = dataFormatUnitIds,\n _a[FormatType.DataRate] = dataRateFormatUnitIds,\n _a);\nexport var convertValueByPrecision = function (value, precision) {\n return precision === undefined ? value.toString() : value.toFixed(precision);\n};\nexport var formatValue = function (value, format) {\n if (format) {\n var type_1 = format.type;\n if (!type_1) {\n if (format.unit) {\n type_1 = FormatType.Short;\n Object.entries(formatUnitIds).map(function (_a) {\n var formatType = _a[0], units = _a[1];\n if (units\n .map(function (unit) { return unit.toLocaleLowerCase(); })\n .includes(format.unit.toLocaleLowerCase())) {\n type_1 = formatType;\n }\n });\n }\n else {\n type_1 = FormatType.None;\n }\n }\n var precision = (format === null || format === void 0 ? void 0 : format.precision) === undefined ? 2 : format.precision;\n switch (type_1) {\n case FormatType.Percent: {\n var percentValue = humanizePercentValue(value, format.unit);\n return [convertValueByPrecision(percentValue, precision) + \"%\", null];\n }\n case FormatType.Time: {\n var _a = humanizeTimeValue(value, format.unit, format.targetUnit), timeValue = _a[0], timeUnitDisplay = _a[1];\n return [\n \"\" + convertValueByPrecision(timeValue, (format === null || format === void 0 ? void 0 : format.precision) === undefined ? 1 : format.precision),\n timeUnitDisplay,\n ];\n }\n case FormatType.Data: {\n var _b = humanizeDataValue(value, format.unit, format.targetUnit), dataValue = _b[0], dataUnitDisplay = _b[1];\n return [\n \"\" + convertValueByPrecision(dataValue, precision),\n dataUnitDisplay,\n ];\n }\n case FormatType.DataRate: {\n var _c = humanizeDataRateValue(value, format.unit, format.targetUnit), dataRateValue = _c[0], dataRateUnitDisplay = _c[1];\n return [\n \"\" + convertValueByPrecision(dataRateValue, precision),\n dataRateUnitDisplay,\n ];\n }\n case FormatType.None: {\n return [convertValueByPrecision(value, precision), \"\"];\n }\n default: {\n return [\n humanizeNumberValue(value, format.unit, precision),\n format.unit,\n ];\n }\n }\n }\n else {\n return [humanizeNumberValue(value), null];\n }\n};\n//# sourceMappingURL=valueFormatter.js.map","export var matchUnit = function (unitData, unit) {\n return (unitData.id.toLocaleLowerCase() === (unit === null || unit === void 0 ? void 0 : unit.toLocaleLowerCase()) ||\n (unitData.alias &&\n unitData.alias.map(function (alias) { return alias.toLocaleLowerCase(); }).includes(unit)));\n};\n// 由于 bytes 的单位中会有 b 和 B ,所以对别名进行判断时不能转换为小写\nexport var matchDataUnit = function (unitData, unit) {\n return (unitData.id.toLocaleLowerCase() === (unit === null || unit === void 0 ? void 0 : unit.toLocaleLowerCase()) ||\n (unitData.alias && unitData.alias.includes(unit)));\n};\n//# sourceMappingURL=util.js.map","import { __spreadArrays } from \"tslib\";\nimport { times, } from \"../constants\";\nimport { matchUnit } from \"./util\";\nexport var timeFormatUnits = [times];\nexport var timeFormatUnitIds = [].concat.apply([], timeFormatUnits.map(function (timeFormatUnitGroup) { return __spreadArrays(timeFormatUnitGroup.map(function (timeFormatUnit) { return timeFormatUnit.id; }), [].concat.apply([], timeFormatUnitGroup.map(function (timeFormatUnit) {\n return timeFormatUnit.alias ? timeFormatUnit.alias : [];\n}))); }));\nexport function humanizeTimeValue(value, unit, targetUnit) {\n var baseTimeUnitGroupIndex = 0;\n var baseTimeUnitIndex = 2;\n var targetTimeUnitIndex = -1;\n if (unit) {\n var _loop_1 = function (i) {\n var _baseTimeUnitIndex = -1;\n var _targetTimeUnitIndex = -1;\n timeFormatUnits[i].forEach(function (timeUnit, index) {\n if (matchUnit(timeUnit, unit))\n _baseTimeUnitIndex = index;\n if (matchUnit(timeUnit, targetUnit))\n _targetTimeUnitIndex = index;\n });\n if (_baseTimeUnitIndex !== -1) {\n baseTimeUnitGroupIndex = i;\n baseTimeUnitIndex = _baseTimeUnitIndex;\n targetTimeUnitIndex = _targetTimeUnitIndex;\n return \"break\";\n }\n };\n for (var i = 0; i < timeFormatUnits.length; ++i) {\n var state_1 = _loop_1(i);\n if (state_1 === \"break\")\n break;\n }\n }\n else if (targetUnit) {\n targetTimeUnitIndex = timeFormatUnits[baseTimeUnitGroupIndex].findIndex(function (timeUnit) { return matchUnit(timeUnit, targetUnit); });\n }\n var timeFormatUnitGroup = timeFormatUnits[baseTimeUnitGroupIndex];\n var baseTimeFormatUnit = timeFormatUnitGroup[baseTimeUnitIndex];\n var targetTimeFormatUnit = baseTimeFormatUnit;\n if (targetTimeUnitIndex === -1) {\n for (var i = baseTimeUnitIndex + 1; i < timeFormatUnitGroup.length; ++i) {\n if (value / (timeFormatUnitGroup[i].divisor / baseTimeFormatUnit.divisor) >=\n 1) {\n targetTimeFormatUnit = timeFormatUnitGroup[i];\n }\n else {\n break;\n }\n }\n }\n else {\n targetTimeFormatUnit = timeFormatUnitGroup[targetTimeUnitIndex];\n }\n if (targetUnit && targetTimeUnitIndex === -1) {\n console.warn(\"Cannot convert unit \\\"\" + (unit || baseTimeFormatUnit.display) + \"\\\" to \\\"\" + targetUnit + \"\\\"\");\n }\n return [\n value / (targetTimeFormatUnit.divisor / baseTimeFormatUnit.divisor),\n targetTimeFormatUnit.display,\n ];\n}\n//# sourceMappingURL=time.js.map","import { __spreadArrays } from \"tslib\";\nimport { bytes, bibytes, deprecatedBytes, } from \"../constants\";\nimport { matchDataUnit } from \"./util\";\nexport var dataFormatUnits = [\n bytes,\n bibytes,\n // deprecated\n deprecatedBytes,\n];\nexport var dataFormatUnitIds = [].concat.apply([], dataFormatUnits.map(function (dataFormatUnitGroup) { return __spreadArrays(dataFormatUnitGroup.map(function (dataFormatUnit) { return dataFormatUnit.id; }), [].concat.apply([], dataFormatUnitGroup.map(function (dataFormatUnit) {\n return dataFormatUnit.alias ? dataFormatUnit.alias : [];\n}))); }));\nexport function humanizeDataValue(value, unit, targetUnit) {\n var baseDataUnitGroupIndex = dataFormatUnits.length - 1;\n var baseDataUnitIndex = 0;\n var targetDataUnitIndex = -1;\n var sign = Math.sign(value);\n var positiveValue = Math.abs(value);\n if (unit) {\n var _loop_1 = function (i) {\n var _baseDataUnitIndex = -1;\n var _targetDataUnitIndex = -1;\n dataFormatUnits[i].forEach(function (dataUnit, index) {\n if (matchDataUnit(dataUnit, unit))\n _baseDataUnitIndex = index;\n if (matchDataUnit(dataUnit, targetUnit))\n _targetDataUnitIndex = index;\n });\n if (_baseDataUnitIndex !== -1) {\n baseDataUnitGroupIndex = i;\n baseDataUnitIndex = _baseDataUnitIndex;\n targetDataUnitIndex = _targetDataUnitIndex;\n return \"break\";\n }\n };\n for (var i = 0; i < dataFormatUnits.length; ++i) {\n var state_1 = _loop_1(i);\n if (state_1 === \"break\")\n break;\n }\n }\n else if (targetUnit) {\n targetDataUnitIndex = dataFormatUnits[baseDataUnitGroupIndex].findIndex(function (dataUnit) { return matchDataUnit(dataUnit, targetUnit); });\n }\n var dataFormatUnitGroup = dataFormatUnits[baseDataUnitGroupIndex];\n var baseDataFormatUnit = dataFormatUnitGroup[baseDataUnitIndex];\n var targetDataFormatUnit = baseDataFormatUnit;\n if (targetDataUnitIndex === -1) {\n for (var i = baseDataUnitIndex + 1; i < dataFormatUnitGroup.length; ++i) {\n if (positiveValue /\n (dataFormatUnitGroup[i].divisor / baseDataFormatUnit.divisor) >=\n 1) {\n targetDataFormatUnit = dataFormatUnitGroup[i];\n }\n else {\n break;\n }\n }\n }\n else {\n targetDataFormatUnit = dataFormatUnitGroup[targetDataUnitIndex];\n }\n if (targetUnit && targetDataUnitIndex === -1) {\n console.warn(\"Cannot convert unit \\\"\" + (unit || baseDataFormatUnit.display) + \"\\\" to \\\"\" + targetUnit + \"\\\"\");\n }\n return [\n (positiveValue /\n (targetDataFormatUnit.divisor / baseDataFormatUnit.divisor)) *\n sign,\n targetDataFormatUnit.display,\n ];\n}\n//# sourceMappingURL=data.js.map","import { __spreadArrays } from \"tslib\";\nimport { bitRates, byteRates, deprecatedByteRates, } from \"../constants\";\nimport { matchUnit } from \"./util\";\nexport var dataRateFormatUnits = [\n bitRates,\n byteRates,\n // deprecated\n deprecatedByteRates,\n];\nexport var dataRateFormatUnitIds = [].concat.apply([], dataRateFormatUnits.map(function (dataRateFormatUnitGroup) { return __spreadArrays(dataRateFormatUnitGroup.map(function (dataRateFormatUnit) { return dataRateFormatUnit.id; }), [].concat.apply([], dataRateFormatUnitGroup.map(function (dataRateFormatUnit) {\n return dataRateFormatUnit.alias ? dataRateFormatUnit.alias : [];\n}))); }));\nexport function humanizeDataRateValue(value, unit, targetUnit) {\n var baseDataRateUnitGroupIndex = dataRateFormatUnits.length - 1;\n var baseDataRateUnitIndex = 0;\n var targetDataRateUnitIndex = -1;\n var sign = Math.sign(value);\n var positiveValue = Math.abs(value);\n if (unit) {\n var _loop_1 = function (i) {\n var _baseDataRateUnitIndex = -1;\n var _targetDataRateUnitIndex = -1;\n dataRateFormatUnits[i].forEach(function (dataRateUnit, index) {\n if (matchUnit(dataRateUnit, unit))\n _baseDataRateUnitIndex = index;\n if (matchUnit(dataRateUnit, targetUnit))\n _targetDataRateUnitIndex = index;\n });\n if (_baseDataRateUnitIndex !== -1) {\n baseDataRateUnitGroupIndex = i;\n baseDataRateUnitIndex = _baseDataRateUnitIndex;\n targetDataRateUnitIndex = _targetDataRateUnitIndex;\n return \"break\";\n }\n };\n for (var i = 0; i < dataRateFormatUnits.length; ++i) {\n var state_1 = _loop_1(i);\n if (state_1 === \"break\")\n break;\n }\n }\n else if (targetUnit) {\n targetDataRateUnitIndex = dataRateFormatUnits[baseDataRateUnitGroupIndex].findIndex(function (dataRateUnit) { return matchUnit(dataRateUnit, targetUnit); });\n }\n var dataRateFormatUnitGroup = dataRateFormatUnits[baseDataRateUnitGroupIndex];\n var baseDataRateFormatUnit = dataRateFormatUnitGroup[baseDataRateUnitIndex];\n var targetDataRateFormatUnit = baseDataRateFormatUnit;\n if (targetDataRateUnitIndex === -1) {\n for (var i = baseDataRateUnitIndex + 1; i < dataRateFormatUnitGroup.length; ++i) {\n if (positiveValue /\n (dataRateFormatUnitGroup[i].divisor /\n baseDataRateFormatUnit.divisor) >=\n 1) {\n targetDataRateFormatUnit = dataRateFormatUnitGroup[i];\n }\n else {\n break;\n }\n }\n }\n else {\n targetDataRateFormatUnit = dataRateFormatUnitGroup[targetDataRateUnitIndex];\n }\n if (targetUnit && targetDataRateUnitIndex === -1) {\n console.warn(\"Cannot convert unit \\\"\" + (unit || baseDataRateFormatUnit.display) + \"\\\" to \\\"\" + targetUnit + \"\\\"\");\n }\n return [\n (positiveValue /\n (targetDataRateFormatUnit.divisor / baseDataRateFormatUnit.divisor)) *\n sign,\n targetDataRateFormatUnit.display,\n ];\n}\n//# sourceMappingURL=dataRate.js.map","import { ShortUnitId, numberFormatUnits } from \"../constants\";\nexport var humanizeNumberValue = function (value, unit, precision) {\n var baseNumberUnitIndex = 0;\n var sign = Math.sign(value);\n var positiveValue = Math.abs(value);\n if (unit) {\n var numberUnitIndex = numberFormatUnits.findIndex(function (numberUnit) {\n return numberUnit.id.toLocaleLowerCase() === unit.toLocaleLowerCase();\n });\n if (numberUnitIndex !== -1) {\n baseNumberUnitIndex = numberUnitIndex;\n }\n }\n var numberFormatUnit = numberFormatUnits[baseNumberUnitIndex];\n for (var i = baseNumberUnitIndex + 1; i < numberFormatUnits.length; ++i) {\n if (positiveValue /\n (numberFormatUnits[i].divisor /\n numberFormatUnits[baseNumberUnitIndex].divisor) >=\n 1) {\n numberFormatUnit = numberFormatUnits[i];\n }\n else {\n break;\n }\n }\n if (numberFormatUnit.id === ShortUnitId.None) {\n return (sign * positiveValue).toFixed(precision !== null && precision !== void 0 ? precision : 2);\n }\n else {\n return (((positiveValue /\n (numberFormatUnit.divisor /\n numberFormatUnits[baseNumberUnitIndex].divisor)) *\n sign).toFixed(precision !== null && precision !== void 0 ? precision : 2) + numberFormatUnit.display);\n }\n};\n//# sourceMappingURL=number.js.map","import { PercentUnitId as PercentFormatUnitId } from \"../constants\";\nexport function humanizePercentValue(value, unit) {\n if (unit) {\n switch (unit.toLocaleLowerCase()) {\n case PercentFormatUnitId.Percent100.toLocaleLowerCase():\n return value;\n default:\n return value * 100;\n }\n }\n else {\n return value * 100;\n }\n}\n//# sourceMappingURL=percent.js.map","import { formatUnitValue } from \"../utils\";\n/**\n * 将一个数值转换为带单位的数据。\n *\n * @category Others\n *\n * @public\n *\n * @example\n *\n * ```ts\n * unitFormat(1024, \"KBps\")\n * // Returns `[\"1.00\", \"MBps\"]`\n * ```\n *\n * @param value - 数值。\n * @param unit - 当前单位。\n * @param precision - 精度(默认为 `2`)。\n * @param targetUnit - 目标单位,若不填则会自动计算。\n *\n * @returns 由转换后的数值和单位组成的数组。\n */\nexport function unitFormat(value, unit, precision, targetUnit) {\n if (precision === void 0) { precision = 2; }\n return formatUnitValue(value, { unit: unit, precision: precision, targetUnit: targetUnit });\n}\n//# sourceMappingURL=unitFormat.js.map","import { safeLoad, JSON_SCHEMA } from \"js-yaml\";\n/**\n * 解析一个 YAML 格式的字符串(反序列化)。\n *\n * @category Serialization\n *\n * @public\n *\n * @param value - YAML 格式的字符串。\n *\n * @returns 返回解析后的值,如果解析失败返回 `undefined`。\n */\nexport function yaml(value) {\n var result;\n try {\n result = safeLoad(value, { schema: JSON_SCHEMA, json: true });\n }\n catch (e) {\n // eslint-disable-next-line no-console\n console.error(e);\n }\n return result;\n}\n//# sourceMappingURL=yaml.js.map","import { __assign } from \"tslib\";\nimport { safeDump, JSON_SCHEMA } from \"js-yaml\";\n/**\n * 将一个值转换为 YAML 格式的字符串(序列化)。\n *\n * @category Serialization\n *\n * @public\n *\n * @param value - 输入值。\n * @param indent - 空格缩进数量(默认为 `2`)。\n * @param opts - 选项\n *\n * @returns 序列化后的字符串;如果序列化失败(例如包含循环引用)返回 `undefined`。\n */\nexport function yamlStringify(value, indent, opts) {\n if (indent === void 0) { indent = 2; }\n var result;\n try {\n result = safeDump(value, __assign({ indent: indent, schema: JSON_SCHEMA, skipInvalid: true, noRefs: true, noCompatMode: true }, opts));\n }\n catch (e) {\n // eslint-disable-next-line no-console\n console.error(e);\n }\n return result;\n}\n//# sourceMappingURL=yamlStringify.js.map","import { round as _round } from \"lodash\";\n/**\n * 获取一个数值的近似值。\n *\n * @category Mathematics\n *\n * @remarks 透传调用 {@link https://lodash.com/docs/#round | _.round}。\n *\n * @public\n *\n * @param n - 数值。\n * @param precision - 精度。\n *\n * @returns 近似值。\n */\nexport function round(n, precision) {\n return _round(n, precision);\n}\n//# sourceMappingURL=round.js.map","/**\n * 支持base64字符解码为中文\n *\n * @category Logic\n *\n * @public\n *\n * @param value - 需要进行解码的值\n *\n * @returns 解码后的值\n */\nexport function atobUnicode(value) {\n return decodeURIComponent(atob(value)\n .split(\"\")\n .map(function (c) { return \"%\" + (\"00\" + c.charCodeAt(0).toString(16)).slice(-2); })\n .join(\"\"));\n}\n//# sourceMappingURL=atobUnicode.js.map","/**\n * 支持将中文进行base64编码\n *\n * @category Logic\n *\n * @public\n *\n * @param value - 需要进行编码的值\n *\n * @returns 编码后的值\n */\nexport function btoaUnicode(value) {\n return btoa(encodeURIComponent(value).replace(/%([0-9A-F]{2})/g, function (match, p1) {\n return String.fromCharCode(Number(\"0x\" + p1));\n }));\n}\n//# sourceMappingURL=btoaUnicode.js.map"],"names":["add","value","operand","Boolean","bool","cmdbInstanceShowName","Array","isArray","firstKey","resKey","slice","length","join","countBy","collection","iteratee","datetime","format","isPeriod","time","getMoment","input","deltaTime","withSuffix","startTime","endTime","diff","humanize","then","divide","equal","other","isEqual","find","predict","fromIndex","findIndex","array","findLast","findLastIndex","get","object","path","defaultValue","graphTree","query","_a","_b","sort","groupByEdgeOut","groupBy","edges","findChildren","node","relationEdges","instanceId","forEach","edge","key","out_name","foundInstance","vertices","in","resultInstance","push","keyList","uniq","map","isEmpty","orderBy","item","order","topic_vertices","root","UnitType","PercentUnitId","__assign","Object","assign","t","s","i","n","arguments","p","prototype","hasOwnProperty","call","apply","this","__spreadArrays","il","r","k","a","j","jl","groupByToIndex","groupField","targetField","result","isNil","groupByValue","allKeys_1","keys","v","set","indexOf","includes","part","separator","json","JSON","parse","e","console","error","jsonStringify","indent","stringify","keyBy","mapToArray","data","keyField","valueField","entries","mergeArrayByKey","dataList","reduce","acc","cur","values","mergeWith","customizer","objValue","srcValue","concat","multiply","not","nullish","number","Number","parseTimeRange","startOf","matches","exec","num","unit","subtract","randomString","characters","charAt","Math","floor","random","reverse","start","end","fields","sortBy","split","string","String","substr","from","substring","ternary","resultIfTrue","resultIfFalse","create","SuppressedError","BytesUnitId","percentFormatUnitIds","Percent1","Percent100","ByteRatesUnitId","bytes","id","Bytes","alias","divisor","display","Kilobytes","Megabytes","pow","Gigabytes","Terabytes","Petabytes","bibytes","Bibytes","Kibibytes","Mebibytes","Gibibytes","Tebibytes","Pebibytes","deprecatedBytes","b","B","KB","MB","GB","TimesUnitId","bitRates","BitsPerSecond","KilobitsPerSecond","MegabitsPerSecond","GigabitsPerSecond","byteRates","BytesPerSecond","KilobytesPerSecond","MegabytesPerSecond","GigabytesPerSecond","deprecatedByteRates","bps","Bps","KBps","MBps","GBps","ShortUnitId","times","Nanosecond","Microsecond","Milliseconds","Seconds","Minutes","Hours","Days","Weeks","Months","Years","ms","min","hour","day","week","Time","Byte","Bibyte","BitRate","ByteRate","FormatType","numberFormatUnits","None","K","M","T","matchUnit","unitData","toLocaleLowerCase","matchDataUnit","timeFormatUnits","timeFormatUnitIds","timeFormatUnitGroup","timeFormatUnit","dataFormatUnits","dataFormatUnitIds","dataFormatUnitGroup","dataFormatUnit","dataRateFormatUnits","dataRateFormatUnitIds","dataRateFormatUnitGroup","dataRateFormatUnit","humanizeNumberValue","precision","baseNumberUnitIndex","sign","positiveValue","abs","numberUnitIndex","numberUnit","numberFormatUnit","toFixed","formatUnitIds","Short","Percent","Data","DataRate","convertValueByPrecision","undefined","toString","formatValue","type_1","type","formatType","percentValue","humanizePercentValue","targetUnit","baseTimeUnitGroupIndex","baseTimeUnitIndex","targetTimeUnitIndex","_loop_1","_baseTimeUnitIndex","_targetTimeUnitIndex","timeUnit","index","baseTimeFormatUnit","targetTimeFormatUnit","warn","humanizeTimeValue","timeValue","timeUnitDisplay","baseDataUnitGroupIndex","baseDataUnitIndex","targetDataUnitIndex","_baseDataUnitIndex","_targetDataUnitIndex","dataUnit","baseDataFormatUnit","targetDataFormatUnit","humanizeDataValue","dataValue","dataUnitDisplay","_c","baseDataRateUnitGroupIndex","baseDataRateUnitIndex","targetDataRateUnitIndex","_baseDataRateUnitIndex","_targetDataRateUnitIndex","dataRateUnit","baseDataRateFormatUnit","targetDataRateFormatUnit","humanizeDataRateValue","dataRateValue","dataRateUnitDisplay","unitFormat","yaml","safeLoad","schema","JSON_SCHEMA","yamlStringify","opts","safeDump","skipInvalid","noRefs","noCompatMode","round","atobUnicode","decodeURIComponent","atob","c","charCodeAt","btoaUnicode","btoa","encodeURIComponent","replace","match","p1","fromCharCode"],"sourceRoot":""}
@@ -1,2 +0,0 @@
1
- "use strict";(globalThis.webpackChunk_next_bricks_ai_portal=globalThis.webpackChunk_next_bricks_ai_portal||[]).push([[495],{8778:(e,t,a)=>{a.d(t,{A:()=>l});var n=a(36758),o=a.n(n),i=a(40935),r=a.n(i)()(o());r.push([e.id,".heading--Uyl__y0l{display:flex;align-items:center;padding:5px 8px;margin:0 -8px 12px;cursor:pointer}.main--TukugFGT{font-size:16px;line-height:26px}.caret--RIrd1Bh6{opacity:0;transition:transform 0.2s ease-in-out}.heading--Uyl__y0l:hover{background:rgba(184,187,205,0.15);border-radius:8px}.heading--Uyl__y0l:hover .caret--RIrd1Bh6{opacity:1}.icon--i_Eo2KvU{display:flex;align-items:center;margin-right:12px}.title--dRyYSVof{color:#262626;font-weight:500;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tool--eKJi4smD{background:#e2e5ef;border:1px solid #d4d4de;border-radius:13px;line-height:24px;padding:0 12px;width:-moz-fit-content;width:fit-content;color:#595959;cursor:pointer}.body--CUgbPhLT{padding-left:26px;margin-bottom:20px}.collapsed--RP7bbO2u .body--CUgbPhLT{display:none}.collapsed--RP7bbO2u .caret--RIrd1Bh6{transform:rotate(180deg);opacity:1}.content--zdMqn1ov{margin-top:14px}.content--zdMqn1ov .markdown--id3ANDOE .mermaid{background:rgba(255,255,255,0.6);border-radius:8px;border:1px solid rgba(0,0,0,0.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:20px;min-width:var(--cruise-canvas-node-width-medium);width:-moz-fit-content;width:fit-content;max-width:100%}.content--zdMqn1ov:empty{display:none}.message--CC09F6Pi:first-child > .message-part--h0OExat1:first-child > :first-child{margin-top:0}.icon--i_Eo2KvU{color:#abaab7}.completed--NfHzTqxj .icon--i_Eo2KvU{color:#0fbe59}.failed--UHw5ym5a .icon--i_Eo2KvU{color:#f24c25}.working--hPmYriQY .icon--i_Eo2KvU{color:var(--elevo-color-brand)}.input-required--iLv9MI8X .icon--i_Eo2KvU{color:#12aacc}.canceled--xdorM4ka .icon--i_Eo2KvU{color:#fcaa07}ai-portal\\.chat-stream[hide-mermaid] .content--zdMqn1ov .markdown--id3ANDOE .mermaid{display:none}",""]),r.locals={heading:"heading--Uyl__y0l",main:"main--TukugFGT",caret:"caret--RIrd1Bh6",icon:"icon--i_Eo2KvU",title:"title--dRyYSVof",tool:"tool--eKJi4smD",body:"body--CUgbPhLT",collapsed:"collapsed--RP7bbO2u",content:"content--zdMqn1ov",markdown:"markdown--id3ANDOE",message:"message--CC09F6Pi","message-part":"message-part--h0OExat1",completed:"completed--NfHzTqxj",failed:"failed--UHw5ym5a",working:"working--hPmYriQY","input-required":"input-required--iLv9MI8X",canceled:"canceled--xdorM4ka"};const l=r},26598:(e,t,a)=>{a.d(t,{A:()=>l});var n=a(36758),o=a.n(n),i=a(40935),r=a.n(i)()(o());r.push([e.id,".user--HjXM9OHW{background:rgba(255,255,255,0.6);border-radius:24px;padding:8px 16px;width:-moz-fit-content;width:fit-content;max-width:500px;margin-left:auto;overflow-wrap:break-word;white-space:pre-wrap;font-size:16px;line-height:26px}",""]),r.locals={user:"user--HjXM9OHW"};const l=r},28340:(e,t,a)=>{e.exports=a.p+"images/ddd8ccd2.png"},30495:(e,t,a)=>{a.d(t,{C:()=>pe});var n=a(18769),o=a.n(n),i=a(29475),r=a(99126),l=a(53373),s=a.n(l),c=a(89107),d=a(17299),m=a(44394),u=a(72591),p=a.n(u),f=a(1740),h=a.n(f),g=a(88128),b=a.n(g),v=a(30855),x=a.n(v),w=a(93051),k=a.n(w),E=a(73656),y=a.n(E),A=a(26598),N={};N.styleTagTransform=y(),N.setAttributes=x(),N.insert=b().bind(null,"head"),N.domAPI=h(),N.insertStyleElement=k(),p()(A.A,N);const C=A.A&&A.A.locals?A.A.locals:void 0;function T(e){let{content:t}=e;return o().createElement("div",{className:C.user},t)}var j=a(35754),I={};I.styleTagTransform=y(),I.setAttributes=x(),I.insert=b().bind(null,"head"),I.domAPI=h(),I.insertStyleElement=k(),p()(j.A,I);const S=j.A&&j.A.locals?j.A.locals:void 0;var _=a(89575),O=a(8778),R={};R.styleTagTransform=y(),R.setAttributes=x(),R.insert=b().bind(null,"head"),R.domAPI=h(),R.insertStyleElement=k(),p()(O.A,R);const P=O.A&&O.A.locals?O.A.locals:void 0;var U=a(36903),z=a(66993),V=a(74049),H=a(23543),F=a(65438),M={};M.styleTagTransform=y(),M.setAttributes=x(),M.insert=b().bind(null,"head"),M.domAPI=h(),M.insertStyleElement=k(),p()(F.A,M);const J=F.A&&F.A.locals?F.A.locals:void 0;function D(e){let{job:t}=e;const[a,i]=(0,n.useState)("medium"),r=(0,n.useCallback)((e=>{i(e)}),[]);return o().createElement("div",{className:s()(J.view,{[J.large]:"large"===a})},o().createElement(H.y,{job:t,onSizeChange:r}))}var L=a(31918);const q=(0,n.createContext)({lastToolCallJobId:null,setUserClosedAside:()=>{}}),K={lib:"fa",icon:"angle-up"};function W(e){var t,a;let{job:i,taskState:r}=e;const l=i.toolCall,c=(null==l||null===(t=l.annotations)||void 0===t?void 0:t.title)||(null==l?void 0:l.name),d=null==l?void 0:l.name,u=!!l,{setActiveToolCallJobId:p}=(0,n.useContext)(L.j),{lastToolCallJobId:f,setUserClosedAside:h}=(0,n.useContext)(q),{className:g,icon:b}=(0,n.useMemo)((()=>function(e,t){switch(e){case"completed":return{className:P.completed,icon:{lib:"antd",theme:"filled",icon:"check-circle"}};case"submitted":case"working":return"terminated"===t?{icon:{lib:"fa",prefix:"far",icon:"circle-stop"}}:{className:P.working,icon:{lib:"antd",theme:"outlined",icon:"loading-3-quarters",spinning:!0}};case"input-required":return{className:P["input-required"],icon:{lib:"fa",prefix:"far",icon:"circle-user"}};case"failed":return{className:P.failed,icon:{lib:"fa",prefix:"fas",icon:"xmark"}};case"canceled":case"terminated":return{className:P.canceled,icon:{lib:"fa",prefix:"far",icon:"circle-stop"}};case"skipped":return{icon:{lib:"fa",prefix:"fas",icon:"ban"}};default:return{icon:{lib:"fa",prefix:"far",icon:"clock"}}}}(i.state,r)),[i.state,r]),[v,x]=(0,n.useMemo)((()=>{var e;const t=[],a=[],n=[];let o="llm_answer"===d;return null===(e=i.messages)||void 0===e||e.forEach((e=>{if("tool"===e.role)for(const l of e.parts){var i;if("data"===l.type)switch(null===(i=l.data)||void 0===i?void 0:i.type){case"markdown":t.push(l.data.content);break;case"cmdb_instance_detail":var r;a.push(l.data),o||(o=Object.keys("object"===(null===(r=l.data)||void 0===r||null===(r=r.outputSchema)||void 0===r?void 0:r.type)?l.data.outputSchema.properties:l.data.detail).length>6)}else"file"===l.type&&n.push(l.file)}})),[t.join(""),a,n]}),[i.messages,d]),[w,k]=(0,n.useState)(!1);return o().createElement("div",{className:s()({[P.collapsed]:w})},o().createElement("div",{className:P.main},null===(a=i.messages)||void 0===a?void 0:a.map(((e,t)=>{var a;return"tool"===e.role?null:o().createElement("div",{key:t,className:s()(P.message,U.A.markdown)},null===(a=e.parts)||void 0===a?void 0:a.map(((e,t)=>o().createElement(o().Fragment,{key:t},"text"===e.type&&o().createElement(z.w,{className:s()(P["message-part"],U.A["markdown-wrapper"]),content:e.text})))))}))),u&&o().createElement(o().Fragment,null,o().createElement("div",{className:s()(P.heading,g),onClick:()=>k((e=>!e))},o().createElement("div",{className:P.icon},o().createElement(m.Bj,b)),o().createElement("div",{className:P.title},i.instruction||c),o().createElement(m.Bj,(0,_.A)({className:P.caret},K))),o().createElement("div",{className:P.body},o().createElement("div",{className:P.tool,onClick:()=>{p(i.id),i.id===f&&h(!1)}},c),o().createElement("div",{className:P.content},v&&o().createElement("div",{className:s()(P.markdown,U.A.markdown)},o().createElement(z.w,{className:U.A["markdown-wrapper"],content:v})),x.map(((e,t)=>o().createElement("div",{key:t,className:P.box},o().createElement(V.H,e)))),i.generatedView?o().createElement(D,{job:i}):null))))}var Y=a(97907);function B(e){let{jobs:t,taskState:a,error:i,isLatest:r}=e;const l=(0,n.useMemo)((()=>{if(!r||Y.Z5.includes(a))return!1;for(const e of t)if("input-required"===e.state)return!1;const e=t[t.length-1];return!e||"working"!==e.state||!e.toolCall}),[r,t,a]);return o().createElement("div",{className:S.assistant},o().createElement(m.Bj,{lib:"easyops",category:"image",icon:"elevo-avatar-png",className:S.avatar}),o().createElement("div",{className:S.body},t.map((e=>o().createElement(W,{key:e.id,job:e,taskState:a}))),l&&o().createElement("div",{className:S.texting}),null!=i&&o().createElement("div",{className:S.error},i)))}var G=a(15171),X=a(85011),Q=a(83090),Z={};Z.styleTagTransform=y(),Z.setAttributes=x(),Z.insert=b().bind(null,"head"),Z.domAPI=h(),Z.insertStyleElement=k(),p()(Q.A,Z);const $=Q.A&&Q.A.locals?Q.A.locals:void 0;var ee=a(42137),te=a(18905);const ae={lib:"easyops",icon:"shrink"};function ne(e){let{job:t}=e;const{setActiveToolCallJobId:a}=(0,n.useContext)(L.j),{setUserClosedAside:i}=(0,n.useContext)(q),[r,l]=(0,n.useMemo)((()=>{var e;const a=[],n=[],o=[];return null===(e=t.messages)||void 0===e||e.forEach((e=>{if("tool"===e.role)for(const i of e.parts){var t;if("data"===i.type)switch(null===(t=i.data)||void 0===t?void 0:t.type){case"markdown":a.push(i.data.content);break;case"cmdb_instance_detail":n.push(i.data)}else"file"===i.type&&o.push(i.file)}})),[a.join(""),n,o]}),[t.messages]);return o().createElement("div",{className:$.aside},o().createElement("div",{className:$.box},o().createElement("div",{className:$.header},o().createElement("div",{className:$.title},"Elevo's Computer"),o().createElement(m.Py,{icon:ae,variant:"mini",onClick:()=>{a(null),i(!0)}})),o().createElement("div",{className:$.body},o().createElement(ee.t,{job:t,variant:"read-only"}),t.generatedView?o().createElement(oe,{name:"View",source:t.generatedView.code,language:"jsx"}):r?o().createElement(oe,{name:"Content",source:r,language:"md"}):l.length>0?o().createElement(oe,{name:"CMDB",source:JSON.stringify(l,null,2),language:"json"}):null)))}function oe(e){let{name:t,source:a,language:i}=e;return o().createElement("div",{className:s()($.app,$.editor)},o().createElement("div",{className:$.heading},`${t}.${i}`),o().createElement("div",{className:s()($.content,U.A.markdown)},o().createElement("div",{className:$.scroller},o().createElement(n.Suspense,{fallback:o().createElement(m.Bj,Y.Xc)},o().createElement(te.s,{source:a,language:i})))))}var ie=a(11303),re=a(76239),le={};le.styleTagTransform=y(),le.setAttributes=x(),le.insert=b().bind(null,"head"),le.domAPI=h(),le.insertStyleElement=k(),p()(re.A,le);const se=re.A&&re.A.locals?re.A.locals:void 0;var ce=a(86767),de=a(92914),me=a(40928);const ue={lib:"easyops",icon:"share"};function pe(e,t){var a;let{conversationId:l,initialRequest:u,replay:p,replayDelay:f,supports:h,showHumanActions:g,showFeedback:b,showFeedbackAfterFailed:v,showFeedbackOnView:x,showUiSwitch:w,previewUrlTemplate:k,showCases:E,exampleProjects:y,tryItOutUrl:A,onShare:N,onTerminate:C,onSubmitFeedback:j,onSwitchToCanvas:I,onFeedbackOnView:S,onDetailChange:_}=e;const{conversation:O,tasks:R,errors:P,humanInputRef:U,skipToResults:z,watchAgain:V}=(0,c.u)(l,u,p,f),H=null!==(a=null==O?void 0:O.title)&&void 0!==a?a:"",F=null==O?void 0:O.state,M=Y.QB.includes(F)||"input-required"===F,{messages:J,jobMap:D,lastToolCallJobId:K}=function(e,t,a,o){return(0,n.useMemo)((()=>{if(!e)return{messages:[],lastToolCallJobId:null};const n=[],{list:i,map:r,jobsWithFollowingErrors:l}=(0,d.$)(t,a);let s={role:"assistant",jobs:[]},c=null;for(const e of i){var m;const t=r.get(e);t.toolCall&&(c=e),"completed"===t.state&&null!==(m=t.messages)&&void 0!==m&&m.length&&t.messages.every((e=>"user"===e.role))?((s.jobs.length>0||s.error)&&n.push(s),n.push({role:"user",content:t.messages.flatMap((e=>e.parts.map((e=>"text"===e.type?e.text:"")))).join("")}),s={role:"assistant",jobs:[]}):s.jobs.push(t);const a=l.get(e);a&&(s.error=a),null!=o&&o.showHumanActions&&t.humanAction&&((s.jobs.length>0||s.error)&&n.push(s),n.push({role:"user",content:t.humanAction}),s={role:"assistant",jobs:[]})}return n.push(s),{messages:n,jobMap:r,lastToolCallJobId:c}}),[e,t,a])}(O,R,P,{showHumanActions:g});(0,n.useEffect)((()=>{_({projectId:null==O?void 0:O.projectId})}),[_,null==O?void 0:O.projectId]);const W=(0,n.useMemo)((()=>D?[...D.values()].flatMap((e=>e.generatedView?{id:e.id,view:e.generatedView}:[])):[]),[D]),[Q,Z]=(0,n.useState)(!1),[$,ee]=(0,n.useState)(!1),[te,ae]=(0,n.useState)(!!b);(0,n.useEffect)((()=>{ae(!!b)}),[b]);const[oe,re]=(0,n.useState)(),le=(0,n.useCallback)((e=>{Z(!0),j(e)}),[j]);(0,n.useImperativeHandle)(t,(()=>({feedbackSubmitDone:()=>{ee(!0),setTimeout((()=>{ae(!1)}),3e3)},feedbackSubmitFailed:()=>{Z(!1)},feedbackOnViewDone:e=>{re((t=>{const a=new Set(t);return a.add(e),a}))}})),[]);const[pe,fe]=(0,n.useState)(null),[he,ge]=(0,n.useState)(null),[be,ve]=(0,n.useState)(!1),xe=(0,n.useRef)(!1),we=!!O;(0,n.useEffect)((()=>{if(we){const e=setTimeout((()=>{xe.current=!0}),1e3);return()=>{clearTimeout(e)}}}),[we]),(0,n.useEffect)((()=>{xe.current&&K&&!be&&ge(K)}),[K,be]),(0,n.useEffect)((()=>{(0,i.getRuntime)().applyPageTitle(H)}),[H]);const ke=(0,n.useCallback)(((e,t,a)=>{var n;null===(n=U.current)||void 0===n||n.call(U,e,t,a)}),[U]),Ee=J[0],ye=(0,n.useMemo)((()=>{if("user"===(null==Ee?void 0:Ee.role))return Ee.content}),[Ee]),Ae=l,Ne=(0,n.useMemo)((()=>({conversationId:l,workspace:Ae,previewUrlTemplate:k,replay:p,showCases:E,exampleProjects:y,humanInput:ke,onShare:N,onTerminate:C,supports:h,activeExpandedViewJobId:pe,setActiveExpandedViewJobId:fe,activeToolCallJobId:he,setActiveToolCallJobId:ge,submittingFeedback:Q,submittedFeedback:$,onSubmitFeedback:le,setShowFeedback:ae,showFeedbackOnView:x,onFeedbackOnView:S,feedbackDoneViews:oe,skipToResults:z,watchAgain:V,tryItOut(){const e=window.open(`${(0,i.getBasePath)().slice(0,-1)}${null!=A?A:"/elevo"}`,"_blank");e&&(e.__elevo_try_it_out={content:ye})}})),[l,Ae,k,p,E,y,ke,N,C,h,pe,he,Q,$,le,x,S,oe,z,V,ye,A]),Ce=(0,n.useMemo)((()=>({lastToolCallJobId:K,setUserClosedAside:ve})),[K]),Te=(0,n.useRef)(!1),je=(0,n.useRef)(!1),Ie=(0,n.useRef)(null),[Se,_e]=(0,n.useState)(!1);(0,n.useEffect)((()=>{const e=Ie.current,t=null==e?void 0:e.firstElementChild;if(je.current||!e||!t)return;const a=()=>{_e(e.scrollTop+e.clientHeight+24<e.scrollHeight),Te.current&&(je.current=e.scrollTop+e.clientHeight+6<e.scrollHeight)};let n;e.addEventListener("scroll",a);const o=new r.A((()=>{je.current||(Te.current=!1,e.scrollTo({top:t.scrollHeight,behavior:"instant"}),clearTimeout(n),n=setTimeout((()=>{Te.current=!0}),100))}));return o.observe(t),()=>{o.disconnect(),e.removeEventListener("scroll",a)}}),[we]);const Oe=(0,n.useCallback)((()=>{const e=Ie.current;null==e||e.scrollTo({top:null==e?void 0:e.scrollHeight,behavior:"instant"})}),[]),Re=(0,n.useMemo)((()=>he&&(null==D?void 0:D.get(he))||null),[he,D]);return o().createElement(L.j.Provider,{value:Ne},o().createElement(q.Provider,{value:Ce},o().createElement("div",{className:se.container},o().createElement("div",{className:se.header},o().createElement("div",{className:se.left}),o().createElement("h1",null,H),o().createElement("div",{className:se.right},w&&o().createElement(m.Py,{className:se["navbar-switch-ui"],icon:Y.Rq,variant:"mini",title:(0,de.t)(de.K.SWITCH_TO_CANVAS),onClick:I}),o().createElement(m.Py,{icon:ue,variant:"mini",onClick:N}))),we?o().createElement(o().Fragment,null,o().createElement("div",{className:se.main,ref:Ie},o().createElement("div",{className:se.narrow},J.map(((e,t,a)=>o().createElement("div",{className:se.message,key:t},"user"===e.role?o().createElement(T,{content:e.content}):o().createElement(B,{jobs:e.jobs,taskState:F,error:e.error,isLatest:t===a.length-1})))),p?(null==O?void 0:O.finished)&&o().createElement(me.A,{finished:!0,ui:"chat"}):te&&("completed"===F||"failed"===F&&v)&&o().createElement(ie.k,{className:se.feedback}))),o().createElement("div",{className:se["scroll-down"],hidden:!Se,onClick:Oe},o().createElement(m.Bj,{lib:"antd",icon:"down"})),(p?null==O||!O.finished:null==h?void 0:h.chat)?o().createElement("div",{className:se.footer},o().createElement("div",{className:se.narrow},p?o().createElement(me.A,null):o().createElement(G.s,{state:F,canChat:M}))):null):o().createElement("div",{className:se["loading-icon"]},o().createElement(m.Bj,{lib:"antd",theme:"outlined",icon:"loading-3-quarters",spinning:!0}))),o().createElement("div",{className:s()(se.aside,{[se.expanded]:!!Re})},Re&&o().createElement(ne,{job:Re})),pe&&o().createElement(X.f,{views:W}),w&&o().createElement("div",{className:s()(ce.A.toolbar,se.toolbar)},o().createElement(m.Py,{icon:Y.Rq,variant:"mini",title:(0,de.t)(de.K.SWITCH_TO_CANVAS),onClick:I}))))}},35754:(e,t,a)=>{a.d(t,{A:()=>l});var n=a(36758),o=a.n(n),i=a(40935),r=a.n(i)()(o());r.push([e.id,'.assistant--CrlgPgYL{display:flex}.body--sAIo2dhL{flex:1;min-width:0;padding:3px 0 3px 16px}.texting--Rpmsbpca{position:relative}.texting--Rpmsbpca::after{position:absolute;content:" ";animation:texting--Rpmsbpca 2s infinite;white-space:pre}.error--vPC70WgS{color:var(--color-error);white-space:pre-wrap}.avatar--jaJhEiSV{font-size:32px}@keyframes texting--Rpmsbpca{0%{content:" "}25%{content:". "}50%{content:".. "}75%{content:"..."}100%{content:" "}}',""]),r.locals={assistant:"assistant--CrlgPgYL",body:"body--sAIo2dhL",texting:"texting--Rpmsbpca",error:"error--vPC70WgS",avatar:"avatar--jaJhEiSV"};const l=r},65438:(e,t,a)=>{a.d(t,{A:()=>l});var n=a(36758),o=a.n(n),i=a(40935),r=a.n(i)()(o());r.push([e.id,".view--O8CNDdS_{background:rgba(255,255,255,0.6);border-radius:8px;border:1px solid rgba(0,0,0,0.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:12px 20px;width:var(--cruise-canvas-node-width-medium);max-width:100%}.large--jT3IWlRf{width:var(--cruise-canvas-node-width-large)}",""]),r.locals={view:"view--O8CNDdS_",large:"large--jT3IWlRf"};const l=r},76239:(e,t,a)=>{a.d(t,{A:()=>u});var n=a(36758),o=a.n(n),i=a(40935),r=a.n(i),l=a(20062),s=a.n(l),c=new URL(a(28340),a.b),d=r()(o()),m=s()(c);d.push([e.id,`ai-portal\\.chat-stream{display:flex;position:relative;width:100%;height:100%;overflow:hidden;background-color:#f3f3f4;background-image:url(${m});background-size:cover;background-repeat:no-repeat;background-position:center;background-attachment:fixed;color:rgba(0,0,0,0.88);--cruise-canvas-node-width-small:330px;--cruise-canvas-node-width-medium:453px;--cruise-canvas-node-width-large:800px;--cruise-canvas-primary-color:var(--elevo-color-brand);--cruise-canvas-input-background:rgba(255,255,255,0.8);--cruise-canvas-input-box-shadow:0px 1px 0px 0px #ffffff,inset 0px 2px 4px 0px #b3bcf9}.container--IOwk4fR1{display:flex;flex-direction:column;position:relative;flex:1;min-width:0}.header--O9c4lNA3{height:54px;padding:0 24px;display:flex;align-items:center;justify-content:space-between}.header--O9c4lNA3 h1{font-weight:500;font-size:14px;margin:0;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}.header--O9c4lNA3 .left--ed9ka1jF,.header--O9c4lNA3 .right--fs8TyVN3{width:56px}.header--O9c4lNA3 .right--fs8TyVN3{display:flex;align-items:center;justify-content:end;gap:8px}.main--KDIjetJs{overflow-y:auto;flex:1;padding:20px 24px}.narrow--xWih9UIb{width:100%;max-width:800px;margin:0 auto}.message--YIXGDQNi + .message--YIXGDQNi{margin-top:40px}.loading-icon--lagcmORP{flex:1;display:flex;align-items:center;justify-content:center;font-size:48px;color:#fff}.footer--aLZ8UWjM{padding:0 20px 24px}.aside--Xjd6To2A{width:0%;height:100%;transition:width 0.2s ease-in-out}.expanded--xZgk3uBF{width:50%}.feedback--YbYylTcK{margin:24px auto 0}.scroll-down--uNre4ZYi{display:flex;align-items:center;justify-content:center;position:absolute;left:50%;bottom:120px;transform:translateX(-50%);width:32px;height:32px;font-size:12px;border-radius:16px;background:#ffffff;box-shadow:0px 4px 8px 0px rgba(0,0,0,0.06);border:1px solid rgba(0,0,0,0.02);cursor:pointer}.scroll-down--uNre4ZYi:hover{box-shadow:0px 6px 12px 0px rgba(0,0,0,0.1)}.toolbar--uiLshJmw{left:20px;bottom:20px}.navbar-switch-ui--hREVJ6zG{display:none}@media (max-width: 1123px){div.toolbar--uiLshJmw{display:none}.navbar-switch-ui--hREVJ6zG{display:block}}`,""]),d.locals={container:"container--IOwk4fR1",header:"header--O9c4lNA3",left:"left--ed9ka1jF",right:"right--fs8TyVN3",main:"main--KDIjetJs",narrow:"narrow--xWih9UIb",message:"message--YIXGDQNi","loading-icon":"loading-icon--lagcmORP",footer:"footer--aLZ8UWjM",aside:"aside--Xjd6To2A",expanded:"expanded--xZgk3uBF",feedback:"feedback--YbYylTcK","scroll-down":"scroll-down--uNre4ZYi",toolbar:"toolbar--uiLshJmw","navbar-switch-ui":"navbar-switch-ui--hREVJ6zG"};const u=d},83090:(e,t,a)=>{a.d(t,{A:()=>l});var n=a(36758),o=a.n(n),i=a(40935),r=a.n(i)()(o());r.push([e.id,'.aside--DDIdDtkt{padding:12px 12px 12px 0;height:100%}.box--niuFBiiQ{background:#ffffff;box-shadow:1px 1px 10px 0px rgba(0,10,26,0.1);border-radius:12px;height:100%;display:flex;flex-direction:column}.header--DPl_hrTp{height:52px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(0,0,0,0.15);padding:0 20px}.title--HlE9yRcJ{font-weight:500;font-size:16px;color:#262626}.body--OLKz1zeC{flex:1;min-height:0;padding:20px;display:flex;flex-direction:column}.app--UanK0TGf{flex:1;min-height:0;background:#ffffff;border-radius:9px;border:1px solid #ccd1de;margin-top:16px;overflow:hidden;display:flex;flex-direction:column}.heading--ngRi_rQ4{background:#e6e9f3;color:#5e6472;padding:5px 14px}.content--I2i0y65v{font-size:12px;flex:1;min-height:0;position:relative}.scroller--mLfznC_I{height:100%;overflow-x:hidden;overflow-y:auto;overflow:hidden auto;padding:10px}.scroller--mLfznC_I.loading--U1GWHEp9{display:flex;align-items:center;justify-content:center}.editor--p_Sqs1os .content--I2i0y65v div[class*="code-block--"]{position:static}.editor--p_Sqs1os .content--I2i0y65v .shiki.light-plus{background:none!important;padding:0;margin:0;border-radius:0}',""]),r.locals={aside:"aside--DDIdDtkt",box:"box--niuFBiiQ",header:"header--DPl_hrTp",title:"title--HlE9yRcJ",body:"body--OLKz1zeC",app:"app--UanK0TGf",heading:"heading--ngRi_rQ4",content:"content--I2i0y65v",scroller:"scroller--mLfznC_I",loading:"loading--U1GWHEp9",editor:"editor--p_Sqs1os"};const l=r},92914:(e,t,a)=>{a.d(t,{I:()=>r,K:()=>o,NS:()=>i,t:()=>l});var n=a(87117);let o=function(e){return e.SWITCH_TO_CANVAS="SWITCH_TO_CANVAS",e}({});const i="bricks/ai-portal/chat-stream",r={en:{SWITCH_TO_CANVAS:"Switch to canvas"},zh:{SWITCH_TO_CANVAS:"切换为画布"}},l=n.i18n.getFixedT(null,i)}}]);
2
- //# sourceMappingURL=495.ab513dc5.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chunks/495.ab513dc5.js","mappings":"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","sources":["webpack:///./src/chat-stream/NodeJob/NodeJob.module.css","webpack:///./src/chat-stream/UserMessage/UserMessage.module.css","webpack:///./src/chat-stream/UserMessage/UserMessage.module.css?84b2","webpack:///./src/chat-stream/UserMessage/UserMessage.tsx","webpack:///./src/chat-stream/AssistantMessage/AssistantMessage.module.css?a84b","webpack:///./src/chat-stream/NodeJob/NodeJob.module.css?840d","webpack:///./src/chat-stream/NodeView/NodeView.module.css?3001","webpack:///./src/chat-stream/NodeView/NodeView.tsx","webpack:///./src/chat-stream/StreamContext.ts","webpack:///./src/chat-stream/NodeJob/NodeJob.tsx","webpack:///./src/chat-stream/AssistantMessage/AssistantMessage.tsx","webpack:///./src/chat-stream/Aside/Aside.module.css?0aa1","webpack:///./src/chat-stream/Aside/Aside.tsx","webpack:///./src/chat-stream/styles.module.css?c00e","webpack:///./src/chat-stream/ChatStream.tsx","webpack:///./src/chat-stream/useConversationStream.ts","webpack:///./src/chat-stream/AssistantMessage/AssistantMessage.module.css","webpack:///./src/chat-stream/NodeView/NodeView.module.css","webpack:///./src/chat-stream/styles.module.css","webpack:///./src/chat-stream/Aside/Aside.module.css","webpack:///./src/chat-stream/i18n.ts"],"sourcesContent":["// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.heading--Uyl__y0l{display:flex;align-items:center;padding:5px 8px;margin:0 -8px 12px;cursor:pointer}.main--TukugFGT{font-size:16px;line-height:26px}.caret--RIrd1Bh6{opacity:0;transition:transform 0.2s ease-in-out}.heading--Uyl__y0l:hover{background:rgba(184,187,205,0.15);border-radius:8px}.heading--Uyl__y0l:hover .caret--RIrd1Bh6{opacity:1}.icon--i_Eo2KvU{display:flex;align-items:center;margin-right:12px}.title--dRyYSVof{color:#262626;font-weight:500;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tool--eKJi4smD{background:#e2e5ef;border:1px solid #d4d4de;border-radius:13px;line-height:24px;padding:0 12px;width:-moz-fit-content;width:fit-content;color:#595959;cursor:pointer}.body--CUgbPhLT{padding-left:26px;margin-bottom:20px}.collapsed--RP7bbO2u .body--CUgbPhLT{display:none}.collapsed--RP7bbO2u .caret--RIrd1Bh6{transform:rotate(180deg);opacity:1}.content--zdMqn1ov{margin-top:14px}.content--zdMqn1ov .markdown--id3ANDOE .mermaid{background:rgba(255,255,255,0.6);border-radius:8px;border:1px solid rgba(0,0,0,0.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:20px;min-width:var(--cruise-canvas-node-width-medium);width:-moz-fit-content;width:fit-content;max-width:100%}.content--zdMqn1ov:empty{display:none}.message--CC09F6Pi:first-child > .message-part--h0OExat1:first-child > :first-child{margin-top:0}.icon--i_Eo2KvU{color:#abaab7}.completed--NfHzTqxj .icon--i_Eo2KvU{color:#0fbe59}.failed--UHw5ym5a .icon--i_Eo2KvU{color:#f24c25}.working--hPmYriQY .icon--i_Eo2KvU{color:var(--elevo-color-brand)}.input-required--iLv9MI8X .icon--i_Eo2KvU{color:#12aacc}.canceled--xdorM4ka .icon--i_Eo2KvU{color:#fcaa07}ai-portal\\\\.chat-stream[hide-mermaid] .content--zdMqn1ov .markdown--id3ANDOE .mermaid{display:none}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"heading\": `heading--Uyl__y0l`,\n\t\"main\": `main--TukugFGT`,\n\t\"caret\": `caret--RIrd1Bh6`,\n\t\"icon\": `icon--i_Eo2KvU`,\n\t\"title\": `title--dRyYSVof`,\n\t\"tool\": `tool--eKJi4smD`,\n\t\"body\": `body--CUgbPhLT`,\n\t\"collapsed\": `collapsed--RP7bbO2u`,\n\t\"content\": `content--zdMqn1ov`,\n\t\"markdown\": `markdown--id3ANDOE`,\n\t\"message\": `message--CC09F6Pi`,\n\t\"message-part\": `message-part--h0OExat1`,\n\t\"completed\": `completed--NfHzTqxj`,\n\t\"failed\": `failed--UHw5ym5a`,\n\t\"working\": `working--hPmYriQY`,\n\t\"input-required\": `input-required--iLv9MI8X`,\n\t\"canceled\": `canceled--xdorM4ka`\n};\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.user--HjXM9OHW{background:rgba(255,255,255,0.6);border-radius:24px;padding:8px 16px;width:-moz-fit-content;width:fit-content;max-width:500px;margin-left:auto;overflow-wrap:break-word;white-space:pre-wrap;font-size:16px;line-height:26px}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"user\": `user--HjXM9OHW`\n};\nexport default ___CSS_LOADER_EXPORT___;\n","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./UserMessage.module.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./UserMessage.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","import React from \"react\";\nimport styles from \"./UserMessage.module.css\";\n\nexport interface UserMessageProps {\n content: string;\n}\n\nexport function UserMessage({ content }: UserMessageProps) {\n return <div className={styles.user}>{content}</div>;\n}\n","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./AssistantMessage.module.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./AssistantMessage.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./NodeJob.module.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./NodeJob.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./NodeView.module.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./NodeView.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","// istanbul ignore file: experimental\nimport React, { useCallback, useState } from \"react\";\nimport classNames from \"classnames\";\nimport { CreatedView } from \"../../shared/CreatedView/CreatedView\";\nimport type { Job } from \"../../shared/interfaces\";\nimport styles from \"./NodeView.module.css\";\n\nexport interface NodeViewProps {\n job: Job;\n}\n\nexport function NodeView({ job }: NodeViewProps): JSX.Element {\n const [size, setSize] = useState<\"medium\" | \"large\">(\"medium\");\n\n const handleSizeChange = useCallback((value: \"medium\" | \"large\") => {\n setSize(value);\n }, []);\n\n return (\n <div\n className={classNames(styles.view, {\n [styles.large]: size === \"large\",\n })}\n >\n <CreatedView job={job} onSizeChange={handleSizeChange} />\n </div>\n );\n}\n","import { createContext, type Dispatch } from \"react\";\n\nexport interface StreamContextValue {\n lastToolCallJobId: string | null;\n setUserClosedAside: Dispatch<React.SetStateAction<boolean>>;\n}\n\nexport const StreamContext = createContext<StreamContextValue>({\n lastToolCallJobId: null,\n setUserClosedAside: () => {},\n});\n","import React, { useContext, useMemo, useState } from \"react\";\nimport classNames from \"classnames\";\nimport type { GeneralIconProps } from \"@next-bricks/icons/general-icon\";\nimport type { CmdbInstanceDetailData } from \"../../cruise-canvas/interfaces.js\";\nimport styles from \"./NodeJob.module.css\";\nimport sharedStyles from \"../../cruise-canvas/shared.module.css\";\nimport { WrappedIcon } from \"../../shared/bricks.js\";\nimport { EnhancedMarkdown } from \"../../cruise-canvas/EnhancedMarkdown/EnhancedMarkdown.js\";\nimport { CmdbInstanceDetail } from \"../../cruise-canvas/CmdbInstanceDetail/CmdbInstanceDetail.js\";\nimport { NodeView } from \"../NodeView/NodeView.js\";\nimport { TaskContext } from \"../../shared/TaskContext.js\";\nimport { StreamContext } from \"../StreamContext.js\";\nimport type {\n ConversationState,\n FileInfo,\n Job,\n JobState,\n TaskState,\n} from \"../../shared/interfaces.js\";\n\nexport interface NodeJobProps {\n job: Job;\n taskState: TaskState | ConversationState | undefined;\n}\n\nconst ICON_UP: GeneralIconProps = {\n lib: \"fa\",\n icon: \"angle-up\",\n};\n\nexport function NodeJob({ job, taskState }: NodeJobProps) {\n const toolCall = job.toolCall;\n const toolTitle = toolCall?.annotations?.title || toolCall?.name;\n const toolName = toolCall?.name;\n const showToolCall = !!toolCall;\n const { setActiveToolCallJobId } = useContext(TaskContext);\n const { lastToolCallJobId, setUserClosedAside } = useContext(StreamContext);\n\n const { className, icon } = useMemo(() => {\n return getClassNameAndIconProps(job.state, taskState);\n }, [job.state, taskState]);\n\n const [toolMarkdownContent, cmdbInstanceDetails /* , files */] =\n useMemo(() => {\n const contents: string[] = [];\n const instanceDetails: CmdbInstanceDetailData[] = [];\n const files: FileInfo[] = [];\n let large = toolName === \"llm_answer\";\n job.messages?.forEach((message) => {\n if (message.role === \"tool\") {\n for (const part of message.parts) {\n if (part.type === \"data\") {\n switch (part.data?.type) {\n case \"markdown\":\n contents.push(part.data.content);\n break;\n case \"cmdb_instance_detail\":\n instanceDetails.push(part.data as CmdbInstanceDetailData);\n if (!large) {\n large =\n Object.keys(\n part.data?.outputSchema?.type === \"object\"\n ? part.data.outputSchema.properties\n : part.data.detail\n ).length > 6;\n }\n break;\n }\n } else if (part.type === \"file\") {\n files.push(part.file);\n }\n }\n }\n });\n\n const markdownContent = contents.join(\"\");\n\n return [markdownContent, instanceDetails, files] as const;\n }, [job.messages, toolName]);\n\n const [collapsed, setCollapsed] = useState(false);\n\n return (\n <div className={classNames({ [styles.collapsed]: collapsed })}>\n <div className={styles.main}>\n {job.messages?.map((message, index) =>\n message.role === \"tool\" ? null : (\n <div\n key={index}\n className={classNames(styles.message, sharedStyles.markdown)}\n >\n {message.parts?.map((part, partIndex) => (\n <React.Fragment key={partIndex}>\n {part.type === \"text\" && (\n <EnhancedMarkdown\n className={classNames(\n styles[\"message-part\"],\n sharedStyles[\"markdown-wrapper\"]\n )}\n content={part.text}\n />\n )}\n </React.Fragment>\n ))}\n </div>\n )\n )}\n </div>\n {showToolCall && (\n <>\n <div\n className={classNames(styles.heading, className)}\n onClick={() => setCollapsed((prev) => !prev)}\n >\n <div className={styles.icon}>\n <WrappedIcon {...icon} />\n </div>\n <div className={styles.title}>{job.instruction || toolTitle}</div>\n <WrappedIcon className={styles.caret} {...ICON_UP} />\n </div>\n <div className={styles.body}>\n <div\n className={styles.tool}\n onClick={() => {\n setActiveToolCallJobId(job.id);\n if (job.id === lastToolCallJobId) {\n setUserClosedAside(false);\n }\n }}\n >\n {toolTitle}\n </div>\n <div className={styles.content}>\n {toolMarkdownContent && (\n <div\n className={classNames(styles.markdown, sharedStyles.markdown)}\n >\n <EnhancedMarkdown\n className={sharedStyles[\"markdown-wrapper\"]}\n content={toolMarkdownContent}\n />\n </div>\n )}\n {cmdbInstanceDetails.map((detail, index) => (\n <div key={index} className={styles.box}>\n <CmdbInstanceDetail {...detail} />\n </div>\n ))}\n {job.generatedView ? <NodeView job={job} /> : null}\n </div>\n </div>\n </>\n )}\n </div>\n );\n}\n\nfunction getClassNameAndIconProps(\n state: JobState | undefined,\n taskState: TaskState | ConversationState | undefined\n) {\n switch (state) {\n case \"completed\":\n return {\n className: styles.completed,\n icon: {\n lib: \"antd\",\n theme: \"filled\",\n icon: \"check-circle\",\n },\n };\n case \"submitted\":\n case \"working\":\n if (taskState === \"terminated\") {\n return {\n icon: {\n lib: \"fa\",\n prefix: \"far\",\n icon: \"circle-stop\",\n },\n };\n }\n return {\n className: styles.working,\n icon: {\n lib: \"antd\",\n theme: \"outlined\",\n icon: \"loading-3-quarters\",\n spinning: true,\n },\n };\n case \"input-required\":\n return {\n className: styles[\"input-required\"],\n icon: {\n lib: \"fa\",\n prefix: \"far\",\n icon: \"circle-user\",\n },\n };\n case \"failed\":\n return {\n className: styles.failed,\n icon: {\n lib: \"fa\",\n prefix: \"fas\",\n icon: \"xmark\",\n },\n };\n case \"canceled\":\n case \"terminated\" as JobState:\n return {\n className: styles.canceled,\n icon: {\n lib: \"fa\",\n prefix: \"far\",\n icon: \"circle-stop\",\n },\n };\n case \"skipped\":\n return {\n icon: {\n lib: \"fa\",\n prefix: \"fas\",\n icon: \"ban\",\n },\n };\n default:\n return {\n icon: {\n lib: \"fa\",\n prefix: \"far\",\n icon: \"clock\",\n },\n };\n }\n}\n","import React, { useMemo } from \"react\";\nimport styles from \"./AssistantMessage.module.css\";\nimport { NodeJob } from \"../NodeJob/NodeJob.js\";\nimport { NON_WORKING_STATES } from \"../../shared/constants.js\";\nimport type {\n ConversationState,\n Job,\n TaskState,\n} from \"../../shared/interfaces.js\";\nimport { WrappedIcon } from \"../../shared/bricks.js\";\n\nexport interface AssistantMessageProps {\n jobs: Job[];\n taskState: TaskState | ConversationState | undefined;\n error?: string | null;\n isLatest?: boolean;\n}\n\nexport function AssistantMessage({\n jobs,\n taskState,\n error,\n isLatest,\n}: AssistantMessageProps) {\n const working = useMemo(() => {\n if (!isLatest || NON_WORKING_STATES.includes(taskState!)) {\n return false;\n }\n for (const job of jobs) {\n if (job.state === \"input-required\") {\n return false;\n }\n }\n const lastJob = jobs[jobs.length - 1];\n if (lastJob && lastJob.state === \"working\" && lastJob.toolCall) {\n return false;\n }\n\n return true;\n }, [isLatest, jobs, taskState]);\n\n return (\n <div className={styles.assistant}>\n <WrappedIcon\n lib=\"easyops\"\n category=\"image\"\n icon=\"elevo-avatar-png\"\n className={styles.avatar}\n />\n <div className={styles.body}>\n {jobs.map((job) => (\n <NodeJob key={job.id} job={job} taskState={taskState} />\n ))}\n {working && <div className={styles.texting}></div>}\n {error != null && <div className={styles.error}>{error}</div>}\n </div>\n </div>\n );\n}\n","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./Aside.module.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./Aside.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","import React, { Suspense, useContext, useMemo } from \"react\";\nimport classNames from \"classnames\";\nimport type { GeneralIconProps } from \"@next-bricks/icons/general-icon\";\nimport styles from \"./Aside.module.css\";\nimport sharedStyles from \"../../cruise-canvas/shared.module.css\";\nimport { WrappedIcon, WrappedIconButton } from \"../../shared/bricks\";\nimport type { CmdbInstanceDetailData } from \"../../cruise-canvas/interfaces\";\nimport { ToolCallStatus } from \"../../cruise-canvas/ToolCallStatus/ToolCallStatus\";\nimport { TaskContext } from \"../../shared/TaskContext\";\nimport { StreamContext } from \"../StreamContext\";\nimport { ICON_LOADING } from \"../../shared/constants\";\nimport { CodeDisplay } from \"../../shared/CodeDisplay\";\nimport type { FileInfo, Job } from \"../../shared/interfaces\";\n\nconst ICON_SHRINK: GeneralIconProps = {\n lib: \"easyops\",\n icon: \"shrink\",\n};\n\nexport interface AsideProps {\n job: Job;\n}\n\nexport function Aside({ job }: AsideProps) {\n const { setActiveToolCallJobId } = useContext(TaskContext);\n const { setUserClosedAside } = useContext(StreamContext);\n\n const [toolMarkdownContent, cmdbInstanceDetails /* , files */] =\n useMemo(() => {\n const contents: string[] = [];\n const instanceDetails: CmdbInstanceDetailData[] = [];\n const files: FileInfo[] = [];\n job.messages?.forEach((message) => {\n if (message.role === \"tool\") {\n for (const part of message.parts) {\n if (part.type === \"data\") {\n switch (part.data?.type) {\n case \"markdown\":\n contents.push(part.data.content);\n break;\n case \"cmdb_instance_detail\":\n instanceDetails.push(part.data as CmdbInstanceDetailData);\n break;\n }\n } else if (part.type === \"file\") {\n files.push(part.file);\n }\n }\n }\n });\n\n const markdownContent = contents.join(\"\");\n\n return [markdownContent, instanceDetails, files] as const;\n }, [job.messages]);\n\n return (\n <div className={styles.aside}>\n <div className={styles.box}>\n <div className={styles.header}>\n <div className={styles.title}>Elevo&#39;s Computer</div>\n <WrappedIconButton\n icon={ICON_SHRINK}\n variant=\"mini\"\n onClick={() => {\n setActiveToolCallJobId(null);\n setUserClosedAside(true);\n }}\n />\n </div>\n <div className={styles.body}>\n <ToolCallStatus job={job} variant=\"read-only\" />\n {job.generatedView ? (\n <EditorApp\n name=\"View\"\n source={job.generatedView.code}\n language=\"jsx\"\n />\n ) : toolMarkdownContent ? (\n <EditorApp\n name=\"Content\"\n source={toolMarkdownContent}\n language=\"md\"\n />\n ) : cmdbInstanceDetails.length > 0 ? (\n <EditorApp\n name=\"CMDB\"\n source={JSON.stringify(cmdbInstanceDetails, null, 2)}\n language=\"json\"\n />\n ) : null}\n </div>\n </div>\n </div>\n );\n}\n\ninterface EditorAppProps {\n name: string;\n source: string;\n language: string;\n}\n\nfunction EditorApp({ name, source, language }: EditorAppProps) {\n return (\n <div className={classNames(styles.app, styles.editor)}>\n <div className={styles.heading}>{`${name}.${language}`}</div>\n <div className={classNames(styles.content, sharedStyles.markdown)}>\n <div className={styles.scroller}>\n <Suspense fallback={<WrappedIcon {...ICON_LOADING} />}>\n <CodeDisplay source={source} language={language} />\n </Suspense>\n </div>\n </div>\n </div>\n );\n}\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./styles.module.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./styles.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","// istanbul ignore file: experimental\nimport React, {\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { getBasePath, getRuntime } from \"@next-core/runtime\";\nimport ResizeObserver from \"resize-observer-polyfill\";\nimport classNames from \"classnames\";\nimport type { GeneralIconProps } from \"@next-bricks/icons/general-icon\";\nimport { useConversationDetail } from \"../cruise-canvas/useConversationDetail.js\";\nimport { useConversationStream } from \"./useConversationStream.js\";\nimport { WrappedIcon, WrappedIconButton } from \"../shared/bricks.js\";\nimport { UserMessage } from \"./UserMessage/UserMessage.js\";\nimport { AssistantMessage } from \"./AssistantMessage/AssistantMessage.js\";\nimport { TaskContext } from \"../shared/TaskContext.js\";\nimport { ChatBox } from \"../shared/ChatBox/ChatBox.js\";\nimport { DONE_STATES, ICON_CANVAS } from \"../shared/constants.js\";\nimport { ExpandedView } from \"../shared/ExpandedView/ExpandedView.js\";\nimport { Aside } from \"./Aside/Aside.js\";\nimport { StreamContext } from \"./StreamContext.js\";\nimport type { FeedbackDetail } from \"../cruise-canvas/interfaces.js\";\nimport { NodeFeedback } from \"../shared/NodeFeedback/NodeFeedback.js\";\nimport type { ChatStreamProps, ChatStreamRef, ConversationDetail } from \".\";\nimport styles from \"./styles.module.css\";\nimport toolbarStyles from \"../cruise-canvas/toolbar.module.css\";\nimport { K, t } from \"./i18n.js\";\nimport { NodeReplay } from \"../cruise-canvas/NodeReplay/NodeReplay.js\";\n\nconst ICON_SHARE: GeneralIconProps = {\n lib: \"easyops\",\n icon: \"share\",\n};\n\ninterface ChatStreamComponentProps extends ChatStreamProps {\n conversationId: string;\n onShare: () => void;\n onTerminate: () => void;\n onSubmitFeedback: (detail: FeedbackDetail) => void;\n onSwitchToCanvas: () => void;\n onFeedbackOnView: (viewId: string) => void;\n onDetailChange: (detail: ConversationDetail) => void;\n}\n\nexport function ChatStreamComponent(\n {\n conversationId,\n initialRequest,\n replay,\n replayDelay,\n supports,\n showHumanActions,\n showFeedback: propShowFeedback,\n showFeedbackAfterFailed,\n showFeedbackOnView,\n showUiSwitch,\n previewUrlTemplate,\n showCases,\n exampleProjects,\n tryItOutUrl,\n onShare,\n onTerminate,\n onSubmitFeedback,\n onSwitchToCanvas,\n onFeedbackOnView,\n onDetailChange,\n }: ChatStreamComponentProps,\n ref: React.Ref<ChatStreamRef>\n) {\n const {\n conversation,\n tasks,\n errors,\n humanInputRef,\n skipToResults,\n watchAgain,\n } = useConversationDetail(\n conversationId,\n initialRequest,\n replay,\n replayDelay\n );\n const pageTitle = conversation?.title ?? \"\";\n const conversationState = conversation?.state;\n const conversationDone = DONE_STATES.includes(conversationState!);\n const canChat = conversationDone || conversationState === \"input-required\";\n const { messages, jobMap, lastToolCallJobId } = useConversationStream(\n conversation,\n tasks,\n errors,\n { showHumanActions }\n );\n\n useEffect(() => {\n onDetailChange({\n projectId: conversation?.projectId,\n });\n }, [onDetailChange, conversation?.projectId]);\n\n const views = useMemo(() => {\n if (!jobMap) {\n return [];\n }\n return [...jobMap.values()].flatMap((job) =>\n job.generatedView\n ? {\n id: job.id,\n view: job.generatedView,\n }\n : []\n );\n }, [jobMap]);\n\n const [submittingFeedback, setSubmittingFeedback] = useState(false);\n const [submittedFeedback, setSubmittedFeedback] = useState(false);\n const [showFeedback, setShowFeedback] = useState<boolean>(!!propShowFeedback);\n useEffect(() => {\n setShowFeedback(!!propShowFeedback);\n }, [propShowFeedback]);\n const [feedbackDoneViews, setFeedbackDoneViews] = useState<\n Set<string> | undefined\n >();\n\n const handleSubmitFeedback = useCallback(\n (detail: FeedbackDetail) => {\n setSubmittingFeedback(true);\n onSubmitFeedback(detail);\n },\n [onSubmitFeedback]\n );\n\n useImperativeHandle(\n ref,\n () => ({\n feedbackSubmitDone: () => {\n setSubmittedFeedback(true);\n setTimeout(() => {\n setShowFeedback(false);\n }, 3000);\n },\n feedbackSubmitFailed: () => {\n setSubmittingFeedback(false);\n },\n feedbackOnViewDone: (viewId: string) => {\n setFeedbackDoneViews((prev) => {\n const newSet = new Set(prev);\n newSet.add(viewId);\n return newSet;\n });\n },\n }),\n []\n );\n\n const [activeExpandedViewJobId, setActiveExpandedViewJobId] = useState<\n string | null\n >(null);\n\n const [activeToolCallJobId, setActiveToolCallJobId] = useState<string | null>(\n null\n );\n const [userClosedAside, setUserClosedAside] = useState(false);\n // Delay flag to prevent aside from auto opened for a completed task\n const delayRef = useRef(false);\n\n const conversationAvailable = !!conversation;\n useEffect(() => {\n if (conversationAvailable) {\n const timer = setTimeout(() => {\n delayRef.current = true;\n }, 1000);\n return () => {\n clearTimeout(timer);\n };\n }\n }, [conversationAvailable]);\n\n useEffect(() => {\n if (delayRef.current && lastToolCallJobId && !userClosedAside) {\n setActiveToolCallJobId(lastToolCallJobId);\n }\n }, [lastToolCallJobId, userClosedAside]);\n\n useEffect(() => {\n getRuntime().applyPageTitle(pageTitle);\n }, [pageTitle]);\n\n const humanInput = useCallback(\n (jobId: string, input: string | null, action?: string) => {\n humanInputRef.current?.(jobId, input, action);\n },\n [humanInputRef]\n );\n\n const requirementMessage = messages[0];\n const userInput = useMemo(() => {\n if (requirementMessage?.role === \"user\") {\n return requirementMessage.content;\n }\n }, [requirementMessage]);\n\n const workspace = conversationId;\n\n const taskContextValue = useMemo(\n () => ({\n conversationId,\n workspace,\n previewUrlTemplate,\n replay,\n showCases,\n exampleProjects,\n\n humanInput,\n onShare,\n onTerminate,\n supports,\n\n activeExpandedViewJobId,\n setActiveExpandedViewJobId,\n activeToolCallJobId,\n setActiveToolCallJobId,\n\n submittingFeedback,\n submittedFeedback,\n onSubmitFeedback: handleSubmitFeedback,\n setShowFeedback,\n showFeedbackOnView,\n onFeedbackOnView,\n feedbackDoneViews,\n\n skipToResults,\n watchAgain,\n tryItOut() {\n const win = window.open(\n `${getBasePath().slice(0, -1)}${tryItOutUrl ?? \"/elevo\"}`,\n \"_blank\"\n );\n if (win) {\n win.__elevo_try_it_out = {\n content: userInput,\n };\n }\n },\n }),\n [\n conversationId,\n workspace,\n previewUrlTemplate,\n replay,\n showCases,\n exampleProjects,\n\n humanInput,\n onShare,\n onTerminate,\n supports,\n\n activeExpandedViewJobId,\n activeToolCallJobId,\n\n submittingFeedback,\n submittedFeedback,\n handleSubmitFeedback,\n showFeedbackOnView,\n onFeedbackOnView,\n feedbackDoneViews,\n\n skipToResults,\n watchAgain,\n userInput,\n tryItOutUrl,\n ]\n );\n\n const streamContextValue = useMemo(\n () => ({\n lastToolCallJobId,\n setUserClosedAside,\n }),\n [lastToolCallJobId]\n );\n\n const detectScrolledUpRef = useRef(false);\n const manualScrolledRef = useRef(false);\n const scrollContainerRef = useRef<HTMLDivElement>(null);\n const [scrollable, setScrollable] = useState(false);\n\n useEffect(() => {\n const scrollContainer = scrollContainerRef.current;\n const contentContainer = scrollContainer?.firstElementChild;\n if (manualScrolledRef.current || !scrollContainer || !contentContainer) {\n return;\n }\n\n const handleScroll = () => {\n setScrollable(\n scrollContainer.scrollTop + scrollContainer.clientHeight! + 24 <\n scrollContainer.scrollHeight\n );\n if (!detectScrolledUpRef.current) {\n return;\n }\n manualScrolledRef.current =\n scrollContainer.scrollTop + scrollContainer.clientHeight! + 6 <\n scrollContainer.scrollHeight;\n };\n scrollContainer.addEventListener(\"scroll\", handleScroll);\n\n let timer: ReturnType<typeof setTimeout>;\n const observer = new ResizeObserver(() => {\n if (manualScrolledRef.current) {\n return;\n }\n detectScrolledUpRef.current = false;\n // Scroll to the bottom of the content container\n scrollContainer.scrollTo({\n top: contentContainer.scrollHeight,\n behavior: \"instant\",\n });\n clearTimeout(timer);\n timer = setTimeout(() => {\n detectScrolledUpRef.current = true;\n }, 100);\n });\n observer.observe(contentContainer);\n\n return () => {\n observer.disconnect();\n scrollContainer.removeEventListener(\"scroll\", handleScroll);\n };\n }, [conversationAvailable]);\n\n const scrollToBottom = useCallback(() => {\n const scrollContainer = scrollContainerRef.current;\n scrollContainer?.scrollTo({\n top: scrollContainer?.scrollHeight,\n behavior: \"instant\",\n });\n }, []);\n\n const activeToolCallJob = useMemo(() => {\n if (!activeToolCallJobId) {\n return null;\n }\n return jobMap?.get(activeToolCallJobId) || null;\n }, [activeToolCallJobId, jobMap]);\n\n return (\n <TaskContext.Provider value={taskContextValue}>\n <StreamContext.Provider value={streamContextValue}>\n <div className={styles.container}>\n <div className={styles.header}>\n <div className={styles.left} />\n <h1>{pageTitle}</h1>\n <div className={styles.right}>\n {showUiSwitch && (\n <WrappedIconButton\n className={styles[\"navbar-switch-ui\"]}\n icon={ICON_CANVAS}\n variant=\"mini\"\n title={t(K.SWITCH_TO_CANVAS)}\n onClick={onSwitchToCanvas}\n />\n )}\n <WrappedIconButton\n icon={ICON_SHARE}\n variant=\"mini\"\n onClick={onShare}\n />\n </div>\n </div>\n {conversationAvailable ? (\n <>\n <div className={styles.main} ref={scrollContainerRef}>\n <div className={styles.narrow}>\n {messages.map((msg, index, list) => (\n <div className={styles.message} key={index}>\n {msg.role === \"user\" ? (\n <UserMessage content={msg.content} />\n ) : (\n <AssistantMessage\n jobs={msg.jobs}\n taskState={conversationState}\n error={msg.error}\n isLatest={index === list.length - 1}\n />\n )}\n </div>\n ))}\n {replay\n ? conversation?.finished && (\n <NodeReplay finished ui=\"chat\" />\n )\n : showFeedback &&\n (conversationState === \"completed\" ||\n (conversationState === \"failed\" &&\n showFeedbackAfterFailed)) && (\n <NodeFeedback className={styles.feedback} />\n )}\n </div>\n </div>\n <div\n className={styles[\"scroll-down\"]}\n hidden={!scrollable}\n onClick={scrollToBottom}\n >\n <WrappedIcon lib=\"antd\" icon=\"down\" />\n </div>\n {(replay ? !conversation?.finished : supports?.chat) ? (\n <div className={styles.footer}>\n <div className={styles.narrow}>\n {replay ? (\n <NodeReplay />\n ) : (\n <ChatBox state={conversationState} canChat={canChat} />\n )}\n </div>\n </div>\n ) : null}\n </>\n ) : (\n <div className={styles[\"loading-icon\"]}>\n <WrappedIcon\n lib=\"antd\"\n theme=\"outlined\"\n icon=\"loading-3-quarters\"\n spinning\n />\n </div>\n )}\n </div>\n <div\n className={classNames(styles.aside, {\n [styles.expanded]: !!activeToolCallJob,\n })}\n >\n {activeToolCallJob && <Aside job={activeToolCallJob!} />}\n </div>\n {activeExpandedViewJobId && <ExpandedView views={views!} />}\n {showUiSwitch && (\n <div className={classNames(toolbarStyles.toolbar, styles.toolbar)}>\n <WrappedIconButton\n icon={ICON_CANVAS}\n variant=\"mini\"\n title={t(K.SWITCH_TO_CANVAS)}\n onClick={onSwitchToCanvas}\n />\n </div>\n )}\n </StreamContext.Provider>\n </TaskContext.Provider>\n );\n}\n","import { useMemo } from \"react\";\nimport type { ChatMessage } from \"./interfaces.js\";\nimport type {\n ConversationBaseDetail,\n ConversationError,\n Task,\n} from \"../shared/interfaces.js\";\nimport { getFlatOrderedJobs } from \"../cruise-canvas/getFlatOrderedJobs.js\";\n\nexport function useConversationStream(\n conversation: ConversationBaseDetail | null | undefined,\n tasks: Task[],\n errors: ConversationError[],\n options?: {\n showHumanActions?: boolean;\n }\n) {\n return useMemo(() => {\n if (!conversation) {\n return {\n messages: [],\n lastToolCallJobId: null,\n };\n }\n\n const messages: ChatMessage[] = [];\n\n const {\n list,\n map: jobMap,\n jobsWithFollowingErrors,\n } = getFlatOrderedJobs(tasks, errors);\n\n let prevAssistantMessage: ChatMessage = {\n role: \"assistant\",\n jobs: [],\n };\n let lastToolCallJobId: string | null = null;\n for (const jobId of list) {\n const job = jobMap.get(jobId)!;\n\n if (job.toolCall) {\n lastToolCallJobId = jobId;\n }\n\n if (\n job.state === \"completed\" &&\n job.messages?.length &&\n job.messages.every((msg) => msg.role === \"user\")\n ) {\n if (\n prevAssistantMessage.jobs.length > 0 ||\n prevAssistantMessage.error\n ) {\n messages.push(prevAssistantMessage);\n }\n messages.push({\n role: \"user\",\n content: job.messages\n .flatMap((msg) =>\n msg.parts.map((part) => (part.type === \"text\" ? part.text : \"\"))\n )\n .join(\"\"),\n });\n prevAssistantMessage = {\n role: \"assistant\",\n jobs: [],\n };\n } else {\n prevAssistantMessage.jobs.push(job);\n }\n\n const followingError = jobsWithFollowingErrors.get(jobId);\n if (followingError) {\n prevAssistantMessage.error = followingError;\n }\n\n if (options?.showHumanActions && job.humanAction) {\n if (\n prevAssistantMessage.jobs.length > 0 ||\n prevAssistantMessage.error\n ) {\n messages.push(prevAssistantMessage);\n }\n messages.push({\n role: \"user\",\n content: job.humanAction,\n });\n prevAssistantMessage = {\n role: \"assistant\",\n jobs: [],\n };\n }\n }\n\n messages.push(prevAssistantMessage);\n\n return { messages, jobMap, lastToolCallJobId };\n }, [conversation, tasks, errors]);\n}\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.assistant--CrlgPgYL{display:flex}.body--sAIo2dhL{flex:1;min-width:0;padding:3px 0 3px 16px}.texting--Rpmsbpca{position:relative}.texting--Rpmsbpca::after{position:absolute;content:\" \";animation:texting--Rpmsbpca 2s infinite;white-space:pre}.error--vPC70WgS{color:var(--color-error);white-space:pre-wrap}.avatar--jaJhEiSV{font-size:32px}@keyframes texting--Rpmsbpca{0%{content:\" \"}25%{content:\". \"}50%{content:\".. \"}75%{content:\"...\"}100%{content:\" \"}}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"assistant\": `assistant--CrlgPgYL`,\n\t\"body\": `body--sAIo2dhL`,\n\t\"texting\": `texting--Rpmsbpca`,\n\t\"error\": `error--vPC70WgS`,\n\t\"avatar\": `avatar--jaJhEiSV`\n};\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.view--O8CNDdS_{background:rgba(255,255,255,0.6);border-radius:8px;border:1px solid rgba(0,0,0,0.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:12px 20px;width:var(--cruise-canvas-node-width-medium);max-width:100%}.large--jT3IWlRf{width:var(--cruise-canvas-node-width-large)}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"view\": `view--O8CNDdS_`,\n\t\"large\": `large--jT3IWlRf`\n};\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"./images/background.png\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `ai-portal\\\\.chat-stream{display:flex;position:relative;width:100%;height:100%;overflow:hidden;background-color:#f3f3f4;background-image:url(${___CSS_LOADER_URL_REPLACEMENT_0___});background-size:cover;background-repeat:no-repeat;background-position:center;background-attachment:fixed;color:rgba(0,0,0,0.88);--cruise-canvas-node-width-small:330px;--cruise-canvas-node-width-medium:453px;--cruise-canvas-node-width-large:800px;--cruise-canvas-primary-color:var(--elevo-color-brand);--cruise-canvas-input-background:rgba(255,255,255,0.8);--cruise-canvas-input-box-shadow:0px 1px 0px 0px #ffffff,inset 0px 2px 4px 0px #b3bcf9}.container--IOwk4fR1{display:flex;flex-direction:column;position:relative;flex:1;min-width:0}.header--O9c4lNA3{height:54px;padding:0 24px;display:flex;align-items:center;justify-content:space-between}.header--O9c4lNA3 h1{font-weight:500;font-size:14px;margin:0;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}.header--O9c4lNA3 .left--ed9ka1jF,.header--O9c4lNA3 .right--fs8TyVN3{width:56px}.header--O9c4lNA3 .right--fs8TyVN3{display:flex;align-items:center;justify-content:end;gap:8px}.main--KDIjetJs{overflow-y:auto;flex:1;padding:20px 24px}.narrow--xWih9UIb{width:100%;max-width:800px;margin:0 auto}.message--YIXGDQNi + .message--YIXGDQNi{margin-top:40px}.loading-icon--lagcmORP{flex:1;display:flex;align-items:center;justify-content:center;font-size:48px;color:#fff}.footer--aLZ8UWjM{padding:0 20px 24px}.aside--Xjd6To2A{width:0%;height:100%;transition:width 0.2s ease-in-out}.expanded--xZgk3uBF{width:50%}.feedback--YbYylTcK{margin:24px auto 0}.scroll-down--uNre4ZYi{display:flex;align-items:center;justify-content:center;position:absolute;left:50%;bottom:120px;transform:translateX(-50%);width:32px;height:32px;font-size:12px;border-radius:16px;background:#ffffff;box-shadow:0px 4px 8px 0px rgba(0,0,0,0.06);border:1px solid rgba(0,0,0,0.02);cursor:pointer}.scroll-down--uNre4ZYi:hover{box-shadow:0px 6px 12px 0px rgba(0,0,0,0.1)}.toolbar--uiLshJmw{left:20px;bottom:20px}.navbar-switch-ui--hREVJ6zG{display:none}@media (max-width: 1123px){div.toolbar--uiLshJmw{display:none}.navbar-switch-ui--hREVJ6zG{display:block}}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"container\": `container--IOwk4fR1`,\n\t\"header\": `header--O9c4lNA3`,\n\t\"left\": `left--ed9ka1jF`,\n\t\"right\": `right--fs8TyVN3`,\n\t\"main\": `main--KDIjetJs`,\n\t\"narrow\": `narrow--xWih9UIb`,\n\t\"message\": `message--YIXGDQNi`,\n\t\"loading-icon\": `loading-icon--lagcmORP`,\n\t\"footer\": `footer--aLZ8UWjM`,\n\t\"aside\": `aside--Xjd6To2A`,\n\t\"expanded\": `expanded--xZgk3uBF`,\n\t\"feedback\": `feedback--YbYylTcK`,\n\t\"scroll-down\": `scroll-down--uNre4ZYi`,\n\t\"toolbar\": `toolbar--uiLshJmw`,\n\t\"navbar-switch-ui\": `navbar-switch-ui--hREVJ6zG`\n};\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.aside--DDIdDtkt{padding:12px 12px 12px 0;height:100%}.box--niuFBiiQ{background:#ffffff;box-shadow:1px 1px 10px 0px rgba(0,10,26,0.1);border-radius:12px;height:100%;display:flex;flex-direction:column}.header--DPl_hrTp{height:52px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(0,0,0,0.15);padding:0 20px}.title--HlE9yRcJ{font-weight:500;font-size:16px;color:#262626}.body--OLKz1zeC{flex:1;min-height:0;padding:20px;display:flex;flex-direction:column}.app--UanK0TGf{flex:1;min-height:0;background:#ffffff;border-radius:9px;border:1px solid #ccd1de;margin-top:16px;overflow:hidden;display:flex;flex-direction:column}.heading--ngRi_rQ4{background:#e6e9f3;color:#5e6472;padding:5px 14px}.content--I2i0y65v{font-size:12px;flex:1;min-height:0;position:relative}.scroller--mLfznC_I{height:100%;overflow-x:hidden;overflow-y:auto;overflow:hidden auto;padding:10px}.scroller--mLfznC_I.loading--U1GWHEp9{display:flex;align-items:center;justify-content:center}.editor--p_Sqs1os .content--I2i0y65v div[class*=\"code-block--\"]{position:static}.editor--p_Sqs1os .content--I2i0y65v .shiki.light-plus{background:none!important;padding:0;margin:0;border-radius:0}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"aside\": `aside--DDIdDtkt`,\n\t\"box\": `box--niuFBiiQ`,\n\t\"header\": `header--DPl_hrTp`,\n\t\"title\": `title--HlE9yRcJ`,\n\t\"body\": `body--OLKz1zeC`,\n\t\"app\": `app--UanK0TGf`,\n\t\"heading\": `heading--ngRi_rQ4`,\n\t\"content\": `content--I2i0y65v`,\n\t\"scroller\": `scroller--mLfznC_I`,\n\t\"loading\": `loading--U1GWHEp9`,\n\t\"editor\": `editor--p_Sqs1os`\n};\nexport default ___CSS_LOADER_EXPORT___;\n","import { i18n } from \"@next-core/i18n\";\n\nexport enum K {\n SWITCH_TO_CANVAS = \"SWITCH_TO_CANVAS\",\n}\n\nconst en: Locale = {\n SWITCH_TO_CANVAS: \"Switch to canvas\",\n};\n\nconst zh: Locale = {\n SWITCH_TO_CANVAS: \"切换为画布\",\n};\n\nexport const NS = \"bricks/ai-portal/chat-stream\";\n\nexport const locales = { en, zh };\n\nexport const t = i18n.getFixedT(null, NS);\n\ntype Locale = { [k in K]: string } & {\n [k in K as `${k}_plural`]?: string;\n};\n"],"names":["___CSS_LOADER_EXPORT___","push","module","id","locals","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","undefined","UserMessage","_ref","content","React","className","styles","user","NodeView","job","size","setSize","useState","handleSizeChange","useCallback","value","classNames","view","large","CreatedView","onSizeChange","StreamContext","createContext","lastToolCallJobId","setUserClosedAside","ICON_UP","lib","icon","NodeJob","_toolCall$annotations","_job$messages2","taskState","toolCall","toolTitle","annotations","title","name","toolName","showToolCall","setActiveToolCallJobId","useContext","TaskContext","useMemo","state","completed","theme","prefix","working","spinning","failed","canceled","getClassNameAndIconProps","toolMarkdownContent","cmdbInstanceDetails","_job$messages","contents","instanceDetails","files","messages","forEach","message","role","part","parts","_part$data","type","data","_part$data2","Object","keys","outputSchema","properties","detail","length","file","join","collapsed","setCollapsed","main","map","index","_message$parts","key","sharedStyles","markdown","partIndex","EnhancedMarkdown","text","heading","onClick","prev","WrappedIcon","instruction","_extends","caret","body","tool","box","CmdbInstanceDetail","generatedView","AssistantMessage","jobs","error","isLatest","NON_WORKING_STATES","includes","lastJob","assistant","category","avatar","texting","ICON_SHRINK","Aside","aside","header","WrappedIconButton","variant","ToolCallStatus","EditorApp","source","code","language","JSON","stringify","_ref2","app","editor","scroller","Suspense","fallback","ICON_LOADING","CodeDisplay","ICON_SHARE","ChatStreamComponent","ref","_conversation$title","conversationId","initialRequest","replay","replayDelay","supports","showHumanActions","showFeedback","propShowFeedback","showFeedbackAfterFailed","showFeedbackOnView","showUiSwitch","previewUrlTemplate","showCases","exampleProjects","tryItOutUrl","onShare","onTerminate","onSubmitFeedback","onSwitchToCanvas","onFeedbackOnView","onDetailChange","conversation","tasks","errors","humanInputRef","skipToResults","watchAgain","useConversationDetail","pageTitle","conversationState","canChat","DONE_STATES","jobMap","list","jobsWithFollowingErrors","getFlatOrderedJobs","prevAssistantMessage","jobId","get","every","msg","flatMap","followingError","humanAction","useConversationStream","useEffect","projectId","views","values","submittingFeedback","setSubmittingFeedback","submittedFeedback","setSubmittedFeedback","setShowFeedback","feedbackDoneViews","setFeedbackDoneViews","handleSubmitFeedback","useImperativeHandle","feedbackSubmitDone","setTimeout","feedbackSubmitFailed","feedbackOnViewDone","viewId","newSet","Set","add","activeExpandedViewJobId","setActiveExpandedViewJobId","activeToolCallJobId","userClosedAside","delayRef","useRef","conversationAvailable","timer","current","clearTimeout","getRuntime","applyPageTitle","humanInput","input","action","_humanInputRef$curren","call","requirementMessage","userInput","workspace","taskContextValue","tryItOut","win","window","open","getBasePath","slice","__elevo_try_it_out","streamContextValue","detectScrolledUpRef","manualScrolledRef","scrollContainerRef","scrollable","setScrollable","scrollContainer","contentContainer","firstElementChild","handleScroll","scrollTop","clientHeight","scrollHeight","addEventListener","observer","ResizeObserver","scrollTo","top","behavior","observe","disconnect","removeEventListener","scrollToBottom","activeToolCallJob","Provider","container","left","right","ICON_CANVAS","t","K","SWITCH_TO_CANVAS","narrow","finished","NodeReplay","ui","NodeFeedback","feedback","hidden","chat","footer","ChatBox","expanded","ExpandedView","toolbarStyles","toolbar","___CSS_LOADER_URL_IMPORT_0___","URL","___CSS_LOADER_URL_REPLACEMENT_0___","NS","locales","en","zh","i18n","getFixedT"],"sourceRoot":""}