sub-bridge 1.2.2 → 1.2.4

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.
@@ -1,3 +1,3 @@
1
1
  {
2
- ".": "1.2.1"
2
+ ".": "1.2.3"
3
3
  }
package/CHANGELOG.md CHANGED
@@ -1,5 +1,67 @@
1
1
  # Changelog
2
2
 
3
+ ## [1.1.0](https://github.com/buremba/sub-bridge/compare/sub-bridge-v1.0.0...sub-bridge-v1.1.0) (2025-12-30)
4
+
5
+
6
+ ### Features
7
+
8
+ * add custom URL provider for users with their own public IP/domain ([ccc5719](https://github.com/buremba/sub-bridge/commit/ccc57191df3ddfaf567a257e50ecae12f4a63dbe))
9
+ * simplify tunnels to Cloudflare only with named tunnel support ([2a57bc4](https://github.com/buremba/sub-bridge/commit/2a57bc4ee1013dcf38bfd364b03ca93571e07dc4))
10
+
11
+
12
+ ### Bug Fixes
13
+
14
+ * add delay for DNS propagation before quick tunnel health check ([e76f082](https://github.com/buremba/sub-bridge/commit/e76f082bd55c716a133516c51023d9c228e81e50))
15
+ * add OIDC debug logging to npm publish workflow ([29bec36](https://github.com/buremba/sub-bridge/commit/29bec369a961c4ae67a5800087a5bcc1bb7954f9))
16
+ * add registry-url to setup-node for npm auth ([387c8d9](https://github.com/buremba/sub-bridge/commit/387c8d92c7cbccdc76f5f9e329c243809e9ce20d))
17
+ * add repository url for npm provenance ([db7425e](https://github.com/buremba/sub-bridge/commit/db7425e59f8413bdc5b5020691d3369cecd3d82a))
18
+ * configure npm trusted publishing (OIDC) ([02ef8dd](https://github.com/buremba/sub-bridge/commit/02ef8ddc4ee94e4b69f8fcfe3c85324213d23f0c))
19
+ * correct Cursor button image format and list numbering in README ([3c5152b](https://github.com/buremba/sub-bridge/commit/3c5152b624a848f562dd87f7f1bff1c3fbd1793c))
20
+ * detect embedded browser and prompt to open in external browser ([5a4e5f2](https://github.com/buremba/sub-bridge/commit/5a4e5f2588184518fc3f5bdbb79d280ee0208e1e))
21
+ * improve Cloudflare tunnel reliability ([a200e9c](https://github.com/buremba/sub-bridge/commit/a200e9ccc917f7946ca9a6da2f8d7e2601e0b1f0))
22
+ * improve error handling and add model alias support ([b38884a](https://github.com/buremba/sub-bridge/commit/b38884ae1424c9b91e330ed9a463779e3e259508))
23
+ * manually exchange OIDC token for npm token ([b1f9564](https://github.com/buremba/sub-bridge/commit/b1f9564cdd0fc79a4511e2b1f51be61c818271ba))
24
+ * prevent global cloudflared config from interfering with quick tunnels ([6bbda0b](https://github.com/buremba/sub-bridge/commit/6bbda0b7a2e2cdf381d1375b265cbb8a18d4935d))
25
+ * remove NODE_AUTH_TOKEN unset for npm OIDC ([6d64f6d](https://github.com/buremba/sub-bridge/commit/6d64f6df0c5b74cc0ebd1363498babf98b420832))
26
+ * set NPM_CONFIG_PROVENANCE for OIDC ([230d881](https://github.com/buremba/sub-bridge/commit/230d8815ecda3b069cd561d9693fa0fcb14e245f))
27
+ * simplify cloudflare tunnel startup to only wait for URL event ([b47fcea](https://github.com/buremba/sub-bridge/commit/b47fcea9296f0c01c498568102316ea47e6b84e1))
28
+ * simplify npm publish command ([4edc1a2](https://github.com/buremba/sub-bridge/commit/4edc1a2b39ef8af96cf01d07bb8f4fa7b8d7d4eb))
29
+ * surface cloudflare tunnel errors (rate limiting, etc.) to user ([86211b9](https://github.com/buremba/sub-bridge/commit/86211b9afadc4c5c9073324ec01486031e8f9006))
30
+ * use NPM_TOKEN for npm authentication ([dd570b3](https://github.com/buremba/sub-bridge/commit/dd570b3ada072c84ff890f4ce13a220d8bdc5f20))
31
+ * use NPM_TOKEN secret for npm auth ([95d3c27](https://github.com/buremba/sub-bridge/commit/95d3c27020bbafac5223420f035f7f2b1df4994e))
32
+ * wait for cloudflare tunnel connection after URL is received ([fb62e5e](https://github.com/buremba/sub-bridge/commit/fb62e5e5725e5a0206c97ccb8d3558a13055061e))
33
+
34
+ ## [1.0.0](https://github.com/buremba/sub-bridge/compare/sub-bridge-v1.2.1...sub-bridge-v1.0.0) (2025-12-29)
35
+
36
+
37
+ ### Features
38
+
39
+ * add custom URL provider for users with their own public IP/domain ([ccc5719](https://github.com/buremba/sub-bridge/commit/ccc57191df3ddfaf567a257e50ecae12f4a63dbe))
40
+ * bootstrap release automation ([a1c1f57](https://github.com/buremba/sub-bridge/commit/a1c1f5734d660152edf60b0227a8951d9e0ede11))
41
+ * simplify tunnels to Cloudflare only with named tunnel support ([2a57bc4](https://github.com/buremba/sub-bridge/commit/2a57bc4ee1013dcf38bfd364b03ca93571e07dc4))
42
+
43
+
44
+ ### Bug Fixes
45
+
46
+ * add delay for DNS propagation before quick tunnel health check ([e76f082](https://github.com/buremba/sub-bridge/commit/e76f082bd55c716a133516c51023d9c228e81e50))
47
+ * add OIDC debug logging to npm publish workflow ([29bec36](https://github.com/buremba/sub-bridge/commit/29bec369a961c4ae67a5800087a5bcc1bb7954f9))
48
+ * add registry-url to setup-node for npm auth ([387c8d9](https://github.com/buremba/sub-bridge/commit/387c8d92c7cbccdc76f5f9e329c243809e9ce20d))
49
+ * add repository url for npm provenance ([db7425e](https://github.com/buremba/sub-bridge/commit/db7425e59f8413bdc5b5020691d3369cecd3d82a))
50
+ * configure npm trusted publishing (OIDC) ([02ef8dd](https://github.com/buremba/sub-bridge/commit/02ef8ddc4ee94e4b69f8fcfe3c85324213d23f0c))
51
+ * detect embedded browser and prompt to open in external browser ([5a4e5f2](https://github.com/buremba/sub-bridge/commit/5a4e5f2588184518fc3f5bdbb79d280ee0208e1e))
52
+ * improve Cloudflare tunnel reliability ([a200e9c](https://github.com/buremba/sub-bridge/commit/a200e9ccc917f7946ca9a6da2f8d7e2601e0b1f0))
53
+ * improve error handling and add model alias support ([b38884a](https://github.com/buremba/sub-bridge/commit/b38884ae1424c9b91e330ed9a463779e3e259508))
54
+ * manually exchange OIDC token for npm token ([b1f9564](https://github.com/buremba/sub-bridge/commit/b1f9564cdd0fc79a4511e2b1f51be61c818271ba))
55
+ * prevent global cloudflared config from interfering with quick tunnels ([6bbda0b](https://github.com/buremba/sub-bridge/commit/6bbda0b7a2e2cdf381d1375b265cbb8a18d4935d))
56
+ * remove NODE_AUTH_TOKEN unset for npm OIDC ([6d64f6d](https://github.com/buremba/sub-bridge/commit/6d64f6df0c5b74cc0ebd1363498babf98b420832))
57
+ * set NPM_CONFIG_PROVENANCE for OIDC ([230d881](https://github.com/buremba/sub-bridge/commit/230d8815ecda3b069cd561d9693fa0fcb14e245f))
58
+ * simplify cloudflare tunnel startup to only wait for URL event ([b47fcea](https://github.com/buremba/sub-bridge/commit/b47fcea9296f0c01c498568102316ea47e6b84e1))
59
+ * simplify npm publish command ([4edc1a2](https://github.com/buremba/sub-bridge/commit/4edc1a2b39ef8af96cf01d07bb8f4fa7b8d7d4eb))
60
+ * surface cloudflare tunnel errors (rate limiting, etc.) to user ([86211b9](https://github.com/buremba/sub-bridge/commit/86211b9afadc4c5c9073324ec01486031e8f9006))
61
+ * use NPM_TOKEN for npm authentication ([dd570b3](https://github.com/buremba/sub-bridge/commit/dd570b3ada072c84ff890f4ce13a220d8bdc5f20))
62
+ * use NPM_TOKEN secret for npm auth ([95d3c27](https://github.com/buremba/sub-bridge/commit/95d3c27020bbafac5223420f035f7f2b1df4994e))
63
+ * wait for cloudflare tunnel connection after URL is received ([fb62e5e](https://github.com/buremba/sub-bridge/commit/fb62e5e5725e5a0206c97ccb8d3558a13055061e))
64
+
3
65
  ## [1.2.1](https://github.com/buremba/sub-bridge/compare/sub-bridge-v1.2.0...sub-bridge-v1.2.1) (2025-12-26)
4
66
 
5
67
 
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Use ChatGPT Pro/Max, Claude Max, etc. directly in Cursor via an MCP-managed OpenAI-compatible proxy.
4
4
 
5
- [![Demo video](public/assets/demo.gif)](public/index.html)
5
+ [![Demo video](public/assets/demo.gif)](https://buremba.github.io/sub-bridge/)
6
6
 
7
7
  ## Why Sub Bridge
8
8
 
@@ -12,15 +12,19 @@ Use ChatGPT Pro/Max, Claude Max, etc. directly in Cursor via an MCP-managed Open
12
12
 
13
13
  ## Quick Start
14
14
 
15
- 1. Install the MCP server:
15
+ 1. Install the MCP server (GitHub doesn't support deep links, so copy and paste the link below into your browser):
16
16
 
17
- [![Add Sub Bridge to Cursor](https://cursor.com/deeplink/mcp-install-dark.png)](cursor://anysphere.cursor-deeplink/mcp/install?name=sub-bridge&config=eyJjb21tYW5kIjogIm5weCIsICJhcmdzIjogWyIteSIsICJzdWItYnJpZGdlIl19)
17
+ <a href="cursor://anysphere.cursor-deeplink/mcp/install?name=sub-bridge&config=eyJjb21tYW5kIjogIm5weCIsICJhcmdzIjogWyIteSIsICJzdWItYnJpZGdlIl19"><img src="https://cursor.com/deeplink/mcp-install-dark.png" alt="Add Sub Bridge to Cursor" height="48"></a>
18
18
 
19
- 1) Ask chat to connect ChatGPT Pro or Claude Max and login with your credentials locally and generate API Key for Cursor locally.
19
+ ```
20
+ cursor://anysphere.cursor-deeplink/mcp/install?name=sub-bridge&config=eyJjb21tYW5kIjogIm5weCIsICJhcmdzIjogWyIteSIsICJzdWItYnJpZGdlIl19
21
+ ```
22
+
23
+ 2. Ask chat to connect ChatGPT Pro or Claude Max and login with your credentials locally and generate API Key for Cursor locally.
20
24
 
21
25
  <img src="public/assets/ui.png" alt="Login and connect accounts" width="420">
22
26
 
23
- 2) Finish setup in Cursor (two steps side-by-side)
27
+ 3. Finish setup in Cursor (two steps side-by-side)
24
28
 
25
29
  <table>
26
30
  <tr>
@@ -1 +1 @@
1
- {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/routes/chat.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,IAAI,EAAW,MAAM,MAAM,CAAA;AA87BpC,wBAAgB,gBAAgB,+EAyB/B"}
1
+ {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/routes/chat.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,IAAI,EAAW,MAAM,MAAM,CAAA;AA09BpC,wBAAgB,gBAAgB,+EAyB/B"}
@@ -174,6 +174,12 @@ function parseRoutedKeys(authHeader) {
174
174
  }
175
175
  return { configs, defaultKey, defaultAccountId };
176
176
  }
177
+ /**
178
+ * Check if a model name resolves to a Claude model (either directly or via alias)
179
+ */
180
+ function isClaudeModel(model) {
181
+ return model.startsWith('claude-') || MODEL_ALIASES[model]?.startsWith('claude-');
182
+ }
177
183
  /**
178
184
  * Find the Claude model and API key for a given requested model
179
185
  */
@@ -186,13 +192,15 @@ function resolveModelRouting(requestedModel, parsedKeys) {
186
192
  }
187
193
  }
188
194
  }
189
- // If model starts with 'claude-', use default key
190
- if (requestedModel.startsWith('claude-') && parsedKeys.defaultKey) {
191
- return { claudeModel: requestedModel, apiKey: parsedKeys.defaultKey };
195
+ // Resolve model alias (e.g., 'opus-4.5' -> 'claude-opus-4-5-20251101')
196
+ const resolvedModel = MODEL_ALIASES[requestedModel] || requestedModel;
197
+ // If model is a Claude model (directly or via alias), use default key
198
+ if (isClaudeModel(requestedModel) && parsedKeys.defaultKey) {
199
+ return { claudeModel: resolvedModel, apiKey: parsedKeys.defaultKey };
192
200
  }
193
201
  // Fallback to default key with the model as-is (for ultrathink)
194
202
  if (parsedKeys.defaultKey) {
195
- return { claudeModel: requestedModel, apiKey: parsedKeys.defaultKey };
203
+ return { claudeModel: resolvedModel, apiKey: parsedKeys.defaultKey };
196
204
  }
197
205
  return null;
198
206
  }
@@ -288,14 +296,24 @@ function convertMessages(messages) {
288
296
  }
289
297
  converted.push({ role: msg.role, content: msg.content ?? '' });
290
298
  }
291
- const last = converted[converted.length - 1];
292
- if (last?.role === 'assistant') {
293
- if (typeof last.content === 'string')
294
- last.content = last.content.trimEnd() || '...';
295
- else if (Array.isArray(last.content)) {
296
- for (const block of last.content) {
297
- if (block.type === 'text')
298
- block.text = (block.text?.trimEnd()) || '...';
299
+ // Ensure all assistant messages have non-empty content (required by Anthropic API:
300
+ // "all messages must have non-empty content except for the optional final assistant message")
301
+ for (const msg of converted) {
302
+ if (msg.role !== 'assistant')
303
+ continue;
304
+ if (typeof msg.content === 'string') {
305
+ msg.content = msg.content.trimEnd() || '...';
306
+ }
307
+ else if (Array.isArray(msg.content)) {
308
+ if (msg.content.length === 0) {
309
+ msg.content = [{ type: 'text', text: '...' }];
310
+ }
311
+ else {
312
+ for (const block of msg.content) {
313
+ if (block.type === 'text') {
314
+ block.text = (block.text?.trimEnd()) || '...';
315
+ }
316
+ }
299
317
  }
300
318
  }
301
319
  }
@@ -704,7 +722,9 @@ async function handleChatCompletion(c) {
704
722
  routing = { claudeModel: resolvedModel, apiKey: oauthTokens.claudeToken };
705
723
  }
706
724
  }
707
- const isClaude = routing !== null && (routing.claudeModel.startsWith('claude-') || parsedKeys.configs.some(c => c.mappings.some(m => m.from === requestedModel)));
725
+ const isClaude = routing !== null && (routing.claudeModel.startsWith('claude-') ||
726
+ isClaudeModel(requestedModel) ||
727
+ parsedKeys.configs.some(c => c.mappings.some(m => m.from === requestedModel)));
708
728
  // If not a Claude model and we have a default key, proxy to OpenAI or ChatGPT backend
709
729
  if (!isClaude) {
710
730
  if (parsedKeys.defaultKey) {
@@ -727,18 +747,21 @@ async function handleChatCompletion(c) {
727
747
  }
728
748
  if (!isClaude || !routing) {
729
749
  (0, logger_1.logRequest)('bypass', requestedModel, {});
730
- const instructions = `Model "${requestedModel}" not configured. Set up routing in your API key:
750
+ const errorMessage = `Model "${requestedModel}" is not configured. To use this model, either:
731
751
 
732
- Format: o3=opus-4.5,o3-mini=sonnet-4.5:sk-ant-xxx
752
+ 1. Add a model mapping to your API key: o3=opus-4.5:sk-ant-xxx
753
+ 2. Add a default API key for OpenAI/ChatGPT fallback
754
+ 3. Login via Sub Bridge OAuth to use your Claude/ChatGPT subscription
733
755
 
734
- Examples:
735
- o3=opus-4.5:sk-ant-xxx # Single routing
736
- o3=opus-4.5,o3-mini=sonnet-4.5:sk-ant-xxx # Multiple routings
737
- sk-ant-xxx # Default key for claude-* models`;
756
+ See https://github.com/buremba/sub-bridge for setup instructions.`;
757
+ (0, logger_1.logError)(`Model not configured: ${requestedModel}`);
738
758
  return c.json({
739
- id: 'error', object: 'chat.completion',
740
- choices: [{ index: 0, message: { role: 'assistant', content: instructions }, finish_reason: 'stop' }]
741
- });
759
+ error: {
760
+ message: errorMessage,
761
+ type: 'invalid_request_error',
762
+ code: 'model_not_configured',
763
+ }
764
+ }, 400);
742
765
  }
743
766
  const { claudeModel, apiKey: initialClaudeToken } = routing;
744
767
  const claudeRefreshToken = oauthTokens?.claudeRefreshToken;
@@ -1 +1 @@
1
- {"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/routes/chat.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/routes/chat.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sub-bridge",
3
- "version": "1.2.2",
3
+ "version": "1.2.4",
4
4
  "description": "MCP bridge to use ChatGPT Pro, Claude Max, etc. in Cursor via an OpenAI-compatible proxy",
5
5
  "main": "dist/cli.js",
6
6
  "bin": {
Binary file
Binary file
@@ -209,6 +209,13 @@ function parseRoutedKeys(authHeader: string | undefined): ParsedKeys {
209
209
  return { configs, defaultKey, defaultAccountId }
210
210
  }
211
211
 
212
+ /**
213
+ * Check if a model name resolves to a Claude model (either directly or via alias)
214
+ */
215
+ function isClaudeModel(model: string): boolean {
216
+ return model.startsWith('claude-') || MODEL_ALIASES[model]?.startsWith('claude-')
217
+ }
218
+
212
219
  /**
213
220
  * Find the Claude model and API key for a given requested model
214
221
  */
@@ -222,14 +229,17 @@ function resolveModelRouting(requestedModel: string, parsedKeys: ParsedKeys): {
222
229
  }
223
230
  }
224
231
 
225
- // If model starts with 'claude-', use default key
226
- if (requestedModel.startsWith('claude-') && parsedKeys.defaultKey) {
227
- return { claudeModel: requestedModel, apiKey: parsedKeys.defaultKey }
232
+ // Resolve model alias (e.g., 'opus-4.5' -> 'claude-opus-4-5-20251101')
233
+ const resolvedModel = MODEL_ALIASES[requestedModel] || requestedModel
234
+
235
+ // If model is a Claude model (directly or via alias), use default key
236
+ if (isClaudeModel(requestedModel) && parsedKeys.defaultKey) {
237
+ return { claudeModel: resolvedModel, apiKey: parsedKeys.defaultKey }
228
238
  }
229
239
 
230
240
  // Fallback to default key with the model as-is (for ultrathink)
231
241
  if (parsedKeys.defaultKey) {
232
- return { claudeModel: requestedModel, apiKey: parsedKeys.defaultKey }
242
+ return { claudeModel: resolvedModel, apiKey: parsedKeys.defaultKey }
233
243
  }
234
244
 
235
245
  return null
@@ -319,12 +329,22 @@ function convertMessages(messages: any[]): any[] {
319
329
  converted.push({ role: msg.role, content: msg.content ?? '' })
320
330
  }
321
331
 
322
- const last = converted[converted.length - 1]
323
- if (last?.role === 'assistant') {
324
- if (typeof last.content === 'string') last.content = last.content.trimEnd() || '...'
325
- else if (Array.isArray(last.content)) {
326
- for (const block of last.content) {
327
- if (block.type === 'text') block.text = (block.text?.trimEnd()) || '...'
332
+ // Ensure all assistant messages have non-empty content (required by Anthropic API:
333
+ // "all messages must have non-empty content except for the optional final assistant message")
334
+ for (const msg of converted) {
335
+ if (msg.role !== 'assistant') continue
336
+
337
+ if (typeof msg.content === 'string') {
338
+ msg.content = msg.content.trimEnd() || '...'
339
+ } else if (Array.isArray(msg.content)) {
340
+ if (msg.content.length === 0) {
341
+ msg.content = [{ type: 'text', text: '...' }]
342
+ } else {
343
+ for (const block of msg.content) {
344
+ if (block.type === 'text') {
345
+ block.text = (block.text?.trimEnd()) || '...'
346
+ }
347
+ }
328
348
  }
329
349
  }
330
350
  }
@@ -766,7 +786,11 @@ async function handleChatCompletion(c: Context) {
766
786
  routing = { claudeModel: resolvedModel, apiKey: oauthTokens.claudeToken }
767
787
  }
768
788
  }
769
- const isClaude = routing !== null && (routing.claudeModel.startsWith('claude-') || parsedKeys.configs.some(c => c.mappings.some(m => m.from === requestedModel)))
789
+ const isClaude = routing !== null && (
790
+ routing.claudeModel.startsWith('claude-') ||
791
+ isClaudeModel(requestedModel) ||
792
+ parsedKeys.configs.some(c => c.mappings.some(m => m.from === requestedModel))
793
+ )
770
794
 
771
795
  // If not a Claude model and we have a default key, proxy to OpenAI or ChatGPT backend
772
796
  if (!isClaude) {
@@ -791,18 +815,22 @@ async function handleChatCompletion(c: Context) {
791
815
 
792
816
  if (!isClaude || !routing) {
793
817
  logRequest('bypass', requestedModel, {})
794
- const instructions = `Model "${requestedModel}" not configured. Set up routing in your API key:
818
+ const errorMessage = `Model "${requestedModel}" is not configured. To use this model, either:
819
+
820
+ 1. Add a model mapping to your API key: o3=opus-4.5:sk-ant-xxx
821
+ 2. Add a default API key for OpenAI/ChatGPT fallback
822
+ 3. Login via Sub Bridge OAuth to use your Claude/ChatGPT subscription
795
823
 
796
- Format: o3=opus-4.5,o3-mini=sonnet-4.5:sk-ant-xxx
824
+ See https://github.com/buremba/sub-bridge for setup instructions.`
797
825
 
798
- Examples:
799
- o3=opus-4.5:sk-ant-xxx # Single routing
800
- o3=opus-4.5,o3-mini=sonnet-4.5:sk-ant-xxx # Multiple routings
801
- sk-ant-xxx # Default key for claude-* models`
826
+ logError(`Model not configured: ${requestedModel}`)
802
827
  return c.json({
803
- id: 'error', object: 'chat.completion',
804
- choices: [{ index: 0, message: { role: 'assistant', content: instructions }, finish_reason: 'stop' }]
805
- })
828
+ error: {
829
+ message: errorMessage,
830
+ type: 'invalid_request_error',
831
+ code: 'model_not_configured',
832
+ }
833
+ }, 400)
806
834
  }
807
835
 
808
836
  const { claudeModel, apiKey: initialClaudeToken } = routing