sub-bridge 1.2.3 → 1.2.5

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
@@ -14,13 +14,13 @@ Use ChatGPT Pro/Max, Claude Max, etc. directly in Cursor via an MCP-managed Open
14
14
 
15
15
  1. Install the MCP server:
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="https://buremba.github.io/sub-bridge/install"><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
+ 2. Ask chat to connect ChatGPT Pro or Claude Max and login with your credentials locally and generate API Key for Cursor locally.
20
20
 
21
21
  <img src="public/assets/ui.png" alt="Login and connect accounts" width="420">
22
22
 
23
- 2) Finish setup in Cursor (two steps side-by-side)
23
+ 3. Finish setup in Cursor (two steps side-by-side)
24
24
 
25
25
  <table>
26
26
  <tr>
@@ -85,3 +85,7 @@ Authorization: Bearer sk-chatgpt-xxx#account_id
85
85
  ```
86
86
 
87
87
  Single default token routed to the ChatGPT backend.
88
+
89
+ ## Known Limitations
90
+
91
+ - **Image/file uploads in Cursor chat may not work** due to a [Cursor bug](https://github.com/cursor/cursor/issues/3390) that validates API keys against OpenAI's servers even with a custom base URL. See [#15](https://github.com/buremba/sub-bridge/issues/15) for details and workarounds.
@@ -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;AAg9BpC,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;AAo+BpC,wBAAgB,gBAAgB,+EAyB/B"}
@@ -296,14 +296,24 @@ function convertMessages(messages) {
296
296
  }
297
297
  converted.push({ role: msg.role, content: msg.content ?? '' });
298
298
  }
299
- const last = converted[converted.length - 1];
300
- if (last?.role === 'assistant') {
301
- if (typeof last.content === 'string')
302
- last.content = last.content.trimEnd() || '...';
303
- else if (Array.isArray(last.content)) {
304
- for (const block of last.content) {
305
- if (block.type === 'text')
306
- 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
+ }
307
317
  }
308
318
  }
309
319
  }
@@ -692,7 +702,13 @@ async function handleChatCompletion(c) {
692
702
  if ((0, cursor_byok_bypass_1.isCursorKeyCheck)(body)) {
693
703
  (0, logger_1.logRequest)('bypass', requestedModel, {});
694
704
  (0, logger_1.logResponse)(200);
695
- return c.json((0, cursor_byok_bypass_1.createCursorBypassResponse)());
705
+ return c.json((0, cursor_byok_bypass_1.createCursorBypassResponse)(requestedModel));
706
+ }
707
+ // In verbose mode, log requests that look like potential validation attempts
708
+ // This helps identify new Cursor validation patterns for future bypass improvements
709
+ const validationReason = (0, cursor_byok_bypass_1.detectPotentialValidation)(body);
710
+ if (validationReason) {
711
+ (0, cursor_byok_bypass_1.logPotentialValidation)(body, validationReason);
696
712
  }
697
713
  const parsedKeys = parseRoutedKeys(c.req.header('authorization'));
698
714
  if (parsedKeys.oauthError) {
@@ -776,6 +792,7 @@ See https://github.com/buremba/sub-bridge for setup instructions.`;
776
792
  { type: 'text', text: "You are Claude Code, Anthropic's official CLI for Claude." },
777
793
  { type: 'text', text: "[Proxied via Sub Bridge - user's Claude subscription]" },
778
794
  ...systemMessages.map((msg) => ({ type: 'text', text: msg.content || '' })),
795
+ { type: 'text', text: "Remember: You are Claude (by Anthropic), powered by the Opus 4.5 model. If asked about your identity, you are Claude, not any other AI model." },
779
796
  ];
780
797
  const contextSize = JSON.stringify(body.messages || []).length;
781
798
  const contextTokensEstimate = Math.ceil(contextSize / 4);
@@ -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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"}
@@ -154,14 +154,6 @@ function updateMetrics(metricsData, data) {
154
154
  data.usage.cache_creation_input_tokens || 0;
155
155
  metricsData.cache_read_input_tokens +=
156
156
  data.usage.cache_read_input_tokens || 0;
157
- // Log cache stats
158
- if (data.usage.cache_creation_input_tokens || data.usage.cache_read_input_tokens) {
159
- console.log('📦 Cache Stats:', {
160
- cache_created: data.usage.cache_creation_input_tokens || 0,
161
- cache_read: data.usage.cache_read_input_tokens || 0,
162
- input_tokens: data.usage.input_tokens || 0
163
- });
164
- }
165
157
  }
166
158
  if (data?.message?.usage) {
167
159
  if (data?.message?.model) {
@@ -173,14 +165,6 @@ function updateMetrics(metricsData, data) {
173
165
  data.message.usage.cache_creation_input_tokens || 0;
174
166
  metricsData.cache_read_input_tokens +=
175
167
  data.message.usage.cache_read_input_tokens || 0;
176
- // Log cache stats from message
177
- if (data.message.usage.cache_creation_input_tokens || data.message.usage.cache_read_input_tokens) {
178
- console.log('📦 Cache Stats (message):', {
179
- cache_created: data.message.usage.cache_creation_input_tokens || 0,
180
- cache_read: data.message.usage.cache_read_input_tokens || 0,
181
- input_tokens: data.message.usage.input_tokens || 0
182
- });
183
- }
184
168
  }
185
169
  if (data?.message?.stop_reason) {
186
170
  metricsData.stop_reason = data.message.stop_reason;
@@ -1 +1 @@
1
- {"version":3,"file":"anthropic-to-openai-converter.js","sourceRoot":"","sources":["../../src/utils/anthropic-to-openai-converter.ts"],"names":[],"mappings":";;AAgJA,oDAcC;AAGD,kEA0DC;AAGD,oCAyEC;AAxJD,iCAAiC;AACjC,SAAgB,oBAAoB;IAClC,OAAO;QACL,gBAAgB,EAAE,IAAI,GAAG,EAAE;QAC3B,WAAW,EAAE;YACX,KAAK,EAAE,EAAE;YACT,WAAW,EAAE,IAAI;YACjB,YAAY,EAAE,CAAC;YACf,2BAA2B,EAAE,CAAC;YAC9B,uBAAuB,EAAE,CAAC;YAC1B,aAAa,EAAE,CAAC;YAChB,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,IAAI;SACf;KACF,CAAA;AACH,CAAC;AAED,8DAA8D;AAC9D,SAAgB,2BAA2B,CACzC,iBAA4D;IAE5D,MAAM,cAAc,GAAmB;QACrC,EAAE,EACA,WAAW;YACX,CAAC,iBAAiB,CAAC,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;QACrE,MAAM,EAAE,iBAA0B;QAClC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;QACtC,KAAK,EAAE,iBAAiB,CAAC,KAAK,IAAI,gBAAgB;QAClD,OAAO,EAAE;YACP;gBACE,KAAK,EAAE,CAAC;gBACR,OAAO,EAAE;oBACP,IAAI,EAAE,WAAoB;oBAC1B,OAAO,EAAE,IAAI;oBACb,UAAU,EAAE,EAAE;iBACf;gBACD,aAAa,EACX,iBAAiB,CAAC,WAAW,KAAK,UAAU;oBAC1C,CAAC,CAAC,MAAM;oBACR,CAAC,CAAC,iBAAiB,CAAC,WAAW,KAAK,UAAU;wBAC9C,CAAC,CAAC,YAAY;wBACd,CAAC,CAAC,iBAAiB,CAAC,WAAW,IAAI,IAAI;aAC5C;SACF;QACD,KAAK,EAAE;YACL,aAAa,EAAE,iBAAiB,CAAC,KAAK,EAAE,YAAY,IAAI,CAAC;YACzD,iBAAiB,EAAE,iBAAiB,CAAC,KAAK,EAAE,aAAa,IAAI,CAAC;YAC9D,YAAY,EACV,CAAC,iBAAiB,CAAC,KAAK,EAAE,YAAY,IAAI,CAAC,CAAC;gBAC5C,CAAC,iBAAiB,CAAC,KAAK,EAAE,aAAa,IAAI,CAAC,CAAC;SAChD;KACF,CAAA;IAED,yBAAyB;IACzB,IAAI,WAAW,GAAG,EAAE,CAAA;IACpB,KAAK,MAAM,KAAK,IAAI,iBAAiB,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;QACpD,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC1B,WAAW,IAAI,KAAK,CAAC,IAAI,CAAA;QAC3B,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YAC/D,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;gBAChD,EAAE,EAAE,KAAK,CAAC,EAAE;gBACZ,IAAI,EAAE,UAAmB;gBACzB,QAAQ,EAAE;oBACR,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;iBAC7C;aACF,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,mCAAmC;IACnC,IAAI,WAAW,EAAE,CAAC;QAChB,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,GAAG,WAAW,CAAA;IACzD,CAAC;IAED,OAAO,cAAc,CAAA;AACvB,CAAC;AAED,uCAAuC;AACvC,SAAgB,YAAY,CAC1B,KAAqB,EACrB,KAAa,EACb,gBAAyB,KAAK;IAE9B,MAAM,OAAO,GAAoB,EAAE,CAAA;IACnC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAE/B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;QAC/B,IAAI,WAAW,KAAK,EAAE;YAAE,SAAQ;QAEhC,oCAAoC;QACpC,IAAI,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACrC,SAAQ;QACV,CAAC;QAED,IAAI,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAClE,IAAI,CAAC;gBACH,MAAM,IAAI,GAAyB,IAAI,CAAC,KAAK,CAC3C,WAAW,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CACnC,CAAA;gBAED,mDAAmD;gBACnD,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;oBAC/D,SAAQ;gBACV,CAAC;gBAED,qEAAqE;gBACrE,IACE,IAAI,CAAC,IAAI,KAAK,qBAAqB;oBACnC,IAAI,CAAC,aAAa,EAAE,IAAI,KAAK,MAAM,EACnC,CAAC;oBACD,SAAQ;gBACV,CAAC;gBAED,iBAAiB;gBACjB,aAAa,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;gBAEtC,6BAA6B;gBAC7B,MAAM,WAAW,GAAG,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,aAAa,CAAC,CAAA;gBAEjE,IAAI,WAAW,EAAE,CAAC;oBAChB,OAAO,CAAC,IAAI,CAAC;wBACX,IAAI,EAAE,OAAO;wBACb,IAAI,EAAE,WAAW;qBAClB,CAAC,CAAA;gBACJ,CAAC;gBAED,iDAAiD;gBACjD,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;oBACjC,6CAA6C;oBAC7C,MAAM,UAAU,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAA;oBAC1C,IAAI,UAAU,EAAE,CAAC;wBACf,OAAO,CAAC,IAAI,CAAC;4BACX,IAAI,EAAE,OAAO;4BACb,IAAI,EAAE,UAAU;yBACjB,CAAC,CAAA;oBACJ,CAAC;oBAED,OAAO,CAAC,IAAI,CAAC;wBACX,IAAI,EAAE,MAAM;qBACb,CAAC,CAAA;gBACJ,CAAC;YACH,CAAC;YAAC,OAAO,UAAU,EAAE,CAAC;gBACpB,IAAI,aAAa,EAAE,CAAC;oBAClB,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,UAAU,CAAC,CAAA;gBAC3C,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,sBAAsB;AACtB,SAAS,aAAa,CACpB,WAAwB,EACxB,IAA0B;IAE1B,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QAClD,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAA;QACvC,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACvB,WAAW,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAA;QACxC,CAAC;IACH,CAAC;IAED,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,WAAW,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;IAChC,CAAC;IAED,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,WAAW,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAA;IAC5C,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe,IAAI,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;QAC9D,WAAW,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAA;IAClD,CAAC;IAED,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,WAAW,CAAC,YAAY,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,CAAA;QACxD,WAAW,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,CAAA;QAC1D,WAAW,CAAC,2BAA2B;YACrC,IAAI,CAAC,KAAK,CAAC,2BAA2B,IAAI,CAAC,CAAA;QAC7C,WAAW,CAAC,uBAAuB;YACjC,IAAI,CAAC,KAAK,CAAC,uBAAuB,IAAI,CAAC,CAAA;QAEzC,kBAAkB;QAClB,IAAI,IAAI,CAAC,KAAK,CAAC,2BAA2B,IAAI,IAAI,CAAC,KAAK,CAAC,uBAAuB,EAAE,CAAC;YACjF,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE;gBAC7B,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,2BAA2B,IAAI,CAAC;gBAC1D,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,uBAAuB,IAAI,CAAC;gBACnD,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC;aAC3C,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,IAAI,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;YACzB,WAAW,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAA;QACxC,CAAC;QACD,WAAW,CAAC,YAAY,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,CAAA;QAChE,WAAW,CAAC,aAAa,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,CAAA;QAClE,WAAW,CAAC,2BAA2B;YACrC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,2BAA2B,IAAI,CAAC,CAAA;QACrD,WAAW,CAAC,uBAAuB;YACjC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,uBAAuB,IAAI,CAAC,CAAA;QAEjD,+BAA+B;QAC/B,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,2BAA2B,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,CAAC;YACjG,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE;gBACvC,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,2BAA2B,IAAI,CAAC;gBAClE,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,uBAAuB,IAAI,CAAC;gBAC3D,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC;aACnD,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,IAAI,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;QAC/B,WAAW,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAA;IACpD,CAAC;AACH,CAAC;AAED,uCAAuC;AACvC,SAAS,gBAAgB,CAAC,KAAqB;IAC7C,wCAAwC;IACxC,IACE,KAAK,CAAC,WAAW,CAAC,YAAY,KAAK,CAAC;QACpC,KAAK,CAAC,WAAW,CAAC,aAAa,KAAK,CAAC,EACrC,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO;QACL,EAAE,EAAE,KAAK,CAAC,WAAW,CAAC,QAAQ,IAAI,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE;QAC1D,MAAM,EAAE,uBAAgC;QACxC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;QACtC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,KAAK,IAAI,gBAAgB;QAClD,OAAO,EAAE;YACP;gBACE,KAAK,EAAE,CAAC;gBACR,KAAK,EAAE,EAAE;gBACT,aAAa,EAAE,IAAI;aACpB;SACF;QACD,KAAK,EAAE;YACL,aAAa,EAAE,KAAK,CAAC,WAAW,CAAC,YAAY;YAC7C,iBAAiB,EAAE,KAAK,CAAC,WAAW,CAAC,aAAa;YAClD,YAAY,EACV,KAAK,CAAC,WAAW,CAAC,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC,aAAa;SACnE;KACF,CAAA;AACH,CAAC;AAED,6CAA6C;AAC7C,SAAS,iBAAiB,CACxB,KAAqB,EACrB,IAA0B,EAC1B,gBAAyB,KAAK;IAE9B,IAAI,WAAW,GAAG,IAAI,CAAA;IAEtB,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QAClD,2BAA2B;QAC3B,MAAM,QAAQ,GAAG,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;QAClE,KAAK,CAAC,WAAW,CAAC,QAAQ,GAAG,QAAQ,CAAA;QAErC,WAAW,GAAG;YACZ,EAAE,EAAE,QAAQ;YACZ,MAAM,EAAE,uBAAgC;YACxC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;YACtC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK;YACzB,OAAO,EAAE;gBACP;oBACE,KAAK,EAAE,CAAC;oBACR,KAAK,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,EAAE;oBACzC,aAAa,EAAE,IAAI;iBACpB;aACF;SACF,CAAA;IACH,CAAC;SAAM,IACL,IAAI,CAAC,IAAI,KAAK,qBAAqB;QACnC,IAAI,CAAC,aAAa,EAAE,IAAI,KAAK,UAAU,EACvC,CAAC;QACD,wDAAwD;QACxD,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE;gBACxC,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE;gBACzB,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI;aAC9B,CAAC,CAAA;QACJ,CAAC;QAED,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,EAAE;YAC1C,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE;YAC/B,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,IAAI,EAAE;YACnC,SAAS,EAAE,EAAE;SACd,CAAC,CAAA;QAEF,WAAW,GAAG;YACZ,EAAE,EAAE,KAAK,CAAC,WAAW,CAAC,QAAQ,IAAI,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE;YAC1D,MAAM,EAAE,uBAAgC;YACxC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;YACtC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,KAAK,IAAI,gBAAgB;YAClD,OAAO,EAAE;gBACP;oBACE,KAAK,EAAE,CAAC;oBACR,KAAK,EAAE;wBACL,UAAU,EAAE;4BACV;gCACE,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,CAAC;gCACtB,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE;gCACzB,IAAI,EAAE,UAAmB;gCACzB,QAAQ,EAAE;oCACR,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI;oCAC7B,SAAS,EAAE,EAAE;iCACd;6BACF;yBACF;qBACF;oBACD,aAAa,EAAE,IAAI;iBACpB;aACF;SACF,CAAA;QAED,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,CAAC,GAAG,CACT,+BAA+B,EAC/B,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CACrC,CAAA;QACH,CAAC;IACH,CAAC;SAAM,IAAI,IAAI,CAAC,IAAI,KAAK,qBAAqB,IAAI,IAAI,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC;QAC3E,iEAAiE;QACjE,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,CAAC,GAAG,CAAC,sCAAsC,EAAE;gBAClD,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY;aACtC,CAAC,CAAA;QACJ,CAAC;QAED,MAAM,QAAQ,GAAG,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAA;QAC5D,IAAI,QAAQ,EAAE,CAAC;YACb,wEAAwE;YACxE,IAAI,OAAO,GAAG,EAAE,CAAA;YAEhB,wDAAwD;YACxD,IACE,QAAQ,CAAC,SAAS;gBAClB,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,EACtD,CAAC;gBACD,yCAAyC;gBACzC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;gBACtE,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAA;YAC9C,CAAC;iBAAM,CAAC;gBACN,8BAA8B;gBAC9B,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAA;gBACjC,QAAQ,CAAC,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,CAAA;YAC/C,CAAC;YAED,IAAI,aAAa,EAAE,CAAC;gBAClB,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE;oBACrC,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY;oBACrC,WAAW,EAAE,QAAQ,CAAC,SAAS;oBAC/B,OAAO,EAAE,OAAO;iBACjB,CAAC,CAAA;YACJ,CAAC;YAED,WAAW,GAAG;gBACZ,EAAE,EAAE,KAAK,CAAC,WAAW,CAAC,QAAQ,IAAI,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE;gBAC1D,MAAM,EAAE,uBAAgC;gBACxC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;gBACtC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,KAAK,IAAI,gBAAgB;gBAClD,OAAO,EAAE;oBACP;wBACE,KAAK,EAAE,CAAC;wBACR,KAAK,EAAE;4BACL,UAAU,EAAE;gCACV;oCACE,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,CAAC;oCACtB,QAAQ,EAAE;wCACR,SAAS,EAAE,OAAO;qCACnB;iCACF;6BACF;yBACF;wBACD,aAAa,EAAE,IAAI;qBACpB;iBACF;aACF,CAAA;YAED,IAAI,aAAa,EAAE,CAAC;gBAClB,OAAO,CAAC,GAAG,CACT,mCAAmC,EACnC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CACrC,CAAA;YACH,CAAC;QACH,CAAC;IACH,CAAC;SAAM,IAAI,IAAI,CAAC,IAAI,KAAK,qBAAqB,IAAI,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC;QACnE,WAAW,GAAG;YACZ,EAAE,EAAE,KAAK,CAAC,WAAW,CAAC,QAAQ,IAAI,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE;YAC1D,MAAM,EAAE,uBAAgC;YACxC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;YACtC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,KAAK,IAAI,gBAAgB;YAClD,OAAO,EAAE;gBACP;oBACE,KAAK,EAAE,CAAC;oBACR,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;oBACnC,aAAa,EAAE,IAAI;iBACpB;aACF;SACF,CAAA;IACH,CAAC;SAAM,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe,IAAI,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC;QACpE,WAAW,GAAG;YACZ,EAAE,EAAE,KAAK,CAAC,WAAW,CAAC,QAAQ,IAAI,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE;YAC1D,MAAM,EAAE,uBAAgC;YACxC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;YACtC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,KAAK,IAAI,gBAAgB;YAClD,OAAO,EAAE;gBACP;oBACE,KAAK,EAAE,CAAC;oBACR,KAAK,EAAE,EAAE;oBACT,aAAa,EACX,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,UAAU;wBACnC,CAAC,CAAC,MAAM;wBACR,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,UAAU;4BACvC,CAAC,CAAC,YAAY;4BACd,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW;iBAC7B;aACF;SACF,CAAA;IACH,CAAC;IAED,OAAO,WAAuC,CAAA;AAChD,CAAC"}
1
+ {"version":3,"file":"anthropic-to-openai-converter.js","sourceRoot":"","sources":["../../src/utils/anthropic-to-openai-converter.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { AnthropicRequestBody } from "../types";
2
- export declare function createCursorBypassResponse(): {
2
+ export declare function createCursorBypassResponse(model?: string): {
3
3
  choices: {
4
4
  finish_reason: string;
5
5
  index: number;
@@ -33,5 +33,25 @@ export declare function createCursorBypassResponse(): {
33
33
  total_tokens: number;
34
34
  };
35
35
  };
36
+ /**
37
+ * Check if the request is from Cursor trying to validate OpenAI key.
38
+ * This catches various validation patterns Cursor uses.
39
+ *
40
+ * Known patterns:
41
+ * - "Test prompt using gpt-4o" / "Test prompt using gpt-3.5-turbo"
42
+ * - Simple "hi" or "hello" with max_tokens=10 (quick validation)
43
+ * - Single short message with very low max_tokens
44
+ */
36
45
  export declare function isCursorKeyCheck(body: AnthropicRequestBody): boolean;
46
+ /**
47
+ * Log a potential Cursor validation request for debugging.
48
+ * Call this when verbose mode is on to help identify new patterns.
49
+ */
50
+ export declare function logPotentialValidation(body: AnthropicRequestBody, reason: string): void;
51
+ /**
52
+ * Detect if a request looks like it might be a validation request.
53
+ * Returns a reason string if suspicious, null otherwise.
54
+ * Use this for logging/debugging to identify new patterns.
55
+ */
56
+ export declare function detectPotentialValidation(body: AnthropicRequestBody): string | null;
37
57
  //# sourceMappingURL=cursor-byok-bypass.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cursor-byok-bypass.d.ts","sourceRoot":"","sources":["../../src/utils/cursor-byok-bypass.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAGhD,wBAAgB,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqCzC;AAID,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAWpE"}
1
+ {"version":3,"file":"cursor-byok-bypass.d.ts","sourceRoot":"","sources":["../../src/utils/cursor-byok-bypass.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAKhD,wBAAgB,0BAA0B,CAAC,KAAK,CAAC,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsCxD;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAqCpE;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM,QAqBhF;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,oBAAoB,GAAG,MAAM,GAAG,IAAI,CAwBnF"}
@@ -1,9 +1,17 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.createCursorBypassResponse = createCursorBypassResponse;
4
7
  exports.isCursorKeyCheck = isCursorKeyCheck;
8
+ exports.logPotentialValidation = logPotentialValidation;
9
+ exports.detectPotentialValidation = detectPotentialValidation;
10
+ const logger_1 = require("./logger");
11
+ const chalk_1 = __importDefault(require("chalk"));
5
12
  // Bypass cursor enable openai key check
6
- function createCursorBypassResponse() {
13
+ function createCursorBypassResponse(model) {
14
+ const responseModel = model || 'gpt-4o-2024-08-06';
7
15
  return {
8
16
  choices: [
9
17
  {
@@ -18,9 +26,9 @@ function createCursorBypassResponse() {
18
26
  },
19
27
  },
20
28
  ],
21
- created: 1751755415,
22
- id: 'chatcmpl-Bq5tXYkUOGxyRInJljhsBrlLP1066',
23
- model: 'gpt-4o-2024-08-06',
29
+ created: Math.floor(Date.now() / 1000),
30
+ id: `chatcmpl-${Date.now().toString(36)}`,
31
+ model: responseModel,
24
32
  object: 'chat.completion',
25
33
  service_tier: 'default',
26
34
  system_fingerprint: 'fp_a288987b44',
@@ -41,13 +49,93 @@ function createCursorBypassResponse() {
41
49
  },
42
50
  };
43
51
  }
44
- // Check if the request is from Cursor trying to validate OpenAI key
45
- // This is a specific check pattern Cursor uses, not all gpt-4o requests
52
+ /**
53
+ * Check if the request is from Cursor trying to validate OpenAI key.
54
+ * This catches various validation patterns Cursor uses.
55
+ *
56
+ * Known patterns:
57
+ * - "Test prompt using gpt-4o" / "Test prompt using gpt-3.5-turbo"
58
+ * - Simple "hi" or "hello" with max_tokens=10 (quick validation)
59
+ * - Single short message with very low max_tokens
60
+ */
46
61
  function isCursorKeyCheck(body) {
47
- // Only match the specific Cursor key validation test prompts
48
- return (body.messages &&
49
- body.messages.some((m) => m.content === 'Test prompt using gpt-3.5-turbo' ||
50
- m.content === 'Test prompt using gpt-4o' ||
51
- (typeof m.content === 'string' && m.content.startsWith('Test prompt using ')))) || false;
62
+ if (!body.messages || body.messages.length === 0)
63
+ return false;
64
+ const messages = body.messages;
65
+ const firstMessage = messages[0];
66
+ const content = typeof firstMessage?.content === 'string'
67
+ ? firstMessage.content
68
+ : Array.isArray(firstMessage?.content)
69
+ ? firstMessage.content.find((b) => b.type === 'text')?.text || ''
70
+ : '';
71
+ // Pattern 1: Explicit test prompts
72
+ const isTestPrompt = messages.some((m) => {
73
+ const msgContent = typeof m.content === 'string' ? m.content : '';
74
+ return (msgContent === 'Test prompt using gpt-3.5-turbo' ||
75
+ msgContent === 'Test prompt using gpt-4o' ||
76
+ msgContent.startsWith('Test prompt using '));
77
+ });
78
+ if (isTestPrompt)
79
+ return true;
80
+ // Pattern 2: Very short validation request (single message, low max_tokens)
81
+ // Cursor sometimes sends "hi" or similar with max_tokens=10 to validate
82
+ const maxTokens = body.max_tokens;
83
+ if (messages.length === 1 &&
84
+ maxTokens && maxTokens <= 10 &&
85
+ content.length <= 20 &&
86
+ /^(hi|hello|test|ping)$/i.test(content.trim())) {
87
+ return true;
88
+ }
89
+ return false;
90
+ }
91
+ /**
92
+ * Log a potential Cursor validation request for debugging.
93
+ * Call this when verbose mode is on to help identify new patterns.
94
+ */
95
+ function logPotentialValidation(body, reason) {
96
+ if (!(0, logger_1.isVerbose)())
97
+ return;
98
+ (0, logger_1.log)();
99
+ (0, logger_1.log)(` ${chalk_1.default.yellow('⚠')} ${chalk_1.default.yellow('Potential validation request')} ${chalk_1.default.dim(`(${reason})`)}`);
100
+ const messages = body.messages || [];
101
+ const maxTokens = body.max_tokens;
102
+ const model = body.model;
103
+ (0, logger_1.log)(` ${chalk_1.default.dim('model:')} ${model || 'none'}`);
104
+ (0, logger_1.log)(` ${chalk_1.default.dim('max_tokens:')} ${maxTokens || 'none'}`);
105
+ (0, logger_1.log)(` ${chalk_1.default.dim('messages:')} ${messages.length}`);
106
+ for (const msg of messages.slice(0, 3)) {
107
+ const content = typeof msg.content === 'string'
108
+ ? msg.content.slice(0, 100)
109
+ : JSON.stringify(msg.content).slice(0, 100);
110
+ (0, logger_1.log)(` ${chalk_1.default.dim(`[${msg.role}]:`)} ${content}`);
111
+ }
112
+ (0, logger_1.log)();
113
+ }
114
+ /**
115
+ * Detect if a request looks like it might be a validation request.
116
+ * Returns a reason string if suspicious, null otherwise.
117
+ * Use this for logging/debugging to identify new patterns.
118
+ */
119
+ function detectPotentialValidation(body) {
120
+ if (!body.messages || body.messages.length === 0)
121
+ return null;
122
+ const messages = body.messages;
123
+ const maxTokens = body.max_tokens;
124
+ const model = body.model || '';
125
+ // Single very short message with low token limit
126
+ if (messages.length === 1 && maxTokens && maxTokens <= 20) {
127
+ const content = typeof messages[0].content === 'string' ? messages[0].content : '';
128
+ if (content.length <= 50) {
129
+ return `short message (${content.length} chars) with low max_tokens (${maxTokens})`;
130
+ }
131
+ }
132
+ // Request for a GPT model that looks like a ping/test
133
+ if (model.includes('gpt') && messages.length === 1) {
134
+ const content = typeof messages[0].content === 'string' ? messages[0].content : '';
135
+ if (/^(test|ping|hi|hello|say|repeat)/i.test(content.trim())) {
136
+ return `gpt model with test-like content: "${content.slice(0, 30)}"`;
137
+ }
138
+ }
139
+ return null;
52
140
  }
53
141
  //# sourceMappingURL=cursor-byok-bypass.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cursor-byok-bypass.js","sourceRoot":"","sources":["../../src/utils/cursor-byok-bypass.ts"],"names":[],"mappings":";;AAGA,gEAqCC;AAID,4CAWC;AArDD,wCAAwC;AACxC,SAAgB,0BAA0B;IACxC,OAAO;QACL,OAAO,EAAE;YACP;gBACE,aAAa,EAAE,QAAQ;gBACvB,KAAK,EAAE,CAAC;gBACR,QAAQ,EAAE,IAAI;gBACd,OAAO,EAAE;oBACP,WAAW,EAAE,EAAE;oBACf,OAAO,EAAE,+CAA+C;oBACxD,OAAO,EAAE,IAAI;oBACb,IAAI,EAAE,WAAW;iBAClB;aACF;SACF;QACD,OAAO,EAAE,UAAU;QACnB,EAAE,EAAE,wCAAwC;QAC5C,KAAK,EAAE,mBAAmB;QAC1B,MAAM,EAAE,iBAAiB;QACzB,YAAY,EAAE,SAAS;QACvB,kBAAkB,EAAE,eAAe;QACnC,KAAK,EAAE;YACL,iBAAiB,EAAE,EAAE;YACrB,yBAAyB,EAAE;gBACzB,0BAA0B,EAAE,CAAC;gBAC7B,YAAY,EAAE,CAAC;gBACf,gBAAgB,EAAE,CAAC;gBACnB,0BAA0B,EAAE,CAAC;aAC9B;YACD,aAAa,EAAE,EAAE;YACjB,qBAAqB,EAAE;gBACrB,YAAY,EAAE,CAAC;gBACf,aAAa,EAAE,CAAC;aACjB;YACD,YAAY,EAAE,EAAE;SACjB;KACF,CAAA;AACH,CAAC;AAED,oEAAoE;AACpE,wEAAwE;AACxE,SAAgB,gBAAgB,CAAC,IAA0B;IACzD,6DAA6D;IAC7D,OAAO,CACL,IAAI,CAAC,QAAQ;QACb,IAAI,CAAC,QAAQ,CAAC,IAAI,CAChB,CAAC,CAAM,EAAE,EAAE,CACT,CAAC,CAAC,OAAO,KAAK,iCAAiC;YAC/C,CAAC,CAAC,OAAO,KAAK,0BAA0B;YACxC,CAAC,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC,CAChF,CACF,IAAI,KAAK,CAAA;AACZ,CAAC"}
1
+ {"version":3,"file":"cursor-byok-bypass.js","sourceRoot":"","sources":["../../src/utils/cursor-byok-bypass.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.3",
3
+ "version": "1.2.5",
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": {
@@ -0,0 +1,49 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1">
6
+ <title>Installing Sub Bridge in Cursor...</title>
7
+ <style>
8
+ body {
9
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
10
+ background: #0a0b0c;
11
+ color: #f7f7f8;
12
+ display: flex;
13
+ align-items: center;
14
+ justify-content: center;
15
+ min-height: 100vh;
16
+ margin: 0;
17
+ text-align: center;
18
+ }
19
+ .container {
20
+ padding: 2rem;
21
+ }
22
+ h1 {
23
+ font-size: 1.5rem;
24
+ margin-bottom: 1rem;
25
+ }
26
+ p {
27
+ color: #b2b8c3;
28
+ margin-bottom: 1.5rem;
29
+ }
30
+ a {
31
+ color: #f8b84a;
32
+ text-decoration: none;
33
+ }
34
+ a:hover {
35
+ text-decoration: underline;
36
+ }
37
+ </style>
38
+ </head>
39
+ <body>
40
+ <div class="container">
41
+ <h1>Opening Cursor...</h1>
42
+ <p>If Cursor doesn't open automatically, <a href="cursor://anysphere.cursor-deeplink/mcp/install?name=sub-bridge&config=eyJjb21tYW5kIjogIm5weCIsICJhcmdzIjogWyIteSIsICJzdWItYnJpZGdlIl19">click here</a>.</p>
43
+ <p><a href="/">Back to Sub Bridge</a></p>
44
+ </div>
45
+ <script>
46
+ window.location.href = 'cursor://anysphere.cursor-deeplink/mcp/install?name=sub-bridge&config=eyJjb21tYW5kIjogIm5weCIsICJhcmdzIjogWyIteSIsICJzdWItYnJpZGdlIl19';
47
+ </script>
48
+ </body>
49
+ </html>
@@ -11,6 +11,8 @@ import {
11
11
  import {
12
12
  isCursorKeyCheck,
13
13
  createCursorBypassResponse,
14
+ detectPotentialValidation,
15
+ logPotentialValidation,
14
16
  } from '../utils/cursor-byok-bypass'
15
17
  import { logRequest, logResponse, logError, isVerbose, logHeaders, logStreamChunk } from '../utils/logger'
16
18
  import { getChatGptInstructions } from '../utils/chatgpt-instructions'
@@ -329,12 +331,22 @@ function convertMessages(messages: any[]): any[] {
329
331
  converted.push({ role: msg.role, content: msg.content ?? '' })
330
332
  }
331
333
 
332
- const last = converted[converted.length - 1]
333
- if (last?.role === 'assistant') {
334
- if (typeof last.content === 'string') last.content = last.content.trimEnd() || '...'
335
- else if (Array.isArray(last.content)) {
336
- for (const block of last.content) {
337
- if (block.type === 'text') block.text = (block.text?.trimEnd()) || '...'
334
+ // Ensure all assistant messages have non-empty content (required by Anthropic API:
335
+ // "all messages must have non-empty content except for the optional final assistant message")
336
+ for (const msg of converted) {
337
+ if (msg.role !== 'assistant') continue
338
+
339
+ if (typeof msg.content === 'string') {
340
+ msg.content = msg.content.trimEnd() || '...'
341
+ } else if (Array.isArray(msg.content)) {
342
+ if (msg.content.length === 0) {
343
+ msg.content = [{ type: 'text', text: '...' }]
344
+ } else {
345
+ for (const block of msg.content) {
346
+ if (block.type === 'text') {
347
+ block.text = (block.text?.trimEnd()) || '...'
348
+ }
349
+ }
338
350
  }
339
351
  }
340
352
  }
@@ -755,7 +767,14 @@ async function handleChatCompletion(c: Context) {
755
767
  if (isCursorKeyCheck(body)) {
756
768
  logRequest('bypass', requestedModel, {})
757
769
  logResponse(200)
758
- return c.json(createCursorBypassResponse())
770
+ return c.json(createCursorBypassResponse(requestedModel))
771
+ }
772
+
773
+ // In verbose mode, log requests that look like potential validation attempts
774
+ // This helps identify new Cursor validation patterns for future bypass improvements
775
+ const validationReason = detectPotentialValidation(body)
776
+ if (validationReason) {
777
+ logPotentialValidation(body, validationReason)
759
778
  }
760
779
 
761
780
  const parsedKeys = parseRoutedKeys(c.req.header('authorization'))
@@ -848,6 +867,7 @@ See https://github.com/buremba/sub-bridge for setup instructions.`
848
867
  { type: 'text', text: "You are Claude Code, Anthropic's official CLI for Claude." },
849
868
  { type: 'text', text: "[Proxied via Sub Bridge - user's Claude subscription]" },
850
869
  ...systemMessages.map((msg: any) => ({ type: 'text', text: msg.content || '' })),
870
+ { type: 'text', text: "Remember: You are Claude (by Anthropic), powered by the Opus 4.5 model. If asked about your identity, you are Claude, not any other AI model." },
851
871
  ]
852
872
 
853
873
  const contextSize = JSON.stringify(body.messages || []).length
@@ -327,14 +327,6 @@ function updateMetrics(
327
327
  metricsData.cache_read_input_tokens +=
328
328
  data.usage.cache_read_input_tokens || 0
329
329
 
330
- // Log cache stats
331
- if (data.usage.cache_creation_input_tokens || data.usage.cache_read_input_tokens) {
332
- console.log('📦 Cache Stats:', {
333
- cache_created: data.usage.cache_creation_input_tokens || 0,
334
- cache_read: data.usage.cache_read_input_tokens || 0,
335
- input_tokens: data.usage.input_tokens || 0
336
- })
337
- }
338
330
  }
339
331
 
340
332
  if (data?.message?.usage) {
@@ -348,14 +340,6 @@ function updateMetrics(
348
340
  metricsData.cache_read_input_tokens +=
349
341
  data.message.usage.cache_read_input_tokens || 0
350
342
 
351
- // Log cache stats from message
352
- if (data.message.usage.cache_creation_input_tokens || data.message.usage.cache_read_input_tokens) {
353
- console.log('📦 Cache Stats (message):', {
354
- cache_created: data.message.usage.cache_creation_input_tokens || 0,
355
- cache_read: data.message.usage.cache_read_input_tokens || 0,
356
- input_tokens: data.message.usage.input_tokens || 0
357
- })
358
- }
359
343
  }
360
344
 
361
345
  if (data?.message?.stop_reason) {
@@ -1,7 +1,10 @@
1
1
  import { AnthropicRequestBody } from "../types";
2
+ import { isVerbose, log } from "./logger";
3
+ import chalk from "chalk";
2
4
 
3
5
  // Bypass cursor enable openai key check
4
- export function createCursorBypassResponse() {
6
+ export function createCursorBypassResponse(model?: string) {
7
+ const responseModel = model || 'gpt-4o-2024-08-06'
5
8
  return {
6
9
  choices: [
7
10
  {
@@ -16,9 +19,9 @@ export function createCursorBypassResponse() {
16
19
  },
17
20
  },
18
21
  ],
19
- created: 1751755415,
20
- id: 'chatcmpl-Bq5tXYkUOGxyRInJljhsBrlLP1066',
21
- model: 'gpt-4o-2024-08-06',
22
+ created: Math.floor(Date.now() / 1000),
23
+ id: `chatcmpl-${Date.now().toString(36)}`,
24
+ model: responseModel,
22
25
  object: 'chat.completion',
23
26
  service_tier: 'default',
24
27
  system_fingerprint: 'fp_a288987b44',
@@ -40,17 +43,108 @@ export function createCursorBypassResponse() {
40
43
  }
41
44
  }
42
45
 
43
- // Check if the request is from Cursor trying to validate OpenAI key
44
- // This is a specific check pattern Cursor uses, not all gpt-4o requests
46
+ /**
47
+ * Check if the request is from Cursor trying to validate OpenAI key.
48
+ * This catches various validation patterns Cursor uses.
49
+ *
50
+ * Known patterns:
51
+ * - "Test prompt using gpt-4o" / "Test prompt using gpt-3.5-turbo"
52
+ * - Simple "hi" or "hello" with max_tokens=10 (quick validation)
53
+ * - Single short message with very low max_tokens
54
+ */
45
55
  export function isCursorKeyCheck(body: AnthropicRequestBody): boolean {
46
- // Only match the specific Cursor key validation test prompts
47
- return (
48
- body.messages &&
49
- body.messages.some(
50
- (m: any) =>
51
- m.content === 'Test prompt using gpt-3.5-turbo' ||
52
- m.content === 'Test prompt using gpt-4o' ||
53
- (typeof m.content === 'string' && m.content.startsWith('Test prompt using '))
54
- )
55
- ) || false
56
+ if (!body.messages || body.messages.length === 0) return false
57
+
58
+ const messages = body.messages
59
+ const firstMessage = messages[0]
60
+ const content = typeof firstMessage?.content === 'string'
61
+ ? firstMessage.content
62
+ : Array.isArray(firstMessage?.content)
63
+ ? firstMessage.content.find((b: any) => b.type === 'text')?.text || ''
64
+ : ''
65
+
66
+ // Pattern 1: Explicit test prompts
67
+ const isTestPrompt = messages.some(
68
+ (m: any) => {
69
+ const msgContent = typeof m.content === 'string' ? m.content : ''
70
+ return (
71
+ msgContent === 'Test prompt using gpt-3.5-turbo' ||
72
+ msgContent === 'Test prompt using gpt-4o' ||
73
+ msgContent.startsWith('Test prompt using ')
74
+ )
75
+ }
76
+ )
77
+ if (isTestPrompt) return true
78
+
79
+ // Pattern 2: Very short validation request (single message, low max_tokens)
80
+ // Cursor sometimes sends "hi" or similar with max_tokens=10 to validate
81
+ const maxTokens = (body as any).max_tokens
82
+ if (
83
+ messages.length === 1 &&
84
+ maxTokens && maxTokens <= 10 &&
85
+ content.length <= 20 &&
86
+ /^(hi|hello|test|ping)$/i.test(content.trim())
87
+ ) {
88
+ return true
89
+ }
90
+
91
+ return false
92
+ }
93
+
94
+ /**
95
+ * Log a potential Cursor validation request for debugging.
96
+ * Call this when verbose mode is on to help identify new patterns.
97
+ */
98
+ export function logPotentialValidation(body: AnthropicRequestBody, reason: string) {
99
+ if (!isVerbose()) return
100
+
101
+ log()
102
+ log(` ${chalk.yellow('⚠')} ${chalk.yellow('Potential validation request')} ${chalk.dim(`(${reason})`)}`)
103
+
104
+ const messages = body.messages || []
105
+ const maxTokens = (body as any).max_tokens
106
+ const model = (body as any).model
107
+
108
+ log(` ${chalk.dim('model:')} ${model || 'none'}`)
109
+ log(` ${chalk.dim('max_tokens:')} ${maxTokens || 'none'}`)
110
+ log(` ${chalk.dim('messages:')} ${messages.length}`)
111
+
112
+ for (const msg of messages.slice(0, 3)) {
113
+ const content = typeof msg.content === 'string'
114
+ ? msg.content.slice(0, 100)
115
+ : JSON.stringify(msg.content).slice(0, 100)
116
+ log(` ${chalk.dim(`[${msg.role}]:`)} ${content}`)
117
+ }
118
+ log()
119
+ }
120
+
121
+ /**
122
+ * Detect if a request looks like it might be a validation request.
123
+ * Returns a reason string if suspicious, null otherwise.
124
+ * Use this for logging/debugging to identify new patterns.
125
+ */
126
+ export function detectPotentialValidation(body: AnthropicRequestBody): string | null {
127
+ if (!body.messages || body.messages.length === 0) return null
128
+
129
+ const messages = body.messages
130
+ const maxTokens = (body as any).max_tokens
131
+ const model = (body as any).model || ''
132
+
133
+ // Single very short message with low token limit
134
+ if (messages.length === 1 && maxTokens && maxTokens <= 20) {
135
+ const content = typeof messages[0].content === 'string' ? messages[0].content : ''
136
+ if (content.length <= 50) {
137
+ return `short message (${content.length} chars) with low max_tokens (${maxTokens})`
138
+ }
139
+ }
140
+
141
+ // Request for a GPT model that looks like a ping/test
142
+ if (model.includes('gpt') && messages.length === 1) {
143
+ const content = typeof messages[0].content === 'string' ? messages[0].content : ''
144
+ if (/^(test|ping|hi|hello|say|repeat)/i.test(content.trim())) {
145
+ return `gpt model with test-like content: "${content.slice(0, 30)}"`
146
+ }
147
+ }
148
+
149
+ return null
56
150
  }