@polka-codes/runner 0.9.86 → 0.9.89
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 +997 -55
- package/package.json +3 -3
package/dist/index.js
CHANGED
|
@@ -17900,7 +17900,7 @@ var init_multipart_parser = __esm(() => {
|
|
|
17900
17900
|
|
|
17901
17901
|
// ../../node_modules/node-fetch/src/body.js
|
|
17902
17902
|
import Stream, { PassThrough } from "node:stream";
|
|
17903
|
-
import { types as
|
|
17903
|
+
import { types as types4, deprecate, promisify } from "node:util";
|
|
17904
17904
|
import { Buffer as Buffer4 } from "node:buffer";
|
|
17905
17905
|
|
|
17906
17906
|
class Body {
|
|
@@ -17912,7 +17912,7 @@ class Body {
|
|
|
17912
17912
|
body = null;
|
|
17913
17913
|
} else if (isURLSearchParameters(body)) {
|
|
17914
17914
|
body = Buffer4.from(body.toString());
|
|
17915
|
-
} else if (isBlob(body)) {} else if (Buffer4.isBuffer(body)) {} else if (
|
|
17915
|
+
} else if (isBlob(body)) {} else if (Buffer4.isBuffer(body)) {} else if (types4.isAnyArrayBuffer(body)) {
|
|
17916
17916
|
body = Buffer4.from(body);
|
|
17917
17917
|
} else if (ArrayBuffer.isView(body)) {
|
|
17918
17918
|
body = Buffer4.from(body.buffer, body.byteOffset, body.byteLength);
|
|
@@ -18058,7 +18058,7 @@ var pipeline, INTERNALS, clone2 = (instance, highWaterMark) => {
|
|
|
18058
18058
|
if (isBlob(body)) {
|
|
18059
18059
|
return body.type || null;
|
|
18060
18060
|
}
|
|
18061
|
-
if (Buffer4.isBuffer(body) ||
|
|
18061
|
+
if (Buffer4.isBuffer(body) || types4.isAnyArrayBuffer(body) || ArrayBuffer.isView(body)) {
|
|
18062
18062
|
return null;
|
|
18063
18063
|
}
|
|
18064
18064
|
if (body instanceof FormData2) {
|
|
@@ -18115,7 +18115,7 @@ var init_body = __esm(() => {
|
|
|
18115
18115
|
});
|
|
18116
18116
|
|
|
18117
18117
|
// ../../node_modules/node-fetch/src/headers.js
|
|
18118
|
-
import { types as
|
|
18118
|
+
import { types as types5 } from "node:util";
|
|
18119
18119
|
import http from "node:http";
|
|
18120
18120
|
function fromRawHeaders(headers = []) {
|
|
18121
18121
|
return new Headers2(headers.reduce((result, value, index, array2) => {
|
|
@@ -18157,7 +18157,7 @@ var init_headers = __esm(() => {
|
|
|
18157
18157
|
for (const [name17, values] of Object.entries(raw)) {
|
|
18158
18158
|
result.push(...values.map((value) => [name17, value]));
|
|
18159
18159
|
}
|
|
18160
|
-
} else if (init == null) {} else if (typeof init === "object" && !
|
|
18160
|
+
} else if (init == null) {} else if (typeof init === "object" && !types5.isBoxedPrimitive(init)) {
|
|
18161
18161
|
const method = init[Symbol.iterator];
|
|
18162
18162
|
if (method == null) {
|
|
18163
18163
|
result.push(...Object.entries(init));
|
|
@@ -18166,7 +18166,7 @@ var init_headers = __esm(() => {
|
|
|
18166
18166
|
throw new TypeError("Header pairs must be iterable");
|
|
18167
18167
|
}
|
|
18168
18168
|
result = [...init].map((pair) => {
|
|
18169
|
-
if (typeof pair !== "object" ||
|
|
18169
|
+
if (typeof pair !== "object" || types5.isBoxedPrimitive(pair)) {
|
|
18170
18170
|
throw new TypeError("Each header pair must be an iterable object");
|
|
18171
18171
|
}
|
|
18172
18172
|
return [...pair];
|
|
@@ -37641,6 +37641,771 @@ var require_mimeScore = __commonJS((exports, module) => {
|
|
|
37641
37641
|
};
|
|
37642
37642
|
});
|
|
37643
37643
|
|
|
37644
|
+
// ../../node_modules/better-sqlite3/lib/util.js
|
|
37645
|
+
var require_util3 = __commonJS((exports) => {
|
|
37646
|
+
exports.getBooleanOption = (options, key) => {
|
|
37647
|
+
let value = false;
|
|
37648
|
+
if (key in options && typeof (value = options[key]) !== "boolean") {
|
|
37649
|
+
throw new TypeError(`Expected the "${key}" option to be a boolean`);
|
|
37650
|
+
}
|
|
37651
|
+
return value;
|
|
37652
|
+
};
|
|
37653
|
+
exports.cppdb = Symbol();
|
|
37654
|
+
exports.inspect = Symbol.for("nodejs.util.inspect.custom");
|
|
37655
|
+
});
|
|
37656
|
+
|
|
37657
|
+
// ../../node_modules/better-sqlite3/lib/sqlite-error.js
|
|
37658
|
+
var require_sqlite_error = __commonJS((exports, module) => {
|
|
37659
|
+
var descriptor = { value: "SqliteError", writable: true, enumerable: false, configurable: true };
|
|
37660
|
+
function SqliteError(message, code) {
|
|
37661
|
+
if (new.target !== SqliteError) {
|
|
37662
|
+
return new SqliteError(message, code);
|
|
37663
|
+
}
|
|
37664
|
+
if (typeof code !== "string") {
|
|
37665
|
+
throw new TypeError("Expected second argument to be a string");
|
|
37666
|
+
}
|
|
37667
|
+
Error.call(this, message);
|
|
37668
|
+
descriptor.value = "" + message;
|
|
37669
|
+
Object.defineProperty(this, "message", descriptor);
|
|
37670
|
+
Error.captureStackTrace(this, SqliteError);
|
|
37671
|
+
this.code = code;
|
|
37672
|
+
}
|
|
37673
|
+
Object.setPrototypeOf(SqliteError, Error);
|
|
37674
|
+
Object.setPrototypeOf(SqliteError.prototype, Error.prototype);
|
|
37675
|
+
Object.defineProperty(SqliteError.prototype, "name", descriptor);
|
|
37676
|
+
module.exports = SqliteError;
|
|
37677
|
+
});
|
|
37678
|
+
|
|
37679
|
+
// ../../node_modules/file-uri-to-path/index.js
|
|
37680
|
+
var require_file_uri_to_path = __commonJS((exports, module) => {
|
|
37681
|
+
var sep = __require("path").sep || "/";
|
|
37682
|
+
module.exports = fileUriToPath;
|
|
37683
|
+
function fileUriToPath(uri) {
|
|
37684
|
+
if (typeof uri != "string" || uri.length <= 7 || uri.substring(0, 7) != "file://") {
|
|
37685
|
+
throw new TypeError("must pass in a file:// URI to convert to a file path");
|
|
37686
|
+
}
|
|
37687
|
+
var rest = decodeURI(uri.substring(7));
|
|
37688
|
+
var firstSlash = rest.indexOf("/");
|
|
37689
|
+
var host = rest.substring(0, firstSlash);
|
|
37690
|
+
var path = rest.substring(firstSlash + 1);
|
|
37691
|
+
if (host == "localhost")
|
|
37692
|
+
host = "";
|
|
37693
|
+
if (host) {
|
|
37694
|
+
host = sep + sep + host;
|
|
37695
|
+
}
|
|
37696
|
+
path = path.replace(/^(.+)\|/, "$1:");
|
|
37697
|
+
if (sep == "\\") {
|
|
37698
|
+
path = path.replace(/\//g, "\\");
|
|
37699
|
+
}
|
|
37700
|
+
if (/^.+\:/.test(path)) {} else {
|
|
37701
|
+
path = sep + path;
|
|
37702
|
+
}
|
|
37703
|
+
return host + path;
|
|
37704
|
+
}
|
|
37705
|
+
});
|
|
37706
|
+
|
|
37707
|
+
// ../../node_modules/bindings/bindings.js
|
|
37708
|
+
var require_bindings = __commonJS((exports, module) => {
|
|
37709
|
+
var __filename = "/Users/xiliangchen/projects/polka-codes/node_modules/bindings/bindings.js";
|
|
37710
|
+
var fs4 = __require("fs");
|
|
37711
|
+
var path = __require("path");
|
|
37712
|
+
var fileURLToPath = require_file_uri_to_path();
|
|
37713
|
+
var join3 = path.join;
|
|
37714
|
+
var dirname2 = path.dirname;
|
|
37715
|
+
var exists = fs4.accessSync && function(path2) {
|
|
37716
|
+
try {
|
|
37717
|
+
fs4.accessSync(path2);
|
|
37718
|
+
} catch (e2) {
|
|
37719
|
+
return false;
|
|
37720
|
+
}
|
|
37721
|
+
return true;
|
|
37722
|
+
} || fs4.existsSync || path.existsSync;
|
|
37723
|
+
var defaults = {
|
|
37724
|
+
arrow: process.env.NODE_BINDINGS_ARROW || " → ",
|
|
37725
|
+
compiled: process.env.NODE_BINDINGS_COMPILED_DIR || "compiled",
|
|
37726
|
+
platform: process.platform,
|
|
37727
|
+
arch: process.arch,
|
|
37728
|
+
nodePreGyp: "node-v" + process.versions.modules + "-" + process.platform + "-" + process.arch,
|
|
37729
|
+
version: process.versions.node,
|
|
37730
|
+
bindings: "bindings.node",
|
|
37731
|
+
try: [
|
|
37732
|
+
["module_root", "build", "bindings"],
|
|
37733
|
+
["module_root", "build", "Debug", "bindings"],
|
|
37734
|
+
["module_root", "build", "Release", "bindings"],
|
|
37735
|
+
["module_root", "out", "Debug", "bindings"],
|
|
37736
|
+
["module_root", "Debug", "bindings"],
|
|
37737
|
+
["module_root", "out", "Release", "bindings"],
|
|
37738
|
+
["module_root", "Release", "bindings"],
|
|
37739
|
+
["module_root", "build", "default", "bindings"],
|
|
37740
|
+
["module_root", "compiled", "version", "platform", "arch", "bindings"],
|
|
37741
|
+
["module_root", "addon-build", "release", "install-root", "bindings"],
|
|
37742
|
+
["module_root", "addon-build", "debug", "install-root", "bindings"],
|
|
37743
|
+
["module_root", "addon-build", "default", "install-root", "bindings"],
|
|
37744
|
+
["module_root", "lib", "binding", "nodePreGyp", "bindings"]
|
|
37745
|
+
]
|
|
37746
|
+
};
|
|
37747
|
+
function bindings(opts) {
|
|
37748
|
+
if (typeof opts == "string") {
|
|
37749
|
+
opts = { bindings: opts };
|
|
37750
|
+
} else if (!opts) {
|
|
37751
|
+
opts = {};
|
|
37752
|
+
}
|
|
37753
|
+
Object.keys(defaults).map(function(i3) {
|
|
37754
|
+
if (!(i3 in opts))
|
|
37755
|
+
opts[i3] = defaults[i3];
|
|
37756
|
+
});
|
|
37757
|
+
if (!opts.module_root) {
|
|
37758
|
+
opts.module_root = exports.getRoot(exports.getFileName());
|
|
37759
|
+
}
|
|
37760
|
+
if (path.extname(opts.bindings) != ".node") {
|
|
37761
|
+
opts.bindings += ".node";
|
|
37762
|
+
}
|
|
37763
|
+
var requireFunc = typeof __webpack_require__ === "function" ? __non_webpack_require__ : __require;
|
|
37764
|
+
var tries = [], i2 = 0, l = opts.try.length, n, b, err;
|
|
37765
|
+
for (;i2 < l; i2++) {
|
|
37766
|
+
n = join3.apply(null, opts.try[i2].map(function(p) {
|
|
37767
|
+
return opts[p] || p;
|
|
37768
|
+
}));
|
|
37769
|
+
tries.push(n);
|
|
37770
|
+
try {
|
|
37771
|
+
b = opts.path ? requireFunc.resolve(n) : requireFunc(n);
|
|
37772
|
+
if (!opts.path) {
|
|
37773
|
+
b.path = n;
|
|
37774
|
+
}
|
|
37775
|
+
return b;
|
|
37776
|
+
} catch (e2) {
|
|
37777
|
+
if (e2.code !== "MODULE_NOT_FOUND" && e2.code !== "QUALIFIED_PATH_RESOLUTION_FAILED" && !/not find/i.test(e2.message)) {
|
|
37778
|
+
throw e2;
|
|
37779
|
+
}
|
|
37780
|
+
}
|
|
37781
|
+
}
|
|
37782
|
+
err = new Error(`Could not locate the bindings file. Tried:
|
|
37783
|
+
` + tries.map(function(a) {
|
|
37784
|
+
return opts.arrow + a;
|
|
37785
|
+
}).join(`
|
|
37786
|
+
`));
|
|
37787
|
+
err.tries = tries;
|
|
37788
|
+
throw err;
|
|
37789
|
+
}
|
|
37790
|
+
module.exports = exports = bindings;
|
|
37791
|
+
exports.getFileName = function getFileName(calling_file) {
|
|
37792
|
+
var { prepareStackTrace: origPST, stackTraceLimit: origSTL } = Error, dummy = {}, fileName;
|
|
37793
|
+
Error.stackTraceLimit = 10;
|
|
37794
|
+
Error.prepareStackTrace = function(e2, st) {
|
|
37795
|
+
for (var i2 = 0, l = st.length;i2 < l; i2++) {
|
|
37796
|
+
fileName = st[i2].getFileName();
|
|
37797
|
+
if (fileName !== __filename) {
|
|
37798
|
+
if (calling_file) {
|
|
37799
|
+
if (fileName !== calling_file) {
|
|
37800
|
+
return;
|
|
37801
|
+
}
|
|
37802
|
+
} else {
|
|
37803
|
+
return;
|
|
37804
|
+
}
|
|
37805
|
+
}
|
|
37806
|
+
}
|
|
37807
|
+
};
|
|
37808
|
+
Error.captureStackTrace(dummy);
|
|
37809
|
+
dummy.stack;
|
|
37810
|
+
Error.prepareStackTrace = origPST;
|
|
37811
|
+
Error.stackTraceLimit = origSTL;
|
|
37812
|
+
var fileSchema = "file://";
|
|
37813
|
+
if (fileName.indexOf(fileSchema) === 0) {
|
|
37814
|
+
fileName = fileURLToPath(fileName);
|
|
37815
|
+
}
|
|
37816
|
+
return fileName;
|
|
37817
|
+
};
|
|
37818
|
+
exports.getRoot = function getRoot(file2) {
|
|
37819
|
+
var dir = dirname2(file2), prev;
|
|
37820
|
+
while (true) {
|
|
37821
|
+
if (dir === ".") {
|
|
37822
|
+
dir = process.cwd();
|
|
37823
|
+
}
|
|
37824
|
+
if (exists(join3(dir, "package.json")) || exists(join3(dir, "node_modules"))) {
|
|
37825
|
+
return dir;
|
|
37826
|
+
}
|
|
37827
|
+
if (prev === dir) {
|
|
37828
|
+
throw new Error('Could not find module root given file: "' + file2 + '". Do you have a `package.json` file? ');
|
|
37829
|
+
}
|
|
37830
|
+
prev = dir;
|
|
37831
|
+
dir = join3(dir, "..");
|
|
37832
|
+
}
|
|
37833
|
+
};
|
|
37834
|
+
});
|
|
37835
|
+
|
|
37836
|
+
// ../../node_modules/better-sqlite3/lib/methods/wrappers.js
|
|
37837
|
+
var require_wrappers = __commonJS((exports) => {
|
|
37838
|
+
var { cppdb } = require_util3();
|
|
37839
|
+
exports.prepare = function prepare(sql) {
|
|
37840
|
+
return this[cppdb].prepare(sql, this, false);
|
|
37841
|
+
};
|
|
37842
|
+
exports.exec = function exec(sql) {
|
|
37843
|
+
this[cppdb].exec(sql);
|
|
37844
|
+
return this;
|
|
37845
|
+
};
|
|
37846
|
+
exports.close = function close() {
|
|
37847
|
+
this[cppdb].close();
|
|
37848
|
+
return this;
|
|
37849
|
+
};
|
|
37850
|
+
exports.loadExtension = function loadExtension(...args) {
|
|
37851
|
+
this[cppdb].loadExtension(...args);
|
|
37852
|
+
return this;
|
|
37853
|
+
};
|
|
37854
|
+
exports.defaultSafeIntegers = function defaultSafeIntegers(...args) {
|
|
37855
|
+
this[cppdb].defaultSafeIntegers(...args);
|
|
37856
|
+
return this;
|
|
37857
|
+
};
|
|
37858
|
+
exports.unsafeMode = function unsafeMode(...args) {
|
|
37859
|
+
this[cppdb].unsafeMode(...args);
|
|
37860
|
+
return this;
|
|
37861
|
+
};
|
|
37862
|
+
exports.getters = {
|
|
37863
|
+
name: {
|
|
37864
|
+
get: function name() {
|
|
37865
|
+
return this[cppdb].name;
|
|
37866
|
+
},
|
|
37867
|
+
enumerable: true
|
|
37868
|
+
},
|
|
37869
|
+
open: {
|
|
37870
|
+
get: function open() {
|
|
37871
|
+
return this[cppdb].open;
|
|
37872
|
+
},
|
|
37873
|
+
enumerable: true
|
|
37874
|
+
},
|
|
37875
|
+
inTransaction: {
|
|
37876
|
+
get: function inTransaction() {
|
|
37877
|
+
return this[cppdb].inTransaction;
|
|
37878
|
+
},
|
|
37879
|
+
enumerable: true
|
|
37880
|
+
},
|
|
37881
|
+
readonly: {
|
|
37882
|
+
get: function readonly() {
|
|
37883
|
+
return this[cppdb].readonly;
|
|
37884
|
+
},
|
|
37885
|
+
enumerable: true
|
|
37886
|
+
},
|
|
37887
|
+
memory: {
|
|
37888
|
+
get: function memory() {
|
|
37889
|
+
return this[cppdb].memory;
|
|
37890
|
+
},
|
|
37891
|
+
enumerable: true
|
|
37892
|
+
}
|
|
37893
|
+
};
|
|
37894
|
+
});
|
|
37895
|
+
|
|
37896
|
+
// ../../node_modules/better-sqlite3/lib/methods/transaction.js
|
|
37897
|
+
var require_transaction = __commonJS((exports, module) => {
|
|
37898
|
+
var { cppdb } = require_util3();
|
|
37899
|
+
var controllers = new WeakMap;
|
|
37900
|
+
module.exports = function transaction(fn) {
|
|
37901
|
+
if (typeof fn !== "function")
|
|
37902
|
+
throw new TypeError("Expected first argument to be a function");
|
|
37903
|
+
const db2 = this[cppdb];
|
|
37904
|
+
const controller = getController(db2, this);
|
|
37905
|
+
const { apply: apply2 } = Function.prototype;
|
|
37906
|
+
const properties = {
|
|
37907
|
+
default: { value: wrapTransaction(apply2, fn, db2, controller.default) },
|
|
37908
|
+
deferred: { value: wrapTransaction(apply2, fn, db2, controller.deferred) },
|
|
37909
|
+
immediate: { value: wrapTransaction(apply2, fn, db2, controller.immediate) },
|
|
37910
|
+
exclusive: { value: wrapTransaction(apply2, fn, db2, controller.exclusive) },
|
|
37911
|
+
database: { value: this, enumerable: true }
|
|
37912
|
+
};
|
|
37913
|
+
Object.defineProperties(properties.default.value, properties);
|
|
37914
|
+
Object.defineProperties(properties.deferred.value, properties);
|
|
37915
|
+
Object.defineProperties(properties.immediate.value, properties);
|
|
37916
|
+
Object.defineProperties(properties.exclusive.value, properties);
|
|
37917
|
+
return properties.default.value;
|
|
37918
|
+
};
|
|
37919
|
+
var getController = (db2, self2) => {
|
|
37920
|
+
let controller = controllers.get(db2);
|
|
37921
|
+
if (!controller) {
|
|
37922
|
+
const shared = {
|
|
37923
|
+
commit: db2.prepare("COMMIT", self2, false),
|
|
37924
|
+
rollback: db2.prepare("ROLLBACK", self2, false),
|
|
37925
|
+
savepoint: db2.prepare("SAVEPOINT `\t_bs3.\t`", self2, false),
|
|
37926
|
+
release: db2.prepare("RELEASE `\t_bs3.\t`", self2, false),
|
|
37927
|
+
rollbackTo: db2.prepare("ROLLBACK TO `\t_bs3.\t`", self2, false)
|
|
37928
|
+
};
|
|
37929
|
+
controllers.set(db2, controller = {
|
|
37930
|
+
default: Object.assign({ begin: db2.prepare("BEGIN", self2, false) }, shared),
|
|
37931
|
+
deferred: Object.assign({ begin: db2.prepare("BEGIN DEFERRED", self2, false) }, shared),
|
|
37932
|
+
immediate: Object.assign({ begin: db2.prepare("BEGIN IMMEDIATE", self2, false) }, shared),
|
|
37933
|
+
exclusive: Object.assign({ begin: db2.prepare("BEGIN EXCLUSIVE", self2, false) }, shared)
|
|
37934
|
+
});
|
|
37935
|
+
}
|
|
37936
|
+
return controller;
|
|
37937
|
+
};
|
|
37938
|
+
var wrapTransaction = (apply2, fn, db2, { begin, commit, rollback, savepoint, release, rollbackTo }) => function sqliteTransaction() {
|
|
37939
|
+
let before, after, undo;
|
|
37940
|
+
if (db2.inTransaction) {
|
|
37941
|
+
before = savepoint;
|
|
37942
|
+
after = release;
|
|
37943
|
+
undo = rollbackTo;
|
|
37944
|
+
} else {
|
|
37945
|
+
before = begin;
|
|
37946
|
+
after = commit;
|
|
37947
|
+
undo = rollback;
|
|
37948
|
+
}
|
|
37949
|
+
before.run();
|
|
37950
|
+
try {
|
|
37951
|
+
const result = apply2.call(fn, this, arguments);
|
|
37952
|
+
if (result && typeof result.then === "function") {
|
|
37953
|
+
throw new TypeError("Transaction function cannot return a promise");
|
|
37954
|
+
}
|
|
37955
|
+
after.run();
|
|
37956
|
+
return result;
|
|
37957
|
+
} catch (ex) {
|
|
37958
|
+
if (db2.inTransaction) {
|
|
37959
|
+
undo.run();
|
|
37960
|
+
if (undo !== rollback)
|
|
37961
|
+
after.run();
|
|
37962
|
+
}
|
|
37963
|
+
throw ex;
|
|
37964
|
+
}
|
|
37965
|
+
};
|
|
37966
|
+
});
|
|
37967
|
+
|
|
37968
|
+
// ../../node_modules/better-sqlite3/lib/methods/pragma.js
|
|
37969
|
+
var require_pragma = __commonJS((exports, module) => {
|
|
37970
|
+
var { getBooleanOption, cppdb } = require_util3();
|
|
37971
|
+
module.exports = function pragma(source, options) {
|
|
37972
|
+
if (options == null)
|
|
37973
|
+
options = {};
|
|
37974
|
+
if (typeof source !== "string")
|
|
37975
|
+
throw new TypeError("Expected first argument to be a string");
|
|
37976
|
+
if (typeof options !== "object")
|
|
37977
|
+
throw new TypeError("Expected second argument to be an options object");
|
|
37978
|
+
const simple = getBooleanOption(options, "simple");
|
|
37979
|
+
const stmt = this[cppdb].prepare(`PRAGMA ${source}`, this, true);
|
|
37980
|
+
return simple ? stmt.pluck().get() : stmt.all();
|
|
37981
|
+
};
|
|
37982
|
+
});
|
|
37983
|
+
|
|
37984
|
+
// ../../node_modules/better-sqlite3/lib/methods/backup.js
|
|
37985
|
+
var require_backup = __commonJS((exports, module) => {
|
|
37986
|
+
var fs4 = __require("fs");
|
|
37987
|
+
var path = __require("path");
|
|
37988
|
+
var { promisify: promisify2 } = __require("util");
|
|
37989
|
+
var { cppdb } = require_util3();
|
|
37990
|
+
var fsAccess = promisify2(fs4.access);
|
|
37991
|
+
module.exports = async function backup(filename, options) {
|
|
37992
|
+
if (options == null)
|
|
37993
|
+
options = {};
|
|
37994
|
+
if (typeof filename !== "string")
|
|
37995
|
+
throw new TypeError("Expected first argument to be a string");
|
|
37996
|
+
if (typeof options !== "object")
|
|
37997
|
+
throw new TypeError("Expected second argument to be an options object");
|
|
37998
|
+
filename = filename.trim();
|
|
37999
|
+
const attachedName = "attached" in options ? options.attached : "main";
|
|
38000
|
+
const handler13 = "progress" in options ? options.progress : null;
|
|
38001
|
+
if (!filename)
|
|
38002
|
+
throw new TypeError("Backup filename cannot be an empty string");
|
|
38003
|
+
if (filename === ":memory:")
|
|
38004
|
+
throw new TypeError('Invalid backup filename ":memory:"');
|
|
38005
|
+
if (typeof attachedName !== "string")
|
|
38006
|
+
throw new TypeError('Expected the "attached" option to be a string');
|
|
38007
|
+
if (!attachedName)
|
|
38008
|
+
throw new TypeError('The "attached" option cannot be an empty string');
|
|
38009
|
+
if (handler13 != null && typeof handler13 !== "function")
|
|
38010
|
+
throw new TypeError('Expected the "progress" option to be a function');
|
|
38011
|
+
await fsAccess(path.dirname(filename)).catch(() => {
|
|
38012
|
+
throw new TypeError("Cannot save backup because the directory does not exist");
|
|
38013
|
+
});
|
|
38014
|
+
const isNewFile = await fsAccess(filename).then(() => false, () => true);
|
|
38015
|
+
return runBackup(this[cppdb].backup(this, attachedName, filename, isNewFile), handler13 || null);
|
|
38016
|
+
};
|
|
38017
|
+
var runBackup = (backup, handler13) => {
|
|
38018
|
+
let rate = 0;
|
|
38019
|
+
let useDefault = true;
|
|
38020
|
+
return new Promise((resolve4, reject) => {
|
|
38021
|
+
setImmediate(function step() {
|
|
38022
|
+
try {
|
|
38023
|
+
const progress = backup.transfer(rate);
|
|
38024
|
+
if (!progress.remainingPages) {
|
|
38025
|
+
backup.close();
|
|
38026
|
+
resolve4(progress);
|
|
38027
|
+
return;
|
|
38028
|
+
}
|
|
38029
|
+
if (useDefault) {
|
|
38030
|
+
useDefault = false;
|
|
38031
|
+
rate = 100;
|
|
38032
|
+
}
|
|
38033
|
+
if (handler13) {
|
|
38034
|
+
const ret = handler13(progress);
|
|
38035
|
+
if (ret !== undefined) {
|
|
38036
|
+
if (typeof ret === "number" && ret === ret)
|
|
38037
|
+
rate = Math.max(0, Math.min(2147483647, Math.round(ret)));
|
|
38038
|
+
else
|
|
38039
|
+
throw new TypeError("Expected progress callback to return a number or undefined");
|
|
38040
|
+
}
|
|
38041
|
+
}
|
|
38042
|
+
setImmediate(step);
|
|
38043
|
+
} catch (err) {
|
|
38044
|
+
backup.close();
|
|
38045
|
+
reject(err);
|
|
38046
|
+
}
|
|
38047
|
+
});
|
|
38048
|
+
});
|
|
38049
|
+
};
|
|
38050
|
+
});
|
|
38051
|
+
|
|
38052
|
+
// ../../node_modules/better-sqlite3/lib/methods/serialize.js
|
|
38053
|
+
var require_serialize = __commonJS((exports, module) => {
|
|
38054
|
+
var { cppdb } = require_util3();
|
|
38055
|
+
module.exports = function serialize(options) {
|
|
38056
|
+
if (options == null)
|
|
38057
|
+
options = {};
|
|
38058
|
+
if (typeof options !== "object")
|
|
38059
|
+
throw new TypeError("Expected first argument to be an options object");
|
|
38060
|
+
const attachedName = "attached" in options ? options.attached : "main";
|
|
38061
|
+
if (typeof attachedName !== "string")
|
|
38062
|
+
throw new TypeError('Expected the "attached" option to be a string');
|
|
38063
|
+
if (!attachedName)
|
|
38064
|
+
throw new TypeError('The "attached" option cannot be an empty string');
|
|
38065
|
+
return this[cppdb].serialize(attachedName);
|
|
38066
|
+
};
|
|
38067
|
+
});
|
|
38068
|
+
|
|
38069
|
+
// ../../node_modules/better-sqlite3/lib/methods/function.js
|
|
38070
|
+
var require_function = __commonJS((exports, module) => {
|
|
38071
|
+
var { getBooleanOption, cppdb } = require_util3();
|
|
38072
|
+
module.exports = function defineFunction(name17, options, fn) {
|
|
38073
|
+
if (options == null)
|
|
38074
|
+
options = {};
|
|
38075
|
+
if (typeof options === "function") {
|
|
38076
|
+
fn = options;
|
|
38077
|
+
options = {};
|
|
38078
|
+
}
|
|
38079
|
+
if (typeof name17 !== "string")
|
|
38080
|
+
throw new TypeError("Expected first argument to be a string");
|
|
38081
|
+
if (typeof fn !== "function")
|
|
38082
|
+
throw new TypeError("Expected last argument to be a function");
|
|
38083
|
+
if (typeof options !== "object")
|
|
38084
|
+
throw new TypeError("Expected second argument to be an options object");
|
|
38085
|
+
if (!name17)
|
|
38086
|
+
throw new TypeError("User-defined function name cannot be an empty string");
|
|
38087
|
+
const safeIntegers = "safeIntegers" in options ? +getBooleanOption(options, "safeIntegers") : 2;
|
|
38088
|
+
const deterministic = getBooleanOption(options, "deterministic");
|
|
38089
|
+
const directOnly = getBooleanOption(options, "directOnly");
|
|
38090
|
+
const varargs = getBooleanOption(options, "varargs");
|
|
38091
|
+
let argCount = -1;
|
|
38092
|
+
if (!varargs) {
|
|
38093
|
+
argCount = fn.length;
|
|
38094
|
+
if (!Number.isInteger(argCount) || argCount < 0)
|
|
38095
|
+
throw new TypeError("Expected function.length to be a positive integer");
|
|
38096
|
+
if (argCount > 100)
|
|
38097
|
+
throw new RangeError("User-defined functions cannot have more than 100 arguments");
|
|
38098
|
+
}
|
|
38099
|
+
this[cppdb].function(fn, name17, argCount, safeIntegers, deterministic, directOnly);
|
|
38100
|
+
return this;
|
|
38101
|
+
};
|
|
38102
|
+
});
|
|
38103
|
+
|
|
38104
|
+
// ../../node_modules/better-sqlite3/lib/methods/aggregate.js
|
|
38105
|
+
var require_aggregate = __commonJS((exports, module) => {
|
|
38106
|
+
var { getBooleanOption, cppdb } = require_util3();
|
|
38107
|
+
module.exports = function defineAggregate(name17, options) {
|
|
38108
|
+
if (typeof name17 !== "string")
|
|
38109
|
+
throw new TypeError("Expected first argument to be a string");
|
|
38110
|
+
if (typeof options !== "object" || options === null)
|
|
38111
|
+
throw new TypeError("Expected second argument to be an options object");
|
|
38112
|
+
if (!name17)
|
|
38113
|
+
throw new TypeError("User-defined function name cannot be an empty string");
|
|
38114
|
+
const start = "start" in options ? options.start : null;
|
|
38115
|
+
const step = getFunctionOption(options, "step", true);
|
|
38116
|
+
const inverse = getFunctionOption(options, "inverse", false);
|
|
38117
|
+
const result = getFunctionOption(options, "result", false);
|
|
38118
|
+
const safeIntegers = "safeIntegers" in options ? +getBooleanOption(options, "safeIntegers") : 2;
|
|
38119
|
+
const deterministic = getBooleanOption(options, "deterministic");
|
|
38120
|
+
const directOnly = getBooleanOption(options, "directOnly");
|
|
38121
|
+
const varargs = getBooleanOption(options, "varargs");
|
|
38122
|
+
let argCount = -1;
|
|
38123
|
+
if (!varargs) {
|
|
38124
|
+
argCount = Math.max(getLength(step), inverse ? getLength(inverse) : 0);
|
|
38125
|
+
if (argCount > 0)
|
|
38126
|
+
argCount -= 1;
|
|
38127
|
+
if (argCount > 100)
|
|
38128
|
+
throw new RangeError("User-defined functions cannot have more than 100 arguments");
|
|
38129
|
+
}
|
|
38130
|
+
this[cppdb].aggregate(start, step, inverse, result, name17, argCount, safeIntegers, deterministic, directOnly);
|
|
38131
|
+
return this;
|
|
38132
|
+
};
|
|
38133
|
+
var getFunctionOption = (options, key, required2) => {
|
|
38134
|
+
const value = key in options ? options[key] : null;
|
|
38135
|
+
if (typeof value === "function")
|
|
38136
|
+
return value;
|
|
38137
|
+
if (value != null)
|
|
38138
|
+
throw new TypeError(`Expected the "${key}" option to be a function`);
|
|
38139
|
+
if (required2)
|
|
38140
|
+
throw new TypeError(`Missing required option "${key}"`);
|
|
38141
|
+
return null;
|
|
38142
|
+
};
|
|
38143
|
+
var getLength = ({ length }) => {
|
|
38144
|
+
if (Number.isInteger(length) && length >= 0)
|
|
38145
|
+
return length;
|
|
38146
|
+
throw new TypeError("Expected function.length to be a positive integer");
|
|
38147
|
+
};
|
|
38148
|
+
});
|
|
38149
|
+
|
|
38150
|
+
// ../../node_modules/better-sqlite3/lib/methods/table.js
|
|
38151
|
+
var require_table = __commonJS((exports, module) => {
|
|
38152
|
+
var { cppdb } = require_util3();
|
|
38153
|
+
module.exports = function defineTable(name17, factory) {
|
|
38154
|
+
if (typeof name17 !== "string")
|
|
38155
|
+
throw new TypeError("Expected first argument to be a string");
|
|
38156
|
+
if (!name17)
|
|
38157
|
+
throw new TypeError("Virtual table module name cannot be an empty string");
|
|
38158
|
+
let eponymous = false;
|
|
38159
|
+
if (typeof factory === "object" && factory !== null) {
|
|
38160
|
+
eponymous = true;
|
|
38161
|
+
factory = defer(parseTableDefinition(factory, "used", name17));
|
|
38162
|
+
} else {
|
|
38163
|
+
if (typeof factory !== "function")
|
|
38164
|
+
throw new TypeError("Expected second argument to be a function or a table definition object");
|
|
38165
|
+
factory = wrapFactory(factory);
|
|
38166
|
+
}
|
|
38167
|
+
this[cppdb].table(factory, name17, eponymous);
|
|
38168
|
+
return this;
|
|
38169
|
+
};
|
|
38170
|
+
function wrapFactory(factory) {
|
|
38171
|
+
return function virtualTableFactory(moduleName, databaseName, tableName, ...args) {
|
|
38172
|
+
const thisObject = {
|
|
38173
|
+
module: moduleName,
|
|
38174
|
+
database: databaseName,
|
|
38175
|
+
table: tableName
|
|
38176
|
+
};
|
|
38177
|
+
const def = apply2.call(factory, thisObject, args);
|
|
38178
|
+
if (typeof def !== "object" || def === null) {
|
|
38179
|
+
throw new TypeError(`Virtual table module "${moduleName}" did not return a table definition object`);
|
|
38180
|
+
}
|
|
38181
|
+
return parseTableDefinition(def, "returned", moduleName);
|
|
38182
|
+
};
|
|
38183
|
+
}
|
|
38184
|
+
function parseTableDefinition(def, verb, moduleName) {
|
|
38185
|
+
if (!hasOwnProperty10.call(def, "rows")) {
|
|
38186
|
+
throw new TypeError(`Virtual table module "${moduleName}" ${verb} a table definition without a "rows" property`);
|
|
38187
|
+
}
|
|
38188
|
+
if (!hasOwnProperty10.call(def, "columns")) {
|
|
38189
|
+
throw new TypeError(`Virtual table module "${moduleName}" ${verb} a table definition without a "columns" property`);
|
|
38190
|
+
}
|
|
38191
|
+
const rows = def.rows;
|
|
38192
|
+
if (typeof rows !== "function" || Object.getPrototypeOf(rows) !== GeneratorFunctionPrototype) {
|
|
38193
|
+
throw new TypeError(`Virtual table module "${moduleName}" ${verb} a table definition with an invalid "rows" property (should be a generator function)`);
|
|
38194
|
+
}
|
|
38195
|
+
let columns = def.columns;
|
|
38196
|
+
if (!Array.isArray(columns) || !(columns = [...columns]).every((x2) => typeof x2 === "string")) {
|
|
38197
|
+
throw new TypeError(`Virtual table module "${moduleName}" ${verb} a table definition with an invalid "columns" property (should be an array of strings)`);
|
|
38198
|
+
}
|
|
38199
|
+
if (columns.length !== new Set(columns).size) {
|
|
38200
|
+
throw new TypeError(`Virtual table module "${moduleName}" ${verb} a table definition with duplicate column names`);
|
|
38201
|
+
}
|
|
38202
|
+
if (!columns.length) {
|
|
38203
|
+
throw new RangeError(`Virtual table module "${moduleName}" ${verb} a table definition with zero columns`);
|
|
38204
|
+
}
|
|
38205
|
+
let parameters;
|
|
38206
|
+
if (hasOwnProperty10.call(def, "parameters")) {
|
|
38207
|
+
parameters = def.parameters;
|
|
38208
|
+
if (!Array.isArray(parameters) || !(parameters = [...parameters]).every((x2) => typeof x2 === "string")) {
|
|
38209
|
+
throw new TypeError(`Virtual table module "${moduleName}" ${verb} a table definition with an invalid "parameters" property (should be an array of strings)`);
|
|
38210
|
+
}
|
|
38211
|
+
} else {
|
|
38212
|
+
parameters = inferParameters(rows);
|
|
38213
|
+
}
|
|
38214
|
+
if (parameters.length !== new Set(parameters).size) {
|
|
38215
|
+
throw new TypeError(`Virtual table module "${moduleName}" ${verb} a table definition with duplicate parameter names`);
|
|
38216
|
+
}
|
|
38217
|
+
if (parameters.length > 32) {
|
|
38218
|
+
throw new RangeError(`Virtual table module "${moduleName}" ${verb} a table definition with more than the maximum number of 32 parameters`);
|
|
38219
|
+
}
|
|
38220
|
+
for (const parameter of parameters) {
|
|
38221
|
+
if (columns.includes(parameter)) {
|
|
38222
|
+
throw new TypeError(`Virtual table module "${moduleName}" ${verb} a table definition with column "${parameter}" which was ambiguously defined as both a column and parameter`);
|
|
38223
|
+
}
|
|
38224
|
+
}
|
|
38225
|
+
let safeIntegers = 2;
|
|
38226
|
+
if (hasOwnProperty10.call(def, "safeIntegers")) {
|
|
38227
|
+
const bool = def.safeIntegers;
|
|
38228
|
+
if (typeof bool !== "boolean") {
|
|
38229
|
+
throw new TypeError(`Virtual table module "${moduleName}" ${verb} a table definition with an invalid "safeIntegers" property (should be a boolean)`);
|
|
38230
|
+
}
|
|
38231
|
+
safeIntegers = +bool;
|
|
38232
|
+
}
|
|
38233
|
+
let directOnly = false;
|
|
38234
|
+
if (hasOwnProperty10.call(def, "directOnly")) {
|
|
38235
|
+
directOnly = def.directOnly;
|
|
38236
|
+
if (typeof directOnly !== "boolean") {
|
|
38237
|
+
throw new TypeError(`Virtual table module "${moduleName}" ${verb} a table definition with an invalid "directOnly" property (should be a boolean)`);
|
|
38238
|
+
}
|
|
38239
|
+
}
|
|
38240
|
+
const columnDefinitions = [
|
|
38241
|
+
...parameters.map(identifier).map((str) => `${str} HIDDEN`),
|
|
38242
|
+
...columns.map(identifier)
|
|
38243
|
+
];
|
|
38244
|
+
return [
|
|
38245
|
+
`CREATE TABLE x(${columnDefinitions.join(", ")});`,
|
|
38246
|
+
wrapGenerator(rows, new Map(columns.map((x2, i2) => [x2, parameters.length + i2])), moduleName),
|
|
38247
|
+
parameters,
|
|
38248
|
+
safeIntegers,
|
|
38249
|
+
directOnly
|
|
38250
|
+
];
|
|
38251
|
+
}
|
|
38252
|
+
function wrapGenerator(generator, columnMap, moduleName) {
|
|
38253
|
+
return function* virtualTable(...args) {
|
|
38254
|
+
const output = args.map((x2) => Buffer.isBuffer(x2) ? Buffer.from(x2) : x2);
|
|
38255
|
+
for (let i2 = 0;i2 < columnMap.size; ++i2) {
|
|
38256
|
+
output.push(null);
|
|
38257
|
+
}
|
|
38258
|
+
for (const row of generator(...args)) {
|
|
38259
|
+
if (Array.isArray(row)) {
|
|
38260
|
+
extractRowArray(row, output, columnMap.size, moduleName);
|
|
38261
|
+
yield output;
|
|
38262
|
+
} else if (typeof row === "object" && row !== null) {
|
|
38263
|
+
extractRowObject(row, output, columnMap, moduleName);
|
|
38264
|
+
yield output;
|
|
38265
|
+
} else {
|
|
38266
|
+
throw new TypeError(`Virtual table module "${moduleName}" yielded something that isn't a valid row object`);
|
|
38267
|
+
}
|
|
38268
|
+
}
|
|
38269
|
+
};
|
|
38270
|
+
}
|
|
38271
|
+
function extractRowArray(row, output, columnCount, moduleName) {
|
|
38272
|
+
if (row.length !== columnCount) {
|
|
38273
|
+
throw new TypeError(`Virtual table module "${moduleName}" yielded a row with an incorrect number of columns`);
|
|
38274
|
+
}
|
|
38275
|
+
const offset = output.length - columnCount;
|
|
38276
|
+
for (let i2 = 0;i2 < columnCount; ++i2) {
|
|
38277
|
+
output[i2 + offset] = row[i2];
|
|
38278
|
+
}
|
|
38279
|
+
}
|
|
38280
|
+
function extractRowObject(row, output, columnMap, moduleName) {
|
|
38281
|
+
let count = 0;
|
|
38282
|
+
for (const key of Object.keys(row)) {
|
|
38283
|
+
const index = columnMap.get(key);
|
|
38284
|
+
if (index === undefined) {
|
|
38285
|
+
throw new TypeError(`Virtual table module "${moduleName}" yielded a row with an undeclared column "${key}"`);
|
|
38286
|
+
}
|
|
38287
|
+
output[index] = row[key];
|
|
38288
|
+
count += 1;
|
|
38289
|
+
}
|
|
38290
|
+
if (count !== columnMap.size) {
|
|
38291
|
+
throw new TypeError(`Virtual table module "${moduleName}" yielded a row with missing columns`);
|
|
38292
|
+
}
|
|
38293
|
+
}
|
|
38294
|
+
function inferParameters({ length }) {
|
|
38295
|
+
if (!Number.isInteger(length) || length < 0) {
|
|
38296
|
+
throw new TypeError("Expected function.length to be a positive integer");
|
|
38297
|
+
}
|
|
38298
|
+
const params = [];
|
|
38299
|
+
for (let i2 = 0;i2 < length; ++i2) {
|
|
38300
|
+
params.push(`$${i2 + 1}`);
|
|
38301
|
+
}
|
|
38302
|
+
return params;
|
|
38303
|
+
}
|
|
38304
|
+
var { hasOwnProperty: hasOwnProperty10 } = Object.prototype;
|
|
38305
|
+
var { apply: apply2 } = Function.prototype;
|
|
38306
|
+
var GeneratorFunctionPrototype = Object.getPrototypeOf(function* () {});
|
|
38307
|
+
var identifier = (str) => `"${str.replace(/"/g, '""')}"`;
|
|
38308
|
+
var defer = (x2) => () => x2;
|
|
38309
|
+
});
|
|
38310
|
+
|
|
38311
|
+
// ../../node_modules/better-sqlite3/lib/methods/inspect.js
|
|
38312
|
+
var require_inspect = __commonJS((exports, module) => {
|
|
38313
|
+
var DatabaseInspection = function Database() {};
|
|
38314
|
+
module.exports = function inspect(depth, opts) {
|
|
38315
|
+
return Object.assign(new DatabaseInspection, this);
|
|
38316
|
+
};
|
|
38317
|
+
});
|
|
38318
|
+
|
|
38319
|
+
// ../../node_modules/better-sqlite3/lib/database.js
|
|
38320
|
+
var require_database = __commonJS((exports, module) => {
|
|
38321
|
+
var fs4 = __require("fs");
|
|
38322
|
+
var path = __require("path");
|
|
38323
|
+
var util2 = require_util3();
|
|
38324
|
+
var SqliteError = require_sqlite_error();
|
|
38325
|
+
var DEFAULT_ADDON;
|
|
38326
|
+
function Database(filenameGiven, options) {
|
|
38327
|
+
if (new.target == null) {
|
|
38328
|
+
return new Database(filenameGiven, options);
|
|
38329
|
+
}
|
|
38330
|
+
let buffer;
|
|
38331
|
+
if (Buffer.isBuffer(filenameGiven)) {
|
|
38332
|
+
buffer = filenameGiven;
|
|
38333
|
+
filenameGiven = ":memory:";
|
|
38334
|
+
}
|
|
38335
|
+
if (filenameGiven == null)
|
|
38336
|
+
filenameGiven = "";
|
|
38337
|
+
if (options == null)
|
|
38338
|
+
options = {};
|
|
38339
|
+
if (typeof filenameGiven !== "string")
|
|
38340
|
+
throw new TypeError("Expected first argument to be a string");
|
|
38341
|
+
if (typeof options !== "object")
|
|
38342
|
+
throw new TypeError("Expected second argument to be an options object");
|
|
38343
|
+
if ("readOnly" in options)
|
|
38344
|
+
throw new TypeError('Misspelled option "readOnly" should be "readonly"');
|
|
38345
|
+
if ("memory" in options)
|
|
38346
|
+
throw new TypeError('Option "memory" was removed in v7.0.0 (use ":memory:" filename instead)');
|
|
38347
|
+
const filename = filenameGiven.trim();
|
|
38348
|
+
const anonymous = filename === "" || filename === ":memory:";
|
|
38349
|
+
const readonly2 = util2.getBooleanOption(options, "readonly");
|
|
38350
|
+
const fileMustExist = util2.getBooleanOption(options, "fileMustExist");
|
|
38351
|
+
const timeout = "timeout" in options ? options.timeout : 5000;
|
|
38352
|
+
const verbose = "verbose" in options ? options.verbose : null;
|
|
38353
|
+
const nativeBinding = "nativeBinding" in options ? options.nativeBinding : null;
|
|
38354
|
+
if (readonly2 && anonymous && !buffer)
|
|
38355
|
+
throw new TypeError("In-memory/temporary databases cannot be readonly");
|
|
38356
|
+
if (!Number.isInteger(timeout) || timeout < 0)
|
|
38357
|
+
throw new TypeError('Expected the "timeout" option to be a positive integer');
|
|
38358
|
+
if (timeout > 2147483647)
|
|
38359
|
+
throw new RangeError('Option "timeout" cannot be greater than 2147483647');
|
|
38360
|
+
if (verbose != null && typeof verbose !== "function")
|
|
38361
|
+
throw new TypeError('Expected the "verbose" option to be a function');
|
|
38362
|
+
if (nativeBinding != null && typeof nativeBinding !== "string" && typeof nativeBinding !== "object")
|
|
38363
|
+
throw new TypeError('Expected the "nativeBinding" option to be a string or addon object');
|
|
38364
|
+
let addon;
|
|
38365
|
+
if (nativeBinding == null) {
|
|
38366
|
+
addon = DEFAULT_ADDON || (DEFAULT_ADDON = require_bindings()("better_sqlite3.node"));
|
|
38367
|
+
} else if (typeof nativeBinding === "string") {
|
|
38368
|
+
const requireFunc = typeof __non_webpack_require__ === "function" ? __non_webpack_require__ : __require;
|
|
38369
|
+
addon = requireFunc(path.resolve(nativeBinding).replace(/(\.node)?$/, ".node"));
|
|
38370
|
+
} else {
|
|
38371
|
+
addon = nativeBinding;
|
|
38372
|
+
}
|
|
38373
|
+
if (!addon.isInitialized) {
|
|
38374
|
+
addon.setErrorConstructor(SqliteError);
|
|
38375
|
+
addon.isInitialized = true;
|
|
38376
|
+
}
|
|
38377
|
+
if (!anonymous && !filename.startsWith("file:") && !fs4.existsSync(path.dirname(filename))) {
|
|
38378
|
+
throw new TypeError("Cannot open database because the directory does not exist");
|
|
38379
|
+
}
|
|
38380
|
+
Object.defineProperties(this, {
|
|
38381
|
+
[util2.cppdb]: { value: new addon.Database(filename, filenameGiven, anonymous, readonly2, fileMustExist, timeout, verbose || null, buffer || null) },
|
|
38382
|
+
...wrappers.getters
|
|
38383
|
+
});
|
|
38384
|
+
}
|
|
38385
|
+
var wrappers = require_wrappers();
|
|
38386
|
+
Database.prototype.prepare = wrappers.prepare;
|
|
38387
|
+
Database.prototype.transaction = require_transaction();
|
|
38388
|
+
Database.prototype.pragma = require_pragma();
|
|
38389
|
+
Database.prototype.backup = require_backup();
|
|
38390
|
+
Database.prototype.serialize = require_serialize();
|
|
38391
|
+
Database.prototype.function = require_function();
|
|
38392
|
+
Database.prototype.aggregate = require_aggregate();
|
|
38393
|
+
Database.prototype.table = require_table();
|
|
38394
|
+
Database.prototype.loadExtension = wrappers.loadExtension;
|
|
38395
|
+
Database.prototype.exec = wrappers.exec;
|
|
38396
|
+
Database.prototype.close = wrappers.close;
|
|
38397
|
+
Database.prototype.defaultSafeIntegers = wrappers.defaultSafeIntegers;
|
|
38398
|
+
Database.prototype.unsafeMode = wrappers.unsafeMode;
|
|
38399
|
+
Database.prototype[util2.inspect] = require_inspect();
|
|
38400
|
+
module.exports = Database;
|
|
38401
|
+
});
|
|
38402
|
+
|
|
38403
|
+
// ../../node_modules/better-sqlite3/lib/index.js
|
|
38404
|
+
var require_lib2 = __commonJS((exports, module) => {
|
|
38405
|
+
module.exports = require_database();
|
|
38406
|
+
module.exports.SqliteError = require_sqlite_error();
|
|
38407
|
+
});
|
|
38408
|
+
|
|
37644
38409
|
// ../../node_modules/ws/lib/constants.js
|
|
37645
38410
|
var require_constants = __commonJS((exports, module) => {
|
|
37646
38411
|
var BINARY_TYPES = ["nodebuffer", "arraybuffer", "fragments"];
|
|
@@ -40499,7 +41264,7 @@ var {
|
|
|
40499
41264
|
Help
|
|
40500
41265
|
} = import__.default;
|
|
40501
41266
|
// package.json
|
|
40502
|
-
var version = "0.9.
|
|
41267
|
+
var version = "0.9.89";
|
|
40503
41268
|
|
|
40504
41269
|
// src/runner.ts
|
|
40505
41270
|
import { execSync } from "node:child_process";
|
|
@@ -54123,6 +54888,13 @@ function date4(params) {
|
|
|
54123
54888
|
|
|
54124
54889
|
// ../../node_modules/zod/v4/classic/external.js
|
|
54125
54890
|
config(en_default());
|
|
54891
|
+
// ../core/src/config/memory.ts
|
|
54892
|
+
var memoryConfigSchema = exports_external.object({
|
|
54893
|
+
enabled: exports_external.boolean().optional().default(true),
|
|
54894
|
+
type: exports_external.enum(["sqlite", "memory"]).optional().default("sqlite"),
|
|
54895
|
+
path: exports_external.string().optional().default("~/.config/polka-codes/memory.sqlite")
|
|
54896
|
+
}).strict().optional();
|
|
54897
|
+
|
|
54126
54898
|
// ../core/src/config.ts
|
|
54127
54899
|
var ruleSchema = exports_external.union([
|
|
54128
54900
|
exports_external.string(),
|
|
@@ -54143,7 +54915,8 @@ var providerConfigSchema = exports_external.object({
|
|
|
54143
54915
|
location: exports_external.string().optional(),
|
|
54144
54916
|
project: exports_external.string().optional(),
|
|
54145
54917
|
keyFile: exports_external.string().optional(),
|
|
54146
|
-
baseUrl: exports_external.string().optional()
|
|
54918
|
+
baseUrl: exports_external.string().optional(),
|
|
54919
|
+
name: exports_external.string().optional()
|
|
54147
54920
|
});
|
|
54148
54921
|
var providerModelSchema = exports_external.object({
|
|
54149
54922
|
provider: exports_external.string().optional(),
|
|
@@ -54185,6 +54958,51 @@ var mcpServerConfigSchema = exports_external.object({
|
|
|
54185
54958
|
parameters: exports_external.record(exports_external.string(), exports_external.unknown()).optional()
|
|
54186
54959
|
}).strict())).optional()
|
|
54187
54960
|
}).strict();
|
|
54961
|
+
var agentContinuousImprovementSchema = exports_external.object({
|
|
54962
|
+
sleepTimeOnNoTasks: exports_external.number().int().optional(),
|
|
54963
|
+
sleepTimeBetweenTasks: exports_external.number().int().optional(),
|
|
54964
|
+
maxCycles: exports_external.number().int().optional()
|
|
54965
|
+
}).strict().optional();
|
|
54966
|
+
var agentDiscoverySchema = exports_external.object({
|
|
54967
|
+
enabledStrategies: exports_external.array(exports_external.string()).optional(),
|
|
54968
|
+
cacheTime: exports_external.number().int().optional(),
|
|
54969
|
+
checkChanges: exports_external.boolean().optional()
|
|
54970
|
+
}).strict().optional();
|
|
54971
|
+
var agentSafetySchema = exports_external.object({
|
|
54972
|
+
enabledChecks: exports_external.array(exports_external.string()).optional(),
|
|
54973
|
+
blockDestructive: exports_external.boolean().optional(),
|
|
54974
|
+
maxFileSize: exports_external.number().int().optional()
|
|
54975
|
+
}).strict().optional();
|
|
54976
|
+
var agentHealthCheckSchema = exports_external.object({
|
|
54977
|
+
enabled: exports_external.boolean().optional(),
|
|
54978
|
+
interval: exports_external.number().int().optional()
|
|
54979
|
+
}).strict().optional();
|
|
54980
|
+
var agentApprovalSchema = exports_external.object({
|
|
54981
|
+
level: exports_external.enum(["none", "destructive", "commits", "all"]).optional(),
|
|
54982
|
+
autoApproveSafeTasks: exports_external.boolean().optional(),
|
|
54983
|
+
maxAutoApprovalCost: exports_external.number().optional()
|
|
54984
|
+
}).strict().optional();
|
|
54985
|
+
var agentSchema = exports_external.object({
|
|
54986
|
+
preset: exports_external.string().optional(),
|
|
54987
|
+
strategy: exports_external.enum(["goal-directed", "continuous-improvement"]).optional(),
|
|
54988
|
+
continueOnCompletion: exports_external.boolean().optional(),
|
|
54989
|
+
maxIterations: exports_external.number().int().optional(),
|
|
54990
|
+
timeout: exports_external.number().int().optional(),
|
|
54991
|
+
requireApprovalFor: exports_external.enum(["none", "destructive", "commits", "all"]).optional(),
|
|
54992
|
+
autoApproveSafeTasks: exports_external.boolean().optional(),
|
|
54993
|
+
maxAutoApprovalCost: exports_external.number().optional(),
|
|
54994
|
+
pauseOnError: exports_external.boolean().optional(),
|
|
54995
|
+
workingBranch: exports_external.string().optional(),
|
|
54996
|
+
destructiveOperations: exports_external.array(exports_external.string()).optional(),
|
|
54997
|
+
maxConcurrency: exports_external.number().int().optional(),
|
|
54998
|
+
autoSaveInterval: exports_external.number().int().optional(),
|
|
54999
|
+
workingDir: exports_external.string().optional(),
|
|
55000
|
+
continuousImprovement: agentContinuousImprovementSchema,
|
|
55001
|
+
discovery: agentDiscoverySchema,
|
|
55002
|
+
safety: agentSafetySchema,
|
|
55003
|
+
healthCheck: agentHealthCheckSchema,
|
|
55004
|
+
approval: agentApprovalSchema
|
|
55005
|
+
}).strict().optional();
|
|
54188
55006
|
var configSchema = exports_external.object({
|
|
54189
55007
|
prices: exports_external.record(exports_external.string(), exports_external.record(exports_external.string(), exports_external.object({
|
|
54190
55008
|
inputPrice: exports_external.number().optional(),
|
|
@@ -54208,7 +55026,9 @@ var configSchema = exports_external.object({
|
|
|
54208
55026
|
}).optional(),
|
|
54209
55027
|
mcpServers: exports_external.record(exports_external.string(), mcpServerConfigSchema).optional(),
|
|
54210
55028
|
rules: exports_external.array(ruleSchema).optional().or(exports_external.string()).optional(),
|
|
54211
|
-
excludeFiles: exports_external.array(exports_external.string()).optional()
|
|
55029
|
+
excludeFiles: exports_external.array(exports_external.string()).optional(),
|
|
55030
|
+
agent: agentSchema,
|
|
55031
|
+
memory: memoryConfigSchema
|
|
54212
55032
|
}).strict().nullish();
|
|
54213
55033
|
// ../core/src/skills/constants.ts
|
|
54214
55034
|
var SKILL_LIMITS = {
|
|
@@ -54405,16 +55225,18 @@ var askFollowupQuestion_default = {
|
|
|
54405
55225
|
...toolInfo,
|
|
54406
55226
|
handler
|
|
54407
55227
|
};
|
|
54408
|
-
// ../core/src/tools/
|
|
54409
|
-
function
|
|
55228
|
+
// ../core/src/tools/response-builders.ts
|
|
55229
|
+
function createProviderErrorResponse(capability) {
|
|
54410
55230
|
return {
|
|
54411
55231
|
success: false,
|
|
54412
55232
|
message: {
|
|
54413
55233
|
type: "error-text",
|
|
54414
|
-
value: `Not possible to ${
|
|
55234
|
+
value: `Not possible to ${capability}.`
|
|
54415
55235
|
}
|
|
54416
55236
|
};
|
|
54417
55237
|
}
|
|
55238
|
+
|
|
55239
|
+
// ../core/src/tools/utils.ts
|
|
54418
55240
|
function preprocessBoolean(val) {
|
|
54419
55241
|
return typeof val === "string" ? val.toLowerCase() === "true" : val;
|
|
54420
55242
|
}
|
|
@@ -54452,7 +55274,7 @@ var toolInfo2 = {
|
|
|
54452
55274
|
};
|
|
54453
55275
|
var handler2 = async (provider, args) => {
|
|
54454
55276
|
if (!provider.executeCommand) {
|
|
54455
|
-
return
|
|
55277
|
+
return createProviderErrorResponse("execute command. Abort");
|
|
54456
55278
|
}
|
|
54457
55279
|
const { command, requiresApproval } = toolInfo2.parameters.parse(args);
|
|
54458
55280
|
try {
|
|
@@ -54605,7 +55427,7 @@ var toolInfo4 = {
|
|
|
54605
55427
|
};
|
|
54606
55428
|
var handler4 = async (provider, args) => {
|
|
54607
55429
|
if (!provider.listFiles) {
|
|
54608
|
-
return
|
|
55430
|
+
return createProviderErrorResponse("list files");
|
|
54609
55431
|
}
|
|
54610
55432
|
const { path, maxCount, recursive, includeIgnored } = toolInfo4.parameters.parse(args);
|
|
54611
55433
|
const [files, limitReached] = await provider.listFiles(path, recursive, maxCount, includeIgnored);
|
|
@@ -54679,14 +55501,40 @@ var readBinaryFile_default = {
|
|
|
54679
55501
|
// ../core/src/tools/readFile.ts
|
|
54680
55502
|
var toolInfo6 = {
|
|
54681
55503
|
name: "readFile",
|
|
54682
|
-
description:
|
|
55504
|
+
description: `Request to read the contents of one or multiple files at the specified paths.
|
|
55505
|
+
|
|
55506
|
+
When to use:
|
|
55507
|
+
- Examining file contents you don't know
|
|
55508
|
+
- Analyzing code, reviewing text files, extracting configuration info
|
|
55509
|
+
- Reading multiple files at once (use comma-separated paths)
|
|
55510
|
+
- Understanding file structure before editing
|
|
55511
|
+
|
|
55512
|
+
When NOT to use:
|
|
55513
|
+
- For file existence checks: Use listFiles instead
|
|
55514
|
+
- For searching within files: Use grep instead
|
|
55515
|
+
- For file name searches: Use searchFiles instead
|
|
55516
|
+
- Prefer this tool over executeCommand with cat/head/tail
|
|
55517
|
+
|
|
55518
|
+
Features:
|
|
55519
|
+
- Supports comma-separated paths for multiple files
|
|
55520
|
+
- Line numbers included for easy reference
|
|
55521
|
+
- Optional offset/limit for partial file reading
|
|
55522
|
+
- Automatically handles different file types
|
|
55523
|
+
|
|
55524
|
+
IMPORTANT:
|
|
55525
|
+
- Line numbers are included for easy reference
|
|
55526
|
+
- Use offset/limit for large files to read specific sections`,
|
|
54683
55527
|
parameters: exports_external.object({
|
|
54684
55528
|
path: exports_external.preprocess((val) => {
|
|
54685
55529
|
if (!val)
|
|
54686
55530
|
return [];
|
|
54687
|
-
|
|
54688
|
-
|
|
55531
|
+
if (Array.isArray(val)) {
|
|
55532
|
+
return val.filter((s) => typeof s === "string" && s.length > 0);
|
|
55533
|
+
}
|
|
55534
|
+
return val.split(",").filter((s) => s.length > 0);
|
|
54689
55535
|
}, exports_external.array(exports_external.string())).describe("The path of the file to read").meta({ usageValue: "Comma separated paths here" }),
|
|
55536
|
+
offset: exports_external.number().optional().describe("Skip first N lines (for partial file reading)").meta({ usageValue: "100" }),
|
|
55537
|
+
limit: exports_external.number().optional().describe("Read at most N lines (for partial file reading)").meta({ usageValue: "50" }),
|
|
54690
55538
|
includeIgnored: exports_external.preprocess(preprocessBoolean, exports_external.boolean().nullish().default(false)).describe("Whether to include ignored files. Use true to include files ignored by .gitignore.").meta({ usageValue: "true or false (optional)" })
|
|
54691
55539
|
}).meta({
|
|
54692
55540
|
examples: [
|
|
@@ -54701,23 +55549,55 @@ var toolInfo6 = {
|
|
|
54701
55549
|
input: {
|
|
54702
55550
|
path: "src/main.js,src/index.js"
|
|
54703
55551
|
}
|
|
55552
|
+
},
|
|
55553
|
+
{
|
|
55554
|
+
description: "Read partial file (lines 100-150)",
|
|
55555
|
+
input: {
|
|
55556
|
+
path: "src/large-file.ts",
|
|
55557
|
+
offset: 100,
|
|
55558
|
+
limit: 50
|
|
55559
|
+
}
|
|
54704
55560
|
}
|
|
54705
55561
|
]
|
|
54706
55562
|
})
|
|
54707
55563
|
};
|
|
54708
55564
|
var handler6 = async (provider, args) => {
|
|
54709
55565
|
if (!provider.readFile) {
|
|
54710
|
-
return
|
|
55566
|
+
return createProviderErrorResponse("read file");
|
|
55567
|
+
}
|
|
55568
|
+
const parsed = toolInfo6.parameters.safeParse(args);
|
|
55569
|
+
if (!parsed.success) {
|
|
55570
|
+
return {
|
|
55571
|
+
success: false,
|
|
55572
|
+
message: {
|
|
55573
|
+
type: "error-text",
|
|
55574
|
+
value: `Invalid arguments for readFile: ${parsed.error.message}`
|
|
55575
|
+
}
|
|
55576
|
+
};
|
|
54711
55577
|
}
|
|
54712
|
-
const { path: paths, includeIgnored } =
|
|
55578
|
+
const { path: paths, offset, limit, includeIgnored } = parsed.data;
|
|
54713
55579
|
const resp = [];
|
|
54714
55580
|
for (const path of paths) {
|
|
54715
55581
|
const fileContent = await provider.readFile(path, includeIgnored ?? false);
|
|
54716
55582
|
if (!fileContent) {
|
|
54717
55583
|
resp.push(createFileElement("read_file_file_content", path, undefined, { file_not_found: "true" }));
|
|
54718
|
-
|
|
54719
|
-
resp.push(createFileElement("read_file_file_content", path, fileContent));
|
|
55584
|
+
continue;
|
|
54720
55585
|
}
|
|
55586
|
+
let lines = fileContent.split(`
|
|
55587
|
+
`);
|
|
55588
|
+
const start = offset ?? 0;
|
|
55589
|
+
const end = limit ? start + limit : lines.length;
|
|
55590
|
+
if (offset !== undefined || limit !== undefined) {
|
|
55591
|
+
lines = lines.slice(start, end);
|
|
55592
|
+
}
|
|
55593
|
+
const lineOffset = offset ?? 0;
|
|
55594
|
+
const numberedContent = lines.map((line, i) => {
|
|
55595
|
+
const lineNumber = lineOffset + i + 1;
|
|
55596
|
+
const paddedNumber = String(lineNumber).padStart(6, " ");
|
|
55597
|
+
return `${paddedNumber}→${line}`;
|
|
55598
|
+
}).join(`
|
|
55599
|
+
`);
|
|
55600
|
+
resp.push(createFileElement("read_file_file_content", path, numberedContent));
|
|
54721
55601
|
}
|
|
54722
55602
|
return {
|
|
54723
55603
|
success: true,
|
|
@@ -54751,7 +55631,7 @@ var toolInfo7 = {
|
|
|
54751
55631
|
};
|
|
54752
55632
|
var handler7 = async (provider, args) => {
|
|
54753
55633
|
if (!provider.removeFile) {
|
|
54754
|
-
return
|
|
55634
|
+
return createProviderErrorResponse("remove file");
|
|
54755
55635
|
}
|
|
54756
55636
|
const parsed = toolInfo7.parameters.safeParse(args);
|
|
54757
55637
|
if (!parsed.success) {
|
|
@@ -54914,7 +55794,43 @@ var replaceInFile = (fileContent, diff) => {
|
|
|
54914
55794
|
// ../core/src/tools/replaceInFile.ts
|
|
54915
55795
|
var toolInfo9 = {
|
|
54916
55796
|
name: "replaceInFile",
|
|
54917
|
-
description:
|
|
55797
|
+
description: `Request to replace sections of content in an existing file using
|
|
55798
|
+
SEARCH/REPLACE blocks.
|
|
55799
|
+
|
|
55800
|
+
When to use:
|
|
55801
|
+
- Making targeted changes to specific parts of a file
|
|
55802
|
+
- Replacing variable names, function signatures, imports
|
|
55803
|
+
- Fixing bugs in existing code
|
|
55804
|
+
- When you know the exact content to replace
|
|
55805
|
+
|
|
55806
|
+
When NOT to use:
|
|
55807
|
+
- For creating new files: Use writeToFile instead
|
|
55808
|
+
- For completely replacing file contents: Use writeToFile instead
|
|
55809
|
+
- When you don't know the exact content: Read file first
|
|
55810
|
+
|
|
55811
|
+
SEARCH/REPLACE FORMAT:
|
|
55812
|
+
<<<<<<< SEARCH
|
|
55813
|
+
[exact content to find]
|
|
55814
|
+
=======
|
|
55815
|
+
[new content to replace with]
|
|
55816
|
+
>>>>>>> REPLACE
|
|
55817
|
+
|
|
55818
|
+
Critical rules:
|
|
55819
|
+
1. SEARCH content must match EXACTLY (character-for-character including whitespace)
|
|
55820
|
+
2. Each block replaces only first occurrence
|
|
55821
|
+
3. Include just enough lines for uniqueness (not too many, not too few)
|
|
55822
|
+
4. Keep blocks concise (don't include long unchanged sections)
|
|
55823
|
+
5. List blocks in order they appear in file
|
|
55824
|
+
6. Use multiple blocks for multiple independent changes
|
|
55825
|
+
|
|
55826
|
+
Special operations:
|
|
55827
|
+
- Move code: Two blocks (delete from original + insert at new location)
|
|
55828
|
+
- Delete code: Empty REPLACE section
|
|
55829
|
+
|
|
55830
|
+
IMPORTANT CONSTRAINTS:
|
|
55831
|
+
- SEARCH text must match file content exactly
|
|
55832
|
+
- Each block is independent (doesn't affect other blocks)
|
|
55833
|
+
- Cannot use for appending or inserting without SEARCH context`,
|
|
54918
55834
|
parameters: exports_external.object({
|
|
54919
55835
|
path: exports_external.string().describe("The path of the file to modify").meta({ usageValue: "File path here" }),
|
|
54920
55836
|
diff: exports_external.string().describe(`One or more SEARCH/REPLACE blocks following this exact format:
|
|
@@ -54940,7 +55856,7 @@ Critical rules:
|
|
|
54940
55856
|
* Each line must be complete. Never truncate lines mid-way through as this can cause matching failures.
|
|
54941
55857
|
4. Special operations:
|
|
54942
55858
|
* To move code: Use two SEARCH/REPLACE blocks (one to delete from original + one to insert at new location)
|
|
54943
|
-
* To delete code:
|
|
55859
|
+
* To delete code: Empty REPLACE section`).meta({ usageValue: "Search and replace blocks here" })
|
|
54944
55860
|
}).meta({
|
|
54945
55861
|
examples: [
|
|
54946
55862
|
{
|
|
@@ -55268,7 +56184,27 @@ var UpdateTodoItemOutputSchema = exports_external.object({
|
|
|
55268
56184
|
// ../core/src/tools/writeToFile.ts
|
|
55269
56185
|
var toolInfo12 = {
|
|
55270
56186
|
name: "writeToFile",
|
|
55271
|
-
description:
|
|
56187
|
+
description: `Request to write content to a file at the specified path.
|
|
56188
|
+
|
|
56189
|
+
When to use:
|
|
56190
|
+
- Creating new files
|
|
56191
|
+
- Completely replacing file contents
|
|
56192
|
+
- When you have the complete intended content
|
|
56193
|
+
|
|
56194
|
+
When NOT to use:
|
|
56195
|
+
- For modifying existing files: Use replaceInFile instead
|
|
56196
|
+
- For appending content: Use executeCommand with echo >> instead
|
|
56197
|
+
- For targeted edits: Use replaceInFile instead
|
|
56198
|
+
|
|
56199
|
+
Features:
|
|
56200
|
+
- Automatically creates any directories needed
|
|
56201
|
+
- Overwrites existing files completely
|
|
56202
|
+
- Must provide complete file content (no truncation)
|
|
56203
|
+
|
|
56204
|
+
IMPORTANT CONSTRAINT:
|
|
56205
|
+
- Always provide COMPLETE intended content (no omissions)
|
|
56206
|
+
- Ensure no incorrect escape sequences (<, >, &)
|
|
56207
|
+
- Ensure no unwanted CDATA tags in content`,
|
|
55272
56208
|
parameters: exports_external.object({
|
|
55273
56209
|
path: exports_external.string().describe("The path of the file to write to").meta({ usageValue: "File path here" }),
|
|
55274
56210
|
content: exports_external.string().describe("The content to write to the file. ALWAYS provide the COMPLETE intended content of the file, without any truncation or omissions. You MUST include ALL parts of the file, even if they haven't been modified.").meta({ usageValue: "Your file content here" })
|
|
@@ -55297,7 +56233,7 @@ export default App;
|
|
|
55297
56233
|
};
|
|
55298
56234
|
var handler12 = async (provider, args) => {
|
|
55299
56235
|
if (!provider.writeFile) {
|
|
55300
|
-
return
|
|
56236
|
+
return createProviderErrorResponse("write file");
|
|
55301
56237
|
}
|
|
55302
56238
|
const parsed = toolInfo12.parameters.safeParse(args);
|
|
55303
56239
|
if (!parsed.success) {
|
|
@@ -55309,10 +56245,7 @@ var handler12 = async (provider, args) => {
|
|
|
55309
56245
|
}
|
|
55310
56246
|
};
|
|
55311
56247
|
}
|
|
55312
|
-
|
|
55313
|
-
const trimmedContent = content.trim();
|
|
55314
|
-
if (trimmedContent.startsWith("<![CDATA[") && trimmedContent.endsWith("]]>"))
|
|
55315
|
-
content = trimmedContent.slice(9, -3);
|
|
56248
|
+
const { path, content } = parsed.data;
|
|
55316
56249
|
await provider.writeFile(path, content);
|
|
55317
56250
|
return {
|
|
55318
56251
|
success: true,
|
|
@@ -58461,9 +59394,9 @@ class ZodUnion2 extends ZodType2 {
|
|
|
58461
59394
|
return this._def.options;
|
|
58462
59395
|
}
|
|
58463
59396
|
}
|
|
58464
|
-
ZodUnion2.create = (
|
|
59397
|
+
ZodUnion2.create = (types3, params) => {
|
|
58465
59398
|
return new ZodUnion2({
|
|
58466
|
-
options:
|
|
59399
|
+
options: types3,
|
|
58467
59400
|
typeName: ZodFirstPartyTypeKind2.ZodUnion,
|
|
58468
59401
|
...processCreateParams(params)
|
|
58469
59402
|
});
|
|
@@ -60957,15 +61890,15 @@ var primitiveMappings = {
|
|
|
60957
61890
|
function parseUnionDef(def, refs) {
|
|
60958
61891
|
const options = def.options instanceof Map ? Array.from(def.options.values()) : def.options;
|
|
60959
61892
|
if (options.every((x) => (x._def.typeName in primitiveMappings) && (!x._def.checks || !x._def.checks.length))) {
|
|
60960
|
-
const
|
|
61893
|
+
const types3 = options.reduce((types22, x) => {
|
|
60961
61894
|
const type = primitiveMappings[x._def.typeName];
|
|
60962
61895
|
return type && !types22.includes(type) ? [...types22, type] : types22;
|
|
60963
61896
|
}, []);
|
|
60964
61897
|
return {
|
|
60965
|
-
type:
|
|
61898
|
+
type: types3.length > 1 ? types3 : types3[0]
|
|
60966
61899
|
};
|
|
60967
61900
|
} else if (options.every((x) => x._def.typeName === "ZodLiteral" && !x.description)) {
|
|
60968
|
-
const
|
|
61901
|
+
const types3 = options.reduce((acc, x) => {
|
|
60969
61902
|
const type = typeof x._def.value;
|
|
60970
61903
|
switch (type) {
|
|
60971
61904
|
case "string":
|
|
@@ -60984,8 +61917,8 @@ function parseUnionDef(def, refs) {
|
|
|
60984
61917
|
return acc;
|
|
60985
61918
|
}
|
|
60986
61919
|
}, []);
|
|
60987
|
-
if (
|
|
60988
|
-
const uniqueTypes =
|
|
61920
|
+
if (types3.length === options.length) {
|
|
61921
|
+
const uniqueTypes = types3.filter((x, i, a) => a.indexOf(x) === i);
|
|
60989
61922
|
return {
|
|
60990
61923
|
type: uniqueTypes.length > 1 ? uniqueTypes : uniqueTypes[0],
|
|
60991
61924
|
enum: options.reduce((acc, x) => {
|
|
@@ -65723,9 +66656,9 @@ var moduleExports2 = freeModule2 && freeModule2.exports === freeExports2;
|
|
|
65723
66656
|
var freeProcess = moduleExports2 && _freeGlobal_default.process;
|
|
65724
66657
|
var nodeUtil = function() {
|
|
65725
66658
|
try {
|
|
65726
|
-
var
|
|
65727
|
-
if (
|
|
65728
|
-
return
|
|
66659
|
+
var types4 = freeModule2 && freeModule2.require && freeModule2.require("util").types;
|
|
66660
|
+
if (types4) {
|
|
66661
|
+
return types4;
|
|
65729
66662
|
}
|
|
65730
66663
|
return freeProcess && freeProcess.binding && freeProcess.binding("util");
|
|
65731
66664
|
} catch (e) {}
|
|
@@ -69776,7 +70709,7 @@ function lookup(path) {
|
|
|
69776
70709
|
}
|
|
69777
70710
|
return $types[extension2] || false;
|
|
69778
70711
|
}
|
|
69779
|
-
function populateMaps(extensions,
|
|
70712
|
+
function populateMaps(extensions, types6) {
|
|
69780
70713
|
Object.keys(db).forEach(function forEachMimeType(type) {
|
|
69781
70714
|
var mime = db[type];
|
|
69782
70715
|
var exts = mime.extensions;
|
|
@@ -69786,10 +70719,10 @@ function populateMaps(extensions, types5) {
|
|
|
69786
70719
|
extensions[type] = exts;
|
|
69787
70720
|
for (var i2 = 0;i2 < exts.length; i2++) {
|
|
69788
70721
|
var extension2 = exts[i2];
|
|
69789
|
-
|
|
69790
|
-
const legacyType = _preferredTypeLegacy(extension2,
|
|
69791
|
-
if (legacyType !==
|
|
69792
|
-
$_extensionConflicts.push([extension2, legacyType,
|
|
70722
|
+
types6[extension2] = _preferredType(extension2, types6[extension2], type);
|
|
70723
|
+
const legacyType = _preferredTypeLegacy(extension2, types6[extension2], type);
|
|
70724
|
+
if (legacyType !== types6[extension2]) {
|
|
70725
|
+
$_extensionConflicts.push([extension2, legacyType, types6[extension2]]);
|
|
69793
70726
|
}
|
|
69794
70727
|
}
|
|
69795
70728
|
});
|
|
@@ -69927,10 +70860,17 @@ async function listFiles(dirPath, recursive, maxCount, cwd, excludeFiles, includ
|
|
|
69927
70860
|
|
|
69928
70861
|
// ../cli-shared/src/utils/searchFiles.ts
|
|
69929
70862
|
import { spawn } from "node:child_process";
|
|
70863
|
+
|
|
70864
|
+
// ../cli-shared/src/utils/search.constants.ts
|
|
70865
|
+
var SEARCH_CONSTANTS = {
|
|
70866
|
+
DEFAULT_CONTEXT_LINES: 5
|
|
70867
|
+
};
|
|
70868
|
+
|
|
70869
|
+
// ../cli-shared/src/utils/searchFiles.ts
|
|
69930
70870
|
async function searchFiles(path, regex2, filePattern, cwd, excludeFiles) {
|
|
69931
70871
|
const args = [
|
|
69932
70872
|
"--line-number",
|
|
69933
|
-
|
|
70873
|
+
`--context=${SEARCH_CONSTANTS.DEFAULT_CONTEXT_LINES}`,
|
|
69934
70874
|
"--color=never",
|
|
69935
70875
|
"--with-filename",
|
|
69936
70876
|
"--smart-case"
|
|
@@ -70087,35 +71027,35 @@ var getProvider = (options = {}) => {
|
|
|
70087
71027
|
}
|
|
70088
71028
|
},
|
|
70089
71029
|
listMemoryTopics: async () => {
|
|
70090
|
-
const
|
|
70091
|
-
return Object.keys(
|
|
71030
|
+
const memory2 = await memoryStore.read() ?? {};
|
|
71031
|
+
return Object.keys(memory2);
|
|
70092
71032
|
},
|
|
70093
71033
|
readMemory: async (topic = defaultMemoryTopic) => {
|
|
70094
|
-
const
|
|
70095
|
-
return
|
|
71034
|
+
const memory2 = await memoryStore.read() ?? {};
|
|
71035
|
+
return memory2[topic];
|
|
70096
71036
|
},
|
|
70097
71037
|
updateMemory: async (operation, topic, content) => {
|
|
70098
71038
|
const memoryTopic = topic ?? defaultMemoryTopic;
|
|
70099
|
-
const
|
|
71039
|
+
const memory2 = await memoryStore.read() ?? {};
|
|
70100
71040
|
switch (operation) {
|
|
70101
71041
|
case "append":
|
|
70102
71042
|
if (content === undefined) {
|
|
70103
71043
|
throw new Error("Content is required for append operation.");
|
|
70104
71044
|
}
|
|
70105
|
-
|
|
71045
|
+
memory2[memoryTopic] = `${memory2[memoryTopic] || ""}
|
|
70106
71046
|
${content}`;
|
|
70107
71047
|
break;
|
|
70108
71048
|
case "replace":
|
|
70109
71049
|
if (content === undefined) {
|
|
70110
71050
|
throw new Error("Content is required for replace operation.");
|
|
70111
71051
|
}
|
|
70112
|
-
|
|
71052
|
+
memory2[memoryTopic] = content;
|
|
70113
71053
|
break;
|
|
70114
71054
|
case "remove":
|
|
70115
|
-
delete
|
|
71055
|
+
delete memory2[memoryTopic];
|
|
70116
71056
|
break;
|
|
70117
71057
|
}
|
|
70118
|
-
await memoryStore.write(
|
|
71058
|
+
await memoryStore.write(memory2);
|
|
70119
71059
|
},
|
|
70120
71060
|
readFile: async (path, includeIgnored) => {
|
|
70121
71061
|
if (!includeIgnored && ig.ignores(path)) {
|
|
@@ -70282,6 +71222,8 @@ ${content}`;
|
|
|
70282
71222
|
}
|
|
70283
71223
|
return provider2;
|
|
70284
71224
|
};
|
|
71225
|
+
// ../cli-shared/src/sqlite-memory-store.ts
|
|
71226
|
+
var import_better_sqlite3 = __toESM(require_lib2(), 1);
|
|
70285
71227
|
// ../cli-shared/src/utils/eventHandler.ts
|
|
70286
71228
|
var taskToolCallStats = new Map;
|
|
70287
71229
|
var globalToolCallStats = new Map;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@polka-codes/runner",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.89",
|
|
4
4
|
"license": "AGPL-3.0",
|
|
5
5
|
"author": "github@polka.codes",
|
|
6
6
|
"type": "module",
|
|
@@ -18,8 +18,8 @@
|
|
|
18
18
|
},
|
|
19
19
|
"dependencies": {
|
|
20
20
|
"@ai-sdk/provider": "^2.0.1",
|
|
21
|
-
"@polka-codes/cli-shared": "0.9.
|
|
22
|
-
"@polka-codes/core": "0.9.
|
|
21
|
+
"@polka-codes/cli-shared": "0.9.88",
|
|
22
|
+
"@polka-codes/core": "0.9.88",
|
|
23
23
|
"commander": "^14.0.2",
|
|
24
24
|
"dotenv": "^17.2.3",
|
|
25
25
|
"ignore": "^7.0.5",
|