better-dsh 0.3.1 → 0.3.2

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.
Files changed (72) hide show
  1. package/README.md +6 -5
  2. package/cordis.patch.yml +14 -9
  3. package/docs/20_specs/kernel-provisioning/spec.md +2 -0
  4. package/docs/remote-tools.md +15 -9
  5. package/docs/specs/kernel-provisioning/spec.md +12 -40
  6. package/docs/specs/omp-python-repl-port/runtime-guide.md +3 -1
  7. package/docs/specs/omp-python-repl-port/spec.md +7 -0
  8. package/docs/specs/remote-pty-label/spec.md +2 -0
  9. package/docs/specs/remote-tool-enhancement/spec.md +1 -0
  10. package/lib/BrowserWebSocketTransport.js +4 -0
  11. package/lib/{BrowserWebSocketTransport-wm99h94r.js → BrowserWebSocketTransport2.js} +1 -1
  12. package/lib/LaunchOptions.js +4 -0
  13. package/lib/{LaunchOptions-5eg7E0ye.js → LaunchOptions2.js} +1 -1
  14. package/lib/{NodeWebSocketTransport-D9ysYGLM.js → NodeWebSocketTransport.js} +2 -2
  15. package/lib/NodeWebSocketTransport2.js +4 -0
  16. package/lib/{bidi-CwabFH07.js → bidi.js} +4 -4
  17. package/lib/client/index.js +59 -6
  18. package/lib/compaction/index.d.ts +1 -1
  19. package/lib/compaction/index.js +1 -1
  20. package/lib/failover/index.d.ts +1 -1
  21. package/lib/failover/index.js +1 -1
  22. package/lib/fs-aware/sandbox-plugin.js +1 -1
  23. package/lib/{index-browser-B-9jm12n.js → index-browser.js} +6 -6
  24. package/lib/index.d.ts +2 -12
  25. package/lib/index.js +58 -62
  26. package/lib/kernel-env.d.ts +5 -15
  27. package/lib/kernel-env.js +2 -2
  28. package/lib/kernel-env2.js +76 -0
  29. package/lib/{lsp-server-registry-BcdkHROD.js → lsp-server-registry2.js} +1 -1
  30. package/lib/{main-BeCgUd20.js → main.js} +1 -1
  31. package/lib/{main-Dv_UQqG2.js → main2.js} +1 -1
  32. package/lib/mobile/plugin.d.ts +2 -2
  33. package/lib/mobile/plugin.js +2 -2
  34. package/lib/{puppeteer-core-Dnd7eqel.js → puppeteer-core.js} +9 -9
  35. package/lib/py-sdk.js +1 -1
  36. package/lib/remote/helper-bin/MANIFEST.json +35 -0
  37. package/lib/remote/helper-bin/aarch64-apple-darwin/BUILT-VER +1 -0
  38. package/lib/remote/helper-bin/aarch64-apple-darwin/superd-run +0 -0
  39. package/lib/remote/helper-bin/aarch64-unknown-linux-musl/BUILT-VER +1 -0
  40. package/lib/remote/helper-bin/aarch64-unknown-linux-musl/superd-run +0 -0
  41. package/lib/remote/helper-bin/x86_64-pc-windows-gnu/BUILT-VER +1 -0
  42. package/lib/remote/helper-bin/x86_64-pc-windows-gnu/superd-run.exe +0 -0
  43. package/lib/remote/helper-bin/x86_64-unknown-linux-musl/BUILT-VER +1 -0
  44. package/lib/remote/helper-bin/x86_64-unknown-linux-musl/superd-run +0 -0
  45. package/lib/remote/plugin.d.ts +172 -51
  46. package/lib/remote/plugin.js +2168 -718
  47. package/lib/url-schemes/index.d.ts +11 -11
  48. package/lib/url-schemes/index.js +12 -12
  49. package/lib/{wasm_bg-CNXhHjVg.js → wasm_bg.js} +1 -1
  50. package/lib/web-password.d.ts +7 -7
  51. package/lib/web-password.js +1 -1
  52. package/lib/web-trust.d.ts +1 -1
  53. package/lib/web-trust.js +2 -2
  54. package/lib/{web-trust-D6gJpUMf.js → web-trust2.js} +20 -8
  55. package/lib/welcome-notice.js +1 -1
  56. package/package.json +4 -4
  57. package/scripts/kernel-check.mjs +5 -0
  58. package/lib/BrowserWebSocketTransport-D1aFReu_.js +0 -4
  59. package/lib/LaunchOptions-DxQQ0s-A.js +0 -4
  60. package/lib/NodeWebSocketTransport-BRLjmu2R.js +0 -4
  61. package/lib/kernel-env-BOF0fNHn.js +0 -91
  62. package/scripts/kernel-provision.mjs +0 -5
  63. /package/lib/{chunk-DQxbwPpZ.js → chunk.js} +0 -0
  64. /package/lib/{index-DTDXUe6m.d.ts → index2.d.ts} +0 -0
  65. /package/lib/{lib-C8_jXvwA.js → lib.js} +0 -0
  66. /package/lib/{lsp-server-registry-D4VLs1Sm.js → lsp-server-registry.js} +0 -0
  67. /package/lib/{native-capture-BEByDXYM.js → native-capture.js} +0 -0
  68. /package/lib/{py-sdk-D7klhpWb.js → py-sdk2.js} +0 -0
  69. /package/lib/{util-BHL_dfV_.js → util.js} +0 -0
  70. /package/lib/{web-tree-sitter-CPrPD4J2.js → web-tree-sitter.js} +0 -0
  71. /package/lib/{web-trust-CwZrTBcl.d.ts → web-trust2.d.ts} +0 -0
  72. /package/lib/{wrap-0VA0uFx8.js → wrap.js} +0 -0
package/lib/index.js CHANGED
@@ -1,7 +1,7 @@
1
- import { t as Schema } from "./lib-C8_jXvwA.js";
2
- import { a as RESERVED_ERROR_MEMBERS, i as RESERVED_BINDING_GLOBALS, n as DUNDER_MEMBER, o as ReplRuntime, r as PORTABLE_RESERVED_WORDS, t as isFlatBindableName } from "./py-sdk-D7klhpWb.js";
3
- import { a as resolveKernelEnv } from "./kernel-env-BOF0fNHn.js";
4
- import { t as captureAllTools } from "./native-capture-BEByDXYM.js";
1
+ import { t as Schema } from "./lib.js";
2
+ import { a as RESERVED_ERROR_MEMBERS, i as RESERVED_BINDING_GLOBALS, n as DUNDER_MEMBER, o as ReplRuntime, r as PORTABLE_RESERVED_WORDS, t as isFlatBindableName } from "./py-sdk2.js";
3
+ import { n as resolveKernelEnv } from "./kernel-env2.js";
4
+ import { t as captureAllTools } from "./native-capture.js";
5
5
  import { createRequire } from "node:module";
6
6
  import { Context } from "@deepseek-ai/cordis";
7
7
  import { createHash, randomBytes, randomUUID } from "node:crypto";
@@ -378,6 +378,7 @@ var IpyKernelBridge = class {
378
378
  ],
379
379
  env: {
380
380
  ...process.env,
381
+ ...this.options.env,
381
382
  PYTHONUNBUFFERED: "1",
382
383
  PYTHONIOENCODING: "utf-8",
383
384
  PYTHONDONTWRITEBYTECODE: "1",
@@ -746,7 +747,7 @@ function keyDirectoryName(principal) {
746
747
  */
747
748
  var DashrRuntime = class extends ReplRuntime {
748
749
  static Config = Schema.object({
749
- python: Schema.string().default("python3"),
750
+ python: Schema.string(),
750
751
  startupTimeoutMs: Schema.number().default(3e4),
751
752
  runTimeoutMs: Schema.number().default(12e4),
752
753
  interruptGraceMs: Schema.number().default(2e3),
@@ -756,9 +757,6 @@ var DashrRuntime = class extends ReplRuntime {
756
757
  maxOutputBytes: Schema.number().default(67108864),
757
758
  snapshotDir: Schema.string(),
758
759
  snapshotSizeCapBytes: Schema.number().default(268435456),
759
- kernelEnvDir: Schema.string(),
760
- kernelPythonVersion: Schema.string(),
761
- kernelAutoInstall: Schema.boolean().default(true),
762
760
  username: Schema.string().default("dashr")
763
761
  });
764
762
  language = "python";
@@ -769,8 +767,6 @@ var DashrRuntime = class extends ReplRuntime {
769
767
  kernels = /* @__PURE__ */ new Map();
770
768
  disposed = false;
771
769
  transactions = /* @__PURE__ */ new Map();
772
- /** Lazily-resolved (and, when managed, provisioned) kernel interpreter. */
773
- kernelEnvPromise;
774
770
  constructor(ctx, config) {
775
771
  super(ctx);
776
772
  const profile = ctx.get("profileContext");
@@ -1060,23 +1056,6 @@ var DashrRuntime = class extends ReplRuntime {
1060
1056
  result: value
1061
1057
  };
1062
1058
  }
1063
- /** Resolve (and provision, when managed) the kernel interpreter once per runtime. */
1064
- resolveKernelPython() {
1065
- this.kernelEnvPromise ??= resolveKernelEnv({
1066
- python: this.config.python,
1067
- venvDir: this.config.kernelEnvDir,
1068
- pythonVersion: this.config.kernelPythonVersion,
1069
- autoInstall: this.config.kernelAutoInstall,
1070
- log: (level, message) => {
1071
- if (level === "warn") this.logger.warn(message);
1072
- else this.logger.info(message);
1073
- }
1074
- }).catch((error) => {
1075
- this.kernelEnvPromise = void 0;
1076
- throw error;
1077
- });
1078
- return this.kernelEnvPromise;
1079
- }
1080
1059
  /**
1081
1060
  * Spawn-or-reuse the kernel for one key. The lazy map guarantees one
1082
1061
  * entry is created here and nowhere else, so a key that never runs never
@@ -1088,11 +1067,16 @@ var DashrRuntime = class extends ReplRuntime {
1088
1067
  let entry = this.kernels.get(key);
1089
1068
  if (!entry) {
1090
1069
  const kernelCwd = cwd && existsSync(cwd) ? cwd : void 0;
1070
+ const environment = await resolveKernelEnv({
1071
+ python: this.config.python,
1072
+ cwd: kernelCwd
1073
+ });
1091
1074
  entry = {
1092
1075
  key,
1093
1076
  cwd: kernelCwd,
1094
1077
  bridge: new IpyKernelBridge({
1095
- python: (await this.resolveKernelPython()).python,
1078
+ python: environment.python,
1079
+ env: environment.env,
1096
1080
  ...kernelCwd ? { cwd: kernelCwd } : {},
1097
1081
  startupTimeoutMs: this.config.startupTimeoutMs,
1098
1082
  disposeTimeoutMs: this.config.disposeTimeoutMs,
@@ -1425,8 +1409,7 @@ const agentExecutor = async (rawArgs, exec, deps) => {
1425
1409
  if (!exec.agent) return { error: "agent() requires a calling agent (this run has no agent to delegate from)" };
1426
1410
  const subagents = deps.requireSubagents?.();
1427
1411
  if (!subagents) return { error: "agent() is unavailable: no ctx.subagents service is mounted in this composition" };
1428
- const delegation = {
1429
- label: description,
1412
+ const request = {
1430
1413
  prompt: [{
1431
1414
  type: "text",
1432
1415
  text: prompt
@@ -1435,30 +1418,60 @@ const agentExecutor = async (rawArgs, exec, deps) => {
1435
1418
  maxDepth: NATIVE_MAX_DEPTH
1436
1419
  };
1437
1420
  const runInBackground = a["run_in_background"] ?? true;
1421
+ const legacyRequest = {
1422
+ label: description,
1423
+ ...request,
1424
+ signal: exec.signal
1425
+ };
1426
+ if (subagents.startActivation === void 0) try {
1427
+ if (runInBackground) {
1428
+ if (subagents.startContinuable === void 0) return { error: "agent() is unavailable: this DSH host exposes neither managed activations nor the legacy continuable seam" };
1429
+ return {
1430
+ kind: "continuable",
1431
+ subagentId: (await subagents.startContinuable({
1432
+ provider,
1433
+ request: legacyRequest
1434
+ })).childId
1435
+ };
1436
+ }
1437
+ if (subagents.start === void 0) return { error: "agent() is unavailable: this DSH host exposes neither managed activations nor the legacy one-shot seam" };
1438
+ const run = await subagents.start(provider, legacyRequest);
1439
+ try {
1440
+ const result = await run.result;
1441
+ if (result.stopReason !== "completed") return { error: `agent() ${stopReasonError(result.stopReason)}` };
1442
+ return {
1443
+ kind: "foreground",
1444
+ subagentId: run.id,
1445
+ output: result.output
1446
+ };
1447
+ } finally {
1448
+ await run.dispose();
1449
+ }
1450
+ } catch (error) {
1451
+ return { error: `agent() failed: ${error instanceof Error ? error.message : String(error)}` };
1452
+ }
1438
1453
  try {
1454
+ const activation = await subagents.startActivation({
1455
+ provider,
1456
+ label: description,
1457
+ request,
1458
+ signal: exec.signal,
1459
+ delivery: runInBackground ? "parent" : "caller"
1460
+ });
1439
1461
  if (runInBackground) return {
1440
1462
  kind: "continuable",
1441
- subagentId: (await subagents.startContinuable({
1442
- provider,
1443
- label: description,
1444
- request: delegation,
1445
- signal: exec.signal
1446
- })).childId
1463
+ subagentId: activation.childId
1447
1464
  };
1448
- const run = await subagents.start(provider, {
1449
- ...delegation,
1450
- signal: exec.signal
1451
- });
1452
1465
  try {
1453
- const result = await run.result;
1466
+ const result = await activation.result;
1454
1467
  if (result.stopReason !== "completed") return { error: `agent() ${stopReasonError(result.stopReason)}` };
1455
1468
  return {
1456
1469
  kind: "foreground",
1457
- runId: run.id,
1470
+ subagentId: activation.childId,
1458
1471
  output: result.output
1459
1472
  };
1460
1473
  } finally {
1461
- await run.dispose();
1474
+ await activation.dispose();
1462
1475
  }
1463
1476
  } catch (error) {
1464
1477
  return { error: `agent() failed: ${error instanceof Error ? error.message : String(error)}` };
@@ -1666,7 +1679,7 @@ function createAgentBridgeTools(deps) {
1666
1679
  type: "string",
1667
1680
  enum: ["foreground"]
1668
1681
  },
1669
- runId: { type: "string" },
1682
+ subagentId: { type: "string" },
1670
1683
  output: { type: "json" }
1671
1684
  },
1672
1685
  additionalProperties: false
@@ -2496,10 +2509,7 @@ const RUNTIME_CONFIG_KEYS = [
2496
2509
  "maxOutputBytes",
2497
2510
  "snapshotDir",
2498
2511
  "snapshotSizeCapBytes",
2499
- "username",
2500
- "kernelEnvDir",
2501
- "kernelPythonVersion",
2502
- "kernelAutoInstall"
2512
+ "username"
2503
2513
  ];
2504
2514
  /** The runtime slice of the merged config — the keys `DashrRuntime` owns. */
2505
2515
  function pickRuntimeConfig(config) {
@@ -2511,20 +2521,6 @@ function apply(ctx, config) {
2511
2521
  ctx.plugin(DashrRuntime, pickRuntimeConfig(config));
2512
2522
  const logger = ctx.logger("dashr-repl");
2513
2523
  const maxParallel = resolveMaxParallelSubCalls(config.maxParallelSubCalls);
2514
- {
2515
- const kernelConfig = pickRuntimeConfig(config);
2516
- resolveKernelEnv({
2517
- python: kernelConfig.python,
2518
- venvDir: kernelConfig.kernelEnvDir,
2519
- pythonVersion: kernelConfig.kernelPythonVersion,
2520
- autoInstall: kernelConfig.kernelAutoInstall ?? true,
2521
- log: (level, message) => {
2522
- logger[level](message);
2523
- }
2524
- }).catch((error) => {
2525
- logger.error(`dashr-repl: spin-up kernel check failed (non-blocking): ${error instanceof Error ? error.message : String(error)}`);
2526
- });
2527
- }
2528
2524
  ctx.inject(["replRuntime"], (runtimeCtx) => {
2529
2525
  const requireRuntime = () => {
2530
2526
  const runtime = runtimeCtx.get("replRuntime");
@@ -1,26 +1,16 @@
1
1
  //#region src/kernel-env.d.ts
2
2
  declare const PACKAGE_ROOT: string;
3
- declare const AUTO_PYTHON_SENTINEL = "python3";
4
- declare const DEFAULT_KERNEL_PYTHON_VERSION = "3.11";
5
- declare const DILL_VERSION = "0.4.1";
6
3
  interface KernelEnv {
7
4
  python: string;
8
- managed: boolean;
9
- venvDir: string | undefined;
10
- /** Snapshot implementation is packaged rather than installed into Python. */
11
- dill: boolean;
5
+ env: NodeJS.ProcessEnv;
12
6
  version: string;
13
7
  }
14
8
  interface ResolveKernelEnvOptions {
9
+ /** An explicit path or executable name bypasses automatic discovery. */
15
10
  python?: string;
16
- venvDir?: string;
17
- pythonVersion?: string;
18
- autoInstall?: boolean;
19
- log?: (level: 'info' | 'warn', message: string) => void;
11
+ /** Session workspace, used for existing project environments and relative paths. */
12
+ cwd?: string;
20
13
  }
21
- declare function uvToolEnv(venvDir: string): NodeJS.ProcessEnv;
22
- declare function uvVenvArgs(dir: string, version: string): string[];
23
- declare function venvFallbackArgs(dir: string): string[];
24
14
  declare function resolveKernelEnv(options?: ResolveKernelEnvOptions): Promise<KernelEnv>;
25
15
  //#endregion
26
- export { AUTO_PYTHON_SENTINEL, DEFAULT_KERNEL_PYTHON_VERSION, DILL_VERSION, KernelEnv, PACKAGE_ROOT, ResolveKernelEnvOptions, resolveKernelEnv, uvToolEnv, uvVenvArgs, venvFallbackArgs };
16
+ export { KernelEnv, PACKAGE_ROOT, ResolveKernelEnvOptions, resolveKernelEnv };
package/lib/kernel-env.js CHANGED
@@ -1,3 +1,3 @@
1
- import { a as resolveKernelEnv, c as venvFallbackArgs, i as PACKAGE_ROOT, n as DEFAULT_KERNEL_PYTHON_VERSION, o as uvToolEnv, r as DILL_VERSION, s as uvVenvArgs, t as AUTO_PYTHON_SENTINEL } from "./kernel-env-BOF0fNHn.js";
1
+ import { n as resolveKernelEnv, t as PACKAGE_ROOT } from "./kernel-env2.js";
2
2
 
3
- export { AUTO_PYTHON_SENTINEL, DEFAULT_KERNEL_PYTHON_VERSION, DILL_VERSION, PACKAGE_ROOT, resolveKernelEnv, uvToolEnv, uvVenvArgs, venvFallbackArgs };
3
+ export { PACKAGE_ROOT, resolveKernelEnv };
@@ -0,0 +1,76 @@
1
+ import { existsSync } from "node:fs";
2
+ import { delimiter, dirname, isAbsolute, join, resolve } from "node:path";
3
+ import { execFile } from "node:child_process";
4
+ import { fileURLToPath } from "node:url";
5
+ import { homedir } from "node:os";
6
+ import { promisify } from "node:util";
7
+
8
+ //#region src/kernel-env.ts
9
+ const exec = promisify(execFile);
10
+ const PACKAGE_ROOT = resolve(dirname(fileURLToPath(import.meta.url)), "..");
11
+ function venvPython(dir) {
12
+ return join(dir, process.platform === "win32" ? "Scripts/python.exe" : "bin/python");
13
+ }
14
+ function activate(dir) {
15
+ const bin = dirname(venvPython(dir));
16
+ return {
17
+ ...process.env,
18
+ VIRTUAL_ENV: dir,
19
+ PATH: [bin, process.env.PATH].filter(Boolean).join(delimiter)
20
+ };
21
+ }
22
+ function explicitPath(python, cwd) {
23
+ const expanded = python === "~" ? homedir() : python.startsWith("~/") ? join(homedir(), python.slice(2)) : python;
24
+ return isAbsolute(expanded) || /[/\\]/.test(expanded) ? resolve(cwd, expanded) : expanded;
25
+ }
26
+ async function probe(python, env, cwd) {
27
+ const { stdout } = await exec(python, ["-c", "import ast, asyncio, json, sys; assert sys.version_info >= (3, 9), \"Packaged dill checkpoints require Python >=3.9\"; print(json.dumps({\"python\": sys.executable, \"version\": sys.version.split()[0]}))"], {
28
+ timeout: 15e3,
29
+ cwd,
30
+ env: {
31
+ ...env,
32
+ PYTHONDONTWRITEBYTECODE: "1"
33
+ }
34
+ });
35
+ const result = JSON.parse(stdout.trim());
36
+ if (!isAbsolute(result.python) || !result.version) throw new Error("Interpreter did not report an absolute executable and version");
37
+ return {
38
+ ...result,
39
+ env
40
+ };
41
+ }
42
+ async function resolveKernelEnv(options = {}) {
43
+ const cwd = resolve(options.cwd ?? process.cwd());
44
+ if (options.python) {
45
+ const python = explicitPath(options.python, cwd);
46
+ const venv$1 = dirname(dirname(python));
47
+ const env = isAbsolute(python) && existsSync(join(venv$1, "pyvenv.cfg")) ? activate(venv$1) : { ...process.env };
48
+ try {
49
+ return await probe(python, env, cwd);
50
+ } catch (error) {
51
+ throw new Error(`Could not use configured Python ${JSON.stringify(options.python)}: ${error instanceof Error ? error.message : String(error)}. Configure python with a working Python >=3.9 interpreter.`);
52
+ }
53
+ }
54
+ const active = process.env.VIRTUAL_ENV || process.env.CONDA_PREFIX;
55
+ const project = [join(cwd, ".venv"), join(cwd, "venv")].find(existsSync);
56
+ const venv = active || project;
57
+ const candidates = [];
58
+ if (venv && existsSync(venvPython(venv))) candidates.push({
59
+ python: venvPython(venv),
60
+ env: activate(venv)
61
+ });
62
+ for (const python of ["python3", "python"]) candidates.push({
63
+ python,
64
+ env: { ...process.env }
65
+ });
66
+ const failures = [];
67
+ for (const candidate of candidates) try {
68
+ return await probe(candidate.python, candidate.env, cwd);
69
+ } catch (error) {
70
+ failures.push(`${candidate.python}: ${error instanceof Error ? error.message : String(error)}`);
71
+ }
72
+ throw new Error(`No working Python interpreter found. Tried: ${failures.join("; ")}. Install Python >=3.9 on PATH (python3 or python), or configure python with an existing interpreter. Better does not install Python automatically.`);
73
+ }
74
+
75
+ //#endregion
76
+ export { resolveKernelEnv as n, PACKAGE_ROOT as t };
@@ -1,3 +1,3 @@
1
- import { a as primaryServerForFile, c as serversForFile, i as installServer, n as findWorkspaceRoot, o as resolveCommandPath, r as installHintFor, s as serverByName, t as clearCommandProbeCache } from "./lsp-server-registry-D4VLs1Sm.js";
1
+ import { a as primaryServerForFile, c as serversForFile, i as installServer, n as findWorkspaceRoot, o as resolveCommandPath, r as installHintFor, s as serverByName, t as clearCommandProbeCache } from "./lsp-server-registry.js";
2
2
 
3
3
  export { clearCommandProbeCache, findWorkspaceRoot, installHintFor, installServer, primaryServerForFile, resolveCommandPath, serverByName, serversForFile };
@@ -5,11 +5,11 @@ import childProcess, { execFile, execSync, spawn, spawnSync } from "node:child_p
5
5
  import * as http from "node:http";
6
6
  import readline from "node:readline";
7
7
  import { URL as URL$1, urlToHttpOptions } from "node:url";
8
+ import os from "node:os";
8
9
  import { debuglog, promisify } from "node:util";
9
10
  import { mkdir, readdir, symlink, unlink } from "node:fs/promises";
10
11
  import { pipeline } from "node:stream/promises";
11
12
  import { Writable } from "node:stream";
12
- import os from "node:os";
13
13
  import { EventEmitter } from "node:events";
14
14
  import * as https from "node:https";
15
15
 
@@ -1,3 +1,3 @@
1
- import { _ as Browser, a as TimeoutError, b as ChromeReleaseChannel, c as computeSystemExecutablePath, d as InstalledBrowser, f as detectBrowserPlatform, g as resolveDefaultUserDataDir, h as resolveBuildId, i as Process, l as launch, m as getVersionComparator, n as uninstall, o as WEBDRIVER_BIDI_WEBSOCKET_ENDPOINT_REGEX, p as createProfile, r as CDP_WEBSOCKET_ENDPOINT_REGEX, s as computeExecutablePath, t as getInstalledBrowsers, u as Cache, v as BrowserPlatform, y as BrowserTag } from "./main-BeCgUd20.js";
1
+ import { _ as Browser, a as TimeoutError, b as ChromeReleaseChannel, c as computeSystemExecutablePath, d as InstalledBrowser, f as detectBrowserPlatform, g as resolveDefaultUserDataDir, h as resolveBuildId, i as Process, l as launch, m as getVersionComparator, n as uninstall, o as WEBDRIVER_BIDI_WEBSOCKET_ENDPOINT_REGEX, p as createProfile, r as CDP_WEBSOCKET_ENDPOINT_REGEX, s as computeExecutablePath, t as getInstalledBrowsers, u as Cache, v as BrowserPlatform, y as BrowserTag } from "./main.js";
2
2
 
3
3
  export { Browser, BrowserPlatform, BrowserTag, CDP_WEBSOCKET_ENDPOINT_REGEX, Cache, ChromeReleaseChannel, InstalledBrowser, Process, TimeoutError, WEBDRIVER_BIDI_WEBSOCKET_ENDPOINT_REGEX, computeExecutablePath, computeSystemExecutablePath, createProfile, detectBrowserPlatform, getInstalledBrowsers, getVersionComparator, launch, resolveBuildId, resolveDefaultUserDataDir, uninstall };
@@ -1,5 +1,5 @@
1
- import { t as Schema } from "../index-DTDXUe6m.js";
2
- import { r as MobileConfig } from "../web-trust-CwZrTBcl.js";
1
+ import { t as Schema } from "../index2.js";
2
+ import { r as MobileConfig } from "../web-trust2.js";
3
3
  import { Context } from "@deepseek-ai/cordis";
4
4
 
5
5
  //#region src/mobile/plugin.d.ts
@@ -1,5 +1,5 @@
1
- import { t as Schema } from "../lib-C8_jXvwA.js";
2
- import { r as buildMobileScript } from "../web-trust-D6gJpUMf.js";
1
+ import { t as Schema } from "../lib.js";
2
+ import { r as buildMobileScript } from "../web-trust2.js";
3
3
  import { Context } from "@deepseek-ai/cordis";
4
4
 
5
5
  //#region src/mobile/plugin.ts
@@ -1,16 +1,16 @@
1
- import { _ as Browser$1, a as TimeoutError$1, c as computeSystemExecutablePath, f as detectBrowserPlatform, h as resolveBuildId, l as launch$1, n as uninstall, o as WEBDRIVER_BIDI_WEBSOCKET_ENDPOINT_REGEX, p as createProfile, r as CDP_WEBSOCKET_ENDPOINT_REGEX, s as computeExecutablePath, t as getInstalledBrowsers } from "./main-BeCgUd20.js";
2
- import { C as unitToPixels, Ct as getCapturedLogs, E as paperFormats, F as bufferCount, J as fromEvent, K as firstValueFrom, M as assert, Q as map, S as timeout, St as debug, T as withSourcePuppeteerURLIfNone, Tt as environment, W as filter, Z as lastValueFrom, _ as isNumber, _t as PuppeteerError, a as UTILITY_WORLD_NAME, at as race, b as isString, bt as TouchError, c as evaluationString, d as fromEmitterEvent, dt as takeUntil, f as getReadableAsTypedArray, ft as tap, g as isDate, gt as ProtocolError, h as getSourceUrlComment, ht as ConnectionClosedError, i as SOURCE_URL_REGEX, l as filterAsync, m as getSourcePuppeteerURLIfAvailable, mt as timer, n as NETWORK_IDLE_TIME, o as debugCatchError, p as getReadableFromProtocolStream, q as from, r as PuppeteerURL, s as debugError, t as DEFAULT_VIEWPORT, u as fromAbortSignal, v as isPlainObject, vt as TargetCloseError, w as validateDialogType, wt as setLogCapture, x as parsePDFOptions, xt as UnsupportedOperation, y as isRegExp, yt as TimeoutError, z as concatMap } from "./util-BHL_dfV_.js";
3
- import { $ as pageBindingInitString, $n as Deferred, $t as scriptInjector, A as NetworkManager, An as guarded, At as DEFAULT_INTERCEPT_RESOLUTION_PRIORITY, B as MAIN_WORLD, Bn as AsyncDisposableStack, Bt as throwIfDetached, C as WebMCPToolCall, Cn as NodeLocator, Ct as WebWorkerEvent, D as CdpTouchscreen, Dn as DeviceRequestPrompt, Dt as normalizeHeaderValue, E as CdpTouchHandle, En as TimeoutSettings, Et as WaitTask, F as CdpFrame, Fn as Browser, Ft as headersArray, G as CdpJSHandle, Gn as asyncDisposeSymbol, Gt as XPathQueryHandler, H as FrameManagerEvent, Hn as DisposableStack, Ht as bindIsolatedHandle, I as referrerPolicyToProtocol, In as WEB_PERMISSION_TO_PROTOCOL_PERMISSION, It as Dialog, J as addPageBinding, Jn as CallbackRegistry, Jt as PQueryHandler, K as releaseObject, Kn as disposeSymbol, Kt as TextQueryHandler, L as LifecycleWatcher, Ln as CDPSession, Lt as Accessibility, M as CdpHTTPResponse, Mt as InterceptResolutionAction, N as CdpHTTPRequest, Nt as STATUS_TEXTS, O as _keyDefinitions, On as BrowserContext, Ot as SecurityDetails, P as FrameTree, Pn as Mutex, Pt as handleError, Q as createEvaluationError, Qn as rewriteError, Qt as ScriptInjector, R as IsolatedWorld, Rn as CDPSessionEvent, Rt as Frame, S as WebMCPTool, Sn as MappedLocator, St as WebWorker, T as CdpMouse, Tn as RaceLocator, Tt as TaskManager, U as ExecutionContext, Un as DisposableStackPolyfill, Ut as JSHandle, V as PUPPETEER_WORLD, Vn as AsyncDisposableStackPolyfill, Vt as ElementHandle, W as CdpElementHandle, Wn as SuppressedError, Wt as getQueryHandlerAndSelector, X as createClientError, Xn as isErrnoException, Xt as CustomQueryHandlerRegistry, Y as convertConsoleMessageLevel, Yn as createProtocolErrorMessage, Yt as PierceQueryHandler, Z as createConsoleMessage, Zn as isErrorLike, Zt as customQueryHandlers, _ as CdpBrowserContext, _n as DelegatedLocator, _t as Mouse, a as KnownDevices, at as CdpPreloadScript, b as convertSameSiteFromPuppeteerToCdp, bn as Locator, bt as createIncrementalIdGenerator, c as _connectToCdpBrowser, cn as Tracing, ct as isTargetClosedError, d as CdpTarget, dn as CSSCoverage, dt as ConsoleMessage, en as ARIAQueryHandler, et as valueFromJSHandle, f as DevToolsTarget, fn as Coverage, ft as CdpBluetoothEmulation, g as WorkerTarget, gn as supportedMetrics, gt as Keyboard, h as PageTarget, hn as setDefaultScreenshotOptions, ht as TargetType, i as assertSupportedUrlRestrictions, it as CdpDeviceRequestPromptManager, j as NetworkEventManager, jt as HTTPRequest, k as FrameManager, kt as HTTPResponse, l as CdpBrowser, ln as EmulatedState, lt as CdpCDPSession, m as OtherTarget, mn as Page, mt as Target, n as TaskQueue, nn as LazyArg, nt as valueFromRemoteObjectReference, o as PredefinedNetworkConditions, on as AsyncIterableUtil, ot as CdpDialog, p as InitializationStatus, pn as JSCoverage, pt as Binding, q as CDP_BINDING_PREFIX, qn as Callback, qt as parsePSelectors, r as Puppeteer, rn as transposeIterableHandle, rt as CdpDeviceRequestPrompt, s as ExtensionTransport, sn as FileChooser, st as Connection, t as PUPPETEER_REVISIONS, tn as QueryHandler, tt as valueFromPrimitiveRemoteObject, u as TargetManager, un as EmulationManager, ut as NetworkManagerEvent, v as CdpPage, vn as FilteredLocator, vt as MouseButton, w as CdpKeyboard, wn as RETRY_DELAY, wt as Realm, x as WebMCP, xn as LocatorEvent, xt as Extension, y as convertCookiesPartitionKeyFromPuppeteerToCdp, yn as FunctionLocator, yt as Touchscreen, z as CdpWebWorker, zn as EventEmitter, zt as FrameEvent } from "./index-browser-B-9jm12n.js";
4
- import { t as BrowserWebSocketTransport } from "./BrowserWebSocketTransport-wm99h94r.js";
5
- import { t as convertPuppeteerChannelToBrowsersChannel } from "./LaunchOptions-5eg7E0ye.js";
6
- import { t as NodeWebSocketTransport } from "./NodeWebSocketTransport-D9ysYGLM.js";
1
+ import { _ as Browser$1, a as TimeoutError$1, c as computeSystemExecutablePath, f as detectBrowserPlatform, h as resolveBuildId, l as launch$1, n as uninstall, o as WEBDRIVER_BIDI_WEBSOCKET_ENDPOINT_REGEX, p as createProfile, r as CDP_WEBSOCKET_ENDPOINT_REGEX, s as computeExecutablePath, t as getInstalledBrowsers } from "./main.js";
2
+ import { C as unitToPixels, Ct as getCapturedLogs, E as paperFormats, F as bufferCount, J as fromEvent, K as firstValueFrom, M as assert, Q as map, S as timeout, St as debug, T as withSourcePuppeteerURLIfNone, Tt as environment, W as filter, Z as lastValueFrom, _ as isNumber, _t as PuppeteerError, a as UTILITY_WORLD_NAME, at as race, b as isString, bt as TouchError, c as evaluationString, d as fromEmitterEvent, dt as takeUntil, f as getReadableAsTypedArray, ft as tap, g as isDate, gt as ProtocolError, h as getSourceUrlComment, ht as ConnectionClosedError, i as SOURCE_URL_REGEX, l as filterAsync, m as getSourcePuppeteerURLIfAvailable, mt as timer, n as NETWORK_IDLE_TIME, o as debugCatchError, p as getReadableFromProtocolStream, q as from, r as PuppeteerURL, s as debugError, t as DEFAULT_VIEWPORT, u as fromAbortSignal, v as isPlainObject, vt as TargetCloseError, w as validateDialogType, wt as setLogCapture, x as parsePDFOptions, xt as UnsupportedOperation, y as isRegExp, yt as TimeoutError, z as concatMap } from "./util.js";
3
+ import { $ as pageBindingInitString, $n as Deferred, $t as scriptInjector, A as NetworkManager, An as guarded, At as DEFAULT_INTERCEPT_RESOLUTION_PRIORITY, B as MAIN_WORLD, Bn as AsyncDisposableStack, Bt as throwIfDetached, C as WebMCPToolCall, Cn as NodeLocator, Ct as WebWorkerEvent, D as CdpTouchscreen, Dn as DeviceRequestPrompt, Dt as normalizeHeaderValue, E as CdpTouchHandle, En as TimeoutSettings, Et as WaitTask, F as CdpFrame, Fn as Browser, Ft as headersArray, G as CdpJSHandle, Gn as asyncDisposeSymbol, Gt as XPathQueryHandler, H as FrameManagerEvent, Hn as DisposableStack, Ht as bindIsolatedHandle, I as referrerPolicyToProtocol, In as WEB_PERMISSION_TO_PROTOCOL_PERMISSION, It as Dialog, J as addPageBinding, Jn as CallbackRegistry, Jt as PQueryHandler, K as releaseObject, Kn as disposeSymbol, Kt as TextQueryHandler, L as LifecycleWatcher, Ln as CDPSession, Lt as Accessibility, M as CdpHTTPResponse, Mt as InterceptResolutionAction, N as CdpHTTPRequest, Nt as STATUS_TEXTS, O as _keyDefinitions, On as BrowserContext, Ot as SecurityDetails, P as FrameTree, Pn as Mutex, Pt as handleError, Q as createEvaluationError, Qn as rewriteError, Qt as ScriptInjector, R as IsolatedWorld, Rn as CDPSessionEvent, Rt as Frame, S as WebMCPTool, Sn as MappedLocator, St as WebWorker, T as CdpMouse, Tn as RaceLocator, Tt as TaskManager, U as ExecutionContext, Un as DisposableStackPolyfill, Ut as JSHandle, V as PUPPETEER_WORLD, Vn as AsyncDisposableStackPolyfill, Vt as ElementHandle, W as CdpElementHandle, Wn as SuppressedError, Wt as getQueryHandlerAndSelector, X as createClientError, Xn as isErrnoException, Xt as CustomQueryHandlerRegistry, Y as convertConsoleMessageLevel, Yn as createProtocolErrorMessage, Yt as PierceQueryHandler, Z as createConsoleMessage, Zn as isErrorLike, Zt as customQueryHandlers, _ as CdpBrowserContext, _n as DelegatedLocator, _t as Mouse, a as KnownDevices, at as CdpPreloadScript, b as convertSameSiteFromPuppeteerToCdp, bn as Locator, bt as createIncrementalIdGenerator, c as _connectToCdpBrowser, cn as Tracing, ct as isTargetClosedError, d as CdpTarget, dn as CSSCoverage, dt as ConsoleMessage, en as ARIAQueryHandler, et as valueFromJSHandle, f as DevToolsTarget, fn as Coverage, ft as CdpBluetoothEmulation, g as WorkerTarget, gn as supportedMetrics, gt as Keyboard, h as PageTarget, hn as setDefaultScreenshotOptions, ht as TargetType, i as assertSupportedUrlRestrictions, it as CdpDeviceRequestPromptManager, j as NetworkEventManager, jt as HTTPRequest, k as FrameManager, kt as HTTPResponse, l as CdpBrowser, ln as EmulatedState, lt as CdpCDPSession, m as OtherTarget, mn as Page, mt as Target, n as TaskQueue, nn as LazyArg, nt as valueFromRemoteObjectReference, o as PredefinedNetworkConditions, on as AsyncIterableUtil, ot as CdpDialog, p as InitializationStatus, pn as JSCoverage, pt as Binding, q as CDP_BINDING_PREFIX, qn as Callback, qt as parsePSelectors, r as Puppeteer, rn as transposeIterableHandle, rt as CdpDeviceRequestPrompt, s as ExtensionTransport, sn as FileChooser, st as Connection, t as PUPPETEER_REVISIONS, tn as QueryHandler, tt as valueFromPrimitiveRemoteObject, u as TargetManager, un as EmulationManager, ut as NetworkManagerEvent, v as CdpPage, vn as FilteredLocator, vt as MouseButton, w as CdpKeyboard, wn as RETRY_DELAY, wt as Realm, x as WebMCP, xn as LocatorEvent, xt as Extension, y as convertCookiesPartitionKeyFromPuppeteerToCdp, yn as FunctionLocator, yt as Touchscreen, z as CdpWebWorker, zn as EventEmitter, zt as FrameEvent } from "./index-browser.js";
4
+ import { t as BrowserWebSocketTransport } from "./BrowserWebSocketTransport2.js";
5
+ import { t as convertPuppeteerChannelToBrowsersChannel } from "./LaunchOptions2.js";
6
+ import { t as NodeWebSocketTransport } from "./NodeWebSocketTransport.js";
7
7
  import fs, { existsSync } from "node:fs";
8
8
  import path, { dirname, join } from "node:path";
9
9
  import { spawn, spawnSync } from "node:child_process";
10
+ import os, { tmpdir } from "node:os";
10
11
  import { debuglog } from "node:util";
11
12
  import { mkdtemp, rename, unlink } from "node:fs/promises";
12
13
  import { PassThrough } from "node:stream";
13
- import os, { tmpdir } from "node:os";
14
14
 
15
15
  //#region node_modules/puppeteer-core/lib/puppeteer/node-env-setup.js
16
16
  environment.value = {
@@ -240,7 +240,7 @@ var BrowserLauncher = class {
240
240
  const bidiOnly = process.env["PUPPETEER_WEBDRIVER_BIDI_ONLY"] === "true";
241
241
  const BiDi = await import(
242
242
  /* webpackIgnore: true */
243
- "./bidi-CwabFH07.js"
243
+ "./bidi.js"
244
244
  );
245
245
  const bidiConnection = await BiDi.connectBidiOverCdp(cdpConnection);
246
246
  return await BiDi.BidiBrowser.create({
@@ -262,7 +262,7 @@ var BrowserLauncher = class {
262
262
  const transport = await NodeWebSocketTransport.create(browserWSEndpoint);
263
263
  const BiDi = await import(
264
264
  /* webpackIgnore: true */
265
- "./bidi-CwabFH07.js"
265
+ "./bidi.js"
266
266
  );
267
267
  const bidiConnection = new BiDi.BidiConnection(browserWSEndpoint, transport, opts.idGenerator, opts.slowMo, opts.protocolTimeout);
268
268
  return await BiDi.BidiBrowser.create({
package/lib/py-sdk.js CHANGED
@@ -1,3 +1,3 @@
1
- import { t as isFlatBindableName } from "./py-sdk-D7klhpWb.js";
1
+ import { t as isFlatBindableName } from "./py-sdk2.js";
2
2
 
3
3
  export { isFlatBindableName };
@@ -0,0 +1,35 @@
1
+ {
2
+ "format": 1,
3
+ "name": "superd-run",
4
+ "ver": "0.3.1-d.b596",
5
+ "protocol": 1,
6
+ "targets": {
7
+ "aarch64-apple-darwin": {
8
+ "file": "superd-run",
9
+ "bytes": 337808,
10
+ "sha256": "a8fd11a5e6a2cb146deb599414434a299ebf78c53cfc1d3e5f42617ee11c1706"
11
+ },
12
+ "aarch64-unknown-linux-musl": {
13
+ "file": "superd-run",
14
+ "bytes": 397592,
15
+ "sha256": "3a8660fa099f1e71de6e08313ee2aaace00503f74365475ee46e2d2a89228397"
16
+ },
17
+ "x86_64-pc-windows-gnu": {
18
+ "file": "superd-run.exe",
19
+ "bytes": 337408,
20
+ "sha256": "1372450238c5bda702b4529f4148aa79e80a255c3c125d1a6229afd4693e9d90"
21
+ },
22
+ "x86_64-unknown-linux-musl": {
23
+ "file": "superd-run",
24
+ "bytes": 447152,
25
+ "sha256": "05b428657942abf22a0ad609433d5cab6b6182fe389851345459a0274b5a6533"
26
+ }
27
+ },
28
+ "sources": {
29
+ "Cargo.toml": "129ab8360e9da872f9dfd6e713d81fe1389735a74d781f3d9c15e110f92d2757",
30
+ "build.rs": "c4fb356956b1ec700e99bdeca07d657a7d3b2a4026582db136411676da3d125e",
31
+ "src/main.rs": "47f1648ea1abc30583839edab219a9062c83d57be981c0505ab6bf79c6fbff54",
32
+ "src/unix.rs": "56c5f523b7b1a9efd50ef24ccdabc024bc065dd2f904fdbecdf0ca49fe7f3393",
33
+ "src/windows.rs": "6c1537424b1adc05ed17c7cf8bf376fb5711602b9da1697d596155bf21d541da"
34
+ }
35
+ }
@@ -0,0 +1 @@
1
+ 0.3.1-d.b596
@@ -0,0 +1 @@
1
+ 0.3.1-d.b596