@scenemesh/entity-engine-aimodule 1.0.0 → 1.0.2

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 (311) hide show
  1. package/dist/components/ChatDialog/ChatDialog.d.ts +17 -0
  2. package/dist/components/ChatDialog/ChatDialog.d.ts.map +1 -0
  3. package/dist/components/ChatDialog/ChatDialog.js +346 -0
  4. package/dist/components/ChatDialog/ChatDialog.js.map +1 -0
  5. package/dist/components/DynamicUI/DynamicToolRenderer.d.ts +9 -0
  6. package/dist/components/DynamicUI/DynamicToolRenderer.d.ts.map +1 -0
  7. package/dist/components/DynamicUI/DynamicToolRenderer.js +114 -0
  8. package/dist/components/DynamicUI/DynamicToolRenderer.js.map +1 -0
  9. package/dist/components/DynamicUI/EntityEngineDynamicComponents.d.ts +75 -0
  10. package/dist/components/DynamicUI/EntityEngineDynamicComponents.d.ts.map +1 -0
  11. package/dist/components/DynamicUI/EntityEngineDynamicComponents.js +123 -0
  12. package/dist/components/DynamicUI/EntityEngineDynamicComponents.js.map +1 -0
  13. package/dist/components/DynamicUI/index.d.ts +12 -0
  14. package/dist/components/DynamicUI/index.d.ts.map +1 -0
  15. package/dist/components/DynamicUI/index.js +13 -0
  16. package/dist/components/DynamicUI/index.js.map +1 -0
  17. package/dist/components/FileViewer/FileViewer.d.ts +16 -0
  18. package/dist/components/FileViewer/FileViewer.d.ts.map +1 -0
  19. package/dist/components/FileViewer/FileViewer.js +158 -0
  20. package/dist/components/FileViewer/FileViewer.js.map +1 -0
  21. package/dist/components/GenerativeUI/PrebuiltComponents.d.ts +44 -0
  22. package/dist/components/GenerativeUI/PrebuiltComponents.d.ts.map +1 -0
  23. package/dist/components/GenerativeUI/PrebuiltComponents.js +65 -0
  24. package/dist/components/GenerativeUI/PrebuiltComponents.js.map +1 -0
  25. package/dist/components/MessageBubble/MessageBubble.d.ts +29 -0
  26. package/dist/components/MessageBubble/MessageBubble.d.ts.map +1 -0
  27. package/dist/components/MessageBubble/MessageBubble.js +222 -0
  28. package/dist/components/MessageBubble/MessageBubble.js.map +1 -0
  29. package/dist/components/ReasoningComponents/ReasoningDisplay.d.ts +26 -0
  30. package/dist/components/ReasoningComponents/ReasoningDisplay.d.ts.map +1 -0
  31. package/dist/components/ReasoningComponents/ReasoningDisplay.js +44 -0
  32. package/dist/components/ReasoningComponents/ReasoningDisplay.js.map +1 -0
  33. package/dist/components/index.d.ts +10 -0
  34. package/dist/components/index.d.ts.map +1 -0
  35. package/dist/components/index.js +10 -0
  36. package/dist/components/index.js.map +1 -0
  37. package/dist/core/ai-core-manager.d.ts +221 -0
  38. package/dist/core/ai-core-manager.d.ts.map +1 -0
  39. package/dist/core/ai-core-manager.js +536 -0
  40. package/dist/core/ai-core-manager.js.map +1 -0
  41. package/dist/core/ai-core.d.ts +380 -0
  42. package/dist/core/ai-core.d.ts.map +1 -0
  43. package/dist/core/ai-core.js +297 -0
  44. package/dist/core/ai-core.js.map +1 -0
  45. package/dist/core/ai-embeddings.d.ts +204 -0
  46. package/dist/core/ai-embeddings.d.ts.map +1 -0
  47. package/dist/core/ai-embeddings.js +380 -0
  48. package/dist/core/ai-embeddings.js.map +1 -0
  49. package/dist/core/ai-provider.d.ts +265 -0
  50. package/dist/core/ai-provider.d.ts.map +1 -0
  51. package/dist/core/ai-provider.js +717 -0
  52. package/dist/core/ai-provider.js.map +1 -0
  53. package/dist/core/ai-settings.d.ts +289 -0
  54. package/dist/core/ai-settings.d.ts.map +1 -0
  55. package/dist/core/ai-settings.js +585 -0
  56. package/dist/core/ai-settings.js.map +1 -0
  57. package/dist/core/ai-structured.d.ts +198 -0
  58. package/dist/core/ai-structured.d.ts.map +1 -0
  59. package/dist/core/ai-structured.js +460 -0
  60. package/dist/core/ai-structured.js.map +1 -0
  61. package/dist/core/ai-tools.d.ts +378 -0
  62. package/dist/core/ai-tools.d.ts.map +1 -0
  63. package/dist/core/ai-tools.js +637 -0
  64. package/dist/core/ai-tools.js.map +1 -0
  65. package/dist/core/index.d.ts +47 -0
  66. package/dist/core/index.d.ts.map +1 -0
  67. package/dist/core/index.js +75 -0
  68. package/dist/core/index.js.map +1 -0
  69. package/dist/core/system-prompt.d.ts +6 -0
  70. package/dist/core/system-prompt.d.ts.map +1 -0
  71. package/dist/core/system-prompt.js +273 -0
  72. package/dist/core/system-prompt.js.map +1 -0
  73. package/dist/core-index.d.ts +29 -1648
  74. package/dist/core-index.d.ts.map +1 -0
  75. package/dist/core-index.js +63 -99
  76. package/dist/core-index.js.map +1 -1
  77. package/dist/entity-module/ai.module.d.ts +48 -0
  78. package/dist/entity-module/ai.module.d.ts.map +1 -0
  79. package/dist/entity-module/ai.module.js +126 -0
  80. package/dist/entity-module/ai.module.js.map +1 -0
  81. package/dist/entity-module/index.d.ts +9 -0
  82. package/dist/entity-module/index.d.ts.map +1 -0
  83. package/dist/entity-module/index.js +9 -0
  84. package/dist/entity-module/index.js.map +1 -0
  85. package/dist/entity-module/models/ai-model.d.ts +3 -0
  86. package/dist/entity-module/models/ai-model.d.ts.map +1 -0
  87. package/dist/entity-module/models/ai-model.js +44 -0
  88. package/dist/entity-module/models/ai-model.js.map +1 -0
  89. package/dist/entity-module/models/index.d.ts +3 -0
  90. package/dist/entity-module/models/index.d.ts.map +1 -0
  91. package/dist/entity-module/models/index.js +6 -0
  92. package/dist/entity-module/models/index.js.map +1 -0
  93. package/dist/entity-module/module.json +8 -0
  94. package/dist/entity-module/renderers/ai-form-renderer.d.ts +3 -0
  95. package/dist/entity-module/renderers/ai-form-renderer.d.ts.map +1 -0
  96. package/dist/entity-module/renderers/ai-form-renderer.js +201 -0
  97. package/dist/entity-module/renderers/ai-form-renderer.js.map +1 -0
  98. package/dist/entity-module/renderers/ai-renderer.d.ts +3 -0
  99. package/dist/entity-module/renderers/ai-renderer.d.ts.map +1 -0
  100. package/dist/entity-module/renderers/ai-renderer.js +99 -0
  101. package/dist/entity-module/renderers/ai-renderer.js.map +1 -0
  102. package/dist/entity-module/renderers/index.d.ts +3 -0
  103. package/dist/entity-module/renderers/index.d.ts.map +1 -0
  104. package/dist/entity-module/renderers/index.js +3 -0
  105. package/dist/entity-module/renderers/index.js.map +1 -0
  106. package/dist/entity-module/servlets/ai-servlet.d.ts +15 -0
  107. package/dist/entity-module/servlets/ai-servlet.d.ts.map +1 -0
  108. package/dist/entity-module/servlets/ai-servlet.js +377 -0
  109. package/dist/entity-module/servlets/ai-servlet.js.map +1 -0
  110. package/dist/entity-module/servlets/index.d.ts +3 -0
  111. package/dist/entity-module/servlets/index.d.ts.map +1 -0
  112. package/dist/entity-module/servlets/index.js +6 -0
  113. package/dist/entity-module/servlets/index.js.map +1 -0
  114. package/dist/entity-module/views/ai-view.d.ts +3 -0
  115. package/dist/entity-module/views/ai-view.d.ts.map +1 -0
  116. package/dist/entity-module/views/ai-view.js +33 -0
  117. package/dist/entity-module/views/ai-view.js.map +1 -0
  118. package/dist/entity-module/views/index.d.ts +3 -0
  119. package/dist/entity-module/views/index.d.ts.map +1 -0
  120. package/dist/entity-module/views/index.js +6 -0
  121. package/dist/entity-module/views/index.js.map +1 -0
  122. package/dist/hooks/index.d.ts +11 -0
  123. package/dist/hooks/index.d.ts.map +1 -0
  124. package/dist/hooks/index.js +10 -0
  125. package/dist/hooks/index.js.map +1 -0
  126. package/dist/hooks/useChat.d.ts +13 -0
  127. package/dist/hooks/useChat.d.ts.map +1 -0
  128. package/dist/hooks/useChat.js +13 -0
  129. package/dist/hooks/useChat.js.map +1 -0
  130. package/dist/hooks/useCompletion.d.ts +17 -0
  131. package/dist/hooks/useCompletion.d.ts.map +1 -0
  132. package/dist/hooks/useCompletion.js +17 -0
  133. package/dist/hooks/useCompletion.js.map +1 -0
  134. package/dist/hooks/useObject.d.ts +16 -0
  135. package/dist/hooks/useObject.d.ts.map +1 -0
  136. package/dist/hooks/useObject.js +17 -0
  137. package/dist/hooks/useObject.js.map +1 -0
  138. package/dist/index.d.ts +42 -2876
  139. package/dist/index.d.ts.map +1 -0
  140. package/dist/index.js +85 -1168
  141. package/dist/index.js.map +1 -1
  142. package/dist/tools/dynamic-tools/entity-query-tool.d.ts +15 -0
  143. package/dist/tools/dynamic-tools/entity-query-tool.d.ts.map +1 -0
  144. package/dist/tools/dynamic-tools/entity-query-tool.js +178 -0
  145. package/dist/tools/dynamic-tools/entity-query-tool.js.map +1 -0
  146. package/dist/tools/dynamic-tools/index.d.ts +8 -0
  147. package/dist/tools/dynamic-tools/index.d.ts.map +1 -0
  148. package/dist/tools/dynamic-tools/index.js +8 -0
  149. package/dist/tools/dynamic-tools/index.js.map +1 -0
  150. package/dist/tools/frontend-tools/index.d.ts +7 -0
  151. package/dist/tools/frontend-tools/index.d.ts.map +1 -0
  152. package/dist/tools/frontend-tools/index.js +7 -0
  153. package/dist/tools/frontend-tools/index.js.map +1 -0
  154. package/dist/tools/frontend-tools/record-tools.d.ts +48 -0
  155. package/dist/tools/frontend-tools/record-tools.d.ts.map +1 -0
  156. package/dist/tools/frontend-tools/record-tools.js +97 -0
  157. package/dist/tools/frontend-tools/record-tools.js.map +1 -0
  158. package/dist/tools/index.d.ts +217 -0
  159. package/dist/tools/index.d.ts.map +1 -0
  160. package/dist/tools/index.js +52 -0
  161. package/dist/tools/index.js.map +1 -0
  162. package/dist/tools/static-tools/index.d.ts +9 -0
  163. package/dist/tools/static-tools/index.d.ts.map +1 -0
  164. package/dist/tools/static-tools/index.js +9 -0
  165. package/dist/tools/static-tools/index.js.map +1 -0
  166. package/dist/tools/static-tools/location-tool.d.ts +38 -0
  167. package/dist/tools/static-tools/location-tool.d.ts.map +1 -0
  168. package/dist/tools/static-tools/location-tool.js +97 -0
  169. package/dist/tools/static-tools/location-tool.js.map +1 -0
  170. package/dist/tools/static-tools/weather-tool.d.ts +19 -0
  171. package/dist/tools/static-tools/weather-tool.d.ts.map +1 -0
  172. package/dist/tools/static-tools/weather-tool.js +27 -0
  173. package/dist/tools/static-tools/weather-tool.js.map +1 -0
  174. package/dist/types/core-types.d.ts +183 -0
  175. package/dist/types/core-types.d.ts.map +1 -0
  176. package/dist/types/core-types.js +7 -0
  177. package/dist/types/core-types.js.map +1 -0
  178. package/dist/types/index.d.ts +50 -0
  179. package/dist/types/index.d.ts.map +1 -0
  180. package/dist/types/index.js +31 -0
  181. package/dist/types/index.js.map +1 -0
  182. package/dist/types/ui-types.d.ts +434 -0
  183. package/dist/types/ui-types.d.ts.map +1 -0
  184. package/dist/types/ui-types.js +8 -0
  185. package/dist/types/ui-types.js.map +1 -0
  186. package/dist/ui/index.d.ts +30 -0
  187. package/dist/ui/index.d.ts.map +1 -0
  188. package/dist/ui/index.js +67 -0
  189. package/dist/ui/index.js.map +1 -0
  190. package/dist/ui-index.d.ts +12 -607
  191. package/dist/ui-index.d.ts.map +1 -0
  192. package/dist/ui-index.js +106 -2350
  193. package/dist/ui-index.js.map +1 -1
  194. package/dist/utils/index.d.ts +122 -0
  195. package/dist/utils/index.d.ts.map +1 -0
  196. package/dist/utils/index.js +336 -0
  197. package/dist/utils/index.js.map +1 -0
  198. package/dist/utils/persistence.d.ts +99 -0
  199. package/dist/utils/persistence.d.ts.map +1 -0
  200. package/dist/utils/persistence.js +286 -0
  201. package/dist/utils/persistence.js.map +1 -0
  202. package/dist/utils/streaming.d.ts +144 -0
  203. package/dist/utils/streaming.d.ts.map +1 -0
  204. package/dist/utils/streaming.js +359 -0
  205. package/dist/utils/streaming.js.map +1 -0
  206. package/dist/utils/theme.d.ts +162 -0
  207. package/dist/utils/theme.d.ts.map +1 -0
  208. package/dist/utils/theme.js +211 -0
  209. package/dist/utils/theme.js.map +1 -0
  210. package/dist/utils/warnings.d.ts +77 -0
  211. package/dist/utils/warnings.d.ts.map +1 -0
  212. package/dist/utils/warnings.js +228 -0
  213. package/dist/utils/warnings.js.map +1 -0
  214. package/package.json +3 -3
  215. package/dist/ai-core-LBGYFGOK.mjs +0 -17
  216. package/dist/ai-core-LBGYFGOK.mjs.map +0 -1
  217. package/dist/ai-core-UGJWSCQN.js +0 -17
  218. package/dist/ai-core-UGJWSCQN.js.map +0 -1
  219. package/dist/ai-core-manager-B3Z34RHA.mjs +0 -9
  220. package/dist/ai-core-manager-B3Z34RHA.mjs.map +0 -1
  221. package/dist/ai-core-manager-W7SSDCG5.js +0 -9
  222. package/dist/ai-core-manager-W7SSDCG5.js.map +0 -1
  223. package/dist/ai-embeddings-5ED5LDXX.mjs +0 -17
  224. package/dist/ai-embeddings-5ED5LDXX.mjs.map +0 -1
  225. package/dist/ai-embeddings-WCXZMMTZ.js +0 -17
  226. package/dist/ai-embeddings-WCXZMMTZ.js.map +0 -1
  227. package/dist/ai-form-renderer-24IWNMX5.js +0 -233
  228. package/dist/ai-form-renderer-24IWNMX5.js.map +0 -1
  229. package/dist/ai-form-renderer-BORQABF2.mjs +0 -233
  230. package/dist/ai-form-renderer-BORQABF2.mjs.map +0 -1
  231. package/dist/ai-provider-3PSCVEEN.mjs +0 -17
  232. package/dist/ai-provider-3PSCVEEN.mjs.map +0 -1
  233. package/dist/ai-provider-WMPMVZFL.js +0 -17
  234. package/dist/ai-provider-WMPMVZFL.js.map +0 -1
  235. package/dist/ai-renderer-7WGGWH5D.mjs +0 -134
  236. package/dist/ai-renderer-7WGGWH5D.mjs.map +0 -1
  237. package/dist/ai-renderer-OILYWAJV.js +0 -134
  238. package/dist/ai-renderer-OILYWAJV.js.map +0 -1
  239. package/dist/ai-settings-DGCFPK3U.js +0 -15
  240. package/dist/ai-settings-DGCFPK3U.js.map +0 -1
  241. package/dist/ai-settings-DTXEAB64.mjs +0 -15
  242. package/dist/ai-settings-DTXEAB64.mjs.map +0 -1
  243. package/dist/ai-structured-EGZ26ZS4.mjs +0 -13
  244. package/dist/ai-structured-EGZ26ZS4.mjs.map +0 -1
  245. package/dist/ai-structured-N2FZLO4A.js +0 -13
  246. package/dist/ai-structured-N2FZLO4A.js.map +0 -1
  247. package/dist/ai-tools-B3R77HZ3.js +0 -19
  248. package/dist/ai-tools-B3R77HZ3.js.map +0 -1
  249. package/dist/ai-tools-JAPVYQGE.mjs +0 -19
  250. package/dist/ai-tools-JAPVYQGE.mjs.map +0 -1
  251. package/dist/ai.module-GAHVCBTP.js +0 -7
  252. package/dist/ai.module-GAHVCBTP.js.map +0 -1
  253. package/dist/ai.module-TTPMTPB3.mjs +0 -7
  254. package/dist/ai.module-TTPMTPB3.mjs.map +0 -1
  255. package/dist/chunk-25C2NRSD.mjs +0 -611
  256. package/dist/chunk-25C2NRSD.mjs.map +0 -1
  257. package/dist/chunk-4JQ7UOXH.js +0 -427
  258. package/dist/chunk-4JQ7UOXH.js.map +0 -1
  259. package/dist/chunk-6IUKES2L.js +0 -290
  260. package/dist/chunk-6IUKES2L.js.map +0 -1
  261. package/dist/chunk-COWPK7XN.mjs +0 -834
  262. package/dist/chunk-COWPK7XN.mjs.map +0 -1
  263. package/dist/chunk-CTEXPMVZ.js +0 -512
  264. package/dist/chunk-CTEXPMVZ.js.map +0 -1
  265. package/dist/chunk-DXQTHA75.js +0 -573
  266. package/dist/chunk-DXQTHA75.js.map +0 -1
  267. package/dist/chunk-DZFQ6I23.js +0 -72
  268. package/dist/chunk-DZFQ6I23.js.map +0 -1
  269. package/dist/chunk-J323UTPE.mjs +0 -650
  270. package/dist/chunk-J323UTPE.mjs.map +0 -1
  271. package/dist/chunk-LHNNALVF.js +0 -834
  272. package/dist/chunk-LHNNALVF.js.map +0 -1
  273. package/dist/chunk-O7SZSMXV.js +0 -1621
  274. package/dist/chunk-O7SZSMXV.js.map +0 -1
  275. package/dist/chunk-OTNOFOVW.js +0 -650
  276. package/dist/chunk-OTNOFOVW.js.map +0 -1
  277. package/dist/chunk-PRIGZEI4.mjs +0 -72
  278. package/dist/chunk-PRIGZEI4.mjs.map +0 -1
  279. package/dist/chunk-SBSZ3IPB.mjs +0 -573
  280. package/dist/chunk-SBSZ3IPB.mjs.map +0 -1
  281. package/dist/chunk-SXPA6SSD.mjs +0 -1621
  282. package/dist/chunk-SXPA6SSD.mjs.map +0 -1
  283. package/dist/chunk-T5A4KAVS.mjs +0 -512
  284. package/dist/chunk-T5A4KAVS.mjs.map +0 -1
  285. package/dist/chunk-TDRKKUNT.mjs +0 -357
  286. package/dist/chunk-TDRKKUNT.mjs.map +0 -1
  287. package/dist/chunk-TJFNODPE.js +0 -357
  288. package/dist/chunk-TJFNODPE.js.map +0 -1
  289. package/dist/chunk-V2SSI3SL.mjs +0 -427
  290. package/dist/chunk-V2SSI3SL.mjs.map +0 -1
  291. package/dist/chunk-X42L6MTY.mjs +0 -290
  292. package/dist/chunk-X42L6MTY.mjs.map +0 -1
  293. package/dist/chunk-YSVMY77H.js +0 -611
  294. package/dist/chunk-YSVMY77H.js.map +0 -1
  295. package/dist/core-ANYRS6EF.mjs +0 -73
  296. package/dist/core-ANYRS6EF.mjs.map +0 -1
  297. package/dist/core-K5K34DCS.js +0 -73
  298. package/dist/core-K5K34DCS.js.map +0 -1
  299. package/dist/core-index.d.mts +0 -1668
  300. package/dist/core-index.mjs +0 -101
  301. package/dist/core-index.mjs.map +0 -1
  302. package/dist/index.d.mts +0 -2911
  303. package/dist/index.mjs +0 -1177
  304. package/dist/index.mjs.map +0 -1
  305. package/dist/tools-352X7A6X.mjs +0 -366
  306. package/dist/tools-352X7A6X.mjs.map +0 -1
  307. package/dist/tools-YLEX6GNO.js +0 -366
  308. package/dist/tools-YLEX6GNO.js.map +0 -1
  309. package/dist/ui-index.d.mts +0 -627
  310. package/dist/ui-index.mjs +0 -2353
  311. package/dist/ui-index.mjs.map +0 -1
@@ -0,0 +1,123 @@
1
+ import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
+ import { EntityViewContainer } from '@scenemesh/entity-engine';
3
+ export const DynamicEntityGridComponent = ({ modelName = '', displayMode = 'table', toolName, _renderHint }) => {
4
+ if (!modelName) {
5
+ return (_jsxs("div", { style: {
6
+ padding: '1rem',
7
+ border: '1px solid #e2e8f0',
8
+ borderRadius: '0.5rem',
9
+ backgroundColor: '#f8fafc'
10
+ }, children: [_jsxs("h4", { children: ["\u26A0\uFE0F ", toolName, " \u9519\u8BEF"] }), _jsx("p", { children: "\u7F3A\u5C11\u5FC5\u9700\u7684 modelName \u53C2\u6570" })] }));
11
+ }
12
+ // 直接使用Entity Engine的标准组件
13
+ return (_jsx("div", { children: _jsx(EntityViewContainer, { modelName: modelName, viewType: "grid", behavior: { mode: 'display' }, viewOptions: {
14
+ mode: displayMode,
15
+ hideToolbar: false,
16
+ hideEditColumn: false,
17
+ hidePagination: false
18
+ } }) }));
19
+ };
20
+ export const DynamicEntityFormComponent = ({ modelName = '', baseObjectId, mode = 'display', toCreating = false, toolName }) => {
21
+ if (!modelName) {
22
+ return (_jsxs("div", { style: {
23
+ padding: '1rem',
24
+ border: '1px solid #e2e8f0',
25
+ borderRadius: '0.5rem',
26
+ backgroundColor: '#f8fafc'
27
+ }, children: [_jsxs("h4", { children: ["\u26A0\uFE0F ", toolName, " \u9519\u8BEF"] }), _jsx("p", { children: "\u7F3A\u5C11\u5FC5\u9700\u7684 modelName \u53C2\u6570" })] }));
28
+ }
29
+ // 直接使用Entity Engine的标准表单组件
30
+ return (_jsx("div", { children: _jsx(EntityViewContainer, { modelName: modelName, viewType: "form", baseObjectId: baseObjectId, behavior: {
31
+ mode,
32
+ toCreating
33
+ } }) }));
34
+ };
35
+ // ================================
36
+ // 📋 Kanban 组件实现
37
+ // ================================
38
+ export const DynamicEntityKanbanComponent = ({ modelName = '', toolName, _renderHint }) => {
39
+ if (!modelName) {
40
+ return (_jsxs("div", { style: {
41
+ padding: '1rem',
42
+ border: '1px solid #e2e8f0',
43
+ borderRadius: '0.5rem',
44
+ backgroundColor: '#f8fafc'
45
+ }, children: [_jsxs("h4", { children: ["\u26A0\uFE0F ", toolName, " \u9519\u8BEF"] }), _jsx("p", { children: "\u7F3A\u5C11\u5FC5\u9700\u7684 modelName \u53C2\u6570" })] }));
46
+ }
47
+ return (_jsx("div", { children: _jsx(EntityViewContainer, { modelName: modelName, viewType: "kanban", behavior: { mode: 'display' }, viewOptions: {
48
+ hideToolbar: false,
49
+ hideEditColumn: false,
50
+ hidePagination: false
51
+ } }) }));
52
+ };
53
+ // ================================
54
+ // 📊 Dashboard 组件实现
55
+ // ================================
56
+ export const DynamicEntityDashboardComponent = ({ modelName = '', toolName, _renderHint }) => {
57
+ if (!modelName) {
58
+ return (_jsxs("div", { style: {
59
+ padding: '1rem',
60
+ border: '1px solid #e2e8f0',
61
+ borderRadius: '0.5rem',
62
+ backgroundColor: '#f8fafc'
63
+ }, children: [_jsxs("h4", { children: ["\u26A0\uFE0F ", toolName, " \u9519\u8BEF"] }), _jsx("p", { children: "\u7F3A\u5C11\u5FC5\u9700\u7684 modelName \u53C2\u6570" })] }));
64
+ }
65
+ return (_jsx("div", { children: _jsx(EntityViewContainer, { modelName: modelName, viewType: "dashboard", behavior: { mode: 'display' }, viewOptions: {
66
+ hideToolbar: false,
67
+ hideEditColumn: false,
68
+ hidePagination: false
69
+ } }) }));
70
+ };
71
+ // ================================
72
+ // 📑 Mastail 组件实现
73
+ // ================================
74
+ export const DynamicEntityMastailComponent = ({ modelName = '', baseObjectId, toolName, _renderHint }) => {
75
+ if (!modelName) {
76
+ return (_jsxs("div", { style: {
77
+ padding: '1rem',
78
+ border: '1px solid #e2e8f0',
79
+ borderRadius: '0.5rem',
80
+ backgroundColor: '#f8fafc'
81
+ }, children: [_jsxs("h4", { children: ["\u26A0\uFE0F ", toolName, " \u9519\u8BEF"] }), _jsx("p", { children: "\u7F3A\u5C11\u5FC5\u9700\u7684 modelName \u53C2\u6570" })] }));
82
+ }
83
+ return (_jsx("div", { children: _jsx(EntityViewContainer, { modelName: modelName, viewType: "mastail", baseObjectId: baseObjectId, behavior: { mode: 'display' }, viewOptions: {
84
+ hideToolbar: false,
85
+ hideEditColumn: false,
86
+ hidePagination: false
87
+ } }) }));
88
+ };
89
+ export const DynamicErrorDisplayComponent = ({ toolName, error, errorDetails, errorType, executedAt, _renderHint }) => (_jsxs("div", { style: {
90
+ padding: '1rem',
91
+ backgroundColor: '#fee2e2',
92
+ border: '1px solid #fecaca',
93
+ borderRadius: '0.5rem',
94
+ color: '#dc2626',
95
+ margin: '0.5rem 0'
96
+ }, children: [_jsxs("div", { style: { fontWeight: '500', marginBottom: '0.5rem' }, children: ["\u274C ", toolName, " \u6267\u884C\u5931\u8D25"] }), _jsx("p", { style: { margin: 0, fontSize: '0.875rem' }, children: error }), errorDetails && (_jsxs("details", { style: { marginTop: '0.5rem' }, children: [_jsx("summary", { style: { cursor: 'pointer', fontSize: '0.875rem' }, children: "\u8BE6\u7EC6\u9519\u8BEF\u4FE1\u606F" }), _jsx("pre", { style: {
97
+ marginTop: '0.25rem',
98
+ fontSize: '0.75rem',
99
+ backgroundColor: '#fef2f2',
100
+ padding: '0.5rem',
101
+ borderRadius: '0.25rem',
102
+ overflow: 'auto',
103
+ whiteSpace: 'pre-wrap'
104
+ }, children: errorDetails })] })), executedAt && (_jsxs("div", { style: {
105
+ fontSize: '0.75rem',
106
+ color: '#991b1b',
107
+ marginTop: '0.5rem',
108
+ opacity: 0.8
109
+ }, children: ["\u6267\u884C\u65F6\u95F4: ", new Date(executedAt).toLocaleString()] }))] }));
110
+ // ================================
111
+ // Component type mapping for dynamic tools
112
+ // ================================
113
+ export const ENTITY_DYNAMIC_COMPONENTS = {
114
+ 'DynamicDataTable': DynamicEntityGridComponent,
115
+ 'DynamicDataGrid': DynamicEntityGridComponent,
116
+ 'DynamicDataList': DynamicEntityGridComponent,
117
+ 'DynamicEntityForm': DynamicEntityFormComponent,
118
+ 'DynamicEntityKanban': DynamicEntityKanbanComponent,
119
+ 'DynamicEntityDashboard': DynamicEntityDashboardComponent,
120
+ 'DynamicEntityMastail': DynamicEntityMastailComponent,
121
+ 'DynamicErrorDisplay': DynamicErrorDisplayComponent,
122
+ };
123
+ //# sourceMappingURL=EntityEngineDynamicComponents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EntityEngineDynamicComponents.js","sourceRoot":"","sources":["../../../src/components/DynamicUI/EntityEngineDynamicComponents.tsx"],"names":[],"mappings":";AAYA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AA0C/D,MAAM,CAAC,MAAM,0BAA0B,GAAqC,CAAC,EAC3E,SAAS,GAAG,EAAE,EACd,WAAW,GAAG,OAAO,EACrB,QAAQ,EACR,WAAW,EACZ,EAAE,EAAE;IACH,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,CACL,eAAK,KAAK,EAAE;gBACV,OAAO,EAAE,MAAM;gBACf,MAAM,EAAE,mBAAmB;gBAC3B,YAAY,EAAE,QAAQ;gBACtB,eAAe,EAAE,SAAS;aAC3B,aACC,0CAAQ,QAAQ,qBAAS,EACzB,gFAAyB,IACrB,CACP,CAAC;IACJ,CAAC;IAED,yBAAyB;IACzB,OAAO,CACL,wBACE,KAAC,mBAAmB,IAClB,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAC,MAAM,EACf,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAC7B,WAAW,EAAE;gBACX,IAAI,EAAE,WAAW;gBACjB,WAAW,EAAE,KAAK;gBAClB,cAAc,EAAE,KAAK;gBACrB,cAAc,EAAE,KAAK;aACtB,GACD,GACE,CACP,CAAC;AACJ,CAAC,CAAC;AAqCF,MAAM,CAAC,MAAM,0BAA0B,GAAqC,CAAC,EAC3E,SAAS,GAAG,EAAE,EACd,YAAY,EACZ,IAAI,GAAG,SAAS,EAChB,UAAU,GAAG,KAAK,EAClB,QAAQ,EACT,EAAE,EAAE;IACH,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,CACL,eAAK,KAAK,EAAE;gBACV,OAAO,EAAE,MAAM;gBACf,MAAM,EAAE,mBAAmB;gBAC3B,YAAY,EAAE,QAAQ;gBACtB,eAAe,EAAE,SAAS;aAC3B,aACC,0CAAQ,QAAQ,qBAAS,EACzB,gFAAyB,IACrB,CACP,CAAC;IACJ,CAAC;IAED,2BAA2B;IAC3B,OAAO,CACL,wBACE,KAAC,mBAAmB,IAClB,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAC,MAAM,EACf,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE;gBACR,IAAI;gBACJ,UAAU;aACX,GACD,GACE,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,mCAAmC;AACnC,iBAAiB;AACjB,mCAAmC;AAEnC,MAAM,CAAC,MAAM,4BAA4B,GAAuC,CAAC,EAC/E,SAAS,GAAG,EAAE,EACd,QAAQ,EACR,WAAW,EACZ,EAAE,EAAE;IACH,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,CACL,eAAK,KAAK,EAAE;gBACV,OAAO,EAAE,MAAM;gBACf,MAAM,EAAE,mBAAmB;gBAC3B,YAAY,EAAE,QAAQ;gBACtB,eAAe,EAAE,SAAS;aAC3B,aACC,0CAAQ,QAAQ,qBAAS,EACzB,gFAAyB,IACrB,CACP,CAAC;IACJ,CAAC;IAED,OAAO,CACL,wBACE,KAAC,mBAAmB,IAClB,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAC,QAAQ,EACjB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAC7B,WAAW,EAAE;gBACX,WAAW,EAAE,KAAK;gBAClB,cAAc,EAAE,KAAK;gBACrB,cAAc,EAAE,KAAK;aACtB,GACD,GACE,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,mCAAmC;AACnC,oBAAoB;AACpB,mCAAmC;AAEnC,MAAM,CAAC,MAAM,+BAA+B,GAA0C,CAAC,EACrF,SAAS,GAAG,EAAE,EACd,QAAQ,EACR,WAAW,EACZ,EAAE,EAAE;IACH,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,CACL,eAAK,KAAK,EAAE;gBACV,OAAO,EAAE,MAAM;gBACf,MAAM,EAAE,mBAAmB;gBAC3B,YAAY,EAAE,QAAQ;gBACtB,eAAe,EAAE,SAAS;aAC3B,aACC,0CAAQ,QAAQ,qBAAS,EACzB,gFAAyB,IACrB,CACP,CAAC;IACJ,CAAC;IAED,OAAO,CACL,wBACE,KAAC,mBAAmB,IAClB,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAC,WAAW,EACpB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAC7B,WAAW,EAAE;gBACX,WAAW,EAAE,KAAK;gBAClB,cAAc,EAAE,KAAK;gBACrB,cAAc,EAAE,KAAK;aACtB,GACD,GACE,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,mCAAmC;AACnC,kBAAkB;AAClB,mCAAmC;AAEnC,MAAM,CAAC,MAAM,6BAA6B,GAAwC,CAAC,EACjF,SAAS,GAAG,EAAE,EACd,YAAY,EACZ,QAAQ,EACR,WAAW,EACZ,EAAE,EAAE;IACH,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,CACL,eAAK,KAAK,EAAE;gBACV,OAAO,EAAE,MAAM;gBACf,MAAM,EAAE,mBAAmB;gBAC3B,YAAY,EAAE,QAAQ;gBACtB,eAAe,EAAE,SAAS;aAC3B,aACC,0CAAQ,QAAQ,qBAAS,EACzB,gFAAyB,IACrB,CACP,CAAC;IACJ,CAAC;IAED,OAAO,CACL,wBACE,KAAC,mBAAmB,IAClB,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAC,SAAS,EAClB,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAC7B,WAAW,EAAE;gBACX,WAAW,EAAE,KAAK;gBAClB,cAAc,EAAE,KAAK;gBACrB,cAAc,EAAE,KAAK;aACtB,GACD,GACE,CACP,CAAC;AACJ,CAAC,CAAC;AAYF,MAAM,CAAC,MAAM,4BAA4B,GAAuC,CAAC,EAC/E,QAAQ,EACR,KAAK,EACL,YAAY,EACZ,SAAS,EACT,UAAU,EACV,WAAW,EACZ,EAAE,EAAE,CAAC,CACF,eAAK,KAAK,EAAE;QACV,OAAO,EAAE,MAAM;QACf,eAAe,EAAE,SAAS;QAC1B,MAAM,EAAE,mBAAmB;QAC3B,YAAY,EAAE,QAAQ;QACtB,KAAK,EAAE,SAAS;QAChB,MAAM,EAAE,UAAU;KACnB,aACC,eAAK,KAAK,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,wBACpD,QAAQ,iCACP,EACN,YAAG,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAG,KAAK,GAAK,EACzD,YAAY,IAAI,CACf,mBAAS,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,aACrC,kBAAS,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,qDAAkB,EAC7E,cAAK,KAAK,EAAE;wBACV,SAAS,EAAE,SAAS;wBACpB,QAAQ,EAAE,SAAS;wBACnB,eAAe,EAAE,SAAS;wBAC1B,OAAO,EAAE,QAAQ;wBACjB,YAAY,EAAE,SAAS;wBACvB,QAAQ,EAAE,MAAM;wBAChB,UAAU,EAAE,UAAU;qBACvB,YACE,YAAY,GACT,IACE,CACX,EACA,UAAU,IAAI,CACb,eAAK,KAAK,EAAE;gBACV,QAAQ,EAAE,SAAS;gBACnB,KAAK,EAAE,SAAS;gBAChB,SAAS,EAAE,QAAQ;gBACnB,OAAO,EAAE,GAAG;aACb,2CACQ,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,cAAc,EAAE,IACxC,CACP,IACG,CACP,CAAC;AAEJ,mCAAmC;AACnC,2CAA2C;AAC3C,mCAAmC;AAEnC,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,kBAAkB,EAAE,0BAA0B;IAC9C,iBAAiB,EAAE,0BAA0B;IAC7C,iBAAiB,EAAE,0BAA0B;IAC7C,mBAAmB,EAAE,0BAA0B;IAC/C,qBAAqB,EAAE,4BAA4B;IACnD,wBAAwB,EAAE,+BAA+B;IACzD,sBAAsB,EAAE,6BAA6B;IACrD,qBAAqB,EAAE,4BAA4B;CAC3C,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Dynamic UI Components Export - Entity Engine Integration
3
+ *
4
+ * Dynamic UI system integrated with Entity Engine standard components:
5
+ * - Standard component implementation
6
+ * - Uses Entity Engine grid and form components
7
+ * - Clean and focused on data display
8
+ */
9
+ export { DynamicToolRenderer } from './DynamicToolRenderer';
10
+ export { ENTITY_DYNAMIC_COMPONENTS, DynamicEntityGridComponent, DynamicEntityFormComponent, DynamicEntityKanbanComponent, DynamicEntityMastailComponent, DynamicEntityDashboardComponent } from './EntityEngineDynamicComponents';
11
+ export type { DynamicEntityGridProps, DynamicEntityFormProps, DynamicEntityKanbanProps, DynamicEntityMastailProps, EntityDynamicComponentType, DynamicEntityComponentProps, DynamicEntityDashboardProps } from './EntityEngineDynamicComponents';
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/DynamicUI/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAG5D,OAAO,EACL,yBAAyB,EACzB,0BAA0B,EAC1B,0BAA0B,EAC1B,4BAA4B,EAC5B,6BAA6B,EAC7B,+BAA+B,EAChC,MAAM,iCAAiC,CAAC;AAGzC,YAAY,EACV,sBAAsB,EACtB,sBAAsB,EACtB,wBAAwB,EACxB,yBAAyB,EACzB,0BAA0B,EAC1B,2BAA2B,EAC3B,2BAA2B,EAC5B,MAAM,iCAAiC,CAAC"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Dynamic UI Components Export - Entity Engine Integration
3
+ *
4
+ * Dynamic UI system integrated with Entity Engine standard components:
5
+ * - Standard component implementation
6
+ * - Uses Entity Engine grid and form components
7
+ * - Clean and focused on data display
8
+ */
9
+ // 主要动态工具渲染器
10
+ export { DynamicToolRenderer } from './DynamicToolRenderer';
11
+ // Entity Engine集成组件
12
+ export { ENTITY_DYNAMIC_COMPONENTS, DynamicEntityGridComponent, DynamicEntityFormComponent, DynamicEntityKanbanComponent, DynamicEntityMastailComponent, DynamicEntityDashboardComponent } from './EntityEngineDynamicComponents';
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/DynamicUI/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,YAAY;AACZ,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,oBAAoB;AACpB,OAAO,EACL,yBAAyB,EACzB,0BAA0B,EAC1B,0BAA0B,EAC1B,4BAA4B,EAC5B,6BAA6B,EAC7B,+BAA+B,EAChC,MAAM,iCAAiC,CAAC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Entity Engine AI - FileViewer Component
3
+ *
4
+ * 文件查看器组件
5
+ * 支持图片预览、文档显示和文件操作
6
+ */
7
+ import type { FileViewerProps } from '../../types';
8
+ /**
9
+ * 文件查看器组件
10
+ */
11
+ export declare function FileViewer({ file, showDownload, showRemove, onRemove, className, }: FileViewerProps): import("react/jsx-runtime").JSX.Element;
12
+ /**
13
+ * 默认导出FileViewer组件
14
+ */
15
+ export default FileViewer;
16
+ //# sourceMappingURL=FileViewer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileViewer.d.ts","sourceRoot":"","sources":["../../../src/components/FileViewer/FileViewer.tsx"],"names":[],"mappings":"AAEA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAoBnD;;GAEG;AACH,wBAAgB,UAAU,CAAC,EACzB,IAAI,EACJ,YAAoB,EACpB,UAAkB,EAClB,QAAQ,EACR,SAAS,GACV,EAAE,eAAe,2CAwUjB;AAED;;GAEG;AACH,eAAe,UAAU,CAAC"}
@@ -0,0 +1,158 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { useMemo, useState } from 'react';
3
+ import { motion, AnimatePresence } from 'framer-motion';
4
+ import { Box, Text, Modal, Title, Group, Stack, Paper, Badge, Image, Button, ActionIcon } from '@mantine/core';
5
+ import { X, Eye, File, Code, Music, Video, Archive, FileText, Download, AlertTriangle } from 'lucide-react';
6
+ import { componentStyles, getThemedTextProps } from '../../utils/theme';
7
+ /**
8
+ * 文件查看器组件
9
+ */
10
+ export function FileViewer({ file, showDownload = false, showRemove = false, onRemove, className, }) {
11
+ const [isPreviewOpen, setIsPreviewOpen] = useState(false);
12
+ const [imageLoadError, setImageLoadError] = useState(false);
13
+ const [isLoading, setIsLoading] = useState(false);
14
+ // Get file info
15
+ const fileInfo = useMemo(() => {
16
+ const extension = file.filename?.split('.').pop()?.toLowerCase() || '';
17
+ const mediaType = file.mediaType || '';
18
+ // Determine file type category
19
+ let category = 'document';
20
+ let icon = _jsx(File, { className: "w-5 h-5" });
21
+ let color = 'text-gray-600 dark:text-gray-400';
22
+ let bgColor = 'bg-gray-100 dark:bg-gray-800';
23
+ if (mediaType.startsWith('image/')) {
24
+ category = 'image';
25
+ icon = _jsx(Image, { className: "w-5 h-5" });
26
+ color = 'text-blue-600 dark:text-blue-400';
27
+ bgColor = 'bg-blue-50 dark:bg-blue-900/20';
28
+ }
29
+ else if (mediaType.startsWith('text/') || ['txt', 'md', 'json', 'xml', 'csv'].includes(extension)) {
30
+ category = 'text';
31
+ icon = _jsx(FileText, { className: "w-5 h-5" });
32
+ color = 'text-green-600 dark:text-green-400';
33
+ bgColor = 'bg-green-50 dark:bg-green-900/20';
34
+ }
35
+ else if (['js', 'ts', 'jsx', 'tsx', 'py', 'java', 'cpp', 'c', 'html', 'css', 'php'].includes(extension)) {
36
+ category = 'code';
37
+ icon = _jsx(Code, { className: "w-5 h-5" });
38
+ color = 'text-purple-600 dark:text-purple-400';
39
+ bgColor = 'bg-purple-50 dark:bg-purple-900/20';
40
+ }
41
+ else if (mediaType.startsWith('audio/')) {
42
+ category = 'audio';
43
+ icon = _jsx(Music, { className: "w-5 h-5" });
44
+ color = 'text-pink-600 dark:text-pink-400';
45
+ bgColor = 'bg-pink-50 dark:bg-pink-900/20';
46
+ }
47
+ else if (mediaType.startsWith('video/')) {
48
+ category = 'video';
49
+ icon = _jsx(Video, { className: "w-5 h-5" });
50
+ color = 'text-red-600 dark:text-red-400';
51
+ bgColor = 'bg-red-50 dark:bg-red-900/20';
52
+ }
53
+ else if (['zip', 'rar', '7z', 'tar', 'gz'].includes(extension)) {
54
+ category = 'archive';
55
+ icon = _jsx(Archive, { className: "w-5 h-5" });
56
+ color = 'text-orange-600 dark:text-orange-400';
57
+ bgColor = 'bg-orange-50 dark:bg-orange-900/20';
58
+ }
59
+ return {
60
+ extension,
61
+ category,
62
+ icon,
63
+ color,
64
+ bgColor,
65
+ canPreview: ['image', 'text'].includes(category),
66
+ size: formatFileSize(getFileSizeFromUrl(file.url)),
67
+ };
68
+ }, [file]);
69
+ // Format file size
70
+ function formatFileSize(bytes) {
71
+ if (bytes === 0)
72
+ return '0 B';
73
+ const k = 1024;
74
+ const sizes = ['B', 'KB', 'MB', 'GB'];
75
+ const i = Math.floor(Math.log(bytes) / Math.log(k));
76
+ return parseFloat((bytes / Math.pow(k, i)).toFixed(1)) + ' ' + sizes[i];
77
+ }
78
+ // Get file size from URL (approximation for blob URLs)
79
+ function getFileSizeFromUrl(url) {
80
+ // For blob URLs, we can't determine the actual size
81
+ // Return 0 and let the parent component provide size if needed
82
+ return 0;
83
+ }
84
+ // Handle download
85
+ const handleDownload = async () => {
86
+ try {
87
+ setIsLoading(true);
88
+ const response = await fetch(file.url);
89
+ if (!response.ok)
90
+ throw new Error('Download failed');
91
+ const blob = await response.blob();
92
+ const downloadUrl = URL.createObjectURL(blob);
93
+ const a = document.createElement('a');
94
+ a.href = downloadUrl;
95
+ a.download = file.filename || 'download';
96
+ document.body.appendChild(a);
97
+ a.click();
98
+ document.body.removeChild(a);
99
+ URL.revokeObjectURL(downloadUrl);
100
+ }
101
+ catch {
102
+ // Ignore download errors
103
+ }
104
+ finally {
105
+ setIsLoading(false);
106
+ }
107
+ };
108
+ // Handle remove
109
+ const handleRemove = () => {
110
+ if (onRemove) {
111
+ onRemove(file);
112
+ }
113
+ };
114
+ // Render file preview content
115
+ const renderPreviewContent = () => {
116
+ if (fileInfo.category === 'image') {
117
+ return (_jsx(Box, { style: { display: 'flex', alignItems: 'center', justifyContent: 'center', maxHeight: '24rem' }, children: _jsx(Image, { src: file.url, alt: file.filename, style: { maxWidth: '100%', maxHeight: '100%', objectFit: 'contain' }, radius: "md", onError: () => setImageLoadError(true) }) }));
118
+ }
119
+ if (fileInfo.category === 'text') {
120
+ return (_jsx(Box, { style: { maxHeight: '24rem', overflow: 'auto' }, children: _jsx("iframe", { src: file.url, style: {
121
+ width: '100%',
122
+ height: '20rem',
123
+ border: `1px solid ${componentStyles.fileViewer.border}`,
124
+ borderRadius: '0.5rem'
125
+ }, title: file.filename }) }));
126
+ }
127
+ return (_jsxs(Stack, { align: "center", justify: "center", style: { padding: '2rem' }, children: [_jsx(AlertTriangle, { size: 48, color: componentStyles.text.muted }), _jsx(Text, { ...getThemedTextProps('muted'), children: "Preview not available for this file type" }), _jsx(Text, { size: "sm", ...getThemedTextProps('muted'), children: "Click download to view the file" })] }));
128
+ };
129
+ return (_jsxs(_Fragment, { children: [_jsx(motion.div, { initial: { opacity: 0, scale: 0.95 }, animate: { opacity: 1, scale: 1 }, children: _jsxs(Paper, { p: "md", style: {
130
+ position: 'relative',
131
+ border: `1px solid ${componentStyles.fileViewer.border}`,
132
+ borderRadius: '0.5rem',
133
+ backgroundColor: componentStyles.fileViewer.background,
134
+ boxShadow: '0 1px 2px 0 rgb(0 0 0 / 0.05)',
135
+ transition: 'box-shadow 0.2s'
136
+ }, children: [showRemove && (_jsx(ActionIcon, { size: "sm", color: "red", variant: "filled", onClick: handleRemove, style: {
137
+ position: 'absolute',
138
+ top: '0.25rem',
139
+ right: '0.25rem',
140
+ opacity: 0.7
141
+ }, title: "Remove file", children: _jsx(X, { size: 12 }) })), _jsxs(Group, { align: "flex-start", gap: "sm", children: [_jsx(Box, { style: { flexShrink: 0 }, children: fileInfo.category === 'image' && !imageLoadError ? (_jsx(Box, { w: 48, h: 48, style: {
142
+ borderRadius: '0.25rem',
143
+ overflow: 'hidden',
144
+ backgroundColor: componentStyles.codeBackground
145
+ }, children: _jsx(Image, { src: file.url, alt: file.filename, style: { width: '100%', height: '100%', objectFit: 'cover' }, onError: () => setImageLoadError(true) }) })) : (_jsx(Box, { w: 48, h: 48, style: {
146
+ display: 'flex',
147
+ alignItems: 'center',
148
+ justifyContent: 'center'
149
+ }, children: fileInfo.icon })) }), _jsxs(Box, { style: { flex: 1, minWidth: 0 }, children: [_jsx(Text, { size: "sm", fw: 500, ...getThemedTextProps('primary'), truncate: true, children: file.filename }), _jsxs(Group, { gap: "xs", mt: "xs", children: [_jsx(Badge, { size: "xs", variant: "light", color: "gray", children: fileInfo.extension || 'Unknown' }), fileInfo.size !== '0 B' && (_jsx(Text, { size: "xs", ...getThemedTextProps('muted'), children: fileInfo.size }))] }), file.mediaType && (_jsx(Text, { size: "xs", ...getThemedTextProps('muted'), mt: "xs", children: file.mediaType }))] })] }), _jsxs(Group, { justify: "flex-end", gap: "xs", mt: "sm", style: { opacity: 0.7 }, children: [fileInfo.canPreview && (_jsx(Button, { variant: "subtle", size: "xs", onClick: () => setIsPreviewOpen(true), leftSection: _jsx(Eye, { size: 12 }), children: "Preview" })), showDownload && (_jsx(Button, { variant: "subtle", size: "xs", onClick: handleDownload, disabled: isLoading, leftSection: _jsx(Download, { size: 12 }), children: isLoading ? 'Downloading...' : 'Download' }))] })] }) }), _jsx(AnimatePresence, { children: isPreviewOpen && (_jsx(Modal, { opened: isPreviewOpen, onClose: () => setIsPreviewOpen(false), size: "xl", styles: {
150
+ content: { maxHeight: '90vh' },
151
+ body: { overflow: 'auto' }
152
+ }, children: _jsxs(motion.div, { initial: { opacity: 0, scale: 0.95 }, animate: { opacity: 1, scale: 1 }, exit: { opacity: 0, scale: 0.95 }, transition: { duration: 0.2 }, children: [_jsxs(Group, { gap: "sm", mb: "md", children: [_jsx(Box, { children: fileInfo.icon }), _jsx(Title, { order: 3, ...getThemedTextProps('heading'), children: file.filename })] }), _jsx(Box, { mt: "md", children: renderPreviewContent() }), _jsx(Group, { justify: "flex-end", gap: "sm", mt: "md", pt: "md", style: { borderTop: `1px solid ${componentStyles.fileViewer.border}` }, children: _jsx(Button, { onClick: handleDownload, disabled: isLoading, leftSection: _jsx(Download, { size: 16 }), children: isLoading ? 'Downloading...' : 'Download' }) })] }) })) })] }));
153
+ }
154
+ /**
155
+ * 默认导出FileViewer组件
156
+ */
157
+ export default FileViewer;
158
+ //# sourceMappingURL=FileViewer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileViewer.js","sourceRoot":"","sources":["../../../src/components/FileViewer/FileViewer.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * 🎨 预置生成式UI组件
3
+ *
4
+ * Pure component definitions without registration system
5
+ * Reference: Generative User Interfaces documentation
6
+ * 实现原理:直接导入使用,不再使用动态注册系统
7
+ */
8
+ import React from 'react';
9
+ interface WeatherProps {
10
+ temperature?: number;
11
+ weather?: string;
12
+ location?: string;
13
+ humidity?: number;
14
+ windSpeed?: number;
15
+ }
16
+ declare const WeatherComponent: React.FC<WeatherProps>;
17
+ interface LocationProps {
18
+ city?: string;
19
+ country?: string;
20
+ province?: string;
21
+ coordinates?: {
22
+ lat: number;
23
+ lng: number;
24
+ };
25
+ timezone?: string;
26
+ population?: number;
27
+ area?: number;
28
+ }
29
+ declare const LocationComponent: React.FC<LocationProps>;
30
+ interface CodeExecutionProps {
31
+ code?: string;
32
+ language?: string;
33
+ output?: string;
34
+ status?: 'success' | 'error' | 'running';
35
+ }
36
+ declare const CodeExecutionComponent: React.FC<CodeExecutionProps>;
37
+ export { WeatherComponent, LocationComponent, CodeExecutionComponent };
38
+ declare const _default: {
39
+ WeatherComponent: React.FC<WeatherProps>;
40
+ LocationComponent: React.FC<LocationProps>;
41
+ CodeExecutionComponent: React.FC<CodeExecutionProps>;
42
+ };
43
+ export default _default;
44
+ //# sourceMappingURL=PrebuiltComponents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PrebuiltComponents.d.ts","sourceRoot":"","sources":["../../../src/components/GenerativeUI/PrebuiltComponents.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,UAAU,YAAY;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,QAAA,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAyB5C,CAAC;AAOF,UAAU,aAAa;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,QAAA,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CA+B9C,CAAC;AAMF,UAAU,kBAAkB;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;CAC1C;AAED,QAAA,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAgExD,CAAC;AASF,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,EACvB,CAAC;;;;;;AAGF,wBAIE"}
@@ -0,0 +1,65 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ const WeatherComponent = ({ temperature = 0, weather = '', location = '', humidity, windSpeed }) => (_jsxs("div", { style: {
3
+ background: 'linear-gradient(135deg, #74b9ff 0%, #0984e3 100%)',
4
+ color: 'white',
5
+ padding: '1.5rem',
6
+ borderRadius: '0.75rem',
7
+ margin: '0.5rem 0',
8
+ boxShadow: '0 4px 6px rgba(0, 0, 0, 0.1)'
9
+ }, children: [_jsxs("div", { style: { display: 'flex', alignItems: 'center', marginBottom: '0.5rem' }, children: [_jsx("span", { style: { fontSize: '1.5rem', marginRight: '0.5rem' }, children: "\uD83C\uDF24\uFE0F" }), _jsx("h3", { style: { margin: 0, fontSize: '1.25rem' }, children: location })] }), _jsx("p", { style: { margin: '0.25rem 0', fontSize: '1rem' }, children: weather }), _jsxs("p", { style: { margin: '0.25rem 0', fontSize: '1.5rem', fontWeight: 'bold' }, children: [temperature, "\u00B0C"] }), humidity && _jsxs("p", { style: { margin: '0.25rem 0', fontSize: '0.875rem' }, children: ["\u6E7F\u5EA6: ", humidity, "%"] }), windSpeed && _jsxs("p", { style: { margin: '0.25rem 0', fontSize: '0.875rem' }, children: ["\u98CE\u901F: ", windSpeed, " km/h"] })] }));
10
+ const LocationComponent = ({ city = '', country = '', province = '', coordinates, timezone = '', population, area }) => (_jsxs("div", { style: {
11
+ background: 'linear-gradient(135deg, #fd79a8 0%, #e84393 100%)',
12
+ color: 'white',
13
+ padding: '1.5rem',
14
+ borderRadius: '0.75rem',
15
+ margin: '0.5rem 0',
16
+ boxShadow: '0 4px 6px rgba(0, 0, 0, 0.1)'
17
+ }, children: [_jsxs("div", { style: { display: 'flex', alignItems: 'center', marginBottom: '0.5rem' }, children: [_jsx("span", { style: { fontSize: '1.5rem', marginRight: '0.5rem' }, children: "\uD83D\uDCCD" }), _jsx("h3", { style: { margin: 0, fontSize: '1.25rem' }, children: city })] }), province && _jsxs("p", { style: { margin: '0.25rem 0', fontSize: '1rem' }, children: [province, ", ", country] }), coordinates && (_jsxs("p", { style: { margin: '0.25rem 0', fontSize: '0.875rem' }, children: ["\u5750\u6807: ", coordinates.lat.toFixed(4), ", ", coordinates.lng.toFixed(4)] })), timezone && _jsxs("p", { style: { margin: '0.25rem 0', fontSize: '0.875rem' }, children: ["\u65F6\u533A: ", timezone] }), population && _jsxs("p", { style: { margin: '0.25rem 0', fontSize: '0.875rem' }, children: ["\u4EBA\u53E3: ", population.toLocaleString(), "\u4E07\u4EBA"] }), area && _jsxs("p", { style: { margin: '0.25rem 0', fontSize: '0.875rem' }, children: ["\u9762\u79EF: ", area.toLocaleString(), " km\u00B2"] })] }));
18
+ const CodeExecutionComponent = ({ code = '', language = 'javascript', output = '', status = 'success' }) => (_jsxs("div", { style: {
19
+ background: '#f8fafc',
20
+ border: '1px solid #e2e8f0',
21
+ borderRadius: '0.75rem',
22
+ margin: '0.5rem 0',
23
+ overflow: 'hidden'
24
+ }, children: [_jsxs("div", { style: {
25
+ background: '#334155',
26
+ color: 'white',
27
+ padding: '0.75rem 1rem',
28
+ fontSize: '0.875rem',
29
+ display: 'flex',
30
+ alignItems: 'center'
31
+ }, children: [_jsx("span", { style: { marginRight: '0.5rem' }, children: "\uD83D\uDCBB" }), _jsxs("span", { children: ["\u4EE3\u7801\u6267\u884C (", language, ")"] }), _jsx("span", { style: {
32
+ marginLeft: 'auto',
33
+ fontSize: '0.75rem',
34
+ color: status === 'success' ? '#10b981' : status === 'error' ? '#ef4444' : '#f59e0b'
35
+ }, children: status === 'success' ? '✅ 成功' : status === 'error' ? '❌ 错误' : '⏳ 运行中' })] }), code && (_jsx("div", { style: { padding: '1rem' }, children: _jsx("pre", { style: {
36
+ background: '#1e293b',
37
+ color: '#e2e8f0',
38
+ padding: '1rem',
39
+ borderRadius: '0.5rem',
40
+ fontSize: '0.875rem',
41
+ overflow: 'auto',
42
+ margin: '0 0 1rem 0'
43
+ }, children: code }) })), output && (_jsxs("div", { style: { padding: '0 1rem 1rem' }, children: [_jsx("h4", { style: { margin: '0 0 0.5rem 0', fontSize: '0.875rem', color: '#64748b' }, children: "\u8F93\u51FA:" }), _jsx("pre", { style: {
44
+ background: status === 'error' ? '#fef2f2' : '#f0f9ff',
45
+ color: status === 'error' ? '#dc2626' : '#0f172a',
46
+ padding: '1rem',
47
+ borderRadius: '0.5rem',
48
+ fontSize: '0.875rem',
49
+ overflow: 'auto',
50
+ margin: 0,
51
+ border: `1px solid ${status === 'error' ? '#fecaca' : '#e0f2fe'}`
52
+ }, children: output })] }))] }));
53
+ // ================================
54
+ // Pure component exports without registration system
55
+ // ================================
56
+ // 实体数据组件已移除,统一使用DynamicUI中的动态组件
57
+ // 直接导出基础组件供MessageBubble等使用
58
+ export { WeatherComponent, LocationComponent, CodeExecutionComponent };
59
+ // 默认导出基础组件
60
+ export default {
61
+ WeatherComponent,
62
+ LocationComponent,
63
+ CodeExecutionComponent
64
+ };
65
+ //# sourceMappingURL=PrebuiltComponents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PrebuiltComponents.js","sourceRoot":"","sources":["../../../src/components/GenerativeUI/PrebuiltComponents.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Entity Engine AI - MessageBubble Component
3
+ *
4
+ * Complete message display component with support for various content types
5
+ * 参考:docs/aisdkui/Generative User Interfaces.md
6
+ *
7
+ * 🏗️ 混合架构设计:
8
+ * - GenerativeUI/: 固定UI组件(静态工具专用)
9
+ * - DynamicUI/: 动态UI组件(动态工具专用)
10
+ * - 支持两种渲染模式:tool-${name} 和 dynamic-tool
11
+ * - Supports text, tool calls, data parts, and file attachments
12
+ */
13
+ import type { MessageBubbleProps } from '../../types';
14
+ /**
15
+ * Message bubble component with hybrid architecture implementation
16
+ *
17
+ * Supports two rendering modes:
18
+ * 1. 静态工具模式:tool-${toolName} → 使用GenerativeUI组件
19
+ * 2. 动态工具模式:dynamic-tool → 使用DynamicUI组件
20
+ *
21
+ * Standard state handling and naming conventions
22
+ */
23
+ export declare function MessageBubble({ message, showAvatar, // 不再使用头像
24
+ showTimestamp, onToolResult, enableReasoning, enableGenerativeUI, showReasoningByDefault }: MessageBubbleProps): import("react/jsx-runtime").JSX.Element;
25
+ /**
26
+ * 默认导出MessageBubble组件
27
+ */
28
+ export default MessageBubble;
29
+ //# sourceMappingURL=MessageBubble.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MessageBubble.d.ts","sourceRoot":"","sources":["../../../src/components/MessageBubble/MessageBubble.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AAIH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AA8FtD;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,EAC5B,OAAO,EACP,UAAkB,EAAE,SAAS;AAC7B,aAAoB,EACpB,YAAY,EACZ,eAAsB,EACtB,kBAAyB,EACzB,sBAA8B,EAC/B,EAAE,kBAAkB,2CAySpB;AAED;;GAEG;AACH,eAAe,aAAa,CAAC"}