kimiflare 0.38.0 → 0.38.1

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/index.js CHANGED
@@ -1,5 +1,9 @@
1
+ var __create = Object.create;
1
2
  var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
2
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
3
7
  var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
4
8
  get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
5
9
  }) : x)(function(x) {
@@ -9,10 +13,29 @@ var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require
9
13
  var __esm = (fn, res) => function __init() {
10
14
  return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
11
15
  };
16
+ var __commonJS = (cb, mod) => function __require2() {
17
+ return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
18
+ };
12
19
  var __export = (target, all) => {
13
20
  for (var name in all)
14
21
  __defProp(target, name, { get: all[name], enumerable: true });
15
22
  };
23
+ var __copyProps = (to, from, except, desc) => {
24
+ if (from && typeof from === "object" || typeof from === "function") {
25
+ for (let key of __getOwnPropNames(from))
26
+ if (!__hasOwnProp.call(to, key) && key !== except)
27
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
28
+ }
29
+ return to;
30
+ };
31
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
32
+ // If the importer is in node compatibility mode or this is not an ESM
33
+ // file that has been converted to a CommonJS file using a Babel-
34
+ // compatible transform (i.e. "__esModule" has not been set), then set
35
+ // "default" to the CommonJS "module.exports" for node compatibility.
36
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
37
+ mod
38
+ ));
16
39
 
17
40
  // src/config.ts
18
41
  var config_exports = {};
@@ -1417,6 +1440,197 @@ var init_api_generator = __esm({
1417
1440
  }
1418
1441
  });
1419
1442
 
1443
+ // node_modules/node-gyp-build/node-gyp-build.js
1444
+ var require_node_gyp_build = __commonJS({
1445
+ "node_modules/node-gyp-build/node-gyp-build.js"(exports, module) {
1446
+ "use strict";
1447
+ var fs = __require("fs");
1448
+ var path = __require("path");
1449
+ var os2 = __require("os");
1450
+ var runtimeRequire = typeof __webpack_require__ === "function" ? __non_webpack_require__ : __require;
1451
+ var vars = process.config && process.config.variables || {};
1452
+ var prebuildsOnly = !!process.env.PREBUILDS_ONLY;
1453
+ var abi = process.versions.modules;
1454
+ var runtime = isElectron() ? "electron" : isNwjs() ? "node-webkit" : "node";
1455
+ var arch = process.env.npm_config_arch || os2.arch();
1456
+ var platform3 = process.env.npm_config_platform || os2.platform();
1457
+ var libc = process.env.LIBC || (isAlpine(platform3) ? "musl" : "glibc");
1458
+ var armv = process.env.ARM_VERSION || (arch === "arm64" ? "8" : vars.arm_version) || "";
1459
+ var uv = (process.versions.uv || "").split(".")[0];
1460
+ module.exports = load;
1461
+ function load(dir) {
1462
+ return runtimeRequire(load.resolve(dir));
1463
+ }
1464
+ load.resolve = load.path = function(dir) {
1465
+ dir = path.resolve(dir || ".");
1466
+ try {
1467
+ var name = runtimeRequire(path.join(dir, "package.json")).name.toUpperCase().replace(/-/g, "_");
1468
+ if (process.env[name + "_PREBUILD"]) dir = process.env[name + "_PREBUILD"];
1469
+ } catch (err) {
1470
+ }
1471
+ if (!prebuildsOnly) {
1472
+ var release2 = getFirst(path.join(dir, "build/Release"), matchBuild);
1473
+ if (release2) return release2;
1474
+ var debug = getFirst(path.join(dir, "build/Debug"), matchBuild);
1475
+ if (debug) return debug;
1476
+ }
1477
+ var prebuild = resolve2(dir);
1478
+ if (prebuild) return prebuild;
1479
+ var nearby = resolve2(path.dirname(process.execPath));
1480
+ if (nearby) return nearby;
1481
+ var target = [
1482
+ "platform=" + platform3,
1483
+ "arch=" + arch,
1484
+ "runtime=" + runtime,
1485
+ "abi=" + abi,
1486
+ "uv=" + uv,
1487
+ armv ? "armv=" + armv : "",
1488
+ "libc=" + libc,
1489
+ "node=" + process.versions.node,
1490
+ process.versions.electron ? "electron=" + process.versions.electron : "",
1491
+ typeof __webpack_require__ === "function" ? "webpack=true" : ""
1492
+ // eslint-disable-line
1493
+ ].filter(Boolean).join(" ");
1494
+ throw new Error("No native build was found for " + target + "\n loaded from: " + dir + "\n");
1495
+ function resolve2(dir2) {
1496
+ var tuples = readdirSync(path.join(dir2, "prebuilds")).map(parseTuple);
1497
+ var tuple = tuples.filter(matchTuple(platform3, arch)).sort(compareTuples)[0];
1498
+ if (!tuple) return;
1499
+ var prebuilds = path.join(dir2, "prebuilds", tuple.name);
1500
+ var parsed = readdirSync(prebuilds).map(parseTags);
1501
+ var candidates = parsed.filter(matchTags(runtime, abi));
1502
+ var winner = candidates.sort(compareTags(runtime))[0];
1503
+ if (winner) return path.join(prebuilds, winner.file);
1504
+ }
1505
+ };
1506
+ function readdirSync(dir) {
1507
+ try {
1508
+ return fs.readdirSync(dir);
1509
+ } catch (err) {
1510
+ return [];
1511
+ }
1512
+ }
1513
+ function getFirst(dir, filter) {
1514
+ var files = readdirSync(dir).filter(filter);
1515
+ return files[0] && path.join(dir, files[0]);
1516
+ }
1517
+ function matchBuild(name) {
1518
+ return /\.node$/.test(name);
1519
+ }
1520
+ function parseTuple(name) {
1521
+ var arr = name.split("-");
1522
+ if (arr.length !== 2) return;
1523
+ var platform4 = arr[0];
1524
+ var architectures = arr[1].split("+");
1525
+ if (!platform4) return;
1526
+ if (!architectures.length) return;
1527
+ if (!architectures.every(Boolean)) return;
1528
+ return { name, platform: platform4, architectures };
1529
+ }
1530
+ function matchTuple(platform4, arch2) {
1531
+ return function(tuple) {
1532
+ if (tuple == null) return false;
1533
+ if (tuple.platform !== platform4) return false;
1534
+ return tuple.architectures.includes(arch2);
1535
+ };
1536
+ }
1537
+ function compareTuples(a, b) {
1538
+ return a.architectures.length - b.architectures.length;
1539
+ }
1540
+ function parseTags(file) {
1541
+ var arr = file.split(".");
1542
+ var extension = arr.pop();
1543
+ var tags = { file, specificity: 0 };
1544
+ if (extension !== "node") return;
1545
+ for (var i = 0; i < arr.length; i++) {
1546
+ var tag = arr[i];
1547
+ if (tag === "node" || tag === "electron" || tag === "node-webkit") {
1548
+ tags.runtime = tag;
1549
+ } else if (tag === "napi") {
1550
+ tags.napi = true;
1551
+ } else if (tag.slice(0, 3) === "abi") {
1552
+ tags.abi = tag.slice(3);
1553
+ } else if (tag.slice(0, 2) === "uv") {
1554
+ tags.uv = tag.slice(2);
1555
+ } else if (tag.slice(0, 4) === "armv") {
1556
+ tags.armv = tag.slice(4);
1557
+ } else if (tag === "glibc" || tag === "musl") {
1558
+ tags.libc = tag;
1559
+ } else {
1560
+ continue;
1561
+ }
1562
+ tags.specificity++;
1563
+ }
1564
+ return tags;
1565
+ }
1566
+ function matchTags(runtime2, abi2) {
1567
+ return function(tags) {
1568
+ if (tags == null) return false;
1569
+ if (tags.runtime && tags.runtime !== runtime2 && !runtimeAgnostic(tags)) return false;
1570
+ if (tags.abi && tags.abi !== abi2 && !tags.napi) return false;
1571
+ if (tags.uv && tags.uv !== uv) return false;
1572
+ if (tags.armv && tags.armv !== armv) return false;
1573
+ if (tags.libc && tags.libc !== libc) return false;
1574
+ return true;
1575
+ };
1576
+ }
1577
+ function runtimeAgnostic(tags) {
1578
+ return tags.runtime === "node" && tags.napi;
1579
+ }
1580
+ function compareTags(runtime2) {
1581
+ return function(a, b) {
1582
+ if (a.runtime !== b.runtime) {
1583
+ return a.runtime === runtime2 ? -1 : 1;
1584
+ } else if (a.abi !== b.abi) {
1585
+ return a.abi ? -1 : 1;
1586
+ } else if (a.specificity !== b.specificity) {
1587
+ return a.specificity > b.specificity ? -1 : 1;
1588
+ } else {
1589
+ return 0;
1590
+ }
1591
+ };
1592
+ }
1593
+ function isNwjs() {
1594
+ return !!(process.versions && process.versions.nw);
1595
+ }
1596
+ function isElectron() {
1597
+ if (process.versions && process.versions.electron) return true;
1598
+ if (process.env.ELECTRON_RUN_AS_NODE) return true;
1599
+ return typeof window !== "undefined" && window.process && window.process.type === "renderer";
1600
+ }
1601
+ function isAlpine(platform4) {
1602
+ return platform4 === "linux" && fs.existsSync("/etc/alpine-release");
1603
+ }
1604
+ load.parseTags = parseTags;
1605
+ load.matchTags = matchTags;
1606
+ load.compareTags = compareTags;
1607
+ load.parseTuple = parseTuple;
1608
+ load.matchTuple = matchTuple;
1609
+ load.compareTuples = compareTuples;
1610
+ }
1611
+ });
1612
+
1613
+ // node_modules/node-gyp-build/index.js
1614
+ var require_node_gyp_build2 = __commonJS({
1615
+ "node_modules/node-gyp-build/index.js"(exports, module) {
1616
+ "use strict";
1617
+ var runtimeRequire = typeof __webpack_require__ === "function" ? __non_webpack_require__ : __require;
1618
+ if (typeof runtimeRequire.addon === "function") {
1619
+ module.exports = runtimeRequire.addon.bind(runtimeRequire);
1620
+ } else {
1621
+ module.exports = require_node_gyp_build();
1622
+ }
1623
+ }
1624
+ });
1625
+
1626
+ // node_modules/isolated-vm/isolated-vm.js
1627
+ var require_isolated_vm = __commonJS({
1628
+ "node_modules/isolated-vm/isolated-vm.js"(exports, module) {
1629
+ "use strict";
1630
+ module.exports = require_node_gyp_build2()(__dirname).ivm;
1631
+ }
1632
+ });
1633
+
1420
1634
  // src/code-mode/sandbox.ts
1421
1635
  import { join as join6, dirname as dirname3 } from "path";
1422
1636
  import { pathToFileURL } from "url";
@@ -1472,7 +1686,7 @@ async function transpileOrStrip(code, cwd) {
1472
1686
  };
1473
1687
  }
1474
1688
  async function runWithIsolatedVm(opts2) {
1475
- const { Isolate } = await import("isolated-vm");
1689
+ const { Isolate } = await Promise.resolve().then(() => __toESM(require_isolated_vm(), 1));
1476
1690
  const isolate = new Isolate({ memoryLimit: opts2.memoryLimitMB ?? 128 });
1477
1691
  const context = await isolate.createContext();
1478
1692
  const jail = context.global;
@@ -1489,7 +1703,7 @@ async function runWithIsolatedVm(opts2) {
1489
1703
  await context.eval(`var console = { log: function(...args) { _log(args.map(String).join(" ")); } };`);
1490
1704
  const toolMap = new Map(opts2.tools.map((t) => [t.name, t]));
1491
1705
  for (const tool of opts2.tools) {
1492
- const ref = new (await import("isolated-vm")).Reference(
1706
+ const ref = new (await Promise.resolve().then(() => __toESM(require_isolated_vm(), 1))).Reference(
1493
1707
  async (argsJson) => {
1494
1708
  const args = JSON.parse(argsJson);
1495
1709
  const toolCallId = `code_${Date.now()}_${Math.random().toString(36).slice(2, 8)}`;
@@ -1622,14 +1836,18 @@ async function runInSandbox(opts2) {
1622
1836
  } catch (err) {
1623
1837
  const message2 = err instanceof Error ? err.message : String(err);
1624
1838
  if (message2.includes("isolated-vm") || message2.includes("Cannot find module") || message2.includes("bindings")) {
1625
- return runWithNodeVm(opts2);
1839
+ const result2 = await runWithNodeVm(opts2);
1840
+ return { ...result2, warnings: [ISOLATED_VM_FALLBACK_WARNING, ...result2.warnings ?? []] };
1626
1841
  }
1627
- return runWithNodeVm(opts2);
1842
+ const result = await runWithNodeVm(opts2);
1843
+ return { ...result, warnings: [ISOLATED_VM_FALLBACK_WARNING, ...result.warnings ?? []] };
1628
1844
  }
1629
1845
  }
1846
+ var ISOLATED_VM_FALLBACK_WARNING;
1630
1847
  var init_sandbox = __esm({
1631
1848
  "src/code-mode/sandbox.ts"() {
1632
1849
  "use strict";
1850
+ ISOLATED_VM_FALLBACK_WARNING = "\u26A0\uFE0F Code sandbox is running without memory limits or true process isolation (isolated-vm unavailable or failed to load). For a secure sandbox, install with Node 22 LTS: nvm install 22 && nvm use 22 && npm install -g kimiflare";
1633
1851
  }
1634
1852
  });
1635
1853
 
@@ -4075,13 +4293,13 @@ async function checkDeployStatus() {
4075
4293
  }
4076
4294
  return { wrangler, wranglerAuth, docker, workerUrl };
4077
4295
  }
4078
- var __dirname, REMOTE_DIR, WORKER_DIR;
4296
+ var __dirname2, REMOTE_DIR, WORKER_DIR;
4079
4297
  var init_deploy = __esm({
4080
4298
  "src/remote/deploy.ts"() {
4081
4299
  "use strict";
4082
4300
  init_config();
4083
- __dirname = dirname6(fileURLToPath3(import.meta.url));
4084
- REMOTE_DIR = join11(__dirname, "..", "..", "..", "remote");
4301
+ __dirname2 = dirname6(fileURLToPath3(import.meta.url));
4302
+ REMOTE_DIR = join11(__dirname2, "..", "..", "..", "remote");
4085
4303
  WORKER_DIR = join11(REMOTE_DIR, "worker");
4086
4304
  }
4087
4305
  });