@vybestack/llxprt-code-core 0.4.8 → 0.5.0-nightly.251102.e5b51aa3

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 (213) hide show
  1. package/dist/prompt-config/defaults/default-prompts.json +4 -17
  2. package/dist/src/auth/precedence.d.ts +69 -9
  3. package/dist/src/auth/precedence.js +467 -69
  4. package/dist/src/auth/precedence.js.map +1 -1
  5. package/dist/src/auth/types.d.ts +2 -2
  6. package/dist/src/config/config.d.ts +15 -1
  7. package/dist/src/config/config.js +118 -6
  8. package/dist/src/config/config.js.map +1 -1
  9. package/dist/src/config/index.d.ts +6 -0
  10. package/dist/src/config/index.js +5 -0
  11. package/dist/src/config/index.js.map +1 -1
  12. package/dist/src/config/profileManager.d.ts +23 -3
  13. package/dist/src/config/profileManager.js +54 -7
  14. package/dist/src/config/profileManager.js.map +1 -1
  15. package/dist/src/config/subagentManager.d.ts +96 -0
  16. package/dist/src/config/subagentManager.js +371 -0
  17. package/dist/src/config/subagentManager.js.map +1 -0
  18. package/dist/src/config/types.d.ts +18 -0
  19. package/dist/src/config/types.js +3 -0
  20. package/dist/src/config/types.js.map +1 -0
  21. package/dist/src/core/client.d.ts +27 -7
  22. package/dist/src/core/client.js +231 -55
  23. package/dist/src/core/client.js.map +1 -1
  24. package/dist/src/core/contentGenerator.d.ts +3 -1
  25. package/dist/src/core/contentGenerator.js +3 -0
  26. package/dist/src/core/contentGenerator.js.map +1 -1
  27. package/dist/src/core/coreToolScheduler.d.ts +1 -5
  28. package/dist/src/core/coreToolScheduler.js +95 -23
  29. package/dist/src/core/coreToolScheduler.js.map +1 -1
  30. package/dist/src/core/geminiChat.d.ts +42 -12
  31. package/dist/src/core/geminiChat.js +405 -205
  32. package/dist/src/core/geminiChat.js.map +1 -1
  33. package/dist/src/core/nonInteractiveToolExecutor.d.ts +3 -2
  34. package/dist/src/core/nonInteractiveToolExecutor.js +94 -10
  35. package/dist/src/core/nonInteractiveToolExecutor.js.map +1 -1
  36. package/dist/src/core/subagent.d.ts +86 -7
  37. package/dist/src/core/subagent.js +809 -79
  38. package/dist/src/core/subagent.js.map +1 -1
  39. package/dist/src/core/subagentOrchestrator.d.ts +73 -0
  40. package/dist/src/core/subagentOrchestrator.js +387 -0
  41. package/dist/src/core/subagentOrchestrator.js.map +1 -0
  42. package/dist/src/core/subagentScheduler.d.ts +16 -0
  43. package/dist/src/core/subagentScheduler.js +7 -0
  44. package/dist/src/core/subagentScheduler.js.map +1 -0
  45. package/dist/src/core/turn.d.ts +5 -1
  46. package/dist/src/core/turn.js +5 -1
  47. package/dist/src/core/turn.js.map +1 -1
  48. package/dist/src/hooks/tool-render-suppression-hook.js +6 -1
  49. package/dist/src/hooks/tool-render-suppression-hook.js.map +1 -1
  50. package/dist/src/ide/ideContext.d.ts +32 -32
  51. package/dist/src/index.d.ts +19 -1
  52. package/dist/src/index.js +15 -2
  53. package/dist/src/index.js.map +1 -1
  54. package/dist/src/interfaces/index.d.ts +1 -0
  55. package/dist/src/interfaces/index.js +4 -0
  56. package/dist/src/interfaces/index.js.map +1 -0
  57. package/dist/src/interfaces/nodejs-error.interface.d.ts +4 -0
  58. package/dist/src/interfaces/nodejs-error.interface.js +2 -0
  59. package/dist/src/interfaces/nodejs-error.interface.js.map +1 -0
  60. package/dist/src/parsers/TextToolCallParser.d.ts +17 -1
  61. package/dist/src/parsers/TextToolCallParser.js +542 -148
  62. package/dist/src/parsers/TextToolCallParser.js.map +1 -1
  63. package/dist/src/prompt-config/defaults/core.md +15 -0
  64. package/dist/src/prompt-config/defaults/providers/gemini/core.md +203 -119
  65. package/dist/src/prompt-config/defaults/tool-defaults.js +2 -0
  66. package/dist/src/prompt-config/defaults/tool-defaults.js.map +1 -1
  67. package/dist/src/prompt-config/defaults/tools/list-subagents.md +7 -0
  68. package/dist/src/prompt-config/defaults/tools/task.md +8 -0
  69. package/dist/src/providers/BaseProvider.d.ts +115 -30
  70. package/dist/src/providers/BaseProvider.js +445 -109
  71. package/dist/src/providers/BaseProvider.js.map +1 -1
  72. package/dist/src/providers/IProvider.d.ts +50 -18
  73. package/dist/src/providers/LoggingProviderWrapper.d.ts +60 -16
  74. package/dist/src/providers/LoggingProviderWrapper.js +213 -60
  75. package/dist/src/providers/LoggingProviderWrapper.js.map +1 -1
  76. package/dist/src/providers/ProviderManager.d.ts +73 -2
  77. package/dist/src/providers/ProviderManager.js +492 -40
  78. package/dist/src/providers/ProviderManager.js.map +1 -1
  79. package/dist/src/providers/anthropic/AnthropicProvider.d.ts +35 -38
  80. package/dist/src/providers/anthropic/AnthropicProvider.js +222 -227
  81. package/dist/src/providers/anthropic/AnthropicProvider.js.map +1 -1
  82. package/dist/src/providers/errors.d.ts +86 -0
  83. package/dist/src/providers/errors.js +89 -0
  84. package/dist/src/providers/errors.js.map +1 -1
  85. package/dist/src/providers/gemini/GeminiProvider.d.ts +101 -41
  86. package/dist/src/providers/gemini/GeminiProvider.js +386 -311
  87. package/dist/src/providers/gemini/GeminiProvider.js.map +1 -1
  88. package/dist/src/providers/openai/ConversationCache.d.ts +5 -3
  89. package/dist/src/providers/openai/ConversationCache.js +93 -32
  90. package/dist/src/providers/openai/ConversationCache.js.map +1 -1
  91. package/dist/src/providers/openai/OpenAIProvider.d.ts +82 -42
  92. package/dist/src/providers/openai/OpenAIProvider.js +391 -536
  93. package/dist/src/providers/openai/OpenAIProvider.js.map +1 -1
  94. package/dist/src/providers/openai/getOpenAIProviderInfo.d.ts +1 -1
  95. package/dist/src/providers/openai/getOpenAIProviderInfo.js +52 -22
  96. package/dist/src/providers/openai/getOpenAIProviderInfo.js.map +1 -1
  97. package/dist/src/providers/openai/openaiRequestParams.d.ts +7 -0
  98. package/dist/src/providers/openai/openaiRequestParams.js +66 -0
  99. package/dist/src/providers/openai/openaiRequestParams.js.map +1 -0
  100. package/dist/src/providers/openai-responses/OpenAIResponsesProvider.d.ts +6 -33
  101. package/dist/src/providers/openai-responses/OpenAIResponsesProvider.js +84 -183
  102. package/dist/src/providers/openai-responses/OpenAIResponsesProvider.js.map +1 -1
  103. package/dist/src/providers/types/providerRuntime.d.ts +17 -0
  104. package/dist/src/providers/types/providerRuntime.js +7 -0
  105. package/dist/src/providers/types/providerRuntime.js.map +1 -0
  106. package/dist/src/providers/utils/authToken.d.ts +12 -0
  107. package/dist/src/providers/utils/authToken.js +17 -0
  108. package/dist/src/providers/utils/authToken.js.map +1 -0
  109. package/dist/src/providers/utils/userMemory.d.ts +8 -0
  110. package/dist/src/providers/utils/userMemory.js +34 -0
  111. package/dist/src/providers/utils/userMemory.js.map +1 -0
  112. package/dist/src/runtime/AgentRuntimeContext.d.ts +213 -0
  113. package/dist/src/runtime/AgentRuntimeContext.js +17 -0
  114. package/dist/src/runtime/AgentRuntimeContext.js.map +1 -0
  115. package/dist/src/runtime/AgentRuntimeLoader.d.ts +47 -0
  116. package/dist/src/runtime/AgentRuntimeLoader.js +122 -0
  117. package/dist/src/runtime/AgentRuntimeLoader.js.map +1 -0
  118. package/dist/src/runtime/AgentRuntimeState.d.ts +232 -0
  119. package/dist/src/runtime/AgentRuntimeState.js +439 -0
  120. package/dist/src/runtime/AgentRuntimeState.js.map +1 -0
  121. package/dist/src/runtime/RuntimeInvocationContext.d.ts +51 -0
  122. package/dist/src/runtime/RuntimeInvocationContext.js +52 -0
  123. package/dist/src/runtime/RuntimeInvocationContext.js.map +1 -0
  124. package/dist/src/runtime/createAgentRuntimeContext.d.ts +7 -0
  125. package/dist/src/runtime/createAgentRuntimeContext.js +65 -0
  126. package/dist/src/runtime/createAgentRuntimeContext.js.map +1 -0
  127. package/dist/src/runtime/index.d.ts +13 -0
  128. package/dist/src/runtime/index.js +14 -0
  129. package/dist/src/runtime/index.js.map +1 -0
  130. package/dist/src/runtime/providerRuntimeContext.d.ts +30 -0
  131. package/dist/src/runtime/providerRuntimeContext.js +70 -0
  132. package/dist/src/runtime/providerRuntimeContext.js.map +1 -0
  133. package/dist/src/runtime/runtimeAdapters.d.ts +22 -0
  134. package/dist/src/runtime/runtimeAdapters.js +81 -0
  135. package/dist/src/runtime/runtimeAdapters.js.map +1 -0
  136. package/dist/src/runtime/runtimeStateFactory.d.ts +21 -0
  137. package/dist/src/runtime/runtimeStateFactory.js +104 -0
  138. package/dist/src/runtime/runtimeStateFactory.js.map +1 -0
  139. package/dist/src/services/todo-context-tracker.d.ts +10 -8
  140. package/dist/src/services/todo-context-tracker.js +26 -10
  141. package/dist/src/services/todo-context-tracker.js.map +1 -1
  142. package/dist/src/services/tool-call-tracker-service.d.ts +11 -7
  143. package/dist/src/services/tool-call-tracker-service.js +89 -29
  144. package/dist/src/services/tool-call-tracker-service.js.map +1 -1
  145. package/dist/src/settings/SettingsService.d.ts +4 -0
  146. package/dist/src/settings/SettingsService.js +65 -2
  147. package/dist/src/settings/SettingsService.js.map +1 -1
  148. package/dist/src/settings/settingsServiceInstance.d.ts +6 -1
  149. package/dist/src/settings/settingsServiceInstance.js +28 -8
  150. package/dist/src/settings/settingsServiceInstance.js.map +1 -1
  151. package/dist/src/telemetry/loggers.d.ts +5 -1
  152. package/dist/src/telemetry/loggers.js.map +1 -1
  153. package/dist/src/telemetry/loggers.test.circular.js +4 -0
  154. package/dist/src/telemetry/loggers.test.circular.js.map +1 -1
  155. package/dist/src/telemetry/metrics.d.ts +3 -1
  156. package/dist/src/telemetry/metrics.js.map +1 -1
  157. package/dist/src/telemetry/types.d.ts +1 -0
  158. package/dist/src/telemetry/types.js +3 -0
  159. package/dist/src/telemetry/types.js.map +1 -1
  160. package/dist/src/test-utils/index.d.ts +2 -0
  161. package/dist/src/test-utils/index.js +2 -0
  162. package/dist/src/test-utils/index.js.map +1 -1
  163. package/dist/src/test-utils/mockWorkspaceContext.d.ts +0 -3
  164. package/dist/src/test-utils/mockWorkspaceContext.js +3 -4
  165. package/dist/src/test-utils/mockWorkspaceContext.js.map +1 -1
  166. package/dist/src/test-utils/providerCallOptions.d.ts +43 -0
  167. package/dist/src/test-utils/providerCallOptions.js +137 -0
  168. package/dist/src/test-utils/providerCallOptions.js.map +1 -0
  169. package/dist/src/test-utils/runtime.d.ts +92 -0
  170. package/dist/src/test-utils/runtime.js +226 -0
  171. package/dist/src/test-utils/runtime.js.map +1 -0
  172. package/dist/src/test-utils/tools.d.ts +4 -4
  173. package/dist/src/test-utils/tools.js +20 -10
  174. package/dist/src/test-utils/tools.js.map +1 -1
  175. package/dist/src/tools/list-subagents.d.ts +31 -0
  176. package/dist/src/tools/list-subagents.js +109 -0
  177. package/dist/src/tools/list-subagents.js.map +1 -0
  178. package/dist/src/tools/task.d.ts +87 -0
  179. package/dist/src/tools/task.js +427 -0
  180. package/dist/src/tools/task.js.map +1 -0
  181. package/dist/src/tools/todo-read.js +1 -1
  182. package/dist/src/tools/todo-read.js.map +1 -1
  183. package/dist/src/tools/todo-store.js +4 -2
  184. package/dist/src/tools/todo-store.js.map +1 -1
  185. package/dist/src/tools/todo-write.js +4 -2
  186. package/dist/src/tools/todo-write.js.map +1 -1
  187. package/dist/src/tools/tool-error.d.ts +1 -0
  188. package/dist/src/tools/tool-error.js +1 -0
  189. package/dist/src/tools/tool-error.js.map +1 -1
  190. package/dist/src/tools/tool-registry.d.ts +2 -0
  191. package/dist/src/tools/tool-registry.js +46 -21
  192. package/dist/src/tools/tool-registry.js.map +1 -1
  193. package/dist/src/types/modelParams.d.ts +4 -0
  194. package/dist/src/utils/editor.js +10 -8
  195. package/dist/src/utils/editor.js.map +1 -1
  196. package/dist/src/utils/gitIgnoreParser.js +15 -3
  197. package/dist/src/utils/gitIgnoreParser.js.map +1 -1
  198. package/package.json +1 -1
  199. package/dist/src/prompt-config/defaults/providers/anthropic/core.md +0 -97
  200. package/dist/src/prompt-config/defaults/providers/anthropic/tools/glob.md +0 -34
  201. package/dist/src/prompt-config/defaults/providers/anthropic/tools/list-directory.md +0 -11
  202. package/dist/src/prompt-config/defaults/providers/anthropic/tools/read-file.md +0 -14
  203. package/dist/src/prompt-config/defaults/providers/anthropic/tools/read-many-files.md +0 -31
  204. package/dist/src/prompt-config/defaults/providers/anthropic/tools/replace.md +0 -41
  205. package/dist/src/prompt-config/defaults/providers/anthropic/tools/run-shell-command.md +0 -32
  206. package/dist/src/prompt-config/defaults/providers/anthropic/tools/save-memory.md +0 -35
  207. package/dist/src/prompt-config/defaults/providers/anthropic/tools/search-file-content.md +0 -44
  208. package/dist/src/prompt-config/defaults/providers/anthropic/tools/todo-write.md +0 -45
  209. package/dist/src/prompt-config/defaults/providers/anthropic/tools/write-file.md +0 -11
  210. package/dist/src/prompt-config/defaults/providers/openai/core.md +0 -97
  211. package/dist/src/prompt-config/defaults/providers/openai/tools/todo-pause.md +0 -28
  212. package/dist/src/prompt-config/defaults/providers/openai/tools/todo-read.md +0 -5
  213. package/dist/src/prompt-config/defaults/providers/openai/tools/todo-write.md +0 -45
@@ -3,15 +3,16 @@
3
3
  * Copyright 2025 Vybestack LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- /**
7
- * Base provider class with authentication precedence logic
8
- */
9
- import { IProvider } from './IProvider.js';
6
+ import { IProvider, GenerateChatOptions, ProviderToolset } from './IProvider.js';
10
7
  import { IModel } from './IModel.js';
11
8
  import { IContent } from '../services/history/IContent.js';
12
9
  import { AuthPrecedenceResolver, OAuthManager } from '../auth/precedence.js';
13
10
  import type { Config } from '../config/config.js';
14
11
  import { IProviderConfig } from './types/IProviderConfig.js';
12
+ import type { ProviderRuntimeContext } from '../runtime/providerRuntimeContext.js';
13
+ import { type RuntimeInvocationContext } from '../runtime/RuntimeInvocationContext.js';
14
+ import { SettingsService } from '../settings/SettingsService.js';
15
+ import type { ProviderTelemetryContext, ResolvedAuthToken, UserMemoryInput } from './types/providerRuntime.js';
15
16
  export interface BaseProviderConfig {
16
17
  name: string;
17
18
  apiKey?: string;
@@ -21,6 +22,21 @@ export interface BaseProviderConfig {
21
22
  oauthProvider?: string;
22
23
  oauthManager?: OAuthManager;
23
24
  }
25
+ export interface NormalizedGenerateChatOptions extends GenerateChatOptions {
26
+ settings: SettingsService;
27
+ config?: Config;
28
+ userMemory?: UserMemoryInput;
29
+ runtime?: ProviderRuntimeContext;
30
+ invocation: RuntimeInvocationContext;
31
+ tools?: ProviderToolset;
32
+ metadata: Record<string, unknown>;
33
+ resolved: {
34
+ model: string;
35
+ baseURL?: string;
36
+ authToken: ResolvedAuthToken;
37
+ telemetry?: ProviderTelemetryContext;
38
+ };
39
+ }
24
40
  /**
25
41
  * Abstract base provider class that implements authentication precedence logic
26
42
  * This class provides lazy OAuth triggering and proper authentication precedence
@@ -30,25 +46,53 @@ export declare abstract class BaseProvider implements IProvider {
30
46
  protected authResolver: AuthPrecedenceResolver;
31
47
  protected baseProviderConfig: BaseProviderConfig;
32
48
  protected providerConfig?: IProviderConfig;
33
- protected globalConfig?: Config;
34
- protected cachedAuthToken?: string;
35
- protected authCacheTimestamp?: number;
36
- protected readonly AUTH_CACHE_DURATION = 60000;
49
+ /**
50
+ * @plan PLAN-20250218-STATELESSPROVIDER.P05
51
+ * @requirement REQ-SP-001
52
+ * @pseudocode provider-invocation.md lines 8-15
53
+ */
54
+ private defaultSettingsService;
55
+ private defaultConfig?;
56
+ private readonly activeCallContext;
37
57
  protected throttleTracker?: (waitTimeMs: number) => void;
38
- constructor(config: BaseProviderConfig, providerConfig?: IProviderConfig, globalConfig?: Config);
58
+ protected get globalConfig(): Config | undefined;
59
+ protected set globalConfig(config: Config | undefined);
60
+ constructor(config: BaseProviderConfig, providerConfig?: IProviderConfig, globalConfig?: Config, settingsService?: SettingsService);
61
+ /**
62
+ * @plan PLAN-20251018-STATELESSPROVIDER2.P06
63
+ * @plan:PLAN-20251018-STATELESSPROVIDER2.P06
64
+ * @requirement REQ-SP2-001
65
+ * @pseudocode base-provider-call-contract.md lines 1-2
66
+ */
67
+ setRuntimeSettingsService(settingsService: SettingsService | null | undefined): void;
68
+ /**
69
+ * @plan PLAN-20251018-STATELESSPROVIDER2.P06
70
+ * @plan:PLAN-20251023-STATELESS-HARDENING.P05
71
+ * @requirement REQ-SP2-001
72
+ * @requirement:REQ-SP4-001
73
+ * @pseudocode base-provider-call-contract.md lines 1-3
74
+ */
75
+ protected resolveSettingsService(): SettingsService;
39
76
  /**
40
77
  * Set throttle tracking callback (used by LoggingProviderWrapper)
41
78
  */
42
79
  setThrottleTracker(tracker: (waitTimeMs: number) => void): void;
43
80
  /**
81
+ * @plan PLAN-20251018-STATELESSPROVIDER2.P06
82
+ * @requirement REQ-SP2-001
83
+ * @pseudocode base-provider-call-contract.md lines 2-3
44
84
  * Gets the base URL with proper precedence:
45
85
  * 1. Ephemeral settings (highest priority - from /baseurl or profile)
46
- * 2. Provider config (from IProviderConfig)
47
- * 3. Base provider config (initial constructor value)
48
- * 4. undefined (use provider default)
86
+ * 2. Provider-specific settings in SettingsService
87
+ * 3. Provider config (from IProviderConfig)
88
+ * 4. Base provider config (initial constructor value)
89
+ * 5. undefined (use provider default)
49
90
  */
50
91
  protected getBaseURL(): string | undefined;
51
92
  /**
93
+ * @plan PLAN-20251018-STATELESSPROVIDER2.P06
94
+ * @requirement REQ-SP2-001
95
+ * @pseudocode base-provider-call-contract.md lines 2-3
52
96
  * Gets the current model with proper precedence:
53
97
  * 1. Ephemeral settings (highest priority)
54
98
  * 2. Provider-specific settings in SettingsService
@@ -56,7 +100,12 @@ export declare abstract class BaseProvider implements IProvider {
56
100
  * 4. Default model
57
101
  */
58
102
  protected getModel(): string;
103
+ private computeBaseURL;
104
+ private computeModel;
59
105
  /**
106
+ * @plan PLAN-20251018-STATELESSPROVIDER2.P06
107
+ * @requirement REQ-SP2-001
108
+ * @pseudocode base-provider-call-contract.md lines 1-3
60
109
  * Gets authentication token using the precedence chain
61
110
  * This method implements lazy OAuth triggering - only triggers OAuth when actually making API calls
62
111
  * Returns empty string if no auth is available (for local/self-hosted endpoints)
@@ -72,29 +121,30 @@ export declare abstract class BaseProvider implements IProvider {
72
121
  */
73
122
  protected abstract supportsOAuth(): boolean;
74
123
  /**
124
+ * @plan PLAN-20251018-STATELESSPROVIDER2.P06
125
+ * @requirement REQ-SP2-001
126
+ * @pseudocode base-provider-call-contract.md lines 1-3
75
127
  * Checks if authentication is available without triggering OAuth
76
128
  */
77
129
  hasNonOAuthAuthentication(): Promise<boolean>;
78
130
  /**
131
+ * @plan PLAN-20251018-STATELESSPROVIDER2.P06
132
+ * @requirement REQ-SP2-001
133
+ * @pseudocode base-provider-call-contract.md lines 1-3
79
134
  * Checks if OAuth is the only available authentication method
80
135
  */
81
136
  isOAuthOnlyAvailable(): Promise<boolean>;
82
137
  /**
138
+ * @plan PLAN-20251018-STATELESSPROVIDER2.P06
139
+ * @requirement REQ-SP2-001
140
+ * @pseudocode base-provider-call-contract.md lines 1-3
83
141
  * Gets the current authentication method name for debugging
84
142
  */
85
143
  getAuthMethodName(): Promise<string | null>;
86
- /**
87
- * Updates the API key (used for CLI --key argument and other sources)
88
- */
89
- setApiKey(apiKey: string): void;
90
144
  /**
91
145
  * Clears authentication (used when removing keys/keyfiles)
92
146
  */
93
147
  clearAuth?(): void;
94
- /**
95
- * Updates the base URL in ephemeral settings
96
- */
97
- setBaseUrl?(baseUrl?: string): void;
98
148
  /**
99
149
  * Updates OAuth configuration
100
150
  */
@@ -109,23 +159,58 @@ export declare abstract class BaseProvider implements IProvider {
109
159
  isAuthenticated(): Promise<boolean>;
110
160
  abstract getModels(): Promise<IModel[]>;
111
161
  abstract getDefaultModel(): string;
112
- abstract generateChatCompletion(content: IContent[], tools?: Array<{
113
- functionDeclarations: Array<{
114
- name: string;
115
- description?: string;
116
- parameters?: unknown;
117
- }>;
118
- }>, signal?: AbortSignal): AsyncIterableIterator<IContent>;
119
- setModel?(_modelId: string): void;
162
+ /**
163
+ * @plan PLAN-20250218-STATELESSPROVIDER.P04
164
+ * @requirement REQ-SP-001
165
+ * @pseudocode base-provider.md lines 4-15
166
+ */
167
+ generateChatCompletion(options: GenerateChatOptions): AsyncIterableIterator<IContent>;
168
+ generateChatCompletion(contents: IContent[], tools?: ProviderToolset): AsyncIterableIterator<IContent>;
169
+ /**
170
+ * @plan PLAN-20250218-STATELESSPROVIDER.P04
171
+ * @requirement REQ-SP-001
172
+ * @pseudocode base-provider.md lines 7-15
173
+ */
174
+ protected abstract generateChatCompletionWithOptions(options: NormalizedGenerateChatOptions): AsyncIterableIterator<IContent>;
175
+ /**
176
+ * @plan PLAN-20251018-STATELESSPROVIDER2.P06
177
+ * @requirement REQ-SP2-001
178
+ * @pseudocode base-provider-call-contract.md lines 3-5
179
+ */
180
+ private invokeWithNormalizedOptions;
181
+ /**
182
+ * @plan PLAN-20251018-STATELESSPROVIDER2.P06
183
+ * @plan:PLAN-20251023-STATELESS-HARDENING.P05
184
+ * @requirement REQ-SP2-001
185
+ * @requirement:REQ-SP4-001
186
+ * @pseudocode base-provider-call-contract.md lines 1-3
187
+ */
188
+ private normalizeGenerateChatOptions;
189
+ private buildEphemeralsSnapshot;
190
+ /**
191
+ * @plan:PLAN-20251023-STATELESS-HARDENING.P05
192
+ * @requirement:REQ-SP4-001
193
+ * @pseudocode base-provider-fallback-removal.md lines 11-14
194
+ */
195
+ protected assertRuntimeContext(input: {
196
+ providerKey: string;
197
+ settings?: SettingsService | null;
198
+ config?: Config | null;
199
+ runtime?: ProviderRuntimeContext;
200
+ metadata?: Record<string, unknown>;
201
+ resolved?: NormalizedGenerateChatOptions['resolved'];
202
+ stage: string;
203
+ }): {
204
+ runtime: ProviderRuntimeContext;
205
+ metadata: Record<string, unknown>;
206
+ };
120
207
  getCurrentModel?(): string;
121
208
  getToolFormat?(): string;
122
- setToolFormatOverride?(_format: string | null): void;
123
209
  isPaidMode?(): boolean;
124
210
  clearState?(): void;
125
211
  setConfig?(config: unknown): void;
126
212
  getServerTools(): string[];
127
213
  invokeServerTool(toolName: string, _params: unknown, _config?: unknown, _signal?: AbortSignal): Promise<unknown>;
128
- setModelParams?(_params: Record<string, unknown> | undefined): void;
129
214
  getModelParams?(): Record<string, unknown> | undefined;
130
215
  /**
131
216
  * Get setting value from SettingsService