opencode-windsurf-codeium 0.1.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/README.md +272 -0
- package/dist/index.d.ts +30 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +33 -0
- package/dist/index.js.map +1 -0
- package/dist/src/constants.d.ts +118 -0
- package/dist/src/constants.d.ts.map +1 -0
- package/dist/src/constants.js +174 -0
- package/dist/src/constants.js.map +1 -0
- package/dist/src/plugin/auth.d.ts +71 -0
- package/dist/src/plugin/auth.d.ts.map +1 -0
- package/dist/src/plugin/auth.js +242 -0
- package/dist/src/plugin/auth.js.map +1 -0
- package/dist/src/plugin/cloud-client.d.ts +24 -0
- package/dist/src/plugin/cloud-client.d.ts.map +1 -0
- package/dist/src/plugin/cloud-client.js +359 -0
- package/dist/src/plugin/cloud-client.js.map +1 -0
- package/dist/src/plugin/grpc-client.d.ts +37 -0
- package/dist/src/plugin/grpc-client.d.ts.map +1 -0
- package/dist/src/plugin/grpc-client.js +521 -0
- package/dist/src/plugin/grpc-client.js.map +1 -0
- package/dist/src/plugin/models.d.ts +50 -0
- package/dist/src/plugin/models.d.ts.map +1 -0
- package/dist/src/plugin/models.js +390 -0
- package/dist/src/plugin/models.js.map +1 -0
- package/dist/src/plugin/types.d.ts +414 -0
- package/dist/src/plugin/types.d.ts.map +1 -0
- package/dist/src/plugin/types.js +177 -0
- package/dist/src/plugin/types.js.map +1 -0
- package/dist/src/plugin.d.ts +25 -0
- package/dist/src/plugin.d.ts.map +1 -0
- package/dist/src/plugin.js +242 -0
- package/dist/src/plugin.js.map +1 -0
- package/package.json +56 -0
|
@@ -0,0 +1,414 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TypeScript type definitions for the Windsurf plugin
|
|
3
|
+
*/
|
|
4
|
+
import type { PluginInput } from '@opencode-ai/plugin';
|
|
5
|
+
/**
|
|
6
|
+
* Numeric enum values for Windsurf models (used in protobuf encoding)
|
|
7
|
+
* These values are extracted from Windsurf's extension.js via reverse engineering.
|
|
8
|
+
*
|
|
9
|
+
* To discover these values yourself:
|
|
10
|
+
* 1. Find extension.js: /Applications/Windsurf.app/Contents/Resources/app/extensions/windsurf/dist/extension.js
|
|
11
|
+
* 2. Search for patterns like: grep -oE 'CLAUDE[A-Z0-9_]+\s*=\s*[0-9]+' extension.js
|
|
12
|
+
*/
|
|
13
|
+
export declare const ModelEnum: {
|
|
14
|
+
readonly MODEL_UNSPECIFIED: 0;
|
|
15
|
+
readonly CLAUDE_3_OPUS_20240229: 63;
|
|
16
|
+
readonly CLAUDE_3_SONNET_20240229: 64;
|
|
17
|
+
readonly CLAUDE_3_HAIKU_20240307: 172;
|
|
18
|
+
readonly CLAUDE_3_5_SONNET_20240620: 80;
|
|
19
|
+
readonly CLAUDE_3_5_SONNET_20241022: 166;
|
|
20
|
+
readonly CLAUDE_3_5_HAIKU_20241022: 171;
|
|
21
|
+
readonly CLAUDE_3_7_SONNET_20250219: 226;
|
|
22
|
+
readonly CLAUDE_3_7_SONNET_20250219_THINKING: 227;
|
|
23
|
+
readonly CLAUDE_4_OPUS: 290;
|
|
24
|
+
readonly CLAUDE_4_OPUS_THINKING: 291;
|
|
25
|
+
readonly CLAUDE_4_SONNET: 281;
|
|
26
|
+
readonly CLAUDE_4_SONNET_THINKING: 282;
|
|
27
|
+
readonly CLAUDE_4_1_OPUS: 328;
|
|
28
|
+
readonly CLAUDE_4_1_OPUS_THINKING: 329;
|
|
29
|
+
readonly CLAUDE_4_5_SONNET: 353;
|
|
30
|
+
readonly CLAUDE_4_5_SONNET_THINKING: 354;
|
|
31
|
+
readonly CLAUDE_4_5_SONNET_1M: 370;
|
|
32
|
+
readonly CLAUDE_4_5_OPUS: 391;
|
|
33
|
+
readonly CLAUDE_4_5_OPUS_THINKING: 392;
|
|
34
|
+
readonly CLAUDE_CODE: 344;
|
|
35
|
+
readonly GPT_4: 30;
|
|
36
|
+
readonly GPT_4_1106_PREVIEW: 37;
|
|
37
|
+
readonly GPT_4O_2024_05_13: 71;
|
|
38
|
+
readonly GPT_4O_2024_08_06: 109;
|
|
39
|
+
readonly GPT_4O_MINI_2024_07_18: 113;
|
|
40
|
+
readonly GPT_4_5: 228;
|
|
41
|
+
readonly GPT_4_1_2025_04_14: 259;
|
|
42
|
+
readonly GPT_4_1_MINI_2025_04_14: 260;
|
|
43
|
+
readonly GPT_4_1_NANO_2025_04_14: 261;
|
|
44
|
+
readonly GPT_5_NANO: 337;
|
|
45
|
+
readonly GPT_5_MINIMAL: 338;
|
|
46
|
+
readonly GPT_5_LOW: 339;
|
|
47
|
+
readonly GPT_5: 340;
|
|
48
|
+
readonly GPT_5_HIGH: 341;
|
|
49
|
+
readonly GPT_5_CODEX: 346;
|
|
50
|
+
readonly GPT_5_1_CODEX_MINI_LOW: 385;
|
|
51
|
+
readonly GPT_5_1_CODEX_MINI_MEDIUM: 386;
|
|
52
|
+
readonly GPT_5_1_CODEX_MINI_HIGH: 387;
|
|
53
|
+
readonly GPT_5_1_CODEX_LOW: 388;
|
|
54
|
+
readonly GPT_5_1_CODEX_MEDIUM: 389;
|
|
55
|
+
readonly GPT_5_1_CODEX_HIGH: 390;
|
|
56
|
+
readonly GPT_5_1_CODEX_MAX_LOW: 395;
|
|
57
|
+
readonly GPT_5_1_CODEX_MAX_MEDIUM: 396;
|
|
58
|
+
readonly GPT_5_1_CODEX_MAX_HIGH: 397;
|
|
59
|
+
readonly GPT_5_2_NONE: 399;
|
|
60
|
+
readonly GPT_5_2_LOW: 400;
|
|
61
|
+
readonly GPT_5_2_MEDIUM: 401;
|
|
62
|
+
readonly GPT_5_2_HIGH: 402;
|
|
63
|
+
readonly GPT_5_2_XHIGH: 403;
|
|
64
|
+
readonly GPT_5_2_NONE_PRIORITY: 404;
|
|
65
|
+
readonly GPT_5_2_LOW_PRIORITY: 405;
|
|
66
|
+
readonly GPT_5_2_MEDIUM_PRIORITY: 406;
|
|
67
|
+
readonly GPT_5_2_HIGH_PRIORITY: 407;
|
|
68
|
+
readonly GPT_5_2_XHIGH_PRIORITY: 408;
|
|
69
|
+
readonly O1_PREVIEW: 117;
|
|
70
|
+
readonly O1_MINI: 118;
|
|
71
|
+
readonly O1: 170;
|
|
72
|
+
readonly O3_MINI: 207;
|
|
73
|
+
readonly O3_MINI_LOW: 213;
|
|
74
|
+
readonly O3_MINI_HIGH: 214;
|
|
75
|
+
readonly O3: 218;
|
|
76
|
+
readonly O3_LOW: 262;
|
|
77
|
+
readonly O3_HIGH: 263;
|
|
78
|
+
readonly O3_PRO: 294;
|
|
79
|
+
readonly O3_PRO_LOW: 295;
|
|
80
|
+
readonly O3_PRO_HIGH: 296;
|
|
81
|
+
readonly O4_MINI: 264;
|
|
82
|
+
readonly O4_MINI_LOW: 265;
|
|
83
|
+
readonly O4_MINI_HIGH: 266;
|
|
84
|
+
readonly GEMINI_1_0_PRO: 61;
|
|
85
|
+
readonly GEMINI_1_5_PRO: 62;
|
|
86
|
+
readonly GEMINI_2_0_FLASH: 184;
|
|
87
|
+
readonly GEMINI_2_5_PRO: 246;
|
|
88
|
+
readonly GEMINI_2_5_FLASH: 312;
|
|
89
|
+
readonly GEMINI_2_5_FLASH_THINKING: 313;
|
|
90
|
+
readonly GEMINI_2_5_FLASH_LITE: 343;
|
|
91
|
+
readonly GEMINI_3_0_PRO_LOW: 378;
|
|
92
|
+
readonly GEMINI_3_0_PRO_HIGH: 379;
|
|
93
|
+
readonly GEMINI_3_0_PRO_MINIMAL: 411;
|
|
94
|
+
readonly GEMINI_3_0_PRO_MEDIUM: 412;
|
|
95
|
+
readonly GEMINI_3_0_FLASH_MINIMAL: 413;
|
|
96
|
+
readonly GEMINI_3_0_FLASH_LOW: 414;
|
|
97
|
+
readonly GEMINI_3_0_FLASH_MEDIUM: 415;
|
|
98
|
+
readonly GEMINI_3_0_FLASH_HIGH: 416;
|
|
99
|
+
readonly DEEPSEEK_V3: 205;
|
|
100
|
+
readonly DEEPSEEK_R1: 206;
|
|
101
|
+
readonly DEEPSEEK_R1_SLOW: 215;
|
|
102
|
+
readonly DEEPSEEK_R1_FAST: 216;
|
|
103
|
+
readonly DEEPSEEK_V3_2: 409;
|
|
104
|
+
readonly LLAMA_3_1_8B_INSTRUCT: 106;
|
|
105
|
+
readonly LLAMA_3_1_70B_INSTRUCT: 107;
|
|
106
|
+
readonly LLAMA_3_1_405B_INSTRUCT: 105;
|
|
107
|
+
readonly LLAMA_3_3_70B_INSTRUCT: 208;
|
|
108
|
+
readonly LLAMA_3_3_70B_INSTRUCT_R1: 209;
|
|
109
|
+
readonly QWEN_2_5_7B_INSTRUCT: 178;
|
|
110
|
+
readonly QWEN_2_5_32B_INSTRUCT: 179;
|
|
111
|
+
readonly QWEN_2_5_72B_INSTRUCT: 180;
|
|
112
|
+
readonly QWEN_2_5_32B_INSTRUCT_R1: 224;
|
|
113
|
+
readonly QWEN_3_235B_INSTRUCT: 324;
|
|
114
|
+
readonly QWEN_3_CODER_480B_INSTRUCT: 325;
|
|
115
|
+
readonly QWEN_3_CODER_480B_INSTRUCT_FAST: 327;
|
|
116
|
+
readonly GROK_2: 212;
|
|
117
|
+
readonly GROK_3: 217;
|
|
118
|
+
readonly GROK_3_MINI_REASONING: 234;
|
|
119
|
+
readonly GROK_CODE_FAST: 345;
|
|
120
|
+
readonly MISTRAL_7B: 77;
|
|
121
|
+
readonly KIMI_K2: 323;
|
|
122
|
+
readonly KIMI_K2_THINKING: 394;
|
|
123
|
+
readonly GLM_4_5: 342;
|
|
124
|
+
readonly GLM_4_5_FAST: 352;
|
|
125
|
+
readonly GLM_4_6: 356;
|
|
126
|
+
readonly GLM_4_6_FAST: 357;
|
|
127
|
+
readonly GLM_4_7: 417;
|
|
128
|
+
readonly GLM_4_7_FAST: 418;
|
|
129
|
+
readonly MINIMAX_M2: 368;
|
|
130
|
+
readonly MINIMAX_M2_1: 419;
|
|
131
|
+
readonly SWE_1_5: 359;
|
|
132
|
+
readonly SWE_1_5_THINKING: 369;
|
|
133
|
+
readonly SWE_1_5_SLOW: 377;
|
|
134
|
+
readonly CLAUDE_4_5_SONNET_THINKING_1M: 371;
|
|
135
|
+
};
|
|
136
|
+
export type ModelEnumValue = (typeof ModelEnum)[keyof typeof ModelEnum];
|
|
137
|
+
/**
|
|
138
|
+
* Chat message source types for protobuf encoding
|
|
139
|
+
*/
|
|
140
|
+
export declare const ChatMessageSource: {
|
|
141
|
+
readonly UNSPECIFIED: 0;
|
|
142
|
+
readonly USER: 1;
|
|
143
|
+
readonly SYSTEM: 2;
|
|
144
|
+
readonly ASSISTANT: 3;
|
|
145
|
+
readonly TOOL: 4;
|
|
146
|
+
};
|
|
147
|
+
export type ChatMessageSourceValue = (typeof ChatMessageSource)[keyof typeof ChatMessageSource];
|
|
148
|
+
/** Firebase authentication data stored by Windsurf */
|
|
149
|
+
export interface FirebaseAuthData {
|
|
150
|
+
/** Firebase ID token (JWT) */
|
|
151
|
+
idToken: string;
|
|
152
|
+
/** Refresh token for getting new ID tokens */
|
|
153
|
+
refreshToken: string;
|
|
154
|
+
/** Token expiry timestamp (ms) */
|
|
155
|
+
expiresAt: number;
|
|
156
|
+
/** User's email */
|
|
157
|
+
email?: string;
|
|
158
|
+
/** User's display name */
|
|
159
|
+
displayName?: string;
|
|
160
|
+
/** Firebase user ID */
|
|
161
|
+
uid?: string;
|
|
162
|
+
}
|
|
163
|
+
/** Windsurf account stored by the plugin */
|
|
164
|
+
export interface WindsurfAccount {
|
|
165
|
+
/** Account identifier (email or UID) */
|
|
166
|
+
id: string;
|
|
167
|
+
/** Display name for the account */
|
|
168
|
+
name: string;
|
|
169
|
+
/** Firebase authentication data */
|
|
170
|
+
auth: FirebaseAuthData;
|
|
171
|
+
/** Codeium API key (if separate from Firebase token) */
|
|
172
|
+
apiKey?: string;
|
|
173
|
+
/** Installation ID */
|
|
174
|
+
installationId?: string;
|
|
175
|
+
/** Account status */
|
|
176
|
+
status: 'active' | 'expired' | 'rate_limited' | 'error';
|
|
177
|
+
/** Last error message if status is 'error' */
|
|
178
|
+
lastError?: string;
|
|
179
|
+
/** Rate limit state */
|
|
180
|
+
rateLimit?: RateLimitState;
|
|
181
|
+
/** When the account was added */
|
|
182
|
+
addedAt: number;
|
|
183
|
+
/** Last successful request timestamp */
|
|
184
|
+
lastUsedAt?: number;
|
|
185
|
+
}
|
|
186
|
+
/** Rate limit tracking state */
|
|
187
|
+
export interface RateLimitState {
|
|
188
|
+
/** Whether currently rate limited */
|
|
189
|
+
isLimited: boolean;
|
|
190
|
+
/** When the rate limit expires (ms) */
|
|
191
|
+
resetAt?: number;
|
|
192
|
+
/** Number of consecutive rate limit hits */
|
|
193
|
+
consecutiveHits: number;
|
|
194
|
+
/** Current backoff duration (ms) */
|
|
195
|
+
backoffMs: number;
|
|
196
|
+
}
|
|
197
|
+
/** Accounts storage file format */
|
|
198
|
+
export interface AccountsStorage {
|
|
199
|
+
/** Storage format version */
|
|
200
|
+
version: number;
|
|
201
|
+
/** Stored accounts */
|
|
202
|
+
accounts: WindsurfAccount[];
|
|
203
|
+
/** Currently selected account ID */
|
|
204
|
+
selectedAccountId?: string;
|
|
205
|
+
/** Plugin settings */
|
|
206
|
+
settings?: PluginSettings;
|
|
207
|
+
}
|
|
208
|
+
/** Plugin settings */
|
|
209
|
+
export interface PluginSettings {
|
|
210
|
+
/** Account selection strategy */
|
|
211
|
+
accountStrategy: 'sticky' | 'round-robin' | 'least-used';
|
|
212
|
+
/** Enable debug logging */
|
|
213
|
+
debug?: boolean;
|
|
214
|
+
/** Custom API server URL (for enterprise) */
|
|
215
|
+
customApiServer?: string;
|
|
216
|
+
/** Custom inference server URL */
|
|
217
|
+
customInferenceServer?: string;
|
|
218
|
+
}
|
|
219
|
+
/** Metadata sent with every gRPC request */
|
|
220
|
+
export interface RequestMetadata {
|
|
221
|
+
/** User's API key */
|
|
222
|
+
apiKey: string;
|
|
223
|
+
/** IDE name */
|
|
224
|
+
ideName: string;
|
|
225
|
+
/** IDE version */
|
|
226
|
+
ideVersion: string;
|
|
227
|
+
/** Extension version */
|
|
228
|
+
extensionVersion: string;
|
|
229
|
+
/** Unique session ID */
|
|
230
|
+
sessionId: string;
|
|
231
|
+
/** User locale */
|
|
232
|
+
locale: string;
|
|
233
|
+
}
|
|
234
|
+
/** Chat message in Windsurf format */
|
|
235
|
+
export interface WindsurfChatMessage {
|
|
236
|
+
/** Message role */
|
|
237
|
+
role: 'user' | 'assistant' | 'system' | 'tool';
|
|
238
|
+
/** Message content */
|
|
239
|
+
content: string;
|
|
240
|
+
/** Tool call ID (for tool role) */
|
|
241
|
+
toolCallId?: string;
|
|
242
|
+
/** Tool calls made by assistant */
|
|
243
|
+
toolCalls?: WindsurfToolCall[];
|
|
244
|
+
}
|
|
245
|
+
/** Tool call in Windsurf format */
|
|
246
|
+
export interface WindsurfToolCall {
|
|
247
|
+
/** Tool call ID */
|
|
248
|
+
id: string;
|
|
249
|
+
/** Tool/function name */
|
|
250
|
+
name: string;
|
|
251
|
+
/** Arguments as JSON string */
|
|
252
|
+
arguments: string;
|
|
253
|
+
}
|
|
254
|
+
/** Tool definition in Windsurf format */
|
|
255
|
+
export interface WindsurfToolDefinition {
|
|
256
|
+
/** Tool name */
|
|
257
|
+
name: string;
|
|
258
|
+
/** Tool description */
|
|
259
|
+
description: string;
|
|
260
|
+
/** Parameters schema (JSON Schema) */
|
|
261
|
+
parameters: Record<string, unknown>;
|
|
262
|
+
}
|
|
263
|
+
/** Cascade session info */
|
|
264
|
+
export interface CascadeSession {
|
|
265
|
+
/** Session ID */
|
|
266
|
+
cascadeId: string;
|
|
267
|
+
/** Model being used */
|
|
268
|
+
model: string;
|
|
269
|
+
/** Session start time */
|
|
270
|
+
startedAt: number;
|
|
271
|
+
/** Message count */
|
|
272
|
+
messageCount: number;
|
|
273
|
+
}
|
|
274
|
+
/** Plugin initialization context */
|
|
275
|
+
export interface WindsurfPluginContext extends PluginInput {
|
|
276
|
+
/** Plugin-specific client extensions */
|
|
277
|
+
client: PluginInput['client'] & {
|
|
278
|
+
/** TUI methods */
|
|
279
|
+
tui?: {
|
|
280
|
+
showToast?: (message: string, type?: 'info' | 'success' | 'warning' | 'error') => void;
|
|
281
|
+
};
|
|
282
|
+
};
|
|
283
|
+
}
|
|
284
|
+
/** Account loader function signature */
|
|
285
|
+
export type AccountLoader = (getAuth: () => Promise<{
|
|
286
|
+
account: WindsurfAccount;
|
|
287
|
+
} | undefined>, provider: string) => Promise<{
|
|
288
|
+
apiKey: string;
|
|
289
|
+
fetch: (input: string | URL | Request, init?: RequestInit) => Promise<Response>;
|
|
290
|
+
}>;
|
|
291
|
+
/** Plugin result returned by createWindsurfPlugin */
|
|
292
|
+
export interface WindsurfPluginResult {
|
|
293
|
+
/** Event handler registration */
|
|
294
|
+
event: (handler: (event: PluginEvent) => void) => void;
|
|
295
|
+
/** Authentication configuration */
|
|
296
|
+
auth: {
|
|
297
|
+
/** Provider identifier */
|
|
298
|
+
provider: string;
|
|
299
|
+
/** Account loader */
|
|
300
|
+
loader: AccountLoader;
|
|
301
|
+
/** Auth methods */
|
|
302
|
+
methods: {
|
|
303
|
+
login: () => Promise<void>;
|
|
304
|
+
logout: () => Promise<void>;
|
|
305
|
+
refresh: () => Promise<void>;
|
|
306
|
+
};
|
|
307
|
+
};
|
|
308
|
+
}
|
|
309
|
+
/** Plugin events */
|
|
310
|
+
export type PluginEvent = {
|
|
311
|
+
type: 'account_added';
|
|
312
|
+
account: WindsurfAccount;
|
|
313
|
+
} | {
|
|
314
|
+
type: 'account_removed';
|
|
315
|
+
accountId: string;
|
|
316
|
+
} | {
|
|
317
|
+
type: 'account_refreshed';
|
|
318
|
+
account: WindsurfAccount;
|
|
319
|
+
} | {
|
|
320
|
+
type: 'rate_limited';
|
|
321
|
+
accountId: string;
|
|
322
|
+
resetAt: number;
|
|
323
|
+
} | {
|
|
324
|
+
type: 'error';
|
|
325
|
+
message: string;
|
|
326
|
+
accountId?: string;
|
|
327
|
+
};
|
|
328
|
+
/** OpenCode request format (what we receive) */
|
|
329
|
+
export interface OpenCodeRequest {
|
|
330
|
+
/** Model name */
|
|
331
|
+
model: string;
|
|
332
|
+
/** Messages */
|
|
333
|
+
messages: Array<{
|
|
334
|
+
role: string;
|
|
335
|
+
content: string | Array<{
|
|
336
|
+
type: string;
|
|
337
|
+
text?: string;
|
|
338
|
+
[key: string]: unknown;
|
|
339
|
+
}>;
|
|
340
|
+
}>;
|
|
341
|
+
/** Tools */
|
|
342
|
+
tools?: Array<{
|
|
343
|
+
type: string;
|
|
344
|
+
function: {
|
|
345
|
+
name: string;
|
|
346
|
+
description: string;
|
|
347
|
+
parameters: Record<string, unknown>;
|
|
348
|
+
};
|
|
349
|
+
}>;
|
|
350
|
+
/** Streaming */
|
|
351
|
+
stream?: boolean;
|
|
352
|
+
/** Temperature */
|
|
353
|
+
temperature?: number;
|
|
354
|
+
/** Max tokens */
|
|
355
|
+
max_tokens?: number;
|
|
356
|
+
/** System instruction */
|
|
357
|
+
system?: string;
|
|
358
|
+
}
|
|
359
|
+
/** Transformed Windsurf request format */
|
|
360
|
+
export interface WindsurfRequest {
|
|
361
|
+
/** Request metadata */
|
|
362
|
+
metadata: RequestMetadata;
|
|
363
|
+
/** Cascade session ID */
|
|
364
|
+
cascadeId?: string;
|
|
365
|
+
/** Model or alias */
|
|
366
|
+
modelOrAlias: string;
|
|
367
|
+
/** Chat messages */
|
|
368
|
+
messages: WindsurfChatMessage[];
|
|
369
|
+
/** Tool definitions */
|
|
370
|
+
tools?: WindsurfToolDefinition[];
|
|
371
|
+
/** Tool choice constraint */
|
|
372
|
+
toolChoice?: 'auto' | 'none' | {
|
|
373
|
+
name: string;
|
|
374
|
+
};
|
|
375
|
+
/** Generation config */
|
|
376
|
+
generationConfig?: {
|
|
377
|
+
temperature?: number;
|
|
378
|
+
maxOutputTokens?: number;
|
|
379
|
+
};
|
|
380
|
+
}
|
|
381
|
+
/** Windsurf streaming response chunk */
|
|
382
|
+
export interface WindsurfStreamChunk {
|
|
383
|
+
/** Chunk type */
|
|
384
|
+
type: 'content' | 'tool_call' | 'done' | 'error';
|
|
385
|
+
/** Content delta */
|
|
386
|
+
content?: string;
|
|
387
|
+
/** Tool call delta */
|
|
388
|
+
toolCall?: Partial<WindsurfToolCall>;
|
|
389
|
+
/** Error message */
|
|
390
|
+
error?: string;
|
|
391
|
+
/** Usage stats (on done) */
|
|
392
|
+
usage?: {
|
|
393
|
+
promptTokens: number;
|
|
394
|
+
completionTokens: number;
|
|
395
|
+
};
|
|
396
|
+
}
|
|
397
|
+
/**
|
|
398
|
+
* Device flow OAuth state
|
|
399
|
+
*/
|
|
400
|
+
export interface DeviceFlowState {
|
|
401
|
+
/** Device code for polling */
|
|
402
|
+
deviceCode: string;
|
|
403
|
+
/** User code to display */
|
|
404
|
+
userCode: string;
|
|
405
|
+
/** Verification URL */
|
|
406
|
+
verificationUrl: string;
|
|
407
|
+
/** URL with code embedded */
|
|
408
|
+
verificationUrlComplete: string;
|
|
409
|
+
/** Polling interval in seconds */
|
|
410
|
+
interval: number;
|
|
411
|
+
/** Expiry time */
|
|
412
|
+
expiresAt: number;
|
|
413
|
+
}
|
|
414
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/plugin/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TypeScript type definitions for the Windsurf plugin
|
|
3
|
+
*/
|
|
4
|
+
// ============================================================================
|
|
5
|
+
// Model Enums (Protobuf values from Windsurf language server)
|
|
6
|
+
// ============================================================================
|
|
7
|
+
/**
|
|
8
|
+
* Numeric enum values for Windsurf models (used in protobuf encoding)
|
|
9
|
+
* These values are extracted from Windsurf's extension.js via reverse engineering.
|
|
10
|
+
*
|
|
11
|
+
* To discover these values yourself:
|
|
12
|
+
* 1. Find extension.js: /Applications/Windsurf.app/Contents/Resources/app/extensions/windsurf/dist/extension.js
|
|
13
|
+
* 2. Search for patterns like: grep -oE 'CLAUDE[A-Z0-9_]+\s*=\s*[0-9]+' extension.js
|
|
14
|
+
*/
|
|
15
|
+
export const ModelEnum = {
|
|
16
|
+
MODEL_UNSPECIFIED: 0,
|
|
17
|
+
// ============================================================================
|
|
18
|
+
// Claude Models
|
|
19
|
+
// ============================================================================
|
|
20
|
+
CLAUDE_3_OPUS_20240229: 63,
|
|
21
|
+
CLAUDE_3_SONNET_20240229: 64,
|
|
22
|
+
CLAUDE_3_HAIKU_20240307: 172,
|
|
23
|
+
CLAUDE_3_5_SONNET_20240620: 80,
|
|
24
|
+
CLAUDE_3_5_SONNET_20241022: 166,
|
|
25
|
+
CLAUDE_3_5_HAIKU_20241022: 171,
|
|
26
|
+
CLAUDE_3_7_SONNET_20250219: 226,
|
|
27
|
+
CLAUDE_3_7_SONNET_20250219_THINKING: 227,
|
|
28
|
+
CLAUDE_4_OPUS: 290,
|
|
29
|
+
CLAUDE_4_OPUS_THINKING: 291,
|
|
30
|
+
CLAUDE_4_SONNET: 281,
|
|
31
|
+
CLAUDE_4_SONNET_THINKING: 282,
|
|
32
|
+
CLAUDE_4_1_OPUS: 328,
|
|
33
|
+
CLAUDE_4_1_OPUS_THINKING: 329,
|
|
34
|
+
CLAUDE_4_5_SONNET: 353,
|
|
35
|
+
CLAUDE_4_5_SONNET_THINKING: 354,
|
|
36
|
+
CLAUDE_4_5_SONNET_1M: 370,
|
|
37
|
+
CLAUDE_4_5_OPUS: 391,
|
|
38
|
+
CLAUDE_4_5_OPUS_THINKING: 392,
|
|
39
|
+
CLAUDE_CODE: 344,
|
|
40
|
+
// ============================================================================
|
|
41
|
+
// GPT Models
|
|
42
|
+
// ============================================================================
|
|
43
|
+
GPT_4: 30,
|
|
44
|
+
GPT_4_1106_PREVIEW: 37,
|
|
45
|
+
GPT_4O_2024_05_13: 71,
|
|
46
|
+
GPT_4O_2024_08_06: 109,
|
|
47
|
+
GPT_4O_MINI_2024_07_18: 113,
|
|
48
|
+
GPT_4_5: 228,
|
|
49
|
+
GPT_4_1_2025_04_14: 259,
|
|
50
|
+
GPT_4_1_MINI_2025_04_14: 260,
|
|
51
|
+
GPT_4_1_NANO_2025_04_14: 261,
|
|
52
|
+
GPT_5_NANO: 337,
|
|
53
|
+
GPT_5_MINIMAL: 338,
|
|
54
|
+
GPT_5_LOW: 339,
|
|
55
|
+
GPT_5: 340,
|
|
56
|
+
GPT_5_HIGH: 341,
|
|
57
|
+
GPT_5_CODEX: 346,
|
|
58
|
+
// GPT 5.1 Codex variants
|
|
59
|
+
GPT_5_1_CODEX_MINI_LOW: 385,
|
|
60
|
+
GPT_5_1_CODEX_MINI_MEDIUM: 386,
|
|
61
|
+
GPT_5_1_CODEX_MINI_HIGH: 387,
|
|
62
|
+
GPT_5_1_CODEX_LOW: 388,
|
|
63
|
+
GPT_5_1_CODEX_MEDIUM: 389,
|
|
64
|
+
GPT_5_1_CODEX_HIGH: 390,
|
|
65
|
+
GPT_5_1_CODEX_MAX_LOW: 395,
|
|
66
|
+
GPT_5_1_CODEX_MAX_MEDIUM: 396,
|
|
67
|
+
GPT_5_1_CODEX_MAX_HIGH: 397,
|
|
68
|
+
// GPT 5.2 variants
|
|
69
|
+
GPT_5_2_NONE: 399,
|
|
70
|
+
GPT_5_2_LOW: 400,
|
|
71
|
+
GPT_5_2_MEDIUM: 401,
|
|
72
|
+
GPT_5_2_HIGH: 402,
|
|
73
|
+
GPT_5_2_XHIGH: 403,
|
|
74
|
+
GPT_5_2_NONE_PRIORITY: 404,
|
|
75
|
+
GPT_5_2_LOW_PRIORITY: 405,
|
|
76
|
+
GPT_5_2_MEDIUM_PRIORITY: 406,
|
|
77
|
+
GPT_5_2_HIGH_PRIORITY: 407,
|
|
78
|
+
GPT_5_2_XHIGH_PRIORITY: 408,
|
|
79
|
+
// ============================================================================
|
|
80
|
+
// O-Series (OpenAI Reasoning)
|
|
81
|
+
// ============================================================================
|
|
82
|
+
O1_PREVIEW: 117,
|
|
83
|
+
O1_MINI: 118,
|
|
84
|
+
O1: 170,
|
|
85
|
+
O3_MINI: 207,
|
|
86
|
+
O3_MINI_LOW: 213,
|
|
87
|
+
O3_MINI_HIGH: 214,
|
|
88
|
+
O3: 218,
|
|
89
|
+
O3_LOW: 262,
|
|
90
|
+
O3_HIGH: 263,
|
|
91
|
+
O3_PRO: 294,
|
|
92
|
+
O3_PRO_LOW: 295,
|
|
93
|
+
O3_PRO_HIGH: 296,
|
|
94
|
+
O4_MINI: 264,
|
|
95
|
+
O4_MINI_LOW: 265,
|
|
96
|
+
O4_MINI_HIGH: 266,
|
|
97
|
+
// ============================================================================
|
|
98
|
+
// Google Gemini
|
|
99
|
+
// ============================================================================
|
|
100
|
+
GEMINI_1_0_PRO: 61,
|
|
101
|
+
GEMINI_1_5_PRO: 62,
|
|
102
|
+
GEMINI_2_0_FLASH: 184,
|
|
103
|
+
GEMINI_2_5_PRO: 246,
|
|
104
|
+
GEMINI_2_5_FLASH: 312,
|
|
105
|
+
GEMINI_2_5_FLASH_THINKING: 313,
|
|
106
|
+
GEMINI_2_5_FLASH_LITE: 343,
|
|
107
|
+
GEMINI_3_0_PRO_LOW: 378,
|
|
108
|
+
GEMINI_3_0_PRO_HIGH: 379,
|
|
109
|
+
GEMINI_3_0_PRO_MINIMAL: 411,
|
|
110
|
+
GEMINI_3_0_PRO_MEDIUM: 412,
|
|
111
|
+
GEMINI_3_0_FLASH_MINIMAL: 413,
|
|
112
|
+
GEMINI_3_0_FLASH_LOW: 414,
|
|
113
|
+
GEMINI_3_0_FLASH_MEDIUM: 415,
|
|
114
|
+
GEMINI_3_0_FLASH_HIGH: 416,
|
|
115
|
+
// ============================================================================
|
|
116
|
+
// DeepSeek
|
|
117
|
+
// ============================================================================
|
|
118
|
+
DEEPSEEK_V3: 205,
|
|
119
|
+
DEEPSEEK_R1: 206,
|
|
120
|
+
DEEPSEEK_R1_SLOW: 215,
|
|
121
|
+
DEEPSEEK_R1_FAST: 216,
|
|
122
|
+
DEEPSEEK_V3_2: 409,
|
|
123
|
+
// ============================================================================
|
|
124
|
+
// Llama
|
|
125
|
+
// ============================================================================
|
|
126
|
+
LLAMA_3_1_8B_INSTRUCT: 106,
|
|
127
|
+
LLAMA_3_1_70B_INSTRUCT: 107,
|
|
128
|
+
LLAMA_3_1_405B_INSTRUCT: 105,
|
|
129
|
+
LLAMA_3_3_70B_INSTRUCT: 208,
|
|
130
|
+
LLAMA_3_3_70B_INSTRUCT_R1: 209,
|
|
131
|
+
// ============================================================================
|
|
132
|
+
// Qwen
|
|
133
|
+
// ============================================================================
|
|
134
|
+
QWEN_2_5_7B_INSTRUCT: 178,
|
|
135
|
+
QWEN_2_5_32B_INSTRUCT: 179,
|
|
136
|
+
QWEN_2_5_72B_INSTRUCT: 180,
|
|
137
|
+
QWEN_2_5_32B_INSTRUCT_R1: 224,
|
|
138
|
+
QWEN_3_235B_INSTRUCT: 324,
|
|
139
|
+
QWEN_3_CODER_480B_INSTRUCT: 325,
|
|
140
|
+
QWEN_3_CODER_480B_INSTRUCT_FAST: 327,
|
|
141
|
+
// ============================================================================
|
|
142
|
+
// XAI Grok
|
|
143
|
+
// ============================================================================
|
|
144
|
+
GROK_2: 212,
|
|
145
|
+
GROK_3: 217,
|
|
146
|
+
GROK_3_MINI_REASONING: 234,
|
|
147
|
+
GROK_CODE_FAST: 345,
|
|
148
|
+
// ============================================================================
|
|
149
|
+
// Other Models
|
|
150
|
+
// ============================================================================
|
|
151
|
+
MISTRAL_7B: 77,
|
|
152
|
+
KIMI_K2: 323,
|
|
153
|
+
KIMI_K2_THINKING: 394,
|
|
154
|
+
GLM_4_5: 342,
|
|
155
|
+
GLM_4_5_FAST: 352,
|
|
156
|
+
GLM_4_6: 356,
|
|
157
|
+
GLM_4_6_FAST: 357,
|
|
158
|
+
GLM_4_7: 417,
|
|
159
|
+
GLM_4_7_FAST: 418,
|
|
160
|
+
MINIMAX_M2: 368,
|
|
161
|
+
MINIMAX_M2_1: 419,
|
|
162
|
+
SWE_1_5: 359,
|
|
163
|
+
SWE_1_5_THINKING: 369,
|
|
164
|
+
SWE_1_5_SLOW: 377,
|
|
165
|
+
CLAUDE_4_5_SONNET_THINKING_1M: 371,
|
|
166
|
+
};
|
|
167
|
+
/**
|
|
168
|
+
* Chat message source types for protobuf encoding
|
|
169
|
+
*/
|
|
170
|
+
export const ChatMessageSource = {
|
|
171
|
+
UNSPECIFIED: 0,
|
|
172
|
+
USER: 1,
|
|
173
|
+
SYSTEM: 2,
|
|
174
|
+
ASSISTANT: 3,
|
|
175
|
+
TOOL: 4,
|
|
176
|
+
};
|
|
177
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/plugin/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,+EAA+E;AAC/E,8DAA8D;AAC9D,+EAA+E;AAE/E;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,iBAAiB,EAAE,CAAC;IAEpB,+EAA+E;IAC/E,gBAAgB;IAChB,+EAA+E;IAC/E,sBAAsB,EAAE,EAAE;IAC1B,wBAAwB,EAAE,EAAE;IAC5B,uBAAuB,EAAE,GAAG;IAC5B,0BAA0B,EAAE,EAAE;IAC9B,0BAA0B,EAAE,GAAG;IAC/B,yBAAyB,EAAE,GAAG;IAC9B,0BAA0B,EAAE,GAAG;IAC/B,mCAAmC,EAAE,GAAG;IACxC,aAAa,EAAE,GAAG;IAClB,sBAAsB,EAAE,GAAG;IAC3B,eAAe,EAAE,GAAG;IACpB,wBAAwB,EAAE,GAAG;IAC7B,eAAe,EAAE,GAAG;IACpB,wBAAwB,EAAE,GAAG;IAC7B,iBAAiB,EAAE,GAAG;IACtB,0BAA0B,EAAE,GAAG;IAC/B,oBAAoB,EAAE,GAAG;IACzB,eAAe,EAAE,GAAG;IACpB,wBAAwB,EAAE,GAAG;IAC7B,WAAW,EAAE,GAAG;IAEhB,+EAA+E;IAC/E,aAAa;IACb,+EAA+E;IAC/E,KAAK,EAAE,EAAE;IACT,kBAAkB,EAAE,EAAE;IACtB,iBAAiB,EAAE,EAAE;IACrB,iBAAiB,EAAE,GAAG;IACtB,sBAAsB,EAAE,GAAG;IAC3B,OAAO,EAAE,GAAG;IACZ,kBAAkB,EAAE,GAAG;IACvB,uBAAuB,EAAE,GAAG;IAC5B,uBAAuB,EAAE,GAAG;IAC5B,UAAU,EAAE,GAAG;IACf,aAAa,EAAE,GAAG;IAClB,SAAS,EAAE,GAAG;IACd,KAAK,EAAE,GAAG;IACV,UAAU,EAAE,GAAG;IACf,WAAW,EAAE,GAAG;IAChB,yBAAyB;IACzB,sBAAsB,EAAE,GAAG;IAC3B,yBAAyB,EAAE,GAAG;IAC9B,uBAAuB,EAAE,GAAG;IAC5B,iBAAiB,EAAE,GAAG;IACtB,oBAAoB,EAAE,GAAG;IACzB,kBAAkB,EAAE,GAAG;IACvB,qBAAqB,EAAE,GAAG;IAC1B,wBAAwB,EAAE,GAAG;IAC7B,sBAAsB,EAAE,GAAG;IAC3B,mBAAmB;IACnB,YAAY,EAAE,GAAG;IACjB,WAAW,EAAE,GAAG;IAChB,cAAc,EAAE,GAAG;IACnB,YAAY,EAAE,GAAG;IACjB,aAAa,EAAE,GAAG;IAClB,qBAAqB,EAAE,GAAG;IAC1B,oBAAoB,EAAE,GAAG;IACzB,uBAAuB,EAAE,GAAG;IAC5B,qBAAqB,EAAE,GAAG;IAC1B,sBAAsB,EAAE,GAAG;IAE3B,+EAA+E;IAC/E,8BAA8B;IAC9B,+EAA+E;IAC/E,UAAU,EAAE,GAAG;IACf,OAAO,EAAE,GAAG;IACZ,EAAE,EAAE,GAAG;IACP,OAAO,EAAE,GAAG;IACZ,WAAW,EAAE,GAAG;IAChB,YAAY,EAAE,GAAG;IACjB,EAAE,EAAE,GAAG;IACP,MAAM,EAAE,GAAG;IACX,OAAO,EAAE,GAAG;IACZ,MAAM,EAAE,GAAG;IACX,UAAU,EAAE,GAAG;IACf,WAAW,EAAE,GAAG;IAChB,OAAO,EAAE,GAAG;IACZ,WAAW,EAAE,GAAG;IAChB,YAAY,EAAE,GAAG;IAEjB,+EAA+E;IAC/E,gBAAgB;IAChB,+EAA+E;IAC/E,cAAc,EAAE,EAAE;IAClB,cAAc,EAAE,EAAE;IAClB,gBAAgB,EAAE,GAAG;IACrB,cAAc,EAAE,GAAG;IACnB,gBAAgB,EAAE,GAAG;IACrB,yBAAyB,EAAE,GAAG;IAC9B,qBAAqB,EAAE,GAAG;IAC1B,kBAAkB,EAAE,GAAG;IACvB,mBAAmB,EAAE,GAAG;IACxB,sBAAsB,EAAE,GAAG;IAC3B,qBAAqB,EAAE,GAAG;IAC1B,wBAAwB,EAAE,GAAG;IAC7B,oBAAoB,EAAE,GAAG;IACzB,uBAAuB,EAAE,GAAG;IAC5B,qBAAqB,EAAE,GAAG;IAE1B,+EAA+E;IAC/E,WAAW;IACX,+EAA+E;IAC/E,WAAW,EAAE,GAAG;IAChB,WAAW,EAAE,GAAG;IAChB,gBAAgB,EAAE,GAAG;IACrB,gBAAgB,EAAE,GAAG;IACrB,aAAa,EAAE,GAAG;IAElB,+EAA+E;IAC/E,QAAQ;IACR,+EAA+E;IAC/E,qBAAqB,EAAE,GAAG;IAC1B,sBAAsB,EAAE,GAAG;IAC3B,uBAAuB,EAAE,GAAG;IAC5B,sBAAsB,EAAE,GAAG;IAC3B,yBAAyB,EAAE,GAAG;IAE9B,+EAA+E;IAC/E,OAAO;IACP,+EAA+E;IAC/E,oBAAoB,EAAE,GAAG;IACzB,qBAAqB,EAAE,GAAG;IAC1B,qBAAqB,EAAE,GAAG;IAC1B,wBAAwB,EAAE,GAAG;IAC7B,oBAAoB,EAAE,GAAG;IACzB,0BAA0B,EAAE,GAAG;IAC/B,+BAA+B,EAAE,GAAG;IAEpC,+EAA+E;IAC/E,WAAW;IACX,+EAA+E;IAC/E,MAAM,EAAE,GAAG;IACX,MAAM,EAAE,GAAG;IACX,qBAAqB,EAAE,GAAG;IAC1B,cAAc,EAAE,GAAG;IAEnB,+EAA+E;IAC/E,eAAe;IACf,+EAA+E;IAC/E,UAAU,EAAE,EAAE;IACd,OAAO,EAAE,GAAG;IACZ,gBAAgB,EAAE,GAAG;IACrB,OAAO,EAAE,GAAG;IACZ,YAAY,EAAE,GAAG;IACjB,OAAO,EAAE,GAAG;IACZ,YAAY,EAAE,GAAG;IACjB,OAAO,EAAE,GAAG;IACZ,YAAY,EAAE,GAAG;IACjB,UAAU,EAAE,GAAG;IACf,YAAY,EAAE,GAAG;IACjB,OAAO,EAAE,GAAG;IACZ,gBAAgB,EAAE,GAAG;IACrB,YAAY,EAAE,GAAG;IACjB,6BAA6B,EAAE,GAAG;CAC1B,CAAC;AAIX;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,WAAW,EAAE,CAAC;IACd,IAAI,EAAE,CAAC;IACP,MAAM,EAAE,CAAC;IACT,SAAS,EAAE,CAAC;IACZ,IAAI,EAAE,CAAC;CACC,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Windsurf Plugin for OpenCode
|
|
3
|
+
*
|
|
4
|
+
* Enables using Windsurf/Codeium models through OpenCode by intercepting
|
|
5
|
+
* requests and routing them through the local Windsurf language server.
|
|
6
|
+
*
|
|
7
|
+
* Architecture:
|
|
8
|
+
* 1. Plugin registers a custom fetch handler for windsurf.local domain
|
|
9
|
+
* 2. Requests are transformed to gRPC format and sent to local language server
|
|
10
|
+
* 3. Responses are streamed back in OpenAI-compatible SSE format
|
|
11
|
+
*
|
|
12
|
+
* Requirements:
|
|
13
|
+
* - Windsurf must be running (launches language_server_macos process)
|
|
14
|
+
* - User must be logged into Windsurf (provides API key in ~/.codeium/config.json)
|
|
15
|
+
*/
|
|
16
|
+
import type { PluginInput, Hooks } from '@opencode-ai/plugin';
|
|
17
|
+
/**
|
|
18
|
+
* Create the Windsurf plugin
|
|
19
|
+
*/
|
|
20
|
+
export declare const createWindsurfPlugin: (providerId?: string) => (_context: PluginInput) => Promise<Hooks>;
|
|
21
|
+
/** Default Windsurf plugin export */
|
|
22
|
+
export declare const WindsurfPlugin: (_context: PluginInput) => Promise<Hooks>;
|
|
23
|
+
/** Alias for Codeium users */
|
|
24
|
+
export declare const CodeiumPlugin: (_context: PluginInput) => Promise<Hooks>;
|
|
25
|
+
//# sourceMappingURL=plugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAmO9D;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAC9B,aAAY,MAAkB,MACxB,UAAU,WAAW,KAAG,OAAO,CAAC,KAAK,CA4H3C,CAAC;AAEJ,qCAAqC;AACrC,eAAO,MAAM,cAAc,aA/HR,WAAW,KAAG,OAAO,CAAC,KAAK,CA+HM,CAAC;AAErD,8BAA8B;AAC9B,eAAO,MAAM,aAAa,aAlIP,WAAW,KAAG,OAAO,CAAC,KAAK,CAkIc,CAAC"}
|