@google/gemini-cli-core 0.24.0-nightly.20251227.37be16243 → 0.24.0-nightly.20251231.05049b5ab
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/docs/cli/settings.md +0 -1
- package/dist/docs/get-started/configuration.md +12 -8
- package/dist/google-gemini-cli-core-0.24.0-nightly.20251227.37be16243.tgz +0 -0
- package/dist/src/agents/registry.d.ts +9 -1
- package/dist/src/agents/registry.js +74 -34
- package/dist/src/agents/registry.js.map +1 -1
- package/dist/src/agents/registry.test.js +79 -30
- package/dist/src/agents/registry.test.js.map +1 -1
- package/dist/src/agents/toml-loader.d.ts +14 -5
- package/dist/src/agents/toml-loader.js +98 -26
- package/dist/src/agents/toml-loader.js.map +1 -1
- package/dist/src/agents/toml-loader.test.js +121 -2
- package/dist/src/agents/toml-loader.test.js.map +1 -1
- package/dist/src/config/config.d.ts +22 -3
- package/dist/src/config/config.js +22 -22
- package/dist/src/config/config.js.map +1 -1
- package/dist/src/config/config.test.js +2 -1
- package/dist/src/config/config.test.js.map +1 -1
- package/dist/src/config/storage.d.ts +2 -0
- package/dist/src/config/storage.js +6 -0
- package/dist/src/config/storage.js.map +1 -1
- package/dist/src/config/storage.test.js +8 -0
- package/dist/src/config/storage.test.js.map +1 -1
- package/dist/src/confirmation-bus/message-bus.js +2 -1
- package/dist/src/confirmation-bus/message-bus.js.map +1 -1
- package/dist/src/core/client.d.ts +4 -0
- package/dist/src/core/client.js +156 -70
- package/dist/src/core/client.js.map +1 -1
- package/dist/src/core/client.test.js +110 -5
- package/dist/src/core/client.test.js.map +1 -1
- package/dist/src/core/coreToolHookTriggers.d.ts +2 -2
- package/dist/src/core/coreToolHookTriggers.js +74 -14
- package/dist/src/core/coreToolHookTriggers.js.map +1 -1
- package/dist/src/core/coreToolHookTriggers.test.d.ts +6 -0
- package/dist/src/core/coreToolHookTriggers.test.js +189 -0
- package/dist/src/core/coreToolHookTriggers.test.js.map +1 -0
- package/dist/src/core/coreToolScheduler.js +20 -22
- package/dist/src/core/coreToolScheduler.js.map +1 -1
- package/dist/src/core/coreToolScheduler.test.js +1 -2
- package/dist/src/core/coreToolScheduler.test.js.map +1 -1
- package/dist/src/core/nonInteractiveToolExecutor.test.js +0 -1
- package/dist/src/core/nonInteractiveToolExecutor.test.js.map +1 -1
- package/dist/src/generated/git-commit.d.ts +2 -2
- package/dist/src/generated/git-commit.js +2 -2
- package/dist/src/hooks/hookAggregator.js +7 -0
- package/dist/src/hooks/hookAggregator.js.map +1 -1
- package/dist/src/hooks/hookRunner.js +11 -0
- package/dist/src/hooks/hookRunner.js.map +1 -1
- package/dist/src/hooks/types.d.ts +5 -0
- package/dist/src/hooks/types.js +17 -1
- package/dist/src/hooks/types.js.map +1 -1
- package/dist/src/hooks/types.test.js +5 -1
- package/dist/src/hooks/types.test.js.map +1 -1
- package/dist/src/ide/ide-client.js +1 -1
- package/dist/src/ide/ide-client.js.map +1 -1
- package/dist/src/mcp/oauth-utils.js +1 -1
- package/dist/src/mcp/oauth-utils.js.map +1 -1
- package/dist/src/mcp/token-storage/keychain-token-storage.js +1 -1
- package/dist/src/mcp/token-storage/keychain-token-storage.js.map +1 -1
- package/dist/src/policy/config.js +2 -1
- package/dist/src/policy/config.js.map +1 -1
- package/dist/src/routing/strategies/compositeStrategy.js +4 -2
- package/dist/src/routing/strategies/compositeStrategy.js.map +1 -1
- package/dist/src/routing/strategies/compositeStrategy.test.js +11 -10
- package/dist/src/routing/strategies/compositeStrategy.test.js.map +1 -1
- package/dist/src/services/skillManager.d.ts +61 -0
- package/dist/src/services/skillManager.js +157 -0
- package/dist/src/services/skillManager.js.map +1 -0
- package/dist/src/services/skillManager.test.d.ts +6 -0
- package/dist/src/services/skillManager.test.js +169 -0
- package/dist/src/services/skillManager.test.js.map +1 -0
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.js +4 -6
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.js.map +1 -1
- package/dist/src/telemetry/sdk.js +3 -4
- package/dist/src/telemetry/sdk.js.map +1 -1
- package/dist/src/tools/edit.test.js +1 -1
- package/dist/src/tools/edit.test.js.map +1 -1
- package/dist/src/tools/memoryTool.js +0 -2
- package/dist/src/tools/memoryTool.js.map +1 -1
- package/dist/src/tools/smart-edit.test.js +1 -1
- package/dist/src/tools/smart-edit.test.js.map +1 -1
- package/dist/src/tools/tool-error.d.ts +2 -1
- package/dist/src/tools/tool-error.js +2 -0
- package/dist/src/tools/tool-error.js.map +1 -1
- package/dist/src/tools/tool-registry.js +1 -1
- package/dist/src/tools/tool-registry.js.map +1 -1
- package/dist/src/tools/web-search.js +2 -1
- package/dist/src/tools/web-search.js.map +1 -1
- package/dist/src/tools/write-file.js +2 -1
- package/dist/src/tools/write-file.js.map +1 -1
- package/dist/src/utils/debugLogger.js +1 -0
- package/dist/src/utils/debugLogger.js.map +1 -1
- package/dist/src/utils/editCorrector.js +5 -4
- package/dist/src/utils/editCorrector.js.map +1 -1
- package/dist/src/utils/errorReporting.d.ts +1 -1
- package/dist/src/utils/errorReporting.js +13 -12
- package/dist/src/utils/errorReporting.js.map +1 -1
- package/dist/src/utils/errorReporting.test.js +17 -14
- package/dist/src/utils/errorReporting.test.js.map +1 -1
- package/dist/src/utils/getFolderStructure.js +1 -1
- package/dist/src/utils/getFolderStructure.js.map +1 -1
- package/dist/src/utils/googleQuotaErrors.d.ts +3 -3
- package/dist/src/utils/googleQuotaErrors.js +9 -6
- package/dist/src/utils/googleQuotaErrors.js.map +1 -1
- package/dist/src/utils/googleQuotaErrors.test.js +7 -7
- package/dist/src/utils/googleQuotaErrors.test.js.map +1 -1
- package/dist/src/utils/memoryDiscovery.js +1 -1
- package/dist/src/utils/memoryDiscovery.js.map +1 -1
- package/dist/src/utils/retry.js +8 -5
- package/dist/src/utils/retry.js.map +1 -1
- package/dist/src/utils/summarizer.test.js +3 -2
- package/dist/src/utils/summarizer.test.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +4 -1
- package/dist/google-gemini-cli-core-0.24.0-nightly.20251226.546baf993.tgz +0 -0
|
@@ -94,7 +94,6 @@ they appear in the UI.
|
|
|
94
94
|
| Enable Tool Output Truncation | `tools.enableToolOutputTruncation` | Enable truncation of large tool outputs. | `true` |
|
|
95
95
|
| Tool Output Truncation Threshold | `tools.truncateToolOutputThreshold` | Truncate tool output if it is larger than this many characters. Set to -1 to disable. | `10000` |
|
|
96
96
|
| Tool Output Truncation Lines | `tools.truncateToolOutputLines` | The number of lines to keep when truncating tool output. | `100` |
|
|
97
|
-
| Enable Message Bus Integration | `tools.enableMessageBusIntegration` | Enable policy-based tool confirmation via message bus integration. | `true` |
|
|
98
97
|
|
|
99
98
|
### Security
|
|
100
99
|
|
|
@@ -684,14 +684,6 @@ their corresponding top-level category object in your `settings.json` file.
|
|
|
684
684
|
- **Default:** `1000`
|
|
685
685
|
- **Requires restart:** Yes
|
|
686
686
|
|
|
687
|
-
- **`tools.enableMessageBusIntegration`** (boolean):
|
|
688
|
-
- **Description:** Enable policy-based tool confirmation via message bus
|
|
689
|
-
integration. When enabled, tools automatically respect policy engine
|
|
690
|
-
decisions (ALLOW/DENY/ASK_USER) without requiring individual tool
|
|
691
|
-
implementations.
|
|
692
|
-
- **Default:** `true`
|
|
693
|
-
- **Requires restart:** Yes
|
|
694
|
-
|
|
695
687
|
- **`tools.enableHooks`** (boolean):
|
|
696
688
|
- **Description:** Enable the hooks system for intercepting and customizing
|
|
697
689
|
Gemini CLI behavior. When enabled, hooks configured in settings will execute
|
|
@@ -830,6 +822,11 @@ their corresponding top-level category object in your `settings.json` file.
|
|
|
830
822
|
- **Default:** `false`
|
|
831
823
|
- **Requires restart:** Yes
|
|
832
824
|
|
|
825
|
+
- **`experimental.skills`** (boolean):
|
|
826
|
+
- **Description:** Enable Agent Skills (experimental).
|
|
827
|
+
- **Default:** `false`
|
|
828
|
+
- **Requires restart:** Yes
|
|
829
|
+
|
|
833
830
|
- **`experimental.codebaseInvestigatorSettings.enabled`** (boolean):
|
|
834
831
|
- **Description:** Enable the Codebase Investigator agent.
|
|
835
832
|
- **Default:** `true`
|
|
@@ -862,6 +859,13 @@ their corresponding top-level category object in your `settings.json` file.
|
|
|
862
859
|
- **Default:** `false`
|
|
863
860
|
- **Requires restart:** Yes
|
|
864
861
|
|
|
862
|
+
#### `skills`
|
|
863
|
+
|
|
864
|
+
- **`skills.disabled`** (array):
|
|
865
|
+
- **Description:** List of disabled skills.
|
|
866
|
+
- **Default:** `[]`
|
|
867
|
+
- **Requires restart:** Yes
|
|
868
|
+
|
|
865
869
|
#### `hooks`
|
|
866
870
|
|
|
867
871
|
- **`hooks.disabled`** (array):
|
|
@@ -29,7 +29,15 @@ export declare class AgentRegistry {
|
|
|
29
29
|
* it will be overwritten, respecting the precedence established by the
|
|
30
30
|
* initialization order.
|
|
31
31
|
*/
|
|
32
|
-
protected registerAgent<TOutput extends z.ZodTypeAny>(definition: AgentDefinition<TOutput>): void
|
|
32
|
+
protected registerAgent<TOutput extends z.ZodTypeAny>(definition: AgentDefinition<TOutput>): Promise<void>;
|
|
33
|
+
/**
|
|
34
|
+
* Registers a local agent definition synchronously.
|
|
35
|
+
*/
|
|
36
|
+
protected registerLocalAgent<TOutput extends z.ZodTypeAny>(definition: AgentDefinition<TOutput>): void;
|
|
37
|
+
/**
|
|
38
|
+
* Registers a remote agent definition asynchronously.
|
|
39
|
+
*/
|
|
40
|
+
protected registerRemoteAgent<TOutput extends z.ZodTypeAny>(definition: AgentDefinition<TOutput>): Promise<void>;
|
|
33
41
|
/**
|
|
34
42
|
* Retrieves an agent definition by name.
|
|
35
43
|
*/
|
|
@@ -8,6 +8,7 @@ import { coreEvents, CoreEvent } from '../utils/events.js';
|
|
|
8
8
|
import { loadAgentsFromDirectory } from './toml-loader.js';
|
|
9
9
|
import { CodebaseInvestigatorAgent } from './codebase-investigator.js';
|
|
10
10
|
import { IntrospectionAgent } from './introspection-agent.js';
|
|
11
|
+
import { A2AClientManager } from './a2a-client-manager.js';
|
|
11
12
|
import {} from 'zod';
|
|
12
13
|
import { debugLogger } from '../utils/debugLogger.js';
|
|
13
14
|
import { DEFAULT_GEMINI_MODEL, GEMINI_MODEL_ALIAS_AUTO, PREVIEW_GEMINI_FLASH_MODEL, isPreviewModel, } from '../config/models.js';
|
|
@@ -34,7 +35,9 @@ export class AgentRegistry {
|
|
|
34
35
|
async initialize() {
|
|
35
36
|
this.loadBuiltInAgents();
|
|
36
37
|
coreEvents.on(CoreEvent.ModelChanged, () => {
|
|
37
|
-
this.refreshAgents()
|
|
38
|
+
this.refreshAgents().catch((e) => {
|
|
39
|
+
debugLogger.error('[AgentRegistry] Failed to refresh agents on model change:', e);
|
|
40
|
+
});
|
|
38
41
|
});
|
|
39
42
|
if (!this.config.isAgentsEnabled()) {
|
|
40
43
|
return;
|
|
@@ -46,9 +49,7 @@ export class AgentRegistry {
|
|
|
46
49
|
debugLogger.warn(`[AgentRegistry] Error loading user agent: ${error.message}`);
|
|
47
50
|
coreEvents.emitFeedback('error', `Agent loading error: ${error.message}`);
|
|
48
51
|
}
|
|
49
|
-
|
|
50
|
-
this.registerAgent(agent);
|
|
51
|
-
}
|
|
52
|
+
await Promise.allSettled(userAgents.agents.map((agent) => this.registerAgent(agent)));
|
|
52
53
|
// Load project-level agents: .gemini/agents/ (relative to Project Root)
|
|
53
54
|
const folderTrustEnabled = this.config.getFolderTrust();
|
|
54
55
|
const isTrustedFolder = this.config.isTrustedFolder();
|
|
@@ -58,9 +59,7 @@ export class AgentRegistry {
|
|
|
58
59
|
for (const error of projectAgents.errors) {
|
|
59
60
|
coreEvents.emitFeedback('error', `Agent loading error: ${error.message}`);
|
|
60
61
|
}
|
|
61
|
-
|
|
62
|
-
this.registerAgent(agent);
|
|
63
|
-
}
|
|
62
|
+
await Promise.allSettled(projectAgents.agents.map((agent) => this.registerAgent(agent)));
|
|
64
63
|
}
|
|
65
64
|
else {
|
|
66
65
|
coreEvents.emitFeedback('info', 'Skipping project agents due to untrusted folder. To enable, ensure that the project root is trusted.');
|
|
@@ -103,25 +102,37 @@ export class AgentRegistry {
|
|
|
103
102
|
CodebaseInvestigatorAgent.runConfig.max_turns,
|
|
104
103
|
},
|
|
105
104
|
};
|
|
106
|
-
this.
|
|
105
|
+
this.registerLocalAgent(agentDef);
|
|
107
106
|
}
|
|
108
107
|
// Register the introspection agent if it's explicitly enabled.
|
|
109
108
|
if (introspectionSettings.enabled) {
|
|
110
|
-
this.
|
|
109
|
+
this.registerLocalAgent(IntrospectionAgent);
|
|
111
110
|
}
|
|
112
111
|
}
|
|
113
|
-
refreshAgents() {
|
|
112
|
+
async refreshAgents() {
|
|
114
113
|
this.loadBuiltInAgents();
|
|
115
|
-
|
|
116
|
-
this.registerAgent(agent);
|
|
117
|
-
}
|
|
114
|
+
await Promise.allSettled(Array.from(this.agents.values()).map((agent) => this.registerAgent(agent)));
|
|
118
115
|
}
|
|
119
116
|
/**
|
|
120
117
|
* Registers an agent definition. If an agent with the same name exists,
|
|
121
118
|
* it will be overwritten, respecting the precedence established by the
|
|
122
119
|
* initialization order.
|
|
123
120
|
*/
|
|
124
|
-
registerAgent(definition) {
|
|
121
|
+
async registerAgent(definition) {
|
|
122
|
+
if (definition.kind === 'local') {
|
|
123
|
+
this.registerLocalAgent(definition);
|
|
124
|
+
}
|
|
125
|
+
else if (definition.kind === 'remote') {
|
|
126
|
+
await this.registerRemoteAgent(definition);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Registers a local agent definition synchronously.
|
|
131
|
+
*/
|
|
132
|
+
registerLocalAgent(definition) {
|
|
133
|
+
if (definition.kind !== 'local') {
|
|
134
|
+
return;
|
|
135
|
+
}
|
|
125
136
|
// Basic validation
|
|
126
137
|
if (!definition.name || !definition.description) {
|
|
127
138
|
debugLogger.warn(`[AgentRegistry] Skipping invalid agent definition. Missing name or description.`);
|
|
@@ -133,29 +144,58 @@ export class AgentRegistry {
|
|
|
133
144
|
this.agents.set(definition.name, definition);
|
|
134
145
|
// Register model config.
|
|
135
146
|
// TODO(12916): Migrate sub-agents where possible to static configs.
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
thinkingBudget: modelConfig.thinkingBudget ?? -1,
|
|
151
|
-
},
|
|
147
|
+
const modelConfig = definition.modelConfig;
|
|
148
|
+
let model = modelConfig.model;
|
|
149
|
+
if (model === 'inherit') {
|
|
150
|
+
model = this.config.getModel();
|
|
151
|
+
}
|
|
152
|
+
const runtimeAlias = {
|
|
153
|
+
modelConfig: {
|
|
154
|
+
model,
|
|
155
|
+
generateContentConfig: {
|
|
156
|
+
temperature: modelConfig.temp,
|
|
157
|
+
topP: modelConfig.top_p,
|
|
158
|
+
thinkingConfig: {
|
|
159
|
+
includeThoughts: true,
|
|
160
|
+
thinkingBudget: modelConfig.thinkingBudget ?? -1,
|
|
152
161
|
},
|
|
153
162
|
},
|
|
154
|
-
}
|
|
155
|
-
|
|
163
|
+
},
|
|
164
|
+
};
|
|
165
|
+
this.config.modelConfigService.registerRuntimeModelConfig(getModelConfigAlias(definition), runtimeAlias);
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Registers a remote agent definition asynchronously.
|
|
169
|
+
*/
|
|
170
|
+
async registerRemoteAgent(definition) {
|
|
171
|
+
if (definition.kind !== 'remote') {
|
|
172
|
+
return;
|
|
173
|
+
}
|
|
174
|
+
// Basic validation
|
|
175
|
+
if (!definition.name || !definition.description) {
|
|
176
|
+
debugLogger.warn(`[AgentRegistry] Skipping invalid agent definition. Missing name or description.`);
|
|
177
|
+
return;
|
|
178
|
+
}
|
|
179
|
+
if (this.agents.has(definition.name) && this.config.getDebugMode()) {
|
|
180
|
+
debugLogger.log(`[AgentRegistry] Overriding agent '${definition.name}'`);
|
|
181
|
+
}
|
|
182
|
+
// Log remote A2A agent registration for visibility.
|
|
183
|
+
try {
|
|
184
|
+
const clientManager = A2AClientManager.getInstance();
|
|
185
|
+
const agentCard = await clientManager.loadAgent(definition.name, definition.agentCardUrl);
|
|
186
|
+
if (agentCard.skills && agentCard.skills.length > 0) {
|
|
187
|
+
definition.description = agentCard.skills
|
|
188
|
+
.map((skill) => `${skill.name}: ${skill.description}`)
|
|
189
|
+
.join('\n');
|
|
190
|
+
}
|
|
191
|
+
if (this.config.getDebugMode()) {
|
|
192
|
+
debugLogger.log(`[AgentRegistry] Registered remote agent '${definition.name}' with card: ${definition.agentCardUrl}`);
|
|
193
|
+
}
|
|
194
|
+
this.agents.set(definition.name, definition);
|
|
195
|
+
}
|
|
196
|
+
catch (e) {
|
|
197
|
+
debugLogger.warn(`[AgentRegistry] Error loading A2A agent "${definition.name}":`, e);
|
|
156
198
|
}
|
|
157
|
-
// Register configured remote A2A agents.
|
|
158
|
-
// TODO: Implement remote agent registration.
|
|
159
199
|
}
|
|
160
200
|
/**
|
|
161
201
|
* Retrieves an agent definition by name.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/agents/registry.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAG3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAU,MAAM,KAAK,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,0BAA0B,EAC1B,cAAc,GACf,MAAM,qBAAqB,CAAC;AAG7B;;GAEG;AACH,MAAM,UAAU,mBAAmB,CACjC,UAAoC;IAEpC,OAAO,GAAG,UAAU,CAAC,IAAI,SAAS,CAAC;AACrC,CAAC;AAED;;;GAGG;AACH,MAAM,OAAO,aAAa;IAIK;IAH7B,8DAA8D;IAC7C,MAAM,GAAG,IAAI,GAAG,EAAgC,CAAC;IAElE,YAA6B,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;IAAG,CAAC;IAE/C;;OAEG;IACH,KAAK,CAAC,UAAU;QACd,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEzB,UAAU,CAAC,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,GAAG,EAAE;YACzC,IAAI,CAAC,aAAa,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/agents/registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,7 @@ import { AgentRegistry, getModelConfigAlias } from './registry.js';
|
|
|
8
8
|
import { makeFakeConfig } from '../test-utils/config.js';
|
|
9
9
|
import { debugLogger } from '../utils/debugLogger.js';
|
|
10
10
|
import { coreEvents, CoreEvent } from '../utils/events.js';
|
|
11
|
+
import { A2AClientManager } from './a2a-client-manager.js';
|
|
11
12
|
import { DEFAULT_GEMINI_FLASH_LITE_MODEL, GEMINI_MODEL_ALIAS_AUTO, PREVIEW_GEMINI_FLASH_MODEL, PREVIEW_GEMINI_MODEL, PREVIEW_GEMINI_MODEL_AUTO, } from '../config/models.js';
|
|
12
13
|
import * as tomlLoader from './toml-loader.js';
|
|
13
14
|
vi.mock('./toml-loader.js', () => ({
|
|
@@ -15,10 +16,15 @@ vi.mock('./toml-loader.js', () => ({
|
|
|
15
16
|
.fn()
|
|
16
17
|
.mockResolvedValue({ agents: [], errors: [] }),
|
|
17
18
|
}));
|
|
19
|
+
vi.mock('./a2a-client-manager.js', () => ({
|
|
20
|
+
A2AClientManager: {
|
|
21
|
+
getInstance: vi.fn(),
|
|
22
|
+
},
|
|
23
|
+
}));
|
|
18
24
|
// A test-only subclass to expose the protected `registerAgent` method.
|
|
19
25
|
class TestableAgentRegistry extends AgentRegistry {
|
|
20
|
-
testRegisterAgent(definition) {
|
|
21
|
-
this.registerAgent(definition);
|
|
26
|
+
async testRegisterAgent(definition) {
|
|
27
|
+
await this.registerAgent(definition);
|
|
22
28
|
}
|
|
23
29
|
}
|
|
24
30
|
// Define mock agent structures for testing registration logic
|
|
@@ -171,8 +177,8 @@ describe('AgentRegistry', () => {
|
|
|
171
177
|
});
|
|
172
178
|
});
|
|
173
179
|
describe('registration logic', () => {
|
|
174
|
-
it('should register a valid agent definition', () => {
|
|
175
|
-
registry.testRegisterAgent(MOCK_AGENT_V1);
|
|
180
|
+
it('should register a valid agent definition', async () => {
|
|
181
|
+
await registry.testRegisterAgent(MOCK_AGENT_V1);
|
|
176
182
|
expect(registry.getDefinition('MockAgent')).toEqual(MOCK_AGENT_V1);
|
|
177
183
|
expect(mockConfig.modelConfigService.getResolvedConfig({
|
|
178
184
|
model: getModelConfigAlias(MOCK_AGENT_V1),
|
|
@@ -188,75 +194,108 @@ describe('AgentRegistry', () => {
|
|
|
188
194
|
},
|
|
189
195
|
});
|
|
190
196
|
});
|
|
191
|
-
it('should
|
|
197
|
+
it('should register a remote agent definition', async () => {
|
|
198
|
+
const remoteAgent = {
|
|
199
|
+
kind: 'remote',
|
|
200
|
+
name: 'RemoteAgent',
|
|
201
|
+
description: 'A remote agent',
|
|
202
|
+
agentCardUrl: 'https://example.com/card',
|
|
203
|
+
inputConfig: { inputs: {} },
|
|
204
|
+
};
|
|
205
|
+
vi.mocked(A2AClientManager.getInstance).mockReturnValue({
|
|
206
|
+
loadAgent: vi.fn().mockResolvedValue({ name: 'RemoteAgent' }),
|
|
207
|
+
});
|
|
208
|
+
await registry.testRegisterAgent(remoteAgent);
|
|
209
|
+
expect(registry.getDefinition('RemoteAgent')).toEqual(remoteAgent);
|
|
210
|
+
});
|
|
211
|
+
it('should log remote agent registration in debug mode', async () => {
|
|
212
|
+
const debugConfig = makeFakeConfig({ debugMode: true });
|
|
213
|
+
const debugRegistry = new TestableAgentRegistry(debugConfig);
|
|
214
|
+
const debugLogSpy = vi
|
|
215
|
+
.spyOn(debugLogger, 'log')
|
|
216
|
+
.mockImplementation(() => { });
|
|
217
|
+
const remoteAgent = {
|
|
218
|
+
kind: 'remote',
|
|
219
|
+
name: 'RemoteAgent',
|
|
220
|
+
description: 'A remote agent',
|
|
221
|
+
agentCardUrl: 'https://example.com/card',
|
|
222
|
+
inputConfig: { inputs: {} },
|
|
223
|
+
};
|
|
224
|
+
vi.mocked(A2AClientManager.getInstance).mockReturnValue({
|
|
225
|
+
loadAgent: vi.fn().mockResolvedValue({ name: 'RemoteAgent' }),
|
|
226
|
+
});
|
|
227
|
+
await debugRegistry.testRegisterAgent(remoteAgent);
|
|
228
|
+
expect(debugLogSpy).toHaveBeenCalledWith(`[AgentRegistry] Registered remote agent 'RemoteAgent' with card: https://example.com/card`);
|
|
229
|
+
});
|
|
230
|
+
it('should handle special characters in agent names', async () => {
|
|
192
231
|
const specialAgent = {
|
|
193
232
|
...MOCK_AGENT_V1,
|
|
194
233
|
name: 'Agent-123_$pecial.v2',
|
|
195
234
|
};
|
|
196
|
-
registry.testRegisterAgent(specialAgent);
|
|
235
|
+
await registry.testRegisterAgent(specialAgent);
|
|
197
236
|
expect(registry.getDefinition('Agent-123_$pecial.v2')).toEqual(specialAgent);
|
|
198
237
|
});
|
|
199
|
-
it('should reject an agent definition missing a name', () => {
|
|
238
|
+
it('should reject an agent definition missing a name', async () => {
|
|
200
239
|
const invalidAgent = { ...MOCK_AGENT_V1, name: '' };
|
|
201
240
|
const debugWarnSpy = vi
|
|
202
241
|
.spyOn(debugLogger, 'warn')
|
|
203
242
|
.mockImplementation(() => { });
|
|
204
|
-
registry.testRegisterAgent(invalidAgent);
|
|
243
|
+
await registry.testRegisterAgent(invalidAgent);
|
|
205
244
|
expect(registry.getDefinition('MockAgent')).toBeUndefined();
|
|
206
245
|
expect(debugWarnSpy).toHaveBeenCalledWith('[AgentRegistry] Skipping invalid agent definition. Missing name or description.');
|
|
207
246
|
});
|
|
208
|
-
it('should reject an agent definition missing a description', () => {
|
|
247
|
+
it('should reject an agent definition missing a description', async () => {
|
|
209
248
|
const invalidAgent = { ...MOCK_AGENT_V1, description: '' };
|
|
210
249
|
const debugWarnSpy = vi
|
|
211
250
|
.spyOn(debugLogger, 'warn')
|
|
212
251
|
.mockImplementation(() => { });
|
|
213
|
-
registry.testRegisterAgent(invalidAgent);
|
|
252
|
+
await registry.testRegisterAgent(invalidAgent);
|
|
214
253
|
expect(registry.getDefinition('MockAgent')).toBeUndefined();
|
|
215
254
|
expect(debugWarnSpy).toHaveBeenCalledWith('[AgentRegistry] Skipping invalid agent definition. Missing name or description.');
|
|
216
255
|
});
|
|
217
|
-
it('should overwrite an existing agent definition', () => {
|
|
218
|
-
registry.testRegisterAgent(MOCK_AGENT_V1);
|
|
256
|
+
it('should overwrite an existing agent definition', async () => {
|
|
257
|
+
await registry.testRegisterAgent(MOCK_AGENT_V1);
|
|
219
258
|
expect(registry.getDefinition('MockAgent')?.description).toBe('Mock Description V1');
|
|
220
|
-
registry.testRegisterAgent(MOCK_AGENT_V2);
|
|
259
|
+
await registry.testRegisterAgent(MOCK_AGENT_V2);
|
|
221
260
|
expect(registry.getDefinition('MockAgent')?.description).toBe('Mock Description V2 (Updated)');
|
|
222
261
|
expect(registry.getAllDefinitions()).toHaveLength(1);
|
|
223
262
|
});
|
|
224
|
-
it('should log overwrites when in debug mode', () => {
|
|
263
|
+
it('should log overwrites when in debug mode', async () => {
|
|
225
264
|
const debugConfig = makeFakeConfig({ debugMode: true });
|
|
226
265
|
const debugRegistry = new TestableAgentRegistry(debugConfig);
|
|
227
266
|
const debugLogSpy = vi
|
|
228
267
|
.spyOn(debugLogger, 'log')
|
|
229
268
|
.mockImplementation(() => { });
|
|
230
|
-
debugRegistry.testRegisterAgent(MOCK_AGENT_V1);
|
|
231
|
-
debugRegistry.testRegisterAgent(MOCK_AGENT_V2);
|
|
269
|
+
await debugRegistry.testRegisterAgent(MOCK_AGENT_V1);
|
|
270
|
+
await debugRegistry.testRegisterAgent(MOCK_AGENT_V2);
|
|
232
271
|
expect(debugLogSpy).toHaveBeenCalledWith(`[AgentRegistry] Overriding agent 'MockAgent'`);
|
|
233
272
|
});
|
|
234
|
-
it('should not log overwrites when not in debug mode', () => {
|
|
273
|
+
it('should not log overwrites when not in debug mode', async () => {
|
|
235
274
|
const debugLogSpy = vi
|
|
236
275
|
.spyOn(debugLogger, 'log')
|
|
237
276
|
.mockImplementation(() => { });
|
|
238
|
-
registry.testRegisterAgent(MOCK_AGENT_V1);
|
|
239
|
-
registry.testRegisterAgent(MOCK_AGENT_V2);
|
|
277
|
+
await registry.testRegisterAgent(MOCK_AGENT_V1);
|
|
278
|
+
await registry.testRegisterAgent(MOCK_AGENT_V2);
|
|
240
279
|
expect(debugLogSpy).not.toHaveBeenCalledWith(`[AgentRegistry] Overriding agent 'MockAgent'`);
|
|
241
280
|
});
|
|
242
281
|
it('should handle bulk registrations correctly', async () => {
|
|
243
|
-
const promises = Array.from({ length: 100 }, (_, i) =>
|
|
282
|
+
const promises = Array.from({ length: 100 }, (_, i) => registry.testRegisterAgent({
|
|
244
283
|
...MOCK_AGENT_V1,
|
|
245
284
|
name: `Agent${i}`,
|
|
246
|
-
}))
|
|
285
|
+
}));
|
|
247
286
|
await Promise.all(promises);
|
|
248
287
|
expect(registry.getAllDefinitions()).toHaveLength(100);
|
|
249
288
|
});
|
|
250
289
|
});
|
|
251
290
|
describe('inheritance and refresh', () => {
|
|
252
|
-
it('should resolve "inherit" to the current model from configuration', () => {
|
|
291
|
+
it('should resolve "inherit" to the current model from configuration', async () => {
|
|
253
292
|
const config = makeFakeConfig({ model: 'current-model' });
|
|
254
293
|
const registry = new TestableAgentRegistry(config);
|
|
255
294
|
const agent = {
|
|
256
295
|
...MOCK_AGENT_V1,
|
|
257
296
|
modelConfig: { ...MOCK_AGENT_V1.modelConfig, model: 'inherit' },
|
|
258
297
|
};
|
|
259
|
-
registry.testRegisterAgent(agent);
|
|
298
|
+
await registry.testRegisterAgent(agent);
|
|
260
299
|
const resolved = config.modelConfigService.getResolvedConfig({
|
|
261
300
|
model: getModelConfigAlias(agent),
|
|
262
301
|
});
|
|
@@ -271,7 +310,7 @@ describe('AgentRegistry', () => {
|
|
|
271
310
|
name: 'InheritingAgent',
|
|
272
311
|
modelConfig: { ...MOCK_AGENT_V1.modelConfig, model: 'inherit' },
|
|
273
312
|
};
|
|
274
|
-
registry.testRegisterAgent(agent);
|
|
313
|
+
await registry.testRegisterAgent(agent);
|
|
275
314
|
// Verify initial state
|
|
276
315
|
let resolved = config.modelConfigService.getResolvedConfig({
|
|
277
316
|
model: getModelConfigAlias(agent),
|
|
@@ -282,6 +321,16 @@ describe('AgentRegistry', () => {
|
|
|
282
321
|
coreEvents.emit(CoreEvent.ModelChanged, {
|
|
283
322
|
model: 'new-model',
|
|
284
323
|
});
|
|
324
|
+
// Since the listener is async but not awaited by emit, we should manually
|
|
325
|
+
// trigger refresh or wait.
|
|
326
|
+
await vi.waitFor(() => {
|
|
327
|
+
const resolved = config.modelConfigService.getResolvedConfig({
|
|
328
|
+
model: getModelConfigAlias(agent),
|
|
329
|
+
});
|
|
330
|
+
if (resolved.model !== 'new-model') {
|
|
331
|
+
throw new Error('Model not updated yet');
|
|
332
|
+
}
|
|
333
|
+
});
|
|
285
334
|
// Verify refreshed state
|
|
286
335
|
resolved = config.modelConfigService.getResolvedConfig({
|
|
287
336
|
model: getModelConfigAlias(agent),
|
|
@@ -294,9 +343,9 @@ describe('AgentRegistry', () => {
|
|
|
294
343
|
...MOCK_AGENT_V1,
|
|
295
344
|
name: 'AnotherAgent',
|
|
296
345
|
};
|
|
297
|
-
beforeEach(() => {
|
|
298
|
-
registry.testRegisterAgent(MOCK_AGENT_V1);
|
|
299
|
-
registry.testRegisterAgent(ANOTHER_AGENT);
|
|
346
|
+
beforeEach(async () => {
|
|
347
|
+
await registry.testRegisterAgent(MOCK_AGENT_V1);
|
|
348
|
+
await registry.testRegisterAgent(ANOTHER_AGENT);
|
|
300
349
|
});
|
|
301
350
|
it('getDefinition should return the correct definition', () => {
|
|
302
351
|
expect(registry.getDefinition('MockAgent')).toEqual(MOCK_AGENT_V1);
|
|
@@ -315,9 +364,9 @@ describe('AgentRegistry', () => {
|
|
|
315
364
|
it('should return default message when no agents are registered', () => {
|
|
316
365
|
expect(registry.getToolDescription()).toContain('No agents are currently available');
|
|
317
366
|
});
|
|
318
|
-
it('should return formatted list of agents when agents are available', () => {
|
|
319
|
-
registry.testRegisterAgent(MOCK_AGENT_V1);
|
|
320
|
-
registry.testRegisterAgent({
|
|
367
|
+
it('should return formatted list of agents when agents are available', async () => {
|
|
368
|
+
await registry.testRegisterAgent(MOCK_AGENT_V1);
|
|
369
|
+
await registry.testRegisterAgent({
|
|
321
370
|
...MOCK_AGENT_V2,
|
|
322
371
|
name: 'AnotherAgent',
|
|
323
372
|
description: 'Another agent description',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.test.js","sourceRoot":"","sources":["../../../src/agents/registry.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"registry.test.js","sourceRoot":"","sources":["../../../src/agents/registry.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,10 +7,13 @@ import type { AgentDefinition } from './types.js';
|
|
|
7
7
|
/**
|
|
8
8
|
* DTO for TOML parsing - represents the raw structure of the TOML file.
|
|
9
9
|
*/
|
|
10
|
-
interface
|
|
10
|
+
interface TomlBaseAgentDefinition {
|
|
11
11
|
name: string;
|
|
12
|
-
description: string;
|
|
13
12
|
display_name?: string;
|
|
13
|
+
}
|
|
14
|
+
interface TomlLocalAgentDefinition extends TomlBaseAgentDefinition {
|
|
15
|
+
kind: 'local';
|
|
16
|
+
description: string;
|
|
14
17
|
tools?: string[];
|
|
15
18
|
prompts: {
|
|
16
19
|
system_prompt: string;
|
|
@@ -25,6 +28,12 @@ interface TomlAgentDefinition {
|
|
|
25
28
|
timeout_mins?: number;
|
|
26
29
|
};
|
|
27
30
|
}
|
|
31
|
+
interface TomlRemoteAgentDefinition extends TomlBaseAgentDefinition {
|
|
32
|
+
description?: string;
|
|
33
|
+
kind: 'remote';
|
|
34
|
+
agent_card_url: string;
|
|
35
|
+
}
|
|
36
|
+
type TomlAgentDefinition = TomlLocalAgentDefinition | TomlRemoteAgentDefinition;
|
|
28
37
|
/**
|
|
29
38
|
* Error thrown when an agent definition is invalid or cannot be loaded.
|
|
30
39
|
*/
|
|
@@ -40,13 +49,13 @@ export interface AgentLoadResult {
|
|
|
40
49
|
errors: AgentLoadError[];
|
|
41
50
|
}
|
|
42
51
|
/**
|
|
43
|
-
* Parses and validates an agent TOML file.
|
|
52
|
+
* Parses and validates an agent TOML file. Returns a validated array of RemoteAgentDefinitions or a single LocalAgentDefinition.
|
|
44
53
|
*
|
|
45
54
|
* @param filePath Path to the TOML file.
|
|
46
|
-
* @returns
|
|
55
|
+
* @returns An array of parsed and validated TomlAgentDefinitions.
|
|
47
56
|
* @throws AgentLoadError if parsing or validation fails.
|
|
48
57
|
*/
|
|
49
|
-
export declare function parseAgentToml(filePath: string): Promise<TomlAgentDefinition>;
|
|
58
|
+
export declare function parseAgentToml(filePath: string): Promise<TomlAgentDefinition[]>;
|
|
50
59
|
/**
|
|
51
60
|
* Converts a TomlAgentDefinition DTO to the internal AgentDefinition structure.
|
|
52
61
|
*
|