@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
@@ -10007,7 +10007,7 @@ function replaceTextAcrossRuns(xml, find, replacement, opts) {
10007
10007
  let flat = "";
10008
10008
  for (const m of para.matchAll(textRe)) {
10009
10009
  const text = unescXml(m[2]);
10010
- segs.push({ el: m[0], attrs: m[1] ?? "", text, start: flat.length });
10010
+ segs.push({ el: m[0], at: m.index, attrs: m[1] ?? "", text, start: flat.length });
10011
10011
  flat += text;
10012
10012
  }
10013
10013
  if (!flat.includes(find))
@@ -10036,7 +10036,7 @@ function replaceTextAcrossRuns(xml, find, replacement, opts) {
10036
10036
  return pieces.join("");
10037
10037
  });
10038
10038
  let out2 = para;
10039
- for (let i = 0; i < segs.length; i++) {
10039
+ for (let i = segs.length - 1; i >= 0; i--) {
10040
10040
  if (newTexts[i] === segs[i].text)
10041
10041
  continue;
10042
10042
  const escaped = escXml(newTexts[i]);
@@ -10044,7 +10044,7 @@ function replaceTextAcrossRuns(xml, find, replacement, opts) {
10044
10044
  if (textTag === "w:t" && /^\s|\s$/.test(newTexts[i]) && !/xml:space="preserve"/.test(attrs)) {
10045
10045
  attrs = `${attrs} xml:space="preserve"`;
10046
10046
  }
10047
- out2 = out2.replace(segs[i].el, `<${textTag}${attrs}>${escaped}</${textTag}>`);
10047
+ out2 = out2.slice(0, segs[i].at) + `<${textTag}${attrs}>${escaped}</${textTag}>` + out2.slice(segs[i].at + segs[i].el.length);
10048
10048
  }
10049
10049
  return out2;
10050
10050
  });
@@ -9910,14 +9910,27 @@ function paraText(para) {
9910
9910
  t += unescXml(m[1]);
9911
9911
  return t;
9912
9912
  }
9913
- function txBodyAsToken(txBody, tokenText) {
9913
+ function leadRuns(para) {
9914
+ const runs = [...para.matchAll(/<a:r\b[^>]*>[\s\S]*?<\/a:r>/g)].map((m) => m[0]);
9915
+ if (runs.length < 2)
9916
+ return [];
9917
+ const rp = (r) => RE.rPr.exec(r)?.[0]?.replace(/\s(?:lang|altLang|dirty|err|smtClean|noProof|kern|spc)="[^"]*"/g, "");
9918
+ const a = rp(runs[0]);
9919
+ const b = rp(runs[1]);
9920
+ return a && b && a !== b ? runs : [];
9921
+ }
9922
+ function txBodyAsToken(txBody, tokenText, restToken) {
9914
9923
  const bodyPr = RE.bodyPr.exec(txBody)?.[0] ?? "<a:bodyPr/>";
9915
9924
  const lstStyle = RE.lstStyle.exec(txBody)?.[0] ?? "";
9916
9925
  const firstPara = RE.para1.exec(txBody)?.[0] ?? "";
9917
9926
  const pPr = firstPara ? RE.pPr.exec(firstPara)?.[0] ?? "" : "";
9918
9927
  const firstRun = firstPara ? RE.firstRun.exec(firstPara)?.[0] ?? "" : "";
9919
9928
  const rPr = firstRun ? RE.rPr.exec(firstRun)?.[0] ?? "" : "";
9920
- const p = `<a:p>${pPr}<a:r>${rPr}<a:t>${tokenText}</a:t></a:r></a:p>`;
9929
+ let p = `<a:p>${pPr}<a:r>${rPr}<a:t>${tokenText}</a:t></a:r></a:p>`;
9930
+ if (restToken) {
9931
+ const rPr2 = RE.rPr.exec(leadRuns(firstPara)[1])?.[0] ?? "";
9932
+ p += `<a:p>${pPr}<a:r>${rPr2}<a:t>${restToken}</a:t></a:r></a:p>`;
9933
+ }
9921
9934
  return `<p:txBody>${bodyPr}${lstStyle}${p}</p:txBody>`;
9922
9935
  }
9923
9936
  function tokenizeSlide(xml, slideIndex, warn) {
@@ -9947,7 +9960,8 @@ function tokenizeSlide(xml, slideIndex, warn) {
9947
9960
  const original = paras.join("\n");
9948
9961
  if (!phM && !original.trim())
9949
9962
  return sp;
9950
- const multiline = paras.filter((p) => p.trim().length > 0).length > 1;
9963
+ const lead = leadRuns(RE.para1.exec(txBody)?.[0] ?? "").length > 0;
9964
+ const multiline = lead || paras.filter((p) => p.trim().length > 0).length > 1;
9951
9965
  const token = mkToken(role);
9952
9966
  if (phM && !original.trim())
9953
9967
  warn(`slide ${slideIndex}: ${role} placeholder was empty \u2014 tokenized anyway`);
@@ -9956,12 +9970,13 @@ function tokenizeSlide(xml, slideIndex, warn) {
9956
9970
  role,
9957
9971
  type: "text",
9958
9972
  ...multiline ? { multiline: true } : {},
9973
+ ...lead ? { leadStyle: true } : {},
9959
9974
  ...phType ? { phType } : {},
9960
9975
  ...phIdx ? { phIdx } : {},
9961
9976
  capacityChars: Math.max(1, Math.round(visualWidth(original) || 20)),
9962
9977
  ...original ? { original: original.slice(0, 120) } : {}
9963
9978
  });
9964
- return sp.replace(txBody, txBodyAsToken(txBody, `{{${token}}}`));
9979
+ return sp.replace(txBody, txBodyAsToken(txBody, `{{${token}}}`, lead ? `{{${token}_rest}}` : void 0));
9965
9980
  });
9966
9981
  for (const m of out.matchAll(RE.pic)) {
9967
9982
  const rel = RE.blip.exec(m[0])?.[1];