@taloswork/ose-shared 0.1.12 → 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 (66) 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 +95 -21
  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 +182 -257
  10. package/skills/document/bin/doc-fill.cjs +140 -19
  11. package/skills/document/bin/doc-gen.cjs +1903 -281
  12. package/skills/document/bin/doc-validate.cjs +127 -52
  13. package/skills/document/bin/docx-defaults.cjs +9907 -0
  14. package/skills/document/bin/html2pptx.cjs +35949 -31972
  15. package/skills/document/bin/pdf-form.cjs +8 -0
  16. package/skills/document/bin/pdf-ops.cjs +8 -0
  17. package/skills/document/bin/pptx-notes.cjs +10038 -0
  18. package/skills/document/bin/pptx-tokenize.cjs +19 -4
  19. package/skills/document/bin/template-skin.cjs +10910 -0
  20. package/skills/document/bin-reference.md +15 -10
  21. package/skills/document/catalog.json +33 -32
  22. package/skills/document/content-pipeline.md +79 -44
  23. package/skills/document/deck-design.md +55 -32
  24. package/skills/document/generated-visuals.md +99 -0
  25. package/skills/document/layouts/MAINTAINERS.md +33 -0
  26. package/skills/document/layouts/README.md +20 -20
  27. package/skills/document/layouts/big-stat.tpl +1 -1
  28. package/skills/document/layouts/capacity.json +1 -1
  29. package/skills/document/layouts/cards-3.tpl +1 -1
  30. package/skills/document/layouts/chart-full.tpl +1 -1
  31. package/skills/document/layouts/chart-kpi.tpl +1 -1
  32. package/skills/document/layouts/comparison.tpl +1 -1
  33. package/skills/document/layouts/data-table.tpl +1 -1
  34. package/skills/document/layouts/funnel.tpl +1 -1
  35. package/skills/document/layouts/gantt.tpl +1 -1
  36. package/skills/document/layouts/hub-flow.tpl +4 -0
  37. package/skills/document/layouts/icon-row.tpl +1 -1
  38. package/skills/document/layouts/image-grid.tpl +1 -1
  39. package/skills/document/layouts/matrix-2x2.tpl +1 -1
  40. package/skills/document/layouts/mock-qa.tpl +4 -0
  41. package/skills/document/layouts/profiles.json +2 -2
  42. package/skills/document/layouts/pyramid.tpl +1 -1
  43. package/skills/document/layouts/radar.tpl +1 -1
  44. package/skills/document/layouts/ring-progress.tpl +1 -1
  45. package/skills/document/layouts/slots.json +1 -1
  46. package/skills/document/layouts/steps-vertical.tpl +1 -1
  47. package/skills/document/layouts/steps.tpl +1 -1
  48. package/skills/document/layouts/three-kpi.tpl +1 -1
  49. package/skills/document/layouts/timeline.tpl +1 -1
  50. package/skills/document/layouts/toc-panel.tpl +1 -1
  51. package/skills/document/layouts/two-kpi.tpl +2 -2
  52. package/skills/document/layouts/versus.tpl +1 -1
  53. package/skills/document/packs/README.md +1 -1
  54. package/skills/document/pdf.md +13 -0
  55. package/skills/document/rewrite.md +23 -8
  56. package/skills/document/scenarios.json +19 -2
  57. package/skills/document/scenarios.schema.json +1 -0
  58. package/skills/document/styles/_backdrops/rimlight.html +3 -2
  59. package/skills/document/styles/_contract-defaults.css +6 -1
  60. package/skills/document/styles/_samples/_groups/biz-premium.webp +0 -0
  61. package/skills/document/styles/_samples/mckinsey.webp +0 -0
  62. package/skills/document/styles/mckinsey/backdrop.html +7 -5
  63. package/skills/grill-me/SKILL.md +6 -0
  64. package/skills/grill-me/agents/openai.yaml +5 -0
  65. package/skills/grilling/SKILL.md +28 -0
  66. 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
  }