@ant-design/agentic-ui 2.8.0 → 2.9.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 (581) hide show
  1. package/dist/AgentRunBar/Robot.js +105 -57
  2. package/dist/AgentRunBar/icons/PauseIcon.js +38 -38
  3. package/dist/AgentRunBar/icons/PlayIcon.js +38 -38
  4. package/dist/AgentRunBar/icons/SimplePauseIcon.js +38 -38
  5. package/dist/AgentRunBar/icons/SimplePlayIcon.js +38 -38
  6. package/dist/AgentRunBar/icons/SimpleStopIcon.js +38 -38
  7. package/dist/AgentRunBar/icons/StopIcon.js +41 -50
  8. package/dist/AgentRunBar/icons/index.js +0 -1
  9. package/dist/AgentRunBar/index.js +270 -237
  10. package/dist/AgentRunBar/style.js +273 -239
  11. package/dist/AgenticLayout/index.js +140 -85
  12. package/dist/AgenticLayout/style.js +126 -107
  13. package/dist/AnswerAlert/components/CloseIcon.js +12 -21
  14. package/dist/AnswerAlert/components/ErrorIcon.js +42 -38
  15. package/dist/AnswerAlert/components/InfoIcon.js +42 -38
  16. package/dist/AnswerAlert/components/LoaderIcon.js +12 -21
  17. package/dist/AnswerAlert/components/SuccessIcon.js +42 -38
  18. package/dist/AnswerAlert/components/WarningIcon.js +42 -38
  19. package/dist/AnswerAlert/index.js +155 -75
  20. package/dist/AnswerAlert/style.js +159 -147
  21. package/dist/BackTo/BackBottom.js +154 -70
  22. package/dist/BackTo/BackTop.js +148 -68
  23. package/dist/BackTo/ScrollVisibleButton.js +124 -98
  24. package/dist/BackTo/hooks/useScrollVisible.js +79 -33
  25. package/dist/BackTo/icons/BottomIcon.js +37 -37
  26. package/dist/BackTo/icons/TopIcon.js +37 -37
  27. package/dist/BackTo/index.js +22 -7
  28. package/dist/BackTo/style.js +93 -70
  29. package/dist/Bubble/AIBubble.js +469 -406
  30. package/dist/Bubble/Avatar/index.js +139 -85
  31. package/dist/Bubble/Avatar/isEmoji.js +2 -6
  32. package/dist/Bubble/Bubble.js +114 -38
  33. package/dist/Bubble/BubbleBeforeNode.js +104 -74
  34. package/dist/Bubble/BubbleConfigProvide.js +3 -7
  35. package/dist/Bubble/FileView.js +63 -69
  36. package/dist/Bubble/List/PureBubbleList.js +130 -131
  37. package/dist/Bubble/List/SkeletonList.js +33 -24
  38. package/dist/Bubble/List/index.js +187 -124
  39. package/dist/Bubble/List/style.js +76 -47
  40. package/dist/Bubble/MessagesContent/BubbleContext.js +6 -12
  41. package/dist/Bubble/MessagesContent/BubbleExtra.js +663 -355
  42. package/dist/Bubble/MessagesContent/CopyButton/index.js +326 -96
  43. package/dist/Bubble/MessagesContent/DocInfo.js +351 -386
  44. package/dist/Bubble/MessagesContent/EXCEPTION.js +42 -22
  45. package/dist/Bubble/MessagesContent/MarkdownPreview.js +206 -156
  46. package/dist/Bubble/MessagesContent/VoiceButton/index.js +213 -115
  47. package/dist/Bubble/MessagesContent/VoiceButton/style.js +129 -105
  48. package/dist/Bubble/MessagesContent/VoiceButton/types.js +9 -0
  49. package/dist/Bubble/MessagesContent/docInfoStyle.js +118 -88
  50. package/dist/Bubble/MessagesContent/icons.js +157 -57
  51. package/dist/Bubble/MessagesContent/index.js +609 -368
  52. package/dist/Bubble/PureBubble.js +439 -326
  53. package/dist/Bubble/Title.js +110 -87
  54. package/dist/Bubble/UserBubble.js +218 -279
  55. package/dist/Bubble/index.js +10 -16
  56. package/dist/Bubble/style.js +248 -227
  57. package/dist/Bubble/type.js +3 -0
  58. package/dist/Bubble/types/BubbleExtra.js +1 -0
  59. package/dist/Bubble/types/DocInfo.js +1 -0
  60. package/dist/ChatBootPage/ButtonTab.js +25 -45
  61. package/dist/ChatBootPage/ButtonTabGroup.js +74 -47
  62. package/dist/ChatBootPage/ButtonTabGroupStyle.js +73 -45
  63. package/dist/ChatBootPage/ButtonTabStyle.js +121 -98
  64. package/dist/ChatBootPage/CaseReply.js +119 -113
  65. package/dist/ChatBootPage/CaseReplyStyle.js +217 -189
  66. package/dist/ChatBootPage/Title.js +19 -23
  67. package/dist/ChatBootPage/index.js +9 -11
  68. package/dist/ChatBootPage/style.js +80 -50
  69. package/dist/ChatLayout/index.js +93 -57
  70. package/dist/ChatLayout/style.js +206 -176
  71. package/dist/ChatLayout/types.js +1 -0
  72. package/dist/Components/ActionIconBox/index.js +571 -197
  73. package/dist/Components/ActionIconBox/style.js +141 -111
  74. package/dist/Components/ActionItemBox/ActionItemBox.js +95 -149
  75. package/dist/Components/ActionItemBox/index.js +7 -7
  76. package/dist/Components/ActionItemBox/style.js +353 -361
  77. package/dist/Components/Button/IconButton/index.js +35 -43
  78. package/dist/Components/Button/IconButton/style.js +357 -331
  79. package/dist/Components/Button/SwitchButton/index.js +243 -87
  80. package/dist/Components/Button/SwitchButton/style.js +160 -146
  81. package/dist/Components/Button/ToggleButton/index.js +46 -57
  82. package/dist/Components/Button/ToggleButton/style.js +283 -258
  83. package/dist/Components/Button/index.js +6 -2
  84. package/dist/Components/GradientText/index.js +21 -27
  85. package/dist/Components/GradientText/style.js +88 -63
  86. package/dist/Components/ImageList.js +111 -133
  87. package/dist/Components/LayoutHeader/index.js +145 -81
  88. package/dist/Components/LayoutHeader/style.js +89 -64
  89. package/dist/Components/LayoutHeader/types.js +3 -0
  90. package/dist/Components/Loading/index.js +53 -22
  91. package/dist/Components/Robot/index.js +90 -56
  92. package/dist/Components/Robot/lotties/DazingLottie/index.js +78 -47
  93. package/dist/Components/Robot/lotties/ThinkingLottie/index.js +78 -47
  94. package/dist/Components/Robot/lotties/index.js +0 -1
  95. package/dist/Components/SuggestionList/index.js +354 -182
  96. package/dist/Components/SuggestionList/style.js +204 -186
  97. package/dist/Components/TextAnimate/index.js +494 -362
  98. package/dist/Components/TextAnimate/style.js +72 -48
  99. package/dist/Components/TypingAnimation/index.js +214 -169
  100. package/dist/Components/TypingAnimation/style.js +76 -52
  101. package/dist/Components/VisualList/index.js +267 -180
  102. package/dist/Components/VisualList/style.js +140 -124
  103. package/dist/Components/icons/LoadingSpinnerIcon.js +124 -73
  104. package/dist/Components/lotties/DazingLottie/index.js +78 -47
  105. package/dist/Components/lotties/LoadingLottie/index.js +82 -48
  106. package/dist/Components/lotties/TextLoading/index.js +73 -49
  107. package/dist/Components/lotties/TextLoading/style.js +95 -78
  108. package/dist/Components/lotties/ThinkingLottie/index.js +78 -47
  109. package/dist/Components/lotties/index.js +0 -1
  110. package/dist/Constants/colors.js +71 -97
  111. package/dist/History/components/HistoryActionsBox.js +407 -180
  112. package/dist/History/components/HistoryEmpty.js +38 -42
  113. package/dist/History/components/HistoryEmptyIcon.js +682 -964
  114. package/dist/History/components/HistoryItem.js +683 -471
  115. package/dist/History/components/HistoryList.js +170 -87
  116. package/dist/History/components/HistoryRunningIcon.js +160 -111
  117. package/dist/History/components/LoadMoreComponent.js +308 -103
  118. package/dist/History/components/NewChatComponent.js +261 -69
  119. package/dist/History/components/NewChatComponent.style.js +79 -53
  120. package/dist/History/components/SearchComponent.js +367 -156
  121. package/dist/History/components/index.js +11 -23
  122. package/dist/History/hooks/useHistory.js +404 -129
  123. package/dist/History/index.js +301 -186
  124. package/dist/History/menu.js +158 -212
  125. package/dist/History/style.js +282 -276
  126. package/dist/History/types/HistoryData.js +6 -10
  127. package/dist/History/types/HistoryList.js +3 -0
  128. package/dist/History/types/index.js +3 -0
  129. package/dist/History/utils/index.js +35 -32
  130. package/dist/Hooks/useAutoScroll.js +262 -84
  131. package/dist/Hooks/useClickAway.js +60 -21
  132. package/dist/Hooks/useCopied.js +72 -20
  133. package/dist/Hooks/useDebounceFn/index.js +213 -55
  134. package/dist/Hooks/useIntersectionOnce.js +163 -74
  135. package/dist/Hooks/useLanguage.js +67 -26
  136. package/dist/Hooks/useRefFunction/index.js +76 -11
  137. package/dist/Hooks/useSpeechSynthesis.js +143 -99
  138. package/dist/Hooks/useStyle/index.js +95 -60
  139. package/dist/Hooks/useThrottleFn/index.js +41 -41
  140. package/dist/I18n/index.js +246 -109
  141. package/dist/I18n/locales.js +718 -711
  142. package/dist/Icons/animated/VoicePlayLottie/index.js +75 -46
  143. package/dist/Icons/animated/VoicingLottie/index.js +78 -47
  144. package/dist/MarkdownEditor/BaseMarkdownEditor.js +421 -349
  145. package/dist/MarkdownEditor/editor/Editor.js +1160 -843
  146. package/dist/MarkdownEditor/editor/components/CommentList/index.js +407 -239
  147. package/dist/MarkdownEditor/editor/components/CommentList/style.js +119 -89
  148. package/dist/MarkdownEditor/editor/components/ContributorAvatar/index.js +61 -63
  149. package/dist/MarkdownEditor/editor/components/ContributorAvatar/style.js +82 -52
  150. package/dist/MarkdownEditor/editor/components/LazyElement/index.js +208 -106
  151. package/dist/MarkdownEditor/editor/components/LazyElement/style.js +69 -42
  152. package/dist/MarkdownEditor/editor/components/fntTag/index.js +7 -11
  153. package/dist/MarkdownEditor/editor/components/fntTag/style.js +66 -36
  154. package/dist/MarkdownEditor/editor/components/index.js +0 -1
  155. package/dist/MarkdownEditor/editor/elements/Blockquote.js +95 -37
  156. package/dist/MarkdownEditor/editor/elements/Break.js +56 -25
  157. package/dist/MarkdownEditor/editor/elements/Card/index.js +131 -52
  158. package/dist/MarkdownEditor/editor/elements/Code.js +89 -67
  159. package/dist/MarkdownEditor/editor/elements/Comment/index.js +79 -50
  160. package/dist/MarkdownEditor/editor/elements/ErrorBoundary.js +117 -21
  161. package/dist/MarkdownEditor/editor/elements/FootnoteDefinition.js +83 -64
  162. package/dist/MarkdownEditor/editor/elements/FootnoteReference.js +115 -41
  163. package/dist/MarkdownEditor/editor/elements/Head.js +131 -67
  164. package/dist/MarkdownEditor/editor/elements/Hr.js +63 -38
  165. package/dist/MarkdownEditor/editor/elements/Image/index.js +636 -494
  166. package/dist/MarkdownEditor/editor/elements/InlineKatex.js +60 -44
  167. package/dist/MarkdownEditor/editor/elements/Katex.js +71 -55
  168. package/dist/MarkdownEditor/editor/elements/LinkCard/index.js +79 -175
  169. package/dist/MarkdownEditor/editor/elements/LinkCard/style.js +130 -100
  170. package/dist/MarkdownEditor/editor/elements/List/List.js +96 -69
  171. package/dist/MarkdownEditor/editor/elements/List/ListItem.js +422 -247
  172. package/dist/MarkdownEditor/editor/elements/List/index.js +1 -5
  173. package/dist/MarkdownEditor/editor/elements/List/style.js +131 -117
  174. package/dist/MarkdownEditor/editor/elements/Media.js +637 -519
  175. package/dist/MarkdownEditor/editor/elements/Mermaid.js +79 -54
  176. package/dist/MarkdownEditor/editor/elements/Paragraph.js +144 -83
  177. package/dist/MarkdownEditor/editor/elements/Schema.js +167 -128
  178. package/dist/MarkdownEditor/editor/elements/Table/ReadonlyTableComponent.js +211 -178
  179. package/dist/MarkdownEditor/editor/elements/Table/SimpleTable.js +73 -49
  180. package/dist/MarkdownEditor/editor/elements/Table/Table.js +285 -204
  181. package/dist/MarkdownEditor/editor/elements/Table/TableCellIndex/index.js +397 -280
  182. package/dist/MarkdownEditor/editor/elements/Table/TableCellIndex/style.js +126 -101
  183. package/dist/MarkdownEditor/editor/elements/Table/TableCellIndexSpacer/index.js +381 -276
  184. package/dist/MarkdownEditor/editor/elements/Table/TableCellIndexSpacer/style.js +120 -98
  185. package/dist/MarkdownEditor/editor/elements/Table/TableContext.js +64 -21
  186. package/dist/MarkdownEditor/editor/elements/Table/TableRowIndex/index.js +52 -42
  187. package/dist/MarkdownEditor/editor/elements/Table/TableRowIndex/style.js +69 -39
  188. package/dist/MarkdownEditor/editor/elements/Table/Td/index.js +126 -72
  189. package/dist/MarkdownEditor/editor/elements/Table/Td/style.js +85 -55
  190. package/dist/MarkdownEditor/editor/elements/Table/index.js +204 -105
  191. package/dist/MarkdownEditor/editor/elements/Table/style.js +244 -233
  192. package/dist/MarkdownEditor/editor/elements/Table/useScrollShadow.js +119 -62
  193. package/dist/MarkdownEditor/editor/elements/TagPopup/index.js +438 -276
  194. package/dist/MarkdownEditor/editor/elements/TagPopup/style.js +103 -77
  195. package/dist/MarkdownEditor/editor/elements/index.js +437 -424
  196. package/dist/MarkdownEditor/editor/parser/json-parse.js +38 -9
  197. package/dist/MarkdownEditor/editor/parser/parserMarkdownToSlateNode.js +1753 -1168
  198. package/dist/MarkdownEditor/editor/parser/parserMdToSchema.js +16 -20
  199. package/dist/MarkdownEditor/editor/parser/parserSlateNodeToMarkdown.js +1021 -606
  200. package/dist/MarkdownEditor/editor/parser/remarkParse.js +158 -102
  201. package/dist/MarkdownEditor/editor/plugins/catchError.js +78 -17
  202. package/dist/MarkdownEditor/editor/plugins/elements.js +458 -342
  203. package/dist/MarkdownEditor/editor/plugins/handlePaste.js +752 -300
  204. package/dist/MarkdownEditor/editor/plugins/hotKeyCommands/arrow.js +215 -129
  205. package/dist/MarkdownEditor/editor/plugins/hotKeyCommands/backspace.js +325 -180
  206. package/dist/MarkdownEditor/editor/plugins/hotKeyCommands/enter.js +576 -418
  207. package/dist/MarkdownEditor/editor/plugins/hotKeyCommands/match.js +157 -47
  208. package/dist/MarkdownEditor/editor/plugins/hotKeyCommands/tab.js +331 -209
  209. package/dist/MarkdownEditor/editor/plugins/index.js +0 -1
  210. package/dist/MarkdownEditor/editor/plugins/insertParsedHtmlNodes.js +1245 -507
  211. package/dist/MarkdownEditor/editor/plugins/parseMarkdownToNodesAndInsert.js +36 -24
  212. package/dist/MarkdownEditor/editor/plugins/useHighlight.js +267 -116
  213. package/dist/MarkdownEditor/editor/plugins/useKeyboard.js +234 -160
  214. package/dist/MarkdownEditor/editor/plugins/useOnchange.js +253 -92
  215. package/dist/MarkdownEditor/editor/plugins/withMarkdown.js +728 -439
  216. package/dist/MarkdownEditor/editor/store.js +1819 -1389
  217. package/dist/MarkdownEditor/editor/style.js +551 -506
  218. package/dist/MarkdownEditor/editor/tagStyles.js +43 -43
  219. package/dist/MarkdownEditor/editor/tools/DragHandle.js +56 -54
  220. package/dist/MarkdownEditor/editor/tools/InsertAutocomplete.js +1049 -732
  221. package/dist/MarkdownEditor/editor/tools/InsertLink.js +232 -181
  222. package/dist/MarkdownEditor/editor/tools/Leading.js +566 -303
  223. package/dist/MarkdownEditor/editor/tools/ToolBar/BaseBar.js +415 -377
  224. package/dist/MarkdownEditor/editor/tools/ToolBar/FloatBar.js +162 -125
  225. package/dist/MarkdownEditor/editor/tools/ToolBar/ReadonlyBaseBar.js +480 -258
  226. package/dist/MarkdownEditor/editor/tools/ToolBar/ToolBar.js +44 -44
  227. package/dist/MarkdownEditor/editor/tools/ToolBar/components/ClearFormatButton.js +20 -35
  228. package/dist/MarkdownEditor/editor/tools/ToolBar/components/ColorPickerButton.js +69 -73
  229. package/dist/MarkdownEditor/editor/tools/ToolBar/components/FormatButton.js +13 -19
  230. package/dist/MarkdownEditor/editor/tools/ToolBar/components/FormattingTools.js +34 -41
  231. package/dist/MarkdownEditor/editor/tools/ToolBar/components/HeadingDropdown.js +53 -47
  232. package/dist/MarkdownEditor/editor/tools/ToolBar/components/LinkButton.js +11 -19
  233. package/dist/MarkdownEditor/editor/tools/ToolBar/components/ToolBarItem.js +23 -43
  234. package/dist/MarkdownEditor/editor/tools/ToolBar/components/UndoRedoButtons.js +14 -25
  235. package/dist/MarkdownEditor/editor/tools/ToolBar/config/toolsConfig.js +139 -102
  236. package/dist/MarkdownEditor/editor/tools/ToolBar/floatBarStyle.js +95 -65
  237. package/dist/MarkdownEditor/editor/tools/ToolBar/hooks/useToolBarLogic.js +252 -161
  238. package/dist/MarkdownEditor/editor/tools/ToolBar/index.js +14 -24
  239. package/dist/MarkdownEditor/editor/tools/ToolBar/toolBarStyle.js +95 -65
  240. package/dist/MarkdownEditor/editor/tools/insertAutocompleteStyle.js +82 -52
  241. package/dist/MarkdownEditor/editor/types/Table.js +1 -0
  242. package/dist/MarkdownEditor/editor/utils/InlineChromiumBugfix.js +11 -16
  243. package/dist/MarkdownEditor/editor/utils/ace.js +136 -40
  244. package/dist/MarkdownEditor/editor/utils/docx/docxDeserializer.js +29 -32
  245. package/dist/MarkdownEditor/editor/utils/docx/index.js +0 -1
  246. package/dist/MarkdownEditor/editor/utils/docx/module.js +193 -164
  247. package/dist/MarkdownEditor/editor/utils/docx/utils.js +113 -98
  248. package/dist/MarkdownEditor/editor/utils/dom.js +119 -90
  249. package/dist/MarkdownEditor/editor/utils/editorUtils.js +1369 -906
  250. package/dist/MarkdownEditor/editor/utils/htmlToMarkdown.js +196 -184
  251. package/dist/MarkdownEditor/editor/utils/index.js +354 -215
  252. package/dist/MarkdownEditor/editor/utils/isMarkdown.js +56 -44
  253. package/dist/MarkdownEditor/editor/utils/keyboard.js +1229 -664
  254. package/dist/MarkdownEditor/editor/utils/markdownToHtml.js +294 -76
  255. package/dist/MarkdownEditor/editor/utils/media.js +274 -99
  256. package/dist/MarkdownEditor/editor/utils/path.js +22 -16
  257. package/dist/MarkdownEditor/editor/utils/performanceMonitor.js +370 -168
  258. package/dist/MarkdownEditor/editor/utils/useLocalState.js +96 -37
  259. package/dist/MarkdownEditor/el.js +1 -0
  260. package/dist/MarkdownEditor/hooks/editor.js +123 -41
  261. package/dist/MarkdownEditor/hooks/subscribe.js +18 -15
  262. package/dist/MarkdownEditor/index.js +118 -30
  263. package/dist/MarkdownEditor/plugin.js +2 -5
  264. package/dist/MarkdownEditor/style.js +96 -66
  265. package/dist/MarkdownEditor/types.js +1 -0
  266. package/dist/MarkdownEditor/utils/exportHtml.js +42 -83
  267. package/dist/MarkdownEditor/utils/native-table/index.js +0 -1
  268. package/dist/MarkdownEditor/utils/native-table/native-table-editor.js +337 -222
  269. package/dist/MarkdownEditor/utils/native-table/native-table-keyboard.js +201 -113
  270. package/dist/MarkdownInputField/AttachmentButton/AttachmentButtonPopover.js +86 -79
  271. package/dist/MarkdownInputField/AttachmentButton/AttachmentFileList/AttachmentFileIcon.js +62 -33
  272. package/dist/MarkdownInputField/AttachmentButton/AttachmentFileList/AttachmentFileListItem.js +147 -125
  273. package/dist/MarkdownInputField/AttachmentButton/AttachmentFileList/index.js +174 -129
  274. package/dist/MarkdownInputField/AttachmentButton/AttachmentFileList/style.js +263 -237
  275. package/dist/MarkdownInputField/AttachmentButton/index.js +465 -205
  276. package/dist/MarkdownInputField/AttachmentButton/style.js +143 -114
  277. package/dist/MarkdownInputField/AttachmentButton/types.js +3 -0
  278. package/dist/MarkdownInputField/AttachmentButton/utils.js +64 -34
  279. package/dist/MarkdownInputField/BeforeToolContainer/BeforeToolContainer.js +438 -404
  280. package/dist/MarkdownInputField/Enlargement/index.js +7 -17
  281. package/dist/MarkdownInputField/FileMapView/FileMapViewItem.js +193 -216
  282. package/dist/MarkdownInputField/FileMapView/index.js +387 -174
  283. package/dist/MarkdownInputField/FileMapView/style.js +281 -259
  284. package/dist/MarkdownInputField/FilePaste/index.js +239 -65
  285. package/dist/MarkdownInputField/FileUploadManager/index.js +460 -170
  286. package/dist/MarkdownInputField/MarkdownInputField.js +819 -549
  287. package/dist/MarkdownInputField/QuickActions/index.js +304 -134
  288. package/dist/MarkdownInputField/RefinePromptButton/index.js +24 -33
  289. package/dist/MarkdownInputField/RefinePromptButton/style.js +99 -73
  290. package/dist/MarkdownInputField/SendActions/index.js +179 -197
  291. package/dist/MarkdownInputField/SendButton/index.js +150 -110
  292. package/dist/MarkdownInputField/SendButton/style.js +95 -64
  293. package/dist/MarkdownInputField/SkillModeBar/hooks/index.js +3 -5
  294. package/dist/MarkdownInputField/SkillModeBar/hooks/useSkillModeState.js +51 -26
  295. package/dist/MarkdownInputField/SkillModeBar/index.js +119 -106
  296. package/dist/MarkdownInputField/SkillModeBar/style.js +124 -98
  297. package/dist/MarkdownInputField/Suggestion/index.js +391 -154
  298. package/dist/MarkdownInputField/TopOperatingArea/index.js +37 -44
  299. package/dist/MarkdownInputField/TopOperatingArea/style.js +98 -81
  300. package/dist/MarkdownInputField/VoiceInput/index.js +210 -82
  301. package/dist/MarkdownInputField/VoiceInput/style.js +85 -59
  302. package/dist/MarkdownInputField/VoiceInputManager/index.js +321 -94
  303. package/dist/MarkdownInputField/style.js +296 -233
  304. package/dist/Plugins/chart/AreaChart/index.js +541 -393
  305. package/dist/Plugins/chart/AreaChart/style.js +114 -90
  306. package/dist/Plugins/chart/BarChart/index.d.ts +4 -0
  307. package/dist/Plugins/chart/BarChart/index.js +865 -697
  308. package/dist/Plugins/chart/BarChart/style.js +114 -90
  309. package/dist/Plugins/chart/ChartAttrToolBar/ChartAttrToolBarStyle.js +82 -52
  310. package/dist/Plugins/chart/ChartAttrToolBar/index.js +94 -65
  311. package/dist/Plugins/chart/ChartMark/Area.js +176 -150
  312. package/dist/Plugins/chart/ChartMark/Bar.js +181 -152
  313. package/dist/Plugins/chart/ChartMark/Column.js +181 -151
  314. package/dist/Plugins/chart/ChartMark/Container.js +116 -75
  315. package/dist/Plugins/chart/ChartMark/Line.js +179 -151
  316. package/dist/Plugins/chart/ChartMark/Pie.js +79 -63
  317. package/dist/Plugins/chart/ChartMark/index.js +6 -13
  318. package/dist/Plugins/chart/ChartMark/useChart.js +1 -0
  319. package/dist/Plugins/chart/ChartRender.js +981 -696
  320. package/dist/Plugins/chart/ChartStatistic/index.js +47 -62
  321. package/dist/Plugins/chart/ChartStatistic/style.js +142 -143
  322. package/dist/Plugins/chart/ChartStatistic/utils.js +37 -27
  323. package/dist/Plugins/chart/DonutChart/Legend.js +94 -124
  324. package/dist/Plugins/chart/DonutChart/constants.js +4 -11
  325. package/dist/Plugins/chart/DonutChart/hooks.js +183 -112
  326. package/dist/Plugins/chart/DonutChart/index.js +588 -516
  327. package/dist/Plugins/chart/DonutChart/plugins.js +47 -44
  328. package/dist/Plugins/chart/DonutChart/style.js +186 -175
  329. package/dist/Plugins/chart/DonutChart/types.js +1 -0
  330. package/dist/Plugins/chart/FunnelChart/index.js +844 -647
  331. package/dist/Plugins/chart/FunnelChart/style.js +97 -71
  332. package/dist/Plugins/chart/LineChart/index.js +516 -393
  333. package/dist/Plugins/chart/LineChart/style.js +114 -90
  334. package/dist/Plugins/chart/RadarChart/index.js +580 -582
  335. package/dist/Plugins/chart/RadarChart/style.js +122 -112
  336. package/dist/Plugins/chart/ScatterChart/index.js +633 -640
  337. package/dist/Plugins/chart/ScatterChart/style.js +108 -94
  338. package/dist/Plugins/chart/components/ChartContainer/ChartContainer.js +151 -80
  339. package/dist/Plugins/chart/components/ChartContainer/ChartErrorBoundary.js +160 -41
  340. package/dist/Plugins/chart/components/ChartContainer/ChartErrorBoundaryExample.js +80 -62
  341. package/dist/Plugins/chart/components/ChartContainer/index.js +2 -7
  342. package/dist/Plugins/chart/components/ChartContainer/style.js +121 -91
  343. package/dist/Plugins/chart/components/ChartFilter/ChartFilter.js +58 -90
  344. package/dist/Plugins/chart/components/ChartFilter/style.js +169 -154
  345. package/dist/Plugins/chart/components/ChartToolBar/ChartToolBar.js +54 -59
  346. package/dist/Plugins/chart/components/ChartToolBar/style.js +132 -117
  347. package/dist/Plugins/chart/components/icons/TimeIcon.js +20 -26
  348. package/dist/Plugins/chart/components/index.js +32 -34
  349. package/dist/Plugins/chart/const.js +34 -25
  350. package/dist/Plugins/chart/hooks/useChartStatistic.js +1 -0
  351. package/dist/Plugins/chart/index.js +436 -339
  352. package/dist/Plugins/chart/loadChartRuntime.js +209 -110
  353. package/dist/Plugins/chart/utils.js +311 -87
  354. package/dist/Plugins/code/CodeUI/Katex/Katex.js +112 -66
  355. package/dist/Plugins/code/components/AceEditor.js +334 -237
  356. package/dist/Plugins/code/components/AceEditorContainer.js +23 -32
  357. package/dist/Plugins/code/components/CodeContainer.js +41 -56
  358. package/dist/Plugins/code/components/CodeRenderer.js +202 -155
  359. package/dist/Plugins/code/components/CodeToolbar.js +137 -181
  360. package/dist/Plugins/code/components/HtmlPreview.js +19 -22
  361. package/dist/Plugins/code/components/LanguageSelector.js +162 -96
  362. package/dist/Plugins/code/components/LoadImage.js +145 -46
  363. package/dist/Plugins/code/components/ThinkBlock.js +38 -42
  364. package/dist/Plugins/code/components/index.js +13 -23
  365. package/dist/Plugins/code/hooks/index.js +7 -9
  366. package/dist/Plugins/code/hooks/useCodeEditorState.js +139 -62
  367. package/dist/Plugins/code/hooks/useRenderConditions.js +31 -23
  368. package/dist/Plugins/code/hooks/useToolbarConfig.js +44 -46
  369. package/dist/Plugins/code/index.js +141 -89
  370. package/dist/Plugins/code/langIconMap.js +400 -108
  371. package/dist/Plugins/code/langIcons/AbapIcon.js +90 -57
  372. package/dist/Plugins/code/langIcons/ActionscriptIcon.js +89 -56
  373. package/dist/Plugins/code/langIcons/AdaIcon.js +89 -52
  374. package/dist/Plugins/code/langIcons/ApacheIcon.js +205 -254
  375. package/dist/Plugins/code/langIcons/ApexIcon.js +108 -82
  376. package/dist/Plugins/code/langIcons/AplIcon.js +90 -54
  377. package/dist/Plugins/code/langIcons/ApplescriptIcon.js +89 -56
  378. package/dist/Plugins/code/langIcons/AstroIcon.js +91 -58
  379. package/dist/Plugins/code/langIcons/AwkIcon.js +98 -68
  380. package/dist/Plugins/code/langIcons/BallerinaIcon.js +92 -59
  381. package/dist/Plugins/code/langIcons/BatIcon.js +158 -229
  382. package/dist/Plugins/code/langIcons/BicepIcon.js +91 -58
  383. package/dist/Plugins/code/langIcons/BladeIcon.js +90 -58
  384. package/dist/Plugins/code/langIcons/CIcon.js +90 -55
  385. package/dist/Plugins/code/langIcons/CadenceIcon.js +89 -56
  386. package/dist/Plugins/code/langIcons/ClojureIcon.js +96 -75
  387. package/dist/Plugins/code/langIcons/CmakeIcon.js +93 -62
  388. package/dist/Plugins/code/langIcons/CobolIcon.js +99 -70
  389. package/dist/Plugins/code/langIcons/CodeqlIcon.js +96 -76
  390. package/dist/Plugins/code/langIcons/CoffeeIcon.js +89 -56
  391. package/dist/Plugins/code/langIcons/ConsoleIcon.js +89 -56
  392. package/dist/Plugins/code/langIcons/CppIcon.js +90 -55
  393. package/dist/Plugins/code/langIcons/CrystalIcon.js +90 -57
  394. package/dist/Plugins/code/langIcons/CsharpIcon.js +90 -59
  395. package/dist/Plugins/code/langIcons/CssIcon.js +89 -52
  396. package/dist/Plugins/code/langIcons/DIcon.js +90 -53
  397. package/dist/Plugins/code/langIcons/DartIcon.js +92 -71
  398. package/dist/Plugins/code/langIcons/DatabaseIcon.js +90 -57
  399. package/dist/Plugins/code/langIcons/DiffIcon.js +90 -57
  400. package/dist/Plugins/code/langIcons/DockerIcon.js +89 -56
  401. package/dist/Plugins/code/langIcons/DotenvIcon.js +94 -56
  402. package/dist/Plugins/code/langIcons/ElixirIcon.js +91 -58
  403. package/dist/Plugins/code/langIcons/ElmIcon.js +105 -58
  404. package/dist/Plugins/code/langIcons/ErbIcon.js +90 -54
  405. package/dist/Plugins/code/langIcons/ErlangIcon.js +89 -56
  406. package/dist/Plugins/code/langIcons/FsharpIcon.js +93 -62
  407. package/dist/Plugins/code/langIcons/GdscriptIcon.js +96 -88
  408. package/dist/Plugins/code/langIcons/GlslIcon.js +90 -58
  409. package/dist/Plugins/code/langIcons/GnuplotIcon.js +98 -77
  410. package/dist/Plugins/code/langIcons/GoIcon.js +114 -93
  411. package/dist/Plugins/code/langIcons/GraphqlIcon.js +106 -66
  412. package/dist/Plugins/code/langIcons/GroovyIcon.js +89 -56
  413. package/dist/Plugins/code/langIcons/HackIcon.js +97 -64
  414. package/dist/Plugins/code/langIcons/HamlIcon.js +89 -56
  415. package/dist/Plugins/code/langIcons/HandlebarsIcon.js +89 -56
  416. package/dist/Plugins/code/langIcons/HaskellIcon.js +93 -64
  417. package/dist/Plugins/code/langIcons/HclIcon.js +118 -93
  418. package/dist/Plugins/code/langIcons/HclLightIcon.js +118 -97
  419. package/dist/Plugins/code/langIcons/HjsonIcon.js +94 -62
  420. package/dist/Plugins/code/langIcons/HlslIcon.js +96 -76
  421. package/dist/Plugins/code/langIcons/HtmlIcon.js +89 -56
  422. package/dist/Plugins/code/langIcons/HttpIcon.js +89 -56
  423. package/dist/Plugins/code/langIcons/ImbaIcon.js +98 -65
  424. package/dist/Plugins/code/langIcons/IniIcon.js +90 -54
  425. package/dist/Plugins/code/langIcons/JavaIcon.js +89 -56
  426. package/dist/Plugins/code/langIcons/JavascriptIcon.js +89 -56
  427. package/dist/Plugins/code/langIcons/JinjaIcon.js +100 -68
  428. package/dist/Plugins/code/langIcons/Json5Icon.js +100 -82
  429. package/dist/Plugins/code/langIcons/JsonIcon.js +89 -56
  430. package/dist/Plugins/code/langIcons/JsonnetIcon.js +102 -86
  431. package/dist/Plugins/code/langIcons/JuliaIcon.js +105 -52
  432. package/dist/Plugins/code/langIcons/KotlinIcon.js +104 -74
  433. package/dist/Plugins/code/langIcons/KustoIcon.js +90 -57
  434. package/dist/Plugins/code/langIcons/LessIcon.js +90 -57
  435. package/dist/Plugins/code/langIcons/LiquidIcon.js +91 -58
  436. package/dist/Plugins/code/langIcons/LispIcon.js +89 -56
  437. package/dist/Plugins/code/langIcons/LuaIcon.js +93 -60
  438. package/dist/Plugins/code/langIcons/MakefileIcon.js +91 -58
  439. package/dist/Plugins/code/langIcons/MarkdownIcon.js +89 -56
  440. package/dist/Plugins/code/langIcons/MarkojsIcon.js +96 -73
  441. package/dist/Plugins/code/langIcons/MatlabIcon.js +93 -64
  442. package/dist/Plugins/code/langIcons/MdxIcon.js +90 -53
  443. package/dist/Plugins/code/langIcons/MermaidIcon.js +95 -64
  444. package/dist/Plugins/code/langIcons/MojoIcon.js +95 -62
  445. package/dist/Plugins/code/langIcons/NginxIcon.js +94 -61
  446. package/dist/Plugins/code/langIcons/NimIcon.js +91 -54
  447. package/dist/Plugins/code/langIcons/NixIcon.js +92 -56
  448. package/dist/Plugins/code/langIcons/ObjectiveCIcon.js +90 -59
  449. package/dist/Plugins/code/langIcons/ObjectiveCppIcon.js +90 -57
  450. package/dist/Plugins/code/langIcons/OcamlIcon.js +90 -61
  451. package/dist/Plugins/code/langIcons/PascalIcon.js +95 -55
  452. package/dist/Plugins/code/langIcons/Perl6Icon.js +299 -320
  453. package/dist/Plugins/code/langIcons/PerlIcon.js +89 -56
  454. package/dist/Plugins/code/langIcons/PhpIcon.js +89 -52
  455. package/dist/Plugins/code/langIcons/PostcssIcon.js +130 -113
  456. package/dist/Plugins/code/langIcons/PowershellIcon.js +91 -58
  457. package/dist/Plugins/code/langIcons/PrismaIcon.js +97 -68
  458. package/dist/Plugins/code/langIcons/PrologIcon.js +91 -58
  459. package/dist/Plugins/code/langIcons/ProtoIcon.js +94 -68
  460. package/dist/Plugins/code/langIcons/PugIcon.js +177 -145
  461. package/dist/Plugins/code/langIcons/PuppetIcon.js +96 -52
  462. package/dist/Plugins/code/langIcons/PurescriptIcon.js +93 -61
  463. package/dist/Plugins/code/langIcons/PythonIcon.js +90 -61
  464. package/dist/Plugins/code/langIcons/RIcon.js +89 -52
  465. package/dist/Plugins/code/langIcons/RazorIcon.js +90 -57
  466. package/dist/Plugins/code/langIcons/ReactIcon.js +89 -56
  467. package/dist/Plugins/code/langIcons/ReactTsIcon.js +90 -57
  468. package/dist/Plugins/code/langIcons/RubyIcon.js +91 -58
  469. package/dist/Plugins/code/langIcons/RustIcon.js +89 -56
  470. package/dist/Plugins/code/langIcons/SasIcon.js +89 -52
  471. package/dist/Plugins/code/langIcons/SassIcon.js +90 -57
  472. package/dist/Plugins/code/langIcons/ScalaIcon.js +96 -53
  473. package/dist/Plugins/code/langIcons/SchemeIcon.js +91 -58
  474. package/dist/Plugins/code/langIcons/ShaderlabIcon.js +89 -56
  475. package/dist/Plugins/code/langIcons/SolidityIcon.js +94 -52
  476. package/dist/Plugins/code/langIcons/SparqlIcon.js +94 -64
  477. package/dist/Plugins/code/langIcons/StataIcon.js +126 -108
  478. package/dist/Plugins/code/langIcons/StylusIcon.js +92 -59
  479. package/dist/Plugins/code/langIcons/SvelteIcon.js +91 -58
  480. package/dist/Plugins/code/langIcons/SwiftIcon.js +90 -57
  481. package/dist/Plugins/code/langIcons/SystemverilogIcon.js +115 -102
  482. package/dist/Plugins/code/langIcons/TclIcon.js +89 -52
  483. package/dist/Plugins/code/langIcons/TexIcon.js +99 -65
  484. package/dist/Plugins/code/langIcons/TomlIcon.js +94 -70
  485. package/dist/Plugins/code/langIcons/TwigIcon.js +89 -56
  486. package/dist/Plugins/code/langIcons/TypescriptIcon.js +93 -60
  487. package/dist/Plugins/code/langIcons/VerilogIcon.js +89 -56
  488. package/dist/Plugins/code/langIcons/VhdlIcon.js +94 -64
  489. package/dist/Plugins/code/langIcons/VimIcon.js +278 -420
  490. package/dist/Plugins/code/langIcons/VueIcon.js +92 -59
  491. package/dist/Plugins/code/langIcons/WebassemblyIcon.js +103 -76
  492. package/dist/Plugins/code/langIcons/WenyanIcon.js +104 -100
  493. package/dist/Plugins/code/langIcons/WgslIcon.js +93 -77
  494. package/dist/Plugins/code/langIcons/WolframlanguageIcon.js +100 -71
  495. package/dist/Plugins/code/langIcons/XmlIcon.js +89 -52
  496. package/dist/Plugins/code/langIcons/XslIcon.js +94 -66
  497. package/dist/Plugins/code/langIcons/YamlIcon.js +89 -56
  498. package/dist/Plugins/code/langIcons/ZigIcon.js +106 -81
  499. package/dist/Plugins/code/langIcons/index.js +128 -259
  500. package/dist/Plugins/code/utils/index.js +5 -5
  501. package/dist/Plugins/code/utils/langOptions.js +86 -11
  502. package/dist/Plugins/defaultPlugins.js +9 -13
  503. package/dist/Plugins/formatter/index.js +205 -105
  504. package/dist/Plugins/index.js +6 -2
  505. package/dist/Plugins/katex/InlineKatex.js +196 -107
  506. package/dist/Plugins/katex/Katex.js +139 -65
  507. package/dist/Plugins/katex/index.js +163 -103
  508. package/dist/Plugins/mermaid/Mermaid.js +472 -197
  509. package/dist/Plugins/mermaid/index.js +237 -142
  510. package/dist/Quote/index.js +112 -73
  511. package/dist/Quote/style.js +176 -160
  512. package/dist/Schema/SchemaEditor/AceEditorWrapper.js +163 -119
  513. package/dist/Schema/SchemaEditor/index.js +385 -275
  514. package/dist/Schema/SchemaEditor/style.js +261 -269
  515. package/dist/Schema/SchemaForm/index.js +443 -268
  516. package/dist/Schema/SchemaForm/types.js +1 -0
  517. package/dist/Schema/SchemaRenderer/index.js +973 -588
  518. package/dist/Schema/SchemaRenderer/templateEngine.js +106 -26
  519. package/dist/Schema/index.js +7 -11
  520. package/dist/Schema/types.js +1 -0
  521. package/dist/Schema/validator.js +74 -36
  522. package/dist/TaskList/index.js +197 -142
  523. package/dist/TaskList/style.js +143 -122
  524. package/dist/ThoughtChainList/CostMillis.js +88 -54
  525. package/dist/ThoughtChainList/DeepThink.js +187 -152
  526. package/dist/ThoughtChainList/DotAni/index.js +29 -14
  527. package/dist/ThoughtChainList/DotAni/style.js +82 -50
  528. package/dist/ThoughtChainList/FlipText/index.js +74 -30
  529. package/dist/ThoughtChainList/MarkdownEditor.js +126 -72
  530. package/dist/ThoughtChainList/RagRetrievalInfo.js +113 -145
  531. package/dist/ThoughtChainList/TableSql.js +413 -459
  532. package/dist/ThoughtChainList/ThoughtChainListItem.js +388 -222
  533. package/dist/ThoughtChainList/TitleInfo.js +189 -185
  534. package/dist/ThoughtChainList/ToolCall.js +429 -463
  535. package/dist/ThoughtChainList/WebSearch.js +192 -162
  536. package/dist/ThoughtChainList/index.js +449 -410
  537. package/dist/ThoughtChainList/style.js +253 -232
  538. package/dist/ThoughtChainList/types.js +1 -0
  539. package/dist/ToolUseBar/ToolUseBarItem.js +183 -139
  540. package/dist/ToolUseBar/ToolUseBarItemComponents.js +345 -276
  541. package/dist/ToolUseBar/ToolUseBarThink.js +335 -396
  542. package/dist/ToolUseBar/index.js +226 -113
  543. package/dist/ToolUseBar/style.js +334 -308
  544. package/dist/ToolUseBar/thinkStyle.js +350 -328
  545. package/dist/Types/common.js +1 -0
  546. package/dist/Types/index.js +4 -2
  547. package/dist/Types/message.js +1 -0
  548. package/dist/Utils/easings.js +9 -12
  549. package/dist/Utils/formatTime.js +41 -17
  550. package/dist/Utils/getScroll.js +41 -41
  551. package/dist/Utils/language.js +355 -150
  552. package/dist/Utils/proxySandbox/ProxySandbox.js +1637 -1076
  553. package/dist/Utils/proxySandbox/SecurityContextManager.js +607 -343
  554. package/dist/Utils/proxySandbox/index.js +554 -267
  555. package/dist/Utils/proxySandbox/types.js +187 -52
  556. package/dist/Utils/scrollTo.js +48 -56
  557. package/dist/Utils/throttleByAnimationFrame.js +46 -20
  558. package/dist/WelcomeMessage/index.js +106 -58
  559. package/dist/WelcomeMessage/style.js +80 -55
  560. package/dist/Workspace/Browser/index.js +102 -40
  561. package/dist/Workspace/Browser/style.js +62 -33
  562. package/dist/Workspace/File/DataSourceStrategy.js +419 -217
  563. package/dist/Workspace/File/FileComponent.js +1004 -791
  564. package/dist/Workspace/File/FileTypeProcessor.js +337 -184
  565. package/dist/Workspace/File/PreviewComponent.js +472 -532
  566. package/dist/Workspace/File/index.js +3 -10
  567. package/dist/Workspace/File/style.js +397 -424
  568. package/dist/Workspace/File/utils.js +160 -106
  569. package/dist/Workspace/HtmlPreview/index.js +238 -137
  570. package/dist/Workspace/HtmlPreview/style.js +99 -77
  571. package/dist/Workspace/RealtimeFollow/index.js +411 -413
  572. package/dist/Workspace/RealtimeFollow/style.js +299 -303
  573. package/dist/Workspace/Task/index.js +53 -35
  574. package/dist/Workspace/Task/style.js +99 -73
  575. package/dist/Workspace/index.js +332 -254
  576. package/dist/Workspace/style.js +165 -146
  577. package/dist/Workspace/types.js +471 -252
  578. package/dist/Workspace/utils/codeLanguageUtils.js +148 -129
  579. package/dist/Workspace/utils.js +28 -20
  580. package/dist/index.js +27 -17
  581. package/package.json +3 -2
@@ -1,369 +1,633 @@
1
- var __defProp = Object.defineProperty;
2
- var __defProps = Object.defineProperties;
3
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
- var __spreadValues = (a, b) => {
9
- for (var prop in b || (b = {}))
10
- if (__hasOwnProp.call(b, prop))
11
- __defNormalProp(a, prop, b[prop]);
12
- if (__getOwnPropSymbols)
13
- for (var prop of __getOwnPropSymbols(b)) {
14
- if (__propIsEnum.call(b, prop))
15
- __defNormalProp(a, prop, b[prop]);
1
+ /**
2
+ * 安全上下文管理器
3
+ *
4
+ * 提供更细粒度的安全控制,管理沙箱内的执行上下文,
5
+ * 包括变量作用域、API 权限、资源限制等。
6
+ *
7
+ * @author md-editor
8
+ * @version 1.0.0
9
+ */ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
10
+ try {
11
+ var info = gen[key](arg);
12
+ var value = info.value;
13
+ } catch (error) {
14
+ reject(error);
15
+ return;
16
16
  }
17
- return a;
18
- };
19
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
- var __async = (__this, __arguments, generator) => {
21
- return new Promise((resolve, reject) => {
22
- var fulfilled = (value) => {
23
- try {
24
- step(generator.next(value));
25
- } catch (e) {
26
- reject(e);
27
- }
28
- };
29
- var rejected = (value) => {
30
- try {
31
- step(generator.throw(value));
32
- } catch (e) {
33
- reject(e);
34
- }
35
- };
36
- var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
37
- step((generator = generator.apply(__this, __arguments)).next());
38
- });
39
- };
40
-
41
- // src/Utils/proxySandbox/SecurityContextManager.ts
42
- import { ProxySandbox } from "./ProxySandbox";
43
- var SecurityContextManager = class {
44
- constructor(config = {}) {
45
- this.contexts = /* @__PURE__ */ new Map();
46
- this.globalMonitors = /* @__PURE__ */ new Map();
47
- this.config = this.mergeDefaultConfig(config);
48
- this.initializeGlobalMonitors();
49
- }
50
- /**
51
- * 合并默认配置
52
- */
53
- mergeDefaultConfig(config) {
54
- var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x;
55
- return {
56
- // 继承沙箱配置
57
- allowedGlobals: config.allowedGlobals || [],
58
- forbiddenGlobals: config.forbiddenGlobals || [],
59
- allowConsole: (_a = config.allowConsole) != null ? _a : true,
60
- allowTimers: (_b = config.allowTimers) != null ? _b : true,
61
- timeout: config.timeout || 5e3,
62
- strictMode: (_c = config.strictMode) != null ? _c : true,
63
- customGlobals: config.customGlobals || {},
64
- allowDOM: (_d = config.allowDOM) != null ? _d : false,
65
- maxMemoryUsage: config.maxMemoryUsage || 10 * 1024 * 1024,
66
- // 权限配置
67
- permissions: {
68
- network: (_f = (_e = config.permissions) == null ? void 0 : _e.network) != null ? _f : false,
69
- fileSystem: (_h = (_g = config.permissions) == null ? void 0 : _g.fileSystem) != null ? _h : false,
70
- media: (_j = (_i = config.permissions) == null ? void 0 : _i.media) != null ? _j : false,
71
- geolocation: (_l = (_k = config.permissions) == null ? void 0 : _k.geolocation) != null ? _l : false,
72
- notifications: (_n = (_m = config.permissions) == null ? void 0 : _m.notifications) != null ? _n : false
73
- },
74
- // 资源限制
75
- limits: {
76
- maxExecutionTime: ((_o = config.limits) == null ? void 0 : _o.maxExecutionTime) || 5e3,
77
- maxMemoryUsage: ((_p = config.limits) == null ? void 0 : _p.maxMemoryUsage) || 10 * 1024 * 1024,
78
- maxCallStackDepth: ((_q = config.limits) == null ? void 0 : _q.maxCallStackDepth) || 100,
79
- maxLoopIterations: ((_r = config.limits) == null ? void 0 : _r.maxLoopIterations) || 1e4
80
- },
81
- // 监控配置
82
- monitoring: {
83
- enablePerformanceMonitoring: (_t = (_s = config.monitoring) == null ? void 0 : _s.enablePerformanceMonitoring) != null ? _t : true,
84
- enableErrorTracking: (_v = (_u = config.monitoring) == null ? void 0 : _u.enableErrorTracking) != null ? _v : true,
85
- enableResourceMonitoring: (_x = (_w = config.monitoring) == null ? void 0 : _w.enableResourceMonitoring) != null ? _x : true
86
- }
17
+ if (info.done) {
18
+ resolve(value);
19
+ } else {
20
+ Promise.resolve(value).then(_next, _throw);
21
+ }
22
+ }
23
+ function _async_to_generator(fn) {
24
+ return function() {
25
+ var self = this, args = arguments;
26
+ return new Promise(function(resolve, reject) {
27
+ var gen = fn.apply(self, args);
28
+ function _next(value) {
29
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
30
+ }
31
+ function _throw(err) {
32
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
33
+ }
34
+ _next(undefined);
35
+ });
87
36
  };
88
- }
89
- /**
90
- * 初始化全局监控器
91
- */
92
- initializeGlobalMonitors() {
93
- if (this.config.monitoring.enablePerformanceMonitoring) {
94
- this.globalMonitors.set("performance", this.createPerformanceMonitor());
37
+ }
38
+ function _class_call_check(instance, Constructor) {
39
+ if (!(instance instanceof Constructor)) {
40
+ throw new TypeError("Cannot call a class as a function");
95
41
  }
96
- if (this.config.monitoring.enableErrorTracking) {
97
- this.globalMonitors.set("errorTracker", this.createErrorTracker());
42
+ }
43
+ function _defineProperties(target, props) {
44
+ for(var i = 0; i < props.length; i++){
45
+ var descriptor = props[i];
46
+ descriptor.enumerable = descriptor.enumerable || false;
47
+ descriptor.configurable = true;
48
+ if ("value" in descriptor) descriptor.writable = true;
49
+ Object.defineProperty(target, descriptor.key, descriptor);
98
50
  }
99
- if (this.config.monitoring.enableResourceMonitoring) {
100
- this.globalMonitors.set("resourceMonitor", this.createResourceMonitor());
51
+ }
52
+ function _create_class(Constructor, protoProps, staticProps) {
53
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
54
+ if (staticProps) _defineProperties(Constructor, staticProps);
55
+ return Constructor;
56
+ }
57
+ function _define_property(obj, key, value) {
58
+ if (key in obj) {
59
+ Object.defineProperty(obj, key, {
60
+ value: value,
61
+ enumerable: true,
62
+ configurable: true,
63
+ writable: true
64
+ });
65
+ } else {
66
+ obj[key] = value;
101
67
  }
102
- }
103
- /**
104
- * 创建性能监控器
105
- */
106
- createPerformanceMonitor() {
107
- return {
108
- mark: (name) => {
109
- if (typeof performance !== "undefined" && performance.mark) {
110
- performance.mark(`sandbox-${name}`);
68
+ return obj;
69
+ }
70
+ function _object_spread(target) {
71
+ for(var i = 1; i < arguments.length; i++){
72
+ var source = arguments[i] != null ? arguments[i] : {};
73
+ var ownKeys = Object.keys(source);
74
+ if (typeof Object.getOwnPropertySymbols === "function") {
75
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
76
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
77
+ }));
111
78
  }
112
- },
113
- measure: (name, startMark, endMark) => {
114
- if (typeof performance !== "undefined" && performance.measure) {
115
- try {
116
- performance.measure(
117
- name,
118
- `sandbox-${startMark}`,
119
- `sandbox-${endMark}`
120
- );
121
- } catch (error) {
122
- console.warn("Performance measurement failed:", error);
123
- }
79
+ ownKeys.forEach(function(key) {
80
+ _define_property(target, key, source[key]);
81
+ });
82
+ }
83
+ return target;
84
+ }
85
+ function ownKeys(object, enumerableOnly) {
86
+ var keys = Object.keys(object);
87
+ if (Object.getOwnPropertySymbols) {
88
+ var symbols = Object.getOwnPropertySymbols(object);
89
+ if (enumerableOnly) {
90
+ symbols = symbols.filter(function(sym) {
91
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
92
+ });
124
93
  }
125
- }
126
- };
127
- }
128
- /**
129
- * 创建错误追踪器
130
- */
131
- createErrorTracker() {
132
- return {
133
- captureError: (error, context) => {
134
- console.error(`[Sandbox Error] ${context}:`, error);
135
- },
136
- captureWarning: (message, context) => {
137
- console.warn(`[Sandbox Warning] ${context}: ${message}`);
138
- }
94
+ keys.push.apply(keys, symbols);
95
+ }
96
+ return keys;
97
+ }
98
+ function _object_spread_props(target, source) {
99
+ source = source != null ? source : {};
100
+ if (Object.getOwnPropertyDescriptors) {
101
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
102
+ } else {
103
+ ownKeys(Object(source)).forEach(function(key) {
104
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
105
+ });
106
+ }
107
+ return target;
108
+ }
109
+ function _ts_generator(thisArg, body) {
110
+ var f, y, t, g, _ = {
111
+ label: 0,
112
+ sent: function() {
113
+ if (t[0] & 1) throw t[1];
114
+ return t[1];
115
+ },
116
+ trys: [],
117
+ ops: []
139
118
  };
140
- }
141
- /**
142
- * 创建资源监控器
143
- */
144
- createResourceMonitor() {
145
- return {
146
- checkMemoryUsage: () => {
147
- if (typeof performance !== "undefined" && performance.memory) {
148
- return performance.memory.usedJSHeapSize;
149
- }
150
- return 0;
151
- },
152
- checkCallStackDepth: (stack) => {
153
- var _a;
154
- if (stack) {
155
- return stack.split("\n").length;
156
- }
157
- try {
158
- throw new Error();
119
+ return g = {
120
+ next: verb(0),
121
+ "throw": verb(1),
122
+ "return": verb(2)
123
+ }, typeof Symbol === "function" && (g[Symbol.iterator] = function() {
124
+ return this;
125
+ }), g;
126
+ function verb(n) {
127
+ return function(v) {
128
+ return step([
129
+ n,
130
+ v
131
+ ]);
132
+ };
133
+ }
134
+ function step(op) {
135
+ if (f) throw new TypeError("Generator is already executing.");
136
+ while(_)try {
137
+ 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;
138
+ if (y = 0, t) op = [
139
+ op[0] & 2,
140
+ t.value
141
+ ];
142
+ switch(op[0]){
143
+ case 0:
144
+ case 1:
145
+ t = op;
146
+ break;
147
+ case 4:
148
+ _.label++;
149
+ return {
150
+ value: op[1],
151
+ done: false
152
+ };
153
+ case 5:
154
+ _.label++;
155
+ y = op[1];
156
+ op = [
157
+ 0
158
+ ];
159
+ continue;
160
+ case 7:
161
+ op = _.ops.pop();
162
+ _.trys.pop();
163
+ continue;
164
+ default:
165
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
166
+ _ = 0;
167
+ continue;
168
+ }
169
+ if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
170
+ _.label = op[1];
171
+ break;
172
+ }
173
+ if (op[0] === 6 && _.label < t[1]) {
174
+ _.label = t[1];
175
+ t = op;
176
+ break;
177
+ }
178
+ if (t && _.label < t[2]) {
179
+ _.label = t[2];
180
+ _.ops.push(op);
181
+ break;
182
+ }
183
+ if (t[2]) _.ops.pop();
184
+ _.trys.pop();
185
+ continue;
186
+ }
187
+ op = body.call(thisArg, _);
159
188
  } catch (e) {
160
- return ((_a = e.stack) == null ? void 0 : _a.split("\n").length) || 0;
189
+ op = [
190
+ 6,
191
+ e
192
+ ];
193
+ y = 0;
194
+ } finally{
195
+ f = t = 0;
161
196
  }
162
- }
163
- };
164
- }
165
- /**
197
+ if (op[0] & 5) throw op[1];
198
+ return {
199
+ value: op[0] ? op[1] : void 0,
200
+ done: true
201
+ };
202
+ }
203
+ }
204
+ import { ProxySandbox } from "./ProxySandbox";
205
+ /**
206
+ * 安全上下文管理器类
207
+ */ export var SecurityContextManager = /*#__PURE__*/ function() {
208
+ "use strict";
209
+ function SecurityContextManager() {
210
+ var config = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
211
+ _class_call_check(this, SecurityContextManager);
212
+ _define_property(this, "contexts", new Map());
213
+ _define_property(this, "config", void 0);
214
+ _define_property(this, "globalMonitors", new Map());
215
+ this.config = this.mergeDefaultConfig(config);
216
+ this.initializeGlobalMonitors();
217
+ }
218
+ _create_class(SecurityContextManager, [
219
+ {
220
+ key: "mergeDefaultConfig",
221
+ value: /**
222
+ * 合并默认配置
223
+ */ function mergeDefaultConfig(config) {
224
+ var _config_permissions, _config_permissions1, _config_permissions2, _config_permissions3, _config_permissions4, _config_limits, _config_limits1, _config_limits2, _config_limits3, _config_monitoring, _config_monitoring1, _config_monitoring2;
225
+ var _config_allowConsole, _config_allowTimers, _config_strictMode, _config_allowDOM, _config_permissions_network, _config_permissions_fileSystem, _config_permissions_media, _config_permissions_geolocation, _config_permissions_notifications, _config_monitoring_enablePerformanceMonitoring, _config_monitoring_enableErrorTracking, _config_monitoring_enableResourceMonitoring;
226
+ return {
227
+ // 继承沙箱配置
228
+ allowedGlobals: config.allowedGlobals || [],
229
+ forbiddenGlobals: config.forbiddenGlobals || [],
230
+ allowConsole: (_config_allowConsole = config.allowConsole) !== null && _config_allowConsole !== void 0 ? _config_allowConsole : true,
231
+ allowTimers: (_config_allowTimers = config.allowTimers) !== null && _config_allowTimers !== void 0 ? _config_allowTimers : true,
232
+ timeout: config.timeout || 5000,
233
+ strictMode: (_config_strictMode = config.strictMode) !== null && _config_strictMode !== void 0 ? _config_strictMode : true,
234
+ customGlobals: config.customGlobals || {},
235
+ allowDOM: (_config_allowDOM = config.allowDOM) !== null && _config_allowDOM !== void 0 ? _config_allowDOM : false,
236
+ maxMemoryUsage: config.maxMemoryUsage || 10 * 1024 * 1024,
237
+ // 权限配置
238
+ permissions: {
239
+ network: (_config_permissions_network = (_config_permissions = config.permissions) === null || _config_permissions === void 0 ? void 0 : _config_permissions.network) !== null && _config_permissions_network !== void 0 ? _config_permissions_network : false,
240
+ fileSystem: (_config_permissions_fileSystem = (_config_permissions1 = config.permissions) === null || _config_permissions1 === void 0 ? void 0 : _config_permissions1.fileSystem) !== null && _config_permissions_fileSystem !== void 0 ? _config_permissions_fileSystem : false,
241
+ media: (_config_permissions_media = (_config_permissions2 = config.permissions) === null || _config_permissions2 === void 0 ? void 0 : _config_permissions2.media) !== null && _config_permissions_media !== void 0 ? _config_permissions_media : false,
242
+ geolocation: (_config_permissions_geolocation = (_config_permissions3 = config.permissions) === null || _config_permissions3 === void 0 ? void 0 : _config_permissions3.geolocation) !== null && _config_permissions_geolocation !== void 0 ? _config_permissions_geolocation : false,
243
+ notifications: (_config_permissions_notifications = (_config_permissions4 = config.permissions) === null || _config_permissions4 === void 0 ? void 0 : _config_permissions4.notifications) !== null && _config_permissions_notifications !== void 0 ? _config_permissions_notifications : false
244
+ },
245
+ // 资源限制
246
+ limits: {
247
+ maxExecutionTime: ((_config_limits = config.limits) === null || _config_limits === void 0 ? void 0 : _config_limits.maxExecutionTime) || 5000,
248
+ maxMemoryUsage: ((_config_limits1 = config.limits) === null || _config_limits1 === void 0 ? void 0 : _config_limits1.maxMemoryUsage) || 10 * 1024 * 1024,
249
+ maxCallStackDepth: ((_config_limits2 = config.limits) === null || _config_limits2 === void 0 ? void 0 : _config_limits2.maxCallStackDepth) || 100,
250
+ maxLoopIterations: ((_config_limits3 = config.limits) === null || _config_limits3 === void 0 ? void 0 : _config_limits3.maxLoopIterations) || 10000
251
+ },
252
+ // 监控配置
253
+ monitoring: {
254
+ enablePerformanceMonitoring: (_config_monitoring_enablePerformanceMonitoring = (_config_monitoring = config.monitoring) === null || _config_monitoring === void 0 ? void 0 : _config_monitoring.enablePerformanceMonitoring) !== null && _config_monitoring_enablePerformanceMonitoring !== void 0 ? _config_monitoring_enablePerformanceMonitoring : true,
255
+ enableErrorTracking: (_config_monitoring_enableErrorTracking = (_config_monitoring1 = config.monitoring) === null || _config_monitoring1 === void 0 ? void 0 : _config_monitoring1.enableErrorTracking) !== null && _config_monitoring_enableErrorTracking !== void 0 ? _config_monitoring_enableErrorTracking : true,
256
+ enableResourceMonitoring: (_config_monitoring_enableResourceMonitoring = (_config_monitoring2 = config.monitoring) === null || _config_monitoring2 === void 0 ? void 0 : _config_monitoring2.enableResourceMonitoring) !== null && _config_monitoring_enableResourceMonitoring !== void 0 ? _config_monitoring_enableResourceMonitoring : true
257
+ }
258
+ };
259
+ }
260
+ },
261
+ {
262
+ key: "initializeGlobalMonitors",
263
+ value: /**
264
+ * 初始化全局监控器
265
+ */ function initializeGlobalMonitors() {
266
+ if (this.config.monitoring.enablePerformanceMonitoring) {
267
+ this.globalMonitors.set('performance', this.createPerformanceMonitor());
268
+ }
269
+ if (this.config.monitoring.enableErrorTracking) {
270
+ this.globalMonitors.set('errorTracker', this.createErrorTracker());
271
+ }
272
+ if (this.config.monitoring.enableResourceMonitoring) {
273
+ this.globalMonitors.set('resourceMonitor', this.createResourceMonitor());
274
+ }
275
+ }
276
+ },
277
+ {
278
+ key: "createPerformanceMonitor",
279
+ value: /**
280
+ * 创建性能监控器
281
+ */ function createPerformanceMonitor() {
282
+ return {
283
+ mark: function(name) {
284
+ if (typeof performance !== 'undefined' && performance.mark) {
285
+ performance.mark("sandbox-".concat(name));
286
+ }
287
+ },
288
+ measure: function(name, startMark, endMark) {
289
+ if (typeof performance !== 'undefined' && performance.measure) {
290
+ try {
291
+ performance.measure(name, "sandbox-".concat(startMark), "sandbox-".concat(endMark));
292
+ } catch (error) {
293
+ console.warn('Performance measurement failed:', error);
294
+ }
295
+ }
296
+ }
297
+ };
298
+ }
299
+ },
300
+ {
301
+ key: "createErrorTracker",
302
+ value: /**
303
+ * 创建错误追踪器
304
+ */ function createErrorTracker() {
305
+ return {
306
+ captureError: function(error, context) {
307
+ console.error("[Sandbox Error] ".concat(context, ":"), error);
308
+ // 这里可以集成第三方错误追踪服务
309
+ },
310
+ captureWarning: function(message, context) {
311
+ console.warn("[Sandbox Warning] ".concat(context, ": ").concat(message));
312
+ }
313
+ };
314
+ }
315
+ },
316
+ {
317
+ key: "createResourceMonitor",
318
+ value: /**
319
+ * 创建资源监控器
320
+ */ function createResourceMonitor() {
321
+ return {
322
+ checkMemoryUsage: function() {
323
+ if (typeof performance !== 'undefined' && performance.memory) {
324
+ return performance.memory.usedJSHeapSize;
325
+ }
326
+ return 0;
327
+ },
328
+ checkCallStackDepth: function(stack) {
329
+ if (stack) {
330
+ return stack.split('\n').length;
331
+ }
332
+ try {
333
+ throw new Error();
334
+ } catch (e) {
335
+ var _e_stack;
336
+ return ((_e_stack = e.stack) === null || _e_stack === void 0 ? void 0 : _e_stack.split('\n').length) || 0;
337
+ }
338
+ }
339
+ };
340
+ }
341
+ },
342
+ {
343
+ /**
166
344
  * 创建新的执行上下文
167
- */
168
- createContext(contextId) {
169
- const id = contextId || this.generateContextId();
170
- const context = {
171
- id,
172
- createdAt: Date.now(),
173
- scope: {},
174
- permissions: {
175
- network: this.config.permissions.network,
176
- fileSystem: this.config.permissions.fileSystem,
177
- media: this.config.permissions.media,
178
- geolocation: this.config.permissions.geolocation,
179
- notifications: this.config.permissions.notifications
180
- },
181
- resourceUsage: {
182
- memoryUsage: 0,
183
- executionTime: 0,
184
- callStackDepth: 0,
185
- loopIterations: 0
186
- }
187
- };
188
- this.contexts.set(id, context);
189
- return id;
190
- }
191
- /**
345
+ */ key: "createContext",
346
+ value: function createContext(contextId) {
347
+ var id = contextId || this.generateContextId();
348
+ var context = {
349
+ id: id,
350
+ createdAt: Date.now(),
351
+ scope: {},
352
+ permissions: {
353
+ network: this.config.permissions.network,
354
+ fileSystem: this.config.permissions.fileSystem,
355
+ media: this.config.permissions.media,
356
+ geolocation: this.config.permissions.geolocation,
357
+ notifications: this.config.permissions.notifications
358
+ },
359
+ resourceUsage: {
360
+ memoryUsage: 0,
361
+ executionTime: 0,
362
+ callStackDepth: 0,
363
+ loopIterations: 0
364
+ }
365
+ };
366
+ this.contexts.set(id, context);
367
+ return id;
368
+ }
369
+ },
370
+ {
371
+ key: "generateContextId",
372
+ value: /**
192
373
  * 生成上下文 ID
193
- */
194
- generateContextId() {
195
- return `ctx_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
196
- }
197
- /**
374
+ */ function generateContextId() {
375
+ return "ctx_".concat(Date.now(), "_").concat(Math.random().toString(36).substr(2, 9));
376
+ }
377
+ },
378
+ {
379
+ /**
198
380
  * 获取执行上下文
199
- */
200
- getContext(contextId) {
201
- return this.contexts.get(contextId);
202
- }
203
- /**
381
+ */ key: "getContext",
382
+ value: function getContext(contextId) {
383
+ return this.contexts.get(contextId);
384
+ }
385
+ },
386
+ {
387
+ /**
204
388
  * 删除执行上下文
205
- */
206
- deleteContext(contextId) {
207
- return this.contexts.delete(contextId);
208
- }
209
- /**
389
+ */ key: "deleteContext",
390
+ value: function deleteContext(contextId) {
391
+ return this.contexts.delete(contextId);
392
+ }
393
+ },
394
+ {
395
+ key: "executeInContext",
396
+ value: /**
210
397
  * 在指定上下文中执行代码
211
- */
212
- executeInContext(_0, _1) {
213
- return __async(this, arguments, function* (contextId, code, additionalScope = {}) {
214
- const context = this.getContext(contextId);
215
- if (!context) {
216
- throw new Error(`Context ${contextId} not found`);
217
- }
218
- const mergedScope = __spreadValues(__spreadValues({}, context.scope), additionalScope);
219
- const sandboxConfig = {
220
- allowedGlobals: this.config.allowedGlobals,
221
- forbiddenGlobals: this.config.forbiddenGlobals,
222
- allowConsole: this.config.allowConsole,
223
- allowTimers: this.config.allowTimers,
224
- timeout: this.config.limits.maxExecutionTime,
225
- strictMode: this.config.strictMode,
226
- customGlobals: __spreadValues(__spreadProps(__spreadValues(__spreadValues({}, this.config.customGlobals), mergedScope), {
227
- // 添加上下文相关的全局变量
228
- __context: {
229
- id: contextId,
230
- permissions: context.permissions
231
- }
232
- }), this.config.monitoring.enablePerformanceMonitoring && {
233
- __performance: this.globalMonitors.get("performance")
234
- }),
235
- allowDOM: this.config.allowDOM,
236
- maxMemoryUsage: this.config.limits.maxMemoryUsage
237
- };
238
- const wrappedCode = this.wrapCodeWithMonitoring(code);
239
- const sandbox = new ProxySandbox(sandboxConfig);
240
- try {
241
- const result = yield sandbox.execute(wrappedCode);
242
- this.updateContextResourceUsage(context, result);
243
- return result;
244
- } finally {
245
- sandbox.destroy();
246
- }
247
- });
248
- }
249
- /**
398
+ */ function executeInContext(contextId, code) {
399
+ var additionalScope = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
400
+ var _this = this;
401
+ return _async_to_generator(function() {
402
+ var context, mergedScope, sandboxConfig, wrappedCode, sandbox, result;
403
+ return _ts_generator(this, function(_state) {
404
+ switch(_state.label){
405
+ case 0:
406
+ context = _this.getContext(contextId);
407
+ if (!context) {
408
+ throw new Error("Context ".concat(contextId, " not found"));
409
+ }
410
+ // 合并作用域
411
+ mergedScope = _object_spread({}, context.scope, additionalScope);
412
+ // 创建沙箱配置
413
+ sandboxConfig = {
414
+ allowedGlobals: _this.config.allowedGlobals,
415
+ forbiddenGlobals: _this.config.forbiddenGlobals,
416
+ allowConsole: _this.config.allowConsole,
417
+ allowTimers: _this.config.allowTimers,
418
+ timeout: _this.config.limits.maxExecutionTime,
419
+ strictMode: _this.config.strictMode,
420
+ customGlobals: _object_spread(_object_spread_props(_object_spread({}, _this.config.customGlobals, mergedScope), {
421
+ // 添加上下文相关的全局变量
422
+ __context: {
423
+ id: contextId,
424
+ permissions: context.permissions
425
+ }
426
+ }), _this.config.monitoring.enablePerformanceMonitoring && {
427
+ __performance: _this.globalMonitors.get('performance')
428
+ }),
429
+ allowDOM: _this.config.allowDOM,
430
+ maxMemoryUsage: _this.config.limits.maxMemoryUsage
431
+ };
432
+ // 包装代码以添加资源监控
433
+ wrappedCode = _this.wrapCodeWithMonitoring(code);
434
+ // 创建沙箱并执行
435
+ sandbox = new ProxySandbox(sandboxConfig);
436
+ _state.label = 1;
437
+ case 1:
438
+ _state.trys.push([
439
+ 1,
440
+ ,
441
+ 3,
442
+ 4
443
+ ]);
444
+ return [
445
+ 4,
446
+ sandbox.execute(wrappedCode)
447
+ ];
448
+ case 2:
449
+ result = _state.sent();
450
+ // 更新上下文的资源使用情况
451
+ _this.updateContextResourceUsage(context, result);
452
+ return [
453
+ 2,
454
+ result
455
+ ];
456
+ case 3:
457
+ sandbox.destroy();
458
+ return [
459
+ 7
460
+ ];
461
+ case 4:
462
+ return [
463
+ 2
464
+ ];
465
+ }
466
+ });
467
+ })();
468
+ }
469
+ },
470
+ {
471
+ key: "wrapCodeWithMonitoring",
472
+ value: /**
250
473
  * 包装代码以添加监控
251
- */
252
- wrapCodeWithMonitoring(code) {
253
- if (!this.config.monitoring.enableResourceMonitoring) {
254
- return code;
255
- }
256
- return code;
257
- }
258
- /**
474
+ */ function wrapCodeWithMonitoring(code) {
475
+ if (!this.config.monitoring.enableResourceMonitoring) {
476
+ return code;
477
+ }
478
+ // 对于简单的 return 语句,直接执行不包装
479
+ // 这是一个简化的处理,对于复杂的监控需求,可以在未来版本中改进
480
+ return code;
481
+ }
482
+ },
483
+ {
484
+ key: "updateContextResourceUsage",
485
+ value: /**
259
486
  * 更新上下文的资源使用情况
260
- */
261
- updateContextResourceUsage(context, result) {
262
- context.resourceUsage.executionTime = result.executionTime;
263
- context.resourceUsage.memoryUsage = result.memoryUsage || 0;
264
- this.checkResourceLimits(context);
265
- }
266
- /**
487
+ */ function updateContextResourceUsage(context, result) {
488
+ context.resourceUsage.executionTime = result.executionTime;
489
+ context.resourceUsage.memoryUsage = result.memoryUsage || 0;
490
+ // 检查资源限制
491
+ this.checkResourceLimits(context);
492
+ }
493
+ },
494
+ {
495
+ key: "checkResourceLimits",
496
+ value: /**
267
497
  * 检查资源限制
268
- */
269
- checkResourceLimits(context) {
270
- const { resourceUsage } = context;
271
- const { limits } = this.config;
272
- if (resourceUsage.executionTime > limits.maxExecutionTime) {
273
- throw new Error(
274
- `Execution time limit exceeded: ${resourceUsage.executionTime}ms > ${limits.maxExecutionTime}ms`
275
- );
276
- }
277
- if (resourceUsage.memoryUsage > limits.maxMemoryUsage) {
278
- throw new Error(
279
- `Memory usage limit exceeded: ${resourceUsage.memoryUsage} > ${limits.maxMemoryUsage}`
280
- );
281
- }
282
- if (resourceUsage.callStackDepth > limits.maxCallStackDepth) {
283
- throw new Error(
284
- `Call stack depth limit exceeded: ${resourceUsage.callStackDepth} > ${limits.maxCallStackDepth}`
285
- );
286
- }
287
- }
288
- /**
498
+ */ function checkResourceLimits(context) {
499
+ var resourceUsage = context.resourceUsage;
500
+ var limits = this.config.limits;
501
+ if (resourceUsage.executionTime > limits.maxExecutionTime) {
502
+ throw new Error("Execution time limit exceeded: ".concat(resourceUsage.executionTime, "ms > ").concat(limits.maxExecutionTime, "ms"));
503
+ }
504
+ if (resourceUsage.memoryUsage > limits.maxMemoryUsage) {
505
+ throw new Error("Memory usage limit exceeded: ".concat(resourceUsage.memoryUsage, " > ").concat(limits.maxMemoryUsage));
506
+ }
507
+ if (resourceUsage.callStackDepth > limits.maxCallStackDepth) {
508
+ throw new Error("Call stack depth limit exceeded: ".concat(resourceUsage.callStackDepth, " > ").concat(limits.maxCallStackDepth));
509
+ }
510
+ }
511
+ },
512
+ {
513
+ /**
289
514
  * 设置上下文变量
290
- */
291
- setContextVariable(contextId, name, value) {
292
- const context = this.getContext(contextId);
293
- if (!context) {
294
- return false;
295
- }
296
- context.scope[name] = value;
297
- return true;
298
- }
299
- /**
515
+ */ key: "setContextVariable",
516
+ value: function setContextVariable(contextId, name, value) {
517
+ var context = this.getContext(contextId);
518
+ if (!context) {
519
+ return false;
520
+ }
521
+ context.scope[name] = value;
522
+ return true;
523
+ }
524
+ },
525
+ {
526
+ /**
300
527
  * 获取上下文变量
301
- */
302
- getContextVariable(contextId, name) {
303
- const context = this.getContext(contextId);
304
- return context == null ? void 0 : context.scope[name];
305
- }
306
- /**
528
+ */ key: "getContextVariable",
529
+ value: function getContextVariable(contextId, name) {
530
+ var context = this.getContext(contextId);
531
+ return context === null || context === void 0 ? void 0 : context.scope[name];
532
+ }
533
+ },
534
+ {
535
+ /**
307
536
  * 清理所有上下文
308
- */
309
- clearAllContexts() {
310
- this.contexts.clear();
311
- }
312
- /**
537
+ */ key: "clearAllContexts",
538
+ value: function clearAllContexts() {
539
+ this.contexts.clear();
540
+ }
541
+ },
542
+ {
543
+ /**
313
544
  * 获取所有上下文的统计信息
314
- */
315
- getStatistics() {
316
- const contexts = Array.from(this.contexts.values());
317
- return {
318
- totalContexts: contexts.length,
319
- totalMemoryUsage: contexts.reduce(
320
- (sum, ctx) => sum + ctx.resourceUsage.memoryUsage,
321
- 0
322
- ),
323
- totalExecutionTime: contexts.reduce(
324
- (sum, ctx) => sum + ctx.resourceUsage.executionTime,
325
- 0
326
- ),
327
- averageExecutionTime: contexts.length > 0 ? contexts.reduce(
328
- (sum, ctx) => sum + ctx.resourceUsage.executionTime,
329
- 0
330
- ) / contexts.length : 0,
331
- oldestContext: contexts.reduce(
332
- (oldest, ctx) => ctx.createdAt < oldest.createdAt ? ctx : oldest,
333
- contexts[0]
334
- )
335
- };
336
- }
337
- /**
545
+ */ key: "getStatistics",
546
+ value: function getStatistics() {
547
+ var contexts = Array.from(this.contexts.values());
548
+ return {
549
+ totalContexts: contexts.length,
550
+ totalMemoryUsage: contexts.reduce(function(sum, ctx) {
551
+ return sum + ctx.resourceUsage.memoryUsage;
552
+ }, 0),
553
+ totalExecutionTime: contexts.reduce(function(sum, ctx) {
554
+ return sum + ctx.resourceUsage.executionTime;
555
+ }, 0),
556
+ averageExecutionTime: contexts.length > 0 ? contexts.reduce(function(sum, ctx) {
557
+ return sum + ctx.resourceUsage.executionTime;
558
+ }, 0) / contexts.length : 0,
559
+ oldestContext: contexts.reduce(function(oldest, ctx) {
560
+ return ctx.createdAt < oldest.createdAt ? ctx : oldest;
561
+ }, contexts[0])
562
+ };
563
+ }
564
+ },
565
+ {
566
+ /**
338
567
  * 获取管理器配置
339
- */
340
- getConfig() {
341
- return this.config;
342
- }
343
- /**
568
+ */ key: "getConfig",
569
+ value: function getConfig() {
570
+ return this.config;
571
+ }
572
+ },
573
+ {
574
+ /**
344
575
  * 销毁管理器
345
- */
346
- destroy() {
347
- this.clearAllContexts();
348
- this.globalMonitors.clear();
349
- }
350
- };
351
- function createSecurityContextManager(config) {
352
- return new SecurityContextManager(config);
576
+ */ key: "destroy",
577
+ value: function destroy() {
578
+ this.clearAllContexts();
579
+ this.globalMonitors.clear();
580
+ }
581
+ }
582
+ ]);
583
+ return SecurityContextManager;
584
+ }();
585
+ /**
586
+ * 创建安全上下文管理器的工厂函数
587
+ */ export function createSecurityContextManager(config) {
588
+ return new SecurityContextManager(config);
353
589
  }
354
- function runInSecureContext(code, config, contextScope) {
355
- return __async(this, null, function* () {
356
- const manager = createSecurityContextManager(config);
357
- const contextId = manager.createContext();
358
- try {
359
- return yield manager.executeInContext(contextId, code, contextScope);
360
- } finally {
361
- manager.destroy();
362
- }
363
- });
590
+ /**
591
+ * 快速在受控环境中执行代码的工具函数
592
+ */ export function runInSecureContext(code, config, contextScope) {
593
+ return _runInSecureContext.apply(this, arguments);
594
+ }
595
+ function _runInSecureContext() {
596
+ _runInSecureContext = _async_to_generator(function(code, config, contextScope) {
597
+ var manager, contextId;
598
+ return _ts_generator(this, function(_state) {
599
+ switch(_state.label){
600
+ case 0:
601
+ manager = createSecurityContextManager(config);
602
+ contextId = manager.createContext();
603
+ _state.label = 1;
604
+ case 1:
605
+ _state.trys.push([
606
+ 1,
607
+ ,
608
+ 3,
609
+ 4
610
+ ]);
611
+ return [
612
+ 4,
613
+ manager.executeInContext(contextId, code, contextScope)
614
+ ];
615
+ case 2:
616
+ return [
617
+ 2,
618
+ _state.sent()
619
+ ];
620
+ case 3:
621
+ manager.destroy();
622
+ return [
623
+ 7
624
+ ];
625
+ case 4:
626
+ return [
627
+ 2
628
+ ];
629
+ }
630
+ });
631
+ });
632
+ return _runInSecureContext.apply(this, arguments);
364
633
  }
365
- export {
366
- SecurityContextManager,
367
- createSecurityContextManager,
368
- runInSecureContext
369
- };