@spinabot/brigade 1.17.0 → 1.18.0

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 (43) hide show
  1. package/dist/agents/media-understanding/config.d.ts.map +1 -1
  2. package/dist/agents/media-understanding/config.js +1 -0
  3. package/dist/agents/media-understanding/config.js.map +1 -1
  4. package/dist/agents/tools/generate-speech-tool.d.ts +2 -2
  5. package/dist/agents/tools/generate-speech-tool.d.ts.map +1 -1
  6. package/dist/agents/tools/generate-speech-tool.js +31 -2
  7. package/dist/agents/tools/generate-speech-tool.js.map +1 -1
  8. package/dist/agents/tools/transcribe-audio-tool.d.ts +2 -2
  9. package/dist/agents/tools/transcribe-audio-tool.d.ts.map +1 -1
  10. package/dist/agents/tools/transcribe-audio-tool.js +29 -0
  11. package/dist/agents/tools/transcribe-audio-tool.js.map +1 -1
  12. package/dist/auth/auth-health.d.ts +51 -0
  13. package/dist/auth/auth-health.d.ts.map +1 -0
  14. package/dist/auth/auth-health.js +94 -0
  15. package/dist/auth/auth-health.js.map +1 -0
  16. package/dist/buildstamp.json +1 -1
  17. package/dist/cli/commands/auth.d.ts +24 -0
  18. package/dist/cli/commands/auth.d.ts.map +1 -0
  19. package/dist/cli/commands/auth.js +300 -0
  20. package/dist/cli/commands/auth.js.map +1 -0
  21. package/dist/cli/commands/connect.d.ts.map +1 -1
  22. package/dist/cli/commands/connect.js +7 -1
  23. package/dist/cli/commands/connect.js.map +1 -1
  24. package/dist/cli/commands/doctor.d.ts.map +1 -1
  25. package/dist/cli/commands/doctor.js +29 -0
  26. package/dist/cli/commands/doctor.js.map +1 -1
  27. package/dist/cli/commands/exec-node.d.ts +37 -0
  28. package/dist/cli/commands/exec-node.d.ts.map +1 -0
  29. package/dist/cli/commands/exec-node.js +73 -0
  30. package/dist/cli/commands/exec-node.js.map +1 -0
  31. package/dist/cli/commands/gateway.d.ts.map +1 -1
  32. package/dist/cli/commands/gateway.js +14 -0
  33. package/dist/cli/commands/gateway.js.map +1 -1
  34. package/dist/cli/program/build-program.d.ts.map +1 -1
  35. package/dist/cli/program/build-program.js +52 -0
  36. package/dist/cli/program/build-program.js.map +1 -1
  37. package/dist/ui/onboarding.d.ts.map +1 -1
  38. package/dist/ui/onboarding.js +18 -3
  39. package/dist/ui/onboarding.js.map +1 -1
  40. package/package.json +4 -1
  41. package/skills/docx/SKILL.md +126 -0
  42. package/skills/pdf/SKILL.md +95 -0
  43. package/skills/xlsx/SKILL.md +94 -0
@@ -981,12 +981,27 @@ async function ensureCliLogin(tui, authStorage, provider) {
981
981
  expires: cred.expires ?? 0,
982
982
  });
983
983
  }
984
+ else if (provider.subscription) {
985
+ // The reused CLI login has NO refresh token (Claude Code didn't store one).
986
+ // Persisting it would create a credential that expires in a day or two and
987
+ // CAN'T auto-refresh — the silent 401 the operator hit. Since this provider
988
+ // supports a browser OAuth login (which DOES return a refresh token), steer
989
+ // there instead of saving a dead-end token. The caller falls through to
990
+ // `ensureSubscriptionLogin` when we return "other".
991
+ tui.addChild(new Text("", 0, 0));
992
+ tui.addChild(new Text(` ${brand.dim("This machine's login has no refresh token, so it would expire and couldn't refresh.")}`, 0, 0));
993
+ tui.addChild(new Text(` ${brand.dim("Doing a quick browser sign-in instead so the crew stays connected.")}`, 0, 0));
994
+ tui.requestRender();
995
+ await delay(1200);
996
+ return "other";
997
+ }
984
998
  else {
999
+ // No OAuth fallback for this provider — keep the legacy token behaviour.
985
1000
  // Durable store keeps the type:"token" shape (upsertTokenProfile). Mirror
986
1001
  // it into Pi's in-memory store as type:"oauth" for shape-consistency with
987
- // the refresh-capable path — a Claude credential with an access token but
988
- // no refresh token. expires:0 makes Pi treat the access token as expired
989
- // and refresh on first use when a refresh token later exists.
1002
+ // the refresh-capable path — a credential with an access token but no
1003
+ // refresh token. expires:0 makes Pi treat the access token as expired and
1004
+ // refresh on first use when a refresh token later exists.
990
1005
  upsertTokenProfile(DEFAULT_AGENT_ID, { provider: cred.provider, token: cred.token });
991
1006
  // Pi's in-memory OAuthCredential requires a `refresh` string; this CLI
992
1007
  // credential carries no refresh token, so seed "".
@@ -1 +1 @@
1
- {"version":3,"file":"onboarding.js","sourceRoot":"","sources":["../../src/ui/onboarding.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"onboarding.js","sourceRoot":"","sources":["../../src/ui/onboarding.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spinabot/brigade",
3
- "version": "1.17.0",
3
+ "version": "1.18.0",
4
4
  "description": "Brigade — your personal AI crew",
5
5
  "homepage": "https://brigade.spinabot.com",
6
6
  "author": "Spinabot <hello@brigade-agent.ai>",
@@ -68,6 +68,9 @@
68
68
  "dev:tsx": "tsx src/entry.ts",
69
69
  "watch": "tsx --watch src/entry.ts",
70
70
  "onboard": "node scripts/run-brigade.mjs onboard",
71
+ "login": "node scripts/run-brigade.mjs login",
72
+ "login:bin": "node brigade.mjs login",
73
+ "auth": "node scripts/run-brigade.mjs auth",
71
74
  "onboard:bin": "node brigade.mjs onboard",
72
75
  "onboard:watch": "tsx --watch src/entry.ts onboard",
73
76
  "agent": "node scripts/run-brigade.mjs agent",
@@ -0,0 +1,126 @@
1
+ ---
2
+ name: docx
3
+ description: Create and edit Microsoft Word (.docx) documents to a professional standard — reports, proposals, contracts, letters, memos — with custom styles, multi-level lists, styled/merged tables, headers/footers, table of contents, hyperlinks, footnotes, tracked changes and comments. Use when the user asks Brigade to make, write, draft, fill, redline, or edit a Word document or .docx file.
4
+ metadata:
5
+ {
6
+ "brigade":
7
+ {
8
+ "emoji": "📝"
9
+ }
10
+ }
11
+ ---
12
+
13
+ # docx — professional Word documents
14
+
15
+ Pick the lightest path that meets the need. **Never declare a document done without opening/validating the result at least once** (see *Verify*).
16
+
17
+ | Need | Path |
18
+ |------|------|
19
+ | Simple structured doc (headings, paragraphs, bullets, a basic table, an image) | **Path 1 — `make_document` tool** |
20
+ | Anything richer (custom styles, numbered/multi-level lists, merged/shaded table cells, headers/footers, TOC, hyperlinks, footnotes, inline bold/italic/color, tracked changes, comments) | **Path 2 — script the `docx` library via `brigade exec-node`** |
21
+ | Fill / redline an EXISTING branded `.docx` without disturbing its styling | **Path 3 — OOXML round-trip** |
22
+ | Markdown → branded Word inheriting a corporate template | **Path 4 — `pandoc` (optional)** |
23
+
24
+ ---
25
+
26
+ ## Path 1 — quick structured doc (`make_document` tool)
27
+
28
+ ```
29
+ make_document(format="docx", content={ title, sections:[{heading, level, paragraphs, bullets, table:{rows}, image:{path}}] })
30
+ ```
31
+ Good for a fast first draft. It is deliberately limited (single-level bullets, string-only tables, no inline formatting). The moment you need more, go to Path 2 — don't fight the schema.
32
+
33
+ ## Path 2 — full power: script the `docx` library
34
+
35
+ Brigade bundles the **`docx`** library (dolanmiu/docx). Write a CommonJS script and run it with **`brigade exec-node`**, which makes Brigade's bundled libraries `require()`-able from anywhere (no install):
36
+
37
+ 1. `write` a file `gen.cjs`.
38
+ 2. Run: `brigade exec-node gen.cjs`
39
+
40
+ ```js
41
+ // gen.cjs — illustrative; adapt to the content
42
+ const fs = require("node:fs");
43
+ const {
44
+ Document, Packer, Paragraph, TextRun, HeadingLevel, AlignmentType,
45
+ Table, TableRow, TableCell, WidthType, BorderStyle, ShadingType,
46
+ LevelFormat, Header, Footer, PageNumber, TableOfContents, ExternalHyperlink,
47
+ } = require("docx");
48
+
49
+ const doc = new Document({
50
+ styles: { default: { document: { run: { font: "Calibri", size: 22 } } }, // size is half-points (22 = 11pt)
51
+ paragraphStyles: [{ id: "Body", name: "Body", run: { size: 22 }, paragraph: { spacing: { after: 160 } } }] },
52
+ numbering: { config: [{ reference: "nums", levels: [{ level: 0, format: LevelFormat.DECIMAL, text: "%1.", alignment: AlignmentType.START }] }] },
53
+ sections: [{
54
+ properties: { page: { size: { width: 12240, height: 15840 } } }, // US Letter, in DXA (1440 = 1 inch)
55
+ headers: { default: new Header({ children: [new Paragraph("Acme Corp — Confidential")] }) },
56
+ footers: { default: new Footer({ children: [new Paragraph({ children: [new TextRun("Page "), new TextRun({ children: [PageNumber.CURRENT] })] })] }) },
57
+ children: [
58
+ new Paragraph({ text: "Q3 Business Review", heading: HeadingLevel.TITLE }),
59
+ new TableOfContents("Contents", { hyperlink: true, headingStyleRange: "1-3" }),
60
+ new Paragraph({ text: "Summary", heading: HeadingLevel.HEADING_1 }),
61
+ new Paragraph({ children: [ new TextRun("Revenue was "), new TextRun({ text: "$1.2M", bold: true }), new TextRun(" — up 18%.") ] }),
62
+ new Paragraph({ text: "First item", numbering: { reference: "nums", level: 0 } }),
63
+ new Paragraph({ children: [ new ExternalHyperlink({ children: [new TextRun({ text: "Full data", style: "Hyperlink" })], link: "https://example.com" }) ] }),
64
+ new Table({
65
+ columnWidths: [4680, 4680], // DXA, sum = content width
66
+ rows: [
67
+ new TableRow({ tableHeader: true, children: ["Metric","Value"].map((t) =>
68
+ new TableCell({ width: { size: 4680, type: WidthType.DXA }, shading: { type: ShadingType.CLEAR, fill: "D9E2F3" },
69
+ children: [new Paragraph({ children: [new TextRun({ text: t, bold: true })] })] })) }),
70
+ new TableRow({ children: ["Revenue","$1.2M"].map((t) =>
71
+ new TableCell({ width: { size: 4680, type: WidthType.DXA }, children: [new Paragraph(t)] })) }),
72
+ ],
73
+ }),
74
+ ],
75
+ }],
76
+ });
77
+ Packer.toBuffer(doc).then((buf) => { fs.writeFileSync(process.argv[2] || "out.docx", buf); console.log("wrote", process.argv[2] || "out.docx"); });
78
+ ```
79
+
80
+ The `docx` library also supports: footnotes (`FootnoteReferenceRun` + `footnotes`), comments, **tracked changes** (`InsertedTextRun`/`DeletedTextRun` with `author`/`date`), multi-section layouts, page breaks, columns, internal bookmarks, and images inside table cells. Read its API as needed — anything Word can express, this can author.
81
+
82
+ ## Path 3 — fill / redline an EXISTING `.docx` (highest fidelity)
83
+
84
+ To fill a branded company template or surgically edit a real document **without regenerating it** (which would drop the theme), use the OOXML round-trip — unzip, edit the XML, rezip. For plain placeholder/text swaps the **`edit_document` tool** (`replace_text` / `fill_template` / `append`) already does exactly this and is the first choice.
85
+
86
+ For edits beyond text, script it via `brigade exec-node` with **`fflate`**:
87
+
88
+ ```js
89
+ // edit.cjs — unzip → edit word/document.xml → rezip (styles/headers/theme untouched)
90
+ const fs = require("node:fs");
91
+ const { unzipSync, zipSync, strToU8, strFromU8 } = require("fflate");
92
+ const zip = unzipSync(fs.readFileSync(process.argv[2]));
93
+ let xml = strFromU8(zip["word/document.xml"]);
94
+ xml = xml.replaceAll("{{client}}", "Acme Corp"); // fill placeholders in <w:t> runs
95
+ zip["word/document.xml"] = strToU8(xml);
96
+ fs.writeFileSync(process.argv[3], zipSync(zip));
97
+ ```
98
+
99
+ Rules for raw OOXML edits:
100
+ - Safe: replacing text inside `<w:t>`; pointing a run/paragraph at an **already-defined** `styleId`; appending `<w:p>`/`<w:r>` that reference existing styles.
101
+ - **Do NOT** add a new part (image, hyperlink target, header) by hand — that also needs `[Content_Types].xml` + the matching `_rels/*.rels` updated atomically, or Word reports corruption. For those, regenerate with the `docx` library instead.
102
+ - Tracked changes are `<w:ins>`/`<w:del>` as *siblings* of `<w:r>` (never inside a run); copy the original `<w:rPr>` into the change runs; keep edits minimal so an "accept all" yields exactly the intended text. Author yourself as "Brigade".
103
+
104
+ ## Path 4 — Markdown → branded Word (optional, needs `pandoc`)
105
+
106
+ For long prose where the brand styling lives in a corporate `.docx`, if `pandoc` is installed it inherits every style/margin/header:
107
+ ```bash
108
+ command -v pandoc >/dev/null 2>&1 && pandoc input.md --reference-doc=brand-template.docx -o out.docx
109
+ ```
110
+ Detect first; else fall back to Path 2. `pandoc` is GPL — a separate program shelled out to, never bundled.
111
+
112
+ ## Conventions that make output professional
113
+
114
+ - **Page size is explicit** — US Letter `12240×15840` DXA (1440 DXA = 1"); landscape = portrait dims + `orientation` flip.
115
+ - **Tables:** give both `columnWidths` (table) and per-cell `width` in **`WidthType.DXA`** (PERCENTAGE breaks some viewers), summing to content width; `ShadingType.CLEAR` (never SOLID → black boxes); add cell margins; never use a table as a horizontal rule (use a paragraph bottom border).
116
+ - **Lists:** real numbering config for numbered/multi-level lists; never paste literal "1." / "•" characters.
117
+ - Prefer bullets + tables over walls of text; one `TITLE`, then `HEADING_1..3` with proper outline levels (required for a working TOC).
118
+ - Use typographic quotes (' ' " ") and en/em dashes.
119
+
120
+ ## Verify (required)
121
+
122
+ After writing, confirm the file exists and is non-trivial. If LibreOffice is available, render to PDF and **look at it** — fix overflow/placeholder leftovers, then re-verify:
123
+ ```bash
124
+ command -v soffice >/dev/null 2>&1 && soffice --headless --convert-to pdf out.docx
125
+ ```
126
+ TOC/page-number fields show blank until Word (or a `soffice` convert) recalculates them — note this to the user if you can't run the convert. Never declare success without at least one look-and-fix pass.
@@ -0,0 +1,95 @@
1
+ ---
2
+ name: pdf
3
+ description: Create and edit PDFs to a professional standard — generate from content, draw vector/precise layouts, embed custom (incl. CJK/Unicode) fonts, CREATE and fill AcroForm fields (text/checkbox/radio/dropdown), flatten, merge/split/rotate, stamp/watermark, encrypt, and extract text. Use when the user asks Brigade to make a PDF, fill or build a PDF form, or combine/split/stamp/secure PDFs.
4
+ metadata:
5
+ {
6
+ "brigade":
7
+ {
8
+ "emoji": "📄"
9
+ }
10
+ }
11
+ ---
12
+
13
+ # pdf — professional PDFs
14
+
15
+ | Need | Path |
16
+ |------|------|
17
+ | Simple content PDF (title, headings, paragraphs, image) | **Path 1 — `make_document` tool** |
18
+ | Fill an existing form, merge/split/stamp/watermark | **Path 2 — `edit_document` tool** |
19
+ | Form-field CREATION, vector drawing, embedded fonts (bold/CJK), precise layout, encryption, page surgery | **Path 3 — script `@cantoo/pdf-lib` via `brigade exec-node`** |
20
+ | Pixel-perfect, brand-styled layout from HTML/CSS | **Path 4 — HTML→PDF (optional binary)** |
21
+
22
+ > Note: PDF is a *final* format with no reflow engine. If the recipient must edit, deliver the editable source (`.docx`/`.xlsx`) **and** the PDF.
23
+
24
+ ---
25
+
26
+ ## Path 1 — quick content PDF (`make_document` tool)
27
+
28
+ ```
29
+ make_document(format="pdf", content={ title, pages:[{ heading, paragraphs, image:{path} }] })
30
+ ```
31
+ Flow layout, US-Letter, single column, word-wrapped. Good for reports/summaries/letters. For forms, precise layout, or custom fonts → Path 3.
32
+
33
+ ## Path 2 — edit an existing PDF (`edit_document` tool)
34
+
35
+ - `fill_form {fields}` — fill existing AcroForm fields by name (text/checkbox/dropdown).
36
+ - `merge {pdfs}` / `add_pages {pdfs}` · `split {pages}` · `remove_pages {pages}`.
37
+ - `stamp {text}` · `watermark {text}` (45° translucent).
38
+
39
+ **Form decision:** first detect whether the PDF has real fillable fields. If it does → fill them (clean, type-validated). If it's a flat/scanned form (no fields) → you must draw text at coordinates instead (Path 3, annotations) — never assume fields exist.
40
+
41
+ ## Path 3 — full power: script `@cantoo/pdf-lib`
42
+
43
+ Brigade bundles **`@cantoo/pdf-lib`** (a maintained pdf-lib fork — note the scoped name) plus **`@pdf-lib/fontkit`** (custom-font embedding) and **`unpdf`** (text extraction). `write` a `gen.cjs`, run `brigade exec-node gen.cjs`:
44
+
45
+ ```js
46
+ // gen.cjs — illustrative
47
+ const fs = require("node:fs");
48
+ const { PDFDocument, StandardFonts, rgb } = require("@cantoo/pdf-lib");
49
+
50
+ (async () => {
51
+ const pdf = await PDFDocument.create();
52
+
53
+ // embed a custom font (real bold / CJK / Unicode) — requires fontkit
54
+ // const fontkit = require("@pdf-lib/fontkit"); pdf.registerFontkit(fontkit);
55
+ // const font = await pdf.embedFont(fs.readFileSync("Brand-Bold.ttf"));
56
+ const font = await pdf.embedFont(StandardFonts.HelveticaBold);
57
+
58
+ const page = pdf.addPage([612, 792]); // US Letter; origin is BOTTOM-LEFT, y-up
59
+ page.drawText("Invoice", { x: 54, y: 720, size: 22, font, color: rgb(0.1, 0.1, 0.1) });
60
+ page.drawRectangle({ x: 54, y: 700, width: 504, height: 1, color: rgb(0.8, 0.8, 0.8) }); // vector rule
61
+
62
+ // CREATE fillable form fields
63
+ const form = pdf.getForm();
64
+ const name = form.createTextField("client.name");
65
+ name.addToPage(page, { x: 120, y: 640, width: 300, height: 18 });
66
+ const agree = form.createCheckBox("agree");
67
+ agree.addToPage(page, { x: 54, y: 600, width: 14, height: 14 });
68
+ // form.flatten(); // bake fields into static content if no further filling
69
+
70
+ fs.writeFileSync(process.argv[2] || "out.pdf", await pdf.save());
71
+ console.log("wrote");
72
+ })();
73
+ ```
74
+
75
+ `@cantoo/pdf-lib` covers: draw text/lines/rects/ellipses/SVG paths/images; embed custom TTF/OTF fonts (subset, full Unicode); **create AND fill** AcroForm text/checkbox/radio/dropdown/option-list fields; flatten; copy/merge/split/rotate pages; metadata; **password encryption** (the reason this fork is bundled). Extract text/structure with `unpdf`.
76
+
77
+ **Coordinate gotcha:** pdf-lib origin is **bottom-left, y-up**. If you author field positions from a top-left image/spec, convert: `y_pdf = pageHeight - y_top - height`. One coordinate convention per script.
78
+
79
+ ## Path 4 — pixel-perfect / branded PDF from HTML+CSS (optional)
80
+
81
+ pdf-lib has **no HTML/CSS layout engine** — for a designed, brand-styled document, render HTML→PDF. Use whatever is present (detect first):
82
+ ```bash
83
+ command -v soffice >/dev/null 2>&1 && soffice --headless --convert-to pdf brand.html # LibreOffice route
84
+ ```
85
+ A headless browser (Puppeteer/Playwright `page.pdf()`) is the higher-fidelity alternative if installed. Prefer Path 1/3 unless the brand design genuinely requires CSS.
86
+
87
+ ## Conventions
88
+
89
+ - Use real AcroForm fields when filling a fillable PDF; only fall back to drawn-text annotations for flat/scanned forms.
90
+ - Embed a font for anything beyond basic Latin — standard PDF fonts lack bold-as-a-face and all CJK/emoji (missing glyphs render as boxes).
91
+ - Keep ≥0.5" margins; align to a grid; don't rely on text reflowing (there's no engine — you place it).
92
+
93
+ ## Verify (required)
94
+
95
+ Confirm the output exists and opens. For filled/created forms, re-open and read back the field values (or render to an image with `soffice`/a viewer and look at placement) before declaring done — never fill or place blind.
@@ -0,0 +1,94 @@
1
+ ---
2
+ name: xlsx
3
+ description: Build and edit professional Excel (.xlsx) spreadsheets, workbooks, and simple financial models — live formulas, number/date/currency formats, cell styling, conditional formatting, data-validation dropdowns, named ranges, frozen panes, merged cells, multi-sheet. Use when the user asks Brigade to make, fill, update, model, or edit a spreadsheet, workbook, or .xlsx file.
4
+ metadata:
5
+ {
6
+ "brigade":
7
+ {
8
+ "emoji": "📊"
9
+ }
10
+ }
11
+ ---
12
+
13
+ # xlsx — professional spreadsheets & models
14
+
15
+ | Need | Path |
16
+ |------|------|
17
+ | Simple table / multi-sheet dump (headers + rows, optional per-column number format) | **Path 1 — `make_document` tool** |
18
+ | Live formulas, cell styling, conditional formatting, dropdowns, named ranges, freeze panes, merged cells, dates | **Path 2 — script the `exceljs` library via `brigade exec-node`** |
19
+ | Surgical edits to an existing workbook | **Path 3 — `edit_document` tool** |
20
+ | Guarantee no formula errors / get computed values | **Path 4 — recalc-verify loop (optional `soffice`)** |
21
+
22
+ **The two non-negotiable rules** (they separate a real model from a hack):
23
+ 1. **Formulas, never hardcoded results.** Write the Excel formula string (`=B5*(1+$B$6)`), never compute the number in code and paste a literal — so the sheet stays live when inputs change. This applies to every total, percentage, ratio, and growth.
24
+ 2. **Numbers are numbers.** Store `1200000`, format for display (`$#,##0`) — never the string `"$1.2M"`, or it won't sum or sort.
25
+
26
+ ---
27
+
28
+ ## Path 1 — quick table (`make_document` tool)
29
+
30
+ ```
31
+ make_document(format="xlsx", content={ sheets:[{ name, header, rows, numberFormats }] })
32
+ ```
33
+ Cells may be `string | number | {formula, numFmt}`. Fine for a straight data table. For styling, validation, charts, or a model → Path 2.
34
+
35
+ ## Path 2 — full power: script the `exceljs` library
36
+
37
+ Brigade bundles **`exceljs`**. `write` a `gen.cjs`, then run `brigade exec-node gen.cjs`:
38
+
39
+ ```js
40
+ // gen.cjs — illustrative
41
+ const ExcelJS = require("exceljs");
42
+ const wb = new ExcelJS.Workbook();
43
+ const ws = wb.addWorksheet("Model", { views: [{ state: "frozen", ySplit: 1 }] }); // freeze header row
44
+
45
+ ws.columns = [
46
+ { header: "Item", key: "item", width: 28 },
47
+ { header: "FY24 ($)", key: "v", width: 16, style: { numFmt: "$#,##0" } },
48
+ ];
49
+ ws.getRow(1).font = { bold: true };
50
+ ws.getRow(1).fill = { type: "pattern", pattern: "solid", fgColor: { argb: "FFD9E2F3" } };
51
+
52
+ // Assumptions block — blue font marks hardcoded INPUTS (banker convention)
53
+ ws.getCell("E1").value = "Growth"; ws.getCell("E2").value = 0.18;
54
+ ws.getCell("E2").numFmt = "0.0%"; ws.getCell("E2").font = { color: { argb: "FF0000FF" } };
55
+ wb.definedNames.add("Model!$E$2", "growth"); // named range
56
+
57
+ ws.addRow({ item: "Revenue", v: 1200000 });
58
+ ws.addRow({ item: "Next year", v: { formula: "B2*(1+growth)" } }); // FORMULA, references the named input
59
+ ws.getCell("B3").font = { color: { argb: "FF000000" } }; // black = formula
60
+
61
+ // dropdown + conditional formatting
62
+ ws.getCell("A6").dataValidation = { type: "list", allowBlank: false, formulae: ['"Low,Med,High"'] };
63
+ ws.addConditionalFormatting({ ref: "B2:B3", rules: [
64
+ { type: "cellIs", operator: "lessThan", formulae: ["0"], style: { font: { color: { argb: "FFFF0000" } } } } ]});
65
+
66
+ wb.xlsx.writeFile(process.argv[2] || "out.xlsx").then(() => console.log("wrote"));
67
+ ```
68
+
69
+ `exceljs` covers: number/date formats, font/fill/border/alignment, conditional formatting, data-validation dropdowns, named ranges, freeze panes, autofilter, merged cells, images, sheet protection, multi-sheet. Dates: pass a real `new Date(...)` and set a date `numFmt` (don't pass a string).
70
+
71
+ ## Path 3 — edit an existing workbook (`edit_document` tool)
72
+
73
+ - `set_cells {sheet?, cells:[{ref|row,col, value, numFmt?}]}` — surgical edits; other sheets untouched.
74
+ - `append_rows {sheet?, rows}` — grow a table.
75
+ When editing someone's workbook, **match its existing conventions exactly** (column order, units, formats) — the template always wins over the defaults here.
76
+
77
+ ## Path 4 — recalc-verify loop (the quality guarantee)
78
+
79
+ `exceljs` stores formula **strings but does not evaluate them** — a typo (`#REF!`, `#DIV/0!`) is invisible until the file is opened. If LibreOffice is present, force a recalc and inspect; otherwise hand-check ranges and keep formulas simple.
80
+
81
+ ```bash
82
+ command -v soffice >/dev/null 2>&1 && soffice --headless --convert-to pdf --outdir /tmp out.xlsx # then read the PDF: no #REF!/#DIV/0! anywhere
83
+ ```
84
+ Loop: build → recalc → if any error token appears, fix the formula → recalc again. Target: **zero formula errors** in the delivered file.
85
+
86
+ ## Conventions (banker-grade, optional but professional)
87
+
88
+ - Cell-color convention: **blue font = hardcoded inputs**, black = formulas, green = links to other sheets, red = links to external files; yellow fill = key assumptions.
89
+ - Isolate assumptions in their own cells and reference them **absolutely** (`$B$6`) or by **named range**; document any sourced hardcode in a cell comment ("Source: 10-K FY24 p.45").
90
+ - Number formats: currency `$#,##0` with units in the header; percentages `0.0%`; multiples `0.0x`; negatives in parentheses; years as text.
91
+
92
+ ## Verify (required)
93
+
94
+ Re-open with `edit_document`/read or confirm the file unzips with the expected sheet names; if you used formulas, run the Path-4 recalc and confirm zero errors before declaring done.