@claudexor/harness-cursor 3.6.0 → 3.8.1
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/index.d.ts +8 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -84
- package/dist/index.js.map +1 -1
- package/dist/models.d.ts +22 -0
- package/dist/models.d.ts.map +1 -0
- package/dist/models.js +82 -0
- package/dist/models.js.map +1 -0
- package/package.json +5 -5
package/dist/index.d.ts
CHANGED
|
@@ -1,16 +1,21 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { HarnessCapabilityProfile } from "@claudexor/schema";
|
|
2
2
|
import type { HarnessAdapter } from "@claudexor/core";
|
|
3
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
7
|
import { smokeIsolatedApiKey, type CursorApiSmokeResult } from "./smoke.js";
|
|
8
|
+
import { type CursorModelLister } from "./models.js";
|
|
8
9
|
export { cleanupCursorSmokeBase, cursorApiSmokeFinalText, cursorApiSmokePassed, smokeIsolatedApiKey, } from "./smoke.js";
|
|
9
10
|
export { cursorStatusAuthenticated, cursorStatusLoggedOut, selectCursorAuthRoute, shouldDiscloseCursorAutoApiRoute, } from "./auth.js";
|
|
10
11
|
export declare const BIN: string;
|
|
12
|
+
/** One manifest-owned declaration of the managed login's stdin contract. */
|
|
13
|
+
export declare const CURSOR_MANAGED_LOGIN: {
|
|
14
|
+
readonly stdin: "none";
|
|
15
|
+
};
|
|
16
|
+
export declare const CURSOR_CAPABILITY_PROFILE: HarnessCapabilityProfile;
|
|
11
17
|
declare function detectVersion(abortSignal?: AbortSignal): Promise<string | null>;
|
|
12
18
|
declare function cursorApiKey(env?: Record<string, string | null | undefined>): string | null;
|
|
13
|
-
type EnvMap = Record<string, string | null | undefined>;
|
|
14
19
|
type CursorApiSmokeCacheEntry = {
|
|
15
20
|
result: CursorApiSmokeResult;
|
|
16
21
|
expiresAtMs: number;
|
|
@@ -19,7 +24,7 @@ type CursorRuntimeDeps = {
|
|
|
19
24
|
detectVersion: typeof detectVersion;
|
|
20
25
|
nativeAuthOk: typeof probeCursorNativeAuth;
|
|
21
26
|
cursorApiKey: typeof cursorApiKey;
|
|
22
|
-
listCursorModels:
|
|
27
|
+
listCursorModels: CursorModelLister;
|
|
23
28
|
smokeIsolatedApiKey: typeof smokeIsolatedApiKey;
|
|
24
29
|
apiSmokeCache: Map<string, CursorApiSmokeCacheEntry>;
|
|
25
30
|
apiSmokeCacheTtlMs: number;
|
|
@@ -29,6 +34,5 @@ type CursorRuntimeDeps = {
|
|
|
29
34
|
/** INV-062: profile secrets are resolved transiently, never logged. */
|
|
30
35
|
resolveProfileSecret: (ref: string) => string | null;
|
|
31
36
|
};
|
|
32
|
-
declare function listCursorModels(env?: EnvMap): Promise<HarnessModel[]>;
|
|
33
37
|
export declare function createCursorAdapter(deps?: Partial<CursorRuntimeDeps>): HarnessAdapter;
|
|
34
38
|
//# 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":"AACA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAGV,wBAAwB,EAKzB,MAAM,mBAAmB,CAAC;AAK3B,OAAO,KAAK,EAAc,cAAc,EAAoB,MAAM,iBAAiB,CAAC;AACpF,OAAO,EAML,aAAa,IAAI,oBAAoB,EACtC,MAAM,iBAAiB,CAAC;AAIzB,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAGL,qBAAqB,EAMtB,MAAM,WAAW,CAAC;AAQnB,OAAO,EAAE,0BAA0B,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAoB,KAAK,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAC9F,OAAO,EAIL,KAAK,iBAAiB,EACvB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,yBAAyB,EACzB,qBAAqB,EACrB,qBAAqB,EACrB,gCAAgC,GACjC,MAAM,WAAW,CAAC;AAEnB,eAAO,MAAM,GAAG,QAAqD,CAAC;AAMtE,4EAA4E;AAC5E,eAAO,MAAM,oBAAoB;aAAK,KAAK,EAAE,MAAM;CAAW,CAAC;AAE/D,eAAO,MAAM,yBAAyB,EAAE,wBA0BpC,CAAC;AAoBL,iBAAe,aAAa,CAAC,WAAW,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAY9E;AAED,iBAAS,YAAY,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,GAAG,MAAM,GAAG,IAAI,CAWpF;AAED,KAAK,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,iBAAiB,CAAC;IACpC,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;AA8EF,wBAAgB,mBAAmB,CAAC,IAAI,GAAE,OAAO,CAAC,iBAAiB,CAAM,GAAG,cAAc,CAuHzF"}
|
package/dist/index.js
CHANGED
|
@@ -3,13 +3,14 @@ import { HarnessCapabilityProfile as HarnessCapabilityProfileSchema, HarnessMani
|
|
|
3
3
|
import { abortSignalFromSpec, HarnessUnavailableError, promptWithInstructions, providerScrubEnv, runCapture, runCliHarness as runCliHarnessDefault, } from "@claudexor/core";
|
|
4
4
|
import { resolveSecret } from "@claudexor/secrets";
|
|
5
5
|
import { CLAUDEXOR_VERSION, nowIso, redactSecrets } from "@claudexor/util";
|
|
6
|
-
import { createCursorParser,
|
|
6
|
+
import { createCursorParser, parseCursorStderrFailure } from "./parse.js";
|
|
7
7
|
export { parseCursorModelList } from "./parse.js";
|
|
8
8
|
import { cursorObservationAuthenticated, cursorObservationError, probeCursorNativeAuth, selectCursorAuthRoute, shouldDiscloseCursorAutoApiRoute, shouldSmokeCursorApiKey, } from "./auth.js";
|
|
9
9
|
import { probeCursorDoctorForAccounts } from "./doctor.js";
|
|
10
10
|
import { probeCursorCredentialAccount, probeCursorCredentialProfile, resolveCursorRunRoute, stampCursorProfileEvents, } from "./profile.js";
|
|
11
11
|
export { canonicalCursorProfileHome, cursorProfilePathEnv } from "./profile.js";
|
|
12
12
|
import { smokeIsolatedApiKey, unsmokedApiSmoke } from "./smoke.js";
|
|
13
|
+
import { listCursorModelsFromReadyRoute, queryCursorModels, } from "./models.js";
|
|
13
14
|
export { cleanupCursorSmokeBase, cursorApiSmokeFinalText, cursorApiSmokePassed, smokeIsolatedApiKey, } from "./smoke.js";
|
|
14
15
|
export { cursorStatusAuthenticated, cursorStatusLoggedOut, selectCursorAuthRoute, shouldDiscloseCursorAutoApiRoute, } from "./auth.js";
|
|
15
16
|
export const BIN = process.env.CLAUDEXOR_CURSOR_BIN || "cursor-agent";
|
|
@@ -17,7 +18,9 @@ export const BIN = process.env.CLAUDEXOR_CURSOR_BIN || "cursor-agent";
|
|
|
17
18
|
// keys do not remain smoke-proven for a whole daemon lifetime.
|
|
18
19
|
const CURSOR_API_SMOKE_CACHE_TTL_MS = 60 * 60_000;
|
|
19
20
|
const CURSOR_API_SMOKE_FAILURE_CACHE_TTL_MS = 30_000;
|
|
20
|
-
|
|
21
|
+
/** One manifest-owned declaration of the managed login's stdin contract. */
|
|
22
|
+
export const CURSOR_MANAGED_LOGIN = { stdin: "none" };
|
|
23
|
+
export const CURSOR_CAPABILITY_PROFILE = HarnessCapabilityProfileSchema.parse({
|
|
21
24
|
auth: {
|
|
22
25
|
supported_sources: ["native_session", "api_key_env"],
|
|
23
26
|
preferred_source: null,
|
|
@@ -30,6 +33,7 @@ const CURSOR_CAPABILITY_PROFILE = HarnessCapabilityProfileSchema.parse({
|
|
|
30
33
|
{ source: "native_session", kind: "config_file", relocatable_by: ["HOME"] },
|
|
31
34
|
{ source: "api_key_env", kind: "env_var", relocatable_by: ["ENV"] },
|
|
32
35
|
],
|
|
36
|
+
managed_login: CURSOR_MANAGED_LOGIN,
|
|
33
37
|
},
|
|
34
38
|
// Ask mode is the mechanism: the CLI withholds the write/shell tools there
|
|
35
39
|
// ("--mode ask ... (read-only)" per cursor-agent --help), which is a tool
|
|
@@ -101,17 +105,6 @@ async function smokeCursorApiKey(deps, key, fresh = false) {
|
|
|
101
105
|
deps.apiSmokeCache.set(cacheKey, { result, expiresAtMs: now + ttlMs });
|
|
102
106
|
return result;
|
|
103
107
|
}
|
|
104
|
-
async function listCursorModels(env = { ...providerScrubEnv() }) {
|
|
105
|
-
try {
|
|
106
|
-
const r = await runCapture(BIN, ["--list-models"], { env, timeoutMs: 30_000 });
|
|
107
|
-
if (r.code !== 0)
|
|
108
|
-
return [];
|
|
109
|
-
return parseCursorModelList(r.stdout);
|
|
110
|
-
}
|
|
111
|
-
catch {
|
|
112
|
-
return [];
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
108
|
function cursorBaseEnv(env) {
|
|
116
109
|
return { ...(env ?? {}), ...providerScrubEnv() };
|
|
117
110
|
}
|
|
@@ -149,55 +142,12 @@ async function resolveCursorAuthRoute(deps, input) {
|
|
|
149
142
|
});
|
|
150
143
|
return { route, env, key, nativeAuthed, scopedHome };
|
|
151
144
|
}
|
|
152
|
-
async function listCursorModelsFromReadyRoute(deps, spec) {
|
|
153
|
-
const catalogOnly = () => {
|
|
154
|
-
const key = deps.cursorApiKey(spec?.env);
|
|
155
|
-
return deps.listCursorModels({
|
|
156
|
-
...providerScrubEnv(),
|
|
157
|
-
CURSOR_API_KEY: key ?? null,
|
|
158
|
-
});
|
|
159
|
-
};
|
|
160
|
-
if (spec?.env || spec?.authPreference || spec?.fresh) {
|
|
161
|
-
const authPreference = spec.authPreference ?? "auto";
|
|
162
|
-
const resolved = await resolveCursorAuthRoute(deps, {
|
|
163
|
-
env: spec.env,
|
|
164
|
-
authPreference,
|
|
165
|
-
fresh: spec?.fresh,
|
|
166
|
-
abortSignal: spec?.abortSignal,
|
|
167
|
-
});
|
|
168
|
-
if (resolved.route === "local_session") {
|
|
169
|
-
const models = await deps.listCursorModels({ ...resolved.env, CURSOR_API_KEY: null });
|
|
170
|
-
if (models.length > 0)
|
|
171
|
-
return models;
|
|
172
|
-
if (authPreference === "subscription")
|
|
173
|
-
return [];
|
|
174
|
-
}
|
|
175
|
-
if (resolved.route === "api_key" && resolved.key) {
|
|
176
|
-
const models = await deps.listCursorModels({ ...resolved.env, CURSOR_API_KEY: resolved.key });
|
|
177
|
-
if (models.length > 0)
|
|
178
|
-
return models;
|
|
179
|
-
}
|
|
180
|
-
return [];
|
|
181
|
-
}
|
|
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.
|
|
184
|
-
const key = deps.cursorApiKey();
|
|
185
|
-
if (!key)
|
|
186
|
-
return catalogOnly();
|
|
187
|
-
const apiSmoke = await smokeCursorApiKey(deps, key, spec?.fresh === true);
|
|
188
|
-
if (apiSmoke.ok) {
|
|
189
|
-
const models = await deps.listCursorModels({ ...providerScrubEnv(), CURSOR_API_KEY: key });
|
|
190
|
-
if (models.length > 0)
|
|
191
|
-
return models;
|
|
192
|
-
}
|
|
193
|
-
return catalogOnly();
|
|
194
|
-
}
|
|
195
145
|
export function createCursorAdapter(deps = {}) {
|
|
196
146
|
const runtime = {
|
|
197
147
|
detectVersion,
|
|
198
148
|
nativeAuthOk: probeCursorNativeAuth,
|
|
199
149
|
cursorApiKey,
|
|
200
|
-
listCursorModels,
|
|
150
|
+
listCursorModels: (env, cwd) => queryCursorModels(BIN, env, cwd),
|
|
201
151
|
smokeIsolatedApiKey,
|
|
202
152
|
apiSmokeCache: new Map(),
|
|
203
153
|
apiSmokeCacheTtlMs: CURSOR_API_SMOKE_CACHE_TTL_MS,
|
|
@@ -217,6 +167,7 @@ export function createCursorAdapter(deps = {}) {
|
|
|
217
167
|
});
|
|
218
168
|
return {
|
|
219
169
|
id: "cursor",
|
|
170
|
+
capabilityProfile: CURSOR_CAPABILITY_PROFILE,
|
|
220
171
|
async discover() {
|
|
221
172
|
const version = await runtime.detectVersion();
|
|
222
173
|
if (version === null) {
|
|
@@ -270,16 +221,7 @@ export function createCursorAdapter(deps = {}) {
|
|
|
270
221
|
...(nativeAuthed ? ["local_session"] : []),
|
|
271
222
|
...(apiKey ? ["api_key"] : []),
|
|
272
223
|
],
|
|
273
|
-
|
|
274
|
-
// --sandbox disabled), mirroring codex/claude; the engine applies its
|
|
275
|
-
// own OS boundary only on delegated runs. Bare `full` stays
|
|
276
|
-
// undeclared/refused (no boundary, not proven).
|
|
277
|
-
access_profiles_supported: [
|
|
278
|
-
"readonly",
|
|
279
|
-
"workspace_write",
|
|
280
|
-
"external_sandbox_full",
|
|
281
|
-
"inherit_native",
|
|
282
|
-
],
|
|
224
|
+
access_profiles_supported: ["readonly", "workspace_write", "full", "inherit_native"],
|
|
283
225
|
});
|
|
284
226
|
},
|
|
285
227
|
async doctor(spec) {
|
|
@@ -293,7 +235,7 @@ export function createCursorAdapter(deps = {}) {
|
|
|
293
235
|
return runCursor(spec, runtime);
|
|
294
236
|
},
|
|
295
237
|
async models(spec) {
|
|
296
|
-
return listCursorModelsFromReadyRoute(runtime, spec);
|
|
238
|
+
return listCursorModelsFromReadyRoute(runtime, spec, ({ cursorApiKey, ...input }) => resolveCursorAuthRoute(cursorApiKey ? { ...runtime, cursorApiKey } : runtime, input), (key, fresh) => smokeCursorApiKey(runtime, key, fresh));
|
|
297
239
|
},
|
|
298
240
|
async probeCredentialProfile(profile, abortSignal) {
|
|
299
241
|
return probeCursorCredentialProfile(profile, runtime, abortSignal);
|
|
@@ -304,22 +246,6 @@ export function createCursorAdapter(deps = {}) {
|
|
|
304
246
|
};
|
|
305
247
|
}
|
|
306
248
|
async function* runCursor(spec, deps) {
|
|
307
|
-
// Bare `full` claims NO boundary at all and stays refused (unproven).
|
|
308
|
-
// `external_sandbox_full` stands cursor's weaker sandbox down (`--force
|
|
309
|
-
// --sandbox disabled` via accessArgs) — the same mapping codex
|
|
310
|
-
// (danger-full-access) and claude (bypassPermissions) implement. The engine
|
|
311
|
-
// applies its OWN OS boundary only on delegated runs; requested directly,
|
|
312
|
-
// this profile runs unrestricted (and is not behind the trust allow).
|
|
313
|
-
if (spec.access === "full") {
|
|
314
|
-
yield {
|
|
315
|
-
type: "error",
|
|
316
|
-
session_id: spec.session_id,
|
|
317
|
-
ts: nowIso(),
|
|
318
|
-
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)",
|
|
319
|
-
};
|
|
320
|
-
yield { type: "completed", session_id: spec.session_id, ts: nowIso() };
|
|
321
|
-
return;
|
|
322
|
-
}
|
|
323
249
|
const args = ["-p", "--output-format", "stream-json", ...accessArgs(spec)];
|
|
324
250
|
// Native Plan's createPlan schema cannot carry D-16 WorkReport; native read-only
|
|
325
251
|
// Ask preserves prompt-owned plan intent and the model-authored final report.
|
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/models.d.ts
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { HarnessModelSpec } from "@claudexor/core";
|
|
2
|
+
import type { HarnessModel } from "@claudexor/schema";
|
|
3
|
+
import type { CursorApiSmokeResult } from "./smoke.js";
|
|
4
|
+
import { type CursorDefaultRouteInput, type CursorProfileRuntimeDeps, type CursorRunRoute } from "./profile.js";
|
|
5
|
+
export type CursorEnvMap = Record<string, string | null | undefined>;
|
|
6
|
+
export type CursorModelLister = (env?: CursorEnvMap, cwd?: string) => Promise<HarnessModel[]>;
|
|
7
|
+
type CursorModelRuntimeDeps = CursorProfileRuntimeDeps & {
|
|
8
|
+
cursorApiKey: (env?: CursorEnvMap) => string | null;
|
|
9
|
+
listCursorModels: CursorModelLister;
|
|
10
|
+
};
|
|
11
|
+
type CursorModelAuthInput = Omit<CursorDefaultRouteInput, "env"> & {
|
|
12
|
+
env?: CursorEnvMap;
|
|
13
|
+
fresh?: boolean;
|
|
14
|
+
};
|
|
15
|
+
type ResolveCursorAuthRoute = (input: CursorModelAuthInput) => Promise<CursorRunRoute>;
|
|
16
|
+
type SmokeCursorApiKey = (key: string, fresh?: boolean) => Promise<CursorApiSmokeResult>;
|
|
17
|
+
/** Query the vendor's model inventory in the exact environment used by a run. */
|
|
18
|
+
export declare function queryCursorModels(bin: string, env?: CursorEnvMap, cwd?: string): Promise<HarnessModel[]>;
|
|
19
|
+
/** Resolve model inventory through the same ready credential route as a run. */
|
|
20
|
+
export declare function listCursorModelsFromReadyRoute(deps: CursorModelRuntimeDeps, spec: HarnessModelSpec | undefined, resolveAuthRoute: ResolveCursorAuthRoute, smokeApiKey: SmokeCursorApiKey): Promise<HarnessModel[]>;
|
|
21
|
+
export {};
|
|
22
|
+
//# sourceMappingURL=models.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD,OAAO,KAAK,EAAqB,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEzE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,EAEL,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAC7B,KAAK,cAAc,EACpB,MAAM,cAAc,CAAC;AAEtB,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;AACrE,MAAM,MAAM,iBAAiB,GAAG,CAAC,GAAG,CAAC,EAAE,YAAY,EAAE,GAAG,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;AAE9F,KAAK,sBAAsB,GAAG,wBAAwB,GAAG;IACvD,YAAY,EAAE,CAAC,GAAG,CAAC,EAAE,YAAY,KAAK,MAAM,GAAG,IAAI,CAAC;IACpD,gBAAgB,EAAE,iBAAiB,CAAC;CACrC,CAAC;AAEF,KAAK,oBAAoB,GAAG,IAAI,CAAC,uBAAuB,EAAE,KAAK,CAAC,GAAG;IACjE,GAAG,CAAC,EAAE,YAAY,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AACF,KAAK,sBAAsB,GAAG,CAAC,KAAK,EAAE,oBAAoB,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;AACvF,KAAK,iBAAiB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAEzF,iFAAiF;AACjF,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,MAAM,EACX,GAAG,GAAE,YAAwC,EAC7C,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,YAAY,EAAE,CAAC,CAYzB;AA8BD,gFAAgF;AAChF,wBAAsB,8BAA8B,CAClD,IAAI,EAAE,sBAAsB,EAC5B,IAAI,EAAE,gBAAgB,GAAG,SAAS,EAClC,gBAAgB,EAAE,sBAAsB,EACxC,WAAW,EAAE,iBAAiB,GAC7B,OAAO,CAAC,YAAY,EAAE,CAAC,CA2CzB"}
|
package/dist/models.js
ADDED
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { providerScrubEnv, runCapture } from "@claudexor/core";
|
|
2
|
+
import { parseCursorModelList } from "./parse.js";
|
|
3
|
+
import { resolveCursorRunRoute, } from "./profile.js";
|
|
4
|
+
/** Query the vendor's model inventory in the exact environment used by a run. */
|
|
5
|
+
export async function queryCursorModels(bin, env = { ...providerScrubEnv() }, cwd) {
|
|
6
|
+
try {
|
|
7
|
+
const r = await runCapture(bin, ["--list-models"], {
|
|
8
|
+
env,
|
|
9
|
+
...(cwd ? { cwd } : {}),
|
|
10
|
+
timeoutMs: 30_000,
|
|
11
|
+
});
|
|
12
|
+
if (r.code !== 0)
|
|
13
|
+
return [];
|
|
14
|
+
return parseCursorModelList(r.stdout);
|
|
15
|
+
}
|
|
16
|
+
catch {
|
|
17
|
+
return [];
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* A PINNED profile owns its own inventory. The engine-default auth ladder can
|
|
22
|
+
* only find an API-key route under D-U3, so named native accounts must resolve
|
|
23
|
+
* through the same strict profile seam as the eventual run.
|
|
24
|
+
*/
|
|
25
|
+
async function listCursorModelsForProfile(deps, spec, resolveAuthRoute) {
|
|
26
|
+
const resolved = await resolveCursorRunRoute({
|
|
27
|
+
credential_profile: spec.credentialProfile,
|
|
28
|
+
env: spec.env ?? {},
|
|
29
|
+
auth_preference: spec.authPreference ?? "auto",
|
|
30
|
+
}, deps, resolveAuthRoute, spec.abortSignal);
|
|
31
|
+
if ("refusal" in resolved)
|
|
32
|
+
return [];
|
|
33
|
+
if (resolved.route === "local_session")
|
|
34
|
+
return deps.listCursorModels({ ...resolved.env, CURSOR_API_KEY: null }, spec.cwd);
|
|
35
|
+
if (resolved.route === "api_key" && resolved.key)
|
|
36
|
+
return deps.listCursorModels({ ...resolved.env, CURSOR_API_KEY: resolved.key }, spec.cwd);
|
|
37
|
+
return [];
|
|
38
|
+
}
|
|
39
|
+
/** Resolve model inventory through the same ready credential route as a run. */
|
|
40
|
+
export async function listCursorModelsFromReadyRoute(deps, spec, resolveAuthRoute, smokeApiKey) {
|
|
41
|
+
if (spec?.credentialProfile)
|
|
42
|
+
return listCursorModelsForProfile(deps, { ...spec, credentialProfile: spec.credentialProfile }, resolveAuthRoute);
|
|
43
|
+
// The inventory must run in the eventual run's working directory because
|
|
44
|
+
// cursor-agent resolves account/workspace state relative to it.
|
|
45
|
+
const modelsFrom = (env) => deps.listCursorModels(env, spec?.cwd);
|
|
46
|
+
const catalogOnly = () => modelsFrom({ ...providerScrubEnv(), CURSOR_API_KEY: deps.cursorApiKey(spec?.env) ?? null });
|
|
47
|
+
if (spec?.env || spec?.authPreference || spec?.fresh) {
|
|
48
|
+
const authPreference = spec.authPreference ?? "auto";
|
|
49
|
+
const resolved = await resolveAuthRoute({
|
|
50
|
+
env: spec.env,
|
|
51
|
+
authPreference,
|
|
52
|
+
fresh: spec.fresh,
|
|
53
|
+
abortSignal: spec.abortSignal,
|
|
54
|
+
});
|
|
55
|
+
if (resolved.route === "local_session") {
|
|
56
|
+
const models = await modelsFrom({ ...resolved.env, CURSOR_API_KEY: null });
|
|
57
|
+
if (models.length > 0)
|
|
58
|
+
return models;
|
|
59
|
+
if (authPreference === "subscription")
|
|
60
|
+
return [];
|
|
61
|
+
}
|
|
62
|
+
if (resolved.route === "api_key" && resolved.key) {
|
|
63
|
+
const models = await modelsFrom({ ...resolved.env, CURSOR_API_KEY: resolved.key });
|
|
64
|
+
if (models.length > 0)
|
|
65
|
+
return models;
|
|
66
|
+
}
|
|
67
|
+
return [];
|
|
68
|
+
}
|
|
69
|
+
// No default native session exists to list models from (D-U3: the host
|
|
70
|
+
// Keychain is never probed); the key route and the static catalog remain.
|
|
71
|
+
const key = deps.cursorApiKey();
|
|
72
|
+
if (!key)
|
|
73
|
+
return catalogOnly();
|
|
74
|
+
const apiSmoke = await smokeApiKey(key, spec?.fresh === true);
|
|
75
|
+
if (apiSmoke.ok) {
|
|
76
|
+
const models = await modelsFrom({ ...providerScrubEnv(), CURSOR_API_KEY: key });
|
|
77
|
+
if (models.length > 0)
|
|
78
|
+
return models;
|
|
79
|
+
}
|
|
80
|
+
return catalogOnly();
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=models.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"models.js","sourceRoot":"","sources":["../src/models.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.8.1",
|
|
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.8.1",
|
|
20
|
+
"@claudexor/schema": "3.8.1",
|
|
21
|
+
"@claudexor/secrets": "3.8.1",
|
|
22
|
+
"@claudexor/util": "3.8.1"
|
|
23
23
|
},
|
|
24
24
|
"repository": {
|
|
25
25
|
"type": "git",
|