mpd-llm-cli 0.1.24 → 0.1.28

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 (468) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +203 -0
  3. package/README.zh-CN.md +206 -0
  4. package/bundle/api.cjs +167802 -0
  5. package/bundle/api.js +167797 -0
  6. package/bundle/gemini.js +282317 -0
  7. package/package.json +79 -66
  8. package/dist/.last_build +0 -0
  9. package/dist/index.d.ts +0 -7
  10. package/dist/index.js +0 -20
  11. package/dist/index.js.map +0 -1
  12. package/dist/package.json +0 -83
  13. package/dist/src/api/index.d.ts +0 -17
  14. package/dist/src/api/index.js +0 -192
  15. package/dist/src/api/index.js.map +0 -1
  16. package/dist/src/api/types.d.ts +0 -32
  17. package/dist/src/api/types.js +0 -2
  18. package/dist/src/api/types.js.map +0 -1
  19. package/dist/src/api/util.d.ts +0 -4
  20. package/dist/src/api/util.js +0 -67
  21. package/dist/src/api/util.js.map +0 -1
  22. package/dist/src/config/auth.d.ts +0 -6
  23. package/dist/src/config/auth.js +0 -42
  24. package/dist/src/config/auth.js.map +0 -1
  25. package/dist/src/config/config.d.ts +0 -13
  26. package/dist/src/config/config.js +0 -248
  27. package/dist/src/config/config.js.map +0 -1
  28. package/dist/src/config/extension.d.ts +0 -21
  29. package/dist/src/config/extension.js +0 -109
  30. package/dist/src/config/extension.js.map +0 -1
  31. package/dist/src/config/mpdaiConfig.d.ts +0 -28
  32. package/dist/src/config/mpdaiConfig.js +0 -84
  33. package/dist/src/config/mpdaiConfig.js.map +0 -1
  34. package/dist/src/config/sandboxConfig.d.ts +0 -13
  35. package/dist/src/config/sandboxConfig.js +0 -75
  36. package/dist/src/config/sandboxConfig.js.map +0 -1
  37. package/dist/src/config/settings.d.ts +0 -72
  38. package/dist/src/config/settings.js +0 -227
  39. package/dist/src/config/settings.js.map +0 -1
  40. package/dist/src/config/startup.d.ts +0 -21
  41. package/dist/src/config/startup.js +0 -118
  42. package/dist/src/config/startup.js.map +0 -1
  43. package/dist/src/gemini.d.ts +0 -6
  44. package/dist/src/gemini.js +0 -300
  45. package/dist/src/gemini.js.map +0 -1
  46. package/dist/src/generated/git-commit.d.ts +0 -6
  47. package/dist/src/generated/git-commit.js +0 -9
  48. package/dist/src/generated/git-commit.js.map +0 -1
  49. package/dist/src/nonInteractiveCli.d.ts +0 -7
  50. package/dist/src/nonInteractiveCli.js +0 -115
  51. package/dist/src/nonInteractiveCli.js.map +0 -1
  52. package/dist/src/services/AuthService.d.ts +0 -110
  53. package/dist/src/services/AuthService.js +0 -258
  54. package/dist/src/services/AuthService.js.map +0 -1
  55. package/dist/src/services/CommandService.d.ts +0 -13
  56. package/dist/src/services/CommandService.js +0 -34
  57. package/dist/src/services/CommandService.js.map +0 -1
  58. package/dist/src/services/EnvConfigManager.d.ts +0 -34
  59. package/dist/src/services/EnvConfigManager.js +0 -141
  60. package/dist/src/services/EnvConfigManager.js.map +0 -1
  61. package/dist/src/services/README.md +0 -114
  62. package/dist/src/services/debug-auth.d.ts +0 -10
  63. package/dist/src/services/debug-auth.js +0 -104
  64. package/dist/src/services/debug-auth.js.map +0 -1
  65. package/dist/src/services/demo.d.ts +0 -10
  66. package/dist/src/services/demo.js +0 -96
  67. package/dist/src/services/demo.js.map +0 -1
  68. package/dist/src/services/test-auth.d.ts +0 -10
  69. package/dist/src/services/test-auth.js +0 -104
  70. package/dist/src/services/test-auth.js.map +0 -1
  71. package/dist/src/services/test-readline.d.ts +0 -6
  72. package/dist/src/services/test-readline.js +0 -32
  73. package/dist/src/services/test-readline.js.map +0 -1
  74. package/dist/src/telemetry/README.md +0 -135
  75. package/dist/src/telemetry/costCalculator.d.ts +0 -401
  76. package/dist/src/telemetry/costCalculator.js +0 -555
  77. package/dist/src/telemetry/costCalculator.js.map +0 -1
  78. package/dist/src/telemetry/dataCollector.d.ts +0 -83
  79. package/dist/src/telemetry/dataCollector.js +0 -392
  80. package/dist/src/telemetry/dataCollector.js.map +0 -1
  81. package/dist/src/telemetry/langfuseClient.d.ts +0 -96
  82. package/dist/src/telemetry/langfuseClient.js +0 -485
  83. package/dist/src/telemetry/langfuseClient.js.map +0 -1
  84. package/dist/src/telemetry/langfuseConfig.d.ts +0 -21
  85. package/dist/src/telemetry/langfuseConfig.js +0 -64
  86. package/dist/src/telemetry/langfuseConfig.js.map +0 -1
  87. package/dist/src/telemetry/langfuseIntegration.d.ts +0 -66
  88. package/dist/src/telemetry/langfuseIntegration.js +0 -238
  89. package/dist/src/telemetry/langfuseIntegration.js.map +0 -1
  90. package/dist/src/telemetry/toolExecutionInterceptor.d.ts +0 -29
  91. package/dist/src/telemetry/toolExecutionInterceptor.js +0 -122
  92. package/dist/src/telemetry/toolExecutionInterceptor.js.map +0 -1
  93. package/dist/src/ui/App.d.ts +0 -14
  94. package/dist/src/ui/App.js +0 -466
  95. package/dist/src/ui/App.js.map +0 -1
  96. package/dist/src/ui/colors.d.ts +0 -7
  97. package/dist/src/ui/colors.js +0 -48
  98. package/dist/src/ui/colors.js.map +0 -1
  99. package/dist/src/ui/commands/clearCommand.d.ts +0 -7
  100. package/dist/src/ui/commands/clearCommand.js +0 -15
  101. package/dist/src/ui/commands/clearCommand.js.map +0 -1
  102. package/dist/src/ui/commands/helpCommand.d.ts +0 -7
  103. package/dist/src/ui/commands/helpCommand.js +0 -18
  104. package/dist/src/ui/commands/helpCommand.js.map +0 -1
  105. package/dist/src/ui/commands/logoutCommand.d.ts +0 -7
  106. package/dist/src/ui/commands/logoutCommand.js +0 -77
  107. package/dist/src/ui/commands/logoutCommand.js.map +0 -1
  108. package/dist/src/ui/commands/memoryCommand.d.ts +0 -7
  109. package/dist/src/ui/commands/memoryCommand.js +0 -81
  110. package/dist/src/ui/commands/memoryCommand.js.map +0 -1
  111. package/dist/src/ui/commands/modelCommand.d.ts +0 -14
  112. package/dist/src/ui/commands/modelCommand.js +0 -58
  113. package/dist/src/ui/commands/modelCommand.js.map +0 -1
  114. package/dist/src/ui/commands/types.d.ts +0 -63
  115. package/dist/src/ui/commands/types.js +0 -7
  116. package/dist/src/ui/commands/types.js.map +0 -1
  117. package/dist/src/ui/components/AboutBox.d.ts +0 -16
  118. package/dist/src/ui/components/AboutBox.js +0 -6
  119. package/dist/src/ui/components/AboutBox.js.map +0 -1
  120. package/dist/src/ui/components/AsciiArt.d.ts +0 -7
  121. package/dist/src/ui/components/AsciiArt.js +0 -25
  122. package/dist/src/ui/components/AsciiArt.js.map +0 -1
  123. package/dist/src/ui/components/AuthDialog.d.ts +0 -15
  124. package/dist/src/ui/components/AuthDialog.js +0 -75
  125. package/dist/src/ui/components/AuthDialog.js.map +0 -1
  126. package/dist/src/ui/components/AuthInProgress.d.ts +0 -11
  127. package/dist/src/ui/components/AuthInProgress.js +0 -27
  128. package/dist/src/ui/components/AuthInProgress.js.map +0 -1
  129. package/dist/src/ui/components/AutoAcceptIndicator.d.ts +0 -12
  130. package/dist/src/ui/components/AutoAcceptIndicator.js +0 -26
  131. package/dist/src/ui/components/AutoAcceptIndicator.js.map +0 -1
  132. package/dist/src/ui/components/ConsolePatcher.d.ts +0 -12
  133. package/dist/src/ui/components/ConsolePatcher.js +0 -38
  134. package/dist/src/ui/components/ConsolePatcher.js.map +0 -1
  135. package/dist/src/ui/components/ConsoleSummaryDisplay.d.ts +0 -11
  136. package/dist/src/ui/components/ConsoleSummaryDisplay.js +0 -11
  137. package/dist/src/ui/components/ConsoleSummaryDisplay.js.map +0 -1
  138. package/dist/src/ui/components/ContextSummaryDisplay.d.ts +0 -15
  139. package/dist/src/ui/components/ContextSummaryDisplay.js +0 -41
  140. package/dist/src/ui/components/ContextSummaryDisplay.js.map +0 -1
  141. package/dist/src/ui/components/DetailedMessagesDisplay.d.ts +0 -14
  142. package/dist/src/ui/components/DetailedMessagesDisplay.js +0 -34
  143. package/dist/src/ui/components/DetailedMessagesDisplay.js.map +0 -1
  144. package/dist/src/ui/components/EditorSettingsDialog.d.ts +0 -15
  145. package/dist/src/ui/components/EditorSettingsDialog.js +0 -73
  146. package/dist/src/ui/components/EditorSettingsDialog.js.map +0 -1
  147. package/dist/src/ui/components/Footer.d.ts +0 -20
  148. package/dist/src/ui/components/Footer.js +0 -19
  149. package/dist/src/ui/components/Footer.js.map +0 -1
  150. package/dist/src/ui/components/GeminiRespondingSpinner.d.ts +0 -17
  151. package/dist/src/ui/components/GeminiRespondingSpinner.js +0 -16
  152. package/dist/src/ui/components/GeminiRespondingSpinner.js.map +0 -1
  153. package/dist/src/ui/components/Header.d.ts +0 -12
  154. package/dist/src/ui/components/Header.js +0 -20
  155. package/dist/src/ui/components/Header.js.map +0 -1
  156. package/dist/src/ui/components/Help.d.ts +0 -12
  157. package/dist/src/ui/components/Help.js +0 -10
  158. package/dist/src/ui/components/Help.js.map +0 -1
  159. package/dist/src/ui/components/HistoryItemDisplay.d.ts +0 -18
  160. package/dist/src/ui/components/HistoryItemDisplay.js +0 -17
  161. package/dist/src/ui/components/HistoryItemDisplay.js.map +0 -1
  162. package/dist/src/ui/components/InputPrompt.d.ts +0 -25
  163. package/dist/src/ui/components/InputPrompt.js +0 -280
  164. package/dist/src/ui/components/InputPrompt.js.map +0 -1
  165. package/dist/src/ui/components/LoadingIndicator.d.ts +0 -15
  166. package/dist/src/ui/components/LoadingIndicator.js +0 -20
  167. package/dist/src/ui/components/LoadingIndicator.js.map +0 -1
  168. package/dist/src/ui/components/MemoryUsageDisplay.d.ts +0 -7
  169. package/dist/src/ui/components/MemoryUsageDisplay.js +0 -27
  170. package/dist/src/ui/components/MemoryUsageDisplay.js.map +0 -1
  171. package/dist/src/ui/components/ModelDialog.d.ts +0 -14
  172. package/dist/src/ui/components/ModelDialog.js +0 -34
  173. package/dist/src/ui/components/ModelDialog.js.map +0 -1
  174. package/dist/src/ui/components/ModelStatsDisplay.d.ts +0 -7
  175. package/dist/src/ui/components/ModelStatsDisplay.js +0 -33
  176. package/dist/src/ui/components/ModelStatsDisplay.js.map +0 -1
  177. package/dist/src/ui/components/SessionSummaryDisplay.d.ts +0 -11
  178. package/dist/src/ui/components/SessionSummaryDisplay.js +0 -4
  179. package/dist/src/ui/components/SessionSummaryDisplay.js.map +0 -1
  180. package/dist/src/ui/components/ShellModeIndicator.d.ts +0 -7
  181. package/dist/src/ui/components/ShellModeIndicator.js +0 -5
  182. package/dist/src/ui/components/ShellModeIndicator.js.map +0 -1
  183. package/dist/src/ui/components/ShowMoreLines.d.ts +0 -10
  184. package/dist/src/ui/components/ShowMoreLines.js +0 -24
  185. package/dist/src/ui/components/ShowMoreLines.js.map +0 -1
  186. package/dist/src/ui/components/StatsDisplay.d.ts +0 -12
  187. package/dist/src/ui/components/StatsDisplay.js +0 -42
  188. package/dist/src/ui/components/StatsDisplay.js.map +0 -1
  189. package/dist/src/ui/components/SuggestionsDisplay.d.ts +0 -21
  190. package/dist/src/ui/components/SuggestionsDisplay.js +0 -32
  191. package/dist/src/ui/components/SuggestionsDisplay.js.map +0 -1
  192. package/dist/src/ui/components/ThemeDialog.d.ts +0 -19
  193. package/dist/src/ui/components/ThemeDialog.js +0 -126
  194. package/dist/src/ui/components/ThemeDialog.js.map +0 -1
  195. package/dist/src/ui/components/Tips.d.ts +0 -12
  196. package/dist/src/ui/components/Tips.js +0 -8
  197. package/dist/src/ui/components/Tips.js.map +0 -1
  198. package/dist/src/ui/components/ToolStatsDisplay.d.ts +0 -7
  199. package/dist/src/ui/components/ToolStatsDisplay.js +0 -41
  200. package/dist/src/ui/components/ToolStatsDisplay.js.map +0 -1
  201. package/dist/src/ui/components/UpdateNotification.d.ts +0 -10
  202. package/dist/src/ui/components/UpdateNotification.js +0 -10
  203. package/dist/src/ui/components/UpdateNotification.js.map +0 -1
  204. package/dist/src/ui/components/messages/CompressionMessage.d.ts +0 -11
  205. package/dist/src/ui/components/messages/CompressionMessage.js +0 -16
  206. package/dist/src/ui/components/messages/CompressionMessage.js.map +0 -1
  207. package/dist/src/ui/components/messages/DiffRenderer.d.ts +0 -15
  208. package/dist/src/ui/components/messages/DiffRenderer.js +0 -212
  209. package/dist/src/ui/components/messages/DiffRenderer.js.map +0 -1
  210. package/dist/src/ui/components/messages/ErrorMessage.d.ts +0 -11
  211. package/dist/src/ui/components/messages/ErrorMessage.js +0 -9
  212. package/dist/src/ui/components/messages/ErrorMessage.js.map +0 -1
  213. package/dist/src/ui/components/messages/GeminiMessage.d.ts +0 -14
  214. package/dist/src/ui/components/messages/GeminiMessage.js +0 -10
  215. package/dist/src/ui/components/messages/GeminiMessage.js.map +0 -1
  216. package/dist/src/ui/components/messages/GeminiMessageContent.d.ts +0 -14
  217. package/dist/src/ui/components/messages/GeminiMessageContent.js +0 -15
  218. package/dist/src/ui/components/messages/GeminiMessageContent.js.map +0 -1
  219. package/dist/src/ui/components/messages/InfoMessage.d.ts +0 -11
  220. package/dist/src/ui/components/messages/InfoMessage.js +0 -9
  221. package/dist/src/ui/components/messages/InfoMessage.js.map +0 -1
  222. package/dist/src/ui/components/messages/ToolConfirmationMessage.d.ts +0 -18
  223. package/dist/src/ui/components/messages/ToolConfirmationMessage.js +0 -307
  224. package/dist/src/ui/components/messages/ToolConfirmationMessage.js.map +0 -1
  225. package/dist/src/ui/components/messages/ToolGroupMessage.d.ts +0 -18
  226. package/dist/src/ui/components/messages/ToolGroupMessage.js +0 -53
  227. package/dist/src/ui/components/messages/ToolGroupMessage.js.map +0 -1
  228. package/dist/src/ui/components/messages/ToolMessage.d.ts +0 -15
  229. package/dist/src/ui/components/messages/ToolMessage.js +0 -61
  230. package/dist/src/ui/components/messages/ToolMessage.js.map +0 -1
  231. package/dist/src/ui/components/messages/UserMessage.d.ts +0 -11
  232. package/dist/src/ui/components/messages/UserMessage.js +0 -9
  233. package/dist/src/ui/components/messages/UserMessage.js.map +0 -1
  234. package/dist/src/ui/components/messages/UserShellMessage.d.ts +0 -11
  235. package/dist/src/ui/components/messages/UserShellMessage.js +0 -9
  236. package/dist/src/ui/components/messages/UserShellMessage.js.map +0 -1
  237. package/dist/src/ui/components/shared/MaxSizedBox.d.ts +0 -61
  238. package/dist/src/ui/components/shared/MaxSizedBox.js +0 -384
  239. package/dist/src/ui/components/shared/MaxSizedBox.js.map +0 -1
  240. package/dist/src/ui/components/shared/RadioButtonSelect.d.ts +0 -41
  241. package/dist/src/ui/components/shared/RadioButtonSelect.js +0 -52
  242. package/dist/src/ui/components/shared/RadioButtonSelect.js.map +0 -1
  243. package/dist/src/ui/components/shared/text-buffer.d.ts +0 -184
  244. package/dist/src/ui/components/shared/text-buffer.js +0 -1010
  245. package/dist/src/ui/components/shared/text-buffer.js.map +0 -1
  246. package/dist/src/ui/constants.d.ts +0 -8
  247. package/dist/src/ui/constants.js +0 -12
  248. package/dist/src/ui/constants.js.map +0 -1
  249. package/dist/src/ui/contexts/OverflowContext.d.ts +0 -19
  250. package/dist/src/ui/contexts/OverflowContext.js +0 -43
  251. package/dist/src/ui/contexts/OverflowContext.js.map +0 -1
  252. package/dist/src/ui/contexts/SessionContext.d.ts +0 -33
  253. package/dist/src/ui/contexts/SessionContext.js +0 -49
  254. package/dist/src/ui/contexts/SessionContext.js.map +0 -1
  255. package/dist/src/ui/contexts/StreamingContext.d.ts +0 -9
  256. package/dist/src/ui/contexts/StreamingContext.js +0 -15
  257. package/dist/src/ui/contexts/StreamingContext.js.map +0 -1
  258. package/dist/src/ui/editors/editorSettingsManager.d.ts +0 -19
  259. package/dist/src/ui/editors/editorSettingsManager.js +0 -54
  260. package/dist/src/ui/editors/editorSettingsManager.js.map +0 -1
  261. package/dist/src/ui/hooks/atCommandProcessor.d.ts +0 -31
  262. package/dist/src/ui/hooks/atCommandProcessor.js +0 -310
  263. package/dist/src/ui/hooks/atCommandProcessor.js.map +0 -1
  264. package/dist/src/ui/hooks/shellCommandProcessor.d.ts +0 -16
  265. package/dist/src/ui/hooks/shellCommandProcessor.js +0 -261
  266. package/dist/src/ui/hooks/shellCommandProcessor.js.map +0 -1
  267. package/dist/src/ui/hooks/slashCommandProcessor.d.ts +0 -27
  268. package/dist/src/ui/hooks/slashCommandProcessor.js +0 -1129
  269. package/dist/src/ui/hooks/slashCommandProcessor.js.map +0 -1
  270. package/dist/src/ui/hooks/useAuthCommand.d.ts +0 -14
  271. package/dist/src/ui/hooks/useAuthCommand.js +0 -63
  272. package/dist/src/ui/hooks/useAuthCommand.js.map +0 -1
  273. package/dist/src/ui/hooks/useAutoAcceptIndicator.d.ts +0 -10
  274. package/dist/src/ui/hooks/useAutoAcceptIndicator.js +0 -37
  275. package/dist/src/ui/hooks/useAutoAcceptIndicator.js.map +0 -1
  276. package/dist/src/ui/hooks/useBracketedPaste.d.ts +0 -12
  277. package/dist/src/ui/hooks/useBracketedPaste.js +0 -32
  278. package/dist/src/ui/hooks/useBracketedPaste.js.map +0 -1
  279. package/dist/src/ui/hooks/useCompletion.d.ts +0 -21
  280. package/dist/src/ui/hooks/useCompletion.js +0 -372
  281. package/dist/src/ui/hooks/useCompletion.js.map +0 -1
  282. package/dist/src/ui/hooks/useConsoleMessages.d.ts +0 -12
  283. package/dist/src/ui/hooks/useConsoleMessages.js +0 -60
  284. package/dist/src/ui/hooks/useConsoleMessages.js.map +0 -1
  285. package/dist/src/ui/hooks/useEditorSettings.d.ts +0 -16
  286. package/dist/src/ui/hooks/useEditorSettings.js +0 -43
  287. package/dist/src/ui/hooks/useEditorSettings.js.map +0 -1
  288. package/dist/src/ui/hooks/useGeminiStream.d.ts +0 -23
  289. package/dist/src/ui/hooks/useGeminiStream.js +0 -603
  290. package/dist/src/ui/hooks/useGeminiStream.js.map +0 -1
  291. package/dist/src/ui/hooks/useGitBranchName.d.ts +0 -6
  292. package/dist/src/ui/hooks/useGitBranchName.js +0 -61
  293. package/dist/src/ui/hooks/useGitBranchName.js.map +0 -1
  294. package/dist/src/ui/hooks/useHistoryManager.d.ts +0 -22
  295. package/dist/src/ui/hooks/useHistoryManager.js +0 -72
  296. package/dist/src/ui/hooks/useHistoryManager.js.map +0 -1
  297. package/dist/src/ui/hooks/useInputHistory.d.ts +0 -19
  298. package/dist/src/ui/hooks/useInputHistory.js +0 -84
  299. package/dist/src/ui/hooks/useInputHistory.js.map +0 -1
  300. package/dist/src/ui/hooks/useKeypress.d.ts +0 -29
  301. package/dist/src/ui/hooks/useKeypress.js +0 -86
  302. package/dist/src/ui/hooks/useKeypress.js.map +0 -1
  303. package/dist/src/ui/hooks/useLoadingIndicator.d.ts +0 -10
  304. package/dist/src/ui/hooks/useLoadingIndicator.js +0 -44
  305. package/dist/src/ui/hooks/useLoadingIndicator.js.map +0 -1
  306. package/dist/src/ui/hooks/useLogger.d.ts +0 -10
  307. package/dist/src/ui/hooks/useLogger.js +0 -29
  308. package/dist/src/ui/hooks/useLogger.js.map +0 -1
  309. package/dist/src/ui/hooks/usePhraseCycler.d.ts +0 -14
  310. package/dist/src/ui/hooks/usePhraseCycler.js +0 -189
  311. package/dist/src/ui/hooks/usePhraseCycler.js.map +0 -1
  312. package/dist/src/ui/hooks/usePrivacySettings.d.ts +0 -16
  313. package/dist/src/ui/hooks/usePrivacySettings.js +0 -115
  314. package/dist/src/ui/hooks/usePrivacySettings.js.map +0 -1
  315. package/dist/src/ui/hooks/useReactToolScheduler.d.ts +0 -33
  316. package/dist/src/ui/hooks/useReactToolScheduler.js +0 -186
  317. package/dist/src/ui/hooks/useReactToolScheduler.js.map +0 -1
  318. package/dist/src/ui/hooks/useRefreshMemoryCommand.d.ts +0 -6
  319. package/dist/src/ui/hooks/useRefreshMemoryCommand.js +0 -7
  320. package/dist/src/ui/hooks/useRefreshMemoryCommand.js.map +0 -1
  321. package/dist/src/ui/hooks/useShellHistory.d.ts +0 -11
  322. package/dist/src/ui/hooks/useShellHistory.js +0 -89
  323. package/dist/src/ui/hooks/useShellHistory.js.map +0 -1
  324. package/dist/src/ui/hooks/useShowMemoryCommand.d.ts +0 -9
  325. package/dist/src/ui/hooks/useShowMemoryCommand.js +0 -58
  326. package/dist/src/ui/hooks/useShowMemoryCommand.js.map +0 -1
  327. package/dist/src/ui/hooks/useStateAndRef.d.ts +0 -7
  328. package/dist/src/ui/hooks/useStateAndRef.js +0 -26
  329. package/dist/src/ui/hooks/useStateAndRef.js.map +0 -1
  330. package/dist/src/ui/hooks/useTerminalSize.d.ts +0 -9
  331. package/dist/src/ui/hooks/useTerminalSize.js +0 -27
  332. package/dist/src/ui/hooks/useTerminalSize.js.map +0 -1
  333. package/dist/src/ui/hooks/useThemeCommand.d.ts +0 -15
  334. package/dist/src/ui/hooks/useThemeCommand.js +0 -78
  335. package/dist/src/ui/hooks/useThemeCommand.js.map +0 -1
  336. package/dist/src/ui/hooks/useTimer.d.ts +0 -12
  337. package/dist/src/ui/hooks/useTimer.js +0 -58
  338. package/dist/src/ui/hooks/useTimer.js.map +0 -1
  339. package/dist/src/ui/privacy/CloudFreePrivacyNotice.d.ts +0 -12
  340. package/dist/src/ui/privacy/CloudFreePrivacyNotice.js +0 -40
  341. package/dist/src/ui/privacy/CloudFreePrivacyNotice.js.map +0 -1
  342. package/dist/src/ui/privacy/CloudPaidPrivacyNotice.d.ts +0 -10
  343. package/dist/src/ui/privacy/CloudPaidPrivacyNotice.js +0 -17
  344. package/dist/src/ui/privacy/CloudPaidPrivacyNotice.js.map +0 -1
  345. package/dist/src/ui/privacy/GeminiPrivacyNotice.d.ts +0 -10
  346. package/dist/src/ui/privacy/GeminiPrivacyNotice.js +0 -17
  347. package/dist/src/ui/privacy/GeminiPrivacyNotice.js.map +0 -1
  348. package/dist/src/ui/privacy/PrivacyNotice.d.ts +0 -12
  349. package/dist/src/ui/privacy/PrivacyNotice.js +0 -25
  350. package/dist/src/ui/privacy/PrivacyNotice.js.map +0 -1
  351. package/dist/src/ui/themes/ansi-light.d.ts +0 -7
  352. package/dist/src/ui/themes/ansi-light.js +0 -139
  353. package/dist/src/ui/themes/ansi-light.js.map +0 -1
  354. package/dist/src/ui/themes/ansi.d.ts +0 -7
  355. package/dist/src/ui/themes/ansi.js +0 -149
  356. package/dist/src/ui/themes/ansi.js.map +0 -1
  357. package/dist/src/ui/themes/atom-one-dark.d.ts +0 -7
  358. package/dist/src/ui/themes/atom-one-dark.js +0 -136
  359. package/dist/src/ui/themes/atom-one-dark.js.map +0 -1
  360. package/dist/src/ui/themes/ayu-light.d.ts +0 -7
  361. package/dist/src/ui/themes/ayu-light.js +0 -128
  362. package/dist/src/ui/themes/ayu-light.js.map +0 -1
  363. package/dist/src/ui/themes/ayu.d.ts +0 -7
  364. package/dist/src/ui/themes/ayu.js +0 -102
  365. package/dist/src/ui/themes/ayu.js.map +0 -1
  366. package/dist/src/ui/themes/default-light.d.ts +0 -7
  367. package/dist/src/ui/themes/default-light.js +0 -100
  368. package/dist/src/ui/themes/default-light.js.map +0 -1
  369. package/dist/src/ui/themes/default.d.ts +0 -7
  370. package/dist/src/ui/themes/default.js +0 -143
  371. package/dist/src/ui/themes/default.js.map +0 -1
  372. package/dist/src/ui/themes/dracula.d.ts +0 -7
  373. package/dist/src/ui/themes/dracula.js +0 -113
  374. package/dist/src/ui/themes/dracula.js.map +0 -1
  375. package/dist/src/ui/themes/github-dark.d.ts +0 -7
  376. package/dist/src/ui/themes/github-dark.js +0 -136
  377. package/dist/src/ui/themes/github-dark.js.map +0 -1
  378. package/dist/src/ui/themes/github-light.d.ts +0 -7
  379. package/dist/src/ui/themes/github-light.js +0 -138
  380. package/dist/src/ui/themes/github-light.js.map +0 -1
  381. package/dist/src/ui/themes/googlecode.d.ts +0 -7
  382. package/dist/src/ui/themes/googlecode.js +0 -135
  383. package/dist/src/ui/themes/googlecode.js.map +0 -1
  384. package/dist/src/ui/themes/no-color.d.ts +0 -7
  385. package/dist/src/ui/themes/no-color.js +0 -84
  386. package/dist/src/ui/themes/no-color.js.map +0 -1
  387. package/dist/src/ui/themes/shades-of-purple.d.ts +0 -11
  388. package/dist/src/ui/themes/shades-of-purple.js +0 -302
  389. package/dist/src/ui/themes/shades-of-purple.js.map +0 -1
  390. package/dist/src/ui/themes/theme-manager.d.ts +0 -33
  391. package/dist/src/ui/themes/theme-manager.js +0 -109
  392. package/dist/src/ui/themes/theme-manager.js.map +0 -1
  393. package/dist/src/ui/themes/theme.d.ts +0 -67
  394. package/dist/src/ui/themes/theme.js +0 -304
  395. package/dist/src/ui/themes/theme.js.map +0 -1
  396. package/dist/src/ui/themes/xcode.d.ts +0 -7
  397. package/dist/src/ui/themes/xcode.js +0 -143
  398. package/dist/src/ui/themes/xcode.js.map +0 -1
  399. package/dist/src/ui/types.d.ts +0 -172
  400. package/dist/src/ui/types.js +0 -43
  401. package/dist/src/ui/types.js.map +0 -1
  402. package/dist/src/ui/utils/CodeColorizer.d.ts +0 -14
  403. package/dist/src/ui/utils/CodeColorizer.js +0 -97
  404. package/dist/src/ui/utils/CodeColorizer.js.map +0 -1
  405. package/dist/src/ui/utils/InlineMarkdownRenderer.d.ts +0 -16
  406. package/dist/src/ui/utils/InlineMarkdownRenderer.js +0 -104
  407. package/dist/src/ui/utils/InlineMarkdownRenderer.js.map +0 -1
  408. package/dist/src/ui/utils/MarkdownDisplay.d.ts +0 -14
  409. package/dist/src/ui/utils/MarkdownDisplay.js +0 -197
  410. package/dist/src/ui/utils/MarkdownDisplay.js.map +0 -1
  411. package/dist/src/ui/utils/TableRenderer.d.ts +0 -17
  412. package/dist/src/ui/utils/TableRenderer.js +0 -84
  413. package/dist/src/ui/utils/TableRenderer.js.map +0 -1
  414. package/dist/src/ui/utils/commandUtils.d.ts +0 -22
  415. package/dist/src/ui/utils/commandUtils.js +0 -25
  416. package/dist/src/ui/utils/commandUtils.js.map +0 -1
  417. package/dist/src/ui/utils/computeStats.d.ts +0 -10
  418. package/dist/src/ui/utils/computeStats.js +0 -55
  419. package/dist/src/ui/utils/computeStats.js.map +0 -1
  420. package/dist/src/ui/utils/displayUtils.d.ts +0 -17
  421. package/dist/src/ui/utils/displayUtils.js +0 -24
  422. package/dist/src/ui/utils/displayUtils.js.map +0 -1
  423. package/dist/src/ui/utils/errorParsing.d.ts +0 -15
  424. package/dist/src/ui/utils/errorParsing.js +0 -79
  425. package/dist/src/ui/utils/errorParsing.js.map +0 -1
  426. package/dist/src/ui/utils/formatters.d.ts +0 -13
  427. package/dist/src/ui/utils/formatters.js +0 -56
  428. package/dist/src/ui/utils/formatters.js.map +0 -1
  429. package/dist/src/ui/utils/markdownUtilities.d.ts +0 -6
  430. package/dist/src/ui/utils/markdownUtilities.js +0 -110
  431. package/dist/src/ui/utils/markdownUtilities.js.map +0 -1
  432. package/dist/src/ui/utils/textUtils.d.ts +0 -22
  433. package/dist/src/ui/utils/textUtils.js +0 -58
  434. package/dist/src/ui/utils/textUtils.js.map +0 -1
  435. package/dist/src/ui/utils/updateCheck.d.ts +0 -6
  436. package/dist/src/ui/utils/updateCheck.js +0 -36
  437. package/dist/src/ui/utils/updateCheck.js.map +0 -1
  438. package/dist/src/utils/cleanup.d.ts +0 -6
  439. package/dist/src/utils/cleanup.js +0 -19
  440. package/dist/src/utils/cleanup.js.map +0 -1
  441. package/dist/src/utils/package.d.ts +0 -12
  442. package/dist/src/utils/package.js +0 -24
  443. package/dist/src/utils/package.js.map +0 -1
  444. package/dist/src/utils/readStdin.d.ts +0 -6
  445. package/dist/src/utils/readStdin.js +0 -34
  446. package/dist/src/utils/readStdin.js.map +0 -1
  447. package/dist/src/utils/sandbox.d.ts +0 -7
  448. package/dist/src/utils/sandbox.js +0 -680
  449. package/dist/src/utils/sandbox.js.map +0 -1
  450. package/dist/src/utils/startupWarnings.d.ts +0 -6
  451. package/dist/src/utils/startupWarnings.js +0 -40
  452. package/dist/src/utils/startupWarnings.js.map +0 -1
  453. package/dist/src/utils/userStartupWarnings.d.ts +0 -6
  454. package/dist/src/utils/userStartupWarnings.js +0 -33
  455. package/dist/src/utils/userStartupWarnings.js.map +0 -1
  456. package/dist/src/utils/version.d.ts +0 -6
  457. package/dist/src/utils/version.js +0 -11
  458. package/dist/src/utils/version.js.map +0 -1
  459. package/dist/tsconfig.tsbuildinfo +0 -1
  460. package/dist/vitest.config.d.ts +0 -7
  461. package/dist/vitest.config.js +0 -35
  462. package/dist/vitest.config.js.map +0 -1
  463. /package/{dist/src/utils → bundle}/sandbox-macos-permissive-closed.sb +0 -0
  464. /package/{dist/src/utils → bundle}/sandbox-macos-permissive-open.sb +0 -0
  465. /package/{dist/src/utils → bundle}/sandbox-macos-permissive-proxied.sb +0 -0
  466. /package/{dist/src/utils → bundle}/sandbox-macos-restrictive-closed.sb +0 -0
  467. /package/{dist/src/utils → bundle}/sandbox-macos-restrictive-open.sb +0 -0
  468. /package/{dist/src/utils → bundle}/sandbox-macos-restrictive-proxied.sb +0 -0
@@ -1,485 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { Langfuse } from 'langfuse';
7
- import { LangfuseConfigManager } from './langfuseConfig.js';
8
- import { join } from 'path';
9
- import { homedir } from 'os';
10
- import { existsSync, readFileSync } from 'fs';
11
- export class LangfuseClient {
12
- client = null;
13
- configManager;
14
- constructor() {
15
- this.configManager = LangfuseConfigManager.getInstance();
16
- this.initializeClient();
17
- }
18
- initializeClient() {
19
- try {
20
- const config = this.configManager.getConfig();
21
- // Only log in debug mode to avoid UI flickering
22
- if (process.env.DEBUG === '1') {
23
- console.log('🔧 Langfuse config loaded:', {
24
- hasConfig: !!config,
25
- enabled: config?.enabled,
26
- baseUrl: config?.baseUrl,
27
- hasKeys: !!(config?.secretKey && config?.publicKey),
28
- });
29
- }
30
- if (config && config.enabled) {
31
- // Only log in debug mode to avoid UI flickering
32
- if (process.env.DEBUG === '1') {
33
- console.log('🔧 Initializing Langfuse client with config:', {
34
- baseUrl: config.baseUrl,
35
- publicKey: config.publicKey.substring(0, 10) + '...',
36
- secretKey: config.secretKey.substring(0, 10) + '...',
37
- environment: config.environment,
38
- });
39
- }
40
- // Mock localStorage for Node.js environment
41
- if (typeof globalThis.localStorage === 'undefined') {
42
- const mockStorage = {
43
- getItem: () => null,
44
- setItem: () => { },
45
- removeItem: () => { },
46
- clear: () => { },
47
- length: 0,
48
- key: () => null
49
- };
50
- globalThis.localStorage = mockStorage;
51
- }
52
- this.client = new Langfuse({
53
- secretKey: config.secretKey,
54
- publicKey: config.publicKey,
55
- baseUrl: config.baseUrl,
56
- persistence: 'memory', // Use memory storage for Node.js environment
57
- });
58
- // Only log in debug mode to avoid UI flickering
59
- if (process.env.DEBUG === '1') {
60
- console.log('✅ Langfuse client initialized successfully');
61
- }
62
- }
63
- else {
64
- // Only log in debug mode to avoid UI flickering
65
- if (process.env.DEBUG === '1') {
66
- console.log('❌ Langfuse is disabled or not configured:', {
67
- hasConfig: !!config,
68
- enabled: config?.enabled,
69
- });
70
- }
71
- }
72
- }
73
- catch (error) {
74
- console.error('❌ Failed to initialize Langfuse client:', error);
75
- this.client = null;
76
- }
77
- }
78
- isAvailable() {
79
- return this.client !== null;
80
- }
81
- // 静默模式状态
82
- silentMode = false;
83
- // 设置静默模式
84
- setSilentMode(silent) {
85
- this.silentMode = silent;
86
- }
87
- // 创建跟踪会话
88
- async createTrace(sessionId, metadata) {
89
- if (!this.client) {
90
- throw new Error('Langfuse client not available');
91
- }
92
- try {
93
- // 验证和清理输入数据
94
- const safeSessionId = this.safeString(sessionId, 'unknown-session');
95
- const safeMetadata = this.safeMetadata(metadata);
96
- // 只在DEBUG模式下显示详细日志
97
- if (process.env.DEBUG === '1') {
98
- console.log('🔍 Creating Langfuse trace with:', {
99
- sessionId: safeSessionId,
100
- metadata: safeMetadata,
101
- baseUrl: this.configManager.getConfig()?.baseUrl,
102
- });
103
- }
104
- // 获取用户ID
105
- const userId = this.getUserId();
106
- const trace = await this.client.trace({
107
- id: safeSessionId,
108
- name: 'MPD LLM CLI Session',
109
- userId: userId,
110
- metadata: {
111
- ...safeMetadata,
112
- cli_version: this.safeString(process.env.CLI_VERSION, 'unknown'),
113
- model: this.safeString(process.env.CUSTOM_LLM_MODEL_NAME, 'gemini'),
114
- auth_type: process.env.USE_CUSTOM_LLM ? 'custom_llm' : 'google_oauth',
115
- environment: this.safeString(this.configManager.getConfig()?.environment, 'unknown'),
116
- },
117
- });
118
- // 只在DEBUG模式下显示成功信息
119
- if (process.env.DEBUG === '1') {
120
- console.log('✅ Langfuse trace created successfully:', trace.id);
121
- }
122
- return trace;
123
- }
124
- catch (error) {
125
- console.error('❌ Failed to create Langfuse trace:', error);
126
- console.error('Error details:', {
127
- message: error instanceof Error ? error.message : String(error),
128
- stack: error instanceof Error ? error.stack : undefined,
129
- config: this.configManager.getConfig(),
130
- });
131
- throw error;
132
- }
133
- }
134
- // 创建用户确认事件
135
- async createConfirmationEvent(trace, confirmationData) {
136
- if (!this.client) {
137
- throw new Error('Langfuse client not available');
138
- }
139
- try {
140
- return await this.client.span({
141
- traceId: trace.id,
142
- name: 'User Confirmation',
143
- input: confirmationData,
144
- metadata: {
145
- tool_name: confirmationData.tool_name,
146
- tool_type: confirmationData.tool_type,
147
- user_choice: confirmationData.user_choice,
148
- choice_duration_ms: confirmationData.choice_duration_ms,
149
- },
150
- });
151
- }
152
- catch (error) {
153
- console.error('Failed to create confirmation event:', error);
154
- throw error;
155
- }
156
- }
157
- // 更新确认事件结果
158
- async updateConfirmationEvent(span, result) {
159
- if (!this.client) {
160
- throw new Error('Langfuse client not available');
161
- }
162
- try {
163
- await span.update({
164
- output: result,
165
- level: 'INFO',
166
- });
167
- }
168
- catch (error) {
169
- console.error('Failed to update confirmation event:', error);
170
- throw error;
171
- }
172
- }
173
- // 创建工具执行事件
174
- async createToolExecutionEvent(trace, toolData) {
175
- if (!this.client) {
176
- throw new Error('Langfuse client not available');
177
- }
178
- try {
179
- return await this.client.span({
180
- traceId: trace.id,
181
- name: `Tool Execution: ${toolData.tool_name}`,
182
- input: toolData,
183
- metadata: {
184
- tool_name: toolData.tool_name,
185
- tool_status: toolData.tool_status,
186
- execution_time_ms: toolData.execution_time_ms,
187
- },
188
- });
189
- }
190
- catch (error) {
191
- console.error('Failed to create tool execution event:', error);
192
- throw error;
193
- }
194
- }
195
- // 关闭跟踪
196
- async closeTrace(trace) {
197
- if (!this.client) {
198
- throw new Error('Langfuse client not available');
199
- }
200
- try {
201
- await trace.update({
202
- level: 'INFO',
203
- });
204
- // 强制刷新数据到Langfuse
205
- if (process.env.DEBUG === '1') {
206
- console.log('🔄 Flushing data to Langfuse...');
207
- }
208
- await this.client.flush();
209
- if (process.env.DEBUG === '1') {
210
- console.log('✅ Data flushed successfully');
211
- }
212
- }
213
- catch (error) {
214
- console.error('❌ Failed to close trace:', error);
215
- throw error;
216
- }
217
- }
218
- // 创建观察事件
219
- async createObservation(trace, observationData) {
220
- if (!this.client) {
221
- throw new Error('Langfuse client not available');
222
- }
223
- try {
224
- // Note: observation method might not be available in all Langfuse versions
225
- // Using span as alternative
226
- return await this.client.span({
227
- traceId: trace.id,
228
- name: observationData.name,
229
- input: observationData.input,
230
- output: observationData.output,
231
- metadata: observationData.metadata,
232
- });
233
- }
234
- catch (error) {
235
- console.error('Failed to create observation:', error);
236
- throw error;
237
- }
238
- }
239
- // 创建对话轮次事件
240
- async createConversationTurn(trace, turnData) {
241
- if (!this.client) {
242
- throw new Error('Langfuse client not available');
243
- }
244
- try {
245
- const safeTurnData = this.safeMetadata(turnData);
246
- if (process.env.DEBUG === '1') {
247
- console.log('🔍 Creating conversation turn with:', {
248
- turnId: safeTurnData.turnId,
249
- model: safeTurnData.model,
250
- durationMs: safeTurnData.durationMs,
251
- tokenUsage: safeTurnData.tokenUsage,
252
- });
253
- }
254
- return await this.client.span({
255
- traceId: trace.id,
256
- name: `Conversation Turn ${safeTurnData.turnId}`,
257
- input: {
258
- user_input: safeTurnData.userInput,
259
- model: safeTurnData.model,
260
- },
261
- output: {
262
- model_response: safeTurnData.modelResponse,
263
- duration_ms: safeTurnData.durationMs,
264
- },
265
- usage: {
266
- unit: "TOKENS",
267
- input: safeTurnData.tokenUsage.inputTokens || 0,
268
- output: safeTurnData.tokenUsage.outputTokens || 0,
269
- total: safeTurnData.tokenUsage.totalTokens || 0,
270
- },
271
- metadata: {
272
- turn_id: safeTurnData.turnId,
273
- model: safeTurnData.model,
274
- duration_ms: safeTurnData.durationMs,
275
- token_usage: safeTurnData.tokenUsage,
276
- user_id: this.getUserId(),
277
- cost: safeTurnData.cost,
278
- tools_used: safeTurnData.toolsUsed || [],
279
- error: safeTurnData.error,
280
- ...safeTurnData.metadata,
281
- },
282
- });
283
- }
284
- catch (error) {
285
- console.error('Failed to create conversation turn:', error);
286
- throw error;
287
- }
288
- }
289
- // 创建会话结束事件
290
- async createSessionEndEvent(trace, sessionData) {
291
- if (!this.client) {
292
- throw new Error('Langfuse client not available');
293
- }
294
- try {
295
- const safeSessionData = this.safeMetadata(sessionData);
296
- if (process.env.DEBUG === '1') {
297
- console.log('🔍 Creating session end event with:', {
298
- sessionId: safeSessionData.sessionId,
299
- wallTime: safeSessionData.wallTime,
300
- agentActiveTime: safeSessionData.agentActiveTime,
301
- toolCalls: safeSessionData.toolCalls,
302
- models: safeSessionData.models.length,
303
- });
304
- }
305
- return await this.client.span({
306
- traceId: trace.id,
307
- name: 'Session End',
308
- input: {
309
- session_id: safeSessionData.sessionId,
310
- wall_time_ms: safeSessionData.wallTime,
311
- agent_active_time_ms: safeSessionData.agentActiveTime,
312
- },
313
- output: {
314
- performance: {
315
- wall_time: this.formatDuration(safeSessionData.wallTime),
316
- agent_active_time: this.formatDuration(safeSessionData.agentActiveTime),
317
- api_time: this.formatDuration(safeSessionData.apiTime),
318
- tool_time: this.formatDuration(safeSessionData.toolTime),
319
- api_time_percent: safeSessionData.apiTimePercent,
320
- tool_time_percent: safeSessionData.toolTimePercent,
321
- },
322
- tools: {
323
- total_calls: safeSessionData.toolCalls,
324
- success: safeSessionData.toolSuccess,
325
- fail: safeSessionData.toolFail,
326
- success_rate: safeSessionData.successRate,
327
- agreement_rate: safeSessionData.agreementRate,
328
- total_decisions: safeSessionData.totalDecisions,
329
- },
330
- models: safeSessionData.models,
331
- cache: {
332
- efficiency: safeSessionData.cacheEfficiency,
333
- total_cached_tokens: safeSessionData.totalCachedTokens,
334
- total_prompt_tokens: safeSessionData.totalPromptTokens,
335
- },
336
- },
337
- metadata: {
338
- session_id: safeSessionData.sessionId,
339
- wall_time_ms: safeSessionData.wallTime,
340
- agent_active_time_ms: safeSessionData.agentActiveTime,
341
- api_time_ms: safeSessionData.apiTime,
342
- tool_time_ms: safeSessionData.toolTime,
343
- tool_calls: safeSessionData.toolCalls,
344
- tool_success: safeSessionData.toolSuccess,
345
- tool_fail: safeSessionData.toolFail,
346
- success_rate: safeSessionData.successRate,
347
- agreement_rate: safeSessionData.agreementRate,
348
- total_decisions: safeSessionData.totalDecisions,
349
- cache_efficiency: safeSessionData.cacheEfficiency,
350
- total_cached_tokens: safeSessionData.totalCachedTokens,
351
- total_prompt_tokens: safeSessionData.totalPromptTokens,
352
- models_count: safeSessionData.models.length,
353
- user_id: this.getUserId(),
354
- ...safeSessionData.metadata,
355
- },
356
- });
357
- }
358
- catch (error) {
359
- console.error('Failed to create session end event:', error);
360
- throw error;
361
- }
362
- }
363
- // 格式化持续时间
364
- formatDuration(milliseconds) {
365
- const seconds = Math.floor(milliseconds / 1000);
366
- const minutes = Math.floor(seconds / 60);
367
- const hours = Math.floor(minutes / 60);
368
- if (hours > 0) {
369
- return `${hours}h ${minutes % 60}m ${seconds % 60}s`;
370
- }
371
- else if (minutes > 0) {
372
- return `${minutes}m ${seconds % 60}s`;
373
- }
374
- else {
375
- return `${seconds}s`;
376
- }
377
- }
378
- // 创建API调用事件
379
- async createApiCallEvent(trace, apiData) {
380
- if (!this.client) {
381
- throw new Error('Langfuse client not available');
382
- }
383
- try {
384
- const safeApiData = this.safeMetadata(apiData);
385
- if (process.env.DEBUG === '1') {
386
- console.log('🔍 Creating API call event with:', {
387
- callId: safeApiData.callId,
388
- model: safeApiData.model,
389
- durationMs: safeApiData.response.durationMs,
390
- });
391
- }
392
- return await this.client.span({
393
- traceId: trace.id,
394
- name: `API Call: ${safeApiData.model}`,
395
- input: safeApiData.request,
396
- output: safeApiData.response,
397
- usage: {
398
- unit: "TOKENS",
399
- input: safeApiData.response.usage?.promptTokenCount || 0,
400
- output: safeApiData.response.usage?.candidatesTokenCount || 0,
401
- total: safeApiData.response.usage?.totalTokenCount || 0,
402
- },
403
- metadata: {
404
- call_id: safeApiData.callId,
405
- model: safeApiData.model,
406
- duration_ms: safeApiData.response.durationMs,
407
- token_usage: {
408
- input: safeApiData.response.usage?.promptTokenCount || 0,
409
- output: safeApiData.response.usage?.candidatesTokenCount || 0,
410
- total: safeApiData.response.usage?.totalTokenCount || 0,
411
- cached: safeApiData.response.usage?.cachedContentTokenCount || 0,
412
- thoughts: safeApiData.response.usage?.thoughtsTokenCount || 0,
413
- tool: safeApiData.response.usage?.toolUsePromptTokenCount || 0,
414
- },
415
- user_id: this.getUserId(),
416
- error: safeApiData.error,
417
- },
418
- });
419
- }
420
- catch (error) {
421
- console.error('Failed to create API call event:', error);
422
- throw error;
423
- }
424
- }
425
- // 安全字符串处理
426
- safeString(value, defaultValue) {
427
- try {
428
- if (value === null || value === undefined)
429
- return defaultValue;
430
- if (typeof value === 'string')
431
- return value.trim() || defaultValue;
432
- return String(value) || defaultValue;
433
- }
434
- catch (error) {
435
- console.warn('Error processing string value:', error);
436
- return defaultValue;
437
- }
438
- }
439
- // 获取用户ID
440
- getUserId() {
441
- try {
442
- // 首先尝试从 user.json 文件读取用户名
443
- const userJsonPath = join(homedir(), '.gemini', 'user.json');
444
- if (existsSync(userJsonPath)) {
445
- const content = readFileSync(userJsonPath, 'utf-8');
446
- const userData = JSON.parse(content);
447
- if (userData.username) {
448
- return userData.username;
449
- }
450
- }
451
- // 如果 user.json 不存在或没有用户名,尝试从系统获取
452
- const os = require('os');
453
- return os.userInfo().username;
454
- }
455
- catch (error) {
456
- console.warn('Failed to get user ID:', error);
457
- return undefined;
458
- }
459
- }
460
- // 安全元数据处理
461
- safeMetadata(metadata) {
462
- try {
463
- if (!metadata || typeof metadata !== 'object')
464
- return {};
465
- const safeMetadata = {};
466
- for (const [key, value] of Object.entries(metadata)) {
467
- try {
468
- if (value !== null && value !== undefined) {
469
- safeMetadata[key] = value;
470
- }
471
- }
472
- catch (error) {
473
- console.warn(`Error processing metadata key ${key}:`, error);
474
- // 跳过有问题的键
475
- }
476
- }
477
- return safeMetadata;
478
- }
479
- catch (error) {
480
- console.warn('Error processing metadata:', error);
481
- return {};
482
- }
483
- }
484
- }
485
- //# sourceMappingURL=langfuseClient.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"langfuseClient.js","sourceRoot":"","sources":["../../../src/telemetry/langfuseClient.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAE9C,MAAM,OAAO,cAAc;IACjB,MAAM,GAAoB,IAAI,CAAC;IAC/B,aAAa,CAAwB;IAE7C;QACE,IAAI,CAAC,aAAa,GAAG,qBAAqB,CAAC,WAAW,EAAE,CAAC;QACzD,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAEO,gBAAgB;QACtB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC;YAE9C,gDAAgD;YAChD,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,GAAG,EAAE,CAAC;gBAC9B,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE;oBACxC,SAAS,EAAE,CAAC,CAAC,MAAM;oBACnB,OAAO,EAAE,MAAM,EAAE,OAAO;oBACxB,OAAO,EAAE,MAAM,EAAE,OAAO;oBACxB,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,SAAS,IAAI,MAAM,EAAE,SAAS,CAAC;iBACpD,CAAC,CAAC;YACL,CAAC;YAED,IAAI,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC7B,gDAAgD;gBAChD,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,GAAG,EAAE,CAAC;oBAC9B,OAAO,CAAC,GAAG,CAAC,8CAA8C,EAAE;wBAC1D,OAAO,EAAE,MAAM,CAAC,OAAO;wBACvB,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK;wBACpD,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK;wBACpD,WAAW,EAAE,MAAM,CAAC,WAAW;qBAChC,CAAC,CAAC;gBACL,CAAC;gBAGD,4CAA4C;gBAC5C,IAAI,OAAO,UAAU,CAAC,YAAY,KAAK,WAAW,EAAE,CAAC;oBACnD,MAAM,WAAW,GAAG;wBAClB,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI;wBACnB,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC;wBACjB,UAAU,EAAE,GAAG,EAAE,GAAE,CAAC;wBACpB,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;wBACf,MAAM,EAAE,CAAC;wBACT,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI;qBAChB,CAAC;oBACD,UAAkB,CAAC,YAAY,GAAG,WAAW,CAAC;gBACjD,CAAC;gBAGD,IAAI,CAAC,MAAM,GAAG,IAAI,QAAQ,CAAC;oBACzB,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,WAAW,EAAE,QAAQ,EAAE,6CAA6C;iBACrE,CAAC,CAAC;gBAEH,gDAAgD;gBAChD,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,GAAG,EAAE,CAAC;oBAC9B,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;gBAC5D,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,gDAAgD;gBAChD,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,GAAG,EAAE,CAAC;oBAC9B,OAAO,CAAC,GAAG,CAAC,2CAA2C,EAAE;wBACvD,SAAS,EAAE,CAAC,CAAC,MAAM;wBACnB,OAAO,EAAE,MAAM,EAAE,OAAO;qBACzB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,yCAAyC,EAAE,KAAK,CAAC,CAAC;YAChE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACrB,CAAC;IACH,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC;IAC9B,CAAC;IAED,SAAS;IACD,UAAU,GAAY,KAAK,CAAC;IAEpC,SAAS;IACT,aAAa,CAAC,MAAe;QAC3B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;IAC3B,CAAC;IAED,SAAS;IACT,KAAK,CAAC,WAAW,CAAC,SAAiB,EAAE,QAAa;QAChD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnD,CAAC;QAED,IAAI,CAAC;YACH,YAAY;YACZ,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;YACpE,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YAEjD,mBAAmB;YACnB,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,GAAG,EAAE,CAAC;gBAC9B,OAAO,CAAC,GAAG,CAAC,kCAAkC,EAAE;oBAC9C,SAAS,EAAE,aAAa;oBACxB,QAAQ,EAAE,YAAY;oBACtB,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,EAAE,OAAO;iBACjD,CAAC,CAAC;YACL,CAAC;YAED,SAAS;YACT,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YAEhC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;gBACpC,EAAE,EAAE,aAAa;gBACjB,IAAI,EAAE,qBAAqB;gBAC3B,MAAM,EAAE,MAAM;gBACd,QAAQ,EAAE;oBACR,GAAG,YAAY;oBACf,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC;oBAChE,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,QAAQ,CAAC;oBACnE,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,cAAc;oBACrE,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,EAAE,WAAW,EAAE,SAAS,CAAC;iBACrF;aACF,CAAC,CAAC;YAEH,mBAAmB;YACnB,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,GAAG,EAAE,CAAC;gBAC9B,OAAO,CAAC,GAAG,CAAC,wCAAwC,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;YAClE,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,KAAK,CAAC,CAAC;YAC3D,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE;gBAC9B,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC/D,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;gBACvD,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE;aACvC,CAAC,CAAC;YACH,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,WAAW;IACX,KAAK,CAAC,uBAAuB,CAAC,KAAU,EAAE,gBAAqB;QAC7D,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnD,CAAC;QAED,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;gBAC5B,OAAO,EAAE,KAAK,CAAC,EAAE;gBACjB,IAAI,EAAE,mBAAmB;gBACzB,KAAK,EAAE,gBAAgB;gBACvB,QAAQ,EAAE;oBACR,SAAS,EAAE,gBAAgB,CAAC,SAAS;oBACrC,SAAS,EAAE,gBAAgB,CAAC,SAAS;oBACrC,WAAW,EAAE,gBAAgB,CAAC,WAAW;oBACzC,kBAAkB,EAAE,gBAAgB,CAAC,kBAAkB;iBACxD;aACF,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,KAAK,CAAC,CAAC;YAC7D,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,WAAW;IACX,KAAK,CAAC,uBAAuB,CAAC,IAAS,EAAE,MAAW;QAClD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnD,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,MAAM,CAAC;gBAChB,MAAM,EAAE,MAAM;gBACd,KAAK,EAAE,MAAM;aACd,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,KAAK,CAAC,CAAC;YAC7D,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,WAAW;IACX,KAAK,CAAC,wBAAwB,CAAC,KAAU,EAAE,QAAa;QACtD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnD,CAAC;QAED,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;gBAC5B,OAAO,EAAE,KAAK,CAAC,EAAE;gBACjB,IAAI,EAAE,mBAAmB,QAAQ,CAAC,SAAS,EAAE;gBAC7C,KAAK,EAAE,QAAQ;gBACf,QAAQ,EAAE;oBACR,SAAS,EAAE,QAAQ,CAAC,SAAS;oBAC7B,WAAW,EAAE,QAAQ,CAAC,WAAW;oBACjC,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB;iBAC9C;aACF,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE,KAAK,CAAC,CAAC;YAC/D,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,OAAO;IACP,KAAK,CAAC,UAAU,CAAC,KAAU;QACzB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnD,CAAC;QAED,IAAI,CAAC;YACH,MAAM,KAAK,CAAC,MAAM,CAAC;gBACjB,KAAK,EAAE,MAAM;aACd,CAAC,CAAC;YAEH,kBAAkB;YAClB,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,GAAG,EAAE,CAAC;gBAC9B,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;YACjD,CAAC;YACD,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAC1B,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,GAAG,EAAE,CAAC;gBAC9B,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;YACjD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,SAAS;IACT,KAAK,CAAC,iBAAiB,CAAC,KAAU,EAAE,eAAoB;QACtD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnD,CAAC;QAED,IAAI,CAAC;YACH,2EAA2E;YAC3E,4BAA4B;YAC5B,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;gBAC5B,OAAO,EAAE,KAAK,CAAC,EAAE;gBACjB,IAAI,EAAE,eAAe,CAAC,IAAI;gBAC1B,KAAK,EAAE,eAAe,CAAC,KAAK;gBAC5B,MAAM,EAAE,eAAe,CAAC,MAAM;gBAC9B,QAAQ,EAAE,eAAe,CAAC,QAAQ;aACnC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;YACtD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,WAAW;IACX,KAAK,CAAC,sBAAsB,CAAC,KAAU,EAAE,QAsBxC;QACC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnD,CAAC;QAED,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YAEjD,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,GAAG,EAAE,CAAC;gBAC9B,OAAO,CAAC,GAAG,CAAC,qCAAqC,EAAE;oBACjD,MAAM,EAAE,YAAY,CAAC,MAAM;oBAC3B,KAAK,EAAE,YAAY,CAAC,KAAK;oBACzB,UAAU,EAAE,YAAY,CAAC,UAAU;oBACnC,UAAU,EAAE,YAAY,CAAC,UAAU;iBACpC,CAAC,CAAC;YACL,CAAC;YAED,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;gBAC5B,OAAO,EAAE,KAAK,CAAC,EAAE;gBACjB,IAAI,EAAE,qBAAqB,YAAY,CAAC,MAAM,EAAE;gBAChD,KAAK,EAAE;oBACL,UAAU,EAAE,YAAY,CAAC,SAAS;oBAClC,KAAK,EAAE,YAAY,CAAC,KAAK;iBAC1B;gBACD,MAAM,EAAE;oBACN,cAAc,EAAE,YAAY,CAAC,aAAa;oBAC1C,WAAW,EAAE,YAAY,CAAC,UAAU;iBACrC;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,YAAY,CAAC,UAAU,CAAC,WAAW,IAAI,CAAC;oBAC/C,MAAM,EAAE,YAAY,CAAC,UAAU,CAAC,YAAY,IAAI,CAAC;oBACjD,KAAK,EAAE,YAAY,CAAC,UAAU,CAAC,WAAW,IAAI,CAAC;iBAChD;gBACD,QAAQ,EAAE;oBACR,OAAO,EAAE,YAAY,CAAC,MAAM;oBAC5B,KAAK,EAAE,YAAY,CAAC,KAAK;oBACzB,WAAW,EAAE,YAAY,CAAC,UAAU;oBACpC,WAAW,EAAE,YAAY,CAAC,UAAU;oBACpC,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE;oBACzB,IAAI,EAAE,YAAY,CAAC,IAAI;oBACvB,UAAU,EAAE,YAAY,CAAC,SAAS,IAAI,EAAE;oBACxC,KAAK,EAAE,YAAY,CAAC,KAAK;oBACzB,GAAG,YAAY,CAAC,QAAQ;iBACzB;aACK,CAAC,CAAC;QACZ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,KAAK,CAAC,CAAC;YAC5D,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,WAAW;IACX,KAAK,CAAC,qBAAqB,CAAC,KAAU,EAAE,WA8BvC;QACC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnD,CAAC;QAED,IAAI,CAAC;YACH,MAAM,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;YAEvD,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,GAAG,EAAE,CAAC;gBAC9B,OAAO,CAAC,GAAG,CAAC,qCAAqC,EAAE;oBACjD,SAAS,EAAE,eAAe,CAAC,SAAS;oBACpC,QAAQ,EAAE,eAAe,CAAC,QAAQ;oBAClC,eAAe,EAAE,eAAe,CAAC,eAAe;oBAChD,SAAS,EAAE,eAAe,CAAC,SAAS;oBACpC,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC,MAAM;iBACtC,CAAC,CAAC;YACL,CAAC;YAED,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;gBAC5B,OAAO,EAAE,KAAK,CAAC,EAAE;gBACjB,IAAI,EAAE,aAAa;gBACnB,KAAK,EAAE;oBACL,UAAU,EAAE,eAAe,CAAC,SAAS;oBACrC,YAAY,EAAE,eAAe,CAAC,QAAQ;oBACtC,oBAAoB,EAAE,eAAe,CAAC,eAAe;iBACtD;gBACD,MAAM,EAAE;oBACN,WAAW,EAAE;wBACX,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,QAAQ,CAAC;wBACxD,iBAAiB,EAAE,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,eAAe,CAAC;wBACvE,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,OAAO,CAAC;wBACtD,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,QAAQ,CAAC;wBACxD,gBAAgB,EAAE,eAAe,CAAC,cAAc;wBAChD,iBAAiB,EAAE,eAAe,CAAC,eAAe;qBACnD;oBACD,KAAK,EAAE;wBACL,WAAW,EAAE,eAAe,CAAC,SAAS;wBACtC,OAAO,EAAE,eAAe,CAAC,WAAW;wBACpC,IAAI,EAAE,eAAe,CAAC,QAAQ;wBAC9B,YAAY,EAAE,eAAe,CAAC,WAAW;wBACzC,cAAc,EAAE,eAAe,CAAC,aAAa;wBAC7C,eAAe,EAAE,eAAe,CAAC,cAAc;qBAChD;oBACD,MAAM,EAAE,eAAe,CAAC,MAAM;oBAC9B,KAAK,EAAE;wBACL,UAAU,EAAE,eAAe,CAAC,eAAe;wBAC3C,mBAAmB,EAAE,eAAe,CAAC,iBAAiB;wBACtD,mBAAmB,EAAE,eAAe,CAAC,iBAAiB;qBACvD;iBACF;gBACD,QAAQ,EAAE;oBACR,UAAU,EAAE,eAAe,CAAC,SAAS;oBACrC,YAAY,EAAE,eAAe,CAAC,QAAQ;oBACtC,oBAAoB,EAAE,eAAe,CAAC,eAAe;oBACrD,WAAW,EAAE,eAAe,CAAC,OAAO;oBACpC,YAAY,EAAE,eAAe,CAAC,QAAQ;oBACtC,UAAU,EAAE,eAAe,CAAC,SAAS;oBACrC,YAAY,EAAE,eAAe,CAAC,WAAW;oBACzC,SAAS,EAAE,eAAe,CAAC,QAAQ;oBACnC,YAAY,EAAE,eAAe,CAAC,WAAW;oBACzC,cAAc,EAAE,eAAe,CAAC,aAAa;oBAC7C,eAAe,EAAE,eAAe,CAAC,cAAc;oBAC/C,gBAAgB,EAAE,eAAe,CAAC,eAAe;oBACjD,mBAAmB,EAAE,eAAe,CAAC,iBAAiB;oBACtD,mBAAmB,EAAE,eAAe,CAAC,iBAAiB;oBACtD,YAAY,EAAE,eAAe,CAAC,MAAM,CAAC,MAAM;oBAC3C,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE;oBACzB,GAAG,eAAe,CAAC,QAAQ;iBAC5B;aACF,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,KAAK,CAAC,CAAC;YAC5D,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,UAAU;IACF,cAAc,CAAC,YAAoB;QACzC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;QAChD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;QACzC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;QAEvC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACd,OAAO,GAAG,KAAK,KAAK,OAAO,GAAG,EAAE,KAAK,OAAO,GAAG,EAAE,GAAG,CAAC;QACvD,CAAC;aAAM,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,GAAG,OAAO,KAAK,OAAO,GAAG,EAAE,GAAG,CAAC;QACxC,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,OAAO,GAAG,CAAC;QACvB,CAAC;IACH,CAAC;IAED,YAAY;IACZ,KAAK,CAAC,kBAAkB,CAAC,KAAU,EAAE,OAiBpC;QACC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnD,CAAC;QAED,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YAE/C,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,GAAG,EAAE,CAAC;gBAC9B,OAAO,CAAC,GAAG,CAAC,kCAAkC,EAAE;oBAC9C,MAAM,EAAE,WAAW,CAAC,MAAM;oBAC1B,KAAK,EAAE,WAAW,CAAC,KAAK;oBACxB,UAAU,EAAE,WAAW,CAAC,QAAQ,CAAC,UAAU;iBAC5C,CAAC,CAAC;YACL,CAAC;YAED,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;gBAC5B,OAAO,EAAE,KAAK,CAAC,EAAE;gBACjB,IAAI,EAAE,aAAa,WAAW,CAAC,KAAK,EAAE;gBACtC,KAAK,EAAE,WAAW,CAAC,OAAO;gBAC1B,MAAM,EAAE,WAAW,CAAC,QAAQ;gBAC5B,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,WAAW,CAAC,QAAQ,CAAC,KAAK,EAAE,gBAAgB,IAAI,CAAC;oBACxD,MAAM,EAAE,WAAW,CAAC,QAAQ,CAAC,KAAK,EAAE,oBAAoB,IAAI,CAAC;oBAC7D,KAAK,EAAE,WAAW,CAAC,QAAQ,CAAC,KAAK,EAAE,eAAe,IAAI,CAAC;iBACxD;gBACD,QAAQ,EAAE;oBACR,OAAO,EAAE,WAAW,CAAC,MAAM;oBAC3B,KAAK,EAAE,WAAW,CAAC,KAAK;oBACxB,WAAW,EAAE,WAAW,CAAC,QAAQ,CAAC,UAAU;oBAC5C,WAAW,EAAE;wBACX,KAAK,EAAE,WAAW,CAAC,QAAQ,CAAC,KAAK,EAAE,gBAAgB,IAAI,CAAC;wBACxD,MAAM,EAAE,WAAW,CAAC,QAAQ,CAAC,KAAK,EAAE,oBAAoB,IAAI,CAAC;wBAC7D,KAAK,EAAE,WAAW,CAAC,QAAQ,CAAC,KAAK,EAAE,eAAe,IAAI,CAAC;wBACvD,MAAM,EAAE,WAAW,CAAC,QAAQ,CAAC,KAAK,EAAE,uBAAuB,IAAI,CAAC;wBAChE,QAAQ,EAAE,WAAW,CAAC,QAAQ,CAAC,KAAK,EAAE,kBAAkB,IAAI,CAAC;wBAC7D,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAC,KAAK,EAAE,uBAAuB,IAAI,CAAC;qBAC/D;oBACD,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE;oBACzB,KAAK,EAAE,WAAW,CAAC,KAAK;iBACzB;aACK,CAAC,CAAC;QACZ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;YACzD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,UAAU;IACF,UAAU,CAAC,KAAU,EAAE,YAAoB;QACjD,IAAI,CAAC;YACH,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;gBAAE,OAAO,YAAY,CAAC;YAC/D,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAAE,OAAO,KAAK,CAAC,IAAI,EAAE,IAAI,YAAY,CAAC;YACnE,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,YAAY,CAAC;QACvC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;YACtD,OAAO,YAAY,CAAC;QACtB,CAAC;IACH,CAAC;IAED,SAAS;IACD,SAAS;QACf,IAAI,CAAC;YACH,0BAA0B;YAC1B,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;YAC7D,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC7B,MAAM,OAAO,GAAG,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;gBACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBACrC,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;oBACtB,OAAO,QAAQ,CAAC,QAAQ,CAAC;gBAC3B,CAAC;YACH,CAAC;YAED,iCAAiC;YACjC,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;YACzB,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC;QAChC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;YAC9C,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED,UAAU;IACF,YAAY,CAAC,QAAa;QAChC,IAAI,CAAC;YACH,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ;gBAAE,OAAO,EAAE,CAAC;YAEzD,MAAM,YAAY,GAAQ,EAAE,CAAC;YAC7B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACpD,IAAI,CAAC;oBACH,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;wBAC1C,YAAY,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;oBAC5B,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,IAAI,CAAC,iCAAiC,GAAG,GAAG,EAAE,KAAK,CAAC,CAAC;oBAC7D,UAAU;gBACZ,CAAC;YACH,CAAC;YACD,OAAO,YAAY,CAAC;QACtB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;YAClD,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;CACF"}
@@ -1,21 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- export interface LangfuseConfig {
7
- secretKey: string;
8
- publicKey: string;
9
- baseUrl: string;
10
- enabled: boolean;
11
- environment: string;
12
- }
13
- export declare class LangfuseConfigManager {
14
- private static instance;
15
- private config;
16
- private constructor();
17
- static getInstance(): LangfuseConfigManager;
18
- loadConfig(): LangfuseConfig | null;
19
- isEnabled(): boolean;
20
- getConfig(): LangfuseConfig | null;
21
- }
@@ -1,64 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { readFileSync, existsSync } from 'fs';
7
- import { join } from 'path';
8
- import { homedir } from 'os';
9
- export class LangfuseConfigManager {
10
- static instance;
11
- config = null;
12
- constructor() { }
13
- static getInstance() {
14
- if (!LangfuseConfigManager.instance) {
15
- LangfuseConfigManager.instance = new LangfuseConfigManager();
16
- }
17
- return LangfuseConfigManager.instance;
18
- }
19
- loadConfig() {
20
- if (this.config) {
21
- return this.config;
22
- }
23
- try {
24
- // 首先尝试从用户主目录的 .gemini 文件夹读取
25
- const userConfigPath = join(homedir(), '.gemini', 'settings.conf');
26
- if (existsSync(userConfigPath)) {
27
- const configContent = readFileSync(userConfigPath, 'utf-8');
28
- this.config = JSON.parse(configContent);
29
- return this.config;
30
- }
31
- // 然后尝试从项目根目录读取(向后兼容)
32
- const projectConfigPath = join(process.cwd(), '.langfuse', 'settings.conf');
33
- if (existsSync(projectConfigPath)) {
34
- const configContent = readFileSync(projectConfigPath, 'utf-8');
35
- this.config = JSON.parse(configContent);
36
- return this.config;
37
- }
38
- // 最后尝试从环境变量读取
39
- if (process.env.LANGFUSE_SECRET_KEY && process.env.LANGFUSE_PUBLIC_KEY) {
40
- this.config = {
41
- secretKey: process.env.LANGFUSE_SECRET_KEY,
42
- publicKey: process.env.LANGFUSE_PUBLIC_KEY,
43
- baseUrl: process.env.LANGFUSE_BASE_URL || 'https://cloud.langfuse.com',
44
- enabled: process.env.LANGFUSE_ENABLED !== 'false',
45
- environment: process.env.LANGFUSE_ENVIRONMENT || 'production',
46
- };
47
- return this.config;
48
- }
49
- return null;
50
- }
51
- catch (error) {
52
- console.error('Failed to load Langfuse config:', error);
53
- return null;
54
- }
55
- }
56
- isEnabled() {
57
- const config = this.loadConfig();
58
- return config?.enabled === true;
59
- }
60
- getConfig() {
61
- return this.loadConfig();
62
- }
63
- }
64
- //# sourceMappingURL=langfuseConfig.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"langfuseConfig.js","sourceRoot":"","sources":["../../../src/telemetry/langfuseConfig.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAU7B,MAAM,OAAO,qBAAqB;IACxB,MAAM,CAAC,QAAQ,CAAwB;IACvC,MAAM,GAA0B,IAAI,CAAC;IAE7C,gBAAuB,CAAC;IAExB,MAAM,CAAC,WAAW;QAChB,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,CAAC;YACpC,qBAAqB,CAAC,QAAQ,GAAG,IAAI,qBAAqB,EAAE,CAAC;QAC/D,CAAC;QACD,OAAO,qBAAqB,CAAC,QAAQ,CAAC;IACxC,CAAC;IAED,UAAU;QACR,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC,MAAM,CAAC;QACrB,CAAC;QAED,IAAI,CAAC;YACH,4BAA4B;YAC5B,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;YACnE,IAAI,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;gBAC/B,MAAM,aAAa,GAAG,YAAY,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;gBAC5D,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;gBACxC,OAAO,IAAI,CAAC,MAAM,CAAC;YACrB,CAAC;YAED,qBAAqB;YACrB,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC;YAC5E,IAAI,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBAClC,MAAM,aAAa,GAAG,YAAY,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;gBAC/D,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;gBACxC,OAAO,IAAI,CAAC,MAAM,CAAC;YACrB,CAAC;YAED,cAAc;YACd,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC;gBACvE,IAAI,CAAC,MAAM,GAAG;oBACZ,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB;oBAC1C,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB;oBAC1C,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,4BAA4B;oBACtE,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,OAAO;oBACjD,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,YAAY;iBAC9D,CAAC;gBACF,OAAO,IAAI,CAAC,MAAM,CAAC;YACrB,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;YACxD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,SAAS;QACP,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QACjC,OAAO,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IAClC,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;IAC3B,CAAC;CACF"}
@@ -1,66 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { GenerateContentResponseUsageMetadata } from '@google/genai';
7
- import { Config } from '@google/gemini-cli-core';
8
- export interface ConversationTurnData {
9
- turnId: string;
10
- userInput: string;
11
- modelResponse: string;
12
- model: string;
13
- durationMs: number;
14
- tokenUsage: {
15
- inputTokens: number;
16
- outputTokens: number;
17
- totalTokens: number;
18
- cachedTokens: number;
19
- thoughtsTokens: number;
20
- toolTokens: number;
21
- };
22
- cost?: {
23
- inputCost: number;
24
- outputCost: number;
25
- totalCost: number;
26
- };
27
- toolsUsed?: string[];
28
- error?: string;
29
- metadata?: any;
30
- }
31
- export declare class LangfuseIntegration {
32
- private config;
33
- private langfuseClient;
34
- private currentTrace;
35
- private turnCounter;
36
- private sessionId;
37
- constructor(config: Config);
38
- /**
39
- * 初始化Langfuse trace
40
- */
41
- initializeTrace(): Promise<void>;
42
- /**
43
- * 记录会话结束统计
44
- */
45
- logSessionEnd(sessionStats: any): Promise<void>;
46
- /**
47
- * 记录对话轮次
48
- */
49
- logConversationTurn(userInput: string, modelResponse: string, durationMs: number, usageMetadata?: GenerateContentResponseUsageMetadata, toolsUsed?: string[], error?: string): Promise<void>;
50
- /**
51
- * 记录API调用
52
- */
53
- logApiCall(callId: string, request: any, response: any, durationMs: number, error?: any): Promise<void>;
54
- /**
55
- * 关闭trace
56
- */
57
- closeTrace(): Promise<void>;
58
- /**
59
- * 检查是否可用
60
- */
61
- isAvailable(): boolean;
62
- /**
63
- * 获取当前会话ID
64
- */
65
- getSessionId(): string;
66
- }