@vybestack/llxprt-code-core 0.4.8 → 0.5.0-nightly.251102.f115237d
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.
- package/dist/prompt-config/defaults/default-prompts.json +4 -17
- package/dist/src/auth/precedence.d.ts +69 -9
- package/dist/src/auth/precedence.js +467 -69
- package/dist/src/auth/precedence.js.map +1 -1
- package/dist/src/auth/types.d.ts +2 -2
- package/dist/src/config/config.d.ts +15 -1
- package/dist/src/config/config.js +118 -6
- package/dist/src/config/config.js.map +1 -1
- package/dist/src/config/index.d.ts +6 -0
- package/dist/src/config/index.js +5 -0
- package/dist/src/config/index.js.map +1 -1
- package/dist/src/config/profileManager.d.ts +23 -3
- package/dist/src/config/profileManager.js +54 -7
- package/dist/src/config/profileManager.js.map +1 -1
- package/dist/src/config/subagentManager.d.ts +96 -0
- package/dist/src/config/subagentManager.js +371 -0
- package/dist/src/config/subagentManager.js.map +1 -0
- package/dist/src/config/types.d.ts +18 -0
- package/dist/src/config/types.js +3 -0
- package/dist/src/config/types.js.map +1 -0
- package/dist/src/core/client.d.ts +27 -7
- package/dist/src/core/client.js +217 -55
- package/dist/src/core/client.js.map +1 -1
- package/dist/src/core/contentGenerator.d.ts +3 -1
- package/dist/src/core/contentGenerator.js +3 -0
- package/dist/src/core/contentGenerator.js.map +1 -1
- package/dist/src/core/coreToolScheduler.d.ts +1 -5
- package/dist/src/core/coreToolScheduler.js +95 -23
- package/dist/src/core/coreToolScheduler.js.map +1 -1
- package/dist/src/core/geminiChat.d.ts +42 -12
- package/dist/src/core/geminiChat.js +405 -205
- package/dist/src/core/geminiChat.js.map +1 -1
- package/dist/src/core/nonInteractiveToolExecutor.d.ts +3 -2
- package/dist/src/core/nonInteractiveToolExecutor.js +94 -10
- package/dist/src/core/nonInteractiveToolExecutor.js.map +1 -1
- package/dist/src/core/subagent.d.ts +86 -7
- package/dist/src/core/subagent.js +809 -79
- package/dist/src/core/subagent.js.map +1 -1
- package/dist/src/core/subagentOrchestrator.d.ts +73 -0
- package/dist/src/core/subagentOrchestrator.js +383 -0
- package/dist/src/core/subagentOrchestrator.js.map +1 -0
- package/dist/src/core/subagentScheduler.d.ts +16 -0
- package/dist/src/core/subagentScheduler.js +7 -0
- package/dist/src/core/subagentScheduler.js.map +1 -0
- package/dist/src/core/turn.d.ts +5 -1
- package/dist/src/core/turn.js +5 -1
- package/dist/src/core/turn.js.map +1 -1
- package/dist/src/hooks/tool-render-suppression-hook.js +6 -1
- package/dist/src/hooks/tool-render-suppression-hook.js.map +1 -1
- package/dist/src/ide/ideContext.d.ts +32 -32
- package/dist/src/index.d.ts +19 -1
- package/dist/src/index.js +15 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/interfaces/index.d.ts +1 -0
- package/dist/src/interfaces/index.js +4 -0
- package/dist/src/interfaces/index.js.map +1 -0
- package/dist/src/interfaces/nodejs-error.interface.d.ts +4 -0
- package/dist/src/interfaces/nodejs-error.interface.js +2 -0
- package/dist/src/interfaces/nodejs-error.interface.js.map +1 -0
- package/dist/src/parsers/TextToolCallParser.js +41 -1
- package/dist/src/parsers/TextToolCallParser.js.map +1 -1
- package/dist/src/prompt-config/defaults/core.md +15 -0
- package/dist/src/prompt-config/defaults/providers/gemini/core.md +203 -119
- package/dist/src/prompt-config/defaults/tool-defaults.js +2 -0
- package/dist/src/prompt-config/defaults/tool-defaults.js.map +1 -1
- package/dist/src/prompt-config/defaults/tools/list-subagents.md +7 -0
- package/dist/src/prompt-config/defaults/tools/task.md +8 -0
- package/dist/src/providers/BaseProvider.d.ts +115 -30
- package/dist/src/providers/BaseProvider.js +445 -109
- package/dist/src/providers/BaseProvider.js.map +1 -1
- package/dist/src/providers/IProvider.d.ts +50 -18
- package/dist/src/providers/LoggingProviderWrapper.d.ts +60 -16
- package/dist/src/providers/LoggingProviderWrapper.js +213 -60
- package/dist/src/providers/LoggingProviderWrapper.js.map +1 -1
- package/dist/src/providers/ProviderManager.d.ts +73 -2
- package/dist/src/providers/ProviderManager.js +492 -40
- package/dist/src/providers/ProviderManager.js.map +1 -1
- package/dist/src/providers/anthropic/AnthropicProvider.d.ts +35 -38
- package/dist/src/providers/anthropic/AnthropicProvider.js +222 -227
- package/dist/src/providers/anthropic/AnthropicProvider.js.map +1 -1
- package/dist/src/providers/errors.d.ts +86 -0
- package/dist/src/providers/errors.js +89 -0
- package/dist/src/providers/errors.js.map +1 -1
- package/dist/src/providers/gemini/GeminiProvider.d.ts +101 -41
- package/dist/src/providers/gemini/GeminiProvider.js +386 -311
- package/dist/src/providers/gemini/GeminiProvider.js.map +1 -1
- package/dist/src/providers/openai/ConversationCache.d.ts +5 -3
- package/dist/src/providers/openai/ConversationCache.js +93 -32
- package/dist/src/providers/openai/ConversationCache.js.map +1 -1
- package/dist/src/providers/openai/OpenAIProvider.d.ts +82 -42
- package/dist/src/providers/openai/OpenAIProvider.js +373 -532
- package/dist/src/providers/openai/OpenAIProvider.js.map +1 -1
- package/dist/src/providers/openai/getOpenAIProviderInfo.d.ts +1 -1
- package/dist/src/providers/openai/getOpenAIProviderInfo.js +52 -22
- package/dist/src/providers/openai/getOpenAIProviderInfo.js.map +1 -1
- package/dist/src/providers/openai/openaiRequestParams.d.ts +7 -0
- package/dist/src/providers/openai/openaiRequestParams.js +66 -0
- package/dist/src/providers/openai/openaiRequestParams.js.map +1 -0
- package/dist/src/providers/openai-responses/OpenAIResponsesProvider.d.ts +6 -33
- package/dist/src/providers/openai-responses/OpenAIResponsesProvider.js +84 -183
- package/dist/src/providers/openai-responses/OpenAIResponsesProvider.js.map +1 -1
- package/dist/src/providers/types/providerRuntime.d.ts +17 -0
- package/dist/src/providers/types/providerRuntime.js +7 -0
- package/dist/src/providers/types/providerRuntime.js.map +1 -0
- package/dist/src/providers/utils/authToken.d.ts +12 -0
- package/dist/src/providers/utils/authToken.js +17 -0
- package/dist/src/providers/utils/authToken.js.map +1 -0
- package/dist/src/providers/utils/userMemory.d.ts +8 -0
- package/dist/src/providers/utils/userMemory.js +34 -0
- package/dist/src/providers/utils/userMemory.js.map +1 -0
- package/dist/src/runtime/AgentRuntimeContext.d.ts +213 -0
- package/dist/src/runtime/AgentRuntimeContext.js +17 -0
- package/dist/src/runtime/AgentRuntimeContext.js.map +1 -0
- package/dist/src/runtime/AgentRuntimeLoader.d.ts +47 -0
- package/dist/src/runtime/AgentRuntimeLoader.js +122 -0
- package/dist/src/runtime/AgentRuntimeLoader.js.map +1 -0
- package/dist/src/runtime/AgentRuntimeState.d.ts +232 -0
- package/dist/src/runtime/AgentRuntimeState.js +439 -0
- package/dist/src/runtime/AgentRuntimeState.js.map +1 -0
- package/dist/src/runtime/RuntimeInvocationContext.d.ts +51 -0
- package/dist/src/runtime/RuntimeInvocationContext.js +52 -0
- package/dist/src/runtime/RuntimeInvocationContext.js.map +1 -0
- package/dist/src/runtime/createAgentRuntimeContext.d.ts +7 -0
- package/dist/src/runtime/createAgentRuntimeContext.js +58 -0
- package/dist/src/runtime/createAgentRuntimeContext.js.map +1 -0
- package/dist/src/runtime/index.d.ts +13 -0
- package/dist/src/runtime/index.js +14 -0
- package/dist/src/runtime/index.js.map +1 -0
- package/dist/src/runtime/providerRuntimeContext.d.ts +30 -0
- package/dist/src/runtime/providerRuntimeContext.js +70 -0
- package/dist/src/runtime/providerRuntimeContext.js.map +1 -0
- package/dist/src/runtime/runtimeAdapters.d.ts +22 -0
- package/dist/src/runtime/runtimeAdapters.js +81 -0
- package/dist/src/runtime/runtimeAdapters.js.map +1 -0
- package/dist/src/runtime/runtimeStateFactory.d.ts +21 -0
- package/dist/src/runtime/runtimeStateFactory.js +104 -0
- package/dist/src/runtime/runtimeStateFactory.js.map +1 -0
- package/dist/src/services/todo-context-tracker.d.ts +10 -8
- package/dist/src/services/todo-context-tracker.js +26 -10
- package/dist/src/services/todo-context-tracker.js.map +1 -1
- package/dist/src/services/tool-call-tracker-service.d.ts +11 -7
- package/dist/src/services/tool-call-tracker-service.js +89 -29
- package/dist/src/services/tool-call-tracker-service.js.map +1 -1
- package/dist/src/settings/SettingsService.d.ts +4 -0
- package/dist/src/settings/SettingsService.js +58 -2
- package/dist/src/settings/SettingsService.js.map +1 -1
- package/dist/src/settings/settingsServiceInstance.d.ts +6 -1
- package/dist/src/settings/settingsServiceInstance.js +28 -8
- package/dist/src/settings/settingsServiceInstance.js.map +1 -1
- package/dist/src/telemetry/loggers.d.ts +5 -1
- package/dist/src/telemetry/loggers.js.map +1 -1
- package/dist/src/telemetry/loggers.test.circular.js +4 -0
- package/dist/src/telemetry/loggers.test.circular.js.map +1 -1
- package/dist/src/telemetry/metrics.d.ts +3 -1
- package/dist/src/telemetry/metrics.js.map +1 -1
- package/dist/src/telemetry/types.d.ts +1 -0
- package/dist/src/telemetry/types.js +3 -0
- package/dist/src/telemetry/types.js.map +1 -1
- package/dist/src/test-utils/index.d.ts +2 -0
- package/dist/src/test-utils/index.js +2 -0
- package/dist/src/test-utils/index.js.map +1 -1
- package/dist/src/test-utils/mockWorkspaceContext.d.ts +0 -3
- package/dist/src/test-utils/mockWorkspaceContext.js +3 -4
- package/dist/src/test-utils/mockWorkspaceContext.js.map +1 -1
- package/dist/src/test-utils/providerCallOptions.d.ts +43 -0
- package/dist/src/test-utils/providerCallOptions.js +137 -0
- package/dist/src/test-utils/providerCallOptions.js.map +1 -0
- package/dist/src/test-utils/runtime.d.ts +92 -0
- package/dist/src/test-utils/runtime.js +226 -0
- package/dist/src/test-utils/runtime.js.map +1 -0
- package/dist/src/test-utils/tools.d.ts +4 -4
- package/dist/src/test-utils/tools.js +20 -10
- package/dist/src/test-utils/tools.js.map +1 -1
- package/dist/src/tools/list-subagents.d.ts +31 -0
- package/dist/src/tools/list-subagents.js +109 -0
- package/dist/src/tools/list-subagents.js.map +1 -0
- package/dist/src/tools/task.d.ts +87 -0
- package/dist/src/tools/task.js +427 -0
- package/dist/src/tools/task.js.map +1 -0
- package/dist/src/tools/todo-read.js +1 -1
- package/dist/src/tools/todo-read.js.map +1 -1
- package/dist/src/tools/todo-store.js +4 -2
- package/dist/src/tools/todo-store.js.map +1 -1
- package/dist/src/tools/todo-write.js +4 -2
- package/dist/src/tools/todo-write.js.map +1 -1
- package/dist/src/tools/tool-error.d.ts +1 -0
- package/dist/src/tools/tool-error.js +1 -0
- package/dist/src/tools/tool-error.js.map +1 -1
- package/dist/src/tools/tool-registry.d.ts +2 -0
- package/dist/src/tools/tool-registry.js +46 -21
- package/dist/src/tools/tool-registry.js.map +1 -1
- package/dist/src/types/modelParams.d.ts +4 -0
- package/dist/src/utils/gitIgnoreParser.js +15 -3
- package/dist/src/utils/gitIgnoreParser.js.map +1 -1
- package/package.json +1 -1
- package/dist/src/prompt-config/defaults/providers/anthropic/core.md +0 -97
- package/dist/src/prompt-config/defaults/providers/anthropic/tools/glob.md +0 -34
- package/dist/src/prompt-config/defaults/providers/anthropic/tools/list-directory.md +0 -11
- package/dist/src/prompt-config/defaults/providers/anthropic/tools/read-file.md +0 -14
- package/dist/src/prompt-config/defaults/providers/anthropic/tools/read-many-files.md +0 -31
- package/dist/src/prompt-config/defaults/providers/anthropic/tools/replace.md +0 -41
- package/dist/src/prompt-config/defaults/providers/anthropic/tools/run-shell-command.md +0 -32
- package/dist/src/prompt-config/defaults/providers/anthropic/tools/save-memory.md +0 -35
- package/dist/src/prompt-config/defaults/providers/anthropic/tools/search-file-content.md +0 -44
- package/dist/src/prompt-config/defaults/providers/anthropic/tools/todo-write.md +0 -45
- package/dist/src/prompt-config/defaults/providers/anthropic/tools/write-file.md +0 -11
- package/dist/src/prompt-config/defaults/providers/openai/core.md +0 -97
- package/dist/src/prompt-config/defaults/providers/openai/tools/todo-pause.md +0 -28
- package/dist/src/prompt-config/defaults/providers/openai/tools/todo-read.md +0 -5
- package/dist/src/prompt-config/defaults/providers/openai/tools/todo-write.md +0 -45
|
@@ -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
|
-
|
|
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
|
|
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
|
|
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
|
|
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;
|
|
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
|
|
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 {};
|