opencode-windsurf-codeium 0.1.9 → 0.1.10
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 +1 -1
- package/dist/src/plugin.d.ts +1 -1
- package/dist/src/plugin.d.ts.map +1 -1
- package/dist/src/plugin.js +152 -120
- package/dist/src/plugin.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -28,7 +28,7 @@ bun add opencode-windsurf-codeium@beta
|
|
|
28
28
|
|
|
29
29
|
## OpenCode Configuration
|
|
30
30
|
|
|
31
|
-
Add the following to your OpenCode config (typically `~/.config/opencode/config.json`):
|
|
31
|
+
Add the following to your OpenCode config (typically `~/.config/opencode/config.json`). The plugin automatically starts a local proxy server and injects the baseURL—no manual configuration needed:
|
|
32
32
|
|
|
33
33
|
```json
|
|
34
34
|
{
|
package/dist/src/plugin.d.ts
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
*/
|
|
16
16
|
import type { PluginInput, Hooks } from '@opencode-ai/plugin';
|
|
17
17
|
/**
|
|
18
|
-
* Create the Windsurf plugin
|
|
18
|
+
* Create the Windsurf plugin (follows cursor-auth pattern)
|
|
19
19
|
*/
|
|
20
20
|
export declare const createWindsurfPlugin: (providerId?: string) => (_context: PluginInput) => Promise<Hooks>;
|
|
21
21
|
/** Default Windsurf plugin export */
|
package/dist/src/plugin.d.ts.map
CHANGED
|
@@ -1 +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;
|
|
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;AA8W9D;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAC9B,aAAY,MAAkB,MACxB,UAAU,WAAW,KAAG,OAAO,CAAC,KAAK,CA6B3C,CAAC;AAEJ,qCAAqC;AACrC,eAAO,MAAM,cAAc,aAhCR,WAAW,KAAG,OAAO,CAAC,KAAK,CAgCM,CAAC;AAErD,8BAA8B;AAC9B,eAAO,MAAM,aAAa,aAnCP,WAAW,KAAG,OAAO,CAAC,KAAK,CAmCc,CAAC"}
|
package/dist/src/plugin.js
CHANGED
|
@@ -119,142 +119,174 @@ async function createNonStreamingResponse(credentials, request) {
|
|
|
119
119
|
const fullContent = chunks.join('');
|
|
120
120
|
return createOpenAICompatibleResponse(responseId, model, fullContent, false, 'stop');
|
|
121
121
|
}
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
122
|
+
// ============================================================================
|
|
123
|
+
// Local Proxy Server (like cursor-auth pattern)
|
|
124
|
+
// ============================================================================
|
|
125
|
+
const WINDSURF_PROXY_HOST = '127.0.0.1';
|
|
126
|
+
const WINDSURF_PROXY_DEFAULT_PORT = 42100;
|
|
127
|
+
function getGlobalKey() {
|
|
128
|
+
return '__opencode_windsurf_proxy_server__';
|
|
129
|
+
}
|
|
130
|
+
function openAIError(status, message, details) {
|
|
131
|
+
return new Response(JSON.stringify({
|
|
132
|
+
error: {
|
|
133
|
+
message: details ? `${message}\n${details}` : message,
|
|
134
|
+
type: 'windsurf_error',
|
|
135
|
+
param: null,
|
|
136
|
+
code: null,
|
|
137
|
+
},
|
|
138
|
+
}), { status, headers: { 'Content-Type': 'application/json' } });
|
|
139
|
+
}
|
|
140
|
+
async function ensureWindsurfProxyServer() {
|
|
141
|
+
const key = getGlobalKey();
|
|
142
|
+
const g = globalThis;
|
|
143
|
+
// Return existing server URL if already started
|
|
144
|
+
const existingBaseURL = g[key]?.baseURL;
|
|
145
|
+
if (typeof existingBaseURL === 'string' && existingBaseURL.length > 0) {
|
|
146
|
+
return existingBaseURL;
|
|
134
147
|
}
|
|
135
|
-
|
|
136
|
-
|
|
148
|
+
// Mark as starting to avoid duplicate starts
|
|
149
|
+
g[key] = { baseURL: '' };
|
|
150
|
+
const handler = async (req) => {
|
|
151
|
+
try {
|
|
152
|
+
const url = new URL(req.url);
|
|
153
|
+
// Health check endpoint
|
|
154
|
+
if (url.pathname === '/health') {
|
|
155
|
+
return new Response(JSON.stringify({ ok: true, windsurf: isWindsurfRunning() }), {
|
|
156
|
+
status: 200,
|
|
157
|
+
headers: { 'Content-Type': 'application/json' },
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
// Models endpoint
|
|
161
|
+
if (url.pathname === '/v1/models' || url.pathname === '/models') {
|
|
162
|
+
const models = getCanonicalModels();
|
|
163
|
+
return new Response(JSON.stringify({
|
|
164
|
+
object: 'list',
|
|
165
|
+
data: models.map((id) => ({
|
|
166
|
+
id,
|
|
167
|
+
object: 'model',
|
|
168
|
+
created: Math.floor(Date.now() / 1000),
|
|
169
|
+
owned_by: 'windsurf',
|
|
170
|
+
})),
|
|
171
|
+
}), { status: 200, headers: { 'Content-Type': 'application/json' } });
|
|
172
|
+
}
|
|
173
|
+
// Chat completions endpoint
|
|
174
|
+
if (url.pathname === '/v1/chat/completions' || url.pathname === '/chat/completions') {
|
|
175
|
+
if (!isWindsurfRunning()) {
|
|
176
|
+
return openAIError(503, 'Windsurf is not running. Please launch Windsurf first.');
|
|
177
|
+
}
|
|
178
|
+
const credentials = getCredentials();
|
|
179
|
+
const body = await req.json().catch(() => ({}));
|
|
180
|
+
const requestBody = body;
|
|
181
|
+
const isStreaming = requestBody.stream === true;
|
|
182
|
+
if (isStreaming) {
|
|
183
|
+
const stream = createStreamingResponse(credentials, requestBody);
|
|
184
|
+
return new Response(stream, {
|
|
185
|
+
status: 200,
|
|
186
|
+
headers: {
|
|
187
|
+
'Content-Type': 'text/event-stream',
|
|
188
|
+
'Cache-Control': 'no-cache',
|
|
189
|
+
Connection: 'keep-alive',
|
|
190
|
+
},
|
|
191
|
+
});
|
|
192
|
+
}
|
|
193
|
+
const responseData = await createNonStreamingResponse(credentials, requestBody);
|
|
194
|
+
return new Response(JSON.stringify(responseData), {
|
|
195
|
+
status: 200,
|
|
196
|
+
headers: { 'Content-Type': 'application/json' },
|
|
197
|
+
});
|
|
198
|
+
}
|
|
199
|
+
return openAIError(404, `Unsupported path: ${url.pathname}`);
|
|
200
|
+
}
|
|
201
|
+
catch (error) {
|
|
202
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
203
|
+
return openAIError(500, 'Proxy error', message);
|
|
204
|
+
}
|
|
205
|
+
};
|
|
206
|
+
const bunAny = globalThis;
|
|
207
|
+
if (typeof bunAny.Bun !== 'undefined' && typeof bunAny.Bun.serve === 'function') {
|
|
208
|
+
// Check if server already running on default port
|
|
209
|
+
try {
|
|
210
|
+
const res = await fetch(`http://${WINDSURF_PROXY_HOST}:${WINDSURF_PROXY_DEFAULT_PORT}/health`).catch(() => null);
|
|
211
|
+
if (res && res.ok) {
|
|
212
|
+
const baseURL = `http://${WINDSURF_PROXY_HOST}:${WINDSURF_PROXY_DEFAULT_PORT}/v1`;
|
|
213
|
+
g[key].baseURL = baseURL;
|
|
214
|
+
return baseURL;
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
catch {
|
|
218
|
+
// ignore
|
|
219
|
+
}
|
|
220
|
+
const startServer = (port) => {
|
|
221
|
+
return bunAny.Bun.serve({
|
|
222
|
+
hostname: WINDSURF_PROXY_HOST,
|
|
223
|
+
port,
|
|
224
|
+
fetch: handler,
|
|
225
|
+
});
|
|
226
|
+
};
|
|
227
|
+
try {
|
|
228
|
+
const server = startServer(WINDSURF_PROXY_DEFAULT_PORT);
|
|
229
|
+
const baseURL = `http://${WINDSURF_PROXY_HOST}:${server.port}/v1`;
|
|
230
|
+
g[key].baseURL = baseURL;
|
|
231
|
+
console.log(`[windsurf-plugin] Proxy server started at ${baseURL}`);
|
|
232
|
+
return baseURL;
|
|
233
|
+
}
|
|
234
|
+
catch (error) {
|
|
235
|
+
const code = error?.code;
|
|
236
|
+
if (code !== 'EADDRINUSE') {
|
|
237
|
+
throw error;
|
|
238
|
+
}
|
|
239
|
+
// Port in use - check if it's our server
|
|
240
|
+
try {
|
|
241
|
+
const res = await fetch(`http://${WINDSURF_PROXY_HOST}:${WINDSURF_PROXY_DEFAULT_PORT}/health`).catch(() => null);
|
|
242
|
+
if (res && res.ok) {
|
|
243
|
+
const baseURL = `http://${WINDSURF_PROXY_HOST}:${WINDSURF_PROXY_DEFAULT_PORT}/v1`;
|
|
244
|
+
g[key].baseURL = baseURL;
|
|
245
|
+
return baseURL;
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
catch {
|
|
249
|
+
// ignore
|
|
250
|
+
}
|
|
251
|
+
// Fallback to random port
|
|
252
|
+
const server = startServer(0);
|
|
253
|
+
const baseURL = `http://${WINDSURF_PROXY_HOST}:${server.port}/v1`;
|
|
254
|
+
g[key].baseURL = baseURL;
|
|
255
|
+
console.log(`[windsurf-plugin] Proxy server started at ${baseURL} (fallback port)`);
|
|
256
|
+
return baseURL;
|
|
257
|
+
}
|
|
137
258
|
}
|
|
138
|
-
|
|
259
|
+
throw new Error('Windsurf proxy server requires Bun runtime');
|
|
139
260
|
}
|
|
140
261
|
// ============================================================================
|
|
141
262
|
// Plugin Factory
|
|
142
263
|
// ============================================================================
|
|
143
264
|
/**
|
|
144
|
-
* Create the Windsurf plugin
|
|
265
|
+
* Create the Windsurf plugin (follows cursor-auth pattern)
|
|
145
266
|
*/
|
|
146
267
|
export const createWindsurfPlugin = (providerId = PLUGIN_ID) => async (_context) => {
|
|
268
|
+
// Start proxy server on plugin load
|
|
269
|
+
const proxyBaseURL = await ensureWindsurfProxyServer();
|
|
147
270
|
return {
|
|
148
271
|
auth: {
|
|
149
272
|
provider: providerId,
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
console.warn('[windsurf-plugin] Windsurf is not running. Please start Windsurf first.');
|
|
154
|
-
}
|
|
155
|
-
return {
|
|
156
|
-
// Empty API key since we use local credentials
|
|
157
|
-
apiKey: '',
|
|
158
|
-
// Custom fetch handler (method syntax like antigravity)
|
|
159
|
-
async fetch(input, init) {
|
|
160
|
-
// Extract URL string, handling undefined/malformed cases
|
|
161
|
-
let url;
|
|
162
|
-
try {
|
|
163
|
-
url =
|
|
164
|
-
typeof input === 'string'
|
|
165
|
-
? input
|
|
166
|
-
: input instanceof URL
|
|
167
|
-
? input.href
|
|
168
|
-
: input.url;
|
|
169
|
-
}
|
|
170
|
-
catch {
|
|
171
|
-
url = String(input);
|
|
172
|
-
}
|
|
173
|
-
// Normalize: if URL starts with "undefined" (no baseURL configured),
|
|
174
|
-
// extract just the path portion
|
|
175
|
-
if (url.startsWith('undefined')) {
|
|
176
|
-
url = url.replace(/^undefined/, '');
|
|
177
|
-
}
|
|
178
|
-
// Handle /v1/models - return available models even if Windsurf is offline
|
|
179
|
-
if (url.includes('/models') || url.includes('/v1/models')) {
|
|
180
|
-
const models = getCanonicalModels();
|
|
181
|
-
return new Response(JSON.stringify({
|
|
182
|
-
object: 'list',
|
|
183
|
-
data: models.map((id) => ({
|
|
184
|
-
id,
|
|
185
|
-
object: 'model',
|
|
186
|
-
created: Math.floor(Date.now() / 1000),
|
|
187
|
-
owned_by: 'windsurf',
|
|
188
|
-
})),
|
|
189
|
-
}), {
|
|
190
|
-
status: 200,
|
|
191
|
-
headers: { 'Content-Type': 'application/json' },
|
|
192
|
-
});
|
|
193
|
-
}
|
|
194
|
-
// Handle chat completions
|
|
195
|
-
if (url.includes('/chat/completions') ||
|
|
196
|
-
url.includes('/v1/chat/completions')) {
|
|
197
|
-
try {
|
|
198
|
-
if (!isWindsurfRunning()) {
|
|
199
|
-
return new Response(JSON.stringify({
|
|
200
|
-
error: {
|
|
201
|
-
message: 'Windsurf is not running. Please launch Windsurf to use this provider.',
|
|
202
|
-
type: 'windsurf_not_running',
|
|
203
|
-
code: 'windsurf_not_running',
|
|
204
|
-
},
|
|
205
|
-
}), {
|
|
206
|
-
status: 503,
|
|
207
|
-
headers: { 'Content-Type': 'application/json' },
|
|
208
|
-
});
|
|
209
|
-
}
|
|
210
|
-
// Get fresh credentials for each request
|
|
211
|
-
const credentials = getCredentials();
|
|
212
|
-
// Parse request body
|
|
213
|
-
const requestBody = parseRequestBody(init?.body);
|
|
214
|
-
const isStreaming = requestBody.stream === true;
|
|
215
|
-
if (isStreaming) {
|
|
216
|
-
const stream = createStreamingResponse(credentials, requestBody);
|
|
217
|
-
return new Response(stream, {
|
|
218
|
-
status: 200,
|
|
219
|
-
headers: {
|
|
220
|
-
'Content-Type': 'text/event-stream',
|
|
221
|
-
'Cache-Control': 'no-cache',
|
|
222
|
-
Connection: 'keep-alive',
|
|
223
|
-
},
|
|
224
|
-
});
|
|
225
|
-
}
|
|
226
|
-
// Non-streaming response
|
|
227
|
-
const responseData = await createNonStreamingResponse(credentials, requestBody);
|
|
228
|
-
return new Response(JSON.stringify(responseData), {
|
|
229
|
-
status: 200,
|
|
230
|
-
headers: { 'Content-Type': 'application/json' },
|
|
231
|
-
});
|
|
232
|
-
}
|
|
233
|
-
catch (error) {
|
|
234
|
-
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
235
|
-
return new Response(JSON.stringify({
|
|
236
|
-
error: {
|
|
237
|
-
message: errorMessage,
|
|
238
|
-
type: 'windsurf_error',
|
|
239
|
-
code: 'windsurf_connection_failed',
|
|
240
|
-
},
|
|
241
|
-
}), {
|
|
242
|
-
status: 500,
|
|
243
|
-
headers: { 'Content-Type': 'application/json' },
|
|
244
|
-
});
|
|
245
|
-
}
|
|
246
|
-
}
|
|
247
|
-
// For any other endpoint, return a generic success
|
|
248
|
-
return new Response(JSON.stringify({ status: 'ok' }), {
|
|
249
|
-
status: 200,
|
|
250
|
-
headers: { 'Content-Type': 'application/json' },
|
|
251
|
-
});
|
|
252
|
-
},
|
|
253
|
-
};
|
|
273
|
+
async loader(_getAuth) {
|
|
274
|
+
// Return empty - we handle auth via the proxy server
|
|
275
|
+
return {};
|
|
254
276
|
},
|
|
255
277
|
// No auth methods needed - we use Windsurf's existing auth
|
|
256
278
|
methods: [],
|
|
257
279
|
},
|
|
280
|
+
// Dynamic baseURL injection (key pattern from cursor-auth)
|
|
281
|
+
async 'chat.params'(input, output) {
|
|
282
|
+
if (input.model?.providerID !== providerId) {
|
|
283
|
+
return;
|
|
284
|
+
}
|
|
285
|
+
// Inject the proxy server URL dynamically
|
|
286
|
+
output.options = output.options || {};
|
|
287
|
+
output.options.baseURL = proxyBaseURL;
|
|
288
|
+
output.options.apiKey = output.options.apiKey || 'windsurf-local';
|
|
289
|
+
},
|
|
258
290
|
};
|
|
259
291
|
};
|
|
260
292
|
/** Default Windsurf plugin export */
|
package/dist/src/plugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/plugin.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/plugin.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED