@codemieai/code 0.0.2 → 0.0.3

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 (243) hide show
  1. package/CLAUDE.md +130 -760
  2. package/README.md +283 -695
  3. package/bin/codemie-claude.js +122 -0
  4. package/bin/codemie-code.js +90 -15
  5. package/bin/codemie-codex.js +138 -0
  6. package/bin/codemie.js +1 -1
  7. package/config.example.json +10 -0
  8. package/dist/agents/adapters/claude-code.d.ts +2 -2
  9. package/dist/agents/adapters/claude-code.d.ts.map +1 -1
  10. package/dist/agents/adapters/claude-code.js +20 -42
  11. package/dist/agents/adapters/claude-code.js.map +1 -1
  12. package/dist/agents/adapters/codemie-code.d.ts +11 -2
  13. package/dist/agents/adapters/codemie-code.d.ts.map +1 -1
  14. package/dist/agents/adapters/codemie-code.js +93 -25
  15. package/dist/agents/adapters/codemie-code.js.map +1 -1
  16. package/dist/agents/adapters/codex.d.ts +2 -2
  17. package/dist/agents/adapters/codex.d.ts.map +1 -1
  18. package/dist/agents/adapters/codex.js +31 -24
  19. package/dist/agents/adapters/codex.js.map +1 -1
  20. package/dist/agents/codemie-code/agent.d.ts +89 -0
  21. package/dist/agents/codemie-code/agent.d.ts.map +1 -0
  22. package/dist/agents/codemie-code/agent.js +523 -0
  23. package/dist/agents/codemie-code/agent.js.map +1 -0
  24. package/dist/agents/codemie-code/config.d.ts +40 -0
  25. package/dist/agents/codemie-code/config.d.ts.map +1 -0
  26. package/dist/agents/codemie-code/config.js +276 -0
  27. package/dist/agents/codemie-code/config.js.map +1 -0
  28. package/dist/agents/codemie-code/filters.d.ts +91 -0
  29. package/dist/agents/codemie-code/filters.d.ts.map +1 -0
  30. package/dist/agents/codemie-code/filters.js +328 -0
  31. package/dist/agents/codemie-code/filters.js.map +1 -0
  32. package/dist/agents/codemie-code/index.d.ts +78 -0
  33. package/dist/agents/codemie-code/index.d.ts.map +1 -0
  34. package/dist/agents/codemie-code/index.js +259 -0
  35. package/dist/agents/codemie-code/index.js.map +1 -0
  36. package/dist/agents/codemie-code/prompts.d.ts +11 -0
  37. package/dist/agents/codemie-code/prompts.d.ts.map +1 -0
  38. package/dist/agents/codemie-code/prompts.js +31 -0
  39. package/dist/agents/codemie-code/prompts.js.map +1 -0
  40. package/dist/agents/codemie-code/streaming/events.d.ts +7 -0
  41. package/dist/agents/codemie-code/streaming/events.d.ts.map +1 -0
  42. package/dist/agents/codemie-code/streaming/events.js +7 -0
  43. package/dist/agents/codemie-code/streaming/events.js.map +1 -0
  44. package/dist/agents/codemie-code/streaming/formatter.d.ts +2 -0
  45. package/dist/agents/codemie-code/streaming/formatter.d.ts.map +1 -0
  46. package/dist/agents/codemie-code/streaming/formatter.js +2 -0
  47. package/dist/agents/codemie-code/streaming/formatter.js.map +1 -0
  48. package/dist/agents/codemie-code/streaming/ui.d.ts +2 -0
  49. package/dist/agents/codemie-code/streaming/ui.d.ts.map +1 -0
  50. package/dist/agents/codemie-code/streaming/ui.js +2 -0
  51. package/dist/agents/codemie-code/streaming/ui.js.map +1 -0
  52. package/dist/agents/codemie-code/tokenUtils.d.ts +108 -0
  53. package/dist/agents/codemie-code/tokenUtils.d.ts.map +1 -0
  54. package/dist/agents/codemie-code/tokenUtils.js +220 -0
  55. package/dist/agents/codemie-code/tokenUtils.js.map +1 -0
  56. package/dist/agents/codemie-code/toolMetadata.d.ts +15 -0
  57. package/dist/agents/codemie-code/toolMetadata.d.ts.map +1 -0
  58. package/dist/agents/codemie-code/toolMetadata.js +315 -0
  59. package/dist/agents/codemie-code/toolMetadata.js.map +1 -0
  60. package/dist/agents/codemie-code/tools/command.d.ts +2 -0
  61. package/dist/agents/codemie-code/tools/command.d.ts.map +1 -0
  62. package/dist/agents/codemie-code/tools/command.js +2 -0
  63. package/dist/agents/codemie-code/tools/command.js.map +1 -0
  64. package/dist/agents/codemie-code/tools/filesystem.d.ts +2 -0
  65. package/dist/agents/codemie-code/tools/filesystem.d.ts.map +1 -0
  66. package/dist/agents/codemie-code/tools/filesystem.js +2 -0
  67. package/dist/agents/codemie-code/tools/filesystem.js.map +1 -0
  68. package/dist/agents/codemie-code/tools/git.d.ts +2 -0
  69. package/dist/agents/codemie-code/tools/git.d.ts.map +1 -0
  70. package/dist/agents/codemie-code/tools/git.js +2 -0
  71. package/dist/agents/codemie-code/tools/git.js.map +1 -0
  72. package/dist/agents/codemie-code/tools/index.d.ts +19 -0
  73. package/dist/agents/codemie-code/tools/index.d.ts.map +1 -0
  74. package/dist/agents/codemie-code/tools/index.js +239 -0
  75. package/dist/agents/codemie-code/tools/index.js.map +1 -0
  76. package/dist/agents/codemie-code/tools/security.d.ts +2 -0
  77. package/dist/agents/codemie-code/tools/security.d.ts.map +1 -0
  78. package/dist/agents/codemie-code/tools/security.js +2 -0
  79. package/dist/agents/codemie-code/tools/security.js.map +1 -0
  80. package/dist/agents/codemie-code/types.d.ts +254 -0
  81. package/dist/agents/codemie-code/types.d.ts.map +1 -0
  82. package/dist/agents/codemie-code/types.js +35 -0
  83. package/dist/agents/codemie-code/types.js.map +1 -0
  84. package/dist/agents/codemie-code/ui.d.ts +83 -0
  85. package/dist/agents/codemie-code/ui.d.ts.map +1 -0
  86. package/dist/agents/codemie-code/ui.js +624 -0
  87. package/dist/agents/codemie-code/ui.js.map +1 -0
  88. package/dist/agents/registry.d.ts +1 -1
  89. package/dist/agents/registry.d.ts.map +1 -1
  90. package/dist/agents/registry.js +7 -13
  91. package/dist/agents/registry.js.map +1 -1
  92. package/dist/cli/commands/config.d.ts +3 -0
  93. package/dist/cli/commands/config.d.ts.map +1 -0
  94. package/dist/cli/commands/config.js +323 -0
  95. package/dist/cli/commands/config.js.map +1 -0
  96. package/dist/cli/commands/doctor.d.ts.map +1 -1
  97. package/dist/cli/commands/doctor.js +113 -69
  98. package/dist/cli/commands/doctor.js.map +1 -1
  99. package/dist/cli/commands/env.d.ts +3 -0
  100. package/dist/cli/commands/env.d.ts.map +1 -0
  101. package/dist/cli/commands/env.js +19 -0
  102. package/dist/cli/commands/env.js.map +1 -0
  103. package/dist/cli/commands/install.js +27 -33
  104. package/dist/cli/commands/install.js.map +1 -1
  105. package/dist/cli/commands/list.js +18 -24
  106. package/dist/cli/commands/list.js.map +1 -1
  107. package/dist/cli/commands/run.d.ts.map +1 -1
  108. package/dist/cli/commands/run.js +291 -31
  109. package/dist/cli/commands/run.js.map +1 -1
  110. package/dist/cli/commands/setup.d.ts +3 -0
  111. package/dist/cli/commands/setup.d.ts.map +1 -0
  112. package/dist/cli/commands/setup.js +357 -0
  113. package/dist/cli/commands/setup.js.map +1 -0
  114. package/dist/cli/commands/uninstall.js +24 -30
  115. package/dist/cli/commands/uninstall.js.map +1 -1
  116. package/dist/cli/commands/version.d.ts.map +1 -1
  117. package/dist/cli/commands/version.js +11 -16
  118. package/dist/cli/commands/version.js.map +1 -1
  119. package/dist/cli/index.js +47 -31
  120. package/dist/cli/index.js.map +1 -1
  121. package/dist/env/manager.js +9 -46
  122. package/dist/env/manager.js.map +1 -1
  123. package/dist/index.d.ts +6 -13
  124. package/dist/index.d.ts.map +1 -1
  125. package/dist/index.js +6 -43
  126. package/dist/index.js.map +1 -1
  127. package/dist/utils/async-tips.d.ts.map +1 -1
  128. package/dist/utils/async-tips.js +16 -55
  129. package/dist/utils/async-tips.js.map +1 -1
  130. package/dist/utils/clipboard.d.ts +16 -0
  131. package/dist/utils/clipboard.d.ts.map +1 -0
  132. package/dist/utils/clipboard.js +179 -0
  133. package/dist/utils/clipboard.js.map +1 -0
  134. package/dist/utils/config-loader.d.ts +96 -0
  135. package/dist/utils/config-loader.d.ts.map +1 -0
  136. package/dist/utils/config-loader.js +351 -0
  137. package/dist/utils/config-loader.js.map +1 -0
  138. package/dist/utils/dirname.d.ts +7 -0
  139. package/dist/utils/dirname.d.ts.map +1 -0
  140. package/dist/utils/dirname.js +11 -0
  141. package/dist/utils/dirname.js.map +1 -0
  142. package/dist/utils/errors.js +7 -17
  143. package/dist/utils/errors.js.map +1 -1
  144. package/dist/utils/exec.js +3 -6
  145. package/dist/utils/exec.js.map +1 -1
  146. package/dist/utils/first-time.d.ts +34 -0
  147. package/dist/utils/first-time.d.ts.map +1 -0
  148. package/dist/utils/first-time.js +245 -0
  149. package/dist/utils/first-time.js.map +1 -0
  150. package/dist/utils/health-checker.d.ts +20 -0
  151. package/dist/utils/health-checker.d.ts.map +1 -0
  152. package/dist/utils/health-checker.js +168 -0
  153. package/dist/utils/health-checker.js.map +1 -0
  154. package/dist/utils/logger.js +12 -18
  155. package/dist/utils/logger.js.map +1 -1
  156. package/dist/utils/model-fetcher.d.ts +21 -0
  157. package/dist/utils/model-fetcher.d.ts.map +1 -0
  158. package/dist/utils/model-fetcher.js +137 -0
  159. package/dist/utils/model-fetcher.js.map +1 -0
  160. package/dist/utils/tips.d.ts.map +1 -1
  161. package/dist/utils/tips.js +13 -52
  162. package/dist/utils/tips.js.map +1 -1
  163. package/package.json +17 -23
  164. package/scripts/README.md +80 -0
  165. package/scripts/release.sh +156 -0
  166. package/dist/agents/adapters/aider.d.ts +0 -12
  167. package/dist/agents/adapters/aider.d.ts.map +0 -1
  168. package/dist/agents/adapters/aider.js +0 -80
  169. package/dist/agents/adapters/aider.js.map +0 -1
  170. package/dist/cli/cli.d.ts +0 -4
  171. package/dist/cli/cli.d.ts.map +0 -1
  172. package/dist/cli/cli.js +0 -107
  173. package/dist/cli/cli.js.map +0 -1
  174. package/dist/cli/commands/mcp.d.ts +0 -3
  175. package/dist/cli/commands/mcp.d.ts.map +0 -1
  176. package/dist/cli/commands/mcp.js +0 -459
  177. package/dist/cli/commands/mcp.js.map +0 -1
  178. package/dist/code/agent-events.d.ts +0 -39
  179. package/dist/code/agent-events.d.ts.map +0 -1
  180. package/dist/code/agent-events.js +0 -4
  181. package/dist/code/agent-events.js.map +0 -1
  182. package/dist/code/agent.d.ts +0 -19
  183. package/dist/code/agent.d.ts.map +0 -1
  184. package/dist/code/agent.js +0 -144
  185. package/dist/code/agent.js.map +0 -1
  186. package/dist/code/config.d.ts +0 -13
  187. package/dist/code/config.d.ts.map +0 -1
  188. package/dist/code/config.js +0 -41
  189. package/dist/code/config.js.map +0 -1
  190. package/dist/code/index.d.ts +0 -19
  191. package/dist/code/index.d.ts.map +0 -1
  192. package/dist/code/index.js +0 -400
  193. package/dist/code/index.js.map +0 -1
  194. package/dist/code/prompts.d.ts +0 -2
  195. package/dist/code/prompts.d.ts.map +0 -1
  196. package/dist/code/prompts.js +0 -45
  197. package/dist/code/prompts.js.map +0 -1
  198. package/dist/code/tools/command.d.ts +0 -8
  199. package/dist/code/tools/command.d.ts.map +0 -1
  200. package/dist/code/tools/command.js +0 -83
  201. package/dist/code/tools/command.js.map +0 -1
  202. package/dist/code/tools/diff-utils.d.ts +0 -2
  203. package/dist/code/tools/diff-utils.d.ts.map +0 -1
  204. package/dist/code/tools/diff-utils.js +0 -45
  205. package/dist/code/tools/diff-utils.js.map +0 -1
  206. package/dist/code/tools/filesystem.d.ts +0 -11
  207. package/dist/code/tools/filesystem.d.ts.map +0 -1
  208. package/dist/code/tools/filesystem.js +0 -442
  209. package/dist/code/tools/filesystem.js.map +0 -1
  210. package/dist/code/tools/git.d.ts +0 -7
  211. package/dist/code/tools/git.d.ts.map +0 -1
  212. package/dist/code/tools/git.js +0 -111
  213. package/dist/code/tools/git.js.map +0 -1
  214. package/dist/code/tools/mcp.d.ts +0 -13
  215. package/dist/code/tools/mcp.d.ts.map +0 -1
  216. package/dist/code/tools/mcp.js +0 -230
  217. package/dist/code/tools/mcp.js.map +0 -1
  218. package/dist/data/tips.json +0 -118
  219. package/dist/ui/terminal-ui.d.ts +0 -73
  220. package/dist/ui/terminal-ui.d.ts.map +0 -1
  221. package/dist/ui/terminal-ui.js +0 -900
  222. package/dist/ui/terminal-ui.js.map +0 -1
  223. package/dist/utils/env-mapper.d.ts +0 -40
  224. package/dist/utils/env-mapper.d.ts.map +0 -1
  225. package/dist/utils/env-mapper.js +0 -122
  226. package/dist/utils/env-mapper.js.map +0 -1
  227. package/docs/USER_GUIDE.md +0 -573
  228. package/tests/agent-direct.test.mjs +0 -45
  229. package/tests/agent-output.test.mjs +0 -64
  230. package/tests/codemie-code.test.mjs +0 -42
  231. package/tests/context7-only.test.mjs +0 -42
  232. package/tests/conversation-flow.test.mjs +0 -63
  233. package/tests/interactive-simulation.test.mjs +0 -60
  234. package/tests/live-output.test.mjs +0 -53
  235. package/tests/mcp-context7.test.mjs +0 -105
  236. package/tests/mcp-e2e.test.mjs +0 -109
  237. package/tests/mcp-time-server.test.mjs +0 -58
  238. package/tests/streaming.test.mjs +0 -57
  239. package/tests/test-helpers.mjs +0 -94
  240. package/tests/text-wrapping.test.mjs +0 -33
  241. package/tests/tool-count.test.mjs +0 -81
  242. package/tests/ui-format.test.mjs +0 -39
  243. package/tests/ui-state.test.mjs +0 -72
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/agents/codemie-code/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * System Prompts for CodeMie Native Agent
3
+ *
4
+ * Contains the system prompt and instructions for the LangGraph ReAct agent
5
+ */
6
+ export declare const SYSTEM_PROMPT = "You are CodeMie, an advanced AI coding assistant designed to help developers with various programming tasks.\n\nCAPABILITIES:\n- Read, write, and modify files in the project directory\n- Execute shell commands for building, testing, and development tasks\n- Perform Git operations (status, diff, add, commit, log)\n- Analyze code structure and provide recommendations\n- Help with debugging, refactoring, and code optimization\n\nGUIDELINES:\n- Always explain what you're doing before taking actions\n- Ask for confirmation before making significant changes\n- Provide clear, concise explanations of your reasoning\n- Follow best practices for the programming language being used\n- Be security-conscious when executing commands or modifying files\n\nCURRENT WORKING DIRECTORY: {workingDirectory}\n\nYou have access to the following tools:";
7
+ /**
8
+ * Get the system prompt with working directory substitution
9
+ */
10
+ export declare function getSystemPrompt(workingDirectory: string): string;
11
+ //# sourceMappingURL=prompts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../../src/agents/codemie-code/prompts.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,eAAO,MAAM,aAAa,40BAkBc,CAAC;AAEzC;;GAEG;AACH,wBAAgB,eAAe,CAAC,gBAAgB,EAAE,MAAM,GAAG,MAAM,CAEhE"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * System Prompts for CodeMie Native Agent
3
+ *
4
+ * Contains the system prompt and instructions for the LangGraph ReAct agent
5
+ */
6
+ export const SYSTEM_PROMPT = `You are CodeMie, an advanced AI coding assistant designed to help developers with various programming tasks.
7
+
8
+ CAPABILITIES:
9
+ - Read, write, and modify files in the project directory
10
+ - Execute shell commands for building, testing, and development tasks
11
+ - Perform Git operations (status, diff, add, commit, log)
12
+ - Analyze code structure and provide recommendations
13
+ - Help with debugging, refactoring, and code optimization
14
+
15
+ GUIDELINES:
16
+ - Always explain what you're doing before taking actions
17
+ - Ask for confirmation before making significant changes
18
+ - Provide clear, concise explanations of your reasoning
19
+ - Follow best practices for the programming language being used
20
+ - Be security-conscious when executing commands or modifying files
21
+
22
+ CURRENT WORKING DIRECTORY: {workingDirectory}
23
+
24
+ You have access to the following tools:`;
25
+ /**
26
+ * Get the system prompt with working directory substitution
27
+ */
28
+ export function getSystemPrompt(workingDirectory) {
29
+ return SYSTEM_PROMPT.replace('{workingDirectory}', workingDirectory);
30
+ }
31
+ //# sourceMappingURL=prompts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../../src/agents/codemie-code/prompts.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,CAAC,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;wCAkBW,CAAC;AAEzC;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,gBAAwB;IACtD,OAAO,aAAa,CAAC,OAAO,CAAC,oBAAoB,EAAE,gBAAgB,CAAC,CAAC;AACvE,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Event definitions for CodeMie Agent streaming
3
+ *
4
+ * Re-exports event types and utilities for agent streaming
5
+ */
6
+ export type { AgentEvent, EventCallback } from '../types.js';
7
+ //# sourceMappingURL=events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../../src/agents/codemie-code/streaming/events.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Event definitions for CodeMie Agent streaming
3
+ *
4
+ * Re-exports event types and utilities for agent streaming
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../../../src/agents/codemie-code/streaming/events.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=formatter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatter.d.ts","sourceRoot":"","sources":["../../../../src/agents/codemie-code/streaming/formatter.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=formatter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatter.js","sourceRoot":"","sources":["../../../../src/agents/codemie-code/streaming/formatter.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ui.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../../../src/agents/codemie-code/streaming/ui.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ui.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui.js","sourceRoot":"","sources":["../../../../src/agents/codemie-code/streaming/ui.ts"],"names":[],"mappings":""}
@@ -0,0 +1,108 @@
1
+ /**
2
+ * Token Usage and Cost Calculation Utilities
3
+ *
4
+ * Provides utilities for extracting token usage from LLM responses
5
+ * and calculating costs for different providers and models.
6
+ */
7
+ import type { TokenUsage } from './types.js';
8
+ /**
9
+ * Provider pricing information (per 1M tokens)
10
+ * Updated as of November 2024 - check provider websites for latest pricing
11
+ */
12
+ export declare const MODEL_PRICING: {
13
+ readonly 'gpt-4o': {
14
+ readonly input: 2.5;
15
+ readonly output: 10;
16
+ };
17
+ readonly 'gpt-4o-mini': {
18
+ readonly input: 0.15;
19
+ readonly output: 0.6;
20
+ };
21
+ readonly 'gpt-4-turbo': {
22
+ readonly input: 10;
23
+ readonly output: 30;
24
+ };
25
+ readonly 'gpt-4': {
26
+ readonly input: 30;
27
+ readonly output: 60;
28
+ };
29
+ readonly 'gpt-3.5-turbo': {
30
+ readonly input: 0.5;
31
+ readonly output: 1.5;
32
+ };
33
+ readonly 'claude-3-5-sonnet-20241022': {
34
+ readonly input: 3;
35
+ readonly output: 15;
36
+ };
37
+ readonly 'claude-3-5-sonnet-20240620': {
38
+ readonly input: 3;
39
+ readonly output: 15;
40
+ };
41
+ readonly 'claude-3-5-haiku-20241022': {
42
+ readonly input: 0.25;
43
+ readonly output: 1.25;
44
+ };
45
+ readonly 'claude-3-opus-20240229': {
46
+ readonly input: 15;
47
+ readonly output: 75;
48
+ };
49
+ readonly 'claude-3-sonnet-20240229': {
50
+ readonly input: 3;
51
+ readonly output: 15;
52
+ };
53
+ readonly 'claude-3-haiku-20240307': {
54
+ readonly input: 0.25;
55
+ readonly output: 1.25;
56
+ };
57
+ readonly 'gpt-4-*': {
58
+ readonly input: 10;
59
+ readonly output: 30;
60
+ };
61
+ readonly 'gpt-3.5-*': {
62
+ readonly input: 0.5;
63
+ readonly output: 1.5;
64
+ };
65
+ readonly 'claude-3-*': {
66
+ readonly input: 3;
67
+ readonly output: 15;
68
+ };
69
+ };
70
+ /**
71
+ * Extract token usage from LangChain AIMessage or response
72
+ * Based on LangChain v1.0+ usage_metadata format
73
+ */
74
+ export declare function extractTokenUsage(response: any, model: string, _provider: string): TokenUsage | null;
75
+ /**
76
+ * Calculate estimated cost for a model and token usage
77
+ */
78
+ export declare function calculateCost(model: string, inputTokens: number, outputTokens: number): number;
79
+ /**
80
+ * Get pricing information for a model
81
+ */
82
+ export declare function getModelPricing(model: string): {
83
+ input: number;
84
+ output: number;
85
+ } | null;
86
+ /**
87
+ * Format cost as a human-readable string
88
+ */
89
+ export declare function formatCost(cost: number): string;
90
+ /**
91
+ * Format token count as a human-readable string
92
+ */
93
+ export declare function formatTokens(tokens: number): string;
94
+ /**
95
+ * Create a formatted summary of token usage
96
+ */
97
+ export declare function formatTokenUsageSummary(usage: TokenUsage): string;
98
+ /**
99
+ * Extract token usage from LangGraph stream chunk
100
+ * Based on LangChain documentation about "messages" stream mode
101
+ */
102
+ export declare function extractTokenUsageFromStreamChunk(chunk: any, model: string, provider: string): TokenUsage | null;
103
+ /**
104
+ * Extract token usage from final state after LangGraph completion
105
+ * This captures any usage information that wasn't caught during streaming
106
+ */
107
+ export declare function extractTokenUsageFromFinalState(finalState: any, model: string, provider: string): TokenUsage | null;
108
+ //# sourceMappingURL=tokenUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokenUtils.d.ts","sourceRoot":"","sources":["../../../src/agents/codemie-code/tokenUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C;;;GAGG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoBhB,CAAC;AAEX;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,GAAG,EACb,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,GAChB,UAAU,GAAG,IAAI,CAoEnB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,GACnB,MAAM,CASR;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAkBvF;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAK/C;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAInD;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAcjE;AAED;;;GAGG;AACH,wBAAgB,gCAAgC,CAC9C,KAAK,EAAE,GAAG,EACV,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,GACf,UAAU,GAAG,IAAI,CAgCnB;AAED;;;GAGG;AACH,wBAAgB,+BAA+B,CAC7C,UAAU,EAAE,GAAG,EACf,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,GACf,UAAU,GAAG,IAAI,CAkBnB"}
@@ -0,0 +1,220 @@
1
+ /**
2
+ * Token Usage and Cost Calculation Utilities
3
+ *
4
+ * Provides utilities for extracting token usage from LLM responses
5
+ * and calculating costs for different providers and models.
6
+ */
7
+ /**
8
+ * Provider pricing information (per 1M tokens)
9
+ * Updated as of November 2024 - check provider websites for latest pricing
10
+ */
11
+ export const MODEL_PRICING = {
12
+ // OpenAI GPT Models
13
+ 'gpt-4o': { input: 2.50, output: 10.00 },
14
+ 'gpt-4o-mini': { input: 0.15, output: 0.60 },
15
+ 'gpt-4-turbo': { input: 10.00, output: 30.00 },
16
+ 'gpt-4': { input: 30.00, output: 60.00 },
17
+ 'gpt-3.5-turbo': { input: 0.50, output: 1.50 },
18
+ // Anthropic Claude Models
19
+ 'claude-3-5-sonnet-20241022': { input: 3.00, output: 15.00 },
20
+ 'claude-3-5-sonnet-20240620': { input: 3.00, output: 15.00 },
21
+ 'claude-3-5-haiku-20241022': { input: 0.25, output: 1.25 },
22
+ 'claude-3-opus-20240229': { input: 15.00, output: 75.00 },
23
+ 'claude-3-sonnet-20240229': { input: 3.00, output: 15.00 },
24
+ 'claude-3-haiku-20240307': { input: 0.25, output: 1.25 },
25
+ // Generic fallbacks for unknown models
26
+ 'gpt-4-*': { input: 10.00, output: 30.00 },
27
+ 'gpt-3.5-*': { input: 0.50, output: 1.50 },
28
+ 'claude-3-*': { input: 3.00, output: 15.00 },
29
+ };
30
+ /**
31
+ * Extract token usage from LangChain AIMessage or response
32
+ * Based on LangChain v1.0+ usage_metadata format
33
+ */
34
+ export function extractTokenUsage(response, model, _provider) {
35
+ try {
36
+ let inputTokens = 0;
37
+ let outputTokens = 0;
38
+ let cachedTokens = 0;
39
+ let usage = null;
40
+ // Extract from AIMessage usage_metadata (LangChain v1.0+ format)
41
+ if (response?.usage_metadata) {
42
+ usage = response.usage_metadata;
43
+ inputTokens = usage.input_tokens || 0;
44
+ outputTokens = usage.output_tokens || 0;
45
+ // Handle cache information from input_token_details
46
+ if (usage.input_token_details?.cache_read) {
47
+ cachedTokens = usage.input_token_details.cache_read;
48
+ }
49
+ }
50
+ // Extract from response_metadata.usage (for direct LLM calls)
51
+ else if (response?.response_metadata?.usage) {
52
+ usage = response.response_metadata.usage;
53
+ inputTokens = usage.input_tokens || usage.prompt_tokens || 0;
54
+ outputTokens = usage.output_tokens || usage.completion_tokens || 0;
55
+ // Handle different cache formats
56
+ if (usage.input_token_details?.cache_read) {
57
+ cachedTokens = usage.input_token_details.cache_read;
58
+ }
59
+ else if (usage.cache_read_input_tokens) {
60
+ cachedTokens = usage.cache_read_input_tokens;
61
+ }
62
+ }
63
+ // Legacy format support (older LangChain versions)
64
+ else if (response?.usage) {
65
+ usage = response.usage;
66
+ inputTokens = usage.input_tokens || usage.prompt_tokens || 0;
67
+ outputTokens = usage.output_tokens || usage.completion_tokens || 0;
68
+ cachedTokens = usage.cache_read_input_tokens || 0;
69
+ }
70
+ // Try to extract from response generations (older LangChain format)
71
+ else if (response?.generations?.[0]?.generationInfo?.usage) {
72
+ usage = response.generations[0].generationInfo.usage;
73
+ inputTokens = usage.prompt_tokens || usage.input_tokens || 0;
74
+ outputTokens = usage.completion_tokens || usage.output_tokens || 0;
75
+ cachedTokens = usage.cache_read_input_tokens || 0;
76
+ }
77
+ // If no tokens found, return null
78
+ if (inputTokens === 0 && outputTokens === 0) {
79
+ return null;
80
+ }
81
+ const totalTokens = inputTokens + outputTokens;
82
+ const estimatedCost = calculateCost(model, inputTokens, outputTokens);
83
+ return {
84
+ inputTokens,
85
+ outputTokens,
86
+ cachedTokens: cachedTokens > 0 ? cachedTokens : undefined,
87
+ totalTokens,
88
+ estimatedCost: estimatedCost > 0 ? estimatedCost : undefined
89
+ };
90
+ }
91
+ catch (error) {
92
+ console.warn('[TokenUtils] Failed to extract token usage:', error);
93
+ return null;
94
+ }
95
+ }
96
+ /**
97
+ * Calculate estimated cost for a model and token usage
98
+ */
99
+ export function calculateCost(model, inputTokens, outputTokens) {
100
+ const pricing = getModelPricing(model);
101
+ if (!pricing)
102
+ return 0;
103
+ // Convert from per-million to per-token rates
104
+ const inputCost = (inputTokens / 1_000_000) * pricing.input;
105
+ const outputCost = (outputTokens / 1_000_000) * pricing.output;
106
+ return inputCost + outputCost;
107
+ }
108
+ /**
109
+ * Get pricing information for a model
110
+ */
111
+ export function getModelPricing(model) {
112
+ // Direct model match
113
+ if (MODEL_PRICING[model]) {
114
+ return MODEL_PRICING[model];
115
+ }
116
+ // Pattern matching for model families
117
+ if (model.startsWith('gpt-4')) {
118
+ return MODEL_PRICING['gpt-4-*'];
119
+ }
120
+ if (model.startsWith('gpt-3.5')) {
121
+ return MODEL_PRICING['gpt-3.5-*'];
122
+ }
123
+ if (model.startsWith('claude-3')) {
124
+ return MODEL_PRICING['claude-3-*'];
125
+ }
126
+ return null;
127
+ }
128
+ /**
129
+ * Format cost as a human-readable string
130
+ */
131
+ export function formatCost(cost) {
132
+ if (cost === 0)
133
+ return '$0.00';
134
+ if (cost < 0.001)
135
+ return '<$0.001';
136
+ if (cost < 0.01)
137
+ return `$${cost.toFixed(3)}`;
138
+ return `$${cost.toFixed(2)}`;
139
+ }
140
+ /**
141
+ * Format token count as a human-readable string
142
+ */
143
+ export function formatTokens(tokens) {
144
+ if (tokens < 1000)
145
+ return tokens.toString();
146
+ if (tokens < 1_000_000)
147
+ return `${(tokens / 1000).toFixed(1)}K`;
148
+ return `${(tokens / 1_000_000).toFixed(2)}M`;
149
+ }
150
+ /**
151
+ * Create a formatted summary of token usage
152
+ */
153
+ export function formatTokenUsageSummary(usage) {
154
+ const parts = [];
155
+ parts.push(`${formatTokens(usage.inputTokens)} in, ${formatTokens(usage.outputTokens)} out`);
156
+ if (usage.cachedTokens && usage.cachedTokens > 0) {
157
+ parts.push(`${formatTokens(usage.cachedTokens)} cached`);
158
+ }
159
+ if (usage.estimatedCost && usage.estimatedCost > 0) {
160
+ parts.push(`(${formatCost(usage.estimatedCost)})`);
161
+ }
162
+ return parts.join(', ');
163
+ }
164
+ /**
165
+ * Extract token usage from LangGraph stream chunk
166
+ * Based on LangChain documentation about "messages" stream mode
167
+ */
168
+ export function extractTokenUsageFromStreamChunk(chunk, model, provider) {
169
+ try {
170
+ // For LangGraph "updates" stream mode, check agent messages
171
+ if (chunk.agent?.messages) {
172
+ for (const message of chunk.agent.messages) {
173
+ // Check for usage_metadata in AIMessage (LangChain v1.0+ format)
174
+ if (message.usage_metadata) {
175
+ return extractTokenUsage(message, model, provider);
176
+ }
177
+ // Check for response_metadata.usage
178
+ if (message.response_metadata?.usage) {
179
+ return extractTokenUsage(message, model, provider);
180
+ }
181
+ }
182
+ }
183
+ // For "messages" stream mode, the chunk might be the message directly
184
+ if (chunk.usage_metadata) {
185
+ return extractTokenUsage(chunk, model, provider);
186
+ }
187
+ // Check chunk metadata for usage information
188
+ if (chunk.metadata?.usage) {
189
+ return extractTokenUsage({ usage: chunk.metadata.usage }, model, provider);
190
+ }
191
+ return null;
192
+ }
193
+ catch (error) {
194
+ console.warn('[TokenUtils] Failed to extract tokens from stream chunk:', error);
195
+ return null;
196
+ }
197
+ }
198
+ /**
199
+ * Extract token usage from final state after LangGraph completion
200
+ * This captures any usage information that wasn't caught during streaming
201
+ */
202
+ export function extractTokenUsageFromFinalState(finalState, model, provider) {
203
+ try {
204
+ if (finalState?.messages) {
205
+ // Look through messages in reverse order to find the most recent one with usage
206
+ for (let i = finalState.messages.length - 1; i >= 0; i--) {
207
+ const message = finalState.messages[i];
208
+ if (message.usage_metadata || message.response_metadata?.usage) {
209
+ return extractTokenUsage(message, model, provider);
210
+ }
211
+ }
212
+ }
213
+ return null;
214
+ }
215
+ catch (error) {
216
+ console.warn('[TokenUtils] Failed to extract tokens from final state:', error);
217
+ return null;
218
+ }
219
+ }
220
+ //# sourceMappingURL=tokenUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokenUtils.js","sourceRoot":"","sources":["../../../src/agents/codemie-code/tokenUtils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Tool Metadata Extraction Utilities
3
+ *
4
+ * Extracts meaningful information from tool results for enhanced UI display
5
+ */
6
+ import { ToolMetadata } from './types.js';
7
+ /**
8
+ * Extract metadata from tool results based on tool name and result
9
+ */
10
+ export declare function extractToolMetadata(toolName: string, result: string, toolArgs?: Record<string, any>): ToolMetadata | undefined;
11
+ /**
12
+ * Format tool metadata for display
13
+ */
14
+ export declare function formatToolMetadata(toolName: string, metadata: ToolMetadata): string;
15
+ //# sourceMappingURL=toolMetadata.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toolMetadata.d.ts","sourceRoot":"","sources":["../../../src/agents/codemie-code/toolMetadata.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAI1C;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC7B,YAAY,GAAG,SAAS,CAyB1B;AAwOD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,GAAG,MAAM,CAyCnF"}