@aituber-onair/chat 0.47.0 → 0.48.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.
Files changed (97) hide show
  1. package/README.ja.md +25 -12
  2. package/README.md +27 -12
  3. package/dist/cjs/constants/gemini.d.ts +17 -0
  4. package/dist/cjs/constants/gemini.d.ts.map +1 -1
  5. package/dist/cjs/constants/gemini.js +67 -1
  6. package/dist/cjs/constants/gemini.js.map +1 -1
  7. package/dist/cjs/constants/kimi.d.ts +10 -0
  8. package/dist/cjs/constants/kimi.d.ts.map +1 -1
  9. package/dist/cjs/constants/kimi.js +20 -1
  10. package/dist/cjs/constants/kimi.js.map +1 -1
  11. package/dist/cjs/services/ChatService.d.ts +2 -2
  12. package/dist/cjs/services/ChatService.d.ts.map +1 -1
  13. package/dist/cjs/services/ChatServiceFactory.d.ts.map +1 -1
  14. package/dist/cjs/services/ChatServiceFactory.js +1 -0
  15. package/dist/cjs/services/ChatServiceFactory.js.map +1 -1
  16. package/dist/cjs/services/providers/ChatServiceProvider.d.ts +9 -2
  17. package/dist/cjs/services/providers/ChatServiceProvider.d.ts.map +1 -1
  18. package/dist/cjs/services/providers/gemini/GeminiChatService.d.ts +8 -2
  19. package/dist/cjs/services/providers/gemini/GeminiChatService.d.ts.map +1 -1
  20. package/dist/cjs/services/providers/gemini/GeminiChatService.js +65 -38
  21. package/dist/cjs/services/providers/gemini/GeminiChatService.js.map +1 -1
  22. package/dist/cjs/services/providers/gemini/GeminiChatServiceProvider.d.ts.map +1 -1
  23. package/dist/cjs/services/providers/gemini/GeminiChatServiceProvider.js +9 -2
  24. package/dist/cjs/services/providers/gemini/GeminiChatServiceProvider.js.map +1 -1
  25. package/dist/cjs/services/providers/gemini/geminiMessageConverter.d.ts +6 -0
  26. package/dist/cjs/services/providers/gemini/geminiMessageConverter.d.ts.map +1 -1
  27. package/dist/cjs/services/providers/gemini/geminiMessageConverter.js +61 -58
  28. package/dist/cjs/services/providers/gemini/geminiMessageConverter.js.map +1 -1
  29. package/dist/cjs/services/providers/kimi/KimiChatService.d.ts +5 -4
  30. package/dist/cjs/services/providers/kimi/KimiChatService.d.ts.map +1 -1
  31. package/dist/cjs/services/providers/kimi/KimiChatService.js +34 -18
  32. package/dist/cjs/services/providers/kimi/KimiChatService.js.map +1 -1
  33. package/dist/cjs/services/providers/kimi/KimiChatServiceProvider.d.ts +1 -0
  34. package/dist/cjs/services/providers/kimi/KimiChatServiceProvider.d.ts.map +1 -1
  35. package/dist/cjs/services/providers/kimi/KimiChatServiceProvider.js +23 -1
  36. package/dist/cjs/services/providers/kimi/KimiChatServiceProvider.js.map +1 -1
  37. package/dist/cjs/types/chat.d.ts +10 -2
  38. package/dist/cjs/types/chat.d.ts.map +1 -1
  39. package/dist/cjs/types/toolChat.d.ts +20 -0
  40. package/dist/cjs/types/toolChat.d.ts.map +1 -1
  41. package/dist/cjs/utils/openaiCompatibleSse.d.ts +1 -0
  42. package/dist/cjs/utils/openaiCompatibleSse.d.ts.map +1 -1
  43. package/dist/cjs/utils/openaiCompatibleSse.js +48 -5
  44. package/dist/cjs/utils/openaiCompatibleSse.js.map +1 -1
  45. package/dist/cjs/utils/processChatFlow.d.ts +2 -2
  46. package/dist/cjs/utils/processChatFlow.d.ts.map +1 -1
  47. package/dist/cjs/utils/processChatFlow.js +8 -3
  48. package/dist/cjs/utils/processChatFlow.js.map +1 -1
  49. package/dist/esm/constants/gemini.d.ts +17 -0
  50. package/dist/esm/constants/gemini.d.ts.map +1 -1
  51. package/dist/esm/constants/gemini.js +62 -0
  52. package/dist/esm/constants/gemini.js.map +1 -1
  53. package/dist/esm/constants/kimi.d.ts +10 -0
  54. package/dist/esm/constants/kimi.d.ts.map +1 -1
  55. package/dist/esm/constants/kimi.js +17 -0
  56. package/dist/esm/constants/kimi.js.map +1 -1
  57. package/dist/esm/services/ChatService.d.ts +2 -2
  58. package/dist/esm/services/ChatService.d.ts.map +1 -1
  59. package/dist/esm/services/ChatServiceFactory.d.ts.map +1 -1
  60. package/dist/esm/services/ChatServiceFactory.js +1 -0
  61. package/dist/esm/services/ChatServiceFactory.js.map +1 -1
  62. package/dist/esm/services/providers/ChatServiceProvider.d.ts +9 -2
  63. package/dist/esm/services/providers/ChatServiceProvider.d.ts.map +1 -1
  64. package/dist/esm/services/providers/gemini/GeminiChatService.d.ts +8 -2
  65. package/dist/esm/services/providers/gemini/GeminiChatService.d.ts.map +1 -1
  66. package/dist/esm/services/providers/gemini/GeminiChatService.js +66 -39
  67. package/dist/esm/services/providers/gemini/GeminiChatService.js.map +1 -1
  68. package/dist/esm/services/providers/gemini/GeminiChatServiceProvider.d.ts.map +1 -1
  69. package/dist/esm/services/providers/gemini/GeminiChatServiceProvider.js +10 -3
  70. package/dist/esm/services/providers/gemini/GeminiChatServiceProvider.js.map +1 -1
  71. package/dist/esm/services/providers/gemini/geminiMessageConverter.d.ts +6 -0
  72. package/dist/esm/services/providers/gemini/geminiMessageConverter.d.ts.map +1 -1
  73. package/dist/esm/services/providers/gemini/geminiMessageConverter.js +61 -58
  74. package/dist/esm/services/providers/gemini/geminiMessageConverter.js.map +1 -1
  75. package/dist/esm/services/providers/kimi/KimiChatService.d.ts +5 -4
  76. package/dist/esm/services/providers/kimi/KimiChatService.d.ts.map +1 -1
  77. package/dist/esm/services/providers/kimi/KimiChatService.js +36 -20
  78. package/dist/esm/services/providers/kimi/KimiChatService.js.map +1 -1
  79. package/dist/esm/services/providers/kimi/KimiChatServiceProvider.d.ts +1 -0
  80. package/dist/esm/services/providers/kimi/KimiChatServiceProvider.d.ts.map +1 -1
  81. package/dist/esm/services/providers/kimi/KimiChatServiceProvider.js +24 -2
  82. package/dist/esm/services/providers/kimi/KimiChatServiceProvider.js.map +1 -1
  83. package/dist/esm/types/chat.d.ts +10 -2
  84. package/dist/esm/types/chat.d.ts.map +1 -1
  85. package/dist/esm/types/toolChat.d.ts +20 -0
  86. package/dist/esm/types/toolChat.d.ts.map +1 -1
  87. package/dist/esm/utils/openaiCompatibleSse.d.ts +1 -0
  88. package/dist/esm/utils/openaiCompatibleSse.d.ts.map +1 -1
  89. package/dist/esm/utils/openaiCompatibleSse.js +48 -5
  90. package/dist/esm/utils/openaiCompatibleSse.js.map +1 -1
  91. package/dist/esm/utils/processChatFlow.d.ts +2 -2
  92. package/dist/esm/utils/processChatFlow.d.ts.map +1 -1
  93. package/dist/esm/utils/processChatFlow.js +8 -3
  94. package/dist/esm/utils/processChatFlow.js.map +1 -1
  95. package/dist/umd/aituber-onair-chat.js +325 -131
  96. package/dist/umd/aituber-onair-chat.min.js +8 -8
  97. package/package.json +1 -1
@@ -14,6 +14,24 @@ export interface ToolResultBlock {
14
14
  content: string;
15
15
  }
16
16
  export type CoreToolChatBlock = TextBlock | ToolUseBlock | ToolResultBlock;
17
+ export interface ChatCompletionToolCall {
18
+ id: string;
19
+ type: 'function';
20
+ function: {
21
+ name: string;
22
+ arguments: string;
23
+ };
24
+ }
25
+ /**
26
+ * Assistant message that can be appended to OpenAI-compatible chat history.
27
+ */
28
+ export interface ChatCompletionAssistantMessage {
29
+ role: 'assistant';
30
+ content: string;
31
+ reasoning_content?: string;
32
+ tool_calls?: ChatCompletionToolCall[];
33
+ [key: string]: unknown;
34
+ }
17
35
  export interface ToolChatCompletion<B = CoreToolChatBlock> {
18
36
  blocks: B[];
19
37
  stop_reason: 'tool_use' | 'end';
@@ -25,6 +43,8 @@ export interface ToolChatCompletion<B = CoreToolChatBlock> {
25
43
  [key: string]: any;
26
44
  } | null;
27
45
  usage?: Record<string, any>;
46
+ /** Complete assistant message for provider-compatible multi-turn history. */
47
+ assistant_message?: ChatCompletionAssistantMessage;
28
48
  }
29
49
  export type ToolChatBlock = CoreToolChatBlock;
30
50
  export type ToolDefinition = {
@@ -1 +1 @@
1
- {"version":3,"file":"toolChat.d.ts","sourceRoot":"","sources":["../../../src/types/toolChat.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,YAAY,CAAC,CAAC,GAAG,GAAG;IACnC,IAAI,EAAE,UAAU,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,CAAC,CAAC;CACV;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,aAAa,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,YAAY,GAAG,eAAe,CAAC;AAE3E,MAAM,WAAW,kBAAkB,CAAC,CAAC,GAAG,iBAAiB;IACvD,MAAM,EAAE,CAAC,EAAE,CAAC;IACZ,WAAW,EAAE,UAAU,GAAG,KAAK,CAAC;IAChC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,GAAG,IAAI,CAAC;IACpE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC7B;AACD,MAAM,MAAM,aAAa,GAAG,iBAAiB,CAAC;AAE9C,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,CAAC,EAAE,MAAM,CACjB,MAAM,EACN;YACE,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,WAAW,CAAC,EAAE,MAAM,CAAC;YACrB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;YACb,KAAK,CAAC,EAAE,GAAG,CAAC;YACZ,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;YACpB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;SACpB,CACF,CAAC;QACF,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACpB,CAAC;IACF,MAAM,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACjC,CAAC"}
1
+ {"version":3,"file":"toolChat.d.ts","sourceRoot":"","sources":["../../../src/types/toolChat.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,YAAY,CAAC,CAAC,GAAG,GAAG;IACnC,IAAI,EAAE,UAAU,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,CAAC,CAAC;CACV;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,aAAa,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,YAAY,GAAG,eAAe,CAAC;AAE3E,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC7C,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,sBAAsB,EAAE,CAAC;IACtC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,kBAAkB,CAAC,CAAC,GAAG,iBAAiB;IACvD,MAAM,EAAE,CAAC,EAAE,CAAC;IACZ,WAAW,EAAE,UAAU,GAAG,KAAK,CAAC;IAChC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,GAAG,IAAI,CAAC;IACpE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B,6EAA6E;IAC7E,iBAAiB,CAAC,EAAE,8BAA8B,CAAC;CACpD;AACD,MAAM,MAAM,aAAa,GAAG,iBAAiB,CAAC;AAE9C,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,CAAC,EAAE,MAAM,CACjB,MAAM,EACN;YACE,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,WAAW,CAAC,EAAE,MAAM,CAAC;YACrB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;YACb,KAAK,CAAC,EAAE,GAAG,CAAC;YACZ,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;YACpB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;SACpB,CACF,CAAC;QACF,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACpB,CAAC;IACF,MAAM,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACjC,CAAC"}
@@ -3,6 +3,7 @@ import type { JsonParseErrorHandler } from './safeJsonParse';
3
3
  type SseParseOptions = {
4
4
  onJsonError?: JsonParseErrorHandler;
5
5
  appendTextBlock?: (blocks: ToolChatBlock[], text: string) => void;
6
+ preserveAssistantMessage?: boolean;
6
7
  };
7
8
  export declare function parseOpenAICompatibleTextStream(res: Response, onPartial: (text: string) => void, options?: SseParseOptions): Promise<string>;
8
9
  export declare function parseOpenAICompatibleToolStream(res: Response, onPartial: (text: string) => void, options?: SseParseOptions): Promise<ToolChatCompletion>;
@@ -1 +1 @@
1
- {"version":3,"file":"openaiCompatibleSse.d.ts","sourceRoot":"","sources":["../../../src/utils/openaiCompatibleSse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC7D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAI7D,KAAK,eAAe,GAAG;IACrB,WAAW,CAAC,EAAE,qBAAqB,CAAC;IACpC,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACnE,CAAC;AAiFF,wBAAsB,+BAA+B,CACnD,GAAG,EAAE,QAAQ,EACb,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EACjC,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,MAAM,CAAC,CAejB;AAED,wBAAsB,+BAA+B,CACnD,GAAG,EAAE,QAAQ,EACb,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EACjC,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,kBAAkB,CAAC,CA2D7B;AAED,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,GAAG,EACT,OAAO,GAAE,eAAoB,GAC5B,kBAAkB,CAkCpB"}
1
+ {"version":3,"file":"openaiCompatibleSse.d.ts","sourceRoot":"","sources":["../../../src/utils/openaiCompatibleSse.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,aAAa,EACb,kBAAkB,EACnB,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAI7D,KAAK,eAAe,GAAG;IACrB,WAAW,CAAC,EAAE,qBAAqB,CAAC;IACpC,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClE,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACpC,CAAC;AAiFF,wBAAsB,+BAA+B,CACnD,GAAG,EAAE,QAAQ,EACb,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EACjC,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,MAAM,CAAC,CAejB;AAED,wBAAsB,+BAA+B,CACnD,GAAG,EAAE,QAAQ,EACb,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EACjC,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,kBAAkB,CAAC,CA8F7B;AAED,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,GAAG,EACT,OAAO,GAAE,eAAoB,GAC5B,kBAAkB,CA2CpB"}
@@ -81,6 +81,8 @@ export async function parseOpenAICompatibleTextStream(res, onPartial, options =
81
81
  export async function parseOpenAICompatibleToolStream(res, onPartial, options = {}) {
82
82
  const textBlocks = [];
83
83
  const toolCallsMap = new Map();
84
+ let fullContent = '';
85
+ let reasoningContent = '';
84
86
  let finishReason;
85
87
  let usage;
86
88
  const appendTextBlock = options.appendTextBlock ?? StreamTextAccumulator.append;
@@ -100,14 +102,26 @@ export async function parseOpenAICompatibleToolStream(res, onPartial, options =
100
102
  if (content) {
101
103
  onPartial(content);
102
104
  appendTextBlock(textBlocks, content);
105
+ fullContent += content;
106
+ }
107
+ const reasoning = extractTextContent(delta?.reasoning_content);
108
+ if (reasoning) {
109
+ reasoningContent += reasoning;
103
110
  }
104
111
  if (delta?.tool_calls) {
105
112
  delta.tool_calls.forEach((c) => {
106
113
  const entry = toolCallsMap.get(c.index) ?? {
107
114
  id: c.id,
115
+ type: c.type,
108
116
  name: c.function?.name,
109
117
  args: '',
110
118
  };
119
+ if (c.id)
120
+ entry.id = c.id;
121
+ if (c.type)
122
+ entry.type = c.type;
123
+ if (c.function?.name)
124
+ entry.name = c.function.name;
111
125
  entry.args += c.function?.arguments || '';
112
126
  toolCallsMap.set(c.index, entry);
113
127
  });
@@ -122,17 +136,39 @@ export async function parseOpenAICompatibleToolStream(res, onPartial, options =
122
136
  input: safeParseToolCallInput(e.args, options.onJsonError),
123
137
  }));
124
138
  const blocks = [...textBlocks, ...toolBlocks];
139
+ const assistantToolCalls = Array.from(toolCallsMap.entries())
140
+ .sort((a, b) => a[0] - b[0])
141
+ .map(([_, entry]) => ({
142
+ id: entry.id,
143
+ type: 'function',
144
+ function: {
145
+ name: entry.name,
146
+ arguments: entry.args,
147
+ },
148
+ }));
149
+ const assistantMessage = {
150
+ role: 'assistant',
151
+ content: fullContent,
152
+ ...(reasoningContent ? { reasoning_content: reasoningContent } : {}),
153
+ ...(assistantToolCalls.length > 0
154
+ ? { tool_calls: assistantToolCalls }
155
+ : {}),
156
+ };
125
157
  return {
126
158
  blocks,
127
159
  stop_reason: toolBlocks.length ? 'tool_use' : 'end',
128
160
  truncated: finishReason === 'length',
129
161
  finish_reason: finishReason,
130
162
  usage,
163
+ ...(options.preserveAssistantMessage
164
+ ? { assistant_message: assistantMessage }
165
+ : {}),
131
166
  };
132
167
  }
133
168
  export function parseOpenAICompatibleOneShot(data, options = {}) {
134
169
  const choice = data?.choices?.[0];
135
170
  const blocks = [];
171
+ const content = extractTextContent(choice?.message?.content);
136
172
  if (choice?.message?.tool_calls?.length) {
137
173
  choice.message.tool_calls.forEach((c) => blocks.push({
138
174
  type: 'tool_use',
@@ -141,12 +177,16 @@ export function parseOpenAICompatibleOneShot(data, options = {}) {
141
177
  input: safeParseToolCallInput(c.function?.arguments, options.onJsonError),
142
178
  }));
143
179
  }
144
- else {
145
- const content = extractTextContent(choice?.message?.content);
146
- if (content) {
147
- blocks.push({ type: 'text', text: content });
148
- }
180
+ else if (content) {
181
+ blocks.push({ type: 'text', text: content });
149
182
  }
183
+ const assistantMessage = choice?.message
184
+ ? {
185
+ ...choice.message,
186
+ role: 'assistant',
187
+ content,
188
+ }
189
+ : undefined;
150
190
  return {
151
191
  blocks,
152
192
  stop_reason: choice?.finish_reason === 'tool_calls' ||
@@ -156,6 +196,9 @@ export function parseOpenAICompatibleOneShot(data, options = {}) {
156
196
  truncated: choice?.finish_reason === 'length',
157
197
  finish_reason: choice?.finish_reason,
158
198
  usage: data?.usage,
199
+ ...(options.preserveAssistantMessage
200
+ ? { assistant_message: assistantMessage }
201
+ : {}),
159
202
  };
160
203
  }
161
204
  //# sourceMappingURL=openaiCompatibleSse.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"openaiCompatibleSse.js","sourceRoot":"","sources":["../../../src/utils/openaiCompatibleSse.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openaiCompatibleSse.js","sourceRoot":"","sources":["../../../src/utils/openaiCompatibleSse.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  import { ToolChatBlock, ToolChatCompletion } from '../types';
2
2
  type ProcessChatFlowOptions<B = ToolChatBlock> = {
3
3
  hasTools: boolean;
4
- runWithoutTools: () => Promise<string>;
4
+ runWithoutTools: () => Promise<string | ToolChatCompletion<B>>;
5
5
  runWithTools: () => Promise<ToolChatCompletion<B>>;
6
- onCompleteResponse: (text: string) => Promise<void>;
6
+ onCompleteResponse: (text: string, completion?: ToolChatCompletion<B>) => Promise<void>;
7
7
  toolErrorMessage: string;
8
8
  onToolBlocks?: (blocks: B[]) => void;
9
9
  };
@@ -1 +1 @@
1
- {"version":3,"file":"processChatFlow.d.ts","sourceRoot":"","sources":["../../../src/utils/processChatFlow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAG7D,KAAK,sBAAsB,CAAC,CAAC,GAAG,aAAa,IAAI;IAC/C,QAAQ,EAAE,OAAO,CAAC;IAClB,eAAe,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IACvC,YAAY,EAAE,MAAM,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD,kBAAkB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC;CACtC,CAAC;AAEF,wBAAsB,4BAA4B,CAAC,CAAC,GAAG,aAAa,EAClE,OAAO,EAAE,sBAAsB,CAAC,CAAC,CAAC,GACjC,OAAO,CAAC,IAAI,CAAC,CAqBf"}
1
+ {"version":3,"file":"processChatFlow.d.ts","sourceRoot":"","sources":["../../../src/utils/processChatFlow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAG7D,KAAK,sBAAsB,CAAC,CAAC,GAAG,aAAa,IAAI;IAC/C,QAAQ,EAAE,OAAO,CAAC;IAClB,eAAe,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/D,YAAY,EAAE,MAAM,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD,kBAAkB,EAAE,CAClB,IAAI,EAAE,MAAM,EACZ,UAAU,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC,KAC/B,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC;CACtC,CAAC;AAEF,wBAAsB,4BAA4B,CAAC,CAAC,GAAG,aAAa,EAClE,OAAO,EAAE,sBAAsB,CAAC,CAAC,CAAC,GACjC,OAAO,CAAC,IAAI,CAAC,CA6Bf"}
@@ -1,8 +1,13 @@
1
1
  import { StreamTextAccumulator } from './streamTextAccumulator';
2
2
  export async function processChatWithOptionalTools(options) {
3
3
  if (!options.hasTools) {
4
- const full = await options.runWithoutTools();
5
- await options.onCompleteResponse(full);
4
+ const result = await options.runWithoutTools();
5
+ if (typeof result === 'string') {
6
+ await options.onCompleteResponse(result);
7
+ return;
8
+ }
9
+ const full = StreamTextAccumulator.getFullText(result.blocks);
10
+ await options.onCompleteResponse(full, result);
6
11
  return;
7
12
  }
8
13
  const result = await options.runWithTools();
@@ -11,7 +16,7 @@ export async function processChatWithOptionalTools(options) {
11
16
  }
12
17
  if (result.stop_reason === 'end') {
13
18
  const full = StreamTextAccumulator.getFullText(result.blocks);
14
- await options.onCompleteResponse(full);
19
+ await options.onCompleteResponse(full, result);
15
20
  return;
16
21
  }
17
22
  throw new Error(options.toolErrorMessage);
@@ -1 +1 @@
1
- {"version":3,"file":"processChatFlow.js","sourceRoot":"","sources":["../../../src/utils/processChatFlow.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAWhE,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,OAAkC;IAElC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACtB,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,eAAe,EAAE,CAAC;QAC7C,MAAM,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACvC,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,YAAY,EAAE,CAAC;IAC5C,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;QACzB,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,MAAM,CAAC,WAAW,KAAK,KAAK,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG,qBAAqB,CAAC,WAAW,CAC5C,MAAM,CAAC,MAAyB,CACjC,CAAC;QACF,MAAM,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACvC,OAAO;IACT,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAC5C,CAAC"}
1
+ {"version":3,"file":"processChatFlow.js","sourceRoot":"","sources":["../../../src/utils/processChatFlow.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAchE,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,OAAkC;IAElC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACtB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,eAAe,EAAE,CAAC;QAC/C,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,MAAM,OAAO,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;YACzC,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,qBAAqB,CAAC,WAAW,CAC5C,MAAM,CAAC,MAAyB,CACjC,CAAC;QACF,MAAM,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC/C,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,YAAY,EAAE,CAAC;IAC5C,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;QACzB,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,MAAM,CAAC,WAAW,KAAK,KAAK,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG,qBAAqB,CAAC,WAAW,CAC5C,MAAM,CAAC,MAAyB,CACjC,CAAC;QACF,MAAM,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC/C,OAAO;IACT,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAC5C,CAAC"}