@pixzle/cli 0.0.29 → 0.0.30

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.
@@ -4,6 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.registerRestoreCommand = registerRestoreCommand;
7
+ const core_1 = require("@pixzle/core");
7
8
  const node_1 = __importDefault(require("@pixzle/node"));
8
9
  const validators_1 = require("../validators");
9
10
  /**
@@ -31,36 +32,27 @@ function registerRestoreCommand(program) {
31
32
  async function handleRestoreCommand(fragments, options) {
32
33
  try {
33
34
  console.log("🔀 Starting image restoration...");
34
- const imagePaths = (0, validators_1.validateImagePaths)(fragments);
35
+ const images = (0, validators_1.validateImageSources)(fragments);
35
36
  const outputDir = (0, validators_1.validateOutputDirectory)(options.output);
36
37
  const restoreOptions = {
37
- imagePaths,
38
+ images,
38
39
  outputDir,
39
40
  };
40
41
  if (options.manifest) {
41
- restoreOptions.manifestPath = (0, validators_1.validateManifestPath)(options.manifest);
42
+ restoreOptions.manifest = (0, validators_1.validateManifestSource)(options.manifest);
42
43
  }
43
44
  else if (options.blockSize !== undefined &&
44
45
  options.seed !== undefined &&
45
46
  options.width !== undefined &&
46
47
  options.height !== undefined) {
47
- if (imagePaths.length > 1) {
48
+ if (images.length > 1) {
48
49
  throw new Error("When using manual options (blockSize, seed, width, height), only a single image can be restored.");
49
50
  }
50
- const { width, height } = options;
51
- const manifestData = {
52
- id: "cli-restore",
53
- version: "0.0.0",
54
- timestamp: new Date().toISOString(),
55
- config: {
56
- blockSize: options.blockSize,
57
- seed: options.seed,
58
- prefix: "img",
59
- preserveName: false,
60
- crossImageShuffle: false,
61
- },
62
- images: [{ w: width, h: height }],
63
- };
51
+ const manifestData = (0, core_1.createSingleImageManifest)({
52
+ blockSize: options.blockSize,
53
+ seed: options.seed,
54
+ imageInfo: { w: options.width, h: options.height },
55
+ });
64
56
  restoreOptions.manifestData = manifestData;
65
57
  }
66
58
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"restore.js","sourceRoot":"","sources":["../../src/commands/restore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"restore.js","sourceRoot":"","sources":["../../src/commands/restore.ts"],"names":[],"mappings":";;;;;AAeA,wDAYC;AA1BD,uCAAyD;AACzD,wDAAkC;AAGlC,8CAIuB;AAEvB;;;GAGG;AACH,SAAgB,sBAAsB,CAAC,OAAgB;IACrD,OAAO;SACJ,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,2BAA2B,CAAC;SACxC,QAAQ,CAAC,gBAAgB,EAAE,qBAAqB,CAAC;SACjD,MAAM,CAAC,uBAAuB,EAAE,oBAAoB,CAAC;SACrD,cAAc,CAAC,oBAAoB,EAAE,kBAAkB,CAAC;SACxD,MAAM,CAAC,2BAA2B,EAAE,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC;SAClE,MAAM,CAAC,qBAAqB,EAAE,aAAa,EAAE,MAAM,CAAC,QAAQ,CAAC;SAC7D,MAAM,CAAC,sBAAsB,EAAE,aAAa,EAAE,MAAM,CAAC,QAAQ,CAAC;SAC9D,MAAM,CAAC,uBAAuB,EAAE,cAAc,EAAE,MAAM,CAAC,QAAQ,CAAC;SAChE,MAAM,CAAC,oBAAoB,CAAC,CAAC;AAClC,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,oBAAoB,CACjC,SAAmB,EACnB,OAAuB;IAEvB,IAAI,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;QAEhD,MAAM,MAAM,GAAG,IAAA,iCAAoB,EAAC,SAAS,CAAC,CAAC;QAC/C,MAAM,SAAS,GAAG,IAAA,oCAAuB,EAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAE1D,MAAM,cAAc,GAAuB;YACzC,MAAM;YACN,SAAS;SACV,CAAC;QAEF,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,cAAc,CAAC,QAAQ,GAAG,IAAA,mCAAsB,EAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACrE,CAAC;aAAM,IACL,OAAO,CAAC,SAAS,KAAK,SAAS;YAC/B,OAAO,CAAC,IAAI,KAAK,SAAS;YAC1B,OAAO,CAAC,KAAK,KAAK,SAAS;YAC3B,OAAO,CAAC,MAAM,KAAK,SAAS,EAC5B,CAAC;YACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,MAAM,IAAI,KAAK,CACb,kGAAkG,CACnG,CAAC;YACJ,CAAC;YAED,MAAM,YAAY,GAAG,IAAA,gCAAyB,EAAC;gBAC7C,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,SAAS,EAAE,EAAE,CAAC,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,EAAE,OAAO,CAAC,MAAM,EAAE;aACnD,CAAC,CAAC;YACH,cAAc,CAAC,YAAY,GAAG,YAAY,CAAC;QAC7C,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CACb,4EAA4E,CAC7E,CAAC;QACJ,CAAC;QAED,MAAM,cAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAErC,OAAO,CAAC,GAAG,CAAC,sCAAsC,SAAS,EAAE,CAAC,CAAC;IACjE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CACX,yBAAyB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAClF,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
@@ -43,7 +43,7 @@ function registerShuffleCommand(program) {
43
43
  async function handleShuffleCommand(images, options) {
44
44
  try {
45
45
  console.log("🔀 Starting image fragmentation...");
46
- const imagePaths = (0, validators_1.validateImagePaths)(images);
46
+ const validatedImages = (0, validators_1.validateImageSources)(images);
47
47
  const outputDir = (0, validators_1.validateOutputDirectory)(options.output);
48
48
  const config = {};
49
49
  if (options.blockSize !== undefined)
@@ -57,7 +57,7 @@ async function handleShuffleCommand(images, options) {
57
57
  if (options.crossImageShuffle)
58
58
  config.crossImageShuffle = true;
59
59
  await node_1.default.shuffle({
60
- imagePaths,
60
+ images: validatedImages,
61
61
  outputDir,
62
62
  config: Object.keys(config).length > 0 ? config : undefined,
63
63
  });
@@ -1 +1 @@
1
- {"version":3,"file":"shuffle.js","sourceRoot":"","sources":["../../src/commands/shuffle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shuffle.js","sourceRoot":"","sources":["../../src/commands/shuffle.ts"],"names":[],"mappings":"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"}
package/dist/index.d.mts CHANGED
@@ -1,3 +1,3 @@
1
- export { default as Pixzle } from "@pixzle/node";
1
+ export { default as pixzle } from "@pixzle/node";
2
2
  export type { FragmentationConfig } from "@pixzle/core";
3
3
  export type { RestoreOptions, ShuffleOptions } from "./types";
package/dist/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
2
  // Export CLI functionality for programmatic usage if needed
3
- export { default as Pixzle } from "@pixzle/node";
3
+ export { default as pixzle } from "@pixzle/node";
4
4
  //# sourceMappingURL=index.mjs.map
@@ -1,9 +1,16 @@
1
+ import { isUrl } from "@pixzle/node";
1
2
  /**
2
- * Validates an array of image file paths
3
- * @param paths Array of file paths to validate
4
- * @returns Array of resolved absolute paths
3
+ * Check if a string is a URL
4
+ * @param str String to check
5
+ * @returns true if the string is a valid URL
5
6
  */
6
- export declare function validateImagePaths(paths: string[]): string[];
7
+ export { isUrl };
8
+ /**
9
+ * Validates an array of image sources (file paths or URLs)
10
+ * @param sources Array of file paths or URLs to validate
11
+ * @returns Array of resolved absolute paths or original URLs
12
+ */
13
+ export declare function validateImageSources(sources: string[]): string[];
7
14
  /**
8
15
  * Validates output directory path
9
16
  * @param outputPath Output directory path
@@ -11,8 +18,8 @@ export declare function validateImagePaths(paths: string[]): string[];
11
18
  */
12
19
  export declare function validateOutputDirectory(outputPath: string): string;
13
20
  /**
14
- * Validates manifest file path
15
- * @param manifestPath Path to manifest file
16
- * @returns Resolved absolute path
21
+ * Validates manifest source (file path or URL)
22
+ * @param source Path to manifest file or URL
23
+ * @returns Resolved absolute path or original URL
17
24
  */
18
- export declare function validateManifestPath(manifestPath: string): string;
25
+ export declare function validateManifestSource(source: string): string;
@@ -1,30 +1,38 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.validateImagePaths = validateImagePaths;
3
+ exports.isUrl = void 0;
4
+ exports.validateImageSources = validateImageSources;
4
5
  exports.validateOutputDirectory = validateOutputDirectory;
5
- exports.validateManifestPath = validateManifestPath;
6
+ exports.validateManifestSource = validateManifestSource;
6
7
  const node_fs_1 = require("node:fs");
7
8
  const node_path_1 = require("node:path");
9
+ const node_1 = require("@pixzle/node");
10
+ Object.defineProperty(exports, "isUrl", { enumerable: true, get: function () { return node_1.isUrl; } });
8
11
  /**
9
- * Validates an array of image file paths
10
- * @param paths Array of file paths to validate
11
- * @returns Array of resolved absolute paths
12
+ * Validates an array of image sources (file paths or URLs)
13
+ * @param sources Array of file paths or URLs to validate
14
+ * @returns Array of resolved absolute paths or original URLs
12
15
  */
13
- function validateImagePaths(paths) {
14
- const resolvedPaths = [];
15
- for (const path of paths) {
16
- const resolvedPath = (0, node_path_1.resolve)(path);
16
+ function validateImageSources(sources) {
17
+ const resolvedSources = [];
18
+ for (const source of sources) {
19
+ // If it's a URL, add it directly without local file validation
20
+ if ((0, node_1.isUrl)(source)) {
21
+ resolvedSources.push(source);
22
+ continue;
23
+ }
24
+ const resolvedPath = (0, node_path_1.resolve)(source);
17
25
  if (!(0, node_fs_1.existsSync)(resolvedPath)) {
18
- console.error(`Error: File not found: ${path}`);
26
+ console.error(`Error: File not found: ${source}`);
19
27
  process.exit(1);
20
28
  }
21
29
  if (!(0, node_fs_1.lstatSync)(resolvedPath).isFile()) {
22
- console.error(`Error: Not a file: ${path}`);
30
+ console.error(`Error: Not a file: ${source}`);
23
31
  process.exit(1);
24
32
  }
25
- resolvedPaths.push(resolvedPath);
33
+ resolvedSources.push(resolvedPath);
26
34
  }
27
- return resolvedPaths;
35
+ return resolvedSources;
28
36
  }
29
37
  /**
30
38
  * Validates output directory path
@@ -42,18 +50,22 @@ function validateOutputDirectory(outputPath) {
42
50
  return resolvedPath;
43
51
  }
44
52
  /**
45
- * Validates manifest file path
46
- * @param manifestPath Path to manifest file
47
- * @returns Resolved absolute path
53
+ * Validates manifest source (file path or URL)
54
+ * @param source Path to manifest file or URL
55
+ * @returns Resolved absolute path or original URL
48
56
  */
49
- function validateManifestPath(manifestPath) {
50
- const resolvedPath = (0, node_path_1.resolve)(manifestPath);
57
+ function validateManifestSource(source) {
58
+ // If it's a URL, return it directly without local file validation
59
+ if ((0, node_1.isUrl)(source)) {
60
+ return source;
61
+ }
62
+ const resolvedPath = (0, node_path_1.resolve)(source);
51
63
  if (!(0, node_fs_1.existsSync)(resolvedPath)) {
52
- console.error(`Error: Manifest file not found: ${manifestPath}`);
64
+ console.error(`Error: Manifest file not found: ${source}`);
53
65
  process.exit(1);
54
66
  }
55
67
  if (!(0, node_fs_1.lstatSync)(resolvedPath).isFile()) {
56
- console.error(`Error: Manifest path is not a file: ${manifestPath}`);
68
+ console.error(`Error: Manifest path is not a file: ${source}`);
57
69
  process.exit(1);
58
70
  }
59
71
  return resolvedPath;
@@ -1 +1 @@
1
- {"version":3,"file":"validators.js","sourceRoot":"","sources":["../src/validators.ts"],"names":[],"mappings":";;AAQA,gDAoBC;AAOD,0DAWC;AAOD,oDAcC;AAnED,qCAAgD;AAChD,yCAA6C;AAE7C;;;;GAIG;AACH,SAAgB,kBAAkB,CAAC,KAAe;IAChD,MAAM,aAAa,GAAa,EAAE,CAAC;IAEnC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,YAAY,GAAG,IAAA,mBAAO,EAAC,IAAI,CAAC,CAAC;QAEnC,IAAI,CAAC,IAAA,oBAAU,EAAC,YAAY,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC,KAAK,CAAC,0BAA0B,IAAI,EAAE,CAAC,CAAC;YAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,IAAI,CAAC,IAAA,mBAAS,EAAC,YAAY,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;YACtC,OAAO,CAAC,KAAK,CAAC,sBAAsB,IAAI,EAAE,CAAC,CAAC;YAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACnC,CAAC;IAED,OAAO,aAAa,CAAC;AACvB,CAAC;AAED;;;;GAIG;AACH,SAAgB,uBAAuB,CAAC,UAAkB;IACxD,MAAM,YAAY,GAAG,IAAA,mBAAO,EAAC,UAAU,CAAC,CAAC;IAEzC,8CAA8C;IAC9C,MAAM,SAAS,GAAG,IAAA,mBAAO,EAAC,YAAY,CAAC,CAAC;IACxC,IAAI,CAAC,IAAA,oBAAU,EAAC,SAAS,CAAC,EAAE,CAAC;QAC3B,OAAO,CAAC,KAAK,CAAC,2CAA2C,SAAS,EAAE,CAAC,CAAC;QACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;;;GAIG;AACH,SAAgB,oBAAoB,CAAC,YAAoB;IACvD,MAAM,YAAY,GAAG,IAAA,mBAAO,EAAC,YAAY,CAAC,CAAC;IAE3C,IAAI,CAAC,IAAA,oBAAU,EAAC,YAAY,CAAC,EAAE,CAAC;QAC9B,OAAO,CAAC,KAAK,CAAC,mCAAmC,YAAY,EAAE,CAAC,CAAC;QACjE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,IAAA,mBAAS,EAAC,YAAY,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;QACtC,OAAO,CAAC,KAAK,CAAC,uCAAuC,YAAY,EAAE,CAAC,CAAC;QACrE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC"}
1
+ {"version":3,"file":"validators.js","sourceRoot":"","sources":["../src/validators.ts"],"names":[],"mappings":";;;AAgBA,oDA0BC;AAOD,0DAWC;AAOD,wDAmBC;AAtFD,qCAAgD;AAChD,yCAA6C;AAC7C,uCAAqC;AAO5B,sFAPA,YAAK,OAOA;AAEd;;;;GAIG;AACH,SAAgB,oBAAoB,CAAC,OAAiB;IACpD,MAAM,eAAe,GAAa,EAAE,CAAC;IAErC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,+DAA+D;QAC/D,IAAI,IAAA,YAAK,EAAC,MAAM,CAAC,EAAE,CAAC;YAClB,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC7B,SAAS;QACX,CAAC;QAED,MAAM,YAAY,GAAG,IAAA,mBAAO,EAAC,MAAM,CAAC,CAAC;QAErC,IAAI,CAAC,IAAA,oBAAU,EAAC,YAAY,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC,KAAK,CAAC,0BAA0B,MAAM,EAAE,CAAC,CAAC;YAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,IAAI,CAAC,IAAA,mBAAS,EAAC,YAAY,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;YACtC,OAAO,CAAC,KAAK,CAAC,sBAAsB,MAAM,EAAE,CAAC,CAAC;YAC9C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACrC,CAAC;IAED,OAAO,eAAe,CAAC;AACzB,CAAC;AAED;;;;GAIG;AACH,SAAgB,uBAAuB,CAAC,UAAkB;IACxD,MAAM,YAAY,GAAG,IAAA,mBAAO,EAAC,UAAU,CAAC,CAAC;IAEzC,8CAA8C;IAC9C,MAAM,SAAS,GAAG,IAAA,mBAAO,EAAC,YAAY,CAAC,CAAC;IACxC,IAAI,CAAC,IAAA,oBAAU,EAAC,SAAS,CAAC,EAAE,CAAC;QAC3B,OAAO,CAAC,KAAK,CAAC,2CAA2C,SAAS,EAAE,CAAC,CAAC;QACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;;;GAIG;AACH,SAAgB,sBAAsB,CAAC,MAAc;IACnD,kEAAkE;IAClE,IAAI,IAAA,YAAK,EAAC,MAAM,CAAC,EAAE,CAAC;QAClB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,YAAY,GAAG,IAAA,mBAAO,EAAC,MAAM,CAAC,CAAC;IAErC,IAAI,CAAC,IAAA,oBAAU,EAAC,YAAY,CAAC,EAAE,CAAC;QAC9B,OAAO,CAAC,KAAK,CAAC,mCAAmC,MAAM,EAAE,CAAC,CAAC;QAC3D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,IAAA,mBAAS,EAAC,YAAY,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;QACtC,OAAO,CAAC,KAAK,CAAC,uCAAuC,MAAM,EAAE,CAAC,CAAC;QAC/D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pixzle/cli",
3
- "version": "0.0.29",
3
+ "version": "0.0.30",
4
4
  "description": "CLI implementation of image fragmentation and restoration",
5
5
  "type": "commonjs",
6
6
  "main": "dist/index.js",
@@ -33,8 +33,8 @@
33
33
  },
34
34
  "dependencies": {
35
35
  "commander": "^12.1.0",
36
- "@pixzle/core": "0.0.29",
37
- "@pixzle/node": "0.0.29"
36
+ "@pixzle/core": "0.0.30",
37
+ "@pixzle/node": "0.0.30"
38
38
  },
39
39
  "devDependencies": {
40
40
  "@types/node": "^22.10.1",