@claudexor/harness-cursor 3.5.0 → 3.8.0

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/doctor.d.ts CHANGED
@@ -11,7 +11,9 @@ export interface CursorDoctorDeps {
11
11
  cursorApiKey(env?: EnvMap): string | null;
12
12
  smokeApiKey(key: string, fresh: boolean): Promise<CursorApiSmokeResult>;
13
13
  nativeEnv(env?: EnvMap): EnvMap;
14
- bridgeScopedHome(env: EnvMap): void;
14
+ /** True when the supplied env explicitly selects the vendor FILE store —
15
+ * the only env class whose native session may be probed (D-U3). */
16
+ fileStoreEnv(env?: EnvMap): boolean;
15
17
  }
16
18
  /** One Cursor doctor probe with an optional Accounts identity sidecar. */
17
19
  export declare function probeCursorDoctorForAccounts(spec: DoctorSpec, runtime: CursorDoctorDeps): Promise<HarnessAccountDoctorReceipt>;
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AAC/E,OAAO,EAML,KAAK,uBAAuB,EAC7B,MAAM,WAAW,CAAC;AAEnB,KAAK,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;AACxD,KAAK,oBAAoB,GAAG;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE5D,MAAM,WAAW,gBAAgB;IAC/B,aAAa,CAAC,WAAW,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACjE,YAAY,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;IACxF,YAAY,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC1C,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACxE,SAAS,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAChC,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC;AAED,0EAA0E;AAC1E,wBAAsB,4BAA4B,CAChD,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,2BAA2B,CAAC,CAuKtC"}
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AAC/E,OAAO,EAML,KAAK,uBAAuB,EAC7B,MAAM,WAAW,CAAC;AAEnB,KAAK,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;AACxD,KAAK,oBAAoB,GAAG;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE5D,MAAM,WAAW,gBAAgB;IAC/B,aAAa,CAAC,WAAW,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACjE,YAAY,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;IACxF,YAAY,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC1C,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACxE,SAAS,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAChC;uEACmE;IACnE,YAAY,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACrC;AAED,0EAA0E;AAC1E,wBAAsB,4BAA4B,CAChD,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,2BAA2B,CAAC,CA+KtC"}
package/dist/doctor.js CHANGED
@@ -15,7 +15,12 @@ export async function probeCursorDoctorForAccounts(spec, runtime) {
15
15
  };
16
16
  }
17
17
  const requestedSource = spec.authSource;
18
- const probeNative = requestedSource === undefined || requestedSource === "native_session";
18
+ const probeNativeRequested = requestedSource === undefined || requestedSource === "native_session";
19
+ // D-U3 (unified account model): a native cursor session exists ONLY inside
20
+ // an account row's file store. Any other env would resolve the HOST
21
+ // Keychain login, which is never read — so the probe is honestly skipped
22
+ // and the native source reports unavailable with the remedy.
23
+ const probeNative = probeNativeRequested && runtime.fileStoreEnv(spec.env);
19
24
  const probeApi = requestedSource === undefined || requestedSource === "api_key_env";
20
25
  const env = runtime.nativeEnv(spec.env);
21
26
  const scopedHome = Boolean(spec.env?.["HOME"]);
@@ -24,8 +29,6 @@ export async function probeCursorDoctorForAccounts(spec, runtime) {
24
29
  : requestedSource === "api_key_env"
25
30
  ? "api_key"
26
31
  : (spec.authPreference ?? "auto");
27
- if (probeNative && scopedHome)
28
- runtime.bridgeScopedHome(env);
29
32
  const nativeProbe = probeNative
30
33
  ? await runtime.nativeAuthOk(env, spec.abortSignal)
31
34
  : { kind: "loggedOut" };
@@ -90,7 +93,9 @@ export async function probeCursorDoctorForAccounts(spec, runtime) {
90
93
  source: "native_session",
91
94
  availability: "unavailable",
92
95
  verification: "not_run",
93
- detail: "native Cursor session is not authenticated",
96
+ detail: probeNativeRequested && !probeNative
97
+ ? "host CLI logins are not used (unified account model): connect an isolated Cursor account (`claudexor auth login cursor`)"
98
+ : "native Cursor session is not authenticated",
94
99
  };
95
100
  const apiSource = {
96
101
  source: "api_key_env",
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,26 +1,25 @@
1
- import type { HarnessModel } from "@claudexor/schema";
1
+ import type { HarnessCapabilityProfile, HarnessModel } from "@claudexor/schema";
2
2
  import type { HarnessAdapter } from "@claudexor/core";
3
- import { runCapture, runCliHarness as runCliHarnessDefault } from "@claudexor/core";
3
+ import { runCliHarness as runCliHarnessDefault } from "@claudexor/core";
4
4
  export { parseCursorModelList } from "./parse.js";
5
5
  import { probeCursorNativeAuth } from "./auth.js";
6
6
  export { canonicalCursorProfileHome, cursorProfilePathEnv } from "./profile.js";
7
+ import { smokeIsolatedApiKey, type CursorApiSmokeResult } from "./smoke.js";
8
+ export { cleanupCursorSmokeBase, cursorApiSmokeFinalText, cursorApiSmokePassed, smokeIsolatedApiKey, } from "./smoke.js";
7
9
  export { cursorStatusAuthenticated, cursorStatusLoggedOut, selectCursorAuthRoute, shouldDiscloseCursorAutoApiRoute, } from "./auth.js";
10
+ export declare const BIN: string;
11
+ /** One manifest-owned declaration of the managed login's stdin contract. */
12
+ export declare const CURSOR_MANAGED_LOGIN: {
13
+ readonly stdin: "none";
14
+ };
15
+ export declare const CURSOR_CAPABILITY_PROFILE: HarnessCapabilityProfile;
8
16
  declare function detectVersion(abortSignal?: AbortSignal): Promise<string | null>;
9
17
  declare function cursorApiKey(env?: Record<string, string | null | undefined>): string | null;
10
18
  type EnvMap = Record<string, string | null | undefined>;
11
- type CursorApiSmokeResult = {
12
- ok: boolean;
13
- detail: string;
14
- };
15
19
  type CursorApiSmokeCacheEntry = {
16
20
  result: CursorApiSmokeResult;
17
21
  expiresAtMs: number;
18
22
  };
19
- type CursorApiSmokeOptions = {
20
- makeBaseDir?: () => string;
21
- runCapture?: typeof runCapture;
22
- cleanupBase?: typeof cleanupCursorSmokeBase;
23
- };
24
23
  type CursorRuntimeDeps = {
25
24
  detectVersion: typeof detectVersion;
26
25
  nativeAuthOk: typeof probeCursorNativeAuth;
@@ -35,15 +34,6 @@ type CursorRuntimeDeps = {
35
34
  /** INV-062: profile secrets are resolved transiently, never logged. */
36
35
  resolveProfileSecret: (ref: string) => string | null;
37
36
  };
38
- export declare function cursorApiSmokeFinalText(stdout: string): string | null;
39
- export declare function cursorApiSmokeUsedEnvKey(stdout: string): boolean;
40
- export declare function cursorApiSmokePassed(code: number | null, stdout: string): boolean;
41
- export declare function cleanupCursorSmokeBase(base: string, opts?: {
42
- remove?: (path: string) => void;
43
- sleepMs?: (ms: number) => Promise<void>;
44
- retries?: number;
45
- }): Promise<void>;
46
- export declare function smokeIsolatedApiKey(key?: string | null, options?: CursorApiSmokeOptions): Promise<CursorApiSmokeResult>;
47
- declare function listCursorModels(env?: EnvMap): Promise<HarnessModel[]>;
37
+ declare function listCursorModels(env?: EnvMap, cwd?: string): Promise<HarnessModel[]>;
48
38
  export declare function createCursorAdapter(deps?: Partial<CursorRuntimeDeps>): HarnessAdapter;
49
39
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAIV,wBAAwB,EAGxB,YAAY,EAEb,MAAM,mBAAmB,CAAC;AAK3B,OAAO,KAAK,EAAc,cAAc,EAAoB,MAAM,iBAAiB,CAAC;AACpF,OAAO,EAML,aAAa,IAAI,oBAAoB,EACtC,MAAM,iBAAiB,CAAC;AAIzB,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAGL,qBAAqB,EAMtB,MAAM,WAAW,CAAC;AAQnB,OAAO,EAAE,0BAA0B,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAoB,KAAK,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAC9F,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,yBAAyB,EACzB,qBAAqB,EACrB,qBAAqB,EACrB,gCAAgC,GACjC,MAAM,WAAW,CAAC;AAEnB,eAAO,MAAM,GAAG,QAAqD,CAAC;AAMtE,4EAA4E;AAC5E,eAAO,MAAM,oBAAoB;aAAK,KAAK,EAAE,MAAM;CAAW,CAAC;AAE/D,eAAO,MAAM,yBAAyB,EAAE,wBA0BpC,CAAC;AAoBL,iBAAe,aAAa,CAAC,WAAW,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAY9E;AAED,iBAAS,YAAY,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,GAAG,MAAM,GAAG,IAAI,CAWpF;AAED,KAAK,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;AACxD,KAAK,wBAAwB,GAAG;IAAE,MAAM,EAAE,oBAAoB,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC;AACtF,KAAK,iBAAiB,GAAG;IACvB,aAAa,EAAE,OAAO,aAAa,CAAC;IACpC,YAAY,EAAE,OAAO,qBAAqB,CAAC;IAC3C,YAAY,EAAE,OAAO,YAAY,CAAC;IAClC,gBAAgB,EAAE,OAAO,gBAAgB,CAAC;IAC1C,mBAAmB,EAAE,OAAO,mBAAmB,CAAC;IAChD,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;IACrD,kBAAkB,EAAE,MAAM,CAAC;IAC3B,yBAAyB,EAAE,MAAM,CAAC;IAClC,KAAK,EAAE,MAAM,MAAM,CAAC;IACpB,aAAa,EAAE,OAAO,oBAAoB,CAAC;IAC3C,uEAAuE;IACvE,oBAAoB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;CACtD,CAAC;AAsBF,iBAAe,gBAAgB,CAC7B,GAAG,GAAE,MAAkC,EACvC,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,YAAY,EAAE,CAAC,CAYzB;AAwID,wBAAgB,mBAAmB,CAAC,IAAI,GAAE,OAAO,CAAC,iBAAiB,CAAM,GAAG,cAAc,CA0HzF"}
package/dist/index.js CHANGED
@@ -1,35 +1,38 @@
1
1
  import { createHash } from "node:crypto";
2
- import { existsSync, mkdirSync, mkdtempSync, rmSync, symlinkSync } from "node:fs";
3
- import { tmpdir } from "node:os";
4
- import { join } from "node:path";
5
2
  import { HarnessCapabilityProfile as HarnessCapabilityProfileSchema, HarnessManifest as HarnessManifestSchema, } from "@claudexor/schema";
6
- import { abortSignalFromSpec, HarnessUnavailableError, needsScopedHomeKeychainBridge, promptWithInstructions, providerScrubEnv, runCapture, runCliHarness as runCliHarnessDefault, } from "@claudexor/core";
3
+ import { abortSignalFromSpec, HarnessUnavailableError, promptWithInstructions, providerScrubEnv, runCapture, runCliHarness as runCliHarnessDefault, } from "@claudexor/core";
7
4
  import { resolveSecret } from "@claudexor/secrets";
8
5
  import { CLAUDEXOR_VERSION, nowIso, redactSecrets } from "@claudexor/util";
9
- import { createCursorParser, parseCursorModelList } from "./parse.js";
6
+ import { createCursorParser, parseCursorModelList, parseCursorStderrFailure } from "./parse.js";
10
7
  export { parseCursorModelList } from "./parse.js";
11
8
  import { cursorObservationAuthenticated, cursorObservationError, probeCursorNativeAuth, selectCursorAuthRoute, shouldDiscloseCursorAutoApiRoute, shouldSmokeCursorApiKey, } from "./auth.js";
12
9
  import { probeCursorDoctorForAccounts } from "./doctor.js";
13
10
  import { probeCursorCredentialAccount, probeCursorCredentialProfile, resolveCursorRunRoute, stampCursorProfileEvents, } from "./profile.js";
14
11
  export { canonicalCursorProfileHome, cursorProfilePathEnv } from "./profile.js";
12
+ import { smokeIsolatedApiKey, unsmokedApiSmoke } from "./smoke.js";
13
+ export { cleanupCursorSmokeBase, cursorApiSmokeFinalText, cursorApiSmokePassed, smokeIsolatedApiKey, } from "./smoke.js";
15
14
  export { cursorStatusAuthenticated, cursorStatusLoggedOut, selectCursorAuthRoute, shouldDiscloseCursorAutoApiRoute, } from "./auth.js";
16
- const BIN = process.env.CLAUDEXOR_CURSOR_BIN || "cursor-agent";
15
+ export const BIN = process.env.CLAUDEXOR_CURSOR_BIN || "cursor-agent";
17
16
  // Long enough for one sequential reviewer panel pass; still bounded so revoked
18
17
  // keys do not remain smoke-proven for a whole daemon lifetime.
19
18
  const CURSOR_API_SMOKE_CACHE_TTL_MS = 60 * 60_000;
20
19
  const CURSOR_API_SMOKE_FAILURE_CACHE_TTL_MS = 30_000;
21
- const CURSOR_CAPABILITY_PROFILE = HarnessCapabilityProfileSchema.parse({
20
+ /** One manifest-owned declaration of the managed login's stdin contract. */
21
+ export const CURSOR_MANAGED_LOGIN = { stdin: "none" };
22
+ export const CURSOR_CAPABILITY_PROFILE = HarnessCapabilityProfileSchema.parse({
22
23
  auth: {
23
24
  supported_sources: ["native_session", "api_key_env"],
24
25
  preferred_source: null,
25
26
  credential_transports: [
26
- // Default native auth uses the OS Keychain. Named profiles select
27
- // Cursor's vendor-supported file store, whose auth path is HOME/XDG/
28
- // APPDATA-relocatable while config/session state is relocated separately.
29
- { source: "native_session", kind: "os_keychain", relocatable_by: ["HOME"] },
27
+ // Unified account model (owner decision D-U3): every native cursor
28
+ // session lives in the vendor's FILE store inside a Claudexor-owned
29
+ // account-row HOME (HOME/XDG/APPDATA-relocatable; config/session state
30
+ // relocates separately). The host OS-Keychain login is never read,
31
+ // probed, or bridged — that transport is retired.
30
32
  { source: "native_session", kind: "config_file", relocatable_by: ["HOME"] },
31
33
  { source: "api_key_env", kind: "env_var", relocatable_by: ["ENV"] },
32
34
  ],
35
+ managed_login: CURSOR_MANAGED_LOGIN,
33
36
  },
34
37
  // Ask mode is the mechanism: the CLI withholds the write/shell tools there
35
38
  // ("--mode ask ... (read-only)" per cursor-agent --help), which is a tool
@@ -38,10 +41,16 @@ const CURSOR_CAPABILITY_PROFILE = HarnessCapabilityProfileSchema.parse({
38
41
  // including write and shell", and a live probe wrote a file through it.
39
42
  access_control: { readonly_mechanism: "tool_allowlist" },
40
43
  isolation: {
41
- supported_containment: ["scoped_home_keychain_bridge", "env_or_file_injection"],
44
+ supported_containment: ["env_or_file_injection"],
42
45
  },
43
46
  attachment_inputs: [],
44
47
  });
48
+ /** True only when the supplied env explicitly selects the vendor FILE store
49
+ * (an account row's HOME, `AGENT_CLI_CREDENTIAL_STORE=file`). Any other env
50
+ * would resolve the HOST Keychain login, which is never read (D-U3). */
51
+ function cursorFileStoreEnv(env) {
52
+ return env?.["AGENT_CLI_CREDENTIAL_STORE"] === "file";
53
+ }
45
54
  // Ask + sandbox bound readonly; force approves optional native web unless it is off.
46
55
  function accessArgs(spec) {
47
56
  if (spec.access === "readonly") {
@@ -78,146 +87,6 @@ function cursorApiKey(env) {
78
87
  process.env.CURSOR_API_KEY ||
79
88
  null);
80
89
  }
81
- /** The route did not need (or could not run) the isolated key smoke. */
82
- const unsmokedApiSmoke = (key) => ({
83
- ok: false,
84
- detail: key ? "Cursor API-key smoke not required for selected route" : "no Cursor API key",
85
- });
86
- export function cursorApiSmokeFinalText(stdout) {
87
- const replies = [];
88
- for (const rawLine of stdout.replaceAll("\r", "").split("\n")) {
89
- const line = rawLine.trim();
90
- if (!line)
91
- continue;
92
- let obj;
93
- try {
94
- obj = JSON.parse(line);
95
- }
96
- catch {
97
- continue;
98
- }
99
- if (!obj || typeof obj !== "object")
100
- continue;
101
- const record = obj;
102
- if (record["type"] === "assistant") {
103
- const message = record["message"];
104
- const content = message && typeof message === "object"
105
- ? message["content"]
106
- : undefined;
107
- if (!Array.isArray(content))
108
- continue;
109
- for (const block of content) {
110
- if (!block || typeof block !== "object")
111
- continue;
112
- const text = block["text"];
113
- if (typeof text === "string" && text.trim())
114
- replies.push(text);
115
- }
116
- }
117
- else if (record["type"] === "result") {
118
- const result = record["result"];
119
- if (typeof result === "string" && result.trim())
120
- replies.push(result);
121
- }
122
- }
123
- return replies.at(-1)?.trim() ?? null;
124
- }
125
- export function cursorApiSmokeUsedEnvKey(stdout) {
126
- for (const rawLine of stdout.replaceAll("\r", "").split("\n")) {
127
- const line = rawLine.trim();
128
- if (!line)
129
- continue;
130
- let obj;
131
- try {
132
- obj = JSON.parse(line);
133
- }
134
- catch {
135
- continue;
136
- }
137
- if (!obj || typeof obj !== "object")
138
- continue;
139
- const record = obj;
140
- if (record["type"] === "system" && record["apiKeySource"] === "env")
141
- return true;
142
- }
143
- return false;
144
- }
145
- export function cursorApiSmokePassed(code, stdout) {
146
- return code === 0 && cursorApiSmokeUsedEnvKey(stdout) && cursorApiSmokeFinalText(stdout) === "OK";
147
- }
148
- export async function cleanupCursorSmokeBase(base, opts = {}) {
149
- const remove = opts.remove ?? ((path) => rmSync(path, { recursive: true, force: true }));
150
- const sleepMs = opts.sleepMs ?? ((ms) => new Promise((resolve) => setTimeout(resolve, ms)));
151
- const retries = opts.retries ?? 2;
152
- for (let attempt = 0;; attempt += 1) {
153
- try {
154
- remove(base);
155
- return;
156
- }
157
- catch {
158
- if (attempt >= retries)
159
- return;
160
- await sleepMs(25 * (attempt + 1));
161
- }
162
- }
163
- }
164
- function bridgeMacLoginKeychain(home) {
165
- if (process.platform !== "darwin")
166
- return;
167
- const realHome = process.env.HOME;
168
- if (!realHome || realHome === home)
169
- return;
170
- const source = join(realHome, "Library", "Keychains");
171
- if (!existsSync(source))
172
- return;
173
- const targetParent = join(home, "Library");
174
- const target = join(targetParent, "Keychains");
175
- if (existsSync(target))
176
- return;
177
- try {
178
- mkdirSync(targetParent, { recursive: true, mode: 0o700 });
179
- symlinkSync(source, target, "dir");
180
- }
181
- catch {
182
- // The smoke will fail honestly if the OS credential bridge cannot be created.
183
- }
184
- }
185
- export async function smokeIsolatedApiKey(key = cursorApiKey(), options = {}) {
186
- if (!key)
187
- return { ok: false, detail: "no Cursor API key" };
188
- const base = options.makeBaseDir?.() ?? mkdtempSync(join(tmpdir(), "claudexor-cursor-smoke-"));
189
- const home = join(base, "home");
190
- try {
191
- mkdirSync(join(home, ".config"), { recursive: true, mode: 0o700 });
192
- bridgeMacLoginKeychain(home);
193
- const env = {
194
- ...providerScrubEnv(),
195
- HOME: home,
196
- XDG_CONFIG_HOME: join(home, ".config"),
197
- CURSOR_API_KEY: key,
198
- };
199
- const r = await (options.runCapture ?? runCapture)(BIN, ["-p", "--output-format", "stream-json", "--mode", "plan", "--trust", "Reply exactly OK"], {
200
- env,
201
- timeoutMs: 45_000,
202
- });
203
- const text = `${r.stdout}\n${r.stderr}`;
204
- if (cursorApiSmokePassed(r.code, r.stdout))
205
- return { ok: true, detail: "isolated cursor-agent API-key smoke passed" };
206
- return {
207
- ok: false,
208
- detail: `isolated cursor-agent API-key smoke failed (exit ${r.code ?? "signal"}): ${redactSecrets(text).trim().split("\n").slice(-3).join(" ").slice(0, 500)}`,
209
- };
210
- }
211
- catch (err) {
212
- return {
213
- ok: false,
214
- detail: `isolated cursor-agent API-key smoke failed (${err instanceof Error ? err.message.split("\n")[0] : String(err)})`,
215
- };
216
- }
217
- finally {
218
- await (options.cleanupBase ?? cleanupCursorSmokeBase)(base);
219
- }
220
- }
221
90
  function cursorApiSmokeCacheKey(key) {
222
91
  return createHash("sha256").update(key).digest("hex");
223
92
  }
@@ -235,9 +104,13 @@ async function smokeCursorApiKey(deps, key, fresh = false) {
235
104
  deps.apiSmokeCache.set(cacheKey, { result, expiresAtMs: now + ttlMs });
236
105
  return result;
237
106
  }
238
- async function listCursorModels(env = { ...providerScrubEnv() }) {
107
+ async function listCursorModels(env = { ...providerScrubEnv() }, cwd) {
239
108
  try {
240
- const r = await runCapture(BIN, ["--list-models"], { env, timeoutMs: 30_000 });
109
+ const r = await runCapture(BIN, ["--list-models"], {
110
+ env,
111
+ ...(cwd ? { cwd } : {}),
112
+ timeoutMs: 30_000,
113
+ });
241
114
  if (r.code !== 0)
242
115
  return [];
243
116
  return parseCursorModelList(r.stdout);
@@ -252,19 +125,15 @@ function cursorBaseEnv(env) {
252
125
  function cursorNativeEnv(env) {
253
126
  return { ...cursorBaseEnv(env), CURSOR_API_KEY: null };
254
127
  }
255
- function maybeBridgeScopedHome(env) {
256
- const home = env["HOME"];
257
- if (home && needsScopedHomeKeychainBridge(CURSOR_CAPABILITY_PROFILE))
258
- bridgeMacLoginKeychain(home);
259
- }
260
128
  async function resolveCursorAuthRoute(deps, input) {
261
129
  const env = cursorBaseEnv(input.env);
262
130
  const scopedHome = Boolean(input.env?.["HOME"]);
263
- if (scopedHome && input.bridgeNativeSession !== false)
264
- maybeBridgeScopedHome(env);
265
131
  const authPreference = input.authPreference ?? "auto";
266
132
  const key = authPreference === "subscription" ? null : deps.cursorApiKey(input.env);
267
- const nativeProbe = authPreference === "api_key"
133
+ // D-U3: a native session is probed ONLY in an env that explicitly selects
134
+ // the vendor FILE store (an account row's HOME). Any other env would read
135
+ // the HOST Keychain login, which the unified account model retired.
136
+ const nativeProbe = authPreference === "api_key" || !cursorFileStoreEnv(input.env)
268
137
  ? { kind: "loggedOut" }
269
138
  : await deps.nativeAuthOk(env, input.abortSignal);
270
139
  const nativeAuthed = cursorObservationAuthenticated(nativeProbe);
@@ -287,14 +156,40 @@ async function resolveCursorAuthRoute(deps, input) {
287
156
  });
288
157
  return { route, env, key, nativeAuthed, scopedHome };
289
158
  }
159
+ /**
160
+ * A PINNED profile owns its own inventory. `resolveCursorAuthRoute` below is
161
+ * the engine-default ladder, which under D-U3 can only ever find the API-key
162
+ * route — so asking it about a named native account returns an empty list and
163
+ * the strict model gate then refuses a model the account really offers. The run
164
+ * path resolves a pinned profile through `resolveCursorRunRoute`; enumeration
165
+ * must go through the SAME seam, or preflight and spawn are asking two
166
+ * different accounts.
167
+ */
168
+ async function listCursorModelsForProfile(deps, spec) {
169
+ const resolved = await resolveCursorRunRoute({
170
+ credential_profile: spec.credentialProfile,
171
+ env: spec.env ?? {},
172
+ auth_preference: spec.authPreference ?? "auto",
173
+ }, deps, ({ cursorApiKey, ...input }) => resolveCursorAuthRoute(cursorApiKey ? { ...deps, cursorApiKey } : deps, input), spec.abortSignal);
174
+ if ("refusal" in resolved)
175
+ return [];
176
+ if (resolved.route === "local_session")
177
+ return deps.listCursorModels({ ...resolved.env, CURSOR_API_KEY: null }, spec.cwd);
178
+ if (resolved.route === "api_key" && resolved.key)
179
+ return deps.listCursorModels({ ...resolved.env, CURSOR_API_KEY: resolved.key }, spec.cwd);
180
+ return [];
181
+ }
290
182
  async function listCursorModelsFromReadyRoute(deps, spec) {
291
- const catalogOnly = () => {
292
- const key = deps.cursorApiKey(spec?.env);
293
- return deps.listCursorModels({
294
- ...providerScrubEnv(),
295
- CURSOR_API_KEY: key ?? null,
183
+ if (spec?.credentialProfile)
184
+ return listCursorModelsForProfile(deps, {
185
+ ...spec,
186
+ credentialProfile: spec.credentialProfile,
296
187
  });
297
- };
188
+ // ONE seam for every enumeration below: the inventory must run in the same
189
+ // working directory the eventual run will use, because cursor-agent resolves
190
+ // account/workspace state relative to it.
191
+ const modelsFrom = (env) => deps.listCursorModels(env, spec?.cwd);
192
+ const catalogOnly = () => modelsFrom({ ...providerScrubEnv(), CURSOR_API_KEY: deps.cursorApiKey(spec?.env) ?? null });
298
193
  if (spec?.env || spec?.authPreference || spec?.fresh) {
299
194
  const authPreference = spec.authPreference ?? "auto";
300
195
  const resolved = await resolveCursorAuthRoute(deps, {
@@ -304,34 +199,27 @@ async function listCursorModelsFromReadyRoute(deps, spec) {
304
199
  abortSignal: spec?.abortSignal,
305
200
  });
306
201
  if (resolved.route === "local_session") {
307
- const models = await deps.listCursorModels({ ...resolved.env, CURSOR_API_KEY: null });
202
+ const models = await modelsFrom({ ...resolved.env, CURSOR_API_KEY: null });
308
203
  if (models.length > 0)
309
204
  return models;
310
205
  if (authPreference === "subscription")
311
206
  return [];
312
207
  }
313
208
  if (resolved.route === "api_key" && resolved.key) {
314
- const models = await deps.listCursorModels({ ...resolved.env, CURSOR_API_KEY: resolved.key });
209
+ const models = await modelsFrom({ ...resolved.env, CURSOR_API_KEY: resolved.key });
315
210
  if (models.length > 0)
316
211
  return models;
317
212
  }
318
213
  return [];
319
214
  }
320
- const nativeEnv = cursorNativeEnv();
321
- const nativeProbe = await deps.nativeAuthOk(nativeEnv, spec?.abortSignal);
322
- if (cursorObservationAuthenticated(nativeProbe)) {
323
- const nativeModels = await deps.listCursorModels(nativeEnv);
324
- if (nativeModels.length > 0)
325
- return nativeModels;
326
- }
327
- if (cursorObservationError(nativeProbe))
328
- return [];
215
+ // No default native session exists to list models from (D-U3: the host
216
+ // Keychain is never probed); the key route and the static catalog remain.
329
217
  const key = deps.cursorApiKey();
330
218
  if (!key)
331
219
  return catalogOnly();
332
220
  const apiSmoke = await smokeCursorApiKey(deps, key, spec?.fresh === true);
333
221
  if (apiSmoke.ok) {
334
- const models = await deps.listCursorModels({ ...providerScrubEnv(), CURSOR_API_KEY: key });
222
+ const models = await modelsFrom({ ...providerScrubEnv(), CURSOR_API_KEY: key });
335
223
  if (models.length > 0)
336
224
  return models;
337
225
  }
@@ -358,17 +246,21 @@ export function createCursorAdapter(deps = {}) {
358
246
  cursorApiKey: runtime.cursorApiKey,
359
247
  smokeApiKey: (key, fresh) => smokeCursorApiKey(runtime, key, fresh),
360
248
  nativeEnv: cursorNativeEnv,
361
- bridgeScopedHome: maybeBridgeScopedHome,
249
+ fileStoreEnv: cursorFileStoreEnv,
362
250
  });
363
251
  return {
364
252
  id: "cursor",
253
+ capabilityProfile: CURSOR_CAPABILITY_PROFILE,
365
254
  async discover() {
366
255
  const version = await runtime.detectVersion();
367
256
  if (version === null) {
368
257
  throw new HarnessUnavailableError("cursor-agent not found on PATH (set CLAUDEXOR_CURSOR_BIN)");
369
258
  }
370
- const nativeProbe = await runtime.nativeAuthOk(cursorNativeEnv());
371
- const nativeAuthed = cursorObservationAuthenticated(nativeProbe);
259
+ // D-U3: there is no default native session to detect (the host Keychain
260
+ // is never probed); manifest source availability reads the key only.
261
+ // Account rows prove their native sessions through their own profile
262
+ // probes at admission.
263
+ const nativeAuthed = false;
372
264
  const apiKey = runtime.cursorApiKey() !== null;
373
265
  return HarnessManifestSchema.parse({
374
266
  id: "cursor",
@@ -530,7 +422,9 @@ async function* runCursor(spec, deps) {
530
422
  yield { type: "completed", session_id: spec.session_id, ts: nowIso() };
531
423
  return;
532
424
  }
533
- const cursorParser = createCursorParser(route === "local_session" ? "vendor_native" : "managed_api_key", route === "local_session" ? "native_session" : "api_key_env", spec.intent === "plan", false);
425
+ const credentialRoute = route === "local_session" ? "vendor_native" : "managed_api_key";
426
+ const credentialSource = route === "local_session" ? "native_session" : "api_key_env";
427
+ const cursorParser = createCursorParser(credentialRoute, credentialSource, spec.intent === "plan", false, spec.model_hint);
534
428
  yield* deps.runCliHarness({
535
429
  bin: BIN,
536
430
  args,
@@ -539,6 +433,17 @@ async function* runCursor(spec, deps) {
539
433
  label: "cursor-agent",
540
434
  redact: redactSecrets,
541
435
  parseEvent: stampCursorProfileEvents(profile, cursorParser),
436
+ // The stderr-only vendor-limit fatal carries the same three credential
437
+ // stamps as stream events (mirrors harness-codex): without the route the
438
+ // quota registry would drop the typed limit on the floor.
439
+ parseStderrFailure: (m, s) => {
440
+ const event = parseCursorStderrFailure(m, s, spec.model_hint, profile);
441
+ if (event) {
442
+ event.credential_route = credentialRoute;
443
+ event.credential_source = credentialSource;
444
+ }
445
+ return event;
446
+ },
542
447
  });
543
448
  }
544
449
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}