opencode-windsurf-codeium 0.1.9 → 0.1.11
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 +5 -1
- package/dist/src/plugin/auth.d.ts +2 -2
- package/dist/src/plugin/auth.d.ts.map +1 -1
- package/dist/src/plugin/auth.js +29 -15
- package/dist/src/plugin/auth.js.map +1 -1
- package/dist/src/plugin.d.ts +1 -1
- package/dist/src/plugin.d.ts.map +1 -1
- package/dist/src/plugin.js +164 -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 starts a local proxy server on port 42100:
|
|
32
32
|
|
|
33
33
|
```json
|
|
34
34
|
{
|
|
@@ -36,6 +36,10 @@ Add the following to your OpenCode config (typically `~/.config/opencode/config.
|
|
|
36
36
|
"plugin": ["opencode-windsurf-codeium"],
|
|
37
37
|
"provider": {
|
|
38
38
|
"windsurf": {
|
|
39
|
+
"npm": "@ai-sdk/openai-compatible",
|
|
40
|
+
"options": {
|
|
41
|
+
"baseURL": "http://127.0.0.1:42100/v1"
|
|
42
|
+
},
|
|
39
43
|
"models": {
|
|
40
44
|
"claude-4.5-opus": {
|
|
41
45
|
"name": "Claude 4.5 Opus (Windsurf)",
|
|
@@ -35,8 +35,8 @@ export declare class WindsurfError extends Error {
|
|
|
35
35
|
*/
|
|
36
36
|
export declare function getCSRFToken(): string;
|
|
37
37
|
/**
|
|
38
|
-
* Get the language server port
|
|
39
|
-
* The
|
|
38
|
+
* Get the language server gRPC port dynamically using lsof
|
|
39
|
+
* The port offset from extension_server_port varies (--random_port flag), so we use lsof
|
|
40
40
|
*/
|
|
41
41
|
export declare function getPort(): number;
|
|
42
42
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/plugin/auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAWH,MAAM,WAAW,mBAAmB;IAClC,+DAA+D;IAC/D,SAAS,EAAE,MAAM,CAAC;IAClB,kDAAkD;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,sBAAsB;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,8BAA8B;IAC9B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,oBAAY,iBAAiB;IAC3B,WAAW,gBAAgB;IAC3B,YAAY,iBAAiB;IAC7B,eAAe,oBAAoB;IACnC,iBAAiB,sBAAsB;IACvC,WAAW,gBAAgB;IAC3B,YAAY,iBAAiB;CAC9B;AAED,qBAAa,aAAc,SAAQ,KAAK;IACtC,IAAI,EAAE,iBAAiB,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;gBAEN,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,OAAO;CAMxE;AA8DD;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAmBrC;AAED;;;GAGG;AACH,wBAAgB,OAAO,IAAI,MAAM,
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/plugin/auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAWH,MAAM,WAAW,mBAAmB;IAClC,+DAA+D;IAC/D,SAAS,EAAE,MAAM,CAAC;IAClB,kDAAkD;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,sBAAsB;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,8BAA8B;IAC9B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,oBAAY,iBAAiB;IAC3B,WAAW,gBAAgB;IAC3B,YAAY,iBAAiB;IAC7B,eAAe,oBAAoB;IACnC,iBAAiB,sBAAsB;IACvC,WAAW,gBAAgB;IAC3B,YAAY,iBAAiB;CAC9B;AAED,qBAAa,aAAc,SAAQ,KAAK;IACtC,IAAI,EAAE,iBAAiB,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;gBAEN,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,OAAO;CAMxE;AA8DD;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAmBrC;AAED;;;GAGG;AACH,wBAAgB,OAAO,IAAI,MAAM,CAwDhC;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,IAAI,MAAM,CA+ClC;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAc3C;AAMD;;GAEG;AACH,wBAAgB,cAAc,IAAI,mBAAmB,CAOpD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAQ3C;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAe7C;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,OAAO,CAAC,mBAAmB,CAAC,GAAG,WAAW,IAAI,mBAAmB,CAUjH"}
|
package/dist/src/plugin/auth.js
CHANGED
|
@@ -93,34 +93,48 @@ export function getCSRFToken() {
|
|
|
93
93
|
throw new WindsurfError('CSRF token not found in Windsurf process. Is Windsurf running?', WindsurfErrorCode.CSRF_MISSING);
|
|
94
94
|
}
|
|
95
95
|
/**
|
|
96
|
-
* Get the language server port
|
|
97
|
-
* The
|
|
96
|
+
* Get the language server gRPC port dynamically using lsof
|
|
97
|
+
* The port offset from extension_server_port varies (--random_port flag), so we use lsof
|
|
98
98
|
*/
|
|
99
99
|
export function getPort() {
|
|
100
100
|
const processInfo = getLanguageServerProcess();
|
|
101
101
|
if (!processInfo) {
|
|
102
102
|
throw new WindsurfError('Windsurf language server not found. Is Windsurf running?', WindsurfErrorCode.NOT_RUNNING);
|
|
103
103
|
}
|
|
104
|
-
//
|
|
104
|
+
// Extract PID from ps output (second column)
|
|
105
|
+
const pidMatch = processInfo.match(/^\s*\S+\s+(\d+)/);
|
|
106
|
+
const pid = pidMatch ? pidMatch[1] : null;
|
|
107
|
+
// Get extension_server_port as a reference point
|
|
105
108
|
const portMatch = processInfo.match(/--extension_server_port\s+(\d+)/);
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
}
|
|
110
|
-
// Fallback: try to find from lsof
|
|
111
|
-
if (process.platform !== 'win32') {
|
|
109
|
+
const extPort = portMatch ? parseInt(portMatch[1], 10) : null;
|
|
110
|
+
// Use lsof to find actual listening ports for this specific PID
|
|
111
|
+
if (process.platform !== 'win32' && pid) {
|
|
112
112
|
try {
|
|
113
|
-
const
|
|
114
|
-
|
|
115
|
-
const
|
|
116
|
-
|
|
117
|
-
|
|
113
|
+
const lsof = execSync(`lsof -p ${pid} -i -P -n 2>/dev/null | grep LISTEN`, { encoding: 'utf8', timeout: 15000 });
|
|
114
|
+
// Extract all listening ports
|
|
115
|
+
const portMatches = lsof.matchAll(/:(\d+)\s+\(LISTEN\)/g);
|
|
116
|
+
const ports = Array.from(portMatches).map(m => parseInt(m[1], 10));
|
|
117
|
+
if (ports.length > 0) {
|
|
118
|
+
// If we have extension_server_port, prefer the port closest to it (usually +3)
|
|
119
|
+
if (extPort) {
|
|
120
|
+
// Sort by distance from extPort and pick the closest one > extPort
|
|
121
|
+
const candidatePorts = ports.filter(p => p > extPort).sort((a, b) => a - b);
|
|
122
|
+
if (candidatePorts.length > 0) {
|
|
123
|
+
return candidatePorts[0]; // Return the first port after extPort
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
// Otherwise just return the first listening port
|
|
127
|
+
return ports[0];
|
|
118
128
|
}
|
|
119
129
|
}
|
|
120
130
|
catch {
|
|
121
|
-
//
|
|
131
|
+
// Fall through to offset-based approach
|
|
122
132
|
}
|
|
123
133
|
}
|
|
134
|
+
// Fallback: try common offsets (+3, +2, +4)
|
|
135
|
+
if (extPort) {
|
|
136
|
+
return extPort + 3;
|
|
137
|
+
}
|
|
124
138
|
throw new WindsurfError('Windsurf language server port not found. Is Windsurf running?', WindsurfErrorCode.NOT_RUNNING);
|
|
125
139
|
}
|
|
126
140
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/plugin/auth.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/plugin/auth.ts"],"names":[],"mappings":"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"}
|
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;AA2X9D;;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,186 @@ 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
|
+
console.log('[windsurf-plugin] Received chat completion request');
|
|
176
|
+
if (!isWindsurfRunning()) {
|
|
177
|
+
console.log('[windsurf-plugin] Windsurf not running');
|
|
178
|
+
return openAIError(503, 'Windsurf is not running. Please launch Windsurf first.');
|
|
179
|
+
}
|
|
180
|
+
try {
|
|
181
|
+
const credentials = getCredentials();
|
|
182
|
+
console.log('[windsurf-plugin] Got credentials, port:', credentials.port);
|
|
183
|
+
const body = await req.json().catch(() => ({}));
|
|
184
|
+
const requestBody = body;
|
|
185
|
+
const isStreaming = requestBody.stream === true;
|
|
186
|
+
console.log('[windsurf-plugin] Model:', requestBody.model, 'Streaming:', isStreaming);
|
|
187
|
+
if (isStreaming) {
|
|
188
|
+
const stream = createStreamingResponse(credentials, requestBody);
|
|
189
|
+
return new Response(stream, {
|
|
190
|
+
status: 200,
|
|
191
|
+
headers: {
|
|
192
|
+
'Content-Type': 'text/event-stream',
|
|
193
|
+
'Cache-Control': 'no-cache',
|
|
194
|
+
Connection: 'keep-alive',
|
|
195
|
+
},
|
|
196
|
+
});
|
|
197
|
+
}
|
|
198
|
+
const responseData = await createNonStreamingResponse(credentials, requestBody);
|
|
199
|
+
console.log('[windsurf-plugin] Response received');
|
|
200
|
+
return new Response(JSON.stringify(responseData), {
|
|
201
|
+
status: 200,
|
|
202
|
+
headers: { 'Content-Type': 'application/json' },
|
|
203
|
+
});
|
|
204
|
+
}
|
|
205
|
+
catch (chatError) {
|
|
206
|
+
const errMsg = chatError instanceof Error ? chatError.message : String(chatError);
|
|
207
|
+
console.error('[windsurf-plugin] Chat error:', errMsg);
|
|
208
|
+
return openAIError(500, 'Chat completion failed', errMsg);
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
return openAIError(404, `Unsupported path: ${url.pathname}`);
|
|
212
|
+
}
|
|
213
|
+
catch (error) {
|
|
214
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
215
|
+
return openAIError(500, 'Proxy error', message);
|
|
216
|
+
}
|
|
217
|
+
};
|
|
218
|
+
const bunAny = globalThis;
|
|
219
|
+
if (typeof bunAny.Bun !== 'undefined' && typeof bunAny.Bun.serve === 'function') {
|
|
220
|
+
// Check if server already running on default port
|
|
221
|
+
try {
|
|
222
|
+
const res = await fetch(`http://${WINDSURF_PROXY_HOST}:${WINDSURF_PROXY_DEFAULT_PORT}/health`).catch(() => null);
|
|
223
|
+
if (res && res.ok) {
|
|
224
|
+
const baseURL = `http://${WINDSURF_PROXY_HOST}:${WINDSURF_PROXY_DEFAULT_PORT}/v1`;
|
|
225
|
+
g[key].baseURL = baseURL;
|
|
226
|
+
return baseURL;
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
catch {
|
|
230
|
+
// ignore
|
|
231
|
+
}
|
|
232
|
+
const startServer = (port) => {
|
|
233
|
+
return bunAny.Bun.serve({
|
|
234
|
+
hostname: WINDSURF_PROXY_HOST,
|
|
235
|
+
port,
|
|
236
|
+
fetch: handler,
|
|
237
|
+
});
|
|
238
|
+
};
|
|
239
|
+
try {
|
|
240
|
+
const server = startServer(WINDSURF_PROXY_DEFAULT_PORT);
|
|
241
|
+
const baseURL = `http://${WINDSURF_PROXY_HOST}:${server.port}/v1`;
|
|
242
|
+
g[key].baseURL = baseURL;
|
|
243
|
+
console.log(`[windsurf-plugin] Proxy server started at ${baseURL}`);
|
|
244
|
+
return baseURL;
|
|
245
|
+
}
|
|
246
|
+
catch (error) {
|
|
247
|
+
const code = error?.code;
|
|
248
|
+
if (code !== 'EADDRINUSE') {
|
|
249
|
+
throw error;
|
|
250
|
+
}
|
|
251
|
+
// Port in use - check if it's our server
|
|
252
|
+
try {
|
|
253
|
+
const res = await fetch(`http://${WINDSURF_PROXY_HOST}:${WINDSURF_PROXY_DEFAULT_PORT}/health`).catch(() => null);
|
|
254
|
+
if (res && res.ok) {
|
|
255
|
+
const baseURL = `http://${WINDSURF_PROXY_HOST}:${WINDSURF_PROXY_DEFAULT_PORT}/v1`;
|
|
256
|
+
g[key].baseURL = baseURL;
|
|
257
|
+
return baseURL;
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
catch {
|
|
261
|
+
// ignore
|
|
262
|
+
}
|
|
263
|
+
// Fallback to random port
|
|
264
|
+
const server = startServer(0);
|
|
265
|
+
const baseURL = `http://${WINDSURF_PROXY_HOST}:${server.port}/v1`;
|
|
266
|
+
g[key].baseURL = baseURL;
|
|
267
|
+
console.log(`[windsurf-plugin] Proxy server started at ${baseURL} (fallback port)`);
|
|
268
|
+
return baseURL;
|
|
269
|
+
}
|
|
137
270
|
}
|
|
138
|
-
|
|
271
|
+
throw new Error('Windsurf proxy server requires Bun runtime');
|
|
139
272
|
}
|
|
140
273
|
// ============================================================================
|
|
141
274
|
// Plugin Factory
|
|
142
275
|
// ============================================================================
|
|
143
276
|
/**
|
|
144
|
-
* Create the Windsurf plugin
|
|
277
|
+
* Create the Windsurf plugin (follows cursor-auth pattern)
|
|
145
278
|
*/
|
|
146
279
|
export const createWindsurfPlugin = (providerId = PLUGIN_ID) => async (_context) => {
|
|
280
|
+
// Start proxy server on plugin load
|
|
281
|
+
const proxyBaseURL = await ensureWindsurfProxyServer();
|
|
147
282
|
return {
|
|
148
283
|
auth: {
|
|
149
284
|
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
|
-
};
|
|
285
|
+
async loader(_getAuth) {
|
|
286
|
+
// Return empty - we handle auth via the proxy server
|
|
287
|
+
return {};
|
|
254
288
|
},
|
|
255
289
|
// No auth methods needed - we use Windsurf's existing auth
|
|
256
290
|
methods: [],
|
|
257
291
|
},
|
|
292
|
+
// Dynamic baseURL injection (key pattern from cursor-auth)
|
|
293
|
+
async 'chat.params'(input, output) {
|
|
294
|
+
if (input.model?.providerID !== providerId) {
|
|
295
|
+
return;
|
|
296
|
+
}
|
|
297
|
+
// Inject the proxy server URL dynamically
|
|
298
|
+
output.options = output.options || {};
|
|
299
|
+
output.options.baseURL = proxyBaseURL;
|
|
300
|
+
output.options.apiKey = output.options.apiKey || 'windsurf-local';
|
|
301
|
+
},
|
|
258
302
|
};
|
|
259
303
|
};
|
|
260
304
|
/** 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