unbrowse 9.3.3 → 9.3.5

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "unbrowse",
3
- "version": "9.3.3",
3
+ "version": "9.3.5",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/unbrowse-ai/unbrowse.git"
package/runtime/cli.js CHANGED
@@ -1106,8 +1106,7 @@ __export(exports_proxy_fetch, {
1106
1106
  resolveEgressProxy: () => resolveEgressProxy,
1107
1107
  proxiedFetchOnce: () => proxiedFetchOnce,
1108
1108
  iproyalStickySuffix: () => iproyalStickySuffix,
1109
- egressProxyArg: () => egressProxyArg,
1110
- PROXYKINGDOM_DEFAULT_URL: () => PROXYKINGDOM_DEFAULT_URL
1109
+ egressProxyArg: () => egressProxyArg
1111
1110
  });
1112
1111
  import { randomBytes } from "node:crypto";
1113
1112
  import { readFileSync as readFileSync4, writeFileSync as writeFileSync2, mkdirSync as mkdirSync3, statSync as statSync2 } from "node:fs";
@@ -1183,10 +1182,11 @@ function resolveEgressProxy(env = process.env) {
1183
1182
  if (iproyal)
1184
1183
  return iproyal;
1185
1184
  const override = env.UNBROWSE_PROXYKINGDOM_URL?.trim();
1186
- const pk = override || PROXYKINGDOM_DEFAULT_URL;
1187
- if (peekFailure(pk, "proxy") === "structural")
1185
+ if (!override)
1188
1186
  return;
1189
- return pk;
1187
+ if (peekFailure(override, "proxy") === "structural")
1188
+ return;
1189
+ return override;
1190
1190
  }
1191
1191
  function egressProxyArg(env = process.env) {
1192
1192
  const url = resolveEgressProxy(env);
@@ -1286,7 +1286,7 @@ async function x402ProxyAuthorization(proxyUrl = resolveEgressProxy()) {
1286
1286
  };
1287
1287
  }
1288
1288
  }
1289
- var STICKY_SESSION_MAX_AGE_MS, _processStickyFallback, PROXYKINGDOM_DEFAULT_URL = "https://proxykingdom.cn2.ai", _cachedProxyAuth = null;
1289
+ var STICKY_SESSION_MAX_AGE_MS, _processStickyFallback, _cachedProxyAuth = null;
1290
1290
  var init_proxy_fetch = __esm(() => {
1291
1291
  init_x402_fetch();
1292
1292
  init_failure_cache();
@@ -5020,7 +5020,7 @@ var init_cached_resolution = __esm(() => {
5020
5020
  });
5021
5021
 
5022
5022
  // .tmp-runtime-src/build-info.generated.ts
5023
- var BUILD_RELEASE_VERSION = "9.3.3", BUILD_GIT_SHA = "88984f4881ae", BUILD_CODE_HASH = "5d9ebf619c61", BUILD_RELEASE_MANIFEST_BASE64 = "eyJzY2hlbWFfdmVyc2lvbiI6MSwicmVsZWFzZV92ZXJzaW9uIjoiOS4zLjMiLCJnaXRfc2hhIjoiODg5ODRmNDg4MWFlIiwiY29kZV9oYXNoIjoiNWQ5ZWJmNjE5YzYxIiwidHJhY2VfdmVyc2lvbiI6IjVkOWViZjYxOWM2MUA4ODk4NGY0ODgxYWUiLCJpc3N1ZWRfYXQiOiIyMDI2LTA2LTE1VDAzOjM3OjA5LjM5M1oifQ", BUILD_RELEASE_MANIFEST_SIGNATURE = "wxzvy30_AUnlGvlKbLRABlSN53ZK2JJXFyGQeafNpHU", BUILD_DEFAULT_BACKEND_URL = "https://beta-api.unbrowse.ai", BUILD_DEFAULT_PROFILE = "";
5023
+ var BUILD_RELEASE_VERSION = "9.3.5", BUILD_GIT_SHA = "e1eab1024082", BUILD_CODE_HASH = "5d9ebf619c61", BUILD_RELEASE_MANIFEST_BASE64 = "eyJzY2hlbWFfdmVyc2lvbiI6MSwicmVsZWFzZV92ZXJzaW9uIjoiOS4zLjUiLCJnaXRfc2hhIjoiZTFlYWIxMDI0MDgyIiwiY29kZV9oYXNoIjoiNWQ5ZWJmNjE5YzYxIiwidHJhY2VfdmVyc2lvbiI6IjVkOWViZjYxOWM2MUBlMWVhYjEwMjQwODIiLCJpc3N1ZWRfYXQiOiIyMDI2LTA2LTE1VDA1OjQ1OjE2Ljk3NVoifQ", BUILD_RELEASE_MANIFEST_SIGNATURE = "AyLsG9O87EuwlERZ8PWOwgHjdrQ0VtmVXOsrwVp4hag", BUILD_DEFAULT_BACKEND_URL = "https://beta-api.unbrowse.ai", BUILD_DEFAULT_PROFILE = "";
5024
5024
 
5025
5025
  // .tmp-runtime-src/version.ts
5026
5026
  import { createHash as createHash4 } from "crypto";
@@ -108366,10 +108366,13 @@ function updateCapturePipelineSettings(update) {
108366
108366
  });
108367
108367
  return next;
108368
108368
  }
108369
- function getBrowserAttachEnabled() {
108369
+ function getBrowserAttachPreference() {
108370
108370
  const raw = loadRawConfig();
108371
108371
  const browser = raw.browser && typeof raw.browser === "object" ? raw.browser : {};
108372
- return browser.attach_existing_chrome === true;
108372
+ return typeof browser.attach_existing_chrome === "boolean" ? browser.attach_existing_chrome : undefined;
108373
+ }
108374
+ function getBrowserAttachEnabled() {
108375
+ return getBrowserAttachPreference() !== false;
108373
108376
  }
108374
108377
  function setBrowserAttachEnabled(enabled2) {
108375
108378
  const raw = loadRawConfig();
@@ -108519,6 +108522,7 @@ __export(exports_client2, {
108519
108522
  discoverTabs: () => discoverTabs,
108520
108523
  closeTab: () => closeTab,
108521
108524
  click: () => click2,
108525
+ chromeCdpAttachLaunchArgs: () => chromeCdpAttachLaunchArgs,
108522
108526
  bestEffortRehydratePlugins: () => bestEffortRehydratePlugins,
108523
108527
  authProfileSave: () => authProfileSave,
108524
108528
  authProfileLoad: () => authProfileLoad,
@@ -108606,14 +108610,15 @@ function resolveKuriLaunchConfig(env2 = process.env) {
108606
108610
  }
108607
108611
  const cleanRoom = envFlag(env2.UNBROWSE_LOCAL_ONLY) || envFlag(env2.KURI_CLEAN_ROOM);
108608
108612
  const disableCdpAttach = envFlag(env2.KURI_DISABLE_CDP_ATTACH);
108609
- const explicitAttachEnv = envFlag(env2.KURI_ATTACH_EXISTING_CHROME);
108610
- let attachEnabledBySetting = false;
108613
+ const explicitAttachEnv = env2.KURI_ATTACH_EXISTING_CHROME;
108614
+ const attachByEnv = explicitAttachEnv === undefined ? undefined : !falseyEnv(explicitAttachEnv);
108615
+ let attachPreference;
108611
108616
  try {
108612
- attachEnabledBySetting = getBrowserAttachEnabled() === true;
108617
+ attachPreference = getBrowserAttachPreference();
108613
108618
  } catch {
108614
- attachEnabledBySetting = false;
108619
+ attachPreference = undefined;
108615
108620
  }
108616
- const attachToExistingChrome = (explicitAttachEnv || attachEnabledBySetting) && !disableCdpAttach && !cleanRoom;
108621
+ const attachToExistingChrome = (attachByEnv ?? attachPreference ?? true) && !disableCdpAttach && !cleanRoom;
108617
108622
  return {
108618
108623
  headless,
108619
108624
  attachToExistingChrome
@@ -108806,11 +108811,7 @@ async function ensureUserChromeRunning(state) {
108806
108811
  state.cdpPort = port;
108807
108812
  log("kuri", `launching user Chrome with CDP on port ${port}`);
108808
108813
  try {
108809
- const child = spawn9(chromeBin, [
108810
- `--remote-debugging-port=${port}`,
108811
- "--no-first-run",
108812
- "--no-default-browser-check"
108813
- ], {
108814
+ const child = spawn9(chromeBin, chromeCdpAttachLaunchArgs(port), {
108814
108815
  stdio: "ignore",
108815
108816
  detached: true
108816
108817
  });
@@ -108833,6 +108834,20 @@ async function ensureUserChromeRunning(state) {
108833
108834
  state.cdpPort = null;
108834
108835
  }
108835
108836
  }
108837
+ function chromeCdpAttachLaunchArgs(port, platform6 = process.platform) {
108838
+ const args = [
108839
+ `--remote-debugging-port=${port}`,
108840
+ "--no-first-run",
108841
+ "--no-default-browser-check",
108842
+ "--password-store=basic",
108843
+ "--disable-save-password-bubble",
108844
+ "--disable-features=PasswordManagerOnboarding,AutofillServerCommunication"
108845
+ ];
108846
+ if (platform6 === "darwin") {
108847
+ args.push("--use-mock-keychain");
108848
+ }
108849
+ return args;
108850
+ }
108836
108851
  async function terminateBrokerOnPort(port) {
108837
108852
  try {
108838
108853
  const output2 = execFileSync5("lsof", ["-tiTCP:" + String(port), "-sTCP:LISTEN"], {
@@ -108858,7 +108873,11 @@ async function reuseHealthyBrokerIfPossible(state, launchConfig, deps = {}) {
108858
108873
  state.ready = true;
108859
108874
  const cdpAvailable = deps.isChromeCdpAvailable ?? isChromeCdpAvailable;
108860
108875
  const discover = deps.discoverCdpPort ?? discoverCdpPort;
108861
- await discover(state);
108876
+ if (launchConfig.attachToExistingChrome || state.managedChrome) {
108877
+ await discover(state);
108878
+ } else {
108879
+ state.cdpPort = null;
108880
+ }
108862
108881
  if (!state.cdpPort && launchConfig.attachToExistingChrome) {
108863
108882
  const ensureChrome2 = deps.ensureUserChromeRunning ?? ensureUserChromeRunning;
108864
108883
  await ensureChrome2(state);
@@ -108869,7 +108888,7 @@ async function reuseHealthyBrokerIfPossible(state, launchConfig, deps = {}) {
108869
108888
  const syncTabs = deps.ensureTabsDiscovered ?? ensureTabsDiscovered;
108870
108889
  await syncTabs(state).catch(() => {});
108871
108890
  const tabs = await (deps.listTabs ?? listRegisteredTabs)(state).catch(() => []);
108872
- if (state.cdpPort) {
108891
+ if (state.cdpPort && (launchConfig.attachToExistingChrome || state.managedChrome)) {
108873
108892
  return true;
108874
108893
  }
108875
108894
  if (tabs.length > 0) {
@@ -193850,8 +193869,7 @@ __export(exports_proxy_fetch2, {
193850
193869
  resolveEgressProxy: () => resolveEgressProxy2,
193851
193870
  proxiedFetchOnce: () => proxiedFetchOnce2,
193852
193871
  iproyalStickySuffix: () => iproyalStickySuffix2,
193853
- egressProxyArg: () => egressProxyArg2,
193854
- PROXYKINGDOM_DEFAULT_URL: () => PROXYKINGDOM_DEFAULT_URL2
193872
+ egressProxyArg: () => egressProxyArg2
193855
193873
  });
193856
193874
  import { randomBytes as randomBytes21 } from "node:crypto";
193857
193875
  import { readFileSync as readFileSync46, writeFileSync as writeFileSync35, mkdirSync as mkdirSync39, statSync as statSync12 } from "node:fs";
@@ -193927,10 +193945,11 @@ function resolveEgressProxy2(env2 = process.env) {
193927
193945
  if (iproyal)
193928
193946
  return iproyal;
193929
193947
  const override = env2.UNBROWSE_PROXYKINGDOM_URL?.trim();
193930
- const pk = override || PROXYKINGDOM_DEFAULT_URL2;
193931
- if (peekFailure(pk, "proxy") === "structural")
193948
+ if (!override)
193932
193949
  return;
193933
- return pk;
193950
+ if (peekFailure(override, "proxy") === "structural")
193951
+ return;
193952
+ return override;
193934
193953
  }
193935
193954
  function egressProxyArg2(env2 = process.env) {
193936
193955
  const url = resolveEgressProxy2(env2);
@@ -194030,7 +194049,7 @@ async function x402ProxyAuthorization2(proxyUrl = resolveEgressProxy2()) {
194030
194049
  };
194031
194050
  }
194032
194051
  }
194033
- var STICKY_SESSION_MAX_AGE_MS2, _processStickyFallback2, PROXYKINGDOM_DEFAULT_URL2 = "https://proxykingdom.cn2.ai", _cachedProxyAuth2 = null;
194052
+ var STICKY_SESSION_MAX_AGE_MS2, _processStickyFallback2, _cachedProxyAuth2 = null;
194034
194053
  var init_proxy_fetch2 = __esm(() => {
194035
194054
  init_x402_fetch();
194036
194055
  init_failure_cache();
@@ -201797,7 +201816,7 @@ var init_server = __esm(async () => {
201797
201816
  } else if (outcome.reason === "opt_out") {
201798
201817
  console.error("[kuri-proxy] direct egress (opt-out); kuri runs without --proxy-server");
201799
201818
  } else if (outcome.reason === "creds_missing") {
201800
- console.error("[kuri-proxy] no egress proxy resolved (UNBROWSE_PROXYKINGDOM_URL empty?) — kuri runs direct");
201819
+ console.error("[kuri-proxy] no proxy configured — kuri runs direct (set UNBROWSE_PROXY_URL / IProyal creds / UNBROWSE_PROXYKINGDOM_URL to opt in)");
201801
201820
  } else if (outcome.reason === "invalid_toggle") {
201802
201821
  console.error(`[kuri-proxy] UNBROWSE_KURI_PROXY="${outcome.value}" not recognized — expected auto|1|true|0|false or explicit http://|socks5:// URL`);
201803
201822
  }
@@ -205698,7 +205717,8 @@ import_dotenv.config({ path: ".env.runtime", quiet: true });
205698
205717
  if (trace)
205699
205718
  console.error("[kuri-proxy] direct egress (opt-out); kuri runs without --proxy-server");
205700
205719
  } else if (outcome.reason === "creds_missing") {
205701
- console.error("[kuri-proxy] no egress proxy resolved (UNBROWSE_PROXYKINGDOM_URL empty?) \u2014 kuri runs direct");
205720
+ if (trace)
205721
+ console.error("[kuri-proxy] no proxy configured \u2014 kuri runs direct (set UNBROWSE_PROXY_URL / IProyal creds / UNBROWSE_PROXYKINGDOM_URL to opt in)");
205702
205722
  } else if (outcome.reason === "invalid_toggle") {
205703
205723
  console.error(`[kuri-proxy] UNBROWSE_KURI_PROXY="${outcome.value}" not recognized \u2014 expected auto|1|true|0|false or explicit http://|socks5:// URL`);
205704
205724
  }
@@ -210221,75 +210241,41 @@ async function main() {
210221
210241
  }
210222
210242
  await refreshContributionPreferenceFromServer(false);
210223
210243
  const KNOWN_COMMANDS = new Set([
210244
+ ...CLI_REFERENCE.commands.map((c) => c.name),
210245
+ ...Object.keys(DEPRECATED_VERBS),
210224
210246
  "health",
210225
210247
  "mcp",
210226
- "setup",
210227
- "resolve",
210228
- "run",
210229
- "execute",
210230
- "exec",
210231
- "create",
210232
- "act",
210233
- "read",
210234
- "connect-chrome",
210235
- "stats",
210236
- "flywheel",
210237
- "earnings",
210238
- "billing",
210239
- "telemetry",
210240
- "corpus-test",
210241
- "corpus-run",
210242
- "sessions-scan",
210243
- "cache-clear",
210244
- "register",
210245
- "mode",
210246
- "payment-provider",
210247
- "account",
210248
- "dashboard",
210249
- "capture",
210250
210248
  "status",
210251
- "inspect",
210252
210249
  "stop",
210253
210250
  "restart",
210254
210251
  "serve",
210255
210252
  "upgrade",
210256
210253
  "update",
210257
- "get",
210258
- "go",
210259
- "submit",
210260
- "snap",
210261
- "click",
210262
- "fill",
210263
- "type",
210264
- "press",
210265
- "select",
210266
- "scroll",
210267
- "screenshot",
210268
- "text",
210269
- "markdown",
210270
- "cookies",
210254
+ "create",
210255
+ "act",
210256
+ "read",
210257
+ "exec",
210258
+ "fb",
210259
+ "contract",
210260
+ "contract-bridge",
210261
+ "contribute",
210262
+ "sandbox-replay",
210271
210263
  "wallet",
210272
- "eval",
210273
- "back",
210274
- "forward",
210275
- "sync",
210276
- "close",
210277
- "connect-chrome",
210278
- "stats",
210279
- "flywheel",
210280
- "earnings",
210264
+ "auth-capture",
210265
+ "login",
210266
+ "browse-cookies",
210267
+ "register",
210268
+ "mode",
210269
+ "payment-provider",
210281
210270
  "billing",
210282
210271
  "telemetry",
210272
+ "cache-clear",
210273
+ "sessions-scan",
210283
210274
  "corpus-test",
210284
210275
  "corpus-run",
210285
- "sessions-scan",
210286
- "cache-clear",
210287
- "register",
210288
- "mode",
210289
- "account",
210290
- "dashboard",
210291
- "capture",
210292
- "contract-bridge"
210276
+ "flywheel",
210277
+ "earnings",
210278
+ "connect-chrome"
210293
210279
  ]);
210294
210280
  if (!KNOWN_COMMANDS.has(command2)) {
210295
210281
  const pack = findSitePack(command2);
package/runtime/mcp.js CHANGED
@@ -34015,10 +34015,13 @@ function updateCapturePipelineSettings(update) {
34015
34015
  });
34016
34016
  return next;
34017
34017
  }
34018
- function getBrowserAttachEnabled() {
34018
+ function getBrowserAttachPreference() {
34019
34019
  const raw = loadRawConfig();
34020
34020
  const browser = raw.browser && typeof raw.browser === "object" ? raw.browser : {};
34021
- return browser.attach_existing_chrome === true;
34021
+ return typeof browser.attach_existing_chrome === "boolean" ? browser.attach_existing_chrome : undefined;
34022
+ }
34023
+ function getBrowserAttachEnabled() {
34024
+ return getBrowserAttachPreference() !== false;
34022
34025
  }
34023
34026
  function setBrowserAttachEnabled(enabled) {
34024
34027
  const raw = loadRawConfig();
@@ -34168,6 +34171,7 @@ __export(exports_client, {
34168
34171
  discoverTabs: () => discoverTabs,
34169
34172
  closeTab: () => closeTab,
34170
34173
  click: () => click,
34174
+ chromeCdpAttachLaunchArgs: () => chromeCdpAttachLaunchArgs,
34171
34175
  bestEffortRehydratePlugins: () => bestEffortRehydratePlugins,
34172
34176
  authProfileSave: () => authProfileSave,
34173
34177
  authProfileLoad: () => authProfileLoad,
@@ -34255,14 +34259,15 @@ function resolveKuriLaunchConfig(env = process.env) {
34255
34259
  }
34256
34260
  const cleanRoom = envFlag(env.UNBROWSE_LOCAL_ONLY) || envFlag(env.KURI_CLEAN_ROOM);
34257
34261
  const disableCdpAttach = envFlag(env.KURI_DISABLE_CDP_ATTACH);
34258
- const explicitAttachEnv = envFlag(env.KURI_ATTACH_EXISTING_CHROME);
34259
- let attachEnabledBySetting = false;
34262
+ const explicitAttachEnv = env.KURI_ATTACH_EXISTING_CHROME;
34263
+ const attachByEnv = explicitAttachEnv === undefined ? undefined : !falseyEnv(explicitAttachEnv);
34264
+ let attachPreference;
34260
34265
  try {
34261
- attachEnabledBySetting = getBrowserAttachEnabled() === true;
34266
+ attachPreference = getBrowserAttachPreference();
34262
34267
  } catch {
34263
- attachEnabledBySetting = false;
34268
+ attachPreference = undefined;
34264
34269
  }
34265
- const attachToExistingChrome = (explicitAttachEnv || attachEnabledBySetting) && !disableCdpAttach && !cleanRoom;
34270
+ const attachToExistingChrome = (attachByEnv ?? attachPreference ?? true) && !disableCdpAttach && !cleanRoom;
34266
34271
  return {
34267
34272
  headless,
34268
34273
  attachToExistingChrome
@@ -34455,11 +34460,7 @@ async function ensureUserChromeRunning(state) {
34455
34460
  state.cdpPort = port;
34456
34461
  log("kuri", `launching user Chrome with CDP on port ${port}`);
34457
34462
  try {
34458
- const child = spawn(chromeBin, [
34459
- `--remote-debugging-port=${port}`,
34460
- "--no-first-run",
34461
- "--no-default-browser-check"
34462
- ], {
34463
+ const child = spawn(chromeBin, chromeCdpAttachLaunchArgs(port), {
34463
34464
  stdio: "ignore",
34464
34465
  detached: true
34465
34466
  });
@@ -34482,6 +34483,20 @@ async function ensureUserChromeRunning(state) {
34482
34483
  state.cdpPort = null;
34483
34484
  }
34484
34485
  }
34486
+ function chromeCdpAttachLaunchArgs(port, platform = process.platform) {
34487
+ const args = [
34488
+ `--remote-debugging-port=${port}`,
34489
+ "--no-first-run",
34490
+ "--no-default-browser-check",
34491
+ "--password-store=basic",
34492
+ "--disable-save-password-bubble",
34493
+ "--disable-features=PasswordManagerOnboarding,AutofillServerCommunication"
34494
+ ];
34495
+ if (platform === "darwin") {
34496
+ args.push("--use-mock-keychain");
34497
+ }
34498
+ return args;
34499
+ }
34485
34500
  async function terminateBrokerOnPort(port) {
34486
34501
  try {
34487
34502
  const output = execFileSync("lsof", ["-tiTCP:" + String(port), "-sTCP:LISTEN"], {
@@ -34507,7 +34522,11 @@ async function reuseHealthyBrokerIfPossible(state, launchConfig, deps = {}) {
34507
34522
  state.ready = true;
34508
34523
  const cdpAvailable = deps.isChromeCdpAvailable ?? isChromeCdpAvailable;
34509
34524
  const discover = deps.discoverCdpPort ?? discoverCdpPort;
34510
- await discover(state);
34525
+ if (launchConfig.attachToExistingChrome || state.managedChrome) {
34526
+ await discover(state);
34527
+ } else {
34528
+ state.cdpPort = null;
34529
+ }
34511
34530
  if (!state.cdpPort && launchConfig.attachToExistingChrome) {
34512
34531
  const ensureChrome = deps.ensureUserChromeRunning ?? ensureUserChromeRunning;
34513
34532
  await ensureChrome(state);
@@ -34518,7 +34537,7 @@ async function reuseHealthyBrokerIfPossible(state, launchConfig, deps = {}) {
34518
34537
  const syncTabs = deps.ensureTabsDiscovered ?? ensureTabsDiscovered;
34519
34538
  await syncTabs(state).catch(() => {});
34520
34539
  const tabs = await (deps.listTabs ?? listRegisteredTabs)(state).catch(() => []);
34521
- if (state.cdpPort) {
34540
+ if (state.cdpPort && (launchConfig.attachToExistingChrome || state.managedChrome)) {
34522
34541
  return true;
34523
34542
  }
34524
34543
  if (tabs.length > 0) {
@@ -36159,7 +36178,7 @@ var init_cached_resolution = __esm(() => {
36159
36178
  });
36160
36179
 
36161
36180
  // .tmp-runtime-src/build-info.generated.ts
36162
- var BUILD_RELEASE_VERSION = "9.3.3", BUILD_GIT_SHA = "88984f4881ae", BUILD_CODE_HASH = "5d9ebf619c61", BUILD_RELEASE_MANIFEST_BASE64 = "eyJzY2hlbWFfdmVyc2lvbiI6MSwicmVsZWFzZV92ZXJzaW9uIjoiOS4zLjMiLCJnaXRfc2hhIjoiODg5ODRmNDg4MWFlIiwiY29kZV9oYXNoIjoiNWQ5ZWJmNjE5YzYxIiwidHJhY2VfdmVyc2lvbiI6IjVkOWViZjYxOWM2MUA4ODk4NGY0ODgxYWUiLCJpc3N1ZWRfYXQiOiIyMDI2LTA2LTE1VDAzOjM3OjA5LjM5M1oifQ", BUILD_RELEASE_MANIFEST_SIGNATURE = "wxzvy30_AUnlGvlKbLRABlSN53ZK2JJXFyGQeafNpHU", BUILD_DEFAULT_BACKEND_URL = "https://beta-api.unbrowse.ai", BUILD_DEFAULT_PROFILE = "";
36181
+ var BUILD_RELEASE_VERSION = "9.3.5", BUILD_GIT_SHA = "e1eab1024082", BUILD_CODE_HASH = "5d9ebf619c61", BUILD_RELEASE_MANIFEST_BASE64 = "eyJzY2hlbWFfdmVyc2lvbiI6MSwicmVsZWFzZV92ZXJzaW9uIjoiOS4zLjUiLCJnaXRfc2hhIjoiZTFlYWIxMDI0MDgyIiwiY29kZV9oYXNoIjoiNWQ5ZWJmNjE5YzYxIiwidHJhY2VfdmVyc2lvbiI6IjVkOWViZjYxOWM2MUBlMWVhYjEwMjQwODIiLCJpc3N1ZWRfYXQiOiIyMDI2LTA2LTE1VDA1OjQ1OjE2Ljk3NVoifQ", BUILD_RELEASE_MANIFEST_SIGNATURE = "AyLsG9O87EuwlERZ8PWOwgHjdrQ0VtmVXOsrwVp4hag", BUILD_DEFAULT_BACKEND_URL = "https://beta-api.unbrowse.ai", BUILD_DEFAULT_PROFILE = "";
36163
36182
 
36164
36183
  // .tmp-runtime-src/version.ts
36165
36184
  import { createHash as createHash3 } from "crypto";
@@ -96608,8 +96627,7 @@ __export(exports_proxy_fetch, {
96608
96627
  resolveEgressProxy: () => resolveEgressProxy,
96609
96628
  proxiedFetchOnce: () => proxiedFetchOnce,
96610
96629
  iproyalStickySuffix: () => iproyalStickySuffix,
96611
- egressProxyArg: () => egressProxyArg,
96612
- PROXYKINGDOM_DEFAULT_URL: () => PROXYKINGDOM_DEFAULT_URL
96630
+ egressProxyArg: () => egressProxyArg
96613
96631
  });
96614
96632
  import { randomBytes as randomBytes4 } from "node:crypto";
96615
96633
  import { readFileSync as readFileSync15, writeFileSync as writeFileSync10, mkdirSync as mkdirSync12, statSync as statSync2 } from "node:fs";
@@ -96685,10 +96703,11 @@ function resolveEgressProxy(env = process.env) {
96685
96703
  if (iproyal)
96686
96704
  return iproyal;
96687
96705
  const override = env.UNBROWSE_PROXYKINGDOM_URL?.trim();
96688
- const pk = override || PROXYKINGDOM_DEFAULT_URL;
96689
- if (peekFailure(pk, "proxy") === "structural")
96706
+ if (!override)
96707
+ return;
96708
+ if (peekFailure(override, "proxy") === "structural")
96690
96709
  return;
96691
- return pk;
96710
+ return override;
96692
96711
  }
96693
96712
  function egressProxyArg(env = process.env) {
96694
96713
  const url = resolveEgressProxy(env);
@@ -96788,7 +96807,7 @@ async function x402ProxyAuthorization(proxyUrl = resolveEgressProxy()) {
96788
96807
  };
96789
96808
  }
96790
96809
  }
96791
- var STICKY_SESSION_MAX_AGE_MS, _processStickyFallback, PROXYKINGDOM_DEFAULT_URL = "https://proxykingdom.cn2.ai", _cachedProxyAuth = null;
96810
+ var STICKY_SESSION_MAX_AGE_MS, _processStickyFallback, _cachedProxyAuth = null;
96792
96811
  var init_proxy_fetch = __esm(() => {
96793
96812
  init_x402_fetch();
96794
96813
  init_failure_cache();
Binary file
@@ -2,7 +2,7 @@
2
2
  "repo_url": "https://github.com/justrach/kuri.git",
3
3
  "branch": "adding-extensions",
4
4
  "source_sha": "149881254046a20778f642b69f20f0c6468f6fb4",
5
- "built_at": "2026-06-15T03:19:24.649Z",
5
+ "built_at": "2026-06-15T05:27:00.430Z",
6
6
  "binaries": {
7
7
  "darwin-arm64": {
8
8
  "zig_target": "aarch64-macos",
@@ -21,11 +21,11 @@
21
21
  },
22
22
  "linux-x64": {
23
23
  "zig_target": "x86_64-linux",
24
- "sha256": "ca9c958d7079b050892c8929bad64b1f634ccf5089ede9896bb068cc45d9fcba"
24
+ "sha256": "4974f2c6b88bf0b1df2538300ced7b68d72ef659f6c650a53c672762bcf42081"
25
25
  },
26
26
  "win-x64": {
27
27
  "zig_target": "x86_64-windows-gnu",
28
- "sha256": "ffec1ebe7901963544f97e2651b1dae37ff79d057707604a514b0c8d3052c1f6",
28
+ "sha256": "2e08cda7f244482d066e9827fe34df66fc735dab8bd84cdcba9996c9e11e0bb0",
29
29
  "source": "pre-staged"
30
30
  }
31
31
  },
@@ -33,22 +33,22 @@
33
33
  "darwin-arm64": {
34
34
  "zig_target": "aarch64-macos",
35
35
  "lib": "libkuri_ffi.dylib",
36
- "sha256": "0b98186ed8ebe3ed1cf3734e5900aeb7367cff07ede4064663bd8de28547fb74"
36
+ "sha256": "27e63fc916c7d8ba8800b7645b9ea3477999bd22caa2d82a8176e8dfda9ca34f"
37
37
  },
38
38
  "darwin-x64": {
39
39
  "zig_target": "x86_64-macos",
40
40
  "lib": "libkuri_ffi.dylib",
41
- "sha256": "f9fc3b4c6935216f6afc3015a4cd1ec0710f08bfe30440f9ca0e935c0cdbf435"
41
+ "sha256": "61890012c141890b59a3da9553afa066258706f31857d8e1e6c6e6b1fa6d9375"
42
42
  },
43
43
  "linux-arm64": {
44
44
  "zig_target": "aarch64-linux",
45
45
  "lib": "libkuri_ffi.so",
46
- "sha256": "d29fedbe361a8d62ab2dd13a4f5eafd0cce054a4f90aefed94fa6aba59f252d3"
46
+ "sha256": "292bc542d5812115f17a8867f8409478f185295d713112cef3dd173e250232a2"
47
47
  },
48
48
  "linux-x64": {
49
49
  "zig_target": "x86_64-linux",
50
50
  "lib": "libkuri_ffi.so",
51
- "sha256": "2fd9308fc0aeb6d545bc598d85293d402918b8670cf43358c940eeb41562949d"
51
+ "sha256": "b2cd98eceee33955f3bfc6a8bf86877f56c06ff8daddabb65be5babff8c1cd48"
52
52
  }
53
53
  }
54
54
  }
Binary file