sleev 0.0.13 → 0.0.15
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/README.md +9 -8
- package/bin/sleev.js +84 -0
- package/package.json +37 -55
- package/postinstall.mjs +66 -0
- package/dist/auth/browser.d.ts +0 -12
- package/dist/auth/browser.js +0 -89
- package/dist/auth/browser.js.map +0 -1
- package/dist/auth/firebase-tokens.d.ts +0 -39
- package/dist/auth/firebase-tokens.js +0 -173
- package/dist/auth/firebase-tokens.js.map +0 -1
- package/dist/auth/firebase.d.ts +0 -17
- package/dist/auth/firebase.js +0 -55
- package/dist/auth/firebase.js.map +0 -1
- package/dist/auth/login.d.ts +0 -22
- package/dist/auth/login.js +0 -58
- package/dist/auth/login.js.map +0 -1
- package/dist/auth/loopback.d.ts +0 -19
- package/dist/auth/loopback.js +0 -204
- package/dist/auth/loopback.js.map +0 -1
- package/dist/auth/schema.d.ts +0 -26
- package/dist/auth/schema.js +0 -88
- package/dist/auth/schema.js.map +0 -1
- package/dist/auth/token.d.ts +0 -19
- package/dist/auth/token.js +0 -53
- package/dist/auth/token.js.map +0 -1
- package/dist/auth/verify.d.ts +0 -6
- package/dist/auth/verify.js +0 -22
- package/dist/auth/verify.js.map +0 -1
- package/dist/cli.d.ts +0 -8
- package/dist/cli.js +0 -255
- package/dist/cli.js.map +0 -1
- package/dist/config/paths.d.ts +0 -12
- package/dist/config/paths.js +0 -34
- package/dist/config/paths.js.map +0 -1
- package/dist/config/store.d.ts +0 -63
- package/dist/config/store.js +0 -270
- package/dist/config/store.js.map +0 -1
- package/dist/control/local-installations.d.ts +0 -13
- package/dist/control/local-installations.js +0 -37
- package/dist/control/local-installations.js.map +0 -1
- package/dist/daemon/config.d.ts +0 -10
- package/dist/daemon/config.js +0 -52
- package/dist/daemon/config.js.map +0 -1
- package/dist/daemon/controller.d.ts +0 -29
- package/dist/daemon/controller.js +0 -34
- package/dist/daemon/controller.js.map +0 -1
- package/dist/daemon/health.d.ts +0 -8
- package/dist/daemon/health.js +0 -47
- package/dist/daemon/health.js.map +0 -1
- package/dist/daemon/start.d.ts +0 -5
- package/dist/daemon/start.js +0 -24
- package/dist/daemon/start.js.map +0 -1
- package/dist/daemon/systemd.d.ts +0 -35
- package/dist/daemon/systemd.js +0 -181
- package/dist/daemon/systemd.js.map +0 -1
- package/dist/gateway/acquire.d.ts +0 -14
- package/dist/gateway/acquire.js +0 -112
- package/dist/gateway/acquire.js.map +0 -1
- package/dist/gateway/manifest.d.ts +0 -26
- package/dist/gateway/manifest.js +0 -98
- package/dist/gateway/manifest.js.map +0 -1
- package/dist/gateway/platform.d.ts +0 -5
- package/dist/gateway/platform.js +0 -27
- package/dist/gateway/platform.js.map +0 -1
- package/dist/harness/claude.d.ts +0 -8
- package/dist/harness/claude.js +0 -151
- package/dist/harness/claude.js.map +0 -1
- package/dist/harness/codex.d.ts +0 -10
- package/dist/harness/codex.js +0 -213
- package/dist/harness/codex.js.map +0 -1
- package/dist/harness/index.d.ts +0 -13
- package/dist/harness/index.js +0 -63
- package/dist/harness/index.js.map +0 -1
- package/dist/harness/opencode-config.d.ts +0 -8
- package/dist/harness/opencode-config.js +0 -301
- package/dist/harness/opencode-config.js.map +0 -1
- package/dist/harness/opencode.d.ts +0 -14
- package/dist/harness/opencode.js +0 -50
- package/dist/harness/opencode.js.map +0 -1
- package/dist/harness/providers.d.ts +0 -8
- package/dist/harness/providers.js +0 -30
- package/dist/harness/providers.js.map +0 -1
- package/dist/harness/types.d.ts +0 -14
- package/dist/harness/types.js +0 -2
- package/dist/harness/types.js.map +0 -1
- package/dist/product.d.ts +0 -12
- package/dist/product.js +0 -70
- package/dist/product.js.map +0 -1
- package/dist/tui/clipboard.d.ts +0 -1
- package/dist/tui/clipboard.js +0 -48
- package/dist/tui/clipboard.js.map +0 -1
- package/dist/tui/openTuiApp.d.ts +0 -1
- package/dist/tui/openTuiApp.js +0 -1436
- package/dist/tui/openTuiApp.js.map +0 -1
- package/dist/tui/pages/flow-screen.d.ts +0 -50
- package/dist/tui/pages/flow-screen.js +0 -435
- package/dist/tui/pages/flow-screen.js.map +0 -1
- package/dist/tui/pages/footer.d.ts +0 -7
- package/dist/tui/pages/footer.js +0 -14
- package/dist/tui/pages/footer.js.map +0 -1
- package/dist/tui/pages/home-screen.d.ts +0 -19
- package/dist/tui/pages/home-screen.js +0 -89
- package/dist/tui/pages/home-screen.js.map +0 -1
- package/dist/tui/pages/index.d.ts +0 -17
- package/dist/tui/pages/index.js +0 -11
- package/dist/tui/pages/index.js.map +0 -1
- package/dist/tui/pages/local-setup-screen.d.ts +0 -23
- package/dist/tui/pages/local-setup-screen.js +0 -134
- package/dist/tui/pages/local-setup-screen.js.map +0 -1
- package/dist/tui/pages/location-card.d.ts +0 -19
- package/dist/tui/pages/location-card.js +0 -116
- package/dist/tui/pages/location-card.js.map +0 -1
- package/dist/tui/pages/menu-screen.d.ts +0 -24
- package/dist/tui/pages/menu-screen.js +0 -117
- package/dist/tui/pages/menu-screen.js.map +0 -1
- package/dist/tui/pages/session-grid.d.ts +0 -23
- package/dist/tui/pages/session-grid.js +0 -552
- package/dist/tui/pages/session-grid.js.map +0 -1
- package/dist/tui/pages/setup-screen.d.ts +0 -15
- package/dist/tui/pages/setup-screen.js +0 -80
- package/dist/tui/pages/setup-screen.js.map +0 -1
- package/dist/tui/pages/terminal-log.d.ts +0 -14
- package/dist/tui/pages/terminal-log.js +0 -104
- package/dist/tui/pages/terminal-log.js.map +0 -1
- package/dist/tui/pages/welcome-screen.d.ts +0 -16
- package/dist/tui/pages/welcome-screen.js +0 -80
- package/dist/tui/pages/welcome-screen.js.map +0 -1
- package/dist/tui/saved-tokens.d.ts +0 -10
- package/dist/tui/saved-tokens.js +0 -104
- package/dist/tui/saved-tokens.js.map +0 -1
- package/dist/tui/theme.d.ts +0 -25
- package/dist/tui/theme.js +0 -27
- package/dist/tui/theme.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"acquire.js","sourceRoot":"","sources":["../../src/gateway/acquire.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { type GatewayPlatform } from "./platform.js";
|
|
2
|
-
export type ArtifactRef = {
|
|
3
|
-
url: string;
|
|
4
|
-
sha256: string;
|
|
5
|
-
size: number;
|
|
6
|
-
};
|
|
7
|
-
export type ReleaseManifest = {
|
|
8
|
-
channel: string;
|
|
9
|
-
version: string;
|
|
10
|
-
commit: string;
|
|
11
|
-
publishedAt: string;
|
|
12
|
-
artifacts: Partial<Record<GatewayPlatform, ArtifactRef>>;
|
|
13
|
-
};
|
|
14
|
-
export declare function manifestUrl(base: string, channel: string): string;
|
|
15
|
-
export declare function parseManifest(value: unknown): ReleaseManifest;
|
|
16
|
-
export type ResolvedRelease = {
|
|
17
|
-
version: string;
|
|
18
|
-
platform: GatewayPlatform;
|
|
19
|
-
artifact: ArtifactRef;
|
|
20
|
-
};
|
|
21
|
-
export declare function resolveLatestRelease(deps?: {
|
|
22
|
-
fetchImpl?: typeof fetch;
|
|
23
|
-
platform?: GatewayPlatform;
|
|
24
|
-
env?: NodeJS.ProcessEnv;
|
|
25
|
-
}): Promise<ResolvedRelease>;
|
|
26
|
-
export declare function assertTrustedArtifactUrl(artifactUrl: string, baseUrl: string): void;
|
package/dist/gateway/manifest.js
DELETED
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
// Reads the channel manifest — the always-latest pointer published by the
|
|
2
|
-
// gateway release workflow at <base>/gateway/<channel>.json.
|
|
3
|
-
import { gatewayUpdates } from "../product.js";
|
|
4
|
-
import { currentPlatformKey } from "./platform.js";
|
|
5
|
-
export function manifestUrl(base, channel) {
|
|
6
|
-
return `${base.replace(/\/+$/, "")}/gateway/${channel}.json`;
|
|
7
|
-
}
|
|
8
|
-
// Strict parse: the manifest is remote input, so validate every field we
|
|
9
|
-
// rely on rather than trusting its shape.
|
|
10
|
-
export function parseManifest(value) {
|
|
11
|
-
if (!isRecord(value)) {
|
|
12
|
-
throw new Error("Gateway manifest is not a JSON object.");
|
|
13
|
-
}
|
|
14
|
-
const channel = str(value.channel, "channel");
|
|
15
|
-
const version = str(value.version, "version");
|
|
16
|
-
const commit = str(value.commit, "commit");
|
|
17
|
-
const publishedAt = str(value.publishedAt, "publishedAt");
|
|
18
|
-
if (!isRecord(value.artifacts)) {
|
|
19
|
-
throw new Error("Gateway manifest is missing 'artifacts'.");
|
|
20
|
-
}
|
|
21
|
-
const artifacts = {};
|
|
22
|
-
for (const platform of ["linux-x64"]) {
|
|
23
|
-
const entry = value.artifacts[platform];
|
|
24
|
-
if (entry === undefined)
|
|
25
|
-
continue;
|
|
26
|
-
if (!isRecord(entry)) {
|
|
27
|
-
throw new Error(`Gateway manifest artifact ${platform} is invalid.`);
|
|
28
|
-
}
|
|
29
|
-
const size = entry.size;
|
|
30
|
-
if (typeof size !== "number" || !Number.isInteger(size) || size <= 0) {
|
|
31
|
-
throw new Error(`Gateway manifest artifact ${platform} has an invalid size.`);
|
|
32
|
-
}
|
|
33
|
-
artifacts[platform] = {
|
|
34
|
-
url: str(entry.url, `artifacts.${platform}.url`),
|
|
35
|
-
sha256: str(entry.sha256, `artifacts.${platform}.sha256`),
|
|
36
|
-
size,
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
return { channel, version, commit, publishedAt, artifacts };
|
|
40
|
-
}
|
|
41
|
-
// Fetches the channel manifest and resolves the artifact for this host.
|
|
42
|
-
export async function resolveLatestRelease(deps = {}) {
|
|
43
|
-
const fetchImpl = deps.fetchImpl ?? fetch;
|
|
44
|
-
const platform = deps.platform ?? currentPlatformKey();
|
|
45
|
-
const { baseUrl, channel } = gatewayUpdates(deps.env);
|
|
46
|
-
const url = manifestUrl(baseUrl, channel);
|
|
47
|
-
const response = await fetchImpl(url);
|
|
48
|
-
if (!response.ok) {
|
|
49
|
-
throw new Error(`Could not fetch gateway manifest (${url}): HTTP ${response.status}.`);
|
|
50
|
-
}
|
|
51
|
-
const manifest = parseManifest(await response.json().catch(() => null));
|
|
52
|
-
const artifact = manifest.artifacts[platform];
|
|
53
|
-
if (!artifact) {
|
|
54
|
-
throw new Error(`Gateway release ${manifest.version} has no ${platform} build.`);
|
|
55
|
-
}
|
|
56
|
-
// The manifest is remote input and the artifact it points at is later
|
|
57
|
-
// executed. size/sha256 come from the same manifest, so that check is
|
|
58
|
-
// self-referential — pin the download to the trusted release base so a
|
|
59
|
-
// tampered manifest cannot redirect it off-origin.
|
|
60
|
-
assertTrustedArtifactUrl(artifact.url, baseUrl);
|
|
61
|
-
return { version: manifest.version, platform, artifact };
|
|
62
|
-
}
|
|
63
|
-
// Throws unless `artifactUrl` lives under `baseUrl`: same origin, same
|
|
64
|
-
// scheme, and within the base path. URL parsing normalizes `..`/`.`
|
|
65
|
-
// segments, so a path-traversal pathname fails the prefix check.
|
|
66
|
-
export function assertTrustedArtifactUrl(artifactUrl, baseUrl) {
|
|
67
|
-
let artifact;
|
|
68
|
-
try {
|
|
69
|
-
artifact = new URL(artifactUrl);
|
|
70
|
-
}
|
|
71
|
-
catch {
|
|
72
|
-
throw new Error(`Gateway manifest artifact URL is not a valid URL: ${artifactUrl}.`);
|
|
73
|
-
}
|
|
74
|
-
// baseUrl is already validated by gatewayUpdates(); http is only its
|
|
75
|
-
// scheme for a local dev override.
|
|
76
|
-
const base = new URL(baseUrl);
|
|
77
|
-
if (base.protocol === "https:" && artifact.protocol !== "https:") {
|
|
78
|
-
throw new Error(`Gateway manifest artifact URL must use https: ${artifactUrl}.`);
|
|
79
|
-
}
|
|
80
|
-
const basePath = base.pathname.replace(/\/+$/, "");
|
|
81
|
-
const withinBase = artifact.origin === base.origin &&
|
|
82
|
-
(artifact.pathname === basePath ||
|
|
83
|
-
artifact.pathname.startsWith(`${basePath}/`));
|
|
84
|
-
if (!withinBase) {
|
|
85
|
-
throw new Error(`Gateway manifest artifact URL ${artifactUrl} is not under the ` +
|
|
86
|
-
`trusted release base ${baseUrl}.`);
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
function isRecord(value) {
|
|
90
|
-
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
91
|
-
}
|
|
92
|
-
function str(value, field) {
|
|
93
|
-
if (typeof value !== "string" || !value) {
|
|
94
|
-
throw new Error(`Gateway manifest field '${field}' is missing.`);
|
|
95
|
-
}
|
|
96
|
-
return value;
|
|
97
|
-
}
|
|
98
|
-
//# sourceMappingURL=manifest.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/gateway/manifest.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
export type GatewayPlatform = "linux-x64";
|
|
2
|
-
export declare function currentPlatformKey(platform?: NodeJS.Platform, arch?: string): GatewayPlatform;
|
|
3
|
-
export declare function archiveExtension(_platform: GatewayPlatform): "tar.gz";
|
|
4
|
-
export declare function archivedBinaryCandidates(platform: GatewayPlatform): string[];
|
|
5
|
-
export declare function installedBinaryName(_platform: GatewayPlatform): string;
|
package/dist/gateway/platform.js
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
// Maps the host to a published gateway artifact. Linux-only for now: the
|
|
2
|
-
// release workflow builds just linux-x64. macOS/Windows are planned; until
|
|
3
|
-
// then non-Linux hosts fail clearly rather than silently mis-resolving.
|
|
4
|
-
import os from "node:os";
|
|
5
|
-
export function currentPlatformKey(platform = os.platform(), arch = os.arch()) {
|
|
6
|
-
if (platform === "linux" && arch === "x64")
|
|
7
|
-
return "linux-x64";
|
|
8
|
-
throw new Error(`No Sleeve gateway binary is available for ${platform}-${arch}. ` +
|
|
9
|
-
"Only linux-x64 is supported right now (macOS/Windows planned).");
|
|
10
|
-
}
|
|
11
|
-
// Archive container the workflow publishes (tar.gz on Linux).
|
|
12
|
-
export function archiveExtension(_platform) {
|
|
13
|
-
return "tar.gz";
|
|
14
|
-
}
|
|
15
|
-
// Candidate names of the executable *inside* the archive, in priority order.
|
|
16
|
-
// Releases publish `sleeve-gateway-linux-x64` going forward; older published
|
|
17
|
-
// releases still contain `sleeve-proxy-linux-x64` (the channel manifest only
|
|
18
|
-
// ever points at the latest, but we stay tolerant across the rename so
|
|
19
|
-
// acquisition keeps working during the transition).
|
|
20
|
-
export function archivedBinaryCandidates(platform) {
|
|
21
|
-
return [`sleeve-gateway-${platform}`, `sleeve-proxy-${platform}`];
|
|
22
|
-
}
|
|
23
|
-
// Installed executable filename (platform-stable; version lives in the path).
|
|
24
|
-
export function installedBinaryName(_platform) {
|
|
25
|
-
return "sleeve-gateway";
|
|
26
|
-
}
|
|
27
|
-
//# sourceMappingURL=platform.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../../src/gateway/platform.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,2EAA2E;AAC3E,wEAAwE;AACxE,OAAO,EAAE,MAAM,SAAS,CAAC;AAIzB,MAAM,UAAU,kBAAkB,CAC9B,WAA4B,EAAE,CAAC,QAAQ,EAAE,EACzC,OAAe,EAAE,CAAC,IAAI,EAAE;IAExB,IAAI,QAAQ,KAAK,OAAO,IAAI,IAAI,KAAK,KAAK;QAAE,OAAO,WAAW,CAAC;IAC/D,MAAM,IAAI,KAAK,CACX,6CAA6C,QAAQ,IAAI,IAAI,IAAI;QAC7D,gEAAgE,CACvE,CAAC;AACN,CAAC;AAED,8DAA8D;AAC9D,MAAM,UAAU,gBAAgB,CAAC,SAA0B;IACvD,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED,6EAA6E;AAC7E,6EAA6E;AAC7E,6EAA6E;AAC7E,uEAAuE;AACvE,oDAAoD;AACpD,MAAM,UAAU,wBAAwB,CAAC,QAAyB;IAC9D,OAAO,CAAC,kBAAkB,QAAQ,EAAE,EAAE,gBAAgB,QAAQ,EAAE,CAAC,CAAC;AACtE,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,mBAAmB,CAAC,SAA0B;IAC1D,OAAO,gBAAgB,CAAC;AAC5B,CAAC"}
|
package/dist/harness/claude.d.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { HarnessAuth } from "./types.js";
|
|
2
|
-
export type ClaudePatchResult = {
|
|
3
|
-
path: string;
|
|
4
|
-
};
|
|
5
|
-
export declare function setupClaude(auth: HarnessAuth, path?: string): Promise<ClaudePatchResult>;
|
|
6
|
-
export declare function patchClaude(auth: HarnessAuth, path?: string): Promise<ClaudePatchResult>;
|
|
7
|
-
export declare function unpatchClaude(path?: string): Promise<void>;
|
|
8
|
-
export declare function claudePath(env?: NodeJS.ProcessEnv): string;
|
package/dist/harness/claude.js
DELETED
|
@@ -1,151 +0,0 @@
|
|
|
1
|
-
// Claude Code setup owns global settings patching for the Anthropic-compatible proxy.
|
|
2
|
-
import { chmod, mkdir, readFile, writeFile } from "node:fs/promises";
|
|
3
|
-
import { homedir } from "node:os";
|
|
4
|
-
import { dirname, join } from "node:path";
|
|
5
|
-
const BASE = "ANTHROPIC_BASE_URL";
|
|
6
|
-
const CUSTOM = "ANTHROPIC_CUSTOM_HEADERS";
|
|
7
|
-
const HARNESS = "claude code";
|
|
8
|
-
const OLD_HARNESS = "claude-code";
|
|
9
|
-
export async function setupClaude(auth, path = claudePath()) {
|
|
10
|
-
return patchClaude(auth, path);
|
|
11
|
-
}
|
|
12
|
-
export async function patchClaude(auth, path = claudePath()) {
|
|
13
|
-
const existing = await readJson(path);
|
|
14
|
-
const config = patchConfig(existing, auth);
|
|
15
|
-
await writeJson(path, config);
|
|
16
|
-
return { path };
|
|
17
|
-
}
|
|
18
|
-
export async function unpatchClaude(path = claudePath()) {
|
|
19
|
-
const existing = await readExistingJson(path);
|
|
20
|
-
if (!existing)
|
|
21
|
-
return;
|
|
22
|
-
const env = object(existing.env);
|
|
23
|
-
if (typeof env.ANTHROPIC_CUSTOM_HEADERS !== "string")
|
|
24
|
-
return;
|
|
25
|
-
if (!patched(env))
|
|
26
|
-
return;
|
|
27
|
-
await writeJson(path, removeBackup({ ...existing, env: restoreEnv(env, backup(existing)) }));
|
|
28
|
-
}
|
|
29
|
-
export function claudePath(env = process.env) {
|
|
30
|
-
return join(env.CLAUDE_CONFIG_DIR || join(homedir(), ".claude"), "settings.json");
|
|
31
|
-
}
|
|
32
|
-
function patchConfig(input, auth) {
|
|
33
|
-
const env = object(input.env);
|
|
34
|
-
const previous = backup(input) ?? backupEnv(env);
|
|
35
|
-
return {
|
|
36
|
-
...withBackup(input, previous),
|
|
37
|
-
env: {
|
|
38
|
-
...env,
|
|
39
|
-
[BASE]: trim(auth.proxyUrl),
|
|
40
|
-
[CUSTOM]: headers(auth),
|
|
41
|
-
},
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
function headers(auth) {
|
|
45
|
-
return [
|
|
46
|
-
`sleeve-token: ${auth.token}`,
|
|
47
|
-
"sleeve-provider: anthropic",
|
|
48
|
-
`sleeve-harness: ${HARNESS}`,
|
|
49
|
-
].join("\n");
|
|
50
|
-
}
|
|
51
|
-
function backup(input) {
|
|
52
|
-
const sleev = object(input.sleev);
|
|
53
|
-
const claude = object(sleev.claudeCode);
|
|
54
|
-
if (!("previousEnv" in claude))
|
|
55
|
-
return null;
|
|
56
|
-
return object(claude.previousEnv);
|
|
57
|
-
}
|
|
58
|
-
function backupEnv(env) {
|
|
59
|
-
if (patched(env))
|
|
60
|
-
return {};
|
|
61
|
-
const previous = {};
|
|
62
|
-
if (BASE in env)
|
|
63
|
-
previous[BASE] = env[BASE];
|
|
64
|
-
if (CUSTOM in env)
|
|
65
|
-
previous[CUSTOM] = env[CUSTOM];
|
|
66
|
-
return previous;
|
|
67
|
-
}
|
|
68
|
-
function withBackup(input, previous) {
|
|
69
|
-
const sleev = object(input.sleev);
|
|
70
|
-
return {
|
|
71
|
-
...input,
|
|
72
|
-
sleev: {
|
|
73
|
-
...sleev,
|
|
74
|
-
claudeCode: {
|
|
75
|
-
previousEnv: previous,
|
|
76
|
-
},
|
|
77
|
-
},
|
|
78
|
-
};
|
|
79
|
-
}
|
|
80
|
-
function removeBackup(input) {
|
|
81
|
-
const sleev = object(input.sleev);
|
|
82
|
-
const { claudeCode: _claude, ...rest } = sleev;
|
|
83
|
-
if (Object.keys(rest).length > 0)
|
|
84
|
-
return { ...input, sleev: rest };
|
|
85
|
-
const { sleev: _sleev, ...config } = input;
|
|
86
|
-
return config;
|
|
87
|
-
}
|
|
88
|
-
function restoreEnv(env, previous) {
|
|
89
|
-
const { [BASE]: _base, [CUSTOM]: _headers, ...rest } = env;
|
|
90
|
-
const restored = { ...rest };
|
|
91
|
-
if (!previous)
|
|
92
|
-
return restored;
|
|
93
|
-
if (BASE in previous)
|
|
94
|
-
restored[BASE] = previous[BASE];
|
|
95
|
-
if (CUSTOM in previous)
|
|
96
|
-
restored[CUSTOM] = previous[CUSTOM];
|
|
97
|
-
return restored;
|
|
98
|
-
}
|
|
99
|
-
function patched(env) {
|
|
100
|
-
const value = env[CUSTOM];
|
|
101
|
-
if (typeof value !== "string")
|
|
102
|
-
return false;
|
|
103
|
-
return (value.includes(`sleeve-harness: ${HARNESS}`) ||
|
|
104
|
-
value.includes(`sleeve-harness: ${OLD_HARNESS}`));
|
|
105
|
-
}
|
|
106
|
-
async function writeJson(path, config) {
|
|
107
|
-
await mkdir(dirname(path), { recursive: true, mode: 0o700 });
|
|
108
|
-
await writeFile(path, `${JSON.stringify(config, null, 2)}\n`, {
|
|
109
|
-
mode: 0o600,
|
|
110
|
-
});
|
|
111
|
-
await chmod(path, 0o600);
|
|
112
|
-
}
|
|
113
|
-
async function readJson(path) {
|
|
114
|
-
try {
|
|
115
|
-
const raw = await readFile(path, "utf8");
|
|
116
|
-
const parsed = JSON.parse(raw);
|
|
117
|
-
return object(parsed);
|
|
118
|
-
}
|
|
119
|
-
catch (err) {
|
|
120
|
-
if (code(err) === "ENOENT")
|
|
121
|
-
return {};
|
|
122
|
-
throw err;
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
async function readExistingJson(path) {
|
|
126
|
-
try {
|
|
127
|
-
const raw = await readFile(path, "utf8");
|
|
128
|
-
const parsed = JSON.parse(raw);
|
|
129
|
-
return object(parsed);
|
|
130
|
-
}
|
|
131
|
-
catch (err) {
|
|
132
|
-
if (code(err) === "ENOENT")
|
|
133
|
-
return null;
|
|
134
|
-
throw err;
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
function object(value) {
|
|
138
|
-
if (typeof value !== "object" || value === null || Array.isArray(value))
|
|
139
|
-
return {};
|
|
140
|
-
return value;
|
|
141
|
-
}
|
|
142
|
-
function trim(url) {
|
|
143
|
-
return url.replace(/\/+$/, "");
|
|
144
|
-
}
|
|
145
|
-
function code(err) {
|
|
146
|
-
if (typeof err !== "object" || err === null || !("code" in err))
|
|
147
|
-
return undefined;
|
|
148
|
-
const value = err.code;
|
|
149
|
-
return typeof value === "string" ? value : undefined;
|
|
150
|
-
}
|
|
151
|
-
//# sourceMappingURL=claude.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"claude.js","sourceRoot":"","sources":["../../src/harness/claude.ts"],"names":[],"mappings":"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"}
|
package/dist/harness/codex.d.ts
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import type { HarnessAuth } from "./types.js";
|
|
2
|
-
export type CodexPatchResult = {
|
|
3
|
-
path: string;
|
|
4
|
-
};
|
|
5
|
-
export declare function setupCodex(auth: HarnessAuth, path?: string): Promise<CodexPatchResult>;
|
|
6
|
-
export declare function patchCodex(auth: HarnessAuth, path?: string): Promise<CodexPatchResult>;
|
|
7
|
-
export declare function unpatchCodex(path?: string): Promise<void>;
|
|
8
|
-
export declare function codexPath(env?: NodeJS.ProcessEnv): string;
|
|
9
|
-
export declare function patchCodexConfig(input: string, auth: HarnessAuth): string;
|
|
10
|
-
export declare function unpatchCodexConfig(input: string): string;
|
package/dist/harness/codex.js
DELETED
|
@@ -1,213 +0,0 @@
|
|
|
1
|
-
// Codex setup owns global TOML patching for the OpenAI-compatible proxy provider.
|
|
2
|
-
import { chmod, mkdir, readFile, writeFile } from "node:fs/promises";
|
|
3
|
-
import { homedir } from "node:os";
|
|
4
|
-
import { dirname, join } from "node:path";
|
|
5
|
-
const PROVIDER = "sleev";
|
|
6
|
-
const HARNESS = "codex cli";
|
|
7
|
-
const OLD_HARNESS = "codex";
|
|
8
|
-
export async function setupCodex(auth, path = codexPath()) {
|
|
9
|
-
return patchCodex(auth, path);
|
|
10
|
-
}
|
|
11
|
-
export async function patchCodex(auth, path = codexPath()) {
|
|
12
|
-
const existing = await readText(path);
|
|
13
|
-
const config = patchCodexConfig(existing, auth);
|
|
14
|
-
await writeText(path, config);
|
|
15
|
-
return { path };
|
|
16
|
-
}
|
|
17
|
-
export async function unpatchCodex(path = codexPath()) {
|
|
18
|
-
const existing = await readText(path);
|
|
19
|
-
if (!existing)
|
|
20
|
-
return;
|
|
21
|
-
const config = unpatchCodexConfig(existing);
|
|
22
|
-
await writeText(path, config);
|
|
23
|
-
}
|
|
24
|
-
export function codexPath(env = process.env) {
|
|
25
|
-
return join(env.CODEX_HOME || join(homedir(), ".codex"), "config.toml");
|
|
26
|
-
}
|
|
27
|
-
export function patchCodexConfig(input, auth) {
|
|
28
|
-
const previous = previousProvider(input);
|
|
29
|
-
const stale = removeTable(removeTable(input.trimEnd(), table(PROVIDER)), "sleev.codex");
|
|
30
|
-
const clean = removeRootKey(stale, "model_provider");
|
|
31
|
-
const root = insertRootKey(clean.trimEnd(), "model_provider", PROVIDER);
|
|
32
|
-
const meta = previous
|
|
33
|
-
? `\n\n[sleev.codex]\nprevious_model_provider = "${toml(previous)}"`
|
|
34
|
-
: "";
|
|
35
|
-
return `${patchProvider(root, auth).trimEnd()}${meta}\n`;
|
|
36
|
-
}
|
|
37
|
-
export function unpatchCodexConfig(input) {
|
|
38
|
-
const previous = backup(input);
|
|
39
|
-
const provider = rootString(input, "model_provider") ?? "openai";
|
|
40
|
-
const clean = removeTable(removeTable(removeRootKey(input.trimEnd(), "model_provider"), table(PROVIDER)), "sleev.codex");
|
|
41
|
-
const restored = previous
|
|
42
|
-
? insertRootKey(clean.trimEnd(), "model_provider", previous)
|
|
43
|
-
: clean;
|
|
44
|
-
const config = provider === PROVIDER ? restored : removeSleevKeys(input, provider);
|
|
45
|
-
return `${config.trimEnd()}\n`;
|
|
46
|
-
}
|
|
47
|
-
function insertRootKey(input, key, value) {
|
|
48
|
-
const line = `${key} = "${toml(value)}"`;
|
|
49
|
-
if (input.length === 0)
|
|
50
|
-
return line;
|
|
51
|
-
const lines = input.split("\n");
|
|
52
|
-
const index = lines.findIndex((item) => /^\s*\[/.test(item));
|
|
53
|
-
if (index === -1)
|
|
54
|
-
return `${input}\n${line}`;
|
|
55
|
-
return [...lines.slice(0, index), line, "", ...lines.slice(index)].join("\n");
|
|
56
|
-
}
|
|
57
|
-
function removeRootKey(input, key) {
|
|
58
|
-
const lines = input.split("\n");
|
|
59
|
-
const next = [];
|
|
60
|
-
let root = true;
|
|
61
|
-
let skipped = false;
|
|
62
|
-
for (const line of lines) {
|
|
63
|
-
if (/^\s*\[/.test(line))
|
|
64
|
-
root = false;
|
|
65
|
-
if (root && new RegExp(`^\\s*${escape(key)}\\s*=`).test(line)) {
|
|
66
|
-
skipped = true;
|
|
67
|
-
continue;
|
|
68
|
-
}
|
|
69
|
-
if (skipped && root && /^\s*$/.test(line)) {
|
|
70
|
-
skipped = false;
|
|
71
|
-
continue;
|
|
72
|
-
}
|
|
73
|
-
skipped = false;
|
|
74
|
-
next.push(line);
|
|
75
|
-
}
|
|
76
|
-
return next.join("\n");
|
|
77
|
-
}
|
|
78
|
-
function removeTable(input, name) {
|
|
79
|
-
const lines = input.split("\n");
|
|
80
|
-
const next = [];
|
|
81
|
-
let skip = false;
|
|
82
|
-
const header = new RegExp(`^\\s*\\[\\s*${escape(name)}(?:\\.|\\s*\\])`);
|
|
83
|
-
for (const line of lines) {
|
|
84
|
-
if (header.test(line)) {
|
|
85
|
-
skip = true;
|
|
86
|
-
continue;
|
|
87
|
-
}
|
|
88
|
-
if (skip && /^\s*\[/.test(line))
|
|
89
|
-
skip = header.test(line);
|
|
90
|
-
if (!skip)
|
|
91
|
-
next.push(line);
|
|
92
|
-
}
|
|
93
|
-
return next.join("\n");
|
|
94
|
-
}
|
|
95
|
-
function patchProvider(input, auth) {
|
|
96
|
-
return `${input.trimEnd()}\n\n[${table(PROVIDER)}]\nname = "Sleev"\n${providerKeys(auth).join("\n")}`;
|
|
97
|
-
}
|
|
98
|
-
function providerKeys(auth) {
|
|
99
|
-
return [
|
|
100
|
-
`base_url = "${toml(baseUrl(auth.proxyUrl))}"`,
|
|
101
|
-
'wire_api = "responses"',
|
|
102
|
-
"",
|
|
103
|
-
`[${table(PROVIDER)}.http_headers]`,
|
|
104
|
-
`"sleeve-token" = "${toml(auth.token)}"`,
|
|
105
|
-
'"sleeve-provider" = "openai"',
|
|
106
|
-
`"sleeve-harness" = "${HARNESS}"`,
|
|
107
|
-
];
|
|
108
|
-
}
|
|
109
|
-
function removeSleevKeys(input, provider) {
|
|
110
|
-
const lines = input.split("\n");
|
|
111
|
-
const header = new RegExp(`^\\s*\\[\\s*${escape(table(provider))}\\s*\\]\\s*(#.*)?$`);
|
|
112
|
-
const index = lines.findIndex((line) => header.test(line));
|
|
113
|
-
if (index === -1)
|
|
114
|
-
return input;
|
|
115
|
-
const current = [];
|
|
116
|
-
for (let i = index + 1; i < lines.length; i += 1) {
|
|
117
|
-
const line = lines[i] ?? "";
|
|
118
|
-
if (/^\s*\[/.test(line))
|
|
119
|
-
break;
|
|
120
|
-
current.push(line);
|
|
121
|
-
}
|
|
122
|
-
if (!current.some((line) => owned(line)))
|
|
123
|
-
return input;
|
|
124
|
-
return lines
|
|
125
|
-
.filter((line, i) => {
|
|
126
|
-
const inside = i > index && !/^\s*\[/.test(line);
|
|
127
|
-
if (!inside)
|
|
128
|
-
return true;
|
|
129
|
-
return !/^\s*(base_url|wire_api|http_headers)\s*=/.test(line);
|
|
130
|
-
})
|
|
131
|
-
.join("\n");
|
|
132
|
-
}
|
|
133
|
-
function previousProvider(input) {
|
|
134
|
-
const current = rootString(input, "model_provider");
|
|
135
|
-
return backup(input) ?? (current && current !== PROVIDER ? current : null);
|
|
136
|
-
}
|
|
137
|
-
function backup(input) {
|
|
138
|
-
return tableString(input, "sleev.codex", "previous_model_provider");
|
|
139
|
-
}
|
|
140
|
-
function tableString(input, name, key) {
|
|
141
|
-
const lines = input.split("\n");
|
|
142
|
-
const header = new RegExp(`^\\s*\\[\\s*${escape(name)}\\s*\\]\\s*(#.*)?$`);
|
|
143
|
-
const index = lines.findIndex((line) => header.test(line));
|
|
144
|
-
if (index === -1)
|
|
145
|
-
return null;
|
|
146
|
-
for (let i = index + 1; i < lines.length; i += 1) {
|
|
147
|
-
const line = lines[i] ?? "";
|
|
148
|
-
if (/^\s*\[/.test(line))
|
|
149
|
-
return null;
|
|
150
|
-
const match = new RegExp(`^\\s*${escape(key)}\\s*=\\s*(["'])([^"']+)\\1`).exec(line);
|
|
151
|
-
if (match?.[2])
|
|
152
|
-
return match[2];
|
|
153
|
-
}
|
|
154
|
-
return null;
|
|
155
|
-
}
|
|
156
|
-
function rootString(input, key) {
|
|
157
|
-
const lines = input.split("\n");
|
|
158
|
-
for (const line of lines) {
|
|
159
|
-
if (/^\s*\[/.test(line))
|
|
160
|
-
return null;
|
|
161
|
-
const match = new RegExp(`^\\s*${escape(key)}\\s*=\\s*(["'])([^"']+)\\1`).exec(line);
|
|
162
|
-
if (match?.[2])
|
|
163
|
-
return match[2];
|
|
164
|
-
}
|
|
165
|
-
return null;
|
|
166
|
-
}
|
|
167
|
-
async function readText(path) {
|
|
168
|
-
try {
|
|
169
|
-
return await readFile(path, "utf8");
|
|
170
|
-
}
|
|
171
|
-
catch (err) {
|
|
172
|
-
if (code(err) === "ENOENT")
|
|
173
|
-
return "";
|
|
174
|
-
throw err;
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
function toml(value) {
|
|
178
|
-
return value
|
|
179
|
-
.replace(/\\/g, "\\\\")
|
|
180
|
-
.replace(/"/g, '\\"')
|
|
181
|
-
.replace(/\n/g, "\\n");
|
|
182
|
-
}
|
|
183
|
-
function escape(value) {
|
|
184
|
-
return value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
185
|
-
}
|
|
186
|
-
function trim(url) {
|
|
187
|
-
return url.replace(/\/+$/, "");
|
|
188
|
-
}
|
|
189
|
-
function baseUrl(url) {
|
|
190
|
-
const clean = trim(url);
|
|
191
|
-
if (clean.endsWith("/v1"))
|
|
192
|
-
return clean;
|
|
193
|
-
return `${clean}/v1`;
|
|
194
|
-
}
|
|
195
|
-
function table(provider) {
|
|
196
|
-
return `model_providers.${provider}`;
|
|
197
|
-
}
|
|
198
|
-
function owned(line) {
|
|
199
|
-
return (line.includes(`"sleeve-harness" = "${HARNESS}"`) ||
|
|
200
|
-
line.includes(`"sleeve-harness" = "${OLD_HARNESS}"`));
|
|
201
|
-
}
|
|
202
|
-
async function writeText(path, config) {
|
|
203
|
-
await mkdir(dirname(path), { recursive: true, mode: 0o700 });
|
|
204
|
-
await writeFile(path, config, { mode: 0o600 });
|
|
205
|
-
await chmod(path, 0o600);
|
|
206
|
-
}
|
|
207
|
-
function code(err) {
|
|
208
|
-
if (typeof err !== "object" || err === null || !("code" in err))
|
|
209
|
-
return undefined;
|
|
210
|
-
const value = err.code;
|
|
211
|
-
return typeof value === "string" ? value : undefined;
|
|
212
|
-
}
|
|
213
|
-
//# sourceMappingURL=codex.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"codex.js","sourceRoot":"","sources":["../../src/harness/codex.ts"],"names":[],"mappings":"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"}
|
package/dist/harness/index.d.ts
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import type { Harness, HarnessAuth, HarnessId } from "./types.js";
|
|
2
|
-
export type { HarnessAuth, HarnessId } from "./types.js";
|
|
3
|
-
export type HarnessSetupResult = {
|
|
4
|
-
ids: HarnessId[];
|
|
5
|
-
label: string;
|
|
6
|
-
};
|
|
7
|
-
export type HarnessCleanupResult = {
|
|
8
|
-
failures: string[];
|
|
9
|
-
};
|
|
10
|
-
export declare const HARNESSES: readonly Harness[];
|
|
11
|
-
export declare function setupHarnesses(auth: HarnessAuth, ids: readonly HarnessId[]): Promise<HarnessSetupResult>;
|
|
12
|
-
export declare function unpatchHarnesses(): Promise<HarnessCleanupResult>;
|
|
13
|
-
export declare function harnessLabels(ids: readonly HarnessId[]): string;
|