@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
@@ -8,6 +8,7 @@ import { logConversationRequest, logConversationResponse, logTokenUsage, } from
8
8
  import { ConversationRequestEvent, ConversationResponseEvent, TokenUsageEvent, } from '../telemetry/types.js';
9
9
  import { getConversationFileWriter } from '../storage/ConversationFileWriter.js';
10
10
  import { ProviderPerformanceTracker } from './logging/ProviderPerformanceTracker.js';
11
+ import { MissingProviderRuntimeError } from './errors.js';
11
12
  // Simple redactor that works with RedactionConfig
12
13
  class ConfigBasedRedactor {
13
14
  redactionConfig;
@@ -105,23 +106,53 @@ class ConfigBasedRedactor {
105
106
  }
106
107
  /**
107
108
  * @plan PLAN-20250909-TOKTRACK.P05
109
+ * @plan:PLAN-20251023-STATELESS-HARDENING.P08
110
+ * @requirement:REQ-SP4-004
111
+ * @requirement:REQ-SP4-005
112
+ * @pseudocode provider-runtime-handling.md lines 14-16
113
+ * @pseudocode logging-wrapper-adjustments.md lines 11-15
114
+ *
108
115
  * A minimal logging wrapper that acts as a transparent passthrough to the wrapped provider.
109
116
  * Only intercepts generateChatCompletion to log conversations while forwarding all other
110
117
  * methods directly to the wrapped provider without modification.
118
+ *
119
+ * In stateless hardening mode (P08), this wrapper:
120
+ * - Drops constructor-captured config/settings
121
+ * - Relies on per-call runtime metadata
122
+ * - Implements runtime context push/pop (via runtimeContextResolver)
123
+ * - Guards against missing runtime with MissingProviderRuntimeError
111
124
  */
112
125
  export class LoggingProviderWrapper {
113
126
  wrapped;
114
- config;
115
127
  conversationId;
116
128
  turnNumber = 0;
117
- redactor;
129
+ redactor = null;
118
130
  performanceTracker;
119
- constructor(wrapped, config, redactor) {
131
+ runtimeContextResolver;
132
+ statelessRuntimeMetadata = null;
133
+ optionsNormalizer = null;
134
+ /**
135
+ * @plan:PLAN-20251023-STATELESS-HARDENING.P08
136
+ * @requirement:REQ-SP4-004
137
+ * Constructor no longer captures config - it's provided per-call via options.
138
+ */
139
+ constructor(wrapped, configOrRedactor, legacyRedactor) {
120
140
  this.wrapped = wrapped;
121
- this.config = config;
122
141
  this.conversationId = this.generateConversationId();
123
- this.redactor =
124
- redactor || new ConfigBasedRedactor(config.getRedactionConfig());
142
+ // Handle legacy constructor signature for backward compatibility
143
+ // New usage should NOT pass config here - config comes per-call
144
+ if (configOrRedactor && 'redactMessage' in configOrRedactor) {
145
+ this.redactor = configOrRedactor;
146
+ }
147
+ else if (configOrRedactor &&
148
+ 'getConversationLoggingEnabled' in configOrRedactor) {
149
+ // Legacy usage - create redactor from config
150
+ const config = configOrRedactor;
151
+ this.redactor = new ConfigBasedRedactor(config.getRedactionConfig());
152
+ }
153
+ if (legacyRedactor) {
154
+ this.redactor = legacyRedactor;
155
+ }
125
156
  this.performanceTracker = new ProviderPerformanceTracker(wrapped.name);
126
157
  // Set throttle tracker callback on the wrapped provider if it supports it
127
158
  if ('setThrottleTracker' in wrapped &&
@@ -132,8 +163,32 @@ export class LoggingProviderWrapper {
132
163
  });
133
164
  }
134
165
  }
166
+ /* @plan:PLAN-20251023-STATELESS-HARDENING.P06 */
167
+ /* @requirement:REQ-SP4-004 */
168
+ attachStatelessRuntimeMetadata(metadata) {
169
+ this.statelessRuntimeMetadata = { ...metadata };
170
+ }
171
+ /**
172
+ * @plan:PLAN-20251023-STATELESS-HARDENING.P05
173
+ * @requirement:REQ-SP4-001
174
+ * @pseudocode provider-runtime-handling.md lines 10-15
175
+ * Registers a resolver so runtime context is injected per invocation.
176
+ */
177
+ setRuntimeContextResolver(resolver) {
178
+ this.runtimeContextResolver = resolver;
179
+ }
180
+ /**
181
+ * @plan:PLAN-20251023-STATELESS-HARDENING.P08
182
+ * @requirement:REQ-SP4-002
183
+ * Allows ProviderManager.normalizeRuntimeInputs to run per invocation.
184
+ */
185
+ setOptionsNormalizer(normalizer) {
186
+ this.optionsNormalizer = normalizer;
187
+ }
135
188
  /**
136
- * Access to the wrapped provider for unwrapping if needed
189
+ * @plan PLAN-20251020-STATELESSPROVIDER3.P12
190
+ * @requirement REQ-SP3-003
191
+ * Access to the wrapped provider for unwrapping if needed.
137
192
  */
138
193
  get wrappedProvider() {
139
194
  return this.wrapped;
@@ -152,35 +207,112 @@ export class LoggingProviderWrapper {
152
207
  getDefaultModel() {
153
208
  return this.wrapped.getDefaultModel();
154
209
  }
155
- // Only method that includes logging - everything else is passthrough
156
- async *generateChatCompletion(content, tools) {
210
+ async *generateChatCompletion(contentOrOptions, maybeTools) {
211
+ let normalizedOptions = Array.isArray(contentOrOptions)
212
+ ? { contents: contentOrOptions, tools: maybeTools }
213
+ : { ...contentOrOptions };
214
+ // REQ-SP4-004: Runtime context push - inject runtime from resolver if available
215
+ const injectedRuntime = this.runtimeContextResolver?.();
216
+ const providedRuntime = normalizedOptions.runtime;
217
+ if (injectedRuntime) {
218
+ const mergedMetadata = {
219
+ ...(this.statelessRuntimeMetadata ?? {}),
220
+ ...(injectedRuntime.metadata ?? {}),
221
+ ...(providedRuntime?.metadata ?? {}),
222
+ ...(normalizedOptions.metadata ?? {}),
223
+ source: 'LoggingProviderWrapper.generateChatCompletion',
224
+ requirement: 'REQ-SP4-001',
225
+ };
226
+ normalizedOptions.runtime = {
227
+ ...injectedRuntime,
228
+ ...providedRuntime,
229
+ settingsService: providedRuntime?.settingsService ?? injectedRuntime.settingsService,
230
+ config: providedRuntime?.config ?? injectedRuntime.config,
231
+ metadata: mergedMetadata,
232
+ };
233
+ normalizedOptions.settings =
234
+ normalizedOptions.settings ?? normalizedOptions.runtime.settingsService;
235
+ normalizedOptions.metadata = mergedMetadata;
236
+ }
237
+ if (!injectedRuntime && this.statelessRuntimeMetadata) {
238
+ normalizedOptions.metadata = {
239
+ ...(this.statelessRuntimeMetadata ?? {}),
240
+ ...(normalizedOptions.metadata ?? {}),
241
+ };
242
+ }
243
+ if (this.optionsNormalizer) {
244
+ normalizedOptions = this.optionsNormalizer(normalizedOptions, this.wrapped.name);
245
+ }
246
+ // REQ-SP4-004: Guard - ensure runtime context is present for stateless hardening
247
+ const runtimeId = normalizedOptions.runtime?.runtimeId ?? 'unknown';
248
+ if (!normalizedOptions.runtime?.settingsService) {
249
+ throw new MissingProviderRuntimeError({
250
+ providerKey: `LoggingProviderWrapper[${this.wrapped.name}]`,
251
+ missingFields: ['settings'],
252
+ requirement: 'REQ-SP4-004',
253
+ stage: 'generateChatCompletion',
254
+ metadata: {
255
+ hint: 'Runtime context must include settingsService for stateless hardening.',
256
+ runtimeId,
257
+ },
258
+ });
259
+ }
260
+ if (!normalizedOptions.runtime?.config) {
261
+ throw new MissingProviderRuntimeError({
262
+ providerKey: `LoggingProviderWrapper[${this.wrapped.name}]`,
263
+ missingFields: ['config'],
264
+ requirement: 'REQ-SP4-004',
265
+ stage: 'generateChatCompletion',
266
+ metadata: {
267
+ hint: 'Runtime context must include config for stateless hardening.',
268
+ runtimeId,
269
+ },
270
+ });
271
+ }
272
+ // Resolve config from runtime or legacy fallback
273
+ normalizedOptions.config =
274
+ normalizedOptions.config ?? normalizedOptions.runtime?.config;
275
+ const activeConfig = normalizedOptions.config;
276
+ const invocation = normalizedOptions.invocation;
277
+ // Prefer per-call redaction config from invocation context when available
278
+ if (invocation?.redaction) {
279
+ this.redactor = new ConfigBasedRedactor({
280
+ ...invocation.redaction,
281
+ });
282
+ }
283
+ else if (!this.redactor && activeConfig) {
284
+ // REQ-SP4-004: Create per-call redactor if not already set
285
+ this.redactor = new ConfigBasedRedactor(activeConfig.getRedactionConfig());
286
+ }
157
287
  const promptId = this.generatePromptId();
158
288
  this.turnNumber++;
159
289
  // Log request if logging is enabled
160
- if (this.config.getConversationLoggingEnabled()) {
161
- await this.logRequest(content, tools, promptId);
290
+ if (activeConfig?.getConversationLoggingEnabled()) {
291
+ await this.logRequest(activeConfig, normalizedOptions.contents, normalizedOptions.tools, promptId);
162
292
  }
163
- // Get stream from wrapped provider
164
- const stream = this.wrapped.generateChatCompletion(content, tools);
293
+ // Get stream from wrapped provider using normalized options object
294
+ const stream = this.wrapped.generateChatCompletion(normalizedOptions);
165
295
  // Always process stream to extract token metrics
166
296
  // If logging not enabled, process for metrics only
167
- if (!this.config.getConversationLoggingEnabled()) {
168
- yield* this.processStreamForMetrics(stream);
297
+ if (!activeConfig?.getConversationLoggingEnabled()) {
298
+ yield* this.processStreamForMetrics(activeConfig, stream);
169
299
  return;
170
300
  }
171
301
  // Log the response stream (which also processes metrics)
172
- yield* this.logResponseStream(stream, promptId);
302
+ yield* this.logResponseStream(activeConfig, stream, promptId);
173
303
  }
174
- async logRequest(content, tools, promptId) {
304
+ async logRequest(config, content, tools, promptId) {
175
305
  try {
176
- // Apply redaction to content and tools
177
- const redactedContent = content.map((item) => this.redactor.redactMessage(item, this.wrapped.name));
306
+ // Apply redaction to content and tools (use redactor if available)
307
+ const redactedContent = this.redactor
308
+ ? content.map((item) => this.redactor.redactMessage(item, this.wrapped.name))
309
+ : content;
178
310
  // Note: tools format is different now, keeping minimal logging for now
179
311
  const redactedTools = tools;
180
312
  const event = new ConversationRequestEvent(this.wrapped.name, this.conversationId, this.turnNumber, promptId || this.generatePromptId(), redactedContent, redactedTools, 'default');
181
- logConversationRequest(this.config, event);
313
+ logConversationRequest(config, event);
182
314
  // Also write to disk
183
- const fileWriter = getConversationFileWriter(this.config.getConversationLogPath());
315
+ const fileWriter = getConversationFileWriter(config.getConversationLogPath());
184
316
  fileWriter.writeRequest(this.wrapped.name, redactedContent, {
185
317
  conversationId: this.conversationId,
186
318
  turnNumber: this.turnNumber,
@@ -198,7 +330,7 @@ export class LoggingProviderWrapper {
198
330
  * Process stream to extract token metrics without logging
199
331
  * @plan PLAN-20250909-TOKTRACK
200
332
  */
201
- async *processStreamForMetrics(stream) {
333
+ async *processStreamForMetrics(config, stream) {
202
334
  const startTime = performance.now();
203
335
  let latestTokenUsage;
204
336
  try {
@@ -217,7 +349,7 @@ export class LoggingProviderWrapper {
217
349
  const duration = performance.now() - startTime;
218
350
  const tokenCounts = this.extractTokenCountsFromTokenUsage(latestTokenUsage);
219
351
  // Accumulate token usage for session tracking
220
- this.accumulateTokenUsage(tokenCounts);
352
+ this.accumulateTokenUsage(tokenCounts, config);
221
353
  // Record performance metrics (TPM tracks output tokens only)
222
354
  const outputTokens = tokenCounts.output_token_count;
223
355
  this.performanceTracker.recordCompletion(duration, null, outputTokens, 0);
@@ -230,7 +362,7 @@ export class LoggingProviderWrapper {
230
362
  throw error;
231
363
  }
232
364
  }
233
- async *logResponseStream(stream, promptId) {
365
+ async *logResponseStream(config, stream, promptId) {
234
366
  const startTime = performance.now();
235
367
  let responseContent = '';
236
368
  let responseComplete = false;
@@ -255,12 +387,12 @@ export class LoggingProviderWrapper {
255
387
  }
256
388
  catch (error) {
257
389
  const errorTime = performance.now();
258
- await this.logResponse('', promptId, errorTime - startTime, false, error, latestTokenUsage);
390
+ await this.logResponse(config, '', promptId, errorTime - startTime, false, error, latestTokenUsage);
259
391
  throw error;
260
392
  }
261
393
  if (responseComplete) {
262
394
  const totalTime = performance.now() - startTime;
263
- await this.logResponse(responseContent, promptId, totalTime, true, undefined, latestTokenUsage);
395
+ await this.logResponse(config, responseContent, promptId, totalTime, true, undefined, latestTokenUsage);
264
396
  }
265
397
  }
266
398
  // Simple content extraction without complex provider-specific logic
@@ -281,15 +413,17 @@ export class LoggingProviderWrapper {
281
413
  }
282
414
  return '';
283
415
  }
284
- async logResponse(content, promptId, duration, success, error, tokenUsage) {
416
+ async logResponse(config, content, promptId, duration, success, error, tokenUsage) {
285
417
  try {
286
- const redactedContent = this.redactor.redactResponseContent(content, this.wrapped.name);
418
+ const redactedContent = this.redactor
419
+ ? this.redactor.redactResponseContent(content, this.wrapped.name)
420
+ : content;
287
421
  // Extract token counts from the response or use provided tokenUsage
288
422
  const tokenCounts = tokenUsage
289
423
  ? this.extractTokenCountsFromTokenUsage(tokenUsage)
290
424
  : this.extractTokenCountsFromResponse(content);
291
425
  // Accumulate token usage for session tracking
292
- this.accumulateTokenUsage(tokenCounts);
426
+ this.accumulateTokenUsage(tokenCounts, config);
293
427
  // Record performance metrics (TPM tracks output tokens only)
294
428
  const outputTokens = tokenCounts.output_token_count;
295
429
  this.performanceTracker.recordCompletion(duration, null, outputTokens, 0);
@@ -300,11 +434,11 @@ export class LoggingProviderWrapper {
300
434
  tokenCounts.thoughts_token_count +
301
435
  tokenCounts.tool_token_count;
302
436
  // Log token usage to telemetry
303
- logTokenUsage(this.config, new TokenUsageEvent(this.wrapped.name, this.conversationId, tokenCounts.input_token_count, tokenCounts.output_token_count, tokenCounts.cached_content_token_count, tokenCounts.tool_token_count, tokenCounts.thoughts_token_count, totalTokens));
437
+ logTokenUsage(config, new TokenUsageEvent(this.wrapped.name, this.conversationId, tokenCounts.input_token_count, tokenCounts.output_token_count, tokenCounts.cached_content_token_count, tokenCounts.tool_token_count, tokenCounts.thoughts_token_count, totalTokens));
304
438
  const event = new ConversationResponseEvent(this.wrapped.name, this.conversationId, this.turnNumber, promptId, redactedContent, duration, success, error ? String(error) : undefined);
305
- logConversationResponse(this.config, event);
439
+ logConversationResponse(config, event);
306
440
  // Also write to disk
307
- const fileWriter = getConversationFileWriter(this.config.getConversationLogPath());
441
+ const fileWriter = getConversationFileWriter(config.getConversationLogPath());
308
442
  fileWriter.writeResponse(this.wrapped.name, redactedContent, {
309
443
  conversationId: this.conversationId,
310
444
  turnNumber: this.turnNumber,
@@ -413,7 +547,7 @@ export class LoggingProviderWrapper {
413
547
  /**
414
548
  * Accumulate token usage for session tracking
415
549
  */
416
- accumulateTokenUsage(tokenCounts) {
550
+ accumulateTokenUsage(tokenCounts, config) {
417
551
  // Map token counts to expected format
418
552
  const usage = {
419
553
  input: tokenCounts.input_token_count || 0,
@@ -423,7 +557,7 @@ export class LoggingProviderWrapper {
423
557
  tool: tokenCounts.tool_token_count || 0,
424
558
  };
425
559
  // Call accumulateSessionTokens if providerManager is available
426
- const providerManager = this.config.getProviderManager();
560
+ const providerManager = config?.getProviderManager();
427
561
  if (providerManager) {
428
562
  try {
429
563
  console.debug(`[TokenTracking] Accumulating ${usage.input + usage.output + usage.cache + usage.tool + usage.thought} tokens for provider ${this.wrapped.name}`);
@@ -437,7 +571,20 @@ export class LoggingProviderWrapper {
437
571
  console.warn(`[TokenTracking] No provider manager found in config - tokens not accumulated for ${this.wrapped.name}`);
438
572
  }
439
573
  }
440
- async logToolCall(toolName, params, result, startTime, success, error) {
574
+ resolveLoggingConfig(candidate) {
575
+ if (candidate &&
576
+ typeof candidate === 'object' &&
577
+ 'getConversationLoggingEnabled' in candidate &&
578
+ typeof candidate
579
+ .getConversationLoggingEnabled === 'function') {
580
+ return candidate;
581
+ }
582
+ return undefined;
583
+ }
584
+ async logToolCall(config, toolName, params, result, startTime, success, error) {
585
+ if (!config) {
586
+ return;
587
+ }
441
588
  try {
442
589
  const endTime = Date.now();
443
590
  const duration = endTime - startTime;
@@ -450,15 +597,19 @@ export class LoggingProviderWrapper {
450
597
  gitStats = metadata.gitStats;
451
598
  }
452
599
  }
600
+ // Redact tool parameters if redactor available
601
+ const redactedParams = this.redactor
602
+ ? this.redactor.redactToolCall({
603
+ type: 'function',
604
+ function: { name: toolName, parameters: params },
605
+ }).function.parameters
606
+ : params;
453
607
  // Write to disk
454
- const fileWriter = getConversationFileWriter(this.config.getConversationLogPath());
608
+ const fileWriter = getConversationFileWriter(config.getConversationLogPath());
455
609
  fileWriter.writeToolCall(this.wrapped.name, toolName, {
456
610
  conversationId: this.conversationId,
457
611
  turnNumber: this.turnNumber,
458
- params: this.redactor.redactToolCall({
459
- type: 'function',
460
- function: { name: toolName, parameters: params },
461
- }).function.parameters,
612
+ params: redactedParams,
462
613
  result,
463
614
  duration,
464
615
  success,
@@ -471,60 +622,62 @@ export class LoggingProviderWrapper {
471
622
  }
472
623
  }
473
624
  // All other methods are simple passthroughs to wrapped provider
474
- setModel(modelId) {
475
- this.wrapped.setModel?.(modelId);
476
- }
477
625
  getCurrentModel() {
478
626
  return this.wrapped.getCurrentModel?.() ?? '';
479
627
  }
480
- setApiKey(apiKey) {
481
- this.wrapped.setApiKey?.(apiKey);
482
- }
483
- setBaseUrl(baseUrl) {
484
- this.wrapped.setBaseUrl?.(baseUrl);
628
+ setRuntimeSettingsService(settingsService) {
629
+ /**
630
+ * @plan PLAN-20250218-STATELESSPROVIDER.P05
631
+ * @requirement REQ-SP-001
632
+ * @pseudocode provider-invocation.md lines 8-15
633
+ */
634
+ const runtimeAware = this.wrapped;
635
+ runtimeAware.setRuntimeSettingsService?.(settingsService);
485
636
  }
486
637
  getToolFormat() {
487
638
  return this.wrapped.getToolFormat?.() ?? '';
488
639
  }
489
- setToolFormatOverride(format) {
490
- this.wrapped.setToolFormatOverride?.(format);
491
- }
492
640
  isPaidMode() {
493
641
  return this.wrapped.isPaidMode?.() ?? false;
494
642
  }
495
643
  clearState() {
496
- this.wrapped.clearState?.();
644
+ if ('clearState' in this.wrapped) {
645
+ const candidate = this.wrapped
646
+ .clearState;
647
+ candidate?.call(this.wrapped);
648
+ }
497
649
  // Reset conversation logging state
498
650
  this.conversationId = this.generateConversationId();
499
651
  this.turnNumber = 0;
500
652
  }
501
653
  setConfig(config) {
502
- this.wrapped.setConfig?.(config);
654
+ if ('setConfig' in this.wrapped) {
655
+ const candidate = this.wrapped.setConfig;
656
+ candidate?.call(this.wrapped, config);
657
+ }
503
658
  }
504
659
  getServerTools() {
505
660
  return this.wrapped.getServerTools();
506
661
  }
507
662
  async invokeServerTool(toolName, params, config) {
508
663
  const startTime = Date.now();
664
+ const loggingConfig = this.resolveLoggingConfig(config);
509
665
  try {
510
666
  const result = await this.wrapped.invokeServerTool(toolName, params, config);
511
667
  // Log tool call if logging is enabled and result has metadata
512
- if (this.config.getConversationLoggingEnabled()) {
513
- await this.logToolCall(toolName, params, result, startTime, true);
668
+ if (loggingConfig?.getConversationLoggingEnabled()) {
669
+ await this.logToolCall(loggingConfig, toolName, params, result, startTime, true);
514
670
  }
515
671
  return result;
516
672
  }
517
673
  catch (error) {
518
674
  // Log failed tool call if logging is enabled
519
- if (this.config.getConversationLoggingEnabled()) {
520
- await this.logToolCall(toolName, params, null, startTime, false, error);
675
+ if (loggingConfig?.getConversationLoggingEnabled()) {
676
+ await this.logToolCall(loggingConfig, toolName, params, null, startTime, false, error);
521
677
  }
522
678
  throw error;
523
679
  }
524
680
  }
525
- setModelParams(params) {
526
- this.wrapped.setModelParams?.(params);
527
- }
528
681
  getModelParams() {
529
682
  return this.wrapped.getModelParams?.();
530
683
  }
@@ -1 +1 @@
1
- {"version":3,"file":"LoggingProviderWrapper.js","sourceRoot":"","sources":["../../../src/providers/LoggingProviderWrapper.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,aAAa,GACd,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,wBAAwB,EACxB,yBAAyB,EACzB,eAAe,GAChB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AACjF,OAAO,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AAQrF,kDAAkD;AAClD,MAAM,mBAAmB;IACH;IAApB,YAAoB,eAAgC;QAAhC,oBAAe,GAAf,eAAe,CAAiB;IAAG,CAAC;IAExD,aAAa,CAAC,OAAiB,EAAE,YAAoB;QACnD,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;YACzB,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,MAAM,eAAe,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC;QAEvC,qBAAqB;QACrB,eAAe,CAAC,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YAC5D,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC1B,OAAO;oBACL,GAAG,KAAK;oBACR,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,YAAY,CAAC;iBACnD,CAAC;YACJ,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBACtC,8EAA8E;gBAC9E,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CACvC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,EAChC,YAAY,CACb,CAAC;gBACF,OAAO;oBACL,GAAG,KAAK;oBACR,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;iBACvC,CAAC;YACJ,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,cAAc,CAAC,IAAW;QACxB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,YAAY,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC;QAEjC,IAAI,YAAY,CAAC,QAAQ,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC3D,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CACvC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,EAChD,QAAQ,CACT,CAAC;YACF,IAAI,CAAC;gBACH,YAAY,CAAC,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YAChE,CAAC;YAAC,MAAM,CAAC;gBACP,6CAA6C;gBAC7C,YAAY,CAAC,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;YAC9D,CAAC;QACH,CAAC;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,qBAAqB,CAAC,OAAe,EAAE,YAAoB;QACzD,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;YACzB,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IACnD,CAAC;IAEO,YAAY;QAClB,OAAO,CACL,IAAI,CAAC,eAAe,CAAC,aAAa;YAClC,IAAI,CAAC,eAAe,CAAC,iBAAiB;YACtC,IAAI,CAAC,eAAe,CAAC,eAAe;YACpC,IAAI,CAAC,eAAe,CAAC,UAAU;YAC/B,IAAI,CAAC,eAAe,CAAC,YAAY;YACjC,IAAI,CAAC,eAAe,CAAC,kBAAkB,CACxC,CAAC;IACJ,CAAC;IAEO,aAAa,CAAC,OAAe,EAAE,aAAqB;QAC1D,IAAI,QAAQ,GAAG,OAAO,CAAC;QAEvB,2CAA2C;QAC3C,IAAI,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,CAAC;YACvC,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,sBAAsB,EAAE,oBAAoB,CAAC,CAAC;YAC1E,QAAQ,GAAG,QAAQ,CAAC,OAAO,CACzB,0BAA0B,EAC1B,+BAA+B,CAChC,CAAC;YACF,QAAQ,GAAG,QAAQ,CAAC,OAAO,CACzB,4BAA4B,EAC5B,0BAA0B,CAC3B,CAAC;YACF,QAAQ,GAAG,QAAQ,CAAC,OAAO,CACzB,yBAAyB,EACzB,uBAAuB,CACxB,CAAC;QACJ,CAAC;QAED,wCAAwC;QACxC,IAAI,IAAI,CAAC,eAAe,CAAC,iBAAiB,EAAE,CAAC;YAC3C,QAAQ,GAAG,QAAQ,CAAC,OAAO,CACzB,0CAA0C,EAC1C,qBAAqB,CACtB,CAAC;YACF,QAAQ,GAAG,QAAQ,CAAC,OAAO,CACzB,8BAA8B,EAC9B,gCAAgC,CACjC,CAAC;QACJ,CAAC;QAED,uCAAuC;QACvC,IAAI,IAAI,CAAC,eAAe,CAAC,eAAe,EAAE,CAAC;YACzC,QAAQ,GAAG,QAAQ,CAAC,OAAO,CACzB,0BAA0B,EAC1B,qBAAqB,CACtB,CAAC;YACF,QAAQ,GAAG,QAAQ,CAAC,OAAO,CACzB,wBAAwB,EACxB,qBAAqB,CACtB,CAAC;YACF,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,mBAAmB,EAAE,qBAAqB,CAAC,CAAC;YACxE,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,oBAAoB,EAAE,qBAAqB,CAAC,CAAC;QAC3E,CAAC;QAED,mCAAmC;QACnC,IAAI,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC;YACtC,QAAQ,GAAG,QAAQ,CAAC,OAAO,CACzB,iDAAiD,EACjD,kBAAkB,CACnB,CAAC;QACJ,CAAC;QAED,2CAA2C;QAC3C,IAAI,IAAI,CAAC,eAAe,CAAC,kBAAkB,EAAE,CAAC;YAC5C,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,wBAAwB,EAAE,kBAAkB,CAAC,CAAC;YAC1E,QAAQ,GAAG,QAAQ,CAAC,OAAO,CACzB,6CAA6C,EAC7C,sBAAsB,CACvB,CAAC;QACJ,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,OAAO,sBAAsB;IAOd;IACA;IAPX,cAAc,CAAS;IACvB,UAAU,GAAW,CAAC,CAAC;IACvB,QAAQ,CAA2B;IACnC,kBAAkB,CAA6B;IAEvD,YACmB,OAAkB,EAClB,MAAc,EAC/B,QAAmC;QAFlB,YAAO,GAAP,OAAO,CAAW;QAClB,WAAM,GAAN,MAAM,CAAQ;QAG/B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;QACpD,IAAI,CAAC,QAAQ;YACX,QAAQ,IAAI,IAAI,mBAAmB,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC,CAAC;QACnE,IAAI,CAAC,kBAAkB,GAAG,IAAI,0BAA0B,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAEvE,0EAA0E;QAC1E,IACE,oBAAoB,IAAI,OAAO;YAC/B,OAAO,OAAO,CAAC,kBAAkB,KAAK,UAAU,EAChD,CAAC;YACD,MAAM,QAAQ,GAAG,OAEhB,CAAC;YACF,QAAQ,CAAC,kBAAkB,CAAC,CAAC,UAAkB,EAAE,EAAE;gBACjD,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;YAC5D,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;OAEG;IACH,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,yBAAyB;IACzB,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IAC3B,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;IAChC,CAAC;IAED,gEAAgE;IAChE,KAAK,CAAC,SAAS;QACb,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;IAClC,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;IACxC,CAAC;IAED,qEAAqE;IACrE,KAAK,CAAC,CAAC,sBAAsB,CAC3B,OAAmB,EACnB,KAME;QAEF,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACzC,IAAI,CAAC,UAAU,EAAE,CAAC;QAElB,oCAAoC;QACpC,IAAI,IAAI,CAAC,MAAM,CAAC,6BAA6B,EAAE,EAAE,CAAC;YAChD,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QAClD,CAAC;QAED,mCAAmC;QACnC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAEnE,iDAAiD;QACjD,mDAAmD;QACnD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,6BAA6B,EAAE,EAAE,CAAC;YACjD,KAAK,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;YAC5C,OAAO;QACT,CAAC;QAED,yDAAyD;QACzD,KAAK,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAClD,CAAC;IAEO,KAAK,CAAC,UAAU,CACtB,OAAmB,EACnB,KAME,EACF,QAAiB;QAEjB,IAAI,CAAC;YACH,uCAAuC;YACvC,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAC3C,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CACrD,CAAC;YACF,uEAAuE;YACvE,MAAM,aAAa,GAAG,KAAK,CAAC;YAE5B,MAAM,KAAK,GAAG,IAAI,wBAAwB,CACxC,IAAI,CAAC,OAAO,CAAC,IAAI,EACjB,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,UAAU,EACf,QAAQ,IAAI,IAAI,CAAC,gBAAgB,EAAE,EACnC,eAAe,EACf,aAAa,EACb,SAAS,CACV,CAAC;YAEF,sBAAsB,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAE3C,qBAAqB;YACrB,MAAM,UAAU,GAAG,yBAAyB,CAC1C,IAAI,CAAC,MAAM,CAAC,sBAAsB,EAAE,CACrC,CAAC;YACF,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,eAAe,EAAE;gBAC1D,cAAc,EAAE,IAAI,CAAC,cAAc;gBACnC,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,QAAQ,EAAE,QAAQ,IAAI,IAAI,CAAC,gBAAgB,EAAE;gBAC7C,KAAK,EAAE,aAAa;gBACpB,UAAU,EAAE,SAAS;aACtB,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,uCAAuC;YACvC,OAAO,CAAC,IAAI,CAAC,qCAAqC,EAAE,KAAK,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,CAAC,uBAAuB,CACpC,MAAuC;QAEvC,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QACpC,IAAI,gBAAwC,CAAC;QAE7C,IAAI,CAAC;YACH,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBACjC,6CAA6C;gBAC7C,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;oBACvC,MAAM,OAAO,GAAG,KAAiB,CAAC;oBAClC,IAAI,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC;wBAC5B,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;oBAC5C,CAAC;gBACH,CAAC;gBAED,MAAM,KAAK,CAAC;YACd,CAAC;YAED,yCAAyC;YACzC,IAAI,gBAAgB,EAAE,CAAC;gBACrB,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;gBAC/C,MAAM,WAAW,GACf,IAAI,CAAC,gCAAgC,CAAC,gBAAgB,CAAC,CAAC;gBAE1D,8CAA8C;gBAC9C,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;gBAEvC,6DAA6D;gBAC7D,MAAM,YAAY,GAAG,WAAW,CAAC,kBAAkB,CAAC;gBACpD,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CACtC,QAAQ,EACR,IAAI,EACJ,YAAY,EACZ,CAAC,CACF,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,sCAAsC;YACtC,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YAC/C,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAC7D,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,CAAC,iBAAiB,CAC9B,MAAuC,EACvC,QAAgB;QAEhB,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QACpC,IAAI,eAAe,GAAG,EAAE,CAAC;QACzB,IAAI,gBAAgB,GAAG,KAAK,CAAC;QAC7B,IAAI,gBAAwC,CAAC;QAE7C,IAAI,CAAC;YACH,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBACjC,6EAA6E;gBAC7E,MAAM,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;gBACjD,IAAI,OAAO,EAAE,CAAC;oBACZ,eAAe,IAAI,OAAO,CAAC;gBAC7B,CAAC;gBAED,6CAA6C;gBAC7C,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;oBACvC,MAAM,OAAO,GAAG,KAAiB,CAAC;oBAClC,IAAI,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC;wBAC5B,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;oBAC5C,CAAC;gBACH,CAAC;gBAED,MAAM,KAAK,CAAC;YACd,CAAC;YACD,gBAAgB,GAAG,IAAI,CAAC;QAC1B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;YACpC,MAAM,IAAI,CAAC,WAAW,CACpB,EAAE,EACF,QAAQ,EACR,SAAS,GAAG,SAAS,EACrB,KAAK,EACL,KAAK,EACL,gBAAgB,CACjB,CAAC;YACF,MAAM,KAAK,CAAC;QACd,CAAC;QAED,IAAI,gBAAgB,EAAE,CAAC;YACrB,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YAChD,MAAM,IAAI,CAAC,WAAW,CACpB,eAAe,EACf,QAAQ,EACR,SAAS,EACT,IAAI,EACJ,SAAS,EACT,gBAAgB,CACjB,CAAC;QACJ,CAAC;IACH,CAAC;IAED,oEAAoE;IAC5D,oBAAoB,CAAC,KAAc;QACzC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACxC,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,GAAG,GAAG,KAAgC,CAAC;QAE7C,2BAA2B;QAC3B,IAAI,GAAG,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9C,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAA4B,CAAC;YACzD,IAAI,MAAM,EAAE,KAAK,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACtD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAgC,CAAC;gBACtD,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;oBACtC,OAAO,KAAK,CAAC,OAAO,CAAC;gBACvB,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;IAEO,KAAK,CAAC,WAAW,CACvB,OAAe,EACf,QAAgB,EAChB,QAAgB,EAChB,OAAgB,EAChB,KAAe,EACf,UAAuB;QAEvB,IAAI,CAAC;YACH,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CACzD,OAAO,EACP,IAAI,CAAC,OAAO,CAAC,IAAI,CAClB,CAAC;YAEF,oEAAoE;YACpE,MAAM,WAAW,GAAG,UAAU;gBAC5B,CAAC,CAAC,IAAI,CAAC,gCAAgC,CAAC,UAAU,CAAC;gBACnD,CAAC,CAAC,IAAI,CAAC,8BAA8B,CAAC,OAAO,CAAC,CAAC;YAEjD,8CAA8C;YAC9C,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;YAEvC,6DAA6D;YAC7D,MAAM,YAAY,GAAG,WAAW,CAAC,kBAAkB,CAAC;YACpD,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;YAE1E,sCAAsC;YACtC,MAAM,WAAW,GACf,WAAW,CAAC,iBAAiB;gBAC7B,WAAW,CAAC,kBAAkB;gBAC9B,WAAW,CAAC,0BAA0B;gBACtC,WAAW,CAAC,oBAAoB;gBAChC,WAAW,CAAC,gBAAgB,CAAC;YAE/B,+BAA+B;YAC/B,aAAa,CACX,IAAI,CAAC,MAAM,EACX,IAAI,eAAe,CACjB,IAAI,CAAC,OAAO,CAAC,IAAI,EACjB,IAAI,CAAC,cAAc,EACnB,WAAW,CAAC,iBAAiB,EAC7B,WAAW,CAAC,kBAAkB,EAC9B,WAAW,CAAC,0BAA0B,EACtC,WAAW,CAAC,gBAAgB,EAC5B,WAAW,CAAC,oBAAoB,EAChC,WAAW,CACZ,CACF,CAAC;YAEF,MAAM,KAAK,GAAG,IAAI,yBAAyB,CACzC,IAAI,CAAC,OAAO,CAAC,IAAI,EACjB,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,UAAU,EACf,QAAQ,EACR,eAAe,EACf,QAAQ,EACR,OAAO,EACP,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAClC,CAAC;YAEF,uBAAuB,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAE5C,qBAAqB;YACrB,MAAM,UAAU,GAAG,yBAAyB,CAC1C,IAAI,CAAC,MAAM,CAAC,sBAAsB,EAAE,CACrC,CAAC;YACF,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,eAAe,EAAE;gBAC3D,cAAc,EAAE,IAAI,CAAC,cAAc;gBACnC,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,QAAQ;gBACR,QAAQ;gBACR,OAAO;gBACP,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;aACzC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,QAAQ,EAAE,CAAC;YAClB,OAAO,CAAC,IAAI,CAAC,sCAAsC,EAAE,QAAQ,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAEO,sBAAsB;QAC5B,OAAO,QAAQ,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;IACzE,CAAC;IAEO,gBAAgB;QACtB,OAAO,UAAU,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;IAC3E,CAAC;IAED;;OAEG;IACK,gCAAgC,CAAC,UAAsB;QAO7D,OAAO;YACL,iBAAiB,EAAE,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC;YACvD,kBAAkB,EAAE,MAAM,CAAC,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC;YAC5D,0BAA0B,EAAE,CAAC,EAAE,oCAAoC;YACnE,oBAAoB,EAAE,CAAC,EAAE,oCAAoC;YAC7D,gBAAgB,EAAE,CAAC,EAAE,oCAAoC;SAC1D,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,8BAA8B,CAAC,QAAiB;QAO9C,mCAAmC;QACnC,IAAI,iBAAiB,GAAG,CAAC,CAAC;QAC1B,IAAI,kBAAkB,GAAG,CAAC,CAAC;QAC3B,IAAI,0BAA0B,GAAG,CAAC,CAAC;QACnC,IAAI,oBAAoB,GAAG,CAAC,CAAC;QAC7B,IAAI,gBAAgB,GAAG,CAAC,CAAC;QAEzB,IAAI,CAAC;YACH,4DAA4D;YAC5D,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBACjC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBACpC,2CAA2C;gBAC3C,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;oBACjB,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;oBAC5D,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;oBACjE,0BAA0B;wBACxB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;oBAClD,oBAAoB,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;oBACjE,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBAC3D,CAAC;YACH,CAAC;iBAAM,IAAI,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBACpD,2CAA2C;gBAC3C,MAAM,GAAG,GAAG,QAAmC,CAAC;gBAChD,IAAI,GAAG,CAAC,KAAK,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;oBAC/C,MAAM,KAAK,GAAG,GAAG,CAAC,KAAgC,CAAC;oBACnD,iBAAiB,GAAG,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;oBACrD,kBAAkB,GAAG,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;oBAC1D,0BAA0B,GAAG,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;oBACtE,oBAAoB,GAAG,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;oBAC1D,gBAAgB,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBACpD,CAAC;gBAED,oCAAoC;gBACpC,IAAI,GAAG,CAAC,OAAO,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;oBACnD,MAAM,OAAO,GAAG,GAAG,CAAC,OAAiC,CAAC;oBACtD,IAAI,OAAO,CAAC,wBAAwB,CAAC,EAAE,CAAC;wBACtC,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,wBAAwB,CAAC,EAAE,EAAE,CAAC,CAAC;wBACpE,iBAAiB;4BACf,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,WAAW,IAAI,CAAC;gCACrC,CAAC,CAAC,WAAW;gCACb,CAAC,CAAC,iBAAiB,CAAC;oBAC1B,CAAC;oBACD,IAAI,OAAO,CAAC,yBAAyB,CAAC,EAAE,CAAC;wBACvC,MAAM,WAAW,GAAG,QAAQ,CAC1B,OAAO,CAAC,yBAAyB,CAAC,EAClC,EAAE,CACH,CAAC;wBACF,kBAAkB;4BAChB,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,WAAW,IAAI,CAAC;gCACrC,CAAC,CAAC,WAAW;gCACb,CAAC,CAAC,kBAAkB,CAAC;oBAC3B,CAAC;gBACH,CAAC;YACH,CAAC;YAED,6DAA6D;YAC7D,OAAO;gBACL,iBAAiB,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,iBAAiB,CAAC;gBACjD,kBAAkB,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAkB,CAAC;gBACnD,0BAA0B,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,0BAA0B,CAAC;gBACnE,oBAAoB,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,oBAAoB,CAAC;gBACvD,gBAAgB,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,gBAAgB,CAAC;aAChD,CAAC;QACJ,CAAC;QAAC,OAAO,MAAM,EAAE,CAAC;YAChB,yCAAyC;YACzC,OAAO;gBACL,iBAAiB,EAAE,CAAC;gBACpB,kBAAkB,EAAE,CAAC;gBACrB,0BAA0B,EAAE,CAAC;gBAC7B,oBAAoB,EAAE,CAAC;gBACvB,gBAAgB,EAAE,CAAC;aACpB,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACK,oBAAoB,CAAC,WAM5B;QACC,sCAAsC;QACtC,MAAM,KAAK,GAAG;YACZ,KAAK,EAAE,WAAW,CAAC,iBAAiB,IAAI,CAAC;YACzC,MAAM,EAAE,WAAW,CAAC,kBAAkB,IAAI,CAAC;YAC3C,KAAK,EAAE,WAAW,CAAC,0BAA0B,IAAI,CAAC;YAClD,OAAO,EAAE,WAAW,CAAC,oBAAoB,IAAI,CAAC;YAC9C,IAAI,EAAE,WAAW,CAAC,gBAAgB,IAAI,CAAC;SACxC,CAAC;QAEF,+DAA+D;QAC/D,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC;QACzD,IAAI,eAAe,EAAE,CAAC;YACpB,IAAI,CAAC;gBACH,OAAO,CAAC,KAAK,CACX,gCAAgC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,OAAO,wBAAwB,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CACjJ,CAAC;gBACF,eAAe,CAAC,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACpE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,IAAI,CAAC,sCAAsC,EAAE,KAAK,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CACV,oFAAoF,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CACxG,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,WAAW,CACvB,QAAgB,EAChB,MAAe,EACf,MAAe,EACf,SAAiB,EACjB,OAAgB,EAChB,KAAe;QAEf,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC3B,MAAM,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;YAErC,sDAAsD;YACtD,IAAI,QAAQ,GAAG,IAAI,CAAC;YACpB,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,UAAU,IAAI,MAAM,EAAE,CAAC;gBACjE,MAAM,QAAQ,GAAI,MAAgD;qBAC/D,QAAQ,CAAC;gBACZ,IAAI,QAAQ,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;oBAClC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;gBAC/B,CAAC;YACH,CAAC;YAED,gBAAgB;YAChB,MAAM,UAAU,GAAG,yBAAyB,CAC1C,IAAI,CAAC,MAAM,CAAC,sBAAsB,EAAE,CACrC,CAAC;YACF,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE;gBACpD,cAAc,EAAE,IAAI,CAAC,cAAc;gBACnC,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC;oBACnC,IAAI,EAAE,UAAU;oBAChB,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAgB,EAAE;iBAC3D,CAAC,CAAC,QAAQ,CAAC,UAAU;gBACtB,MAAM;gBACN,QAAQ;gBACR,OAAO;gBACP,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;gBACxC,QAAQ;aACT,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,QAAQ,EAAE,CAAC;YAClB,OAAO,CAAC,IAAI,CAAC,0BAA0B,EAAE,QAAQ,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAED,gEAAgE;IAChE,QAAQ,CAAE,OAAe;QACvB,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,IAAI,EAAE,CAAC;IAChD,CAAC;IAED,SAAS,CAAE,MAAc;QACvB,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IAED,UAAU,CAAE,OAAgB;QAC1B,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,CAAC;IAC9C,CAAC;IAED,qBAAqB,CAAE,MAAqB;QAC1C,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,MAAM,CAAC,CAAC;IAC/C,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,IAAI,KAAK,CAAC;IAC9C,CAAC;IAED,UAAU;QACR,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;QAC5B,mCAAmC;QACnC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;QACpD,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;IACtB,CAAC;IAED,SAAS,CAAE,MAAe;QACxB,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,QAAgB,EAChB,MAAe,EACf,MAAgB;QAEhB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAChD,QAAQ,EACR,MAAM,EACN,MAAM,CACP,CAAC;YAEF,8DAA8D;YAC9D,IAAI,IAAI,CAAC,MAAM,CAAC,6BAA6B,EAAE,EAAE,CAAC;gBAChD,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YACpE,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,6CAA6C;YAC7C,IAAI,IAAI,CAAC,MAAM,CAAC,6BAA6B,EAAE,EAAE,CAAC;gBAChD,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;YAC1E,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,cAAc,CAAE,MAA2C;QACzD,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;IACzC,CAAC;IAED;;;OAGG;IACH,qBAAqB;QACnB,OAAO,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,EAAE,CAAC;IACpD,CAAC;CACF"}
1
+ {"version":3,"file":"LoggingProviderWrapper.js","sourceRoot":"","sources":["../../../src/providers/LoggingProviderWrapper.ts"],"names":[],"mappings":"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"}
@@ -4,21 +4,88 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  * @plan PLAN-20250909-TOKTRACK.P08
6
6
  */
7
- import { IProvider } from './IProvider.js';
7
+ import { IProvider, GenerateChatOptions } from './IProvider.js';
8
8
  import { IModel } from './IModel.js';
9
9
  import { IProviderManager } from './IProviderManager.js';
10
10
  import { Config } from '../config/config.js';
11
11
  import type { ProviderCapabilities, ProviderComparison } from './types.js';
12
+ import type { SettingsService } from '../settings/SettingsService.js';
13
+ import { type ProviderRuntimeContext } from '../runtime/providerRuntimeContext.js';
14
+ interface ProviderManagerInit {
15
+ runtime?: ProviderRuntimeContext;
16
+ config?: Config;
17
+ settingsService?: SettingsService;
18
+ }
12
19
  export declare class ProviderManager implements IProviderManager {
13
20
  private providers;
14
21
  private serverToolsProvider;
15
22
  private config?;
23
+ /**
24
+ * @plan PLAN-20250218-STATELESSPROVIDER.P05
25
+ * @requirement REQ-SP-001
26
+ * @pseudocode provider-invocation.md lines 8-15
27
+ */
28
+ private settingsService;
29
+ private runtime?;
16
30
  private providerCapabilities;
17
31
  private sessionTokenUsage;
18
- constructor();
32
+ constructor(init?: ProviderManagerInit | ProviderRuntimeContext);
33
+ /**
34
+ * @plan PLAN-20250218-STATELESSPROVIDER.P05
35
+ * @requirement REQ-SP-001
36
+ * @pseudocode provider-invocation.md lines 8-15
37
+ * @plan:PLAN-20251018-STATELESSPROVIDER2.P03
38
+ * @requirement:REQ-SP2-002
39
+ * @pseudocode multi-runtime-baseline.md lines 3-4
40
+ */
41
+ private resolveInit;
19
42
  setConfig(config: Config): void;
43
+ /**
44
+ * @plan PLAN-20251018-STATELESSPROVIDER2.P06
45
+ * @requirement REQ-SP2-001
46
+ * @pseudocode base-provider-call-contract.md lines 3-5
47
+ */
20
48
  private updateProviderWrapping;
49
+ /**
50
+ * @plan PLAN-20250218-STATELESSPROVIDER.P05
51
+ * @requirement REQ-SP-001
52
+ * @pseudocode provider-invocation.md lines 8-15
53
+ * @plan:PLAN-20251023-STATELESS-HARDENING.P05
54
+ * @requirement:REQ-SP4-001
55
+ * @pseudocode provider-runtime-handling.md lines 10-15
56
+ */
57
+ private syncProviderRuntime;
58
+ /**
59
+ * @plan:PLAN-20251023-STATELESS-HARDENING.P05
60
+ * @requirement:REQ-SP4-001
61
+ * @pseudocode provider-runtime-handling.md lines 10-15
62
+ */
63
+ private snapshotRuntimeContext;
64
+ /**
65
+ * @plan:PLAN-20251023-STATELESS-HARDENING.P08
66
+ * @requirement:REQ-SP4-002
67
+ * @requirement:REQ-SP4-003
68
+ * @requirement:REQ-SP4-004
69
+ * @requirement:REQ-SP4-005
70
+ * @pseudocode provider-runtime-handling.md lines 10-16
71
+ *
72
+ * Normalize runtime inputs per call - no stored settings/config fallbacks.
73
+ * This method enforces that all runtime context is provided per-call and that
74
+ * providers cannot rely on stored state.
75
+ */
76
+ normalizeRuntimeInputs(rawOptions: GenerateChatOptions, providerName?: string): GenerateChatOptions;
77
+ private buildEphemeralsSnapshot;
78
+ /**
79
+ * @plan PLAN-20251018-STATELESSPROVIDER2.P06
80
+ * @requirement REQ-SP2-001
81
+ * @pseudocode base-provider-call-contract.md lines 3-5
82
+ */
21
83
  registerProvider(provider: IProvider): void;
84
+ /**
85
+ * @plan PLAN-20251018-STATELESSPROVIDER2.P06
86
+ * @requirement REQ-SP2-001
87
+ * @pseudocode base-provider-call-contract.md lines 3-5
88
+ */
22
89
  setActiveProvider(name: string): void;
23
90
  clearActiveProvider(): void;
24
91
  getActiveProvider(): IProvider;
@@ -34,6 +101,7 @@ export declare class ProviderManager implements IProviderManager {
34
101
  setServerToolsProvider(provider: IProvider | null): void;
35
102
  private generateConversationId;
36
103
  private isContextPreserved;
104
+ private getStoredModelName;
37
105
  private captureProviderCapabilities;
38
106
  private detectVisionSupport;
39
107
  private getProviderMaxTokens;
@@ -72,6 +140,9 @@ export declare class ProviderManager implements IProviderManager {
72
140
  getProviderMetrics(providerName?: string): any;
73
141
  resetConversationContext(): void;
74
142
  getProviderCapabilities(providerName?: string): ProviderCapabilities | undefined;
143
+ prepareStatelessProviderInvocation(context?: ProviderRuntimeContext): void;
144
+ private attachStatelessRuntimeMetadata;
75
145
  compareProviders(provider1: string, provider2: string): ProviderComparison;
76
146
  private generateProviderRecommendation;
77
147
  }
148
+ export {};