@yoka-ui/ui 1.0.10-test

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 (484) hide show
  1. package/@Docs-yoka/exports.generated.md +92 -0
  2. package/@Docs-yoka/llms.txt +23 -0
  3. package/README.md +291 -0
  4. package/dist/es/Themes/InputTheme/index.d.ts +6 -0
  5. package/dist/es/Themes/InputTheme/index.js +22 -0
  6. package/dist/es/Themes/InputTheme/index.js.map +7 -0
  7. package/dist/es/Themes/TableTheme/index.d.ts +7 -0
  8. package/dist/es/Themes/TableTheme/index.js +31 -0
  9. package/dist/es/Themes/TableTheme/index.js.map +7 -0
  10. package/dist/es/Themes/TableTheme/index.less +46 -0
  11. package/dist/es/assets/image/YKUI-logo.png +0 -0
  12. package/dist/es/assets/less/ant-reset.less +402 -0
  13. package/dist/es/assets/less/index.less +1 -0
  14. package/dist/es/assets/less/variables.less +16 -0
  15. package/dist/es/business/AiChat/MarkdownRender.d.ts +9 -0
  16. package/dist/es/business/AiChat/MarkdownRender.js +72 -0
  17. package/dist/es/business/AiChat/MarkdownRender.js.map +7 -0
  18. package/dist/es/business/AiChat/index.d.ts +16 -0
  19. package/dist/es/business/AiChat/index.js +521 -0
  20. package/dist/es/business/AiChat/index.js.map +7 -0
  21. package/dist/es/business/AiChat/intentRecognizer.d.ts +33 -0
  22. package/dist/es/business/AiChat/intentRecognizer.js +166 -0
  23. package/dist/es/business/AiChat/intentRecognizer.js.map +7 -0
  24. package/dist/es/business/AiChat/navigationManager.d.ts +94 -0
  25. package/dist/es/business/AiChat/navigationManager.js +208 -0
  26. package/dist/es/business/AiChat/navigationManager.js.map +7 -0
  27. package/dist/es/business/AiChat/sse.d.ts +1 -0
  28. package/dist/es/business/AiChat/sse.js +60 -0
  29. package/dist/es/business/AiChat/sse.js.map +7 -0
  30. package/dist/es/business/AiChat/type.d.ts +157 -0
  31. package/dist/es/business/AiChat/type.js +1 -0
  32. package/dist/es/business/AiChat/type.js.map +7 -0
  33. package/dist/es/business/AiChat/useAiChat.d.ts +2 -0
  34. package/dist/es/business/AiChat/useAiChat.js +238 -0
  35. package/dist/es/business/AiChat/useAiChat.js.map +7 -0
  36. package/dist/es/business/AiChat/useTaskWorkflow.d.ts +26 -0
  37. package/dist/es/business/AiChat/useTaskWorkflow.js +230 -0
  38. package/dist/es/business/AiChat/useTaskWorkflow.js.map +7 -0
  39. package/dist/es/business/DrawerPageInfo/index.d.ts +35 -0
  40. package/dist/es/business/DrawerPageInfo/index.js +133 -0
  41. package/dist/es/business/DrawerPageInfo/index.js.map +7 -0
  42. package/dist/es/business/DrawerPageInfo/index.module.less +87 -0
  43. package/dist/es/business/DrawerPageInfo/test.png +0 -0
  44. package/dist/es/business/Editor/index.d.ts +11 -0
  45. package/dist/es/business/Editor/index.js +86 -0
  46. package/dist/es/business/Editor/index.js.map +7 -0
  47. package/dist/es/business/Editor/index.less +31 -0
  48. package/dist/es/business/Empty/empty.png +0 -0
  49. package/dist/es/business/Empty/index.d.ts +19 -0
  50. package/dist/es/business/Empty/index.js +51 -0
  51. package/dist/es/business/Empty/index.js.map +7 -0
  52. package/dist/es/business/ModCommonFilter/assets/images/empty.png +0 -0
  53. package/dist/es/business/ModCommonFilter/components/FilterButton/IconClose.d.ts +13 -0
  54. package/dist/es/business/ModCommonFilter/components/FilterButton/IconClose.js +51 -0
  55. package/dist/es/business/ModCommonFilter/components/FilterButton/IconClose.js.map +7 -0
  56. package/dist/es/business/ModCommonFilter/components/FilterButton/IconXiala.d.ts +13 -0
  57. package/dist/es/business/ModCommonFilter/components/FilterButton/IconXiala.js +51 -0
  58. package/dist/es/business/ModCommonFilter/components/FilterButton/IconXiala.js.map +7 -0
  59. package/dist/es/business/ModCommonFilter/components/FilterButton/index.d.ts +25 -0
  60. package/dist/es/business/ModCommonFilter/components/FilterButton/index.js +30 -0
  61. package/dist/es/business/ModCommonFilter/components/FilterButton/index.js.map +7 -0
  62. package/dist/es/business/ModCommonFilter/components/FilterButton/index.module.less +97 -0
  63. package/dist/es/business/ModCommonFilter/components/PopoverContent/Category.d.ts +18 -0
  64. package/dist/es/business/ModCommonFilter/components/PopoverContent/Category.js +74 -0
  65. package/dist/es/business/ModCommonFilter/components/PopoverContent/Category.js.map +7 -0
  66. package/dist/es/business/ModCommonFilter/components/PopoverContent/Content.d.ts +37 -0
  67. package/dist/es/business/ModCommonFilter/components/PopoverContent/Content.js +216 -0
  68. package/dist/es/business/ModCommonFilter/components/PopoverContent/Content.js.map +7 -0
  69. package/dist/es/business/ModCommonFilter/components/PopoverContent/Selected.d.ts +26 -0
  70. package/dist/es/business/ModCommonFilter/components/PopoverContent/Selected.js +102 -0
  71. package/dist/es/business/ModCommonFilter/components/PopoverContent/Selected.js.map +7 -0
  72. package/dist/es/business/ModCommonFilter/components/PopoverContent/index.d.ts +51 -0
  73. package/dist/es/business/ModCommonFilter/components/PopoverContent/index.js +71 -0
  74. package/dist/es/business/ModCommonFilter/components/PopoverContent/index.js.map +7 -0
  75. package/dist/es/business/ModCommonFilter/components/PopoverContent/index.module.less +260 -0
  76. package/dist/es/business/ModCommonFilter/index.d.ts +53 -0
  77. package/dist/es/business/ModCommonFilter/index.js +129 -0
  78. package/dist/es/business/ModCommonFilter/index.js.map +7 -0
  79. package/dist/es/business/ModCommonFilter/index.module.less +7 -0
  80. package/dist/es/business/ModCommonFilter/typing.d.ts +20 -0
  81. package/dist/es/business/ModCommonFilter/typing.js +1 -0
  82. package/dist/es/business/ModCommonFilter/typing.js.map +7 -0
  83. package/dist/es/business/YkPorjectSelect/icon-product.png +0 -0
  84. package/dist/es/business/YkPorjectSelect/index.d.ts +51 -0
  85. package/dist/es/business/YkPorjectSelect/index.js +260 -0
  86. package/dist/es/business/YkPorjectSelect/index.js.map +7 -0
  87. package/dist/es/business/YkPorjectSelect/index.module.less +334 -0
  88. package/dist/es/business/YkPorjectSelect/product-close.png +0 -0
  89. package/dist/es/components/Clock/index.d.ts +19 -0
  90. package/dist/es/components/Clock/index.js +55 -0
  91. package/dist/es/components/Clock/index.js.map +7 -0
  92. package/dist/es/components/DebounceInput/index.d.ts +16 -0
  93. package/dist/es/components/DebounceInput/index.js +77 -0
  94. package/dist/es/components/DebounceInput/index.js.map +7 -0
  95. package/dist/es/components/DebounceInput/index.module.less +23 -0
  96. package/dist/es/components/MultipleSelect/index.d.ts +23 -0
  97. package/dist/es/components/MultipleSelect/index.js +249 -0
  98. package/dist/es/components/MultipleSelect/index.js.map +7 -0
  99. package/dist/es/components/MultipleSelect/index.module.less +174 -0
  100. package/dist/es/components/NumericInput/index.d.ts +19 -0
  101. package/dist/es/components/NumericInput/index.js +56 -0
  102. package/dist/es/components/NumericInput/index.js.map +7 -0
  103. package/dist/es/components/RefreshButton/index.d.ts +8 -0
  104. package/dist/es/components/RefreshButton/index.js +21 -0
  105. package/dist/es/components/RefreshButton/index.js.map +7 -0
  106. package/dist/es/components/SearchWithHistory/index.d.ts +21 -0
  107. package/dist/es/components/SearchWithHistory/index.js +115 -0
  108. package/dist/es/components/SearchWithHistory/index.js.map +7 -0
  109. package/dist/es/components/SearchWithHistory/index.module.less +64 -0
  110. package/dist/es/components/TextWithInput/index.d.ts +15 -0
  111. package/dist/es/components/TextWithInput/index.js +35 -0
  112. package/dist/es/components/TextWithInput/index.js.map +7 -0
  113. package/dist/es/components/TextWithToolTip/index.d.ts +17 -0
  114. package/dist/es/components/TextWithToolTip/index.js +118 -0
  115. package/dist/es/components/TextWithToolTip/index.js.map +7 -0
  116. package/dist/es/components/TreeTransfer/components/TreeTransferPanel/index.d.ts +28 -0
  117. package/dist/es/components/TreeTransfer/components/TreeTransferPanel/index.js +161 -0
  118. package/dist/es/components/TreeTransfer/components/TreeTransferPanel/index.js.map +7 -0
  119. package/dist/es/components/TreeTransfer/components/TreeTransferPanel/index.less +151 -0
  120. package/dist/es/components/TreeTransfer/index.d.ts +28 -0
  121. package/dist/es/components/TreeTransfer/index.js +210 -0
  122. package/dist/es/components/TreeTransfer/index.js.map +7 -0
  123. package/dist/es/components/TreeTransfer/index.less +69 -0
  124. package/dist/es/components/TreeTransfer/types.d.ts +122 -0
  125. package/dist/es/components/TreeTransfer/types.js +6 -0
  126. package/dist/es/components/TreeTransfer/types.js.map +7 -0
  127. package/dist/es/components/TreeTransfer/utils/index.d.ts +120 -0
  128. package/dist/es/components/TreeTransfer/utils/index.js +195 -0
  129. package/dist/es/components/TreeTransfer/utils/index.js.map +7 -0
  130. package/dist/es/components/YkDateRangePicker/index.d.ts +57 -0
  131. package/dist/es/components/YkDateRangePicker/index.js +261 -0
  132. package/dist/es/components/YkDateRangePicker/index.js.map +7 -0
  133. package/dist/es/components/YkDateRangePicker/index.module.less +281 -0
  134. package/dist/es/components/YkRangeDateWithVS/YkRangeDateWithVSCompare.d.ts +16 -0
  135. package/dist/es/components/YkRangeDateWithVS/YkRangeDateWithVSCompare.js +193 -0
  136. package/dist/es/components/YkRangeDateWithVS/YkRangeDateWithVSCompare.js.map +7 -0
  137. package/dist/es/components/YkRangeDateWithVS/YkRangeDateWithVSRange.d.ts +31 -0
  138. package/dist/es/components/YkRangeDateWithVS/YkRangeDateWithVSRange.js +556 -0
  139. package/dist/es/components/YkRangeDateWithVS/YkRangeDateWithVSRange.js.map +7 -0
  140. package/dist/es/components/YkRangeDateWithVS/YkRangeDateWithVSSelect.d.ts +16 -0
  141. package/dist/es/components/YkRangeDateWithVS/YkRangeDateWithVSSelect.js +55 -0
  142. package/dist/es/components/YkRangeDateWithVS/YkRangeDateWithVSSelect.js.map +7 -0
  143. package/dist/es/components/YkRangeDateWithVS/index.d.ts +62 -0
  144. package/dist/es/components/YkRangeDateWithVS/index.js +130 -0
  145. package/dist/es/components/YkRangeDateWithVS/index.js.map +7 -0
  146. package/dist/es/components/YkRangeDateWithVS/index.module.less +548 -0
  147. package/dist/es/components/YkRangeDateWithVS/styles.d.ts +2 -0
  148. package/dist/es/components/YkRangeDateWithVS/styles.js +18 -0
  149. package/dist/es/components/YkRangeDateWithVS/styles.js.map +7 -0
  150. package/dist/es/components/YkRangeDateWithVS/typing.d.ts +15 -0
  151. package/dist/es/components/YkRangeTimeWithRecent/constants.d.ts +48 -0
  152. package/dist/es/components/YkRangeTimeWithRecent/constants.js +288 -0
  153. package/dist/es/components/YkRangeTimeWithRecent/constants.js.map +7 -0
  154. package/dist/es/components/YkRangeTimeWithRecent/index.d.ts +26 -0
  155. package/dist/es/components/YkRangeTimeWithRecent/index.js +647 -0
  156. package/dist/es/components/YkRangeTimeWithRecent/index.js.map +7 -0
  157. package/dist/es/components/YkRangeTimeWithRecent/index.module.less +263 -0
  158. package/dist/es/creative/ButtonRadioWithInfo/index.d.ts +17 -0
  159. package/dist/es/creative/ButtonRadioWithInfo/index.js +103 -0
  160. package/dist/es/creative/ButtonRadioWithInfo/index.js.map +7 -0
  161. package/dist/es/creative/ButtonRadioWithInfo/index.less +106 -0
  162. package/dist/es/creative/ButtonWithProgress/index.d.ts +11 -0
  163. package/dist/es/creative/ButtonWithProgress/index.js +79 -0
  164. package/dist/es/creative/ButtonWithProgress/index.js.map +7 -0
  165. package/dist/es/creative/ButtonWithProgress/index.less +66 -0
  166. package/dist/es/global.less +12 -0
  167. package/dist/es/index.d.ts +41 -0
  168. package/dist/es/index.js +85 -0
  169. package/dist/es/index.js.map +7 -0
  170. package/dist/es/layout/FlexGrid/index.d.ts +25 -0
  171. package/dist/es/layout/FlexGrid/index.js +63 -0
  172. package/dist/es/layout/FlexGrid/index.js.map +7 -0
  173. package/dist/es/layout/YkContainer/index.d.ts +27 -0
  174. package/dist/es/layout/YkContainer/index.js +79 -0
  175. package/dist/es/layout/YkContainer/index.js.map +7 -0
  176. package/dist/es/layout/YkDrawer/index.d.ts +22 -0
  177. package/dist/es/layout/YkDrawer/index.js +160 -0
  178. package/dist/es/layout/YkDrawer/index.js.map +7 -0
  179. package/dist/es/layout/YkDrawer/index.module.less +45 -0
  180. package/dist/es/ui/LabelSelect/demo.d.ts +3 -0
  181. package/dist/es/ui/LabelSelect/demo.js +83 -0
  182. package/dist/es/ui/LabelSelect/demo.js.map +7 -0
  183. package/dist/es/ui/LabelSelect/index.d.ts +41 -0
  184. package/dist/es/ui/LabelSelect/index.js +136 -0
  185. package/dist/es/ui/LabelSelect/index.js.map +7 -0
  186. package/dist/es/ui/LogicOperator/index.d.ts +10 -0
  187. package/dist/es/ui/LogicOperator/index.js +12 -0
  188. package/dist/es/ui/LogicOperator/index.js.map +7 -0
  189. package/dist/es/ui/LogicOperator/index.module.less +97 -0
  190. package/dist/es/ui/YkButton/index.d.ts +9 -0
  191. package/dist/es/ui/YkButton/index.js +59 -0
  192. package/dist/es/ui/YkButton/index.js.map +7 -0
  193. package/dist/es/ui/YkCard/index.d.ts +4 -0
  194. package/dist/es/ui/YkCard/index.js +79 -0
  195. package/dist/es/ui/YkCard/index.js.map +7 -0
  196. package/dist/es/ui/YkCard/index.module.less +30 -0
  197. package/dist/es/ui/YkCheckbox/index.d.ts +4 -0
  198. package/dist/es/ui/YkCheckbox/index.js +45 -0
  199. package/dist/es/ui/YkCheckbox/index.js.map +7 -0
  200. package/dist/es/ui/YkCheckbox/index.module.less +22 -0
  201. package/dist/es/ui/YkDescriptions/index.d.ts +4 -0
  202. package/dist/es/ui/YkDescriptions/index.js +41 -0
  203. package/dist/es/ui/YkDescriptions/index.js.map +7 -0
  204. package/dist/es/ui/YkPagination/index.d.ts +4 -0
  205. package/dist/es/ui/YkPagination/index.js +63 -0
  206. package/dist/es/ui/YkPagination/index.js.map +7 -0
  207. package/dist/es/ui/YkPagination/index.module.less +22 -0
  208. package/dist/es/ui/YkRadio/index.d.ts +4 -0
  209. package/dist/es/ui/YkRadio/index.js +51 -0
  210. package/dist/es/ui/YkRadio/index.js.map +7 -0
  211. package/dist/es/ui/YkRadio/index.module.less +22 -0
  212. package/dist/es/ui/YkRadioBtnSpecial/index.d.ts +15 -0
  213. package/dist/es/ui/YkRadioBtnSpecial/index.js +23 -0
  214. package/dist/es/ui/YkRadioBtnSpecial/index.js.map +7 -0
  215. package/dist/es/ui/YkRadioBtnSpecial/index.module.less +112 -0
  216. package/dist/es/ui/YkSegmented/index.d.ts +4 -0
  217. package/dist/es/ui/YkSegmented/index.js +41 -0
  218. package/dist/es/ui/YkSegmented/index.js.map +7 -0
  219. package/dist/es/ui/YkSelect/index.d.ts +7 -0
  220. package/dist/es/ui/YkSelect/index.js +54 -0
  221. package/dist/es/ui/YkSelect/index.js.map +7 -0
  222. package/dist/es/ui/YkSpin/index.d.ts +4 -0
  223. package/dist/es/ui/YkSpin/index.js +41 -0
  224. package/dist/es/ui/YkSpin/index.js.map +7 -0
  225. package/dist/es/ui/YkStatistic/index.d.ts +4 -0
  226. package/dist/es/ui/YkStatistic/index.js +41 -0
  227. package/dist/es/ui/YkStatistic/index.js.map +7 -0
  228. package/dist/es/ui/YkSwitch/index.d.ts +4 -0
  229. package/dist/es/ui/YkSwitch/index.js +51 -0
  230. package/dist/es/ui/YkSwitch/index.js.map +7 -0
  231. package/dist/es/ui/YkTabs/index.d.ts +12 -0
  232. package/dist/es/ui/YkTabs/index.js +75 -0
  233. package/dist/es/ui/YkTabs/index.js.map +7 -0
  234. package/dist/es/ui/YkTabs/index.module.less +11 -0
  235. package/dist/es/ui/YkTooltip/index.d.ts +4 -0
  236. package/dist/es/ui/YkTooltip/index.js +50 -0
  237. package/dist/es/ui/YkTooltip/index.js.map +7 -0
  238. package/dist/es/utils/styleUtils.d.ts +18 -0
  239. package/dist/es/utils/styleUtils.js +57 -0
  240. package/dist/es/utils/styleUtils.js.map +7 -0
  241. package/dist/es/utils/ykStorybookDoc.d.ts +17 -0
  242. package/dist/es/utils/ykStorybookDoc.js +18 -0
  243. package/dist/es/utils/ykStorybookDoc.js.map +7 -0
  244. package/dist/lib/Themes/InputTheme/index.d.ts +6 -0
  245. package/dist/lib/Themes/InputTheme/index.js +52 -0
  246. package/dist/lib/Themes/InputTheme/index.js.map +7 -0
  247. package/dist/lib/Themes/TableTheme/index.d.ts +7 -0
  248. package/dist/lib/Themes/TableTheme/index.js +61 -0
  249. package/dist/lib/Themes/TableTheme/index.js.map +7 -0
  250. package/dist/lib/Themes/TableTheme/index.less +46 -0
  251. package/dist/lib/assets/image/YKUI-logo.png +0 -0
  252. package/dist/lib/assets/less/ant-reset.less +402 -0
  253. package/dist/lib/assets/less/index.less +1 -0
  254. package/dist/lib/assets/less/variables.less +16 -0
  255. package/dist/lib/business/AiChat/MarkdownRender.d.ts +9 -0
  256. package/dist/lib/business/AiChat/MarkdownRender.js +102 -0
  257. package/dist/lib/business/AiChat/MarkdownRender.js.map +7 -0
  258. package/dist/lib/business/AiChat/index.d.ts +16 -0
  259. package/dist/lib/business/AiChat/index.js +514 -0
  260. package/dist/lib/business/AiChat/index.js.map +7 -0
  261. package/dist/lib/business/AiChat/intentRecognizer.d.ts +33 -0
  262. package/dist/lib/business/AiChat/intentRecognizer.js +193 -0
  263. package/dist/lib/business/AiChat/intentRecognizer.js.map +7 -0
  264. package/dist/lib/business/AiChat/navigationManager.d.ts +94 -0
  265. package/dist/lib/business/AiChat/navigationManager.js +214 -0
  266. package/dist/lib/business/AiChat/navigationManager.js.map +7 -0
  267. package/dist/lib/business/AiChat/sse.d.ts +1 -0
  268. package/dist/lib/business/AiChat/sse.js +61 -0
  269. package/dist/lib/business/AiChat/sse.js.map +7 -0
  270. package/dist/lib/business/AiChat/type.d.ts +157 -0
  271. package/dist/lib/business/AiChat/type.js +18 -0
  272. package/dist/lib/business/AiChat/type.js.map +7 -0
  273. package/dist/lib/business/AiChat/useAiChat.d.ts +2 -0
  274. package/dist/lib/business/AiChat/useAiChat.js +222 -0
  275. package/dist/lib/business/AiChat/useAiChat.js.map +7 -0
  276. package/dist/lib/business/AiChat/useTaskWorkflow.d.ts +26 -0
  277. package/dist/lib/business/AiChat/useTaskWorkflow.js +216 -0
  278. package/dist/lib/business/AiChat/useTaskWorkflow.js.map +7 -0
  279. package/dist/lib/business/DrawerPageInfo/index.d.ts +35 -0
  280. package/dist/lib/business/DrawerPageInfo/index.js +163 -0
  281. package/dist/lib/business/DrawerPageInfo/index.js.map +7 -0
  282. package/dist/lib/business/DrawerPageInfo/index.module.less +87 -0
  283. package/dist/lib/business/DrawerPageInfo/test.png +0 -0
  284. package/dist/lib/business/Editor/index.d.ts +11 -0
  285. package/dist/lib/business/Editor/index.js +99 -0
  286. package/dist/lib/business/Editor/index.js.map +7 -0
  287. package/dist/lib/business/Editor/index.less +31 -0
  288. package/dist/lib/business/Empty/empty.png +0 -0
  289. package/dist/lib/business/Empty/index.d.ts +19 -0
  290. package/dist/lib/business/Empty/index.js +65 -0
  291. package/dist/lib/business/Empty/index.js.map +7 -0
  292. package/dist/lib/business/ModCommonFilter/assets/images/empty.png +0 -0
  293. package/dist/lib/business/ModCommonFilter/components/FilterButton/IconClose.d.ts +13 -0
  294. package/dist/lib/business/ModCommonFilter/components/FilterButton/IconClose.js +50 -0
  295. package/dist/lib/business/ModCommonFilter/components/FilterButton/IconClose.js.map +7 -0
  296. package/dist/lib/business/ModCommonFilter/components/FilterButton/IconXiala.d.ts +13 -0
  297. package/dist/lib/business/ModCommonFilter/components/FilterButton/IconXiala.js +50 -0
  298. package/dist/lib/business/ModCommonFilter/components/FilterButton/IconXiala.js.map +7 -0
  299. package/dist/lib/business/ModCommonFilter/components/FilterButton/index.d.ts +25 -0
  300. package/dist/lib/business/ModCommonFilter/components/FilterButton/index.js +60 -0
  301. package/dist/lib/business/ModCommonFilter/components/FilterButton/index.js.map +7 -0
  302. package/dist/lib/business/ModCommonFilter/components/FilterButton/index.module.less +97 -0
  303. package/dist/lib/business/ModCommonFilter/components/PopoverContent/Category.d.ts +18 -0
  304. package/dist/lib/business/ModCommonFilter/components/PopoverContent/Category.js +69 -0
  305. package/dist/lib/business/ModCommonFilter/components/PopoverContent/Category.js.map +7 -0
  306. package/dist/lib/business/ModCommonFilter/components/PopoverContent/Content.d.ts +37 -0
  307. package/dist/lib/business/ModCommonFilter/components/PopoverContent/Content.js +211 -0
  308. package/dist/lib/business/ModCommonFilter/components/PopoverContent/Content.js.map +7 -0
  309. package/dist/lib/business/ModCommonFilter/components/PopoverContent/Selected.d.ts +26 -0
  310. package/dist/lib/business/ModCommonFilter/components/PopoverContent/Selected.js +97 -0
  311. package/dist/lib/business/ModCommonFilter/components/PopoverContent/Selected.js.map +7 -0
  312. package/dist/lib/business/ModCommonFilter/components/PopoverContent/index.d.ts +51 -0
  313. package/dist/lib/business/ModCommonFilter/components/PopoverContent/index.js +101 -0
  314. package/dist/lib/business/ModCommonFilter/components/PopoverContent/index.js.map +7 -0
  315. package/dist/lib/business/ModCommonFilter/components/PopoverContent/index.module.less +260 -0
  316. package/dist/lib/business/ModCommonFilter/index.d.ts +53 -0
  317. package/dist/lib/business/ModCommonFilter/index.js +143 -0
  318. package/dist/lib/business/ModCommonFilter/index.js.map +7 -0
  319. package/dist/lib/business/ModCommonFilter/index.module.less +7 -0
  320. package/dist/lib/business/ModCommonFilter/typing.d.ts +20 -0
  321. package/dist/lib/business/ModCommonFilter/typing.js +18 -0
  322. package/dist/lib/business/ModCommonFilter/typing.js.map +7 -0
  323. package/dist/lib/business/YkPorjectSelect/icon-product.png +0 -0
  324. package/dist/lib/business/YkPorjectSelect/index.d.ts +51 -0
  325. package/dist/lib/business/YkPorjectSelect/index.js +235 -0
  326. package/dist/lib/business/YkPorjectSelect/index.js.map +7 -0
  327. package/dist/lib/business/YkPorjectSelect/index.module.less +334 -0
  328. package/dist/lib/business/YkPorjectSelect/product-close.png +0 -0
  329. package/dist/lib/components/Clock/index.d.ts +19 -0
  330. package/dist/lib/components/Clock/index.js +85 -0
  331. package/dist/lib/components/Clock/index.js.map +7 -0
  332. package/dist/lib/components/DebounceInput/index.d.ts +16 -0
  333. package/dist/lib/components/DebounceInput/index.js +107 -0
  334. package/dist/lib/components/DebounceInput/index.js.map +7 -0
  335. package/dist/lib/components/DebounceInput/index.module.less +23 -0
  336. package/dist/lib/components/MultipleSelect/index.d.ts +23 -0
  337. package/dist/lib/components/MultipleSelect/index.js +279 -0
  338. package/dist/lib/components/MultipleSelect/index.js.map +7 -0
  339. package/dist/lib/components/MultipleSelect/index.module.less +174 -0
  340. package/dist/lib/components/NumericInput/index.d.ts +19 -0
  341. package/dist/lib/components/NumericInput/index.js +67 -0
  342. package/dist/lib/components/NumericInput/index.js.map +7 -0
  343. package/dist/lib/components/RefreshButton/index.d.ts +8 -0
  344. package/dist/lib/components/RefreshButton/index.js +51 -0
  345. package/dist/lib/components/RefreshButton/index.js.map +7 -0
  346. package/dist/lib/components/SearchWithHistory/index.d.ts +21 -0
  347. package/dist/lib/components/SearchWithHistory/index.js +145 -0
  348. package/dist/lib/components/SearchWithHistory/index.js.map +7 -0
  349. package/dist/lib/components/SearchWithHistory/index.module.less +64 -0
  350. package/dist/lib/components/TextWithInput/index.d.ts +15 -0
  351. package/dist/lib/components/TextWithInput/index.js +65 -0
  352. package/dist/lib/components/TextWithInput/index.js.map +7 -0
  353. package/dist/lib/components/TextWithToolTip/index.d.ts +17 -0
  354. package/dist/lib/components/TextWithToolTip/index.js +134 -0
  355. package/dist/lib/components/TextWithToolTip/index.js.map +7 -0
  356. package/dist/lib/components/TreeTransfer/components/TreeTransferPanel/index.d.ts +28 -0
  357. package/dist/lib/components/TreeTransfer/components/TreeTransferPanel/index.js +191 -0
  358. package/dist/lib/components/TreeTransfer/components/TreeTransferPanel/index.js.map +7 -0
  359. package/dist/lib/components/TreeTransfer/components/TreeTransferPanel/index.less +151 -0
  360. package/dist/lib/components/TreeTransfer/index.d.ts +28 -0
  361. package/dist/lib/components/TreeTransfer/index.js +214 -0
  362. package/dist/lib/components/TreeTransfer/index.js.map +7 -0
  363. package/dist/lib/components/TreeTransfer/index.less +69 -0
  364. package/dist/lib/components/TreeTransfer/types.d.ts +122 -0
  365. package/dist/lib/components/TreeTransfer/types.js +30 -0
  366. package/dist/lib/components/TreeTransfer/types.js.map +7 -0
  367. package/dist/lib/components/TreeTransfer/utils/index.d.ts +120 -0
  368. package/dist/lib/components/TreeTransfer/utils/index.js +208 -0
  369. package/dist/lib/components/TreeTransfer/utils/index.js.map +7 -0
  370. package/dist/lib/components/YkDateRangePicker/index.d.ts +57 -0
  371. package/dist/lib/components/YkDateRangePicker/index.js +282 -0
  372. package/dist/lib/components/YkDateRangePicker/index.js.map +7 -0
  373. package/dist/lib/components/YkDateRangePicker/index.module.less +281 -0
  374. package/dist/lib/components/YkRangeDateWithVS/YkRangeDateWithVSCompare.d.ts +16 -0
  375. package/dist/lib/components/YkRangeDateWithVS/YkRangeDateWithVSCompare.js +223 -0
  376. package/dist/lib/components/YkRangeDateWithVS/YkRangeDateWithVSCompare.js.map +7 -0
  377. package/dist/lib/components/YkRangeDateWithVS/YkRangeDateWithVSRange.d.ts +31 -0
  378. package/dist/lib/components/YkRangeDateWithVS/YkRangeDateWithVSRange.js +567 -0
  379. package/dist/lib/components/YkRangeDateWithVS/YkRangeDateWithVSRange.js.map +7 -0
  380. package/dist/lib/components/YkRangeDateWithVS/YkRangeDateWithVSSelect.d.ts +16 -0
  381. package/dist/lib/components/YkRangeDateWithVS/YkRangeDateWithVSSelect.js +85 -0
  382. package/dist/lib/components/YkRangeDateWithVS/YkRangeDateWithVSSelect.js.map +7 -0
  383. package/dist/lib/components/YkRangeDateWithVS/index.d.ts +62 -0
  384. package/dist/lib/components/YkRangeDateWithVS/index.js +140 -0
  385. package/dist/lib/components/YkRangeDateWithVS/index.js.map +7 -0
  386. package/dist/lib/components/YkRangeDateWithVS/index.module.less +548 -0
  387. package/dist/lib/components/YkRangeDateWithVS/styles.d.ts +2 -0
  388. package/dist/lib/components/YkRangeDateWithVS/styles.js +48 -0
  389. package/dist/lib/components/YkRangeDateWithVS/styles.js.map +7 -0
  390. package/dist/lib/components/YkRangeDateWithVS/typing.d.ts +15 -0
  391. package/dist/lib/components/YkRangeTimeWithRecent/constants.d.ts +48 -0
  392. package/dist/lib/components/YkRangeTimeWithRecent/constants.js +333 -0
  393. package/dist/lib/components/YkRangeTimeWithRecent/constants.js.map +7 -0
  394. package/dist/lib/components/YkRangeTimeWithRecent/index.d.ts +26 -0
  395. package/dist/lib/components/YkRangeTimeWithRecent/index.js +647 -0
  396. package/dist/lib/components/YkRangeTimeWithRecent/index.js.map +7 -0
  397. package/dist/lib/components/YkRangeTimeWithRecent/index.module.less +263 -0
  398. package/dist/lib/creative/ButtonRadioWithInfo/index.d.ts +17 -0
  399. package/dist/lib/creative/ButtonRadioWithInfo/index.js +102 -0
  400. package/dist/lib/creative/ButtonRadioWithInfo/index.js.map +7 -0
  401. package/dist/lib/creative/ButtonRadioWithInfo/index.less +106 -0
  402. package/dist/lib/creative/ButtonWithProgress/index.d.ts +11 -0
  403. package/dist/lib/creative/ButtonWithProgress/index.js +70 -0
  404. package/dist/lib/creative/ButtonWithProgress/index.js.map +7 -0
  405. package/dist/lib/creative/ButtonWithProgress/index.less +66 -0
  406. package/dist/lib/global.less +12 -0
  407. package/dist/lib/index.d.ts +41 -0
  408. package/dist/lib/index.js +158 -0
  409. package/dist/lib/index.js.map +7 -0
  410. package/dist/lib/layout/FlexGrid/index.d.ts +25 -0
  411. package/dist/lib/layout/FlexGrid/index.js +77 -0
  412. package/dist/lib/layout/FlexGrid/index.js.map +7 -0
  413. package/dist/lib/layout/YkContainer/index.d.ts +27 -0
  414. package/dist/lib/layout/YkContainer/index.js +79 -0
  415. package/dist/lib/layout/YkContainer/index.js.map +7 -0
  416. package/dist/lib/layout/YkDrawer/index.d.ts +22 -0
  417. package/dist/lib/layout/YkDrawer/index.js +152 -0
  418. package/dist/lib/layout/YkDrawer/index.js.map +7 -0
  419. package/dist/lib/layout/YkDrawer/index.module.less +45 -0
  420. package/dist/lib/ui/LabelSelect/demo.d.ts +3 -0
  421. package/dist/lib/ui/LabelSelect/demo.js +113 -0
  422. package/dist/lib/ui/LabelSelect/demo.js.map +7 -0
  423. package/dist/lib/ui/LabelSelect/index.d.ts +41 -0
  424. package/dist/lib/ui/LabelSelect/index.js +124 -0
  425. package/dist/lib/ui/LabelSelect/index.js.map +7 -0
  426. package/dist/lib/ui/LogicOperator/index.d.ts +10 -0
  427. package/dist/lib/ui/LogicOperator/index.js +42 -0
  428. package/dist/lib/ui/LogicOperator/index.js.map +7 -0
  429. package/dist/lib/ui/LogicOperator/index.module.less +97 -0
  430. package/dist/lib/ui/YkButton/index.d.ts +9 -0
  431. package/dist/lib/ui/YkButton/index.js +55 -0
  432. package/dist/lib/ui/YkButton/index.js.map +7 -0
  433. package/dist/lib/ui/YkCard/index.d.ts +4 -0
  434. package/dist/lib/ui/YkCard/index.js +76 -0
  435. package/dist/lib/ui/YkCard/index.js.map +7 -0
  436. package/dist/lib/ui/YkCard/index.module.less +30 -0
  437. package/dist/lib/ui/YkCheckbox/index.d.ts +4 -0
  438. package/dist/lib/ui/YkCheckbox/index.js +42 -0
  439. package/dist/lib/ui/YkCheckbox/index.js.map +7 -0
  440. package/dist/lib/ui/YkCheckbox/index.module.less +22 -0
  441. package/dist/lib/ui/YkDescriptions/index.d.ts +4 -0
  442. package/dist/lib/ui/YkDescriptions/index.js +41 -0
  443. package/dist/lib/ui/YkDescriptions/index.js.map +7 -0
  444. package/dist/lib/ui/YkPagination/index.d.ts +4 -0
  445. package/dist/lib/ui/YkPagination/index.js +60 -0
  446. package/dist/lib/ui/YkPagination/index.js.map +7 -0
  447. package/dist/lib/ui/YkPagination/index.module.less +22 -0
  448. package/dist/lib/ui/YkRadio/index.d.ts +4 -0
  449. package/dist/lib/ui/YkRadio/index.js +51 -0
  450. package/dist/lib/ui/YkRadio/index.js.map +7 -0
  451. package/dist/lib/ui/YkRadio/index.module.less +22 -0
  452. package/dist/lib/ui/YkRadioBtnSpecial/index.d.ts +15 -0
  453. package/dist/lib/ui/YkRadioBtnSpecial/index.js +53 -0
  454. package/dist/lib/ui/YkRadioBtnSpecial/index.js.map +7 -0
  455. package/dist/lib/ui/YkRadioBtnSpecial/index.module.less +112 -0
  456. package/dist/lib/ui/YkSegmented/index.d.ts +4 -0
  457. package/dist/lib/ui/YkSegmented/index.js +41 -0
  458. package/dist/lib/ui/YkSegmented/index.js.map +7 -0
  459. package/dist/lib/ui/YkSelect/index.d.ts +7 -0
  460. package/dist/lib/ui/YkSelect/index.js +54 -0
  461. package/dist/lib/ui/YkSelect/index.js.map +7 -0
  462. package/dist/lib/ui/YkSpin/index.d.ts +4 -0
  463. package/dist/lib/ui/YkSpin/index.js +41 -0
  464. package/dist/lib/ui/YkSpin/index.js.map +7 -0
  465. package/dist/lib/ui/YkStatistic/index.d.ts +4 -0
  466. package/dist/lib/ui/YkStatistic/index.js +41 -0
  467. package/dist/lib/ui/YkStatistic/index.js.map +7 -0
  468. package/dist/lib/ui/YkSwitch/index.d.ts +4 -0
  469. package/dist/lib/ui/YkSwitch/index.js +51 -0
  470. package/dist/lib/ui/YkSwitch/index.js.map +7 -0
  471. package/dist/lib/ui/YkTabs/index.d.ts +12 -0
  472. package/dist/lib/ui/YkTabs/index.js +70 -0
  473. package/dist/lib/ui/YkTabs/index.js.map +7 -0
  474. package/dist/lib/ui/YkTabs/index.module.less +11 -0
  475. package/dist/lib/ui/YkTooltip/index.d.ts +4 -0
  476. package/dist/lib/ui/YkTooltip/index.js +45 -0
  477. package/dist/lib/ui/YkTooltip/index.js.map +7 -0
  478. package/dist/lib/utils/styleUtils.d.ts +18 -0
  479. package/dist/lib/utils/styleUtils.js +84 -0
  480. package/dist/lib/utils/styleUtils.js.map +7 -0
  481. package/dist/lib/utils/ykStorybookDoc.d.ts +17 -0
  482. package/dist/lib/utils/ykStorybookDoc.js +41 -0
  483. package/dist/lib/utils/ykStorybookDoc.js.map +7 -0
  484. package/package.json +147 -0
@@ -0,0 +1,166 @@
1
+ // src/business/AiChat/intentRecognizer.ts
2
+ var DEFAULT_PATTERNS = [
3
+ {
4
+ type: "create_task",
5
+ patterns: [/创建|新建|启动|开始|生成|建立|发起/i, /帮我|请|帮忙|协助/i, /任务|作业|job|task/i]
6
+ },
7
+ {
8
+ type: "query_task",
9
+ patterns: [/查询|查看|获取|显示|看看|找/i, /任务|作业|状态|进度|结果/i]
10
+ },
11
+ {
12
+ type: "update_task",
13
+ patterns: [/更新|修改|编辑|更改|调整|优化/i, /任务|配置|参数|设置/i]
14
+ },
15
+ {
16
+ type: "delete_task",
17
+ patterns: [/删除|取消|移除|清除|销毁/i, /任务|作业|job|task/i]
18
+ },
19
+ {
20
+ type: "call_api",
21
+ patterns: [/调用|请求|发送|访问/i, /接口|API|服务|请求/i]
22
+ }
23
+ ];
24
+ var TASK_TYPE_KEYWORDS = {
25
+ paimon: {
26
+ patterns: [/paimon|帕蒙/i],
27
+ type: "paimon"
28
+ },
29
+ data_sync: {
30
+ patterns: [/数据同步|同步|数据迁移|迁移/i],
31
+ type: "data_sync"
32
+ },
33
+ report: {
34
+ patterns: [/报表|报告|report|数据报表|统计/i],
35
+ type: "report"
36
+ },
37
+ etl: {
38
+ patterns: [/ETL|数据处理|数据清洗|数据转换/i],
39
+ type: "etl"
40
+ },
41
+ bug: {
42
+ patterns: [/bug|缺陷|问题|错误|修复|fix/i],
43
+ type: "bug"
44
+ },
45
+ feature: {
46
+ patterns: [/功能|新特性|feature|需求|新特性/i],
47
+ type: "feature"
48
+ },
49
+ analysis: {
50
+ patterns: [/分析|解析|analyze|数据分析|统计分析/i],
51
+ type: "analysis"
52
+ }
53
+ };
54
+ function recognizeIntent(text, customPatterns) {
55
+ const patterns = customPatterns || DEFAULT_PATTERNS;
56
+ let bestMatch = "general_question";
57
+ let bestScore = 0;
58
+ let matchedPattern = "";
59
+ for (const pattern of patterns) {
60
+ let score = 0;
61
+ for (const regex of pattern.patterns) {
62
+ if (regex.test(text)) {
63
+ score += 1;
64
+ matchedPattern = regex.source;
65
+ }
66
+ }
67
+ if (score === pattern.patterns.length && score > 0) {
68
+ score += 0.5;
69
+ }
70
+ if (score > bestScore) {
71
+ bestScore = score;
72
+ bestMatch = pattern.type;
73
+ }
74
+ }
75
+ const parameters = extractTaskParameters(text);
76
+ const confidence = Math.min(bestScore / 3, 1);
77
+ return {
78
+ type: bestMatch,
79
+ confidence,
80
+ parameters,
81
+ rawText: text,
82
+ matchedPattern: bestMatch !== "general_question" ? matchedPattern : void 0
83
+ };
84
+ }
85
+ function extractTaskParameters(text) {
86
+ const params = {
87
+ taskType: detectTaskType(text),
88
+ originalText: text
89
+ };
90
+ const nameMatch = text.match(/名为["']?([^"']+)["']?/i);
91
+ if (nameMatch) {
92
+ params.taskName = nameMatch[1];
93
+ }
94
+ if (/高优先级|紧急|urgent|critical/i.test(text)) {
95
+ params.priority = "high";
96
+ } else if (/低优先级|optional|low/i.test(text)) {
97
+ params.priority = "low";
98
+ } else {
99
+ params.priority = "medium";
100
+ }
101
+ const descMatch = text.match(/描述|说明|备注[::]?\s*(.+)$/i);
102
+ if (descMatch) {
103
+ params.description = descMatch[1].trim();
104
+ }
105
+ const timeMatch = text.match(/(明天|下周|后天|今天|立即|马上|尽快)/i);
106
+ if (timeMatch) {
107
+ params.scheduledTime = timeMatch[1];
108
+ }
109
+ return params;
110
+ }
111
+ function detectTaskType(text) {
112
+ for (const [key, config] of Object.entries(TASK_TYPE_KEYWORDS)) {
113
+ for (const pattern of config.patterns) {
114
+ if (pattern.test(text)) {
115
+ return config.type;
116
+ }
117
+ }
118
+ }
119
+ return "other";
120
+ }
121
+ function generateSuggestions(text, intent) {
122
+ const suggestions = [];
123
+ switch (intent.type) {
124
+ case "create_task":
125
+ suggestions.push(
126
+ "帮我创建一个数据同步任务",
127
+ "创建一个新的报表生成任务",
128
+ "启动Paimon表同步作业",
129
+ "帮我创建一个ETL数据处理任务"
130
+ );
131
+ break;
132
+ case "query_task":
133
+ suggestions.push("查询我的任务列表", "查看任务执行状态", "获取任务执行结果", "查看任务进度");
134
+ break;
135
+ case "update_task":
136
+ suggestions.push("更新任务配置", "修改任务参数", "调整任务执行时间", "优化任务设置");
137
+ break;
138
+ case "delete_task":
139
+ suggestions.push("取消当前任务", "删除失败任务", "清除已完成的任务");
140
+ break;
141
+ default:
142
+ suggestions.push("帮我解答一个问题", "分析这段代码", "解释这个概念", "如何优化查询性能");
143
+ }
144
+ return suggestions;
145
+ }
146
+ function isTaskCreationIntent(text, threshold = 0.5) {
147
+ const intent = recognizeIntent(text);
148
+ return intent.type === "create_task" && intent.confidence >= threshold;
149
+ }
150
+ function parseTaskDescription(text) {
151
+ const intent = recognizeIntent(text);
152
+ const params = intent.parameters;
153
+ return {
154
+ taskType: params.taskType || detectTaskType(text),
155
+ taskName: params.taskName || `${params.taskType || "新"}任务 - ${(/* @__PURE__ */ new Date()).toLocaleTimeString().slice(0, 5)}`,
156
+ description: params.description || text,
157
+ priority: params.priority || "medium"
158
+ };
159
+ }
160
+ export {
161
+ generateSuggestions,
162
+ isTaskCreationIntent,
163
+ parseTaskDescription,
164
+ recognizeIntent
165
+ };
166
+ //# sourceMappingURL=intentRecognizer.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/business/AiChat/intentRecognizer.ts"],
4
+ "sourcesContent": ["import type { Intent, IntentType, IntentPattern, TaskCategory } from './type';\n\n// 默认意图模式\nconst DEFAULT_PATTERNS: IntentPattern[] = [\n {\n type: 'create_task',\n patterns: [/创建|新建|启动|开始|生成|建立|发起/i, /帮我|请|帮忙|协助/i, /任务|作业|job|task/i],\n },\n {\n type: 'query_task',\n patterns: [/查询|查看|获取|显示|看看|找/i, /任务|作业|状态|进度|结果/i],\n },\n {\n type: 'update_task',\n patterns: [/更新|修改|编辑|更改|调整|优化/i, /任务|配置|参数|设置/i],\n },\n {\n type: 'delete_task',\n patterns: [/删除|取消|移除|清除|销毁/i, /任务|作业|job|task/i],\n },\n {\n type: 'call_api',\n patterns: [/调用|请求|发送|访问/i, /接口|API|服务|请求/i],\n },\n];\n\n// 任务类型关键词映射\nconst TASK_TYPE_KEYWORDS: Record<string, { patterns: RegExp[]; type: TaskCategory }> = {\n paimon: {\n patterns: [/paimon|帕蒙/i],\n type: 'paimon',\n },\n data_sync: {\n patterns: [/数据同步|同步|数据迁移|迁移/i],\n type: 'data_sync',\n },\n report: {\n patterns: [/报表|报告|report|数据报表|统计/i],\n type: 'report',\n },\n etl: {\n patterns: [/ETL|数据处理|数据清洗|数据转换/i],\n type: 'etl',\n },\n bug: {\n patterns: [/bug|缺陷|问题|错误|修复|fix/i],\n type: 'bug',\n },\n feature: {\n patterns: [/功能|新特性|feature|需求|新特性/i],\n type: 'feature',\n },\n analysis: {\n patterns: [/分析|解析|analyze|数据分析|统计分析/i],\n type: 'analysis',\n },\n};\n\n/**\n * 识别用户意图\n * @param text 用户输入文本\n * @param customPatterns 自定义意图模式\n * @returns 识别结果\n */\nexport function recognizeIntent(text: string, customPatterns?: IntentPattern[]): Intent {\n const patterns = customPatterns || DEFAULT_PATTERNS;\n\n let bestMatch: IntentType = 'general_question';\n let bestScore = 0;\n let matchedPattern = '';\n\n // 计算每个意图的匹配分数\n for (const pattern of patterns) {\n let score = 0;\n for (const regex of pattern.patterns) {\n if (regex.test(text)) {\n score += 1;\n matchedPattern = regex.source;\n }\n }\n\n // 如果有多个模式匹配,增加权重\n if (score === pattern.patterns.length && score > 0) {\n score += 0.5;\n }\n\n if (score > bestScore) {\n bestScore = score;\n bestMatch = pattern.type;\n }\n }\n\n // 提取任务类型参数\n const parameters: Record<string, any> = extractTaskParameters(text);\n\n // 计算置信度\n const confidence = Math.min(bestScore / 3, 1);\n\n return {\n type: bestMatch,\n confidence,\n parameters,\n rawText: text,\n matchedPattern: bestMatch !== 'general_question' ? matchedPattern : undefined,\n };\n}\n\n/**\n * 提取任务参数\n * @param text 用户输入文本\n * @returns 提取的参数\n */\nfunction extractTaskParameters(text: string): Record<string, any> {\n const params: Record<string, any> = {\n taskType: detectTaskType(text),\n originalText: text,\n };\n\n // 提取任务名称\n const nameMatch = text.match(/名为[\"']?([^\"']+)[\"']?/i);\n if (nameMatch) {\n params.taskName = nameMatch[1];\n }\n\n // 提取优先级\n if (/高优先级|紧急|urgent|critical/i.test(text)) {\n params.priority = 'high';\n } else if (/低优先级|optional|low/i.test(text)) {\n params.priority = 'low';\n } else {\n params.priority = 'medium';\n }\n\n // 提取描述信息\n const descMatch = text.match(/描述|说明|备注[::]?\\s*(.+)$/i);\n if (descMatch) {\n params.description = descMatch[1].trim();\n }\n\n // 提取时间信息\n const timeMatch = text.match(/(明天|下周|后天|今天|立即|马上|尽快)/i);\n if (timeMatch) {\n params.scheduledTime = timeMatch[1];\n }\n\n return params;\n}\n\n/**\n * 检测任务类型\n * @param text 用户输入文本\n * @returns 任务类型\n */\nfunction detectTaskType(text: string): TaskCategory {\n for (const [key, config] of Object.entries(TASK_TYPE_KEYWORDS)) {\n for (const pattern of config.patterns) {\n if (pattern.test(text)) {\n return config.type;\n }\n }\n }\n return 'other';\n}\n\n/**\n * 生成建议问题\n * @param text 用户输入文本\n * @param intent 识别的意图\n * @returns 建议问题列表\n */\nexport function generateSuggestions(text: string, intent: Intent): string[] {\n const suggestions: string[] = [];\n\n switch (intent.type) {\n case 'create_task':\n suggestions.push(\n '帮我创建一个数据同步任务',\n '创建一个新的报表生成任务',\n '启动Paimon表同步作业',\n '帮我创建一个ETL数据处理任务',\n );\n break;\n case 'query_task':\n suggestions.push('查询我的任务列表', '查看任务执行状态', '获取任务执行结果', '查看任务进度');\n break;\n case 'update_task':\n suggestions.push('更新任务配置', '修改任务参数', '调整任务执行时间', '优化任务设置');\n break;\n case 'delete_task':\n suggestions.push('取消当前任务', '删除失败任务', '清除已完成的任务');\n break;\n default:\n suggestions.push('帮我解答一个问题', '分析这段代码', '解释这个概念', '如何优化查询性能');\n }\n\n return suggestions;\n}\n\n/**\n * 判断是否为任务创建意图\n * @param text 用户输入文本\n * @param threshold 置信度阈值\n * @returns 是否为任务创建意图\n */\nexport function isTaskCreationIntent(text: string, threshold = 0.5): boolean {\n const intent = recognizeIntent(text);\n return intent.type === 'create_task' && intent.confidence >= threshold;\n}\n\n/**\n * 创建任务描述(自然语言转结构化数据)\n * @param text 用户输入文本\n * @returns 结构化的任务描述\n */\nexport function parseTaskDescription(text: string): {\n taskType: TaskCategory;\n taskName: string;\n description: string;\n priority: 'high' | 'medium' | 'low';\n} {\n const intent = recognizeIntent(text);\n const params = intent.parameters;\n\n return {\n taskType: params.taskType || detectTaskType(text),\n taskName: params.taskName || `${params.taskType || '新'}任务 - ${new Date().toLocaleTimeString().slice(0, 5)}`,\n description: params.description || text,\n priority: params.priority || 'medium',\n };\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1,94 @@
1
+ import type { NavigationOptions } from './type';
2
+ /**
3
+ * 导航管理器 - 用于处理URL更新和页面导航
4
+ */
5
+ export declare class NavigationManager {
6
+ /**
7
+ * 更新URL查询参数
8
+ * @param params 要更新的参数
9
+ * @param options 导航选项
10
+ */
11
+ static updateQueryParams(params: Record<string, string>, options?: NavigationOptions): void;
12
+ /**
13
+ * 获取当前URL查询参数
14
+ * @returns 查询参数对象
15
+ */
16
+ static getCurrentParams(): Record<string, string>;
17
+ /**
18
+ * 获取单个查询参数值
19
+ * @param key 参数名
20
+ * @returns 参数值
21
+ */
22
+ static getQueryParam(key: string): string | undefined;
23
+ /**
24
+ * 构建任务详情URL
25
+ * @param taskId 任务ID
26
+ * @param baseUrl 基础URL(可选,默认当前页面)
27
+ * @param options 其他选项
28
+ * @returns 完整的URL字符串
29
+ */
30
+ static buildTaskUrl(taskId: string, options?: {
31
+ baseUrl?: string;
32
+ taskType?: string;
33
+ additionalParams?: Record<string, string>;
34
+ }): string;
35
+ /**
36
+ * 导航到任务页面
37
+ * @param taskId 任务ID
38
+ * @param options 导航选项
39
+ */
40
+ static navigateToTask(taskId: string, options?: NavigationOptions & {
41
+ baseUrl?: string;
42
+ taskType?: string;
43
+ }): void;
44
+ /**
45
+ * 刷新当前页面
46
+ * @param taskId 可选的任务ID
47
+ */
48
+ static refreshCurrentPage(taskId?: string): void;
49
+ /**
50
+ * 携带参数刷新页面
51
+ * @param params 查询参数
52
+ */
53
+ static refreshWithParams(params: Record<string, string>): void;
54
+ /**
55
+ * 从URL中提取任务ID
56
+ * @param paramName 参数名(默认taskId)
57
+ * @returns 任务ID
58
+ */
59
+ static extractTaskId(paramName?: string): string | undefined;
60
+ /**
61
+ * 从URL中提取所有任务相关信息
62
+ * @returns 任务相关信息对象
63
+ */
64
+ static extractTaskInfo(): {
65
+ taskId?: string;
66
+ taskType?: string;
67
+ queryParams: Record<string, string>;
68
+ };
69
+ /**
70
+ * 清理URL中的任务参数
71
+ * @param paramsToClean 要清理的参数名列表
72
+ */
73
+ static clearTaskParams(paramsToClean?: string[]): void;
74
+ /**
75
+ * 监听URL变化(用于SPA路由变化检测)
76
+ * @param callback 回调函数
77
+ * @returns 取消监听的函数
78
+ */
79
+ static onUrlChange(callback: () => void): () => void;
80
+ }
81
+ /**
82
+ * 延迟函数
83
+ * @param ms 延迟毫秒数
84
+ * @returns Promise
85
+ */
86
+ export declare function delay(ms: number): Promise<void>;
87
+ /**
88
+ * 创建带超时的Promise
89
+ * @param promise 原始Promise
90
+ * @param timeout 超时时间(毫秒)
91
+ * @param timeoutMessage 超时错误消息
92
+ * @returns Promise
93
+ */
94
+ export declare function withTimeout<T>(promise: Promise<T>, timeout: number, timeoutMessage?: string): Promise<T>;
@@ -0,0 +1,208 @@
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]);
16
+ }
17
+ return a;
18
+ };
19
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
+
21
+ // src/business/AiChat/navigationManager.ts
22
+ var NavigationManager = class {
23
+ /**
24
+ * 更新URL查询参数
25
+ * @param params 要更新的参数
26
+ * @param options 导航选项
27
+ */
28
+ static updateQueryParams(params, options) {
29
+ const { replace = false, merge = true } = options || {};
30
+ const currentParams = new URLSearchParams(window.location.search);
31
+ if (merge) {
32
+ Object.entries(params).forEach(([key, value]) => {
33
+ if (value) {
34
+ currentParams.set(key, value);
35
+ } else {
36
+ currentParams.delete(key);
37
+ }
38
+ });
39
+ } else {
40
+ Object.entries(params).forEach(([key, value]) => {
41
+ if (value) {
42
+ currentParams.set(key, value);
43
+ }
44
+ });
45
+ }
46
+ const newUrl = `${window.location.pathname}?${currentParams.toString()}${(options == null ? void 0 : options.fragment) ? `#${options.fragment}` : ""}`;
47
+ if (replace) {
48
+ window.history.replaceState(__spreadProps(__spreadValues({}, window.history.state), { params }), "", newUrl);
49
+ } else {
50
+ window.history.pushState(__spreadProps(__spreadValues({}, window.history.state), { params }), "", newUrl);
51
+ }
52
+ }
53
+ /**
54
+ * 获取当前URL查询参数
55
+ * @returns 查询参数对象
56
+ */
57
+ static getCurrentParams() {
58
+ const params = new URLSearchParams(window.location.search);
59
+ const result = {};
60
+ params.forEach((value, key) => {
61
+ result[key] = value;
62
+ });
63
+ return result;
64
+ }
65
+ /**
66
+ * 获取单个查询参数值
67
+ * @param key 参数名
68
+ * @returns 参数值
69
+ */
70
+ static getQueryParam(key) {
71
+ const params = new URLSearchParams(window.location.search);
72
+ return params.get(key) || void 0;
73
+ }
74
+ /**
75
+ * 构建任务详情URL
76
+ * @param taskId 任务ID
77
+ * @param baseUrl 基础URL(可选,默认当前页面)
78
+ * @param options 其他选项
79
+ * @returns 完整的URL字符串
80
+ */
81
+ static buildTaskUrl(taskId, options) {
82
+ const baseUrl = (options == null ? void 0 : options.baseUrl) || window.location.pathname;
83
+ const taskTypeParamName = "type";
84
+ const taskIdParamName = "taskId";
85
+ const params = new URLSearchParams();
86
+ params.set(taskIdParamName, taskId);
87
+ if (options == null ? void 0 : options.taskType) {
88
+ params.set(taskTypeParamName, options.taskType);
89
+ }
90
+ if (options == null ? void 0 : options.additionalParams) {
91
+ Object.entries(options.additionalParams).forEach(([key, value]) => {
92
+ params.set(key, value);
93
+ });
94
+ }
95
+ return `${baseUrl}?${params.toString()}`;
96
+ }
97
+ /**
98
+ * 导航到任务页面
99
+ * @param taskId 任务ID
100
+ * @param options 导航选项
101
+ */
102
+ static navigateToTask(taskId, options) {
103
+ const url = this.buildTaskUrl(taskId, {
104
+ baseUrl: options == null ? void 0 : options.baseUrl,
105
+ taskType: options == null ? void 0 : options.taskType,
106
+ additionalParams: options == null ? void 0 : options.queryParams
107
+ });
108
+ if (options == null ? void 0 : options.replace) {
109
+ window.history.replaceState({ taskId, taskType: options == null ? void 0 : options.taskType }, "", url);
110
+ } else {
111
+ window.history.pushState({ taskId, taskType: options == null ? void 0 : options.taskType }, "", url);
112
+ }
113
+ }
114
+ /**
115
+ * 刷新当前页面
116
+ * @param taskId 可选的任务ID
117
+ */
118
+ static refreshCurrentPage(taskId) {
119
+ if (taskId) {
120
+ this.updateQueryParams({ taskId }, { replace: false });
121
+ }
122
+ window.location.reload();
123
+ }
124
+ /**
125
+ * 携带参数刷新页面
126
+ * @param params 查询参数
127
+ */
128
+ static refreshWithParams(params) {
129
+ this.updateQueryParams(params, { replace: false });
130
+ window.location.reload();
131
+ }
132
+ /**
133
+ * 从URL中提取任务ID
134
+ * @param paramName 参数名(默认taskId)
135
+ * @returns 任务ID
136
+ */
137
+ static extractTaskId(paramName = "taskId") {
138
+ return this.getQueryParam(paramName);
139
+ }
140
+ /**
141
+ * 从URL中提取所有任务相关信息
142
+ * @returns 任务相关信息对象
143
+ */
144
+ static extractTaskInfo() {
145
+ const params = this.getCurrentParams();
146
+ return {
147
+ taskId: params.taskId,
148
+ taskType: params.type,
149
+ queryParams: params
150
+ };
151
+ }
152
+ /**
153
+ * 清理URL中的任务参数
154
+ * @param paramsToClean 要清理的参数名列表
155
+ */
156
+ static clearTaskParams(paramsToClean = ["taskId", "type"]) {
157
+ const params = {};
158
+ paramsToClean.forEach((key) => {
159
+ params[key] = "";
160
+ });
161
+ this.updateQueryParams(params, { merge: false });
162
+ }
163
+ /**
164
+ * 监听URL变化(用于SPA路由变化检测)
165
+ * @param callback 回调函数
166
+ * @returns 取消监听的函数
167
+ */
168
+ static onUrlChange(callback) {
169
+ let lastUrl = window.location.href;
170
+ const checkUrl = () => {
171
+ if (window.location.href !== lastUrl) {
172
+ lastUrl = window.location.href;
173
+ callback();
174
+ }
175
+ };
176
+ window.addEventListener("popstate", checkUrl);
177
+ const originalPushState = window.history.pushState;
178
+ const originalReplaceState = window.history.replaceState;
179
+ window.history.pushState = function(...args) {
180
+ originalPushState.apply(this, args);
181
+ checkUrl();
182
+ };
183
+ window.history.replaceState = function(...args) {
184
+ originalReplaceState.apply(this, args);
185
+ checkUrl();
186
+ };
187
+ return () => {
188
+ window.removeEventListener("popstate", checkUrl);
189
+ window.history.pushState = originalPushState;
190
+ window.history.replaceState = originalReplaceState;
191
+ };
192
+ }
193
+ };
194
+ function delay(ms) {
195
+ return new Promise((resolve) => setTimeout(resolve, ms));
196
+ }
197
+ function withTimeout(promise, timeout, timeoutMessage = "Operation timed out") {
198
+ return Promise.race([
199
+ promise,
200
+ new Promise((_, reject) => setTimeout(() => reject(new Error(timeoutMessage)), timeout))
201
+ ]);
202
+ }
203
+ export {
204
+ NavigationManager,
205
+ delay,
206
+ withTimeout
207
+ };
208
+ //# sourceMappingURL=navigationManager.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/business/AiChat/navigationManager.ts"],
4
+ "sourcesContent": ["import type { NavigationOptions } from './type';\n\n/**\n * 导航管理器 - 用于处理URL更新和页面导航\n */\nexport class NavigationManager {\n /**\n * 更新URL查询参数\n * @param params 要更新的参数\n * @param options 导航选项\n */\n static updateQueryParams(params: Record<string, string>, options?: NavigationOptions): void {\n const { replace = false, merge = true } = options || {};\n\n const currentParams = new URLSearchParams(window.location.search);\n\n // 根据需要合并或替换参数\n if (merge) {\n Object.entries(params).forEach(([key, value]) => {\n if (value) {\n currentParams.set(key, value);\n } else {\n currentParams.delete(key);\n }\n });\n } else {\n // 替换所有参数\n Object.entries(params).forEach(([key, value]) => {\n if (value) {\n currentParams.set(key, value);\n }\n });\n }\n\n const newUrl = `${window.location.pathname}?${currentParams.toString()}${options?.fragment ? `#${options.fragment}` : ''}`;\n\n if (replace) {\n window.history.replaceState({ ...window.history.state, params }, '', newUrl);\n } else {\n window.history.pushState({ ...window.history.state, params }, '', newUrl);\n }\n }\n\n /**\n * 获取当前URL查询参数\n * @returns 查询参数对象\n */\n static getCurrentParams(): Record<string, string> {\n const params = new URLSearchParams(window.location.search);\n const result: Record<string, string> = {};\n\n params.forEach((value, key) => {\n result[key] = value;\n });\n\n return result;\n }\n\n /**\n * 获取单个查询参数值\n * @param key 参数名\n * @returns 参数值\n */\n static getQueryParam(key: string): string | undefined {\n const params = new URLSearchParams(window.location.search);\n return params.get(key) || undefined;\n }\n\n /**\n * 构建任务详情URL\n * @param taskId 任务ID\n * @param baseUrl 基础URL(可选,默认当前页面)\n * @param options 其他选项\n * @returns 完整的URL字符串\n */\n static buildTaskUrl(\n taskId: string,\n options?: {\n baseUrl?: string;\n taskType?: string;\n additionalParams?: Record<string, string>;\n },\n ): string {\n const baseUrl = options?.baseUrl || window.location.pathname;\n const taskTypeParamName = 'type';\n const taskIdParamName = 'taskId';\n\n const params = new URLSearchParams();\n params.set(taskIdParamName, taskId);\n\n if (options?.taskType) {\n params.set(taskTypeParamName, options.taskType);\n }\n\n if (options?.additionalParams) {\n Object.entries(options.additionalParams).forEach(([key, value]) => {\n params.set(key, value);\n });\n }\n\n return `${baseUrl}?${params.toString()}`;\n }\n\n /**\n * 导航到任务页面\n * @param taskId 任务ID\n * @param options 导航选项\n */\n static navigateToTask(\n taskId: string,\n options?: NavigationOptions & {\n baseUrl?: string;\n taskType?: string;\n },\n ): void {\n const url = this.buildTaskUrl(taskId, {\n baseUrl: options?.baseUrl,\n taskType: options?.taskType,\n additionalParams: options?.queryParams,\n });\n\n if (options?.replace) {\n window.history.replaceState({ taskId, taskType: options?.taskType }, '', url);\n } else {\n window.history.pushState({ taskId, taskType: options?.taskType }, '', url);\n }\n }\n\n /**\n * 刷新当前页面\n * @param taskId 可选的任务ID\n */\n static refreshCurrentPage(taskId?: string): void {\n if (taskId) {\n // 如果有任务ID,更新URL后再刷新\n this.updateQueryParams({ taskId }, { replace: false });\n }\n\n window.location.reload();\n }\n\n /**\n * 携带参数刷新页面\n * @param params 查询参数\n */\n static refreshWithParams(params: Record<string, string>): void {\n this.updateQueryParams(params, { replace: false });\n window.location.reload();\n }\n\n /**\n * 从URL中提取任务ID\n * @param paramName 参数名(默认taskId)\n * @returns 任务ID\n */\n static extractTaskId(paramName = 'taskId'): string | undefined {\n return this.getQueryParam(paramName);\n }\n\n /**\n * 从URL中提取所有任务相关信息\n * @returns 任务相关信息对象\n */\n static extractTaskInfo(): {\n taskId?: string;\n taskType?: string;\n queryParams: Record<string, string>;\n } {\n const params = this.getCurrentParams();\n return {\n taskId: params.taskId,\n taskType: params.type,\n queryParams: params,\n };\n }\n\n /**\n * 清理URL中的任务参数\n * @param paramsToClean 要清理的参数名列表\n */\n static clearTaskParams(paramsToClean: string[] = ['taskId', 'type']): void {\n const params: Record<string, string> = {};\n paramsToClean.forEach((key) => {\n params[key] = '';\n });\n this.updateQueryParams(params, { merge: false });\n }\n\n /**\n * 监听URL变化(用于SPA路由变化检测)\n * @param callback 回调函数\n * @returns 取消监听的函数\n */\n static onUrlChange(callback: () => void): () => void {\n let lastUrl = window.location.href;\n\n const checkUrl = () => {\n if (window.location.href !== lastUrl) {\n lastUrl = window.location.href;\n callback();\n }\n };\n\n // 监听popstate事件\n window.addEventListener('popstate', checkUrl);\n\n // 重写history方法\n const originalPushState = window.history.pushState;\n const originalReplaceState = window.history.replaceState;\n\n window.history.pushState = function (...args) {\n originalPushState.apply(this, args);\n checkUrl();\n };\n\n window.history.replaceState = function (...args) {\n originalReplaceState.apply(this, args);\n checkUrl();\n };\n\n // 返回取消监听的函数\n return () => {\n window.removeEventListener('popstate', checkUrl);\n window.history.pushState = originalPushState;\n window.history.replaceState = originalReplaceState;\n };\n }\n}\n\n/**\n * 延迟函数\n * @param ms 延迟毫秒数\n * @returns Promise\n */\nexport function delay(ms: number): Promise<void> {\n return new Promise((resolve) => setTimeout(resolve, ms));\n}\n\n/**\n * 创建带超时的Promise\n * @param promise 原始Promise\n * @param timeout 超时时间(毫秒)\n * @param timeoutMessage 超时错误消息\n * @returns Promise\n */\nexport function withTimeout<T>(\n promise: Promise<T>,\n timeout: number,\n timeoutMessage = 'Operation timed out',\n): Promise<T> {\n return Promise.race([\n promise,\n new Promise<T>((_, reject) => setTimeout(() => reject(new Error(timeoutMessage)), timeout)),\n ]);\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1 @@
1
+ export declare function createSSE(url: string, body: any, onMessage: (data: string) => void, onEnd?: () => void, onError?: (err: any) => void): Promise<() => void>;
@@ -0,0 +1,60 @@
1
+ var __async = (__this, __arguments, generator) => {
2
+ return new Promise((resolve, reject) => {
3
+ var fulfilled = (value) => {
4
+ try {
5
+ step(generator.next(value));
6
+ } catch (e) {
7
+ reject(e);
8
+ }
9
+ };
10
+ var rejected = (value) => {
11
+ try {
12
+ step(generator.throw(value));
13
+ } catch (e) {
14
+ reject(e);
15
+ }
16
+ };
17
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
18
+ step((generator = generator.apply(__this, __arguments)).next());
19
+ });
20
+ };
21
+
22
+ // src/business/AiChat/sse.ts
23
+ function createSSE(url, body, onMessage, onEnd, onError) {
24
+ return __async(this, null, function* () {
25
+ const controller = new AbortController();
26
+ const signal = controller.signal;
27
+ try {
28
+ const res = yield fetch(url, {
29
+ method: "POST",
30
+ headers: { "Content-Type": "application/json" },
31
+ body: JSON.stringify(body),
32
+ signal
33
+ });
34
+ if (!res.ok)
35
+ throw new Error("请求失败");
36
+ if (!res.body)
37
+ throw new Error("不支持流式");
38
+ const reader = res.body.getReader();
39
+ const decoder = new TextDecoder("utf-8");
40
+ while (true) {
41
+ const { done, value } = yield reader.read();
42
+ if (done) {
43
+ onEnd == null ? void 0 : onEnd();
44
+ break;
45
+ }
46
+ const text = decoder.decode(value, { stream: true });
47
+ onMessage(text);
48
+ }
49
+ return () => controller.abort();
50
+ } catch (err) {
51
+ if (err.name !== "AbortError")
52
+ onError == null ? void 0 : onError(err);
53
+ return () => controller.abort();
54
+ }
55
+ });
56
+ }
57
+ export {
58
+ createSSE
59
+ };
60
+ //# sourceMappingURL=sse.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/business/AiChat/sse.ts"],
4
+ "sourcesContent": ["export async function createSSE(\n url: string,\n body: any,\n onMessage: (data: string) => void,\n onEnd?: () => void,\n onError?: (err: any) => void,\n) {\n const controller = new AbortController();\n const signal = controller.signal;\n\n try {\n const res = await fetch(url, {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify(body),\n signal,\n });\n\n if (!res.ok) throw new Error('请求失败');\n if (!res.body) throw new Error('不支持流式');\n\n const reader = res.body.getReader();\n const decoder = new TextDecoder('utf-8');\n\n while (true) {\n const { done, value } = await reader.read();\n if (done) {\n onEnd?.();\n break;\n }\n const text = decoder.decode(value, { stream: true });\n onMessage(text);\n }\n\n return () => controller.abort();\n } catch (err: any) {\n if (err.name !== 'AbortError') onError?.(err);\n return () => controller.abort();\n }\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;AAAA,SAAsB,UACpB,KACA,MACA,WACA,OACA,SACA;AAAA;AACA,UAAM,aAAa,IAAI,gBAAgB;AACvC,UAAM,SAAS,WAAW;AAE1B,QAAI;AACF,YAAM,MAAM,MAAM,MAAM,KAAK;AAAA,QAC3B,QAAQ;AAAA,QACR,SAAS,EAAE,gBAAgB,mBAAmB;AAAA,QAC9C,MAAM,KAAK,UAAU,IAAI;AAAA,QACzB;AAAA,MACF,CAAC;AAED,UAAI,CAAC,IAAI;AAAI,cAAM,IAAI,MAAM,MAAM;AACnC,UAAI,CAAC,IAAI;AAAM,cAAM,IAAI,MAAM,OAAO;AAEtC,YAAM,SAAS,IAAI,KAAK,UAAU;AAClC,YAAM,UAAU,IAAI,YAAY,OAAO;AAEvC,aAAO,MAAM;AACX,cAAM,EAAE,MAAM,MAAM,IAAI,MAAM,OAAO,KAAK;AAC1C,YAAI,MAAM;AACR;AACA;AAAA,QACF;AACA,cAAM,OAAO,QAAQ,OAAO,OAAO,EAAE,QAAQ,KAAK,CAAC;AACnD,kBAAU,IAAI;AAAA,MAChB;AAEA,aAAO,MAAM,WAAW,MAAM;AAAA,IAChC,SAAS,KAAP;AACA,UAAI,IAAI,SAAS;AAAc,2CAAU;AACzC,aAAO,MAAM,WAAW,MAAM;AAAA,IAChC;AAAA,EACF;AAAA;",
6
+ "names": []
7
+ }