@prismatic-io/lux 0.0.2-preview.28 → 0.0.2-preview.29

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.
@@ -3,7 +3,7 @@ export const cursorCatalog = defineHarnessCatalog({
3
3
  driver: "cursor",
4
4
  verified: "2026-09-18",
5
5
  sources: [
6
- "agent --list-models (account-scoped, needs a login)",
6
+ "cursor-agent --list-models (account-scoped, needs a login)",
7
7
  "https://cursor.com/docs/models",
8
8
  "https://cursor.com/docs/cli/acp",
9
9
  ],
@@ -1 +1 @@
1
- {"version":3,"file":"cursor.js","sourceRoot":"","sources":["../../../src/core/harness-catalogs/cursor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D,MAAM,CAAC,MAAM,aAAa,GAAG,oBAAoB,CAAC;IAChD,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,YAAY;IACtB,OAAO,EAAE;QACP,qDAAqD;QACrD,gCAAgC;QAChC,iCAAiC;KAClC;IACD,OAAO,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC;IAC3C,MAAM,EAAE,SAAS;CAClB,CAAC,CAAC"}
1
+ {"version":3,"file":"cursor.js","sourceRoot":"","sources":["../../../src/core/harness-catalogs/cursor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D,MAAM,CAAC,MAAM,aAAa,GAAG,oBAAoB,CAAC;IAChD,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,YAAY;IACtB,OAAO,EAAE;QACP,4DAA4D;QAC5D,gCAAgC;QAChC,iCAAiC;KAClC;IACD,OAAO,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC;IAC3C,MAAM,EAAE,SAAS;CAClB,CAAC,CAAC"}
@@ -19,7 +19,7 @@ export declare const CopilotDriverConfigSchema: z.ZodPipe<z.ZodObject<{
19
19
  allowTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
20
20
  denyTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
21
21
  allowAllTools: z.ZodDefault<z.ZodBoolean>;
22
- askUser: z.ZodDefault<z.ZodBoolean>;
22
+ askUser: z.ZodDefault<z.ZodLiteral<false>>;
23
23
  customInstructions: z.ZodDefault<z.ZodBoolean>;
24
24
  builtinMcps: z.ZodDefault<z.ZodBoolean>;
25
25
  addDirs: z.ZodOptional<z.ZodArray<z.ZodString>>;
@@ -40,7 +40,7 @@ export declare const CopilotDriverConfigSchema: z.ZodPipe<z.ZodObject<{
40
40
  allowTools?: string[] | undefined;
41
41
  denyTools?: string[] | undefined;
42
42
  allowAllTools: boolean;
43
- askUser: boolean;
43
+ askUser: false;
44
44
  customInstructions: boolean;
45
45
  builtinMcps: boolean;
46
46
  addDirs?: string[] | undefined;
@@ -61,7 +61,7 @@ export declare const CopilotDriverConfigSchema: z.ZodPipe<z.ZodObject<{
61
61
  allowTools?: string[] | undefined;
62
62
  denyTools?: string[] | undefined;
63
63
  allowAllTools: boolean;
64
- askUser: boolean;
64
+ askUser: false;
65
65
  customInstructions: boolean;
66
66
  builtinMcps: boolean;
67
67
  addDirs?: string[] | undefined;
@@ -13,12 +13,12 @@ export const CopilotDriverConfigSchema = z
13
13
  denyTools: z.array(z.string().min(1)).optional(),
14
14
  /** Approve every tool without interrupts; permissions stop being evidence. */
15
15
  allowAllTools: z.boolean().default(false),
16
- /** Keep the `ask_user` tool available; it is disabled by default because ACP has no wire for it. */
17
- askUser: z.boolean().default(false),
16
+ /** ACP cannot answer ask_user requests; reject configurations that would strand the run. */
17
+ askUser: z.literal(false).default(false),
18
18
  /** Load AGENTS.md and related instruction files from the workspace. */
19
- customInstructions: z.boolean().default(false),
19
+ customInstructions: z.boolean().default(true),
20
20
  /** Enable Copilot's bundled GitHub MCP server. */
21
- builtinMcps: z.boolean().default(false),
21
+ builtinMcps: z.boolean().default(true),
22
22
  addDirs: z.array(z.string()).optional(),
23
23
  extraArgs: z.array(z.string()).optional(),
24
24
  cwd: z.string().optional(),
@@ -38,7 +38,7 @@ export const buildCopilotArgs = (config) => [
38
38
  "--model",
39
39
  config.model,
40
40
  ...(config.reasoningEffort ? ["--effort", config.reasoningEffort] : []),
41
- ...(config.askUser ? [] : ["--no-ask-user"]),
41
+ "--no-ask-user",
42
42
  ...(config.customInstructions ? [] : ["--no-custom-instructions"]),
43
43
  ...(config.builtinMcps ? [] : ["--disable-builtin-mcps"]),
44
44
  ...(config.allowAllTools ? ["--allow-all-tools"] : []),
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/drivers/copilot/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/drivers/copilot/config.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ export declare const copilotDriver: Omit<import("../../core/driver.js").DriverPl
7
7
  allowTools?: string[] | undefined;
8
8
  denyTools?: string[] | undefined;
9
9
  allowAllTools: boolean;
10
- askUser: boolean;
10
+ askUser: false;
11
11
  customInstructions: boolean;
12
12
  builtinMcps: boolean;
13
13
  addDirs?: string[] | undefined;
@@ -41,7 +41,7 @@ export declare const copilotDriver: Omit<import("../../core/driver.js").DriverPl
41
41
  allowTools: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
42
42
  denyTools: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
43
43
  allowAllTools: import("zod").ZodDefault<import("zod").ZodBoolean>;
44
- askUser: import("zod").ZodDefault<import("zod").ZodBoolean>;
44
+ askUser: import("zod").ZodDefault<import("zod").ZodLiteral<false>>;
45
45
  customInstructions: import("zod").ZodDefault<import("zod").ZodBoolean>;
46
46
  builtinMcps: import("zod").ZodDefault<import("zod").ZodBoolean>;
47
47
  addDirs: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
@@ -62,7 +62,7 @@ export declare const copilotDriver: Omit<import("../../core/driver.js").DriverPl
62
62
  allowTools?: string[] | undefined;
63
63
  denyTools?: string[] | undefined;
64
64
  allowAllTools: boolean;
65
- askUser: boolean;
65
+ askUser: false;
66
66
  customInstructions: boolean;
67
67
  builtinMcps: boolean;
68
68
  addDirs?: string[] | undefined;
@@ -83,7 +83,7 @@ export declare const copilotDriver: Omit<import("../../core/driver.js").DriverPl
83
83
  allowTools?: string[] | undefined;
84
84
  denyTools?: string[] | undefined;
85
85
  allowAllTools: boolean;
86
- askUser: boolean;
86
+ askUser: false;
87
87
  customInstructions: boolean;
88
88
  builtinMcps: boolean;
89
89
  addDirs?: string[] | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/drivers/copilot/index.ts"],"names":[],"mappings":"AAkBA,OAAO,EACL,gBAAgB,EAEhB,KAAK,mBAAmB,EACxB,yBAAyB,EAC1B,MAAM,aAAa,CAAC;AAyPrB,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiBxB,CAAC;AAEH,YAAY,EAAE,mBAAmB,EAAE,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/drivers/copilot/index.ts"],"names":[],"mappings":"AAmBA,OAAO,EACL,gBAAgB,EAEhB,KAAK,mBAAmB,EACxB,yBAAyB,EAC1B,MAAM,aAAa,CAAC;AAwQrB,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiBxB,CAAC;AAEH,YAAY,EAAE,mBAAmB,EAAE,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,CAAC"}
@@ -3,6 +3,7 @@ import { durationMs } from "../../core/duration.js";
3
3
  import { defineDriver, discoverCliVersion, selectModelAndReasoningEffort, TypedEmitter, } from "../../core/index.js";
4
4
  import { AcpEvents } from "../shared/acp-events.js";
5
5
  import { permissionAnswer, permissionRequestText, records } from "../shared/acp-interaction.js";
6
+ import { acpModel, selectAcpModel } from "../shared/acp-session.js";
6
7
  import { AcpTransport, asRecord } from "../shared/acp-transport.js";
7
8
  import { walkArtifacts } from "../shared/artifacts.js";
8
9
  import { buildCopilotArgs, COPILOT_MODE_IDS, CopilotDriverConfigSchema, } from "./config.js";
@@ -18,6 +19,7 @@ class CopilotDriver {
18
19
  terminal = false;
19
20
  idleTimer;
20
21
  interruptCount = 0;
22
+ responseText = "";
21
23
  interrupts = new Map();
22
24
  config;
23
25
  constructor(config) {
@@ -62,10 +64,11 @@ class CopilotDriver {
62
64
  if (!records(initialized.authMethods).some((method) => method.id === "copilot-login")) {
63
65
  throw new Error("Expected Copilot ACP with copilot-login authentication; check the configured command points to GitHub Copilot CLI");
64
66
  }
65
- const session = await this.request("session/new", { cwd: this.cwd, mcpServers: [] });
67
+ let session = await this.request("session/new", { cwd: this.cwd, mcpServers: [] });
66
68
  if (typeof session.sessionId !== "string")
67
69
  throw new Error("Copilot ACP omitted sessionId");
68
70
  this.sessionId = session.sessionId;
71
+ session = await selectAcpModel("Copilot", session, this.config.model, (method, params) => this.request(method, params));
69
72
  const modeId = COPILOT_MODE_IDS[this.config.mode];
70
73
  const currentModeId = asRecord(session.modes)?.currentModeId;
71
74
  if (currentModeId !== modeId) {
@@ -89,7 +92,7 @@ class CopilotDriver {
89
92
  ...(cliVersion ? { cliVersion } : {}),
90
93
  mode: this.config.mode,
91
94
  reasoningEffort: this.config.reasoningEffort,
92
- modelResolution: "requested",
95
+ modelResolution: typeof acpModel(session) === "string" ? "reported" : "requested",
93
96
  nativeConfig: session.configOptions ?? [],
94
97
  usageAvailability: "unknown",
95
98
  isolation: "none",
@@ -116,6 +119,9 @@ class CopilotDriver {
116
119
  return;
117
120
  if (result?.stopReason !== "end_turn")
118
121
  throw new Error(`Copilot stopped with ${String(result?.stopReason ?? "unknown reason")}`);
122
+ // Copilot 1.0.83 emits this native auth failure as text followed by end_turn.
123
+ if (/^Error: Authorization error\. Your credentials may be expired or invalid\.(?: \(Request ID: [^)]+\))?\s*$/.test(this.responseText))
124
+ throw new Error("Copilot authorization failed; run 'copilot login' and retry");
119
125
  this.terminal = true;
120
126
  clearTimeout(this.idleTimer);
121
127
  await this.emitter.emit("done", {
@@ -147,7 +153,8 @@ class CopilotDriver {
147
153
  }
148
154
  if (++this.interruptCount > this.config.maxInterrupts) {
149
155
  this.transport?.write({ id, result: { outcome: { outcome: "cancelled" } } });
150
- throw new Error("Copilot exceeded maxInterrupts");
156
+ this.fail(new Error("Copilot exceeded maxInterrupts"), "max-interactions");
157
+ return;
151
158
  }
152
159
  const interruptId = `copilot-${id}`;
153
160
  if (this.interrupts.has(interruptId))
@@ -166,6 +173,9 @@ class CopilotDriver {
166
173
  if (params.sessionId !== this.sessionId)
167
174
  return;
168
175
  const update = asRecord(params.update);
176
+ const content = asRecord(update?.content);
177
+ if (update?.sessionUpdate === "agent_message_chunk" && typeof content?.text === "string")
178
+ this.responseText = (this.responseText + content.text).slice(0, 8_192);
169
179
  if (update)
170
180
  for (const event of this.events.update(update))
171
181
  await this.emitter.emit("progress", event);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/drivers/copilot/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/drivers/copilot/index.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import { DurationSchema } from "../../core/duration.js";
3
3
  import { cursorCatalog } from "../../core/index.js";
4
4
  export const CursorDriverConfigSchema = z
5
5
  .object({
6
- command: z.string().min(1).default("agent"),
6
+ command: z.string().min(1).default("cursor-agent"),
7
7
  model: z.string().min(1),
8
8
  reasoningEffort: z.enum(cursorCatalog.efforts).optional(),
9
9
  mode: z.enum(["agent", "plan", "ask"]).default("agent"),
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/drivers/cursor/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC;KACtC,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IAC3C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACxB,eAAe,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE;IACzD,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IACvD,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1B,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAChD,cAAc,EAAE,cAAc,CAAC,OAAO,CAAC,YAAY,CAAC;IACpD,WAAW,EAAE,cAAc,CAAC,OAAO,CAAC,YAAY,CAAC;IACjD,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACtD,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC;IAC7D,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC;IAC/D,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;CAC1D,CAAC;KACD,MAAM,EAAE,CAAC;AAIZ,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,MAA0B,EAAY,EAAE,CAAC;IACvE,SAAS;IACT,MAAM,CAAC,KAAK;IACZ,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAC3D,KAAK;CACN,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/drivers/cursor/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC;KACtC,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC;IAClD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACxB,eAAe,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE;IACzD,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IACvD,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1B,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAChD,cAAc,EAAE,cAAc,CAAC,OAAO,CAAC,YAAY,CAAC;IACpD,WAAW,EAAE,cAAc,CAAC,OAAO,CAAC,YAAY,CAAC;IACjD,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACtD,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC;IAC7D,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC;IAC/D,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;CAC1D,CAAC;KACD,MAAM,EAAE,CAAC;AAIZ,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,MAA0B,EAAY,EAAE,CAAC;IACvE,SAAS;IACT,MAAM,CAAC,KAAK;IACZ,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAC3D,KAAK;CACN,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/drivers/cursor/index.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,eAAe,EAAE,KAAK,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AA0RjG,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiBvB,CAAC;AAEH,YAAY,EAAE,kBAAkB,EAAE,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,wBAAwB,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/drivers/cursor/index.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,eAAe,EAAE,KAAK,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AA6RjG,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiBvB,CAAC;AAEH,YAAY,EAAE,kBAAkB,EAAE,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,wBAAwB,EAAE,CAAC"}
@@ -3,6 +3,7 @@ import { durationMs } from "../../core/duration.js";
3
3
  import { defineDriver, discoverCliVersion, selectModelAndReasoningEffort, TypedEmitter, } from "../../core/index.js";
4
4
  import { AcpEvents } from "../shared/acp-events.js";
5
5
  import { permissionRequestText, records } from "../shared/acp-interaction.js";
6
+ import { acpModel, selectAcpModel } from "../shared/acp-session.js";
6
7
  import { AcpTransport, asRecord } from "../shared/acp-transport.js";
7
8
  import { walkArtifacts } from "../shared/artifacts.js";
8
9
  import { buildCursorArgs, CursorDriverConfigSchema } from "./config.js";
@@ -68,6 +69,7 @@ class CursorDriver {
68
69
  if (typeof session.sessionId !== "string")
69
70
  throw new Error("Cursor ACP omitted sessionId");
70
71
  this.sessionId = session.sessionId;
72
+ session = await selectAcpModel("Cursor", session, this.config.model, (method, params) => this.request(method, params));
71
73
  if (this.config.reasoningEffort) {
72
74
  const selection = effortSelector(session, this.config.reasoningEffort);
73
75
  const updated = await this.request("session/set_config_option", {
@@ -79,7 +81,7 @@ class CursorDriver {
79
81
  throw new Error("Cursor ACP did not apply the requested reasoning effort");
80
82
  session = { ...session, ...updated };
81
83
  }
82
- const model = records(session.configOptions).find((option) => option.category === "model" || option.id === "model")?.currentValue ?? asRecord(session.models)?.currentModelId;
84
+ const model = acpModel(session);
83
85
  if (typeof model === "string" && model !== this.config.model)
84
86
  throw new Error(`Cursor ACP selected '${model}' instead of requested '${this.config.model}'`);
85
87
  this.ready = true;
@@ -149,8 +151,11 @@ class CursorDriver {
149
151
  });
150
152
  return;
151
153
  }
152
- if (++this.interruptCount > this.config.maxInterrupts)
153
- throw new Error("Cursor exceeded maxInterrupts");
154
+ if (++this.interruptCount > this.config.maxInterrupts) {
155
+ this.transport?.write({ id, result: { outcome: { outcome: "cancelled" } } });
156
+ this.fail(new Error("Cursor exceeded maxInterrupts"), "max-interactions");
157
+ return;
158
+ }
154
159
  const interruptId = `cursor-${id}`;
155
160
  if (this.interrupts.has(interruptId))
156
161
  throw new Error("Cursor reused a pending request ID");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/drivers/cursor/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/drivers/cursor/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { type RpcRecord } from "./acp-transport.js";
2
+ export declare const acpModel: (session: RpcRecord) => unknown;
3
+ export declare const selectAcpModel: (label: string, session: RpcRecord, model: string, request: (method: string, params: RpcRecord) => Promise<RpcRecord>) => Promise<RpcRecord>;
4
+ //# sourceMappingURL=acp-session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acp-session.d.ts","sourceRoot":"","sources":["../../../src/drivers/shared/acp-session.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE9D,eAAO,MAAM,QAAQ,YAAa,SAAS,KAAG,OAGe,CAAC;AAK9D,eAAO,MAAM,cAAc,UAClB,MAAM,WACJ,SAAS,SACX,MAAM,WACJ,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,KAAK,OAAO,CAAC,SAAS,CAAC,KACjE,OAAO,CAAC,SAAS,CAuBnB,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { records } from "./acp-interaction.js";
2
+ import { asRecord } from "./acp-transport.js";
3
+ export const acpModel = (session) => records(session.configOptions).find((option) => option.category === "model" || option.id === "model")?.currentValue ?? asRecord(session.models)?.currentModelId;
4
+ const hasOption = (options, value) => records(options).some((option) => option.value === value || hasOption(option.options, value));
5
+ export const selectAcpModel = async (label, session, model, request) => {
6
+ let selected = session;
7
+ const selector = records(session.configOptions).find((option) => option.category === "model" || option.id === "model");
8
+ if (acpModel(session) !== model &&
9
+ typeof selector?.id === "string" &&
10
+ hasOption(selector.options, model)) {
11
+ const updated = await request("session/set_config_option", {
12
+ sessionId: session.sessionId,
13
+ configId: selector.id,
14
+ value: model,
15
+ });
16
+ selected = { ...session, ...updated };
17
+ }
18
+ const reported = acpModel(selected);
19
+ if (typeof reported === "string" && reported !== model)
20
+ throw new Error(`${label} ACP selected '${reported}' instead of requested '${model}'; use an exact model ID advertised by the ACP session`);
21
+ return selected;
22
+ };
23
+ //# sourceMappingURL=acp-session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acp-session.js","sourceRoot":"","sources":["../../../src/drivers/shared/acp-session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAkB,MAAM,oBAAoB,CAAC;AAE9D,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,OAAkB,EAAW,EAAE,CACtD,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,IAAI,CACjC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,KAAK,OAAO,IAAI,MAAM,CAAC,EAAE,KAAK,OAAO,CACjE,EAAE,YAAY,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC;AAE9D,MAAM,SAAS,GAAG,CAAC,OAAgB,EAAE,KAAa,EAAW,EAAE,CAC7D,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,KAAK,KAAK,IAAI,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;AAEhG,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EACjC,KAAa,EACb,OAAkB,EAClB,KAAa,EACb,OAAkE,EAC9C,EAAE;IACtB,IAAI,QAAQ,GAAG,OAAO,CAAC;IACvB,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,IAAI,CAClD,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,KAAK,OAAO,IAAI,MAAM,CAAC,EAAE,KAAK,OAAO,CACjE,CAAC;IACF,IACE,QAAQ,CAAC,OAAO,CAAC,KAAK,KAAK;QAC3B,OAAO,QAAQ,EAAE,EAAE,KAAK,QAAQ;QAChC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,EAClC,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,2BAA2B,EAAE;YACzD,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,QAAQ,EAAE,QAAQ,CAAC,EAAE;YACrB,KAAK,EAAE,KAAK;SACb,CAAC,CAAC;QACH,QAAQ,GAAG,EAAE,GAAG,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC;IACxC,CAAC;IACD,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACpC,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,KAAK;QACpD,MAAM,IAAI,KAAK,CACb,GAAG,KAAK,kBAAkB,QAAQ,2BAA2B,KAAK,wDAAwD,CAC3H,CAAC;IACJ,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prismatic-io/lux",
3
- "version": "0.0.2-preview.28",
3
+ "version": "0.0.2-preview.29",
4
4
  "description": "Coding-agent evaluation and improvement with deterministic assertions, optional LLM judges, and first-class human-in-the-loop runs.",
5
5
  "license": "MIT",
6
6
  "homepage": "https://github.com/prismatic-io/lux",
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: lux-answerer
3
- version: 0.0.2-preview.28
3
+ version: 0.0.2-preview.29
4
4
  description: Play the persona for a running Lux orchestrator that uses the claude-code answerer. Read structured events on stdout, decide answers from persona + context, write JSON to its answer channel.
5
5
  user-invocable: false
6
6
  allowed-tools: Bash, Read
@@ -4,7 +4,7 @@ export const cursorCatalog = defineHarnessCatalog({
4
4
  driver: "cursor",
5
5
  verified: "2026-09-18",
6
6
  sources: [
7
- "agent --list-models (account-scoped, needs a login)",
7
+ "cursor-agent --list-models (account-scoped, needs a login)",
8
8
  "https://cursor.com/docs/models",
9
9
  "https://cursor.com/docs/cli/acp",
10
10
  ],
@@ -22,27 +22,35 @@ and silently falls back on the rest, so the harness catalog in
22
22
  `core/harness-catalogs/copilot.ts` records the levels per model id and Lux
23
23
  rejects a level the model does not honor. Models whose levels are not published
24
24
  (Gemini, Grok, Kimi, MAI) are listed with no effort. When no effort is set, a
25
- model with levels runs at `low`. The session reports the requested model, not
26
- a confirmed one. `lux doctor` compares the catalog's model ids with
25
+ model with levels runs at `low`. When ACP advertises a model selector, Lux
26
+ selects and verifies the requested model; otherwise it records the model as
27
+ requested rather than confirmed. `lux doctor` compares the catalog's model ids with
27
28
  `copilot help config` and warns when they differ.
28
29
 
29
30
  Tool permission requests arrive as ACP `session/request_permission` calls and
30
31
  become `approve` interrupts. Lux answers with the one-operation option only and
31
32
  never selects a remembered grant. `allowTools` and `denyTools` pass Copilot
32
33
  permission patterns; `allowAllTools` approves everything, which turns the
33
- interactive capability off. The `ask_user` tool is disabled by default because
34
- Copilot has no ACP wire for it; set `askUser: true` only when the harness can
35
- answer it another way.
36
-
37
- Copilot loads no `AGENTS.md` instructions and no bundled GitHub MCP server
38
- unless `customInstructions` or `builtinMcps` are enabled. Auto-update is always
39
- off. The driver provides no ambient-configuration isolation: Copilot still
34
+ interactive capability off. The `ask_user` tool is disabled because Copilot has
35
+ no ACP wire for it. `askUser: true` is rejected before launching the CLI;
36
+ permission interrupts remain supported through the normal Lux answerer.
37
+
38
+ Copilot loads its native workspace instructions and bundled GitHub MCP server
39
+ by default, matching ordinary harness execution. Set `customInstructions: false`
40
+ or `builtinMcps: false` to disable them for a specific evaluation. Auto-update is
41
+ always off. The driver provides no ambient-configuration isolation: Copilot still
40
42
  reads `~/.copilot` settings, MCP configuration, and credentials. Usage and
41
43
  cost are recorded as unknown; `--usage-output-file` cannot be combined with
42
44
  `--acp`.
43
45
 
44
- The adapter is covered by synthetic protocol and lifecycle tests. It has not
45
- been validated against an authenticated Copilot session.
46
+ The adapter has synthetic protocol and lifecycle tests plus an opt-in live
47
+ smoke task: `mise run smoke:harnesses -- copilot` from the repository root.
48
+ The live task uses your installed CLI, existing login, and model quota. CLI
49
+ `1.0.83` passed the authenticated file-copy smoke on 2026-09-30 after the account
50
+ received a Copilot seat and CLI access. A seat alone does not enable the CLI:
51
+ check the organization's Copilot CLI policy when GitHub returns a feature-access
52
+ 403. Lux also recognizes the CLI's native authorization diagnostic as an error
53
+ even when Copilot ends the turn normally.
46
54
 
47
55
  Protocol references:
48
56
 
@@ -14,12 +14,12 @@ export const CopilotDriverConfigSchema = z
14
14
  denyTools: z.array(z.string().min(1)).optional(),
15
15
  /** Approve every tool without interrupts; permissions stop being evidence. */
16
16
  allowAllTools: z.boolean().default(false),
17
- /** Keep the `ask_user` tool available; it is disabled by default because ACP has no wire for it. */
18
- askUser: z.boolean().default(false),
17
+ /** ACP cannot answer ask_user requests; reject configurations that would strand the run. */
18
+ askUser: z.literal(false).default(false),
19
19
  /** Load AGENTS.md and related instruction files from the workspace. */
20
- customInstructions: z.boolean().default(false),
20
+ customInstructions: z.boolean().default(true),
21
21
  /** Enable Copilot's bundled GitHub MCP server. */
22
- builtinMcps: z.boolean().default(false),
22
+ builtinMcps: z.boolean().default(true),
23
23
  addDirs: z.array(z.string()).optional(),
24
24
  extraArgs: z.array(z.string()).optional(),
25
25
  cwd: z.string().optional(),
@@ -42,7 +42,7 @@ export const buildCopilotArgs = (config: CopilotDriverConfig): string[] => [
42
42
  "--model",
43
43
  config.model,
44
44
  ...(config.reasoningEffort ? ["--effort", config.reasoningEffort] : []),
45
- ...(config.askUser ? [] : ["--no-ask-user"]),
45
+ "--no-ask-user",
46
46
  ...(config.customInstructions ? [] : ["--no-custom-instructions"]),
47
47
  ...(config.builtinMcps ? [] : ["--disable-builtin-mcps"]),
48
48
  ...(config.allowAllTools ? ["--allow-all-tools"] : []),
@@ -14,6 +14,7 @@ import {
14
14
  } from "../../core/index.js";
15
15
  import { AcpEvents } from "../shared/acp-events.js";
16
16
  import { permissionAnswer, permissionRequestText, records } from "../shared/acp-interaction.js";
17
+ import { acpModel, selectAcpModel } from "../shared/acp-session.js";
17
18
  import { AcpTransport, asRecord, type RpcId, type RpcRecord } from "../shared/acp-transport.js";
18
19
  import { walkArtifacts } from "../shared/artifacts.js";
19
20
  import {
@@ -35,6 +36,7 @@ class CopilotDriver implements AgentDriver {
35
36
  private terminal = false;
36
37
  private idleTimer: NodeJS.Timeout | undefined;
37
38
  private interruptCount = 0;
39
+ private responseText = "";
38
40
  private readonly interrupts = new Map<string, { id: RpcId; params: RpcRecord }>();
39
41
 
40
42
  private readonly config: CopilotDriverConfig;
@@ -91,9 +93,12 @@ class CopilotDriver implements AgentDriver {
91
93
  "Expected Copilot ACP with copilot-login authentication; check the configured command points to GitHub Copilot CLI",
92
94
  );
93
95
  }
94
- const session = await this.request("session/new", { cwd: this.cwd, mcpServers: [] });
96
+ let session = await this.request("session/new", { cwd: this.cwd, mcpServers: [] });
95
97
  if (typeof session.sessionId !== "string") throw new Error("Copilot ACP omitted sessionId");
96
98
  this.sessionId = session.sessionId;
99
+ session = await selectAcpModel("Copilot", session, this.config.model, (method, params) =>
100
+ this.request(method, params),
101
+ );
97
102
  const modeId = COPILOT_MODE_IDS[this.config.mode];
98
103
  const currentModeId = asRecord(session.modes)?.currentModeId;
99
104
  if (currentModeId !== modeId) {
@@ -117,7 +122,7 @@ class CopilotDriver implements AgentDriver {
117
122
  ...(cliVersion ? { cliVersion } : {}),
118
123
  mode: this.config.mode,
119
124
  reasoningEffort: this.config.reasoningEffort,
120
- modelResolution: "requested",
125
+ modelResolution: typeof acpModel(session) === "string" ? "reported" : "requested",
121
126
  nativeConfig: session.configOptions ?? [],
122
127
  usageAvailability: "unknown",
123
128
  isolation: "none",
@@ -143,6 +148,13 @@ class CopilotDriver implements AgentDriver {
143
148
  if (this.terminal) return;
144
149
  if (result?.stopReason !== "end_turn")
145
150
  throw new Error(`Copilot stopped with ${String(result?.stopReason ?? "unknown reason")}`);
151
+ // Copilot 1.0.83 emits this native auth failure as text followed by end_turn.
152
+ if (
153
+ /^Error: Authorization error\. Your credentials may be expired or invalid\.(?: \(Request ID: [^)]+\))?\s*$/.test(
154
+ this.responseText,
155
+ )
156
+ )
157
+ throw new Error("Copilot authorization failed; run 'copilot login' and retry");
146
158
  this.terminal = true;
147
159
  clearTimeout(this.idleTimer);
148
160
  await this.emitter.emit("done", {
@@ -174,7 +186,8 @@ class CopilotDriver implements AgentDriver {
174
186
  }
175
187
  if (++this.interruptCount > this.config.maxInterrupts) {
176
188
  this.transport?.write({ id, result: { outcome: { outcome: "cancelled" } } });
177
- throw new Error("Copilot exceeded maxInterrupts");
189
+ this.fail(new Error("Copilot exceeded maxInterrupts"), "max-interactions");
190
+ return;
178
191
  }
179
192
  const interruptId = `copilot-${id}`;
180
193
  if (this.interrupts.has(interruptId)) throw new Error("Copilot reused a pending request ID");
@@ -191,6 +204,9 @@ class CopilotDriver implements AgentDriver {
191
204
  if (method === "session/update") {
192
205
  if (params.sessionId !== this.sessionId) return;
193
206
  const update = asRecord(params.update);
207
+ const content = asRecord(update?.content);
208
+ if (update?.sessionUpdate === "agent_message_chunk" && typeof content?.text === "string")
209
+ this.responseText = (this.responseText + content.text).slice(0, 8_192);
194
210
  if (update)
195
211
  for (const event of this.events.update(update)) await this.emitter.emit("progress", event);
196
212
  }
@@ -217,7 +233,7 @@ class CopilotDriver implements AgentDriver {
217
233
  );
218
234
  }
219
235
 
220
- private fail(error: unknown, exitReason: "error" | "idle-timeout" = "error"): void {
236
+ private fail(error: unknown, exitReason: DriverEventMap["error"]["exitReason"] = "error"): void {
221
237
  if (this.terminal) return;
222
238
  this.terminal = true;
223
239
  clearTimeout(this.idleTimer);
@@ -1,14 +1,15 @@
1
1
  # Cursor driver
2
2
 
3
3
  The `cursor` driver uses Cursor CLI's ACP transport. Install Cursor CLI and
4
- authenticate it before running Lux. The executable is normally named `agent`;
5
- set `command` to its absolute path if another application owns that name.
4
+ authenticate it before running Lux. Lux defaults to the unambiguous
5
+ `cursor-agent` executable because other harnesses also install `agent`.
6
+ Set `command` to an absolute path or to `agent` if that is your Cursor installation.
6
7
 
7
8
  ```ts
8
9
  {
9
10
  name: "cursor",
10
11
  config: {
11
- command: "/absolute/path/to/cursor/agent",
12
+ command: "/absolute/path/to/cursor-agent",
12
13
  model: "YOUR_CURSOR_MODEL_ID",
13
14
  // Optional: one of low, medium, high, xhigh; applied only when ACP advertises it.
14
15
  // reasoningEffort: "low",
@@ -16,11 +17,13 @@ set `command` to its absolute path if another application owns that name.
16
17
  }
17
18
  ```
18
19
 
19
- `model` is required. Cursor's model list is account-scoped (`agent
20
+ `model` is required. Cursor's model list is account-scoped (`cursor-agent
20
21
  --list-models` after login), so the harness catalog keeps it open: any ID is
21
22
  accepted in configuration and in a `matrix`, and some IDs encode reasoning
22
- effort. Lux passes that ID through `--model` and rejects a different model when
23
- the session reports one. If `reasoningEffort` is supplied (`low`, `medium`,
23
+ effort. Use the exact ACP model ID, including bracketed settings such as
24
+ `composer-2.5[fast=true]`. Lux passes the ID through `--model`, selects it with
25
+ ACP when the session advertises a model selector, and rejects a different
26
+ reported model. If `reasoningEffort` is supplied (`low`, `medium`,
24
27
  `high`, or `xhigh`), Lux requires a matching advertised ACP thought-level
25
28
  selector and checks the response confirms the requested value before sending
26
29
  the prompt. No default effort is applied.
@@ -49,8 +52,11 @@ managed process tree before collecting artifacts. Aborting a run also terminates
49
52
  the managed tree. Unsupported client filesystem/terminal operations are not
50
53
  advertised and unsupported requests receive a JSON-RPC error.
51
54
 
52
- The adapter is covered by synthetic protocol and lifecycle tests. Its initial
53
- implementation has not been validated against an authenticated Cursor session.
55
+ The adapter has synthetic protocol and lifecycle tests plus an opt-in live
56
+ smoke task: `mise run smoke:harnesses -- cursor` from the repository root.
57
+ The live task checks tool evidence, exact file output, and normal completion;
58
+ it uses your installed CLI, existing login, and model quota. Cursor CLI
59
+ `2026.09.23-86fc751` passed the basic authenticated file-copy smoke on 2026-09-30.
54
60
 
55
61
  Protocol references:
56
62
 
@@ -4,7 +4,7 @@ import { cursorCatalog } from "../../core/index.js";
4
4
 
5
5
  export const CursorDriverConfigSchema = z
6
6
  .object({
7
- command: z.string().min(1).default("agent"),
7
+ command: z.string().min(1).default("cursor-agent"),
8
8
  model: z.string().min(1),
9
9
  reasoningEffort: z.enum(cursorCatalog.efforts).optional(),
10
10
  mode: z.enum(["agent", "plan", "ask"]).default("agent"),
@@ -14,6 +14,7 @@ import {
14
14
  } from "../../core/index.js";
15
15
  import { AcpEvents } from "../shared/acp-events.js";
16
16
  import { permissionRequestText, records } from "../shared/acp-interaction.js";
17
+ import { acpModel, selectAcpModel } from "../shared/acp-session.js";
17
18
  import { AcpTransport, asRecord, type RpcId, type RpcRecord } from "../shared/acp-transport.js";
18
19
  import { walkArtifacts } from "../shared/artifacts.js";
19
20
  import { buildCursorArgs, type CursorDriverConfig, CursorDriverConfigSchema } from "./config.js";
@@ -91,6 +92,9 @@ class CursorDriver implements AgentDriver {
91
92
  let session = await this.request("session/new", { cwd: this.cwd, mcpServers: [] });
92
93
  if (typeof session.sessionId !== "string") throw new Error("Cursor ACP omitted sessionId");
93
94
  this.sessionId = session.sessionId;
95
+ session = await selectAcpModel("Cursor", session, this.config.model, (method, params) =>
96
+ this.request(method, params),
97
+ );
94
98
  if (this.config.reasoningEffort) {
95
99
  const selection = effortSelector(session, this.config.reasoningEffort);
96
100
  const updated = await this.request("session/set_config_option", {
@@ -104,10 +108,7 @@ class CursorDriver implements AgentDriver {
104
108
  throw new Error("Cursor ACP did not apply the requested reasoning effort");
105
109
  session = { ...session, ...updated };
106
110
  }
107
- const model =
108
- records(session.configOptions).find(
109
- (option) => option.category === "model" || option.id === "model",
110
- )?.currentValue ?? asRecord(session.models)?.currentModelId;
111
+ const model = acpModel(session);
111
112
  if (typeof model === "string" && model !== this.config.model)
112
113
  throw new Error(
113
114
  `Cursor ACP selected '${model}' instead of requested '${this.config.model}'`,
@@ -182,8 +183,11 @@ class CursorDriver implements AgentDriver {
182
183
  });
183
184
  return;
184
185
  }
185
- if (++this.interruptCount > this.config.maxInterrupts)
186
- throw new Error("Cursor exceeded maxInterrupts");
186
+ if (++this.interruptCount > this.config.maxInterrupts) {
187
+ this.transport?.write({ id, result: { outcome: { outcome: "cancelled" } } });
188
+ this.fail(new Error("Cursor exceeded maxInterrupts"), "max-interactions");
189
+ return;
190
+ }
187
191
  const interruptId = `cursor-${id}`;
188
192
  if (this.interrupts.has(interruptId)) throw new Error("Cursor reused a pending request ID");
189
193
  this.interrupts.set(interruptId, { id, method, params });
@@ -245,7 +249,7 @@ class CursorDriver implements AgentDriver {
245
249
  );
246
250
  }
247
251
 
248
- private fail(error: unknown, exitReason: "error" | "idle-timeout" = "error"): void {
252
+ private fail(error: unknown, exitReason: DriverEventMap["error"]["exitReason"] = "error"): void {
249
253
  if (this.terminal) return;
250
254
  this.terminal = true;
251
255
  clearTimeout(this.idleTimer);
@@ -0,0 +1,40 @@
1
+ import { records } from "./acp-interaction.js";
2
+ import { asRecord, type RpcRecord } from "./acp-transport.js";
3
+
4
+ export const acpModel = (session: RpcRecord): unknown =>
5
+ records(session.configOptions).find(
6
+ (option) => option.category === "model" || option.id === "model",
7
+ )?.currentValue ?? asRecord(session.models)?.currentModelId;
8
+
9
+ const hasOption = (options: unknown, value: string): boolean =>
10
+ records(options).some((option) => option.value === value || hasOption(option.options, value));
11
+
12
+ export const selectAcpModel = async (
13
+ label: string,
14
+ session: RpcRecord,
15
+ model: string,
16
+ request: (method: string, params: RpcRecord) => Promise<RpcRecord>,
17
+ ): Promise<RpcRecord> => {
18
+ let selected = session;
19
+ const selector = records(session.configOptions).find(
20
+ (option) => option.category === "model" || option.id === "model",
21
+ );
22
+ if (
23
+ acpModel(session) !== model &&
24
+ typeof selector?.id === "string" &&
25
+ hasOption(selector.options, model)
26
+ ) {
27
+ const updated = await request("session/set_config_option", {
28
+ sessionId: session.sessionId,
29
+ configId: selector.id,
30
+ value: model,
31
+ });
32
+ selected = { ...session, ...updated };
33
+ }
34
+ const reported = acpModel(selected);
35
+ if (typeof reported === "string" && reported !== model)
36
+ throw new Error(
37
+ `${label} ACP selected '${reported}' instead of requested '${model}'; use an exact model ID advertised by the ACP session`,
38
+ );
39
+ return selected;
40
+ };