@agentrq/acp-gateway 0.2.7 → 0.2.9

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.
@@ -0,0 +1,402 @@
1
+ import { describe, it, expect, vi } from "vitest";
2
+ import { isModelConfigOption, extractModels, formatModelsText, setSessionModel, } from "../models.js";
3
+ describe("models", () => {
4
+ describe("isModelConfigOption", () => {
5
+ it("should return true for category 'model'", () => {
6
+ expect(isModelConfigOption({
7
+ id: "custom_opt",
8
+ name: "Custom",
9
+ type: "select",
10
+ category: "model",
11
+ currentValue: "m1",
12
+ options: [{ value: "m1" }],
13
+ })).toBe(true);
14
+ });
15
+ it("should return false for category 'model_config' or 'thought_level'", () => {
16
+ expect(isModelConfigOption({
17
+ id: "model_config",
18
+ name: "Configuration",
19
+ type: "select",
20
+ category: "model_config",
21
+ currentValue: "m1",
22
+ options: [{ value: "m1" }],
23
+ })).toBe(false);
24
+ expect(isModelConfigOption({
25
+ id: "thought_level",
26
+ name: "Thinking Mode",
27
+ type: "select",
28
+ category: "thought_level",
29
+ currentValue: "high",
30
+ options: [{ value: "high" }],
31
+ })).toBe(false);
32
+ });
33
+ it("should return false when type is not select", () => {
34
+ expect(isModelConfigOption({
35
+ id: "model",
36
+ name: "Model",
37
+ type: "boolean",
38
+ category: "model",
39
+ currentValue: true,
40
+ })).toBe(false);
41
+ });
42
+ it("should return false for reasoning, thinking, or effort options", () => {
43
+ expect(isModelConfigOption({
44
+ id: "model_reasoning_effort",
45
+ name: "Reasoning Effort",
46
+ type: "select",
47
+ currentValue: "medium",
48
+ options: [{ value: "medium" }],
49
+ })).toBe(false);
50
+ expect(isModelConfigOption({
51
+ id: "model_thinking",
52
+ name: "Extended Thinking",
53
+ type: "select",
54
+ currentValue: "on",
55
+ options: [{ value: "on" }],
56
+ })).toBe(false);
57
+ });
58
+ it("should return true for model IDs or names", () => {
59
+ expect(isModelConfigOption({
60
+ id: "model",
61
+ name: "LLM",
62
+ type: "select",
63
+ currentValue: "m1",
64
+ options: [{ value: "m1" }],
65
+ })).toBe(true);
66
+ expect(isModelConfigOption({
67
+ id: "model_id",
68
+ name: "LLM Selection",
69
+ type: "select",
70
+ currentValue: "m1",
71
+ options: [{ value: "m1" }],
72
+ })).toBe(true);
73
+ expect(isModelConfigOption({
74
+ id: "llm",
75
+ name: "Select Model",
76
+ type: "select",
77
+ currentValue: "m1",
78
+ options: [{ value: "m1" }],
79
+ })).toBe(true);
80
+ });
81
+ it("should return false when option is not related to models", () => {
82
+ expect(isModelConfigOption({
83
+ id: "theme",
84
+ name: "Color Theme",
85
+ type: "select",
86
+ category: "ui",
87
+ currentValue: "dark",
88
+ options: [{ value: "dark" }],
89
+ })).toBe(false);
90
+ });
91
+ });
92
+ describe("extractModels", () => {
93
+ it("should return undefined for empty or null configOptions", () => {
94
+ expect(extractModels(undefined)).toBeUndefined();
95
+ expect(extractModels(null)).toBeUndefined();
96
+ expect(extractModels([])).toBeUndefined();
97
+ });
98
+ it("should return undefined if no model config option is present", () => {
99
+ const configOptions = [
100
+ {
101
+ id: "theme",
102
+ name: "Theme",
103
+ type: "select",
104
+ currentValue: "dark",
105
+ options: [{ value: "dark", name: "Dark" }],
106
+ },
107
+ ];
108
+ expect(extractModels(configOptions)).toBeUndefined();
109
+ });
110
+ it("should return undefined if only boolean config option is present", () => {
111
+ const configOptions = [
112
+ {
113
+ id: "model_enabled",
114
+ name: "Model Enabled",
115
+ type: "boolean",
116
+ currentValue: true,
117
+ },
118
+ ];
119
+ expect(extractModels(configOptions)).toBeUndefined();
120
+ });
121
+ it("should skip non-select options and pick the real select model option", () => {
122
+ const configOptions = [
123
+ {
124
+ id: "model_thinking",
125
+ name: "Extended thinking",
126
+ type: "boolean",
127
+ currentValue: true,
128
+ },
129
+ {
130
+ id: "llm",
131
+ name: "Model",
132
+ type: "select",
133
+ currentValue: "gpt-4o",
134
+ options: [
135
+ { value: "gpt-4", name: "GPT-4" },
136
+ { value: "gpt-4o", name: "GPT-4o" },
137
+ ],
138
+ },
139
+ ];
140
+ const result = extractModels(configOptions);
141
+ expect(result).toBeDefined();
142
+ expect(result?.configId).toBe("llm");
143
+ expect(result?.currentModelId).toBe("gpt-4o");
144
+ expect(result?.models).toHaveLength(2);
145
+ });
146
+ it("should prioritize category 'model' over auxiliary model_config selectors", () => {
147
+ const configOptions = [
148
+ {
149
+ id: "model_reasoning_effort",
150
+ name: "Reasoning Effort",
151
+ category: "model_config",
152
+ type: "select",
153
+ currentValue: "medium",
154
+ options: [{ value: "low" }, { value: "medium" }, { value: "high" }],
155
+ },
156
+ {
157
+ id: "active_model",
158
+ name: "Active Model",
159
+ category: "model",
160
+ type: "select",
161
+ currentValue: "claude-3-7-sonnet",
162
+ options: [
163
+ { value: "claude-3-7-sonnet", name: "Claude 3.7 Sonnet" },
164
+ { value: "claude-3-5-haiku", name: "Claude 3.5 Haiku" },
165
+ ],
166
+ },
167
+ ];
168
+ const result = extractModels(configOptions);
169
+ expect(result).toBeDefined();
170
+ expect(result?.configId).toBe("active_model");
171
+ expect(result?.currentModelId).toBe("claude-3-7-sonnet");
172
+ expect(result?.models[0].id).toBe("claude-3-7-sonnet");
173
+ });
174
+ it("should reject category-less reasoning/effort/thinking options when alone", () => {
175
+ const configOptions = [
176
+ {
177
+ id: "model_reasoning_effort",
178
+ name: "Reasoning Effort",
179
+ type: "select",
180
+ currentValue: "medium",
181
+ options: [{ value: "low" }, { value: "medium" }, { value: "high" }],
182
+ },
183
+ ];
184
+ expect(extractModels(configOptions)).toBeUndefined();
185
+ });
186
+ it("should handle options with missing or undefined name safely", () => {
187
+ const configOptions = [
188
+ {
189
+ id: "model",
190
+ type: "select",
191
+ currentValue: "m1",
192
+ options: [{ value: "m1" }, { value: "m2", name: undefined }],
193
+ },
194
+ ];
195
+ const result = extractModels(configOptions);
196
+ expect(result).toBeDefined();
197
+ expect(result?.models).toEqual([
198
+ { id: "m1", name: "m1", description: undefined, current: true },
199
+ { id: "m2", name: "m2", description: undefined, current: false },
200
+ ]);
201
+ });
202
+ it("should properly match current model with coerced non-string values", () => {
203
+ const configOptions = [
204
+ {
205
+ id: "model",
206
+ name: "Model",
207
+ type: "select",
208
+ currentValue: 123,
209
+ options: [{ value: 123 }, { value: 456 }],
210
+ },
211
+ ];
212
+ const result = extractModels(configOptions);
213
+ expect(result).toBeDefined();
214
+ expect(result?.currentModelId).toBe("123");
215
+ expect(result?.models[0]).toEqual({
216
+ id: "123",
217
+ name: "123",
218
+ description: undefined,
219
+ current: true,
220
+ });
221
+ expect(result?.models[1].current).toBe(false);
222
+ });
223
+ it("should handle malformed or empty options safely", () => {
224
+ const configOptions = [
225
+ {
226
+ id: "model",
227
+ name: "Model",
228
+ type: "select",
229
+ options: [null, undefined, { value: "m1" }],
230
+ },
231
+ ];
232
+ const result = extractModels(configOptions);
233
+ expect(result).toBeDefined();
234
+ expect(result?.models).toEqual([
235
+ { id: "m1", name: "m1", description: undefined, current: false },
236
+ ]);
237
+ });
238
+ it("should extract flat list of model options with current model", () => {
239
+ const configOptions = [
240
+ {
241
+ id: "model",
242
+ name: "Model",
243
+ category: "model",
244
+ type: "select",
245
+ currentValue: "gemini-2.5-pro",
246
+ options: [
247
+ {
248
+ value: "gemini-2.5-pro",
249
+ name: "Gemini 2.5 Pro",
250
+ description: "High capability model",
251
+ },
252
+ {
253
+ value: "gemini-2.5-flash",
254
+ name: "Gemini 2.5 Flash",
255
+ },
256
+ ],
257
+ },
258
+ ];
259
+ const result = extractModels(configOptions);
260
+ expect(result).toBeDefined();
261
+ expect(result?.configId).toBe("model");
262
+ expect(result?.currentModelId).toBe("gemini-2.5-pro");
263
+ expect(result?.models).toEqual([
264
+ {
265
+ id: "gemini-2.5-pro",
266
+ name: "Gemini 2.5 Pro",
267
+ description: "High capability model",
268
+ current: true,
269
+ },
270
+ {
271
+ id: "gemini-2.5-flash",
272
+ name: "Gemini 2.5 Flash",
273
+ description: undefined,
274
+ current: false,
275
+ },
276
+ ]);
277
+ });
278
+ it("should extract grouped model options", () => {
279
+ const configOptions = [
280
+ {
281
+ id: "model",
282
+ name: "Select Model",
283
+ category: "model",
284
+ type: "select",
285
+ currentValue: "claude-3-7-sonnet",
286
+ options: [
287
+ {
288
+ group: "anthropic",
289
+ name: "Anthropic",
290
+ options: [
291
+ {
292
+ value: "claude-3-7-sonnet",
293
+ name: "Claude 3.7 Sonnet",
294
+ description: "Hybrid reasoning model",
295
+ },
296
+ ],
297
+ },
298
+ {
299
+ group: "google",
300
+ name: "Google",
301
+ options: [
302
+ {
303
+ value: "gemini-2.5-pro",
304
+ name: "Gemini 2.5 Pro",
305
+ },
306
+ ],
307
+ },
308
+ ],
309
+ },
310
+ ];
311
+ const result = extractModels(configOptions);
312
+ expect(result).toBeDefined();
313
+ expect(result?.configId).toBe("model");
314
+ expect(result?.currentModelId).toBe("claude-3-7-sonnet");
315
+ expect(result?.models).toEqual([
316
+ {
317
+ id: "claude-3-7-sonnet",
318
+ name: "Claude 3.7 Sonnet",
319
+ description: "Hybrid reasoning model",
320
+ current: true,
321
+ group: "Anthropic",
322
+ },
323
+ {
324
+ id: "gemini-2.5-pro",
325
+ name: "Gemini 2.5 Pro",
326
+ description: undefined,
327
+ current: false,
328
+ group: "Google",
329
+ },
330
+ ]);
331
+ });
332
+ });
333
+ describe("formatModelsText", () => {
334
+ it("should return fallback message if no models in result", () => {
335
+ const res = {
336
+ configId: "model",
337
+ models: [],
338
+ };
339
+ expect(formatModelsText(res, "gemini")).toBe("No models available for gemini.");
340
+ expect(formatModelsText(res)).toBe("No models available for agent.");
341
+ });
342
+ it("should format models with current indicator, names, and descriptions", () => {
343
+ const res = {
344
+ configId: "model",
345
+ currentModelId: "gemini-2.5-pro",
346
+ models: [
347
+ {
348
+ id: "gemini-2.5-pro",
349
+ name: "Gemini 2.5 Pro",
350
+ description: "Most capable model",
351
+ current: true,
352
+ },
353
+ {
354
+ id: "gemini-2.5-flash",
355
+ name: "Gemini 2.5 Flash",
356
+ current: false,
357
+ },
358
+ ],
359
+ };
360
+ const formatted = formatModelsText(res, "gemini");
361
+ expect(formatted).toContain('Models supported by "gemini":');
362
+ expect(formatted).toContain("* gemini-2.5-pro (current)");
363
+ expect(formatted).toContain("Gemini 2.5 Pro");
364
+ expect(formatted).toContain("— Most capable model");
365
+ expect(formatted).toContain(" gemini-2.5-flash");
366
+ });
367
+ it("should include groups when present", () => {
368
+ const res = {
369
+ configId: "model",
370
+ currentModelId: "claude-3-7-sonnet",
371
+ models: [
372
+ {
373
+ id: "claude-3-7-sonnet",
374
+ name: "Claude 3.7 Sonnet",
375
+ group: "Anthropic",
376
+ current: true,
377
+ },
378
+ ],
379
+ };
380
+ const formatted = formatModelsText(res);
381
+ expect(formatted).toContain("Supported models:");
382
+ expect(formatted).toContain("[Anthropic] Claude 3.7 Sonnet");
383
+ });
384
+ });
385
+ describe("setSessionModel", () => {
386
+ it("should call connection.setSessionConfigOption with correct params", async () => {
387
+ const mockConnection = {
388
+ setSessionConfigOption: vi.fn().mockResolvedValue({
389
+ configOptions: [],
390
+ }),
391
+ };
392
+ const res = await setSessionModel(mockConnection, "sess-123", "model", "gemini-2.5-pro");
393
+ expect(mockConnection.setSessionConfigOption).toHaveBeenCalledWith({
394
+ sessionId: "sess-123",
395
+ configId: "model",
396
+ value: "gemini-2.5-pro",
397
+ });
398
+ expect(res).toEqual({ configOptions: [] });
399
+ });
400
+ });
401
+ });
402
+ //# sourceMappingURL=models.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models.test.js","sourceRoot":"","sources":["../../src/__tests__/models.test.ts"],"names":[],"mappings":"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"}
package/dist/acpClient.js CHANGED
@@ -5,6 +5,7 @@
5
5
  * Routes permission requests to the MCP server.
6
6
  */
7
7
  import { TELEMETRY_NOTIFICATION_METHOD, formatPlan, formatUsage, planFromEntries, planTelemetryData, usageTelemetryData, } from "./telemetry.js";
8
+ import { extractModels } from "./models.js";
8
9
  import * as fs from "node:fs/promises";
9
10
  import * as path from "node:path";
10
11
  /** Identifies a tool call routed through an agentrq MCP server. */
@@ -505,6 +506,9 @@ export class AgentRQACPClient {
505
506
  console.error(`[acp] Agent switched session mode to "${update.currentModeId}"`);
506
507
  await this.onModeChanged?.(params.sessionId, update.currentModeId);
507
508
  break;
509
+ case "config_option_update":
510
+ this.handleConfigOptionUpdate(params.sessionId, update.configOptions);
511
+ break;
508
512
  case "tool_call_update":
509
513
  this.rememberToolCall(update);
510
514
  break;
@@ -530,6 +534,38 @@ export class AgentRQACPClient {
530
534
  break;
531
535
  }
532
536
  }
537
+ handleConfigOptionUpdate(sessionId, configOptions) {
538
+ try {
539
+ const modelsResult = extractModels(configOptions);
540
+ if (!modelsResult)
541
+ return;
542
+ void this.sendModelsToWorkspace(sessionId, modelsResult);
543
+ }
544
+ catch (err) {
545
+ console.error(`[acp] Failed to process config_option_update for session ${sessionId}:`, err);
546
+ }
547
+ }
548
+ async sendModelsToWorkspace(sessionId, modelsResult) {
549
+ const taskId = this.getTaskIdForSession(sessionId);
550
+ if (!taskId) {
551
+ console.error(`[acp] No task ID for session ${sessionId}, not sending models notification`);
552
+ return;
553
+ }
554
+ const payload = {
555
+ task_id: taskId,
556
+ session_id: sessionId,
557
+ config_id: modelsResult.configId,
558
+ current_model: modelsResult.currentModelId,
559
+ models: modelsResult.models,
560
+ };
561
+ try {
562
+ await this.mcpBridge.sendNotification("notifications/claude/channel/models", payload);
563
+ console.error(`[acp] Shared ${modelsResult.models.length} supported model(s) with workspace (current: ${modelsResult.currentModelId ?? "none"})`);
564
+ }
565
+ catch (err) {
566
+ console.error(`[acp] Failed to send models notification for session ${sessionId}:`, err);
567
+ }
568
+ }
533
569
  /**
534
570
  * Handles the agent's elicitation/create requests by delegating to
535
571
  * AgentRQ's `elicit` MCP tool, which blocks in the chat until the human
@@ -1 +1 @@
1
- {"version":3,"file":"acpClient.js","sourceRoot":"","sources":["../src/acpClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acpClient.js","sourceRoot":"","sources":["../src/acpClient.ts"],"names":[],"mappings":"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"}