@taloswork/ose-shared 0.1.10 → 0.1.12
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/package.json +3 -3
- package/skills/document/SKILL.md +143 -215
- package/skills/document/art-directions/base.css +27 -2
- package/skills/document/art-directions/cinematic-depth.css +3 -1
- package/skills/document/art-directions/collage-paper.css +5 -1
- package/skills/document/art-directions/editorial-cut.css +5 -1
- package/skills/document/art-directions/geometric-pop.css +6 -0
- package/skills/document/art-directions/gradient-mesh.css +5 -1
- package/skills/document/art-directions/illustrated-doodle.css +5 -0
- package/skills/document/art-directions/luxury-ornament.css +4 -1
- package/skills/document/art-directions/maximalist-blocks.css +6 -0
- package/skills/document/art-directions/technical-grid.css +4 -0
- package/skills/document/assets/fonts/fonts.json +2 -2
- package/skills/document/assets/pdf-fonts/NotoSansSC-PDF-Bold.ttf +0 -0
- package/skills/document/assets/pdf-fonts/NotoSansSC-PDF-Regular.ttf +0 -0
- package/skills/document/assets/pdf-fonts/OFL.txt +93 -0
- package/skills/document/assets/pdf-fonts/README.md +35 -0
- package/skills/document/assets/tessdata/LICENSE-Apache-2.0.txt +202 -0
- package/skills/document/assets/tessdata/README.md +21 -0
- package/skills/document/assets/tessdata/chi_sim.traineddata.gz +0 -0
- package/skills/document/assets/tessdata/eng.traineddata.gz +0 -0
- package/skills/document/bin/deck-build.cjs +2311 -41
- package/skills/document/bin/deck-chart.cjs +762 -0
- package/skills/document/bin/deck-plan.cjs +802 -0
- package/skills/document/bin/deck-qa.cjs +984 -249
- package/skills/document/bin/deck-scenario.cjs +1346 -0
- package/skills/document/bin/doc-convert.cjs +130 -39
- package/skills/document/bin/doc-fill.cjs +73121 -170
- package/skills/document/bin/doc-gen.cjs +625 -68
- package/skills/document/bin/doc-run.cjs +162 -24
- package/skills/document/bin/doc-scan.cjs +13 -0
- package/skills/document/bin/doc-text.cjs +13 -0
- package/skills/document/bin/doc-validate.cjs +718 -23
- package/skills/document/bin/doc-xml.cjs +9 -5
- package/skills/document/bin/docx-annotate.cjs +95 -19
- package/skills/document/bin/fontkit.cjs +1 -0
- package/skills/document/bin/html2pptx.cjs +1372 -121
- package/skills/document/bin/ocr-worker.cjs +1 -0
- package/skills/document/bin/ocr.cjs +131 -40
- package/skills/document/bin/pdf-form.cjs +674 -177
- package/skills/document/bin/pdf-images.cjs +13 -0
- package/skills/document/bin/pdf-ops.cjs +634 -199
- package/skills/document/bin/pdf-render.cjs +19 -3
- package/skills/document/bin/pdf-tables.cjs +13 -0
- package/skills/document/bin/pptx-clone.cjs +3 -3
- package/skills/document/bin/pptx-slide.cjs +3 -3
- package/skills/document/bin/xlsx-query.cjs +192 -61
- package/skills/document/bin-reference.md +56 -33
- package/skills/document/content-pipeline.md +129 -242
- package/skills/document/deck-design.md +355 -638
- package/skills/document/layouts/README.md +46 -33
- package/skills/document/layouts/capacity.json +1 -0
- package/skills/document/layouts/slots.json +1 -1
- package/skills/document/layouts/toc-panel.tpl +1 -1
- package/skills/document/motion/README.md +3 -2
- package/skills/document/office.md +3 -3
- package/skills/document/packs/board-brief/backdrop.html +2 -0
- package/skills/document/packs/board-brief/pack.css +2 -1
- package/skills/document/packs/mckinsey-photo/backdrop.html +2 -0
- package/skills/document/packs/mckinsey-photo/pack.css +2 -1
- package/skills/document/packs/press-room/backdrop.html +2 -0
- package/skills/document/packs/press-room/pack.css +2 -1
- package/skills/document/packs/prismatic-3d/backdrop.html +2 -0
- package/skills/document/packs/prismatic-3d/pack.css +4 -1
- package/skills/document/pdf.md +53 -49
- package/skills/document/rewrite.md +241 -308
- package/skills/document/scenarios.json +1290 -0
- package/skills/document/scenarios.schema.json +103 -0
- package/skills/document/styles/README.md +15 -25
- package/skills/document/styles/_contract-defaults.css +25 -1
- package/skills/document/styles/anthropic/skin.css +6 -3
- package/skills/document/styles/apple/skin.css +4 -3
- package/skills/document/styles/bistro-warm/backdrop.html +2 -0
- package/skills/document/styles/bistro-warm/skin.css +4 -1
- package/skills/document/styles/black-gold/skin.css +6 -5
- package/skills/document/styles/bold-clash/backdrop.html +2 -0
- package/skills/document/styles/bold-clash/skin.css +2 -1
- package/skills/document/styles/branding/skin.css +4 -4
- package/skills/document/styles/campus-teal/backdrop.html +2 -0
- package/skills/document/styles/campus-teal/skin.css +2 -1
- package/skills/document/styles/cinereel/skin.css +7 -3
- package/skills/document/styles/clinic-care/backdrop.html +2 -0
- package/skills/document/styles/clinic-care/skin.css +2 -1
- package/skills/document/styles/cool/skin.css +6 -5
- package/skills/document/styles/dark-glass/backdrop.html +2 -0
- package/skills/document/styles/dark-glass/skin.css +2 -1
- package/skills/document/styles/gov-brief/backdrop.html +2 -0
- package/skills/document/styles/gov-brief/skin.css +2 -1
- package/skills/document/styles/grid-tech/backdrop.html +2 -0
- package/skills/document/styles/grid-tech/skin.css +2 -1
- package/skills/document/styles/hand-drawn/skin.css +3 -3
- package/skills/document/styles/ivory-gold/skin.css +7 -6
- package/skills/document/styles/legal-slate/backdrop.html +2 -0
- package/skills/document/styles/legal-slate/skin.css +2 -1
- package/skills/document/styles/magazine-ink/skin.css +4 -3
- package/skills/document/styles/mckinsey/skin.css +2 -1
- package/skills/document/styles/memphis/backdrop.html +2 -0
- package/skills/document/styles/memphis/skin.css +2 -1
- package/skills/document/styles/mono/skin.css +6 -2
- package/skills/document/styles/neon-cyber/backdrop.html +2 -0
- package/skills/document/styles/neon-cyber/skin.css +2 -1
- package/skills/document/styles/olive-gold/skin.css +7 -6
- package/skills/document/styles/organic-earth/backdrop.html +2 -0
- package/skills/document/styles/organic-earth/skin.css +2 -1
- package/skills/document/styles/pastel-saas/backdrop.html +2 -0
- package/skills/document/styles/pastel-saas/skin.css +2 -1
- package/skills/document/styles/portfolio-noir/backdrop.html +2 -0
- package/skills/document/styles/portfolio-noir/skin.css +2 -1
- package/skills/document/styles/retro-press/backdrop.html +2 -0
- package/skills/document/styles/retro-press/skin.css +2 -1
- package/skills/document/styles/sport-arena/backdrop.html +2 -0
- package/skills/document/styles/sport-arena/skin.css +4 -1
- package/skills/document/styles/swiss-grid/skin.css +10 -5
- package/skills/document/styles/wedding-blush/backdrop.html +2 -0
- package/skills/document/styles/wedding-blush/skin.css +4 -1
- package/skills/document/theme-system.md +85 -77
- package/skills/document/themes/README.md +7 -5
- package/skills/document/vision.md +8 -5
- package/skills/document/xlsx.md +15 -25
- package/skills/cozy-static-svg/SKILL.md +0 -76
- package/skills/cozy-static-svg/references/approved-preview.png +0 -0
- package/skills/cozy-static-svg/references/cross-platform.md +0 -73
- package/skills/cozy-static-svg/references/moon_keeps_watch.svg +0 -229
- package/skills/cozy-static-svg/references/style-anchor.md +0 -271
- package/skills/cozy-static-svg/scripts/artkit.py +0 -321
- package/skills/cozy-static-svg/scripts/to_png.py +0 -333
|
@@ -9790,9 +9790,9 @@ var require_load = __commonJS({
|
|
|
9790
9790
|
var require_lib3 = __commonJS({
|
|
9791
9791
|
"node_modules/jszip/lib/index.js"(exports2, module2) {
|
|
9792
9792
|
"use strict";
|
|
9793
|
-
function
|
|
9794
|
-
if (!(this instanceof
|
|
9795
|
-
return new
|
|
9793
|
+
function JSZip3() {
|
|
9794
|
+
if (!(this instanceof JSZip3)) {
|
|
9795
|
+
return new JSZip3();
|
|
9796
9796
|
}
|
|
9797
9797
|
if (arguments.length) {
|
|
9798
9798
|
throw new Error("The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide.");
|
|
@@ -9801,7 +9801,7 @@ var require_lib3 = __commonJS({
|
|
|
9801
9801
|
this.comment = null;
|
|
9802
9802
|
this.root = "";
|
|
9803
9803
|
this.clone = function() {
|
|
9804
|
-
var newObj = new
|
|
9804
|
+
var newObj = new JSZip3();
|
|
9805
9805
|
for (var i in this) {
|
|
9806
9806
|
if (typeof this[i] !== "function") {
|
|
9807
9807
|
newObj[i] = this[i];
|
|
@@ -9810,16 +9810,16 @@ var require_lib3 = __commonJS({
|
|
|
9810
9810
|
return newObj;
|
|
9811
9811
|
};
|
|
9812
9812
|
}
|
|
9813
|
-
|
|
9814
|
-
|
|
9815
|
-
|
|
9816
|
-
|
|
9817
|
-
|
|
9818
|
-
|
|
9819
|
-
return new
|
|
9813
|
+
JSZip3.prototype = require_object();
|
|
9814
|
+
JSZip3.prototype.loadAsync = require_load();
|
|
9815
|
+
JSZip3.support = require_support();
|
|
9816
|
+
JSZip3.defaults = require_defaults();
|
|
9817
|
+
JSZip3.version = "3.10.1";
|
|
9818
|
+
JSZip3.loadAsync = function(content, options) {
|
|
9819
|
+
return new JSZip3().loadAsync(content, options);
|
|
9820
9820
|
};
|
|
9821
|
-
|
|
9822
|
-
module2.exports =
|
|
9821
|
+
JSZip3.external = require_external();
|
|
9822
|
+
module2.exports = JSZip3;
|
|
9823
9823
|
}
|
|
9824
9824
|
});
|
|
9825
9825
|
|
|
@@ -9827,11 +9827,11 @@ var require_lib3 = __commonJS({
|
|
|
9827
9827
|
var require_pptxgen_cjs = __commonJS({
|
|
9828
9828
|
"node_modules/pptxgenjs/dist/pptxgen.cjs.js"(exports2, module2) {
|
|
9829
9829
|
"use strict";
|
|
9830
|
-
var
|
|
9830
|
+
var JSZip3 = require_lib3();
|
|
9831
9831
|
function _interopDefaultLegacy(e) {
|
|
9832
9832
|
return e && typeof e === "object" && "default" in e ? e : { "default": e };
|
|
9833
9833
|
}
|
|
9834
|
-
var JSZip__default = /* @__PURE__ */ _interopDefaultLegacy(
|
|
9834
|
+
var JSZip__default = /* @__PURE__ */ _interopDefaultLegacy(JSZip3);
|
|
9835
9835
|
var __assign2 = function() {
|
|
9836
9836
|
__assign2 = Object.assign || function __assign3(t) {
|
|
9837
9837
|
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
@@ -85256,7 +85256,7 @@ var require_browser_buffer_encode = __commonJS({
|
|
|
85256
85256
|
var require_zip_stream = __commonJS({
|
|
85257
85257
|
"node_modules/exceljs/lib/utils/zip-stream.js"(exports2, module2) {
|
|
85258
85258
|
var events = require("events");
|
|
85259
|
-
var
|
|
85259
|
+
var JSZip3 = require_lib3();
|
|
85260
85260
|
var StreamBuf = require_stream_buf();
|
|
85261
85261
|
var { stringToBuffer } = require_browser_buffer_encode();
|
|
85262
85262
|
var ZipWriter = class extends events.EventEmitter {
|
|
@@ -85269,7 +85269,7 @@ var require_zip_stream = __commonJS({
|
|
|
85269
85269
|
},
|
|
85270
85270
|
options
|
|
85271
85271
|
);
|
|
85272
|
-
this.zip = new
|
|
85272
|
+
this.zip = new JSZip3();
|
|
85273
85273
|
this.stream = new StreamBuf();
|
|
85274
85274
|
}
|
|
85275
85275
|
append(data, options) {
|
|
@@ -96949,7 +96949,7 @@ var require_theme1 = __commonJS({
|
|
|
96949
96949
|
var require_xlsx2 = __commonJS({
|
|
96950
96950
|
"node_modules/exceljs/lib/xlsx/xlsx.js"(exports2, module2) {
|
|
96951
96951
|
var fs = require("fs");
|
|
96952
|
-
var
|
|
96952
|
+
var JSZip3 = require_lib3();
|
|
96953
96953
|
var { PassThrough } = require_readable2();
|
|
96954
96954
|
var ZipStream = require_zip_stream();
|
|
96955
96955
|
var StreamBuf = require_stream_buf();
|
|
@@ -97188,7 +97188,7 @@ var require_xlsx2 = __commonJS({
|
|
|
97188
97188
|
tables: {},
|
|
97189
97189
|
vmlDrawings: {}
|
|
97190
97190
|
};
|
|
97191
|
-
const zip2 = await
|
|
97191
|
+
const zip2 = await JSZip3.loadAsync(buffer);
|
|
97192
97192
|
for (const entry of Object.values(zip2.files)) {
|
|
97193
97193
|
if (!entry.dir) {
|
|
97194
97194
|
let entryName = entry.name;
|
|
@@ -105437,8 +105437,8 @@ var require_graceful_fs = __commonJS({
|
|
|
105437
105437
|
}
|
|
105438
105438
|
}
|
|
105439
105439
|
var fs$writeFile = fs2.writeFile;
|
|
105440
|
-
fs2.writeFile =
|
|
105441
|
-
function
|
|
105440
|
+
fs2.writeFile = writeFile2;
|
|
105441
|
+
function writeFile2(path, data, options, cb) {
|
|
105442
105442
|
if (typeof options === "function")
|
|
105443
105443
|
cb = options, options = null;
|
|
105444
105444
|
return go$writeFile(path, data, options, cb);
|
|
@@ -141451,7 +141451,7 @@ var require_excel = __commonJS({
|
|
|
141451
141451
|
var import_node_module = __toESM(require("node:module"), 1);
|
|
141452
141452
|
var import_node_path = require("node:path");
|
|
141453
141453
|
var import_pptxgenjs = __toESM(require_pptxgen_cjs(), 1);
|
|
141454
|
-
var
|
|
141454
|
+
var import_jszip2 = __toESM(require_lib3(), 1);
|
|
141455
141455
|
var import_pizzip = __toESM(require_js(), 1);
|
|
141456
141456
|
var pdfLib = __toESM(require_cjs(), 1);
|
|
141457
141457
|
|
|
@@ -192429,9 +192429,147 @@ for (const pluginName of Object.getOwnPropertyNames(plugin_exports)) {
|
|
|
192429
192429
|
|
|
192430
192430
|
// apps/admin/data/skills.lib/document/bin-src/doc-run.mjs
|
|
192431
192431
|
var import_exceljs = __toESM(require_excel(), 1);
|
|
192432
|
+
|
|
192433
|
+
// packages/core/dist/document/pptx-finalize.js
|
|
192434
|
+
var import_jszip = __toESM(require_lib3(), 1);
|
|
192435
|
+
var import_promises = require("node:fs/promises");
|
|
192436
|
+
async function finalizePptx(bytes) {
|
|
192437
|
+
return stripDanglingOverrides(await dedupeParagraphProps(await normalizeChartParts(bytes)));
|
|
192438
|
+
}
|
|
192439
|
+
function dedupeParagraphPropsXml(xml) {
|
|
192440
|
+
return xml.replace(/<a:p>([\s\S]*?)<\/a:p>/g, (para, inner) => {
|
|
192441
|
+
const first2 = inner.search(/<a:(?:r|br|fld)\b/);
|
|
192442
|
+
if (first2 < 0)
|
|
192443
|
+
return para;
|
|
192444
|
+
const tail = inner.slice(first2).replace(/<a:pPr\b[^>]*\/>|<a:pPr\b[^>]*>[\s\S]*?<\/a:pPr>/g, "");
|
|
192445
|
+
return `<a:p>${inner.slice(0, first2)}${tail}</a:p>`;
|
|
192446
|
+
});
|
|
192447
|
+
}
|
|
192448
|
+
async function dedupeParagraphProps(bytes) {
|
|
192449
|
+
const zip2 = await import_jszip.default.loadAsync(Buffer.from(bytes));
|
|
192450
|
+
let changed = false;
|
|
192451
|
+
for (const name of Object.keys(zip2.files).filter((n) => /^ppt\/slides\/slide\d+\.xml$/.test(n))) {
|
|
192452
|
+
const xml = await zip2.file(name).async("string");
|
|
192453
|
+
const next = dedupeParagraphPropsXml(xml);
|
|
192454
|
+
if (next !== xml) {
|
|
192455
|
+
zip2.file(name, next);
|
|
192456
|
+
changed = true;
|
|
192457
|
+
}
|
|
192458
|
+
}
|
|
192459
|
+
if (!changed)
|
|
192460
|
+
return bytes;
|
|
192461
|
+
return new Uint8Array(await zip2.generateAsync({ type: "nodebuffer", compression: "DEFLATE" }));
|
|
192462
|
+
}
|
|
192463
|
+
async function normalizeChartParts(bytes) {
|
|
192464
|
+
const zip2 = await import_jszip.default.loadAsync(Buffer.from(bytes));
|
|
192465
|
+
const pres = zip2.file("ppt/presentation.xml");
|
|
192466
|
+
if (pres) {
|
|
192467
|
+
let xml = await pres.async("string");
|
|
192468
|
+
const notes = xml.match(/<p:notesMasterIdLst>[\s\S]*?<\/p:notesMasterIdLst>/);
|
|
192469
|
+
const sldIdx = xml.indexOf("<p:sldIdLst>");
|
|
192470
|
+
if (notes && sldIdx >= 0 && xml.indexOf(notes[0]) > sldIdx) {
|
|
192471
|
+
xml = xml.replace(notes[0], "");
|
|
192472
|
+
xml = xml.replace("<p:sldIdLst>", `${notes[0]}<p:sldIdLst>`);
|
|
192473
|
+
zip2.file("ppt/presentation.xml", xml);
|
|
192474
|
+
}
|
|
192475
|
+
}
|
|
192476
|
+
const parts = Object.keys(zip2.files).filter((n) => /^(ppt|word|xl)\/charts\/chart\d+\.xml$/.test(n));
|
|
192477
|
+
if (!parts.length && !pres)
|
|
192478
|
+
return bytes;
|
|
192479
|
+
for (const name of parts) {
|
|
192480
|
+
let xml = await zip2.file(name).async("string");
|
|
192481
|
+
const isLineArea = /<c:(line|area)Chart>/.test(xml);
|
|
192482
|
+
for (const ct of ["lineChart", "areaChart"]) {
|
|
192483
|
+
xml = xml.replace(new RegExp(`<c:${ct}>(?!\\s*<c:grouping)`, "g"), `<c:${ct}><c:grouping val="standard"/>`);
|
|
192484
|
+
}
|
|
192485
|
+
if (isLineArea) {
|
|
192486
|
+
xml = xml.replace(/<c:invertIfNegative[^>]*\/>/g, "");
|
|
192487
|
+
xml = xml.replace(/<c:ser>[\s\S]*?<\/c:ser>/g, (ser) => {
|
|
192488
|
+
const m = ser.match(/<c:marker>[\s\S]*?<\/c:marker>|<c:marker\s*\/>/);
|
|
192489
|
+
const dpos = ser.indexOf("<c:dLbls");
|
|
192490
|
+
if (!m || dpos < 0 || ser.indexOf(m[0]) < dpos)
|
|
192491
|
+
return ser;
|
|
192492
|
+
const without = ser.replace(m[0], "");
|
|
192493
|
+
const at = without.indexOf("<c:dLbls");
|
|
192494
|
+
return without.slice(0, at) + m[0] + without.slice(at);
|
|
192495
|
+
});
|
|
192496
|
+
}
|
|
192497
|
+
xml = xml.replace(/<c:ser>[\s\S]*?<\/c:ser>/g, (ser) => {
|
|
192498
|
+
const dPts = ser.match(/<c:dPt>[\s\S]*?<\/c:dPt>/g);
|
|
192499
|
+
if (!dPts)
|
|
192500
|
+
return ser;
|
|
192501
|
+
const stripped = ser.replace(/<c:dPt>[\s\S]*?<\/c:dPt>/g, "");
|
|
192502
|
+
for (const anchor of ["<c:dLbls", "<c:trendline", "<c:errBars", "<c:cat>", "<c:val>", "</c:ser>"]) {
|
|
192503
|
+
const pos = stripped.indexOf(anchor);
|
|
192504
|
+
if (pos >= 0)
|
|
192505
|
+
return stripped.slice(0, pos) + dPts.join("") + stripped.slice(pos);
|
|
192506
|
+
}
|
|
192507
|
+
return ser;
|
|
192508
|
+
});
|
|
192509
|
+
const declared = new Set([...xml.matchAll(/<c:(?:catAx|valAx|serAx|dateAx)>\s*<c:axId val="(\d+)"\/>/g)].map((m) => m[1]));
|
|
192510
|
+
xml = xml.replace(/<c:axId val="(\d+)"\/>/g, (m, id) => declared.has(id) ? m : "");
|
|
192511
|
+
zip2.file(name, xml);
|
|
192512
|
+
}
|
|
192513
|
+
const out = await zip2.generateAsync({ type: "nodebuffer", compression: "DEFLATE" });
|
|
192514
|
+
return new Uint8Array(out);
|
|
192515
|
+
}
|
|
192516
|
+
async function stripDanglingOverrides(bytes) {
|
|
192517
|
+
const zip2 = await import_jszip.default.loadAsync(Buffer.from(bytes));
|
|
192518
|
+
const ctFile = zip2.file("[Content_Types].xml");
|
|
192519
|
+
if (!ctFile)
|
|
192520
|
+
return bytes;
|
|
192521
|
+
const ct = await ctFile.async("string");
|
|
192522
|
+
const cleaned = ct.replace(/<Override\b[^>]*PartName="\/([^"]+)"[^>]*\/>/g, (m, part) => zip2.file(part) ? m : "");
|
|
192523
|
+
if (cleaned === ct)
|
|
192524
|
+
return bytes;
|
|
192525
|
+
zip2.file("[Content_Types].xml", cleaned);
|
|
192526
|
+
return new Uint8Array(await zip2.generateAsync({ type: "nodebuffer", compression: "DEFLATE" }));
|
|
192527
|
+
}
|
|
192528
|
+
var JSZIP_OUTPUT_TYPES = /* @__PURE__ */ new Set(["nodebuffer", "uint8array", "arraybuffer", "base64", "binarystring", "string", "array", "blob"]);
|
|
192529
|
+
function finalizingPptxGenJS(Base) {
|
|
192530
|
+
const finalized = async (self2, compression) => {
|
|
192531
|
+
const raw = await Base.prototype.write.call(self2, { outputType: "nodebuffer", compression });
|
|
192532
|
+
return finalizePptx(new Uint8Array(raw));
|
|
192533
|
+
};
|
|
192534
|
+
const Finalizing = class extends Base {
|
|
192535
|
+
async write(props) {
|
|
192536
|
+
const p = props;
|
|
192537
|
+
const outputType = typeof p === "object" && p?.outputType ? p.outputType : typeof p === "string" && p ? p : null;
|
|
192538
|
+
const compression = typeof p === "object" && p?.compression ? true : false;
|
|
192539
|
+
if (outputType === "STREAM")
|
|
192540
|
+
return this.stream({ compression });
|
|
192541
|
+
const bytes = await finalized(this, compression);
|
|
192542
|
+
const type = outputType ?? "blob";
|
|
192543
|
+
if (!JSZIP_OUTPUT_TYPES.has(type))
|
|
192544
|
+
return Base.prototype.write.call(this, props);
|
|
192545
|
+
if (type === "nodebuffer")
|
|
192546
|
+
return Buffer.from(bytes);
|
|
192547
|
+
if (type === "uint8array")
|
|
192548
|
+
return bytes;
|
|
192549
|
+
const zip2 = await import_jszip.default.loadAsync(Buffer.from(bytes));
|
|
192550
|
+
return zip2.generateAsync({ type, compression: compression ? "DEFLATE" : "STORE" });
|
|
192551
|
+
}
|
|
192552
|
+
async stream(props) {
|
|
192553
|
+
return Buffer.from(await finalized(this, Boolean(props?.compression)));
|
|
192554
|
+
}
|
|
192555
|
+
async writeFile(props) {
|
|
192556
|
+
if (typeof props === "string")
|
|
192557
|
+
console.log("Warning: `writeFile(filename)` is deprecated - please use `WriteFileProps` argument (v3.5.0)");
|
|
192558
|
+
const name = typeof props === "object" && props?.fileName ? props.fileName : typeof props === "string" ? props : "";
|
|
192559
|
+
const fileName = name ? String(name).toLowerCase().endsWith(".pptx") ? String(name) : `${name}.pptx` : "Presentation.pptx";
|
|
192560
|
+
const compression = typeof props === "object" && props?.compression ? true : false;
|
|
192561
|
+
await (0, import_promises.writeFile)(fileName, await finalized(this, compression));
|
|
192562
|
+
return fileName;
|
|
192563
|
+
}
|
|
192564
|
+
};
|
|
192565
|
+
Object.defineProperty(Finalizing, "name", { value: Base.name || "PptxGenJS" });
|
|
192566
|
+
return Finalizing;
|
|
192567
|
+
}
|
|
192568
|
+
|
|
192569
|
+
// apps/admin/data/skills.lib/document/bin-src/doc-run.mjs
|
|
192432
192570
|
var REGISTRY = {
|
|
192433
|
-
pptxgenjs: import_pptxgenjs.default,
|
|
192434
|
-
jszip:
|
|
192571
|
+
pptxgenjs: finalizingPptxGenJS(import_pptxgenjs.default),
|
|
192572
|
+
jszip: import_jszip2.default,
|
|
192435
192573
|
pizzip: import_pizzip.default,
|
|
192436
192574
|
"pdf-lib": pdfLib,
|
|
192437
192575
|
docx: dist_exports,
|
|
@@ -8,6 +8,17 @@ var import_node_path2 = require("node:path");
|
|
|
8
8
|
// packages/core/dist/document/pdf-extract.js
|
|
9
9
|
var import_node_path = require("node:path");
|
|
10
10
|
var import_node_url = require("node:url");
|
|
11
|
+
|
|
12
|
+
// packages/core/dist/document/pdf-encrypted.js
|
|
13
|
+
var ENCRYPTED_PDF_MESSAGE = "PDF is password-protected (encrypted); decrypt first: pdf-ops decrypt <in> <password> <out>";
|
|
14
|
+
var PdfEncryptedError = class extends Error {
|
|
15
|
+
constructor() {
|
|
16
|
+
super(ENCRYPTED_PDF_MESSAGE);
|
|
17
|
+
this.name = "PdfEncryptedError";
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
// packages/core/dist/document/pdf-extract.js
|
|
11
22
|
var _mupdf = null;
|
|
12
23
|
function loadMupdf() {
|
|
13
24
|
if (!_mupdf) {
|
|
@@ -33,6 +44,8 @@ function textTableHint(text) {
|
|
|
33
44
|
async function openDoc(bytes) {
|
|
34
45
|
const mupdf = await loadMupdf();
|
|
35
46
|
const doc = mupdf.Document.openDocument(bytes, "application/pdf");
|
|
47
|
+
if (doc.needsPassword())
|
|
48
|
+
throw new PdfEncryptedError();
|
|
36
49
|
if (doc.countPages() === 0) {
|
|
37
50
|
throw new Error("PDF has no readable pages (corrupt, encrypted, or empty)");
|
|
38
51
|
}
|
|
@@ -8,6 +8,17 @@ var import_node_path2 = require("node:path");
|
|
|
8
8
|
// packages/core/dist/document/pdf-extract.js
|
|
9
9
|
var import_node_path = require("node:path");
|
|
10
10
|
var import_node_url = require("node:url");
|
|
11
|
+
|
|
12
|
+
// packages/core/dist/document/pdf-encrypted.js
|
|
13
|
+
var ENCRYPTED_PDF_MESSAGE = "PDF is password-protected (encrypted); decrypt first: pdf-ops decrypt <in> <password> <out>";
|
|
14
|
+
var PdfEncryptedError = class extends Error {
|
|
15
|
+
constructor() {
|
|
16
|
+
super(ENCRYPTED_PDF_MESSAGE);
|
|
17
|
+
this.name = "PdfEncryptedError";
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
// packages/core/dist/document/pdf-extract.js
|
|
11
22
|
var _mupdf = null;
|
|
12
23
|
function loadMupdf() {
|
|
13
24
|
if (!_mupdf) {
|
|
@@ -33,6 +44,8 @@ function textTableHint(text) {
|
|
|
33
44
|
async function openDoc(bytes) {
|
|
34
45
|
const mupdf = await loadMupdf();
|
|
35
46
|
const doc = mupdf.Document.openDocument(bytes, "application/pdf");
|
|
47
|
+
if (doc.needsPassword())
|
|
48
|
+
throw new PdfEncryptedError();
|
|
36
49
|
if (doc.countPages() === 0) {
|
|
37
50
|
throw new Error("PDF has no readable pages (corrupt, encrypted, or empty)");
|
|
38
51
|
}
|