@linzumi/cli 0.0.49-beta → 0.0.50-beta
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/README.md +1 -1
- package/dist/index.js +146 -62
- package/package.json +1 -1
package/README.md
CHANGED
package/dist/index.js
CHANGED
|
@@ -18,7 +18,7 @@ var __toESM = (mod, isNodeMode, target) => {
|
|
|
18
18
|
var __commonJS = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
|
|
19
19
|
var __require = /* @__PURE__ */ createRequire(import.meta.url);
|
|
20
20
|
|
|
21
|
-
// ../../node_modules/yoctocolors-cjs/index.js
|
|
21
|
+
// ../../node_modules/.bun/yoctocolors-cjs@2.1.3/node_modules/yoctocolors-cjs/index.js
|
|
22
22
|
var require_yoctocolors_cjs = __commonJS((exports, module) => {
|
|
23
23
|
var tty = __require("node:tty");
|
|
24
24
|
var hasColors = tty?.WriteStream?.prototype?.hasColors?.() ?? false;
|
|
@@ -92,7 +92,7 @@ var require_yoctocolors_cjs = __commonJS((exports, module) => {
|
|
|
92
92
|
module.exports = colors;
|
|
93
93
|
});
|
|
94
94
|
|
|
95
|
-
// ../../node_modules/cli-width/index.js
|
|
95
|
+
// ../../node_modules/.bun/cli-width@4.1.0/node_modules/cli-width/index.js
|
|
96
96
|
var require_cli_width = __commonJS((exports, module) => {
|
|
97
97
|
module.exports = cliWidth;
|
|
98
98
|
function normalizeOpts(options) {
|
|
@@ -132,7 +132,7 @@ var require_cli_width = __commonJS((exports, module) => {
|
|
|
132
132
|
}
|
|
133
133
|
});
|
|
134
134
|
|
|
135
|
-
// ../../node_modules/ansi-regex/index.js
|
|
135
|
+
// ../../node_modules/.bun/ansi-regex@5.0.1/node_modules/ansi-regex/index.js
|
|
136
136
|
var require_ansi_regex = __commonJS((exports, module) => {
|
|
137
137
|
module.exports = ({ onlyFirst = false } = {}) => {
|
|
138
138
|
const pattern = [
|
|
@@ -143,13 +143,13 @@ var require_ansi_regex = __commonJS((exports, module) => {
|
|
|
143
143
|
};
|
|
144
144
|
});
|
|
145
145
|
|
|
146
|
-
// ../../node_modules/strip-ansi/index.js
|
|
146
|
+
// ../../node_modules/.bun/strip-ansi@6.0.1/node_modules/strip-ansi/index.js
|
|
147
147
|
var require_strip_ansi = __commonJS((exports, module) => {
|
|
148
148
|
var ansiRegex = require_ansi_regex();
|
|
149
149
|
module.exports = (string) => typeof string === "string" ? string.replace(ansiRegex(), "") : string;
|
|
150
150
|
});
|
|
151
151
|
|
|
152
|
-
// ../../node_modules/
|
|
152
|
+
// ../../node_modules/.bun/is-fullwidth-code-point@3.0.0/node_modules/is-fullwidth-code-point/index.js
|
|
153
153
|
var require_is_fullwidth_code_point = __commonJS((exports, module) => {
|
|
154
154
|
var isFullwidthCodePoint = (codePoint) => {
|
|
155
155
|
if (Number.isNaN(codePoint)) {
|
|
@@ -164,14 +164,14 @@ var require_is_fullwidth_code_point = __commonJS((exports, module) => {
|
|
|
164
164
|
module.exports.default = isFullwidthCodePoint;
|
|
165
165
|
});
|
|
166
166
|
|
|
167
|
-
// ../../node_modules/
|
|
167
|
+
// ../../node_modules/.bun/emoji-regex@8.0.0/node_modules/emoji-regex/index.js
|
|
168
168
|
var require_emoji_regex = __commonJS((exports, module) => {
|
|
169
169
|
module.exports = function() {
|
|
170
170
|
return /\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g;
|
|
171
171
|
};
|
|
172
172
|
});
|
|
173
173
|
|
|
174
|
-
// ../../node_modules/string-width/index.js
|
|
174
|
+
// ../../node_modules/.bun/string-width@4.2.3/node_modules/string-width/index.js
|
|
175
175
|
var require_string_width = __commonJS((exports, module) => {
|
|
176
176
|
var stripAnsi = require_strip_ansi();
|
|
177
177
|
var isFullwidthCodePoint = require_is_fullwidth_code_point();
|
|
@@ -205,7 +205,7 @@ var require_string_width = __commonJS((exports, module) => {
|
|
|
205
205
|
module.exports.default = stringWidth;
|
|
206
206
|
});
|
|
207
207
|
|
|
208
|
-
// ../../node_modules/color-name/index.js
|
|
208
|
+
// ../../node_modules/.bun/color-name@1.1.4/node_modules/color-name/index.js
|
|
209
209
|
var require_color_name = __commonJS((exports, module) => {
|
|
210
210
|
module.exports = {
|
|
211
211
|
aliceblue: [240, 248, 255],
|
|
@@ -359,7 +359,7 @@ var require_color_name = __commonJS((exports, module) => {
|
|
|
359
359
|
};
|
|
360
360
|
});
|
|
361
361
|
|
|
362
|
-
// ../../node_modules/color-convert/conversions.js
|
|
362
|
+
// ../../node_modules/.bun/color-convert@2.0.1/node_modules/color-convert/conversions.js
|
|
363
363
|
var require_conversions = __commonJS((exports, module) => {
|
|
364
364
|
var cssKeywords = require_color_name();
|
|
365
365
|
var reverseKeywords = {};
|
|
@@ -1028,7 +1028,7 @@ var require_conversions = __commonJS((exports, module) => {
|
|
|
1028
1028
|
};
|
|
1029
1029
|
});
|
|
1030
1030
|
|
|
1031
|
-
// ../../node_modules/color-convert/route.js
|
|
1031
|
+
// ../../node_modules/.bun/color-convert@2.0.1/node_modules/color-convert/route.js
|
|
1032
1032
|
var require_route = __commonJS((exports, module) => {
|
|
1033
1033
|
var conversions = require_conversions();
|
|
1034
1034
|
function buildGraph() {
|
|
@@ -1094,7 +1094,7 @@ var require_route = __commonJS((exports, module) => {
|
|
|
1094
1094
|
};
|
|
1095
1095
|
});
|
|
1096
1096
|
|
|
1097
|
-
// ../../node_modules/color-convert/index.js
|
|
1097
|
+
// ../../node_modules/.bun/color-convert@2.0.1/node_modules/color-convert/index.js
|
|
1098
1098
|
var require_color_convert = __commonJS((exports, module) => {
|
|
1099
1099
|
var conversions = require_conversions();
|
|
1100
1100
|
var route = require_route();
|
|
@@ -1153,7 +1153,7 @@ var require_color_convert = __commonJS((exports, module) => {
|
|
|
1153
1153
|
module.exports = convert;
|
|
1154
1154
|
});
|
|
1155
1155
|
|
|
1156
|
-
// ../../node_modules/ansi-styles/index.js
|
|
1156
|
+
// ../../node_modules/.bun/ansi-styles@4.3.0/node_modules/ansi-styles/index.js
|
|
1157
1157
|
var require_ansi_styles = __commonJS((exports, module) => {
|
|
1158
1158
|
var wrapAnsi16 = (fn, offset) => (...args) => {
|
|
1159
1159
|
const code = fn(...args);
|
|
@@ -1289,7 +1289,7 @@ var require_ansi_styles = __commonJS((exports, module) => {
|
|
|
1289
1289
|
});
|
|
1290
1290
|
});
|
|
1291
1291
|
|
|
1292
|
-
// ../../node_modules
|
|
1292
|
+
// ../../node_modules/.bun/wrap-ansi@6.2.0/node_modules/wrap-ansi/index.js
|
|
1293
1293
|
var require_wrap_ansi = __commonJS((exports, module) => {
|
|
1294
1294
|
var stringWidth = require_string_width();
|
|
1295
1295
|
var stripAnsi = require_strip_ansi();
|
|
@@ -1425,7 +1425,7 @@ var require_wrap_ansi = __commonJS((exports, module) => {
|
|
|
1425
1425
|
};
|
|
1426
1426
|
});
|
|
1427
1427
|
|
|
1428
|
-
// ../../node_modules/mute-stream/lib/index.js
|
|
1428
|
+
// ../../node_modules/.bun/mute-stream@2.0.0/node_modules/mute-stream/lib/index.js
|
|
1429
1429
|
var require_lib = __commonJS((exports, module) => {
|
|
1430
1430
|
var Stream = __require("stream");
|
|
1431
1431
|
|
|
@@ -10152,7 +10152,7 @@ function realpathOrResolved(pathValue) {
|
|
|
10152
10152
|
}
|
|
10153
10153
|
|
|
10154
10154
|
// src/version.ts
|
|
10155
|
-
var linzumiCliVersion = "0.0.
|
|
10155
|
+
var linzumiCliVersion = "0.0.50-beta";
|
|
10156
10156
|
var linzumiCliVersionText = `linzumi ${linzumiCliVersion}`;
|
|
10157
10157
|
|
|
10158
10158
|
// src/runnerLock.ts
|
|
@@ -13378,7 +13378,7 @@ To kick the agent off:
|
|
|
13378
13378
|
3. Paste into the thread. Codex will pick it up and start editing this folder.
|
|
13379
13379
|
`;
|
|
13380
13380
|
|
|
13381
|
-
// ../../node_modules/@inquirer/core/dist/esm/lib/key.js
|
|
13381
|
+
// ../../node_modules/.bun/@inquirer+core@10.3.2/node_modules/@inquirer/core/dist/esm/lib/key.js
|
|
13382
13382
|
var isUpKey = (key, keybindings = []) => key.name === "up" || keybindings.includes("vim") && key.name === "k" || keybindings.includes("emacs") && key.ctrl && key.name === "p";
|
|
13383
13383
|
var isDownKey = (key, keybindings = []) => key.name === "down" || keybindings.includes("vim") && key.name === "j" || keybindings.includes("emacs") && key.ctrl && key.name === "n";
|
|
13384
13384
|
var isSpaceKey = (key) => key.name === "space";
|
|
@@ -13386,7 +13386,7 @@ var isBackspaceKey = (key) => key.name === "backspace";
|
|
|
13386
13386
|
var isTabKey = (key) => key.name === "tab";
|
|
13387
13387
|
var isNumberKey = (key) => "1234567890".includes(key.name);
|
|
13388
13388
|
var isEnterKey = (key) => key.name === "enter" || key.name === "return";
|
|
13389
|
-
// ../../node_modules/@inquirer/core/dist/esm/lib/errors.js
|
|
13389
|
+
// ../../node_modules/.bun/@inquirer+core@10.3.2/node_modules/@inquirer/core/dist/esm/lib/errors.js
|
|
13390
13390
|
class AbortPromptError extends Error {
|
|
13391
13391
|
name = "AbortPromptError";
|
|
13392
13392
|
message = "Prompt was aborted";
|
|
@@ -13412,10 +13412,10 @@ class HookError extends Error {
|
|
|
13412
13412
|
class ValidationError extends Error {
|
|
13413
13413
|
name = "ValidationError";
|
|
13414
13414
|
}
|
|
13415
|
-
// ../../node_modules/@inquirer/core/dist/esm/lib/use-state.js
|
|
13415
|
+
// ../../node_modules/.bun/@inquirer+core@10.3.2/node_modules/@inquirer/core/dist/esm/lib/use-state.js
|
|
13416
13416
|
import { AsyncResource as AsyncResource2 } from "node:async_hooks";
|
|
13417
13417
|
|
|
13418
|
-
// ../../node_modules/@inquirer/core/dist/esm/lib/hook-engine.js
|
|
13418
|
+
// ../../node_modules/.bun/@inquirer+core@10.3.2/node_modules/@inquirer/core/dist/esm/lib/hook-engine.js
|
|
13419
13419
|
import { AsyncLocalStorage, AsyncResource } from "node:async_hooks";
|
|
13420
13420
|
var hookStorage = new AsyncLocalStorage;
|
|
13421
13421
|
function createStore(rl) {
|
|
@@ -13520,7 +13520,7 @@ var effectScheduler = {
|
|
|
13520
13520
|
}
|
|
13521
13521
|
};
|
|
13522
13522
|
|
|
13523
|
-
// ../../node_modules/@inquirer/core/dist/esm/lib/use-state.js
|
|
13523
|
+
// ../../node_modules/.bun/@inquirer+core@10.3.2/node_modules/@inquirer/core/dist/esm/lib/use-state.js
|
|
13524
13524
|
function useState(defaultValue) {
|
|
13525
13525
|
return withPointer((pointer) => {
|
|
13526
13526
|
const setState = AsyncResource2.bind(function setState2(newValue) {
|
|
@@ -13538,7 +13538,7 @@ function useState(defaultValue) {
|
|
|
13538
13538
|
});
|
|
13539
13539
|
}
|
|
13540
13540
|
|
|
13541
|
-
// ../../node_modules/@inquirer/core/dist/esm/lib/use-effect.js
|
|
13541
|
+
// ../../node_modules/.bun/@inquirer+core@10.3.2/node_modules/@inquirer/core/dist/esm/lib/use-effect.js
|
|
13542
13542
|
function useEffect(cb, depArray) {
|
|
13543
13543
|
withPointer((pointer) => {
|
|
13544
13544
|
const oldDeps = pointer.get();
|
|
@@ -13550,10 +13550,10 @@ function useEffect(cb, depArray) {
|
|
|
13550
13550
|
});
|
|
13551
13551
|
}
|
|
13552
13552
|
|
|
13553
|
-
// ../../node_modules/@inquirer/core/dist/esm/lib/theme.js
|
|
13553
|
+
// ../../node_modules/.bun/@inquirer+core@10.3.2/node_modules/@inquirer/core/dist/esm/lib/theme.js
|
|
13554
13554
|
var import_yoctocolors_cjs = __toESM(require_yoctocolors_cjs(), 1);
|
|
13555
13555
|
|
|
13556
|
-
// ../../node_modules/@inquirer/figures/dist/esm/index.js
|
|
13556
|
+
// ../../node_modules/.bun/@inquirer+figures@1.0.15/node_modules/@inquirer/figures/dist/esm/index.js
|
|
13557
13557
|
import process2 from "node:process";
|
|
13558
13558
|
function isUnicodeSupported() {
|
|
13559
13559
|
if (process2.platform !== "win32") {
|
|
@@ -13842,7 +13842,7 @@ var figures = shouldUseMain ? mainSymbols : fallbackSymbols;
|
|
|
13842
13842
|
var esm_default = figures;
|
|
13843
13843
|
var replacements = Object.entries(specialMainSymbols);
|
|
13844
13844
|
|
|
13845
|
-
// ../../node_modules/@inquirer/core/dist/esm/lib/theme.js
|
|
13845
|
+
// ../../node_modules/.bun/@inquirer+core@10.3.2/node_modules/@inquirer/core/dist/esm/lib/theme.js
|
|
13846
13846
|
var defaultTheme = {
|
|
13847
13847
|
prefix: {
|
|
13848
13848
|
idle: import_yoctocolors_cjs.default.blue("?"),
|
|
@@ -13863,7 +13863,7 @@ var defaultTheme = {
|
|
|
13863
13863
|
}
|
|
13864
13864
|
};
|
|
13865
13865
|
|
|
13866
|
-
// ../../node_modules/@inquirer/core/dist/esm/lib/make-theme.js
|
|
13866
|
+
// ../../node_modules/.bun/@inquirer+core@10.3.2/node_modules/@inquirer/core/dist/esm/lib/make-theme.js
|
|
13867
13867
|
function isPlainObject(value) {
|
|
13868
13868
|
if (typeof value !== "object" || value === null)
|
|
13869
13869
|
return false;
|
|
@@ -13891,7 +13891,7 @@ function makeTheme(...themes) {
|
|
|
13891
13891
|
return deepMerge(...themesToMerge);
|
|
13892
13892
|
}
|
|
13893
13893
|
|
|
13894
|
-
// ../../node_modules/@inquirer/core/dist/esm/lib/use-prefix.js
|
|
13894
|
+
// ../../node_modules/.bun/@inquirer+core@10.3.2/node_modules/@inquirer/core/dist/esm/lib/use-prefix.js
|
|
13895
13895
|
function usePrefix({ status = "idle", theme }) {
|
|
13896
13896
|
const [showLoader, setShowLoader] = useState(false);
|
|
13897
13897
|
const [tick, setTick] = useState(0);
|
|
@@ -13921,7 +13921,7 @@ function usePrefix({ status = "idle", theme }) {
|
|
|
13921
13921
|
const iconName = status === "loading" ? "idle" : status;
|
|
13922
13922
|
return typeof prefix === "string" ? prefix : prefix[iconName] ?? prefix["idle"];
|
|
13923
13923
|
}
|
|
13924
|
-
// ../../node_modules/@inquirer/core/dist/esm/lib/use-memo.js
|
|
13924
|
+
// ../../node_modules/.bun/@inquirer+core@10.3.2/node_modules/@inquirer/core/dist/esm/lib/use-memo.js
|
|
13925
13925
|
function useMemo(fn, dependencies) {
|
|
13926
13926
|
return withPointer((pointer) => {
|
|
13927
13927
|
const prev = pointer.get();
|
|
@@ -13933,11 +13933,11 @@ function useMemo(fn, dependencies) {
|
|
|
13933
13933
|
return prev.value;
|
|
13934
13934
|
});
|
|
13935
13935
|
}
|
|
13936
|
-
// ../../node_modules/@inquirer/core/dist/esm/lib/use-ref.js
|
|
13936
|
+
// ../../node_modules/.bun/@inquirer+core@10.3.2/node_modules/@inquirer/core/dist/esm/lib/use-ref.js
|
|
13937
13937
|
function useRef(val) {
|
|
13938
13938
|
return useState({ current: val })[0];
|
|
13939
13939
|
}
|
|
13940
|
-
// ../../node_modules/@inquirer/core/dist/esm/lib/use-keypress.js
|
|
13940
|
+
// ../../node_modules/.bun/@inquirer+core@10.3.2/node_modules/@inquirer/core/dist/esm/lib/use-keypress.js
|
|
13941
13941
|
function useKeypress(userHandler) {
|
|
13942
13942
|
const signal = useRef(userHandler);
|
|
13943
13943
|
signal.current = userHandler;
|
|
@@ -13955,7 +13955,7 @@ function useKeypress(userHandler) {
|
|
|
13955
13955
|
};
|
|
13956
13956
|
}, []);
|
|
13957
13957
|
}
|
|
13958
|
-
// ../../node_modules/@inquirer/core/dist/esm/lib/utils.js
|
|
13958
|
+
// ../../node_modules/.bun/@inquirer+core@10.3.2/node_modules/@inquirer/core/dist/esm/lib/utils.js
|
|
13959
13959
|
var import_cli_width = __toESM(require_cli_width(), 1);
|
|
13960
13960
|
var import_wrap_ansi = __toESM(require_wrap_ansi(), 1);
|
|
13961
13961
|
function breakLines(content, width) {
|
|
@@ -13968,7 +13968,7 @@ function readlineWidth() {
|
|
|
13968
13968
|
return import_cli_width.default({ defaultWidth: 80, output: readline().output });
|
|
13969
13969
|
}
|
|
13970
13970
|
|
|
13971
|
-
// ../../node_modules/@inquirer/core/dist/esm/lib/pagination/use-pagination.js
|
|
13971
|
+
// ../../node_modules/.bun/@inquirer+core@10.3.2/node_modules/@inquirer/core/dist/esm/lib/pagination/use-pagination.js
|
|
13972
13972
|
function usePointerPosition({ active, renderedItems, pageSize, loop }) {
|
|
13973
13973
|
const state = useRef({
|
|
13974
13974
|
lastPointer: active,
|
|
@@ -14034,12 +14034,12 @@ function usePagination({ items, active, renderItem, pageSize, loop = true }) {
|
|
|
14034
14034
|
return pageBuffer.filter((line) => typeof line === "string").join(`
|
|
14035
14035
|
`);
|
|
14036
14036
|
}
|
|
14037
|
-
// ../../node_modules/@inquirer/core/dist/esm/lib/create-prompt.js
|
|
14037
|
+
// ../../node_modules/.bun/@inquirer+core@10.3.2/node_modules/@inquirer/core/dist/esm/lib/create-prompt.js
|
|
14038
14038
|
var import_mute_stream = __toESM(require_lib(), 1);
|
|
14039
14039
|
import * as readline2 from "node:readline";
|
|
14040
14040
|
import { AsyncResource as AsyncResource3 } from "node:async_hooks";
|
|
14041
14041
|
|
|
14042
|
-
// ../../node_modules
|
|
14042
|
+
// ../../node_modules/.bun/signal-exit@4.1.0/node_modules/signal-exit/dist/mjs/signals.js
|
|
14043
14043
|
var signals = [];
|
|
14044
14044
|
signals.push("SIGHUP", "SIGINT", "SIGTERM");
|
|
14045
14045
|
if (process.platform !== "win32") {
|
|
@@ -14049,7 +14049,7 @@ if (process.platform === "linux") {
|
|
|
14049
14049
|
signals.push("SIGIO", "SIGPOLL", "SIGPWR", "SIGSTKFLT");
|
|
14050
14050
|
}
|
|
14051
14051
|
|
|
14052
|
-
// ../../node_modules
|
|
14052
|
+
// ../../node_modules/.bun/signal-exit@4.1.0/node_modules/signal-exit/dist/mjs/index.js
|
|
14053
14053
|
var processOk = (process3) => !!process3 && typeof process3 === "object" && typeof process3.removeListener === "function" && typeof process3.emit === "function" && typeof process3.reallyExit === "function" && typeof process3.listeners === "function" && typeof process3.kill === "function" && typeof process3.pid === "number" && typeof process3.on === "function";
|
|
14054
14054
|
var kExitEmitter = Symbol.for("signal-exit emitter");
|
|
14055
14055
|
var global = globalThis;
|
|
@@ -14247,10 +14247,10 @@ var {
|
|
|
14247
14247
|
unload
|
|
14248
14248
|
} = signalExitWrap(processOk(process3) ? new SignalExit(process3) : new SignalExitFallback);
|
|
14249
14249
|
|
|
14250
|
-
// ../../node_modules/@inquirer/core/dist/esm/lib/screen-manager.js
|
|
14250
|
+
// ../../node_modules/.bun/@inquirer+core@10.3.2/node_modules/@inquirer/core/dist/esm/lib/screen-manager.js
|
|
14251
14251
|
import { stripVTControlCharacters } from "node:util";
|
|
14252
14252
|
|
|
14253
|
-
// ../../node_modules/@inquirer/ansi/dist/esm/index.js
|
|
14253
|
+
// ../../node_modules/.bun/@inquirer+ansi@1.0.2/node_modules/@inquirer/ansi/dist/esm/index.js
|
|
14254
14254
|
var ESC = "\x1B[";
|
|
14255
14255
|
var cursorLeft = ESC + "G";
|
|
14256
14256
|
var cursorHide = ESC + "?25l";
|
|
@@ -14266,7 +14266,7 @@ var cursorTo = (x, y) => {
|
|
|
14266
14266
|
var eraseLine = ESC + "2K";
|
|
14267
14267
|
var eraseLines = (lines) => lines > 0 ? (eraseLine + cursorUp(1)).repeat(lines - 1) + eraseLine + cursorLeft : "";
|
|
14268
14268
|
|
|
14269
|
-
// ../../node_modules/@inquirer/core/dist/esm/lib/screen-manager.js
|
|
14269
|
+
// ../../node_modules/.bun/@inquirer+core@10.3.2/node_modules/@inquirer/core/dist/esm/lib/screen-manager.js
|
|
14270
14270
|
var height = (content) => content.split(`
|
|
14271
14271
|
`).length;
|
|
14272
14272
|
var lastLine = (content) => content.split(`
|
|
@@ -14331,7 +14331,7 @@ class ScreenManager {
|
|
|
14331
14331
|
}
|
|
14332
14332
|
}
|
|
14333
14333
|
|
|
14334
|
-
// ../../node_modules/@inquirer/core/dist/esm/lib/promise-polyfill.js
|
|
14334
|
+
// ../../node_modules/.bun/@inquirer+core@10.3.2/node_modules/@inquirer/core/dist/esm/lib/promise-polyfill.js
|
|
14335
14335
|
class PromisePolyfill extends Promise {
|
|
14336
14336
|
static withResolver() {
|
|
14337
14337
|
let resolve8;
|
|
@@ -14344,7 +14344,7 @@ class PromisePolyfill extends Promise {
|
|
|
14344
14344
|
}
|
|
14345
14345
|
}
|
|
14346
14346
|
|
|
14347
|
-
// ../../node_modules/@inquirer/core/dist/esm/lib/create-prompt.js
|
|
14347
|
+
// ../../node_modules/.bun/@inquirer+core@10.3.2/node_modules/@inquirer/core/dist/esm/lib/create-prompt.js
|
|
14348
14348
|
function getCallSites() {
|
|
14349
14349
|
const _prepareStackTrace = Error.prepareStackTrace;
|
|
14350
14350
|
let result = [];
|
|
@@ -14430,7 +14430,7 @@ function createPrompt(view) {
|
|
|
14430
14430
|
};
|
|
14431
14431
|
return prompt;
|
|
14432
14432
|
}
|
|
14433
|
-
// ../../node_modules/@inquirer/core/dist/esm/lib/Separator.js
|
|
14433
|
+
// ../../node_modules/.bun/@inquirer+core@10.3.2/node_modules/@inquirer/core/dist/esm/lib/Separator.js
|
|
14434
14434
|
var import_yoctocolors_cjs2 = __toESM(require_yoctocolors_cjs(), 1);
|
|
14435
14435
|
class Separator {
|
|
14436
14436
|
separator = import_yoctocolors_cjs2.default.dim(Array.from({ length: 15 }).join(esm_default.line));
|
|
@@ -14444,7 +14444,7 @@ class Separator {
|
|
|
14444
14444
|
return Boolean(choice && typeof choice === "object" && "type" in choice && choice.type === "separator");
|
|
14445
14445
|
}
|
|
14446
14446
|
}
|
|
14447
|
-
// ../../node_modules/@inquirer/checkbox/dist/esm/index.js
|
|
14447
|
+
// ../../node_modules/.bun/@inquirer+checkbox@4.3.2/node_modules/@inquirer/checkbox/dist/esm/index.js
|
|
14448
14448
|
var import_yoctocolors_cjs3 = __toESM(require_yoctocolors_cjs(), 1);
|
|
14449
14449
|
var checkboxTheme = {
|
|
14450
14450
|
icon: {
|
|
@@ -14631,7 +14631,7 @@ var esm_default2 = createPrompt((config, done) => {
|
|
|
14631
14631
|
`).trimEnd();
|
|
14632
14632
|
return `${lines}${cursorHide}`;
|
|
14633
14633
|
});
|
|
14634
|
-
// ../../node_modules/@inquirer/input/dist/esm/index.js
|
|
14634
|
+
// ../../node_modules/.bun/@inquirer+input@4.3.1/node_modules/@inquirer/input/dist/esm/index.js
|
|
14635
14635
|
var inputTheme = {
|
|
14636
14636
|
validationFailureMode: "keep"
|
|
14637
14637
|
};
|
|
@@ -14715,7 +14715,7 @@ var esm_default3 = createPrompt((config, done) => {
|
|
|
14715
14715
|
error
|
|
14716
14716
|
];
|
|
14717
14717
|
});
|
|
14718
|
-
// ../../node_modules/@inquirer/select/dist/esm/index.js
|
|
14718
|
+
// ../../node_modules/.bun/@inquirer+select@4.4.2/node_modules/@inquirer/select/dist/esm/index.js
|
|
14719
14719
|
var import_yoctocolors_cjs4 = __toESM(require_yoctocolors_cjs(), 1);
|
|
14720
14720
|
var selectTheme = {
|
|
14721
14721
|
icon: { cursor: esm_default.pointer },
|
|
@@ -14879,7 +14879,7 @@ var esm_default4 = createPrompt((config, done) => {
|
|
|
14879
14879
|
`).trimEnd();
|
|
14880
14880
|
return `${lines}${cursorHide}`;
|
|
14881
14881
|
});
|
|
14882
|
-
// src/
|
|
14882
|
+
// src/signupFlow.ts
|
|
14883
14883
|
import { spawn as spawn7 } from "node:child_process";
|
|
14884
14884
|
import {
|
|
14885
14885
|
existsSync as existsSync10,
|
|
@@ -15185,7 +15185,7 @@ function booleanValue(record, key) {
|
|
|
15185
15185
|
throw new Error(`signup ${key} was incomplete`);
|
|
15186
15186
|
}
|
|
15187
15187
|
|
|
15188
|
-
// src/
|
|
15188
|
+
// src/signupFlow.ts
|
|
15189
15189
|
var commanderConnectedMarkers = [
|
|
15190
15190
|
"Connected to Linzumi",
|
|
15191
15191
|
"Runner connected:",
|
|
@@ -15216,7 +15216,7 @@ secure mission control for all your agents on your computers
|
|
|
15216
15216
|
`;
|
|
15217
15217
|
var logoTagline = "secure mission control for all your agents on your computers";
|
|
15218
15218
|
var signupCancelMessage = "Y'all come back soon, ya hear?";
|
|
15219
|
-
function
|
|
15219
|
+
function signupHelpText() {
|
|
15220
15220
|
return [
|
|
15221
15221
|
"Usage:",
|
|
15222
15222
|
" linzumi signup",
|
|
@@ -15286,7 +15286,7 @@ function comparableServiceUrl(value) {
|
|
|
15286
15286
|
return trimmed.replace(/\/+$/u, "");
|
|
15287
15287
|
}
|
|
15288
15288
|
}
|
|
15289
|
-
async function
|
|
15289
|
+
async function runSignupFlow(deps = {}) {
|
|
15290
15290
|
const input = deps.input ?? defaultStdin;
|
|
15291
15291
|
const output = deps.output ?? defaultStdout;
|
|
15292
15292
|
const prompts = deps.prompts ?? inquirerPrompts(input, output);
|
|
@@ -15363,18 +15363,25 @@ async function runSignupMockFlow(deps = {}) {
|
|
|
15363
15363
|
projectDiscovery: { type: "ready", codeRoot: guessedCodeRoot, projects }
|
|
15364
15364
|
});
|
|
15365
15365
|
const selectedProjectPaths = await prompts.projectPicker({
|
|
15366
|
-
message: "
|
|
15366
|
+
message: "Pick the first folders where Linzumi should start agents",
|
|
15367
15367
|
projects,
|
|
15368
15368
|
defaultSelectedPaths: defaultSelectedProjectPaths(forceSignup ? [] : readConfiguredProjectPaths(serviceUrl))
|
|
15369
15369
|
});
|
|
15370
|
-
|
|
15370
|
+
const projectPreparation = prepareSelectedSignupProjects(selectedProjectPaths, projects);
|
|
15371
|
+
if (projectPreparation.type === "failed") {
|
|
15372
|
+
writeProjectPreparationFailure(output, projectPreparation.message);
|
|
15373
|
+
writeDebugLaunchPayload(output, state, debugLaunchPayload);
|
|
15374
|
+
return;
|
|
15375
|
+
}
|
|
15376
|
+
const preparedProjectPaths = projectPreparation.selectedProjectPaths;
|
|
15377
|
+
if (preparedProjectPaths.length === 0) {
|
|
15371
15378
|
writeNoProjectsFound(output);
|
|
15372
15379
|
writeDebugLaunchPayload(output, state, debugLaunchPayload);
|
|
15373
15380
|
return;
|
|
15374
15381
|
}
|
|
15375
15382
|
state = updateSignupState(state, {
|
|
15376
15383
|
currentStep: "tasks",
|
|
15377
|
-
selectedProjectPaths
|
|
15384
|
+
selectedProjectPaths: preparedProjectPaths
|
|
15378
15385
|
});
|
|
15379
15386
|
writeSignupScreen(output, state);
|
|
15380
15387
|
writePreflightSummary(output, state);
|
|
@@ -15407,7 +15414,8 @@ async function runSignupMockFlow(deps = {}) {
|
|
|
15407
15414
|
writeSelectedProjectsSummary(output, state);
|
|
15408
15415
|
writeSelectedTasksSummary(output, state);
|
|
15409
15416
|
const projectGitEmails = await projectGitEmailsPromise;
|
|
15410
|
-
const
|
|
15417
|
+
const configuredGitEmail = configuredGitEmailFromPreflights(state.preflightChecks);
|
|
15418
|
+
const globalGitEmail = configuredGitEmail !== undefined && usefulSuggestedEmail(configuredGitEmail) ? configuredGitEmail : undefined;
|
|
15411
15419
|
const emailCandidates = globalGitEmail === undefined ? uniqueDefinedEmails(projectGitEmails) : [];
|
|
15412
15420
|
state = updateSignupState(state, { projectGitEmails, emailCandidates });
|
|
15413
15421
|
const reusedSignupAuth = state.reusedSignupAuth;
|
|
@@ -15771,13 +15779,22 @@ function writeProjectPickerIntro(output, state) {
|
|
|
15771
15779
|
if (!preflightsFinished(state)) {
|
|
15772
15780
|
return;
|
|
15773
15781
|
}
|
|
15774
|
-
writeBoundedLine(output, blue("2) Where should Linzumi let your Codex agents
|
|
15782
|
+
writeBoundedLine(output, blue("2) Where should Linzumi let your Codex agents start?"));
|
|
15783
|
+
writeWrappedPrefixMessage(output, " ", "Pick the first local folders for Mission Control. You can add or remove folders later.", muted);
|
|
15775
15784
|
}
|
|
15776
15785
|
function writeNoProjectsFound(output) {
|
|
15777
15786
|
output.write(`${blue("?")} No projects found yet
|
|
15778
15787
|
|
|
15779
15788
|
`);
|
|
15780
15789
|
}
|
|
15790
|
+
function writeProjectPreparationFailure(output, message) {
|
|
15791
|
+
output.write(`
|
|
15792
|
+
`);
|
|
15793
|
+
writeBoundedLine(output, blue("We couldn't prepare that project"));
|
|
15794
|
+
writeStatusMessage(output, red("x"), message);
|
|
15795
|
+
writeBoundedLine(output, muted(" Choose another folder or move the conflicting demo directory, then retry:"));
|
|
15796
|
+
writeBoundedLine(output, blue(" npx -y @linzumi/cli@latest signup"));
|
|
15797
|
+
}
|
|
15781
15798
|
function writeSelectedProjectsSummary(output, state) {
|
|
15782
15799
|
const selectedProjects = selectedProjectsFromState(state);
|
|
15783
15800
|
output.write(`
|
|
@@ -15891,7 +15908,7 @@ async function chooseTasks(prompts, output, tasks) {
|
|
|
15891
15908
|
output.write(`
|
|
15892
15909
|
`);
|
|
15893
15910
|
writeBoundedLine(output, blue("4) What should your Codex agents start working on?"));
|
|
15894
|
-
writeBoundedLine(output, muted(" Pick up to 5
|
|
15911
|
+
writeBoundedLine(output, muted(" Pick up to 5 small starter tasks. These just get agents moving."));
|
|
15895
15912
|
writeBoundedLine(output, muted(" Select suggested tasks, or choose the last row to type your own task."));
|
|
15896
15913
|
const customTaskChoice = "__custom_task__";
|
|
15897
15914
|
const checkedTasks = await prompts.checkbox({
|
|
@@ -16624,6 +16641,40 @@ function projectPickerRows(projects, selectedPaths, pathInput) {
|
|
|
16624
16641
|
const recentRows = projects.filter((project) => !selectedPaths.has(project.path)).slice(0, remainingCount).map((project) => ({ project, selected: false }));
|
|
16625
16642
|
return [...selectedRows, ...recentRows];
|
|
16626
16643
|
}
|
|
16644
|
+
function prepareSelectedSignupProjects(selectedProjectPaths, projects) {
|
|
16645
|
+
const normalizedPaths = selectedProjectPaths.map(normalizeProjectPath);
|
|
16646
|
+
const selectedProjectByPath = new Map(normalizedPaths.map((path) => [
|
|
16647
|
+
path,
|
|
16648
|
+
projectFromKnownOrPath(projects, path)
|
|
16649
|
+
]));
|
|
16650
|
+
for (const [path, project] of selectedProjectByPath) {
|
|
16651
|
+
if (project.source === "hello_linzumi_demo") {
|
|
16652
|
+
try {
|
|
16653
|
+
createHelloLinzumiProject({ rootPath: path });
|
|
16654
|
+
} catch (error) {
|
|
16655
|
+
return {
|
|
16656
|
+
type: "failed",
|
|
16657
|
+
message: demoProjectCreateFailureMessage(path, error)
|
|
16658
|
+
};
|
|
16659
|
+
}
|
|
16660
|
+
}
|
|
16661
|
+
}
|
|
16662
|
+
return {
|
|
16663
|
+
type: "ready",
|
|
16664
|
+
selectedProjectPaths: Array.from(new Set(normalizedPaths))
|
|
16665
|
+
};
|
|
16666
|
+
}
|
|
16667
|
+
function demoProjectCreateFailureMessage(path, error) {
|
|
16668
|
+
const detail = error instanceof Error ? error.message : String(error);
|
|
16669
|
+
return `The Hello Linzumi demo project could not be created at ${path}. ${detail}`;
|
|
16670
|
+
}
|
|
16671
|
+
function helloLinzumiDemoProjectOption() {
|
|
16672
|
+
return {
|
|
16673
|
+
path: normalizeProjectPath(defaultHelloLinzumiProjectDir),
|
|
16674
|
+
language: "Demo",
|
|
16675
|
+
source: "hello_linzumi_demo"
|
|
16676
|
+
};
|
|
16677
|
+
}
|
|
16627
16678
|
function renderProjectPickerRow(row, index, state) {
|
|
16628
16679
|
const active = index === state.highlightIndex;
|
|
16629
16680
|
const marker = active ? blue("›") : " ";
|
|
@@ -16631,11 +16682,12 @@ function renderProjectPickerRow(row, index, state) {
|
|
|
16631
16682
|
const gitHead = row.project.gitHead;
|
|
16632
16683
|
const sha = truncateEnd(gitHead?.sha ?? "-----", 5);
|
|
16633
16684
|
const date = gitHead?.date ?? "----------";
|
|
16634
|
-
const message = gitHead?.message ?? "";
|
|
16685
|
+
const message = gitHead?.message ?? (row.project.source === "hello_linzumi_demo" ? "Create a safe demo app" : "");
|
|
16635
16686
|
return ` ${marker}${selected} ${truncateMiddle(row.project.path, 41).padEnd(41, " ")} ${sha.padEnd(5, " ")} ${date.padEnd(10, " ")} ${truncateEnd(message, 34)}`;
|
|
16636
16687
|
}
|
|
16637
16688
|
function projectFromKnownOrPath(projects, path) {
|
|
16638
|
-
|
|
16689
|
+
const normalizedPath = normalizeProjectPath(path);
|
|
16690
|
+
return projects.find((project) => project.path === normalizedPath) ?? (normalizedPath === normalizeProjectPath(defaultHelloLinzumiProjectDir) ? helloLinzumiDemoProjectOption() : undefined) ?? customProjectOption(normalizedPath);
|
|
16639
16691
|
}
|
|
16640
16692
|
function selectedProjectsFromState(state) {
|
|
16641
16693
|
if (state.projectDiscovery.type !== "ready") {
|
|
@@ -16866,7 +16918,8 @@ function uniqueEmails(emails) {
|
|
|
16866
16918
|
}
|
|
16867
16919
|
function usefulSuggestedEmail(email) {
|
|
16868
16920
|
const normalizedEmail = email.trim().toLocaleLowerCase();
|
|
16869
|
-
|
|
16921
|
+
const domain = normalizedEmail.split("@")[1] ?? "";
|
|
16922
|
+
return !(normalizedEmail === "noreply@github.com" || normalizedEmail.endsWith("@users.noreply.github.com") || normalizedEmail.endsWith("@noreply.github.com") || domain === "localhost" || domain.endsWith(".local"));
|
|
16870
16923
|
}
|
|
16871
16924
|
function configuredGitEmailFromPreflights(checks) {
|
|
16872
16925
|
const gitEmailCheck = checks.find((check2) => check2.id === "git_email");
|
|
@@ -16945,8 +16998,9 @@ function defaultPreflightRuntime() {
|
|
|
16945
16998
|
};
|
|
16946
16999
|
}
|
|
16947
17000
|
function defaultProjectDiscoveryRuntime() {
|
|
17001
|
+
const cwd = process.cwd();
|
|
16948
17002
|
return {
|
|
16949
|
-
discoverProjects: async (homeDir) =>
|
|
17003
|
+
discoverProjects: async (homeDir) => discoverProjectsFromSignupRoots(homeDir, cwd)
|
|
16950
17004
|
};
|
|
16951
17005
|
}
|
|
16952
17006
|
function defaultTaskSuggestionRuntime() {
|
|
@@ -17093,7 +17147,7 @@ async function resolveSignupCodexCommand(env = process.env, homeDir = homedir8()
|
|
|
17093
17147
|
"Set LINZUMI_SIGNUP_CODEX_BIN to a working Codex executable or install Codex in a home-managed location such as ~/.volta/bin/codex."
|
|
17094
17148
|
].join(" "));
|
|
17095
17149
|
}
|
|
17096
|
-
throw new Error("Codex task suggestions could not find Codex.
|
|
17150
|
+
throw new Error("Codex task suggestions could not find Codex. Install Codex first, or set LINZUMI_SIGNUP_CODEX_BIN to a working Codex executable.");
|
|
17097
17151
|
}
|
|
17098
17152
|
function firstConfiguredValue(values) {
|
|
17099
17153
|
return values.find((value) => value !== undefined && value.trim() !== "");
|
|
@@ -17439,6 +17493,33 @@ function discoverProjectsUnderRoot(codeRoot) {
|
|
|
17439
17493
|
gitHead: cachedGitHeadSummary(project.path)
|
|
17440
17494
|
})).sort(sortProjectsByRecentGitCommit).slice(0, 20);
|
|
17441
17495
|
}
|
|
17496
|
+
function discoverProjectsFromSignupRoots(homeDir, cwd) {
|
|
17497
|
+
const currentProjects = discoverProjectsFromCurrentDirectory(cwd);
|
|
17498
|
+
const guessedProjects = discoverProjectsFromGuessedRoots(homeDir);
|
|
17499
|
+
const demoProject = helloLinzumiDemoProjectOption();
|
|
17500
|
+
const [firstCurrentProject, ...remainingCurrentProjects] = currentProjects;
|
|
17501
|
+
const seenPaths = new Set;
|
|
17502
|
+
return [
|
|
17503
|
+
...firstCurrentProject === undefined ? [] : [firstCurrentProject],
|
|
17504
|
+
demoProject,
|
|
17505
|
+
...remainingCurrentProjects,
|
|
17506
|
+
...guessedProjects
|
|
17507
|
+
].filter((project) => {
|
|
17508
|
+
if (seenPaths.has(project.path)) {
|
|
17509
|
+
return false;
|
|
17510
|
+
}
|
|
17511
|
+
seenPaths.add(project.path);
|
|
17512
|
+
return true;
|
|
17513
|
+
}).slice(0, 24);
|
|
17514
|
+
}
|
|
17515
|
+
function discoverProjectsFromCurrentDirectory(cwd) {
|
|
17516
|
+
const normalizedCwd = normalizeProjectPath(cwd);
|
|
17517
|
+
const cwdProject = directoryExists(normalizedCwd) ? [customProjectOption(normalizedCwd)] : [];
|
|
17518
|
+
const gitRoot = gitTopLevel(normalizedCwd);
|
|
17519
|
+
const gitRootProject = gitRoot !== undefined && gitRoot !== normalizedCwd ? [customProjectOption(gitRoot)] : [];
|
|
17520
|
+
const childProjects = discoverProjectsUnderRoot(normalizedCwd);
|
|
17521
|
+
return [...cwdProject, ...gitRootProject, ...childProjects];
|
|
17522
|
+
}
|
|
17442
17523
|
function discoverProjectsFromGuessedRoots(homeDir) {
|
|
17443
17524
|
const guessedRoots = ["src", "code", "projects"].map((name) => join12(homeDir, name));
|
|
17444
17525
|
const projects = guessedRoots.flatMap((root) => discoverProjectsUnderRoot(root));
|
|
@@ -17451,6 +17532,9 @@ function discoverProjectsFromGuessedRoots(homeDir) {
|
|
|
17451
17532
|
return true;
|
|
17452
17533
|
}).sort(sortProjectsByRecentGitCommit).slice(0, 20);
|
|
17453
17534
|
}
|
|
17535
|
+
function gitTopLevel(cwd) {
|
|
17536
|
+
return spawnSyncGit(["rev-parse", "--show-toplevel"], cwd);
|
|
17537
|
+
}
|
|
17454
17538
|
function sortProjectsByRecentGitCommit(left, right) {
|
|
17455
17539
|
const leftTimestamp = left.gitHead?.timestamp ?? 0;
|
|
17456
17540
|
const rightTimestamp = right.gitHead?.timestamp ?? 0;
|
|
@@ -17917,12 +18001,12 @@ async function main(args) {
|
|
|
17917
18001
|
return;
|
|
17918
18002
|
case "signupMock":
|
|
17919
18003
|
if (parsed.args.includes("--help") || parsed.args.includes("-h")) {
|
|
17920
|
-
process.stdout.write(
|
|
18004
|
+
process.stdout.write(signupHelpText());
|
|
17921
18005
|
return;
|
|
17922
18006
|
}
|
|
17923
18007
|
{
|
|
17924
18008
|
const options = parseSignupTuiOptions(parsed.args);
|
|
17925
|
-
await
|
|
18009
|
+
await runSignupFlow({
|
|
17926
18010
|
forceSignup: options.forceSignup,
|
|
17927
18011
|
serviceUrl: options.serviceUrl,
|
|
17928
18012
|
openBrowser: false,
|
|
@@ -17933,12 +18017,12 @@ async function main(args) {
|
|
|
17933
18017
|
return;
|
|
17934
18018
|
case "signup":
|
|
17935
18019
|
if (parsed.args.includes("--help") || parsed.args.includes("-h")) {
|
|
17936
|
-
process.stdout.write(
|
|
18020
|
+
process.stdout.write(signupHelpText());
|
|
17937
18021
|
return;
|
|
17938
18022
|
}
|
|
17939
18023
|
{
|
|
17940
18024
|
const options = parseSignupTuiOptions(parsed.args);
|
|
17941
|
-
await
|
|
18025
|
+
await runSignupFlow({
|
|
17942
18026
|
forceSignup: options.forceSignup,
|
|
17943
18027
|
serviceUrl: options.serviceUrl,
|
|
17944
18028
|
openBrowser: options.openBrowser,
|
package/package.json
CHANGED