@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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtime/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;GAIG;AAEH,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ /**
7
+ * @plan:PLAN-20250218-STATELESSPROVIDER.P03
8
+ * @requirement:REQ-SP-002.1
9
+ * Derived from pseudocode/provider-invocation.md:2 and pseudocode/cli-runtime.md:5.
10
+ */
11
+ import { SettingsService } from '../settings/SettingsService.js';
12
+ import type { Config } from '../config/config.js';
13
+ export interface ProviderRuntimeContext {
14
+ settingsService: SettingsService;
15
+ config?: Config;
16
+ runtimeId?: string;
17
+ metadata?: Record<string, unknown>;
18
+ }
19
+ export interface ProviderRuntimeContextInit {
20
+ settingsService?: SettingsService;
21
+ config?: Config;
22
+ runtimeId?: string;
23
+ metadata?: Record<string, unknown>;
24
+ }
25
+ export declare function createProviderRuntimeContext(init?: ProviderRuntimeContextInit): ProviderRuntimeContext;
26
+ export declare function setActiveProviderRuntimeContext(context: ProviderRuntimeContext | null): void;
27
+ export declare function clearActiveProviderRuntimeContext(): void;
28
+ export declare function peekActiveProviderRuntimeContext(): ProviderRuntimeContext | null;
29
+ export declare function getActiveProviderRuntimeContext(): ProviderRuntimeContext;
30
+ export declare function setProviderRuntimeContextFallback(factory: (() => ProviderRuntimeContext) | null): void;
@@ -0,0 +1,70 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ /**
7
+ * @plan:PLAN-20250218-STATELESSPROVIDER.P03
8
+ * @requirement:REQ-SP-002.1
9
+ * Derived from pseudocode/provider-invocation.md:2 and pseudocode/cli-runtime.md:5.
10
+ */
11
+ import { SettingsService } from '../settings/SettingsService.js';
12
+ import { MissingProviderRuntimeError } from '../providers/errors.js';
13
+ let activeContext = null;
14
+ let fallbackFactory = null;
15
+ export function createProviderRuntimeContext(init = {}) {
16
+ return {
17
+ settingsService: init.settingsService ?? new SettingsService(),
18
+ config: init.config,
19
+ runtimeId: init.runtimeId,
20
+ metadata: init.metadata,
21
+ };
22
+ }
23
+ export function setActiveProviderRuntimeContext(context) {
24
+ activeContext = context;
25
+ }
26
+ export function clearActiveProviderRuntimeContext() {
27
+ activeContext = null;
28
+ }
29
+ export function peekActiveProviderRuntimeContext() {
30
+ return activeContext;
31
+ }
32
+ export function getActiveProviderRuntimeContext() {
33
+ if (activeContext) {
34
+ return activeContext;
35
+ }
36
+ if (fallbackFactory) {
37
+ const fallbackContext = fallbackFactory();
38
+ if (!fallbackContext?.settingsService) {
39
+ throw new MissingProviderRuntimeError({
40
+ providerKey: 'provider-runtime',
41
+ missingFields: ['settings'],
42
+ requirement: 'REQ-SP4-004',
43
+ stage: 'fallbackFactory',
44
+ metadata: {
45
+ hint: 'Fallback context must supply SettingsService.',
46
+ },
47
+ message: 'MissingProviderRuntimeError(provider-runtime): fallback context is missing SettingsService (REQ-SP4-004).',
48
+ });
49
+ }
50
+ activeContext = fallbackContext;
51
+ return fallbackContext;
52
+ }
53
+ throw new MissingProviderRuntimeError({
54
+ providerKey: 'provider-runtime',
55
+ missingFields: ['runtime registration'],
56
+ requirement: 'REQ-SP4-004',
57
+ stage: 'getActiveProviderRuntimeContext',
58
+ metadata: {
59
+ hint: 'Call activateIsolatedRuntimeContext() + registerCliProviderInfrastructure() before invoking providers or CLI helpers.',
60
+ },
61
+ message: 'MissingProviderRuntimeError(provider-runtime): runtime registration missing. Run activateIsolatedRuntimeContext() before invoking providers (REQ-SP4-004).',
62
+ });
63
+ }
64
+ export function setProviderRuntimeContextFallback(factory) {
65
+ fallbackFactory = factory;
66
+ if (!activeContext && fallbackFactory) {
67
+ activeContext = fallbackFactory();
68
+ }
69
+ }
70
+ //# sourceMappingURL=providerRuntimeContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"providerRuntimeContext.js","sourceRoot":"","sources":["../../../src/runtime/providerRuntimeContext.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEjE,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AASrE,IAAI,aAAa,GAAkC,IAAI,CAAC;AACxD,IAAI,eAAe,GAA0C,IAAI,CAAC;AASlE,MAAM,UAAU,4BAA4B,CAC1C,OAAmC,EAAE;IAErC,OAAO;QACL,eAAe,EAAE,IAAI,CAAC,eAAe,IAAI,IAAI,eAAe,EAAE;QAC9D,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;KACxB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,+BAA+B,CAC7C,OAAsC;IAEtC,aAAa,GAAG,OAAO,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,iCAAiC;IAC/C,aAAa,GAAG,IAAI,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,gCAAgC;IAC9C,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,+BAA+B;IAC7C,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,IAAI,eAAe,EAAE,CAAC;QACpB,MAAM,eAAe,GAAG,eAAe,EAAE,CAAC;QAC1C,IAAI,CAAC,eAAe,EAAE,eAAe,EAAE,CAAC;YACtC,MAAM,IAAI,2BAA2B,CAAC;gBACpC,WAAW,EAAE,kBAAkB;gBAC/B,aAAa,EAAE,CAAC,UAAU,CAAC;gBAC3B,WAAW,EAAE,aAAa;gBAC1B,KAAK,EAAE,iBAAiB;gBACxB,QAAQ,EAAE;oBACR,IAAI,EAAE,+CAA+C;iBACtD;gBACD,OAAO,EACL,2GAA2G;aAC9G,CAAC,CAAC;QACL,CAAC;QACD,aAAa,GAAG,eAAe,CAAC;QAChC,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,MAAM,IAAI,2BAA2B,CAAC;QACpC,WAAW,EAAE,kBAAkB;QAC/B,aAAa,EAAE,CAAC,sBAAsB,CAAC;QACvC,WAAW,EAAE,aAAa;QAC1B,KAAK,EAAE,iCAAiC;QACxC,QAAQ,EAAE;YACR,IAAI,EAAE,uHAAuH;SAC9H;QACD,OAAO,EACL,4JAA4J;KAC/J,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,iCAAiC,CAC/C,OAA8C;IAE9C,eAAe,GAAG,OAAO,CAAC;IAC1B,IAAI,CAAC,aAAa,IAAI,eAAe,EAAE,CAAC;QACtC,aAAa,GAAG,eAAe,EAAE,CAAC;IACpC,CAAC;AACH,CAAC"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Vybestack LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type { ProviderManager } from '../providers/ProviderManager.js';
7
+ import type { IProviderManager } from '../providers/IProviderManager.js';
8
+ import type { Config } from '../config/config.js';
9
+ import type { ToolRegistry } from '../tools/tool-registry.js';
10
+ import type { AgentRuntimeProviderAdapter, AgentRuntimeTelemetryAdapter, ToolRegistryView } from './AgentRuntimeContext.js';
11
+ /**
12
+ * Creates a mutable provider adapter backed by a ProviderManager instance.
13
+ */
14
+ export declare function createProviderAdapterFromManager(manager?: ProviderManager | IProviderManager): AgentRuntimeProviderAdapter;
15
+ /**
16
+ * Creates a telemetry adapter that bridges to legacy Config-backed loggers.
17
+ */
18
+ export declare function createTelemetryAdapterFromConfig(config: Config): AgentRuntimeTelemetryAdapter;
19
+ /**
20
+ * Creates a ToolRegistryView from an optional ToolRegistry.
21
+ */
22
+ export declare function createToolRegistryViewFromRegistry(registry?: ToolRegistry): ToolRegistryView;
@@ -0,0 +1,81 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Vybestack LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { logApiRequest, logApiResponse, logApiError, } from '../telemetry/loggers.js';
7
+ import { ApiRequestEvent as LegacyApiRequestEvent, ApiResponseEvent as LegacyApiResponseEvent, ApiErrorEvent as LegacyApiErrorEvent, } from '../telemetry/types.js';
8
+ /**
9
+ * Creates a mutable provider adapter backed by a ProviderManager instance.
10
+ */
11
+ export function createProviderAdapterFromManager(manager) {
12
+ if (!manager) {
13
+ return {
14
+ getActiveProvider: () => {
15
+ throw new Error('AgentRuntimeContext provider adapter requires a ProviderManager instance.');
16
+ },
17
+ setActiveProvider: () => {
18
+ throw new Error('AgentRuntimeContext provider adapter requires a ProviderManager instance.');
19
+ },
20
+ };
21
+ }
22
+ return {
23
+ getActiveProvider: () => manager.getActiveProvider(),
24
+ setActiveProvider: (name) => manager.setActiveProvider(name),
25
+ };
26
+ }
27
+ /**
28
+ * Creates a telemetry adapter that bridges to legacy Config-backed loggers.
29
+ */
30
+ export function createTelemetryAdapterFromConfig(config) {
31
+ return {
32
+ logApiRequest: (event) => {
33
+ const legacy = new LegacyApiRequestEvent(event.model, event.promptId ?? event.runtimeId ?? 'runtime', event.requestText);
34
+ logApiRequest(config, legacy);
35
+ },
36
+ logApiResponse: (event) => {
37
+ const legacy = new LegacyApiResponseEvent(event.model, event.durationMs, event.promptId ?? event.runtimeId ?? 'runtime', event.authType, event.usageMetadata, event.responseText, event.error);
38
+ logApiResponse(config, legacy);
39
+ },
40
+ logApiError: (event) => {
41
+ const legacy = new LegacyApiErrorEvent(event.model, event.error, event.durationMs, event.promptId ?? event.runtimeId ?? 'runtime', event.authType, event.errorType, event.statusCode);
42
+ logApiError(config, legacy);
43
+ },
44
+ };
45
+ }
46
+ /**
47
+ * Creates a ToolRegistryView from an optional ToolRegistry.
48
+ */
49
+ export function createToolRegistryViewFromRegistry(registry) {
50
+ if (!registry) {
51
+ return {
52
+ listToolNames: () => [],
53
+ getToolMetadata: () => undefined,
54
+ };
55
+ }
56
+ return {
57
+ listToolNames: () => registry.getAllToolNames(),
58
+ getToolMetadata: (name) => {
59
+ const tool = registry.getTool(name);
60
+ if (!tool) {
61
+ return undefined;
62
+ }
63
+ const schema = tool
64
+ .schema;
65
+ const description = typeof schema?.description === 'string'
66
+ ? schema.description
67
+ : typeof tool.description === 'string'
68
+ ? tool.description
69
+ : '';
70
+ const parameterSchema = schema?.parameters ??
71
+ schema
72
+ ?.parametersJsonSchema;
73
+ return {
74
+ name: tool.name ?? name,
75
+ description,
76
+ parameterSchema,
77
+ };
78
+ },
79
+ };
80
+ }
81
+ //# sourceMappingURL=runtimeAdapters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtimeAdapters.js","sourceRoot":"","sources":["../../../src/runtime/runtimeAdapters.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Vybestack LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type { AgentRuntimeState, RuntimeStateParams } from './AgentRuntimeState.js';
7
+ import type { Config } from '../config/config.js';
8
+ /**
9
+ * Options when deriving runtime state from Config.
10
+ */
11
+ export interface RuntimeStateFromConfigOptions {
12
+ runtimeId?: string;
13
+ overrides?: Partial<Omit<RuntimeStateParams, 'runtimeId'>>;
14
+ }
15
+ /**
16
+ * Creates an AgentRuntimeState using the current Config snapshot.
17
+ *
18
+ * This is a migration helper: it reads legacy Config data once, converts it to
19
+ * runtime state, and returns an immutable snapshot for stateless operation.
20
+ */
21
+ export declare function createAgentRuntimeStateFromConfig(config: Config, options?: RuntimeStateFromConfigOptions): AgentRuntimeState;
@@ -0,0 +1,104 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Vybestack LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ /**
7
+ * @plan PLAN-20251027-STATELESS5.P05
8
+ * @requirement REQ-STAT5-002.3
9
+ * @pseudocode runtime-state.md lines 114-138
10
+ *
11
+ * Helper functions for constructing AgentRuntimeState instances from legacy
12
+ * Config objects during the Phase 5 migration period.
13
+ */
14
+ import { createAgentRuntimeState } from './AgentRuntimeState.js';
15
+ import { DEFAULT_GEMINI_MODEL } from '../config/models.js';
16
+ import { AuthType, } from '../core/contentGenerator.js';
17
+ function buildAuthPayload(authType, contentConfig) {
18
+ if (!contentConfig) {
19
+ return undefined;
20
+ }
21
+ if (authType === AuthType.API_KEY || authType === AuthType.USE_GEMINI) {
22
+ if (contentConfig.apiKey) {
23
+ return { apiKey: contentConfig.apiKey };
24
+ }
25
+ }
26
+ // OAuth tokens are managed elsewhere; Phase 5 runtime state stores the type.
27
+ return undefined;
28
+ }
29
+ function isValidUrl(candidate) {
30
+ if (typeof candidate !== 'string') {
31
+ return false;
32
+ }
33
+ try {
34
+ new URL(candidate);
35
+ return true;
36
+ }
37
+ catch {
38
+ return false;
39
+ }
40
+ }
41
+ function resolveRuntimeId(config, explicitId) {
42
+ if (explicitId) {
43
+ return explicitId;
44
+ }
45
+ if (typeof config.getSessionId === 'function') {
46
+ const sessionId = config.getSessionId();
47
+ if (sessionId) {
48
+ return sessionId;
49
+ }
50
+ }
51
+ return `runtime-${Date.now().toString(36)}-${Math.random()
52
+ .toString(36)
53
+ .slice(2, 8)}`;
54
+ }
55
+ /**
56
+ * Creates an AgentRuntimeState using the current Config snapshot.
57
+ *
58
+ * This is a migration helper: it reads legacy Config data once, converts it to
59
+ * runtime state, and returns an immutable snapshot for stateless operation.
60
+ */
61
+ export function createAgentRuntimeStateFromConfig(config, options = {}) {
62
+ const contentConfig = typeof config.getContentGeneratorConfig === 'function'
63
+ ? config.getContentGeneratorConfig()
64
+ : undefined;
65
+ const overrides = options.overrides ?? {};
66
+ const provider = overrides.provider ??
67
+ (typeof config.getProvider === 'function'
68
+ ? (config.getProvider() ?? undefined)
69
+ : undefined) ??
70
+ 'gemini';
71
+ const model = overrides.model ??
72
+ contentConfig?.model ??
73
+ (typeof config.getModel === 'function'
74
+ ? (config.getModel() ?? undefined)
75
+ : undefined) ??
76
+ DEFAULT_GEMINI_MODEL;
77
+ const authType = overrides.authType ?? contentConfig?.authType ?? AuthType.USE_NONE;
78
+ const authPayload = overrides.authPayload ?? buildAuthPayload(authType, contentConfig);
79
+ const baseUrlCandidate = overrides.baseUrl ??
80
+ (typeof config.getEphemeralSetting === 'function'
81
+ ? config.getEphemeralSetting('base-url')
82
+ : undefined);
83
+ const baseUrl = isValidUrl(baseUrlCandidate) ? baseUrlCandidate : undefined;
84
+ const proxyUrl = overrides.proxyUrl ??
85
+ (typeof config.getProxy === 'function' ? config.getProxy() : undefined);
86
+ const modelParams = overrides.modelParams;
87
+ const sessionId = overrides.sessionId ??
88
+ (typeof config.getSessionId === 'function'
89
+ ? config.getSessionId()
90
+ : undefined);
91
+ const runtimeId = resolveRuntimeId(config, options.runtimeId);
92
+ return createAgentRuntimeState({
93
+ runtimeId,
94
+ provider,
95
+ model,
96
+ authType,
97
+ authPayload,
98
+ baseUrl,
99
+ proxyUrl,
100
+ modelParams,
101
+ sessionId,
102
+ });
103
+ }
104
+ //# sourceMappingURL=runtimeStateFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtimeStateFactory.js","sourceRoot":"","sources":["../../../src/runtime/runtimeStateFactory.ts"],"names":[],"mappings":"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"}
@@ -3,29 +3,31 @@
3
3
  * Copyright 2025 Vybestack LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- /**
7
- * Service to track which todo item is currently active in a session.
8
- * This allows associating tool calls with the active todo.
9
- */
10
6
  export declare class TodoContextTracker {
11
7
  private readonly _sessionId;
8
+ private readonly _agentId;
12
9
  private static instances;
13
10
  private activeTodoId;
14
11
  private constructor();
15
12
  /**
16
- * Get or create a tracker instance for a session
13
+ * Get or create a tracker instance for a session/agent combination.
14
+ */
15
+ static forAgent(sessionId: string, agentId?: string): TodoContextTracker;
16
+ /**
17
+ * Get or create a tracker instance for a session in the default agent scope.
18
+ * This preserves backward compatibility with existing callers.
17
19
  */
18
20
  static forSession(sessionId: string): TodoContextTracker;
19
21
  /**
20
- * Set the active todo for this session
22
+ * Set the active todo for this session/agent scope.
21
23
  */
22
24
  setActiveTodo(todoId: string | null): void;
23
25
  /**
24
- * Get the active todo ID for this session
26
+ * Get the active todo ID for this session/agent scope.
25
27
  */
26
28
  getActiveTodoId(): string | null;
27
29
  /**
28
- * Clear the active todo for this session
30
+ * Clear the active todo for this session/agent scope.
29
31
  */
30
32
  clearActiveTodo(): void;
31
33
  }
@@ -4,41 +4,57 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  /**
7
- * Service to track which todo item is currently active in a session.
7
+ * Service to track which todo item is currently active in a session and agent scope.
8
8
  * This allows associating tool calls with the active todo.
9
9
  */
10
+ import { DEFAULT_AGENT_ID } from '../core/turn.js';
10
11
  export class TodoContextTracker {
11
12
  _sessionId;
13
+ _agentId;
12
14
  static instances = new Map();
13
15
  activeTodoId = null;
14
- constructor(_sessionId) {
16
+ constructor(_sessionId, _agentId) {
15
17
  this._sessionId = _sessionId;
16
- // Session ID reserved for future session-specific functionality
18
+ this._agentId = _agentId;
19
+ // Session and agent IDs reserved for future scope-specific functionality
17
20
  void this._sessionId;
21
+ void this._agentId;
18
22
  }
19
23
  /**
20
- * Get or create a tracker instance for a session
24
+ * Get or create a tracker instance for a session/agent combination.
21
25
  */
22
- static forSession(sessionId) {
26
+ static forAgent(sessionId, agentId) {
27
+ const scopedAgentId = agentId ?? DEFAULT_AGENT_ID;
23
28
  if (!this.instances.has(sessionId)) {
24
- this.instances.set(sessionId, new TodoContextTracker(sessionId));
29
+ this.instances.set(sessionId, new Map());
30
+ }
31
+ const agentMap = this.instances.get(sessionId);
32
+ if (!agentMap.has(scopedAgentId)) {
33
+ agentMap.set(scopedAgentId, new TodoContextTracker(sessionId, scopedAgentId));
25
34
  }
26
- return this.instances.get(sessionId);
35
+ return agentMap.get(scopedAgentId);
36
+ }
37
+ /**
38
+ * Get or create a tracker instance for a session in the default agent scope.
39
+ * This preserves backward compatibility with existing callers.
40
+ */
41
+ static forSession(sessionId) {
42
+ return this.forAgent(sessionId, DEFAULT_AGENT_ID);
27
43
  }
28
44
  /**
29
- * Set the active todo for this session
45
+ * Set the active todo for this session/agent scope.
30
46
  */
31
47
  setActiveTodo(todoId) {
32
48
  this.activeTodoId = todoId;
33
49
  }
34
50
  /**
35
- * Get the active todo ID for this session
51
+ * Get the active todo ID for this session/agent scope.
36
52
  */
37
53
  getActiveTodoId() {
38
54
  return this.activeTodoId;
39
55
  }
40
56
  /**
41
- * Clear the active todo for this session
57
+ * Clear the active todo for this session/agent scope.
42
58
  */
43
59
  clearActiveTodo() {
44
60
  this.activeTodoId = null;
@@ -1 +1 @@
1
- {"version":3,"file":"todo-context-tracker.js","sourceRoot":"","sources":["../../../src/services/todo-context-tracker.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;GAGG;AACH,MAAM,OAAO,kBAAkB;IAKQ;IAJ7B,MAAM,CAAC,SAAS,GAAG,IAAI,GAAG,EAA8B,CAAC;IAEzD,YAAY,GAAkB,IAAI,CAAC;IAE3C,YAAqC,UAAkB;QAAlB,eAAU,GAAV,UAAU,CAAQ;QACrD,gEAAgE;QAChE,KAAK,IAAI,CAAC,UAAU,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,SAAiB;QACjC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YACnC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC;QACnE,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,MAAqB;QACjC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,eAAe;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,eAAe;QACb,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;IAC3B,CAAC"}
1
+ {"version":3,"file":"todo-context-tracker.js","sourceRoot":"","sources":["../../../src/services/todo-context-tracker.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;GAGG;AACH,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnD,MAAM,OAAO,kBAAkB;IAMV;IACA;IANX,MAAM,CAAC,SAAS,GAAG,IAAI,GAAG,EAA2C,CAAC;IAEtE,YAAY,GAAkB,IAAI,CAAC;IAE3C,YACmB,UAAkB,EAClB,QAAgB;QADhB,eAAU,GAAV,UAAU,CAAQ;QAClB,aAAQ,GAAR,QAAQ,CAAQ;QAEjC,yEAAyE;QACzE,KAAK,IAAI,CAAC,UAAU,CAAC;QACrB,KAAK,IAAI,CAAC,QAAQ,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,SAAiB,EAAE,OAAgB;QACjD,MAAM,aAAa,GAAG,OAAO,IAAI,gBAAgB,CAAC;QAElD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YACnC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;QAC3C,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC;QAEhD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;YACjC,QAAQ,CAAC,GAAG,CACV,aAAa,EACb,IAAI,kBAAkB,CAAC,SAAS,EAAE,aAAa,CAAC,CACjD,CAAC;QACJ,CAAC;QAED,OAAO,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAE,CAAC;IACtC,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,UAAU,CAAC,SAAiB;QACjC,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;IACpD,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,MAAqB;QACjC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,eAAe;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,eAAe;QACb,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;IAC3B,CAAC"}
@@ -15,31 +15,31 @@ export declare class ToolCallTrackerService {
15
15
  /**
16
16
  * Starts tracking an executing tool call
17
17
  */
18
- static startTrackingToolCall(sessionId: string, toolName: string, parameters: Record<string, unknown>): string | null;
18
+ static startTrackingToolCall(sessionId: string, toolName: string, parameters: Record<string, unknown>, agentId?: string): string | null;
19
19
  /**
20
20
  * Marks a tool call as completed and moves it to the completed array
21
21
  */
22
- static completeToolCallTracking(sessionId: string, toolCallId: string): Promise<void>;
22
+ static completeToolCallTracking(sessionId: string, toolCallId: string, agentId?: string): Promise<void>;
23
23
  /**
24
24
  * Marks a tool call as failed
25
25
  */
26
- static failToolCallTracking(sessionId: string, toolCallId: string): void;
26
+ static failToolCallTracking(sessionId: string, toolCallId: string, agentId?: string): void;
27
27
  /**
28
28
  * Gets all tool calls (executing and completed) for a specific todo
29
29
  */
30
- static getAllToolCalls(sessionId: string, todoId: string): TodoToolCall[];
30
+ static getAllToolCalls(sessionId: string, todoId: string, agentId?: string): TodoToolCall[];
31
31
  /**
32
32
  * Subscribes to tool call updates
33
33
  */
34
- static subscribeToUpdates(sessionId: string, callback: () => void): () => void;
34
+ static subscribeToUpdates(sessionId: string, callback: () => void, agentId?: string): () => void;
35
35
  /**
36
36
  * Gets all tool calls for testing and debugging purposes
37
37
  */
38
- static getAllToolCallsForSession(sessionId: string): Map<string, TodoToolCalls>;
38
+ static getAllToolCallsForSession(sessionId: string, agentId?: string): Map<string, TodoToolCalls>;
39
39
  /**
40
40
  * Clears all tool calls for a session (for testing purposes)
41
41
  */
42
- static clearToolCallsForSession(sessionId: string): void;
42
+ static clearToolCallsForSession(sessionId: string, agentId?: string): void;
43
43
  /**
44
44
  * Generates a unique ID for tool calls
45
45
  */
@@ -48,5 +48,9 @@ export declare class ToolCallTrackerService {
48
48
  * Notifies all subscribers of updates
49
49
  */
50
50
  private static notifySubscribers;
51
+ /**
52
+ * Resolve an agent identifier, defaulting when missing.
53
+ */
54
+ private static getScopedAgentId;
51
55
  }
52
56
  export {};