@taloswork/ose-shared 0.1.14 → 0.1.16
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 +2 -2
- package/skills/document/assets/fonts/fonts.json +1 -1
- package/skills/document/bin/deck-qa.cjs +2 -2
- package/skills/document/bin/doc-convert.cjs +627 -139
- package/skills/document/bin/html2pptx.cjs +27 -3
- package/skills/document/bin/ocr.cjs +7 -2
- package/skills/document/bin-reference.md +1 -1
- package/skills/expert-create/LICENSE.txt +7 -0
- package/skills/expert-create/SKILL.md +106 -0
- package/skills/expert-create/bin/expert-create.cjs +96 -0
- package/skills/expert-create/references/role-guide.md +24 -0
- package/skills/image-layout/SKILL.md +3 -3
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@taloswork/ose-shared",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.16",
|
|
4
4
|
"description": "Talos cross-OSE shared library — skills + MCP servers auto-loaded into every OSE (P93 2026-07-27).",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"files": [
|
|
@@ -10,6 +10,6 @@
|
|
|
10
10
|
"publishConfig": {
|
|
11
11
|
"access": "public"
|
|
12
12
|
},
|
|
13
|
-
"_talosPublishHash": "sha256-
|
|
14
|
-
"_talosPublishedAt": "2026-10-
|
|
13
|
+
"_talosPublishHash": "sha256-DEbZ3scJtwwOPm_sj7A7Wh-1-nZGQYK8ZMFeJfxy1i4",
|
|
14
|
+
"_talosPublishedAt": "2026-10-16T08:11:55.057Z"
|
|
15
15
|
}
|
package/skills/document/SKILL.md
CHANGED
|
@@ -29,8 +29,8 @@ document's content; never guess from the filename. Then:
|
|
|
29
29
|
LibreOffice script for document output.
|
|
30
30
|
- **Convert** a .docx/.pptx/.xlsx to PDF(转成/导出 PDF)→ `bin/doc-convert.cjs <in> <out.pdf>`.
|
|
31
31
|
Preserve the source; do not re-theme or "优化排版" unless asked, and never hand-roll a textutil /
|
|
32
|
-
|
|
33
|
-
|
|
32
|
+
Office-app / headless-browser pipeline. PPTX and spreadsheets render ONLY through
|
|
33
|
+
Office (`soffice`, Keynote or PowerPoint for .pptx, or `TALOS_OFFICE_URL`); without one the command errors.
|
|
34
34
|
DOCX may fall back to HTML reconstruction; report that its layout can change.
|
|
35
35
|
- **A deck you built here, as PDF**(PPT 要 PDF)→ `bin/doc-convert.cjs deck.pptx out.pdf`.
|
|
36
36
|
The final PPTX is the source of truth for content, fonts and layout. Reuse its final
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"families": [
|
|
33
33
|
"Anton"
|
|
34
34
|
],
|
|
35
|
-
"note": "Ultra-condensed display face. cinereel + ivory-gold use it for --font-head and BAKE their titles, which is why it survives into the pptx. Also staged into the
|
|
35
|
+
"note": "Ultra-condensed display face. cinereel + ivory-gold use it for --font-head and BAKE their titles, which is why it survives into the pptx. Also staged into the social-cards skill by scripts/build/build-social-skills.mjs.",
|
|
36
36
|
"license": "SIL OFL 1.1 (Google Fonts)"
|
|
37
37
|
},
|
|
38
38
|
{
|
|
@@ -29340,7 +29340,7 @@ async function officeRender(deck, pdf, cacheDir) {
|
|
|
29340
29340
|
maxBuffer: 8 * 1024 * 1024
|
|
29341
29341
|
});
|
|
29342
29342
|
const engine = /\[([^\]]+)\]\s*$/.exec(stdout.trim())?.[1] ?? "unknown";
|
|
29343
|
-
return { engine, faithful: /libreoffice/i.test(engine), pdf };
|
|
29343
|
+
return { engine, faithful: /libreoffice|keynote|powerpoint/i.test(engine), pdf };
|
|
29344
29344
|
} catch (e) {
|
|
29345
29345
|
const error = (e.stderr || e.message || String(e)).trim().split("\n").slice(-3).join(" ");
|
|
29346
29346
|
return { faithful: false, error, unavailable: e.code === 69 };
|
|
@@ -29378,7 +29378,7 @@ async function finalSignOff(file, bytes, cacheDir, requireOffice) {
|
|
|
29378
29378
|
if (office.error && !office.unavailable) {
|
|
29379
29379
|
die(`the Office render failed (${office.error}) \u2014 not signing off on a Chromium reconstruction instead; rerun deck-qa --final`);
|
|
29380
29380
|
}
|
|
29381
|
-
if (office.error && requireOffice) die(`--require-office: no
|
|
29381
|
+
if (office.error && requireOffice) die(`--require-office: no Office render is possible here (${office.error})`);
|
|
29382
29382
|
if (office.type3Fonts?.length) {
|
|
29383
29383
|
process.stderr.write(`deck-qa: the Office render draws ${office.type3Fonts.length} Type 3 font(s) (${[...new Set(office.type3Fonts.map((f) => f.name))].join(", ")}) \u2014 text set in them may be blank; see the render-type3-font findings
|
|
29384
29384
|
`);
|