@aituber-onair/chat 0.57.0 → 0.59.0
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.ja.md +73 -11
- package/README.md +70 -10
- package/dist/cjs/backend.d.ts.map +1 -1
- package/dist/cjs/backend.js +1 -0
- package/dist/cjs/backend.js.map +1 -1
- package/dist/cjs/constants/claude.d.ts +1 -0
- package/dist/cjs/constants/claude.d.ts.map +1 -1
- package/dist/cjs/constants/claude.js +4 -1
- package/dist/cjs/constants/claude.js.map +1 -1
- package/dist/cjs/services/providers/agent/CursorSDKChatService.d.ts +70 -0
- package/dist/cjs/services/providers/agent/CursorSDKChatService.d.ts.map +1 -0
- package/dist/cjs/services/providers/agent/CursorSDKChatService.js +141 -0
- package/dist/cjs/services/providers/agent/CursorSDKChatService.js.map +1 -0
- package/dist/cjs/services/providers/agent/CursorSDKChatServiceProvider.d.ts +15 -0
- package/dist/cjs/services/providers/agent/CursorSDKChatServiceProvider.d.ts.map +1 -0
- package/dist/cjs/services/providers/agent/CursorSDKChatServiceProvider.js +34 -0
- package/dist/cjs/services/providers/agent/CursorSDKChatServiceProvider.js.map +1 -0
- package/dist/cjs/services/providers/agent/index.d.ts +6 -1
- package/dist/cjs/services/providers/agent/index.d.ts.map +1 -1
- package/dist/cjs/services/providers/agent/index.js +8 -1
- package/dist/cjs/services/providers/agent/index.js.map +1 -1
- package/dist/cjs/services/providers/agent/shared.d.ts +3 -1
- package/dist/cjs/services/providers/agent/shared.d.ts.map +1 -1
- package/dist/cjs/services/providers/agent/shared.js +7 -2
- package/dist/cjs/services/providers/agent/shared.js.map +1 -1
- package/dist/cjs/services/providers/claude/ClaudeChatServiceProvider.d.ts.map +1 -1
- package/dist/cjs/services/providers/claude/ClaudeChatServiceProvider.js +1 -0
- package/dist/cjs/services/providers/claude/ClaudeChatServiceProvider.js.map +1 -1
- package/dist/esm/backend.d.ts.map +1 -1
- package/dist/esm/backend.js +1 -0
- package/dist/esm/backend.js.map +1 -1
- package/dist/esm/constants/claude.d.ts +1 -0
- package/dist/esm/constants/claude.d.ts.map +1 -1
- package/dist/esm/constants/claude.js +3 -0
- package/dist/esm/constants/claude.js.map +1 -1
- package/dist/esm/services/providers/agent/CursorSDKChatService.d.ts +70 -0
- package/dist/esm/services/providers/agent/CursorSDKChatService.d.ts.map +1 -0
- package/dist/esm/services/providers/agent/CursorSDKChatService.js +137 -0
- package/dist/esm/services/providers/agent/CursorSDKChatService.js.map +1 -0
- package/dist/esm/services/providers/agent/CursorSDKChatServiceProvider.d.ts +15 -0
- package/dist/esm/services/providers/agent/CursorSDKChatServiceProvider.d.ts.map +1 -0
- package/dist/esm/services/providers/agent/CursorSDKChatServiceProvider.js +30 -0
- package/dist/esm/services/providers/agent/CursorSDKChatServiceProvider.js.map +1 -0
- package/dist/esm/services/providers/agent/index.d.ts +6 -1
- package/dist/esm/services/providers/agent/index.d.ts.map +1 -1
- package/dist/esm/services/providers/agent/index.js +4 -0
- package/dist/esm/services/providers/agent/index.js.map +1 -1
- package/dist/esm/services/providers/agent/shared.d.ts +3 -1
- package/dist/esm/services/providers/agent/shared.d.ts.map +1 -1
- package/dist/esm/services/providers/agent/shared.js +7 -2
- package/dist/esm/services/providers/agent/shared.js.map +1 -1
- package/dist/esm/services/providers/claude/ClaudeChatServiceProvider.d.ts.map +1 -1
- package/dist/esm/services/providers/claude/ClaudeChatServiceProvider.js +2 -1
- package/dist/esm/services/providers/claude/ClaudeChatServiceProvider.js.map +1 -1
- package/dist/umd/aituber-onair-chat.js +9 -3
- package/dist/umd/aituber-onair-chat.min.js +7 -7
- package/package.json +1 -1
package/README.ja.md
CHANGED
|
@@ -91,8 +91,9 @@ async function testChat() {
|
|
|
91
91
|
|
|
92
92
|
## Agent SDKプロバイダー
|
|
93
93
|
|
|
94
|
-
Codex SDK、Claude Agent SDK、Copilot SDK
|
|
95
|
-
|
|
94
|
+
Codex SDK、Claude Agent SDK、Copilot SDK、Cursor SDK のような
|
|
95
|
+
エージェントSDKを使う場合は、専用の `@aituber-onair/chat/agent` エントリを
|
|
96
|
+
使用します。
|
|
96
97
|
|
|
97
98
|
```typescript
|
|
98
99
|
import { createAgentChatService } from '@aituber-onair/chat/agent';
|
|
@@ -107,6 +108,8 @@ npm install @aituber-onair/chat @openai/codex-sdk
|
|
|
107
108
|
npm install @aituber-onair/chat @anthropic-ai/claude-agent-sdk
|
|
108
109
|
# または
|
|
109
110
|
npm install @aituber-onair/chat @github/copilot-sdk
|
|
111
|
+
# または(Node.js 22.13以上が必要)
|
|
112
|
+
npm install @aituber-onair/chat @cursor/sdk
|
|
110
113
|
```
|
|
111
114
|
|
|
112
115
|
Codex SDK を使う最短例:
|
|
@@ -212,6 +215,32 @@ const chatService = createAgentChatService('copilot-sdk', {
|
|
|
212
215
|
});
|
|
213
216
|
```
|
|
214
217
|
|
|
218
|
+
Cursor SDK を使う場合は、Node.js 22.13以上が必要です。
|
|
219
|
+
|
|
220
|
+
```typescript
|
|
221
|
+
import { createAgentChatService } from '@aituber-onair/chat/agent';
|
|
222
|
+
|
|
223
|
+
const chatService = createAgentChatService('cursor-sdk', {
|
|
224
|
+
apiKey: process.env.CURSOR_API_KEY,
|
|
225
|
+
workingDirectory: process.cwd(),
|
|
226
|
+
});
|
|
227
|
+
|
|
228
|
+
const response = await chatService.chatOnce(
|
|
229
|
+
[{ role: 'user', content: '一文で挨拶して。' }],
|
|
230
|
+
false,
|
|
231
|
+
);
|
|
232
|
+
|
|
233
|
+
console.log(response);
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
認証には、セットアップ時に `Cursor.auth.login()` を一度実行する方法、
|
|
237
|
+
`CURSOR_API_KEY` を設定する方法、`apiKey` を渡す方法があります。Cursor CLI の
|
|
238
|
+
`agent login` では SDK の認証情報は作成されません。利用分は Cursor プランに
|
|
239
|
+
請求されます。このプロバイダーは `tools: []` と `settingSources: []` を指定し、
|
|
240
|
+
tools、vision、MCP は使用しません。既定のモデルIDは、
|
|
241
|
+
`Cursor.models.list()` で Cursor の Auto として返される `default` です。
|
|
242
|
+
別のモデルを使う場合は、`Cursor.models.list()` が返すIDを `model` に指定します。
|
|
243
|
+
|
|
215
244
|
利用前に、各 SDK のローカル認証を済ませておく必要があります。SDK パッケージが
|
|
216
245
|
未インストール、または認証が未完了の場合は、実行時に元の SDK エラー詳細を含む
|
|
217
246
|
エラーを投げます。
|
|
@@ -305,9 +334,10 @@ const localCompatibleService = ChatServiceFactory.createChatService(
|
|
|
305
334
|
|
|
306
335
|
#### Agent SDKプロバイダー
|
|
307
336
|
|
|
308
|
-
`@aituber-onair/chat/agent` は、Codex SDK、Claude Agent SDK、Copilot SDK
|
|
309
|
-
|
|
310
|
-
|
|
337
|
+
`@aituber-onair/chat/agent` は、Codex SDK、Claude Agent SDK、Copilot SDK、
|
|
338
|
+
Cursor SDK のようなエージェントSDK向けの実験的なプロバイダーを公開します。
|
|
339
|
+
ブラウザ/GAS向けUMDエントリには含まれません。Cursor SDK では任意で APIキーを
|
|
340
|
+
指定でき、ほかの Agent SDK プロバイダーは各 SDK のローカル認証を使用します。
|
|
311
341
|
|
|
312
342
|
利用するエージェントSDKパッケージだけを、利用側の JavaScript ランタイムアプリに追加してください。
|
|
313
343
|
|
|
@@ -317,12 +347,14 @@ npm install @aituber-onair/chat @openai/codex-sdk
|
|
|
317
347
|
npm install @aituber-onair/chat @anthropic-ai/claude-agent-sdk
|
|
318
348
|
# または
|
|
319
349
|
npm install @aituber-onair/chat @github/copilot-sdk
|
|
350
|
+
# または(Node.js 22.13以上が必要)
|
|
351
|
+
npm install @aituber-onair/chat @cursor/sdk
|
|
320
352
|
```
|
|
321
353
|
|
|
322
|
-
`@openai/codex-sdk`、`@anthropic-ai/claude-agent-sdk
|
|
323
|
-
`@aituber-onair/chat`
|
|
324
|
-
|
|
325
|
-
|
|
354
|
+
`@openai/codex-sdk`、`@anthropic-ai/claude-agent-sdk`、
|
|
355
|
+
`@github/copilot-sdk`、`@cursor/sdk` は `@aituber-onair/chat` の依存関係には
|
|
356
|
+
含めていません。SDK は動的に読み込むため、通常の API プロバイダーだけを使う
|
|
357
|
+
ユーザーはこれらのエージェントSDKパッケージをインストールする必要がありません。
|
|
326
358
|
|
|
327
359
|
```typescript
|
|
328
360
|
import { createAgentChatService } from '@aituber-onair/chat/agent';
|
|
@@ -424,10 +456,35 @@ const copilotService = createAgentChatService('copilot-sdk', {
|
|
|
424
456
|
});
|
|
425
457
|
```
|
|
426
458
|
|
|
459
|
+
Cursor SDK を使う場合は `cursor-sdk` を指定します。Node.js 22.13以上が必要です。
|
|
460
|
+
|
|
461
|
+
```typescript
|
|
462
|
+
import { createAgentChatService } from '@aituber-onair/chat/agent';
|
|
463
|
+
|
|
464
|
+
const cursorService = createAgentChatService('cursor-sdk', {
|
|
465
|
+
apiKey: process.env.CURSOR_API_KEY,
|
|
466
|
+
workingDirectory: process.cwd(),
|
|
467
|
+
});
|
|
468
|
+
|
|
469
|
+
const result = await cursorService.chatOnce(messages, false, (text) =>
|
|
470
|
+
process.stdout.write(text),
|
|
471
|
+
);
|
|
472
|
+
```
|
|
473
|
+
|
|
474
|
+
認証には、セットアップ時に `Cursor.auth.login()` を一度実行する方法、
|
|
475
|
+
`CURSOR_API_KEY` を設定する方法、`apiKey` を渡す方法があります。Cursor CLI の
|
|
476
|
+
`agent login` では SDK の認証情報は作成されません。利用分は Cursor プランに
|
|
477
|
+
請求されます。このプロバイダーはローカルエージェントに `tools: []` と
|
|
478
|
+
`settingSources: []` を渡すため、tools、vision、MCP は使用できません。
|
|
479
|
+
`DEFAULT_CURSOR_SDK_MODEL` は `default` です。`Cursor.models.list()` では
|
|
480
|
+
Cursor の Auto として返されます。別のモデルを使う場合は、
|
|
481
|
+
`Cursor.models.list()` が返すIDを `model` に指定します。
|
|
482
|
+
|
|
427
483
|
利用可能なプロバイダー:
|
|
428
484
|
- `codex-sdk`: `@openai/codex-sdk` と Codex 認証が必要です。
|
|
429
485
|
- `claude-agent-sdk`: `@anthropic-ai/claude-agent-sdk` と Claude Agent SDK 認証が必要です。
|
|
430
486
|
- `copilot-sdk`: `@github/copilot-sdk` と GitHub Copilot 認証が必要です。
|
|
487
|
+
- `cursor-sdk`: `@cursor/sdk`、Node.js 22.13以上、Cursor SDK の認証またはAPIキーが必要です。
|
|
431
488
|
|
|
432
489
|
現時点の制限:
|
|
433
490
|
- テキストチャットのみ対応します。
|
|
@@ -615,10 +672,15 @@ const claudeService = ChatServiceFactory.createChatService('claude', {
|
|
|
615
672
|
既定値にはしていません。Claude Opus 5 は adaptive thinking が既定で有効です。
|
|
616
673
|
Opus 5.5 は画像入力に対応します。今回参照した資料ではモデル固有のeffort値を
|
|
617
674
|
確認できなかったため、effortは指定せずAPI側の既定動作を使います。
|
|
675
|
+
`claude-sonnet-5-5`(`MODEL_CLAUDE_5_5_SONNET`)は Messages API の明示的な選択肢として、
|
|
676
|
+
画像入力、streaming、自動ツール選択に対応します。既定で adaptive thinking が有効で、
|
|
677
|
+
effortは5段階すべてに対応します。強制ツール選択はAPIで拒否されますが、このパッケージは
|
|
678
|
+
送信しません。継続時は返された `assistant_message` を会話履歴に保持してください。
|
|
679
|
+
[Migration guide](https://platform.claude.com/docs/en/models/sonnet-5-5/migration-guide)。
|
|
618
680
|
対応するClaudeモデルでは `reasoning_effort` を指定でき、Anthropic APIの
|
|
619
681
|
`output_config.effort` に変換されます。省略時のClaude API既定値は `high` です。
|
|
620
682
|
|
|
621
|
-
- Claude Fable 5、Opus 5、Sonnet 5、Opus 4.8、Opus 4.7:
|
|
683
|
+
- Claude Fable 5、Opus 5、Sonnet 5.5、Sonnet 5、Opus 4.8、Opus 4.7:
|
|
622
684
|
`low`、`medium`、`high`、`xhigh`、`max`
|
|
623
685
|
- Claude Opus 4.6、Sonnet 4.6:
|
|
624
686
|
`low`、`medium`、`high`、`max`
|
|
@@ -1354,7 +1416,7 @@ vision、JSON mode、reasoning 設定を使うべきかを provider 固有ロジ
|
|
|
1354
1416
|
- **OpenAI**: GPT-6 Astra (`gpt-6-astra`)、GPT-6 Sol (`gpt-6-sol`)、GPT-6 Luna (`gpt-6-luna`, 既定でResponses API); GPT-5.6(Sol/Terra/Luna)、GPT-5.5、GPT-5.4 Pro、GPT-5.4、GPT-5.4 Mini、GPT-5.4 Nano、GPT-5.1、GPT-5(Nano/Mini/Standard)、GPT-4.1(miniとnanoを含む), GPT-4, GPT-4o-mini, O3-mini, o1, o1-miniのモデルをサポート
|
|
1355
1417
|
- **OpenAI-Compatible**: OpenAI互換 endpoint 経由で任意のローカル/セルフホスト model ID を利用できます。vision 対応可否は endpoint ごとに差があるため、原則 `unknown` 扱いです
|
|
1356
1418
|
- **Gemini**: Gemini 3.8 Flash、Gemini 3.7 Flash、Gemini 3.6 Flash、Gemini 3.5 Flash、Gemini 3.5 Flash-Lite、Gemini 3.1 Flash-Lite、Gemini 3.1 Pro Preview、Gemini 3 Flash Preview、Gemini 2.5 Pro、Gemini 2.5 Flash、Gemini 2.5 Flash Lite、Gemma 4 31B IT、Gemma 4 26B A4B IT などの推奨モデルをサポート。Gemini 3 はチャット用途向けに利用可能な最小の thinking を既定値にします。`minimal` 非対応の Gemini 3.8 Flash、Gemini 3.7 Flash、Gemini 3 Pro は `low`、その他の Gemini 3 Flash は `minimal` を使います。Gemini 3.1 Flash-Lite Preview、Gemini 3 Pro Preview、Gemini 2.5 Flash Lite Preview などの lifecycle 上 deprecated なモデルは明示指定用に export を残しています
|
|
1357
|
-
- **Claude**: Claude Opus 5.5 (`claude-opus-5-5`)
|
|
1419
|
+
- **Claude**: Claude Opus 5.5 (`claude-opus-5-5`)、Claude Sonnet 5.5 (`claude-sonnet-5-5`)、Claude Fable 5.1 (`claude-fable-5-1`); Claude Fable 5, Claude Opus 5, Claude Sonnet 5, Claude Opus 4.8, Claude Opus 4.7, Claude Opus 4.6, Claude Opus 4.5, Claude Sonnet 4.6, Claude Sonnet 4.5, Claude Haiku 4.5 をサポート。調整可能な`reasoning_effort`は対応モデルに限り`output_config.effort`として送信し、refusal metadataは終端completionとして保持します
|
|
1358
1420
|
- **OpenRouter**: GPT-6 Astra/Pro, Claude Fable 5.1, DeepSeek V4.1 Flash, Gemini 3.8 Flash, Ling 3.0 Flash VL, Mercury 2.5, Nex N2.5 Mini/Pro, Qwen3.8 Max, Muse Spark 1.3; OpenAI/Claude/Gemini/Z.ai/xAI/Kimi/DeepSeek/Qwen/Kwaipilotのキュレーション済み一覧をサポート。GLM-5.3、Qwen3.8 Flash、DeepSeek V4 Flash Vision Exp、Claude Sonnet 5/Opus 4.8、Kimi K2.6も含みます
|
|
1359
1421
|
- **Z.ai**: GLM-5.3/GLM-5.2/GLM-5.1/GLM-5/GLM-5-TurboとGLM-4.7/4.6のテキストモデル、GLM-5.3-Flash/GLM-5V-Turbo/GLM-4.6V系のビジョンモデルをサポート。GLM-5.3はthinking必須で`low`、GLM-5.2は`none`を既定値にします
|
|
1360
1422
|
- **xAI**: Grok 4.7、Grok 4.6、Grok 4.5、Grok 4.3、Grok 4.20 Reasoning/Non-Reasoningをvision対応でサポート。Grok 4.7/4.6/4.5のpackage既定は低遅延向けの`reasoning_effort: 'low'`、Grok 4.3は`none`です
|
package/README.md
CHANGED
|
@@ -91,8 +91,8 @@ Notes:
|
|
|
91
91
|
|
|
92
92
|
## Agent SDK Providers
|
|
93
93
|
|
|
94
|
-
For agent SDKs such as Codex SDK, Claude Agent SDK,
|
|
95
|
-
separate `@aituber-onair/chat/agent` entry point:
|
|
94
|
+
For agent SDKs such as Codex SDK, Claude Agent SDK, Copilot SDK, and Cursor SDK,
|
|
95
|
+
use the separate `@aituber-onair/chat/agent` entry point:
|
|
96
96
|
|
|
97
97
|
```typescript
|
|
98
98
|
import { createAgentChatService } from '@aituber-onair/chat/agent';
|
|
@@ -107,6 +107,8 @@ npm install @aituber-onair/chat @openai/codex-sdk
|
|
|
107
107
|
npm install @aituber-onair/chat @anthropic-ai/claude-agent-sdk
|
|
108
108
|
# or
|
|
109
109
|
npm install @aituber-onair/chat @github/copilot-sdk
|
|
110
|
+
# or (requires Node.js 22.13+)
|
|
111
|
+
npm install @aituber-onair/chat @cursor/sdk
|
|
110
112
|
```
|
|
111
113
|
|
|
112
114
|
Minimal Codex SDK example:
|
|
@@ -220,6 +222,32 @@ const chatService = createAgentChatService('copilot-sdk', {
|
|
|
220
222
|
});
|
|
221
223
|
```
|
|
222
224
|
|
|
225
|
+
For Cursor SDK (Node.js 22.13+):
|
|
226
|
+
|
|
227
|
+
```typescript
|
|
228
|
+
import { createAgentChatService } from '@aituber-onair/chat/agent';
|
|
229
|
+
|
|
230
|
+
const chatService = createAgentChatService('cursor-sdk', {
|
|
231
|
+
apiKey: process.env.CURSOR_API_KEY,
|
|
232
|
+
workingDirectory: process.cwd(),
|
|
233
|
+
});
|
|
234
|
+
|
|
235
|
+
const response = await chatService.chatOnce(
|
|
236
|
+
[{ role: 'user', content: 'Say hello in one sentence.' }],
|
|
237
|
+
false,
|
|
238
|
+
);
|
|
239
|
+
|
|
240
|
+
console.log(response);
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
Authenticate once during setup with `Cursor.auth.login()`, set
|
|
244
|
+
`CURSOR_API_KEY`, or pass `apiKey` as shown above. Cursor CLI `agent login` does
|
|
245
|
+
not populate the SDK authentication store. Cursor SDK usage is billed to the
|
|
246
|
+
Cursor plan. This provider passes `tools: []` and `settingSources: []`, and does
|
|
247
|
+
not support tools, vision, or MCP. The default model id is `default`, which
|
|
248
|
+
`Cursor.models.list()` returns as Cursor's Auto option. To use another model,
|
|
249
|
+
set `model` to an id returned by `Cursor.models.list()`.
|
|
250
|
+
|
|
223
251
|
Authenticate the corresponding SDK locally before using these providers. If the
|
|
224
252
|
SDK package is missing or authentication is not ready, the provider throws an
|
|
225
253
|
error at runtime with the original SDK error details.
|
|
@@ -314,8 +342,9 @@ Notes:
|
|
|
314
342
|
#### Agent SDK Providers
|
|
315
343
|
|
|
316
344
|
`@aituber-onair/chat/agent` exposes experimental providers for agent SDKs such
|
|
317
|
-
as Codex SDK, Claude Agent SDK, and
|
|
318
|
-
included in the browser/GAS UMD entry point
|
|
345
|
+
as Codex SDK, Claude Agent SDK, Copilot SDK, and Cursor SDK. These providers are
|
|
346
|
+
not included in the browser/GAS UMD entry point. Cursor SDK accepts an optional
|
|
347
|
+
API key; the other agent providers use their local authentication flows.
|
|
319
348
|
|
|
320
349
|
Install only the agent SDK package you actually use in your JavaScript runtime application:
|
|
321
350
|
|
|
@@ -325,12 +354,14 @@ npm install @aituber-onair/chat @openai/codex-sdk
|
|
|
325
354
|
npm install @aituber-onair/chat @anthropic-ai/claude-agent-sdk
|
|
326
355
|
# or
|
|
327
356
|
npm install @aituber-onair/chat @github/copilot-sdk
|
|
357
|
+
# or (requires Node.js 22.13+)
|
|
358
|
+
npm install @aituber-onair/chat @cursor/sdk
|
|
328
359
|
```
|
|
329
360
|
|
|
330
|
-
`@openai/codex-sdk`, `@anthropic-ai/claude-agent-sdk`,
|
|
331
|
-
`@github/copilot-sdk` are not dependencies of
|
|
332
|
-
loaded dynamically, so users who only use the
|
|
333
|
-
install these agent SDK packages.
|
|
361
|
+
The packages `@openai/codex-sdk`, `@anthropic-ai/claude-agent-sdk`,
|
|
362
|
+
`@github/copilot-sdk`, and `@cursor/sdk` are not dependencies of
|
|
363
|
+
`@aituber-onair/chat`. They are loaded dynamically, so users who only use the
|
|
364
|
+
normal API providers do not install these agent SDK packages.
|
|
334
365
|
|
|
335
366
|
```typescript
|
|
336
367
|
import { createAgentChatService } from '@aituber-onair/chat/agent';
|
|
@@ -442,10 +473,34 @@ const copilotService = createAgentChatService('copilot-sdk', {
|
|
|
442
473
|
});
|
|
443
474
|
```
|
|
444
475
|
|
|
476
|
+
For Cursor SDK, use `cursor-sdk` on Node.js 22.13 or later.
|
|
477
|
+
|
|
478
|
+
```typescript
|
|
479
|
+
import { createAgentChatService } from '@aituber-onair/chat/agent';
|
|
480
|
+
|
|
481
|
+
const cursorService = createAgentChatService('cursor-sdk', {
|
|
482
|
+
apiKey: process.env.CURSOR_API_KEY,
|
|
483
|
+
workingDirectory: process.cwd(),
|
|
484
|
+
});
|
|
485
|
+
|
|
486
|
+
const result = await cursorService.chatOnce(messages, false, (text) =>
|
|
487
|
+
process.stdout.write(text),
|
|
488
|
+
);
|
|
489
|
+
```
|
|
490
|
+
|
|
491
|
+
Authenticate once during setup with `Cursor.auth.login()`, set
|
|
492
|
+
`CURSOR_API_KEY`, or pass `apiKey`. Cursor CLI `agent login` does not populate
|
|
493
|
+
the SDK authentication store. Usage is billed to the Cursor plan. This provider
|
|
494
|
+
uses a local agent with `tools: []` and `settingSources: []`; tools, vision, and
|
|
495
|
+
MCP are unavailable. `DEFAULT_CURSOR_SDK_MODEL` is `default`, which
|
|
496
|
+
`Cursor.models.list()` returns as Cursor's Auto option. To use another model,
|
|
497
|
+
set `model` to an id returned by `Cursor.models.list()`.
|
|
498
|
+
|
|
445
499
|
Available providers:
|
|
446
500
|
- `codex-sdk`: requires `@openai/codex-sdk` and Codex authentication.
|
|
447
501
|
- `claude-agent-sdk`: requires `@anthropic-ai/claude-agent-sdk` and Claude Agent SDK authentication.
|
|
448
502
|
- `copilot-sdk`: requires `@github/copilot-sdk` and GitHub Copilot authentication.
|
|
503
|
+
- `cursor-sdk`: requires `@cursor/sdk`, Node.js 22.13+, and Cursor SDK authentication or an API key.
|
|
449
504
|
|
|
450
505
|
Current limitations:
|
|
451
506
|
- Text chat only.
|
|
@@ -634,10 +689,15 @@ options and are not the package default. Opus 5.5 supports image input; the
|
|
|
634
689
|
package leaves its reasoning effort unspecified because model-specific effort
|
|
635
690
|
values are not documented in the sources used for this integration. Claude
|
|
636
691
|
Opus 5 has adaptive thinking enabled by default.
|
|
692
|
+
`claude-sonnet-5-5` (`MODEL_CLAUDE_5_5_SONNET`) is an explicit Messages API
|
|
693
|
+
option with images, streaming, and automatic tool selection. It runs adaptive
|
|
694
|
+
thinking by default, supports all five effort levels, and rejects forced tool
|
|
695
|
+
selection, which this package does not send. Preserve the returned
|
|
696
|
+
`assistant_message` in continuation history. [Migration guide](https://platform.claude.com/docs/en/models/sonnet-5-5/migration-guide).
|
|
637
697
|
Supported Claude models accept `reasoning_effort`, which maps to Anthropic's
|
|
638
698
|
`output_config.effort`. The Claude API defaults to `high` when it is omitted:
|
|
639
699
|
|
|
640
|
-
- Claude Fable 5, Opus 5, Sonnet 5, Opus 4.8, and Opus 4.7:
|
|
700
|
+
- Claude Fable 5, Opus 5, Sonnet 5.5, Sonnet 5, Opus 4.8, and Opus 4.7:
|
|
641
701
|
`low`, `medium`, `high`, `xhigh`, or `max`.
|
|
642
702
|
- Claude Opus 4.6 and Sonnet 4.6:
|
|
643
703
|
`low`, `medium`, `high`, or `max`.
|
|
@@ -1383,7 +1443,7 @@ Currently, the following AI providers are built-in:
|
|
|
1383
1443
|
- **OpenAI**: GPT-6 Astra (`gpt-6-astra`), GPT-6 Sol (`gpt-6-sol`), and GPT-6 Luna (`gpt-6-luna`, Responses API by default); Supports models like GPT-5.6 (Sol/Terra/Luna), GPT-5.5, GPT-5.4 Pro, GPT-5.4, GPT-5.4 Mini, GPT-5.4 Nano, GPT-5.1, GPT-5 (Nano/Mini/Standard), GPT-4.1 (including mini and nano), GPT-4, GPT-4o-mini, O3-mini, o1, o1-mini
|
|
1384
1444
|
- **OpenAI-Compatible**: Supports arbitrary local/self-hosted model IDs via OpenAI-compatible endpoints. Vision capability is treated as `unknown` unless your app knows the endpoint-specific model catalog.
|
|
1385
1445
|
- **Gemini**: Supports recommended models like Gemini 3.8 Flash, Gemini 3.7 Flash, Gemini 3.6 Flash, Gemini 3.5 Flash, Gemini 3.5 Flash-Lite, Gemini 3.1 Flash-Lite, Gemini 3.1 Pro Preview, Gemini 3 Flash Preview, Gemini 2.5 Pro, Gemini 2.5 Flash, Gemini 2.5 Flash Lite, Gemma 4 31B IT, and Gemma 4 26B A4B IT. Gemini 3 models default to their lowest supported thinking level for chat-style responses. Gemini 3.8 Flash, Gemini 3.7 Flash, and Gemini 3 Pro use low because they do not support minimal; other Gemini 3 Flash models use minimal. Deprecated lifecycle models such as Gemini 3.1 Flash-Lite Preview, Gemini 3 Pro Preview, and Gemini 2.5 Flash Lite Preview remain exported for explicit use.
|
|
1386
|
-
- **Claude**: Claude Opus 5.5 (`claude-opus-5-5`) and Claude Fable 5.1 (`claude-fable-5-1`); Supports current Claude API model IDs including Claude Fable 5, Claude Opus 5, Claude Sonnet 5, Claude Opus 4.8, Claude Opus 4.7, Claude Opus 4.6, Claude Opus 4.5, Claude Sonnet 4.6, Claude Sonnet 4.5, and Claude Haiku 4.5. Adjustable `reasoning_effort` is sent as `output_config.effort` only for models that support it; refusal metadata is preserved as a terminal completion.
|
|
1446
|
+
- **Claude**: Claude Opus 5.5 (`claude-opus-5-5`), Claude Sonnet 5.5 (`claude-sonnet-5-5`), and Claude Fable 5.1 (`claude-fable-5-1`); Supports current Claude API model IDs including Claude Fable 5, Claude Opus 5, Claude Sonnet 5, Claude Opus 4.8, Claude Opus 4.7, Claude Opus 4.6, Claude Opus 4.5, Claude Sonnet 4.6, Claude Sonnet 4.5, and Claude Haiku 4.5. Adjustable `reasoning_effort` is sent as `output_config.effort` only for models that support it; refusal metadata is preserved as a terminal completion.
|
|
1387
1447
|
- **OpenRouter**: GPT-6 Astra/Pro, Claude Fable 5.1, DeepSeek V4.1 Flash, Gemini 3.8 Flash, Ling 3.0 Flash VL, Mercury 2.5, Nex N2.5 Mini/Pro, Qwen3.8 Max, Muse Spark 1.3; Supports a curated OpenRouter model list (OpenAI/Claude/Gemini/Z.ai/xAI/Kimi/DeepSeek/Qwen/Kwaipilot), including GLM-5.3, Qwen3.8 Flash, DeepSeek V4 Flash Vision Exp, Claude Sonnet 5/Opus 4.8, and Kimi K2.6. See the OpenRouter section for model IDs.
|
|
1388
1448
|
- **Z.ai**: Supports GLM-5.3/GLM-5.2/GLM-5.1/GLM-5/GLM-5-Turbo and GLM-4.7/4.6 text models, plus GLM-5.3-Flash/GLM-5V-Turbo/GLM-4.6V vision models. GLM-5.3 always thinks and defaults to `low`; GLM-5.2 defaults to `none`.
|
|
1389
1449
|
- **xAI**: Supports Grok 4.7, Grok 4.6, Grok 4.5, Grok 4.3, and Grok 4.20 Reasoning/Non-Reasoning with vision. Grok 4.7/4.6/4.5 use package-default `reasoning_effort: 'low'`; Grok 4.3 defaults to `none`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../../src/backend.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,kBAAkB,EAClB,eAAe,EAEhB,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../../src/backend.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,kBAAkB,EAClB,eAAe,EAEhB,MAAM,SAAS,CAAC;AAuCjB,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB;AAED,6EAA6E;AAC7E,wBAAgB,kCAAkC,CAChD,QAAQ,EAAE,MAAM,GACf,+BAA+B,GAAG,SAAS,CAO7C;AAED,MAAM,WAAW,kCAAkC;IACjD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAC;IACtC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,kBAAkB,EAAE,mBAAmB,GAAG,QAAQ,CAAC,CAAC;IAC9E,QAAQ,CAAC,WAAW,EAAE,SAAS,eAAe,EAAE,CAAC;CAClD;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,kCAAkC,GACxC,OAAO,EAAE,CAkBX"}
|
package/dist/cjs/backend.js
CHANGED
package/dist/cjs/backend.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backend.js","sourceRoot":"","sources":["../../src/backend.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"backend.js","sourceRoot":"","sources":["../../src/backend.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,6 +17,7 @@ export declare const MODEL_CLAUDE_5_FABLE = "claude-fable-5";
|
|
|
17
17
|
export declare const MODEL_CLAUDE_5_SONNET = "claude-sonnet-5";
|
|
18
18
|
export declare const MODEL_CLAUDE_5_OPUS = "claude-opus-5";
|
|
19
19
|
export declare const MODEL_CLAUDE_5_5_OPUS = "claude-opus-5-5";
|
|
20
|
+
export declare const MODEL_CLAUDE_5_5_SONNET = "claude-sonnet-5-5";
|
|
20
21
|
export declare const CLAUDE_DEPRECATED_MODELS: string[];
|
|
21
22
|
export type ClaudeReasoningEffort = 'low' | 'medium' | 'high' | 'xhigh' | 'max';
|
|
22
23
|
export declare const CLAUDE_VISION_SUPPORTED_MODELS: string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../../src/constants/claude.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB,0CAA0C,CAAC;AAE3E,eAAO,MAAM,sBAAsB,qBAAqB,CAAC;AAGzD,eAAO,MAAM,oBAAoB,4BAA4B,CAAC;AAC9D,eAAO,MAAM,sBAAsB,8BAA8B,CAAC;AAClE,eAAO,MAAM,uBAAuB,+BAA+B,CAAC;AACpE,eAAO,MAAM,uBAAuB,+BAA+B,CAAC;AACpE,eAAO,MAAM,qBAAqB,6BAA6B,CAAC;AAChE,eAAO,MAAM,mBAAmB,2BAA2B,CAAC;AAC5D,eAAO,MAAM,uBAAuB,+BAA+B,CAAC;AACpE,eAAO,MAAM,sBAAsB,8BAA8B,CAAC;AAClE,eAAO,MAAM,qBAAqB,6BAA6B,CAAC;AAChE,eAAO,MAAM,uBAAuB,sBAAsB,CAAC;AAC3D,eAAO,MAAM,qBAAqB,oBAAoB,CAAC;AACvD,eAAO,MAAM,qBAAqB,oBAAoB,CAAC;AACvD,eAAO,MAAM,qBAAqB,oBAAoB,CAAC;AACvD,eAAO,MAAM,oBAAoB,mBAAmB,CAAC;AACrD,eAAO,MAAM,qBAAqB,oBAAoB,CAAC;AACvD,eAAO,MAAM,mBAAmB,kBAAkB,CAAC;AACnD,eAAO,MAAM,qBAAqB,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../../src/constants/claude.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB,0CAA0C,CAAC;AAE3E,eAAO,MAAM,sBAAsB,qBAAqB,CAAC;AAGzD,eAAO,MAAM,oBAAoB,4BAA4B,CAAC;AAC9D,eAAO,MAAM,sBAAsB,8BAA8B,CAAC;AAClE,eAAO,MAAM,uBAAuB,+BAA+B,CAAC;AACpE,eAAO,MAAM,uBAAuB,+BAA+B,CAAC;AACpE,eAAO,MAAM,qBAAqB,6BAA6B,CAAC;AAChE,eAAO,MAAM,mBAAmB,2BAA2B,CAAC;AAC5D,eAAO,MAAM,uBAAuB,+BAA+B,CAAC;AACpE,eAAO,MAAM,sBAAsB,8BAA8B,CAAC;AAClE,eAAO,MAAM,qBAAqB,6BAA6B,CAAC;AAChE,eAAO,MAAM,uBAAuB,sBAAsB,CAAC;AAC3D,eAAO,MAAM,qBAAqB,oBAAoB,CAAC;AACvD,eAAO,MAAM,qBAAqB,oBAAoB,CAAC;AACvD,eAAO,MAAM,qBAAqB,oBAAoB,CAAC;AACvD,eAAO,MAAM,oBAAoB,mBAAmB,CAAC;AACrD,eAAO,MAAM,qBAAqB,oBAAoB,CAAC;AACvD,eAAO,MAAM,mBAAmB,kBAAkB,CAAC;AACnD,eAAO,MAAM,qBAAqB,oBAAoB,CAAC;AACvD,eAAO,MAAM,uBAAuB,sBAAsB,CAAC;AAG3D,eAAO,MAAM,wBAAwB,UAOpC,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC;AAmChF,eAAO,MAAM,8BAA8B,UAc1C,CAAC;AAEF;;GAEG;AACH,wBAAgB,kCAAkC,CAChD,KAAK,EAAE,MAAM,GACZ,SAAS,qBAAqB,EAAE,CAElC;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEnE;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAC7C,KAAK,EAAE,MAAM,GACZ,qBAAqB,GAAG,SAAS,CAEnC;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,qBAAqB,GAC7B,qBAAqB,GAAG,SAAS,CAenC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CLAUDE_VISION_SUPPORTED_MODELS = exports.CLAUDE_DEPRECATED_MODELS = exports.MODEL_CLAUDE_5_5_OPUS = exports.MODEL_CLAUDE_5_OPUS = exports.MODEL_CLAUDE_5_SONNET = exports.MODEL_CLAUDE_5_FABLE = exports.MODEL_CLAUDE_4_8_OPUS = exports.MODEL_CLAUDE_4_7_OPUS = exports.MODEL_CLAUDE_4_6_OPUS = exports.MODEL_CLAUDE_4_6_SONNET = exports.MODEL_CLAUDE_4_5_OPUS = exports.MODEL_CLAUDE_4_5_HAIKU = exports.MODEL_CLAUDE_4_5_SONNET = exports.MODEL_CLAUDE_4_OPUS = exports.MODEL_CLAUDE_4_SONNET = exports.MODEL_CLAUDE_3_7_SONNET = exports.MODEL_CLAUDE_3_5_SONNET = exports.MODEL_CLAUDE_3_5_HAIKU = exports.MODEL_CLAUDE_3_HAIKU = exports.MODEL_CLAUDE_5_1_FABLE = exports.ENDPOINT_CLAUDE_API = void 0;
|
|
3
|
+
exports.CLAUDE_VISION_SUPPORTED_MODELS = exports.CLAUDE_DEPRECATED_MODELS = exports.MODEL_CLAUDE_5_5_SONNET = exports.MODEL_CLAUDE_5_5_OPUS = exports.MODEL_CLAUDE_5_OPUS = exports.MODEL_CLAUDE_5_SONNET = exports.MODEL_CLAUDE_5_FABLE = exports.MODEL_CLAUDE_4_8_OPUS = exports.MODEL_CLAUDE_4_7_OPUS = exports.MODEL_CLAUDE_4_6_OPUS = exports.MODEL_CLAUDE_4_6_SONNET = exports.MODEL_CLAUDE_4_5_OPUS = exports.MODEL_CLAUDE_4_5_HAIKU = exports.MODEL_CLAUDE_4_5_SONNET = exports.MODEL_CLAUDE_4_OPUS = exports.MODEL_CLAUDE_4_SONNET = exports.MODEL_CLAUDE_3_7_SONNET = exports.MODEL_CLAUDE_3_5_SONNET = exports.MODEL_CLAUDE_3_5_HAIKU = exports.MODEL_CLAUDE_3_HAIKU = exports.MODEL_CLAUDE_5_1_FABLE = exports.ENDPOINT_CLAUDE_API = void 0;
|
|
4
4
|
exports.getClaudeSupportedReasoningEfforts = getClaudeSupportedReasoningEfforts;
|
|
5
5
|
exports.isClaudeReasoningEffortModel = isClaudeReasoningEffortModel;
|
|
6
6
|
exports.getDefaultClaudeReasoningEffort = getDefaultClaudeReasoningEffort;
|
|
@@ -25,6 +25,7 @@ exports.MODEL_CLAUDE_5_FABLE = 'claude-fable-5';
|
|
|
25
25
|
exports.MODEL_CLAUDE_5_SONNET = 'claude-sonnet-5';
|
|
26
26
|
exports.MODEL_CLAUDE_5_OPUS = 'claude-opus-5';
|
|
27
27
|
exports.MODEL_CLAUDE_5_5_OPUS = 'claude-opus-5-5';
|
|
28
|
+
exports.MODEL_CLAUDE_5_5_SONNET = 'claude-sonnet-5-5';
|
|
28
29
|
// Retired model ids remain exported so existing imports continue to compile.
|
|
29
30
|
exports.CLAUDE_DEPRECATED_MODELS = [
|
|
30
31
|
exports.MODEL_CLAUDE_3_HAIKU,
|
|
@@ -58,6 +59,7 @@ const CLAUDE_REASONING_EFFORTS_BY_MODEL = {
|
|
|
58
59
|
[exports.MODEL_CLAUDE_5_FABLE]: CLAUDE_XHIGH_REASONING_EFFORTS,
|
|
59
60
|
[exports.MODEL_CLAUDE_5_SONNET]: CLAUDE_XHIGH_REASONING_EFFORTS,
|
|
60
61
|
[exports.MODEL_CLAUDE_5_OPUS]: CLAUDE_XHIGH_REASONING_EFFORTS,
|
|
62
|
+
[exports.MODEL_CLAUDE_5_5_SONNET]: CLAUDE_XHIGH_REASONING_EFFORTS,
|
|
61
63
|
};
|
|
62
64
|
exports.CLAUDE_VISION_SUPPORTED_MODELS = [
|
|
63
65
|
exports.MODEL_CLAUDE_5_1_FABLE,
|
|
@@ -72,6 +74,7 @@ exports.CLAUDE_VISION_SUPPORTED_MODELS = [
|
|
|
72
74
|
exports.MODEL_CLAUDE_5_SONNET,
|
|
73
75
|
exports.MODEL_CLAUDE_5_OPUS,
|
|
74
76
|
exports.MODEL_CLAUDE_5_5_OPUS,
|
|
77
|
+
exports.MODEL_CLAUDE_5_5_SONNET,
|
|
75
78
|
];
|
|
76
79
|
/**
|
|
77
80
|
* Return the effort values supported by a Claude model.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude.js","sourceRoot":"","sources":["../../../src/constants/claude.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"claude.js","sourceRoot":"","sources":["../../../src/constants/claude.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { ChatResponseLength } from '../../../constants';
|
|
2
|
+
import { AgentTextChatService } from './shared';
|
|
3
|
+
/** Default model identifier passed to the Cursor SDK. */
|
|
4
|
+
export declare const DEFAULT_CURSOR_SDK_MODEL = "default";
|
|
5
|
+
type CursorSDKModule = {
|
|
6
|
+
Agent: {
|
|
7
|
+
create(options: CursorAgentCreateOptions): Promise<CursorAgent>;
|
|
8
|
+
};
|
|
9
|
+
};
|
|
10
|
+
type CursorAgentCreateOptions = {
|
|
11
|
+
apiKey?: string;
|
|
12
|
+
model: {
|
|
13
|
+
id: string;
|
|
14
|
+
};
|
|
15
|
+
tools: [];
|
|
16
|
+
local: {
|
|
17
|
+
cwd: string;
|
|
18
|
+
settingSources: [];
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
type CursorAgent = {
|
|
22
|
+
send(prompt: string, options: {
|
|
23
|
+
onDelta(event: CursorDeltaEvent): void;
|
|
24
|
+
}): Promise<CursorRun>;
|
|
25
|
+
close?(): Promise<void> | void;
|
|
26
|
+
[key: symbol]: unknown;
|
|
27
|
+
};
|
|
28
|
+
type CursorDeltaEvent = {
|
|
29
|
+
update: {
|
|
30
|
+
type: 'text-delta';
|
|
31
|
+
text: unknown;
|
|
32
|
+
} | {
|
|
33
|
+
type: string;
|
|
34
|
+
[key: string]: unknown;
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
type CursorRun = {
|
|
38
|
+
wait(): Promise<CursorRunResult>;
|
|
39
|
+
};
|
|
40
|
+
type CursorRunResult = {
|
|
41
|
+
status: 'finished';
|
|
42
|
+
result?: unknown;
|
|
43
|
+
} | {
|
|
44
|
+
status: 'error';
|
|
45
|
+
error?: {
|
|
46
|
+
message?: unknown;
|
|
47
|
+
code?: unknown;
|
|
48
|
+
};
|
|
49
|
+
} | {
|
|
50
|
+
status: 'cancelled';
|
|
51
|
+
};
|
|
52
|
+
/** Loads the optional Cursor SDK at runtime. */
|
|
53
|
+
export type CursorSDKLoader = () => Promise<CursorSDKModule>;
|
|
54
|
+
/** Options for the text-only Cursor SDK chat provider. */
|
|
55
|
+
export type CursorSDKChatServiceOptions = {
|
|
56
|
+
/** Optional explicit key. Cursor SDK authentication is used when omitted. */
|
|
57
|
+
apiKey?: string;
|
|
58
|
+
/** Cursor model identifier. Defaults to DEFAULT_CURSOR_SDK_MODEL. */
|
|
59
|
+
model?: string;
|
|
60
|
+
/** Soft response length instruction included in the generated prompt. */
|
|
61
|
+
responseLength?: ChatResponseLength;
|
|
62
|
+
/** Local agent working directory. Defaults to process.cwd(). */
|
|
63
|
+
workingDirectory?: string;
|
|
64
|
+
};
|
|
65
|
+
/** Text-only ChatService backed by a local Cursor SDK agent. */
|
|
66
|
+
export declare class CursorSDKChatService extends AgentTextChatService {
|
|
67
|
+
constructor(options?: CursorSDKChatServiceOptions, loadSDK?: CursorSDKLoader);
|
|
68
|
+
}
|
|
69
|
+
export {};
|
|
70
|
+
//# sourceMappingURL=CursorSDKChatService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CursorSDKChatService.d.ts","sourceRoot":"","sources":["../../../../../src/services/providers/agent/CursorSDKChatService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAA0B,MAAM,UAAU,CAAC;AAExE,yDAAyD;AACzD,eAAO,MAAM,wBAAwB,YAAY,CAAC;AAElD,KAAK,eAAe,GAAG;IACrB,KAAK,EAAE;QACL,MAAM,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;KACjE,CAAC;CACH,CAAC;AAEF,KAAK,wBAAwB,GAAG;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IACtB,KAAK,EAAE,EAAE,CAAC;IACV,KAAK,EAAE;QACL,GAAG,EAAE,MAAM,CAAC;QACZ,cAAc,EAAE,EAAE,CAAC;KACpB,CAAC;CACH,CAAC;AAEF,KAAK,WAAW,GAAG;IACjB,IAAI,CACF,MAAM,EAAE,MAAM,EACd,OAAO,EAAE;QACP,OAAO,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAAC;KACxC,GACA,OAAO,CAAC,SAAS,CAAC,CAAC;IACtB,KAAK,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC/B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB,CAAC;AAEF,KAAK,gBAAgB,GAAG;IACtB,MAAM,EACF;QAAE,IAAI,EAAE,YAAY,CAAC;QAAC,IAAI,EAAE,OAAO,CAAA;KAAE,GACrC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;CAC9C,CAAC;AAEF,KAAK,SAAS,GAAG;IACf,IAAI,IAAI,OAAO,CAAC,eAAe,CAAC,CAAC;CAClC,CAAC;AAEF,KAAK,eAAe,GAChB;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GACxC;IACE,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;CAC/C,GACD;IAAE,MAAM,EAAE,WAAW,CAAA;CAAE,CAAC;AAM5B,gDAAgD;AAChD,MAAM,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,eAAe,CAAC,CAAC;AAE7D,0DAA0D;AAC1D,MAAM,MAAM,2BAA2B,GAAG;IACxC,6EAA6E;IAC7E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qEAAqE;IACrE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yEAAyE;IACzE,cAAc,CAAC,EAAE,kBAAkB,CAAC;IACpC,gEAAgE;IAChE,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,gEAAgE;AAChE,qBAAa,oBAAqB,SAAQ,oBAAoB;gBAE1D,OAAO,GAAE,2BAAgC,EACzC,OAAO,GAAE,eAA+B;CA6B3C"}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CursorSDKChatService = exports.DEFAULT_CURSOR_SDK_MODEL = void 0;
|
|
4
|
+
const shared_1 = require("./shared");
|
|
5
|
+
/** Default model identifier passed to the Cursor SDK. */
|
|
6
|
+
exports.DEFAULT_CURSOR_SDK_MODEL = 'default';
|
|
7
|
+
/** Text-only ChatService backed by a local Cursor SDK agent. */
|
|
8
|
+
class CursorSDKChatService extends shared_1.AgentTextChatService {
|
|
9
|
+
constructor(options = {}, loadSDK = loadCursorSDK) {
|
|
10
|
+
const model = options.model ?? exports.DEFAULT_CURSOR_SDK_MODEL;
|
|
11
|
+
super({
|
|
12
|
+
provider: 'cursor-sdk',
|
|
13
|
+
model,
|
|
14
|
+
defaultModel: exports.DEFAULT_CURSOR_SDK_MODEL,
|
|
15
|
+
responseLength: options.responseLength,
|
|
16
|
+
getResponse: async (prompt, stream, onPartialResponse) => {
|
|
17
|
+
try {
|
|
18
|
+
return await runCursorPrompt(loadSDK, model, options.workingDirectory, options.apiKey, prompt, stream, onPartialResponse);
|
|
19
|
+
}
|
|
20
|
+
catch (error) {
|
|
21
|
+
throw redactSecret((0, shared_1.wrapAgentProviderError)('cursor-sdk', error), options.apiKey);
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
exports.CursorSDKChatService = CursorSDKChatService;
|
|
28
|
+
async function runCursorPrompt(loadSDK, model, workingDirectory, apiKey, prompt, stream, onPartialResponse) {
|
|
29
|
+
const { Agent } = await loadCursorSDKModule(loadSDK);
|
|
30
|
+
const agent = await Agent.create({
|
|
31
|
+
...(apiKey !== undefined ? { apiKey } : {}),
|
|
32
|
+
model: { id: model },
|
|
33
|
+
tools: [],
|
|
34
|
+
local: {
|
|
35
|
+
cwd: workingDirectory ?? process.cwd(),
|
|
36
|
+
settingSources: [],
|
|
37
|
+
},
|
|
38
|
+
});
|
|
39
|
+
let outcome;
|
|
40
|
+
try {
|
|
41
|
+
outcome = {
|
|
42
|
+
ok: true,
|
|
43
|
+
text: await executeCursorRun(agent, prompt, stream, onPartialResponse),
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
catch (error) {
|
|
47
|
+
outcome = { ok: false, error };
|
|
48
|
+
}
|
|
49
|
+
try {
|
|
50
|
+
await disposeCursorAgent(agent);
|
|
51
|
+
}
|
|
52
|
+
catch (error) {
|
|
53
|
+
if (outcome.ok) {
|
|
54
|
+
throw error;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
if (!outcome.ok) {
|
|
58
|
+
throw outcome.error;
|
|
59
|
+
}
|
|
60
|
+
return outcome.text;
|
|
61
|
+
}
|
|
62
|
+
async function executeCursorRun(agent, prompt, stream, onPartialResponse) {
|
|
63
|
+
let deltaText = '';
|
|
64
|
+
const run = await agent.send(prompt, {
|
|
65
|
+
onDelta: ({ update }) => {
|
|
66
|
+
if (update.type === 'text-delta' &&
|
|
67
|
+
typeof update.text === 'string' &&
|
|
68
|
+
update.text) {
|
|
69
|
+
deltaText += update.text;
|
|
70
|
+
if (stream) {
|
|
71
|
+
onPartialResponse(update.text);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
});
|
|
76
|
+
const result = await run.wait();
|
|
77
|
+
if (result.status === 'finished') {
|
|
78
|
+
const finalText = typeof result.result === 'string' && result.result
|
|
79
|
+
? result.result
|
|
80
|
+
: deltaText;
|
|
81
|
+
if (!finalText) {
|
|
82
|
+
throw new Error('cursor-sdk provider received an empty response.');
|
|
83
|
+
}
|
|
84
|
+
if (stream && !deltaText) {
|
|
85
|
+
onPartialResponse(finalText);
|
|
86
|
+
}
|
|
87
|
+
return finalText;
|
|
88
|
+
}
|
|
89
|
+
if (result.status === 'error') {
|
|
90
|
+
throw new Error(formatCursorRunError(result.error));
|
|
91
|
+
}
|
|
92
|
+
throw new Error('cursor-sdk run was cancelled.');
|
|
93
|
+
}
|
|
94
|
+
async function disposeCursorAgent(agent) {
|
|
95
|
+
const asyncDisposeSymbol = Symbol
|
|
96
|
+
.asyncDispose;
|
|
97
|
+
const asyncDispose = asyncDisposeSymbol
|
|
98
|
+
? agent[asyncDisposeSymbol]
|
|
99
|
+
: undefined;
|
|
100
|
+
if (typeof asyncDispose === 'function') {
|
|
101
|
+
await asyncDispose.call(agent);
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
await agent.close?.();
|
|
105
|
+
}
|
|
106
|
+
function formatCursorRunError(error) {
|
|
107
|
+
const message = typeof error?.message === 'string'
|
|
108
|
+
? error.message
|
|
109
|
+
: 'Cursor SDK run failed.';
|
|
110
|
+
const code = typeof error?.code === 'string' || typeof error?.code === 'number'
|
|
111
|
+
? String(error.code)
|
|
112
|
+
: undefined;
|
|
113
|
+
return code ? `${message} (${code})` : message;
|
|
114
|
+
}
|
|
115
|
+
async function loadCursorSDKModule(loadSDK) {
|
|
116
|
+
try {
|
|
117
|
+
return await loadSDK();
|
|
118
|
+
}
|
|
119
|
+
catch (error) {
|
|
120
|
+
const message = 'cursor-sdk provider requires @cursor/sdk. ' +
|
|
121
|
+
'Install it in your Node.js 22.13+ project and authenticate with Cursor.auth.login() or CURSOR_API_KEY.';
|
|
122
|
+
const wrappedError = new Error(message);
|
|
123
|
+
wrappedError.cause = error;
|
|
124
|
+
throw wrappedError;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
function redactSecret(error, secret) {
|
|
128
|
+
if (!secret) {
|
|
129
|
+
return error;
|
|
130
|
+
}
|
|
131
|
+
error.message = error.message.split(secret).join('[REDACTED]');
|
|
132
|
+
if (error.stack) {
|
|
133
|
+
error.stack = error.stack.split(secret).join('[REDACTED]');
|
|
134
|
+
}
|
|
135
|
+
return error;
|
|
136
|
+
}
|
|
137
|
+
async function loadCursorSDK() {
|
|
138
|
+
return (await dynamicImport('@cursor/sdk'));
|
|
139
|
+
}
|
|
140
|
+
const dynamicImport = new Function('specifier', 'return import(specifier)');
|
|
141
|
+
//# sourceMappingURL=CursorSDKChatService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CursorSDKChatService.js","sourceRoot":"","sources":["../../../../../src/services/providers/agent/CursorSDKChatService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ChatService } from '../../ChatService';
|
|
2
|
+
import { ChatServiceProvider, VisionSupportLevel } from '../ChatServiceProvider';
|
|
3
|
+
import { CursorSDKChatServiceOptions, CursorSDKLoader } from './CursorSDKChatService';
|
|
4
|
+
/** Creates text-only Cursor SDK chat services. */
|
|
5
|
+
export declare class CursorSDKChatServiceProvider implements ChatServiceProvider<CursorSDKChatServiceOptions> {
|
|
6
|
+
private loadSDK?;
|
|
7
|
+
constructor(loadSDK?: CursorSDKLoader | undefined);
|
|
8
|
+
createChatService(options: CursorSDKChatServiceOptions): ChatService;
|
|
9
|
+
getProviderName(): string;
|
|
10
|
+
getSupportedModels(): string[];
|
|
11
|
+
getDefaultModel(): string;
|
|
12
|
+
supportsVision(): boolean;
|
|
13
|
+
getVisionSupportLevel(): VisionSupportLevel;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=CursorSDKChatServiceProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CursorSDKChatServiceProvider.d.ts","sourceRoot":"","sources":["../../../../../src/services/providers/agent/CursorSDKChatServiceProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAEL,2BAA2B,EAC3B,eAAe,EAEhB,MAAM,wBAAwB,CAAC;AAGhC,kDAAkD;AAClD,qBAAa,4BACX,YAAW,mBAAmB,CAAC,2BAA2B,CAAC;IAE/C,OAAO,CAAC,OAAO,CAAC;gBAAR,OAAO,CAAC,EAAE,eAAe,YAAA;IAE7C,iBAAiB,CAAC,OAAO,EAAE,2BAA2B,GAAG,WAAW;IAOpE,eAAe,IAAI,MAAM;IAIzB,kBAAkB,IAAI,MAAM,EAAE;IAI9B,eAAe,IAAI,MAAM;IAIzB,cAAc,IAAI,OAAO;IAIzB,qBAAqB,IAAI,kBAAkB;CAG5C"}
|