@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,213 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Vybestack LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ /**
7
+ * @plan PLAN-20251028-STATELESS6.P06
8
+ * @requirement REQ-STAT6-001.1, REQ-STAT6-002.2
9
+ * @pseudocode agent-runtime-context.md lines 5-17
10
+ *
11
+ * Immutable snapshot of ephemeral settings for agent runtime.
12
+ * These settings can change frequently and are not part of core runtime state.
13
+ */
14
+ export interface ReadonlySettingsSnapshot {
15
+ /** Compression threshold for history (0.0-1.0), default 0.8 */
16
+ compressionThreshold?: number;
17
+ /** Context window limit in tokens (provider default when unspecified) */
18
+ contextLimit?: number;
19
+ /** Preserve threshold for compression (0.0-1.0), default 0.2 */
20
+ preserveThreshold?: number;
21
+ /** Override for tool format string, optional */
22
+ toolFormatOverride?: string;
23
+ /** Telemetry configuration */
24
+ telemetry?: {
25
+ enabled: boolean;
26
+ target: TelemetryTarget | null;
27
+ redaction?: TelemetryRedactionConfig;
28
+ };
29
+ /** Tool governance derived from profile ephemerals */
30
+ tools?: {
31
+ allowed?: string[];
32
+ disabled?: string[];
33
+ };
34
+ }
35
+ /**
36
+ * @plan PLAN-20251028-STATELESS6.P06
37
+ * @requirement REQ-STAT6-002.3
38
+ *
39
+ * Redaction configuration for telemetry data.
40
+ */
41
+ export interface TelemetryRedactionConfig {
42
+ redactPrompts?: boolean;
43
+ redactToolParams?: boolean;
44
+ redactToolResults?: boolean;
45
+ }
46
+ /**
47
+ * @plan PLAN-20251028-STATELESS6.P06
48
+ * @requirement REQ-STAT6-002.3
49
+ *
50
+ * Telemetry target enumeration.
51
+ */
52
+ export declare enum TelemetryTarget {
53
+ GCP = "gcp",
54
+ LOCAL = "local"
55
+ }
56
+ /**
57
+ * @plan PLAN-20251028-STATELESS6.P06
58
+ * @requirement REQ-STAT6-001.1
59
+ * @pseudocode agent-runtime-context.md lines 20-26
60
+ *
61
+ * Read-only view of tool registry.
62
+ * Provides immutable access to tool metadata without exposing full registry.
63
+ */
64
+ export interface ToolRegistryView {
65
+ /** List all registered tool names */
66
+ listToolNames(): string[];
67
+ /** Get metadata for a specific tool by name */
68
+ getToolMetadata(name: string): ToolMetadata | undefined;
69
+ }
70
+ /**
71
+ * @plan PLAN-20251028-STATELESS6.P06
72
+ * @requirement REQ-STAT6-001.1
73
+ *
74
+ * Tool metadata interface.
75
+ */
76
+ export interface ToolMetadata {
77
+ name: string;
78
+ description: string;
79
+ parameterSchema?: Record<string, unknown>;
80
+ }
81
+ /**
82
+ * @plan PLAN-20251028-STATELESS6.P06
83
+ * @requirement REQ-STAT6-002.3
84
+ *
85
+ * API request event metadata for telemetry.
86
+ */
87
+ export interface ApiRequestEvent {
88
+ model: string;
89
+ promptId?: string;
90
+ requestText?: string;
91
+ sessionId?: string;
92
+ runtimeId?: string;
93
+ provider?: string;
94
+ authType?: string;
95
+ timestamp?: number;
96
+ }
97
+ /**
98
+ * @plan PLAN-20251028-STATELESS6.P06
99
+ * @requirement REQ-STAT6-002.3
100
+ *
101
+ * API response event metadata for telemetry.
102
+ */
103
+ export interface ApiResponseEvent {
104
+ model: string;
105
+ promptId?: string;
106
+ durationMs: number;
107
+ authType?: string;
108
+ sessionId?: string;
109
+ runtimeId?: string;
110
+ provider?: string;
111
+ timestamp?: number;
112
+ usageMetadata?: GenerateContentResponseUsageMetadata;
113
+ usage?: {
114
+ inputTokens: number;
115
+ outputTokens: number;
116
+ totalTokens: number;
117
+ };
118
+ responseText?: string;
119
+ error?: string;
120
+ }
121
+ /**
122
+ * @plan PLAN-20251028-STATELESS6.P06
123
+ * @requirement REQ-STAT6-002.3
124
+ *
125
+ * API error event metadata for telemetry.
126
+ */
127
+ export interface ApiErrorEvent {
128
+ model: string;
129
+ promptId?: string;
130
+ durationMs: number;
131
+ error: string;
132
+ authType?: string;
133
+ errorType?: string;
134
+ statusCode?: number | string;
135
+ sessionId?: string;
136
+ runtimeId?: string;
137
+ provider?: string;
138
+ timestamp?: number;
139
+ }
140
+ /**
141
+ * @plan PLAN-20251028-STATELESS6.P06
142
+ * @requirement REQ-STAT6-001.2, REQ-STAT6-002.2, REQ-STAT6-002.3
143
+ * @pseudocode agent-runtime-context.md lines 28-49
144
+ *
145
+ * Immutable runtime context for agent execution.
146
+ * Provides all runtime data and adapters without Config dependency.
147
+ * All nested objects are frozen for deep immutability.
148
+ */
149
+ export interface AgentRuntimeContext {
150
+ /** Immutable runtime state (provider, model, auth, session) */
151
+ readonly state: AgentRuntimeState;
152
+ /** Isolated history service instance */
153
+ readonly history: HistoryService;
154
+ /** Ephemeral settings with fallback defaults */
155
+ readonly ephemerals: {
156
+ compressionThreshold(): number;
157
+ contextLimit(): number;
158
+ preserveThreshold(): number;
159
+ toolFormatOverride(): string | undefined;
160
+ };
161
+ /** Telemetry logging adapter with metadata enrichment */
162
+ readonly telemetry: AgentRuntimeTelemetryAdapter;
163
+ /** Provider adapter (read-only or mutable based on context) */
164
+ readonly provider: AgentRuntimeProviderAdapter;
165
+ /** Tool registry read-only view */
166
+ readonly tools: ToolRegistryView;
167
+ /** Provider runtime snapshot for downstream provider calls */
168
+ readonly providerRuntime: ProviderRuntimeContext;
169
+ }
170
+ /**
171
+ * @plan PLAN-20251028-STATELESS6.P06
172
+ * @requirement REQ-STAT6-001.1
173
+ * @pseudocode agent-runtime-context.md lines 52-62
174
+ *
175
+ * Factory options for creating agent runtime contexts.
176
+ * Supports both foreground (Config-backed) and subagent (isolated) modes.
177
+ */
178
+ export interface AgentRuntimeContextFactoryOptions {
179
+ /** Required: immutable runtime state */
180
+ state: AgentRuntimeState;
181
+ /** Required: snapshot of ephemeral settings */
182
+ settings: ReadonlySettingsSnapshot;
183
+ /** Required: provider adapter for active provider access */
184
+ provider: AgentRuntimeProviderAdapter;
185
+ /** Required: telemetry adapter */
186
+ telemetry: AgentRuntimeTelemetryAdapter;
187
+ /** Required: tools view */
188
+ tools: ToolRegistryView;
189
+ /** Optional: history service (creates isolated instance if not provided) */
190
+ history?: HistoryService;
191
+ /** Required: provider runtime context */
192
+ providerRuntime: ProviderRuntimeContext;
193
+ }
194
+ import type { AgentRuntimeState } from './AgentRuntimeState.js';
195
+ import type { HistoryService } from '../services/history/HistoryService.js';
196
+ import type { IProvider } from '../providers/IProvider.js';
197
+ import type { GenerateContentResponseUsageMetadata } from '@google/genai';
198
+ import type { ProviderRuntimeContext } from './providerRuntimeContext.js';
199
+ /**
200
+ * Provider adapter interface supplied to runtime context.
201
+ */
202
+ export interface AgentRuntimeProviderAdapter {
203
+ getActiveProvider(): IProvider;
204
+ setActiveProvider(name: string): void;
205
+ }
206
+ /**
207
+ * Telemetry adapter interface supplied to runtime context.
208
+ */
209
+ export interface AgentRuntimeTelemetryAdapter {
210
+ logApiRequest(event: ApiRequestEvent): void;
211
+ logApiResponse(event: ApiResponseEvent): void;
212
+ logApiError(event: ApiErrorEvent): void;
213
+ }
@@ -0,0 +1,17 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Vybestack LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ /**
7
+ * @plan PLAN-20251028-STATELESS6.P06
8
+ * @requirement REQ-STAT6-002.3
9
+ *
10
+ * Telemetry target enumeration.
11
+ */
12
+ export var TelemetryTarget;
13
+ (function (TelemetryTarget) {
14
+ TelemetryTarget["GCP"] = "gcp";
15
+ TelemetryTarget["LOCAL"] = "local";
16
+ })(TelemetryTarget || (TelemetryTarget = {}));
17
+ //# sourceMappingURL=AgentRuntimeContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentRuntimeContext.js","sourceRoot":"","sources":["../../../src/runtime/AgentRuntimeContext.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA4CH;;;;;GAKG;AACH,MAAM,CAAN,IAAY,eAGX;AAHD,WAAY,eAAe;IACzB,8BAAW,CAAA;IACX,kCAAe,CAAA;AACjB,CAAC,EAHW,eAAe,KAAf,eAAe,QAG1B"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Vybestack LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { HistoryService } from '../services/history/HistoryService.js';
7
+ import type { Config } from '../config/config.js';
8
+ import type { ToolRegistry } from '../tools/tool-registry.js';
9
+ import type { ProviderManager } from '../providers/ProviderManager.js';
10
+ import type { IProviderManager } from '../providers/IProviderManager.js';
11
+ import type { AgentRuntimeContext, AgentRuntimeProviderAdapter, AgentRuntimeTelemetryAdapter, ToolRegistryView, ReadonlySettingsSnapshot } from './AgentRuntimeContext.js';
12
+ import type { AgentRuntimeState } from './AgentRuntimeState.js';
13
+ import type { ProviderRuntimeContext } from './providerRuntimeContext.js';
14
+ import { type ContentGenerator, type ContentGeneratorConfig } from '../core/contentGenerator.js';
15
+ export interface AgentRuntimeProfileSnapshot {
16
+ config: Config;
17
+ state: AgentRuntimeState;
18
+ settings: ReadonlySettingsSnapshot;
19
+ providerRuntime: ProviderRuntimeContext;
20
+ contentGeneratorConfig?: ContentGeneratorConfig;
21
+ toolRegistry?: ToolRegistry;
22
+ providerManager?: ProviderManager | IProviderManager;
23
+ }
24
+ export interface AgentRuntimeLoaderOverrides {
25
+ providerAdapter?: AgentRuntimeProviderAdapter;
26
+ telemetryAdapter?: AgentRuntimeTelemetryAdapter;
27
+ toolsView?: ToolRegistryView;
28
+ historyService?: HistoryService;
29
+ contentGenerator?: ContentGenerator;
30
+ contentGeneratorFactory?: ContentGeneratorFactory;
31
+ }
32
+ export interface AgentRuntimeLoaderOptions {
33
+ profile: AgentRuntimeProfileSnapshot;
34
+ overrides?: AgentRuntimeLoaderOverrides;
35
+ }
36
+ export interface AgentRuntimeLoaderResult {
37
+ runtimeContext: AgentRuntimeContext;
38
+ history: HistoryService;
39
+ providerAdapter: AgentRuntimeProviderAdapter;
40
+ telemetryAdapter: AgentRuntimeTelemetryAdapter;
41
+ toolsView: ToolRegistryView;
42
+ contentGenerator: ContentGenerator;
43
+ toolRegistry?: ToolRegistry;
44
+ settingsSnapshot?: ReadonlySettingsSnapshot;
45
+ }
46
+ export type ContentGeneratorFactory = (config: ContentGeneratorConfig, context: Config, sessionId: string) => Promise<ContentGenerator>;
47
+ export declare function loadAgentRuntime(options: AgentRuntimeLoaderOptions): Promise<AgentRuntimeLoaderResult>;
@@ -0,0 +1,122 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Vybestack LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { HistoryService } from '../services/history/HistoryService.js';
7
+ import { createProviderAdapterFromManager, createTelemetryAdapterFromConfig, } from './runtimeAdapters.js';
8
+ import { createAgentRuntimeContext } from './createAgentRuntimeContext.js';
9
+ import { createContentGenerator, } from '../core/contentGenerator.js';
10
+ const defaultContentGeneratorFactory = (contentConfig, config, sessionId) => createContentGenerator(contentConfig, config, sessionId);
11
+ const normalizeToolName = (name) => name.trim().toLowerCase();
12
+ function buildToolGovernance(profile) {
13
+ const allowedRaw = Array.isArray(profile.settings.tools?.allowed)
14
+ ? profile.settings.tools?.allowed
15
+ : undefined;
16
+ const disabledRaw = Array.isArray(profile.settings.tools?.disabled)
17
+ ? profile.settings.tools?.disabled
18
+ : undefined;
19
+ const excludedRaw = profile.config.getExcludeTools?.() ?? [];
20
+ return {
21
+ allowed: new Set((allowedRaw ?? []).map((tool) => normalizeToolName(tool))),
22
+ disabled: new Set((disabledRaw ?? []).map((tool) => normalizeToolName(tool))),
23
+ excluded: new Set(excludedRaw.map((tool) => normalizeToolName(tool))),
24
+ };
25
+ }
26
+ function isToolPermitted(toolName, governance) {
27
+ const canonical = normalizeToolName(toolName);
28
+ if (governance.excluded.has(canonical)) {
29
+ return false;
30
+ }
31
+ if (governance.disabled.has(canonical)) {
32
+ return false;
33
+ }
34
+ if (governance.allowed.size > 0 && !governance.allowed.has(canonical)) {
35
+ return false;
36
+ }
37
+ return true;
38
+ }
39
+ function createFilteredToolRegistryView(registry, governance) {
40
+ if (!registry) {
41
+ return {
42
+ listToolNames: () => [],
43
+ getToolMetadata: () => undefined,
44
+ };
45
+ }
46
+ const getTools = () => registry.getAllTools();
47
+ return {
48
+ listToolNames: () => getTools()
49
+ .filter((tool) => isToolPermitted(tool.name, governance))
50
+ .map((tool) => tool.name),
51
+ getToolMetadata: (name) => {
52
+ if (!isToolPermitted(name, governance)) {
53
+ return undefined;
54
+ }
55
+ const tool = getTools().find((candidate) => candidate.name === name);
56
+ if (!tool) {
57
+ return undefined;
58
+ }
59
+ const schema = tool
60
+ .schema;
61
+ const description = typeof schema?.description === 'string'
62
+ ? schema.description
63
+ : typeof tool.description === 'string'
64
+ ? tool.description
65
+ : '';
66
+ const parameterSchema = schema?.parameters ??
67
+ schema
68
+ ?.parametersJsonSchema;
69
+ return {
70
+ name: tool.name ?? name,
71
+ description,
72
+ parameterSchema,
73
+ };
74
+ },
75
+ };
76
+ }
77
+ export async function loadAgentRuntime(options) {
78
+ const { profile, overrides = {} } = options;
79
+ if (!profile) {
80
+ throw new Error('AgentRuntimeLoader requires a profile option.');
81
+ }
82
+ const history = overrides.historyService ?? new HistoryService();
83
+ const providerAdapter = overrides.providerAdapter ??
84
+ createProviderAdapterFromManager(profile.providerManager ?? profile.config.getProviderManager?.());
85
+ const telemetryAdapter = overrides.telemetryAdapter ??
86
+ createTelemetryAdapterFromConfig(profile.config);
87
+ const governance = buildToolGovernance(profile);
88
+ const toolsView = overrides.toolsView ??
89
+ createFilteredToolRegistryView(profile.toolRegistry ?? profile.config.getToolRegistry?.(), governance);
90
+ const runtimeContext = createAgentRuntimeContext({
91
+ state: profile.state,
92
+ settings: profile.settings,
93
+ provider: providerAdapter,
94
+ telemetry: telemetryAdapter,
95
+ tools: toolsView,
96
+ history,
97
+ providerRuntime: profile.providerRuntime,
98
+ });
99
+ let contentGenerator;
100
+ if (overrides.contentGenerator) {
101
+ contentGenerator = overrides.contentGenerator;
102
+ }
103
+ else {
104
+ const contentConfig = profile.contentGeneratorConfig;
105
+ if (!contentConfig) {
106
+ throw new Error('AgentRuntimeLoader requires contentGeneratorConfig when no contentGenerator override is supplied.');
107
+ }
108
+ const factory = overrides.contentGeneratorFactory ?? defaultContentGeneratorFactory;
109
+ contentGenerator = await factory(contentConfig, profile.config, profile.state.sessionId);
110
+ }
111
+ return {
112
+ runtimeContext,
113
+ history,
114
+ providerAdapter,
115
+ telemetryAdapter,
116
+ toolsView,
117
+ contentGenerator,
118
+ toolRegistry: profile.toolRegistry,
119
+ settingsSnapshot: profile.settings,
120
+ };
121
+ }
122
+ //# sourceMappingURL=AgentRuntimeLoader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentRuntimeLoader.js","sourceRoot":"","sources":["../../../src/runtime/AgentRuntimeLoader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,232 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Vybestack LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ /**
7
+ * @plan PLAN-20251027-STATELESS5.P03
8
+ * @requirement REQ-STAT5-001
9
+ * @pseudocode runtime-state.md lines 18-48
10
+ *
11
+ * AgentRuntimeState abstraction to replace stateful Config usage.
12
+ * This is a STUB implementation for Phase 03 (TDD preparation).
13
+ * Actual implementation happens in Phase 05.
14
+ */
15
+ import { AuthType } from '../core/contentGenerator.js';
16
+ /**
17
+ * @plan PLAN-20251027-STATELESS5.P03
18
+ * @requirement REQ-STAT5-001.1
19
+ * @pseudocode runtime-state.md lines 18-48
20
+ *
21
+ * Core runtime state interface representing provider/model/auth configuration.
22
+ */
23
+ export interface AgentRuntimeState {
24
+ readonly runtimeId: string;
25
+ readonly provider: string;
26
+ readonly model: string;
27
+ readonly authType: AuthType;
28
+ readonly authPayload?: AuthPayload;
29
+ readonly baseUrl?: string;
30
+ readonly proxyUrl?: string;
31
+ readonly modelParams?: ModelParams;
32
+ readonly sessionId: string;
33
+ readonly updatedAt: number;
34
+ }
35
+ /**
36
+ * @plan PLAN-20251027-STATELESS5.P03
37
+ * @requirement REQ-STAT5-001.1
38
+ *
39
+ * Auth payload union type for different authentication mechanisms.
40
+ */
41
+ export interface AuthPayload {
42
+ apiKey?: string;
43
+ token?: string;
44
+ [key: string]: unknown;
45
+ }
46
+ /**
47
+ * @plan PLAN-20251027-STATELESS5.P03
48
+ * @requirement REQ-STAT5-001.1
49
+ *
50
+ * Model parameters for generation configuration.
51
+ */
52
+ export interface ModelParams {
53
+ temperature?: number;
54
+ topP?: number;
55
+ maxTokens?: number;
56
+ [key: string]: unknown;
57
+ }
58
+ /**
59
+ * @plan PLAN-20251027-STATELESS5.P03
60
+ * @requirement REQ-STAT5-001.1
61
+ * @pseudocode runtime-state.md lines 73-105
62
+ *
63
+ * Parameters for creating a new runtime state instance.
64
+ */
65
+ export interface RuntimeStateParams {
66
+ runtimeId: string;
67
+ provider: string;
68
+ model: string;
69
+ authType: AuthType;
70
+ authPayload?: AuthPayload;
71
+ baseUrl?: string;
72
+ proxyUrl?: string;
73
+ modelParams?: ModelParams;
74
+ sessionId?: string;
75
+ }
76
+ /**
77
+ * @plan PLAN-20251027-STATELESS5.P03
78
+ * @requirement REQ-STAT5-001.3
79
+ * @pseudocode runtime-state.md lines 329-355
80
+ *
81
+ * Serializable snapshot of runtime state for diagnostics.
82
+ */
83
+ export interface RuntimeStateSnapshot {
84
+ runtimeId: string;
85
+ provider: string;
86
+ model: string;
87
+ authType: AuthType;
88
+ authPayload?: SanitizedAuthPayload;
89
+ baseUrl?: string;
90
+ proxyUrl?: string;
91
+ modelParams?: ModelParams;
92
+ sessionId: string;
93
+ updatedAt: number;
94
+ version: number;
95
+ }
96
+ /**
97
+ * @plan PLAN-20251027-STATELESS5.P03
98
+ * @requirement REQ-STAT5-001.3
99
+ *
100
+ * Sanitized auth payload with sensitive data redacted.
101
+ */
102
+ export interface SanitizedAuthPayload {
103
+ type?: string;
104
+ apiKey?: string;
105
+ token?: string;
106
+ [key: string]: unknown;
107
+ }
108
+ /**
109
+ * @plan PLAN-20251027-STATELESS5.P03
110
+ * @requirement REQ-STAT5-001.2
111
+ * @pseudocode runtime-state.md lines 209-243
112
+ *
113
+ * Event payload emitted when runtime state changes.
114
+ */
115
+ export interface RuntimeStateChangedEvent {
116
+ runtimeId: string;
117
+ changes: Record<string, {
118
+ old: unknown;
119
+ new: unknown;
120
+ }>;
121
+ snapshot: RuntimeStateSnapshot;
122
+ timestamp: number;
123
+ }
124
+ /**
125
+ * @plan PLAN-20251027-STATELESS5.P03
126
+ * @requirement REQ-STAT5-003.2
127
+ * @pseudocode runtime-state.md lines 289-318
128
+ *
129
+ * Callback for runtime state change events.
130
+ */
131
+ export type RuntimeStateChangeCallback = (event: RuntimeStateChangedEvent) => void;
132
+ /**
133
+ * @plan PLAN-20251027-STATELESS5.P03
134
+ * @requirement REQ-STAT5-003.2
135
+ *
136
+ * Function to unsubscribe from runtime state changes.
137
+ */
138
+ export type UnsubscribeFunction = () => void;
139
+ /**
140
+ * @plan PLAN-20251027-STATELESS5.P03
141
+ * @requirement REQ-STAT5-001.1
142
+ * @pseudocode runtime-state.md lines 366-381
143
+ *
144
+ * Error codes for runtime state validation failures.
145
+ */
146
+ export declare enum RuntimeStateErrorCode {
147
+ RUNTIME_ID_MISSING = "runtimeId.missing",
148
+ PROVIDER_MISSING = "provider.missing",
149
+ PROVIDER_INVALID = "provider.invalid",
150
+ MODEL_MISSING = "model.missing",
151
+ MODEL_INVALID = "model.invalid",
152
+ AUTH_TYPE_INVALID = "authType.invalid",
153
+ AUTH_API_KEY_MISSING = "auth.apiKey.missing",
154
+ AUTH_TOKEN_MISSING = "auth.token.missing",
155
+ BASE_URL_INVALID = "baseUrl.invalid",
156
+ UPDATE_UNSUPPORTED = "update.unsupported",
157
+ NOT_IMPLEMENTED = "not.implemented"
158
+ }
159
+ /**
160
+ * @plan PLAN-20251027-STATELESS5.P03
161
+ * @requirement REQ-STAT5-001.1
162
+ * @pseudocode runtime-state.md lines 366-381
163
+ *
164
+ * Error thrown during runtime state validation or update.
165
+ */
166
+ export declare class RuntimeStateError extends Error {
167
+ readonly code: RuntimeStateErrorCode;
168
+ readonly details?: Record<string, unknown> | undefined;
169
+ constructor(code: RuntimeStateErrorCode, details?: Record<string, unknown> | undefined);
170
+ }
171
+ /**
172
+ * @plan PLAN-20251027-STATELESS5.P05
173
+ * @requirement REQ-STAT5-001.1
174
+ * @pseudocode runtime-state.md lines 73-105
175
+ *
176
+ * Creates a new immutable runtime state instance.
177
+ * Validates all required fields and auth consistency.
178
+ */
179
+ export declare function createAgentRuntimeState(params: RuntimeStateParams): AgentRuntimeState;
180
+ /**
181
+ * @plan PLAN-20251027-STATELESS5.P05
182
+ * @requirement REQ-STAT5-001.2
183
+ * @pseudocode runtime-state.md lines 209-243
184
+ *
185
+ * Updates runtime state immutably, returning a new instance.
186
+ * Validates updates and emits synchronous change events.
187
+ */
188
+ export declare function updateAgentRuntimeState(oldState: AgentRuntimeState, updates: Partial<RuntimeStateParams>): AgentRuntimeState;
189
+ /**
190
+ * @plan PLAN-20251027-STATELESS5.P05
191
+ * @requirement REQ-STAT5-002.3
192
+ * @pseudocode runtime-state.md lines 252-278
193
+ *
194
+ * Batch update for atomic multi-field changes (e.g., provider switch).
195
+ * All updates validated together, single event emitted.
196
+ */
197
+ export declare function updateAgentRuntimeStateBatch(oldState: AgentRuntimeState, updates: Partial<RuntimeStateParams>): AgentRuntimeState;
198
+ /**
199
+ * @plan PLAN-20251027-STATELESS5.P05
200
+ * @requirement REQ-STAT5-001.3
201
+ * @pseudocode runtime-state.md lines 329-355
202
+ *
203
+ * Returns a frozen snapshot of runtime state for diagnostics.
204
+ * Sanitizes sensitive auth data.
205
+ */
206
+ export declare function getAgentRuntimeStateSnapshot(state: AgentRuntimeState): RuntimeStateSnapshot;
207
+ /**
208
+ * @plan PLAN-20251027-STATELESS5.P05
209
+ * @requirement REQ-STAT5-003.2
210
+ * @pseudocode runtime-state.md lines 289-318
211
+ *
212
+ * Subscribes to runtime state change events.
213
+ * Returns unsubscribe function to remove callback.
214
+ */
215
+ export declare function subscribeToAgentRuntimeState(runtimeId: string, callback: RuntimeStateChangeCallback, options?: {
216
+ async: boolean;
217
+ }): UnsubscribeFunction;
218
+ /**
219
+ * @plan PLAN-20251027-STATELESS5.P03
220
+ * @requirement REQ-STAT5-003.1
221
+ * @pseudocode runtime-state.md lines 150-173
222
+ *
223
+ * Synchronous accessors for runtime state fields.
224
+ * STUB: Minimal implementations for type safety.
225
+ */
226
+ export declare function getProvider(state: AgentRuntimeState): string;
227
+ export declare function getModel(state: AgentRuntimeState): string;
228
+ export declare function getAuthType(state: AgentRuntimeState): AuthType;
229
+ export declare function getAuthPayload(state: AgentRuntimeState): Readonly<AuthPayload> | undefined;
230
+ export declare function getBaseUrl(state: AgentRuntimeState): string | undefined;
231
+ export declare function getSessionId(state: AgentRuntimeState): string;
232
+ export declare function getModelParams(state: AgentRuntimeState): Readonly<ModelParams> | undefined;