@base44-preview/cli 0.0.15-pr.95.04be992 → 0.0.15-pr.95.552a15a
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/cli/index.js +133 -102
- package/package.json +1 -1
package/dist/cli/index.js
CHANGED
|
@@ -4,7 +4,7 @@ import { EventEmitter, addAbortListener, on, once, setMaxListeners } from "node:
|
|
|
4
4
|
import childProcess, { ChildProcess, execFile, spawn, spawnSync } from "node:child_process";
|
|
5
5
|
import path, { basename, dirname, join, posix, resolve, win32 } from "node:path";
|
|
6
6
|
import fs, { appendFileSync, createReadStream, createWriteStream, readFileSync, statSync, writeFileSync } from "node:fs";
|
|
7
|
-
import
|
|
7
|
+
import y, { execArgv, execPath, hrtime, platform, stdin, stdout } from "node:process";
|
|
8
8
|
import { aborted, callbackify, debuglog, inspect, promisify, stripVTControlCharacters } from "node:util";
|
|
9
9
|
import * as g from "node:readline";
|
|
10
10
|
import O from "node:readline";
|
|
@@ -894,7 +894,7 @@ var require_command = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
894
894
|
const childProcess$1 = __require("node:child_process");
|
|
895
895
|
const path$15 = __require("node:path");
|
|
896
896
|
const fs$10 = __require("node:fs");
|
|
897
|
-
const process$
|
|
897
|
+
const process$3 = __require("node:process");
|
|
898
898
|
const { Argument, humanReadableArgName } = require_argument();
|
|
899
899
|
const { CommanderError } = require_error$1();
|
|
900
900
|
const { Help } = require_help();
|
|
@@ -945,10 +945,10 @@ var require_command = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
945
945
|
this._showHelpAfterError = false;
|
|
946
946
|
this._showSuggestionAfterError = true;
|
|
947
947
|
this._outputConfiguration = {
|
|
948
|
-
writeOut: (str) => process$
|
|
949
|
-
writeErr: (str) => process$
|
|
950
|
-
getOutHelpWidth: () => process$
|
|
951
|
-
getErrHelpWidth: () => process$
|
|
948
|
+
writeOut: (str) => process$3.stdout.write(str),
|
|
949
|
+
writeErr: (str) => process$3.stderr.write(str),
|
|
950
|
+
getOutHelpWidth: () => process$3.stdout.isTTY ? process$3.stdout.columns : void 0,
|
|
951
|
+
getErrHelpWidth: () => process$3.stderr.isTTY ? process$3.stderr.columns : void 0,
|
|
952
952
|
outputError: (str, write) => write(str)
|
|
953
953
|
};
|
|
954
954
|
this._hidden = false;
|
|
@@ -1302,7 +1302,7 @@ Expecting one of '${allowedValues.join("', '")}'`);
|
|
|
1302
1302
|
*/
|
|
1303
1303
|
_exit(exitCode, code$1, message) {
|
|
1304
1304
|
if (this._exitCallback) this._exitCallback(new CommanderError(exitCode, code$1, message));
|
|
1305
|
-
process$
|
|
1305
|
+
process$3.exit(exitCode);
|
|
1306
1306
|
}
|
|
1307
1307
|
/**
|
|
1308
1308
|
* Register callback `fn` for the command.
|
|
@@ -1641,11 +1641,11 @@ Expecting one of '${allowedValues.join("', '")}'`);
|
|
|
1641
1641
|
if (argv !== void 0 && !Array.isArray(argv)) throw new Error("first parameter to parse must be array or undefined");
|
|
1642
1642
|
parseOptions = parseOptions || {};
|
|
1643
1643
|
if (argv === void 0 && parseOptions.from === void 0) {
|
|
1644
|
-
if (process$
|
|
1645
|
-
const execArgv$1 = process$
|
|
1644
|
+
if (process$3.versions?.electron) parseOptions.from = "electron";
|
|
1645
|
+
const execArgv$1 = process$3.execArgv ?? [];
|
|
1646
1646
|
if (execArgv$1.includes("-e") || execArgv$1.includes("--eval") || execArgv$1.includes("-p") || execArgv$1.includes("--print")) parseOptions.from = "eval";
|
|
1647
1647
|
}
|
|
1648
|
-
if (argv === void 0) argv = process$
|
|
1648
|
+
if (argv === void 0) argv = process$3.argv;
|
|
1649
1649
|
this.rawArgs = argv.slice();
|
|
1650
1650
|
let userArgs;
|
|
1651
1651
|
switch (parseOptions.from) {
|
|
@@ -1655,7 +1655,7 @@ Expecting one of '${allowedValues.join("', '")}'`);
|
|
|
1655
1655
|
userArgs = argv.slice(2);
|
|
1656
1656
|
break;
|
|
1657
1657
|
case "electron":
|
|
1658
|
-
if (process$
|
|
1658
|
+
if (process$3.defaultApp) {
|
|
1659
1659
|
this._scriptPath = argv[1];
|
|
1660
1660
|
userArgs = argv.slice(2);
|
|
1661
1661
|
} else userArgs = argv.slice(1);
|
|
@@ -1769,15 +1769,15 @@ Expecting one of '${allowedValues.join("', '")}'`);
|
|
|
1769
1769
|
}
|
|
1770
1770
|
launchWithNode = sourceExt.includes(path$15.extname(executableFile));
|
|
1771
1771
|
let proc$1;
|
|
1772
|
-
if (process$
|
|
1772
|
+
if (process$3.platform !== "win32") if (launchWithNode) {
|
|
1773
1773
|
args.unshift(executableFile);
|
|
1774
|
-
args = incrementNodeInspectorPort(process$
|
|
1775
|
-
proc$1 = childProcess$1.spawn(process$
|
|
1774
|
+
args = incrementNodeInspectorPort(process$3.execArgv).concat(args);
|
|
1775
|
+
proc$1 = childProcess$1.spawn(process$3.argv[0], args, { stdio: "inherit" });
|
|
1776
1776
|
} else proc$1 = childProcess$1.spawn(executableFile, args, { stdio: "inherit" });
|
|
1777
1777
|
else {
|
|
1778
1778
|
args.unshift(executableFile);
|
|
1779
|
-
args = incrementNodeInspectorPort(process$
|
|
1780
|
-
proc$1 = childProcess$1.spawn(process$
|
|
1779
|
+
args = incrementNodeInspectorPort(process$3.execArgv).concat(args);
|
|
1780
|
+
proc$1 = childProcess$1.spawn(process$3.execPath, args, { stdio: "inherit" });
|
|
1781
1781
|
}
|
|
1782
1782
|
if (!proc$1.killed) [
|
|
1783
1783
|
"SIGUSR1",
|
|
@@ -1786,14 +1786,14 @@ Expecting one of '${allowedValues.join("', '")}'`);
|
|
|
1786
1786
|
"SIGINT",
|
|
1787
1787
|
"SIGHUP"
|
|
1788
1788
|
].forEach((signal) => {
|
|
1789
|
-
process$
|
|
1789
|
+
process$3.on(signal, () => {
|
|
1790
1790
|
if (proc$1.killed === false && proc$1.exitCode === null) proc$1.kill(signal);
|
|
1791
1791
|
});
|
|
1792
1792
|
});
|
|
1793
1793
|
const exitCallback = this._exitCallback;
|
|
1794
1794
|
proc$1.on("close", (code$1) => {
|
|
1795
1795
|
code$1 = code$1 ?? 1;
|
|
1796
|
-
if (!exitCallback) process$
|
|
1796
|
+
if (!exitCallback) process$3.exit(code$1);
|
|
1797
1797
|
else exitCallback(new CommanderError(code$1, "commander.executeSubCommandAsync", "(close)"));
|
|
1798
1798
|
});
|
|
1799
1799
|
proc$1.on("error", (err) => {
|
|
@@ -1805,7 +1805,7 @@ Expecting one of '${allowedValues.join("', '")}'`);
|
|
|
1805
1805
|
- ${executableDirMessage}`;
|
|
1806
1806
|
throw new Error(executableMissing);
|
|
1807
1807
|
} else if (err.code === "EACCES") throw new Error(`'${executableFile}' not executable`);
|
|
1808
|
-
if (!exitCallback) process$
|
|
1808
|
+
if (!exitCallback) process$3.exit(1);
|
|
1809
1809
|
else {
|
|
1810
1810
|
const wrappedError = new CommanderError(1, "commander.executeSubCommandAsync", "(error)");
|
|
1811
1811
|
wrappedError.nestedError = err;
|
|
@@ -2211,13 +2211,13 @@ Expecting one of '${allowedValues.join("', '")}'`);
|
|
|
2211
2211
|
*/
|
|
2212
2212
|
_parseOptionsEnv() {
|
|
2213
2213
|
this.options.forEach((option) => {
|
|
2214
|
-
if (option.envVar && option.envVar in process$
|
|
2214
|
+
if (option.envVar && option.envVar in process$3.env) {
|
|
2215
2215
|
const optionKey = option.attributeName();
|
|
2216
2216
|
if (this.getOptionValue(optionKey) === void 0 || [
|
|
2217
2217
|
"default",
|
|
2218
2218
|
"config",
|
|
2219
2219
|
"env"
|
|
2220
|
-
].includes(this.getOptionValueSource(optionKey))) if (option.required || option.optional) this.emit(`optionEnv:${option.name()}`, process$
|
|
2220
|
+
].includes(this.getOptionValueSource(optionKey))) if (option.required || option.optional) this.emit(`optionEnv:${option.name()}`, process$3.env[option.envVar]);
|
|
2221
2221
|
else this.emit(`optionEnv:${option.name()}`);
|
|
2222
2222
|
}
|
|
2223
2223
|
});
|
|
@@ -2596,7 +2596,7 @@ Expecting one of '${allowedValues.join("', '")}'`);
|
|
|
2596
2596
|
*/
|
|
2597
2597
|
help(contextOptions) {
|
|
2598
2598
|
this.outputHelp(contextOptions);
|
|
2599
|
-
let exitCode = process$
|
|
2599
|
+
let exitCode = process$3.exitCode || 0;
|
|
2600
2600
|
if (exitCode === 0 && contextOptions && typeof contextOptions !== "function" && contextOptions.error) exitCode = 1;
|
|
2601
2601
|
this._exit(exitCode, "commander.help", "(outputHelp)");
|
|
2602
2602
|
}
|
|
@@ -2712,16 +2712,16 @@ var require_src = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
2712
2712
|
const CSI = `${ESC}[`;
|
|
2713
2713
|
const beep = "\x07";
|
|
2714
2714
|
const cursor = {
|
|
2715
|
-
to(x$2, y$
|
|
2716
|
-
if (!y$
|
|
2717
|
-
return `${CSI}${y$
|
|
2715
|
+
to(x$2, y$2) {
|
|
2716
|
+
if (!y$2) return `${CSI}${x$2 + 1}G`;
|
|
2717
|
+
return `${CSI}${y$2 + 1};${x$2 + 1}H`;
|
|
2718
2718
|
},
|
|
2719
|
-
move(x$2, y$
|
|
2719
|
+
move(x$2, y$2) {
|
|
2720
2720
|
let ret = "";
|
|
2721
2721
|
if (x$2 < 0) ret += `${CSI}${-x$2}D`;
|
|
2722
2722
|
else if (x$2 > 0) ret += `${CSI}${x$2}C`;
|
|
2723
|
-
if (y$
|
|
2724
|
-
else if (y$
|
|
2723
|
+
if (y$2 < 0) ret += `${CSI}${-y$2}A`;
|
|
2724
|
+
else if (y$2 > 0) ret += `${CSI}${y$2}B`;
|
|
2725
2725
|
return ret;
|
|
2726
2726
|
},
|
|
2727
2727
|
up: (count$1 = 1) => `${CSI}${count$1}A`,
|
|
@@ -3031,13 +3031,13 @@ function rD() {
|
|
|
3031
3031
|
}
|
|
3032
3032
|
}), r;
|
|
3033
3033
|
}
|
|
3034
|
-
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
|
+
const ED = rD(), d$1 = new Set(["\x1B", ""]), oD = 39, y$1 = "\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$1}`, aD = (e$1) => e$1.split(" ").map((u$2) => p(u$2)), k$1 = (e$1, u$2, t) => {
|
|
3035
3035
|
const F$1 = [...u$2];
|
|
3036
3036
|
let s = !1, i$1 = !1, D$1 = p(P$1(e$1[e$1.length - 1]));
|
|
3037
3037
|
for (const [C$1, n$1] of F$1.entries()) {
|
|
3038
3038
|
const E = p(n$1);
|
|
3039
3039
|
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) {
|
|
3040
|
-
i$1 ? n$1 === y && (s = !1, i$1 = !1) : n$1 === G$1 && (s = !1);
|
|
3040
|
+
i$1 ? n$1 === y$1 && (s = !1, i$1 = !1) : n$1 === G$1 && (s = !1);
|
|
3041
3041
|
continue;
|
|
3042
3042
|
}
|
|
3043
3043
|
D$1 += E, D$1 === t && C$1 < F$1.length - 1 && (e$1.push(""), D$1 = 0);
|
|
@@ -3079,7 +3079,7 @@ const ED = rD(), d$1 = new Set(["\x1B", ""]), oD = 39, y = "\x07", V$1 = "[",
|
|
|
3079
3079
|
`)];
|
|
3080
3080
|
for (const [E, a$1] of n$1.entries()) {
|
|
3081
3081
|
if (F$1 += a$1, d$1.has(a$1)) {
|
|
3082
|
-
const { groups: c$1 } = (/* @__PURE__ */ new RegExp(`(?:\\${V$1}(?<code>\\d+)m|\\${_$1}(?<uri>.*)${y})`)).exec(n$1.slice(E).join("")) || { groups: {} };
|
|
3082
|
+
const { groups: c$1 } = (/* @__PURE__ */ new RegExp(`(?:\\${V$1}(?<code>\\d+)m|\\${_$1}(?<uri>.*)${y$1})`)).exec(n$1.slice(E).join("")) || { groups: {} };
|
|
3083
3083
|
if (c$1.code !== void 0) {
|
|
3084
3084
|
const f = Number.parseFloat(c$1.code);
|
|
3085
3085
|
s = f === oD ? void 0 : f;
|
|
@@ -3480,7 +3480,7 @@ var RD = class extends x$1 {
|
|
|
3480
3480
|
//#endregion
|
|
3481
3481
|
//#region node_modules/@clack/prompts/dist/index.mjs
|
|
3482
3482
|
function ce() {
|
|
3483
|
-
return
|
|
3483
|
+
return y.platform !== "win32" ? y.env.TERM !== "linux" : !!y.env.CI || !!y.env.WT_SESSION || !!y.env.TERMINUS_SUBLIME || y.env.ConEmuTask === "{cmd::Cmder}" || y.env.TERM_PROGRAM === "Terminus-Sublime" || y.env.TERM_PROGRAM === "vscode" || y.env.TERM === "xterm-256color" || y.env.TERM === "alacritty" || y.env.TERMINAL_EMULATOR === "JetBrains-JediTerm";
|
|
3484
3484
|
}
|
|
3485
3485
|
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) => {
|
|
3486
3486
|
switch (t) {
|
|
@@ -6628,7 +6628,7 @@ function initializeContext(params) {
|
|
|
6628
6628
|
external: params?.external ?? void 0
|
|
6629
6629
|
};
|
|
6630
6630
|
}
|
|
6631
|
-
function process$
|
|
6631
|
+
function process$2(schema, ctx, _params = {
|
|
6632
6632
|
path: [],
|
|
6633
6633
|
schemaPath: []
|
|
6634
6634
|
}) {
|
|
@@ -6665,7 +6665,7 @@ function process$3(schema, ctx, _params = {
|
|
|
6665
6665
|
const parent = schema._zod.parent;
|
|
6666
6666
|
if (parent) {
|
|
6667
6667
|
if (!result.ref) result.ref = parent;
|
|
6668
|
-
process$
|
|
6668
|
+
process$2(parent, ctx, params);
|
|
6669
6669
|
ctx.seen.get(parent).isParent = true;
|
|
6670
6670
|
}
|
|
6671
6671
|
}
|
|
@@ -6877,7 +6877,7 @@ const createToJSONSchemaMethod = (schema, processors = {}) => (params) => {
|
|
|
6877
6877
|
...params,
|
|
6878
6878
|
processors
|
|
6879
6879
|
});
|
|
6880
|
-
process$
|
|
6880
|
+
process$2(schema, ctx);
|
|
6881
6881
|
extractDefs(ctx, schema);
|
|
6882
6882
|
return finalize(ctx, schema);
|
|
6883
6883
|
};
|
|
@@ -6889,7 +6889,7 @@ const createStandardJSONSchemaMethod = (schema, io, processors = {}) => (params)
|
|
|
6889
6889
|
io,
|
|
6890
6890
|
processors
|
|
6891
6891
|
});
|
|
6892
|
-
process$
|
|
6892
|
+
process$2(schema, ctx);
|
|
6893
6893
|
extractDefs(ctx, schema);
|
|
6894
6894
|
return finalize(ctx, schema);
|
|
6895
6895
|
};
|
|
@@ -6973,7 +6973,7 @@ const arrayProcessor = (schema, ctx, _json, params) => {
|
|
|
6973
6973
|
if (typeof minimum === "number") json.minItems = minimum;
|
|
6974
6974
|
if (typeof maximum === "number") json.maxItems = maximum;
|
|
6975
6975
|
json.type = "array";
|
|
6976
|
-
json.items = process$
|
|
6976
|
+
json.items = process$2(def.element, ctx, {
|
|
6977
6977
|
...params,
|
|
6978
6978
|
path: [...params.path, "items"]
|
|
6979
6979
|
});
|
|
@@ -6984,7 +6984,7 @@ const objectProcessor = (schema, ctx, _json, params) => {
|
|
|
6984
6984
|
json.type = "object";
|
|
6985
6985
|
json.properties = {};
|
|
6986
6986
|
const shape = def.shape;
|
|
6987
|
-
for (const key in shape) json.properties[key] = process$
|
|
6987
|
+
for (const key in shape) json.properties[key] = process$2(shape[key], ctx, {
|
|
6988
6988
|
...params,
|
|
6989
6989
|
path: [
|
|
6990
6990
|
...params.path,
|
|
@@ -7002,7 +7002,7 @@ const objectProcessor = (schema, ctx, _json, params) => {
|
|
|
7002
7002
|
if (def.catchall?._zod.def.type === "never") json.additionalProperties = false;
|
|
7003
7003
|
else if (!def.catchall) {
|
|
7004
7004
|
if (ctx.io === "output") json.additionalProperties = false;
|
|
7005
|
-
} else if (def.catchall) json.additionalProperties = process$
|
|
7005
|
+
} else if (def.catchall) json.additionalProperties = process$2(def.catchall, ctx, {
|
|
7006
7006
|
...params,
|
|
7007
7007
|
path: [...params.path, "additionalProperties"]
|
|
7008
7008
|
});
|
|
@@ -7010,7 +7010,7 @@ const objectProcessor = (schema, ctx, _json, params) => {
|
|
|
7010
7010
|
const unionProcessor = (schema, ctx, json, params) => {
|
|
7011
7011
|
const def = schema._zod.def;
|
|
7012
7012
|
const isExclusive = def.inclusive === false;
|
|
7013
|
-
const options = def.options.map((x$2, i$1) => process$
|
|
7013
|
+
const options = def.options.map((x$2, i$1) => process$2(x$2, ctx, {
|
|
7014
7014
|
...params,
|
|
7015
7015
|
path: [
|
|
7016
7016
|
...params.path,
|
|
@@ -7023,7 +7023,7 @@ const unionProcessor = (schema, ctx, json, params) => {
|
|
|
7023
7023
|
};
|
|
7024
7024
|
const intersectionProcessor = (schema, ctx, json, params) => {
|
|
7025
7025
|
const def = schema._zod.def;
|
|
7026
|
-
const a$1 = process$
|
|
7026
|
+
const a$1 = process$2(def.left, ctx, {
|
|
7027
7027
|
...params,
|
|
7028
7028
|
path: [
|
|
7029
7029
|
...params.path,
|
|
@@ -7031,7 +7031,7 @@ const intersectionProcessor = (schema, ctx, json, params) => {
|
|
|
7031
7031
|
0
|
|
7032
7032
|
]
|
|
7033
7033
|
});
|
|
7034
|
-
const b$2 = process$
|
|
7034
|
+
const b$2 = process$2(def.right, ctx, {
|
|
7035
7035
|
...params,
|
|
7036
7036
|
path: [
|
|
7037
7037
|
...params.path,
|
|
@@ -7048,7 +7048,7 @@ const tupleProcessor = (schema, ctx, _json, params) => {
|
|
|
7048
7048
|
json.type = "array";
|
|
7049
7049
|
const prefixPath$1 = ctx.target === "draft-2020-12" ? "prefixItems" : "items";
|
|
7050
7050
|
const restPath = ctx.target === "draft-2020-12" ? "items" : ctx.target === "openapi-3.0" ? "items" : "additionalItems";
|
|
7051
|
-
const prefixItems = def.items.map((x$2, i$1) => process$
|
|
7051
|
+
const prefixItems = def.items.map((x$2, i$1) => process$2(x$2, ctx, {
|
|
7052
7052
|
...params,
|
|
7053
7053
|
path: [
|
|
7054
7054
|
...params.path,
|
|
@@ -7056,7 +7056,7 @@ const tupleProcessor = (schema, ctx, _json, params) => {
|
|
|
7056
7056
|
i$1
|
|
7057
7057
|
]
|
|
7058
7058
|
}));
|
|
7059
|
-
const rest = def.rest ? process$
|
|
7059
|
+
const rest = def.rest ? process$2(def.rest, ctx, {
|
|
7060
7060
|
...params,
|
|
7061
7061
|
path: [
|
|
7062
7062
|
...params.path,
|
|
@@ -7082,7 +7082,7 @@ const tupleProcessor = (schema, ctx, _json, params) => {
|
|
|
7082
7082
|
};
|
|
7083
7083
|
const nullableProcessor = (schema, ctx, json, params) => {
|
|
7084
7084
|
const def = schema._zod.def;
|
|
7085
|
-
const inner = process$
|
|
7085
|
+
const inner = process$2(def.innerType, ctx, params);
|
|
7086
7086
|
const seen = ctx.seen.get(schema);
|
|
7087
7087
|
if (ctx.target === "openapi-3.0") {
|
|
7088
7088
|
seen.ref = def.innerType;
|
|
@@ -7091,27 +7091,27 @@ const nullableProcessor = (schema, ctx, json, params) => {
|
|
|
7091
7091
|
};
|
|
7092
7092
|
const nonoptionalProcessor = (schema, ctx, _json, params) => {
|
|
7093
7093
|
const def = schema._zod.def;
|
|
7094
|
-
process$
|
|
7094
|
+
process$2(def.innerType, ctx, params);
|
|
7095
7095
|
const seen = ctx.seen.get(schema);
|
|
7096
7096
|
seen.ref = def.innerType;
|
|
7097
7097
|
};
|
|
7098
7098
|
const defaultProcessor = (schema, ctx, json, params) => {
|
|
7099
7099
|
const def = schema._zod.def;
|
|
7100
|
-
process$
|
|
7100
|
+
process$2(def.innerType, ctx, params);
|
|
7101
7101
|
const seen = ctx.seen.get(schema);
|
|
7102
7102
|
seen.ref = def.innerType;
|
|
7103
7103
|
json.default = JSON.parse(JSON.stringify(def.defaultValue));
|
|
7104
7104
|
};
|
|
7105
7105
|
const prefaultProcessor = (schema, ctx, json, params) => {
|
|
7106
7106
|
const def = schema._zod.def;
|
|
7107
|
-
process$
|
|
7107
|
+
process$2(def.innerType, ctx, params);
|
|
7108
7108
|
const seen = ctx.seen.get(schema);
|
|
7109
7109
|
seen.ref = def.innerType;
|
|
7110
7110
|
if (ctx.io === "input") json._prefault = JSON.parse(JSON.stringify(def.defaultValue));
|
|
7111
7111
|
};
|
|
7112
7112
|
const catchProcessor = (schema, ctx, json, params) => {
|
|
7113
7113
|
const def = schema._zod.def;
|
|
7114
|
-
process$
|
|
7114
|
+
process$2(def.innerType, ctx, params);
|
|
7115
7115
|
const seen = ctx.seen.get(schema);
|
|
7116
7116
|
seen.ref = def.innerType;
|
|
7117
7117
|
let catchValue;
|
|
@@ -7125,20 +7125,20 @@ const catchProcessor = (schema, ctx, json, params) => {
|
|
|
7125
7125
|
const pipeProcessor = (schema, ctx, _json, params) => {
|
|
7126
7126
|
const def = schema._zod.def;
|
|
7127
7127
|
const innerType = ctx.io === "input" ? def.in._zod.def.type === "transform" ? def.out : def.in : def.out;
|
|
7128
|
-
process$
|
|
7128
|
+
process$2(innerType, ctx, params);
|
|
7129
7129
|
const seen = ctx.seen.get(schema);
|
|
7130
7130
|
seen.ref = innerType;
|
|
7131
7131
|
};
|
|
7132
7132
|
const readonlyProcessor = (schema, ctx, json, params) => {
|
|
7133
7133
|
const def = schema._zod.def;
|
|
7134
|
-
process$
|
|
7134
|
+
process$2(def.innerType, ctx, params);
|
|
7135
7135
|
const seen = ctx.seen.get(schema);
|
|
7136
7136
|
seen.ref = def.innerType;
|
|
7137
7137
|
json.readOnly = true;
|
|
7138
7138
|
};
|
|
7139
7139
|
const optionalProcessor = (schema, ctx, _json, params) => {
|
|
7140
7140
|
const def = schema._zod.def;
|
|
7141
|
-
process$
|
|
7141
|
+
process$2(def.innerType, ctx, params);
|
|
7142
7142
|
const seen = ctx.seen.get(schema);
|
|
7143
7143
|
seen.ref = def.innerType;
|
|
7144
7144
|
};
|
|
@@ -16156,7 +16156,7 @@ const createIgnorePredicate = (patterns, cwd, baseDir) => {
|
|
|
16156
16156
|
};
|
|
16157
16157
|
const normalizeOptions$2 = (options = {}) => {
|
|
16158
16158
|
const ignoreOption = options.ignore ? Array.isArray(options.ignore) ? options.ignore : [options.ignore] : [];
|
|
16159
|
-
const cwd = toPath$1(options.cwd) ??
|
|
16159
|
+
const cwd = toPath$1(options.cwd) ?? y.cwd();
|
|
16160
16160
|
const deep = typeof options.deep === "number" ? Math.max(0, options.deep) + 1 : Number.POSITIVE_INFINITY;
|
|
16161
16161
|
return {
|
|
16162
16162
|
cwd,
|
|
@@ -16253,7 +16253,7 @@ const getDirectoryGlob = ({ directoryPath, files, extensions }) => {
|
|
|
16253
16253
|
const extensionGlob = extensions?.length > 0 ? `.${extensions.length > 1 ? `{${extensions.join(",")}}` : extensions[0]}` : "";
|
|
16254
16254
|
return files ? files.map((file) => path.posix.join(directoryPath, `**/${path.extname(file) ? file : `${file}${extensionGlob}`}`)) : [path.posix.join(directoryPath, `**${extensionGlob ? `/*${extensionGlob}` : ""}`)];
|
|
16255
16255
|
};
|
|
16256
|
-
const directoryToGlob = async (directoryPaths, { cwd =
|
|
16256
|
+
const directoryToGlob = async (directoryPaths, { cwd = y.cwd(), files, extensions, fs: fsImplementation } = {}) => {
|
|
16257
16257
|
return (await Promise.all(directoryPaths.map(async (directoryPath) => {
|
|
16258
16258
|
if (shouldExpandGlobstarDirectory(isNegativePattern(directoryPath) ? directoryPath.slice(1) : directoryPath)) return getDirectoryGlob({
|
|
16259
16259
|
directoryPath,
|
|
@@ -16267,7 +16267,7 @@ const directoryToGlob = async (directoryPaths, { cwd = process$1.cwd(), files, e
|
|
|
16267
16267
|
}) : directoryPath;
|
|
16268
16268
|
}))).flat();
|
|
16269
16269
|
};
|
|
16270
|
-
const directoryToGlobSync = (directoryPaths, { cwd =
|
|
16270
|
+
const directoryToGlobSync = (directoryPaths, { cwd = y.cwd(), files, extensions, fs: fsImplementation } = {}) => directoryPaths.flatMap((directoryPath) => {
|
|
16271
16271
|
if (shouldExpandGlobstarDirectory(isNegativePattern(directoryPath) ? directoryPath.slice(1) : directoryPath)) return getDirectoryGlob({
|
|
16272
16272
|
directoryPath,
|
|
16273
16273
|
files,
|
|
@@ -16363,7 +16363,7 @@ const applyIgnoreFilesAndGetFilterSync = (options) => {
|
|
|
16363
16363
|
};
|
|
16364
16364
|
const createFilterFunction = (isIgnored, cwd) => {
|
|
16365
16365
|
const seen = /* @__PURE__ */ new Set();
|
|
16366
|
-
const basePath = cwd ||
|
|
16366
|
+
const basePath = cwd || y.cwd();
|
|
16367
16367
|
const pathCache = /* @__PURE__ */ new Map();
|
|
16368
16368
|
return (fastGlobResult) => {
|
|
16369
16369
|
const pathKey$1 = path.normalize(fastGlobResult.path ?? fastGlobResult);
|
|
@@ -30703,13 +30703,13 @@ var ansi_styles_default = ansiStyles;
|
|
|
30703
30703
|
|
|
30704
30704
|
//#endregion
|
|
30705
30705
|
//#region node_modules/chalk/source/vendor/supports-color/index.js
|
|
30706
|
-
function hasFlag(flag, argv = globalThis.Deno ? globalThis.Deno.args :
|
|
30706
|
+
function hasFlag(flag, argv = globalThis.Deno ? globalThis.Deno.args : y.argv) {
|
|
30707
30707
|
const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--";
|
|
30708
30708
|
const position = argv.indexOf(prefix + flag);
|
|
30709
30709
|
const terminatorPosition = argv.indexOf("--");
|
|
30710
30710
|
return position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);
|
|
30711
30711
|
}
|
|
30712
|
-
const { env } =
|
|
30712
|
+
const { env } = y;
|
|
30713
30713
|
let flagForceColor;
|
|
30714
30714
|
if (hasFlag("no-color") || hasFlag("no-colors") || hasFlag("color=false") || hasFlag("color=never")) flagForceColor = 0;
|
|
30715
30715
|
else if (hasFlag("color") || hasFlag("colors") || hasFlag("color=true") || hasFlag("color=always")) flagForceColor = 1;
|
|
@@ -30742,7 +30742,7 @@ function _supportsColor(haveStream, { streamIsTTY, sniffFlags = true } = {}) {
|
|
|
30742
30742
|
if (haveStream && !streamIsTTY && forceColor === void 0) return 0;
|
|
30743
30743
|
const min = forceColor || 0;
|
|
30744
30744
|
if (env.TERM === "dumb") return min;
|
|
30745
|
-
if (
|
|
30745
|
+
if (y.platform === "win32") {
|
|
30746
30746
|
const osRelease = os.release().split(".");
|
|
30747
30747
|
if (Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) return Number(osRelease[2]) >= 14931 ? 3 : 2;
|
|
30748
30748
|
return 1;
|
|
@@ -31481,9 +31481,9 @@ const getSubprocessResult = ({ stdout: stdout$1 }) => {
|
|
|
31481
31481
|
//#region node_modules/execa/lib/utils/standard-stream.js
|
|
31482
31482
|
const isStandardStream = (stream) => STANDARD_STREAMS.includes(stream);
|
|
31483
31483
|
const STANDARD_STREAMS = [
|
|
31484
|
-
|
|
31485
|
-
|
|
31486
|
-
|
|
31484
|
+
y.stdin,
|
|
31485
|
+
y.stdout,
|
|
31486
|
+
y.stderr
|
|
31487
31487
|
];
|
|
31488
31488
|
const STANDARD_STREAMS_ALIASES = [
|
|
31489
31489
|
"stdin",
|
|
@@ -31608,9 +31608,9 @@ const NO_ESCAPE_REGEXP = /^[\w./-]+$/;
|
|
|
31608
31608
|
//#endregion
|
|
31609
31609
|
//#region node_modules/is-unicode-supported/index.js
|
|
31610
31610
|
function isUnicodeSupported() {
|
|
31611
|
-
const { env: env$1 } =
|
|
31611
|
+
const { env: env$1 } = y;
|
|
31612
31612
|
const { TERM, TERM_PROGRAM } = env$1;
|
|
31613
|
-
if (
|
|
31613
|
+
if (y.platform !== "win32") return TERM !== "linux";
|
|
31614
31614
|
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";
|
|
31615
31615
|
}
|
|
31616
31616
|
|
|
@@ -32537,7 +32537,7 @@ const TEN_MEGABYTES_IN_BYTES = 10 * 1024 * 1024;
|
|
|
32537
32537
|
|
|
32538
32538
|
//#endregion
|
|
32539
32539
|
//#region node_modules/npm-run-path/index.js
|
|
32540
|
-
const npmRunPath = ({ cwd =
|
|
32540
|
+
const npmRunPath = ({ cwd = y.cwd(), path: pathOption = y.env[pathKey()], preferLocal = true, execPath: execPath$1 = y.execPath, addExecPath = true } = {}) => {
|
|
32541
32541
|
const cwdPath = path.resolve(toPath(cwd));
|
|
32542
32542
|
const result = [];
|
|
32543
32543
|
const pathParts = pathOption.split(path.delimiter);
|
|
@@ -32555,7 +32555,7 @@ const applyExecPath = (result, pathParts, execPath$1, cwdPath) => {
|
|
|
32555
32555
|
const pathPart = path.resolve(cwdPath, toPath(execPath$1), "..");
|
|
32556
32556
|
if (!pathParts.includes(pathPart)) result.push(pathPart);
|
|
32557
32557
|
};
|
|
32558
|
-
const npmRunPathEnv = ({ env: env$1 =
|
|
32558
|
+
const npmRunPathEnv = ({ env: env$1 = y.env, ...options } = {}) => {
|
|
32559
32559
|
env$1 = { ...env$1 };
|
|
32560
32560
|
const pathName = pathKey({ env: env$1 });
|
|
32561
32561
|
options.path = env$1[pathName];
|
|
@@ -33690,7 +33690,7 @@ const normalizeCwd = (cwd = getDefaultCwd()) => {
|
|
|
33690
33690
|
};
|
|
33691
33691
|
const getDefaultCwd = () => {
|
|
33692
33692
|
try {
|
|
33693
|
-
return
|
|
33693
|
+
return y.cwd();
|
|
33694
33694
|
} catch (error) {
|
|
33695
33695
|
error.message = `The current directory does not exist.\n${error.message}`;
|
|
33696
33696
|
throw error;
|
|
@@ -33725,7 +33725,7 @@ const normalizeOptions = (filePath, rawArguments, rawOptions) => {
|
|
|
33725
33725
|
options.killSignal = normalizeKillSignal(options.killSignal);
|
|
33726
33726
|
options.forceKillAfterDelay = normalizeForceKillAfterDelay(options.forceKillAfterDelay);
|
|
33727
33727
|
options.lines = options.lines.map((lines, fdNumber) => lines && !BINARY_ENCODINGS.has(options.encoding) && options.buffer[fdNumber]);
|
|
33728
|
-
if (
|
|
33728
|
+
if (y.platform === "win32" && path.basename(file, ".exe") === "cmd") commandArguments.unshift("/q");
|
|
33729
33729
|
return {
|
|
33730
33730
|
file,
|
|
33731
33731
|
commandArguments,
|
|
@@ -33752,7 +33752,7 @@ const addDefaultOptions = ({ extendEnv = true, preferLocal = false, cwd, localDi
|
|
|
33752
33752
|
});
|
|
33753
33753
|
const getEnv = ({ env: envOption, extendEnv, preferLocal, node, localDirectory, nodePath }) => {
|
|
33754
33754
|
const env$1 = extendEnv ? {
|
|
33755
|
-
...
|
|
33755
|
+
...y.env,
|
|
33756
33756
|
...envOption
|
|
33757
33757
|
} : envOption;
|
|
33758
33758
|
if (preferLocal || node) return npmRunPathEnv({
|
|
@@ -34752,12 +34752,12 @@ const guessStreamDirection = {
|
|
|
34752
34752
|
}
|
|
34753
34753
|
};
|
|
34754
34754
|
const getStandardStreamDirection = (value) => {
|
|
34755
|
-
if ([0,
|
|
34755
|
+
if ([0, y.stdin].includes(value)) return "input";
|
|
34756
34756
|
if ([
|
|
34757
34757
|
1,
|
|
34758
34758
|
2,
|
|
34759
|
-
|
|
34760
|
-
|
|
34759
|
+
y.stdout,
|
|
34760
|
+
y.stderr
|
|
34761
34761
|
].includes(value)) return "output";
|
|
34762
34762
|
};
|
|
34763
34763
|
const DEFAULT_DIRECTION = "output";
|
|
@@ -35821,9 +35821,9 @@ const addIpcMethods = (subprocess, { ipc }) => {
|
|
|
35821
35821
|
Object.assign(subprocess, getIpcMethods(subprocess, false, ipc));
|
|
35822
35822
|
};
|
|
35823
35823
|
const getIpcExport = () => {
|
|
35824
|
-
const anyProcess =
|
|
35824
|
+
const anyProcess = y;
|
|
35825
35825
|
const isSubprocess = true;
|
|
35826
|
-
const ipc =
|
|
35826
|
+
const ipc = y.channel !== void 0;
|
|
35827
35827
|
return {
|
|
35828
35828
|
...getIpcMethods(anyProcess, isSubprocess, ipc),
|
|
35829
35829
|
getCancelSignal: getCancelSignal$1.bind(void 0, {
|
|
@@ -36065,7 +36065,7 @@ if (process.platform === "linux") signals.push("SIGIO", "SIGPOLL", "SIGPWR", "SI
|
|
|
36065
36065
|
|
|
36066
36066
|
//#endregion
|
|
36067
36067
|
//#region node_modules/signal-exit/dist/mjs/index.js
|
|
36068
|
-
const processOk = (process$
|
|
36068
|
+
const processOk = (process$4) => !!process$4 && typeof process$4 === "object" && typeof process$4.removeListener === "function" && typeof process$4.emit === "function" && typeof process$4.reallyExit === "function" && typeof process$4.listeners === "function" && typeof process$4.kill === "function" && typeof process$4.pid === "number" && typeof process$4.on === "function";
|
|
36069
36069
|
const kExitEmitter = Symbol.for("signal-exit emitter");
|
|
36070
36070
|
const global$1 = globalThis;
|
|
36071
36071
|
const ObjectDefineProperty = Object.defineProperty.bind(Object);
|
|
@@ -36133,7 +36133,7 @@ var SignalExitFallback = class extends SignalExitBase {
|
|
|
36133
36133
|
};
|
|
36134
36134
|
var SignalExit = class extends SignalExitBase {
|
|
36135
36135
|
/* c8 ignore start */
|
|
36136
|
-
#hupSig = process$
|
|
36136
|
+
#hupSig = process$1.platform === "win32" ? "SIGINT" : "SIGHUP";
|
|
36137
36137
|
/* c8 ignore stop */
|
|
36138
36138
|
#emitter = new Emitter();
|
|
36139
36139
|
#process;
|
|
@@ -36141,15 +36141,15 @@ var SignalExit = class extends SignalExitBase {
|
|
|
36141
36141
|
#originalProcessReallyExit;
|
|
36142
36142
|
#sigListeners = {};
|
|
36143
36143
|
#loaded = false;
|
|
36144
|
-
constructor(process$
|
|
36144
|
+
constructor(process$4) {
|
|
36145
36145
|
super();
|
|
36146
|
-
this.#process = process$
|
|
36146
|
+
this.#process = process$4;
|
|
36147
36147
|
this.#sigListeners = {};
|
|
36148
36148
|
for (const sig of signals) this.#sigListeners[sig] = () => {
|
|
36149
36149
|
const listeners = this.#process.listeners(sig);
|
|
36150
36150
|
let { count: count$1 } = this.#emitter;
|
|
36151
36151
|
/* c8 ignore start */
|
|
36152
|
-
const p$1 = process$
|
|
36152
|
+
const p$1 = process$4;
|
|
36153
36153
|
if (typeof p$1.__signal_exit_emitter__ === "object" && typeof p$1.__signal_exit_emitter__.count === "number") count$1 += p$1.__signal_exit_emitter__.count;
|
|
36154
36154
|
/* c8 ignore stop */
|
|
36155
36155
|
if (listeners.length === count$1) {
|
|
@@ -36157,11 +36157,11 @@ var SignalExit = class extends SignalExitBase {
|
|
|
36157
36157
|
const ret = this.#emitter.emit("exit", null, sig);
|
|
36158
36158
|
/* c8 ignore start */
|
|
36159
36159
|
const s = sig === "SIGHUP" ? this.#hupSig : sig;
|
|
36160
|
-
if (!ret) process$
|
|
36160
|
+
if (!ret) process$4.kill(process$4.pid, s);
|
|
36161
36161
|
}
|
|
36162
36162
|
};
|
|
36163
|
-
this.#originalProcessReallyExit = process$
|
|
36164
|
-
this.#originalProcessEmit = process$
|
|
36163
|
+
this.#originalProcessReallyExit = process$4.reallyExit;
|
|
36164
|
+
this.#originalProcessEmit = process$4.emit;
|
|
36165
36165
|
}
|
|
36166
36166
|
onExit(cb, opts) {
|
|
36167
36167
|
/* c8 ignore start */
|
|
@@ -36228,8 +36228,8 @@ var SignalExit = class extends SignalExitBase {
|
|
|
36228
36228
|
} else return og.call(this.#process, ev, ...args);
|
|
36229
36229
|
}
|
|
36230
36230
|
};
|
|
36231
|
-
const process$
|
|
36232
|
-
const { onExit, load, unload } = signalExitWrap(processOk(process$
|
|
36231
|
+
const process$1 = globalThis.process;
|
|
36232
|
+
const { onExit, load, unload } = signalExitWrap(processOk(process$1) ? new SignalExit(process$1) : new SignalExitFallback());
|
|
36233
36233
|
|
|
36234
36234
|
//#endregion
|
|
36235
36235
|
//#region node_modules/execa/lib/terminate/cleanup.js
|
|
@@ -37980,6 +37980,13 @@ var require_lodash = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
37980
37980
|
//#region src/cli/commands/project/create.ts
|
|
37981
37981
|
var import_lodash = /* @__PURE__ */ __toESM(require_lodash(), 1);
|
|
37982
37982
|
const DEFAULT_TEMPLATE_ID = "backend-only";
|
|
37983
|
+
const SUPPORTED_AGENTS = [{
|
|
37984
|
+
value: "cursor",
|
|
37985
|
+
label: "Cursor"
|
|
37986
|
+
}, {
|
|
37987
|
+
value: "claude-code",
|
|
37988
|
+
label: "Claude Code"
|
|
37989
|
+
}];
|
|
37983
37990
|
async function getTemplateById(templateId) {
|
|
37984
37991
|
const templates = await listTemplates();
|
|
37985
37992
|
const template = templates.find((t) => t.id === templateId);
|
|
@@ -38042,6 +38049,7 @@ async function createInteractive(options) {
|
|
|
38042
38049
|
description: result.description || void 0,
|
|
38043
38050
|
projectPath: result.projectPath,
|
|
38044
38051
|
deploy: options.deploy,
|
|
38052
|
+
skills: options.skills,
|
|
38045
38053
|
isInteractive: true
|
|
38046
38054
|
});
|
|
38047
38055
|
}
|
|
@@ -38052,10 +38060,11 @@ async function createNonInteractive(options) {
|
|
|
38052
38060
|
description: options.description,
|
|
38053
38061
|
projectPath: options.path,
|
|
38054
38062
|
deploy: options.deploy,
|
|
38063
|
+
skills: options.skills,
|
|
38055
38064
|
isInteractive: false
|
|
38056
38065
|
});
|
|
38057
38066
|
}
|
|
38058
|
-
async function executeCreate({ template, name: rawName, description, projectPath, deploy, isInteractive }) {
|
|
38067
|
+
async function executeCreate({ template, name: rawName, description, projectPath, deploy, skills, isInteractive }) {
|
|
38059
38068
|
const name$1 = rawName.trim();
|
|
38060
38069
|
const resolvedPath = resolve(projectPath);
|
|
38061
38070
|
const { projectId } = await runTask("Setting up your project...", async () => {
|
|
@@ -38078,7 +38087,7 @@ async function executeCreate({ template, name: rawName, description, projectPath
|
|
|
38078
38087
|
if (entities.length > 0) {
|
|
38079
38088
|
let shouldPushEntities;
|
|
38080
38089
|
if (isInteractive) {
|
|
38081
|
-
const result = await
|
|
38090
|
+
const result = await confirm({ message: "Set up the backend data now? (This pushes the data models used by the template to Base44)" });
|
|
38082
38091
|
shouldPushEntities = !pD(result) && result;
|
|
38083
38092
|
} else shouldPushEntities = !!deploy;
|
|
38084
38093
|
if (shouldPushEntities) await runTask(`Pushing ${entities.length} data models to Base44...`, async () => {
|
|
@@ -38092,7 +38101,7 @@ async function executeCreate({ template, name: rawName, description, projectPath
|
|
|
38092
38101
|
const { installCommand, buildCommand, outputDirectory } = project.site;
|
|
38093
38102
|
let shouldDeploy;
|
|
38094
38103
|
if (isInteractive) {
|
|
38095
|
-
const result = await
|
|
38104
|
+
const result = await confirm({ message: "Would you like to deploy the site now? (Hosted on Base44)" });
|
|
38096
38105
|
shouldDeploy = !pD(result) && result;
|
|
38097
38106
|
} else shouldDeploy = !!deploy;
|
|
38098
38107
|
if (shouldDeploy && installCommand && buildCommand && outputDirectory) {
|
|
@@ -38115,15 +38124,37 @@ async function executeCreate({ template, name: rawName, description, projectPath
|
|
|
38115
38124
|
finalAppUrl = appUrl;
|
|
38116
38125
|
}
|
|
38117
38126
|
}
|
|
38127
|
+
let selectedAgents = [];
|
|
38128
|
+
if (isInteractive) {
|
|
38129
|
+
const result = await fe({
|
|
38130
|
+
message: "Add AI agent skills? (Select agents to configure)",
|
|
38131
|
+
options: SUPPORTED_AGENTS.map((agent) => ({
|
|
38132
|
+
value: agent.value,
|
|
38133
|
+
label: agent.label
|
|
38134
|
+
})),
|
|
38135
|
+
initialValues: SUPPORTED_AGENTS.map((agent) => agent.value),
|
|
38136
|
+
required: false
|
|
38137
|
+
});
|
|
38138
|
+
if (!pD(result)) selectedAgents = result;
|
|
38139
|
+
} else if (skills) selectedAgents = SUPPORTED_AGENTS.map((agent) => agent.value);
|
|
38140
|
+
if (selectedAgents.length > 0) {
|
|
38141
|
+
const agentFlags = selectedAgents.map((agent) => `-a ${agent}`).join(" ");
|
|
38142
|
+
await runTask("Adding AI agent skills...", async () => {
|
|
38143
|
+
await execa({
|
|
38144
|
+
cwd: resolvedPath,
|
|
38145
|
+
shell: true
|
|
38146
|
+
})`npx -y add-skill base44/skills ${agentFlags}`;
|
|
38147
|
+
}, {
|
|
38148
|
+
successMessage: theme.colors.base44Orange("AI agent skills added successfully"),
|
|
38149
|
+
errorMessage: "Failed to add AI agent skills"
|
|
38150
|
+
});
|
|
38151
|
+
}
|
|
38118
38152
|
M.message(`${theme.styles.header("Project")}: ${theme.colors.base44Orange(name$1)}`);
|
|
38119
38153
|
M.message(`${theme.styles.header("Dashboard")}: ${theme.colors.links(getDashboardUrl(projectId))}`);
|
|
38120
38154
|
if (finalAppUrl) M.message(`${theme.styles.header("Site")}: ${theme.colors.links(finalAppUrl)}`);
|
|
38121
|
-
M.message("");
|
|
38122
|
-
M.message(`${theme.styles.header("Tip")}: Add AI agent skills for Cursor/Claude Code:`);
|
|
38123
|
-
M.message(` npx add-skill base44/skills`);
|
|
38124
38155
|
return { outroMessage: "Your project is set up and ready to use" };
|
|
38125
38156
|
}
|
|
38126
|
-
const createCommand = new Command("create").description("Create a new Base44 project").option("-n, --name <name>", "Project name").option("-d, --description <description>", "Project description").option("-p, --path <path>", "Path where to create the project").option("-t, --template <id>", "Template ID (e.g., backend-only, backend-and-client)").option("--deploy", "Build and deploy the site").hook("preAction", validateNonInteractiveFlags$1).action(async (options) => {
|
|
38157
|
+
const createCommand = new Command("create").description("Create a new Base44 project").option("-n, --name <name>", "Project name").option("-d, --description <description>", "Project description").option("-p, --path <path>", "Path where to create the project").option("-t, --template <id>", "Template ID (e.g., backend-only, backend-and-client)").option("--deploy", "Build and deploy the site").option("--skills", "Add AI agent skills (Cursor, Claude Code)").hook("preAction", validateNonInteractiveFlags$1).action(async (options) => {
|
|
38127
38158
|
await chooseCreate(options);
|
|
38128
38159
|
});
|
|
38129
38160
|
|
|
@@ -38169,7 +38200,7 @@ function isInsideContainer() {
|
|
|
38169
38200
|
//#endregion
|
|
38170
38201
|
//#region node_modules/is-wsl/index.js
|
|
38171
38202
|
const isWsl = () => {
|
|
38172
|
-
if (
|
|
38203
|
+
if (y.platform !== "linux") return false;
|
|
38173
38204
|
if (os.release().toLowerCase().includes("microsoft")) {
|
|
38174
38205
|
if (isInsideContainer()) return false;
|
|
38175
38206
|
return true;
|
|
@@ -38180,12 +38211,12 @@ const isWsl = () => {
|
|
|
38180
38211
|
return false;
|
|
38181
38212
|
}
|
|
38182
38213
|
};
|
|
38183
|
-
var is_wsl_default =
|
|
38214
|
+
var is_wsl_default = y.env.__IS_WSL_TEST__ ? isWsl : isWsl();
|
|
38184
38215
|
|
|
38185
38216
|
//#endregion
|
|
38186
38217
|
//#region node_modules/powershell-utils/index.js
|
|
38187
38218
|
const execFile$2 = promisify(childProcess.execFile);
|
|
38188
|
-
const powerShellPath$1 = () => `${
|
|
38219
|
+
const powerShellPath$1 = () => `${y.env.SYSTEMROOT || y.env.windir || String.raw`C:\Windows`}\\System32\\WindowsPowerShell\\v1.0\\powershell.exe`;
|
|
38189
38220
|
const executePowerShell = async (command, options = {}) => {
|
|
38190
38221
|
const { powerShellPath: psPath, ...execFileOptions } = options;
|
|
38191
38222
|
const encodedCommand = executePowerShell.encodeCommand(command);
|
|
@@ -38296,7 +38327,7 @@ function defineLazyProperty(object$1, propertyName, valueGetter) {
|
|
|
38296
38327
|
//#region node_modules/default-browser-id/index.js
|
|
38297
38328
|
const execFileAsync$3 = promisify(execFile);
|
|
38298
38329
|
async function defaultBrowserId() {
|
|
38299
|
-
if (
|
|
38330
|
+
if (y.platform !== "darwin") throw new Error("macOS only");
|
|
38300
38331
|
const { stdout: stdout$1 } = await execFileAsync$3("defaults", [
|
|
38301
38332
|
"read",
|
|
38302
38333
|
"com.apple.LaunchServices/com.apple.launchservices.secure",
|
|
@@ -38311,7 +38342,7 @@ async function defaultBrowserId() {
|
|
|
38311
38342
|
//#region node_modules/run-applescript/index.js
|
|
38312
38343
|
const execFileAsync$2 = promisify(execFile);
|
|
38313
38344
|
async function runAppleScript(script, { humanReadableOutput = true, signal } = {}) {
|
|
38314
|
-
if (
|
|
38345
|
+
if (y.platform !== "darwin") throw new Error("macOS only");
|
|
38315
38346
|
const outputArguments = humanReadableOutput ? [] : ["-ss"];
|
|
38316
38347
|
const execOptions = {};
|
|
38317
38348
|
if (signal) execOptions.signal = signal;
|
|
@@ -38420,14 +38451,14 @@ async function defaultBrowser$1(_execFileAsync = execFileAsync$1) {
|
|
|
38420
38451
|
const execFileAsync = promisify(execFile);
|
|
38421
38452
|
const titleize = (string$2) => string$2.toLowerCase().replaceAll(/(?:^|\s|-)\S/g, (x$2) => x$2.toUpperCase());
|
|
38422
38453
|
async function defaultBrowser() {
|
|
38423
|
-
if (
|
|
38454
|
+
if (y.platform === "darwin") {
|
|
38424
38455
|
const id = await defaultBrowserId();
|
|
38425
38456
|
return {
|
|
38426
38457
|
name: await bundleName(id),
|
|
38427
38458
|
id
|
|
38428
38459
|
};
|
|
38429
38460
|
}
|
|
38430
|
-
if (
|
|
38461
|
+
if (y.platform === "linux") {
|
|
38431
38462
|
const { stdout: stdout$1 } = await execFileAsync("xdg-mime", [
|
|
38432
38463
|
"query",
|
|
38433
38464
|
"default",
|
|
@@ -38439,13 +38470,13 @@ async function defaultBrowser() {
|
|
|
38439
38470
|
id
|
|
38440
38471
|
};
|
|
38441
38472
|
}
|
|
38442
|
-
if (
|
|
38473
|
+
if (y.platform === "win32") return defaultBrowser$1();
|
|
38443
38474
|
throw new Error("Only macOS, Linux, and Windows are supported");
|
|
38444
38475
|
}
|
|
38445
38476
|
|
|
38446
38477
|
//#endregion
|
|
38447
38478
|
//#region node_modules/is-in-ssh/index.js
|
|
38448
|
-
const isInSsh = Boolean(
|
|
38479
|
+
const isInSsh = Boolean(y.env.SSH_CONNECTION || y.env.SSH_CLIENT || y.env.SSH_TTY);
|
|
38449
38480
|
var is_in_ssh_default = isInSsh;
|
|
38450
38481
|
|
|
38451
38482
|
//#endregion
|
|
@@ -38453,7 +38484,7 @@ var is_in_ssh_default = isInSsh;
|
|
|
38453
38484
|
const fallbackAttemptSymbol = Symbol("fallbackAttempt");
|
|
38454
38485
|
const __dirname = import.meta.url ? path.dirname(fileURLToPath(import.meta.url)) : "";
|
|
38455
38486
|
const localXdgOpenPath = path.join(__dirname, "xdg-open");
|
|
38456
|
-
const { platform: platform$1, arch } =
|
|
38487
|
+
const { platform: platform$1, arch } = y;
|
|
38457
38488
|
const tryEachApp = async (apps$1, opener) => {
|
|
38458
38489
|
if (apps$1.length === 0) return;
|
|
38459
38490
|
const errors = [];
|
|
@@ -38566,7 +38597,7 @@ const baseOpen = async (options) => {
|
|
|
38566
38597
|
await fs$1.access(localXdgOpenPath, constants$1.X_OK);
|
|
38567
38598
|
exeLocalXdgOpen = true;
|
|
38568
38599
|
} catch {}
|
|
38569
|
-
command =
|
|
38600
|
+
command = y.versions.electron ?? (platform$1 === "android" || isBundled || !exeLocalXdgOpen) ? "xdg-open" : localXdgOpenPath;
|
|
38570
38601
|
}
|
|
38571
38602
|
if (appArguments.length > 0) cliArguments.push(...appArguments);
|
|
38572
38603
|
if (!options.wait) {
|
package/package.json
CHANGED