opencode-windsurf-codeium 0.1.1 → 0.1.3
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 +29 -29
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -13,35 +13,6 @@ OpenCode plugin for Windsurf/Codeium authentication - use Windsurf models in Ope
|
|
|
13
13
|
|
|
14
14
|
This plugin enables OpenCode users to access Windsurf/Codeium models by leveraging their existing Windsurf installation. It communicates directly with the **local Windsurf language server** via gRPC - no network traffic capture or OAuth flows required.
|
|
15
15
|
|
|
16
|
-
### How It Works
|
|
17
|
-
|
|
18
|
-
1. **Credential Discovery**: Extracts CSRF token and port from the running `language_server_macos` process
|
|
19
|
-
2. **API Key**: Reads from `~/.codeium/config.json`
|
|
20
|
-
3. **gRPC Communication**: Sends requests to `localhost:{port}` using HTTP/2 gRPC protocol
|
|
21
|
-
4. **Response Transformation**: Converts gRPC responses to OpenAI-compatible SSE format
|
|
22
|
-
|
|
23
|
-
### Supported Models (canonical names)
|
|
24
|
-
|
|
25
|
-
**Claude**: `claude-3-opus`, `claude-3-sonnet`, `claude-3-haiku`, `claude-3.5-sonnet`, `claude-3.5-haiku`, `claude-3.7-sonnet`, `claude-3.7-sonnet-thinking`, `claude-4-opus`, `claude-4-opus-thinking`, `claude-4-sonnet`, `claude-4-sonnet-thinking`, `claude-4.1-opus`, `claude-4.1-opus-thinking`, `claude-4.5-sonnet`, `claude-4.5-sonnet-thinking`, `claude-4.5-opus`, `claude-4.5-opus-thinking`, `claude-code`.
|
|
26
|
-
|
|
27
|
-
**OpenAI GPT**: `gpt-4`, `gpt-4-turbo`, `gpt-4o`, `gpt-4o-mini`, `gpt-4.1`, `gpt-4.1-mini`, `gpt-4.1-nano`, `gpt-5`, `gpt-5-nano`, `gpt-5-low`, `gpt-5-high`, `gpt-5-codex`, `gpt-5.1-codex-mini`, `gpt-5.1-codex`, `gpt-5.1-codex-max`, `gpt-5.2-low`, `gpt-5.2`, `gpt-5.2-high`, `gpt-5.2-xhigh`, `gpt-5.2-priority` (plus the low/high/xhigh priority variants).
|
|
28
|
-
|
|
29
|
-
**OpenAI O-series**: `o3`, `o3-mini`, `o3-low`, `o3-high`, `o3-pro`, `o3-pro-low`, `o3-pro-high`, `o4-mini`, `o4-mini-low`, `o4-mini-high`.
|
|
30
|
-
|
|
31
|
-
**Gemini**: `gemini-2.0-flash`, `gemini-2.5-pro`, `gemini-2.5-flash`, `gemini-2.5-flash-thinking`, `gemini-2.5-flash-lite`, `gemini-3.0-pro`, `gemini-3.0-pro-low`, `gemini-3.0-pro-high`, `gemini-3.0-flash`, `gemini-3.0-flash-high`.
|
|
32
|
-
|
|
33
|
-
**DeepSeek**: `deepseek-v3`, `deepseek-v3-2`, `deepseek-r1`, `deepseek-r1-fast`, `deepseek-r1-slow`.
|
|
34
|
-
|
|
35
|
-
**Llama**: `llama-3.1-8b`, `llama-3.1-70b`, `llama-3.1-405b`, `llama-3.3-70b`, `llama-3.3-70b-r1`.
|
|
36
|
-
|
|
37
|
-
**Qwen**: `qwen-2.5-7b`, `qwen-2.5-32b`, `qwen-2.5-72b`, `qwen-2.5-32b-r1`, `qwen-3-235b`, `qwen-3-coder-480b`, `qwen-3-coder-480b-fast`.
|
|
38
|
-
|
|
39
|
-
**Grok (xAI)**: `grok-2`, `grok-3`, `grok-3-mini`, `grok-code-fast`.
|
|
40
|
-
|
|
41
|
-
**Specialty & Proprietary**: `mistral-7b`, `kimi-k2`, `kimi-k2-thinking`, `glm-4.5`, `glm-4.5-fast`, `glm-4.6`, `glm-4.6-fast`, `glm-4.7`, `glm-4.7-fast`, `minimax-m2`, `minimax-m2.1`, `swe-1.5`, `swe-1.5-thinking`, `swe-1.5-slow`.
|
|
42
|
-
|
|
43
|
-
Aliases (e.g., `gpt-5.2-low-priority`) are also accepted.
|
|
44
|
-
|
|
45
16
|
## Prerequisites
|
|
46
17
|
|
|
47
18
|
1. **Windsurf IDE installed** - Download from [windsurf.com](https://windsurf.com)
|
|
@@ -115,6 +86,35 @@ src/
|
|
|
115
86
|
└── types.ts # Shared enums/types
|
|
116
87
|
```
|
|
117
88
|
|
|
89
|
+
### How It Works
|
|
90
|
+
|
|
91
|
+
1. **Credential Discovery**: Extracts CSRF token and port from the running `language_server_macos` process
|
|
92
|
+
2. **API Key**: Reads from `~/.codeium/config.json`
|
|
93
|
+
3. **gRPC Communication**: Sends requests to `localhost:{port}` using HTTP/2 gRPC protocol
|
|
94
|
+
4. **Response Transformation**: Converts gRPC responses to OpenAI-compatible SSE format
|
|
95
|
+
|
|
96
|
+
### Supported Models (canonical names)
|
|
97
|
+
|
|
98
|
+
**Claude**: `claude-3-opus`, `claude-3-sonnet`, `claude-3-haiku`, `claude-3.5-sonnet`, `claude-3.5-haiku`, `claude-3.7-sonnet`, `claude-3.7-sonnet-thinking`, `claude-4-opus`, `claude-4-opus-thinking`, `claude-4-sonnet`, `claude-4-sonnet-thinking`, `claude-4.1-opus`, `claude-4.1-opus-thinking`, `claude-4.5-sonnet`, `claude-4.5-sonnet-thinking`, `claude-4.5-opus`, `claude-4.5-opus-thinking`, `claude-code`.
|
|
99
|
+
|
|
100
|
+
**OpenAI GPT**: `gpt-4`, `gpt-4-turbo`, `gpt-4o`, `gpt-4o-mini`, `gpt-4.1`, `gpt-4.1-mini`, `gpt-4.1-nano`, `gpt-5`, `gpt-5-nano`, `gpt-5-low`, `gpt-5-high`, `gpt-5-codex`, `gpt-5.1-codex-mini`, `gpt-5.1-codex`, `gpt-5.1-codex-max`, `gpt-5.2-low`, `gpt-5.2`, `gpt-5.2-high`, `gpt-5.2-xhigh`, `gpt-5.2-priority` (plus the low/high/xhigh priority variants).
|
|
101
|
+
|
|
102
|
+
**OpenAI O-series**: `o3`, `o3-mini`, `o3-low`, `o3-high`, `o3-pro`, `o3-pro-low`, `o3-pro-high`, `o4-mini`, `o4-mini-low`, `o4-mini-high`.
|
|
103
|
+
|
|
104
|
+
**Gemini**: `gemini-2.0-flash`, `gemini-2.5-pro`, `gemini-2.5-flash`, `gemini-2.5-flash-thinking`, `gemini-2.5-flash-lite`, `gemini-3.0-pro`, `gemini-3.0-pro-low`, `gemini-3.0-pro-high`, `gemini-3.0-flash`, `gemini-3.0-flash-high`.
|
|
105
|
+
|
|
106
|
+
**DeepSeek**: `deepseek-v3`, `deepseek-v3-2`, `deepseek-r1`, `deepseek-r1-fast`, `deepseek-r1-slow`.
|
|
107
|
+
|
|
108
|
+
**Llama**: `llama-3.1-8b`, `llama-3.1-70b`, `llama-3.1-405b`, `llama-3.3-70b`, `llama-3.3-70b-r1`.
|
|
109
|
+
|
|
110
|
+
**Qwen**: `qwen-2.5-7b`, `qwen-2.5-32b`, `qwen-2.5-72b`, `qwen-2.5-32b-r1`, `qwen-3-235b`, `qwen-3-coder-480b`, `qwen-3-coder-480b-fast`.
|
|
111
|
+
|
|
112
|
+
**Grok (xAI)**: `grok-2`, `grok-3`, `grok-3-mini`, `grok-code-fast`.
|
|
113
|
+
|
|
114
|
+
**Specialty & Proprietary**: `mistral-7b`, `kimi-k2`, `kimi-k2-thinking`, `glm-4.5`, `glm-4.5-fast`, `glm-4.6`, `glm-4.6-fast`, `glm-4.7`, `glm-4.7-fast`, `minimax-m2`, `minimax-m2.1`, `swe-1.5`, `swe-1.5-thinking`, `swe-1.5-slow`.
|
|
115
|
+
|
|
116
|
+
Aliases (e.g., `gpt-5.2-low-priority`) are also accepted.
|
|
117
|
+
|
|
118
118
|
## Development
|
|
119
119
|
|
|
120
120
|
```bash
|
package/dist/index.d.ts
CHANGED
|
@@ -27,4 +27,5 @@ export { modelNameToEnum, enumToModelName, getSupportedModels, isModelSupported,
|
|
|
27
27
|
export { PLUGIN_ID, GRPC_SERVICES, GRPC_METHODS, } from './src/constants.js';
|
|
28
28
|
export { ModelEnum, ChatMessageSource } from './src/plugin/types.js';
|
|
29
29
|
export type { ModelEnumValue, ChatMessageSourceValue } from './src/plugin/types.js';
|
|
30
|
+
export { WindsurfPlugin as default } from './src/plugin.js';
|
|
30
31
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,aAAa,EACd,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,cAAc,EACd,YAAY,EACZ,OAAO,EACP,SAAS,EACT,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,aAAa,EACb,iBAAiB,GAClB,MAAM,sBAAsB,CAAC;AAE9B,YAAY,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAGhE,OAAO,EACL,UAAU,EACV,mBAAmB,EACpB,MAAM,6BAA6B,CAAC;AAErC,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAGlF,OAAO,EACL,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,SAAS,EACT,aAAa,EACb,YAAY,GACb,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,SAAS,EACT,iBAAiB,EAClB,MAAM,uBAAuB,CAAC;AAE/B,YAAY,EACV,cAAc,EACd,sBAAsB,EACvB,MAAM,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,aAAa,EACd,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,cAAc,EACd,YAAY,EACZ,OAAO,EACP,SAAS,EACT,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,aAAa,EACb,iBAAiB,GAClB,MAAM,sBAAsB,CAAC;AAE9B,YAAY,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAGhE,OAAO,EACL,UAAU,EACV,mBAAmB,EACpB,MAAM,6BAA6B,CAAC;AAErC,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAGlF,OAAO,EACL,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,SAAS,EACT,aAAa,EACb,YAAY,GACb,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,SAAS,EACT,iBAAiB,EAClB,MAAM,uBAAuB,CAAC;AAE/B,YAAY,EACV,cAAc,EACd,sBAAsB,EACvB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,cAAc,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -30,4 +30,6 @@ export { modelNameToEnum, enumToModelName, getSupportedModels, isModelSupported,
|
|
|
30
30
|
export { PLUGIN_ID, GRPC_SERVICES, GRPC_METHODS, } from './src/constants.js';
|
|
31
31
|
// Types
|
|
32
32
|
export { ModelEnum, ChatMessageSource } from './src/plugin/types.js';
|
|
33
|
+
// Default export for OpenCode plugin loader compatibility
|
|
34
|
+
export { WindsurfPlugin as default } from './src/plugin.js';
|
|
33
35
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,sBAAsB;AACtB,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,aAAa,EACd,MAAM,iBAAiB,CAAC;AAEzB,4BAA4B;AAC5B,OAAO,EACL,cAAc,EACd,YAAY,EACZ,OAAO,EACP,SAAS,EACT,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,aAAa,EACb,iBAAiB,GAClB,MAAM,sBAAsB,CAAC;AAI9B,cAAc;AACd,OAAO,EACL,UAAU,EACV,mBAAmB,EACpB,MAAM,6BAA6B,CAAC;AAIrC,kBAAkB;AAClB,OAAO,EACL,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,wBAAwB,CAAC;AAEhC,YAAY;AACZ,OAAO,EACL,SAAS,EACT,aAAa,EACb,YAAY,GACb,MAAM,oBAAoB,CAAC;AAE5B,QAAQ;AACR,OAAO,EACL,SAAS,EACT,iBAAiB,EAClB,MAAM,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,sBAAsB;AACtB,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,aAAa,EACd,MAAM,iBAAiB,CAAC;AAEzB,4BAA4B;AAC5B,OAAO,EACL,cAAc,EACd,YAAY,EACZ,OAAO,EACP,SAAS,EACT,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,aAAa,EACb,iBAAiB,GAClB,MAAM,sBAAsB,CAAC;AAI9B,cAAc;AACd,OAAO,EACL,UAAU,EACV,mBAAmB,EACpB,MAAM,6BAA6B,CAAC;AAIrC,kBAAkB;AAClB,OAAO,EACL,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,wBAAwB,CAAC;AAEhC,YAAY;AACZ,OAAO,EACL,SAAS,EACT,aAAa,EACb,YAAY,GACb,MAAM,oBAAoB,CAAC;AAE5B,QAAQ;AACR,OAAO,EACL,SAAS,EACT,iBAAiB,EAClB,MAAM,uBAAuB,CAAC;AAO/B,0DAA0D;AAC1D,OAAO,EAAE,cAAc,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAC"}
|
package/package.json
CHANGED