@opencode/browse 0.0.6-dev.28 → 0.0.6-dev.32
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/THIRD_PARTY_NOTICES.txt +310 -0
- package/dist/Undici-88kyhfpm.mjs +25295 -0
- package/dist/cli-pazs0vgt.mjs +6694 -0
- package/dist/cli.mjs +10 -10
- package/dist/{helpers-3fm1nwkt.mjs → helpers-1afz3xb6.mjs} +2 -1
- package/dist/index-yghakpfn.mjs +12 -0
- package/dist/{main-x8w3s3rv.mjs → main-30dkfffj.mjs} +5 -4
- package/dist/{main-xg3r1ze3.mjs → main-3w449766.mjs} +9 -9
- package/dist/main-9z6jbwdp.mjs +14661 -0
- package/dist/main-aqzas8ts.mjs +1775 -0
- package/dist/main-brs53cap.mjs +205 -0
- package/dist/{main-8ncff5jp.mjs → main-ea9djgtm.mjs} +2 -2
- package/dist/main-k9drabmz.mjs +4 -0
- package/dist/{main-rsqahh12.mjs → main-q641ckf5.mjs} +1416 -97
- package/dist/{main-tfkqwwrb.mjs → main-va90zea2.mjs} +30 -20
- package/dist/main-yf9xhpn4.mjs +290 -0
- package/dist/{main-scyv26xb.mjs → main-yxvg4ms6.mjs} +2 -2
- package/dist/mcp-4v2gsdr7.mjs +8515 -0
- package/dist/{relay-epeqzmcr.mjs → relay-sxbxskww.mjs} +739 -693
- package/dist/{runtime-update-3925nwpw.mjs → runtime-update-tksdpg29.mjs} +22 -11
- package/dist/{setup-ys0qf6by.mjs → setup-92ht2epc.mjs} +10 -40
- package/dist/{supervisor-yb615ygt.mjs → supervisor-0afrkpjb.mjs} +3 -3
- package/dist/{update-wjkqfk5f.mjs → update-vv7x6c6j.mjs} +3 -3
- package/dist/{version-rh26jqa2.mjs → version-pvx4s3qg.mjs} +1 -1
- package/package.json +4 -3
- package/dist/cli-wgxfjgb3.mjs +0 -1796
- package/dist/main-4t3a1fw9.mjs +0 -4
- package/dist/main-8h1nwn45.mjs +0 -1410
- package/dist/mcp-7jjntfwf.mjs +0 -905
package/dist/cli.mjs
CHANGED
|
@@ -2,29 +2,29 @@
|
|
|
2
2
|
|
|
3
3
|
// src/main.ts
|
|
4
4
|
import path from "node:path";
|
|
5
|
-
var embeddedVersion = "0.0.6-dev.
|
|
5
|
+
var embeddedVersion = "0.0.6-dev.32";
|
|
6
6
|
var setupCommands = new Set(["install", "uninstall", "extension", "pair", "rollback", "set"]);
|
|
7
7
|
var command = process.argv[2];
|
|
8
8
|
var invokedAs = path.basename(process.argv[1] ?? "");
|
|
9
9
|
if (command === "--version" || command === "-v") {
|
|
10
|
-
const opencodeBrowserVersion = embeddedVersion ?? (await import("./version-
|
|
10
|
+
const opencodeBrowserVersion = embeddedVersion ?? (await import("./version-pvx4s3qg.mjs")).opencodeBrowserVersion;
|
|
11
11
|
process.stdout.write(`${opencodeBrowserVersion}
|
|
12
12
|
`);
|
|
13
13
|
} else if (invokedAs === "opencode-browser-mcp" || command === "mcp" && process.argv.length === 3) {
|
|
14
|
-
const { NodeRuntime } = await import("
|
|
15
|
-
const { runMcpServer } = await import("./mcp-
|
|
14
|
+
const { NodeRuntime } = await import("./index-yghakpfn.mjs");
|
|
15
|
+
const { runMcpServer } = await import("./mcp-4v2gsdr7.mjs");
|
|
16
16
|
runMcpServer.pipe(NodeRuntime.runMain);
|
|
17
17
|
} else if (command === "mcp" && globalThis.__OPENCODE_BROWSER_COMPILED__ && process.env.OPENCODE_BROWSER_MCP_DIRECT !== "1") {
|
|
18
|
-
const { runBinaryMcp } = await import("./supervisor-
|
|
18
|
+
const { runBinaryMcp } = await import("./supervisor-0afrkpjb.mjs");
|
|
19
19
|
await runBinaryMcp(process.argv.slice(3));
|
|
20
20
|
} else if (command === "runtime-install" || command === "runtime-switch") {
|
|
21
|
-
const { runRuntimeInstall, runRuntimeSwitch } = await import("./runtime-update-
|
|
21
|
+
const { runRuntimeInstall, runRuntimeSwitch } = await import("./runtime-update-tksdpg29.mjs");
|
|
22
22
|
await (command === "runtime-install" ? runRuntimeInstall : runRuntimeSwitch)(process.argv.slice(3));
|
|
23
23
|
} else if (command === "update") {
|
|
24
|
-
const { runUpdateCommand } = await import("./update-
|
|
24
|
+
const { runUpdateCommand } = await import("./update-vv7x6c6j.mjs");
|
|
25
25
|
await runUpdateCommand(process.argv.slice(3));
|
|
26
26
|
} else if (command && setupCommands.has(command)) {
|
|
27
|
-
const { runSetup } = await import("./setup-
|
|
27
|
+
const { runSetup } = await import("./setup-92ht2epc.mjs");
|
|
28
28
|
await runSetup(command, process.argv.slice(3));
|
|
29
29
|
} else {
|
|
30
30
|
if (!command || command === "--help" || command === "-h") {
|
|
@@ -59,9 +59,9 @@ if (command === "--version" || command === "-v") {
|
|
|
59
59
|
`);
|
|
60
60
|
}
|
|
61
61
|
if (command === "status" && !process.argv.includes("--json")) {
|
|
62
|
-
const { printSetupStatus } = await import("./setup-
|
|
62
|
+
const { printSetupStatus } = await import("./setup-92ht2epc.mjs");
|
|
63
63
|
printSetupStatus();
|
|
64
64
|
}
|
|
65
|
-
const { runCli } = await import("./cli-
|
|
65
|
+
const { runCli } = await import("./cli-pazs0vgt.mjs");
|
|
66
66
|
runCli();
|
|
67
67
|
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import {
|
|
2
|
+
exports_NodeHttpClient,
|
|
3
|
+
exports_NodeRuntime,
|
|
4
|
+
exports_NodeStdio,
|
|
5
|
+
exports_NodeServices
|
|
6
|
+
} from "./main-9z6jbwdp.mjs";
|
|
7
|
+
export {
|
|
8
|
+
exports_NodeHttpClient as NodeHttpClient,
|
|
9
|
+
exports_NodeRuntime as NodeRuntime,
|
|
10
|
+
exports_NodeServices as NodeServices,
|
|
11
|
+
exports_NodeStdio as NodeStdio
|
|
12
|
+
};
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import {
|
|
2
2
|
dataRoot
|
|
3
|
-
} from "./main-
|
|
4
|
-
|
|
3
|
+
} from "./main-ea9djgtm.mjs";
|
|
4
|
+
import {
|
|
5
|
+
isString
|
|
6
|
+
} from "./main-yf9xhpn4.mjs";
|
|
5
7
|
// src/relay/secrets.ts
|
|
6
8
|
import crypto2 from "node:crypto";
|
|
7
9
|
import fs2 from "node:fs";
|
|
8
10
|
import path2 from "node:path";
|
|
9
11
|
|
|
10
12
|
// src/fs-durability.ts
|
|
11
|
-
import { Predicate } from "effect";
|
|
12
13
|
import crypto from "node:crypto";
|
|
13
14
|
import fsSync from "node:fs";
|
|
14
15
|
import fs from "node:fs/promises";
|
|
@@ -18,7 +19,7 @@ function isNodeError(error) {
|
|
|
18
19
|
return error instanceof Error && "code" in error;
|
|
19
20
|
}
|
|
20
21
|
function isUnsupportedDirectorySyncError(error) {
|
|
21
|
-
return isNodeError(error) &&
|
|
22
|
+
return isNodeError(error) && isString(error.code) && unsupportedDirectorySyncCodes.has(error.code);
|
|
22
23
|
}
|
|
23
24
|
async function writeJsonFileAtomically(filePath, value, options = {}) {
|
|
24
25
|
const directory = path.dirname(filePath);
|
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
import {
|
|
2
2
|
writePrivateJsonFileSync
|
|
3
|
-
} from "./main-
|
|
3
|
+
} from "./main-30dkfffj.mjs";
|
|
4
4
|
import {
|
|
5
5
|
dataRoot,
|
|
6
6
|
devExtensionUrl,
|
|
7
7
|
devExtensionFolder
|
|
8
|
-
} from "./main-
|
|
8
|
+
} from "./main-ea9djgtm.mjs";
|
|
9
9
|
|
|
10
10
|
// src/relay/browser-pairing.ts
|
|
11
11
|
import crypto from "node:crypto";
|
|
12
12
|
import fs from "node:fs";
|
|
13
13
|
import path from "node:path";
|
|
14
14
|
var legacyContext = "opencode-browser-pairing-v2";
|
|
15
|
-
var
|
|
15
|
+
var context2 = "opencode-browser-pairing-v3";
|
|
16
16
|
var crockford = "0123456789ABCDEFGHJKMNPQRSTVWXYZ";
|
|
17
17
|
var pairingCodeLength = 8;
|
|
18
18
|
var codeKeyIterations = 1e5;
|
|
19
|
-
var codeKeySalt = `${
|
|
19
|
+
var codeKeySalt = `${context2}|code`;
|
|
20
20
|
var pairingCodeTtlMs = 10 * 60000;
|
|
21
21
|
var bundledPairingCodeTtlMs = 60 * 60000;
|
|
22
22
|
var maxPairingFailures = 5;
|
|
@@ -130,7 +130,7 @@ function pairingEndpoint(port) {
|
|
|
130
130
|
return `127.0.0.1:${port}/extension`;
|
|
131
131
|
}
|
|
132
132
|
function pairingProof(token, role, port, ownNonce, peerNonce) {
|
|
133
|
-
return crypto.createHmac("sha256", token).update(`${
|
|
133
|
+
return crypto.createHmac("sha256", token).update(`${context2}|${role}|${pairingEndpoint(port)}|${peerNonce}|${ownNonce}`).digest("base64url");
|
|
134
134
|
}
|
|
135
135
|
function ecdhExchange(peerPublicKey) {
|
|
136
136
|
const peer = Buffer.from(peerPublicKey, "base64url");
|
|
@@ -145,13 +145,13 @@ function ecdhExchange(peerPublicKey) {
|
|
|
145
145
|
}
|
|
146
146
|
}
|
|
147
147
|
function pairingSessionKey(material, secret, transcript) {
|
|
148
|
-
return crypto.createHmac("sha256", material).update(`${
|
|
148
|
+
return crypto.createHmac("sha256", material).update(`${context2}|session|${pairingEndpoint(transcript.port)}|${transcript.extensionNonce}|${transcript.relayNonce}|${transcript.extensionKey}|${transcript.relayKey}|`).update(secret).digest();
|
|
149
149
|
}
|
|
150
150
|
function sessionProof(sessionKey, role) {
|
|
151
|
-
return crypto.createHmac("sha256", sessionKey).update(`${
|
|
151
|
+
return crypto.createHmac("sha256", sessionKey).update(`${context2}|proof|${role}`).digest("base64url");
|
|
152
152
|
}
|
|
153
153
|
function wrapToken(sessionKey, token) {
|
|
154
|
-
const mask = crypto.createHmac("sha256", sessionKey).update(`${
|
|
154
|
+
const mask = crypto.createHmac("sha256", sessionKey).update(`${context2}|wrap`).digest();
|
|
155
155
|
return Buffer.from(Buffer.from(token, "base64url").map((byte, index) => byte ^ mask[index])).toString("base64url");
|
|
156
156
|
}
|
|
157
157
|
|
|
@@ -300,4 +300,4 @@ function isLocalPeer(socket) {
|
|
|
300
300
|
return remote !== undefined && (remote === "::1" || remote.startsWith("127."));
|
|
301
301
|
}
|
|
302
302
|
|
|
303
|
-
export { parseHostname, readRelayConfig, writeRelayConfig, relayHostname, isLocalPeer,
|
|
303
|
+
export { parseHostname, readRelayConfig, writeRelayConfig, relayHostname, isLocalPeer, context2, pairingCodeTtlMs, bundledPairingCodeTtlMs, formatPairingCode, pairingCodeKey, mintPairingCode, pendingPairingCodeKeys, consumePairingCode, recordPairingFailure, writeExtensionPairing, readBrowserPairings, browserToken, newBrowserToken, issueBrowserToken, touchBrowserPairing, revokeBrowserToken, legacyPairingCode, removeLegacyPairingCode, legacyPairingProof, pairingProof, ecdhExchange, pairingSessionKey, sessionProof, wrapToken, installedDevExtension, syncDevExtension };
|