modular-voice-agent-sdk 1.3.0 → 1.4.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 (54) hide show
  1. package/dist/backends/cloud/anthropic-provider.d.ts +19 -0
  2. package/dist/backends/cloud/anthropic-provider.d.ts.map +1 -0
  3. package/dist/backends/cloud/anthropic-provider.js +189 -0
  4. package/dist/backends/cloud/anthropic-provider.js.map +1 -0
  5. package/dist/backends/cloud/index.d.ts +5 -2
  6. package/dist/backends/cloud/index.d.ts.map +1 -1
  7. package/dist/backends/cloud/index.js +4 -2
  8. package/dist/backends/cloud/index.js.map +1 -1
  9. package/dist/backends/cloud/llm.d.ts +7 -7
  10. package/dist/backends/cloud/llm.d.ts.map +1 -1
  11. package/dist/backends/cloud/llm.js +43 -98
  12. package/dist/backends/cloud/llm.js.map +1 -1
  13. package/dist/backends/cloud/openai-provider.d.ts +19 -0
  14. package/dist/backends/cloud/openai-provider.d.ts.map +1 -0
  15. package/dist/backends/cloud/openai-provider.js +133 -0
  16. package/dist/backends/cloud/openai-provider.js.map +1 -0
  17. package/dist/backends/cloud/providers.d.ts +63 -0
  18. package/dist/backends/cloud/providers.d.ts.map +1 -0
  19. package/dist/backends/cloud/providers.js +6 -0
  20. package/dist/backends/cloud/providers.js.map +1 -0
  21. package/dist/backends/native/index.d.ts +2 -0
  22. package/dist/backends/native/index.d.ts.map +1 -1
  23. package/dist/backends/native/index.js +1 -0
  24. package/dist/backends/native/index.js.map +1 -1
  25. package/dist/backends/native/tts-providers.d.ts +47 -0
  26. package/dist/backends/native/tts-providers.d.ts.map +1 -0
  27. package/dist/backends/native/tts-providers.js +112 -0
  28. package/dist/backends/native/tts-providers.js.map +1 -0
  29. package/dist/backends/native/tts.d.ts +4 -5
  30. package/dist/backends/native/tts.d.ts.map +1 -1
  31. package/dist/backends/native/tts.js +19 -34
  32. package/dist/backends/native/tts.js.map +1 -1
  33. package/dist/client/voice-client.d.ts +4 -4
  34. package/dist/client/voice-client.js +4 -4
  35. package/dist/server/handler.d.ts +21 -0
  36. package/dist/server/handler.d.ts.map +1 -1
  37. package/dist/server/handler.js +54 -0
  38. package/dist/server/handler.js.map +1 -1
  39. package/dist/server/index.d.ts +1 -0
  40. package/dist/server/index.d.ts.map +1 -1
  41. package/dist/services/llm-logger.d.ts +5 -0
  42. package/dist/services/llm-logger.d.ts.map +1 -1
  43. package/dist/services/llm-logger.js +6 -0
  44. package/dist/services/llm-logger.js.map +1 -1
  45. package/dist/services/text-normalizer.d.ts +3 -0
  46. package/dist/services/text-normalizer.d.ts.map +1 -1
  47. package/dist/services/text-normalizer.js +51 -6
  48. package/dist/services/text-normalizer.js.map +1 -1
  49. package/dist/types.d.ts +6 -0
  50. package/dist/types.d.ts.map +1 -1
  51. package/dist/voice-pipeline.d.ts.map +1 -1
  52. package/dist/voice-pipeline.js +11 -1
  53. package/dist/voice-pipeline.js.map +1 -1
  54. package/package.json +1 -1
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Anthropic Messages Provider
3
+ * Supports Anthropic Claude API with prompt caching
4
+ */
5
+ import type { Message, ToolDefinition } from '../../types';
6
+ import type { LLMProvider, SystemPromptBlock, ParsedStreamChunk } from './providers';
7
+ export declare class AnthropicMessagesProvider implements LLMProvider {
8
+ formatRequest(messages: Message[], systemPrompt: string | SystemPromptBlock[] | undefined, options: {
9
+ model: string;
10
+ tools?: ToolDefinition[];
11
+ modelParams?: Record<string, unknown>;
12
+ }): Record<string, unknown>;
13
+ parseStreamChunk(chunk: string): ParsedStreamChunk | null;
14
+ getEndpoint(baseUrl: string): string;
15
+ getHeaders(apiKey?: string): Record<string, string>;
16
+ private convertMessages;
17
+ private convertTools;
18
+ }
19
+ //# sourceMappingURL=anthropic-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"anthropic-provider.d.ts","sourceRoot":"","sources":["../../../src/backends/cloud/anthropic-provider.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAiC,MAAM,aAAa,CAAC;AAC1F,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AA8BrF,qBAAa,yBAA0B,YAAW,WAAW;IAC3D,aAAa,CACX,QAAQ,EAAE,OAAO,EAAE,EACnB,YAAY,EAAE,MAAM,GAAG,iBAAiB,EAAE,GAAG,SAAS,EACtD,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;QACzB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACvC,GACA,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAsC1B,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI;IAmEzD,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAIpC,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAanD,OAAO,CAAC,eAAe;IA2EvB,OAAO,CAAC,YAAY;CAOrB"}
@@ -0,0 +1,189 @@
1
+ /**
2
+ * Anthropic Messages Provider
3
+ * Supports Anthropic Claude API with prompt caching
4
+ */
5
+ export class AnthropicMessagesProvider {
6
+ formatRequest(messages, systemPrompt, options) {
7
+ const anthropicMessages = this.convertMessages(messages);
8
+ const body = {
9
+ model: options.model,
10
+ messages: anthropicMessages,
11
+ stream: true,
12
+ max_tokens: 4096, // Anthropic requires max_tokens
13
+ ...options.modelParams,
14
+ };
15
+ // Add system prompt if provided
16
+ if (systemPrompt) {
17
+ if (typeof systemPrompt === 'string') {
18
+ body.system = systemPrompt;
19
+ }
20
+ else {
21
+ // Structured system prompt with cache control
22
+ body.system = systemPrompt.map(block => {
23
+ const systemBlock = {
24
+ type: 'text',
25
+ text: block.text,
26
+ };
27
+ if (block.cacheControl) {
28
+ systemBlock.cache_control = { type: 'ephemeral' };
29
+ }
30
+ return systemBlock;
31
+ });
32
+ }
33
+ }
34
+ // Add tools if provided
35
+ if (options.tools && options.tools.length > 0) {
36
+ body.tools = this.convertTools(options.tools);
37
+ }
38
+ return body;
39
+ }
40
+ parseStreamChunk(chunk) {
41
+ try {
42
+ const parsed = JSON.parse(chunk);
43
+ // Check for API error
44
+ if (parsed.error) {
45
+ throw new Error(`Anthropic stream error: ${JSON.stringify(parsed.error)}`);
46
+ }
47
+ const result = {};
48
+ // Anthropic streaming event types:
49
+ // - message_start: Contains message metadata
50
+ // - content_block_start: New content block started
51
+ // - content_block_delta: Incremental content
52
+ // - content_block_stop: Content block finished
53
+ // - message_delta: Message metadata updates (e.g., stop_reason)
54
+ // - message_stop: Stream complete
55
+ if (parsed.type === 'content_block_delta') {
56
+ const delta = parsed.delta;
57
+ // Text delta
58
+ if (delta.type === 'text_delta') {
59
+ result.content = delta.text;
60
+ }
61
+ // Tool use delta (input JSON being streamed)
62
+ if (delta.type === 'input_json_delta') {
63
+ result.toolCalls = [{
64
+ index: parsed.index ?? 0,
65
+ arguments: delta.partial_json,
66
+ }];
67
+ }
68
+ }
69
+ else if (parsed.type === 'content_block_start') {
70
+ const content = parsed.content_block;
71
+ // Tool use started
72
+ if (content.type === 'tool_use') {
73
+ result.toolCalls = [{
74
+ index: parsed.index ?? 0,
75
+ id: content.id,
76
+ name: content.name,
77
+ arguments: '', // Will be streamed via input_json_delta
78
+ }];
79
+ }
80
+ }
81
+ else if (parsed.type === 'message_delta') {
82
+ // Contains stop_reason and usage info
83
+ if (parsed.delta.stop_reason) {
84
+ result.finishReason = parsed.delta.stop_reason;
85
+ }
86
+ }
87
+ else if (parsed.type === 'message_stop') {
88
+ result.done = true;
89
+ }
90
+ return result;
91
+ }
92
+ catch (e) {
93
+ if (e instanceof SyntaxError) {
94
+ // Skip malformed JSON
95
+ console.warn('Anthropic: Skipping malformed JSON chunk:', chunk.substring(0, 100));
96
+ return null;
97
+ }
98
+ // Re-throw actual errors
99
+ throw e;
100
+ }
101
+ }
102
+ getEndpoint(baseUrl) {
103
+ return `${baseUrl}/messages`;
104
+ }
105
+ getHeaders(apiKey) {
106
+ const headers = {
107
+ 'Content-Type': 'application/json',
108
+ 'anthropic-version': '2023-06-01',
109
+ };
110
+ if (apiKey) {
111
+ headers['x-api-key'] = apiKey;
112
+ }
113
+ return headers;
114
+ }
115
+ convertMessages(messages) {
116
+ const anthropicMessages = [];
117
+ for (const m of messages) {
118
+ // Skip system messages (handled separately in formatRequest)
119
+ if (m.role === 'system') {
120
+ continue;
121
+ }
122
+ // Handle tool messages
123
+ if (m.role === 'tool') {
124
+ const toolMsg = m;
125
+ // Anthropic requires tool results to be in user messages
126
+ const lastMsg = anthropicMessages[anthropicMessages.length - 1];
127
+ const toolResultBlock = {
128
+ type: 'tool_result',
129
+ tool_use_id: toolMsg.toolCallId,
130
+ content: toolMsg.content,
131
+ };
132
+ if (lastMsg && lastMsg.role === 'user' && Array.isArray(lastMsg.content)) {
133
+ // Append to existing user message
134
+ lastMsg.content.push(toolResultBlock);
135
+ }
136
+ else {
137
+ // Create new user message
138
+ anthropicMessages.push({
139
+ role: 'user',
140
+ content: [toolResultBlock],
141
+ });
142
+ }
143
+ continue;
144
+ }
145
+ // Handle assistant messages with tool calls
146
+ if (m.role === 'assistant') {
147
+ const assistantMsg = m;
148
+ if (assistantMsg.toolCalls && assistantMsg.toolCalls.length > 0) {
149
+ const content = [];
150
+ // Add text content if present
151
+ if (assistantMsg.content) {
152
+ content.push({
153
+ type: 'text',
154
+ text: assistantMsg.content,
155
+ });
156
+ }
157
+ // Add tool use blocks
158
+ for (const tc of assistantMsg.toolCalls) {
159
+ content.push({
160
+ type: 'tool_use',
161
+ id: tc.id,
162
+ name: tc.name,
163
+ input: tc.arguments,
164
+ });
165
+ }
166
+ anthropicMessages.push({
167
+ role: 'assistant',
168
+ content,
169
+ });
170
+ continue;
171
+ }
172
+ }
173
+ // Regular messages (user, assistant without tool calls)
174
+ anthropicMessages.push({
175
+ role: m.role,
176
+ content: m.content,
177
+ });
178
+ }
179
+ return anthropicMessages;
180
+ }
181
+ convertTools(tools) {
182
+ return tools.map((tool) => ({
183
+ name: tool.name,
184
+ description: tool.description,
185
+ input_schema: tool.parameters,
186
+ }));
187
+ }
188
+ }
189
+ //# sourceMappingURL=anthropic-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"anthropic-provider.js","sourceRoot":"","sources":["../../../src/backends/cloud/anthropic-provider.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,12 @@
1
1
  /**
2
- * Cloud Backend - OpenAI-compatible API
3
- * Works with: OpenAI, Ollama, vLLM, LMStudio, and any OpenAI-compatible endpoint
2
+ * Cloud Backend - Multi-provider API support
3
+ * Works with: OpenAI, Anthropic, Ollama, vLLM, LMStudio, and any compatible endpoint
4
4
  */
5
5
  export { CloudLLM } from './llm';
6
6
  export type { CloudLLMConfig } from '../../types';
7
7
  export { CloudAudioLLM } from './audio-llm';
8
8
  export type { CloudAudioLLMConfig } from './audio-llm';
9
+ export type { LLMProvider, SystemPromptBlock, ParsedStreamChunk } from './providers';
10
+ export { OpenAICompletionsProvider } from './openai-provider';
11
+ export { AnthropicMessagesProvider } from './anthropic-provider';
9
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/backends/cloud/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAGlD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,YAAY,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/backends/cloud/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAGlD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,YAAY,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAGvD,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACrF,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC"}
@@ -1,8 +1,10 @@
1
1
  /**
2
- * Cloud Backend - OpenAI-compatible API
3
- * Works with: OpenAI, Ollama, vLLM, LMStudio, and any OpenAI-compatible endpoint
2
+ * Cloud Backend - Multi-provider API support
3
+ * Works with: OpenAI, Anthropic, Ollama, vLLM, LMStudio, and any compatible endpoint
4
4
  */
5
5
  export { CloudLLM } from './llm';
6
6
  // Audio LLM (multimodal - implements both STTPipeline and LLMPipeline)
7
7
  export { CloudAudioLLM } from './audio-llm';
8
+ export { OpenAICompletionsProvider } from './openai-provider';
9
+ export { AnthropicMessagesProvider } from './anthropic-provider';
8
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/backends/cloud/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAGjC,uEAAuE;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/backends/cloud/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAGjC,uEAAuE;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAK5C,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC"}
@@ -1,22 +1,22 @@
1
1
  /**
2
- * Cloud LLM Pipeline (OpenAI-compatible API)
3
- * Works with: OpenAI, Ollama, vLLM, LMStudio, and any OpenAI-compatible endpoint
2
+ * Cloud LLM Pipeline (Multi-provider support)
3
+ * Works with: OpenAI, Anthropic, Ollama, vLLM, LMStudio, and any compatible endpoint
4
4
  *
5
5
  * Uses native fetch with streaming - no external dependencies required.
6
- * Supports native tool calling via the OpenAI function calling API.
6
+ * Supports native tool calling via provider-specific APIs.
7
7
  */
8
8
  import type { LLMPipeline, CloudLLMConfig, ProgressCallback, Message, LLMGenerateOptions, LLMGenerateResult } from '../../types';
9
+ import type { LLMProvider } from './providers';
9
10
  export declare class CloudLLM implements LLMPipeline {
10
11
  private config;
12
+ private provider;
11
13
  private ready;
12
14
  private tracker;
13
- constructor(config: CloudLLMConfig);
15
+ constructor(config: CloudLLMConfig, provider?: LLMProvider);
14
16
  initialize(_onProgress?: ProgressCallback): Promise<void>;
15
17
  supportsTools(): boolean;
16
18
  generate(messages: Message[], options?: LLMGenerateOptions): Promise<LLMGenerateResult>;
17
- private convertMessages;
18
- private convertTools;
19
- private getHeaders;
19
+ private extractSystemPrompt;
20
20
  isReady(): boolean;
21
21
  }
22
22
  //# sourceMappingURL=llm.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"llm.d.ts","sourceRoot":"","sources":["../../../src/backends/cloud/llm.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,OAAO,EACP,kBAAkB,EAClB,iBAAiB,EAKlB,MAAM,aAAa,CAAC;AAuBrB,qBAAa,QAAS,YAAW,WAAW;IAC1C,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,OAAO,CAAyB;gBAE5B,MAAM,EAAE,cAAc;IAK5B,UAAU,CAAC,WAAW,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IA2B/D,aAAa,IAAI,OAAO;IAIlB,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAmL7F,OAAO,CAAC,eAAe;IAuCvB,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,UAAU;IAUlB,OAAO,IAAI,OAAO;CAGnB"}
1
+ {"version":3,"file":"llm.d.ts","sourceRoot":"","sources":["../../../src/backends/cloud/llm.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,OAAO,EACP,kBAAkB,EAClB,iBAAiB,EAElB,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG/C,qBAAa,QAAS,YAAW,WAAW;IAC1C,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,QAAQ,CAAc;IAC9B,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,OAAO,CAAyB;gBAE5B,MAAM,EAAE,cAAc,EAAE,QAAQ,CAAC,EAAE,WAAW;IAMpD,UAAU,CAAC,WAAW,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IA2B/D,aAAa,IAAI,OAAO;IAIlB,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAyK7F,OAAO,CAAC,mBAAmB;IAW3B,OAAO,IAAI,OAAO;CAGnB"}
@@ -1,17 +1,20 @@
1
1
  /**
2
- * Cloud LLM Pipeline (OpenAI-compatible API)
3
- * Works with: OpenAI, Ollama, vLLM, LMStudio, and any OpenAI-compatible endpoint
2
+ * Cloud LLM Pipeline (Multi-provider support)
3
+ * Works with: OpenAI, Anthropic, Ollama, vLLM, LMStudio, and any compatible endpoint
4
4
  *
5
5
  * Uses native fetch with streaming - no external dependencies required.
6
- * Supports native tool calling via the OpenAI function calling API.
6
+ * Supports native tool calling via provider-specific APIs.
7
7
  */
8
8
  import { LLMLogger, LLMConversationTracker } from '../../services';
9
+ import { OpenAICompletionsProvider } from './openai-provider';
9
10
  export class CloudLLM {
10
11
  config;
12
+ provider;
11
13
  ready = false;
12
14
  tracker;
13
- constructor(config) {
15
+ constructor(config, provider) {
14
16
  this.config = config;
17
+ this.provider = provider || new OpenAICompletionsProvider();
15
18
  this.tracker = new LLMConversationTracker(new LLMLogger());
16
19
  }
17
20
  async initialize(_onProgress) {
@@ -22,7 +25,7 @@ export class CloudLLM {
22
25
  const modelsUrl = `${this.config.baseUrl}/models`;
23
26
  const response = await fetch(modelsUrl, {
24
27
  method: 'GET',
25
- headers: this.getHeaders(),
28
+ headers: this.provider.getHeaders(this.config.apiKey),
26
29
  });
27
30
  if (!response.ok) {
28
31
  // Some endpoints don't have /models, that's okay
@@ -48,26 +51,20 @@ export class CloudLLM {
48
51
  }
49
52
  // Log the input messages
50
53
  this.tracker.logInput(messages);
51
- const url = `${this.config.baseUrl}/chat/completions`;
52
- // Convert messages to OpenAI format
53
- const openaiMessages = this.convertMessages(messages);
54
- // Build request body
55
- const body = {
54
+ // Get endpoint from provider
55
+ const url = this.provider.getEndpoint(this.config.baseUrl);
56
+ // Extract system prompt from messages
57
+ const systemPrompt = this.extractSystemPrompt(messages);
58
+ const conversationMessages = messages.filter(m => m.role !== 'system');
59
+ // Format request using provider
60
+ const body = this.provider.formatRequest(conversationMessages, systemPrompt, {
56
61
  model: this.config.model,
57
- messages: openaiMessages,
58
- stream: true,
59
- ...this.config.modelParams,
60
- };
61
- // Add tools if provided
62
- if (options?.tools && options.tools.length > 0) {
63
- body.tools = this.convertTools(options.tools);
64
- }
62
+ tools: options?.tools,
63
+ modelParams: this.config.modelParams,
64
+ });
65
65
  const response = await fetch(url, {
66
66
  method: 'POST',
67
- headers: {
68
- ...this.getHeaders(),
69
- 'Content-Type': 'application/json',
70
- },
67
+ headers: this.provider.getHeaders(this.config.apiKey),
71
68
  body: JSON.stringify(body),
72
69
  });
73
70
  if (!response.ok) {
@@ -77,7 +74,7 @@ export class CloudLLM {
77
74
  if (!response.body) {
78
75
  throw new Error('No response body received');
79
76
  }
80
- // Parse SSE stream
77
+ // Parse SSE stream using provider
81
78
  const reader = response.body.getReader();
82
79
  const decoder = new TextDecoder();
83
80
  let fullContent = '';
@@ -101,21 +98,18 @@ export class CloudLLM {
101
98
  if (trimmed.startsWith('data: ')) {
102
99
  const jsonStr = trimmed.slice(6);
103
100
  try {
104
- const parsed = JSON.parse(jsonStr);
105
- // Check for API error in stream
106
- if (parsed.error) {
107
- throw new Error(`Cloud LLM stream error: ${JSON.stringify(parsed.error)}`);
101
+ const parsed = this.provider.parseStreamChunk(jsonStr);
102
+ if (!parsed) {
103
+ continue; // Skip null results (malformed JSON, etc.)
108
104
  }
109
- const choice = parsed.choices?.[0];
110
- const delta = choice?.delta;
111
105
  // Handle text content
112
- if (delta?.content) {
113
- fullContent += delta.content;
114
- options?.onToken?.(delta.content);
106
+ if (parsed.content) {
107
+ fullContent += parsed.content;
108
+ options?.onToken?.(parsed.content);
115
109
  }
116
110
  // Handle tool calls (streamed incrementally)
117
- if (delta?.tool_calls) {
118
- for (const tc of delta.tool_calls) {
111
+ if (parsed.toolCalls) {
112
+ for (const tc of parsed.toolCalls) {
119
113
  const index = tc.index ?? 0;
120
114
  if (!toolCalls.has(index)) {
121
115
  toolCalls.set(index, { id: '', name: '', arguments: '' });
@@ -124,27 +118,22 @@ export class CloudLLM {
124
118
  if (tc.id) {
125
119
  existing.id = tc.id;
126
120
  }
127
- if (tc.function?.name) {
128
- existing.name = tc.function.name;
121
+ if (tc.name) {
122
+ existing.name = tc.name;
129
123
  }
130
- if (tc.function?.arguments) {
131
- existing.arguments += tc.function.arguments;
124
+ if (tc.arguments) {
125
+ existing.arguments += tc.arguments;
132
126
  }
133
127
  }
134
128
  }
135
129
  // Track finish reason from API
136
- if (choice?.finish_reason) {
137
- finishReason = choice.finish_reason;
130
+ if (parsed.finishReason) {
131
+ finishReason = parsed.finishReason;
138
132
  }
139
133
  }
140
134
  catch (e) {
141
- // Re-throw actual errors, only skip JSON parse errors
142
- if (e instanceof SyntaxError) {
143
- console.warn('CloudLLM: Skipping malformed JSON line:', jsonStr.substring(0, 100));
144
- }
145
- else {
146
- throw e;
147
- }
135
+ // Errors during parsing are already handled by provider
136
+ throw e;
148
137
  }
149
138
  }
150
139
  }
@@ -187,58 +176,14 @@ export class CloudLLM {
187
176
  finishReason: normalizedFinishReason,
188
177
  };
189
178
  }
190
- convertMessages(messages) {
191
- return messages.map((m) => {
192
- // Handle tool messages
193
- if (m.role === 'tool') {
194
- const toolMsg = m;
195
- return {
196
- role: 'tool',
197
- content: toolMsg.content,
198
- tool_call_id: toolMsg.toolCallId,
199
- };
200
- }
201
- // Handle assistant messages with tool calls
202
- if (m.role === 'assistant') {
203
- const assistantMsg = m;
204
- if (assistantMsg.toolCalls && assistantMsg.toolCalls.length > 0) {
205
- return {
206
- role: 'assistant',
207
- content: assistantMsg.content || null,
208
- tool_calls: assistantMsg.toolCalls.map((tc) => ({
209
- id: tc.id,
210
- type: 'function',
211
- function: {
212
- name: tc.name,
213
- arguments: JSON.stringify(tc.arguments),
214
- },
215
- })),
216
- };
217
- }
218
- }
219
- // Regular messages
220
- return {
221
- role: m.role,
222
- content: m.content,
223
- };
224
- });
225
- }
226
- convertTools(tools) {
227
- return tools.map((tool) => ({
228
- type: 'function',
229
- function: {
230
- name: tool.name,
231
- description: tool.description,
232
- parameters: tool.parameters,
233
- },
234
- }));
235
- }
236
- getHeaders() {
237
- const headers = {};
238
- if (this.config.apiKey) {
239
- headers['Authorization'] = `Bearer ${this.config.apiKey}`;
179
+ extractSystemPrompt(messages) {
180
+ // Use structuredSystemPrompt if provided in config
181
+ if (this.config.structuredSystemPrompt) {
182
+ return this.config.structuredSystemPrompt; // Will be passed to provider as-is
240
183
  }
241
- return headers;
184
+ // Otherwise, extract from messages
185
+ const systemMsg = messages.find(m => m.role === 'system');
186
+ return systemMsg?.content;
242
187
  }
243
188
  isReady() {
244
189
  return this.ready;
@@ -1 +1 @@
1
- {"version":3,"file":"llm.js","sourceRoot":"","sources":["../../../src/backends/cloud/llm.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"llm.js","sourceRoot":"","sources":["../../../src/backends/cloud/llm.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * OpenAI Completions Provider
3
+ * Supports OpenAI-compatible APIs (OpenAI, Ollama, vLLM, LMStudio, etc.)
4
+ */
5
+ import type { Message, ToolDefinition } from '../../types';
6
+ import type { LLMProvider, SystemPromptBlock, ParsedStreamChunk } from './providers';
7
+ export declare class OpenAICompletionsProvider implements LLMProvider {
8
+ formatRequest(messages: Message[], systemPrompt: string | SystemPromptBlock[] | undefined, options: {
9
+ model: string;
10
+ tools?: ToolDefinition[];
11
+ modelParams?: Record<string, unknown>;
12
+ }): Record<string, unknown>;
13
+ parseStreamChunk(chunk: string): ParsedStreamChunk | null;
14
+ getEndpoint(baseUrl: string): string;
15
+ getHeaders(apiKey?: string): Record<string, string>;
16
+ private convertMessages;
17
+ private convertTools;
18
+ }
19
+ //# sourceMappingURL=openai-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openai-provider.d.ts","sourceRoot":"","sources":["../../../src/backends/cloud/openai-provider.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAiC,MAAM,aAAa,CAAC;AAC1F,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAsBrF,qBAAa,yBAA0B,YAAW,WAAW;IAC3D,aAAa,CACX,QAAQ,EAAE,OAAO,EAAE,EACnB,YAAY,EAAE,MAAM,GAAG,iBAAiB,EAAE,GAAG,SAAS,EACtD,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;QACzB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACvC,GACA,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAkB1B,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI;IA8CzD,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAIpC,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAYnD,OAAO,CAAC,eAAe;IA6DvB,OAAO,CAAC,YAAY;CAUrB"}