gencode-ai 0.2.0 → 0.4.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 (218) hide show
  1. package/RELEASE_NOTES_v0.4.0.md +140 -0
  2. package/dist/agent/agent.d.ts +26 -4
  3. package/dist/agent/agent.d.ts.map +1 -1
  4. package/dist/agent/agent.js +316 -57
  5. package/dist/agent/agent.js.map +1 -1
  6. package/dist/agent/types.d.ts +20 -2
  7. package/dist/agent/types.d.ts.map +1 -1
  8. package/dist/checkpointing/checkpoint-manager.d.ts +24 -0
  9. package/dist/checkpointing/checkpoint-manager.d.ts.map +1 -1
  10. package/dist/checkpointing/checkpoint-manager.js +28 -0
  11. package/dist/checkpointing/checkpoint-manager.js.map +1 -1
  12. package/dist/cli/components/App.d.ts +8 -0
  13. package/dist/cli/components/App.d.ts.map +1 -1
  14. package/dist/cli/components/App.js +493 -45
  15. package/dist/cli/components/App.js.map +1 -1
  16. package/dist/cli/components/CommandSuggestions.d.ts.map +1 -1
  17. package/dist/cli/components/CommandSuggestions.js +2 -0
  18. package/dist/cli/components/CommandSuggestions.js.map +1 -1
  19. package/dist/cli/components/Header.d.ts +6 -1
  20. package/dist/cli/components/Header.d.ts.map +1 -1
  21. package/dist/cli/components/Header.js +3 -3
  22. package/dist/cli/components/Header.js.map +1 -1
  23. package/dist/cli/components/Messages.d.ts.map +1 -1
  24. package/dist/cli/components/Messages.js +8 -10
  25. package/dist/cli/components/Messages.js.map +1 -1
  26. package/dist/cli/components/ModelSelector.d.ts +4 -3
  27. package/dist/cli/components/ModelSelector.d.ts.map +1 -1
  28. package/dist/cli/components/ModelSelector.js +54 -37
  29. package/dist/cli/components/ModelSelector.js.map +1 -1
  30. package/dist/cli/components/ProviderManager.d.ts +2 -2
  31. package/dist/cli/components/ProviderManager.d.ts.map +1 -1
  32. package/dist/cli/components/ProviderManager.js +137 -156
  33. package/dist/cli/components/ProviderManager.js.map +1 -1
  34. package/dist/cli/index.js +33 -15
  35. package/dist/cli/index.js.map +1 -1
  36. package/dist/config/index.d.ts +2 -2
  37. package/dist/config/index.d.ts.map +1 -1
  38. package/dist/config/index.js +1 -1
  39. package/dist/config/index.js.map +1 -1
  40. package/dist/config/levels.d.ts +5 -5
  41. package/dist/config/levels.d.ts.map +1 -1
  42. package/dist/config/levels.js +20 -20
  43. package/dist/config/levels.js.map +1 -1
  44. package/dist/config/merger.js +1 -1
  45. package/dist/config/merger.js.map +1 -1
  46. package/dist/config/providers-config.d.ts +8 -5
  47. package/dist/config/providers-config.d.ts.map +1 -1
  48. package/dist/config/providers-config.js +19 -22
  49. package/dist/config/providers-config.js.map +1 -1
  50. package/dist/config/test-utils.d.ts +2 -2
  51. package/dist/config/test-utils.d.ts.map +1 -1
  52. package/dist/config/test-utils.js +4 -4
  53. package/dist/config/test-utils.js.map +1 -1
  54. package/dist/config/types.d.ts +42 -17
  55. package/dist/config/types.d.ts.map +1 -1
  56. package/dist/config/types.js +14 -14
  57. package/dist/config/types.js.map +1 -1
  58. package/dist/index.d.ts +2 -2
  59. package/dist/index.js +2 -2
  60. package/dist/input/history-manager.d.ts +78 -0
  61. package/dist/input/history-manager.d.ts.map +1 -0
  62. package/dist/input/history-manager.js +224 -0
  63. package/dist/input/history-manager.js.map +1 -0
  64. package/dist/input/index.d.ts +6 -0
  65. package/dist/input/index.d.ts.map +1 -0
  66. package/dist/input/index.js +5 -0
  67. package/dist/input/index.js.map +1 -0
  68. package/dist/memory/memory-manager.d.ts +25 -12
  69. package/dist/memory/memory-manager.d.ts.map +1 -1
  70. package/dist/memory/memory-manager.js +241 -112
  71. package/dist/memory/memory-manager.js.map +1 -1
  72. package/dist/memory/test-utils.d.ts +1 -1
  73. package/dist/memory/test-utils.d.ts.map +1 -1
  74. package/dist/memory/test-utils.js +3 -3
  75. package/dist/memory/test-utils.js.map +1 -1
  76. package/dist/memory/types.d.ts +20 -10
  77. package/dist/memory/types.d.ts.map +1 -1
  78. package/dist/memory/types.js +13 -13
  79. package/dist/memory/types.js.map +1 -1
  80. package/dist/migration/migrate.d.ts +24 -0
  81. package/dist/migration/migrate.d.ts.map +1 -0
  82. package/dist/migration/migrate.js +164 -0
  83. package/dist/migration/migrate.js.map +1 -0
  84. package/dist/permissions/persistence.d.ts +2 -2
  85. package/dist/permissions/persistence.js +4 -4
  86. package/dist/permissions/persistence.js.map +1 -1
  87. package/dist/planning/plan-file.d.ts +1 -1
  88. package/dist/planning/plan-file.js +2 -2
  89. package/dist/planning/plan-file.js.map +1 -1
  90. package/dist/prompts/index.d.ts +5 -4
  91. package/dist/prompts/index.d.ts.map +1 -1
  92. package/dist/prompts/index.js +13 -10
  93. package/dist/prompts/index.js.map +1 -1
  94. package/dist/providers/anthropic.d.ts +2 -1
  95. package/dist/providers/anthropic.d.ts.map +1 -1
  96. package/dist/providers/anthropic.js +7 -0
  97. package/dist/providers/anthropic.js.map +1 -1
  98. package/dist/providers/gemini.d.ts +2 -1
  99. package/dist/providers/gemini.d.ts.map +1 -1
  100. package/dist/providers/gemini.js +40 -2
  101. package/dist/providers/gemini.js.map +1 -1
  102. package/dist/providers/google.d.ts +22 -0
  103. package/dist/providers/google.d.ts.map +1 -0
  104. package/dist/providers/google.js +297 -0
  105. package/dist/providers/google.js.map +1 -0
  106. package/dist/providers/index.d.ts +22 -12
  107. package/dist/providers/index.d.ts.map +1 -1
  108. package/dist/providers/index.js +56 -32
  109. package/dist/providers/index.js.map +1 -1
  110. package/dist/providers/openai.d.ts +2 -1
  111. package/dist/providers/openai.d.ts.map +1 -1
  112. package/dist/providers/openai.js +13 -0
  113. package/dist/providers/openai.js.map +1 -1
  114. package/dist/providers/registry.d.ts +48 -34
  115. package/dist/providers/registry.d.ts.map +1 -1
  116. package/dist/providers/registry.js +72 -88
  117. package/dist/providers/registry.js.map +1 -1
  118. package/dist/providers/store.d.ts +43 -17
  119. package/dist/providers/store.d.ts.map +1 -1
  120. package/dist/providers/store.js +112 -19
  121. package/dist/providers/store.js.map +1 -1
  122. package/dist/providers/types.d.ts +52 -3
  123. package/dist/providers/types.d.ts.map +1 -1
  124. package/dist/providers/vertex-ai.d.ts +15 -7
  125. package/dist/providers/vertex-ai.d.ts.map +1 -1
  126. package/dist/providers/vertex-ai.js +46 -13
  127. package/dist/providers/vertex-ai.js.map +1 -1
  128. package/dist/session/compression/engine.d.ts +109 -0
  129. package/dist/session/compression/engine.d.ts.map +1 -0
  130. package/dist/session/compression/engine.js +311 -0
  131. package/dist/session/compression/engine.js.map +1 -0
  132. package/dist/session/compression/index.d.ts +12 -0
  133. package/dist/session/compression/index.d.ts.map +1 -0
  134. package/dist/session/compression/index.js +11 -0
  135. package/dist/session/compression/index.js.map +1 -0
  136. package/dist/session/compression/types.d.ts +90 -0
  137. package/dist/session/compression/types.d.ts.map +1 -0
  138. package/dist/session/compression/types.js +17 -0
  139. package/dist/session/compression/types.js.map +1 -0
  140. package/dist/session/manager.d.ts +64 -3
  141. package/dist/session/manager.d.ts.map +1 -1
  142. package/dist/session/manager.js +254 -2
  143. package/dist/session/manager.js.map +1 -1
  144. package/dist/session/types.d.ts +16 -0
  145. package/dist/session/types.d.ts.map +1 -1
  146. package/dist/session/types.js +1 -1
  147. package/dist/session/types.js.map +1 -1
  148. package/docs/README.md +1 -0
  149. package/docs/config-system-comparison.md +50 -50
  150. package/docs/cost-tracking-comparison.md +2 -2
  151. package/docs/diagrams/compression-decision.mmd +30 -0
  152. package/docs/diagrams/compression-workflow.mmd +54 -0
  153. package/docs/diagrams/layer1-pruning.mmd +45 -0
  154. package/docs/diagrams/layer2-compaction.mmd +42 -0
  155. package/docs/memory-system.md +124 -31
  156. package/docs/permissions.md +2 -2
  157. package/docs/proposals/0006-memory-system.md +4 -4
  158. package/docs/proposals/0007-context-management.md +252 -2
  159. package/docs/proposals/0008-checkpointing.md +109 -2
  160. package/docs/proposals/0011-custom-commands.md +2 -1
  161. package/docs/proposals/0021-skills-system.md +2 -1
  162. package/docs/proposals/0023-permission-enhancements.md +2 -2
  163. package/docs/proposals/0033-enterprise-deployment.md +1 -1
  164. package/docs/proposals/0041-configuration-system.md +17 -19
  165. package/docs/proposals/0042-prompt-optimization.md +17 -9
  166. package/docs/proposals/README.md +8 -7
  167. package/docs/providers.md +96 -11
  168. package/docs/session-compression.md +695 -0
  169. package/examples/agent-demo.ts +23 -1
  170. package/examples/basic.ts +3 -3
  171. package/package.json +2 -2
  172. package/scripts/migrate.ts +449 -0
  173. package/src/agent/agent.ts +365 -61
  174. package/src/agent/types.ts +24 -2
  175. package/src/checkpointing/checkpoint-manager.ts +48 -0
  176. package/src/cli/components/App.tsx +570 -42
  177. package/src/cli/components/CommandSuggestions.tsx +2 -0
  178. package/src/cli/components/Header.tsx +16 -1
  179. package/src/cli/components/Messages.tsx +21 -15
  180. package/src/cli/components/ModelSelector.tsx +62 -43
  181. package/src/cli/components/ProviderManager.tsx +278 -323
  182. package/src/cli/index.tsx +38 -18
  183. package/src/config/index.ts +5 -3
  184. package/src/config/levels.test.ts +22 -22
  185. package/src/config/levels.ts +22 -22
  186. package/src/config/loader.test.ts +14 -14
  187. package/src/config/manager.test.ts +19 -19
  188. package/src/config/merger.test.ts +23 -23
  189. package/src/config/merger.ts +1 -1
  190. package/src/config/providers-config.ts +23 -21
  191. package/src/config/test-utils.ts +6 -6
  192. package/src/config/types.ts +55 -20
  193. package/src/index.ts +3 -3
  194. package/src/input/history-manager.ts +289 -0
  195. package/src/input/index.ts +6 -0
  196. package/src/memory/memory-manager.test.ts +242 -24
  197. package/src/memory/memory-manager.ts +270 -141
  198. package/src/memory/test-utils.ts +4 -4
  199. package/src/memory/types.ts +28 -17
  200. package/src/permissions/persistence.ts +4 -4
  201. package/src/planning/plan-file.ts +2 -2
  202. package/src/prompts/index.test.ts +2 -1
  203. package/src/prompts/index.ts +15 -11
  204. package/src/providers/anthropic.ts +9 -0
  205. package/src/providers/{gemini.ts → google.ts} +75 -15
  206. package/src/providers/index.ts +85 -42
  207. package/src/providers/openai.ts +16 -0
  208. package/src/providers/registry.ts +116 -111
  209. package/src/providers/store.ts +130 -28
  210. package/src/providers/types.ts +65 -3
  211. package/src/providers/vertex-ai.ts +49 -13
  212. package/src/session/compression/engine.ts +406 -0
  213. package/src/session/compression/index.ts +18 -0
  214. package/src/session/compression/types.ts +102 -0
  215. package/src/session/manager.ts +326 -3
  216. package/src/session/types.ts +22 -1
  217. package/tests/input-history-manager.test.ts +335 -0
  218. package/tests/session-checkpoint-persistence.test.ts +198 -0
@@ -1,13 +1,31 @@
1
1
  /**
2
2
  * Provider Store - Manages provider connections and model cache
3
3
  *
4
- * Storage location: ~/.gencode/providers.json
4
+ * Storage location: ~/.gen/providers.json
5
5
  */
6
6
  import { existsSync, readFileSync, writeFileSync, mkdirSync } from 'fs';
7
7
  import { join } from 'path';
8
8
  import { homedir } from 'os';
9
- const CONFIG_DIR = join(homedir(), '.gencode');
9
+ const CONFIG_DIR = join(homedir(), '.gen');
10
10
  const CONFIG_FILE = join(CONFIG_DIR, 'providers.json');
11
+ /**
12
+ * Generate model cache key from provider and authMethod
13
+ */
14
+ export function getModelCacheKey(provider, authMethod) {
15
+ return `${provider}:${authMethod}`;
16
+ }
17
+ /**
18
+ * Parse model cache key to extract provider and authMethod
19
+ */
20
+ export function parseModelCacheKey(key) {
21
+ const parts = key.split(':');
22
+ if (parts.length !== 2)
23
+ return null;
24
+ return {
25
+ provider: parts[0],
26
+ authMethod: parts[1],
27
+ };
28
+ }
11
29
  /**
12
30
  * Provider Store - manages connection state and model cache
13
31
  */
@@ -64,28 +82,50 @@ export class ProviderStore {
64
82
  return Object.keys(this.config.connections);
65
83
  }
66
84
  /**
67
- * Connect a provider
85
+ * Connect a provider with auth method
68
86
  */
69
- connect(providerId, method) {
87
+ connect(providerId, authMethod, displayName) {
70
88
  this.config.connections[providerId] = {
71
- method,
89
+ authMethod,
90
+ method: displayName, // Optional legacy field for display
72
91
  connectedAt: new Date().toISOString(),
73
92
  };
74
93
  this.save();
75
94
  }
76
95
  /**
77
- * Disconnect a provider
96
+ * Disconnect a provider and clear all its model caches
78
97
  */
79
98
  disconnect(providerId) {
80
99
  delete this.config.connections[providerId];
81
- delete this.config.models[providerId];
100
+ // Remove all model caches for this provider (across all authMethods)
101
+ for (const key of Object.keys(this.config.models)) {
102
+ const parsed = parseModelCacheKey(key);
103
+ if (parsed && parsed.provider === providerId) {
104
+ delete this.config.models[key];
105
+ }
106
+ }
82
107
  this.save();
83
108
  }
84
109
  /**
85
110
  * Get cached models for a provider
111
+ * @param providerId Provider ID
112
+ * @param authMethod Optional: specific auth method. If not provided, returns all models for the provider
86
113
  */
87
- getModels(providerId) {
88
- return this.config.models[providerId]?.list ?? [];
114
+ getModels(providerId, authMethod) {
115
+ if (authMethod) {
116
+ // Get models for specific authMethod
117
+ const key = getModelCacheKey(providerId, authMethod);
118
+ return this.config.models[key]?.list ?? [];
119
+ }
120
+ // Get all models for this provider (across all authMethods)
121
+ const allModels = [];
122
+ for (const [key, cache] of Object.entries(this.config.models)) {
123
+ const parsed = parseModelCacheKey(key);
124
+ if (parsed && parsed.provider === providerId) {
125
+ allModels.push(...cache.list);
126
+ }
127
+ }
128
+ return allModels;
89
129
  }
90
130
  /**
91
131
  * Get all cached models grouped by provider
@@ -98,10 +138,11 @@ export class ProviderStore {
98
138
  return result;
99
139
  }
100
140
  /**
101
- * Cache models for a provider
141
+ * Cache models for a provider with auth method
102
142
  */
103
- cacheModels(providerId, models) {
104
- this.config.models[providerId] = {
143
+ cacheModels(providerId, authMethod, models) {
144
+ const key = getModelCacheKey(providerId, authMethod);
145
+ this.config.models[key] = {
105
146
  cachedAt: new Date().toISOString(),
106
147
  list: models,
107
148
  };
@@ -109,16 +150,35 @@ export class ProviderStore {
109
150
  }
110
151
  /**
111
152
  * Get cache timestamp for a provider
153
+ * @param providerId Provider ID
154
+ * @param authMethod Optional: specific auth method. If not provided, returns latest cache time
112
155
  */
113
- getCacheTime(providerId) {
114
- const cache = this.config.models[providerId];
115
- return cache ? new Date(cache.cachedAt) : undefined;
156
+ getCacheTime(providerId, authMethod) {
157
+ if (authMethod) {
158
+ const key = getModelCacheKey(providerId, authMethod);
159
+ const cache = this.config.models[key];
160
+ return cache ? new Date(cache.cachedAt) : undefined;
161
+ }
162
+ // Get latest cache time across all authMethods for this provider
163
+ let latestTime;
164
+ for (const [key, cache] of Object.entries(this.config.models)) {
165
+ const parsed = parseModelCacheKey(key);
166
+ if (parsed && parsed.provider === providerId) {
167
+ const cacheTime = new Date(cache.cachedAt);
168
+ if (!latestTime || cacheTime > latestTime) {
169
+ latestTime = cacheTime;
170
+ }
171
+ }
172
+ }
173
+ return latestTime;
116
174
  }
117
175
  /**
118
176
  * Check if model cache is stale (older than 24 hours)
177
+ * @param providerId Provider ID
178
+ * @param authMethod Optional: specific auth method. If not provided, checks if any cache is fresh
119
179
  */
120
- isCacheStale(providerId) {
121
- const cacheTime = this.getCacheTime(providerId);
180
+ isCacheStale(providerId, authMethod) {
181
+ const cacheTime = this.getCacheTime(providerId, authMethod);
122
182
  if (!cacheTime)
123
183
  return true;
124
184
  const hoursSinceCache = (Date.now() - cacheTime.getTime()) / (1000 * 60 * 60);
@@ -132,9 +192,42 @@ export class ProviderStore {
132
192
  }
133
193
  /**
134
194
  * Get model count for a specific provider
195
+ * @param providerId Provider ID
196
+ * @param authMethod Optional: specific auth method. If not provided, counts all models for the provider
135
197
  */
136
- getModelCount(providerId) {
137
- return this.config.models[providerId]?.list.length ?? 0;
198
+ getModelCount(providerId, authMethod) {
199
+ if (authMethod) {
200
+ const key = getModelCacheKey(providerId, authMethod);
201
+ return this.config.models[key]?.list.length ?? 0;
202
+ }
203
+ // Count all models for this provider (across all authMethods)
204
+ let count = 0;
205
+ for (const [key, cache] of Object.entries(this.config.models)) {
206
+ const parsed = parseModelCacheKey(key);
207
+ if (parsed && parsed.provider === providerId) {
208
+ count += cache.list.length;
209
+ }
210
+ }
211
+ return count;
212
+ }
213
+ /**
214
+ * Get the model cache info
215
+ * @param providerId Provider ID
216
+ * @param authMethod Optional: specific auth method
217
+ */
218
+ getModelCache(providerId, authMethod) {
219
+ if (authMethod) {
220
+ const key = getModelCacheKey(providerId, authMethod);
221
+ return this.config.models[key];
222
+ }
223
+ // If no authMethod specified, try to find any cache for this provider
224
+ for (const [key, cache] of Object.entries(this.config.models)) {
225
+ const parsed = parseModelCacheKey(key);
226
+ if (parsed && parsed.provider === providerId) {
227
+ return cache;
228
+ }
229
+ }
230
+ return undefined;
138
231
  }
139
232
  /**
140
233
  * Get the configured search provider
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/providers/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/providers/store.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,29 @@
3
3
  * Abstracts differences between OpenAI, Anthropic, and Gemini APIs
4
4
  */
5
5
  import type { CostEstimate } from '../pricing/types.js';
6
+ /**
7
+ * Provider - Semantic layer (only 3 providers)
8
+ */
9
+ export type Provider = 'anthropic' | 'openai' | 'google';
10
+ /**
11
+ * Authentication method for providers
12
+ */
13
+ export type AuthMethod = 'api_key' | 'vertex' | 'bedrock' | 'azure' | 'oauth';
14
+ /**
15
+ * Provider class metadata (static property on each provider implementation)
16
+ */
17
+ export interface ProviderClassMeta {
18
+ /** Which provider this class implements */
19
+ provider: Provider;
20
+ /** Authentication method */
21
+ authMethod: AuthMethod;
22
+ /** Environment variables required for this auth method */
23
+ envVars: string[];
24
+ /** Display name for UI */
25
+ displayName: string;
26
+ /** Optional description */
27
+ description?: string;
28
+ }
6
29
  export type MessageRole = 'system' | 'user' | 'assistant';
7
30
  export interface TextContent {
8
31
  type: 'text';
@@ -58,6 +81,7 @@ export interface CompletionOptions {
58
81
  maxTokens?: number;
59
82
  temperature?: number;
60
83
  stream?: boolean;
84
+ signal?: AbortSignal;
61
85
  }
62
86
  export type StopReason = 'end_turn' | 'tool_use' | 'max_tokens' | 'stop_sequence';
63
87
  export interface CompletionResponse {
@@ -66,6 +90,15 @@ export interface CompletionResponse {
66
90
  usage?: {
67
91
  inputTokens: number;
68
92
  outputTokens: number;
93
+ /** Reasoning tokens (for thinking models like o1/o3) */
94
+ reasoningTokens?: number;
95
+ /** Cache statistics (Anthropic prompt caching) */
96
+ cache?: {
97
+ /** Cache hit tokens (~10% cost) */
98
+ readTokens: number;
99
+ /** Cache creation tokens */
100
+ writeTokens: number;
101
+ };
69
102
  };
70
103
  cost?: CostEstimate;
71
104
  }
@@ -83,6 +116,10 @@ export interface StreamChunkToolInput {
83
116
  id: string;
84
117
  input: string;
85
118
  }
119
+ export interface StreamChunkReasoning {
120
+ type: 'reasoning';
121
+ text: string;
122
+ }
86
123
  export interface StreamChunkDone {
87
124
  type: 'done';
88
125
  response: CompletionResponse;
@@ -91,11 +128,15 @@ export interface StreamChunkError {
91
128
  type: 'error';
92
129
  error: Error;
93
130
  }
94
- export type StreamChunk = StreamChunkText | StreamChunkToolStart | StreamChunkToolInput | StreamChunkDone | StreamChunkError;
131
+ export type StreamChunk = StreamChunkText | StreamChunkToolStart | StreamChunkToolInput | StreamChunkReasoning | StreamChunkDone | StreamChunkError;
95
132
  export interface ModelInfo {
96
133
  id: string;
97
134
  name: string;
98
135
  description?: string;
136
+ /** Model context window size (for compression decisions) */
137
+ contextWindow?: number;
138
+ /** Model output limit (for compression decisions) */
139
+ outputLimit?: number;
99
140
  }
100
141
  export interface LLMProvider {
101
142
  readonly name: string;
@@ -111,6 +152,14 @@ export interface LLMProvider {
111
152
  * List available models from the provider
112
153
  */
113
154
  listModels(): Promise<ModelInfo[]>;
155
+ /**
156
+ * Get current model name (optional - for backward compatibility)
157
+ */
158
+ getModel?(): string;
159
+ /**
160
+ * Get model information (for compression decisions)
161
+ */
162
+ getModelInfo?(model: string): ModelInfo;
114
163
  }
115
164
  export interface OpenAIConfig {
116
165
  apiKey?: string;
@@ -121,7 +170,7 @@ export interface AnthropicConfig {
121
170
  apiKey?: string;
122
171
  baseURL?: string;
123
172
  }
124
- export interface GeminiConfig {
173
+ export interface GoogleConfig {
125
174
  apiKey?: string;
126
175
  }
127
176
  export interface VertexAIConfig {
@@ -129,5 +178,5 @@ export interface VertexAIConfig {
129
178
  region?: string;
130
179
  accessToken?: string;
131
180
  }
132
- export type ProviderConfig = OpenAIConfig | AnthropicConfig | GeminiConfig | VertexAIConfig;
181
+ export type ProviderConfig = OpenAIConfig | AnthropicConfig | GoogleConfig | VertexAIConfig;
133
182
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/providers/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/providers/types.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,23 @@
1
1
  /**
2
- * Google Vertex AI Provider Implementation
3
- * Supports Claude models deployed on Google Cloud Vertex AI
2
+ * Anthropic Vertex AI Provider
3
+ * Supports Claude models via Google Cloud Vertex AI
4
+ *
5
+ * Documentation: https://code.claude.com/docs/en/google-vertex-ai
6
+ *
7
+ * Required environment variables:
8
+ * - CLAUDE_CODE_USE_VERTEX=1
9
+ * - ANTHROPIC_VERTEX_PROJECT_ID=your-project-id
10
+ * - CLOUD_ML_REGION=global (or specific region like us-east5)
4
11
  *
5
12
  * Authentication uses Google Cloud's default credential chain:
6
- * 1. GOOGLE_APPLICATION_CREDENTIALS (service account JSON)
7
- * 2. gcloud auth application-default login (ADC)
13
+ * 1. gcloud auth application-default login (recommended)
14
+ * 2. GOOGLE_APPLICATION_CREDENTIALS (service account JSON)
8
15
  * 3. GCE/GKE metadata service (when running on GCP)
9
16
  */
10
- import type { LLMProvider, CompletionOptions, CompletionResponse, StreamChunk, VertexAIConfig, ModelInfo } from './types.js';
11
- export declare class VertexAIProvider implements LLMProvider {
12
- readonly name = "vertex-ai";
17
+ import type { LLMProvider, ProviderClassMeta, CompletionOptions, CompletionResponse, StreamChunk, VertexAIConfig, ModelInfo } from './types.js';
18
+ export declare class AnthropicVertexProvider implements LLMProvider {
19
+ static readonly meta: ProviderClassMeta;
20
+ readonly name = "anthropic-vertex";
13
21
  private projectId;
14
22
  private region;
15
23
  private auth;
@@ -1 +1 @@
1
- {"version":3,"file":"vertex-ai.d.ts","sourceRoot":"","sources":["../../src/providers/vertex-ai.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EACV,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,WAAW,EAKX,cAAc,EACd,SAAS,EACV,MAAM,YAAY,CAAC;AA4GpB,qBAAa,gBAAiB,YAAW,WAAW;IAClD,QAAQ,CAAC,IAAI,eAAe;IAC5B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,WAAW,CAAC,CAAS;gBAEjB,MAAM,GAAE,cAAmB;YA0BzB,cAAc;IAa5B,OAAO,CAAC,WAAW;IAKb,QAAQ,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAkChE,MAAM,CAAC,OAAO,EAAE,iBAAiB,GAAG,cAAc,CAAC,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC;IA8IrF,OAAO,CAAC,iBAAiB;IAqCzB,OAAO,CAAC,eAAe;IAqBvB,OAAO,CAAC,sBAAsB;IAiC9B,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,eAAe;IAgBvB,OAAO,CAAC,cAAc;IAyBtB,OAAO,CAAC,iBAAiB;IAcnB,UAAU,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IA0DxC,OAAO,CAAC,eAAe;IAcvB,OAAO,CAAC,cAAc;CAoBvB"}
1
+ {"version":3,"file":"vertex-ai.d.ts","sourceRoot":"","sources":["../../src/providers/vertex-ai.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,OAAO,KAAK,EACV,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,WAAW,EAKX,cAAc,EACd,SAAS,EACV,MAAM,YAAY,CAAC;AA4GpB,qBAAa,uBAAwB,YAAW,WAAW;IACzD,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAUrC;IAEF,QAAQ,CAAC,IAAI,sBAAsB;IACnC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,WAAW,CAAC,CAAS;gBAEjB,MAAM,GAAE,cAAmB;YA+BzB,cAAc;IAwB5B,OAAO,CAAC,WAAW;IAKb,QAAQ,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAkChE,MAAM,CAAC,OAAO,EAAE,iBAAiB,GAAG,cAAc,CAAC,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC;IA8IrF,OAAO,CAAC,iBAAiB;IAqCzB,OAAO,CAAC,eAAe;IAqBvB,OAAO,CAAC,sBAAsB;IAiC9B,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,eAAe;IAgBvB,OAAO,CAAC,cAAc;IAyBtB,OAAO,CAAC,iBAAiB;IAcnB,UAAU,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IA0DxC,OAAO,CAAC,eAAe;IAcvB,OAAO,CAAC,cAAc;CAoBvB"}
@@ -1,34 +1,57 @@
1
1
  /**
2
- * Google Vertex AI Provider Implementation
3
- * Supports Claude models deployed on Google Cloud Vertex AI
2
+ * Anthropic Vertex AI Provider
3
+ * Supports Claude models via Google Cloud Vertex AI
4
+ *
5
+ * Documentation: https://code.claude.com/docs/en/google-vertex-ai
6
+ *
7
+ * Required environment variables:
8
+ * - CLAUDE_CODE_USE_VERTEX=1
9
+ * - ANTHROPIC_VERTEX_PROJECT_ID=your-project-id
10
+ * - CLOUD_ML_REGION=global (or specific region like us-east5)
4
11
  *
5
12
  * Authentication uses Google Cloud's default credential chain:
6
- * 1. GOOGLE_APPLICATION_CREDENTIALS (service account JSON)
7
- * 2. gcloud auth application-default login (ADC)
13
+ * 1. gcloud auth application-default login (recommended)
14
+ * 2. GOOGLE_APPLICATION_CREDENTIALS (service account JSON)
8
15
  * 3. GCE/GKE metadata service (when running on GCP)
9
16
  */
10
17
  import { GoogleAuth } from 'google-auth-library';
11
18
  import { calculateCost } from '../pricing/calculator.js';
12
- export class VertexAIProvider {
13
- name = 'vertex-ai';
19
+ export class AnthropicVertexProvider {
20
+ static meta = {
21
+ provider: 'anthropic',
22
+ authMethod: 'vertex',
23
+ envVars: [
24
+ 'CLAUDE_CODE_USE_VERTEX',
25
+ 'ANTHROPIC_VERTEX_PROJECT_ID',
26
+ 'CLOUD_ML_REGION',
27
+ ],
28
+ displayName: 'Google Vertex AI',
29
+ description: 'Claude via Google Cloud Platform',
30
+ };
31
+ name = 'anthropic-vertex';
14
32
  projectId;
15
33
  region;
16
34
  auth;
17
35
  accessToken;
18
36
  constructor(config = {}) {
37
+ // Project ID priority (per Claude Code docs):
38
+ // 1. config.projectId
39
+ // 2. ANTHROPIC_VERTEX_PROJECT_ID
40
+ // 3. GCLOUD_PROJECT
41
+ // 4. GOOGLE_CLOUD_PROJECT
19
42
  this.projectId =
20
43
  config.projectId ??
21
44
  process.env.ANTHROPIC_VERTEX_PROJECT_ID ??
45
+ process.env.GCLOUD_PROJECT ??
22
46
  process.env.GOOGLE_CLOUD_PROJECT ??
23
47
  '';
24
48
  this.region =
25
49
  config.region ??
26
- process.env.ANTHROPIC_VERTEX_REGION ??
27
50
  process.env.CLOUD_ML_REGION ??
28
51
  'us-east5';
29
52
  this.accessToken = config.accessToken;
30
53
  if (!this.projectId) {
31
- throw new Error('Vertex AI requires a project ID. Set ANTHROPIC_VERTEX_PROJECT_ID environment variable.');
54
+ throw new Error('Vertex AI requires a project ID. Set one of: ANTHROPIC_VERTEX_PROJECT_ID, GCLOUD_PROJECT, or GOOGLE_CLOUD_PROJECT');
32
55
  }
33
56
  this.auth = new GoogleAuth({
34
57
  scopes: ['https://www.googleapis.com/auth/cloud-platform'],
@@ -38,12 +61,22 @@ export class VertexAIProvider {
38
61
  if (this.accessToken) {
39
62
  return this.accessToken;
40
63
  }
41
- const client = await this.auth.getClient();
42
- const tokenResponse = await client.getAccessToken();
43
- if (!tokenResponse.token) {
44
- throw new Error('Failed to get access token from Google Cloud');
64
+ try {
65
+ const client = await this.auth.getClient();
66
+ const tokenResponse = await client.getAccessToken();
67
+ if (!tokenResponse.token) {
68
+ throw new Error('Failed to get access token from Google Cloud');
69
+ }
70
+ return tokenResponse.token;
71
+ }
72
+ catch (error) {
73
+ const message = error instanceof Error ? error.message : String(error);
74
+ throw new Error(`Failed to authenticate with Google Cloud. Please ensure you have:\n` +
75
+ `1. Run: gcloud auth application-default login\n` +
76
+ `2. Set ANTHROPIC_VERTEX_PROJECT_ID or GOOGLE_CLOUD_PROJECT\n` +
77
+ `3. Enabled Vertex AI API in your GCP project\n` +
78
+ `Original error: ${message}`);
45
79
  }
46
- return tokenResponse.token;
47
80
  }
48
81
  getEndpoint(model, stream = false) {
49
82
  const method = stream ? 'streamRawPredict' : 'rawPredict';
@@ -1 +1 @@
1
- {"version":3,"file":"vertex-ai.js","sourceRoot":"","sources":["../../src/providers/vertex-ai.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vertex-ai.js","sourceRoot":"","sources":["../../src/providers/vertex-ai.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,109 @@
1
+ /**
2
+ * Three-layer compression engine (inspired by OpenCode)
3
+ * Layer 1: Tool output pruning (fast, no cost)
4
+ * Layer 2: Compaction summarization (LLM-based, medium cost)
5
+ * Layer 3: Message filtering (recovery optimization)
6
+ */
7
+ import type { Message, MessageContent } from '../../providers/types.js';
8
+ import type { CompressionConfig, ConversationSummary, TokenUsage, ModelInfo } from './types.js';
9
+ interface LLMProvider {
10
+ complete(options: {
11
+ model: string;
12
+ messages: Message[];
13
+ maxTokens?: number;
14
+ }): Promise<{
15
+ content: string | MessageContent[];
16
+ }>;
17
+ getModel?(): string;
18
+ }
19
+ /**
20
+ * Compression engine implementing OpenCode's three-layer strategy
21
+ */
22
+ export declare class CompressionEngine {
23
+ private provider;
24
+ private config;
25
+ private readonly CHARS_PER_TOKEN;
26
+ constructor(provider: LLMProvider, config?: Partial<CompressionConfig>);
27
+ /**
28
+ * Estimate tokens using 4:1 character-to-token ratio (OpenCode approach)
29
+ */
30
+ estimateTokens(text: string): number;
31
+ /**
32
+ * Calculate total tokens from messages
33
+ */
34
+ calculateTotalTokens(messages: Message[], tokenUsage?: TokenUsage): number;
35
+ /**
36
+ * Calculate usable context space (OpenCode logic)
37
+ */
38
+ getUsableContext(model: ModelInfo): number;
39
+ /**
40
+ * Check if compression is needed (OpenCode isOverflow logic)
41
+ */
42
+ needsCompression(messages: Message[], model: ModelInfo, tokenUsage?: TokenUsage): {
43
+ needed: boolean;
44
+ strategy: 'prune' | 'compact' | 'none';
45
+ usagePercent?: number;
46
+ shouldWarn?: boolean;
47
+ };
48
+ /**
49
+ * Layer 1: Tool output pruning (OpenCode pruning logic)
50
+ * Fast and cost-free - removes old tool results
51
+ */
52
+ pruneToolOutputs(messages: Message[]): Promise<{
53
+ pruned: boolean;
54
+ prunedCount: number;
55
+ savedTokens: number;
56
+ }>;
57
+ /**
58
+ * Layer 2: Compaction summarization (OpenCode compaction logic)
59
+ * Generates continuation prompt focusing on future context needs
60
+ */
61
+ compact(messages: Message[], range: [number, number]): Promise<ConversationSummary>;
62
+ /**
63
+ * Generate continuation prompt (OpenCode style)
64
+ * Focus on what's needed to continue, not just what was done
65
+ */
66
+ private generateContinuationPrompt;
67
+ /**
68
+ * Extract files modified from tool uses
69
+ */
70
+ private extractFilesModified;
71
+ /**
72
+ * Extract tool usage statistics
73
+ */
74
+ private extractToolUsage;
75
+ /**
76
+ * Extract key decisions from conversation
77
+ */
78
+ private extractKeyDecisions;
79
+ /**
80
+ * Check if message contains tool results
81
+ */
82
+ private hasToolResults;
83
+ /**
84
+ * Clear tool result content (mark as pruned)
85
+ */
86
+ private clearToolResults;
87
+ /**
88
+ * Format messages for summary prompt
89
+ */
90
+ private formatMessagesForSummary;
91
+ /**
92
+ * Extract text content from message content
93
+ */
94
+ private extractTextContent;
95
+ /**
96
+ * Summarize a tool use
97
+ */
98
+ private summarizeToolUse;
99
+ /**
100
+ * Extract decision context from content
101
+ */
102
+ private extractDecisionContext;
103
+ /**
104
+ * Generate unique summary ID
105
+ */
106
+ private generateId;
107
+ }
108
+ export {};
109
+ //# sourceMappingURL=engine.d.ts.map