@pipelab/cli 2.0.0-beta.13 → 2.0.0-beta.15

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,10 +1,10 @@
1
1
  import { a as __require, s as __toESM, t as __commonJSMin } from "./chunk-M2dkpuaD.mjs";
2
- import { A as useLogger, i as normalizePipelineConfig, n as configRegistry } from "./src-CTcX3YjS.mjs";
2
+ import { C as useLogger, n as normalizePipelineConfig, t as configRegistry } from "./src-IhkP0N4B.mjs";
3
3
  import path, { dirname, join } from "node:path";
4
4
  import { fileURLToPath } from "node:url";
5
- import { constants, tmpdir } from "node:os";
5
+ import { constants } from "node:os";
6
6
  import { appendFileSync, createReadStream, createWriteStream, readFileSync, statSync, writeFileSync } from "node:fs";
7
- import fs$1, { mkdir, mkdtemp, readdir, realpath, stat, writeFile } from "node:fs/promises";
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";
@@ -40243,14 +40243,6 @@ const ensure = async (filesPath, defaultContent = "{}") => {
40243
40243
  }
40244
40244
  };
40245
40245
  /**
40246
- * Generates a unique temporary folder.
40247
- */
40248
- const generateTempFolder = async (base) => {
40249
- const targetBase = base || tmpdir();
40250
- await mkdir(targetBase, { recursive: true });
40251
- return await mkdtemp(join(await realpath(targetBase), "pipelab-"));
40252
- };
40253
- /**
40254
40246
  * Extracts a .tar.gz archive.
40255
40247
  */
40256
40248
  async function extractTarGz(archivePath, destinationDir) {
@@ -40336,8 +40328,7 @@ async function getFolderSize(dirPath) {
40336
40328
  //#endregion
40337
40329
  //#region ../../packages/core-node/src/config.ts
40338
40330
  const getMigrator = (name) => {
40339
- if (configRegistry[name]) return configRegistry[name];
40340
- if (name.startsWith("pipeline-") || path.isAbsolute(name) || name.endsWith(".json")) return configRegistry["pipeline"];
40331
+ return configRegistry[name] || configRegistry["pipeline"];
40341
40332
  };
40342
40333
  const setupConfigFile = async (name, options) => {
40343
40334
  const ctx = options.context;
@@ -40369,8 +40360,9 @@ const setupConfigFile = async (name, options) => {
40369
40360
  parseFailed = true;
40370
40361
  }
40371
40362
  let json = void 0;
40363
+ let migrationFailed = false;
40372
40364
  try {
40373
- json = await migrator.migrate(originalJson, {
40365
+ if (!parseFailed) json = await migrator.migrate(originalJson, {
40374
40366
  debug: false,
40375
40367
  onStep: async (state, version) => {
40376
40368
  const parsedPath = path.parse(filesPath);
@@ -40383,20 +40375,34 @@ const setupConfigFile = async (name, options) => {
40383
40375
  }
40384
40376
  }
40385
40377
  });
40378
+ else json = migrator.defaultValue;
40386
40379
  } catch (e) {
40387
40380
  logger().error(`Error migrating config ${name}:`, e);
40381
+ migrationFailed = true;
40388
40382
  json = migrator.defaultValue;
40389
40383
  }
40390
40384
  let normalized = false;
40391
40385
  if (name.startsWith("pipeline-") || path.isAbsolute(name) || name.endsWith(".json") || name === "pipeline") normalized = normalizePipelineConfig(json);
40392
- if (originalJson?.version !== json?.version || normalized || content === void 0 || parseFailed) try {
40393
- await fs$1.writeFile(filesPath, JSON.stringify(json));
40394
- } catch (e) {
40395
- logger().error(`Error saving migrated config ${name}:`, e);
40386
+ if (originalJson?.version !== json?.version || normalized || content === void 0 || parseFailed || migrationFailed) {
40387
+ if (parseFailed || migrationFailed) try {
40388
+ const parsedPath = path.parse(filesPath);
40389
+ const timestamp = (/* @__PURE__ */ new Date()).toISOString().replace(/[:.]/g, "-");
40390
+ const corruptedPath = path.join(parsedPath.dir, `${parsedPath.name}.corrupted.${timestamp}.json`);
40391
+ const backupContent = parseFailed ? content || "" : JSON.stringify(originalJson, null, 2);
40392
+ await fs$1.writeFile(corruptedPath, backupContent);
40393
+ logger().info(`Corrupted config file preserved at ${corruptedPath}`);
40394
+ } catch (e) {
40395
+ logger().error(`Failed to backup corrupted config ${name}:`, e);
40396
+ }
40397
+ try {
40398
+ await fs$1.writeFile(filesPath, JSON.stringify(json));
40399
+ } catch (e) {
40400
+ logger().error(`Error saving migrated config ${name}:`, e);
40401
+ }
40396
40402
  }
40397
40403
  return json;
40398
40404
  }
40399
40405
  };
40400
40406
  };
40401
40407
  //#endregion
40402
- export { extractTarGz as a, getFolderSize as c, execa as d, ensure as i, require_commonjs$2 as l, setupConfigFile as n, extractZip as o, downloadFile as r, generateTempFolder as s, getMigrator as t, require_balanced_match as u };
40408
+ export { extractTarGz as a, require_commonjs$2 as c, ensure as i, require_balanced_match as l, setupConfigFile as n, extractZip as o, downloadFile as r, getFolderSize as s, getMigrator as t, execa as u };
@@ -0,0 +1,4 @@
1
+ import "./src-IhkP0N4B.mjs";
2
+ import "./dist-BC_B45iu.mjs";
3
+ import { n as setupConfigFile } from "./config-C2_-dWDC.mjs";
4
+ export { setupConfigFile };
package/index.mjs CHANGED
@@ -1,22 +1,23 @@
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 useLogger, a as savedFileMigrator, c as isWebSocketRequestMessage, d as isSupabaseAvailable, f as supabase, l as isRequired, p as SubscriptionRequiredError, r as fileRepoMigrations, s as WebSocketError, t as appSettingsMigrator, u as transformUrl, v as usePlugins, w as processGraph } from "./src-CTcX3YjS.mjs";
3
+ import { C as useLogger, _ as processGraph, a as isWebSocketRequestMessage, c as isSupabaseAvailable, d as usePlugins, i as WebSocketError, l as supabase, o as isRequired, r as savedFileMigrator, s as transformUrl, u as SubscriptionRequiredError } from "./src-IhkP0N4B.mjs";
4
4
  import "./dist-BC_B45iu.mjs";
5
- import { a as extractTarGz, c as getFolderSize, d as execa, l as require_commonjs$8, n as setupConfigFile, o as extractZip, r as downloadFile, s as generateTempFolder, t as getMigrator, u as require_balanced_match } from "./config-BGFI4YTD.mjs";
5
+ import { a as extractTarGz, c as require_commonjs$8, l as require_balanced_match, n as setupConfigFile, o as extractZip, r as downloadFile, s as getFolderSize, t as getMigrator, u as execa } from "./config-C2_-dWDC.mjs";
6
6
  import path, { delimiter, dirname, isAbsolute, join, normalize, resolve, sep } from "node:path";
7
7
  import { fileURLToPath, pathToFileURL } from "node:url";
8
- import { homedir, platform, release, tmpdir } from "node:os";
8
+ import { homedir, platform, release } from "node:os";
9
9
  import fs, { createReadStream, existsSync, readFileSync, readdirSync, statSync } from "node:fs";
10
+ import fs$1, { access, chmod, cp, mkdir, mkdtemp, readFile, readdir, realpath, rename, rm, stat, unlink, writeFile } from "node:fs/promises";
10
11
  import http from "http";
11
12
  import http$1 from "node:http";
12
13
  import { webcrypto } from "node:crypto";
13
14
  import { dirname as dirname$1, isAbsolute as isAbsolute$1, posix, relative, sep as sep$1 } from "path";
14
- import fs$1, { access, chmod, cp, mkdir, readFile, readdir, rename, rm, stat, unlink, writeFile } from "node:fs/promises";
15
15
  import { execFile } from "node:child_process";
16
16
  import { promisify, stripVTControlCharacters, styleText } from "node:util";
17
17
  import P, { 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
+ import dns from "node:dns/promises";
20
21
  import * as _ from "node:readline";
21
22
  import P$1, { createInterface } from "node:readline";
22
23
  import { AsyncLocalStorage } from "node:async_hooks";
@@ -28,9 +29,23 @@ var init_esm_shims = __esmMin((() => {
28
29
  __dirname$1 = /* @__PURE__ */ getDirname();
29
30
  }));
30
31
  //#endregion
31
- //#region ../../packages/core-node/src/context.ts
32
+ //#region ../../packages/constants/src/index.ts
32
33
  init_esm_shims();
33
- const _dirname = typeof __dirname$1 !== "undefined" ? __dirname$1 : typeof import.meta !== "undefined" && import.meta.url ? dirname(fileURLToPath(import.meta.url)) : process.cwd();
34
+ const websocketPort = 33753;
35
+ const SandboxFolder = {
36
+ Packages: "packages",
37
+ ThirdParty: "thirdparty",
38
+ Config: "config",
39
+ Temp: "temp",
40
+ Cache: "cache",
41
+ Pnpm: "pnpm"
42
+ };
43
+ const DEFAULT_NODE_VERSION = "24.14.1";
44
+ const DEFAULT_PNPM_VERSION = "10.12.0";
45
+ //#endregion
46
+ //#region ../../packages/core-node/src/context.ts
47
+ const metaUrl = typeof import.meta !== "undefined" ? import.meta.url : void 0;
48
+ const _dirname = typeof __dirname$1 !== "undefined" ? __dirname$1 : metaUrl ? dirname(fileURLToPath(metaUrl)) : process.cwd();
34
49
  const getDefaultUserDataPath$1 = (env) => {
35
50
  const base = (() => {
36
51
  switch (platform()) {
@@ -70,6 +85,59 @@ var PipelabContext = class {
70
85
  getConfigPath(...subpaths) {
71
86
  return join(this.userDataPath, "config", ...subpaths);
72
87
  }
88
+ getTempPath(...subpaths) {
89
+ return join(this.userDataPath, "temp", ...subpaths);
90
+ }
91
+ async createTempFolder(prefix = "pipelab-") {
92
+ const baseDir = this.getTempPath();
93
+ await mkdir(baseDir, { recursive: true });
94
+ return await mkdtemp(join(await realpath(baseDir), prefix));
95
+ }
96
+ getCachePath(...subpaths) {
97
+ return join(this.userDataPath, "cache", ...subpaths);
98
+ }
99
+ getPnpmPath(...subpaths) {
100
+ return join(this.userDataPath, "pnpm", ...subpaths);
101
+ }
102
+ getNodePath(version = DEFAULT_NODE_VERSION) {
103
+ const isWindows = process.platform === "win32";
104
+ return this.getThirdPartyPath("node", version, isWindows ? "node.exe" : "bin/node");
105
+ }
106
+ getPnpmBinPath(version = DEFAULT_PNPM_VERSION) {
107
+ return this.getPackagesPath("pnpm", version, "bin", "pnpm.cjs");
108
+ }
109
+ getSandboxFolders() {
110
+ const foldersRecord = {
111
+ [SandboxFolder.Packages]: {
112
+ label: "Packages",
113
+ path: this.getPackagesPath()
114
+ },
115
+ [SandboxFolder.ThirdParty]: {
116
+ label: "Third-Party Tools",
117
+ path: this.getThirdPartyPath()
118
+ },
119
+ [SandboxFolder.Config]: {
120
+ label: "Configuration",
121
+ path: this.getConfigPath()
122
+ },
123
+ [SandboxFolder.Temp]: {
124
+ label: "Temporary Files",
125
+ path: this.getTempPath()
126
+ },
127
+ [SandboxFolder.Cache]: {
128
+ label: "Cache",
129
+ path: this.getCachePath()
130
+ },
131
+ [SandboxFolder.Pnpm]: {
132
+ label: "PNPM Home",
133
+ path: this.getPnpmPath()
134
+ }
135
+ };
136
+ return Object.keys(foldersRecord).map((key) => ({
137
+ name: key,
138
+ ...foldersRecord[key]
139
+ }));
140
+ }
73
141
  };
74
142
  //#endregion
75
143
  //#region ../../packages/core-node/node_modules/ws/lib/constants.js
@@ -3629,9 +3697,6 @@ const useAPI = () => {
3629
3697
  };
3630
3698
  };
3631
3699
  //#endregion
3632
- //#region ../../packages/constants/src/index.ts
3633
- const websocketPort = 33753;
3634
- //#endregion
3635
3700
  //#region ../../packages/core-node/src/websocket-server.ts
3636
3701
  var WebSocketServer = class {
3637
3702
  wss = null;
@@ -4431,6 +4496,15 @@ var BuildHistoryStorage = class {
4431
4496
  const files = await this.getAllPipelineFiles();
4432
4497
  const diskSpace = await checkDiskSpace(this.context.userDataPath);
4433
4498
  const pipelabSize = await getFolderSize(this.context.userDataPath);
4499
+ const folders = [];
4500
+ for (const folder of this.context.getSandboxFolders()) {
4501
+ const size = await getFolderSize(folder.path);
4502
+ folders.push({
4503
+ name: folder.name,
4504
+ label: folder.label,
4505
+ size
4506
+ });
4507
+ }
4434
4508
  const policy = (await (await setupConfigFile("settings", { context: this.context })).getConfig())?.buildHistory?.retentionPolicy || {
4435
4509
  enabled: false,
4436
4510
  maxEntries: 50,
@@ -4449,7 +4523,8 @@ var BuildHistoryStorage = class {
4449
4523
  disk: {
4450
4524
  total: diskSpace.size,
4451
4525
  free: diskSpace.free,
4452
- pipelab: pipelabSize
4526
+ pipelab: pipelabSize,
4527
+ folders
4453
4528
  }
4454
4529
  };
4455
4530
  let totalSize = 0;
@@ -4477,7 +4552,8 @@ var BuildHistoryStorage = class {
4477
4552
  disk: {
4478
4553
  total: diskSpace.size,
4479
4554
  free: diskSpace.free,
4480
- pipelab: pipelabSize
4555
+ pipelab: pipelabSize,
4556
+ folders
4481
4557
  }
4482
4558
  };
4483
4559
  } catch (error) {
@@ -4789,7 +4865,7 @@ const registerHistoryHandlers = (context) => {
4789
4865
  }
4790
4866
  }
4791
4867
  };
4792
- await settings.saveConfig(newConfig);
4868
+ await settings.setConfig(newConfig);
4793
4869
  send({
4794
4870
  type: "end",
4795
4871
  data: {
@@ -25904,9 +25980,9 @@ var require_protected = /* @__PURE__ */ __commonJSMin(((exports, module) => {
25904
25980
  //#region ../../node_modules/pacote/lib/util/cache-dir.js
25905
25981
  var require_cache_dir = /* @__PURE__ */ __commonJSMin(((exports, module) => {
25906
25982
  const { resolve: resolve$7 } = __require("node:path");
25907
- const { tmpdir: tmpdir$1, homedir: homedir$1 } = __require("node:os");
25983
+ const { tmpdir, homedir: homedir$1 } = __require("node:os");
25908
25984
  module.exports = (fakePlatform = false) => {
25909
- const temp = tmpdir$1();
25985
+ const temp = tmpdir();
25910
25986
  const uidOrPid = process.getuid ? process.getuid() : process.pid;
25911
25987
  const home = homedir$1() || resolve$7(temp, "npm-" + uidOrPid);
25912
25988
  const platform = fakePlatform || process.platform;
@@ -39157,7 +39233,7 @@ var require_auth = /* @__PURE__ */ __commonJSMin(((exports, module) => {
39157
39233
  //#endregion
39158
39234
  //#region ../../node_modules/make-fetch-happen/lib/options.js
39159
39235
  var require_options$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
39160
- const dns$2 = __require("dns");
39236
+ const dns$3 = __require("dns");
39161
39237
  const conditionalHeaders = [
39162
39238
  "if-modified-since",
39163
39239
  "if-none-match",
@@ -39182,7 +39258,7 @@ var require_options$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
39182
39258
  };
39183
39259
  options.dns = {
39184
39260
  ttl: 300 * 1e3,
39185
- lookup: dns$2.lookup,
39261
+ lookup: dns$3.lookup,
39186
39262
  ...options.dns
39187
39263
  };
39188
39264
  options.cache = options.cache || "default";
@@ -40599,9 +40675,9 @@ var require_key$3 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
40599
40675
  //#region ../../node_modules/@npmcli/agent/lib/dns.js
40600
40676
  var require_dns = /* @__PURE__ */ __commonJSMin(((exports, module) => {
40601
40677
  const { LRUCache } = require_index_min$5();
40602
- const dns$1 = __require("dns");
40678
+ const dns$2 = __require("dns");
40603
40679
  const cache = new LRUCache({ max: 50 });
40604
- const getOptions = ({ family = 0, hints = dns$1.ADDRCONFIG, all = false, verbatim = void 0, ttl = 300 * 1e3, lookup = dns$1.lookup }) => ({
40680
+ const getOptions = ({ family = 0, hints = dns$2.ADDRCONFIG, all = false, verbatim = void 0, ttl = 300 * 1e3, lookup = dns$2.lookup }) => ({
40605
40681
  hints,
40606
40682
  lookup: (hostname, ...args) => {
40607
40683
  const callback = args.pop();
@@ -45640,7 +45716,7 @@ var require_dist$9 = /* @__PURE__ */ __commonJSMin(((exports) => {
45640
45716
  const socks_1 = require_build$1();
45641
45717
  const agent_base_1 = require_dist$12();
45642
45718
  const debug_1 = __importDefault(require_src$2());
45643
- const dns = __importStar(__require("dns"));
45719
+ const dns$1 = __importStar(__require("dns"));
45644
45720
  const net$1 = __importStar(__require("net"));
45645
45721
  const tls$1 = __importStar(__require("tls"));
45646
45722
  const url_1$1 = __require("url");
@@ -45712,7 +45788,7 @@ var require_dist$9 = /* @__PURE__ */ __commonJSMin(((exports) => {
45712
45788
  const { shouldLookup, proxy, timeout } = this;
45713
45789
  if (!opts.host) throw new Error("No `host` defined!");
45714
45790
  let { host } = opts;
45715
- const { port, lookup: lookupFn = dns.lookup } = opts;
45791
+ const { port, lookup: lookupFn = dns$1.lookup } = opts;
45716
45792
  if (shouldLookup) host = await new Promise((resolve, reject) => {
45717
45793
  lookupFn(host, {}, (err, res) => {
45718
45794
  if (err) reject(err);
@@ -66444,10 +66520,7 @@ function registerMigrationHandlers(context) {
66444
66520
  const { config: name } = value;
66445
66521
  logger().info("[CLI Migration] config:load", name);
66446
66522
  try {
66447
- let migrator = null;
66448
- if (name === "projects") migrator = fileRepoMigrations;
66449
- else if (name === "settings") migrator = appSettingsMigrator;
66450
- else if (name.startsWith("pipeline-") || name.endsWith(".plb")) migrator = savedFileMigrator;
66523
+ const migrator = getMigrator(name);
66451
66524
  if (!migrator) throw new Error(`No migrator found for configuration: ${name}. All files loaded via config:load MUST have a migration schema.`);
66452
66525
  send({
66453
66526
  type: "end",
@@ -66543,8 +66616,6 @@ async function serveCommand(options, version, _dirname) {
66543
66616
  }
66544
66617
  //#endregion
66545
66618
  //#region ../../packages/core-node/src/utils/remote.ts
66546
- const DEFAULT_NODE_VERSION = "24.14.1";
66547
- const DEFAULT_PNPM_VERSION = "10.12.0";
66548
66619
  function isPackageComplete(packageDir) {
66549
66620
  return existsSync(join(packageDir, "package.json"));
66550
66621
  }
@@ -66585,6 +66656,20 @@ async function withLock(key, fn) {
66585
66656
  activeOperations.set(key, promise);
66586
66657
  return promise;
66587
66658
  }
66659
+ let isOnlineCached = null;
66660
+ let lastCheckTime = 0;
66661
+ async function isOnline() {
66662
+ const now = Date.now();
66663
+ if (isOnlineCached !== null && now - lastCheckTime < 1e4) return isOnlineCached;
66664
+ try {
66665
+ await Promise.race([dns.lookup("registry.npmjs.org"), new Promise((_, reject) => setTimeout(() => reject(/* @__PURE__ */ new Error("timeout")), 1500))]);
66666
+ isOnlineCached = true;
66667
+ } catch {
66668
+ isOnlineCached = false;
66669
+ }
66670
+ lastCheckTime = now;
66671
+ return isOnlineCached;
66672
+ }
66588
66673
  /**
66589
66674
  * Robust utility to fetch, cache, and resolve an NPM package.
66590
66675
  * Centralized in core-node to avoid circular dependencies.
@@ -66598,7 +66683,15 @@ async function fetchPackage(packageName, versionOrRange, options) {
66598
66683
  if (resolvedVersionOrRange === "local") resolvedVersionOrRange = "latest";
66599
66684
  console.log(`[Fetcher] Resolving ${packageName}@${resolvedVersionOrRange || "latest"}...`);
66600
66685
  const resolveStart = Date.now();
66601
- try {
66686
+ if (!await isOnline()) {
66687
+ console.warn(`[Fetcher] ${packageName}: offline mode detected (${Date.now() - resolveStart}ms), trying local fallback...`);
66688
+ const fallbackStart = Date.now();
66689
+ const fallbackVersion = await tryLocalFallback(resolvedVersionOrRange, /* @__PURE__ */ new Error("Offline"), baseDir, packageName);
66690
+ if (fallbackVersion) {
66691
+ resolvedVersion = fallbackVersion;
66692
+ console.log(`[Fetcher] ${packageName}: Resolved to local fallback ${resolvedVersion} (${Date.now() - fallbackStart}ms)`);
66693
+ } else throw new Error(`Offline and no local fallback version available for ${packageName}`);
66694
+ } else try {
66602
66695
  const cachePath = join(ctx.userDataPath, "cache", "pacote");
66603
66696
  let packumentPromise = packumentRequests.get(packageName);
66604
66697
  if (!packumentPromise) {
@@ -66608,7 +66701,16 @@ async function fetchPackage(packageName, versionOrRange, options) {
66608
66701
  const packument = await packumentPromise;
66609
66702
  const versions = Object.keys(packument.versions);
66610
66703
  const range = resolvedVersionOrRange || "latest";
66611
- const foundVersion = packument["dist-tags"]?.[range] || import_semver.default.maxSatisfying(versions, range);
66704
+ let foundVersion = packument["dist-tags"]?.[range] || import_semver.default.maxSatisfying(versions, range);
66705
+ if (range === "latest" && ctx.releaseTag && ctx.releaseTag !== "latest") {
66706
+ const releaseTagVersion = packument["dist-tags"]?.[ctx.releaseTag];
66707
+ if (releaseTagVersion && import_semver.default.valid(releaseTagVersion)) {
66708
+ if (!foundVersion || import_semver.default.valid(foundVersion) && import_semver.default.gte(releaseTagVersion, foundVersion)) {
66709
+ console.log(`[Fetcher] Using release tag "${ctx.releaseTag}" (${releaseTagVersion}) instead of "latest" (${foundVersion || "none"}) for ${packageName}`);
66710
+ foundVersion = releaseTagVersion;
66711
+ } else if (foundVersion) console.warn(`[Fetcher] Tag "${ctx.releaseTag}" (${releaseTagVersion}) is older than "latest" (${foundVersion}) for ${packageName}, keeping "latest"`);
66712
+ }
66713
+ }
66612
66714
  if (!foundVersion) throw new Error(`Package ${packageName}@${range} not found on npm (available tags: ${Object.keys(packument["dist-tags"] || {}).join(", ")})`);
66613
66715
  resolvedVersion = foundVersion;
66614
66716
  console.log(`[Fetcher] ${packageName}: Resolved to v${resolvedVersion} via npm (${Date.now() - resolveStart}ms)`);
@@ -66723,7 +66825,7 @@ async function ensureNodeJS(context, version = DEFAULT_NODE_VERSION) {
66723
66825
  const extension = isWindows ? "zip" : "tar.gz";
66724
66826
  const fileName = `node-v${version}-${platform === "osx" ? "darwin" : platform}-${arch}.${extension}`;
66725
66827
  const downloadUrl = `https://nodejs.org/dist/v${version}/${fileName}`;
66726
- const tempDir = await generateTempFolder(tmpdir());
66828
+ const tempDir = await context.createTempFolder("node-download-");
66727
66829
  const archivePath = join(tempDir, fileName);
66728
66830
  sendStartupProgress(`Downloading Node.js v${version}...`);
66729
66831
  console.log(`Downloading Node.js from ${downloadUrl}...`);
@@ -67117,9 +67219,9 @@ const builtInPlugins = async (options) => {
67117
67219
  const envStart = Date.now();
67118
67220
  await Promise.all([ensureNodeJS(options.context), ensurePNPM(options.context)]);
67119
67221
  console.log(`[Plugins] Environment preparation took ${Date.now() - envStart}ms`);
67120
- const { usePlugins } = await import("./src-DZNeIUut.mjs");
67222
+ const { usePlugins } = await import("./src-XVe3IQMi.mjs");
67121
67223
  const { registerPlugins } = usePlugins();
67122
- const { webSocketServer } = await import("./src-DfyJc3PL.mjs");
67224
+ const { webSocketServer } = await import("./src-CHr-wGNr.mjs");
67123
67225
  (async () => {
67124
67226
  const totalStart = Date.now();
67125
67227
  const pluginsToLoad = /* @__PURE__ */ new Map();
@@ -67138,7 +67240,7 @@ const builtInPlugins = async (options) => {
67138
67240
  "@pipelab/plugin-netlify"
67139
67241
  ]) pluginsToLoad.set(name, "latest");
67140
67242
  try {
67141
- const { setupConfigFile } = await import("./config-B6BzqMsi.mjs");
67243
+ const { setupConfigFile } = await import("./config-kWOWhsn6.mjs");
67142
67244
  const settingsPlugins = (await (await setupConfigFile("settings", { context: options.context })).getConfig())?.plugins || [];
67143
67245
  for (const plugin of settingsPlugins) if (plugin.name) if (plugin.enabled) {
67144
67246
  if (!pluginsToLoad.has(plugin.name)) pluginsToLoad.set(plugin.name, "latest");
@@ -67167,7 +67269,6 @@ const builtInPlugins = async (options) => {
67167
67269
  webSocketServer.broadcast("startup:progress", { type: "ready" });
67168
67270
  }, 2e3);
67169
67271
  })();
67170
- return [];
67171
67272
  };
67172
67273
  //#endregion
67173
67274
  //#region ../../packages/core-node/src/utils.ts
@@ -67223,7 +67324,7 @@ const executeGraphWithHistory = async ({ graph, variables, projectName, projectP
67223
67324
  const shouldDisableHistory = process.env.PIPELAB_DISABLE_HISTORY === "true";
67224
67325
  if (!shouldDisableHistory) await buildHistoryStorage.save(initialEntry);
67225
67326
  const logs = [];
67226
- const sandboxPath = await generateTempFolder(cachePath);
67327
+ const sandboxPath = await ctx.createTempFolder("pipeline-sandbox-");
67227
67328
  const { logger } = useLogger();
67228
67329
  let completedSteps = 0;
67229
67330
  const { registerPlugins, plugins: registeredPlugins } = usePlugins();
@@ -67689,8 +67790,9 @@ const registerEngineHandlers = (context) => {
67689
67790
  };
67690
67791
  handle("action:execute", async (event, { send, value }) => {
67691
67792
  const { nodeId, params, pluginId } = value;
67692
- const cachePath = (await (await setupConfigFile("settings", { context })).getConfig())?.cacheFolder || tmpdir();
67693
- const cwd = await generateTempFolder(cachePath);
67793
+ await (await setupConfigFile("settings", { context })).getConfig();
67794
+ const cachePath = join(context.userDataPath, "cache", "actions", pluginId, nodeId);
67795
+ const cwd = await context.createTempFolder("action-execute-");
67694
67796
  const mainWindow = void 0;
67695
67797
  abortControllerGraph = new AbortController();
67696
67798
  const signalPromise = new Promise((resolve, reject) => {
@@ -67729,11 +67831,11 @@ const registerEngineHandlers = (context) => {
67729
67831
  });
67730
67832
  handle("graph:execute", async (event, { send, value }) => {
67731
67833
  const { graph, variables, projectName, projectPath, pipelineId } = value;
67732
- const config = await (await setupConfigFile("settings", { context })).getConfig();
67834
+ await (await setupConfigFile("settings", { context })).getConfig();
67733
67835
  const effectiveProjectName = projectName || "Unnamed Project";
67734
67836
  const effectiveProjectPath = projectPath || "";
67735
67837
  const effectivePipelineId = pipelineId || "unknown";
67736
- const effectiveCachePath = config?.cacheFolder || tmpdir();
67838
+ const effectiveCachePath = join(context.userDataPath, "cache", effectivePipelineId);
67737
67839
  const mainWindow = void 0;
67738
67840
  abortControllerGraph = new AbortController();
67739
67841
  try {
@@ -68216,14 +68318,11 @@ const registerPluginsHandlers = (context) => {
68216
68318
  }
68217
68319
  });
68218
68320
  handle("plugin:ensure-loaded", async (_, { send, value }) => {
68219
- const { pluginIds, plugins } = value;
68321
+ const { plugins } = value;
68220
68322
  const { plugins: registeredPlugins, registerPlugins } = usePlugins();
68221
68323
  const loaded = [];
68222
68324
  const failed = [];
68223
68325
  const pluginsToEnsure = /* @__PURE__ */ new Set();
68224
- if (Array.isArray(pluginIds)) {
68225
- for (const id of pluginIds) if (id) pluginsToEnsure.add(id);
68226
- }
68227
68326
  if (plugins && typeof plugins === "object") {
68228
68327
  for (const id of Object.keys(plugins)) if (id) pluginsToEnsure.add(id);
68229
68328
  }
@@ -68376,7 +68475,7 @@ async function runPipelineCommand(file, options, version) {
68376
68475
  }
68377
68476
  //#endregion
68378
68477
  //#region package.json
68379
- var version$2 = "2.0.0-beta.13";
68478
+ var version$2 = "2.0.0-beta.15";
68380
68479
  //#endregion
68381
68480
  //#region src/paths.ts
68382
68481
  const getDefaultUserDataPath = () => {
@@ -68436,7 +68535,7 @@ async function usageCommand(options) {
68436
68535
  "Oldest Entry": info.oldestEntry ? new Date(info.oldestEntry).toLocaleString() : "N/A",
68437
68536
  "Newest Entry": info.newestEntry ? new Date(info.newestEntry).toLocaleString() : "N/A",
68438
68537
  "User Data Path": info.userDataPath,
68439
- "Cache Path": info.cachePath
68538
+ "Cache Path": join(info.userDataPath, "build-history")
68440
68539
  });
68441
68540
  console.log("\nRetention Policy:");
68442
68541
  console.table({
@@ -69845,10 +69944,13 @@ async function setupCommand(options) {
69845
69944
  pt("Setup aborted.");
69846
69945
  process.exit(0);
69847
69946
  }
69947
+ const theme = configChanges.theme === "light" ? "light" : "dark";
69948
+ const localeValue = configChanges.locale;
69949
+ const locale = isLocale(localeValue) ? localeValue : "en-US";
69848
69950
  await settings.setConfig({
69849
69951
  ...config,
69850
- theme: configChanges.theme,
69851
- locale: configChanges.locale
69952
+ theme,
69953
+ locale
69852
69954
  });
69853
69955
  const integrations = await yt({
69854
69956
  message: "Which integrations would you like to enable?",
@@ -69879,6 +69981,16 @@ async function setupCommand(options) {
69879
69981
  wt(`You're all set! You can now use Pipelab CLI to manage your automation.\n\nType 'pipelab --help' to get started.`, "Setup Complete");
69880
69982
  gt("Happy automating! 🚀");
69881
69983
  }
69984
+ function isLocale(value) {
69985
+ return typeof value === "string" && [
69986
+ "en-US",
69987
+ "fr-FR",
69988
+ "pt-BR",
69989
+ "zh-CN",
69990
+ "es-ES",
69991
+ "de-DE"
69992
+ ].includes(value);
69993
+ }
69882
69994
  (/* @__PURE__ */ __commonJSMin(((exports, module) => {
69883
69995
  const fs$3 = __require("fs");
69884
69996
  const path$2 = __require("path");
@@ -76439,4 +76551,4 @@ program.hook("postAction", (thisCommand) => {
76439
76551
  program.parse(process.argv);
76440
76552
  if (!process.argv.slice(2).length) program.outputHelp();
76441
76553
  //#endregion
76442
- export { webSocketServer as A, registerMigrationHandlers as C, registerFsHandlers as D, registerConfigHandlers as E, PipelabContext as M, getDefaultUserDataPath$1 as N, registerShellHandlers as O, projectRoot as P, serveCommand as S, BuildHistoryStorage as T, fetchPipelabAsset as _, executeGraphWithHistory as a, sendStartupProgress as b, findInstalledPlugins as c, handleActionExecute as d, DEFAULT_NODE_VERSION as f, fetchPackage as g, ensurePNPM as h, registerEngineHandlers as i, useAPI as j, WebSocketServer as k, loadCustomPlugin as l, ensureNodeJS as m, registerAllHandlers as n, getFinalPlugins as o, DEFAULT_PNPM_VERSION as p, registerAgentsHandlers as r, builtInPlugins as s, runPipelineCommand as t, loadPipelabPlugin as u, fetchPipelabPlugin as v, registerHistoryHandlers as w, sendStartupReady as x, runPnpm as y };
76554
+ export { useAPI as A, registerHistoryHandlers as C, registerShellHandlers as D, registerFsHandlers as E, getDefaultUserDataPath$1 as M, projectRoot as N, WebSocketServer as O, registerMigrationHandlers as S, registerConfigHandlers 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, 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, BuildHistoryStorage 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.13",
3
+ "version": "2.0.0-beta.15",
4
4
  "description": "The command line interface for Pipelab",
5
5
  "license": "FSL-1.1-MIT",
6
6
  "author": "CynToolkit",
@@ -0,0 +1,5 @@
1
+ import "./src-IhkP0N4B.mjs";
2
+ import "./dist-BC_B45iu.mjs";
3
+ import "./config-C2_-dWDC.mjs";
4
+ import { k as webSocketServer } from "./index.mjs";
5
+ export { webSocketServer };
@@ -1580,6 +1580,56 @@ function literal(literal_, message) {
1580
1580
  }
1581
1581
  };
1582
1582
  }
1583
+ function looseObject(entries, message) {
1584
+ return {
1585
+ kind: "schema",
1586
+ type: "loose_object",
1587
+ reference: looseObject,
1588
+ expects: "Object",
1589
+ async: false,
1590
+ entries,
1591
+ message,
1592
+ _run(dataset, config2) {
1593
+ const input = dataset.value;
1594
+ if (input && typeof input === "object") {
1595
+ dataset.typed = true;
1596
+ dataset.value = {};
1597
+ for (const key in this.entries) {
1598
+ const value2 = input[key];
1599
+ const valueDataset = this.entries[key]._run({
1600
+ typed: false,
1601
+ value: value2
1602
+ }, config2);
1603
+ if (valueDataset.issues) {
1604
+ const pathItem = {
1605
+ type: "object",
1606
+ origin: "value",
1607
+ input,
1608
+ key,
1609
+ value: value2
1610
+ };
1611
+ for (const issue of valueDataset.issues) {
1612
+ if (issue.path) issue.path.unshift(pathItem);
1613
+ else issue.path = [pathItem];
1614
+ dataset.issues?.push(issue);
1615
+ }
1616
+ if (!dataset.issues) dataset.issues = valueDataset.issues;
1617
+ if (config2.abortEarly) {
1618
+ dataset.typed = false;
1619
+ break;
1620
+ }
1621
+ }
1622
+ if (!valueDataset.typed) dataset.typed = false;
1623
+ if (valueDataset.value !== void 0 || key in input) dataset.value[key] = valueDataset.value;
1624
+ }
1625
+ if (!dataset.issues || !config2.abortEarly) {
1626
+ for (const key in input) if (_isValidObjectKey(input, key) && !(key in this.entries)) dataset.value[key] = input[key];
1627
+ }
1628
+ } else _addIssue(this, "type", dataset, config2);
1629
+ return dataset;
1630
+ }
1631
+ };
1632
+ }
1583
1633
  function number(message) {
1584
1634
  return {
1585
1635
  kind: "schema",
@@ -2051,7 +2101,7 @@ const defaultAppSettings = settingsMigratorInternal.createDefault({
2051
2101
  plugins: DEFAULT_PLUGINS,
2052
2102
  isInternalMigrationBannerClosed: false
2053
2103
  });
2054
- const appSettingsMigrator$1 = settingsMigratorInternal.createMigrations({
2104
+ const appSettingsMigrator = settingsMigratorInternal.createMigrations({
2055
2105
  defaultValue: defaultAppSettings,
2056
2106
  migrations: [
2057
2107
  createMigration({
@@ -2120,6 +2170,18 @@ const appSettingsMigrator$1 = settingsMigratorInternal.createMigrations({
2120
2170
  })
2121
2171
  ]
2122
2172
  });
2173
+ const connectionsMigratorInternal = createMigrator();
2174
+ const defaultConnections = connectionsMigratorInternal.createDefault({
2175
+ version: "1.0.0",
2176
+ connections: []
2177
+ });
2178
+ const connectionsMigrator = connectionsMigratorInternal.createMigrations({
2179
+ defaultValue: defaultConnections,
2180
+ migrations: [createMigration({
2181
+ version: "1.0.0",
2182
+ up: finalVersion
2183
+ })]
2184
+ });
2123
2185
  const fileRepoMigratorInternal = createMigrator();
2124
2186
  const defaultFileRepo = fileRepoMigratorInternal.createDefault({
2125
2187
  version: "2.0.0",
@@ -2130,7 +2192,7 @@ const defaultFileRepo = fileRepoMigratorInternal.createDefault({
2130
2192
  }],
2131
2193
  pipelines: []
2132
2194
  });
2133
- const fileRepoMigrations$1 = fileRepoMigratorInternal.createMigrations({
2195
+ const fileRepoMigrations = fileRepoMigratorInternal.createMigrations({
2134
2196
  defaultValue: defaultFileRepo,
2135
2197
  migrations: [createMigration({
2136
2198
  version: "1.0.0",
@@ -2281,10 +2343,7 @@ const LEGACY_ID_MAP = {
2281
2343
  };
2282
2344
  const getStrictPluginId = (pluginId) => {
2283
2345
  if (!pluginId) return pluginId;
2284
- if (LEGACY_ID_MAP[pluginId]) return LEGACY_ID_MAP[pluginId];
2285
- if (pluginId.startsWith("@") || pluginId.includes("/") || pluginId.startsWith("pipelab-plugin-")) return pluginId;
2286
- const prefixed = `@pipelab/plugin-${pluginId}`;
2287
- return LEGACY_ID_MAP[prefixed] || prefixed;
2346
+ return LEGACY_ID_MAP[pluginId] || pluginId;
2288
2347
  };
2289
2348
  const normalizeBlockPluginId = (block) => {
2290
2349
  if (!block) return false;
@@ -2312,10 +2371,57 @@ const normalizePipelineConfig$1 = (state) => {
2312
2371
  return changed;
2313
2372
  };
2314
2373
  const configRegistry$1 = {
2315
- settings: appSettingsMigrator$1,
2316
- projects: fileRepoMigrations$1,
2317
- pipeline: savedFileMigrator$1
2374
+ settings: appSettingsMigrator,
2375
+ projects: fileRepoMigrations,
2376
+ pipeline: savedFileMigrator$1,
2377
+ connections: connectionsMigrator
2318
2378
  };
2379
+ //#endregion
2380
+ //#region ../../packages/shared/src/save-location.ts
2381
+ const SaveLocationInternalValidator = object({
2382
+ id: string(),
2383
+ project: string(),
2384
+ lastModified: string(),
2385
+ type: literal("internal"),
2386
+ configName: string()
2387
+ });
2388
+ /** @deprecated External pipeline files are deprecated and will be removed in future versions. */
2389
+ const SaveLocationExternalValidator = object({
2390
+ id: string(),
2391
+ project: string(),
2392
+ path: string(),
2393
+ lastModified: string(),
2394
+ type: literal("external"),
2395
+ summary: object({
2396
+ plugins: array(string()),
2397
+ name: string(),
2398
+ description: string()
2399
+ })
2400
+ });
2401
+ const SaveLocationPipelabCloudValidator = object({
2402
+ id: string(),
2403
+ project: string(),
2404
+ type: literal("pipelab-cloud")
2405
+ });
2406
+ const SaveLocationValidator = union([
2407
+ SaveLocationExternalValidator,
2408
+ SaveLocationInternalValidator,
2409
+ SaveLocationPipelabCloudValidator
2410
+ ]);
2411
+ object({
2412
+ version: literal("1.0.0"),
2413
+ data: optional(record(string(), SaveLocationValidator), {})
2414
+ });
2415
+ const FileRepoProjectValidatorV2$1 = object({
2416
+ id: string(),
2417
+ name: string(),
2418
+ description: string()
2419
+ });
2420
+ object({
2421
+ version: literal("2.0.0"),
2422
+ projects: array(FileRepoProjectValidatorV2$1),
2423
+ pipelines: optional(array(SaveLocationValidator), [])
2424
+ });
2319
2425
  object({
2320
2426
  cacheFolder: string(),
2321
2427
  theme: union([literal("light"), literal("dark")]),
@@ -2467,6 +2573,17 @@ object({
2467
2573
  })),
2468
2574
  isInternalMigrationBannerClosed: optional(boolean(), false)
2469
2575
  });
2576
+ const ConnectionValidator = looseObject({
2577
+ id: string(),
2578
+ pluginName: string(),
2579
+ name: string(),
2580
+ createdAt: string(),
2581
+ isDefault: boolean()
2582
+ });
2583
+ object({
2584
+ version: literal("1.0.0"),
2585
+ connections: array(ConnectionValidator)
2586
+ });
2470
2587
  //#endregion
2471
2588
  //#region ../../node_modules/tslog/dist/esm/prettyLogStyles.js
2472
2589
  const prettyLogStyles = {
@@ -4077,7 +4194,7 @@ const processGraph = async (options) => {
4077
4194
  const OriginValidator = object({
4078
4195
  pluginId: string(),
4079
4196
  nodeId: string(),
4080
- version: pipe(optional(string()), description("Pinned version of the plugin for this block. Falls back to \"latest\" when absent."))
4197
+ version: optional(pipe(string(), description("Pinned version of the plugin for this block. Falls back to \"latest\" when absent.")))
4081
4198
  });
4082
4199
  const BlockActionValidatorV1 = object({
4083
4200
  type: literal("action"),
@@ -4090,7 +4207,7 @@ const EditorParamValidatorV3 = union([literal("simple"), literal("editor")]);
4090
4207
  const BlockActionValidatorV3 = object({
4091
4208
  type: literal("action"),
4092
4209
  uid: string(),
4093
- name: pipe(optional(string()), description("A custom name provided by the user")),
4210
+ name: optional(pipe(string(), description("A custom name provided by the user"))),
4094
4211
  disabled: optional(boolean()),
4095
4212
  params: record(string(), object({
4096
4213
  editor: EditorParamValidatorV3,
@@ -32241,38 +32358,6 @@ const usePlugins = () => {
32241
32358
  };
32242
32359
  };
32243
32360
  //#endregion
32244
- //#region ../../packages/shared/src/save-location.ts
32245
- const SaveLocationInternalValidator = object({
32246
- id: string(),
32247
- project: string(),
32248
- lastModified: string(),
32249
- type: literal("internal"),
32250
- configName: string()
32251
- });
32252
- /** @deprecated External pipeline files are deprecated and will be removed in future versions. */
32253
- const SaveLocationExternalValidator = object({
32254
- id: string(),
32255
- project: string(),
32256
- path: string(),
32257
- lastModified: string(),
32258
- type: literal("external"),
32259
- summary: object({
32260
- plugins: array(string()),
32261
- name: string(),
32262
- description: string()
32263
- })
32264
- });
32265
- const SaveLocationPipelabCloudValidator = object({
32266
- id: string(),
32267
- project: string(),
32268
- type: literal("pipelab-cloud")
32269
- });
32270
- const SaveLocationValidator = union([
32271
- SaveLocationExternalValidator,
32272
- SaveLocationInternalValidator,
32273
- SaveLocationPipelabCloudValidator
32274
- ]);
32275
- //#endregion
32276
32361
  //#region ../../packages/shared/src/subscription-errors.ts
32277
32362
  var SubscriptionRequiredError = class extends Error {
32278
32363
  code = "SUBSCRIPTION_REQUIRED";
@@ -32347,20 +32432,6 @@ object({
32347
32432
  version: literal("1.0.0"),
32348
32433
  data: optional(record(string(), SaveLocationValidator), {})
32349
32434
  });
32350
- const FileRepoProjectValidatorV2$1 = object({
32351
- id: string(),
32352
- name: string(),
32353
- description: string()
32354
- });
32355
- object({
32356
- version: literal("2.0.0"),
32357
- projects: array(FileRepoProjectValidatorV2$1),
32358
- pipelines: optional(array(SaveLocationValidator), [])
32359
- });
32360
- object({
32361
- version: literal("1.0.0"),
32362
- data: optional(record(string(), SaveLocationValidator), {})
32363
- });
32364
32435
  const FileRepoProjectValidatorV2 = object({
32365
32436
  id: string(),
32366
32437
  name: string(),
@@ -32373,10 +32444,8 @@ object({
32373
32444
  });
32374
32445
  //#endregion
32375
32446
  //#region ../../packages/shared/src/index.ts
32376
- const appSettingsMigrator = appSettingsMigrator$1;
32377
- const fileRepoMigrations = fileRepoMigrations$1;
32378
32447
  const savedFileMigrator = savedFileMigrator$1;
32379
32448
  const configRegistry = configRegistry$1;
32380
32449
  const normalizePipelineConfig = normalizePipelineConfig$1;
32381
32450
  //#endregion
32382
- export { useLogger as A, VariableValidatorV1 as C, createQuickJs as D, makeResolvedParams as E, createQuickJsFromVariant as O, SavedFileSimpleValidatorV4 as S, variableToFormattedVariable as T, SaveLocationValidator as _, savedFileMigrator as a, OriginValidator as b, isWebSocketRequestMessage as c, isSupabaseAvailable as d, supabase as f, SaveLocationPipelabCloudValidator as g, SaveLocationInternalValidator as h, normalizePipelineConfig as i, fmt as k, isRequired as l, SaveLocationExternalValidator as m, configRegistry as n, FileRepoProjectValidatorV2$1 as o, SubscriptionRequiredError as p, fileRepoMigrations as r, WebSocketError as s, appSettingsMigrator as t, transformUrl as u, usePlugins as v, processGraph as w, SavedFileDefaultValidatorV4 as x, EditorParamValidatorV3 as y };
32451
+ export { useLogger as C, SaveLocationInternalValidator as D, SaveLocationExternalValidator as E, SaveLocationPipelabCloudValidator as O, fmt as S, FileRepoProjectValidatorV2$1 as T, processGraph as _, isWebSocketRequestMessage as a, createQuickJs as b, isSupabaseAvailable as c, usePlugins as d, EditorParamValidatorV3 as f, VariableValidatorV1 as g, SavedFileSimpleValidatorV4 as h, WebSocketError as i, SaveLocationValidator as k, supabase as l, SavedFileDefaultValidatorV4 as m, normalizePipelineConfig as n, isRequired as o, OriginValidator as p, savedFileMigrator as r, transformUrl as s, configRegistry as t, SubscriptionRequiredError as u, variableToFormattedVariable as v, ConnectionValidator as w, createQuickJsFromVariant as x, makeResolvedParams as y };
@@ -0,0 +1,3 @@
1
+ import { d as usePlugins } from "./src-IhkP0N4B.mjs";
2
+ import "./dist-BC_B45iu.mjs";
3
+ export { usePlugins };
@@ -1,4 +0,0 @@
1
- import "./src-CTcX3YjS.mjs";
2
- import "./dist-BC_B45iu.mjs";
3
- import { n as setupConfigFile } from "./config-BGFI4YTD.mjs";
4
- export { setupConfigFile };
package/src-DZNeIUut.mjs DELETED
@@ -1,3 +0,0 @@
1
- import { v as usePlugins } from "./src-CTcX3YjS.mjs";
2
- import "./dist-BC_B45iu.mjs";
3
- export { usePlugins };
package/src-DfyJc3PL.mjs DELETED
@@ -1,5 +0,0 @@
1
- import "./src-CTcX3YjS.mjs";
2
- import "./dist-BC_B45iu.mjs";
3
- import "./config-BGFI4YTD.mjs";
4
- import { A as webSocketServer } from "./index.mjs";
5
- export { webSocketServer };