sleev 0.0.12 → 0.0.13
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 +19 -39
- package/dist/auth/browser.d.ts +12 -0
- package/dist/auth/browser.js +33 -24
- package/dist/auth/browser.js.map +1 -0
- package/dist/auth/firebase-tokens.d.ts +39 -0
- package/dist/auth/firebase-tokens.js +173 -0
- package/dist/auth/firebase-tokens.js.map +1 -0
- package/dist/auth/firebase.d.ts +17 -0
- package/dist/auth/firebase.js +55 -0
- package/dist/auth/firebase.js.map +1 -0
- package/dist/auth/login.d.ts +22 -0
- package/dist/auth/login.js +31 -28
- package/dist/auth/login.js.map +1 -0
- package/dist/auth/loopback.d.ts +19 -0
- package/dist/auth/loopback.js +114 -44
- package/dist/auth/loopback.js.map +1 -0
- package/dist/auth/schema.d.ts +26 -0
- package/dist/auth/schema.js +59 -17
- package/dist/auth/schema.js.map +1 -0
- package/dist/auth/token.d.ts +19 -0
- package/dist/auth/token.js +53 -0
- package/dist/auth/token.js.map +1 -0
- package/dist/auth/verify.d.ts +6 -0
- package/dist/auth/verify.js +22 -0
- package/dist/auth/verify.js.map +1 -0
- package/dist/cli.d.ts +8 -0
- package/dist/cli.js +245 -59
- package/dist/cli.js.map +1 -0
- package/dist/config/paths.d.ts +12 -0
- package/dist/config/paths.js +34 -0
- package/dist/config/paths.js.map +1 -0
- package/dist/config/store.d.ts +63 -0
- package/dist/config/store.js +270 -0
- package/dist/config/store.js.map +1 -0
- package/dist/control/local-installations.d.ts +13 -0
- package/dist/control/local-installations.js +37 -0
- package/dist/control/local-installations.js.map +1 -0
- package/dist/daemon/config.d.ts +10 -0
- package/dist/daemon/config.js +52 -0
- package/dist/daemon/config.js.map +1 -0
- package/dist/daemon/controller.d.ts +29 -0
- package/dist/daemon/controller.js +34 -0
- package/dist/daemon/controller.js.map +1 -0
- package/dist/daemon/health.d.ts +8 -0
- package/dist/daemon/health.js +47 -0
- package/dist/daemon/health.js.map +1 -0
- package/dist/daemon/start.d.ts +5 -0
- package/dist/daemon/start.js +24 -0
- package/dist/daemon/start.js.map +1 -0
- package/dist/daemon/systemd.d.ts +35 -0
- package/dist/daemon/systemd.js +181 -0
- package/dist/daemon/systemd.js.map +1 -0
- package/dist/gateway/acquire.d.ts +14 -0
- package/dist/gateway/acquire.js +112 -0
- package/dist/gateway/acquire.js.map +1 -0
- package/dist/gateway/manifest.d.ts +26 -0
- package/dist/gateway/manifest.js +98 -0
- package/dist/gateway/manifest.js.map +1 -0
- package/dist/gateway/platform.d.ts +5 -0
- package/dist/gateway/platform.js +27 -0
- package/dist/gateway/platform.js.map +1 -0
- package/dist/harness/claude.d.ts +8 -0
- package/dist/{apps → harness}/claude.js +28 -28
- package/dist/harness/claude.js.map +1 -0
- package/dist/harness/codex.d.ts +10 -0
- package/dist/{apps → harness}/codex.js +50 -45
- package/dist/harness/codex.js.map +1 -0
- package/dist/harness/index.d.ts +13 -0
- package/dist/harness/index.js +63 -0
- package/dist/harness/index.js.map +1 -0
- package/dist/harness/opencode-config.d.ts +8 -0
- package/dist/{apps → harness}/opencode-config.js +116 -83
- package/dist/harness/opencode-config.js.map +1 -0
- package/dist/harness/opencode.d.ts +14 -0
- package/dist/harness/opencode.js +50 -0
- package/dist/harness/opencode.js.map +1 -0
- package/dist/harness/providers.d.ts +8 -0
- package/dist/harness/providers.js +30 -0
- package/dist/harness/providers.js.map +1 -0
- package/dist/harness/types.d.ts +14 -0
- package/dist/harness/types.js +2 -0
- package/dist/harness/types.js.map +1 -0
- package/dist/product.d.ts +12 -0
- package/dist/product.js +53 -10
- package/dist/product.js.map +1 -0
- package/dist/tui/clipboard.d.ts +1 -0
- package/dist/tui/clipboard.js +48 -0
- package/dist/tui/clipboard.js.map +1 -0
- package/dist/tui/openTuiApp.d.ts +1 -0
- package/dist/tui/openTuiApp.js +1436 -0
- package/dist/tui/openTuiApp.js.map +1 -0
- package/dist/tui/pages/flow-screen.d.ts +50 -0
- package/dist/tui/pages/flow-screen.js +435 -0
- package/dist/tui/pages/flow-screen.js.map +1 -0
- package/dist/tui/pages/footer.d.ts +7 -0
- package/dist/tui/pages/footer.js +14 -0
- package/dist/tui/pages/footer.js.map +1 -0
- package/dist/tui/pages/home-screen.d.ts +19 -0
- package/dist/tui/pages/home-screen.js +89 -0
- package/dist/tui/pages/home-screen.js.map +1 -0
- package/dist/tui/pages/index.d.ts +17 -0
- package/dist/tui/pages/index.js +11 -0
- package/dist/tui/pages/index.js.map +1 -0
- package/dist/tui/pages/local-setup-screen.d.ts +23 -0
- package/dist/tui/pages/local-setup-screen.js +134 -0
- package/dist/tui/pages/local-setup-screen.js.map +1 -0
- package/dist/tui/pages/location-card.d.ts +19 -0
- package/dist/tui/pages/location-card.js +116 -0
- package/dist/tui/pages/location-card.js.map +1 -0
- package/dist/tui/pages/menu-screen.d.ts +24 -0
- package/dist/tui/pages/menu-screen.js +117 -0
- package/dist/tui/pages/menu-screen.js.map +1 -0
- package/dist/tui/pages/session-grid.d.ts +23 -0
- package/dist/tui/pages/session-grid.js +552 -0
- package/dist/tui/pages/session-grid.js.map +1 -0
- package/dist/tui/pages/setup-screen.d.ts +15 -0
- package/dist/tui/pages/setup-screen.js +80 -0
- package/dist/tui/pages/setup-screen.js.map +1 -0
- package/dist/tui/pages/terminal-log.d.ts +14 -0
- package/dist/tui/pages/terminal-log.js +104 -0
- package/dist/tui/pages/terminal-log.js.map +1 -0
- package/dist/tui/pages/welcome-screen.d.ts +16 -0
- package/dist/tui/pages/welcome-screen.js +80 -0
- package/dist/tui/pages/welcome-screen.js.map +1 -0
- package/dist/tui/saved-tokens.d.ts +10 -0
- package/dist/tui/saved-tokens.js +104 -0
- package/dist/tui/saved-tokens.js.map +1 -0
- package/dist/tui/theme.d.ts +25 -0
- package/dist/tui/theme.js +27 -0
- package/dist/tui/theme.js.map +1 -0
- package/package.json +55 -38
- package/dist/apps/opencode.js +0 -158
- package/dist/apps.js +0 -148
- package/dist/auth/command.js +0 -109
- package/dist/auth/index.js +0 -2
- package/dist/auth/validation.js +0 -27
- package/dist/credentials/index.js +0 -3
- package/dist/credentials/schema.js +0 -63
- package/dist/credentials/store.js +0 -52
- package/dist/harnesses.js +0 -66
- package/dist/index.js +0 -3
- package/dist/providers.js +0 -30
- package/dist/terminal.js +0 -55
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude.js","sourceRoot":"","sources":["../../src/harness/claude.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
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;
|
|
@@ -1,16 +1,12 @@
|
|
|
1
1
|
// Codex setup owns global TOML patching for the OpenAI-compatible proxy provider.
|
|
2
|
-
import { chmod, mkdir, readFile, writeFile } from
|
|
3
|
-
import { homedir } from
|
|
4
|
-
import { dirname, join } from
|
|
5
|
-
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
const OLD_HARNESS = 'codex';
|
|
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";
|
|
9
8
|
export async function setupCodex(auth, path = codexPath()) {
|
|
10
|
-
|
|
11
|
-
success(process.stdout, 'Configured Codex');
|
|
12
|
-
field(process.stdout, 'config', result.path);
|
|
13
|
-
return result;
|
|
9
|
+
return patchCodex(auth, path);
|
|
14
10
|
}
|
|
15
11
|
export async function patchCodex(auth, path = codexPath()) {
|
|
16
12
|
const existing = await readText(path);
|
|
@@ -26,21 +22,25 @@ export async function unpatchCodex(path = codexPath()) {
|
|
|
26
22
|
await writeText(path, config);
|
|
27
23
|
}
|
|
28
24
|
export function codexPath(env = process.env) {
|
|
29
|
-
return join(env.CODEX_HOME || join(homedir(),
|
|
25
|
+
return join(env.CODEX_HOME || join(homedir(), ".codex"), "config.toml");
|
|
30
26
|
}
|
|
31
27
|
export function patchCodexConfig(input, auth) {
|
|
32
28
|
const previous = previousProvider(input);
|
|
33
|
-
const stale = removeTable(removeTable(input.trimEnd(), table(PROVIDER)),
|
|
34
|
-
const clean = removeRootKey(stale,
|
|
35
|
-
const root = insertRootKey(clean.trimEnd(),
|
|
36
|
-
const meta = previous
|
|
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
|
+
: "";
|
|
37
35
|
return `${patchProvider(root, auth).trimEnd()}${meta}\n`;
|
|
38
36
|
}
|
|
39
37
|
export function unpatchCodexConfig(input) {
|
|
40
38
|
const previous = backup(input);
|
|
41
|
-
const provider = rootString(input,
|
|
42
|
-
const clean = removeTable(removeTable(removeRootKey(input.trimEnd(),
|
|
43
|
-
const restored = previous
|
|
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
44
|
const config = provider === PROVIDER ? restored : removeSleevKeys(input, provider);
|
|
45
45
|
return `${config.trimEnd()}\n`;
|
|
46
46
|
}
|
|
@@ -48,14 +48,14 @@ function insertRootKey(input, key, value) {
|
|
|
48
48
|
const line = `${key} = "${toml(value)}"`;
|
|
49
49
|
if (input.length === 0)
|
|
50
50
|
return line;
|
|
51
|
-
const lines = input.split(
|
|
51
|
+
const lines = input.split("\n");
|
|
52
52
|
const index = lines.findIndex((item) => /^\s*\[/.test(item));
|
|
53
53
|
if (index === -1)
|
|
54
54
|
return `${input}\n${line}`;
|
|
55
|
-
return [...lines.slice(0, index), line,
|
|
55
|
+
return [...lines.slice(0, index), line, "", ...lines.slice(index)].join("\n");
|
|
56
56
|
}
|
|
57
57
|
function removeRootKey(input, key) {
|
|
58
|
-
const lines = input.split(
|
|
58
|
+
const lines = input.split("\n");
|
|
59
59
|
const next = [];
|
|
60
60
|
let root = true;
|
|
61
61
|
let skipped = false;
|
|
@@ -73,10 +73,10 @@ function removeRootKey(input, key) {
|
|
|
73
73
|
skipped = false;
|
|
74
74
|
next.push(line);
|
|
75
75
|
}
|
|
76
|
-
return next.join(
|
|
76
|
+
return next.join("\n");
|
|
77
77
|
}
|
|
78
78
|
function removeTable(input, name) {
|
|
79
|
-
const lines = input.split(
|
|
79
|
+
const lines = input.split("\n");
|
|
80
80
|
const next = [];
|
|
81
81
|
let skip = false;
|
|
82
82
|
const header = new RegExp(`^\\s*\\[\\s*${escape(name)}(?:\\.|\\s*\\])`);
|
|
@@ -90,16 +90,16 @@ function removeTable(input, name) {
|
|
|
90
90
|
if (!skip)
|
|
91
91
|
next.push(line);
|
|
92
92
|
}
|
|
93
|
-
return next.join(
|
|
93
|
+
return next.join("\n");
|
|
94
94
|
}
|
|
95
95
|
function patchProvider(input, auth) {
|
|
96
|
-
return `${input.trimEnd()}\n\n[${table(PROVIDER)}]\nname = "Sleev"\n${providerKeys(auth).join(
|
|
96
|
+
return `${input.trimEnd()}\n\n[${table(PROVIDER)}]\nname = "Sleev"\n${providerKeys(auth).join("\n")}`;
|
|
97
97
|
}
|
|
98
98
|
function providerKeys(auth) {
|
|
99
99
|
return [
|
|
100
100
|
`base_url = "${toml(baseUrl(auth.proxyUrl))}"`,
|
|
101
101
|
'wire_api = "responses"',
|
|
102
|
-
|
|
102
|
+
"",
|
|
103
103
|
`[${table(PROVIDER)}.http_headers]`,
|
|
104
104
|
`"sleeve-token" = "${toml(auth.token)}"`,
|
|
105
105
|
'"sleeve-provider" = "openai"',
|
|
@@ -107,14 +107,14 @@ function providerKeys(auth) {
|
|
|
107
107
|
];
|
|
108
108
|
}
|
|
109
109
|
function removeSleevKeys(input, provider) {
|
|
110
|
-
const lines = input.split(
|
|
110
|
+
const lines = input.split("\n");
|
|
111
111
|
const header = new RegExp(`^\\s*\\[\\s*${escape(table(provider))}\\s*\\]\\s*(#.*)?$`);
|
|
112
112
|
const index = lines.findIndex((line) => header.test(line));
|
|
113
113
|
if (index === -1)
|
|
114
114
|
return input;
|
|
115
115
|
const current = [];
|
|
116
116
|
for (let i = index + 1; i < lines.length; i += 1) {
|
|
117
|
-
const line = lines[i] ??
|
|
117
|
+
const line = lines[i] ?? "";
|
|
118
118
|
if (/^\s*\[/.test(line))
|
|
119
119
|
break;
|
|
120
120
|
current.push(line);
|
|
@@ -128,23 +128,23 @@ function removeSleevKeys(input, provider) {
|
|
|
128
128
|
return true;
|
|
129
129
|
return !/^\s*(base_url|wire_api|http_headers)\s*=/.test(line);
|
|
130
130
|
})
|
|
131
|
-
.join(
|
|
131
|
+
.join("\n");
|
|
132
132
|
}
|
|
133
133
|
function previousProvider(input) {
|
|
134
|
-
const current = rootString(input,
|
|
134
|
+
const current = rootString(input, "model_provider");
|
|
135
135
|
return backup(input) ?? (current && current !== PROVIDER ? current : null);
|
|
136
136
|
}
|
|
137
137
|
function backup(input) {
|
|
138
|
-
return tableString(input,
|
|
138
|
+
return tableString(input, "sleev.codex", "previous_model_provider");
|
|
139
139
|
}
|
|
140
140
|
function tableString(input, name, key) {
|
|
141
|
-
const lines = input.split(
|
|
141
|
+
const lines = input.split("\n");
|
|
142
142
|
const header = new RegExp(`^\\s*\\[\\s*${escape(name)}\\s*\\]\\s*(#.*)?$`);
|
|
143
143
|
const index = lines.findIndex((line) => header.test(line));
|
|
144
144
|
if (index === -1)
|
|
145
145
|
return null;
|
|
146
146
|
for (let i = index + 1; i < lines.length; i += 1) {
|
|
147
|
-
const line = lines[i] ??
|
|
147
|
+
const line = lines[i] ?? "";
|
|
148
148
|
if (/^\s*\[/.test(line))
|
|
149
149
|
return null;
|
|
150
150
|
const match = new RegExp(`^\\s*${escape(key)}\\s*=\\s*(["'])([^"']+)\\1`).exec(line);
|
|
@@ -154,7 +154,7 @@ function tableString(input, name, key) {
|
|
|
154
154
|
return null;
|
|
155
155
|
}
|
|
156
156
|
function rootString(input, key) {
|
|
157
|
-
const lines = input.split(
|
|
157
|
+
const lines = input.split("\n");
|
|
158
158
|
for (const line of lines) {
|
|
159
159
|
if (/^\s*\[/.test(line))
|
|
160
160
|
return null;
|
|
@@ -166,26 +166,29 @@ function rootString(input, key) {
|
|
|
166
166
|
}
|
|
167
167
|
async function readText(path) {
|
|
168
168
|
try {
|
|
169
|
-
return await readFile(path,
|
|
169
|
+
return await readFile(path, "utf8");
|
|
170
170
|
}
|
|
171
171
|
catch (err) {
|
|
172
|
-
if (code(err) ===
|
|
173
|
-
return
|
|
172
|
+
if (code(err) === "ENOENT")
|
|
173
|
+
return "";
|
|
174
174
|
throw err;
|
|
175
175
|
}
|
|
176
176
|
}
|
|
177
177
|
function toml(value) {
|
|
178
|
-
return value
|
|
178
|
+
return value
|
|
179
|
+
.replace(/\\/g, "\\\\")
|
|
180
|
+
.replace(/"/g, '\\"')
|
|
181
|
+
.replace(/\n/g, "\\n");
|
|
179
182
|
}
|
|
180
183
|
function escape(value) {
|
|
181
|
-
return value.replace(/[.*+?^${}()|[\]\\]/g,
|
|
184
|
+
return value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
182
185
|
}
|
|
183
186
|
function trim(url) {
|
|
184
|
-
return url.replace(/\/+$/,
|
|
187
|
+
return url.replace(/\/+$/, "");
|
|
185
188
|
}
|
|
186
189
|
function baseUrl(url) {
|
|
187
190
|
const clean = trim(url);
|
|
188
|
-
if (clean.endsWith(
|
|
191
|
+
if (clean.endsWith("/v1"))
|
|
189
192
|
return clean;
|
|
190
193
|
return `${clean}/v1`;
|
|
191
194
|
}
|
|
@@ -193,7 +196,8 @@ function table(provider) {
|
|
|
193
196
|
return `model_providers.${provider}`;
|
|
194
197
|
}
|
|
195
198
|
function owned(line) {
|
|
196
|
-
return line.includes(`"sleeve-harness" = "${HARNESS}"`) ||
|
|
199
|
+
return (line.includes(`"sleeve-harness" = "${HARNESS}"`) ||
|
|
200
|
+
line.includes(`"sleeve-harness" = "${OLD_HARNESS}"`));
|
|
197
201
|
}
|
|
198
202
|
async function writeText(path, config) {
|
|
199
203
|
await mkdir(dirname(path), { recursive: true, mode: 0o700 });
|
|
@@ -201,8 +205,9 @@ async function writeText(path, config) {
|
|
|
201
205
|
await chmod(path, 0o600);
|
|
202
206
|
}
|
|
203
207
|
function code(err) {
|
|
204
|
-
if (typeof err !==
|
|
208
|
+
if (typeof err !== "object" || err === null || !("code" in err))
|
|
205
209
|
return undefined;
|
|
206
210
|
const value = err.code;
|
|
207
|
-
return typeof value ===
|
|
211
|
+
return typeof value === "string" ? value : undefined;
|
|
208
212
|
}
|
|
213
|
+
//# sourceMappingURL=codex.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codex.js","sourceRoot":"","sources":["../../src/harness/codex.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAG1C,MAAM,QAAQ,GAAG,OAAO,CAAC;AACzB,MAAM,OAAO,GAAG,WAAW,CAAC;AAC5B,MAAM,WAAW,GAAG,OAAO,CAAC;AAM5B,MAAM,CAAC,KAAK,UAAU,UAAU,CAC5B,IAAiB,EACjB,IAAI,GAAG,SAAS,EAAE;IAElB,OAAO,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAC5B,IAAiB,EACjB,IAAI,GAAG,SAAS,EAAE;IAElB,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,MAAM,GAAG,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAEhD,MAAM,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC9B,OAAO,EAAE,IAAI,EAAE,CAAC;AACpB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAAI,GAAG,SAAS,EAAE;IACjD,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,CAAC,QAAQ;QAAE,OAAO;IACtB,MAAM,MAAM,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAC5C,MAAM,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,MAAyB,OAAO,CAAC,GAAG;IAC1D,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,EAAE,aAAa,CAAC,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAa,EAAE,IAAiB;IAC7D,MAAM,QAAQ,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,WAAW,CACrB,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,EAC7C,aAAa,CAChB,CAAC;IACF,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IACrD,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,gBAAgB,EAAE,QAAQ,CAAC,CAAC;IACxE,MAAM,IAAI,GAAG,QAAQ;QACjB,CAAC,CAAC,iDAAiD,IAAI,CAAC,QAAQ,CAAC,GAAG;QACpE,CAAC,CAAC,EAAE,CAAC;IAET,OAAO,GAAG,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAa;IAC5C,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC/B,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,EAAE,gBAAgB,CAAC,IAAI,QAAQ,CAAC;IACjE,MAAM,KAAK,GAAG,WAAW,CACrB,WAAW,CACP,aAAa,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,gBAAgB,CAAC,EAChD,KAAK,CAAC,QAAQ,CAAC,CAClB,EACD,aAAa,CAChB,CAAC;IACF,MAAM,QAAQ,GAAG,QAAQ;QACrB,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,gBAAgB,EAAE,QAAQ,CAAC;QAC5D,CAAC,CAAC,KAAK,CAAC;IACZ,MAAM,MAAM,GACR,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACxE,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC;AACnC,CAAC;AAED,SAAS,aAAa,CAAC,KAAa,EAAE,GAAW,EAAE,KAAa;IAC5D,MAAM,IAAI,GAAG,GAAG,GAAG,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;IACzC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEpC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7D,IAAI,KAAK,KAAK,CAAC,CAAC;QAAE,OAAO,GAAG,KAAK,KAAK,IAAI,EAAE,CAAC;IAC7C,OAAO,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CACnE,IAAI,CACP,CAAC;AACN,CAAC;AAED,SAAS,aAAa,CAAC,KAAa,EAAE,GAAW;IAC7C,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,IAAI,IAAI,GAAG,IAAI,CAAC;IAChB,IAAI,OAAO,GAAG,KAAK,CAAC;IAEpB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACvB,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,IAAI,GAAG,KAAK,CAAC;QACtC,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5D,OAAO,GAAG,IAAI,CAAC;YACf,SAAS;QACb,CAAC;QACD,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACxC,OAAO,GAAG,KAAK,CAAC;YAChB,SAAS;QACb,CAAC;QACD,OAAO,GAAG,KAAK,CAAC;QAChB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IAED,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC;AAED,SAAS,WAAW,CAAC,KAAa,EAAE,IAAY;IAC5C,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,IAAI,IAAI,GAAG,KAAK,CAAC;IACjB,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,eAAe,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAExE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACvB,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACpB,IAAI,GAAG,IAAI,CAAC;YACZ,SAAS;QACb,CAAC;QACD,IAAI,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1D,IAAI,CAAC,IAAI;YAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC;AAED,SAAS,aAAa,CAAC,KAAa,EAAE,IAAiB;IACnD,OAAO,GAAG,KAAK,CAAC,OAAO,EAAE,QAAQ,KAAK,CAAC,QAAQ,CAAC,sBAAsB,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AAC1G,CAAC;AAED,SAAS,YAAY,CAAC,IAAiB;IACnC,OAAO;QACH,eAAe,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG;QAC9C,wBAAwB;QACxB,EAAE;QACF,IAAI,KAAK,CAAC,QAAQ,CAAC,gBAAgB;QACnC,qBAAqB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG;QACxC,8BAA8B;QAC9B,uBAAuB,OAAO,GAAG;KACpC,CAAC;AACN,CAAC;AAED,SAAS,eAAe,CAAC,KAAa,EAAE,QAAgB;IACpD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,MAAM,GAAG,IAAI,MAAM,CACrB,eAAe,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,oBAAoB,CAC7D,CAAC;IACF,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3D,IAAI,KAAK,KAAK,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAE/B,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,MAAM;QAC/B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAEvD,OAAO,KAAK;SACP,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;QAChB,MAAM,MAAM,GAAG,CAAC,GAAG,KAAK,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QACzB,OAAO,CAAC,0CAA0C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClE,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;AACpB,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAa;IACnC,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IACpD,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAC/E,CAAC;AAED,SAAS,MAAM,CAAC,KAAa;IACzB,OAAO,WAAW,CAAC,KAAK,EAAE,aAAa,EAAE,yBAAyB,CAAC,CAAC;AACxE,CAAC;AAED,SAAS,WAAW,CAAC,KAAa,EAAE,IAAY,EAAE,GAAW;IACzD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,eAAe,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAC3E,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3D,IAAI,KAAK,KAAK,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAE9B,KAAK,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QACrC,MAAM,KAAK,GAAG,IAAI,MAAM,CACpB,QAAQ,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAClD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACb,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,SAAS,UAAU,CAAC,KAAa,EAAE,GAAW;IAC1C,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAChC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACvB,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QACrC,MAAM,KAAK,GAAG,IAAI,MAAM,CACpB,QAAQ,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAClD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACb,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,IAAY;IAChC,IAAI,CAAC;QACD,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACxC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,QAAQ;YAAE,OAAO,EAAE,CAAC;QACtC,MAAM,GAAG,CAAC;IACd,CAAC;AACL,CAAC;AAED,SAAS,IAAI,CAAC,KAAa;IACvB,OAAO,KAAK;SACP,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC;SACtB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;SACpB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,MAAM,CAAC,KAAa;IACzB,OAAO,KAAK,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,IAAI,CAAC,GAAW;IACrB,OAAO,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,OAAO,CAAC,GAAW;IACxB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;IACxB,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACxC,OAAO,GAAG,KAAK,KAAK,CAAC;AACzB,CAAC;AAED,SAAS,KAAK,CAAC,QAAgB;IAC3B,OAAO,mBAAmB,QAAQ,EAAE,CAAC;AACzC,CAAC;AAED,SAAS,KAAK,CAAC,IAAY;IACvB,OAAO,CACH,IAAI,CAAC,QAAQ,CAAC,uBAAuB,OAAO,GAAG,CAAC;QAChD,IAAI,CAAC,QAAQ,CAAC,uBAAuB,WAAW,GAAG,CAAC,CACvD,CAAC;AACN,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,IAAY,EAAE,MAAc;IACjD,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7D,MAAM,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC/C,MAAM,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,IAAI,CAAC,GAAY;IACtB,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG,CAAC;QAC3D,OAAO,SAAS,CAAC;IACrB,MAAM,KAAK,GAAI,GAA0B,CAAC,IAAI,CAAC;IAC/C,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACzD,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
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;
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
// Harness setup coordinates local tool config patchers for onboarding.
|
|
2
|
+
import { setupClaude, unpatchClaude } from "./claude.js";
|
|
3
|
+
import { setupCodex, unpatchCodex } from "./codex.js";
|
|
4
|
+
import { setupOpenCode, unpatchOpenCode } from "./opencode.js";
|
|
5
|
+
export const HARNESSES = [
|
|
6
|
+
{
|
|
7
|
+
id: "opencode",
|
|
8
|
+
label: "opencode",
|
|
9
|
+
command: "opencode",
|
|
10
|
+
setup: setupOpenCode,
|
|
11
|
+
unpatch: unpatchOpenCode,
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
id: "claude-code",
|
|
15
|
+
label: "claude code",
|
|
16
|
+
command: "claude",
|
|
17
|
+
setup: setupClaude,
|
|
18
|
+
unpatch: unpatchClaude,
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
id: "codex",
|
|
22
|
+
label: "codex",
|
|
23
|
+
command: "codex",
|
|
24
|
+
setup: setupCodex,
|
|
25
|
+
unpatch: unpatchCodex,
|
|
26
|
+
},
|
|
27
|
+
];
|
|
28
|
+
export async function setupHarnesses(auth, ids) {
|
|
29
|
+
const configured = [];
|
|
30
|
+
for (const harness of HARNESSES) {
|
|
31
|
+
if (!ids.includes(harness.id))
|
|
32
|
+
continue;
|
|
33
|
+
const result = await harness.setup(auth);
|
|
34
|
+
if (result === null)
|
|
35
|
+
continue;
|
|
36
|
+
configured.push(harness.id);
|
|
37
|
+
}
|
|
38
|
+
return { ids: configured, label: harnessLabels(configured) };
|
|
39
|
+
}
|
|
40
|
+
export async function unpatchHarnesses() {
|
|
41
|
+
const failures = [];
|
|
42
|
+
await Promise.all(HARNESSES.map(async (harness) => {
|
|
43
|
+
try {
|
|
44
|
+
await harness.unpatch();
|
|
45
|
+
}
|
|
46
|
+
catch (err) {
|
|
47
|
+
failures.push(`${harness.label}: ${message(err)}`);
|
|
48
|
+
}
|
|
49
|
+
}));
|
|
50
|
+
return { failures };
|
|
51
|
+
}
|
|
52
|
+
export function harnessLabels(ids) {
|
|
53
|
+
if (ids.length === 0)
|
|
54
|
+
return "none";
|
|
55
|
+
const labels = ids.map((id) => HARNESSES.find((harness) => harness.id === id)?.label ?? id);
|
|
56
|
+
return labels.join(", ");
|
|
57
|
+
}
|
|
58
|
+
function message(err) {
|
|
59
|
+
if (err instanceof Error && err.message)
|
|
60
|
+
return err.message;
|
|
61
|
+
return String(err);
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/harness/index.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAc/D,MAAM,CAAC,MAAM,SAAS,GAAuB;IACzC;QACI,EAAE,EAAE,UAAU;QACd,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,UAAU;QACnB,KAAK,EAAE,aAAa;QACpB,OAAO,EAAE,eAAe;KAC3B;IACD;QACI,EAAE,EAAE,aAAa;QACjB,KAAK,EAAE,aAAa;QACpB,OAAO,EAAE,QAAQ;QACjB,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,aAAa;KACzB;IACD;QACI,EAAE,EAAE,OAAO;QACX,KAAK,EAAE,OAAO;QACd,OAAO,EAAE,OAAO;QAChB,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,YAAY;KACxB;CACJ,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,cAAc,CAChC,IAAiB,EACjB,GAAyB;IAEzB,MAAM,UAAU,GAAgB,EAAE,CAAC;IAEnC,KAAK,MAAM,OAAO,IAAI,SAAS,EAAE,CAAC;QAC9B,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAAE,SAAS;QACxC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,MAAM,KAAK,IAAI;YAAE,SAAS;QAC9B,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAChC,CAAC;IAED,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC;AACjE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB;IAClC,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,OAAO,CAAC,GAAG,CACb,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QAC5B,IAAI,CAAC;YACD,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QAC5B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,QAAQ,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,KAAK,KAAK,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACvD,CAAC;IACL,CAAC,CAAC,CACL,CAAC;IACF,OAAO,EAAE,QAAQ,EAAE,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,GAAyB;IACnD,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IACpC,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAClB,CAAC,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,IAAI,EAAE,CACtE,CAAC;IACF,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,OAAO,CAAC,GAAY;IACzB,IAAI,GAAG,YAAY,KAAK,IAAI,GAAG,CAAC,OAAO;QAAE,OAAO,GAAG,CAAC,OAAO,CAAC;IAC5D,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;AACvB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type ProviderId } from "./providers.js";
|
|
2
|
+
import type { HarnessAuth } from "./types.js";
|
|
3
|
+
export declare function patchOpenCodeConfig(auth: HarnessAuth, path?: string, provider?: ProviderId): Promise<string>;
|
|
4
|
+
export declare function unpatchOpenCodeConfig(path?: string): Promise<string | null>;
|
|
5
|
+
export declare function openCodePath(env?: NodeJS.ProcessEnv, platform?: NodeJS.Platform): string;
|
|
6
|
+
export declare function openCodeJsoncPath(env?: NodeJS.ProcessEnv, platform?: NodeJS.Platform): string;
|
|
7
|
+
export declare function openCodeAuthPath(env?: NodeJS.ProcessEnv, platform?: NodeJS.Platform): string;
|
|
8
|
+
export declare function resolveOpenCodePath(env?: NodeJS.ProcessEnv, platform?: NodeJS.Platform): Promise<string>;
|