@claudexor/harness-cursor 3.4.2 → 3.6.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 +3 -1
- package/dist/doctor.d.ts.map +1 -1
- package/dist/doctor.js +9 -4
- package/dist/doctor.js.map +1 -1
- package/dist/index.d.ts +4 -19
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +43 -172
- package/dist/index.js.map +1 -1
- package/dist/parse.d.ts +12 -1
- package/dist/parse.d.ts.map +1 -1
- package/dist/parse.js +90 -31
- package/dist/parse.js.map +1 -1
- package/dist/profile.d.ts +3 -3
- package/dist/profile.d.ts.map +1 -1
- package/dist/profile.js +3 -3
- package/dist/profile.js.map +1 -1
- package/dist/retry-signals.d.ts +29 -0
- package/dist/retry-signals.d.ts.map +1 -0
- package/dist/retry-signals.js +82 -0
- package/dist/retry-signals.js.map +1 -0
- package/dist/smoke.d.ts +22 -0
- package/dist/smoke.d.ts.map +1 -0
- package/dist/smoke.js +137 -0
- package/dist/smoke.js.map +1 -0
- package/package.json +5 -5
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
|
-
|
|
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>;
|
package/dist/doctor.d.ts.map
CHANGED
|
@@ -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,
|
|
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
|
|
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:
|
|
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",
|
package/dist/doctor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,IAAI,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAEjF,OAAO,EACL,8BAA8B,EAC9B,sBAAsB,EACtB,yBAAyB,EACzB,qBAAqB,EACrB,uBAAuB,GAExB,MAAM,WAAW,CAAC;
|
|
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,20 @@
|
|
|
1
1
|
import type { HarnessModel } from "@claudexor/schema";
|
|
2
2
|
import type { HarnessAdapter } from "@claudexor/core";
|
|
3
|
-
import {
|
|
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;
|
|
8
11
|
declare function detectVersion(abortSignal?: AbortSignal): Promise<string | null>;
|
|
9
12
|
declare function cursorApiKey(env?: Record<string, string | null | undefined>): string | null;
|
|
10
13
|
type EnvMap = Record<string, string | null | undefined>;
|
|
11
|
-
type CursorApiSmokeResult = {
|
|
12
|
-
ok: boolean;
|
|
13
|
-
detail: string;
|
|
14
|
-
};
|
|
15
14
|
type CursorApiSmokeCacheEntry = {
|
|
16
15
|
result: CursorApiSmokeResult;
|
|
17
16
|
expiresAtMs: number;
|
|
18
17
|
};
|
|
19
|
-
type CursorApiSmokeOptions = {
|
|
20
|
-
makeBaseDir?: () => string;
|
|
21
|
-
runCapture?: typeof runCapture;
|
|
22
|
-
cleanupBase?: typeof cleanupCursorSmokeBase;
|
|
23
|
-
};
|
|
24
18
|
type CursorRuntimeDeps = {
|
|
25
19
|
detectVersion: typeof detectVersion;
|
|
26
20
|
nativeAuthOk: typeof probeCursorNativeAuth;
|
|
@@ -35,15 +29,6 @@ type CursorRuntimeDeps = {
|
|
|
35
29
|
/** INV-062: profile secrets are resolved transiently, never logged. */
|
|
36
30
|
resolveProfileSecret: (ref: string) => string | null;
|
|
37
31
|
};
|
|
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
32
|
declare function listCursorModels(env?: EnvMap): Promise<HarnessModel[]>;
|
|
48
33
|
export declare function createCursorAdapter(deps?: Partial<CursorRuntimeDeps>): HarnessAdapter;
|
|
49
34
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAMV,YAAY,EAEb,MAAM,mBAAmB,CAAC;AAK3B,OAAO,KAAK,EAAc,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAClE,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;AAkDtE,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,CAAC,GAAG,GAAE,MAAkC,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAQhG;AAoGD,wBAAgB,mBAAmB,CAAC,IAAI,GAAE,OAAO,CAAC,iBAAiB,CAAM,GAAG,cAAc,CAyHzF"}
|
package/dist/index.js
CHANGED
|
@@ -1,19 +1,18 @@
|
|
|
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,
|
|
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;
|
|
@@ -23,10 +22,11 @@ const CURSOR_CAPABILITY_PROFILE = HarnessCapabilityProfileSchema.parse({
|
|
|
23
22
|
supported_sources: ["native_session", "api_key_env"],
|
|
24
23
|
preferred_source: null,
|
|
25
24
|
credential_transports: [
|
|
26
|
-
//
|
|
27
|
-
//
|
|
28
|
-
// APPDATA-relocatable
|
|
29
|
-
|
|
25
|
+
// Unified account model (owner decision D-U3): every native cursor
|
|
26
|
+
// session lives in the vendor's FILE store inside a Claudexor-owned
|
|
27
|
+
// account-row HOME (HOME/XDG/APPDATA-relocatable; config/session state
|
|
28
|
+
// relocates separately). The host OS-Keychain login is never read,
|
|
29
|
+
// probed, or bridged — that transport is retired.
|
|
30
30
|
{ source: "native_session", kind: "config_file", relocatable_by: ["HOME"] },
|
|
31
31
|
{ source: "api_key_env", kind: "env_var", relocatable_by: ["ENV"] },
|
|
32
32
|
],
|
|
@@ -38,10 +38,16 @@ const CURSOR_CAPABILITY_PROFILE = HarnessCapabilityProfileSchema.parse({
|
|
|
38
38
|
// including write and shell", and a live probe wrote a file through it.
|
|
39
39
|
access_control: { readonly_mechanism: "tool_allowlist" },
|
|
40
40
|
isolation: {
|
|
41
|
-
supported_containment: ["
|
|
41
|
+
supported_containment: ["env_or_file_injection"],
|
|
42
42
|
},
|
|
43
43
|
attachment_inputs: [],
|
|
44
44
|
});
|
|
45
|
+
/** True only when the supplied env explicitly selects the vendor FILE store
|
|
46
|
+
* (an account row's HOME, `AGENT_CLI_CREDENTIAL_STORE=file`). Any other env
|
|
47
|
+
* would resolve the HOST Keychain login, which is never read (D-U3). */
|
|
48
|
+
function cursorFileStoreEnv(env) {
|
|
49
|
+
return env?.["AGENT_CLI_CREDENTIAL_STORE"] === "file";
|
|
50
|
+
}
|
|
45
51
|
// Ask + sandbox bound readonly; force approves optional native web unless it is off.
|
|
46
52
|
function accessArgs(spec) {
|
|
47
53
|
if (spec.access === "readonly") {
|
|
@@ -78,146 +84,6 @@ function cursorApiKey(env) {
|
|
|
78
84
|
process.env.CURSOR_API_KEY ||
|
|
79
85
|
null);
|
|
80
86
|
}
|
|
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
87
|
function cursorApiSmokeCacheKey(key) {
|
|
222
88
|
return createHash("sha256").update(key).digest("hex");
|
|
223
89
|
}
|
|
@@ -252,19 +118,15 @@ function cursorBaseEnv(env) {
|
|
|
252
118
|
function cursorNativeEnv(env) {
|
|
253
119
|
return { ...cursorBaseEnv(env), CURSOR_API_KEY: null };
|
|
254
120
|
}
|
|
255
|
-
function maybeBridgeScopedHome(env) {
|
|
256
|
-
const home = env["HOME"];
|
|
257
|
-
if (home && needsScopedHomeKeychainBridge(CURSOR_CAPABILITY_PROFILE))
|
|
258
|
-
bridgeMacLoginKeychain(home);
|
|
259
|
-
}
|
|
260
121
|
async function resolveCursorAuthRoute(deps, input) {
|
|
261
122
|
const env = cursorBaseEnv(input.env);
|
|
262
123
|
const scopedHome = Boolean(input.env?.["HOME"]);
|
|
263
|
-
if (scopedHome && input.bridgeNativeSession !== false)
|
|
264
|
-
maybeBridgeScopedHome(env);
|
|
265
124
|
const authPreference = input.authPreference ?? "auto";
|
|
266
125
|
const key = authPreference === "subscription" ? null : deps.cursorApiKey(input.env);
|
|
267
|
-
|
|
126
|
+
// D-U3: a native session is probed ONLY in an env that explicitly selects
|
|
127
|
+
// the vendor FILE store (an account row's HOME). Any other env would read
|
|
128
|
+
// the HOST Keychain login, which the unified account model retired.
|
|
129
|
+
const nativeProbe = authPreference === "api_key" || !cursorFileStoreEnv(input.env)
|
|
268
130
|
? { kind: "loggedOut" }
|
|
269
131
|
: await deps.nativeAuthOk(env, input.abortSignal);
|
|
270
132
|
const nativeAuthed = cursorObservationAuthenticated(nativeProbe);
|
|
@@ -317,15 +179,8 @@ async function listCursorModelsFromReadyRoute(deps, spec) {
|
|
|
317
179
|
}
|
|
318
180
|
return [];
|
|
319
181
|
}
|
|
320
|
-
|
|
321
|
-
|
|
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 [];
|
|
182
|
+
// No default native session exists to list models from (D-U3: the host
|
|
183
|
+
// Keychain is never probed); the key route and the static catalog remain.
|
|
329
184
|
const key = deps.cursorApiKey();
|
|
330
185
|
if (!key)
|
|
331
186
|
return catalogOnly();
|
|
@@ -358,7 +213,7 @@ export function createCursorAdapter(deps = {}) {
|
|
|
358
213
|
cursorApiKey: runtime.cursorApiKey,
|
|
359
214
|
smokeApiKey: (key, fresh) => smokeCursorApiKey(runtime, key, fresh),
|
|
360
215
|
nativeEnv: cursorNativeEnv,
|
|
361
|
-
|
|
216
|
+
fileStoreEnv: cursorFileStoreEnv,
|
|
362
217
|
});
|
|
363
218
|
return {
|
|
364
219
|
id: "cursor",
|
|
@@ -367,8 +222,11 @@ export function createCursorAdapter(deps = {}) {
|
|
|
367
222
|
if (version === null) {
|
|
368
223
|
throw new HarnessUnavailableError("cursor-agent not found on PATH (set CLAUDEXOR_CURSOR_BIN)");
|
|
369
224
|
}
|
|
370
|
-
|
|
371
|
-
|
|
225
|
+
// D-U3: there is no default native session to detect (the host Keychain
|
|
226
|
+
// is never probed); manifest source availability reads the key only.
|
|
227
|
+
// Account rows prove their native sessions through their own profile
|
|
228
|
+
// probes at admission.
|
|
229
|
+
const nativeAuthed = false;
|
|
372
230
|
const apiKey = runtime.cursorApiKey() !== null;
|
|
373
231
|
return HarnessManifestSchema.parse({
|
|
374
232
|
id: "cursor",
|
|
@@ -530,7 +388,9 @@ async function* runCursor(spec, deps) {
|
|
|
530
388
|
yield { type: "completed", session_id: spec.session_id, ts: nowIso() };
|
|
531
389
|
return;
|
|
532
390
|
}
|
|
533
|
-
const
|
|
391
|
+
const credentialRoute = route === "local_session" ? "vendor_native" : "managed_api_key";
|
|
392
|
+
const credentialSource = route === "local_session" ? "native_session" : "api_key_env";
|
|
393
|
+
const cursorParser = createCursorParser(credentialRoute, credentialSource, spec.intent === "plan", false, spec.model_hint);
|
|
534
394
|
yield* deps.runCliHarness({
|
|
535
395
|
bin: BIN,
|
|
536
396
|
args,
|
|
@@ -539,6 +399,17 @@ async function* runCursor(spec, deps) {
|
|
|
539
399
|
label: "cursor-agent",
|
|
540
400
|
redact: redactSecrets,
|
|
541
401
|
parseEvent: stampCursorProfileEvents(profile, cursorParser),
|
|
402
|
+
// The stderr-only vendor-limit fatal carries the same three credential
|
|
403
|
+
// stamps as stream events (mirrors harness-codex): without the route the
|
|
404
|
+
// quota registry would drop the typed limit on the floor.
|
|
405
|
+
parseStderrFailure: (m, s) => {
|
|
406
|
+
const event = parseCursorStderrFailure(m, s, spec.model_hint, profile);
|
|
407
|
+
if (event) {
|
|
408
|
+
event.credential_route = credentialRoute;
|
|
409
|
+
event.credential_source = credentialSource;
|
|
410
|
+
}
|
|
411
|
+
return event;
|
|
412
|
+
},
|
|
542
413
|
});
|
|
543
414
|
}
|
|
544
415
|
//# 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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"}
|
package/dist/parse.d.ts
CHANGED
|
@@ -10,9 +10,20 @@ export type CursorEventParser = (obj: Json, sessionId: string) => HarnessEvent[]
|
|
|
10
10
|
* the originating tool so completed events become self-describing
|
|
11
11
|
* `tool_result`s instead of duplicate `tool_call`s.
|
|
12
12
|
*/
|
|
13
|
-
export declare function createCursorParser(credentialRoute?: CredentialRoute, credentialSource?: AuthSourceKind, planMode?: boolean, nativePlanMode?: boolean): CursorEventParser;
|
|
13
|
+
export declare function createCursorParser(credentialRoute?: CredentialRoute, credentialSource?: AuthSourceKind, planMode?: boolean, nativePlanMode?: boolean, requestedModel?: string | null): CursorEventParser;
|
|
14
14
|
/** Stateless convenience used by tests; resolves results within one call only. */
|
|
15
15
|
export declare function parseCursorEvent(obj: Json, sessionId: string): HarnessEvent[] | null;
|
|
16
|
+
/**
|
|
17
|
+
* Translate cursor-agent's stderr-only vendor-limit fatal (the live incident
|
|
18
|
+
* shape: `ActionRequiredError: You've hit your usage limit …` + exit 1) into
|
|
19
|
+
* the same typed `rate_limit` error event as stream errors. The run loop calls
|
|
20
|
+
* this only when the stream itself emitted no error (sawError gate). Returns
|
|
21
|
+
* null for unclassified stderr so the generic exit-code disclosure stays
|
|
22
|
+
* authoritative.
|
|
23
|
+
*/
|
|
24
|
+
export declare function parseCursorStderrFailure(message: string, sessionId: string, requestedModel?: string | null, profile?: {
|
|
25
|
+
profile_id: string;
|
|
26
|
+
} | null): HarnessEvent | null;
|
|
16
27
|
export declare function parseCursorModelList(text: string): HarnessModel[];
|
|
17
28
|
export {};
|
|
18
29
|
//# sourceMappingURL=parse.d.ts.map
|
package/dist/parse.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,eAAe,EACf,YAAY,EACZ,YAAY,EAGb,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,eAAe,EACf,YAAY,EACZ,YAAY,EAGb,MAAM,mBAAmB,CAAC;AAI3B,KAAK,IAAI,GAAG,GAAG,CAAC;AA4DhB,MAAM,MAAM,iBAAiB,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,KAAK,YAAY,EAAE,GAAG,IAAI,CAAC;AAwCxF;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAChC,eAAe,CAAC,EAAE,eAAe,EACjC,gBAAgB,CAAC,EAAE,cAAc,EACjC,QAAQ,UAAQ,EAChB,cAAc,UAAW,EACzB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,GAC7B,iBAAiB,CA8BnB;AAED,kFAAkF;AAClF,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,GAAG,YAAY,EAAE,GAAG,IAAI,CAOpF;AAoVD;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,EAC9B,OAAO,CAAC,EAAE;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,GACtC,YAAY,GAAG,IAAI,CAUrB;AAsBD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,EAAE,CAgBjE"}
|
package/dist/parse.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { nowIso, redactSecrets } from "@claudexor/util";
|
|
2
|
+
import { applyCursorVendorLimit } from "./retry-signals.js";
|
|
2
3
|
const FILE_WRITE_VARIANTS = new Set(["write", "edit", "multiEdit", "delete", "create", "apply"]);
|
|
3
4
|
function variantToolName(toolCall) {
|
|
4
5
|
if (!toolCall || typeof toolCall !== "object")
|
|
@@ -87,13 +88,30 @@ function cursorInlinePlanText(args) {
|
|
|
87
88
|
* the originating tool so completed events become self-describing
|
|
88
89
|
* `tool_result`s instead of duplicate `tool_call`s.
|
|
89
90
|
*/
|
|
90
|
-
export function createCursorParser(credentialRoute, credentialSource, planMode = false, nativePlanMode = planMode) {
|
|
91
|
+
export function createCursorParser(credentialRoute, credentialSource, planMode = false, nativePlanMode = planMode, requestedModel) {
|
|
91
92
|
const state = {
|
|
92
93
|
pending: new Map(),
|
|
93
94
|
lastCompleteAssistant: null,
|
|
94
95
|
fallbackPlan: null,
|
|
96
|
+
scopeModel: requestedModel ?? null,
|
|
97
|
+
};
|
|
98
|
+
return (obj, sessionId) => {
|
|
99
|
+
const out = parseCursorEventStateful(obj, sessionId, state, credentialRoute, credentialSource, planMode, nativePlanMode);
|
|
100
|
+
if (out) {
|
|
101
|
+
for (const ev of out) {
|
|
102
|
+
// The auth route is fixed before spawn (mirrors harness-claude). Carry
|
|
103
|
+
// it on EVERY event — the error/result branches included — so a typed
|
|
104
|
+
// rate_limit can register a cooldown: QuotaRegistry.ingest keys the
|
|
105
|
+
// reactive cooldown on the event's own credential_route, and a
|
|
106
|
+
// route-less limit event would silently never cool anything down.
|
|
107
|
+
if (credentialRoute)
|
|
108
|
+
ev.credential_route = credentialRoute;
|
|
109
|
+
if (credentialSource)
|
|
110
|
+
ev.credential_source = credentialSource;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
return out;
|
|
95
114
|
};
|
|
96
|
-
return (obj, sessionId) => parseCursorEventStateful(obj, sessionId, state, credentialRoute, credentialSource, planMode, nativePlanMode);
|
|
97
115
|
}
|
|
98
116
|
/** Stateless convenience used by tests; resolves results within one call only. */
|
|
99
117
|
export function parseCursorEvent(obj, sessionId) {
|
|
@@ -101,6 +119,7 @@ export function parseCursorEvent(obj, sessionId) {
|
|
|
101
119
|
pending: new Map(),
|
|
102
120
|
lastCompleteAssistant: null,
|
|
103
121
|
fallbackPlan: null,
|
|
122
|
+
scopeModel: null,
|
|
104
123
|
});
|
|
105
124
|
}
|
|
106
125
|
function parseCursorEventStateful(obj, sessionId, state, credentialRoute, credentialSource, planMode = false, nativePlanMode = planMode) {
|
|
@@ -116,6 +135,11 @@ function parseCursorEventStateful(obj, sessionId, state, credentialRoute, creden
|
|
|
116
135
|
: typeof obj.session_id === "string"
|
|
117
136
|
? obj.session_id
|
|
118
137
|
: undefined;
|
|
138
|
+
// Vendor-limit scope fallback: when the caller passed no requested model,
|
|
139
|
+
// the init frame's own model identity scopes a later classified limit.
|
|
140
|
+
if (!state.scopeModel && typeof obj.model === "string" && obj.model) {
|
|
141
|
+
state.scopeModel = obj.model;
|
|
142
|
+
}
|
|
119
143
|
return [
|
|
120
144
|
{
|
|
121
145
|
type: "started",
|
|
@@ -341,48 +365,83 @@ function parseCursorEventStateful(obj, sessionId, state, credentialRoute, creden
|
|
|
341
365
|
? obj.result
|
|
342
366
|
: null;
|
|
343
367
|
if (finalText?.trim()) {
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
368
|
+
// A3 deliverable hygiene: a NON-SUCCESS result's prose is failure
|
|
369
|
+
// evidence, not answer material. It rides a `status` event (visible in
|
|
370
|
+
// the timeline, classified onto the terminal error below) and never a
|
|
371
|
+
// `message` the answer assembly could adopt as answer.md.
|
|
372
|
+
out.push(successResult
|
|
373
|
+
? {
|
|
374
|
+
type: "message",
|
|
375
|
+
session_id: sessionId,
|
|
376
|
+
ts,
|
|
377
|
+
text: finalText,
|
|
378
|
+
final: true,
|
|
379
|
+
payload: {
|
|
380
|
+
final_source: planFallback
|
|
381
|
+
? planFallback.source
|
|
382
|
+
: state.lastCompleteAssistant
|
|
383
|
+
? "assistant_message"
|
|
384
|
+
: "result",
|
|
385
|
+
...(planFallback ? { plan_recovered: true } : {}),
|
|
386
|
+
},
|
|
387
|
+
}
|
|
388
|
+
: {
|
|
389
|
+
type: "status",
|
|
390
|
+
session_id: sessionId,
|
|
391
|
+
ts,
|
|
392
|
+
text: finalText,
|
|
393
|
+
payload: { non_success_result: true },
|
|
394
|
+
});
|
|
363
395
|
}
|
|
364
396
|
if (obj.subtype && obj.subtype !== "success") {
|
|
365
|
-
|
|
397
|
+
const failure = {
|
|
366
398
|
type: "error",
|
|
367
399
|
session_id: sessionId,
|
|
368
400
|
ts,
|
|
369
401
|
error: `result subtype: ${obj.subtype}`,
|
|
370
|
-
}
|
|
402
|
+
};
|
|
403
|
+
// A failed result's vendor prose rides obj.result (surfaced as a status
|
|
404
|
+
// event above, never a message); classify it onto THIS terminal error so a
|
|
405
|
+
// vendor limit stays a TYPED rate_limit signal. This branch matters
|
|
406
|
+
// because once the stream emitted any error, the run loop skips the
|
|
407
|
+
// stderr-failure callback (core/runloop.ts sawError gate).
|
|
408
|
+
applyCursorVendorLimit(failure, `${obj.subtype} ${typeof obj.result === "string" ? obj.result : ""}`, state.scopeModel);
|
|
409
|
+
out.push(failure);
|
|
371
410
|
}
|
|
372
411
|
return out;
|
|
373
412
|
}
|
|
374
413
|
if (type === "error") {
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
];
|
|
414
|
+
const message = String(obj.message ?? obj.error ?? "cursor error");
|
|
415
|
+
const failure = { type: "error", session_id: sessionId, ts, error: message };
|
|
416
|
+
// Same typed vendor-limit classification as the stderr path: an `error`
|
|
417
|
+
// frame sets the run loop's sawError gate, so this branch is the only
|
|
418
|
+
// chance to type a limit that arrives as a stream error.
|
|
419
|
+
applyCursorVendorLimit(failure, message, state.scopeModel);
|
|
420
|
+
return [failure];
|
|
383
421
|
}
|
|
384
422
|
return null;
|
|
385
423
|
}
|
|
424
|
+
/**
|
|
425
|
+
* Translate cursor-agent's stderr-only vendor-limit fatal (the live incident
|
|
426
|
+
* shape: `ActionRequiredError: You've hit your usage limit …` + exit 1) into
|
|
427
|
+
* the same typed `rate_limit` error event as stream errors. The run loop calls
|
|
428
|
+
* this only when the stream itself emitted no error (sawError gate). Returns
|
|
429
|
+
* null for unclassified stderr so the generic exit-code disclosure stays
|
|
430
|
+
* authoritative.
|
|
431
|
+
*/
|
|
432
|
+
export function parseCursorStderrFailure(message, sessionId, requestedModel, profile) {
|
|
433
|
+
const event = {
|
|
434
|
+
type: "error",
|
|
435
|
+
session_id: sessionId,
|
|
436
|
+
ts: nowIso(),
|
|
437
|
+
error: message,
|
|
438
|
+
};
|
|
439
|
+
if (!applyCursorVendorLimit(event, message, requestedModel ?? null))
|
|
440
|
+
return null;
|
|
441
|
+
if (profile)
|
|
442
|
+
event.credential_profile_id = profile.profile_id;
|
|
443
|
+
return event;
|
|
444
|
+
}
|
|
386
445
|
function isCursorModelId(id) {
|
|
387
446
|
if (!id)
|
|
388
447
|
return false;
|
package/dist/parse.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"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"}
|
package/dist/profile.d.ts
CHANGED
|
@@ -42,15 +42,15 @@ export type CursorDefaultRouteInput = {
|
|
|
42
42
|
env: EnvMap;
|
|
43
43
|
authPreference: AuthPreference;
|
|
44
44
|
abortSignal: AbortSignal | undefined;
|
|
45
|
-
bridgeNativeSession: boolean;
|
|
46
45
|
/** Set only for API-key profiles: overrides the default key lookup (INV-062 transient). */
|
|
47
46
|
cursorApiKey?: (env?: EnvMap) => string | null;
|
|
48
47
|
};
|
|
49
48
|
/**
|
|
50
49
|
* INV-135 strict profile routing for a run: named native profiles use Cursor's
|
|
51
50
|
* own file credential store; API-key profiles keep their existing smoked route.
|
|
52
|
-
*
|
|
53
|
-
* caller-supplied default resolver
|
|
51
|
+
* The host Keychain is never bridged or read (owner decision D-U3): without a
|
|
52
|
+
* profile the caller-supplied default resolver can only select the API-key
|
|
53
|
+
* route — an unprofiled cursor run has no native session to find.
|
|
54
54
|
*/
|
|
55
55
|
export declare function resolveCursorRunRoute(spec: {
|
|
56
56
|
credential_profile: CredentialProfile | null;
|
package/dist/profile.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../src/profile.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,6BAA6B,EACnC,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAGpG,OAAO,EAKL,qBAAqB,EACrB,KAAK,eAAe,EAErB,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD,KAAK,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;AAExD,MAAM,WAAW,wBAAwB;IACvC,YAAY,EAAE,OAAO,qBAAqB,CAAC;IAC3C,oBAAoB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;CACtD;AAED,wEAAwE;AACxE,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAElE;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,MAAM,EACnB,SAAS,GAAE,MAAoB,GAC9B,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAYxB;AAED,mFAAmF;AACnF,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,GAAE,MAAW,GAAG,MAAM,CAQrF;AAED,MAAM,MAAM,0BAA0B,GACpC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3F,4FAA4F;AAC5F,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE,iBAAiB,EAC1B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,wBAAwB,EACjC,WAAW,CAAC,EAAE,WAAW,GACxB,OAAO,CAAC,0BAA0B,CAAC,CAkBrC;AAED,sFAAsF;AACtF,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,eAAe,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,cAAc,EAAE,cAAc,CAAC;IAC/B,WAAW,EAAE,WAAW,GAAG,SAAS,CAAC;IACrC,
|
|
1
|
+
{"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../src/profile.ts"],"names":[],"mappings":"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"}
|
package/dist/profile.js
CHANGED
|
@@ -62,8 +62,9 @@ export async function resolveCursorProfileRoute(profile, specEnv, runtime, abort
|
|
|
62
62
|
/**
|
|
63
63
|
* INV-135 strict profile routing for a run: named native profiles use Cursor's
|
|
64
64
|
* own file credential store; API-key profiles keep their existing smoked route.
|
|
65
|
-
*
|
|
66
|
-
* caller-supplied default resolver
|
|
65
|
+
* The host Keychain is never bridged or read (owner decision D-U3): without a
|
|
66
|
+
* profile the caller-supplied default resolver can only select the API-key
|
|
67
|
+
* route — an unprofiled cursor run has no native session to find.
|
|
67
68
|
*/
|
|
68
69
|
export async function resolveCursorRunRoute(spec, runtime, resolveDefaultRoute, abortSignal) {
|
|
69
70
|
const profile = spec.credential_profile;
|
|
@@ -85,7 +86,6 @@ export async function resolveCursorRunRoute(spec, runtime, resolveDefaultRoute,
|
|
|
85
86
|
env: spec.env,
|
|
86
87
|
authPreference: profile ? "api_key" : spec.auth_preference,
|
|
87
88
|
abortSignal,
|
|
88
|
-
bridgeNativeSession: profile === null,
|
|
89
89
|
...(keyOverride === null ? {} : { cursorApiKey: () => keyOverride }),
|
|
90
90
|
});
|
|
91
91
|
}
|
package/dist/profile.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profile.js","sourceRoot":"","sources":["../src/profile.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"profile.js","sourceRoot":"","sources":["../src/profile.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { HarnessEvent } from "@claudexor/schema";
|
|
2
|
+
/**
|
|
3
|
+
* Extract the vendor's day-granular reset date as `YYYY-MM-DD`, or null when
|
|
4
|
+
* the prose names none (or names an implausible calendar day).
|
|
5
|
+
*/
|
|
6
|
+
export declare function cursorVendorResetDay(message: string): string | null;
|
|
7
|
+
/**
|
|
8
|
+
* Classify cursor vendor-limit prose onto the typed `rate_limit` signal.
|
|
9
|
+
* Returns true when the message matched (the event was enriched).
|
|
10
|
+
*
|
|
11
|
+
* - `resets_at` stays null on purpose: the vendor reports the reset at DAY
|
|
12
|
+
* granularity with unknown timezone, and fabricating a precise ISO instant
|
|
13
|
+
* (e.g. an invented midnight) would overclaim. The parsed day rides as
|
|
14
|
+
* payload evidence instead; downstream cooldown TTL bounds apply.
|
|
15
|
+
* - `applies_to_models` is scoped to the REQUESTED model of THIS run — an
|
|
16
|
+
* operational rejection scope. The prose names the billing pool ("…continue
|
|
17
|
+
* with Gemini" = Cursor's usage-based pool, not a per-model quota), and a
|
|
18
|
+
* sibling model that still rides free on the same account (the live grok
|
|
19
|
+
* lane) must never be cooled by it. A vendor-asserted per-model quota is
|
|
20
|
+
* deliberately NOT claimed. With no model identity at all the signal stays
|
|
21
|
+
* account-scoped (null = the schema's honest "every model").
|
|
22
|
+
* - `status.error_category: "rate_limit"` carries the typed retry class
|
|
23
|
+
* (fixture `retry_class` contract). `kind: "api_retry"` is the only status
|
|
24
|
+
* kind the frozen schema carries today; consumers read only
|
|
25
|
+
* `error_category` (orchestrator attemptTelemetry / transientClassify), and
|
|
26
|
+
* a dedicated kind would be a schema change that is out of A1 scope.
|
|
27
|
+
*/
|
|
28
|
+
export declare function applyCursorVendorLimit(event: HarnessEvent, message: string, scopeModel?: string | null): boolean;
|
|
29
|
+
//# sourceMappingURL=retry-signals.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retry-signals.d.ts","sourceRoot":"","sources":["../src/retry-signals.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAkCtD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAOnE;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,YAAY,EACnB,OAAO,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,GACzB,OAAO,CAeT"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cursor vendor-limit classification (A1). cursor-agent has NO typed
|
|
3
|
+
* rate-limit frame: hitting the subscription's usage limit surfaces as PROSE —
|
|
4
|
+
* live incident 2026-08-17: `ActionRequiredError: You've hit your usage limit
|
|
5
|
+
* You've saved $567 on API model usage this month with Ultra. Switch to a
|
|
6
|
+
* different model or set a Spend Limit to continue with Gemini. Your usage
|
|
7
|
+
* limits will reset when your monthly cycle ends on 9/12/2026.` — delivered on
|
|
8
|
+
* stderr with exit 1 (and potentially as `error` / non-success `result`
|
|
9
|
+
* frames). Without a typed `rate_limit` signal the orchestrator's reactive
|
|
10
|
+
* credential rotation is structurally impossible for cursor, so the vendor
|
|
11
|
+
* limit died as a generic `harness_error` while ready sibling profiles idled.
|
|
12
|
+
*
|
|
13
|
+
* This module mirrors harness-codex/src/retry-signals.ts: pure classifiers the
|
|
14
|
+
* parse layer applies to failure prose. No orchestration logic lives here.
|
|
15
|
+
*/
|
|
16
|
+
// Deliberately NOT keyed on the bare `ActionRequiredError` wrapper: cursor
|
|
17
|
+
// uses that class for other required actions too (e.g. re-login), and
|
|
18
|
+
// mislabeling an auth failure as a rate limit would corrupt the typed
|
|
19
|
+
// taxonomy. The limit-specific prose is what classifies. Word boundaries
|
|
20
|
+
// keep substrings honest: "code 4290" is not a 429, and narrative gerunds
|
|
21
|
+
// ("docs about rate limiting") are prose ABOUT limits, not a limit verdict —
|
|
22
|
+
// vendor limit prose says "rate limit(s)/limited", never "limiting".
|
|
23
|
+
const CURSOR_VENDOR_LIMIT_RE = /\busage.?limits?\b|\brate.?limit(?:s|ed)?\b|\btoo many requests\b|\bquota[ _-]?(?:exceeded|exhausted|reached)\b|\b(?:http|status|code)[ :/]?429\b|\b429 too many\b/i;
|
|
24
|
+
/**
|
|
25
|
+
* `resets when your monthly cycle ends on M/D/YYYY` — the vendor states the
|
|
26
|
+
* reset at DAY granularity in US month-first order (cursor.com billing copy)
|
|
27
|
+
* with no timezone or time of day.
|
|
28
|
+
*/
|
|
29
|
+
const CURSOR_RESET_DAY_RE = /reset(?:s)?\b[^.]*?\bon (\d{1,2})\/(\d{1,2})\/(\d{4})/i;
|
|
30
|
+
/**
|
|
31
|
+
* Extract the vendor's day-granular reset date as `YYYY-MM-DD`, or null when
|
|
32
|
+
* the prose names none (or names an implausible calendar day).
|
|
33
|
+
*/
|
|
34
|
+
export function cursorVendorResetDay(message) {
|
|
35
|
+
const match = CURSOR_RESET_DAY_RE.exec(message);
|
|
36
|
+
if (!match)
|
|
37
|
+
return null;
|
|
38
|
+
const month = Number(match[1]);
|
|
39
|
+
const day = Number(match[2]);
|
|
40
|
+
if (month < 1 || month > 12 || day < 1 || day > 31)
|
|
41
|
+
return null;
|
|
42
|
+
return `${match[3]}-${String(month).padStart(2, "0")}-${String(day).padStart(2, "0")}`;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Classify cursor vendor-limit prose onto the typed `rate_limit` signal.
|
|
46
|
+
* Returns true when the message matched (the event was enriched).
|
|
47
|
+
*
|
|
48
|
+
* - `resets_at` stays null on purpose: the vendor reports the reset at DAY
|
|
49
|
+
* granularity with unknown timezone, and fabricating a precise ISO instant
|
|
50
|
+
* (e.g. an invented midnight) would overclaim. The parsed day rides as
|
|
51
|
+
* payload evidence instead; downstream cooldown TTL bounds apply.
|
|
52
|
+
* - `applies_to_models` is scoped to the REQUESTED model of THIS run — an
|
|
53
|
+
* operational rejection scope. The prose names the billing pool ("…continue
|
|
54
|
+
* with Gemini" = Cursor's usage-based pool, not a per-model quota), and a
|
|
55
|
+
* sibling model that still rides free on the same account (the live grok
|
|
56
|
+
* lane) must never be cooled by it. A vendor-asserted per-model quota is
|
|
57
|
+
* deliberately NOT claimed. With no model identity at all the signal stays
|
|
58
|
+
* account-scoped (null = the schema's honest "every model").
|
|
59
|
+
* - `status.error_category: "rate_limit"` carries the typed retry class
|
|
60
|
+
* (fixture `retry_class` contract). `kind: "api_retry"` is the only status
|
|
61
|
+
* kind the frozen schema carries today; consumers read only
|
|
62
|
+
* `error_category` (orchestrator attemptTelemetry / transientClassify), and
|
|
63
|
+
* a dedicated kind would be a schema change that is out of A1 scope.
|
|
64
|
+
*/
|
|
65
|
+
export function applyCursorVendorLimit(event, message, scopeModel) {
|
|
66
|
+
if (!CURSOR_VENDOR_LIMIT_RE.test(message))
|
|
67
|
+
return false;
|
|
68
|
+
const resetDay = cursorVendorResetDay(message);
|
|
69
|
+
event.rate_limit = {
|
|
70
|
+
resets_at: null,
|
|
71
|
+
retry_delay_ms: null,
|
|
72
|
+
applies_to_models: scopeModel ? [scopeModel] : null,
|
|
73
|
+
};
|
|
74
|
+
event.status = { kind: "api_retry", error_category: "rate_limit" };
|
|
75
|
+
event.payload = {
|
|
76
|
+
...(event.payload ?? {}),
|
|
77
|
+
cursor_vendor_limit: true,
|
|
78
|
+
...(resetDay ? { vendor_reset_day: resetDay, vendor_reset_granularity: "day" } : {}),
|
|
79
|
+
};
|
|
80
|
+
return true;
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=retry-signals.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retry-signals.js","sourceRoot":"","sources":["../src/retry-signals.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;GAcG;AACH,2EAA2E;AAC3E,sEAAsE;AACtE,sEAAsE;AACtE,yEAAyE;AACzE,0EAA0E;AAC1E,6EAA6E;AAC7E,qEAAqE;AACrE,MAAM,sBAAsB,GAC1B,qKAAqK,CAAC;AAExK;;;;GAIG;AACH,MAAM,mBAAmB,GAAG,wDAAwD,CAAC;AAErF;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAe;IAClD,MAAM,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAChD,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7B,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,EAAE;QAAE,OAAO,IAAI,CAAC;IAChE,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;AACzF,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,sBAAsB,CACpC,KAAmB,EACnB,OAAe,EACf,UAA0B;IAE1B,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,KAAK,CAAC;IACxD,MAAM,QAAQ,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC/C,KAAK,CAAC,UAAU,GAAG;QACjB,SAAS,EAAE,IAAI;QACf,cAAc,EAAE,IAAI;QACpB,iBAAiB,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI;KACpD,CAAC;IACF,KAAK,CAAC,MAAM,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC;IACnE,KAAK,CAAC,OAAO,GAAG;QACd,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC;QACxB,mBAAmB,EAAE,IAAI;QACzB,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,QAAQ,EAAE,wBAAwB,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACrF,CAAC;IACF,OAAO,IAAI,CAAC;AACd,CAAC"}
|
package/dist/smoke.d.ts
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { runCapture } from "@claudexor/core";
|
|
2
|
+
export type CursorApiSmokeResult = {
|
|
3
|
+
ok: boolean;
|
|
4
|
+
detail: string;
|
|
5
|
+
};
|
|
6
|
+
/** The route did not need (or could not run) the isolated key smoke. */
|
|
7
|
+
export declare const unsmokedApiSmoke: (key: string | null) => CursorApiSmokeResult;
|
|
8
|
+
export type CursorApiSmokeOptions = {
|
|
9
|
+
makeBaseDir?: () => string;
|
|
10
|
+
runCapture?: typeof runCapture;
|
|
11
|
+
cleanupBase?: typeof cleanupCursorSmokeBase;
|
|
12
|
+
};
|
|
13
|
+
export declare function cursorApiSmokeFinalText(stdout: string): string | null;
|
|
14
|
+
export declare function cursorApiSmokeUsedEnvKey(stdout: string): boolean;
|
|
15
|
+
export declare function cursorApiSmokePassed(code: number | null, stdout: string): boolean;
|
|
16
|
+
export declare function cleanupCursorSmokeBase(base: string, opts?: {
|
|
17
|
+
remove?: (path: string) => void;
|
|
18
|
+
sleepMs?: (ms: number) => Promise<void>;
|
|
19
|
+
retries?: number;
|
|
20
|
+
}): Promise<void>;
|
|
21
|
+
export declare function smokeIsolatedApiKey(key: string | null, options?: CursorApiSmokeOptions): Promise<CursorApiSmokeResult>;
|
|
22
|
+
//# sourceMappingURL=smoke.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"smoke.d.ts","sourceRoot":"","sources":["../src/smoke.ts"],"names":[],"mappings":"AASA,OAAO,EAAoB,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAI/D,MAAM,MAAM,oBAAoB,GAAG;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnE,wEAAwE;AACxE,eAAO,MAAM,gBAAgB,QAAS,MAAM,GAAG,IAAI,KAAG,oBAGpD,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG;IAClC,WAAW,CAAC,EAAE,MAAM,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,OAAO,UAAU,CAAC;IAC/B,WAAW,CAAC,EAAE,OAAO,sBAAsB,CAAC;CAC7C,CAAC;AAEF,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA+BrE;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAehE;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAEjF;AAED,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE;IACJ,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;CACb,GACL,OAAO,CAAC,IAAI,CAAC,CAcf;AAMD,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,MAAM,GAAG,IAAI,EAClB,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,oBAAoB,CAAC,CAsC/B"}
|
package/dist/smoke.js
ADDED
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Isolated Cursor API-key smoke: prove a key actually serves a turn inside a
|
|
3
|
+
* scrubbed throwaway HOME before the route ladder may prefer it. Split from
|
|
4
|
+
* index.ts (the complexity ratchet's smaller-owner rule), mirroring the
|
|
5
|
+
* harness-codex/harness-claude `smoke.ts` siblings.
|
|
6
|
+
*/
|
|
7
|
+
import { mkdirSync, mkdtempSync, rmSync } from "node:fs";
|
|
8
|
+
import { tmpdir } from "node:os";
|
|
9
|
+
import { join } from "node:path";
|
|
10
|
+
import { providerScrubEnv, runCapture } from "@claudexor/core";
|
|
11
|
+
import { redactSecrets } from "@claudexor/util";
|
|
12
|
+
import { BIN } from "./index.js";
|
|
13
|
+
/** The route did not need (or could not run) the isolated key smoke. */
|
|
14
|
+
export const unsmokedApiSmoke = (key) => ({
|
|
15
|
+
ok: false,
|
|
16
|
+
detail: key ? "Cursor API-key smoke not required for selected route" : "no Cursor API key",
|
|
17
|
+
});
|
|
18
|
+
export function cursorApiSmokeFinalText(stdout) {
|
|
19
|
+
const replies = [];
|
|
20
|
+
for (const rawLine of stdout.replaceAll("\r", "").split("\n")) {
|
|
21
|
+
const line = rawLine.trim();
|
|
22
|
+
if (!line)
|
|
23
|
+
continue;
|
|
24
|
+
let obj;
|
|
25
|
+
try {
|
|
26
|
+
obj = JSON.parse(line);
|
|
27
|
+
}
|
|
28
|
+
catch {
|
|
29
|
+
continue;
|
|
30
|
+
}
|
|
31
|
+
if (!obj || typeof obj !== "object")
|
|
32
|
+
continue;
|
|
33
|
+
const record = obj;
|
|
34
|
+
if (record["type"] === "assistant") {
|
|
35
|
+
const message = record["message"];
|
|
36
|
+
const content = message && typeof message === "object"
|
|
37
|
+
? message["content"]
|
|
38
|
+
: undefined;
|
|
39
|
+
if (!Array.isArray(content))
|
|
40
|
+
continue;
|
|
41
|
+
for (const block of content) {
|
|
42
|
+
if (!block || typeof block !== "object")
|
|
43
|
+
continue;
|
|
44
|
+
const text = block["text"];
|
|
45
|
+
if (typeof text === "string" && text.trim())
|
|
46
|
+
replies.push(text);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
else if (record["type"] === "result") {
|
|
50
|
+
const result = record["result"];
|
|
51
|
+
if (typeof result === "string" && result.trim())
|
|
52
|
+
replies.push(result);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
return replies.at(-1)?.trim() ?? null;
|
|
56
|
+
}
|
|
57
|
+
export function cursorApiSmokeUsedEnvKey(stdout) {
|
|
58
|
+
for (const rawLine of stdout.replaceAll("\r", "").split("\n")) {
|
|
59
|
+
const line = rawLine.trim();
|
|
60
|
+
if (!line)
|
|
61
|
+
continue;
|
|
62
|
+
let obj;
|
|
63
|
+
try {
|
|
64
|
+
obj = JSON.parse(line);
|
|
65
|
+
}
|
|
66
|
+
catch {
|
|
67
|
+
continue;
|
|
68
|
+
}
|
|
69
|
+
if (!obj || typeof obj !== "object")
|
|
70
|
+
continue;
|
|
71
|
+
const record = obj;
|
|
72
|
+
if (record["type"] === "system" && record["apiKeySource"] === "env")
|
|
73
|
+
return true;
|
|
74
|
+
}
|
|
75
|
+
return false;
|
|
76
|
+
}
|
|
77
|
+
export function cursorApiSmokePassed(code, stdout) {
|
|
78
|
+
return code === 0 && cursorApiSmokeUsedEnvKey(stdout) && cursorApiSmokeFinalText(stdout) === "OK";
|
|
79
|
+
}
|
|
80
|
+
export async function cleanupCursorSmokeBase(base, opts = {}) {
|
|
81
|
+
const remove = opts.remove ?? ((path) => rmSync(path, { recursive: true, force: true }));
|
|
82
|
+
const sleepMs = opts.sleepMs ?? ((ms) => new Promise((resolve) => setTimeout(resolve, ms)));
|
|
83
|
+
const retries = opts.retries ?? 2;
|
|
84
|
+
for (let attempt = 0;; attempt += 1) {
|
|
85
|
+
try {
|
|
86
|
+
remove(base);
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
catch {
|
|
90
|
+
if (attempt >= retries)
|
|
91
|
+
return;
|
|
92
|
+
await sleepMs(25 * (attempt + 1));
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
// (bridgeMacLoginKeychain retired — owner decision D-U3: the host Keychain is
|
|
97
|
+
// never read, probed, or bridged; native cursor sessions live only in
|
|
98
|
+
// account-row file stores.)
|
|
99
|
+
export async function smokeIsolatedApiKey(key, options = {}) {
|
|
100
|
+
if (!key)
|
|
101
|
+
return { ok: false, detail: "no Cursor API key" };
|
|
102
|
+
const base = options.makeBaseDir?.() ?? mkdtempSync(join(tmpdir(), "claudexor-cursor-smoke-"));
|
|
103
|
+
const home = join(base, "home");
|
|
104
|
+
try {
|
|
105
|
+
mkdirSync(join(home, ".config"), { recursive: true, mode: 0o700 });
|
|
106
|
+
// No Keychain bridge (D-U3): the key smoke proves the API route with the
|
|
107
|
+
// key alone — bridging the host Keychain could silently authenticate the
|
|
108
|
+
// smoke with the HOST login instead of the key under test.
|
|
109
|
+
const env = {
|
|
110
|
+
...providerScrubEnv(),
|
|
111
|
+
HOME: home,
|
|
112
|
+
XDG_CONFIG_HOME: join(home, ".config"),
|
|
113
|
+
CURSOR_API_KEY: key,
|
|
114
|
+
};
|
|
115
|
+
const r = await (options.runCapture ?? runCapture)(BIN, ["-p", "--output-format", "stream-json", "--mode", "plan", "--trust", "Reply exactly OK"], {
|
|
116
|
+
env,
|
|
117
|
+
timeoutMs: 45_000,
|
|
118
|
+
});
|
|
119
|
+
const text = `${r.stdout}\n${r.stderr}`;
|
|
120
|
+
if (cursorApiSmokePassed(r.code, r.stdout))
|
|
121
|
+
return { ok: true, detail: "isolated cursor-agent API-key smoke passed" };
|
|
122
|
+
return {
|
|
123
|
+
ok: false,
|
|
124
|
+
detail: `isolated cursor-agent API-key smoke failed (exit ${r.code ?? "signal"}): ${redactSecrets(text).trim().split("\n").slice(-3).join(" ").slice(0, 500)}`,
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
catch (err) {
|
|
128
|
+
return {
|
|
129
|
+
ok: false,
|
|
130
|
+
detail: `isolated cursor-agent API-key smoke failed (${err instanceof Error ? err.message.split("\n")[0] : String(err)})`,
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
finally {
|
|
134
|
+
await (options.cleanupBase ?? cleanupCursorSmokeBase)(base);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
//# sourceMappingURL=smoke.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"smoke.js","sourceRoot":"","sources":["../src/smoke.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@claudexor/harness-cursor",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.6.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "Cursor CLI adapter (cursor-agent -p --output-format stream-json).",
|
|
6
6
|
"type": "module",
|
|
@@ -16,10 +16,10 @@
|
|
|
16
16
|
"dist"
|
|
17
17
|
],
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"@claudexor/core": "3.
|
|
20
|
-
"@claudexor/schema": "3.
|
|
21
|
-
"@claudexor/secrets": "3.
|
|
22
|
-
"@claudexor/util": "3.
|
|
19
|
+
"@claudexor/core": "3.6.0",
|
|
20
|
+
"@claudexor/schema": "3.6.0",
|
|
21
|
+
"@claudexor/secrets": "3.6.0",
|
|
22
|
+
"@claudexor/util": "3.6.0"
|
|
23
23
|
},
|
|
24
24
|
"repository": {
|
|
25
25
|
"type": "git",
|