@claudexor/harness-cursor 3.3.7-rc.0 → 3.3.8
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/auth.d.ts +7 -11
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js +7 -38
- package/dist/auth.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +68 -79
- package/dist/index.js.map +1 -1
- package/dist/profile.d.ts +71 -0
- package/dist/profile.d.ts.map +1 -0
- package/dist/profile.js +175 -0
- package/dist/profile.js.map +1 -0
- package/package.json +5 -5
package/dist/auth.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AuthPreference
|
|
1
|
+
import type { AuthPreference } from "@claudexor/schema";
|
|
2
2
|
import { runCapture } from "@claudexor/core";
|
|
3
3
|
export interface CursorNativeAuthProbe {
|
|
4
4
|
authed: boolean;
|
|
@@ -30,9 +30,12 @@ export declare function shouldSmokeCursorApiKey(input: {
|
|
|
30
30
|
nativeProbeError: string | null;
|
|
31
31
|
}): boolean;
|
|
32
32
|
/**
|
|
33
|
-
* INV-135:
|
|
34
|
-
*
|
|
35
|
-
*
|
|
33
|
+
* INV-135: an API-key cursor profile is exactly its namespaced secret-ref key.
|
|
34
|
+
* `config_dir_login` profiles are supported but resolved earlier by the
|
|
35
|
+
* profile route owner (profile.ts), so this helper only ever sees the
|
|
36
|
+
* remaining kinds: a non-api_key kind here (e.g. `oauth_token`), a
|
|
37
|
+
* non-namespaced or foreign-slot ref (which would alias the engine default or
|
|
38
|
+
* route another provider's key), and a missing secret are a typed refusal,
|
|
36
39
|
* never the default ladder. ONE owner for the run route and the doctor probe.
|
|
37
40
|
*/
|
|
38
41
|
export declare function cursorProfileKeyOrRefusal(profile: {
|
|
@@ -45,11 +48,4 @@ export declare function cursorProfileKeyOrRefusal(profile: {
|
|
|
45
48
|
refusal: string;
|
|
46
49
|
reason: "misconfigured" | "missing_secret";
|
|
47
50
|
};
|
|
48
|
-
/**
|
|
49
|
-
* Doctor projection for one cursor profile (INV-135, release wave round-15
|
|
50
|
-
* #1): the SAME resolution the run route uses, mapped to a status. PRESENCE
|
|
51
|
-
* is the honest doctor fact for a stored key; liveness stays the API-key
|
|
52
|
-
* smoke's job at run time.
|
|
53
|
-
*/
|
|
54
|
-
export declare function probeCursorCredentialProfile(profile: CredentialProfile, resolve?: (ref: string) => string | null): CredentialProfileStatus;
|
|
55
51
|
//# sourceMappingURL=auth.d.ts.map
|
package/dist/auth.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAO7C,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,+EAA+E;AAC/E,wBAAsB,qBAAqB,CACzC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,EAC/C,WAAW,CAAC,EAAE,WAAW,EACzB,OAAO,GAAE,OAAO,UAAuB,GACtC,OAAO,CAAC,qBAAqB,CAAC,CAuBhC;AAED,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAiBpF;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE3D;AAED,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,eAAe,GAAG,aAAa,CAAC;AAE1E,yEAAyE;AACzE,wBAAgB,qBAAqB,CAAC,KAAK,EAAE;IAC3C,cAAc,EAAE,cAAc,CAAC;IAC/B,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;CACrB,GAAG,eAAe,CAOlB;AAED,wBAAgB,gCAAgC,CAAC,KAAK,EAAE;IACtD,cAAc,EAAE,cAAc,CAAC;IAC/B,KAAK,EAAE,eAAe,CAAC;IACvB,YAAY,EAAE,OAAO,CAAC;CACvB,GAAG,OAAO,CAEV;AAED,sEAAsE;AACtE,wBAAgB,uBAAuB,CAAC,KAAK,EAAE;IAC7C,MAAM,EAAE,OAAO,CAAC;IAChB,cAAc,EAAE,cAAc,CAAC;IAC/B,YAAY,EAAE,OAAO,CAAC;IACtB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC,GAAG,OAAO,CAIV;AAED;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE;IACP,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B,EACD,OAAO,GAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,IAAoB,GACtD;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,eAAe,GAAG,gBAAgB,CAAA;CAAE,CAmBnF"}
|
package/dist/auth.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { namespacedSecretRefBase, resolveSecret } from "@claudexor/secrets";
|
|
2
|
-
import { CredentialProfileStatus as CredentialProfileStatusSchema } from "@claudexor/schema";
|
|
3
2
|
import { runCapture } from "@claudexor/core";
|
|
4
3
|
import { redactSecrets } from "@claudexor/util";
|
|
5
4
|
const BIN = process.env.CLAUDEXOR_CURSOR_BIN || "cursor-agent";
|
|
@@ -76,15 +75,18 @@ export function shouldSmokeCursorApiKey(input) {
|
|
|
76
75
|
return !input.nativeAuthed && input.nativeProbeError === null;
|
|
77
76
|
}
|
|
78
77
|
/**
|
|
79
|
-
* INV-135:
|
|
80
|
-
*
|
|
81
|
-
*
|
|
78
|
+
* INV-135: an API-key cursor profile is exactly its namespaced secret-ref key.
|
|
79
|
+
* `config_dir_login` profiles are supported but resolved earlier by the
|
|
80
|
+
* profile route owner (profile.ts), so this helper only ever sees the
|
|
81
|
+
* remaining kinds: a non-api_key kind here (e.g. `oauth_token`), a
|
|
82
|
+
* non-namespaced or foreign-slot ref (which would alias the engine default or
|
|
83
|
+
* route another provider's key), and a missing secret are a typed refusal,
|
|
82
84
|
* never the default ladder. ONE owner for the run route and the doctor probe.
|
|
83
85
|
*/
|
|
84
86
|
export function cursorProfileKeyOrRefusal(profile, resolve = resolveSecret) {
|
|
85
87
|
if (profile.credential_kind !== "api_key")
|
|
86
88
|
return {
|
|
87
|
-
refusal: `credential profile "${profile.profile_id}": cursor
|
|
89
|
+
refusal: `credential profile "${profile.profile_id}": cursor credential kind "${profile.credential_kind}" is not supported (use api_key or config_dir_login)`,
|
|
88
90
|
reason: "misconfigured",
|
|
89
91
|
};
|
|
90
92
|
const ref = profile.secret_ref ?? "";
|
|
@@ -101,37 +103,4 @@ export function cursorProfileKeyOrRefusal(profile, resolve = resolveSecret) {
|
|
|
101
103
|
};
|
|
102
104
|
return { key };
|
|
103
105
|
}
|
|
104
|
-
/**
|
|
105
|
-
* Doctor projection for one cursor profile (INV-135, release wave round-15
|
|
106
|
-
* #1): the SAME resolution the run route uses, mapped to a status. PRESENCE
|
|
107
|
-
* is the honest doctor fact for a stored key; liveness stays the API-key
|
|
108
|
-
* smoke's job at run time.
|
|
109
|
-
*/
|
|
110
|
-
export function probeCursorCredentialProfile(profile, resolve = resolveSecret) {
|
|
111
|
-
const base = { profile_id: profile.profile_id, harness_id: "cursor" };
|
|
112
|
-
try {
|
|
113
|
-
const gate = cursorProfileKeyOrRefusal(profile, resolve);
|
|
114
|
-
if ("refusal" in gate)
|
|
115
|
-
return CredentialProfileStatusSchema.parse({
|
|
116
|
-
...base,
|
|
117
|
-
availability: "unavailable",
|
|
118
|
-
verification: gate.reason === "missing_secret" ? "not_run" : "failed",
|
|
119
|
-
detail: gate.refusal,
|
|
120
|
-
});
|
|
121
|
-
return CredentialProfileStatusSchema.parse({
|
|
122
|
-
...base,
|
|
123
|
-
availability: "available",
|
|
124
|
-
verification: "not_run",
|
|
125
|
-
detail: `secret "${profile.secret_ref}" is stored`,
|
|
126
|
-
});
|
|
127
|
-
}
|
|
128
|
-
catch (err) {
|
|
129
|
-
return CredentialProfileStatusSchema.parse({
|
|
130
|
-
...base,
|
|
131
|
-
availability: "unavailable",
|
|
132
|
-
verification: "failed",
|
|
133
|
-
detail: redactSecrets(err instanceof Error ? err.message : String(err)).slice(0, 300),
|
|
134
|
-
});
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
106
|
//# sourceMappingURL=auth.js.map
|
package/dist/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAE5E,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -3,9 +3,11 @@ import type { HarnessAdapter } from "@claudexor/core";
|
|
|
3
3
|
import { runCapture, runCliHarness as runCliHarnessDefault } from "@claudexor/core";
|
|
4
4
|
export { parseCursorModelList } from "./parse.js";
|
|
5
5
|
import { probeCursorNativeAuth } from "./auth.js";
|
|
6
|
+
export { canonicalCursorProfileHome, cursorProfilePathEnv } from "./profile.js";
|
|
6
7
|
export { cursorStatusAuthenticated, cursorStatusLoggedOut, selectCursorAuthRoute, shouldDiscloseCursorAutoApiRoute, } from "./auth.js";
|
|
7
8
|
declare function detectVersion(abortSignal?: AbortSignal): Promise<string | null>;
|
|
8
9
|
declare function cursorApiKey(env?: Record<string, string | null | undefined>): string | null;
|
|
10
|
+
type EnvMap = Record<string, string | null | undefined>;
|
|
9
11
|
type CursorApiSmokeResult = {
|
|
10
12
|
ok: boolean;
|
|
11
13
|
detail: string;
|
|
@@ -42,6 +44,6 @@ export declare function cleanupCursorSmokeBase(base: string, opts?: {
|
|
|
42
44
|
retries?: number;
|
|
43
45
|
}): Promise<void>;
|
|
44
46
|
export declare function smokeIsolatedApiKey(key?: string | null, options?: CursorApiSmokeOptions): Promise<CursorApiSmokeResult>;
|
|
45
|
-
declare function listCursorModels(env?:
|
|
47
|
+
declare function listCursorModels(env?: EnvMap): Promise<HarnessModel[]>;
|
|
46
48
|
export declare function createCursorAdapter(deps?: Partial<CursorRuntimeDeps>): HarnessAdapter;
|
|
47
49
|
//# 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":"AAIA,OAAO,KAAK,EAQV,YAAY,EAEb,MAAM,mBAAmB,CAAC;AAM3B,OAAO,KAAK,EAAc,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAML,UAAU,EACV,aAAa,IAAI,oBAAoB,EACtC,MAAM,iBAAiB,CAAC;AAIzB,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAQV,YAAY,EAEb,MAAM,mBAAmB,CAAC;AAM3B,OAAO,KAAK,EAAc,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAML,UAAU,EACV,aAAa,IAAI,oBAAoB,EACtC,MAAM,iBAAiB,CAAC;AAIzB,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EACL,qBAAqB,EAMtB,MAAM,WAAW,CAAC;AAMnB,OAAO,EAAE,0BAA0B,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAChF,OAAO,EACL,yBAAyB,EACzB,qBAAqB,EACrB,qBAAqB,EACrB,gCAAgC,GACjC,MAAM,WAAW,CAAC;AA4CnB,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,oBAAoB,GAAG;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAM5D,KAAK,wBAAwB,GAAG;IAAE,MAAM,EAAE,oBAAoB,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC;AACtF,KAAK,qBAAqB,GAAG;IAC3B,WAAW,CAAC,EAAE,MAAM,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,OAAO,UAAU,CAAC;IAC/B,WAAW,CAAC,EAAE,OAAO,sBAAsB,CAAC;CAC7C,CAAC;AACF,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;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;AAmBD,wBAAsB,mBAAmB,CACvC,GAAG,GAAE,MAAM,GAAG,IAAqB,EACnC,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,oBAAoB,CAAC,CAoC/B;AAsBD,iBAAe,gBAAgB,CAAC,GAAG,GAAE,MAAkC,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAQhG;AA6GD,wBAAgB,mBAAmB,CAAC,IAAI,GAAE,OAAO,CAAC,iBAAiB,CAAM,GAAG,cAAc,CAsQzF"}
|
package/dist/index.js
CHANGED
|
@@ -8,7 +8,9 @@ import { resolveSecret } from "@claudexor/secrets";
|
|
|
8
8
|
import { CLAUDEXOR_VERSION, nowIso, redactSecrets } from "@claudexor/util";
|
|
9
9
|
import { createCursorParser, parseCursorModelList } from "./parse.js";
|
|
10
10
|
export { parseCursorModelList } from "./parse.js";
|
|
11
|
-
import {
|
|
11
|
+
import { probeCursorNativeAuth, selectCursorAuthRoute, shouldDiscloseCursorAutoApiRoute, shouldSmokeCursorApiKey, } from "./auth.js";
|
|
12
|
+
import { probeCursorCredentialProfile, resolveCursorRunRoute, stampCursorProfileEvents, } from "./profile.js";
|
|
13
|
+
export { canonicalCursorProfileHome, cursorProfilePathEnv } from "./profile.js";
|
|
12
14
|
export { cursorStatusAuthenticated, cursorStatusLoggedOut, selectCursorAuthRoute, shouldDiscloseCursorAutoApiRoute, } from "./auth.js";
|
|
13
15
|
const BIN = process.env.CLAUDEXOR_CURSOR_BIN || "cursor-agent";
|
|
14
16
|
// Long enough for one sequential reviewer panel pass; still bounded so revoked
|
|
@@ -20,32 +22,35 @@ const CURSOR_CAPABILITY_PROFILE = HarnessCapabilityProfileSchema.parse({
|
|
|
20
22
|
supported_sources: ["native_session", "api_key_env"],
|
|
21
23
|
preferred_source: null,
|
|
22
24
|
credential_transports: [
|
|
25
|
+
// Default native auth uses the OS Keychain. Named profiles select
|
|
26
|
+
// Cursor's vendor-supported file store, whose auth path is HOME/XDG/
|
|
27
|
+
// APPDATA-relocatable while config/session state is relocated separately.
|
|
23
28
|
{ source: "native_session", kind: "os_keychain", relocatable_by: ["HOME"] },
|
|
29
|
+
{ source: "native_session", kind: "config_file", relocatable_by: ["HOME"] },
|
|
24
30
|
{ source: "api_key_env", kind: "env_var", relocatable_by: ["ENV"] },
|
|
25
31
|
],
|
|
26
32
|
},
|
|
27
|
-
|
|
33
|
+
// Ask mode is the mechanism: the CLI withholds the write/shell tools there
|
|
34
|
+
// ("--mode ask ... (read-only)" per cursor-agent --help), which is a tool
|
|
35
|
+
// allowlist, not a filesystem sandbox. `--sandbox enabled` alone was proven
|
|
36
|
+
// NOT to enforce readonly: a print-mode agent run "has access to all tools,
|
|
37
|
+
// including write and shell", and a live probe wrote a file through it.
|
|
38
|
+
access_control: { readonly_mechanism: "tool_allowlist" },
|
|
28
39
|
isolation: {
|
|
29
40
|
supported_containment: ["scoped_home_keychain_bridge", "env_or_file_injection"],
|
|
30
41
|
},
|
|
31
42
|
attachment_inputs: [],
|
|
32
43
|
});
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
case "external_sandbox_full":
|
|
44
|
-
return ["--force", "--sandbox", "disabled", "--trust"];
|
|
45
|
-
case "inherit_native":
|
|
46
|
-
return ["--trust"];
|
|
47
|
-
}
|
|
48
|
-
}
|
|
44
|
+
// `--force` alone force-allows commands with NO sandbox — materially broader
|
|
45
|
+
// than claude acceptEdits / codex --sandbox workspace-write for the same
|
|
46
|
+
// profile. Keep the sandbox on for workspace_write parity.
|
|
47
|
+
const accessArgs = {
|
|
48
|
+
readonly: ["--sandbox", "enabled", "--trust"],
|
|
49
|
+
workspace_write: ["--force", "--sandbox", "enabled", "--trust"],
|
|
50
|
+
full: ["--force", "--sandbox", "disabled", "--trust"],
|
|
51
|
+
external_sandbox_full: ["--force", "--sandbox", "disabled", "--trust"],
|
|
52
|
+
inherit_native: ["--trust"],
|
|
53
|
+
};
|
|
49
54
|
async function detectVersion(abortSignal) {
|
|
50
55
|
try {
|
|
51
56
|
const r = await runCapture(BIN, ["--version"], {
|
|
@@ -70,6 +75,11 @@ function cursorApiKey(env) {
|
|
|
70
75
|
process.env.CURSOR_API_KEY ||
|
|
71
76
|
null);
|
|
72
77
|
}
|
|
78
|
+
/** The route did not need (or could not run) the isolated key smoke. */
|
|
79
|
+
const unsmokedApiSmoke = (key) => ({
|
|
80
|
+
ok: false,
|
|
81
|
+
detail: key ? "Cursor API-key smoke not required for selected route" : "no Cursor API key",
|
|
82
|
+
});
|
|
73
83
|
export function cursorApiSmokeFinalText(stdout) {
|
|
74
84
|
const replies = [];
|
|
75
85
|
for (const rawLine of stdout.replaceAll("\r", "").split("\n")) {
|
|
@@ -234,16 +244,10 @@ async function listCursorModels(env = { ...providerScrubEnv() }) {
|
|
|
234
244
|
}
|
|
235
245
|
}
|
|
236
246
|
function cursorBaseEnv(env) {
|
|
237
|
-
return {
|
|
238
|
-
...(env ?? {}),
|
|
239
|
-
...providerScrubEnv(),
|
|
240
|
-
};
|
|
247
|
+
return { ...(env ?? {}), ...providerScrubEnv() };
|
|
241
248
|
}
|
|
242
249
|
function cursorNativeEnv(env) {
|
|
243
|
-
return {
|
|
244
|
-
...cursorBaseEnv(env),
|
|
245
|
-
CURSOR_API_KEY: null,
|
|
246
|
-
};
|
|
250
|
+
return { ...cursorBaseEnv(env), CURSOR_API_KEY: null };
|
|
247
251
|
}
|
|
248
252
|
function maybeBridgeScopedHome(env) {
|
|
249
253
|
const home = env["HOME"];
|
|
@@ -253,7 +257,7 @@ function maybeBridgeScopedHome(env) {
|
|
|
253
257
|
async function resolveCursorAuthRoute(deps, input) {
|
|
254
258
|
const env = cursorBaseEnv(input.env);
|
|
255
259
|
const scopedHome = Boolean(input.env?.["HOME"]);
|
|
256
|
-
if (scopedHome)
|
|
260
|
+
if (scopedHome && input.bridgeNativeSession !== false)
|
|
257
261
|
maybeBridgeScopedHome(env);
|
|
258
262
|
const authPreference = input.authPreference ?? "auto";
|
|
259
263
|
const key = authPreference === "subscription" ? null : deps.cursorApiKey(input.env);
|
|
@@ -269,12 +273,7 @@ async function resolveCursorAuthRoute(deps, input) {
|
|
|
269
273
|
});
|
|
270
274
|
const apiSmoke = shouldSmokeApiKey && key
|
|
271
275
|
? await smokeCursorApiKey(deps, key, input.fresh === true)
|
|
272
|
-
:
|
|
273
|
-
ok: false,
|
|
274
|
-
detail: key
|
|
275
|
-
? "Cursor API-key smoke not required for selected route"
|
|
276
|
-
: "no Cursor API key",
|
|
277
|
-
};
|
|
276
|
+
: unsmokedApiSmoke(key);
|
|
278
277
|
const route = selectCursorAuthRoute({
|
|
279
278
|
authPreference,
|
|
280
279
|
hasKey: Boolean(key),
|
|
@@ -282,15 +281,7 @@ async function resolveCursorAuthRoute(deps, input) {
|
|
|
282
281
|
nativeAuthed,
|
|
283
282
|
scopedHome,
|
|
284
283
|
});
|
|
285
|
-
return {
|
|
286
|
-
route,
|
|
287
|
-
env,
|
|
288
|
-
key,
|
|
289
|
-
nativeAuthed,
|
|
290
|
-
nativeProbeError: nativeProbe.probeError,
|
|
291
|
-
apiSmoke,
|
|
292
|
-
scopedHome,
|
|
293
|
-
};
|
|
284
|
+
return { route, env, key, nativeAuthed, scopedHome };
|
|
294
285
|
}
|
|
295
286
|
async function listCursorModelsFromReadyRoute(deps, spec) {
|
|
296
287
|
const catalogOnly = () => {
|
|
@@ -409,7 +400,16 @@ export function createCursorAdapter(deps = {}) {
|
|
|
409
400
|
...(nativeAuthed ? ["local_session"] : []),
|
|
410
401
|
...(apiKey ? ["api_key"] : []),
|
|
411
402
|
],
|
|
412
|
-
|
|
403
|
+
// external_sandbox_full: cursor's own sandbox stands down (--force
|
|
404
|
+
// --sandbox disabled), mirroring codex/claude; the engine applies its
|
|
405
|
+
// own OS boundary only on delegated runs. Bare `full` stays
|
|
406
|
+
// undeclared/refused (no boundary, not proven).
|
|
407
|
+
access_profiles_supported: [
|
|
408
|
+
"readonly",
|
|
409
|
+
"workspace_write",
|
|
410
|
+
"external_sandbox_full",
|
|
411
|
+
"inherit_native",
|
|
412
|
+
],
|
|
413
413
|
});
|
|
414
414
|
},
|
|
415
415
|
async doctor(_spec) {
|
|
@@ -448,12 +448,7 @@ export function createCursorAdapter(deps = {}) {
|
|
|
448
448
|
});
|
|
449
449
|
const apiSmoke = key && shouldSmokeApiKey
|
|
450
450
|
? await smokeCursorApiKey(runtime, key, _spec.fresh === true)
|
|
451
|
-
:
|
|
452
|
-
ok: false,
|
|
453
|
-
detail: key
|
|
454
|
-
? "Cursor API-key smoke not required for selected route"
|
|
455
|
-
: "no Cursor API key",
|
|
456
|
-
};
|
|
451
|
+
: unsmokedApiSmoke(key);
|
|
457
452
|
// Readiness doctrine: a key string alone is source availability, not
|
|
458
453
|
// proven readiness. A bridged native status probe proves the exact scoped
|
|
459
454
|
// environment; API fallback still requires its isolated smoke.
|
|
@@ -585,29 +580,37 @@ export function createCursorAdapter(deps = {}) {
|
|
|
585
580
|
async models(spec) {
|
|
586
581
|
return listCursorModelsFromReadyRoute(runtime, spec);
|
|
587
582
|
},
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
// consults THIS probe to override the default auth verdict.
|
|
591
|
-
async probeCredentialProfile(profile) {
|
|
592
|
-
return probeCursorCredentialProfile(profile, runtime.resolveProfileSecret);
|
|
583
|
+
async probeCredentialProfile(profile, abortSignal) {
|
|
584
|
+
return probeCursorCredentialProfile(profile, runtime, abortSignal);
|
|
593
585
|
},
|
|
594
586
|
};
|
|
595
587
|
}
|
|
596
588
|
async function* runCursor(spec, deps) {
|
|
597
|
-
|
|
589
|
+
// Bare `full` claims NO boundary at all and stays refused (unproven).
|
|
590
|
+
// `external_sandbox_full` stands cursor's weaker sandbox down (`--force
|
|
591
|
+
// --sandbox disabled` via accessArgs) — the same mapping codex
|
|
592
|
+
// (danger-full-access) and claude (bypassPermissions) implement. The engine
|
|
593
|
+
// applies its OWN OS boundary only on delegated runs; requested directly,
|
|
594
|
+
// this profile runs unrestricted (and is not behind the trust allow).
|
|
595
|
+
if (spec.access === "full") {
|
|
598
596
|
yield {
|
|
599
597
|
type: "error",
|
|
600
598
|
session_id: spec.session_id,
|
|
601
599
|
ts: nowIso(),
|
|
602
|
-
error: "cursor full access is not conformance-proven; use workspace_write or
|
|
600
|
+
error: "cursor full access is not conformance-proven; use workspace_write, or external_sandbox_full (cursor's sandbox stands down; the engine applies its own boundary only on delegated runs — otherwise unrestricted)",
|
|
603
601
|
};
|
|
604
602
|
yield { type: "completed", session_id: spec.session_id, ts: nowIso() };
|
|
605
603
|
return;
|
|
606
604
|
}
|
|
607
|
-
const args = ["-p", "--output-format", "stream-json", ...accessArgs
|
|
605
|
+
const args = ["-p", "--output-format", "stream-json", ...accessArgs[spec.access]];
|
|
608
606
|
// Native Plan's createPlan schema cannot carry D-16 WorkReport; native read-only
|
|
609
607
|
// Ask preserves prompt-owned plan intent and the model-authored final report.
|
|
610
|
-
|
|
608
|
+
// `readonly` access rides the SAME mode: Ask is the only mechanism this CLI
|
|
609
|
+
// has that actually withholds the write/shell tools. Without it a readonly
|
|
610
|
+
// run is a full agent run — `--sandbox enabled` gates commands, not file
|
|
611
|
+
// edits (proven by a live probe: the agent created a file under exactly the
|
|
612
|
+
// previous readonly argv).
|
|
613
|
+
if (spec.intent === "plan" || spec.access === "readonly")
|
|
611
614
|
args.push("--mode", "ask");
|
|
612
615
|
// W-C4 live deltas (engine-gated; the parser applies the documented taxonomy).
|
|
613
616
|
if (spec.stream_deltas)
|
|
@@ -620,24 +623,16 @@ async function* runCursor(spec, deps) {
|
|
|
620
623
|
// Cursor has no native system-prompt flag; layer instructions as a delimited
|
|
621
624
|
// prompt prefix (the engine already withheld them from synthesis/reviewers).
|
|
622
625
|
args.push(promptWithInstructions(spec));
|
|
623
|
-
// INV-135 strict profile routing
|
|
624
|
-
//
|
|
625
|
-
// default key route); other kinds refuse typed.
|
|
626
|
+
// INV-135 strict profile routing lives in profile.ts; the callback resolves
|
|
627
|
+
// the engine-default credential ladder for profile-less (or API-key) runs.
|
|
626
628
|
const profile = spec.credential_profile;
|
|
627
|
-
const
|
|
628
|
-
|
|
629
|
-
:
|
|
630
|
-
if (profileGate && "refusal" in profileGate) {
|
|
631
|
-
yield { type: "error", session_id: spec.session_id, ts: nowIso(), error: profileGate.refusal };
|
|
629
|
+
const resolved = await resolveCursorRunRoute(spec, deps, ({ cursorApiKey, ...input }) => resolveCursorAuthRoute(cursorApiKey ? { ...deps, cursorApiKey } : deps, input), abortSignalFromSpec(spec));
|
|
630
|
+
if ("refusal" in resolved) {
|
|
631
|
+
yield { type: "error", session_id: spec.session_id, ts: nowIso(), error: resolved.refusal };
|
|
632
632
|
yield { type: "completed", session_id: spec.session_id, ts: nowIso() };
|
|
633
633
|
return;
|
|
634
634
|
}
|
|
635
|
-
const
|
|
636
|
-
const { route, env, key, nativeAuthed, scopedHome } = await resolveCursorAuthRoute(routeDeps, {
|
|
637
|
-
env: spec.env,
|
|
638
|
-
authPreference: profile ? "api_key" : spec.auth_preference,
|
|
639
|
-
abortSignal: abortSignalFromSpec(spec),
|
|
640
|
-
});
|
|
635
|
+
const { route, env, key, nativeAuthed, scopedHome } = resolved;
|
|
641
636
|
if (route === "api_key" && key) {
|
|
642
637
|
env.CURSOR_API_KEY = key;
|
|
643
638
|
if (shouldDiscloseCursorAutoApiRoute({
|
|
@@ -683,13 +678,7 @@ async function* runCursor(spec, deps) {
|
|
|
683
678
|
env,
|
|
684
679
|
label: "cursor-agent",
|
|
685
680
|
redact: redactSecrets,
|
|
686
|
-
parseEvent: (
|
|
687
|
-
const out = cursorParser(obj, sessionId);
|
|
688
|
-
if (out && profile)
|
|
689
|
-
for (const ev of out)
|
|
690
|
-
ev.credential_profile_id = profile.profile_id;
|
|
691
|
-
return out;
|
|
692
|
-
},
|
|
681
|
+
parseEvent: stampCursorProfileEvents(profile, cursorParser),
|
|
693
682
|
});
|
|
694
683
|
}
|
|
695
684
|
//# 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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"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import type { AuthPreference, CredentialProfile, CredentialProfileStatus } from "@claudexor/schema";
|
|
2
|
+
import { probeCursorNativeAuth, type CursorAuthRoute } from "./auth.js";
|
|
3
|
+
import type { CursorEventParser } from "./parse.js";
|
|
4
|
+
type EnvMap = Record<string, string | null | undefined>;
|
|
5
|
+
export interface CursorProfileRuntimeDeps {
|
|
6
|
+
nativeAuthOk: typeof probeCursorNativeAuth;
|
|
7
|
+
resolveProfileSecret: (ref: string) => string | null;
|
|
8
|
+
}
|
|
9
|
+
/** Canonical, Claudexor-owned HOME for one additive Cursor identity. */
|
|
10
|
+
export declare function canonicalCursorProfileHome(locator: string): string;
|
|
11
|
+
/**
|
|
12
|
+
* Cursor's vendor-supported file credential store is selected by HOME on
|
|
13
|
+
* macOS, XDG_CONFIG_HOME on Linux, and APPDATA on Windows. Cursor's mutable
|
|
14
|
+
* config/session data remains independently relocatable, so a run can keep
|
|
15
|
+
* that state in its lane/envelope HOME while reading auth only from the named
|
|
16
|
+
* profile HOME.
|
|
17
|
+
*/
|
|
18
|
+
export declare function cursorProfilePathEnv(profileHome: string, stateHome?: string): Record<string, string>;
|
|
19
|
+
/** Exact strict-profile run/probe environment; never bridges the host Keychain. */
|
|
20
|
+
export declare function cursorProfileRunEnv(profileHome: string, specEnv?: EnvMap): EnvMap;
|
|
21
|
+
export type CursorResolvedProfileRoute = {
|
|
22
|
+
kind: "native";
|
|
23
|
+
env: EnvMap;
|
|
24
|
+
} | {
|
|
25
|
+
kind: "api_key";
|
|
26
|
+
key: string;
|
|
27
|
+
} | {
|
|
28
|
+
refusal: string;
|
|
29
|
+
};
|
|
30
|
+
/** Strict profile resolution: the named identity or a typed refusal, never default auth. */
|
|
31
|
+
export declare function resolveCursorProfileRoute(profile: CredentialProfile, specEnv: EnvMap, runtime: CursorProfileRuntimeDeps, abortSignal?: AbortSignal): Promise<CursorResolvedProfileRoute>;
|
|
32
|
+
/** The resolved auth route a cursor run executes with (profile or default ladder). */
|
|
33
|
+
export type CursorRunRoute = {
|
|
34
|
+
route: CursorAuthRoute;
|
|
35
|
+
env: EnvMap;
|
|
36
|
+
key: string | null;
|
|
37
|
+
nativeAuthed: boolean;
|
|
38
|
+
scopedHome: boolean;
|
|
39
|
+
};
|
|
40
|
+
export type CursorDefaultRouteInput = {
|
|
41
|
+
env: EnvMap;
|
|
42
|
+
authPreference: AuthPreference;
|
|
43
|
+
abortSignal: AbortSignal | undefined;
|
|
44
|
+
bridgeNativeSession: boolean;
|
|
45
|
+
/** Set only for API-key profiles: overrides the default key lookup (INV-062 transient). */
|
|
46
|
+
cursorApiKey?: (env?: EnvMap) => string | null;
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
* INV-135 strict profile routing for a run: named native profiles use Cursor's
|
|
50
|
+
* own file credential store; API-key profiles keep their existing smoked route.
|
|
51
|
+
* Neither path receives the default host-Keychain bridge. Without a profile the
|
|
52
|
+
* caller-supplied default resolver runs the engine-default credential ladder.
|
|
53
|
+
*/
|
|
54
|
+
export declare function resolveCursorRunRoute(spec: {
|
|
55
|
+
credential_profile: CredentialProfile | null;
|
|
56
|
+
env: EnvMap;
|
|
57
|
+
auth_preference: AuthPreference;
|
|
58
|
+
}, runtime: CursorProfileRuntimeDeps, resolveDefaultRoute: (input: CursorDefaultRouteInput) => Promise<CursorRunRoute>, abortSignal?: AbortSignal): Promise<CursorRunRoute | {
|
|
59
|
+
refusal: string;
|
|
60
|
+
}>;
|
|
61
|
+
/** INV-135 attribution: stamp every parsed run event with the profile that ran it. */
|
|
62
|
+
export declare function stampCursorProfileEvents(profile: CredentialProfile | null, parse: CursorEventParser): CursorEventParser;
|
|
63
|
+
/**
|
|
64
|
+
* Doctor projection for one Cursor profile, using the same route resolver
|
|
65
|
+
* facts. INV-135 (release wave round-15 #1): a valid cursor profile must admit
|
|
66
|
+
* the route even when the default store is logged out — the orchestrator
|
|
67
|
+
* consults THIS probe to override the default auth verdict.
|
|
68
|
+
*/
|
|
69
|
+
export declare function probeCursorCredentialProfile(profile: CredentialProfile, runtime: CursorProfileRuntimeDeps, abortSignal?: AbortSignal): Promise<CredentialProfileStatus>;
|
|
70
|
+
export {};
|
|
71
|
+
//# sourceMappingURL=profile.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../src/profile.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAGpG,OAAO,EAEL,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,CAiBrC;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,mBAAmB,EAAE,OAAO,CAAC;IAC7B,2FAA2F;IAC3F,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;CAChD,CAAC;AAEF;;;;;GAKG;AACH,wBAAsB,qBAAqB,CACzC,IAAI,EAAE;IACJ,kBAAkB,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC7C,GAAG,EAAE,MAAM,CAAC;IACZ,eAAe,EAAE,cAAc,CAAC;CACjC,EACD,OAAO,EAAE,wBAAwB,EACjC,mBAAmB,EAAE,CAAC,KAAK,EAAE,uBAAuB,KAAK,OAAO,CAAC,cAAc,CAAC,EAChF,WAAW,CAAC,EAAE,WAAW,GACxB,OAAO,CAAC,cAAc,GAAG;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAsB/C;AAED,sFAAsF;AACtF,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,iBAAiB,GAAG,IAAI,EACjC,KAAK,EAAE,iBAAiB,GACvB,iBAAiB,CAOnB;AA8BD;;;;;GAKG;AACH,wBAAsB,4BAA4B,CAChD,OAAO,EAAE,iBAAiB,EAC1B,OAAO,EAAE,wBAAwB,EACjC,WAAW,CAAC,EAAE,WAAW,GACxB,OAAO,CAAC,uBAAuB,CAAC,CAuClC"}
|
package/dist/profile.js
ADDED
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
import { join } from "node:path";
|
|
2
|
+
import { canonicalIsolationLocator, providerScrubEnv } from "@claudexor/core";
|
|
3
|
+
import { CredentialProfileStatus as CredentialProfileStatusSchema } from "@claudexor/schema";
|
|
4
|
+
import { nowIso, redactSecrets } from "@claudexor/util";
|
|
5
|
+
import { cursorProfileKeyOrRefusal, } from "./auth.js";
|
|
6
|
+
/** Canonical, Claudexor-owned HOME for one additive Cursor identity. */
|
|
7
|
+
export function canonicalCursorProfileHome(locator) {
|
|
8
|
+
return canonicalIsolationLocator(locator, "credential profile Cursor HOME");
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Cursor's vendor-supported file credential store is selected by HOME on
|
|
12
|
+
* macOS, XDG_CONFIG_HOME on Linux, and APPDATA on Windows. Cursor's mutable
|
|
13
|
+
* config/session data remains independently relocatable, so a run can keep
|
|
14
|
+
* that state in its lane/envelope HOME while reading auth only from the named
|
|
15
|
+
* profile HOME.
|
|
16
|
+
*/
|
|
17
|
+
export function cursorProfilePathEnv(profileHome, stateHome = profileHome) {
|
|
18
|
+
const home = canonicalCursorProfileHome(profileHome);
|
|
19
|
+
const state = stateHome.trim() || home;
|
|
20
|
+
return {
|
|
21
|
+
HOME: home,
|
|
22
|
+
USERPROFILE: home,
|
|
23
|
+
APPDATA: join(home, "AppData", "Roaming"),
|
|
24
|
+
XDG_CONFIG_HOME: join(home, ".config"),
|
|
25
|
+
CURSOR_CONFIG_DIR: join(state, ".cursor"),
|
|
26
|
+
CURSOR_DATA_DIR: join(state, ".cursor"),
|
|
27
|
+
AGENT_CLI_CREDENTIAL_STORE: "file",
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
/** Exact strict-profile run/probe environment; never bridges the host Keychain. */
|
|
31
|
+
export function cursorProfileRunEnv(profileHome, specEnv = {}) {
|
|
32
|
+
const stateHome = specEnv["HOME"] || profileHome;
|
|
33
|
+
return {
|
|
34
|
+
...specEnv,
|
|
35
|
+
...providerScrubEnv(),
|
|
36
|
+
...cursorProfilePathEnv(profileHome, stateHome),
|
|
37
|
+
CURSOR_API_KEY: null,
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
/** Strict profile resolution: the named identity or a typed refusal, never default auth. */
|
|
41
|
+
export async function resolveCursorProfileRoute(profile, specEnv, runtime, abortSignal) {
|
|
42
|
+
if (profile.credential_kind === "config_dir_login") {
|
|
43
|
+
try {
|
|
44
|
+
const env = cursorProfileRunEnv(profile.isolation_locator ?? "", specEnv);
|
|
45
|
+
const probe = await runtime.nativeAuthOk(env, abortSignal);
|
|
46
|
+
if (probe.authed)
|
|
47
|
+
return { kind: "native", env };
|
|
48
|
+
return {
|
|
49
|
+
refusal: probe.probeError
|
|
50
|
+
? `credential profile "${profile.profile_id}": Cursor status probe failed — ${probe.probeError}`
|
|
51
|
+
: `credential profile "${profile.profile_id}" has no Cursor login in its profile HOME (run the profile login first)`,
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
catch (err) {
|
|
55
|
+
return { refusal: err instanceof Error ? err.message : String(err) };
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
const gate = cursorProfileKeyOrRefusal(profile, runtime.resolveProfileSecret);
|
|
59
|
+
return "refusal" in gate ? gate : { kind: "api_key", key: gate.key };
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* INV-135 strict profile routing for a run: named native profiles use Cursor's
|
|
63
|
+
* own file credential store; API-key profiles keep their existing smoked route.
|
|
64
|
+
* Neither path receives the default host-Keychain bridge. Without a profile the
|
|
65
|
+
* caller-supplied default resolver runs the engine-default credential ladder.
|
|
66
|
+
*/
|
|
67
|
+
export async function resolveCursorRunRoute(spec, runtime, resolveDefaultRoute, abortSignal) {
|
|
68
|
+
const profile = spec.credential_profile;
|
|
69
|
+
const profileRoute = profile
|
|
70
|
+
? await resolveCursorProfileRoute(profile, spec.env, runtime, abortSignal)
|
|
71
|
+
: null;
|
|
72
|
+
if (profileRoute && "refusal" in profileRoute)
|
|
73
|
+
return profileRoute;
|
|
74
|
+
if (profileRoute?.kind === "native")
|
|
75
|
+
return {
|
|
76
|
+
route: "local_session",
|
|
77
|
+
env: profileRoute.env,
|
|
78
|
+
key: null,
|
|
79
|
+
nativeAuthed: true,
|
|
80
|
+
scopedHome: Boolean(spec.env["HOME"]),
|
|
81
|
+
};
|
|
82
|
+
const keyOverride = profileRoute?.kind === "api_key" ? profileRoute.key : null;
|
|
83
|
+
return resolveDefaultRoute({
|
|
84
|
+
env: spec.env,
|
|
85
|
+
authPreference: profile ? "api_key" : spec.auth_preference,
|
|
86
|
+
abortSignal,
|
|
87
|
+
bridgeNativeSession: profile === null,
|
|
88
|
+
...(keyOverride === null ? {} : { cursorApiKey: () => keyOverride }),
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
/** INV-135 attribution: stamp every parsed run event with the profile that ran it. */
|
|
92
|
+
export function stampCursorProfileEvents(profile, parse) {
|
|
93
|
+
if (!profile)
|
|
94
|
+
return parse;
|
|
95
|
+
return (obj, sessionId) => {
|
|
96
|
+
const out = parse(obj, sessionId);
|
|
97
|
+
if (out)
|
|
98
|
+
for (const ev of out)
|
|
99
|
+
ev.credential_profile_id = profile.profile_id;
|
|
100
|
+
return out;
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
function cursorProfileNativeStatus(profile, probe) {
|
|
104
|
+
const base = { profile_id: profile.profile_id, harness_id: "cursor" };
|
|
105
|
+
if (probe.authed)
|
|
106
|
+
return CredentialProfileStatusSchema.parse({
|
|
107
|
+
...base,
|
|
108
|
+
availability: "available",
|
|
109
|
+
verification: "passed",
|
|
110
|
+
detail: "Cursor login verified in the profile HOME file store",
|
|
111
|
+
last_verified_at: nowIso(),
|
|
112
|
+
});
|
|
113
|
+
if (probe.probeError)
|
|
114
|
+
return CredentialProfileStatusSchema.parse({
|
|
115
|
+
...base,
|
|
116
|
+
availability: "unknown",
|
|
117
|
+
verification: "not_run",
|
|
118
|
+
detail: probe.probeError,
|
|
119
|
+
});
|
|
120
|
+
return CredentialProfileStatusSchema.parse({
|
|
121
|
+
...base,
|
|
122
|
+
availability: "unavailable",
|
|
123
|
+
verification: "not_run",
|
|
124
|
+
detail: "no Cursor login in the profile HOME (run the profile login)",
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Doctor projection for one Cursor profile, using the same route resolver
|
|
129
|
+
* facts. INV-135 (release wave round-15 #1): a valid cursor profile must admit
|
|
130
|
+
* the route even when the default store is logged out — the orchestrator
|
|
131
|
+
* consults THIS probe to override the default auth verdict.
|
|
132
|
+
*/
|
|
133
|
+
export async function probeCursorCredentialProfile(profile, runtime, abortSignal) {
|
|
134
|
+
if (profile.credential_kind !== "config_dir_login") {
|
|
135
|
+
const base = { profile_id: profile.profile_id, harness_id: "cursor" };
|
|
136
|
+
try {
|
|
137
|
+
const gate = cursorProfileKeyOrRefusal(profile, runtime.resolveProfileSecret);
|
|
138
|
+
if ("refusal" in gate)
|
|
139
|
+
return CredentialProfileStatusSchema.parse({
|
|
140
|
+
...base,
|
|
141
|
+
availability: "unavailable",
|
|
142
|
+
verification: gate.reason === "missing_secret" ? "not_run" : "failed",
|
|
143
|
+
detail: gate.refusal,
|
|
144
|
+
});
|
|
145
|
+
return CredentialProfileStatusSchema.parse({
|
|
146
|
+
...base,
|
|
147
|
+
availability: "available",
|
|
148
|
+
verification: "not_run",
|
|
149
|
+
detail: `secret "${profile.secret_ref}" is stored`,
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
catch (err) {
|
|
153
|
+
return CredentialProfileStatusSchema.parse({
|
|
154
|
+
...base,
|
|
155
|
+
availability: "unavailable",
|
|
156
|
+
verification: "failed",
|
|
157
|
+
detail: redactSecrets(err instanceof Error ? err.message : String(err)).slice(0, 300),
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
try {
|
|
162
|
+
const env = cursorProfileRunEnv(profile.isolation_locator ?? "");
|
|
163
|
+
return cursorProfileNativeStatus(profile, await runtime.nativeAuthOk(env, abortSignal));
|
|
164
|
+
}
|
|
165
|
+
catch (err) {
|
|
166
|
+
return CredentialProfileStatusSchema.parse({
|
|
167
|
+
profile_id: profile.profile_id,
|
|
168
|
+
harness_id: "cursor",
|
|
169
|
+
availability: "unavailable",
|
|
170
|
+
verification: "failed",
|
|
171
|
+
detail: redactSecrets(err instanceof Error ? err.message : String(err)).slice(0, 300),
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
//# sourceMappingURL=profile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profile.js","sourceRoot":"","sources":["../src/profile.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.
|
|
3
|
+
"version": "3.3.8",
|
|
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.3.
|
|
20
|
-
"@claudexor/
|
|
21
|
-
"@claudexor/
|
|
22
|
-
"@claudexor/util": "3.3.
|
|
19
|
+
"@claudexor/core": "3.3.8",
|
|
20
|
+
"@claudexor/secrets": "3.3.8",
|
|
21
|
+
"@claudexor/schema": "3.3.8",
|
|
22
|
+
"@claudexor/util": "3.3.8"
|
|
23
23
|
},
|
|
24
24
|
"repository": {
|
|
25
25
|
"type": "git",
|