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.
- package/RELEASE_NOTES_v0.4.0.md +140 -0
- package/dist/agent/agent.d.ts +26 -4
- package/dist/agent/agent.d.ts.map +1 -1
- package/dist/agent/agent.js +316 -57
- package/dist/agent/agent.js.map +1 -1
- package/dist/agent/types.d.ts +20 -2
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/checkpointing/checkpoint-manager.d.ts +24 -0
- package/dist/checkpointing/checkpoint-manager.d.ts.map +1 -1
- package/dist/checkpointing/checkpoint-manager.js +28 -0
- package/dist/checkpointing/checkpoint-manager.js.map +1 -1
- package/dist/cli/components/App.d.ts +8 -0
- package/dist/cli/components/App.d.ts.map +1 -1
- package/dist/cli/components/App.js +493 -45
- package/dist/cli/components/App.js.map +1 -1
- package/dist/cli/components/CommandSuggestions.d.ts.map +1 -1
- package/dist/cli/components/CommandSuggestions.js +2 -0
- package/dist/cli/components/CommandSuggestions.js.map +1 -1
- package/dist/cli/components/Header.d.ts +6 -1
- package/dist/cli/components/Header.d.ts.map +1 -1
- package/dist/cli/components/Header.js +3 -3
- package/dist/cli/components/Header.js.map +1 -1
- package/dist/cli/components/Messages.d.ts.map +1 -1
- package/dist/cli/components/Messages.js +8 -10
- package/dist/cli/components/Messages.js.map +1 -1
- package/dist/cli/components/ModelSelector.d.ts +4 -3
- package/dist/cli/components/ModelSelector.d.ts.map +1 -1
- package/dist/cli/components/ModelSelector.js +54 -37
- package/dist/cli/components/ModelSelector.js.map +1 -1
- package/dist/cli/components/ProviderManager.d.ts +2 -2
- package/dist/cli/components/ProviderManager.d.ts.map +1 -1
- package/dist/cli/components/ProviderManager.js +137 -156
- package/dist/cli/components/ProviderManager.js.map +1 -1
- package/dist/cli/index.js +33 -15
- package/dist/cli/index.js.map +1 -1
- package/dist/config/index.d.ts +2 -2
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +1 -1
- package/dist/config/index.js.map +1 -1
- package/dist/config/levels.d.ts +5 -5
- package/dist/config/levels.d.ts.map +1 -1
- package/dist/config/levels.js +20 -20
- package/dist/config/levels.js.map +1 -1
- package/dist/config/merger.js +1 -1
- package/dist/config/merger.js.map +1 -1
- package/dist/config/providers-config.d.ts +8 -5
- package/dist/config/providers-config.d.ts.map +1 -1
- package/dist/config/providers-config.js +19 -22
- package/dist/config/providers-config.js.map +1 -1
- package/dist/config/test-utils.d.ts +2 -2
- package/dist/config/test-utils.d.ts.map +1 -1
- package/dist/config/test-utils.js +4 -4
- package/dist/config/test-utils.js.map +1 -1
- package/dist/config/types.d.ts +42 -17
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/types.js +14 -14
- package/dist/config/types.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +2 -2
- package/dist/input/history-manager.d.ts +78 -0
- package/dist/input/history-manager.d.ts.map +1 -0
- package/dist/input/history-manager.js +224 -0
- package/dist/input/history-manager.js.map +1 -0
- package/dist/input/index.d.ts +6 -0
- package/dist/input/index.d.ts.map +1 -0
- package/dist/input/index.js +5 -0
- package/dist/input/index.js.map +1 -0
- package/dist/memory/memory-manager.d.ts +25 -12
- package/dist/memory/memory-manager.d.ts.map +1 -1
- package/dist/memory/memory-manager.js +241 -112
- package/dist/memory/memory-manager.js.map +1 -1
- package/dist/memory/test-utils.d.ts +1 -1
- package/dist/memory/test-utils.d.ts.map +1 -1
- package/dist/memory/test-utils.js +3 -3
- package/dist/memory/test-utils.js.map +1 -1
- package/dist/memory/types.d.ts +20 -10
- package/dist/memory/types.d.ts.map +1 -1
- package/dist/memory/types.js +13 -13
- package/dist/memory/types.js.map +1 -1
- package/dist/migration/migrate.d.ts +24 -0
- package/dist/migration/migrate.d.ts.map +1 -0
- package/dist/migration/migrate.js +164 -0
- package/dist/migration/migrate.js.map +1 -0
- package/dist/permissions/persistence.d.ts +2 -2
- package/dist/permissions/persistence.js +4 -4
- package/dist/permissions/persistence.js.map +1 -1
- package/dist/planning/plan-file.d.ts +1 -1
- package/dist/planning/plan-file.js +2 -2
- package/dist/planning/plan-file.js.map +1 -1
- package/dist/prompts/index.d.ts +5 -4
- package/dist/prompts/index.d.ts.map +1 -1
- package/dist/prompts/index.js +13 -10
- package/dist/prompts/index.js.map +1 -1
- package/dist/providers/anthropic.d.ts +2 -1
- package/dist/providers/anthropic.d.ts.map +1 -1
- package/dist/providers/anthropic.js +7 -0
- package/dist/providers/anthropic.js.map +1 -1
- package/dist/providers/gemini.d.ts +2 -1
- package/dist/providers/gemini.d.ts.map +1 -1
- package/dist/providers/gemini.js +40 -2
- package/dist/providers/gemini.js.map +1 -1
- package/dist/providers/google.d.ts +22 -0
- package/dist/providers/google.d.ts.map +1 -0
- package/dist/providers/google.js +297 -0
- package/dist/providers/google.js.map +1 -0
- package/dist/providers/index.d.ts +22 -12
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/index.js +56 -32
- package/dist/providers/index.js.map +1 -1
- package/dist/providers/openai.d.ts +2 -1
- package/dist/providers/openai.d.ts.map +1 -1
- package/dist/providers/openai.js +13 -0
- package/dist/providers/openai.js.map +1 -1
- package/dist/providers/registry.d.ts +48 -34
- package/dist/providers/registry.d.ts.map +1 -1
- package/dist/providers/registry.js +72 -88
- package/dist/providers/registry.js.map +1 -1
- package/dist/providers/store.d.ts +43 -17
- package/dist/providers/store.d.ts.map +1 -1
- package/dist/providers/store.js +112 -19
- package/dist/providers/store.js.map +1 -1
- package/dist/providers/types.d.ts +52 -3
- package/dist/providers/types.d.ts.map +1 -1
- package/dist/providers/vertex-ai.d.ts +15 -7
- package/dist/providers/vertex-ai.d.ts.map +1 -1
- package/dist/providers/vertex-ai.js +46 -13
- package/dist/providers/vertex-ai.js.map +1 -1
- package/dist/session/compression/engine.d.ts +109 -0
- package/dist/session/compression/engine.d.ts.map +1 -0
- package/dist/session/compression/engine.js +311 -0
- package/dist/session/compression/engine.js.map +1 -0
- package/dist/session/compression/index.d.ts +12 -0
- package/dist/session/compression/index.d.ts.map +1 -0
- package/dist/session/compression/index.js +11 -0
- package/dist/session/compression/index.js.map +1 -0
- package/dist/session/compression/types.d.ts +90 -0
- package/dist/session/compression/types.d.ts.map +1 -0
- package/dist/session/compression/types.js +17 -0
- package/dist/session/compression/types.js.map +1 -0
- package/dist/session/manager.d.ts +64 -3
- package/dist/session/manager.d.ts.map +1 -1
- package/dist/session/manager.js +254 -2
- package/dist/session/manager.js.map +1 -1
- package/dist/session/types.d.ts +16 -0
- package/dist/session/types.d.ts.map +1 -1
- package/dist/session/types.js +1 -1
- package/dist/session/types.js.map +1 -1
- package/docs/README.md +1 -0
- package/docs/config-system-comparison.md +50 -50
- package/docs/cost-tracking-comparison.md +2 -2
- package/docs/diagrams/compression-decision.mmd +30 -0
- package/docs/diagrams/compression-workflow.mmd +54 -0
- package/docs/diagrams/layer1-pruning.mmd +45 -0
- package/docs/diagrams/layer2-compaction.mmd +42 -0
- package/docs/memory-system.md +124 -31
- package/docs/permissions.md +2 -2
- package/docs/proposals/0006-memory-system.md +4 -4
- package/docs/proposals/0007-context-management.md +252 -2
- package/docs/proposals/0008-checkpointing.md +109 -2
- package/docs/proposals/0011-custom-commands.md +2 -1
- package/docs/proposals/0021-skills-system.md +2 -1
- package/docs/proposals/0023-permission-enhancements.md +2 -2
- package/docs/proposals/0033-enterprise-deployment.md +1 -1
- package/docs/proposals/0041-configuration-system.md +17 -19
- package/docs/proposals/0042-prompt-optimization.md +17 -9
- package/docs/proposals/README.md +8 -7
- package/docs/providers.md +96 -11
- package/docs/session-compression.md +695 -0
- package/examples/agent-demo.ts +23 -1
- package/examples/basic.ts +3 -3
- package/package.json +2 -2
- package/scripts/migrate.ts +449 -0
- package/src/agent/agent.ts +365 -61
- package/src/agent/types.ts +24 -2
- package/src/checkpointing/checkpoint-manager.ts +48 -0
- package/src/cli/components/App.tsx +570 -42
- package/src/cli/components/CommandSuggestions.tsx +2 -0
- package/src/cli/components/Header.tsx +16 -1
- package/src/cli/components/Messages.tsx +21 -15
- package/src/cli/components/ModelSelector.tsx +62 -43
- package/src/cli/components/ProviderManager.tsx +278 -323
- package/src/cli/index.tsx +38 -18
- package/src/config/index.ts +5 -3
- package/src/config/levels.test.ts +22 -22
- package/src/config/levels.ts +22 -22
- package/src/config/loader.test.ts +14 -14
- package/src/config/manager.test.ts +19 -19
- package/src/config/merger.test.ts +23 -23
- package/src/config/merger.ts +1 -1
- package/src/config/providers-config.ts +23 -21
- package/src/config/test-utils.ts +6 -6
- package/src/config/types.ts +55 -20
- package/src/index.ts +3 -3
- package/src/input/history-manager.ts +289 -0
- package/src/input/index.ts +6 -0
- package/src/memory/memory-manager.test.ts +242 -24
- package/src/memory/memory-manager.ts +270 -141
- package/src/memory/test-utils.ts +4 -4
- package/src/memory/types.ts +28 -17
- package/src/permissions/persistence.ts +4 -4
- package/src/planning/plan-file.ts +2 -2
- package/src/prompts/index.test.ts +2 -1
- package/src/prompts/index.ts +15 -11
- package/src/providers/anthropic.ts +9 -0
- package/src/providers/{gemini.ts → google.ts} +75 -15
- package/src/providers/index.ts +85 -42
- package/src/providers/openai.ts +16 -0
- package/src/providers/registry.ts +116 -111
- package/src/providers/store.ts +130 -28
- package/src/providers/types.ts +65 -3
- package/src/providers/vertex-ai.ts +49 -13
- package/src/session/compression/engine.ts +406 -0
- package/src/session/compression/index.ts +18 -0
- package/src/session/compression/types.ts +102 -0
- package/src/session/manager.ts +326 -3
- package/src/session/types.ts +22 -1
- package/tests/input-history-manager.test.ts +335 -0
- package/tests/session-checkpoint-persistence.test.ts +198 -0
package/dist/providers/store.js
CHANGED
|
@@ -1,13 +1,31 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Provider Store - Manages provider connections and model cache
|
|
3
3
|
*
|
|
4
|
-
* Storage location: ~/.
|
|
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(), '.
|
|
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,
|
|
87
|
+
connect(providerId, authMethod, displayName) {
|
|
70
88
|
this.config.connections[providerId] = {
|
|
71
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
115
|
-
|
|
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
|
-
|
|
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":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACxE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;
|
|
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
|
|
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 |
|
|
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":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAMxD,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;AAE1D,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,UAAU,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE/B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,aAAa,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG,cAAc,GAAG,iBAAiB,CAAC;AAE9E,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,MAAM,GAAG,cAAc,EAAE,CAAC;CACpC;AAMD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACxC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,UAAU,CAAC;CACxB;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAMD,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;
|
|
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
|
-
*
|
|
3
|
-
* Supports Claude models
|
|
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.
|
|
7
|
-
* 2.
|
|
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
|
|
12
|
-
readonly
|
|
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
|
|
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
|
-
*
|
|
3
|
-
* Supports Claude models
|
|
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.
|
|
7
|
-
* 2.
|
|
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
|
|
13
|
-
|
|
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
|
|
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
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
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
|