codeep 2.14.0 → 2.15.0

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 (61) hide show
  1. package/README.md +35 -24
  2. package/dist/acp/commands.js +22 -1
  3. package/dist/acp/server.js +13 -2
  4. package/dist/config/index.d.ts +10 -0
  5. package/dist/config/index.js +2 -2
  6. package/dist/config/providers.js +15 -10
  7. package/dist/renderer/App.d.ts +0 -30
  8. package/dist/renderer/App.js +149 -659
  9. package/dist/renderer/agentExecution.d.ts +1 -0
  10. package/dist/renderer/agentExecution.js +3 -2
  11. package/dist/renderer/commands/helpers.d.ts +63 -0
  12. package/dist/renderer/commands/helpers.js +108 -0
  13. package/dist/renderer/commands/registry.js +5 -0
  14. package/dist/renderer/commands.d.ts +4 -0
  15. package/dist/renderer/commands.js +179 -63
  16. package/dist/renderer/components/ActionFormatting.d.ts +17 -0
  17. package/dist/renderer/components/ActionFormatting.js +67 -0
  18. package/dist/renderer/components/Autocomplete.d.ts +33 -0
  19. package/dist/renderer/components/Autocomplete.js +40 -0
  20. package/dist/renderer/components/Intro.d.ts +9 -0
  21. package/dist/renderer/components/Intro.js +5 -15
  22. package/dist/renderer/components/MessageFormatter.d.ts +96 -0
  23. package/dist/renderer/components/MessageFormatter.js +375 -0
  24. package/dist/renderer/components/Permission.d.ts +4 -0
  25. package/dist/renderer/components/Permission.js +1 -1
  26. package/dist/renderer/components/Status.d.ts +4 -0
  27. package/dist/renderer/components/Status.js +2 -3
  28. package/dist/renderer/components/WelcomeFormatter.d.ts +19 -0
  29. package/dist/renderer/components/WelcomeFormatter.js +79 -0
  30. package/dist/renderer/components/uiConstants.d.ts +8 -0
  31. package/dist/renderer/components/uiConstants.js +24 -0
  32. package/dist/renderer/inputParsing.d.ts +22 -0
  33. package/dist/renderer/inputParsing.js +28 -0
  34. package/dist/renderer/layout.d.ts +215 -0
  35. package/dist/renderer/layout.js +326 -0
  36. package/dist/renderer/main.d.ts +2 -1
  37. package/dist/renderer/main.js +45 -10
  38. package/dist/renderer/ollamaHint.d.ts +12 -0
  39. package/dist/renderer/ollamaHint.js +29 -0
  40. package/dist/utils/agentChat.js +23 -1
  41. package/dist/utils/codeepCloud.d.ts +54 -0
  42. package/dist/utils/codeepCloud.js +95 -0
  43. package/dist/utils/export.d.ts +12 -0
  44. package/dist/utils/export.js +3 -3
  45. package/dist/utils/hooks.d.ts +26 -0
  46. package/dist/utils/hooks.js +69 -1
  47. package/dist/utils/keychain.js +45 -29
  48. package/dist/utils/logger.d.ts +12 -0
  49. package/dist/utils/logger.js +1 -1
  50. package/dist/utils/mcpConfig.d.ts +26 -0
  51. package/dist/utils/mcpConfig.js +109 -4
  52. package/dist/utils/skillBundles.d.ts +14 -0
  53. package/dist/utils/skillBundles.js +3 -3
  54. package/dist/utils/skillBundlesCloud.d.ts +7 -0
  55. package/dist/utils/skillBundlesCloud.js +1 -1
  56. package/dist/utils/tokenTracker.js +12 -2
  57. package/dist/utils/toolParsing.d.ts +11 -0
  58. package/dist/utils/toolParsing.js +6 -0
  59. package/dist/version.d.ts +1 -1
  60. package/dist/version.js +1 -1
  61. package/package.json +2 -2
@@ -11,6 +11,9 @@ const MODEL_CONTEXT_WINDOWS = {
11
11
  'glm-5.2': 200_000,
12
12
  'glm-5-turbo': 202_752,
13
13
  // OpenAI
14
+ 'gpt-5.6-sol': 1_050_000,
15
+ 'gpt-5.6-terra': 1_050_000,
16
+ 'gpt-5.6-luna': 1_050_000,
14
17
  'gpt-5.5': 1_200_000,
15
18
  'gpt-5.4': 1_050_000,
16
19
  'gpt-5.4-mini': 400_000,
@@ -26,6 +29,7 @@ const MODEL_CONTEXT_WINDOWS = {
26
29
  // Google
27
30
  'gemini-3.1-pro-preview': 1_048_576,
28
31
  'gemini-3.5-flash': 1_000_000,
32
+ 'gemini-3.1-flash-lite': 1_048_576,
29
33
  'gemini-3-flash-preview': 1_000_000,
30
34
  // MiniMax
31
35
  'MiniMax-M3': 524_288,
@@ -36,6 +40,7 @@ const MODEL_CONTEXT_WINDOWS = {
36
40
  'kimi-k2.5': 262_144,
37
41
  'kimi-for-coding': 262_144,
38
42
  // Grok (xAI)
43
+ 'grok-4.5': 500_000,
39
44
  'grok-build-0.1': 256_000,
40
45
  'grok-4.3': 1_000_000,
41
46
  'grok-code-fast-1': 256_000,
@@ -44,7 +49,7 @@ const MODEL_CONTEXT_WINDOWS = {
44
49
  'qwen3-coder-plus': 262_144,
45
50
  'qwen3-coder-next': 262_144,
46
51
  'qwen3-coder-flash': 262_144,
47
- 'qwen3-max': 262_144,
52
+ 'qwen3.7-max': 1_000_000,
48
53
  'Qwen/Qwen3-Coder-480B-A35B-Instruct': 262_144,
49
54
  };
50
55
  const DEFAULT_CONTEXT_WINDOW = 128_000;
@@ -66,6 +71,9 @@ const MODEL_PRICING = {
66
71
  'glm-5.2': { inputPer1M: 1.00, outputPer1M: 3.20 },
67
72
  'glm-5-turbo': { inputPer1M: 1.20, outputPer1M: 4.00 },
68
73
  // OpenAI
74
+ 'gpt-5.6-sol': { inputPer1M: 5.00, outputPer1M: 30.00 },
75
+ 'gpt-5.6-terra': { inputPer1M: 2.50, outputPer1M: 15.00 },
76
+ 'gpt-5.6-luna': { inputPer1M: 1.00, outputPer1M: 6.00 },
69
77
  'gpt-5.5': { inputPer1M: 5.00, outputPer1M: 30.00 },
70
78
  'gpt-5.4': { inputPer1M: 2.50, outputPer1M: 15.00 },
71
79
  'gpt-5.4-mini': { inputPer1M: 0.75, outputPer1M: 4.50 },
@@ -81,6 +89,7 @@ const MODEL_PRICING = {
81
89
  // Google
82
90
  'gemini-3.1-pro-preview': { inputPer1M: 2.00, outputPer1M: 12.00 },
83
91
  'gemini-3.5-flash': { inputPer1M: 1.50, outputPer1M: 9.00 },
92
+ 'gemini-3.1-flash-lite': { inputPer1M: 0.25, outputPer1M: 1.50 },
84
93
  'gemini-3-flash-preview': { inputPer1M: 0.50, outputPer1M: 3.00 },
85
94
  // MiniMax
86
95
  'MiniMax-M3': { inputPer1M: 0.60, outputPer1M: 2.40 },
@@ -92,6 +101,7 @@ const MODEL_PRICING = {
92
101
  'kimi-k2.5': { inputPer1M: 0.40, outputPer1M: 1.90 },
93
102
  'kimi-for-coding': { inputPer1M: 0.60, outputPer1M: 2.50 },
94
103
  // Grok (xAI)
104
+ 'grok-4.5': { inputPer1M: 2.00, outputPer1M: 6.00 },
95
105
  'grok-build-0.1': { inputPer1M: 1.00, outputPer1M: 2.00 },
96
106
  'grok-4.3': { inputPer1M: 1.25, outputPer1M: 2.50 },
97
107
  'grok-code-fast-1': { inputPer1M: 0.20, outputPer1M: 1.50 },
@@ -101,7 +111,7 @@ const MODEL_PRICING = {
101
111
  'qwen3-coder-plus': { inputPer1M: 0.28, outputPer1M: 1.65 },
102
112
  'qwen3-coder-next': { inputPer1M: 0.28, outputPer1M: 1.65 },
103
113
  'qwen3-coder-flash': { inputPer1M: 0.10, outputPer1M: 0.50 },
104
- 'qwen3-max': { inputPer1M: 1.20, outputPer1M: 6.00 },
114
+ 'qwen3.7-max': { inputPer1M: 2.50, outputPer1M: 7.50 },
105
115
  // ModelScope free tier — no per-token charge.
106
116
  'Qwen/Qwen3-Coder-480B-A35B-Instruct': { inputPer1M: 0, outputPer1M: 0 },
107
117
  };
@@ -9,10 +9,21 @@ import { ToolCall } from './tools';
9
9
  * Normalize tool name to lowercase with underscores
10
10
  */
11
11
  export declare function normalizeToolName(name: string): string;
12
+ /**
13
+ * Extract parameters from truncated/partial JSON for tool calls.
14
+ * Fallback when JSON.parse fails due to API truncation.
15
+ */
16
+ declare function extractPartialToolParams(toolName: string, rawArgs: string): Record<string, unknown> | null;
12
17
  export declare function parseOpenAIToolCalls(toolCalls: unknown[]): ToolCall[];
13
18
  export declare function parseAnthropicToolCalls(content: unknown[]): ToolCall[];
19
+ declare function tryExtractParams(str: string): Record<string, unknown> | null;
20
+ declare function tryParseToolCall(str: string): ToolCall | null;
14
21
  /**
15
22
  * Parse tool calls from LLM response text.
16
23
  * Supports: <tool_call>, <toolcall>, ```tool blocks, inline JSON.
17
24
  */
18
25
  export declare function parseToolCalls(response: string): ToolCall[];
26
+ export declare const _extractPartialToolParamsForTest: typeof extractPartialToolParams;
27
+ export declare const _tryExtractParamsForTest: typeof tryExtractParams;
28
+ export declare const _tryParseToolCallForTest: typeof tryParseToolCall;
29
+ export {};
@@ -319,3 +319,9 @@ export function parseToolCalls(response) {
319
319
  }
320
320
  return toolCalls;
321
321
  }
322
+ // Test seams — these helpers are otherwise file-private; export them under
323
+ // a `_forTest` suffix so the parser internals can be exercised directly
324
+ // without going through the full response-parsing pipeline.
325
+ export const _extractPartialToolParamsForTest = extractPartialToolParams;
326
+ export const _tryExtractParamsForTest = tryExtractParams;
327
+ export const _tryParseToolCallForTest = tryParseToolCall;
package/dist/version.d.ts CHANGED
@@ -1 +1 @@
1
- export declare const VERSION = "2.14.0";
1
+ export declare const VERSION = "2.15.0";
package/dist/version.js CHANGED
@@ -1,4 +1,4 @@
1
1
  // AUTO-GENERATED by scripts/gen-version.js — do not edit by hand.
2
2
  // Baked from package.json at build time so the bun-compiled binary reports
3
3
  // the right version (it has no package.json on disk to read at runtime).
4
- export const VERSION = '2.14.0';
4
+ export const VERSION = '2.15.0';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codeep",
3
- "version": "2.14.0",
3
+ "version": "2.15.0",
4
4
  "description": "AI-powered coding assistant built for the terminal. Multiple LLM providers, project-aware context, and a seamless development workflow.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -37,10 +37,10 @@
37
37
  },
38
38
  "homepage": "https://codeep.dev",
39
39
  "dependencies": {
40
+ "@napi-rs/keyring": "^1.3.0",
40
41
  "clipboardy": "^4.0.0",
41
42
  "conf": "^13.1.0",
42
43
  "js-yaml": "^4.1.0",
43
- "keytar": "^7.9.0",
44
44
  "open": "^10.0.0"
45
45
  },
46
46
  "devDependencies": {