@base44-preview/cli 0.0.19-pr.124.a7f34a6 → 0.0.21-pr.112.26ce2e2
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 +281 -101
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -3,7 +3,7 @@ import { EventEmitter, addAbortListener, on, once, setMaxListeners } from "node:
|
|
|
3
3
|
import childProcess, { ChildProcess, execFile, spawn, spawnSync } from "node:child_process";
|
|
4
4
|
import path, { basename, dirname, join, posix, resolve, win32 } from "node:path";
|
|
5
5
|
import fs, { appendFileSync, createReadStream, createWriteStream, readFileSync, statSync, writeFileSync } from "node:fs";
|
|
6
|
-
import
|
|
6
|
+
import process$1, { execArgv, execPath, hrtime, platform, stdin, stdout } from "node:process";
|
|
7
7
|
import { aborted, callbackify, debuglog, inspect, promisify, stripVTControlCharacters } from "node:util";
|
|
8
8
|
import * as g from "node:readline";
|
|
9
9
|
import O from "node:readline";
|
|
@@ -893,7 +893,7 @@ var require_command = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
893
893
|
const childProcess$1 = __require("node:child_process");
|
|
894
894
|
const path$15 = __require("node:path");
|
|
895
895
|
const fs$10 = __require("node:fs");
|
|
896
|
-
const process$
|
|
896
|
+
const process$4 = __require("node:process");
|
|
897
897
|
const { Argument, humanReadableArgName } = require_argument();
|
|
898
898
|
const { CommanderError } = require_error$1();
|
|
899
899
|
const { Help } = require_help();
|
|
@@ -944,10 +944,10 @@ var require_command = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
944
944
|
this._showHelpAfterError = false;
|
|
945
945
|
this._showSuggestionAfterError = true;
|
|
946
946
|
this._outputConfiguration = {
|
|
947
|
-
writeOut: (str) => process$
|
|
948
|
-
writeErr: (str) => process$
|
|
949
|
-
getOutHelpWidth: () => process$
|
|
950
|
-
getErrHelpWidth: () => process$
|
|
947
|
+
writeOut: (str) => process$4.stdout.write(str),
|
|
948
|
+
writeErr: (str) => process$4.stderr.write(str),
|
|
949
|
+
getOutHelpWidth: () => process$4.stdout.isTTY ? process$4.stdout.columns : void 0,
|
|
950
|
+
getErrHelpWidth: () => process$4.stderr.isTTY ? process$4.stderr.columns : void 0,
|
|
951
951
|
outputError: (str, write) => write(str)
|
|
952
952
|
};
|
|
953
953
|
this._hidden = false;
|
|
@@ -1301,7 +1301,7 @@ Expecting one of '${allowedValues.join("', '")}'`);
|
|
|
1301
1301
|
*/
|
|
1302
1302
|
_exit(exitCode, code$1, message) {
|
|
1303
1303
|
if (this._exitCallback) this._exitCallback(new CommanderError(exitCode, code$1, message));
|
|
1304
|
-
process$
|
|
1304
|
+
process$4.exit(exitCode);
|
|
1305
1305
|
}
|
|
1306
1306
|
/**
|
|
1307
1307
|
* Register callback `fn` for the command.
|
|
@@ -1640,11 +1640,11 @@ Expecting one of '${allowedValues.join("', '")}'`);
|
|
|
1640
1640
|
if (argv !== void 0 && !Array.isArray(argv)) throw new Error("first parameter to parse must be array or undefined");
|
|
1641
1641
|
parseOptions = parseOptions || {};
|
|
1642
1642
|
if (argv === void 0 && parseOptions.from === void 0) {
|
|
1643
|
-
if (process$
|
|
1644
|
-
const execArgv$1 = process$
|
|
1643
|
+
if (process$4.versions?.electron) parseOptions.from = "electron";
|
|
1644
|
+
const execArgv$1 = process$4.execArgv ?? [];
|
|
1645
1645
|
if (execArgv$1.includes("-e") || execArgv$1.includes("--eval") || execArgv$1.includes("-p") || execArgv$1.includes("--print")) parseOptions.from = "eval";
|
|
1646
1646
|
}
|
|
1647
|
-
if (argv === void 0) argv = process$
|
|
1647
|
+
if (argv === void 0) argv = process$4.argv;
|
|
1648
1648
|
this.rawArgs = argv.slice();
|
|
1649
1649
|
let userArgs;
|
|
1650
1650
|
switch (parseOptions.from) {
|
|
@@ -1654,7 +1654,7 @@ Expecting one of '${allowedValues.join("', '")}'`);
|
|
|
1654
1654
|
userArgs = argv.slice(2);
|
|
1655
1655
|
break;
|
|
1656
1656
|
case "electron":
|
|
1657
|
-
if (process$
|
|
1657
|
+
if (process$4.defaultApp) {
|
|
1658
1658
|
this._scriptPath = argv[1];
|
|
1659
1659
|
userArgs = argv.slice(2);
|
|
1660
1660
|
} else userArgs = argv.slice(1);
|
|
@@ -1768,15 +1768,15 @@ Expecting one of '${allowedValues.join("', '")}'`);
|
|
|
1768
1768
|
}
|
|
1769
1769
|
launchWithNode = sourceExt.includes(path$15.extname(executableFile));
|
|
1770
1770
|
let proc$1;
|
|
1771
|
-
if (process$
|
|
1771
|
+
if (process$4.platform !== "win32") if (launchWithNode) {
|
|
1772
1772
|
args.unshift(executableFile);
|
|
1773
|
-
args = incrementNodeInspectorPort(process$
|
|
1774
|
-
proc$1 = childProcess$1.spawn(process$
|
|
1773
|
+
args = incrementNodeInspectorPort(process$4.execArgv).concat(args);
|
|
1774
|
+
proc$1 = childProcess$1.spawn(process$4.argv[0], args, { stdio: "inherit" });
|
|
1775
1775
|
} else proc$1 = childProcess$1.spawn(executableFile, args, { stdio: "inherit" });
|
|
1776
1776
|
else {
|
|
1777
1777
|
args.unshift(executableFile);
|
|
1778
|
-
args = incrementNodeInspectorPort(process$
|
|
1779
|
-
proc$1 = childProcess$1.spawn(process$
|
|
1778
|
+
args = incrementNodeInspectorPort(process$4.execArgv).concat(args);
|
|
1779
|
+
proc$1 = childProcess$1.spawn(process$4.execPath, args, { stdio: "inherit" });
|
|
1780
1780
|
}
|
|
1781
1781
|
if (!proc$1.killed) [
|
|
1782
1782
|
"SIGUSR1",
|
|
@@ -1785,14 +1785,14 @@ Expecting one of '${allowedValues.join("', '")}'`);
|
|
|
1785
1785
|
"SIGINT",
|
|
1786
1786
|
"SIGHUP"
|
|
1787
1787
|
].forEach((signal) => {
|
|
1788
|
-
process$
|
|
1788
|
+
process$4.on(signal, () => {
|
|
1789
1789
|
if (proc$1.killed === false && proc$1.exitCode === null) proc$1.kill(signal);
|
|
1790
1790
|
});
|
|
1791
1791
|
});
|
|
1792
1792
|
const exitCallback = this._exitCallback;
|
|
1793
1793
|
proc$1.on("close", (code$1) => {
|
|
1794
1794
|
code$1 = code$1 ?? 1;
|
|
1795
|
-
if (!exitCallback) process$
|
|
1795
|
+
if (!exitCallback) process$4.exit(code$1);
|
|
1796
1796
|
else exitCallback(new CommanderError(code$1, "commander.executeSubCommandAsync", "(close)"));
|
|
1797
1797
|
});
|
|
1798
1798
|
proc$1.on("error", (err) => {
|
|
@@ -1804,7 +1804,7 @@ Expecting one of '${allowedValues.join("', '")}'`);
|
|
|
1804
1804
|
- ${executableDirMessage}`;
|
|
1805
1805
|
throw new Error(executableMissing);
|
|
1806
1806
|
} else if (err.code === "EACCES") throw new Error(`'${executableFile}' not executable`);
|
|
1807
|
-
if (!exitCallback) process$
|
|
1807
|
+
if (!exitCallback) process$4.exit(1);
|
|
1808
1808
|
else {
|
|
1809
1809
|
const wrappedError = new CommanderError(1, "commander.executeSubCommandAsync", "(error)");
|
|
1810
1810
|
wrappedError.nestedError = err;
|
|
@@ -2210,13 +2210,13 @@ Expecting one of '${allowedValues.join("', '")}'`);
|
|
|
2210
2210
|
*/
|
|
2211
2211
|
_parseOptionsEnv() {
|
|
2212
2212
|
this.options.forEach((option) => {
|
|
2213
|
-
if (option.envVar && option.envVar in process$
|
|
2213
|
+
if (option.envVar && option.envVar in process$4.env) {
|
|
2214
2214
|
const optionKey = option.attributeName();
|
|
2215
2215
|
if (this.getOptionValue(optionKey) === void 0 || [
|
|
2216
2216
|
"default",
|
|
2217
2217
|
"config",
|
|
2218
2218
|
"env"
|
|
2219
|
-
].includes(this.getOptionValueSource(optionKey))) if (option.required || option.optional) this.emit(`optionEnv:${option.name()}`, process$
|
|
2219
|
+
].includes(this.getOptionValueSource(optionKey))) if (option.required || option.optional) this.emit(`optionEnv:${option.name()}`, process$4.env[option.envVar]);
|
|
2220
2220
|
else this.emit(`optionEnv:${option.name()}`);
|
|
2221
2221
|
}
|
|
2222
2222
|
});
|
|
@@ -2595,7 +2595,7 @@ Expecting one of '${allowedValues.join("', '")}'`);
|
|
|
2595
2595
|
*/
|
|
2596
2596
|
help(contextOptions) {
|
|
2597
2597
|
this.outputHelp(contextOptions);
|
|
2598
|
-
let exitCode = process$
|
|
2598
|
+
let exitCode = process$4.exitCode || 0;
|
|
2599
2599
|
if (exitCode === 0 && contextOptions && typeof contextOptions !== "function" && contextOptions.error) exitCode = 1;
|
|
2600
2600
|
this._exit(exitCode, "commander.help", "(outputHelp)");
|
|
2601
2601
|
}
|
|
@@ -2711,16 +2711,16 @@ var require_src = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
2711
2711
|
const CSI = `${ESC}[`;
|
|
2712
2712
|
const beep = "\x07";
|
|
2713
2713
|
const cursor = {
|
|
2714
|
-
to(x$2, y$
|
|
2715
|
-
if (!y$
|
|
2716
|
-
return `${CSI}${y$
|
|
2714
|
+
to(x$2, y$1) {
|
|
2715
|
+
if (!y$1) return `${CSI}${x$2 + 1}G`;
|
|
2716
|
+
return `${CSI}${y$1 + 1};${x$2 + 1}H`;
|
|
2717
2717
|
},
|
|
2718
|
-
move(x$2, y$
|
|
2718
|
+
move(x$2, y$1) {
|
|
2719
2719
|
let ret = "";
|
|
2720
2720
|
if (x$2 < 0) ret += `${CSI}${-x$2}D`;
|
|
2721
2721
|
else if (x$2 > 0) ret += `${CSI}${x$2}C`;
|
|
2722
|
-
if (y$
|
|
2723
|
-
else if (y$
|
|
2722
|
+
if (y$1 < 0) ret += `${CSI}${-y$1}A`;
|
|
2723
|
+
else if (y$1 > 0) ret += `${CSI}${y$1}B`;
|
|
2724
2724
|
return ret;
|
|
2725
2725
|
},
|
|
2726
2726
|
up: (count$1 = 1) => `${CSI}${count$1}A`,
|
|
@@ -3030,13 +3030,13 @@ function rD() {
|
|
|
3030
3030
|
}
|
|
3031
3031
|
}), r;
|
|
3032
3032
|
}
|
|
3033
|
-
const ED = rD(), d$1 = new Set(["\x1B", ""]), oD = 39, y
|
|
3033
|
+
const ED = rD(), d$1 = new Set(["\x1B", ""]), oD = 39, y = "\x07", V$1 = "[", nD = "]", G$1 = "m", _$1 = `${nD}8;;`, z = (e$1) => `${d$1.values().next().value}${V$1}${e$1}${G$1}`, K$1 = (e$1) => `${d$1.values().next().value}${_$1}${e$1}${y}`, aD = (e$1) => e$1.split(" ").map((u$2) => p(u$2)), k$1 = (e$1, u$2, t) => {
|
|
3034
3034
|
const F$1 = [...u$2];
|
|
3035
3035
|
let s = !1, i$1 = !1, D$1 = p(P$1(e$1[e$1.length - 1]));
|
|
3036
3036
|
for (const [C$1, n$1] of F$1.entries()) {
|
|
3037
3037
|
const E = p(n$1);
|
|
3038
3038
|
if (D$1 + E <= t ? e$1[e$1.length - 1] += n$1 : (e$1.push(n$1), D$1 = 0), d$1.has(n$1) && (s = !0, i$1 = F$1.slice(C$1 + 1).join("").startsWith(_$1)), s) {
|
|
3039
|
-
i$1 ? n$1 === y
|
|
3039
|
+
i$1 ? n$1 === y && (s = !1, i$1 = !1) : n$1 === G$1 && (s = !1);
|
|
3040
3040
|
continue;
|
|
3041
3041
|
}
|
|
3042
3042
|
D$1 += E, D$1 === t && C$1 < F$1.length - 1 && (e$1.push(""), D$1 = 0);
|
|
@@ -3078,7 +3078,7 @@ const ED = rD(), d$1 = new Set(["\x1B", ""]), oD = 39, y$1 = "\x07", V$1 = "["
|
|
|
3078
3078
|
`)];
|
|
3079
3079
|
for (const [E, a$1] of n$1.entries()) {
|
|
3080
3080
|
if (F$1 += a$1, d$1.has(a$1)) {
|
|
3081
|
-
const { groups: c$1 } = (/* @__PURE__ */ new RegExp(`(?:\\${V$1}(?<code>\\d+)m|\\${_$1}(?<uri>.*)${y
|
|
3081
|
+
const { groups: c$1 } = (/* @__PURE__ */ new RegExp(`(?:\\${V$1}(?<code>\\d+)m|\\${_$1}(?<uri>.*)${y})`)).exec(n$1.slice(E).join("")) || { groups: {} };
|
|
3082
3082
|
if (c$1.code !== void 0) {
|
|
3083
3083
|
const f = Number.parseFloat(c$1.code);
|
|
3084
3084
|
s = f === oD ? void 0 : f;
|
|
@@ -3479,7 +3479,7 @@ var RD = class extends x$1 {
|
|
|
3479
3479
|
//#endregion
|
|
3480
3480
|
//#region node_modules/@clack/prompts/dist/index.mjs
|
|
3481
3481
|
function ce() {
|
|
3482
|
-
return
|
|
3482
|
+
return process$1.platform !== "win32" ? process$1.env.TERM !== "linux" : !!process$1.env.CI || !!process$1.env.WT_SESSION || !!process$1.env.TERMINUS_SUBLIME || process$1.env.ConEmuTask === "{cmd::Cmder}" || process$1.env.TERM_PROGRAM === "Terminus-Sublime" || process$1.env.TERM_PROGRAM === "vscode" || process$1.env.TERM === "xterm-256color" || process$1.env.TERM === "alacritty" || process$1.env.TERMINAL_EMULATOR === "JetBrains-JediTerm";
|
|
3483
3483
|
}
|
|
3484
3484
|
const V = ce(), u$1 = (t, n$1) => V ? t : n$1, le = u$1("◆", "*"), L = u$1("■", "x"), W = u$1("▲", "x"), C = u$1("◇", "o"), ue = u$1("┌", "T"), o$1 = u$1("│", "|"), d = u$1("└", "—"), k = u$1("●", ">"), P = u$1("○", " "), A = u$1("◻", "[•]"), T = u$1("◼", "[+]"), F = u$1("◻", "[ ]"), $e = u$1("▪", "•"), _ = u$1("─", "-"), me = u$1("╮", "+"), de = u$1("├", "+"), pe = u$1("╯", "+"), q = u$1("●", "•"), D = u$1("◆", "*"), U = u$1("▲", "!"), K = u$1("■", "x"), b = (t) => {
|
|
3485
3485
|
switch (t) {
|
|
@@ -6653,7 +6653,7 @@ function initializeContext(params) {
|
|
|
6653
6653
|
external: params?.external ?? void 0
|
|
6654
6654
|
};
|
|
6655
6655
|
}
|
|
6656
|
-
function process$
|
|
6656
|
+
function process$3(schema, ctx, _params = {
|
|
6657
6657
|
path: [],
|
|
6658
6658
|
schemaPath: []
|
|
6659
6659
|
}) {
|
|
@@ -6690,7 +6690,7 @@ function process$2(schema, ctx, _params = {
|
|
|
6690
6690
|
const parent = schema._zod.parent;
|
|
6691
6691
|
if (parent) {
|
|
6692
6692
|
if (!result.ref) result.ref = parent;
|
|
6693
|
-
process$
|
|
6693
|
+
process$3(parent, ctx, params);
|
|
6694
6694
|
ctx.seen.get(parent).isParent = true;
|
|
6695
6695
|
}
|
|
6696
6696
|
}
|
|
@@ -6902,7 +6902,7 @@ const createToJSONSchemaMethod = (schema, processors = {}) => (params) => {
|
|
|
6902
6902
|
...params,
|
|
6903
6903
|
processors
|
|
6904
6904
|
});
|
|
6905
|
-
process$
|
|
6905
|
+
process$3(schema, ctx);
|
|
6906
6906
|
extractDefs(ctx, schema);
|
|
6907
6907
|
return finalize(ctx, schema);
|
|
6908
6908
|
};
|
|
@@ -6914,7 +6914,7 @@ const createStandardJSONSchemaMethod = (schema, io, processors = {}) => (params)
|
|
|
6914
6914
|
io,
|
|
6915
6915
|
processors
|
|
6916
6916
|
});
|
|
6917
|
-
process$
|
|
6917
|
+
process$3(schema, ctx);
|
|
6918
6918
|
extractDefs(ctx, schema);
|
|
6919
6919
|
return finalize(ctx, schema);
|
|
6920
6920
|
};
|
|
@@ -7001,7 +7001,7 @@ const arrayProcessor = (schema, ctx, _json, params) => {
|
|
|
7001
7001
|
if (typeof minimum === "number") json.minItems = minimum;
|
|
7002
7002
|
if (typeof maximum === "number") json.maxItems = maximum;
|
|
7003
7003
|
json.type = "array";
|
|
7004
|
-
json.items = process$
|
|
7004
|
+
json.items = process$3(def.element, ctx, {
|
|
7005
7005
|
...params,
|
|
7006
7006
|
path: [...params.path, "items"]
|
|
7007
7007
|
});
|
|
@@ -7012,7 +7012,7 @@ const objectProcessor = (schema, ctx, _json, params) => {
|
|
|
7012
7012
|
json.type = "object";
|
|
7013
7013
|
json.properties = {};
|
|
7014
7014
|
const shape = def.shape;
|
|
7015
|
-
for (const key in shape) json.properties[key] = process$
|
|
7015
|
+
for (const key in shape) json.properties[key] = process$3(shape[key], ctx, {
|
|
7016
7016
|
...params,
|
|
7017
7017
|
path: [
|
|
7018
7018
|
...params.path,
|
|
@@ -7030,7 +7030,7 @@ const objectProcessor = (schema, ctx, _json, params) => {
|
|
|
7030
7030
|
if (def.catchall?._zod.def.type === "never") json.additionalProperties = false;
|
|
7031
7031
|
else if (!def.catchall) {
|
|
7032
7032
|
if (ctx.io === "output") json.additionalProperties = false;
|
|
7033
|
-
} else if (def.catchall) json.additionalProperties = process$
|
|
7033
|
+
} else if (def.catchall) json.additionalProperties = process$3(def.catchall, ctx, {
|
|
7034
7034
|
...params,
|
|
7035
7035
|
path: [...params.path, "additionalProperties"]
|
|
7036
7036
|
});
|
|
@@ -7038,7 +7038,7 @@ const objectProcessor = (schema, ctx, _json, params) => {
|
|
|
7038
7038
|
const unionProcessor = (schema, ctx, json, params) => {
|
|
7039
7039
|
const def = schema._zod.def;
|
|
7040
7040
|
const isExclusive = def.inclusive === false;
|
|
7041
|
-
const options = def.options.map((x$2, i$1) => process$
|
|
7041
|
+
const options = def.options.map((x$2, i$1) => process$3(x$2, ctx, {
|
|
7042
7042
|
...params,
|
|
7043
7043
|
path: [
|
|
7044
7044
|
...params.path,
|
|
@@ -7051,7 +7051,7 @@ const unionProcessor = (schema, ctx, json, params) => {
|
|
|
7051
7051
|
};
|
|
7052
7052
|
const intersectionProcessor = (schema, ctx, json, params) => {
|
|
7053
7053
|
const def = schema._zod.def;
|
|
7054
|
-
const a$1 = process$
|
|
7054
|
+
const a$1 = process$3(def.left, ctx, {
|
|
7055
7055
|
...params,
|
|
7056
7056
|
path: [
|
|
7057
7057
|
...params.path,
|
|
@@ -7059,7 +7059,7 @@ const intersectionProcessor = (schema, ctx, json, params) => {
|
|
|
7059
7059
|
0
|
|
7060
7060
|
]
|
|
7061
7061
|
});
|
|
7062
|
-
const b$2 = process$
|
|
7062
|
+
const b$2 = process$3(def.right, ctx, {
|
|
7063
7063
|
...params,
|
|
7064
7064
|
path: [
|
|
7065
7065
|
...params.path,
|
|
@@ -7076,7 +7076,7 @@ const tupleProcessor = (schema, ctx, _json, params) => {
|
|
|
7076
7076
|
json.type = "array";
|
|
7077
7077
|
const prefixPath$1 = ctx.target === "draft-2020-12" ? "prefixItems" : "items";
|
|
7078
7078
|
const restPath = ctx.target === "draft-2020-12" ? "items" : ctx.target === "openapi-3.0" ? "items" : "additionalItems";
|
|
7079
|
-
const prefixItems = def.items.map((x$2, i$1) => process$
|
|
7079
|
+
const prefixItems = def.items.map((x$2, i$1) => process$3(x$2, ctx, {
|
|
7080
7080
|
...params,
|
|
7081
7081
|
path: [
|
|
7082
7082
|
...params.path,
|
|
@@ -7084,7 +7084,7 @@ const tupleProcessor = (schema, ctx, _json, params) => {
|
|
|
7084
7084
|
i$1
|
|
7085
7085
|
]
|
|
7086
7086
|
}));
|
|
7087
|
-
const rest = def.rest ? process$
|
|
7087
|
+
const rest = def.rest ? process$3(def.rest, ctx, {
|
|
7088
7088
|
...params,
|
|
7089
7089
|
path: [
|
|
7090
7090
|
...params.path,
|
|
@@ -7110,7 +7110,7 @@ const tupleProcessor = (schema, ctx, _json, params) => {
|
|
|
7110
7110
|
};
|
|
7111
7111
|
const nullableProcessor = (schema, ctx, json, params) => {
|
|
7112
7112
|
const def = schema._zod.def;
|
|
7113
|
-
const inner = process$
|
|
7113
|
+
const inner = process$3(def.innerType, ctx, params);
|
|
7114
7114
|
const seen = ctx.seen.get(schema);
|
|
7115
7115
|
if (ctx.target === "openapi-3.0") {
|
|
7116
7116
|
seen.ref = def.innerType;
|
|
@@ -7119,27 +7119,27 @@ const nullableProcessor = (schema, ctx, json, params) => {
|
|
|
7119
7119
|
};
|
|
7120
7120
|
const nonoptionalProcessor = (schema, ctx, _json, params) => {
|
|
7121
7121
|
const def = schema._zod.def;
|
|
7122
|
-
process$
|
|
7122
|
+
process$3(def.innerType, ctx, params);
|
|
7123
7123
|
const seen = ctx.seen.get(schema);
|
|
7124
7124
|
seen.ref = def.innerType;
|
|
7125
7125
|
};
|
|
7126
7126
|
const defaultProcessor = (schema, ctx, json, params) => {
|
|
7127
7127
|
const def = schema._zod.def;
|
|
7128
|
-
process$
|
|
7128
|
+
process$3(def.innerType, ctx, params);
|
|
7129
7129
|
const seen = ctx.seen.get(schema);
|
|
7130
7130
|
seen.ref = def.innerType;
|
|
7131
7131
|
json.default = JSON.parse(JSON.stringify(def.defaultValue));
|
|
7132
7132
|
};
|
|
7133
7133
|
const prefaultProcessor = (schema, ctx, json, params) => {
|
|
7134
7134
|
const def = schema._zod.def;
|
|
7135
|
-
process$
|
|
7135
|
+
process$3(def.innerType, ctx, params);
|
|
7136
7136
|
const seen = ctx.seen.get(schema);
|
|
7137
7137
|
seen.ref = def.innerType;
|
|
7138
7138
|
if (ctx.io === "input") json._prefault = JSON.parse(JSON.stringify(def.defaultValue));
|
|
7139
7139
|
};
|
|
7140
7140
|
const catchProcessor = (schema, ctx, json, params) => {
|
|
7141
7141
|
const def = schema._zod.def;
|
|
7142
|
-
process$
|
|
7142
|
+
process$3(def.innerType, ctx, params);
|
|
7143
7143
|
const seen = ctx.seen.get(schema);
|
|
7144
7144
|
seen.ref = def.innerType;
|
|
7145
7145
|
let catchValue;
|
|
@@ -7153,20 +7153,20 @@ const catchProcessor = (schema, ctx, json, params) => {
|
|
|
7153
7153
|
const pipeProcessor = (schema, ctx, _json, params) => {
|
|
7154
7154
|
const def = schema._zod.def;
|
|
7155
7155
|
const innerType = ctx.io === "input" ? def.in._zod.def.type === "transform" ? def.out : def.in : def.out;
|
|
7156
|
-
process$
|
|
7156
|
+
process$3(innerType, ctx, params);
|
|
7157
7157
|
const seen = ctx.seen.get(schema);
|
|
7158
7158
|
seen.ref = innerType;
|
|
7159
7159
|
};
|
|
7160
7160
|
const readonlyProcessor = (schema, ctx, json, params) => {
|
|
7161
7161
|
const def = schema._zod.def;
|
|
7162
|
-
process$
|
|
7162
|
+
process$3(def.innerType, ctx, params);
|
|
7163
7163
|
const seen = ctx.seen.get(schema);
|
|
7164
7164
|
seen.ref = def.innerType;
|
|
7165
7165
|
json.readOnly = true;
|
|
7166
7166
|
};
|
|
7167
7167
|
const optionalProcessor = (schema, ctx, _json, params) => {
|
|
7168
7168
|
const def = schema._zod.def;
|
|
7169
|
-
process$
|
|
7169
|
+
process$3(def.innerType, ctx, params);
|
|
7170
7170
|
const seen = ctx.seen.get(schema);
|
|
7171
7171
|
seen.ref = def.innerType;
|
|
7172
7172
|
};
|
|
@@ -7899,10 +7899,20 @@ var AuthValidationError = class extends Error {
|
|
|
7899
7899
|
this.name = "AuthValidationError";
|
|
7900
7900
|
}
|
|
7901
7901
|
};
|
|
7902
|
+
/**
|
|
7903
|
+
* Formats an API error response into a human-readable string.
|
|
7904
|
+
* Prefers `message` (human-readable) over `detail`.
|
|
7905
|
+
*/
|
|
7906
|
+
function formatApiError(errorJson) {
|
|
7907
|
+
const error = errorJson;
|
|
7908
|
+
const content = error?.message ?? error?.detail ?? errorJson;
|
|
7909
|
+
return typeof content === "string" ? content : JSON.stringify(content, null, 2);
|
|
7910
|
+
}
|
|
7902
7911
|
|
|
7903
7912
|
//#endregion
|
|
7904
7913
|
//#region src/core/consts.ts
|
|
7905
7914
|
const PROJECT_SUBDIR = "base44";
|
|
7915
|
+
const CONFIG_FILE_EXTENSION = "jsonc";
|
|
7906
7916
|
const CONFIG_FILE_EXTENSION_GLOB = "{json,jsonc}";
|
|
7907
7917
|
const FUNCTION_CONFIG_FILE = `function.${CONFIG_FILE_EXTENSION_GLOB}`;
|
|
7908
7918
|
const APP_CONFIG_PATTERN = `**/.app.${CONFIG_FILE_EXTENSION_GLOB}`;
|
|
@@ -16195,7 +16205,7 @@ const createIgnorePredicate = (patterns, cwd, baseDir) => {
|
|
|
16195
16205
|
};
|
|
16196
16206
|
const normalizeOptions$2 = (options = {}) => {
|
|
16197
16207
|
const ignoreOption = options.ignore ? Array.isArray(options.ignore) ? options.ignore : [options.ignore] : [];
|
|
16198
|
-
const cwd = toPath$1(options.cwd) ??
|
|
16208
|
+
const cwd = toPath$1(options.cwd) ?? process$1.cwd();
|
|
16199
16209
|
const deep = typeof options.deep === "number" ? Math.max(0, options.deep) + 1 : Number.POSITIVE_INFINITY;
|
|
16200
16210
|
return {
|
|
16201
16211
|
cwd,
|
|
@@ -16292,7 +16302,7 @@ const getDirectoryGlob = ({ directoryPath, files, extensions }) => {
|
|
|
16292
16302
|
const extensionGlob = extensions?.length > 0 ? `.${extensions.length > 1 ? `{${extensions.join(",")}}` : extensions[0]}` : "";
|
|
16293
16303
|
return files ? files.map((file) => path.posix.join(directoryPath, `**/${path.extname(file) ? file : `${file}${extensionGlob}`}`)) : [path.posix.join(directoryPath, `**${extensionGlob ? `/*${extensionGlob}` : ""}`)];
|
|
16294
16304
|
};
|
|
16295
|
-
const directoryToGlob = async (directoryPaths, { cwd =
|
|
16305
|
+
const directoryToGlob = async (directoryPaths, { cwd = process$1.cwd(), files, extensions, fs: fsImplementation } = {}) => {
|
|
16296
16306
|
return (await Promise.all(directoryPaths.map(async (directoryPath) => {
|
|
16297
16307
|
if (shouldExpandGlobstarDirectory(isNegativePattern(directoryPath) ? directoryPath.slice(1) : directoryPath)) return getDirectoryGlob({
|
|
16298
16308
|
directoryPath,
|
|
@@ -16306,7 +16316,7 @@ const directoryToGlob = async (directoryPaths, { cwd = y.cwd(), files, extension
|
|
|
16306
16316
|
}) : directoryPath;
|
|
16307
16317
|
}))).flat();
|
|
16308
16318
|
};
|
|
16309
|
-
const directoryToGlobSync = (directoryPaths, { cwd =
|
|
16319
|
+
const directoryToGlobSync = (directoryPaths, { cwd = process$1.cwd(), files, extensions, fs: fsImplementation } = {}) => directoryPaths.flatMap((directoryPath) => {
|
|
16310
16320
|
if (shouldExpandGlobstarDirectory(isNegativePattern(directoryPath) ? directoryPath.slice(1) : directoryPath)) return getDirectoryGlob({
|
|
16311
16321
|
directoryPath,
|
|
16312
16322
|
files,
|
|
@@ -16402,7 +16412,7 @@ const applyIgnoreFilesAndGetFilterSync = (options) => {
|
|
|
16402
16412
|
};
|
|
16403
16413
|
const createFilterFunction = (isIgnored, cwd) => {
|
|
16404
16414
|
const seen = /* @__PURE__ */ new Set();
|
|
16405
|
-
const basePath = cwd ||
|
|
16415
|
+
const basePath = cwd || process$1.cwd();
|
|
16406
16416
|
const pathCache = /* @__PURE__ */ new Map();
|
|
16407
16417
|
return (fastGlobResult) => {
|
|
16408
16418
|
const pathKey$1 = path.normalize(fastGlobResult.path ?? fastGlobResult);
|
|
@@ -16561,8 +16571,8 @@ async function syncEntities(entities) {
|
|
|
16561
16571
|
});
|
|
16562
16572
|
if (!response.ok) {
|
|
16563
16573
|
const errorJson = await response.json();
|
|
16564
|
-
if (response.status === 428) throw new Error(`Failed to delete entity: ${errorJson
|
|
16565
|
-
throw new Error(`Error occurred while syncing entities ${errorJson
|
|
16574
|
+
if (response.status === 428) throw new Error(`Failed to delete entity: ${formatApiError(errorJson)}`);
|
|
16575
|
+
throw new Error(`Error occurred while syncing entities: ${formatApiError(errorJson)}`);
|
|
16566
16576
|
}
|
|
16567
16577
|
return SyncEntitiesResponseSchema.parse(await response.json());
|
|
16568
16578
|
}
|
|
@@ -16684,6 +16694,123 @@ const functionResource = {
|
|
|
16684
16694
|
push: pushFunctions
|
|
16685
16695
|
};
|
|
16686
16696
|
|
|
16697
|
+
//#endregion
|
|
16698
|
+
//#region src/core/resources/agent/schema.ts
|
|
16699
|
+
const EntityToolConfigSchema = object({
|
|
16700
|
+
entity_name: string().min(1),
|
|
16701
|
+
allowed_operations: array(_enum([
|
|
16702
|
+
"read",
|
|
16703
|
+
"create",
|
|
16704
|
+
"update",
|
|
16705
|
+
"delete"
|
|
16706
|
+
])).default([])
|
|
16707
|
+
});
|
|
16708
|
+
const BackendFunctionToolConfigSchema = object({
|
|
16709
|
+
function_name: string().min(1),
|
|
16710
|
+
description: string().default("agent backend function")
|
|
16711
|
+
});
|
|
16712
|
+
const ToolConfigSchema = union([EntityToolConfigSchema, BackendFunctionToolConfigSchema]);
|
|
16713
|
+
const AgentConfigSchema = object({
|
|
16714
|
+
name: string().regex(/^[a-z0-9_]+$/, "Agent name must be lowercase alphanumeric with underscores").min(1).max(100),
|
|
16715
|
+
description: string().min(1, "Agent description cannot be empty"),
|
|
16716
|
+
instructions: string().min(1, "Agent instructions cannot be empty"),
|
|
16717
|
+
tool_configs: array(ToolConfigSchema).default([]),
|
|
16718
|
+
whatsapp_greeting: string().nullable().optional()
|
|
16719
|
+
});
|
|
16720
|
+
const SyncAgentsResponseSchema = object({
|
|
16721
|
+
created: array(string()),
|
|
16722
|
+
updated: array(string()),
|
|
16723
|
+
deleted: array(string())
|
|
16724
|
+
});
|
|
16725
|
+
const AgentConfigApiResponseSchema = object({
|
|
16726
|
+
name: string(),
|
|
16727
|
+
description: string(),
|
|
16728
|
+
instructions: string(),
|
|
16729
|
+
tool_configs: array(ToolConfigSchema).default([]),
|
|
16730
|
+
whatsapp_greeting: string().nullable().optional()
|
|
16731
|
+
});
|
|
16732
|
+
const ListAgentsResponseSchema = object({
|
|
16733
|
+
items: array(AgentConfigApiResponseSchema),
|
|
16734
|
+
total: number()
|
|
16735
|
+
});
|
|
16736
|
+
|
|
16737
|
+
//#endregion
|
|
16738
|
+
//#region src/core/resources/agent/config.ts
|
|
16739
|
+
async function readAgentFile(agentPath) {
|
|
16740
|
+
const parsed = await readJsonFile(agentPath);
|
|
16741
|
+
const result = AgentConfigSchema.safeParse(parsed);
|
|
16742
|
+
if (!result.success) throw new Error(`Invalid agent configuration in ${agentPath}: ${result.error.issues.map((e$1) => e$1.message).join(", ")}`);
|
|
16743
|
+
return result.data;
|
|
16744
|
+
}
|
|
16745
|
+
async function readAllAgents(agentsDir) {
|
|
16746
|
+
if (!await pathExists(agentsDir)) return [];
|
|
16747
|
+
const files = await globby(`*.${CONFIG_FILE_EXTENSION_GLOB}`, {
|
|
16748
|
+
cwd: agentsDir,
|
|
16749
|
+
absolute: true
|
|
16750
|
+
});
|
|
16751
|
+
const agents = await Promise.all(files.map((filePath) => readAgentFile(filePath)));
|
|
16752
|
+
const names = /* @__PURE__ */ new Set();
|
|
16753
|
+
for (const agent of agents) {
|
|
16754
|
+
if (names.has(agent.name)) throw new Error(`Duplicate agent name "${agent.name}"`);
|
|
16755
|
+
names.add(agent.name);
|
|
16756
|
+
}
|
|
16757
|
+
return agents;
|
|
16758
|
+
}
|
|
16759
|
+
async function writeAgents(agentsDir, agents) {
|
|
16760
|
+
const existingAgents = await readAllAgents(agentsDir);
|
|
16761
|
+
const newNames = new Set(agents.map((a$1) => a$1.name));
|
|
16762
|
+
const toDelete = existingAgents.filter((a$1) => !newNames.has(a$1.name));
|
|
16763
|
+
for (const agent of toDelete) await deleteFile(join(agentsDir, `${agent.name}.${CONFIG_FILE_EXTENSION}`));
|
|
16764
|
+
for (const agent of agents) await writeJsonFile(join(agentsDir, `${agent.name}.${CONFIG_FILE_EXTENSION}`), {
|
|
16765
|
+
name: agent.name,
|
|
16766
|
+
description: agent.description,
|
|
16767
|
+
instructions: agent.instructions,
|
|
16768
|
+
tool_configs: agent.tool_configs,
|
|
16769
|
+
whatsapp_greeting: agent.whatsapp_greeting ?? null
|
|
16770
|
+
});
|
|
16771
|
+
return {
|
|
16772
|
+
written: agents.map((a$1) => a$1.name),
|
|
16773
|
+
deleted: toDelete.map((a$1) => a$1.name)
|
|
16774
|
+
};
|
|
16775
|
+
}
|
|
16776
|
+
|
|
16777
|
+
//#endregion
|
|
16778
|
+
//#region src/core/resources/agent/api.ts
|
|
16779
|
+
async function pushAgents(agents) {
|
|
16780
|
+
const appClient = getAppClient();
|
|
16781
|
+
const payload = agents.map((agent) => ({
|
|
16782
|
+
name: agent.name,
|
|
16783
|
+
description: agent.description,
|
|
16784
|
+
instructions: agent.instructions,
|
|
16785
|
+
tool_configs: agent.tool_configs,
|
|
16786
|
+
whatsapp_greeting: agent.whatsapp_greeting ?? null
|
|
16787
|
+
}));
|
|
16788
|
+
const response = await appClient.put("agent-configs", {
|
|
16789
|
+
json: payload,
|
|
16790
|
+
throwHttpErrors: false
|
|
16791
|
+
});
|
|
16792
|
+
if (!response.ok) {
|
|
16793
|
+
const errorJson = await response.json();
|
|
16794
|
+
throw new Error(`Error occurred while syncing agents: ${formatApiError(errorJson)}`);
|
|
16795
|
+
}
|
|
16796
|
+
return SyncAgentsResponseSchema.parse(await response.json());
|
|
16797
|
+
}
|
|
16798
|
+
async function fetchAgents() {
|
|
16799
|
+
const response = await getAppClient().get("agent-configs", { throwHttpErrors: false });
|
|
16800
|
+
if (!response.ok) {
|
|
16801
|
+
const errorJson = await response.json();
|
|
16802
|
+
throw new Error(`Error occurred while fetching agents: ${formatApiError(errorJson)}`);
|
|
16803
|
+
}
|
|
16804
|
+
return ListAgentsResponseSchema.parse(await response.json());
|
|
16805
|
+
}
|
|
16806
|
+
|
|
16807
|
+
//#endregion
|
|
16808
|
+
//#region src/core/resources/agent/resource.ts
|
|
16809
|
+
const agentResource = {
|
|
16810
|
+
readAll: readAllAgents,
|
|
16811
|
+
push: pushAgents
|
|
16812
|
+
};
|
|
16813
|
+
|
|
16687
16814
|
//#endregion
|
|
16688
16815
|
//#region src/core/project/schema.ts
|
|
16689
16816
|
const TemplateSchema = object({
|
|
@@ -16704,7 +16831,8 @@ const ProjectConfigSchema = object({
|
|
|
16704
16831
|
description: string().optional(),
|
|
16705
16832
|
site: SiteConfigSchema.optional(),
|
|
16706
16833
|
entitiesDir: string().optional().default("entities"),
|
|
16707
|
-
functionsDir: string().optional().default("functions")
|
|
16834
|
+
functionsDir: string().optional().default("functions"),
|
|
16835
|
+
agentsDir: string().optional().default("agents")
|
|
16708
16836
|
});
|
|
16709
16837
|
const AppConfigSchema = object({ id: string().min(1, "id cannot be empty") });
|
|
16710
16838
|
const CreateProjectResponseSchema = looseObject({ id: string() });
|
|
@@ -16776,7 +16904,11 @@ async function readProjectConfig(projectRoot) {
|
|
|
16776
16904
|
if (!result.success) throw new Error(`Invalid project configuration: ${result.error.message}`);
|
|
16777
16905
|
const project = result.data;
|
|
16778
16906
|
const configDir = dirname(configPath);
|
|
16779
|
-
const [entities, functions] = await Promise.all([
|
|
16907
|
+
const [entities, functions, agents] = await Promise.all([
|
|
16908
|
+
entityResource.readAll(join(configDir, project.entitiesDir)),
|
|
16909
|
+
functionResource.readAll(join(configDir, project.functionsDir)),
|
|
16910
|
+
agentResource.readAll(join(configDir, project.agentsDir))
|
|
16911
|
+
]);
|
|
16780
16912
|
return {
|
|
16781
16913
|
project: {
|
|
16782
16914
|
...project,
|
|
@@ -16784,7 +16916,8 @@ async function readProjectConfig(projectRoot) {
|
|
|
16784
16916
|
configPath
|
|
16785
16917
|
},
|
|
16786
16918
|
entities,
|
|
16787
|
-
functions
|
|
16919
|
+
functions,
|
|
16920
|
+
agents
|
|
16788
16921
|
};
|
|
16789
16922
|
}
|
|
16790
16923
|
|
|
@@ -30771,13 +30904,13 @@ var ansi_styles_default = ansiStyles;
|
|
|
30771
30904
|
|
|
30772
30905
|
//#endregion
|
|
30773
30906
|
//#region node_modules/chalk/source/vendor/supports-color/index.js
|
|
30774
|
-
function hasFlag(flag, argv = globalThis.Deno ? globalThis.Deno.args :
|
|
30907
|
+
function hasFlag(flag, argv = globalThis.Deno ? globalThis.Deno.args : process$1.argv) {
|
|
30775
30908
|
const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--";
|
|
30776
30909
|
const position = argv.indexOf(prefix + flag);
|
|
30777
30910
|
const terminatorPosition = argv.indexOf("--");
|
|
30778
30911
|
return position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);
|
|
30779
30912
|
}
|
|
30780
|
-
const { env } =
|
|
30913
|
+
const { env } = process$1;
|
|
30781
30914
|
let flagForceColor;
|
|
30782
30915
|
if (hasFlag("no-color") || hasFlag("no-colors") || hasFlag("color=false") || hasFlag("color=never")) flagForceColor = 0;
|
|
30783
30916
|
else if (hasFlag("color") || hasFlag("colors") || hasFlag("color=true") || hasFlag("color=always")) flagForceColor = 1;
|
|
@@ -30810,7 +30943,7 @@ function _supportsColor(haveStream, { streamIsTTY, sniffFlags = true } = {}) {
|
|
|
30810
30943
|
if (haveStream && !streamIsTTY && forceColor === void 0) return 0;
|
|
30811
30944
|
const min = forceColor || 0;
|
|
30812
30945
|
if (env.TERM === "dumb") return min;
|
|
30813
|
-
if (
|
|
30946
|
+
if (process$1.platform === "win32") {
|
|
30814
30947
|
const osRelease = os.release().split(".");
|
|
30815
30948
|
if (Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) return Number(osRelease[2]) >= 14931 ? 3 : 2;
|
|
30816
30949
|
return 1;
|
|
@@ -31355,6 +31488,52 @@ const entitiesPushCommand = new Command("entities").description("Manage project
|
|
|
31355
31488
|
await runCommand(pushEntitiesAction, { requireAuth: true });
|
|
31356
31489
|
}));
|
|
31357
31490
|
|
|
31491
|
+
//#endregion
|
|
31492
|
+
//#region src/cli/commands/agents/pull.ts
|
|
31493
|
+
async function pullAgentsAction() {
|
|
31494
|
+
const { project } = await readProjectConfig();
|
|
31495
|
+
const agentsDir = join(dirname(project.configPath), project.agentsDir);
|
|
31496
|
+
const response = await runTask("Fetching agents from Base44", async () => {
|
|
31497
|
+
return await fetchAgents();
|
|
31498
|
+
}, {
|
|
31499
|
+
successMessage: "Agents fetched successfully",
|
|
31500
|
+
errorMessage: "Failed to fetch agents"
|
|
31501
|
+
});
|
|
31502
|
+
if (response.items.length === 0) return { outroMessage: "No agents found on Base44" };
|
|
31503
|
+
const { written, deleted } = await runTask("Writing agent files", async () => {
|
|
31504
|
+
return await writeAgents(agentsDir, response.items);
|
|
31505
|
+
}, {
|
|
31506
|
+
successMessage: "Agent files written successfully",
|
|
31507
|
+
errorMessage: "Failed to write agent files"
|
|
31508
|
+
});
|
|
31509
|
+
if (written.length > 0) M.success(`Written: ${written.join(", ")}`);
|
|
31510
|
+
if (deleted.length > 0) M.warn(`Deleted: ${deleted.join(", ")}`);
|
|
31511
|
+
return { outroMessage: `Pulled ${response.total} agents to ${agentsDir}` };
|
|
31512
|
+
}
|
|
31513
|
+
const agentsPullCommand = new Command("pull").description("Pull agents from Base44 to local files (replaces all local agent configs)").action(async () => {
|
|
31514
|
+
await runCommand(pullAgentsAction, { requireAuth: true });
|
|
31515
|
+
});
|
|
31516
|
+
|
|
31517
|
+
//#endregion
|
|
31518
|
+
//#region src/cli/commands/agents/push.ts
|
|
31519
|
+
async function pushAgentsAction() {
|
|
31520
|
+
const { agents } = await readProjectConfig();
|
|
31521
|
+
M.info(agents.length === 0 ? "No local agents found - this will delete all remote agents" : `Found ${agents.length} agents to push`);
|
|
31522
|
+
const result = await runTask("Pushing agents to Base44", async () => {
|
|
31523
|
+
return await pushAgents(agents);
|
|
31524
|
+
}, {
|
|
31525
|
+
successMessage: "Agents pushed successfully",
|
|
31526
|
+
errorMessage: "Failed to push agents"
|
|
31527
|
+
});
|
|
31528
|
+
if (result.created.length > 0) M.success(`Created: ${result.created.join(", ")}`);
|
|
31529
|
+
if (result.updated.length > 0) M.success(`Updated: ${result.updated.join(", ")}`);
|
|
31530
|
+
if (result.deleted.length > 0) M.warn(`Deleted: ${result.deleted.join(", ")}`);
|
|
31531
|
+
return {};
|
|
31532
|
+
}
|
|
31533
|
+
const agentsCommand = new Command("agents").description("Manage project agents").addCommand(new Command("push").description("Push local agents to Base44 (replaces all remote agent configs)").action(async () => {
|
|
31534
|
+
await runCommand(pushAgentsAction, { requireAuth: true });
|
|
31535
|
+
})).addCommand(agentsPullCommand);
|
|
31536
|
+
|
|
31358
31537
|
//#endregion
|
|
31359
31538
|
//#region src/cli/commands/functions/deploy.ts
|
|
31360
31539
|
async function deployFunctionsAction() {
|
|
@@ -31549,9 +31728,9 @@ const getSubprocessResult = ({ stdout: stdout$1 }) => {
|
|
|
31549
31728
|
//#region node_modules/execa/lib/utils/standard-stream.js
|
|
31550
31729
|
const isStandardStream = (stream) => STANDARD_STREAMS.includes(stream);
|
|
31551
31730
|
const STANDARD_STREAMS = [
|
|
31552
|
-
|
|
31553
|
-
|
|
31554
|
-
|
|
31731
|
+
process$1.stdin,
|
|
31732
|
+
process$1.stdout,
|
|
31733
|
+
process$1.stderr
|
|
31555
31734
|
];
|
|
31556
31735
|
const STANDARD_STREAMS_ALIASES = [
|
|
31557
31736
|
"stdin",
|
|
@@ -31676,9 +31855,9 @@ const NO_ESCAPE_REGEXP = /^[\w./-]+$/;
|
|
|
31676
31855
|
//#endregion
|
|
31677
31856
|
//#region node_modules/is-unicode-supported/index.js
|
|
31678
31857
|
function isUnicodeSupported() {
|
|
31679
|
-
const { env: env$1 } =
|
|
31858
|
+
const { env: env$1 } = process$1;
|
|
31680
31859
|
const { TERM, TERM_PROGRAM } = env$1;
|
|
31681
|
-
if (
|
|
31860
|
+
if (process$1.platform !== "win32") return TERM !== "linux";
|
|
31682
31861
|
return Boolean(env$1.WT_SESSION) || Boolean(env$1.TERMINUS_SUBLIME) || env$1.ConEmuTask === "{cmd::Cmder}" || TERM_PROGRAM === "Terminus-Sublime" || TERM_PROGRAM === "vscode" || TERM === "xterm-256color" || TERM === "alacritty" || TERM === "rxvt-unicode" || TERM === "rxvt-unicode-256color" || env$1.TERMINAL_EMULATOR === "JetBrains-JediTerm";
|
|
31683
31862
|
}
|
|
31684
31863
|
|
|
@@ -32605,7 +32784,7 @@ const TEN_MEGABYTES_IN_BYTES = 10 * 1024 * 1024;
|
|
|
32605
32784
|
|
|
32606
32785
|
//#endregion
|
|
32607
32786
|
//#region node_modules/npm-run-path/index.js
|
|
32608
|
-
const npmRunPath = ({ cwd =
|
|
32787
|
+
const npmRunPath = ({ cwd = process$1.cwd(), path: pathOption = process$1.env[pathKey()], preferLocal = true, execPath: execPath$1 = process$1.execPath, addExecPath = true } = {}) => {
|
|
32609
32788
|
const cwdPath = path.resolve(toPath(cwd));
|
|
32610
32789
|
const result = [];
|
|
32611
32790
|
const pathParts = pathOption.split(path.delimiter);
|
|
@@ -32623,7 +32802,7 @@ const applyExecPath = (result, pathParts, execPath$1, cwdPath) => {
|
|
|
32623
32802
|
const pathPart = path.resolve(cwdPath, toPath(execPath$1), "..");
|
|
32624
32803
|
if (!pathParts.includes(pathPart)) result.push(pathPart);
|
|
32625
32804
|
};
|
|
32626
|
-
const npmRunPathEnv = ({ env: env$1 =
|
|
32805
|
+
const npmRunPathEnv = ({ env: env$1 = process$1.env, ...options } = {}) => {
|
|
32627
32806
|
env$1 = { ...env$1 };
|
|
32628
32807
|
const pathName = pathKey({ env: env$1 });
|
|
32629
32808
|
options.path = env$1[pathName];
|
|
@@ -33758,7 +33937,7 @@ const normalizeCwd = (cwd = getDefaultCwd()) => {
|
|
|
33758
33937
|
};
|
|
33759
33938
|
const getDefaultCwd = () => {
|
|
33760
33939
|
try {
|
|
33761
|
-
return
|
|
33940
|
+
return process$1.cwd();
|
|
33762
33941
|
} catch (error) {
|
|
33763
33942
|
error.message = `The current directory does not exist.\n${error.message}`;
|
|
33764
33943
|
throw error;
|
|
@@ -33793,7 +33972,7 @@ const normalizeOptions = (filePath, rawArguments, rawOptions) => {
|
|
|
33793
33972
|
options.killSignal = normalizeKillSignal(options.killSignal);
|
|
33794
33973
|
options.forceKillAfterDelay = normalizeForceKillAfterDelay(options.forceKillAfterDelay);
|
|
33795
33974
|
options.lines = options.lines.map((lines, fdNumber) => lines && !BINARY_ENCODINGS.has(options.encoding) && options.buffer[fdNumber]);
|
|
33796
|
-
if (
|
|
33975
|
+
if (process$1.platform === "win32" && path.basename(file, ".exe") === "cmd") commandArguments.unshift("/q");
|
|
33797
33976
|
return {
|
|
33798
33977
|
file,
|
|
33799
33978
|
commandArguments,
|
|
@@ -33820,7 +33999,7 @@ const addDefaultOptions = ({ extendEnv = true, preferLocal = false, cwd, localDi
|
|
|
33820
33999
|
});
|
|
33821
34000
|
const getEnv = ({ env: envOption, extendEnv, preferLocal, node, localDirectory, nodePath }) => {
|
|
33822
34001
|
const env$1 = extendEnv ? {
|
|
33823
|
-
...
|
|
34002
|
+
...process$1.env,
|
|
33824
34003
|
...envOption
|
|
33825
34004
|
} : envOption;
|
|
33826
34005
|
if (preferLocal || node) return npmRunPathEnv({
|
|
@@ -34820,12 +34999,12 @@ const guessStreamDirection = {
|
|
|
34820
34999
|
}
|
|
34821
35000
|
};
|
|
34822
35001
|
const getStandardStreamDirection = (value) => {
|
|
34823
|
-
if ([0,
|
|
35002
|
+
if ([0, process$1.stdin].includes(value)) return "input";
|
|
34824
35003
|
if ([
|
|
34825
35004
|
1,
|
|
34826
35005
|
2,
|
|
34827
|
-
|
|
34828
|
-
|
|
35006
|
+
process$1.stdout,
|
|
35007
|
+
process$1.stderr
|
|
34829
35008
|
].includes(value)) return "output";
|
|
34830
35009
|
};
|
|
34831
35010
|
const DEFAULT_DIRECTION = "output";
|
|
@@ -35889,9 +36068,9 @@ const addIpcMethods = (subprocess, { ipc }) => {
|
|
|
35889
36068
|
Object.assign(subprocess, getIpcMethods(subprocess, false, ipc));
|
|
35890
36069
|
};
|
|
35891
36070
|
const getIpcExport = () => {
|
|
35892
|
-
const anyProcess =
|
|
36071
|
+
const anyProcess = process$1;
|
|
35893
36072
|
const isSubprocess = true;
|
|
35894
|
-
const ipc =
|
|
36073
|
+
const ipc = process$1.channel !== void 0;
|
|
35895
36074
|
return {
|
|
35896
36075
|
...getIpcMethods(anyProcess, isSubprocess, ipc),
|
|
35897
36076
|
getCancelSignal: getCancelSignal$1.bind(void 0, {
|
|
@@ -36133,7 +36312,7 @@ if (process.platform === "linux") signals.push("SIGIO", "SIGPOLL", "SIGPWR", "SI
|
|
|
36133
36312
|
|
|
36134
36313
|
//#endregion
|
|
36135
36314
|
//#region node_modules/signal-exit/dist/mjs/index.js
|
|
36136
|
-
const processOk = (process$
|
|
36315
|
+
const processOk = (process$5) => !!process$5 && typeof process$5 === "object" && typeof process$5.removeListener === "function" && typeof process$5.emit === "function" && typeof process$5.reallyExit === "function" && typeof process$5.listeners === "function" && typeof process$5.kill === "function" && typeof process$5.pid === "number" && typeof process$5.on === "function";
|
|
36137
36316
|
const kExitEmitter = Symbol.for("signal-exit emitter");
|
|
36138
36317
|
const global$1 = globalThis;
|
|
36139
36318
|
const ObjectDefineProperty = Object.defineProperty.bind(Object);
|
|
@@ -36201,7 +36380,7 @@ var SignalExitFallback = class extends SignalExitBase {
|
|
|
36201
36380
|
};
|
|
36202
36381
|
var SignalExit = class extends SignalExitBase {
|
|
36203
36382
|
/* c8 ignore start */
|
|
36204
|
-
#hupSig = process$
|
|
36383
|
+
#hupSig = process$2.platform === "win32" ? "SIGINT" : "SIGHUP";
|
|
36205
36384
|
/* c8 ignore stop */
|
|
36206
36385
|
#emitter = new Emitter();
|
|
36207
36386
|
#process;
|
|
@@ -36209,15 +36388,15 @@ var SignalExit = class extends SignalExitBase {
|
|
|
36209
36388
|
#originalProcessReallyExit;
|
|
36210
36389
|
#sigListeners = {};
|
|
36211
36390
|
#loaded = false;
|
|
36212
|
-
constructor(process$
|
|
36391
|
+
constructor(process$5) {
|
|
36213
36392
|
super();
|
|
36214
|
-
this.#process = process$
|
|
36393
|
+
this.#process = process$5;
|
|
36215
36394
|
this.#sigListeners = {};
|
|
36216
36395
|
for (const sig of signals) this.#sigListeners[sig] = () => {
|
|
36217
36396
|
const listeners = this.#process.listeners(sig);
|
|
36218
36397
|
let { count: count$1 } = this.#emitter;
|
|
36219
36398
|
/* c8 ignore start */
|
|
36220
|
-
const p$1 = process$
|
|
36399
|
+
const p$1 = process$5;
|
|
36221
36400
|
if (typeof p$1.__signal_exit_emitter__ === "object" && typeof p$1.__signal_exit_emitter__.count === "number") count$1 += p$1.__signal_exit_emitter__.count;
|
|
36222
36401
|
/* c8 ignore stop */
|
|
36223
36402
|
if (listeners.length === count$1) {
|
|
@@ -36225,11 +36404,11 @@ var SignalExit = class extends SignalExitBase {
|
|
|
36225
36404
|
const ret = this.#emitter.emit("exit", null, sig);
|
|
36226
36405
|
/* c8 ignore start */
|
|
36227
36406
|
const s = sig === "SIGHUP" ? this.#hupSig : sig;
|
|
36228
|
-
if (!ret) process$
|
|
36407
|
+
if (!ret) process$5.kill(process$5.pid, s);
|
|
36229
36408
|
}
|
|
36230
36409
|
};
|
|
36231
|
-
this.#originalProcessReallyExit = process$
|
|
36232
|
-
this.#originalProcessEmit = process$
|
|
36410
|
+
this.#originalProcessReallyExit = process$5.reallyExit;
|
|
36411
|
+
this.#originalProcessEmit = process$5.emit;
|
|
36233
36412
|
}
|
|
36234
36413
|
onExit(cb, opts) {
|
|
36235
36414
|
/* c8 ignore start */
|
|
@@ -36296,8 +36475,8 @@ var SignalExit = class extends SignalExitBase {
|
|
|
36296
36475
|
} else return og.call(this.#process, ev, ...args);
|
|
36297
36476
|
}
|
|
36298
36477
|
};
|
|
36299
|
-
const process$
|
|
36300
|
-
const { onExit, load, unload } = signalExitWrap(processOk(process$
|
|
36478
|
+
const process$2 = globalThis.process;
|
|
36479
|
+
const { onExit, load, unload } = signalExitWrap(processOk(process$2) ? new SignalExit(process$2) : new SignalExitFallback());
|
|
36301
36480
|
|
|
36302
36481
|
//#endregion
|
|
36303
36482
|
//#region node_modules/execa/lib/terminate/cleanup.js
|
|
@@ -38251,7 +38430,7 @@ function isInsideContainer() {
|
|
|
38251
38430
|
//#endregion
|
|
38252
38431
|
//#region node_modules/is-wsl/index.js
|
|
38253
38432
|
const isWsl = () => {
|
|
38254
|
-
if (
|
|
38433
|
+
if (process$1.platform !== "linux") return false;
|
|
38255
38434
|
if (os.release().toLowerCase().includes("microsoft")) {
|
|
38256
38435
|
if (isInsideContainer()) return false;
|
|
38257
38436
|
return true;
|
|
@@ -38262,12 +38441,12 @@ const isWsl = () => {
|
|
|
38262
38441
|
return false;
|
|
38263
38442
|
}
|
|
38264
38443
|
};
|
|
38265
|
-
var is_wsl_default =
|
|
38444
|
+
var is_wsl_default = process$1.env.__IS_WSL_TEST__ ? isWsl : isWsl();
|
|
38266
38445
|
|
|
38267
38446
|
//#endregion
|
|
38268
38447
|
//#region node_modules/powershell-utils/index.js
|
|
38269
38448
|
const execFile$2 = promisify(childProcess.execFile);
|
|
38270
|
-
const powerShellPath$1 = () => `${
|
|
38449
|
+
const powerShellPath$1 = () => `${process$1.env.SYSTEMROOT || process$1.env.windir || String.raw`C:\Windows`}\\System32\\WindowsPowerShell\\v1.0\\powershell.exe`;
|
|
38271
38450
|
const executePowerShell = async (command, options = {}) => {
|
|
38272
38451
|
const { powerShellPath: psPath, ...execFileOptions } = options;
|
|
38273
38452
|
const encodedCommand = executePowerShell.encodeCommand(command);
|
|
@@ -38378,7 +38557,7 @@ function defineLazyProperty(object$1, propertyName, valueGetter) {
|
|
|
38378
38557
|
//#region node_modules/default-browser-id/index.js
|
|
38379
38558
|
const execFileAsync$3 = promisify(execFile);
|
|
38380
38559
|
async function defaultBrowserId() {
|
|
38381
|
-
if (
|
|
38560
|
+
if (process$1.platform !== "darwin") throw new Error("macOS only");
|
|
38382
38561
|
const { stdout: stdout$1 } = await execFileAsync$3("defaults", [
|
|
38383
38562
|
"read",
|
|
38384
38563
|
"com.apple.LaunchServices/com.apple.launchservices.secure",
|
|
@@ -38393,7 +38572,7 @@ async function defaultBrowserId() {
|
|
|
38393
38572
|
//#region node_modules/run-applescript/index.js
|
|
38394
38573
|
const execFileAsync$2 = promisify(execFile);
|
|
38395
38574
|
async function runAppleScript(script, { humanReadableOutput = true, signal } = {}) {
|
|
38396
|
-
if (
|
|
38575
|
+
if (process$1.platform !== "darwin") throw new Error("macOS only");
|
|
38397
38576
|
const outputArguments = humanReadableOutput ? [] : ["-ss"];
|
|
38398
38577
|
const execOptions = {};
|
|
38399
38578
|
if (signal) execOptions.signal = signal;
|
|
@@ -38502,14 +38681,14 @@ async function defaultBrowser$1(_execFileAsync = execFileAsync$1) {
|
|
|
38502
38681
|
const execFileAsync = promisify(execFile);
|
|
38503
38682
|
const titleize = (string$2) => string$2.toLowerCase().replaceAll(/(?:^|\s|-)\S/g, (x$2) => x$2.toUpperCase());
|
|
38504
38683
|
async function defaultBrowser() {
|
|
38505
|
-
if (
|
|
38684
|
+
if (process$1.platform === "darwin") {
|
|
38506
38685
|
const id = await defaultBrowserId();
|
|
38507
38686
|
return {
|
|
38508
38687
|
name: await bundleName(id),
|
|
38509
38688
|
id
|
|
38510
38689
|
};
|
|
38511
38690
|
}
|
|
38512
|
-
if (
|
|
38691
|
+
if (process$1.platform === "linux") {
|
|
38513
38692
|
const { stdout: stdout$1 } = await execFileAsync("xdg-mime", [
|
|
38514
38693
|
"query",
|
|
38515
38694
|
"default",
|
|
@@ -38521,13 +38700,13 @@ async function defaultBrowser() {
|
|
|
38521
38700
|
id
|
|
38522
38701
|
};
|
|
38523
38702
|
}
|
|
38524
|
-
if (
|
|
38703
|
+
if (process$1.platform === "win32") return defaultBrowser$1();
|
|
38525
38704
|
throw new Error("Only macOS, Linux, and Windows are supported");
|
|
38526
38705
|
}
|
|
38527
38706
|
|
|
38528
38707
|
//#endregion
|
|
38529
38708
|
//#region node_modules/is-in-ssh/index.js
|
|
38530
|
-
const isInSsh = Boolean(
|
|
38709
|
+
const isInSsh = Boolean(process$1.env.SSH_CONNECTION || process$1.env.SSH_CLIENT || process$1.env.SSH_TTY);
|
|
38531
38710
|
var is_in_ssh_default = isInSsh;
|
|
38532
38711
|
|
|
38533
38712
|
//#endregion
|
|
@@ -38535,7 +38714,7 @@ var is_in_ssh_default = isInSsh;
|
|
|
38535
38714
|
const fallbackAttemptSymbol = Symbol("fallbackAttempt");
|
|
38536
38715
|
const __dirname = import.meta.url ? path.dirname(fileURLToPath(import.meta.url)) : "";
|
|
38537
38716
|
const localXdgOpenPath = path.join(__dirname, "xdg-open");
|
|
38538
|
-
const { platform: platform$1, arch } =
|
|
38717
|
+
const { platform: platform$1, arch } = process$1;
|
|
38539
38718
|
const tryEachApp = async (apps$1, opener) => {
|
|
38540
38719
|
if (apps$1.length === 0) return;
|
|
38541
38720
|
const errors = [];
|
|
@@ -38648,7 +38827,7 @@ const baseOpen = async (options) => {
|
|
|
38648
38827
|
await fs$1.access(localXdgOpenPath, constants$1.X_OK);
|
|
38649
38828
|
exeLocalXdgOpen = true;
|
|
38650
38829
|
} catch {}
|
|
38651
|
-
command =
|
|
38830
|
+
command = process$1.versions.electron ?? (platform$1 === "android" || isBundled || !exeLocalXdgOpen) ? "xdg-open" : localXdgOpenPath;
|
|
38652
38831
|
}
|
|
38653
38832
|
if (appArguments.length > 0) cliArguments.push(...appArguments);
|
|
38654
38833
|
if (!options.wait) {
|
|
@@ -38931,7 +39110,7 @@ const siteDeployCommand = new Command("site").description("Manage site deploymen
|
|
|
38931
39110
|
|
|
38932
39111
|
//#endregion
|
|
38933
39112
|
//#region package.json
|
|
38934
|
-
var version = "0.0.
|
|
39113
|
+
var version = "0.0.21";
|
|
38935
39114
|
|
|
38936
39115
|
//#endregion
|
|
38937
39116
|
//#region src/cli/program.ts
|
|
@@ -38946,6 +39125,7 @@ program.addCommand(dashboardCommand);
|
|
|
38946
39125
|
program.addCommand(deployCommand);
|
|
38947
39126
|
program.addCommand(linkCommand);
|
|
38948
39127
|
program.addCommand(entitiesPushCommand);
|
|
39128
|
+
program.addCommand(agentsCommand);
|
|
38949
39129
|
program.addCommand(functionsDeployCommand);
|
|
38950
39130
|
program.addCommand(siteDeployCommand);
|
|
38951
39131
|
|