@taloswork/ose-shared 0.1.11 → 0.1.13

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.
Files changed (159) hide show
  1. package/package.json +3 -3
  2. package/skills/document/SKILL.md +135 -219
  3. package/skills/document/art-directions/base.css +27 -2
  4. package/skills/document/art-directions/cinematic-depth.css +3 -1
  5. package/skills/document/art-directions/collage-paper.css +5 -1
  6. package/skills/document/art-directions/editorial-cut.css +5 -1
  7. package/skills/document/art-directions/geometric-pop.css +6 -0
  8. package/skills/document/art-directions/gradient-mesh.css +5 -1
  9. package/skills/document/art-directions/illustrated-doodle.css +5 -0
  10. package/skills/document/art-directions/luxury-ornament.css +4 -1
  11. package/skills/document/art-directions/maximalist-blocks.css +6 -0
  12. package/skills/document/art-directions/technical-grid.css +4 -0
  13. package/skills/document/assets/fonts/fonts.json +2 -2
  14. package/skills/document/assets/pdf-fonts/NotoSansSC-PDF-Bold.ttf +0 -0
  15. package/skills/document/assets/pdf-fonts/NotoSansSC-PDF-Regular.ttf +0 -0
  16. package/skills/document/assets/pdf-fonts/OFL.txt +93 -0
  17. package/skills/document/assets/pdf-fonts/README.md +35 -0
  18. package/skills/document/assets/tessdata/LICENSE-Apache-2.0.txt +202 -0
  19. package/skills/document/assets/tessdata/README.md +21 -0
  20. package/skills/document/assets/tessdata/chi_sim.traineddata.gz +0 -0
  21. package/skills/document/assets/tessdata/eng.traineddata.gz +0 -0
  22. package/skills/document/bin/deck-build.cjs +12563 -83
  23. package/skills/document/bin/deck-chart.cjs +771 -0
  24. package/skills/document/bin/deck-plan.cjs +12414 -0
  25. package/skills/document/bin/deck-qa.cjs +1075 -266
  26. package/skills/document/bin/deck-scenario.cjs +1363 -0
  27. package/skills/document/bin/deck-styles.cjs +1604 -0
  28. package/skills/document/bin/doc-convert.cjs +308 -292
  29. package/skills/document/bin/doc-fill.cjs +73264 -192
  30. package/skills/document/bin/doc-gen.cjs +2491 -312
  31. package/skills/document/bin/doc-run.cjs +162 -24
  32. package/skills/document/bin/doc-scan.cjs +13 -0
  33. package/skills/document/bin/doc-text.cjs +13 -0
  34. package/skills/document/bin/doc-validate.cjs +838 -68
  35. package/skills/document/bin/doc-xml.cjs +9 -5
  36. package/skills/document/bin/docx-annotate.cjs +95 -19
  37. package/skills/document/bin/docx-defaults.cjs +9907 -0
  38. package/skills/document/bin/fontkit.cjs +1 -0
  39. package/skills/document/bin/html2pptx.cjs +36622 -31394
  40. package/skills/document/bin/ocr-worker.cjs +1 -0
  41. package/skills/document/bin/ocr.cjs +131 -40
  42. package/skills/document/bin/pdf-form.cjs +682 -177
  43. package/skills/document/bin/pdf-images.cjs +13 -0
  44. package/skills/document/bin/pdf-ops.cjs +642 -199
  45. package/skills/document/bin/pdf-render.cjs +19 -3
  46. package/skills/document/bin/pdf-tables.cjs +13 -0
  47. package/skills/document/bin/pptx-clone.cjs +3 -3
  48. package/skills/document/bin/pptx-notes.cjs +10038 -0
  49. package/skills/document/bin/pptx-slide.cjs +3 -3
  50. package/skills/document/bin/pptx-tokenize.cjs +19 -4
  51. package/skills/document/bin/template-skin.cjs +10910 -0
  52. package/skills/document/bin/xlsx-query.cjs +192 -61
  53. package/skills/document/bin-reference.md +61 -33
  54. package/skills/document/catalog.json +33 -32
  55. package/skills/document/content-pipeline.md +179 -257
  56. package/skills/document/deck-design.md +378 -638
  57. package/skills/document/generated-visuals.md +99 -0
  58. package/skills/document/layouts/MAINTAINERS.md +33 -0
  59. package/skills/document/layouts/README.md +49 -36
  60. package/skills/document/layouts/big-stat.tpl +1 -1
  61. package/skills/document/layouts/capacity.json +1 -0
  62. package/skills/document/layouts/cards-3.tpl +1 -1
  63. package/skills/document/layouts/chart-full.tpl +1 -1
  64. package/skills/document/layouts/chart-kpi.tpl +1 -1
  65. package/skills/document/layouts/comparison.tpl +1 -1
  66. package/skills/document/layouts/data-table.tpl +1 -1
  67. package/skills/document/layouts/funnel.tpl +1 -1
  68. package/skills/document/layouts/gantt.tpl +1 -1
  69. package/skills/document/layouts/hub-flow.tpl +4 -0
  70. package/skills/document/layouts/icon-row.tpl +1 -1
  71. package/skills/document/layouts/image-grid.tpl +1 -1
  72. package/skills/document/layouts/matrix-2x2.tpl +1 -1
  73. package/skills/document/layouts/mock-qa.tpl +4 -0
  74. package/skills/document/layouts/profiles.json +2 -2
  75. package/skills/document/layouts/pyramid.tpl +1 -1
  76. package/skills/document/layouts/radar.tpl +1 -1
  77. package/skills/document/layouts/ring-progress.tpl +1 -1
  78. package/skills/document/layouts/slots.json +1 -1
  79. package/skills/document/layouts/steps-vertical.tpl +1 -1
  80. package/skills/document/layouts/steps.tpl +1 -1
  81. package/skills/document/layouts/three-kpi.tpl +1 -1
  82. package/skills/document/layouts/timeline.tpl +1 -1
  83. package/skills/document/layouts/toc-panel.tpl +2 -2
  84. package/skills/document/layouts/two-kpi.tpl +2 -2
  85. package/skills/document/layouts/versus.tpl +1 -1
  86. package/skills/document/motion/README.md +3 -2
  87. package/skills/document/office.md +3 -3
  88. package/skills/document/packs/README.md +1 -1
  89. package/skills/document/packs/board-brief/backdrop.html +2 -0
  90. package/skills/document/packs/board-brief/pack.css +2 -1
  91. package/skills/document/packs/mckinsey-photo/backdrop.html +2 -0
  92. package/skills/document/packs/mckinsey-photo/pack.css +2 -1
  93. package/skills/document/packs/press-room/backdrop.html +2 -0
  94. package/skills/document/packs/press-room/pack.css +2 -1
  95. package/skills/document/packs/prismatic-3d/backdrop.html +2 -0
  96. package/skills/document/packs/prismatic-3d/pack.css +4 -1
  97. package/skills/document/pdf.md +60 -43
  98. package/skills/document/rewrite.md +257 -309
  99. package/skills/document/scenarios.json +1307 -0
  100. package/skills/document/scenarios.schema.json +104 -0
  101. package/skills/document/styles/README.md +15 -25
  102. package/skills/document/styles/_backdrops/rimlight.html +3 -2
  103. package/skills/document/styles/_contract-defaults.css +31 -2
  104. package/skills/document/styles/_samples/_groups/biz-premium.webp +0 -0
  105. package/skills/document/styles/_samples/mckinsey.webp +0 -0
  106. package/skills/document/styles/anthropic/skin.css +6 -3
  107. package/skills/document/styles/apple/skin.css +4 -3
  108. package/skills/document/styles/bistro-warm/backdrop.html +2 -0
  109. package/skills/document/styles/bistro-warm/skin.css +4 -1
  110. package/skills/document/styles/black-gold/skin.css +6 -5
  111. package/skills/document/styles/bold-clash/backdrop.html +2 -0
  112. package/skills/document/styles/bold-clash/skin.css +2 -1
  113. package/skills/document/styles/branding/skin.css +4 -4
  114. package/skills/document/styles/campus-teal/backdrop.html +2 -0
  115. package/skills/document/styles/campus-teal/skin.css +2 -1
  116. package/skills/document/styles/cinereel/skin.css +7 -3
  117. package/skills/document/styles/clinic-care/backdrop.html +2 -0
  118. package/skills/document/styles/clinic-care/skin.css +2 -1
  119. package/skills/document/styles/cool/skin.css +6 -5
  120. package/skills/document/styles/dark-glass/backdrop.html +2 -0
  121. package/skills/document/styles/dark-glass/skin.css +2 -1
  122. package/skills/document/styles/gov-brief/backdrop.html +2 -0
  123. package/skills/document/styles/gov-brief/skin.css +2 -1
  124. package/skills/document/styles/grid-tech/backdrop.html +2 -0
  125. package/skills/document/styles/grid-tech/skin.css +2 -1
  126. package/skills/document/styles/hand-drawn/skin.css +3 -3
  127. package/skills/document/styles/ivory-gold/skin.css +7 -6
  128. package/skills/document/styles/legal-slate/backdrop.html +2 -0
  129. package/skills/document/styles/legal-slate/skin.css +2 -1
  130. package/skills/document/styles/magazine-ink/skin.css +4 -3
  131. package/skills/document/styles/mckinsey/backdrop.html +7 -5
  132. package/skills/document/styles/mckinsey/skin.css +2 -1
  133. package/skills/document/styles/memphis/backdrop.html +2 -0
  134. package/skills/document/styles/memphis/skin.css +2 -1
  135. package/skills/document/styles/mono/skin.css +6 -2
  136. package/skills/document/styles/neon-cyber/backdrop.html +2 -0
  137. package/skills/document/styles/neon-cyber/skin.css +2 -1
  138. package/skills/document/styles/olive-gold/skin.css +7 -6
  139. package/skills/document/styles/organic-earth/backdrop.html +2 -0
  140. package/skills/document/styles/organic-earth/skin.css +2 -1
  141. package/skills/document/styles/pastel-saas/backdrop.html +2 -0
  142. package/skills/document/styles/pastel-saas/skin.css +2 -1
  143. package/skills/document/styles/portfolio-noir/backdrop.html +2 -0
  144. package/skills/document/styles/portfolio-noir/skin.css +2 -1
  145. package/skills/document/styles/retro-press/backdrop.html +2 -0
  146. package/skills/document/styles/retro-press/skin.css +2 -1
  147. package/skills/document/styles/sport-arena/backdrop.html +2 -0
  148. package/skills/document/styles/sport-arena/skin.css +4 -1
  149. package/skills/document/styles/swiss-grid/skin.css +10 -5
  150. package/skills/document/styles/wedding-blush/backdrop.html +2 -0
  151. package/skills/document/styles/wedding-blush/skin.css +4 -1
  152. package/skills/document/theme-system.md +85 -77
  153. package/skills/document/themes/README.md +7 -5
  154. package/skills/document/vision.md +8 -5
  155. package/skills/document/xlsx.md +15 -25
  156. package/skills/grill-me/SKILL.md +6 -0
  157. package/skills/grill-me/agents/openai.yaml +5 -0
  158. package/skills/grilling/SKILL.md +28 -0
  159. package/skills/grilling/agents/openai.yaml +3 -0
@@ -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) {
@@ -20,21 +31,26 @@ function loadMupdf() {
20
31
  async function openDoc(bytes) {
21
32
  const mupdf = await loadMupdf();
22
33
  const doc = mupdf.Document.openDocument(bytes, "application/pdf");
34
+ if (doc.needsPassword())
35
+ throw new PdfEncryptedError();
23
36
  if (doc.countPages() === 0) {
24
37
  throw new Error("PDF has no readable pages (corrupt, encrypted, or empty)");
25
38
  }
26
39
  return { mupdf, doc };
27
40
  }
28
- async function renderPdfPages(bytes, pages, scale = 2) {
41
+ async function renderPdfPages(bytes, pages, scale = 2, maxEdge) {
29
42
  const { mupdf, doc } = await openDoc(bytes);
30
43
  const total = doc.countPages();
31
44
  const wanted = pages === "all" ? Array.from({ length: total }, (_, i) => i + 1) : pages;
32
45
  const out = [];
33
- const matrix = mupdf.Matrix.scale(scale, scale);
34
46
  for (const p of wanted) {
35
47
  if (p < 1 || p > total)
36
48
  continue;
37
- const pix = doc.loadPage(p - 1).toPixmap(matrix, mupdf.ColorSpace.DeviceRGB, false, true);
49
+ const page = doc.loadPage(p - 1);
50
+ const [x0, y0, x1, y1] = page.getBounds();
51
+ const longest = Math.max(x1 - x0, y1 - y0);
52
+ const s = maxEdge && longest > 0 ? Math.min(scale, maxEdge / longest) : scale;
53
+ const pix = page.toPixmap(mupdf.Matrix.scale(s, s), mupdf.ColorSpace.DeviceRGB, false, true);
38
54
  out.push({ page: p, png: pix.asPNG() });
39
55
  }
40
56
  return out;
@@ -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) {
@@ -20,6 +31,8 @@ function loadMupdf() {
20
31
  async function openDoc(bytes) {
21
32
  const mupdf = await loadMupdf();
22
33
  const doc = mupdf.Document.openDocument(bytes, "application/pdf");
34
+ if (doc.needsPassword())
35
+ throw new PdfEncryptedError();
23
36
  if (doc.countPages() === 0) {
24
37
  throw new Error("PDF has no readable pages (corrupt, encrypted, or empty)");
25
38
  }
@@ -9892,7 +9892,7 @@ function replaceTextAcrossRuns(xml, find, replacement, opts) {
9892
9892
  let flat = "";
9893
9893
  for (const m of para.matchAll(textRe)) {
9894
9894
  const text = unescXml(m[2]);
9895
- segs.push({ el: m[0], attrs: m[1] ?? "", text, start: flat.length });
9895
+ segs.push({ el: m[0], at: m.index, attrs: m[1] ?? "", text, start: flat.length });
9896
9896
  flat += text;
9897
9897
  }
9898
9898
  if (!flat.includes(find))
@@ -9921,7 +9921,7 @@ function replaceTextAcrossRuns(xml, find, replacement, opts) {
9921
9921
  return pieces.join("");
9922
9922
  });
9923
9923
  let out = para;
9924
- for (let i = 0; i < segs.length; i++) {
9924
+ for (let i = segs.length - 1; i >= 0; i--) {
9925
9925
  if (newTexts[i] === segs[i].text)
9926
9926
  continue;
9927
9927
  const escaped = escXml(newTexts[i]);
@@ -9929,7 +9929,7 @@ function replaceTextAcrossRuns(xml, find, replacement, opts) {
9929
9929
  if (textTag === "w:t" && /^\s|\s$/.test(newTexts[i]) && !/xml:space="preserve"/.test(attrs)) {
9930
9930
  attrs = `${attrs} xml:space="preserve"`;
9931
9931
  }
9932
- out = out.replace(segs[i].el, `<${textTag}${attrs}>${escaped}</${textTag}>`);
9932
+ out = out.slice(0, segs[i].at) + `<${textTag}${attrs}>${escaped}</${textTag}>` + out.slice(segs[i].at + segs[i].el.length);
9933
9933
  }
9934
9934
  return out;
9935
9935
  });