@pipelab/cli 2.0.0-beta.22 → 2.0.0-beta.26

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.
@@ -1,5 +1,5 @@
1
1
  import { a as __require, s as __toESM, t as __commonJSMin } from "./chunk-M2dkpuaD.mjs";
2
- import { i as savedFileMigrator, n as connectionsMigrator, r as fileRepoMigrations, t as appSettingsMigrator, w as useLogger } from "./src-CoHipk5y.mjs";
2
+ import { i as savedFileMigrator, n as connectionsMigrator, r as fileRepoMigrations, t as appSettingsMigrator, w as useLogger } from "./src-PqA91tjF.mjs";
3
3
  import path, { dirname, join } from "node:path";
4
4
  import { fileURLToPath } from "node:url";
5
5
  import { constants } from "node:os";
@@ -8,7 +8,7 @@ import fs$1, { mkdir, readdir, stat, writeFile } from "node:fs/promises";
8
8
  import { ChildProcess, execFile, spawn, spawnSync } from "node:child_process";
9
9
  import { StringDecoder } from "node:string_decoder";
10
10
  import { aborted, callbackify, debuglog, inspect, promisify, stripVTControlCharacters } from "node:util";
11
- import P, { execArgv, execPath, hrtime, platform as platform$1 } from "node:process";
11
+ import process$1, { execArgv, execPath, hrtime, platform as platform$1 } from "node:process";
12
12
  import tty from "node:tty";
13
13
  import { scheduler, setImmediate as setImmediate$1, setTimeout as setTimeout$1 } from "node:timers/promises";
14
14
  import { EventEmitter, addAbortListener, on, once, setMaxListeners } from "node:events";
@@ -180,9 +180,9 @@ const getSubprocessResult = ({ stdout }) => {
180
180
  //#region ../../packages/core-node/node_modules/execa/lib/utils/standard-stream.js
181
181
  const isStandardStream = (stream) => STANDARD_STREAMS.includes(stream);
182
182
  const STANDARD_STREAMS = [
183
- P.stdin,
184
- P.stdout,
185
- P.stderr
183
+ process$1.stdin,
184
+ process$1.stdout,
185
+ process$1.stderr
186
186
  ];
187
187
  const STANDARD_STREAMS_ALIASES = [
188
188
  "stdin",
@@ -303,9 +303,9 @@ const NO_ESCAPE_REGEXP = /^[\w./-]+$/;
303
303
  //#endregion
304
304
  //#region ../../node_modules/figures/node_modules/is-unicode-supported/index.js
305
305
  function isUnicodeSupported() {
306
- const { env } = P;
306
+ const { env } = process$1;
307
307
  const { TERM, TERM_PROGRAM } = env;
308
- if (P.platform !== "win32") return TERM !== "linux";
308
+ if (process$1.platform !== "win32") return TERM !== "linux";
309
309
  return Boolean(env.WT_SESSION) || Boolean(env.TERMINUS_SUBLIME) || env.ConEmuTask === "{cmd::Cmder}" || TERM_PROGRAM === "Terminus-Sublime" || TERM_PROGRAM === "vscode" || TERM === "xterm-256color" || TERM === "alacritty" || TERM === "rxvt-unicode" || TERM === "rxvt-unicode-256color" || env.TERMINAL_EMULATOR === "JetBrains-JediTerm";
310
310
  }
311
311
  //#endregion
@@ -1201,7 +1201,7 @@ function traversePathUp(startPath) {
1201
1201
  }
1202
1202
  //#endregion
1203
1203
  //#region ../../node_modules/npm-run-path/index.js
1204
- const npmRunPath = ({ cwd = P.cwd(), path: pathOption = P.env[pathKey()], preferLocal = true, execPath = P.execPath, addExecPath = true } = {}) => {
1204
+ const npmRunPath = ({ cwd = process$1.cwd(), path: pathOption = process$1.env[pathKey()], preferLocal = true, execPath = process$1.execPath, addExecPath = true } = {}) => {
1205
1205
  const cwdPath = path.resolve(toPath(cwd));
1206
1206
  const result = [];
1207
1207
  const pathParts = pathOption.split(path.delimiter);
@@ -1219,7 +1219,7 @@ const applyExecPath = (result, pathParts, execPath, cwdPath) => {
1219
1219
  const pathPart = path.resolve(cwdPath, toPath(execPath), "..");
1220
1220
  if (!pathParts.includes(pathPart)) result.push(pathPart);
1221
1221
  };
1222
- const npmRunPathEnv = ({ env = P.env, ...options } = {}) => {
1222
+ const npmRunPathEnv = ({ env = process$1.env, ...options } = {}) => {
1223
1223
  env = { ...env };
1224
1224
  const pathName = pathKey({ env });
1225
1225
  options.path = env[pathName];
@@ -2326,7 +2326,7 @@ const normalizeCwd = (cwd = getDefaultCwd()) => {
2326
2326
  };
2327
2327
  const getDefaultCwd = () => {
2328
2328
  try {
2329
- return P.cwd();
2329
+ return process$1.cwd();
2330
2330
  } catch (error) {
2331
2331
  error.message = `The current directory does not exist.\n${error.message}`;
2332
2332
  throw error;
@@ -2361,7 +2361,7 @@ const normalizeOptions = (filePath, rawArguments, rawOptions) => {
2361
2361
  options.killSignal = normalizeKillSignal(options.killSignal);
2362
2362
  options.forceKillAfterDelay = normalizeForceKillAfterDelay(options.forceKillAfterDelay);
2363
2363
  options.lines = options.lines.map((lines, fdNumber) => lines && !BINARY_ENCODINGS.has(options.encoding) && options.buffer[fdNumber]);
2364
- if (P.platform === "win32" && path.basename(file, ".exe") === "cmd") commandArguments.unshift("/q");
2364
+ if (process$1.platform === "win32" && path.basename(file, ".exe") === "cmd") commandArguments.unshift("/q");
2365
2365
  return {
2366
2366
  file,
2367
2367
  commandArguments,
@@ -2388,7 +2388,7 @@ const addDefaultOptions = ({ extendEnv = true, preferLocal = false, cwd, localDi
2388
2388
  });
2389
2389
  const getEnv = ({ env: envOption, extendEnv, preferLocal, node, localDirectory, nodePath }) => {
2390
2390
  const env = extendEnv ? {
2391
- ...P.env,
2391
+ ...process$1.env,
2392
2392
  ...envOption
2393
2393
  } : envOption;
2394
2394
  if (preferLocal || node) return npmRunPathEnv({
@@ -3355,12 +3355,12 @@ const guessStreamDirection = {
3355
3355
  }
3356
3356
  };
3357
3357
  const getStandardStreamDirection = (value) => {
3358
- if ([0, P.stdin].includes(value)) return "input";
3358
+ if ([0, process$1.stdin].includes(value)) return "input";
3359
3359
  if ([
3360
3360
  1,
3361
3361
  2,
3362
- P.stdout,
3363
- P.stderr
3362
+ process$1.stdout,
3363
+ process$1.stderr
3364
3364
  ].includes(value)) return "output";
3365
3365
  };
3366
3366
  const DEFAULT_DIRECTION = "output";
@@ -4400,9 +4400,9 @@ const addIpcMethods = (subprocess, { ipc }) => {
4400
4400
  Object.assign(subprocess, getIpcMethods(subprocess, false, ipc));
4401
4401
  };
4402
4402
  const getIpcExport = () => {
4403
- const anyProcess = P;
4403
+ const anyProcess = process$1;
4404
4404
  const isSubprocess = true;
4405
- const ipc = P.channel !== void 0;
4405
+ const ipc = process$1.channel !== void 0;
4406
4406
  return {
4407
4407
  ...getIpcMethods(anyProcess, isSubprocess, ipc),
4408
4408
  getCancelSignal: getCancelSignal$1.bind(void 0, {
@@ -4872,7 +4872,7 @@ var SignalExitFallback = class extends SignalExitBase {
4872
4872
  };
4873
4873
  var SignalExit = class extends SignalExitBase {
4874
4874
  /* c8 ignore start */
4875
- #hupSig = process$1.platform === "win32" ? "SIGINT" : "SIGHUP";
4875
+ #hupSig = process$2.platform === "win32" ? "SIGINT" : "SIGHUP";
4876
4876
  /* c8 ignore stop */
4877
4877
  #emitter = new Emitter();
4878
4878
  #process;
@@ -4967,8 +4967,8 @@ var SignalExit = class extends SignalExitBase {
4967
4967
  } else return og.call(this.#process, ev, ...args);
4968
4968
  }
4969
4969
  };
4970
- const process$1 = globalThis.process;
4971
- const { onExit, load, unload } = signalExitWrap(processOk(process$1) ? new SignalExit(process$1) : new SignalExitFallback());
4970
+ const process$2 = globalThis.process;
4971
+ const { onExit, load, unload } = signalExitWrap(processOk(process$2) ? new SignalExit(process$2) : new SignalExitFallback());
4972
4972
  //#endregion
4973
4973
  //#region ../../packages/core-node/node_modules/execa/lib/terminate/cleanup.js
4974
4974
  const cleanupOnExit = (subprocess, { cleanup, detached }, { signal }) => {
@@ -0,0 +1,4 @@
1
+ import "./src-PqA91tjF.mjs";
2
+ import "./dist-BC_B45iu.mjs";
3
+ import { c as setupSettingsConfigFile } from "./config-Crzou2fs.mjs";
4
+ export { setupSettingsConfigFile };
package/index.mjs CHANGED
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
  import { a as __require, n as __esmMin, s as __toESM, t as __commonJSMin } from "./chunk-M2dkpuaD.mjs";
3
- import { a as WebSocketError, c as transformUrl, d as SubscriptionRequiredError, f as usePlugins, i as savedFileMigrator, l as isSupabaseAvailable, n as connectionsMigrator, o as isWebSocketRequestMessage, r as fileRepoMigrations, s as isRequired, t as appSettingsMigrator, u as supabase, v as processGraph, w as useLogger } from "./src-CoHipk5y.mjs";
3
+ import { a as WebSocketError, c as transformUrl, d as SubscriptionRequiredError, f as usePlugins, i as savedFileMigrator, l as isSupabaseAvailable, n as connectionsMigrator, o as isWebSocketRequestMessage, r as fileRepoMigrations, s as isRequired, t as appSettingsMigrator, u as supabase, v as processGraph, w as useLogger } from "./src-PqA91tjF.mjs";
4
4
  import "./dist-BC_B45iu.mjs";
5
- import { a as setupPipelineConfigFileByName, c as setupSettingsConfigFile, d as extractTarGz, f as extractZip, g as execa, h as require_balanced_match, i as setupConnectionsConfigFile, l as downloadFile, m as require_commonjs$8, n as deletePipelineConfigFileByPath, o as setupPipelineConfigFileByPath, p as getFolderSize, s as setupProjectsConfigFile, t as deletePipelineConfigFileByName } from "./config-C4SmHbuE.mjs";
5
+ import { a as setupPipelineConfigFileByName, c as setupSettingsConfigFile, d as extractTarGz, f as extractZip, g as execa, h as require_balanced_match, i as setupConnectionsConfigFile, l as downloadFile, m as require_commonjs$8, n as deletePipelineConfigFileByPath, o as setupPipelineConfigFileByPath, p as getFolderSize, s as setupProjectsConfigFile, t as deletePipelineConfigFileByName } from "./config-Crzou2fs.mjs";
6
6
  import path, { delimiter, dirname, isAbsolute, join, normalize, resolve, sep } from "node:path";
7
7
  import { fileURLToPath, pathToFileURL } from "node:url";
8
8
  import { homedir, platform, release } from "node:os";
@@ -14,12 +14,12 @@ import { webcrypto } from "node:crypto";
14
14
  import { dirname as dirname$1, isAbsolute as isAbsolute$1, posix, relative, sep as sep$1 } from "path";
15
15
  import { execFile } from "node:child_process";
16
16
  import { promisify, stripVTControlCharacters, styleText } from "node:util";
17
- import P, { platform as platform$1, stdin, stdout } from "node:process";
17
+ import process$1, { platform as platform$1, stdin, stdout } from "node:process";
18
18
  import { ReadStream } from "node:tty";
19
19
  import { setTimeout as setTimeout$1 } from "node:timers/promises";
20
20
  import dns from "node:dns/promises";
21
21
  import * as _ from "node:readline";
22
- import P$1, { createInterface } from "node:readline";
22
+ import P, { createInterface } from "node:readline";
23
23
  import { AsyncLocalStorage } from "node:async_hooks";
24
24
  //#region ../../node_modules/tsdown/esm-shims.js
25
25
  var getFilename, getDirname, __dirname$1;
@@ -121,7 +121,7 @@ var PipelabContext = class {
121
121
  async createTempFolder(prefix = "pipelab-") {
122
122
  const baseDir = this.getTempPath();
123
123
  await mkdir(baseDir, { recursive: true });
124
- return await mkdtemp(join(await realpath(baseDir), prefix));
124
+ return mkdtemp(join(await realpath(baseDir), prefix));
125
125
  }
126
126
  getCachePath(folder, ...subpaths) {
127
127
  const base = this.getSettings()?.cacheFolder || join(this.userDataPath, "cache");
@@ -3967,6 +3967,121 @@ const registerShellHandlers = (_context) => {
3967
3967
  });
3968
3968
  };
3969
3969
  //#endregion
3970
+ //#region ../../packages/core-node/src/fs-utils.ts
3971
+ var import_slash = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin(((exports, module) => {
3972
+ module.exports = (path) => {
3973
+ const isExtendedLengthPath = /^\\\\\?\\/.test(path);
3974
+ const hasNonAscii = /[^\u0000-\u0080]+/.test(path);
3975
+ if (isExtendedLengthPath || hasNonAscii) return path;
3976
+ return path.replace(/\\/g, "/");
3977
+ };
3978
+ })))(), 1);
3979
+ function removeTrailingSlash$1(path) {
3980
+ return path.replace(/[\\/]+$/, "");
3981
+ }
3982
+ function isWindowsDriveRoot(path) {
3983
+ return /^[a-z]:$/.test(path);
3984
+ }
3985
+ const windowsSystemFolders = [
3986
+ "windows",
3987
+ "program files",
3988
+ "program files (x86)",
3989
+ "users",
3990
+ "programdata",
3991
+ "perflogs"
3992
+ ];
3993
+ function isWindowsSystemDirectory(path) {
3994
+ if (!isWindowsDriveRoot(path.substring(0, 2)) || path.charAt(2) !== "/") return false;
3995
+ const folder = path.substring(3);
3996
+ return windowsSystemFolders.includes(folder);
3997
+ }
3998
+ const unixSystemDirectories = new Set([
3999
+ "",
4000
+ "/usr",
4001
+ "/var",
4002
+ "/opt",
4003
+ "/etc",
4004
+ "/bin",
4005
+ "/sbin",
4006
+ "/lib",
4007
+ "/lib64",
4008
+ "/boot",
4009
+ "/sys",
4010
+ "/proc",
4011
+ "/dev",
4012
+ "/run",
4013
+ "/home",
4014
+ "/root",
4015
+ "/mnt",
4016
+ "/media",
4017
+ "/srv",
4018
+ "/applications",
4019
+ "/library",
4020
+ "/system",
4021
+ "/volumes",
4022
+ "/snap"
4023
+ ]);
4024
+ const homeDirectory = removeTrailingSlash$1((0, import_slash.default)(resolve(homedir()))).toLowerCase();
4025
+ const additionalProtectedPaths = [
4026
+ getDefaultUserDataPath$1("dev"),
4027
+ getDefaultUserDataPath$1("beta"),
4028
+ getDefaultUserDataPath$1("prod"),
4029
+ projectRoot,
4030
+ process.cwd(),
4031
+ "/tmp",
4032
+ "/var/tmp",
4033
+ process.env.TEMP,
4034
+ process.env.TMP,
4035
+ join(homedir(), "AppData"),
4036
+ join(homedir(), "AppData", "Local"),
4037
+ join(homedir(), "AppData", "Roaming"),
4038
+ join(homedir(), "Library"),
4039
+ join(homedir(), "Library", "Application Support"),
4040
+ join(homedir(), ".config"),
4041
+ join(homedir(), ".local"),
4042
+ join(homedir(), ".local", "share"),
4043
+ join(homedir(), ".cache"),
4044
+ join(homedir(), "OneDrive"),
4045
+ join(homedir(), "Dropbox"),
4046
+ join(homedir(), ".ssh"),
4047
+ join(homedir(), ".gnupg"),
4048
+ join(homedir(), ".aws"),
4049
+ join(homedir(), ".docker"),
4050
+ join(homedir(), ".kube"),
4051
+ join(homedir(), ".vscode"),
4052
+ join(homedir(), ".vscode-insiders"),
4053
+ join(homedir(), ".cursor"),
4054
+ join(homedir(), ".npm"),
4055
+ join(homedir(), ".pnpm-state"),
4056
+ join(homedir(), ".yarn"),
4057
+ join(homedir(), ".cargo"),
4058
+ join(homedir(), ".rustup"),
4059
+ join(homedir(), ".m2"),
4060
+ join(homedir(), ".gradle")
4061
+ ].filter((p) => typeof p === "string" && p.length > 0);
4062
+ const userSubdirectories = new Set([
4063
+ join(homedir(), "Downloads"),
4064
+ join(homedir(), "Documents"),
4065
+ join(homedir(), "Desktop"),
4066
+ join(homedir(), "Pictures"),
4067
+ join(homedir(), "Music"),
4068
+ join(homedir(), "Videos"),
4069
+ join(homedir(), "Saved Games"),
4070
+ join(homedir(), "Contacts"),
4071
+ join(homedir(), "Searches"),
4072
+ join(homedir(), "Links"),
4073
+ join(homedir(), "3D Objects"),
4074
+ ...additionalProtectedPaths
4075
+ ].map((p) => removeTrailingSlash$1((0, import_slash.default)(resolve(p))).toLowerCase()));
4076
+ /**
4077
+ * Checks if a path matches a critical user or system directory.
4078
+ */
4079
+ function isPathBlacklisted(pathToCheck) {
4080
+ if (!pathToCheck) return false;
4081
+ const normalized = removeTrailingSlash$1((0, import_slash.default)(resolve(pathToCheck))).toLowerCase();
4082
+ return normalized === homeDirectory || unixSystemDirectories.has(normalized) || userSubdirectories.has(normalized) || isWindowsDriveRoot(normalized) || isWindowsSystemDirectory(normalized);
4083
+ }
4084
+ //#endregion
3970
4085
  //#region ../../packages/core-node/src/handlers/fs.ts
3971
4086
  const registerFsHandlers = (_context) => {
3972
4087
  const { handle } = useAPI();
@@ -4038,6 +4153,26 @@ const registerFsHandlers = (_context) => {
4038
4153
  });
4039
4154
  }
4040
4155
  });
4156
+ handle("fs:isPathBlacklisted", async (event, { value, send }) => {
4157
+ try {
4158
+ send({
4159
+ type: "end",
4160
+ data: {
4161
+ type: "success",
4162
+ result: { isBlacklisted: isPathBlacklisted(value.path) }
4163
+ }
4164
+ });
4165
+ } catch (error) {
4166
+ logger().error("Failed to check blacklist for path:", error);
4167
+ send({
4168
+ type: "end",
4169
+ data: {
4170
+ type: "error",
4171
+ ipcError: error instanceof Error ? error.message : "Unable to check path blacklist"
4172
+ }
4173
+ });
4174
+ }
4175
+ });
4041
4176
  };
4042
4177
  //#endregion
4043
4178
  //#region ../../packages/core-node/src/handlers/config.ts
@@ -14009,17 +14144,17 @@ var require_npa = /* @__PURE__ */ __commonJSMin(((exports, module) => {
14009
14144
  //#endregion
14010
14145
  //#region ../../node_modules/npm-install-checks/lib/current-env.js
14011
14146
  var require_current_env = /* @__PURE__ */ __commonJSMin(((exports, module) => {
14012
- const process$2 = __require("node:process");
14147
+ const process$3 = __require("node:process");
14013
14148
  const nodeOs = __require("node:os");
14014
14149
  const fs$19 = __require("node:fs");
14015
14150
  function isMusl(file) {
14016
14151
  return file.includes("libc.musl-") || file.includes("ld-musl-");
14017
14152
  }
14018
14153
  function os() {
14019
- return process$2.platform;
14154
+ return process$3.platform;
14020
14155
  }
14021
14156
  function cpu() {
14022
- return process$2.arch;
14157
+ return process$3.arch;
14023
14158
  }
14024
14159
  const LDD_PATH = "/usr/bin/ldd";
14025
14160
  function getFamilyFromFilesystem() {
@@ -14033,10 +14168,10 @@ var require_current_env = /* @__PURE__ */ __commonJSMin(((exports, module) => {
14033
14168
  }
14034
14169
  }
14035
14170
  function getFamilyFromReport() {
14036
- const originalExclude = process$2.report.excludeNetwork;
14037
- process$2.report.excludeNetwork = true;
14038
- const report = process$2.report.getReport();
14039
- process$2.report.excludeNetwork = originalExclude;
14171
+ const originalExclude = process$3.report.excludeNetwork;
14172
+ process$3.report.excludeNetwork = true;
14173
+ const report = process$3.report.getReport();
14174
+ process$3.report.excludeNetwork = originalExclude;
14040
14175
  if (report.header?.glibcVersionRuntime) family = "glibc";
14041
14176
  else if (Array.isArray(report.sharedObjects) && report.sharedObjects.some(isMusl)) family = "musl";
14042
14177
  else family = null;
@@ -14066,7 +14201,7 @@ var require_current_env = /* @__PURE__ */ __commonJSMin(((exports, module) => {
14066
14201
  },
14067
14202
  runtime: {
14068
14203
  name: "node",
14069
- version: env.nodeVersion || process$2.version
14204
+ version: env.nodeVersion || process$3.version
14070
14205
  }
14071
14206
  };
14072
14207
  }
@@ -66759,8 +66894,9 @@ async function serveCommand(options, version, _dirname) {
66759
66894
  let rawAssetFolder;
66760
66895
  rawAssetFolder = await fetchPipelabAsset("@pipelab/ui", releaseTag, { context });
66761
66896
  const server = http.createServer(async (request, response) => {
66762
- if (request.url?.startsWith("/media-file/")) {
66763
- const encodedPath = request.url.substring(12);
66897
+ const urlObj = request.url ? new URL(request.url, "http://localhost") : null;
66898
+ if (urlObj && urlObj.pathname.startsWith("/media-file/")) {
66899
+ const encodedPath = urlObj.pathname.substring(12);
66764
66900
  const filePath = decodeURIComponent(encodedPath);
66765
66901
  const normalizedPath = filePath.startsWith("/") && filePath.match(/^\/[a-zA-Z]:/) ? filePath.substring(1) : filePath;
66766
66902
  if (existsSync(normalizedPath)) try {
@@ -67231,14 +67367,23 @@ const handleActionExecute = async (nodeId, pluginId, params, mainWindow, send, a
67231
67367
  inputs: resolvedInputs,
67232
67368
  log: (...args) => {
67233
67369
  const decorator = `[${node.node.name}]`;
67234
- const logArgs = [decorator, ...args];
67370
+ const formattedArgs = args.map((arg) => {
67371
+ if (arg instanceof Error) return arg.stack || arg.message || String(arg);
67372
+ if (typeof arg === "object" && arg !== null) try {
67373
+ return JSON.stringify(arg, null, 2);
67374
+ } catch {
67375
+ return String(arg);
67376
+ }
67377
+ return arg;
67378
+ });
67379
+ const logArgs = [decorator, ...formattedArgs];
67235
67380
  logger().info(...logArgs);
67236
67381
  send({
67237
67382
  type: "log",
67238
67383
  data: {
67239
67384
  decorator,
67240
67385
  time: Date.now(),
67241
- message: args
67386
+ message: formattedArgs
67242
67387
  }
67243
67388
  });
67244
67389
  },
@@ -67416,9 +67561,9 @@ const builtInPlugins = async (options) => {
67416
67561
  const envStart = Date.now();
67417
67562
  await Promise.all([ensureNodeJS(options.context), ensurePNPM(options.context)]);
67418
67563
  console.log(`[Plugins] Environment preparation took ${Date.now() - envStart}ms`);
67419
- const { usePlugins } = await import("./src-DU3j_v2A.mjs");
67564
+ const { usePlugins } = await import("./src-BiFlFfFL.mjs");
67420
67565
  const { registerPlugins } = usePlugins();
67421
- const { webSocketServer } = await import("./src-5EzZR-UT.mjs");
67566
+ const { webSocketServer } = await import("./src-C5nYOcma.mjs");
67422
67567
  webSocketServer.broadcast("startup:progress", { type: "ready" });
67423
67568
  (async () => {
67424
67569
  const totalStart = Date.now();
@@ -67438,7 +67583,7 @@ const builtInPlugins = async (options) => {
67438
67583
  "@pipelab/plugin-netlify"
67439
67584
  ]) pluginsToLoad.set(name, "latest");
67440
67585
  try {
67441
- const { setupSettingsConfigFile } = await import("./config-B-M_kmKR.mjs");
67586
+ const { setupSettingsConfigFile } = await import("./config-DWSqA648.mjs");
67442
67587
  const settingsPlugins = (await (await setupSettingsConfigFile(options.context)).getConfig())?.plugins || [];
67443
67588
  for (const plugin of settingsPlugins) if (plugin.name) if (plugin.enabled) {
67444
67589
  if (!pluginsToLoad.has(plugin.name)) pluginsToLoad.set(plugin.name, "latest");
@@ -69171,7 +69316,7 @@ async function runPipelineCommand(file, options, version) {
69171
69316
  }
69172
69317
  //#endregion
69173
69318
  //#region package.json
69174
- var version$2 = "2.0.0-beta.22";
69319
+ var version$2 = "2.0.0-beta.26";
69175
69320
  //#endregion
69176
69321
  //#region src/paths.ts
69177
69322
  const getDefaultUserDataPath = () => {
@@ -69937,7 +70082,7 @@ let p = class {
69937
70082
  this.state = "cancel", this.close();
69938
70083
  }, { once: !0 });
69939
70084
  }
69940
- this.rl = P$1.createInterface({
70085
+ this.rl = P.createInterface({
69941
70086
  input: this.input,
69942
70087
  tabSize: 2,
69943
70088
  prompt: "",
@@ -70134,7 +70279,7 @@ var nt = class extends p {
70134
70279
  //#endregion
70135
70280
  //#region ../../node_modules/@clack/prompts/dist/index.mjs
70136
70281
  function Ze() {
70137
- return P.platform !== "win32" ? P.env.TERM !== "linux" : !!P.env.CI || !!P.env.WT_SESSION || !!P.env.TERMINUS_SUBLIME || P.env.ConEmuTask === "{cmd::Cmder}" || P.env.TERM_PROGRAM === "Terminus-Sublime" || P.env.TERM_PROGRAM === "vscode" || P.env.TERM === "xterm-256color" || P.env.TERM === "alacritty" || P.env.TERMINAL_EMULATOR === "JetBrains-JediTerm";
70282
+ 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";
70138
70283
  }
70139
70284
  const ee = Ze(), ae = () => process.env.CI === "true", w = (e, i) => ee ? e : i, _e = w("◆", "*"), oe = w("■", "x"), ue = w("▲", "x"), F = w("◇", "o"), le = w("┌", "T"), d = w("│", "|"), E = w("└", "—");
70140
70285
  w("┐", "T");
@@ -70358,7 +70503,7 @@ ${r ? styleText("cyan", E) : ""}
70358
70503
  `), n = u.reduce((a, l) => Math.max(fastStringWidth(l), a), 0);
70359
70504
  return wrapAnsi(e, i - (u.map(s).reduce((a, l) => Math.max(fastStringWidth(l), a), 0) - n), r);
70360
70505
  }, wt = (e = "", i = "", s) => {
70361
- const r = s?.output ?? P.stdout, u$9 = s?.withGuide ?? u.withGuide, n = s?.format ?? ft, o = [
70506
+ const r = s?.output ?? process$1.stdout, u$9 = s?.withGuide ?? u.withGuide, n = s?.format ?? ft, o = [
70362
70507
  "",
70363
70508
  ...vt(e, O$1(r) - 6, n).split(`
70364
70509
  `).map(n),
@@ -75315,7 +75460,7 @@ var require_command = /* @__PURE__ */ __commonJSMin(((exports) => {
75315
75460
  const childProcess = __require("node:child_process");
75316
75461
  const path$1 = __require("node:path");
75317
75462
  const fs$2 = __require("node:fs");
75318
- const process$1 = __require("node:process");
75463
+ const process$2 = __require("node:process");
75319
75464
  const { Argument, humanReadableArgName } = require_argument();
75320
75465
  const { CommanderError } = require_error();
75321
75466
  const { Help } = require_help();
@@ -75366,10 +75511,10 @@ var require_command = /* @__PURE__ */ __commonJSMin(((exports) => {
75366
75511
  this._showHelpAfterError = false;
75367
75512
  this._showSuggestionAfterError = true;
75368
75513
  this._outputConfiguration = {
75369
- writeOut: (str) => process$1.stdout.write(str),
75370
- writeErr: (str) => process$1.stderr.write(str),
75371
- getOutHelpWidth: () => process$1.stdout.isTTY ? process$1.stdout.columns : void 0,
75372
- getErrHelpWidth: () => process$1.stderr.isTTY ? process$1.stderr.columns : void 0,
75514
+ writeOut: (str) => process$2.stdout.write(str),
75515
+ writeErr: (str) => process$2.stderr.write(str),
75516
+ getOutHelpWidth: () => process$2.stdout.isTTY ? process$2.stdout.columns : void 0,
75517
+ getErrHelpWidth: () => process$2.stderr.isTTY ? process$2.stderr.columns : void 0,
75373
75518
  outputError: (str, write) => write(str)
75374
75519
  };
75375
75520
  this._hidden = false;
@@ -75723,7 +75868,7 @@ Expecting one of '${allowedValues.join("', '")}'`);
75723
75868
  */
75724
75869
  _exit(exitCode, code, message) {
75725
75870
  if (this._exitCallback) this._exitCallback(new CommanderError(exitCode, code, message));
75726
- process$1.exit(exitCode);
75871
+ process$2.exit(exitCode);
75727
75872
  }
75728
75873
  /**
75729
75874
  * Register callback `fn` for the command.
@@ -76062,11 +76207,11 @@ Expecting one of '${allowedValues.join("', '")}'`);
76062
76207
  if (argv !== void 0 && !Array.isArray(argv)) throw new Error("first parameter to parse must be array or undefined");
76063
76208
  parseOptions = parseOptions || {};
76064
76209
  if (argv === void 0 && parseOptions.from === void 0) {
76065
- if (process$1.versions?.electron) parseOptions.from = "electron";
76066
- const execArgv = process$1.execArgv ?? [];
76210
+ if (process$2.versions?.electron) parseOptions.from = "electron";
76211
+ const execArgv = process$2.execArgv ?? [];
76067
76212
  if (execArgv.includes("-e") || execArgv.includes("--eval") || execArgv.includes("-p") || execArgv.includes("--print")) parseOptions.from = "eval";
76068
76213
  }
76069
- if (argv === void 0) argv = process$1.argv;
76214
+ if (argv === void 0) argv = process$2.argv;
76070
76215
  this.rawArgs = argv.slice();
76071
76216
  let userArgs;
76072
76217
  switch (parseOptions.from) {
@@ -76076,7 +76221,7 @@ Expecting one of '${allowedValues.join("', '")}'`);
76076
76221
  userArgs = argv.slice(2);
76077
76222
  break;
76078
76223
  case "electron":
76079
- if (process$1.defaultApp) {
76224
+ if (process$2.defaultApp) {
76080
76225
  this._scriptPath = argv[1];
76081
76226
  userArgs = argv.slice(2);
76082
76227
  } else userArgs = argv.slice(1);
@@ -76190,15 +76335,15 @@ Expecting one of '${allowedValues.join("', '")}'`);
76190
76335
  }
76191
76336
  launchWithNode = sourceExt.includes(path$1.extname(executableFile));
76192
76337
  let proc;
76193
- if (process$1.platform !== "win32") if (launchWithNode) {
76338
+ if (process$2.platform !== "win32") if (launchWithNode) {
76194
76339
  args.unshift(executableFile);
76195
- args = incrementNodeInspectorPort(process$1.execArgv).concat(args);
76196
- proc = childProcess.spawn(process$1.argv[0], args, { stdio: "inherit" });
76340
+ args = incrementNodeInspectorPort(process$2.execArgv).concat(args);
76341
+ proc = childProcess.spawn(process$2.argv[0], args, { stdio: "inherit" });
76197
76342
  } else proc = childProcess.spawn(executableFile, args, { stdio: "inherit" });
76198
76343
  else {
76199
76344
  args.unshift(executableFile);
76200
- args = incrementNodeInspectorPort(process$1.execArgv).concat(args);
76201
- proc = childProcess.spawn(process$1.execPath, args, { stdio: "inherit" });
76345
+ args = incrementNodeInspectorPort(process$2.execArgv).concat(args);
76346
+ proc = childProcess.spawn(process$2.execPath, args, { stdio: "inherit" });
76202
76347
  }
76203
76348
  if (!proc.killed) [
76204
76349
  "SIGUSR1",
@@ -76207,14 +76352,14 @@ Expecting one of '${allowedValues.join("', '")}'`);
76207
76352
  "SIGINT",
76208
76353
  "SIGHUP"
76209
76354
  ].forEach((signal) => {
76210
- process$1.on(signal, () => {
76355
+ process$2.on(signal, () => {
76211
76356
  if (proc.killed === false && proc.exitCode === null) proc.kill(signal);
76212
76357
  });
76213
76358
  });
76214
76359
  const exitCallback = this._exitCallback;
76215
76360
  proc.on("close", (code) => {
76216
76361
  code = code ?? 1;
76217
- if (!exitCallback) process$1.exit(code);
76362
+ if (!exitCallback) process$2.exit(code);
76218
76363
  else exitCallback(new CommanderError(code, "commander.executeSubCommandAsync", "(close)"));
76219
76364
  });
76220
76365
  proc.on("error", (err) => {
@@ -76226,7 +76371,7 @@ Expecting one of '${allowedValues.join("', '")}'`);
76226
76371
  - ${executableDirMessage}`;
76227
76372
  throw new Error(executableMissing);
76228
76373
  } else if (err.code === "EACCES") throw new Error(`'${executableFile}' not executable`);
76229
- if (!exitCallback) process$1.exit(1);
76374
+ if (!exitCallback) process$2.exit(1);
76230
76375
  else {
76231
76376
  const wrappedError = new CommanderError(1, "commander.executeSubCommandAsync", "(error)");
76232
76377
  wrappedError.nestedError = err;
@@ -76632,13 +76777,13 @@ Expecting one of '${allowedValues.join("', '")}'`);
76632
76777
  */
76633
76778
  _parseOptionsEnv() {
76634
76779
  this.options.forEach((option) => {
76635
- if (option.envVar && option.envVar in process$1.env) {
76780
+ if (option.envVar && option.envVar in process$2.env) {
76636
76781
  const optionKey = option.attributeName();
76637
76782
  if (this.getOptionValue(optionKey) === void 0 || [
76638
76783
  "default",
76639
76784
  "config",
76640
76785
  "env"
76641
- ].includes(this.getOptionValueSource(optionKey))) if (option.required || option.optional) this.emit(`optionEnv:${option.name()}`, process$1.env[option.envVar]);
76786
+ ].includes(this.getOptionValueSource(optionKey))) if (option.required || option.optional) this.emit(`optionEnv:${option.name()}`, process$2.env[option.envVar]);
76642
76787
  else this.emit(`optionEnv:${option.name()}`);
76643
76788
  }
76644
76789
  });
@@ -77017,7 +77162,7 @@ Expecting one of '${allowedValues.join("', '")}'`);
77017
77162
  */
77018
77163
  help(contextOptions) {
77019
77164
  this.outputHelp(contextOptions);
77020
- let exitCode = process$1.exitCode || 0;
77165
+ let exitCode = process$2.exitCode || 0;
77021
77166
  if (exitCode === 0 && contextOptions && typeof contextOptions !== "function" && contextOptions.error) exitCode = 1;
77022
77167
  this._exit(exitCode, "commander.help", "(outputHelp)");
77023
77168
  }
@@ -77236,4 +77381,4 @@ program.hook("postAction", (thisCommand) => {
77236
77381
  program.parse(process.argv);
77237
77382
  if (!process.argv.slice(2).length) program.outputHelp();
77238
77383
  //#endregion
77239
- export { CacheFolder as A, BuildHistoryStorage as C, WebSocketServer as D, registerShellHandlers as E, getDefaultUserDataPath$1 as M, projectRoot as N, webSocketServer as O, registerHistoryHandlers as S, registerFsHandlers as T, isOnline as _, executeGraphWithHistory as a, sendStartupReady as b, findInstalledPlugins as c, handleActionExecute as d, ensureNodeJS as f, fetchPipelabPlugin as g, fetchPipelabAsset as h, registerEngineHandlers as i, PipelabContext as j, useAPI as k, loadCustomPlugin as l, fetchPackage as m, registerAllHandlers as n, getFinalPlugins as o, ensurePNPM as p, registerAgentsHandlers as r, builtInPlugins as s, runPipelineCommand as t, loadPipelabPlugin as u, runPnpm as v, registerConfigHandlers as w, serveCommand as x, sendStartupProgress as y };
77384
+ export { useAPI as A, BuildHistoryStorage as C, registerShellHandlers as D, isPathBlacklisted as E, PipelabContext as M, getDefaultUserDataPath$1 as N, WebSocketServer as O, projectRoot as P, registerHistoryHandlers as S, registerFsHandlers as T, isOnline as _, executeGraphWithHistory as a, sendStartupReady as b, findInstalledPlugins as c, handleActionExecute as d, ensureNodeJS as f, fetchPipelabPlugin as g, fetchPipelabAsset as h, registerEngineHandlers as i, CacheFolder as j, webSocketServer as k, loadCustomPlugin as l, fetchPackage as m, registerAllHandlers as n, getFinalPlugins as o, ensurePNPM as p, registerAgentsHandlers as r, builtInPlugins as s, runPipelineCommand as t, loadPipelabPlugin as u, runPnpm as v, registerConfigHandlers as w, serveCommand as x, sendStartupProgress as y };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pipelab/cli",
3
- "version": "2.0.0-beta.22",
3
+ "version": "2.0.0-beta.26",
4
4
  "description": "The command line interface for Pipelab",
5
5
  "license": "FSL-1.1-MIT",
6
6
  "author": "CynToolkit",
@@ -0,0 +1,3 @@
1
+ import { f as usePlugins } from "./src-PqA91tjF.mjs";
2
+ import "./dist-BC_B45iu.mjs";
3
+ export { usePlugins };
@@ -0,0 +1,5 @@
1
+ import "./src-PqA91tjF.mjs";
2
+ import "./dist-BC_B45iu.mjs";
3
+ import "./config-Crzou2fs.mjs";
4
+ import { k as webSocketServer } from "./index.mjs";
5
+ export { webSocketServer };
@@ -32330,16 +32330,15 @@ const supabase = (options) => {
32330
32330
  const transformUrl = (url) => {
32331
32331
  if (url && typeof url === "string") {
32332
32332
  const getHost = () => {
32333
- if (typeof window !== "undefined") if (window.location.port === "5173") return `http://${window.location.hostname}:33753`;
32334
- else return `${window.location.protocol}//${window.location.host}`;
32333
+ if (typeof window !== "undefined") return `${window.location.protocol}//${window.location.host}`;
32335
32334
  return "http://localhost:33753";
32336
32335
  };
32337
32336
  if (url.startsWith("file://")) {
32338
- const filePath = url.substring(7);
32337
+ const filePath = decodeURIComponent(url.substring(7));
32339
32338
  return `${getHost()}/media-file/${encodeURIComponent(filePath)}`;
32340
32339
  }
32341
32340
  if (url.startsWith("media://")) {
32342
- const filePath = url.replace(/^media:\/\/+/, "/");
32341
+ const filePath = decodeURIComponent(url.replace(/^media:\/\/+/, "/"));
32343
32342
  return `${getHost()}/media-file/${encodeURIComponent(filePath)}`;
32344
32343
  }
32345
32344
  }
@@ -1,4 +0,0 @@
1
- import "./src-CoHipk5y.mjs";
2
- import "./dist-BC_B45iu.mjs";
3
- import { c as setupSettingsConfigFile } from "./config-C4SmHbuE.mjs";
4
- export { setupSettingsConfigFile };
package/src-5EzZR-UT.mjs DELETED
@@ -1,5 +0,0 @@
1
- import "./src-CoHipk5y.mjs";
2
- import "./dist-BC_B45iu.mjs";
3
- import "./config-C4SmHbuE.mjs";
4
- import { O as webSocketServer } from "./index.mjs";
5
- export { webSocketServer };
package/src-DU3j_v2A.mjs DELETED
@@ -1,3 +0,0 @@
1
- import { f as usePlugins } from "./src-CoHipk5y.mjs";
2
- import "./dist-BC_B45iu.mjs";
3
- export { usePlugins };