sygal-cli 0.5.3 → 0.5.5
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/CHANGELOG.md +2 -2
- package/dist/index.js +27 -1
- package/package.json +4 -4
package/CHANGELOG.md
CHANGED
|
@@ -9,10 +9,10 @@ partagent toujours le même numéro de version, publiés ensemble, même si un
|
|
|
9
9
|
seul a réellement changé de contenu — même principe que l'app desktop.
|
|
10
10
|
Détails du process : `CLI_RELEASE_GUIDE.md` à la racine du repo.
|
|
11
11
|
|
|
12
|
-
## 0.5.
|
|
12
|
+
## 0.5.3
|
|
13
13
|
|
|
14
14
|
- Aucun changement fonctionnel côté CLI/sidecars : bump lockstep pour rester
|
|
15
|
-
aligné avec la version de l'app desktop (1.5.
|
|
15
|
+
aligné avec la version de l'app desktop (1.5.3).
|
|
16
16
|
|
|
17
17
|
## 0.5.1
|
|
18
18
|
|
package/dist/index.js
CHANGED
|
@@ -1522,8 +1522,31 @@ function buildJsonEnvelope(doc) {
|
|
|
1522
1522
|
function serializeJsonExport(doc) {
|
|
1523
1523
|
return JSON.stringify(buildJsonEnvelope(doc), null, 2);
|
|
1524
1524
|
}
|
|
1525
|
+
var ILLEGAL_FILENAME_CHARS = /[\\/:*?"<>|\x00-\x1f]/g;
|
|
1526
|
+
function sanitizeFilename(name) {
|
|
1527
|
+
return name.replace(ILLEGAL_FILENAME_CHARS, " ").replace(/\s+/g, " ").trim();
|
|
1528
|
+
}
|
|
1529
|
+
var MAX_FILENAME_BYTES = 255;
|
|
1530
|
+
var RESERVED_SUFFIX_BYTES = 11;
|
|
1531
|
+
var encoder = new TextEncoder();
|
|
1532
|
+
function truncateToByteLength(name, maxBytes) {
|
|
1533
|
+
if (encoder.encode(name).length <= maxBytes) return name;
|
|
1534
|
+
let result = "";
|
|
1535
|
+
let bytes = 0;
|
|
1536
|
+
for (const char of name) {
|
|
1537
|
+
const charBytes = encoder.encode(char).length;
|
|
1538
|
+
if (bytes + charBytes > maxBytes) break;
|
|
1539
|
+
result += char;
|
|
1540
|
+
bytes += charBytes;
|
|
1541
|
+
}
|
|
1542
|
+
return result.trim();
|
|
1543
|
+
}
|
|
1525
1544
|
async function resolveCollisionPath(dir, stem, ext) {
|
|
1526
|
-
const
|
|
1545
|
+
const safeStem = truncateToByteLength(
|
|
1546
|
+
sanitizeFilename(stem),
|
|
1547
|
+
MAX_FILENAME_BYTES - RESERVED_SUFFIX_BYTES
|
|
1548
|
+
);
|
|
1549
|
+
const candidate = (n2) => (0, import_node_path3.join)(dir, n2 === 0 ? `${safeStem}${ext}` : `${safeStem} (${n2})${ext}`);
|
|
1527
1550
|
let n = 0;
|
|
1528
1551
|
while (n < 999) {
|
|
1529
1552
|
try {
|
|
@@ -1709,6 +1732,7 @@ var CONVERSION_CODE_MAP = {
|
|
|
1709
1732
|
TRANSLATION_INCOHERENT: "translation_incoherent",
|
|
1710
1733
|
URL_FORBIDDEN: "url_forbidden",
|
|
1711
1734
|
URL_UNREACHABLE: "url_unreachable",
|
|
1735
|
+
URL_EMPTY_CONTENT: "url_empty_content",
|
|
1712
1736
|
HEIC_HEVC_UNSUPPORTED: "heic_hevc_unsupported",
|
|
1713
1737
|
IMAGE_DECODE_UNSUPPORTED: "image_decode_unsupported",
|
|
1714
1738
|
UNKNOWN: "unknown"
|
|
@@ -1741,6 +1765,8 @@ function toCliError(err) {
|
|
|
1741
1765
|
return { code: "url_forbidden", message: err.message };
|
|
1742
1766
|
case "URL_UNREACHABLE":
|
|
1743
1767
|
return { code: "url_unreachable", message: err.message };
|
|
1768
|
+
case "URL_EMPTY_CONTENT":
|
|
1769
|
+
return { code: "url_empty_content", message: err.message };
|
|
1744
1770
|
default:
|
|
1745
1771
|
return { code: "conversion_failed", message: err.message };
|
|
1746
1772
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sygal-cli",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.5",
|
|
4
4
|
"description": "Sygal CLI - convert files and web pages to Markdown/JSON (local MarkItDown pipeline, OCR for images)",
|
|
5
5
|
"author": "Cyrill Semah",
|
|
6
6
|
"license": "SEE LICENSE IN LICENSE",
|
|
@@ -37,9 +37,9 @@
|
|
|
37
37
|
"@sygal/core": "0.1.0"
|
|
38
38
|
},
|
|
39
39
|
"optionalDependencies": {
|
|
40
|
-
"@sygal/sidecar-
|
|
41
|
-
"@sygal/sidecar-
|
|
42
|
-
"@sygal/sidecar-linux-x64": "0.5.
|
|
40
|
+
"@sygal/sidecar-win32-x64": "0.5.5",
|
|
41
|
+
"@sygal/sidecar-darwin-arm64": "0.5.5",
|
|
42
|
+
"@sygal/sidecar-linux-x64": "0.5.5"
|
|
43
43
|
},
|
|
44
44
|
"scripts": {
|
|
45
45
|
"build": "esbuild src/index.ts --bundle --platform=node --target=node20 --format=cjs --outfile=dist/index.js --external:sharp --external:gpt-tokenizer --external:commander --external:picocolors",
|