opencode-cursor-proxy 1.0.1

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.
Files changed (121) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +139 -0
  3. package/README.zh-CN.md +136 -0
  4. package/dist/index.d.ts +1 -0
  5. package/dist/index.js +2 -0
  6. package/dist/index.js.map +1 -0
  7. package/dist/lib/api/agent-service.d.ts +136 -0
  8. package/dist/lib/api/agent-service.js +938 -0
  9. package/dist/lib/api/agent-service.js.map +1 -0
  10. package/dist/lib/api/ai-service.d.ts +26 -0
  11. package/dist/lib/api/ai-service.js +38 -0
  12. package/dist/lib/api/ai-service.js.map +1 -0
  13. package/dist/lib/api/cursor-client.d.ts +119 -0
  14. package/dist/lib/api/cursor-client.js +511 -0
  15. package/dist/lib/api/cursor-client.js.map +1 -0
  16. package/dist/lib/api/cursor-models.d.ts +13 -0
  17. package/dist/lib/api/cursor-models.js +34 -0
  18. package/dist/lib/api/cursor-models.js.map +1 -0
  19. package/dist/lib/api/openai-compat.d.ts +10 -0
  20. package/dist/lib/api/openai-compat.js +262 -0
  21. package/dist/lib/api/openai-compat.js.map +1 -0
  22. package/dist/lib/api/proto/agent-messages.d.ts +25 -0
  23. package/dist/lib/api/proto/agent-messages.js +132 -0
  24. package/dist/lib/api/proto/agent-messages.js.map +1 -0
  25. package/dist/lib/api/proto/bidi.d.ts +17 -0
  26. package/dist/lib/api/proto/bidi.js +24 -0
  27. package/dist/lib/api/proto/bidi.js.map +1 -0
  28. package/dist/lib/api/proto/decoding.d.ts +19 -0
  29. package/dist/lib/api/proto/decoding.js +118 -0
  30. package/dist/lib/api/proto/decoding.js.map +1 -0
  31. package/dist/lib/api/proto/encoding.d.ts +64 -0
  32. package/dist/lib/api/proto/encoding.js +180 -0
  33. package/dist/lib/api/proto/encoding.js.map +1 -0
  34. package/dist/lib/api/proto/exec.d.ts +12 -0
  35. package/dist/lib/api/proto/exec.js +383 -0
  36. package/dist/lib/api/proto/exec.js.map +1 -0
  37. package/dist/lib/api/proto/index.d.ts +13 -0
  38. package/dist/lib/api/proto/index.js +10 -0
  39. package/dist/lib/api/proto/index.js.map +1 -0
  40. package/dist/lib/api/proto/interaction.d.ts +15 -0
  41. package/dist/lib/api/proto/interaction.js +99 -0
  42. package/dist/lib/api/proto/interaction.js.map +1 -0
  43. package/dist/lib/api/proto/kv.d.ts +52 -0
  44. package/dist/lib/api/proto/kv.js +156 -0
  45. package/dist/lib/api/proto/kv.js.map +1 -0
  46. package/dist/lib/api/proto/tool-calls.d.ts +9 -0
  47. package/dist/lib/api/proto/tool-calls.js +144 -0
  48. package/dist/lib/api/proto/tool-calls.js.map +1 -0
  49. package/dist/lib/api/proto/types.d.ts +201 -0
  50. package/dist/lib/api/proto/types.js +10 -0
  51. package/dist/lib/api/proto/types.js.map +1 -0
  52. package/dist/lib/auth/helpers.d.ts +40 -0
  53. package/dist/lib/auth/helpers.js +103 -0
  54. package/dist/lib/auth/helpers.js.map +1 -0
  55. package/dist/lib/auth/index.d.ts +7 -0
  56. package/dist/lib/auth/index.js +10 -0
  57. package/dist/lib/auth/index.js.map +1 -0
  58. package/dist/lib/auth/login.d.ts +55 -0
  59. package/dist/lib/auth/login.js +184 -0
  60. package/dist/lib/auth/login.js.map +1 -0
  61. package/dist/lib/config.d.ts +153 -0
  62. package/dist/lib/config.js +182 -0
  63. package/dist/lib/config.js.map +1 -0
  64. package/dist/lib/openai-compat/handler.d.ts +40 -0
  65. package/dist/lib/openai-compat/handler.js +808 -0
  66. package/dist/lib/openai-compat/handler.js.map +1 -0
  67. package/dist/lib/openai-compat/index.d.ts +9 -0
  68. package/dist/lib/openai-compat/index.js +13 -0
  69. package/dist/lib/openai-compat/index.js.map +1 -0
  70. package/dist/lib/openai-compat/types.d.ts +127 -0
  71. package/dist/lib/openai-compat/types.js +6 -0
  72. package/dist/lib/openai-compat/types.js.map +1 -0
  73. package/dist/lib/openai-compat/utils.d.ts +143 -0
  74. package/dist/lib/openai-compat/utils.js +348 -0
  75. package/dist/lib/openai-compat/utils.js.map +1 -0
  76. package/dist/lib/session-reuse.d.ts +88 -0
  77. package/dist/lib/session-reuse.js +198 -0
  78. package/dist/lib/session-reuse.js.map +1 -0
  79. package/dist/lib/storage.d.ts +55 -0
  80. package/dist/lib/storage.js +159 -0
  81. package/dist/lib/storage.js.map +1 -0
  82. package/dist/lib/utils/cache.d.ts +131 -0
  83. package/dist/lib/utils/cache.js +297 -0
  84. package/dist/lib/utils/cache.js.map +1 -0
  85. package/dist/lib/utils/fetch.d.ts +84 -0
  86. package/dist/lib/utils/fetch.js +261 -0
  87. package/dist/lib/utils/fetch.js.map +1 -0
  88. package/dist/lib/utils/index.d.ts +13 -0
  89. package/dist/lib/utils/index.js +22 -0
  90. package/dist/lib/utils/index.js.map +1 -0
  91. package/dist/lib/utils/jwt.d.ts +40 -0
  92. package/dist/lib/utils/jwt.js +102 -0
  93. package/dist/lib/utils/jwt.js.map +1 -0
  94. package/dist/lib/utils/logger.d.ts +107 -0
  95. package/dist/lib/utils/logger.js +227 -0
  96. package/dist/lib/utils/logger.js.map +1 -0
  97. package/dist/lib/utils/model-resolver.d.ts +49 -0
  98. package/dist/lib/utils/model-resolver.js +503 -0
  99. package/dist/lib/utils/model-resolver.js.map +1 -0
  100. package/dist/lib/utils/request-pool.d.ts +38 -0
  101. package/dist/lib/utils/request-pool.js +105 -0
  102. package/dist/lib/utils/request-pool.js.map +1 -0
  103. package/dist/lib/utils/request-transformer.d.ts +87 -0
  104. package/dist/lib/utils/request-transformer.js +154 -0
  105. package/dist/lib/utils/request-transformer.js.map +1 -0
  106. package/dist/lib/utils/tokenizer.d.ts +14 -0
  107. package/dist/lib/utils/tokenizer.js +76 -0
  108. package/dist/lib/utils/tokenizer.js.map +1 -0
  109. package/dist/plugin/index.d.ts +8 -0
  110. package/dist/plugin/index.js +9 -0
  111. package/dist/plugin/index.js.map +1 -0
  112. package/dist/plugin/plugin.d.ts +21 -0
  113. package/dist/plugin/plugin.js +309 -0
  114. package/dist/plugin/plugin.js.map +1 -0
  115. package/dist/plugin/types.d.ts +120 -0
  116. package/dist/plugin/types.js +7 -0
  117. package/dist/plugin/types.js.map +1 -0
  118. package/dist/server.d.ts +15 -0
  119. package/dist/server.js +95 -0
  120. package/dist/server.js.map +1 -0
  121. package/package.json +79 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-service.js","sourceRoot":"","sources":["../../../src/lib/api/agent-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import { CursorClient } from "./cursor-client";
2
+ type UsableModel = {
3
+ modelId?: string;
4
+ displayModelId?: string;
5
+ displayName?: string;
6
+ displayNameShort?: string;
7
+ aliases?: string[];
8
+ };
9
+ export interface GetUsableModelsResponse {
10
+ models?: UsableModel[];
11
+ }
12
+ export interface GetDefaultModelForCliResponse {
13
+ model?: UsableModel;
14
+ }
15
+ /**
16
+ * Minimal Cursor AiService client using Connect JSON over fetch.
17
+ * This is intentionally lightweight and only covers the methods we need.
18
+ */
19
+ export declare class AiServiceClient {
20
+ private cursor;
21
+ constructor(cursor: CursorClient);
22
+ private postJson;
23
+ getUsableModels(): Promise<UsableModel[]>;
24
+ getDefaultModelForCli(): Promise<UsableModel | undefined>;
25
+ }
26
+ export {};
@@ -0,0 +1,38 @@
1
+ import { CursorClient } from "./cursor-client";
2
+ const SERVICE_BASE = "aiserver.v1.AiService";
3
+ /**
4
+ * Minimal Cursor AiService client using Connect JSON over fetch.
5
+ * This is intentionally lightweight and only covers the methods we need.
6
+ */
7
+ export class AiServiceClient {
8
+ cursor;
9
+ constructor(cursor) {
10
+ this.cursor = cursor;
11
+ }
12
+ async postJson(method, body) {
13
+ const baseUrl = this.cursor.getBaseUrl();
14
+ const headers = this.cursor.buildHeaders({
15
+ "content-type": "application/json",
16
+ accept: "application/json",
17
+ "connect-protocol-version": "1",
18
+ });
19
+ const response = await fetch(`${baseUrl}/${SERVICE_BASE}/${method}`, {
20
+ method: "POST",
21
+ headers,
22
+ body: JSON.stringify(body ?? {}),
23
+ });
24
+ if (!response.ok) {
25
+ throw new Error(`AiService ${method} failed with ${response.status}`);
26
+ }
27
+ return (await response.json());
28
+ }
29
+ async getUsableModels() {
30
+ const data = await this.postJson("GetUsableModels", {});
31
+ return Array.isArray(data.models) ? data.models : [];
32
+ }
33
+ async getDefaultModelForCli() {
34
+ const data = await this.postJson("GetDefaultModelForCli", {});
35
+ return data.model;
36
+ }
37
+ }
38
+ //# sourceMappingURL=ai-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-service.js","sourceRoot":"","sources":["../../../src/lib/api/ai-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,MAAM,YAAY,GAAG,uBAAuB,CAAC;AAkB7C;;;GAGG;AACH,MAAM,OAAO,eAAe;IACN;IAApB,YAAoB,MAAoB;QAApB,WAAM,GAAN,MAAM,CAAc;IAAG,CAAC;IAEpC,KAAK,CAAC,QAAQ,CACpB,MAAc,EACd,IAAc;QAEd,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;YACvC,cAAc,EAAE,kBAAkB;YAClC,MAAM,EAAE,kBAAkB;YAC1B,0BAA0B,EAAE,GAAG;SAChC,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,IAAI,YAAY,IAAI,MAAM,EAAE,EAAE;YACnE,MAAM,EAAE,MAAM;YACd,OAAO;YACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC;SACjC,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,aAAa,MAAM,gBAAgB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QACxE,CAAC;QAED,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAc,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAC9B,iBAAiB,EACjB,EAAE,CACH,CAAC;QACF,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,qBAAqB;QACzB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAC9B,uBAAuB,EACvB,EAAE,CACH,CAAC;QACF,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;CACF"}
@@ -0,0 +1,119 @@
1
+ /**
2
+ * Cursor API Client
3
+ *
4
+ * Implements the Cursor API communication using the Connect-RPC protocol.
5
+ * This is a simplified implementation that handles chat completions.
6
+ */
7
+ export declare const CURSOR_API_URL = "https://api2.cursor.sh";
8
+ export declare const CURSOR_CHAT_ENDPOINT = "/aiserver.v1.AiService/StreamChat";
9
+ export interface ChatMessage {
10
+ role: "user" | "assistant" | "system";
11
+ content: string;
12
+ }
13
+ export interface ChatRequest {
14
+ model: string;
15
+ messages: ChatMessage[];
16
+ stream?: boolean;
17
+ temperature?: number;
18
+ maxTokens?: number;
19
+ }
20
+ export interface ChatResponseDelta {
21
+ content: string;
22
+ finishReason?: string;
23
+ }
24
+ export interface StreamChunk {
25
+ type: "delta" | "done" | "error";
26
+ content?: string;
27
+ error?: string;
28
+ }
29
+ /**
30
+ * Encode a complete ChatMessage for the Cursor API
31
+ *
32
+ * ChatMessage structure:
33
+ * - messages: field 2 (repeated UserMessage)
34
+ * - instructions: field 4 (Instructions)
35
+ * - projectPath: field 5 (string)
36
+ * - model: field 7 (Model)
37
+ * - requestId: field 9 (string)
38
+ * - summary: field 11 (string)
39
+ * - conversationId: field 15 (string)
40
+ */
41
+ export declare function encodeChatRequest(request: ChatRequest): Uint8Array;
42
+ /**
43
+ * Add Connect-RPC envelope (5-byte header)
44
+ * Format: [flags: 1 byte][length: 4 bytes big-endian][payload]
45
+ */
46
+ export declare function addConnectEnvelope(data: Uint8Array, flags?: number): Uint8Array;
47
+ /**
48
+ * Parse Connect-RPC streaming response chunks
49
+ */
50
+ export declare function parseStreamChunks(buffer: Uint8Array): StreamChunk[];
51
+ /**
52
+ * Generate checksum for Cursor API requests
53
+ * Based on OpenCursor's implementation
54
+ */
55
+ export declare function generateChecksum(token: string): string;
56
+ export interface CursorClientOptions {
57
+ baseUrl?: string;
58
+ headers?: Record<string, string>;
59
+ }
60
+ export declare class CursorClient {
61
+ private baseUrl;
62
+ private accessToken;
63
+ private headers;
64
+ constructor(accessToken: string, options?: CursorClientOptions);
65
+ /**
66
+ * Expose the configured base URL (needed for ancillary Cursor calls).
67
+ */
68
+ getBaseUrl(): string;
69
+ /**
70
+ * Get request headers for Cursor API
71
+ *
72
+ * IMPORTANT: Cursor's API requires `application/grpc-web+proto` content-type.
73
+ * Using `application/connect+proto` returns 415 Unsupported Media Type.
74
+ */
75
+ private getHeaders;
76
+ /**
77
+ * Build request headers with optional overrides.
78
+ */
79
+ buildHeaders(extra?: Record<string, string>): Record<string, string>;
80
+ /**
81
+ * Send a chat completion request (non-streaming)
82
+ */
83
+ chat(request: ChatRequest): Promise<string>;
84
+ /**
85
+ * Send a streaming chat completion request
86
+ */
87
+ chatStream(request: ChatRequest): AsyncGenerator<StreamChunk>;
88
+ /**
89
+ * Fetch available models from the Cursor API.
90
+ * This is a working endpoint that returns the list of models available to the user.
91
+ */
92
+ getModels(): Promise<{
93
+ models: any[];
94
+ }>;
95
+ /**
96
+ * Fetch the default model for CLI usage.
97
+ */
98
+ getDefaultModel(): Promise<{
99
+ model: any | null;
100
+ }>;
101
+ /**
102
+ * Health check endpoint.
103
+ */
104
+ healthCheck(): Promise<boolean>;
105
+ }
106
+ /**
107
+ * Create a Cursor API client
108
+ *
109
+ * NOTE: As of late 2024, Cursor has deprecated the legacy StreamChat endpoint.
110
+ * Chat functionality now requires the AgentService with bidirectional streaming.
111
+ * The client currently supports:
112
+ * - getModels() - Fetch available models
113
+ * - getDefaultModel() - Get default model for CLI
114
+ * - healthCheck() - Check API health
115
+ *
116
+ * For chat completions, you need to use the AgentService endpoints which require
117
+ * proper proto message construction and bidirectional streaming support.
118
+ */
119
+ export declare function createCursorClient(accessToken: string, options?: CursorClientOptions): CursorClient;