@taloswork/ose-shared 0.1.12 → 0.1.14

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 (71) hide show
  1. package/package.json +3 -3
  2. package/skills/document/SKILL.md +33 -45
  3. package/skills/document/bin/deck-build.cjs +10482 -272
  4. package/skills/document/bin/deck-chart.cjs +21 -12
  5. package/skills/document/bin/deck-plan.cjs +11654 -42
  6. package/skills/document/bin/deck-qa.cjs +107 -23
  7. package/skills/document/bin/deck-scenario.cjs +20 -3
  8. package/skills/document/bin/deck-styles.cjs +1604 -0
  9. package/skills/document/bin/doc-convert.cjs +200 -260
  10. package/skills/document/bin/doc-fill.cjs +140 -19
  11. package/skills/document/bin/doc-gen.cjs +1909 -282
  12. package/skills/document/bin/doc-scan.cjs +6 -1
  13. package/skills/document/bin/doc-text.cjs +6 -1
  14. package/skills/document/bin/doc-validate.cjs +139 -54
  15. package/skills/document/bin/docx-defaults.cjs +9907 -0
  16. package/skills/document/bin/html2pptx.cjs +35960 -31973
  17. package/skills/document/bin/pdf-form.cjs +14 -1
  18. package/skills/document/bin/pdf-images.cjs +6 -1
  19. package/skills/document/bin/pdf-ops.cjs +14 -1
  20. package/skills/document/bin/pdf-render.cjs +6 -1
  21. package/skills/document/bin/pdf-tables.cjs +6 -1
  22. package/skills/document/bin/pptx-notes.cjs +10038 -0
  23. package/skills/document/bin/pptx-tokenize.cjs +19 -4
  24. package/skills/document/bin/template-skin.cjs +10915 -0
  25. package/skills/document/bin-reference.md +15 -10
  26. package/skills/document/catalog.json +33 -32
  27. package/skills/document/content-pipeline.md +79 -44
  28. package/skills/document/deck-design.md +55 -32
  29. package/skills/document/generated-visuals.md +99 -0
  30. package/skills/document/layouts/MAINTAINERS.md +33 -0
  31. package/skills/document/layouts/README.md +20 -20
  32. package/skills/document/layouts/big-stat.tpl +1 -1
  33. package/skills/document/layouts/capacity.json +1 -1
  34. package/skills/document/layouts/cards-3.tpl +1 -1
  35. package/skills/document/layouts/chart-full.tpl +1 -1
  36. package/skills/document/layouts/chart-kpi.tpl +1 -1
  37. package/skills/document/layouts/comparison.tpl +1 -1
  38. package/skills/document/layouts/data-table.tpl +1 -1
  39. package/skills/document/layouts/funnel.tpl +1 -1
  40. package/skills/document/layouts/gantt.tpl +1 -1
  41. package/skills/document/layouts/hub-flow.tpl +4 -0
  42. package/skills/document/layouts/icon-row.tpl +1 -1
  43. package/skills/document/layouts/image-grid.tpl +1 -1
  44. package/skills/document/layouts/matrix-2x2.tpl +1 -1
  45. package/skills/document/layouts/mock-qa.tpl +4 -0
  46. package/skills/document/layouts/profiles.json +2 -2
  47. package/skills/document/layouts/pyramid.tpl +1 -1
  48. package/skills/document/layouts/radar.tpl +1 -1
  49. package/skills/document/layouts/ring-progress.tpl +1 -1
  50. package/skills/document/layouts/slots.json +1 -1
  51. package/skills/document/layouts/steps-vertical.tpl +1 -1
  52. package/skills/document/layouts/steps.tpl +1 -1
  53. package/skills/document/layouts/three-kpi.tpl +1 -1
  54. package/skills/document/layouts/timeline.tpl +1 -1
  55. package/skills/document/layouts/toc-panel.tpl +1 -1
  56. package/skills/document/layouts/two-kpi.tpl +2 -2
  57. package/skills/document/layouts/versus.tpl +1 -1
  58. package/skills/document/packs/README.md +1 -1
  59. package/skills/document/pdf.md +13 -0
  60. package/skills/document/rewrite.md +23 -8
  61. package/skills/document/scenarios.json +19 -2
  62. package/skills/document/scenarios.schema.json +1 -0
  63. package/skills/document/styles/_backdrops/rimlight.html +3 -2
  64. package/skills/document/styles/_contract-defaults.css +6 -1
  65. package/skills/document/styles/_samples/_groups/biz-premium.webp +0 -0
  66. package/skills/document/styles/_samples/mckinsey.webp +0 -0
  67. package/skills/document/styles/mckinsey/backdrop.html +7 -5
  68. package/skills/grill-me/SKILL.md +6 -0
  69. package/skills/grill-me/agents/openai.yaml +5 -0
  70. package/skills/grilling/SKILL.md +28 -0
  71. package/skills/grilling/agents/openai.yaml +3 -0
@@ -168,23 +168,32 @@ function renderChartSvg(spec, opts) {
168
168
  const svg = `<svg xmlns="http://www.w3.org/2000/svg" class="talos-chart-svg" data-chart-type="${type}" ${size} viewBox="0 0 ${W} ${H}" preserveAspectRatio="xMidYMid meet" role="img" aria-label="${aria}" style="display:block;overflow:visible;font-family:var(--font-body, inherit);font-size:${base}px">${body}</svg>`;
169
169
  return { svg, warnings, errors };
170
170
  }
171
- function legendRow(names, colors, x, y, base, maxW) {
172
- let cx = x;
173
- let cy = y;
171
+ function legendRow(names, colors, x, y, base, maxW, centre = false) {
174
172
  const size = Math.round(base * 0.75);
175
173
  const rowH = Math.round(base * 1.6);
176
- const parts = [];
174
+ const rows = [[]];
175
+ let rowW = 0;
177
176
  names.forEach((name, i) => {
178
177
  const w = size + 6 + textW(name, base) + 18;
179
- if (cx > x && cx + w > x + maxW) {
180
- cx = x;
181
- cy += rowH;
178
+ if (rowW > 0 && rowW + w > maxW) {
179
+ rows.push([]);
180
+ rowW = 0;
182
181
  }
183
- parts.push(`<rect x="${r1(cx)}" y="${r1(cy + (rowH - size) / 2 - 2)}" width="${size}" height="${size}" rx="2" style="fill:${colors[i]}"/>`);
184
- parts.push(`<text x="${r1(cx + size + 6)}" y="${r1(cy + rowH / 2 + base * 0.35 - 2)}" style="fill:${TXT}">${esc(name)}</text>`);
185
- cx += w;
182
+ rows[rows.length - 1].push({ name, color: colors[i], w });
183
+ rowW += w;
186
184
  });
187
- return [parts.join(""), cy - y + rowH];
185
+ const parts = [];
186
+ rows.forEach((row, ri) => {
187
+ const used = row.reduce((sum, it) => sum + it.w, 0) - 18;
188
+ let cx = centre ? x + Math.max(0, (maxW - used) / 2) : x;
189
+ const cy = y + ri * rowH;
190
+ for (const it of row) {
191
+ parts.push(`<rect x="${r1(cx)}" y="${r1(cy + (rowH - size) / 2 - 2)}" width="${size}" height="${size}" rx="2" style="fill:${it.color}"/>`);
192
+ parts.push(`<text x="${r1(cx + size + 6)}" y="${r1(cy + rowH / 2 + base * 0.35 - 2)}" style="fill:${TXT}">${esc(it.name)}</text>`);
193
+ cx += it.w;
194
+ }
195
+ });
196
+ return [parts.join(""), rows.length * rowH];
188
197
  }
189
198
  function seriesColors(n) {
190
199
  return n.series.length === 1 ? [SINGLE] : n.series.map((_, i) => RAMP[i]);
@@ -468,7 +477,7 @@ function radarBody(n, W, H, base, spec, label, warnings) {
468
477
  const parts = [];
469
478
  let top = 0;
470
479
  if (n.series.length > 1) {
471
- const [lg, h] = legendRow(n.series.map((s) => s.name || "\u2014"), colors, 0, 0, base, W);
480
+ const [lg, h] = legendRow(n.series.map((s) => s.name || "\u2014"), colors, 0, 0, base, W, true);
472
481
  parts.push(lg);
473
482
  top = h + 4;
474
483
  }