@defai.digital/ax-cli 3.14.2 → 3.14.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -49,7 +49,7 @@ ax-cli
49
49
  - [Security](#security)
50
50
  - [Architecture](#architecture)
51
51
  - [Changelog](#changelog)
52
- - [Recent Changes (v3.14.2)](#recent-changes-v3142)
52
+ - [Recent Changes (v3.14.4)](#recent-changes-v3144)
53
53
  - [Documentation](#documentation)
54
54
 
55
55
  ---
@@ -403,7 +403,15 @@ Email: **security@defai.digital** (private disclosure)
403
403
 
404
404
  ---
405
405
 
406
- ## Recent Changes (v3.14.2)
406
+ ## Recent Changes (v3.14.4)
407
+
408
+ ### Improvements
409
+
410
+ - **Absolute Path Access**: Images from any location (Downloads, Desktop, etc.) now accessible when using absolute paths - security checks only apply to relative paths to prevent traversal attacks
411
+
412
+ ### New Features (v3.14.3)
413
+
414
+ - **Quoted Path Support**: Image paths with spaces now supported using quotes (`@"path with spaces/image.png"` or `'/path/file name.jpg'`)
407
415
 
408
416
  ### Bug Fixes
409
417
 
@@ -6,9 +6,17 @@ import * as path from 'path';
6
6
  import { processImageFromPath, formatBytes, ImageProcessingError, SUPPORTED_IMAGE_FORMATS, MAX_IMAGE_SIZE_BYTES, TOKENS_PER_IMAGE, } from '../../utils/image-processor.js';
7
7
  /** Regex patterns (compiled once at module load) */
8
8
  // Exclude URLs (http://, https://, file://, ftp://, data:) from @ references
9
- const AT_REF_PATTERN = /@((?!https?:\/\/|ftp:\/\/|file:\/\/|data:)[^\s]+\.(png|jpg|jpeg|gif|webp))/gi;
10
- // Supports Unix (/path), relative (./path, ../path), Windows (C:\path), and UNC (\\server\share)
11
- const DIRECT_PATH_PATTERN = /^(\/[^\s]+\.(png|jpg|jpeg|gif|webp)|\.\.?\/[^\s]+\.(png|jpg|jpeg|gif|webp)|[a-zA-Z]:[\\/][^\s]+\.(png|jpg|jpeg|gif|webp)|\\\\[^\s]+\.(png|jpg|jpeg|gif|webp))$/i;
9
+ // Supports: @path/file.png, @"path with spaces/file.png", @'path with spaces/file.png'
10
+ const AT_REF_PATTERN = /@((?!https?:\/\/|ftp:\/\/|file:\/\/|data:)[^\s]+\.(png|jpg|jpeg|gif|webp)|"[^"]+\.(png|jpg|jpeg|gif|webp)"|'[^']+\.(png|jpg|jpeg|gif|webp)')/gi;
11
+ // Supports Unix (/path), relative (./path, ../path), Windows (C:\path), UNC (\\server\share), and quoted paths
12
+ const DIRECT_PATH_PATTERN = /^(\/[^\s]+\.(png|jpg|jpeg|gif|webp)|\.\.?\/[^\s]+\.(png|jpg|jpeg|gif|webp)|[a-zA-Z]:[\\/][^\s]+\.(png|jpg|jpeg|gif|webp)|\\\\[^\s]+\.(png|jpg|jpeg|gif|webp)|"[^"]+\.(png|jpg|jpeg|gif|webp)"|'[^']+\.(png|jpg|jpeg|gif|webp)')$/i;
13
+ /** Strip surrounding quotes from a path */
14
+ function stripQuotes(p) {
15
+ if ((p.startsWith('"') && p.endsWith('"')) || (p.startsWith("'") && p.endsWith("'"))) {
16
+ return p.slice(1, -1);
17
+ }
18
+ return p;
19
+ }
12
20
  /** Parse user input for image references */
13
21
  export async function parseImageInput(input, workingDir = process.cwd()) {
14
22
  const images = [];
@@ -18,17 +26,18 @@ export async function parseImageInput(input, workingDir = process.cwd()) {
18
26
  const pathToIndex = new Map(); // Map resolved path to image index
19
27
  for (const [fullMatch, relativePath] of input.matchAll(AT_REF_PATTERN)) {
20
28
  try {
21
- const image = await processImageFromPath(relativePath, workingDir);
29
+ const cleanPath = stripQuotes(relativePath);
30
+ const image = await processImageFromPath(cleanPath, workingDir);
22
31
  const resolvedPath = image.originalPath;
23
32
  if (seenPaths.has(resolvedPath)) {
24
33
  // Same file referenced differently - reuse existing placeholder
25
34
  const existingIndex = pathToIndex.get(resolvedPath);
26
- const name = path.basename(relativePath);
35
+ const name = path.basename(cleanPath);
27
36
  textContent = textContent.split(fullMatch).join(`[Image #${existingIndex}: ${name}]`);
28
37
  continue;
29
38
  }
30
39
  seenPaths.add(resolvedPath);
31
- const name = path.basename(relativePath);
40
+ const name = path.basename(cleanPath);
32
41
  images.push({ image, preview: `[Image: ${name}]`, originalReference: fullMatch });
33
42
  pathToIndex.set(resolvedPath, images.length);
34
43
  textContent = textContent.split(fullMatch).join(`[Image #${images.length}: ${name}]`);
@@ -41,8 +50,9 @@ export async function parseImageInput(input, workingDir = process.cwd()) {
41
50
  const trimmed = input.trim();
42
51
  if (!images.length && DIRECT_PATH_PATTERN.test(trimmed)) {
43
52
  try {
44
- const image = await processImageFromPath(trimmed, workingDir);
45
- const name = path.basename(trimmed);
53
+ const cleanPath = stripQuotes(trimmed);
54
+ const image = await processImageFromPath(cleanPath, workingDir);
55
+ const name = path.basename(cleanPath);
46
56
  images.push({ image, preview: `[Image: ${name}]`, originalReference: trimmed });
47
57
  textContent = `Please analyze this image: ${name}`;
48
58
  }
@@ -53,7 +63,8 @@ export async function parseImageInput(input, workingDir = process.cwd()) {
53
63
  }
54
64
  return { text: textContent.trim(), images, errors, hasImages: images.length > 0 };
55
65
  }
56
- const AT_REF_CHECK = /@(?!https?:\/\/|ftp:\/\/|file:\/\/|data:)[^\s]+\.(png|jpg|jpeg|gif|webp)/i;
66
+ // Quick check for @ references (unquoted or quoted)
67
+ const AT_REF_CHECK = /@(?:(?!https?:\/\/|ftp:\/\/|file:\/\/|data:)[^\s]+\.(png|jpg|jpeg|gif|webp)|"[^"]+\.(png|jpg|jpeg|gif|webp)"|'[^']+\.(png|jpg|jpeg|gif|webp)')/i;
57
68
  /** Check if input contains image references (quick check) */
58
69
  export function hasImageReferences(input) {
59
70
  return AT_REF_CHECK.test(input) || DIRECT_PATH_PATTERN.test(input.trim());
@@ -71,9 +82,10 @@ export function buildMessageContent(parsed) {
71
82
  }
72
83
  /** Help text (static) */
73
84
  const HELP_TEXT = `Image Input Methods:
74
- @path/to/image.png - Reference image with @ prefix
75
- /absolute/path.png - Direct absolute path
76
- ./relative/path.png - Direct relative path
85
+ @path/to/image.png - Reference image with @ prefix
86
+ @"path with spaces.png" - Quoted path for names with spaces
87
+ /absolute/path.png - Direct absolute path
88
+ "./path with spaces.png" - Quoted direct path
77
89
 
78
90
  Supported formats: ${SUPPORTED_IMAGE_FORMATS.join(', ')}
79
91
  Maximum size: ${formatBytes(MAX_IMAGE_SIZE_BYTES)}
@@ -1 +1 @@
1
- {"version":3,"file":"image-handler.js","sourceRoot":"","sources":["../../../src/ui/utils/image-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"image-handler.js","sourceRoot":"","sources":["../../../src/ui/utils/image-handler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EACL,oBAAoB,EACpB,WAAW,EAEX,oBAAoB,EACpB,uBAAuB,EACvB,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,gCAAgC,CAAC;AAkBxC,oDAAoD;AACpD,6EAA6E;AAC7E,uFAAuF;AACvF,MAAM,cAAc,GAAG,gJAAgJ,CAAC;AACxK,+GAA+G;AAC/G,MAAM,mBAAmB,GAAG,mOAAmO,CAAC;AAEhQ,2CAA2C;AAC3C,SAAS,WAAW,CAAC,CAAS;IAC5B,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QACrF,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,4CAA4C;AAC5C,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,KAAa,EACb,aAAqB,OAAO,CAAC,GAAG,EAAE;IAElC,MAAM,MAAM,GAAsB,EAAE,CAAC;IACrC,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC,CAAC,6CAA6C;IAClF,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC,CAAC,mCAAmC;IAElF,KAAK,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QACvE,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,WAAW,CAAC,YAAY,CAAC,CAAC;YAC5C,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;YAChE,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;YAExC,IAAI,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;gBAChC,gEAAgE;gBAChE,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,CAAC,YAAY,CAAE,CAAC;gBACrD,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;gBACtC,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,WAAW,aAAa,KAAK,IAAI,GAAG,CAAC,CAAC;gBACtF,SAAS;YACX,CAAC;YAED,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YACtC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,IAAI,GAAG,EAAE,iBAAiB,EAAE,SAAS,EAAE,CAAC,CAAC;YAClF,WAAW,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;YAC7C,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,WAAW,MAAM,CAAC,MAAM,KAAK,IAAI,GAAG,CAAC,CAAC;QACxF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,KAAK,KAAK,YAAY,oBAAoB,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB,EAAE,CAAC,CAAC;QAC9G,CAAC;IACH,CAAC;IAED,0CAA0C;IAC1C,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACxD,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;YACvC,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;YAChE,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YACtC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,IAAI,GAAG,EAAE,iBAAiB,EAAE,OAAO,EAAE,CAAC,CAAC;YAChF,WAAW,GAAG,8BAA8B,IAAI,EAAE,CAAC;QACrD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,KAAK,YAAY,oBAAoB,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,yBAAyB,CAAC;YAC9F,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,KAAK,GAAG,EAAE,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;AACpF,CAAC;AAED,oDAAoD;AACpD,MAAM,YAAY,GAAG,iJAAiJ,CAAC;AAEvK,6DAA6D;AAC7D,MAAM,UAAU,kBAAkB,CAAC,KAAa;IAC9C,OAAO,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;AAC5E,CAAC;AAED,yDAAyD;AACzD,MAAM,UAAU,mBAAmB,CAAC,MAAwB;IAC1D,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IAChC,MAAM,QAAQ,GAAyB,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,MAAM,UAAU,GAAyB,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC/D,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE;KACpC,CAAC,CAAC,CAAC;IAEJ,MAAM,OAAO,GAAG,CAAC,GAAG,QAAQ,EAAE,GAAG,UAAU,CAAC,CAAC;IAC7C,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,sCAAsC,EAAE,CAAC,CAAC;AACrG,CAAC;AAED,yBAAyB;AACzB,MAAM,SAAS,GAAG;;;;;;qBAMG,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC;gBACvC,WAAW,CAAC,oBAAoB,CAAC;;oDAEG,CAAC;AAErD,oCAAoC;AACpC,MAAM,UAAU,gBAAgB;IAC9B,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,kDAAkD;AAClD,MAAM,UAAU,0BAA0B,CAAC,UAA2B,EAAE,KAAa;IACnF,OAAO,KAAK,KAAK,KAAK,UAAU,CAAC,OAAO,KAAK,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,gBAAgB,UAAU,CAAC;AACvH,CAAC;AAED,kDAAkD;AAClD,MAAM,OAAO,iBAAiB;IAC5B,MAAM,CAAC,UAAU,GAAG,eAAe,CAAC;IACpC,MAAM,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;IAC/C,MAAM,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;IACjD,MAAM,CAAC,WAAW,GAAG,gBAAgB,CAAC;IACtC,MAAM,CAAC,0BAA0B,GAAG,0BAA0B,CAAC"}
@@ -72,17 +72,20 @@ export async function processImageFromPath(filePath, basePath = process.cwd()) {
72
72
  catch {
73
73
  throw new ImageProcessingError(`Image not found: ${filePath}`, 'FILE_NOT_FOUND');
74
74
  }
75
- // Security: path must be within base directory (resolve symlinks in basePath too)
76
- let realBase;
77
- try {
78
- realBase = await fs.realpath(path.normalize(basePath));
79
- }
80
- catch {
81
- throw new ImageProcessingError('Access denied: invalid base directory', 'FILE_NOT_FOUND');
82
- }
83
- const baseWithSep = realBase.endsWith(path.sep) ? realBase : realBase + path.sep;
84
- if (!realPath.startsWith(baseWithSep) && realPath !== realBase) {
85
- throw new ImageProcessingError('Access denied: path outside working directory', 'FILE_NOT_FOUND');
75
+ // Security: only check path traversal for relative paths
76
+ // Absolute paths are explicitly provided by the user, so trust them
77
+ if (!path.isAbsolute(filePath)) {
78
+ let realBase;
79
+ try {
80
+ realBase = await fs.realpath(path.normalize(basePath));
81
+ }
82
+ catch {
83
+ throw new ImageProcessingError('Access denied: invalid base directory', 'FILE_NOT_FOUND');
84
+ }
85
+ const baseWithSep = realBase.endsWith(path.sep) ? realBase : realBase + path.sep;
86
+ if (!realPath.startsWith(baseWithSep) && realPath !== realBase) {
87
+ throw new ImageProcessingError('Access denied: path outside working directory', 'FILE_NOT_FOUND');
88
+ }
86
89
  }
87
90
  let buffer;
88
91
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"image-processor.js","sourceRoot":"","sources":["../../src/utils/image-processor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"image-processor.js","sourceRoot":"","sources":["../../src/utils/image-processor.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@defai.digital/ax-cli",
3
- "version": "3.14.2",
3
+ "version": "3.14.4",
4
4
  "sdkVersion": "1.3.0",
5
5
  "description": "Enterprise-Class AI Command Line Interface - Primary support for GLM (General Language Model) with multi-provider AI orchestration powered by AutomatosX.",
6
6
  "type": "module",