@scenemesh/entity-engine-aimodule 1.0.0 → 1.0.1

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 +77 -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 +707 -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 +305 -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 -2
  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
@@ -1,512 +0,0 @@
1
- // src/core/ai-core-manager.ts
2
- import { EventEmitter } from "events";
3
- var AICoreManager = class extends EventEmitter {
4
- constructor(config) {
5
- super();
6
- this.initialized = false;
7
- this.startTime = 0;
8
- this.initializationTime = 0;
9
- // 组件健康状态
10
- this.componentHealth = /* @__PURE__ */ new Map();
11
- this.config = {
12
- components: {
13
- aiSDK: true,
14
- providerManagement: true,
15
- toolsIntegration: true,
16
- embeddingsIntegration: true,
17
- settingsManagement: true,
18
- structuredData: true,
19
- ...config?.components
20
- },
21
- // AI SDK配置 - 默认设置现在从 settings management 获取
22
- aiSDK: {
23
- ...config?.aiSDK
24
- },
25
- providers: {
26
- autoHealthCheck: true,
27
- healthCheckInterval: 6e4,
28
- // 1分钟
29
- fallbackEnabled: true,
30
- ...config?.providers
31
- },
32
- tools: {
33
- enableMCP: true,
34
- enableDynamic: true,
35
- maxSteps: 10,
36
- timeout: 3e4,
37
- ...config?.tools
38
- },
39
- embeddings: {
40
- defaultModel: "text-embedding-3-small",
41
- batchSize: 100,
42
- maxParallelCalls: 5,
43
- ...config?.embeddings
44
- },
45
- settings: {
46
- enablePresets: true,
47
- enableValidation: true,
48
- enableDynamic: true,
49
- ...config?.settings
50
- },
51
- monitoring: {
52
- enabled: true,
53
- collectMetrics: true,
54
- enableEvents: true,
55
- logLevel: "info",
56
- ...config?.monitoring
57
- },
58
- entity: {
59
- enabled: false,
60
- autoToolGeneration: false,
61
- contextExtraction: false,
62
- permissionChecking: false,
63
- ...config?.entity
64
- }
65
- };
66
- this.stats = {
67
- isInitialized: false,
68
- initializationTime: 0,
69
- uptime: 0,
70
- components: {
71
- aiSDK: false,
72
- providerManagement: false,
73
- toolsIntegration: false,
74
- embeddingsIntegration: false,
75
- settingsManagement: false,
76
- structuredData: false
77
- },
78
- usage: {
79
- totalRequests: 0,
80
- successfulRequests: 0,
81
- failedRequests: 0,
82
- averageLatency: 0,
83
- totalTokens: 0,
84
- errorRate: 0
85
- },
86
- providers: {
87
- totalProviders: 0,
88
- healthyProviders: 0,
89
- unhealthyProviders: 0,
90
- totalModels: 0
91
- },
92
- performance: {
93
- memoryUsage: typeof process !== "undefined" && process.memoryUsage ? process.memoryUsage() : { rss: 0, heapUsed: 0, heapTotal: 0, external: 0, arrayBuffers: 0 },
94
- cpuUsage: typeof process !== "undefined" && process.cpuUsage ? process.cpuUsage() : { user: 0, system: 0 }
95
- }
96
- };
97
- }
98
- /**
99
- * 初始化AI Core Manager
100
- */
101
- async initialize() {
102
- if (this.initialized) {
103
- return;
104
- }
105
- const initStartTime = Date.now();
106
- try {
107
- this.emit("ai_core:initializing", { timestamp: /* @__PURE__ */ new Date() });
108
- await this.createComponents();
109
- await this.initializeComponents();
110
- await this.setupComponentRelationships();
111
- if (this.config.monitoring.enabled) {
112
- await this.startMonitoring();
113
- }
114
- this.startTime = Date.now();
115
- this.initializationTime = this.startTime - initStartTime;
116
- this.initialized = true;
117
- this.stats.isInitialized = true;
118
- this.stats.initializationTime = this.initializationTime;
119
- this.emit("ai_core:initialized", {
120
- timestamp: /* @__PURE__ */ new Date(),
121
- duration: this.initializationTime,
122
- components: Object.keys(this.stats.components)
123
- });
124
- } catch (error) {
125
- this.emit("ai_core:initialization_failed", {
126
- timestamp: /* @__PURE__ */ new Date(),
127
- error: error.message,
128
- duration: Date.now() - initStartTime
129
- });
130
- throw error;
131
- }
132
- }
133
- // ================================
134
- // Component management
135
- // ================================
136
- /**
137
- * 创建所有组件实例
138
- */
139
- async createComponents() {
140
- this.emit("ai_core:creating_components");
141
- if (this.config.components.aiSDK) {
142
- const { AISDKIntegration } = await import("./ai-core-LBGYFGOK.mjs");
143
- this.aiSDK = new AISDKIntegration();
144
- }
145
- if (this.config.components.providerManagement) {
146
- const { AIProviderManagement } = await import("./ai-provider-3PSCVEEN.mjs");
147
- this.providerManagement = new AIProviderManagement();
148
- }
149
- if (this.config.components.toolsIntegration) {
150
- const { AIToolsIntegration } = await import("./ai-tools-JAPVYQGE.mjs");
151
- this.toolsIntegration = new AIToolsIntegration();
152
- }
153
- if (this.config.components.embeddingsIntegration) {
154
- const { AIEmbeddingsIntegration } = await import("./ai-embeddings-5ED5LDXX.mjs");
155
- this.embeddingsIntegration = new AIEmbeddingsIntegration();
156
- }
157
- if (this.config.components.settingsManagement) {
158
- const { AISettingsManagement } = await import("./ai-settings-DTXEAB64.mjs");
159
- this.settingsManagement = new AISettingsManagement();
160
- }
161
- if (this.config.components.structuredData) {
162
- const { AIStructuredDataIntegration } = await import("./ai-structured-EGZ26ZS4.mjs");
163
- this.structuredData = new AIStructuredDataIntegration();
164
- }
165
- this.emit("ai_core:components_created");
166
- }
167
- /**
168
- * 初始化所有组件
169
- */
170
- async initializeComponents() {
171
- this.emit("ai_core:initializing_components");
172
- const initPromises = [];
173
- if (this.settingsManagement) {
174
- initPromises.push(
175
- this.settingsManagement.initialize().then(() => {
176
- this.stats.components.settingsManagement = true;
177
- this.updateComponentHealth("settingsManagement", "healthy");
178
- })
179
- );
180
- }
181
- if (this.providerManagement) {
182
- initPromises.push(
183
- this.providerManagement.initialize().then(() => {
184
- this.stats.components.providerManagement = true;
185
- this.updateComponentHealth("providerManagement", "healthy");
186
- })
187
- );
188
- }
189
- if (this.embeddingsIntegration) {
190
- initPromises.push(
191
- this.embeddingsIntegration.initialize().then(() => {
192
- this.stats.components.embeddingsIntegration = true;
193
- this.updateComponentHealth("embeddingsIntegration", "healthy");
194
- })
195
- );
196
- }
197
- if (this.toolsIntegration) {
198
- initPromises.push(
199
- this.toolsIntegration.initialize().then(() => {
200
- this.stats.components.toolsIntegration = true;
201
- this.updateComponentHealth("toolsIntegration", "healthy");
202
- })
203
- );
204
- }
205
- if (this.structuredData) {
206
- initPromises.push(
207
- this.structuredData.initialize().then(() => {
208
- this.stats.components.structuredData = true;
209
- this.updateComponentHealth("structuredData", "healthy");
210
- })
211
- );
212
- }
213
- if (this.aiSDK) {
214
- initPromises.push(
215
- this.aiSDK.initialize().then(() => {
216
- this.stats.components.aiSDK = true;
217
- this.updateComponentHealth("aiSDK", "healthy");
218
- })
219
- );
220
- }
221
- await Promise.all(initPromises);
222
- this.emit("ai_core:components_initialized");
223
- }
224
- /**
225
- * 设置组件间的依赖关系
226
- */
227
- async setupComponentRelationships() {
228
- this.emit("ai_core:setting_up_relationships");
229
- if (this.aiSDK && this.config.monitoring.enableEvents) {
230
- this.aiSDK.on("ai_sdk:stream_started", (data) => {
231
- this.stats.usage.totalRequests++;
232
- this.emit("ai_core:request_started", data);
233
- });
234
- this.aiSDK.on("ai_sdk:stream_finished", (data) => {
235
- this.stats.usage.successfulRequests++;
236
- if (data.usage?.totalTokens) {
237
- this.stats.usage.totalTokens += data.usage.totalTokens;
238
- }
239
- this.updateAverageLatency(data.latency);
240
- this.emit("ai_core:request_completed", data);
241
- });
242
- this.aiSDK.on("ai_sdk:stream_error", (data) => {
243
- this.stats.usage.failedRequests++;
244
- this.updateErrorRate();
245
- this.emit("ai_core:request_failed", data);
246
- });
247
- }
248
- if (this.providerManagement && this.config.monitoring.enableEvents) {
249
- this.providerManagement.on("ai_provider:health_check_completed", (data) => {
250
- this.updateProviderStats();
251
- this.emit("ai_core:provider_health_updated", data);
252
- });
253
- }
254
- this.emit("ai_core:relationships_setup");
255
- }
256
- // ================================
257
- // Monitoring and health checks
258
- // ================================
259
- /**
260
- * 启动监控系统
261
- */
262
- async startMonitoring() {
263
- this.emit("ai_core:starting_monitoring");
264
- if (this.config.monitoring.collectMetrics) {
265
- setInterval(() => {
266
- this.updatePerformanceStats();
267
- }, 5e3);
268
- }
269
- if (this.config.providers.autoHealthCheck) {
270
- this.healthCheckInterval = setInterval(async () => {
271
- await this.performHealthCheck();
272
- }, this.config.providers.healthCheckInterval);
273
- }
274
- this.emit("ai_core:monitoring_started");
275
- }
276
- /**
277
- * 执行健康检查
278
- */
279
- async performHealthCheck() {
280
- try {
281
- const components = [
282
- "aiSDK",
283
- "providerManagement",
284
- "toolsIntegration",
285
- "embeddingsIntegration",
286
- "settingsManagement",
287
- "structuredData"
288
- ];
289
- for (const componentName of components) {
290
- const component = this[componentName];
291
- if (component) {
292
- try {
293
- const isHealthy = component.isInitialized?.() ?? true;
294
- this.updateComponentHealth(
295
- componentName,
296
- isHealthy ? "healthy" : "unhealthy"
297
- );
298
- } catch (error) {
299
- this.updateComponentHealth(componentName, "unhealthy", error.message);
300
- }
301
- }
302
- }
303
- if (this.providerManagement) {
304
- await this.providerManagement.checkAllProvidersHealth();
305
- }
306
- } catch (error) {
307
- this.emit("ai_core:health_check_error", { error: error.message });
308
- }
309
- }
310
- /**
311
- * 更新组件健康状态
312
- */
313
- updateComponentHealth(componentName, status, error) {
314
- this.componentHealth.set(componentName, {
315
- name: componentName,
316
- status,
317
- lastCheck: /* @__PURE__ */ new Date(),
318
- error
319
- });
320
- }
321
- /**
322
- * 更新性能统计
323
- */
324
- updatePerformanceStats() {
325
- this.stats.uptime = Date.now() - this.startTime;
326
- if (typeof process !== "undefined") {
327
- if (process.memoryUsage) {
328
- this.stats.performance.memoryUsage = process.memoryUsage();
329
- }
330
- if (process.cpuUsage) {
331
- this.stats.performance.cpuUsage = process.cpuUsage(this.stats.performance.cpuUsage);
332
- }
333
- }
334
- }
335
- /**
336
- * 更新平均延迟
337
- */
338
- updateAverageLatency(latency) {
339
- const total = this.stats.usage.totalRequests;
340
- this.stats.usage.averageLatency = (this.stats.usage.averageLatency * (total - 1) + latency) / total;
341
- }
342
- /**
343
- * 更新错误率
344
- */
345
- updateErrorRate() {
346
- this.stats.usage.errorRate = this.stats.usage.failedRequests / this.stats.usage.totalRequests;
347
- }
348
- /**
349
- * 更新Provider统计
350
- */
351
- updateProviderStats() {
352
- if (this.providerManagement) {
353
- const healthReport = this.providerManagement.getHealthReport();
354
- this.stats.providers = {
355
- totalProviders: healthReport.totalProviders,
356
- healthyProviders: healthReport.healthyProviders,
357
- unhealthyProviders: healthReport.unhealthyProviders,
358
- totalModels: this.providerManagement.getRegisteredProviders().length
359
- };
360
- }
361
- }
362
- // ================================
363
- // Public API methods
364
- // ================================
365
- /**
366
- * 获取完整的统计信息
367
- */
368
- getStats() {
369
- this.updatePerformanceStats();
370
- return { ...this.stats };
371
- }
372
- /**
373
- * 获取组件健康状态
374
- */
375
- getComponentHealth() {
376
- return Array.from(this.componentHealth.values());
377
- }
378
- /**
379
- * 获取整体健康状态
380
- */
381
- getOverallHealth() {
382
- const components = this.getComponentHealth();
383
- const healthyCount = components.filter((c) => c.status === "healthy").length;
384
- const totalCount = components.length;
385
- let status;
386
- let summary;
387
- if (healthyCount === totalCount) {
388
- status = "healthy";
389
- summary = "All components are healthy";
390
- } else if (healthyCount >= totalCount * 0.5) {
391
- status = "degraded";
392
- summary = `${healthyCount}/${totalCount} components are healthy`;
393
- } else {
394
- status = "unhealthy";
395
- summary = `Only ${healthyCount}/${totalCount} components are healthy`;
396
- }
397
- return { status, components, summary };
398
- }
399
- /**
400
- * 获取AI默认设置 - 从设置管理器统一获取
401
- */
402
- getDefaultSettings() {
403
- if (!this.settingsManagement?.isInitialized()) {
404
- return {
405
- temperature: 0.7,
406
- maxOutputTokens: 2048,
407
- topP: 0.95,
408
- topK: 50
409
- };
410
- }
411
- return this.settingsManagement.getDefaultSettings();
412
- }
413
- /**
414
- * 获取配置信息
415
- */
416
- getConfig() {
417
- return { ...this.config };
418
- }
419
- /**
420
- * 热重载配置
421
- */
422
- async updateConfig(newConfig) {
423
- this.emit("ai_core:config_updating", { newConfig });
424
- this.config = this.deepMerge(this.config, newConfig);
425
- this.emit("ai_core:config_updated", { config: this.config });
426
- }
427
- /**
428
- * 重启指定组件
429
- */
430
- async restartComponent(componentName) {
431
- const component = this[componentName];
432
- if (!component) {
433
- throw new Error(`Component '${componentName}' not found`);
434
- }
435
- this.emit("ai_core:component_restarting", { componentName });
436
- try {
437
- if (component.destroy) {
438
- await component.destroy();
439
- }
440
- await component.initialize();
441
- this.updateComponentHealth(componentName, "healthy");
442
- this.emit("ai_core:component_restarted", { componentName });
443
- } catch (error) {
444
- this.updateComponentHealth(componentName, "unhealthy", error.message);
445
- this.emit("ai_core:component_restart_failed", {
446
- componentName,
447
- error: error.message
448
- });
449
- throw error;
450
- }
451
- }
452
- /**
453
- * 优雅关闭
454
- */
455
- async gracefulShutdown() {
456
- this.emit("ai_core:shutting_down");
457
- if (this.healthCheckInterval) {
458
- clearInterval(this.healthCheckInterval);
459
- }
460
- const destroyPromises = [];
461
- if (this.aiSDK?.destroy) {
462
- destroyPromises.push(Promise.resolve(this.aiSDK.destroy()));
463
- }
464
- if (this.providerManagement?.destroy) {
465
- destroyPromises.push(Promise.resolve(this.providerManagement.destroy()));
466
- }
467
- if (this.toolsIntegration?.destroy) {
468
- destroyPromises.push(Promise.resolve(this.toolsIntegration.destroy()));
469
- }
470
- if (this.embeddingsIntegration?.destroy) {
471
- destroyPromises.push(Promise.resolve(this.embeddingsIntegration.destroy()));
472
- }
473
- if (this.settingsManagement?.destroy) {
474
- destroyPromises.push(Promise.resolve(this.settingsManagement.destroy()));
475
- }
476
- if (this.structuredData?.destroy) {
477
- destroyPromises.push(Promise.resolve(this.structuredData.destroy()));
478
- }
479
- await Promise.all(destroyPromises);
480
- this.removeAllListeners();
481
- this.initialized = false;
482
- this.componentHealth.clear();
483
- this.emit("ai_core:shutdown_complete");
484
- }
485
- /**
486
- * 深度合并对象
487
- */
488
- deepMerge(target, source) {
489
- const result = { ...target };
490
- for (const key in source) {
491
- if (source[key] && typeof source[key] === "object" && !Array.isArray(source[key])) {
492
- result[key] = this.deepMerge(target[key] || {}, source[key]);
493
- } else {
494
- result[key] = source[key];
495
- }
496
- }
497
- return result;
498
- }
499
- /**
500
- * 检查初始化状态
501
- */
502
- isInitialized() {
503
- return this.initialized;
504
- }
505
- };
506
- var ai_core_manager_default = AICoreManager;
507
-
508
- export {
509
- AICoreManager,
510
- ai_core_manager_default
511
- };
512
- //# sourceMappingURL=chunk-T5A4KAVS.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/core/ai-core-manager.ts"],"sourcesContent":["/**\n * AI Core Manager - Unified Core Management\n * \n * 协调所有AI功能组件,提供统一的管理接口\n * 这是所有AI功能的中央协调器和主要入口点\n */\n\nimport type { AISDKIntegration } from './ai-core';\nimport type { AIToolsIntegration } from './ai-tools';\nimport type { AIProviderManagement } from './ai-provider';\nimport type { AISettingsManagement } from './ai-settings';\nimport type { AIEmbeddingsIntegration } from './ai-embeddings';\nimport type { AIStructuredDataIntegration } from './ai-structured';\n\nimport { EventEmitter } from 'events';\n\n// ================================\n// Type definitions\n// ================================\n\n/**\n * AI Core配置\n */\nexport interface AICoreConfig {\n // 组件启用配置\n components?: {\n aiSDK?: boolean;\n providerManagement?: boolean;\n toolsIntegration?: boolean;\n embeddingsIntegration?: boolean;\n settingsManagement?: boolean;\n structuredData?: boolean;\n };\n\n // AI SDK配置\n aiSDK?: {\n defaultSettings?: {\n temperature?: number;\n maxOutputTokens?: number;\n topP?: number;\n topK?: number;\n };\n };\n\n // Provider配置\n providers?: {\n autoHealthCheck?: boolean;\n healthCheckInterval?: number;\n fallbackEnabled?: boolean;\n };\n\n // 工具配置\n tools?: {\n enableMCP?: boolean;\n enableDynamic?: boolean;\n maxSteps?: number;\n timeout?: number;\n };\n\n // 嵌入配置\n embeddings?: {\n defaultModel?: string;\n batchSize?: number;\n maxParallelCalls?: number;\n };\n\n // 设置配置\n settings?: {\n enablePresets?: boolean;\n enableValidation?: boolean;\n enableDynamic?: boolean;\n };\n\n // 监控配置\n monitoring?: {\n enabled?: boolean;\n collectMetrics?: boolean;\n enableEvents?: boolean;\n logLevel?: 'error' | 'warn' | 'info' | 'debug';\n };\n\n // Entity Engine配置\n entity?: {\n enabled?: boolean;\n autoToolGeneration?: boolean;\n contextExtraction?: boolean;\n permissionChecking?: boolean;\n };\n}\n\n/**\n * AI Core统计信息\n */\nexport interface AICoreStats {\n // 初始化状态\n isInitialized: boolean;\n initializationTime: number;\n uptime: number;\n\n // 组件状态\n components: {\n aiSDK: boolean;\n providerManagement: boolean;\n toolsIntegration: boolean;\n embeddingsIntegration: boolean;\n settingsManagement: boolean;\n structuredData: boolean;\n };\n\n // 使用统计\n usage: {\n totalRequests: number;\n successfulRequests: number;\n failedRequests: number;\n averageLatency: number;\n totalTokens: number;\n errorRate: number;\n };\n\n // Provider统计\n providers: {\n totalProviders: number;\n healthyProviders: number;\n unhealthyProviders: number;\n totalModels: number;\n };\n\n // 性能指标\n performance: {\n memoryUsage: NodeJS.MemoryUsage;\n cpuUsage: NodeJS.CpuUsage;\n gcStats?: any;\n };\n}\n\n/**\n * 组件健康状态\n */\nexport interface ComponentHealth {\n name: string;\n status: 'healthy' | 'degraded' | 'unhealthy';\n lastCheck: Date;\n error?: string;\n details?: Record<string, any>;\n}\n\n// ================================\n// AI Core Manager class\n// ================================\n\n/**\n * AI Core Manager - 统一的AI功能管理器\n */\nexport class AICoreManager extends EventEmitter {\n private initialized: boolean = false;\n private config: Required<AICoreConfig>;\n private startTime: number = 0;\n private initializationTime: number = 0;\n private stats: AICoreStats;\n\n // 核心组件实例\n public aiSDK!: AISDKIntegration;\n public providerManagement!: AIProviderManagement;\n public toolsIntegration!: AIToolsIntegration;\n public embeddingsIntegration!: AIEmbeddingsIntegration;\n public settingsManagement!: AISettingsManagement;\n public structuredData!: AIStructuredDataIntegration;\n\n // 组件健康状态\n private componentHealth: Map<string, ComponentHealth> = new Map();\n private healthCheckInterval?: NodeJS.Timeout;\n\n constructor(config?: AICoreConfig) {\n super();\n\n // 设置默认配置\n this.config = {\n components: {\n aiSDK: true,\n providerManagement: true,\n toolsIntegration: true,\n embeddingsIntegration: true,\n settingsManagement: true,\n structuredData: true,\n ...config?.components\n },\n // AI SDK配置 - 默认设置现在从 settings management 获取\n aiSDK: {\n ...config?.aiSDK\n },\n providers: {\n autoHealthCheck: true,\n healthCheckInterval: 60000, // 1分钟\n fallbackEnabled: true,\n ...config?.providers\n },\n tools: {\n enableMCP: true,\n enableDynamic: true,\n maxSteps: 10,\n timeout: 30000,\n ...config?.tools\n },\n embeddings: {\n defaultModel: 'text-embedding-3-small',\n batchSize: 100,\n maxParallelCalls: 5,\n ...config?.embeddings\n },\n settings: {\n enablePresets: true,\n enableValidation: true,\n enableDynamic: true,\n ...config?.settings\n },\n monitoring: {\n enabled: true,\n collectMetrics: true,\n enableEvents: true,\n logLevel: 'info',\n ...config?.monitoring\n },\n entity: {\n enabled: false,\n autoToolGeneration: false,\n contextExtraction: false,\n permissionChecking: false,\n ...config?.entity\n }\n };\n\n // 初始化统计信息\n this.stats = {\n isInitialized: false,\n initializationTime: 0,\n uptime: 0,\n components: {\n aiSDK: false,\n providerManagement: false,\n toolsIntegration: false,\n embeddingsIntegration: false,\n settingsManagement: false,\n structuredData: false\n },\n usage: {\n totalRequests: 0,\n successfulRequests: 0,\n failedRequests: 0,\n averageLatency: 0,\n totalTokens: 0,\n errorRate: 0\n },\n providers: {\n totalProviders: 0,\n healthyProviders: 0,\n unhealthyProviders: 0,\n totalModels: 0\n },\n performance: {\n memoryUsage: typeof process !== 'undefined' && process.memoryUsage ? process.memoryUsage() : { rss: 0, heapUsed: 0, heapTotal: 0, external: 0, arrayBuffers: 0 },\n cpuUsage: typeof process !== 'undefined' && process.cpuUsage ? process.cpuUsage() : { user: 0, system: 0 }\n }\n };\n }\n\n /**\n * 初始化AI Core Manager\n */\n async initialize(): Promise<void> {\n if (this.initialized) {\n return;\n }\n\n const initStartTime = Date.now();\n\n try {\n this.emit('ai_core:initializing', { timestamp: new Date() });\n\n // 1. 创建所有组件实例\n await this.createComponents();\n\n // 2. 初始化所有组件\n await this.initializeComponents();\n\n // 3. 设置组件间的依赖关系\n await this.setupComponentRelationships();\n\n // 4. 启动监控和健康检查\n if (this.config.monitoring.enabled) {\n await this.startMonitoring();\n }\n\n // 5. 更新状态\n this.startTime = Date.now();\n this.initializationTime = this.startTime - initStartTime;\n this.initialized = true;\n this.stats.isInitialized = true;\n this.stats.initializationTime = this.initializationTime;\n\n this.emit('ai_core:initialized', {\n timestamp: new Date(),\n duration: this.initializationTime,\n components: Object.keys(this.stats.components)\n });\n\n } catch (error: any) {\n this.emit('ai_core:initialization_failed', {\n timestamp: new Date(),\n error: error.message,\n duration: Date.now() - initStartTime\n });\n\n throw error;\n }\n }\n\n // ================================\n // Component management\n // ================================\n\n /**\n * 创建所有组件实例\n */\n private async createComponents(): Promise<void> {\n this.emit('ai_core:creating_components');\n\n // 动态导入以避免循环依赖\n if (this.config.components.aiSDK) {\n const { AISDKIntegration } = await import('./ai-core');\n this.aiSDK = new AISDKIntegration();\n }\n\n if (this.config.components.providerManagement) {\n const { AIProviderManagement } = await import('./ai-provider');\n this.providerManagement = new AIProviderManagement();\n }\n\n if (this.config.components.toolsIntegration) {\n const { AIToolsIntegration } = await import('./ai-tools');\n this.toolsIntegration = new AIToolsIntegration();\n }\n\n if (this.config.components.embeddingsIntegration) {\n const { AIEmbeddingsIntegration } = await import('./ai-embeddings');\n this.embeddingsIntegration = new AIEmbeddingsIntegration();\n }\n\n if (this.config.components.settingsManagement) {\n const { AISettingsManagement } = await import('./ai-settings');\n this.settingsManagement = new AISettingsManagement();\n }\n\n if (this.config.components.structuredData) {\n const { AIStructuredDataIntegration } = await import('./ai-structured');\n this.structuredData = new AIStructuredDataIntegration();\n }\n\n this.emit('ai_core:components_created');\n }\n\n /**\n * 初始化所有组件\n */\n private async initializeComponents(): Promise<void> {\n this.emit('ai_core:initializing_components');\n\n const initPromises: Promise<void>[] = [];\n\n // 按依赖顺序初始化组件\n if (this.settingsManagement) {\n initPromises.push(\n this.settingsManagement.initialize().then(() => {\n this.stats.components.settingsManagement = true;\n this.updateComponentHealth('settingsManagement', 'healthy');\n })\n );\n }\n\n if (this.providerManagement) {\n initPromises.push(\n this.providerManagement.initialize().then(() => {\n this.stats.components.providerManagement = true;\n this.updateComponentHealth('providerManagement', 'healthy');\n })\n );\n }\n\n if (this.embeddingsIntegration) {\n initPromises.push(\n this.embeddingsIntegration.initialize().then(() => {\n this.stats.components.embeddingsIntegration = true;\n this.updateComponentHealth('embeddingsIntegration', 'healthy');\n })\n );\n }\n\n if (this.toolsIntegration) {\n initPromises.push(\n this.toolsIntegration.initialize().then(() => {\n this.stats.components.toolsIntegration = true;\n this.updateComponentHealth('toolsIntegration', 'healthy');\n })\n );\n }\n\n if (this.structuredData) {\n initPromises.push(\n this.structuredData.initialize().then(() => {\n this.stats.components.structuredData = true;\n this.updateComponentHealth('structuredData', 'healthy');\n })\n );\n }\n\n if (this.aiSDK) {\n initPromises.push(\n this.aiSDK.initialize().then(() => {\n this.stats.components.aiSDK = true;\n this.updateComponentHealth('aiSDK', 'healthy');\n })\n );\n }\n\n // 等待所有组件初始化完成\n await Promise.all(initPromises);\n\n this.emit('ai_core:components_initialized');\n }\n\n /**\n * 设置组件间的依赖关系\n */\n private async setupComponentRelationships(): Promise<void> {\n this.emit('ai_core:setting_up_relationships');\n\n // 设置事件监听,用于跨组件通信\n if (this.aiSDK && this.config.monitoring.enableEvents) {\n this.aiSDK.on('ai_sdk:stream_started', (data) => {\n this.stats.usage.totalRequests++;\n this.emit('ai_core:request_started', data);\n });\n\n this.aiSDK.on('ai_sdk:stream_finished', (data) => {\n this.stats.usage.successfulRequests++;\n if (data.usage?.totalTokens) {\n this.stats.usage.totalTokens += data.usage.totalTokens;\n }\n this.updateAverageLatency(data.latency);\n this.emit('ai_core:request_completed', data);\n });\n\n this.aiSDK.on('ai_sdk:stream_error', (data) => {\n this.stats.usage.failedRequests++;\n this.updateErrorRate();\n this.emit('ai_core:request_failed', data);\n });\n }\n\n if (this.providerManagement && this.config.monitoring.enableEvents) {\n this.providerManagement.on('ai_provider:health_check_completed', (data) => {\n this.updateProviderStats();\n this.emit('ai_core:provider_health_updated', data);\n });\n }\n\n this.emit('ai_core:relationships_setup');\n }\n\n // ================================\n // Monitoring and health checks\n // ================================\n\n /**\n * 启动监控系统\n */\n private async startMonitoring(): Promise<void> {\n this.emit('ai_core:starting_monitoring');\n\n // 启动性能监控\n if (this.config.monitoring.collectMetrics) {\n setInterval(() => {\n this.updatePerformanceStats();\n }, 5000); // 每5秒更新一次性能数据\n }\n\n // 启动健康检查\n if (this.config.providers.autoHealthCheck) {\n this.healthCheckInterval = setInterval(async () => {\n await this.performHealthCheck();\n }, this.config.providers.healthCheckInterval);\n }\n\n this.emit('ai_core:monitoring_started');\n }\n\n /**\n * 执行健康检查\n */\n private async performHealthCheck(): Promise<void> {\n try {\n const components = [\n 'aiSDK',\n 'providerManagement', \n 'toolsIntegration',\n 'embeddingsIntegration',\n 'settingsManagement',\n 'structuredData'\n ];\n\n for (const componentName of components) {\n const component = (this as any)[componentName];\n if (component) {\n try {\n const isHealthy = component.isInitialized?.() ?? true;\n this.updateComponentHealth(\n componentName,\n isHealthy ? 'healthy' : 'unhealthy'\n );\n } catch (error: any) {\n this.updateComponentHealth(componentName, 'unhealthy', error.message);\n }\n }\n }\n\n // 检查Provider健康状态\n if (this.providerManagement) {\n await this.providerManagement.checkAllProvidersHealth();\n }\n\n } catch (error: any) {\n this.emit('ai_core:health_check_error', { error: error.message });\n }\n }\n\n /**\n * 更新组件健康状态\n */\n private updateComponentHealth(\n componentName: string,\n status: 'healthy' | 'degraded' | 'unhealthy',\n error?: string\n ): void {\n this.componentHealth.set(componentName, {\n name: componentName,\n status,\n lastCheck: new Date(),\n error\n });\n }\n\n /**\n * 更新性能统计\n */\n private updatePerformanceStats(): void {\n this.stats.uptime = Date.now() - this.startTime;\n \n // 只在 Node.js 环境中更新性能统计\n if (typeof process !== 'undefined') {\n if (process.memoryUsage) {\n this.stats.performance.memoryUsage = process.memoryUsage();\n }\n if (process.cpuUsage) {\n this.stats.performance.cpuUsage = process.cpuUsage(this.stats.performance.cpuUsage);\n }\n }\n }\n\n /**\n * 更新平均延迟\n */\n private updateAverageLatency(latency: number): void {\n const total = this.stats.usage.totalRequests;\n this.stats.usage.averageLatency = \n (this.stats.usage.averageLatency * (total - 1) + latency) / total;\n }\n\n /**\n * 更新错误率\n */\n private updateErrorRate(): void {\n this.stats.usage.errorRate = \n this.stats.usage.failedRequests / this.stats.usage.totalRequests;\n }\n\n /**\n * 更新Provider统计\n */\n private updateProviderStats(): void {\n if (this.providerManagement) {\n const healthReport = this.providerManagement.getHealthReport();\n this.stats.providers = {\n totalProviders: healthReport.totalProviders,\n healthyProviders: healthReport.healthyProviders,\n unhealthyProviders: healthReport.unhealthyProviders,\n totalModels: this.providerManagement.getRegisteredProviders().length\n };\n }\n }\n\n // ================================\n // Public API methods\n // ================================\n\n /**\n * 获取完整的统计信息\n */\n getStats(): AICoreStats {\n this.updatePerformanceStats();\n return { ...this.stats };\n }\n\n /**\n * 获取组件健康状态\n */\n getComponentHealth(): ComponentHealth[] {\n return Array.from(this.componentHealth.values());\n }\n\n /**\n * 获取整体健康状态\n */\n getOverallHealth(): {\n status: 'healthy' | 'degraded' | 'unhealthy';\n components: ComponentHealth[];\n summary: string;\n } {\n const components = this.getComponentHealth();\n const healthyCount = components.filter(c => c.status === 'healthy').length;\n const totalCount = components.length;\n\n let status: 'healthy' | 'degraded' | 'unhealthy';\n let summary: string;\n\n if (healthyCount === totalCount) {\n status = 'healthy';\n summary = 'All components are healthy';\n } else if (healthyCount >= totalCount * 0.5) {\n status = 'degraded';\n summary = `${healthyCount}/${totalCount} components are healthy`;\n } else {\n status = 'unhealthy';\n summary = `Only ${healthyCount}/${totalCount} components are healthy`;\n }\n\n return { status, components, summary };\n }\n\n /**\n * 获取AI默认设置 - 从设置管理器统一获取\n */\n getDefaultSettings() {\n if (!this.settingsManagement?.isInitialized()) {\n // 如果设置管理器未初始化,返回基本默认值\n return {\n temperature: 0.7,\n maxOutputTokens: 2048,\n topP: 0.95,\n topK: 50\n };\n }\n return this.settingsManagement.getDefaultSettings();\n }\n\n /**\n * 获取配置信息\n */\n getConfig(): AICoreConfig {\n return { ...this.config };\n }\n\n /**\n * 热重载配置\n */\n async updateConfig(newConfig: Partial<AICoreConfig>): Promise<void> {\n this.emit('ai_core:config_updating', { newConfig });\n\n // 深度合并配置\n this.config = this.deepMerge(this.config, newConfig) as Required<AICoreConfig>;\n\n // 应用新配置到各组件(如果需要)\n // 注意:某些配置可能需要重启组件才能生效\n\n this.emit('ai_core:config_updated', { config: this.config });\n }\n\n /**\n * 重启指定组件\n */\n async restartComponent(componentName: string): Promise<void> {\n const component = (this as any)[componentName];\n if (!component) {\n throw new Error(`Component '${componentName}' not found`);\n }\n\n this.emit('ai_core:component_restarting', { componentName });\n\n try {\n // 销毁组件\n if (component.destroy) {\n await component.destroy();\n }\n\n // 重新初始化\n await component.initialize();\n\n this.updateComponentHealth(componentName, 'healthy');\n this.emit('ai_core:component_restarted', { componentName });\n\n } catch (error: any) {\n this.updateComponentHealth(componentName, 'unhealthy', error.message);\n this.emit('ai_core:component_restart_failed', { \n componentName, \n error: error.message \n });\n throw error;\n }\n }\n\n /**\n * 优雅关闭\n */\n async gracefulShutdown(): Promise<void> {\n this.emit('ai_core:shutting_down');\n\n // 停止健康检查\n if (this.healthCheckInterval) {\n clearInterval(this.healthCheckInterval);\n }\n\n // 销毁所有组件\n const destroyPromises: Promise<void>[] = [];\n\n if (this.aiSDK?.destroy) {\n destroyPromises.push(Promise.resolve(this.aiSDK.destroy()));\n }\n if (this.providerManagement?.destroy) {\n destroyPromises.push(Promise.resolve(this.providerManagement.destroy()));\n }\n if (this.toolsIntegration?.destroy) {\n destroyPromises.push(Promise.resolve(this.toolsIntegration.destroy()));\n }\n if (this.embeddingsIntegration?.destroy) {\n destroyPromises.push(Promise.resolve(this.embeddingsIntegration.destroy()));\n }\n if (this.settingsManagement?.destroy) {\n destroyPromises.push(Promise.resolve(this.settingsManagement.destroy()));\n }\n if (this.structuredData?.destroy) {\n destroyPromises.push(Promise.resolve(this.structuredData.destroy()));\n }\n\n await Promise.all(destroyPromises);\n\n // 清理状态\n this.removeAllListeners();\n this.initialized = false;\n this.componentHealth.clear();\n\n this.emit('ai_core:shutdown_complete');\n }\n\n /**\n * 深度合并对象\n */\n private deepMerge<T>(target: T, source: Partial<T>): T {\n const result = { ...target };\n\n for (const key in source) {\n if (source[key] && typeof source[key] === 'object' && !Array.isArray(source[key])) {\n (result as any)[key] = this.deepMerge((target as any)[key] || {}, source[key] as any);\n } else {\n (result as any)[key] = source[key];\n }\n }\n\n return result;\n }\n\n /**\n * 检查初始化状态\n */\n isInitialized(): boolean {\n return this.initialized;\n }\n}\n\n// 默认导出\nexport default AICoreManager;"],"mappings":"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","names":[]}