@aituber-onair/chat 0.54.0 → 0.56.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 (115) hide show
  1. package/README.ja.md +54 -10
  2. package/README.md +56 -11
  3. package/dist/cjs/constants/claude.d.ts +2 -0
  4. package/dist/cjs/constants/claude.d.ts.map +1 -1
  5. package/dist/cjs/constants/claude.js +6 -1
  6. package/dist/cjs/constants/claude.js.map +1 -1
  7. package/dist/cjs/constants/deepseek.d.ts +1 -0
  8. package/dist/cjs/constants/deepseek.d.ts.map +1 -1
  9. package/dist/cjs/constants/deepseek.js +5 -2
  10. package/dist/cjs/constants/deepseek.js.map +1 -1
  11. package/dist/cjs/constants/openai.d.ts +10 -3
  12. package/dist/cjs/constants/openai.d.ts.map +1 -1
  13. package/dist/cjs/constants/openai.js +40 -7
  14. package/dist/cjs/constants/openai.js.map +1 -1
  15. package/dist/cjs/constants/openrouter.d.ts +11 -0
  16. package/dist/cjs/constants/openrouter.d.ts.map +1 -1
  17. package/dist/cjs/constants/openrouter.js +93 -3
  18. package/dist/cjs/constants/openrouter.js.map +1 -1
  19. package/dist/cjs/constants/xai.d.ts +1 -0
  20. package/dist/cjs/constants/xai.d.ts.map +1 -1
  21. package/dist/cjs/constants/xai.js +7 -2
  22. package/dist/cjs/constants/xai.js.map +1 -1
  23. package/dist/cjs/services/ChatService.d.ts +2 -0
  24. package/dist/cjs/services/ChatService.d.ts.map +1 -1
  25. package/dist/cjs/services/ChatServiceFactory.d.ts.map +1 -1
  26. package/dist/cjs/services/ChatServiceFactory.js +23 -15
  27. package/dist/cjs/services/ChatServiceFactory.js.map +1 -1
  28. package/dist/cjs/services/providers/ChatServiceProvider.d.ts +2 -0
  29. package/dist/cjs/services/providers/ChatServiceProvider.d.ts.map +1 -1
  30. package/dist/cjs/services/providers/claude/ClaudeChatServiceProvider.d.ts.map +1 -1
  31. package/dist/cjs/services/providers/claude/ClaudeChatServiceProvider.js +2 -0
  32. package/dist/cjs/services/providers/claude/ClaudeChatServiceProvider.js.map +1 -1
  33. package/dist/cjs/services/providers/geminiNano/GeminiNanoChatService.d.ts +24 -3
  34. package/dist/cjs/services/providers/geminiNano/GeminiNanoChatService.d.ts.map +1 -1
  35. package/dist/cjs/services/providers/geminiNano/GeminiNanoChatService.js +211 -15
  36. package/dist/cjs/services/providers/geminiNano/GeminiNanoChatService.js.map +1 -1
  37. package/dist/cjs/services/providers/geminiNano/GeminiNanoChatServiceProvider.d.ts.map +1 -1
  38. package/dist/cjs/services/providers/geminiNano/GeminiNanoChatServiceProvider.js +1 -0
  39. package/dist/cjs/services/providers/geminiNano/GeminiNanoChatServiceProvider.js.map +1 -1
  40. package/dist/cjs/services/providers/openai/OpenAIChatService.d.ts.map +1 -1
  41. package/dist/cjs/services/providers/openai/OpenAIChatService.js +6 -2
  42. package/dist/cjs/services/providers/openai/OpenAIChatService.js.map +1 -1
  43. package/dist/cjs/services/providers/openai/OpenAIChatServiceProvider.d.ts.map +1 -1
  44. package/dist/cjs/services/providers/openai/OpenAIChatServiceProvider.js +17 -4
  45. package/dist/cjs/services/providers/openai/OpenAIChatServiceProvider.js.map +1 -1
  46. package/dist/cjs/services/providers/openai/openaiRequestBuilder.d.ts.map +1 -1
  47. package/dist/cjs/services/providers/openai/openaiRequestBuilder.js +9 -3
  48. package/dist/cjs/services/providers/openai/openaiRequestBuilder.js.map +1 -1
  49. package/dist/cjs/services/providers/openrouter/OpenRouterChatService.d.ts.map +1 -1
  50. package/dist/cjs/services/providers/openrouter/OpenRouterChatService.js +8 -2
  51. package/dist/cjs/services/providers/openrouter/OpenRouterChatService.js.map +1 -1
  52. package/dist/cjs/services/providers/openrouter/OpenRouterChatServiceProvider.d.ts.map +1 -1
  53. package/dist/cjs/services/providers/openrouter/OpenRouterChatServiceProvider.js +11 -0
  54. package/dist/cjs/services/providers/openrouter/OpenRouterChatServiceProvider.js.map +1 -1
  55. package/dist/cjs/services/providers/xai/XAIChatServiceProvider.d.ts.map +1 -1
  56. package/dist/cjs/services/providers/xai/XAIChatServiceProvider.js +1 -0
  57. package/dist/cjs/services/providers/xai/XAIChatServiceProvider.js.map +1 -1
  58. package/dist/esm/constants/claude.d.ts +2 -0
  59. package/dist/esm/constants/claude.d.ts.map +1 -1
  60. package/dist/esm/constants/claude.js +5 -0
  61. package/dist/esm/constants/claude.js.map +1 -1
  62. package/dist/esm/constants/deepseek.d.ts +1 -0
  63. package/dist/esm/constants/deepseek.d.ts.map +1 -1
  64. package/dist/esm/constants/deepseek.js +4 -1
  65. package/dist/esm/constants/deepseek.js.map +1 -1
  66. package/dist/esm/constants/openai.d.ts +10 -3
  67. package/dist/esm/constants/openai.d.ts.map +1 -1
  68. package/dist/esm/constants/openai.js +37 -6
  69. package/dist/esm/constants/openai.js.map +1 -1
  70. package/dist/esm/constants/openrouter.d.ts +11 -0
  71. package/dist/esm/constants/openrouter.d.ts.map +1 -1
  72. package/dist/esm/constants/openrouter.js +91 -1
  73. package/dist/esm/constants/openrouter.js.map +1 -1
  74. package/dist/esm/constants/xai.d.ts +1 -0
  75. package/dist/esm/constants/xai.d.ts.map +1 -1
  76. package/dist/esm/constants/xai.js +6 -1
  77. package/dist/esm/constants/xai.js.map +1 -1
  78. package/dist/esm/services/ChatService.d.ts +2 -0
  79. package/dist/esm/services/ChatService.d.ts.map +1 -1
  80. package/dist/esm/services/ChatServiceFactory.d.ts.map +1 -1
  81. package/dist/esm/services/ChatServiceFactory.js +23 -15
  82. package/dist/esm/services/ChatServiceFactory.js.map +1 -1
  83. package/dist/esm/services/providers/ChatServiceProvider.d.ts +2 -0
  84. package/dist/esm/services/providers/ChatServiceProvider.d.ts.map +1 -1
  85. package/dist/esm/services/providers/claude/ClaudeChatServiceProvider.d.ts.map +1 -1
  86. package/dist/esm/services/providers/claude/ClaudeChatServiceProvider.js +3 -1
  87. package/dist/esm/services/providers/claude/ClaudeChatServiceProvider.js.map +1 -1
  88. package/dist/esm/services/providers/geminiNano/GeminiNanoChatService.d.ts +24 -3
  89. package/dist/esm/services/providers/geminiNano/GeminiNanoChatService.d.ts.map +1 -1
  90. package/dist/esm/services/providers/geminiNano/GeminiNanoChatService.js +211 -15
  91. package/dist/esm/services/providers/geminiNano/GeminiNanoChatService.js.map +1 -1
  92. package/dist/esm/services/providers/geminiNano/GeminiNanoChatServiceProvider.d.ts.map +1 -1
  93. package/dist/esm/services/providers/geminiNano/GeminiNanoChatServiceProvider.js +1 -0
  94. package/dist/esm/services/providers/geminiNano/GeminiNanoChatServiceProvider.js.map +1 -1
  95. package/dist/esm/services/providers/openai/OpenAIChatService.d.ts.map +1 -1
  96. package/dist/esm/services/providers/openai/OpenAIChatService.js +7 -3
  97. package/dist/esm/services/providers/openai/OpenAIChatService.js.map +1 -1
  98. package/dist/esm/services/providers/openai/OpenAIChatServiceProvider.d.ts.map +1 -1
  99. package/dist/esm/services/providers/openai/OpenAIChatServiceProvider.js +18 -5
  100. package/dist/esm/services/providers/openai/OpenAIChatServiceProvider.js.map +1 -1
  101. package/dist/esm/services/providers/openai/openaiRequestBuilder.d.ts.map +1 -1
  102. package/dist/esm/services/providers/openai/openaiRequestBuilder.js +10 -4
  103. package/dist/esm/services/providers/openai/openaiRequestBuilder.js.map +1 -1
  104. package/dist/esm/services/providers/openrouter/OpenRouterChatService.d.ts.map +1 -1
  105. package/dist/esm/services/providers/openrouter/OpenRouterChatService.js +9 -3
  106. package/dist/esm/services/providers/openrouter/OpenRouterChatService.js.map +1 -1
  107. package/dist/esm/services/providers/openrouter/OpenRouterChatServiceProvider.d.ts.map +1 -1
  108. package/dist/esm/services/providers/openrouter/OpenRouterChatServiceProvider.js +12 -1
  109. package/dist/esm/services/providers/openrouter/OpenRouterChatServiceProvider.js.map +1 -1
  110. package/dist/esm/services/providers/xai/XAIChatServiceProvider.d.ts.map +1 -1
  111. package/dist/esm/services/providers/xai/XAIChatServiceProvider.js +2 -1
  112. package/dist/esm/services/providers/xai/XAIChatServiceProvider.js.map +1 -1
  113. package/dist/umd/aituber-onair-chat.js +457 -35
  114. package/dist/umd/aituber-onair-chat.min.js +8 -8
  115. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"xai.d.ts","sourceRoot":"","sources":["../../../src/constants/xai.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iCAAiC,yCACN,CAAC;AAGzC,eAAO,MAAM,cAAc,aAAa,CAAC;AACzC,eAAO,MAAM,cAAc,aAAa,CAAC;AACzC,eAAO,MAAM,cAAc,aAAa,CAAC;AACzC,eAAO,MAAM,yBAAyB,6BAA6B,CAAC;AACpE,eAAO,MAAM,6BAA6B,iCAAiC,CAAC;AAC5E,eAAO,MAAM,6BAA6B,4BAA4B,CAAC;AACvE,eAAO,MAAM,iCAAiC,gCAAgC,CAAC;AAI/E,eAAO,MAAM,qBAAqB,UAGjC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;AAG9E,eAAO,MAAM,2BAA2B,UAMvC,CAAC;AAEF;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEhE;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAC7C,KAAK,EAAE,MAAM,GACZ,SAAS,kBAAkB,EAAE,CAc/B;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEpE;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,MAAM,GACZ,kBAAkB,GAAG,SAAS,CAMhC;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,MAAM,EACb,eAAe,CAAC,EAAE,kBAAkB,GACnC,kBAAkB,GAAG,SAAS,CAehC"}
1
+ {"version":3,"file":"xai.d.ts","sourceRoot":"","sources":["../../../src/constants/xai.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iCAAiC,yCACN,CAAC;AAGzC,eAAO,MAAM,cAAc,aAAa,CAAC;AACzC,eAAO,MAAM,cAAc,aAAa,CAAC;AACzC,eAAO,MAAM,cAAc,aAAa,CAAC;AACzC,eAAO,MAAM,cAAc,aAAa,CAAC;AACzC,eAAO,MAAM,yBAAyB,6BAA6B,CAAC;AACpE,eAAO,MAAM,6BAA6B,iCAAiC,CAAC;AAC5E,eAAO,MAAM,6BAA6B,4BAA4B,CAAC;AACvE,eAAO,MAAM,iCAAiC,gCAAgC,CAAC;AAI/E,eAAO,MAAM,qBAAqB,UAGjC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;AAG9E,eAAO,MAAM,2BAA2B,UAOvC,CAAC;AAEF;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEhE;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAC7C,KAAK,EAAE,MAAM,GACZ,SAAS,kBAAkB,EAAE,CAc/B;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEpE;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,MAAM,GACZ,kBAAkB,GAAG,SAAS,CAUhC;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,MAAM,EACb,eAAe,CAAC,EAAE,kBAAkB,GACnC,kBAAkB,GAAG,SAAS,CAehC"}
@@ -1,6 +1,7 @@
1
1
  export const ENDPOINT_XAI_CHAT_COMPLETIONS_API = 'https://api.x.ai/v1/chat/completions';
2
2
  // xAI Grok models
3
3
  export const MODEL_GROK_4_6 = 'grok-4.6';
4
+ export const MODEL_GROK_4_7 = 'grok-4.7';
4
5
  export const MODEL_GROK_4_5 = 'grok-4.5';
5
6
  export const MODEL_GROK_4_3 = 'grok-4.3';
6
7
  export const MODEL_GROK_4_20_REASONING = 'grok-4.20-0309-reasoning';
@@ -16,6 +17,7 @@ export const XAI_DEPRECATED_MODELS = [
16
17
  // Vision support for models
17
18
  export const XAI_VISION_SUPPORTED_MODELS = [
18
19
  MODEL_GROK_4_6,
20
+ MODEL_GROK_4_7,
19
21
  MODEL_GROK_4_5,
20
22
  MODEL_GROK_4_3,
21
23
  MODEL_GROK_4_20_REASONING,
@@ -37,7 +39,7 @@ export function isXaiReasoningEffortModel(model) {
37
39
  * Get documented reasoning_effort values for an xAI model
38
40
  */
39
41
  export function getXaiSupportedReasoningEfforts(model) {
40
- if (model === MODEL_GROK_4_6) {
42
+ if (model === MODEL_GROK_4_6 || model === MODEL_GROK_4_7) {
41
43
  return ['low', 'medium', 'high', 'xhigh'];
42
44
  }
43
45
  if (model === MODEL_GROK_4_5) {
@@ -58,6 +60,9 @@ export function isXaiReasoningEffortNoneModel(model) {
58
60
  * Get default reasoning effort for xAI models
59
61
  */
60
62
  export function getDefaultXaiReasoningEffort(model) {
63
+ if (model === MODEL_GROK_4_7) {
64
+ return 'low';
65
+ }
61
66
  if (model === MODEL_GROK_4_6 || model === MODEL_GROK_4_5) {
62
67
  return 'low';
63
68
  }
@@ -1 +1 @@
1
- {"version":3,"file":"xai.js","sourceRoot":"","sources":["../../../src/constants/xai.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,iCAAiC,GAC5C,sCAAsC,CAAC;AAEzC,kBAAkB;AAClB,MAAM,CAAC,MAAM,cAAc,GAAG,UAAU,CAAC;AACzC,MAAM,CAAC,MAAM,cAAc,GAAG,UAAU,CAAC;AACzC,MAAM,CAAC,MAAM,cAAc,GAAG,UAAU,CAAC;AACzC,MAAM,CAAC,MAAM,yBAAyB,GAAG,0BAA0B,CAAC;AACpE,MAAM,CAAC,MAAM,6BAA6B,GAAG,8BAA8B,CAAC;AAC5E,MAAM,CAAC,MAAM,6BAA6B,GAAG,yBAAyB,CAAC;AACvE,MAAM,CAAC,MAAM,iCAAiC,GAAG,6BAA6B,CAAC;AAE/E,4EAA4E;AAC5E,6EAA6E;AAC7E,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,6BAA6B;IAC7B,iCAAiC;CAClC,CAAC;AAIF,4BAA4B;AAC5B,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,cAAc;IACd,cAAc;IACd,cAAc;IACd,yBAAyB;IACzB,6BAA6B;CAC9B,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAa;IAC5C,OAAO,2BAA2B,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACrD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,yBAAyB,CAAC,KAAa;IACrD,OAAO,+BAA+B,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;AAC3D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,+BAA+B,CAC7C,KAAa;IAEb,IAAI,KAAK,KAAK,cAAc,EAAE,CAAC;QAC7B,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,KAAK,KAAK,cAAc,EAAE,CAAC;QAC7B,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,KAAK,KAAK,cAAc,EAAE,CAAC;QAC7B,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,6BAA6B,CAAC,KAAa;IACzD,OAAO,+BAA+B,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACjE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,4BAA4B,CAC1C,KAAa;IAEb,IAAI,KAAK,KAAK,cAAc,IAAI,KAAK,KAAK,cAAc,EAAE,CAAC;QACzD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,6BAA6B,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AACnE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,2BAA2B,CACzC,KAAa,EACb,eAAoC;IAEpC,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,EAAE,CAAC;QACtC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;QAClC,OAAO,4BAA4B,CAAC,KAAK,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,SAAS,GAAG,+BAA+B,CAAC,KAAK,CAAC,CAAC;IACzD,IAAI,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;QACxC,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,OAAO,eAAe,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;AACrD,CAAC"}
1
+ {"version":3,"file":"xai.js","sourceRoot":"","sources":["../../../src/constants/xai.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,8 @@ import { ToolChatCompletion } from '../types/toolChat';
7
7
  export interface ChatService {
8
8
  /** Provider name for provider-specific orchestration decisions */
9
9
  readonly provider: string;
10
+ /** Release provider-owned resources when supported. */
11
+ dispose?(): void;
10
12
  /**
11
13
  * Get the model name
12
14
  * @returns Model name
@@ -1 +1 @@
1
- {"version":3,"file":"ChatService.d.ts","sourceRoot":"","sources":["../../../src/services/ChatService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEvD;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,kEAAkE;IAClE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B;;;OAGG;IACH,QAAQ,IAAI,MAAM,CAAC;IAEnB;;;OAGG;IACH,cAAc,IAAI,MAAM,CAAC;IAEzB;;;;;OAKG;IACH,WAAW,CACT,QAAQ,EAAE,OAAO,EAAE,EACnB,iBAAiB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EACzC,kBAAkB,EAAE,CAClB,IAAI,EAAE,MAAM,EACZ,UAAU,CAAC,EAAE,kBAAkB,KAC5B,OAAO,CAAC,IAAI,CAAC,GACjB,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;;;;OAKG;IACH,iBAAiB,CACf,QAAQ,EAAE,iBAAiB,EAAE,EAC7B,iBAAiB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EACzC,kBAAkB,EAAE,CAClB,IAAI,EAAE,MAAM,EACZ,UAAU,CAAC,EAAE,kBAAkB,KAC5B,OAAO,CAAC,IAAI,CAAC,GACjB,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;;;;;;OAOG;IACH,QAAQ,CACN,QAAQ,EAAE,OAAO,EAAE,EACnB,MAAM,EAAE,OAAO,EACf,iBAAiB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EACzC,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAE/B;;;;;;;OAOG;IACH,cAAc,CACZ,QAAQ,EAAE,iBAAiB,EAAE,EAC7B,MAAM,EAAE,OAAO,EACf,iBAAiB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EACzC,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,kBAAkB,CAAC,CAAC;CAChC"}
1
+ {"version":3,"file":"ChatService.d.ts","sourceRoot":"","sources":["../../../src/services/ChatService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEvD;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,kEAAkE;IAClE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B,uDAAuD;IACvD,OAAO,CAAC,IAAI,IAAI,CAAC;IAEjB;;;OAGG;IACH,QAAQ,IAAI,MAAM,CAAC;IAEnB;;;OAGG;IACH,cAAc,IAAI,MAAM,CAAC;IAEzB;;;;;OAKG;IACH,WAAW,CACT,QAAQ,EAAE,OAAO,EAAE,EACnB,iBAAiB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EACzC,kBAAkB,EAAE,CAClB,IAAI,EAAE,MAAM,EACZ,UAAU,CAAC,EAAE,kBAAkB,KAC5B,OAAO,CAAC,IAAI,CAAC,GACjB,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;;;;OAKG;IACH,iBAAiB,CACf,QAAQ,EAAE,iBAAiB,EAAE,EAC7B,iBAAiB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EACzC,kBAAkB,EAAE,CAClB,IAAI,EAAE,MAAM,EACZ,UAAU,CAAC,EAAE,kBAAkB,KAC5B,OAAO,CAAC,IAAI,CAAC,GACjB,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;;;;;;OAOG;IACH,QAAQ,CACN,QAAQ,EAAE,OAAO,EAAE,EACnB,MAAM,EAAE,OAAO,EACf,iBAAiB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EACzC,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAE/B;;;;;;;OAOG;IACH,cAAc,CACZ,QAAQ,EAAE,iBAAiB,EAAE,EAC7B,MAAM,EAAE,OAAO,EACf,iBAAiB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EACzC,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,kBAAkB,CAAC,CAAC;CAChC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ChatServiceFactory.d.ts","sourceRoot":"","sources":["../../../src/services/ChatServiceFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAEL,4BAA4B,EAC5B,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAgCtE;;;GAGG;AACH,qBAAa,kBAAkB;IAC7B,kCAAkC;IAClC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAoD;IAE5E;;;OAGG;IACH,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,mBAAmB,CAAC,GAAG,CAAC,GAAG,IAAI;IAIjE;;;;;OAKG;IACH,MAAM,CAAC,iBAAiB,CAAC,SAAS,SAAS,gBAAgB,EACzD,YAAY,EAAE,SAAS,EACvB,OAAO,EAAE,4BAA4B,CAAC,SAAS,CAAC,GAC/C,WAAW;IAYd;;;OAGG;IACH,MAAM,CAAC,YAAY,IAAI,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAI5D;;;OAGG;IACH,MAAM,CAAC,qBAAqB,IAAI,MAAM,EAAE;IAIxC;;;;OAIG;IACH,MAAM,CAAC,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,EAAE;IAKzD;;OAEG;IACH,MAAM,CAAC,uBAAuB,CAC5B,YAAY,EAAE,MAAM,EACpB,KAAK,CAAC,EAAE,MAAM,GACb,wBAAwB,GAAG,SAAS;IA6CvC;;OAEG;IACH,MAAM,CAAC,0BAA0B,IAAI,wBAAwB,EAAE;IAS/D;;OAEG;IACH,MAAM,CAAC,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,kBAAkB;IAKtE;;OAEG;IACH,MAAM,CAAC,6BAA6B,CAClC,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,GACZ,kBAAkB;CAkBtB"}
1
+ {"version":3,"file":"ChatServiceFactory.d.ts","sourceRoot":"","sources":["../../../src/services/ChatServiceFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAEL,4BAA4B,EAC5B,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAqCtE;;;GAGG;AACH,qBAAa,kBAAkB;IAC7B,kCAAkC;IAClC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAoD;IAE5E;;;OAGG;IACH,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,mBAAmB,CAAC,GAAG,CAAC,GAAG,IAAI;IAIjE;;;;;OAKG;IACH,MAAM,CAAC,iBAAiB,CAAC,SAAS,SAAS,gBAAgB,EACzD,YAAY,EAAE,SAAS,EACvB,OAAO,EAAE,4BAA4B,CAAC,SAAS,CAAC,GAC/C,WAAW;IAYd;;;OAGG;IACH,MAAM,CAAC,YAAY,IAAI,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAI5D;;;OAGG;IACH,MAAM,CAAC,qBAAqB,IAAI,MAAM,EAAE;IAIxC;;;;OAIG;IACH,MAAM,CAAC,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,EAAE;IAKzD;;OAEG;IACH,MAAM,CAAC,uBAAuB,CAC5B,YAAY,EAAE,MAAM,EACpB,KAAK,CAAC,EAAE,MAAM,GACb,wBAAwB,GAAG,SAAS;IAoDvC;;OAEG;IACH,MAAM,CAAC,0BAA0B,IAAI,wBAAwB,EAAE;IAS/D;;OAEG;IACH,MAAM,CAAC,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,kBAAkB;IAKtE;;OAEG;IACH,MAAM,CAAC,6BAA6B,CAClC,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,GACZ,kBAAkB;CAkBtB"}
@@ -1,4 +1,5 @@
1
1
  import { DEFAULT_CHAT_SERVICE_PROVIDERS } from './providers';
2
+ import { MODEL_GPT_6_ASTRA, MODEL_GPT_6_LUNA, MODEL_GPT_6_SOL, } from '../constants/openai';
2
3
  import { getClaudeSupportedReasoningEfforts } from '../constants/claude';
3
4
  import { getGeminiSupportedReasoningEfforts } from '../constants/gemini';
4
5
  import { getKimiSupportedReasoningEfforts } from '../constants/kimi';
@@ -93,21 +94,28 @@ export class ChatServiceFactory {
93
94
  mcp: MCP_SUPPORTED_PROVIDERS.has(providerName),
94
95
  jsonMode: JSON_MODE_SUPPORTED_PROVIDERS.has(providerName),
95
96
  responseLength: true,
96
- reasoningEffort: providerName === 'claude' && model
97
- ? [...getClaudeSupportedReasoningEfforts(model)]
98
- : providerName === 'gemini' && model
99
- ? [...getGeminiSupportedReasoningEfforts(model)]
100
- : providerName === 'kimi' && model
101
- ? [...getKimiSupportedReasoningEfforts(model)]
102
- : providerName === 'deepseek' && model
103
- ? [...getDeepSeekSupportedReasoningEfforts(model)]
104
- : providerName === 'openrouter' && model
105
- ? [...getOpenRouterSupportedReasoningEfforts(model)]
106
- : providerName === 'xai' && model
107
- ? [...getXaiSupportedReasoningEfforts(model)]
108
- : providerName === 'zai' && model
109
- ? [...getZaiSupportedReasoningEfforts(model)]
110
- : (REASONING_EFFORT_BY_PROVIDER[providerName] ?? []),
97
+ reasoningEffort: providerName === 'openai' && model === MODEL_GPT_6_ASTRA
98
+ ? ['low', 'medium', 'high', 'xhigh', 'max']
99
+ : providerName === 'openai' && model === MODEL_GPT_6_SOL
100
+ ? ['none', 'low', 'medium', 'high', 'xhigh', 'max']
101
+ : providerName === 'openai' && model === MODEL_GPT_6_LUNA
102
+ ? ['none', 'low', 'medium', 'high', 'xhigh', 'max']
103
+ : providerName === 'claude' && model
104
+ ? [...getClaudeSupportedReasoningEfforts(model)]
105
+ : providerName === 'gemini' && model
106
+ ? [...getGeminiSupportedReasoningEfforts(model)]
107
+ : providerName === 'kimi' && model
108
+ ? [...getKimiSupportedReasoningEfforts(model)]
109
+ : providerName === 'deepseek' && model
110
+ ? [...getDeepSeekSupportedReasoningEfforts(model)]
111
+ : providerName === 'openrouter' && model
112
+ ? [...getOpenRouterSupportedReasoningEfforts(model)]
113
+ : providerName === 'xai' && model
114
+ ? [...getXaiSupportedReasoningEfforts(model)]
115
+ : providerName === 'zai' && model
116
+ ? [...getZaiSupportedReasoningEfforts(model)]
117
+ : (REASONING_EFFORT_BY_PROVIDER[providerName] ??
118
+ []),
111
119
  };
112
120
  }
113
121
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"ChatServiceFactory.js","sourceRoot":"","sources":["../../../src/services/ChatServiceFactory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChatServiceFactory.js","sourceRoot":"","sources":["../../../src/services/ChatServiceFactory.ts"],"names":[],"mappings":"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"}
@@ -125,6 +125,8 @@ export type GeminiNanoChatServiceOptions = {
125
125
  expectedInputLanguages?: string[];
126
126
  /** Expected output languages for the Prompt API (default: ['ja']) */
127
127
  expectedOutputLanguages?: string[];
128
+ /** Session reuse mode (default: 'stateless') */
129
+ sessionMode?: 'stateless' | 'persistent';
128
130
  };
129
131
  export type ChatServiceOptions<TExtra extends Record<string, unknown> = Record<string, unknown>> = BaseChatServiceOptions & TExtra;
130
132
  export type ChatServiceOptionsByProvider = {
@@ -1 +1 @@
1
- {"version":3,"file":"ChatServiceProvider.d.ts","sourceRoot":"","sources":["../../../../src/services/providers/ChatServiceProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChatServiceProvider.d.ts","sourceRoot":"","sources":["../../../../src/services/providers/ChatServiceProvider.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ClaudeChatServiceProvider.d.ts","sourceRoot":"","sources":["../../../../../src/services/providers/claude/ClaudeChatServiceProvider.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,OAAO,EACL,wBAAwB,EACxB,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,wBAAwB,CAAC;AAGhC;;GAEG;AACH,qBAAa,yBACX,YAAW,mBAAmB,CAAC,wBAAwB,CAAC;IAExD;;;;OAIG;IACH,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,GAAG,WAAW;IAsCjE;;;OAGG;IACH,eAAe,IAAI,MAAM;IAIzB;;;OAGG;IACH,kBAAkB,IAAI,MAAM,EAAE;IAe9B;;;OAGG;IACH,eAAe,IAAI,MAAM;IAIzB;;;OAGG;IACH,cAAc,IAAI,OAAO;IAIzB,qBAAqB,IAAI,kBAAkB;IAI3C;;;;OAIG;IACH,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAI9C,6BAA6B,CAAC,KAAK,EAAE,MAAM,GAAG,kBAAkB;CAGjE"}
1
+ {"version":3,"file":"ClaudeChatServiceProvider.d.ts","sourceRoot":"","sources":["../../../../../src/services/providers/claude/ClaudeChatServiceProvider.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,OAAO,EACL,wBAAwB,EACxB,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,wBAAwB,CAAC;AAGhC;;GAEG;AACH,qBAAa,yBACX,YAAW,mBAAmB,CAAC,wBAAwB,CAAC;IAExD;;;;OAIG;IACH,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,GAAG,WAAW;IAsCjE;;;OAGG;IACH,eAAe,IAAI,MAAM;IAIzB;;;OAGG;IACH,kBAAkB,IAAI,MAAM,EAAE;IAiB9B;;;OAGG;IACH,eAAe,IAAI,MAAM;IAIzB;;;OAGG;IACH,cAAc,IAAI,OAAO;IAIzB,qBAAqB,IAAI,kBAAkB;IAI3C;;;;OAIG;IACH,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAI9C,6BAA6B,CAAC,KAAK,EAAE,MAAM,GAAG,kBAAkB;CAGjE"}
@@ -1,4 +1,4 @@
1
- import { MODEL_CLAUDE_4_5_SONNET, MODEL_CLAUDE_4_5_HAIKU, MODEL_CLAUDE_4_5_OPUS, MODEL_CLAUDE_4_6_SONNET, MODEL_CLAUDE_4_6_OPUS, MODEL_CLAUDE_4_7_OPUS, MODEL_CLAUDE_4_8_OPUS, MODEL_CLAUDE_5_FABLE, MODEL_CLAUDE_5_SONNET, MODEL_CLAUDE_5_OPUS, CLAUDE_VISION_SUPPORTED_MODELS, getClaudeSupportedReasoningEfforts, } from '../../../constants';
1
+ import { MODEL_CLAUDE_4_5_SONNET, MODEL_CLAUDE_4_5_HAIKU, MODEL_CLAUDE_4_5_OPUS, MODEL_CLAUDE_4_6_SONNET, MODEL_CLAUDE_4_6_OPUS, MODEL_CLAUDE_4_7_OPUS, MODEL_CLAUDE_4_8_OPUS, MODEL_CLAUDE_5_1_FABLE, MODEL_CLAUDE_5_FABLE, MODEL_CLAUDE_5_SONNET, MODEL_CLAUDE_5_OPUS, MODEL_CLAUDE_5_5_OPUS, CLAUDE_VISION_SUPPORTED_MODELS, getClaudeSupportedReasoningEfforts, } from '../../../constants';
2
2
  import { ClaudeChatService } from './ClaudeChatService';
3
3
  import { resolveVisionModel } from '../../../utils';
4
4
  /**
@@ -52,9 +52,11 @@ export class ClaudeChatServiceProvider {
52
52
  MODEL_CLAUDE_4_6_OPUS,
53
53
  MODEL_CLAUDE_4_7_OPUS,
54
54
  MODEL_CLAUDE_4_8_OPUS,
55
+ MODEL_CLAUDE_5_1_FABLE,
55
56
  MODEL_CLAUDE_5_FABLE,
56
57
  MODEL_CLAUDE_5_SONNET,
57
58
  MODEL_CLAUDE_5_OPUS,
59
+ MODEL_CLAUDE_5_5_OPUS,
58
60
  ];
59
61
  }
60
62
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"ClaudeChatServiceProvider.js","sourceRoot":"","sources":["../../../../../src/services/providers/claude/ClaudeChatServiceProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,EACvB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,8BAA8B,EAC9B,kCAAkC,GACnC,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAOxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEpD;;GAEG;AACH,MAAM,OAAO,yBAAyB;IAGpC;;;;OAIG;IACH,iBAAiB,CAAC,OAAiC;QACjD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;QACtD,MAAM,yBAAyB,GAAG,kCAAkC,CAAC,KAAK,CAAC,CAAC;QAC5E,IACE,OAAO,CAAC,gBAAgB,KAAK,SAAS;YACtC,CAAC,yBAAyB,CAAC,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAC7D,CAAC;YACD,MAAM,gBAAgB,GACpB,yBAAyB,CAAC,MAAM,GAAG,CAAC;gBAClC,CAAC,CAAC,qBAAqB,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;gBAC9D,CAAC,CAAC,iDAAiD,CAAC;YACxD,MAAM,IAAI,KAAK,CACb,SAAS,KAAK,6CAA6C;gBACzD,GAAG,OAAO,CAAC,gBAAgB,KAAK,gBAAgB,EAAE,CACrD,CAAC;QACJ,CAAC;QAED,gFAAgF;QAChF,MAAM,WAAW,GAAG,kBAAkB,CAAC;YACrC,KAAK;YACL,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,YAAY,EAAE,IAAI,CAAC,eAAe,EAAE;YACpC,kBAAkB,EAAE,IAAI,CAAC,eAAe,EAAE;YAC1C,sBAAsB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC;YACrE,QAAQ,EAAE,UAAU;SACrB,CAAC,CAAC;QAEH,OAAO,IAAI,iBAAiB,CAC1B,OAAO,CAAC,MAAM,EACd,KAAK,EACL,WAAW,EACX,OAAO,CAAC,KAAK,IAAI,EAAE,EACnB,OAAO,CAAC,UAAU,IAAI,EAAE,EACxB,OAAO,CAAC,cAAc,EACtB,OAAO,CAAC,gBAAgB,CACzB,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,eAAe;QACb,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;OAGG;IACH,kBAAkB;QAChB,OAAO;YACL,uBAAuB;YACvB,sBAAsB;YACtB,qBAAqB;YACrB,uBAAuB;YACvB,qBAAqB;YACrB,qBAAqB;YACrB,qBAAqB;YACrB,oBAAoB;YACpB,qBAAqB;YACrB,mBAAmB;SACpB,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,eAAe;QACb,OAAO,sBAAsB,CAAC;IAChC,CAAC;IAED;;;OAGG;IACH,cAAc;QACZ,OAAO,IAAI,CAAC,qBAAqB,EAAE,KAAK,aAAa,CAAC;IACxD,CAAC;IAED,qBAAqB;QACnB,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;;;OAIG;IACH,sBAAsB,CAAC,KAAa;QAClC,OAAO,8BAA8B,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxD,CAAC;IAED,6BAA6B,CAAC,KAAa;QACzC,OAAO,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC;IAC1E,CAAC;CACF"}
1
+ {"version":3,"file":"ClaudeChatServiceProvider.js","sourceRoot":"","sources":["../../../../../src/services/providers/claude/ClaudeChatServiceProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,EACvB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,8BAA8B,EAC9B,kCAAkC,GACnC,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAOxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEpD;;GAEG;AACH,MAAM,OAAO,yBAAyB;IAGpC;;;;OAIG;IACH,iBAAiB,CAAC,OAAiC;QACjD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;QACtD,MAAM,yBAAyB,GAAG,kCAAkC,CAAC,KAAK,CAAC,CAAC;QAC5E,IACE,OAAO,CAAC,gBAAgB,KAAK,SAAS;YACtC,CAAC,yBAAyB,CAAC,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAC7D,CAAC;YACD,MAAM,gBAAgB,GACpB,yBAAyB,CAAC,MAAM,GAAG,CAAC;gBAClC,CAAC,CAAC,qBAAqB,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;gBAC9D,CAAC,CAAC,iDAAiD,CAAC;YACxD,MAAM,IAAI,KAAK,CACb,SAAS,KAAK,6CAA6C;gBACzD,GAAG,OAAO,CAAC,gBAAgB,KAAK,gBAAgB,EAAE,CACrD,CAAC;QACJ,CAAC;QAED,gFAAgF;QAChF,MAAM,WAAW,GAAG,kBAAkB,CAAC;YACrC,KAAK;YACL,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,YAAY,EAAE,IAAI,CAAC,eAAe,EAAE;YACpC,kBAAkB,EAAE,IAAI,CAAC,eAAe,EAAE;YAC1C,sBAAsB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC;YACrE,QAAQ,EAAE,UAAU;SACrB,CAAC,CAAC;QAEH,OAAO,IAAI,iBAAiB,CAC1B,OAAO,CAAC,MAAM,EACd,KAAK,EACL,WAAW,EACX,OAAO,CAAC,KAAK,IAAI,EAAE,EACnB,OAAO,CAAC,UAAU,IAAI,EAAE,EACxB,OAAO,CAAC,cAAc,EACtB,OAAO,CAAC,gBAAgB,CACzB,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,eAAe;QACb,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;OAGG;IACH,kBAAkB;QAChB,OAAO;YACL,uBAAuB;YACvB,sBAAsB;YACtB,qBAAqB;YACrB,uBAAuB;YACvB,qBAAqB;YACrB,qBAAqB;YACrB,qBAAqB;YACrB,sBAAsB;YACtB,oBAAoB;YACpB,qBAAqB;YACrB,mBAAmB;YACnB,qBAAqB;SACtB,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,eAAe;QACb,OAAO,sBAAsB,CAAC;IAChC,CAAC;IAED;;;OAGG;IACH,cAAc;QACZ,OAAO,IAAI,CAAC,qBAAqB,EAAE,KAAK,aAAa,CAAC;IACxD,CAAC;IAED,qBAAqB;QACnB,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;;;OAIG;IACH,sBAAsB,CAAC,KAAa;QAClC,OAAO,8BAA8B,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxD,CAAC;IAED,6BAA6B,CAAC,KAAa;QACzC,OAAO,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC;IAC1E,CAAC;CACF"}
@@ -13,22 +13,43 @@ export declare class GeminiNanoChatService implements ChatService {
13
13
  private expectedOutputLanguages;
14
14
  private initialPrompts;
15
15
  private _responseLength?;
16
+ private sessionMode;
17
+ private baseSession?;
18
+ private liveSession?;
19
+ private persistentSessionKey?;
20
+ private consumedTranscript;
16
21
  constructor(options?: GeminiNanoChatServiceOptions);
17
22
  getModel(): string;
18
23
  getVisionModel(): string;
24
+ /** Destroy any persistent Prompt API sessions held by this service. */
25
+ dispose(): void;
19
26
  /**
20
27
  * Process chat messages using Gemini Nano.
21
- * Non-streaming: calls onPartialResponse once with the full response,
22
- * then calls onCompleteResponse.
28
+ * Streams response deltas when Chrome exposes promptStreaming(), then calls
29
+ * onCompleteResponse with the complete response.
23
30
  */
24
31
  processChat(messages: Message[], onPartialResponse: (text: string) => void, onCompleteResponse: (text: string) => Promise<void>): Promise<void>;
25
32
  processVisionChat(_messages: MessageWithVision[], _onPartialResponse: (text: string) => void, _onCompleteResponse: (text: string) => Promise<void>): Promise<void>;
26
- chatOnce(messages: Message[], _stream?: boolean, onPartialResponse?: (text: string) => void, _maxTokens?: number): Promise<ToolChatCompletion>;
33
+ chatOnce(messages: Message[], stream?: boolean, onPartialResponse?: (text: string) => void, _maxTokens?: number): Promise<ToolChatCompletion>;
27
34
  visionChatOnce(_messages: MessageWithVision[], _stream?: boolean, _onPartialResponse?: (text: string) => void, _maxTokens?: number): Promise<ToolChatCompletion>;
28
35
  /**
29
36
  * Core logic: extract system prompt, manage session, call prompt().
30
37
  */
31
38
  private generateResponse;
39
+ private generatePersistentResponse;
40
+ private ensureAvailability;
41
+ private createPersistentBaseSession;
42
+ private getPersistentLiveSession;
43
+ private createPersistentBaseSessionWithHistory;
44
+ private recordConsumedTranscript;
45
+ private getPersistentSessionKey;
46
+ private isHistoryCompatible;
47
+ private isSuffix;
48
+ private isQuotaExceededError;
49
+ private destroyPersistentLiveSession;
50
+ private destroyPersistentSessions;
51
+ private destroySession;
52
+ private promptSession;
32
53
  /**
33
54
  * Create a new LanguageModel session with structured initial prompts.
34
55
  * System instructions, few-shot examples, and conversation history retain
@@ -1 +1 @@
1
- {"version":3,"file":"GeminiNanoChatService.d.ts","sourceRoot":"","sources":["../../../../../src/services/providers/geminiNano/GeminiNanoChatService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAU7D,OAAO,KAAK,EACV,4BAA4B,EAE7B,MAAM,wBAAwB,CAAC;AAyChC;;;;GAIG;AACH,qBAAa,qBAAsB,YAAW,WAAW;IACvD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAiB;IAE1C,OAAO,CAAC,sBAAsB,CAAW;IACzC,OAAO,CAAC,uBAAuB,CAAW;IAC1C,OAAO,CAAC,cAAc,CAA4B;IAClD,OAAO,CAAC,eAAe,CAAC,CAAqB;gBAEjC,OAAO,GAAE,4BAAiC;IAYtD,QAAQ,IAAI,MAAM;IAIlB,cAAc,IAAI,MAAM;IAIxB;;;;OAIG;IACG,WAAW,CACf,QAAQ,EAAE,OAAO,EAAE,EACnB,iBAAiB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EACzC,kBAAkB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAClD,OAAO,CAAC,IAAI,CAAC;IAMV,iBAAiB,CACrB,SAAS,EAAE,iBAAiB,EAAE,EAC9B,kBAAkB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EAC1C,mBAAmB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GACnD,OAAO,CAAC,IAAI,CAAC;IAIV,QAAQ,CACZ,QAAQ,EAAE,OAAO,EAAE,EACnB,OAAO,GAAE,OAAe,EACxB,iBAAiB,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAe,EACpD,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,kBAAkB,CAAC;IAUxB,cAAc,CAClB,SAAS,EAAE,iBAAiB,EAAE,EAC9B,OAAO,GAAE,OAAe,EACxB,kBAAkB,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAe,EACrD,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,kBAAkB,CAAC;IAI9B;;OAEG;YACW,gBAAgB;IAuD9B;;;;OAIG;YACW,aAAa;IAkB3B,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,mBAAmB;IA+B3B,OAAO,CAAC,wBAAwB;IAUhC,OAAO,CAAC,iBAAiB;IAezB,OAAO,CAAC,4BAA4B;CAsDrC"}
1
+ {"version":3,"file":"GeminiNanoChatService.d.ts","sourceRoot":"","sources":["../../../../../src/services/providers/geminiNano/GeminiNanoChatService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAU7D,OAAO,KAAK,EACV,4BAA4B,EAE7B,MAAM,wBAAwB,CAAC;AA2ChC;;;;GAIG;AACH,qBAAa,qBAAsB,YAAW,WAAW;IACvD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAiB;IAE1C,OAAO,CAAC,sBAAsB,CAAW;IACzC,OAAO,CAAC,uBAAuB,CAAW;IAC1C,OAAO,CAAC,cAAc,CAA4B;IAClD,OAAO,CAAC,eAAe,CAAC,CAAqB;IAC7C,OAAO,CAAC,WAAW,CAA6B;IAChD,OAAO,CAAC,WAAW,CAAC,CAAuB;IAC3C,OAAO,CAAC,WAAW,CAAC,CAAuB;IAC3C,OAAO,CAAC,oBAAoB,CAAC,CAAS;IACtC,OAAO,CAAC,kBAAkB,CAAiB;gBAE/B,OAAO,GAAE,4BAAiC;IAatD,QAAQ,IAAI,MAAM;IAIlB,cAAc,IAAI,MAAM;IAIxB,uEAAuE;IACvE,OAAO,IAAI,IAAI;IAIf;;;;OAIG;IACG,WAAW,CACf,QAAQ,EAAE,OAAO,EAAE,EACnB,iBAAiB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EACzC,kBAAkB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAClD,OAAO,CAAC,IAAI,CAAC;IASV,iBAAiB,CACrB,SAAS,EAAE,iBAAiB,EAAE,EAC9B,kBAAkB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EAC1C,mBAAmB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GACnD,OAAO,CAAC,IAAI,CAAC;IAIV,QAAQ,CACZ,QAAQ,EAAE,OAAO,EAAE,EACnB,MAAM,GAAE,OAAe,EACvB,iBAAiB,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAe,EACpD,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,kBAAkB,CAAC;IAaxB,cAAc,CAClB,SAAS,EAAE,iBAAiB,EAAE,EAC9B,OAAO,GAAE,OAAe,EACxB,kBAAkB,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAe,EACrD,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,kBAAkB,CAAC;IAI9B;;OAEG;YACW,gBAAgB;YAyEhB,0BAA0B;YAkF1B,kBAAkB;YAclB,2BAA2B;YA6B3B,wBAAwB;YAyDxB,sCAAsC;IAkBpD,OAAO,CAAC,wBAAwB;IAgBhC,OAAO,CAAC,uBAAuB;IAY/B,OAAO,CAAC,mBAAmB;IAQ3B,OAAO,CAAC,QAAQ;IAUhB,OAAO,CAAC,oBAAoB;IAS5B,OAAO,CAAC,4BAA4B;IAWpC,OAAO,CAAC,yBAAyB;IAajC,OAAO,CAAC,cAAc;YAQR,aAAa;IAkC3B;;;;OAIG;YACW,aAAa;IAkB3B,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,mBAAmB;IA+B3B,OAAO,CAAC,wBAAwB;IAUhC,OAAO,CAAC,iBAAiB;IAezB,OAAO,CAAC,4BAA4B;CAsDrC"}
@@ -18,6 +18,7 @@ function getLanguageModelAPI() {
18
18
  export class GeminiNanoChatService {
19
19
  constructor(options = {}) {
20
20
  this.provider = 'gemini-nano';
21
+ this.consumedTranscript = [];
21
22
  this.expectedInputLanguages = options.expectedInputLanguages ?? [
22
23
  'ja',
23
24
  'en',
@@ -27,6 +28,7 @@ export class GeminiNanoChatService {
27
28
  ...prompt,
28
29
  }));
29
30
  this._responseLength = options.responseLength;
31
+ this.sessionMode = options.sessionMode ?? 'stateless';
30
32
  }
31
33
  getModel() {
32
34
  return MODEL_GEMINI_NANO;
@@ -34,22 +36,24 @@ export class GeminiNanoChatService {
34
36
  getVisionModel() {
35
37
  return MODEL_GEMINI_NANO;
36
38
  }
39
+ /** Destroy any persistent Prompt API sessions held by this service. */
40
+ dispose() {
41
+ this.destroyPersistentSessions();
42
+ }
37
43
  /**
38
44
  * Process chat messages using Gemini Nano.
39
- * Non-streaming: calls onPartialResponse once with the full response,
40
- * then calls onCompleteResponse.
45
+ * Streams response deltas when Chrome exposes promptStreaming(), then calls
46
+ * onCompleteResponse with the complete response.
41
47
  */
42
48
  async processChat(messages, onPartialResponse, onCompleteResponse) {
43
- const response = await this.generateResponse(messages);
44
- onPartialResponse(response);
49
+ const response = await this.generateResponse(messages, true, onPartialResponse);
45
50
  await onCompleteResponse(response);
46
51
  }
47
52
  async processVisionChat(_messages, _onPartialResponse, _onCompleteResponse) {
48
53
  throw new Error('Gemini Nano does not support vision capabilities.');
49
54
  }
50
- async chatOnce(messages, _stream = false, onPartialResponse = () => { }, _maxTokens) {
51
- const response = await this.generateResponse(messages);
52
- onPartialResponse(response);
55
+ async chatOnce(messages, stream = false, onPartialResponse = () => { }, _maxTokens) {
56
+ const response = await this.generateResponse(messages, stream, onPartialResponse);
53
57
  return {
54
58
  blocks: [{ type: 'text', text: response }],
55
59
  stop_reason: 'end',
@@ -61,18 +65,15 @@ export class GeminiNanoChatService {
61
65
  /**
62
66
  * Core logic: extract system prompt, manage session, call prompt().
63
67
  */
64
- async generateResponse(messages) {
68
+ async generateResponse(messages, stream, onPartialResponse) {
65
69
  const api = getLanguageModelAPI();
66
70
  if (!api) {
67
71
  throw new Error('Gemini Nano is not available in this environment. ' +
68
72
  'Chrome 148+ on a supported desktop device is required for web pages.');
69
73
  }
70
74
  const modelOptions = this.getModelOptions();
71
- const availability = await api.availability(modelOptions);
72
- if (availability !== 'available' && availability !== 'downloadable') {
73
- throw new Error('Gemini Nano Prompt API is not ready in this environment. ' +
74
- `LanguageModel.availability() returned "${availability}". ` +
75
- 'Expected "available" or "downloadable".');
75
+ if (this.sessionMode === 'stateless') {
76
+ await this.ensureAvailability(api, modelOptions);
76
77
  }
77
78
  // Extract system prompt
78
79
  const systemMessages = messages.filter((m) => m.role === 'system');
@@ -87,9 +88,13 @@ export class GeminiNanoChatService {
87
88
  throw new Error('No user message found in the provided messages.');
88
89
  }
89
90
  const lastUserMessage = conversationMessages[lastUserMessageIndex];
90
- const session = await this.createSession(api, systemPrompt, conversationMessages.slice(0, lastUserMessageIndex), modelOptions);
91
+ const contextHistory = conversationMessages.slice(0, lastUserMessageIndex);
92
+ if (this.sessionMode === 'persistent') {
93
+ return this.generatePersistentResponse(api, systemPrompt, contextHistory, lastUserMessage.content, modelOptions, stream, onPartialResponse);
94
+ }
95
+ const session = await this.createSession(api, systemPrompt, contextHistory, modelOptions);
91
96
  try {
92
- return await session.prompt(lastUserMessage.content);
97
+ return await this.promptSession(session, lastUserMessage.content, stream, onPartialResponse);
93
98
  }
94
99
  finally {
95
100
  try {
@@ -100,6 +105,197 @@ export class GeminiNanoChatService {
100
105
  }
101
106
  }
102
107
  }
108
+ async generatePersistentResponse(api, systemPrompt, contextHistory, userPrompt, modelOptions, stream, onPartialResponse) {
109
+ const sessionKey = this.getPersistentSessionKey(systemPrompt, modelOptions);
110
+ if (this.persistentSessionKey !== sessionKey) {
111
+ this.destroyPersistentSessions();
112
+ }
113
+ if (!this.baseSession && !this.liveSession) {
114
+ await this.ensureAvailability(api, modelOptions);
115
+ await this.createPersistentBaseSession(api, systemPrompt, contextHistory, modelOptions);
116
+ this.persistentSessionKey = sessionKey;
117
+ }
118
+ let session = await this.getPersistentLiveSession(api, systemPrompt, contextHistory, modelOptions);
119
+ const reusedLiveSession = session === this.liveSession &&
120
+ this.isHistoryCompatible(contextHistory, this.consumedTranscript);
121
+ this.persistentSessionKey = sessionKey;
122
+ try {
123
+ const response = await this.promptSession(session, userPrompt, stream, onPartialResponse);
124
+ this.recordConsumedTranscript(contextHistory, userPrompt, response, reusedLiveSession);
125
+ return response;
126
+ }
127
+ catch (error) {
128
+ if (!this.isQuotaExceededError(error)) {
129
+ this.destroyPersistentLiveSession();
130
+ throw error;
131
+ }
132
+ this.destroyPersistentLiveSession();
133
+ session = await this.getPersistentLiveSession(api, systemPrompt, [], modelOptions);
134
+ this.persistentSessionKey = sessionKey;
135
+ try {
136
+ const response = await this.promptSession(session, userPrompt, stream, onPartialResponse);
137
+ this.recordConsumedTranscript([], userPrompt, response, false);
138
+ return response;
139
+ }
140
+ catch (retryError) {
141
+ this.destroyPersistentLiveSession();
142
+ throw retryError;
143
+ }
144
+ }
145
+ }
146
+ async ensureAvailability(api, modelOptions) {
147
+ const availability = await api.availability(modelOptions);
148
+ if (availability !== 'available' && availability !== 'downloadable') {
149
+ throw new Error('Gemini Nano Prompt API is not ready in this environment. ' +
150
+ `LanguageModel.availability() returned "${availability}". ` +
151
+ 'Expected "available" or "downloadable".');
152
+ }
153
+ }
154
+ async createPersistentBaseSession(api, systemPrompt, contextHistory, modelOptions) {
155
+ this.baseSession = await this.createSession(api, systemPrompt, [], modelOptions);
156
+ if (contextHistory.length > 0) {
157
+ this.liveSession = await this.createSession(api, systemPrompt, contextHistory, modelOptions);
158
+ this.consumedTranscript = contextHistory.map((message) => ({
159
+ ...message,
160
+ }));
161
+ }
162
+ else if (typeof this.baseSession.clone === 'function') {
163
+ this.liveSession = await this.baseSession.clone();
164
+ }
165
+ else {
166
+ this.liveSession = this.baseSession;
167
+ }
168
+ }
169
+ async getPersistentLiveSession(api, systemPrompt, contextHistory, modelOptions) {
170
+ if (this.liveSession &&
171
+ this.isHistoryCompatible(contextHistory, this.consumedTranscript)) {
172
+ return this.liveSession;
173
+ }
174
+ if (this.liveSession && this.liveSession !== this.baseSession) {
175
+ this.destroyPersistentLiveSession();
176
+ }
177
+ if (contextHistory.length === 0 && this.baseSession) {
178
+ if (typeof this.baseSession.clone === 'function') {
179
+ this.liveSession = await this.baseSession.clone();
180
+ }
181
+ else {
182
+ if (this.consumedTranscript.length > 0) {
183
+ this.destroyPersistentSessions();
184
+ await this.createPersistentBaseSession(api, systemPrompt, [], modelOptions);
185
+ return this.liveSession;
186
+ }
187
+ this.liveSession = this.baseSession;
188
+ }
189
+ return this.liveSession;
190
+ }
191
+ if (this.baseSession && typeof this.baseSession.clone === 'function') {
192
+ this.liveSession = await this.createSession(api, systemPrompt, contextHistory, modelOptions);
193
+ return this.liveSession;
194
+ }
195
+ this.destroyPersistentSessions();
196
+ await this.ensureAvailability(api, modelOptions);
197
+ await this.createPersistentBaseSessionWithHistory(api, systemPrompt, contextHistory, modelOptions);
198
+ return this.liveSession;
199
+ }
200
+ async createPersistentBaseSessionWithHistory(api, systemPrompt, contextHistory, modelOptions) {
201
+ this.baseSession = await this.createSession(api, systemPrompt, contextHistory, modelOptions);
202
+ this.liveSession = this.baseSession;
203
+ this.consumedTranscript = contextHistory.map((message) => ({
204
+ ...message,
205
+ }));
206
+ }
207
+ recordConsumedTranscript(contextHistory, userPrompt, response, reusedLiveSession) {
208
+ const priorTranscript = reusedLiveSession
209
+ ? this.consumedTranscript
210
+ : contextHistory;
211
+ this.consumedTranscript = [
212
+ ...priorTranscript,
213
+ { role: 'user', content: userPrompt },
214
+ { role: 'assistant', content: response },
215
+ ];
216
+ }
217
+ getPersistentSessionKey(systemPrompt, modelOptions) {
218
+ return JSON.stringify({
219
+ systemPrompt,
220
+ modelOptions,
221
+ initialPrompts: this.initialPrompts,
222
+ responseLength: this._responseLength,
223
+ });
224
+ }
225
+ isHistoryCompatible(left, right) {
226
+ if (left.length === 0 || right.length === 0) {
227
+ return left.length === 0 && right.length === 0;
228
+ }
229
+ return this.isSuffix(left, right) || this.isSuffix(right, left);
230
+ }
231
+ isSuffix(candidate, full) {
232
+ if (candidate.length > full.length)
233
+ return false;
234
+ const offset = full.length - candidate.length;
235
+ return candidate.every((message, index) => message.role === full[offset + index].role &&
236
+ message.content === full[offset + index].content);
237
+ }
238
+ isQuotaExceededError(error) {
239
+ return (typeof error === 'object' &&
240
+ error !== null &&
241
+ 'name' in error &&
242
+ error.name === 'QuotaExceededError');
243
+ }
244
+ destroyPersistentLiveSession() {
245
+ if (this.liveSession) {
246
+ this.destroySession(this.liveSession);
247
+ if (this.liveSession === this.baseSession) {
248
+ this.baseSession = undefined;
249
+ }
250
+ }
251
+ this.liveSession = undefined;
252
+ this.consumedTranscript = [];
253
+ }
254
+ destroyPersistentSessions() {
255
+ if (this.liveSession && this.liveSession !== this.baseSession) {
256
+ this.destroySession(this.liveSession);
257
+ }
258
+ if (this.baseSession) {
259
+ this.destroySession(this.baseSession);
260
+ }
261
+ this.baseSession = undefined;
262
+ this.liveSession = undefined;
263
+ this.persistentSessionKey = undefined;
264
+ this.consumedTranscript = [];
265
+ }
266
+ destroySession(session) {
267
+ try {
268
+ session.destroy();
269
+ }
270
+ catch {
271
+ // ignore
272
+ }
273
+ }
274
+ async promptSession(session, prompt, stream, onPartialResponse) {
275
+ if (stream && typeof session.promptStreaming === 'function') {
276
+ const reader = session.promptStreaming(prompt).getReader();
277
+ let response = '';
278
+ let streamMode = 'unknown';
279
+ while (true) {
280
+ const { done, value } = await reader.read();
281
+ if (done)
282
+ break;
283
+ const chunk = String(value ?? '');
284
+ if (streamMode === 'unknown' && response !== '') {
285
+ streamMode = chunk.startsWith(response) ? 'cumulative' : 'delta';
286
+ }
287
+ const isCumulative = streamMode === 'cumulative';
288
+ const delta = isCumulative ? chunk.slice(response.length) : chunk;
289
+ response = isCumulative ? chunk : response + chunk;
290
+ if (delta)
291
+ onPartialResponse(delta);
292
+ }
293
+ return response;
294
+ }
295
+ const response = await session.prompt(prompt);
296
+ onPartialResponse(response);
297
+ return response;
298
+ }
103
299
  /**
104
300
  * Create a new LanguageModel session with structured initial prompts.
105
301
  * System instructions, few-shot examples, and conversation history retain