office-open 0.10.6 → 0.10.8

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../../src/ai/error.ts","../../src/ai/index.ts"],"sourcesContent":["/**\n * Format tool execution errors into LLM-friendly messages.\n *\n * When a tool's `execute` function throws, the AI SDK captures the error as a\n * `tool-error` content part and sends it back to the LLM for self-correction.\n * This module rewrites internal runtime errors into messages the LLM can\n * understand and act on.\n *\n * @module\n */\n\nexport function formatToolError(type: string, error: unknown): string {\n const msg = error instanceof Error ? error.message : String(error);\n\n // ── DOCX: paragraph child errors ──\n\n if (msg.includes(\"Unsupported paragraph child type:\")) {\n const keys = msg.split(\": \").pop() ?? \"\";\n return (\n `Invalid paragraph child \"${keys}\". ` +\n `Paragraph children must use a wrapper key: ` +\n `{ paragraph: { children: [{ text: \"...\", bold?: true }] } }, ` +\n `{ table: { rows: [...] } }, { image: { ... } }, ` +\n `{ toc: { ... } }, { textbox: { ... } }, ` +\n `{ pageBreak: true }, { columnBreak: true }, etc. ` +\n `Do not use raw property names like { bold: ... } as paragraph children.`\n );\n }\n\n if (msg.includes(\"Unsupported run child type:\")) {\n const keys = msg.split(\": \").pop() ?? \"\";\n return (\n `Invalid run child \"${keys}\". ` +\n `Run children must be text objects: { text: \"...\", bold?: true, italic?: true, size?: number, color?: \"RRGGBB\", ... }. ` +\n `The \"text\" key is required. Plain strings are also accepted as children. ` +\n `Do not use bare property objects like { bold: true } without a \"text\" key.`\n );\n }\n\n if (msg.includes(\"Unknown section child type\")) {\n return (\n `Unknown section child. ` +\n `Section children must use a wrapper key: ` +\n `{ paragraph: { ... } }, { table: { ... } }, { image: { ... } }, ` +\n `{ toc: { ... } }, { textbox: { ... } }, { pageBreak: true }, ` +\n `{ sdt: { ... } }, { altChunk: { ... } }, etc.`\n );\n }\n\n // ── General: iterable errors ──\n\n if (msg.includes(\"not iterable\")) {\n const field = type === \"docx\" ? \"sections\" : type === \"pptx\" ? \"slides\" : \"worksheets\";\n return `\"${field}\" must be an array. Received a non-iterable value.`;\n }\n\n // ── Fallback ──\n\n return `${type.toUpperCase()} generation failed: ${msg}`;\n}\n","import type { DocumentOptions } from \"@office-open/docx\";\nimport type { PresentationOptions } from \"@office-open/pptx\";\nimport type { WorkbookOptions } from \"@office-open/xlsx\";\nimport { tool } from \"ai\";\n\nexport { formatToolError } from \"./error\";\n\nimport { generate } from \"../generate\";\nimport { docxSchema } from \"../schemas/docx\";\nimport { pptxSchema } from \"../schemas/pptx\";\nimport { xlsxSchema } from \"../schemas/xlsx\";\nimport { formatToolError } from \"./error\";\n\nexport const docxTool = tool({\n description:\n \"Generate a .docx Word document. \" +\n \"The input is the document options directly — must include a 'sections' array. \" +\n \"Each section has 'children' (paragraphs, tables, etc.). \" +\n \"IMPORTANT: \" +\n \"Section children must use wrapper keys: { paragraph: {...} }, { table: {...} }, { image: {...} }, etc. \" +\n \"Paragraph children must use: { text: '...', bold?: true, italic?: true, size?: number, ... }. \" +\n \"The 'text' key is required in run objects. Plain strings are also accepted. \" +\n \"Colors are hex WITHOUT '#': 'FF0000', not '#FF0000'. \" +\n \"Optional metadata: title, creator, subject, styles, numbering, comments, footnotes, endnotes, background, features.\",\n inputSchema: docxSchema,\n execute: async (options) => {\n try {\n const base64 = (await generate({\n type: \"docx\",\n options: options as unknown as DocumentOptions,\n outputType: \"base64\",\n })) as string;\n return {\n base64,\n mimeType: \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\",\n };\n } catch (error) {\n throw new Error(formatToolError(\"docx\", error));\n }\n },\n});\n\nexport const pptxTool = tool({\n description:\n \"Generate a .pptx PowerPoint presentation. \" +\n \"The input is the document options directly — must include a 'slides' array. \" +\n \"Each slide has 'children' (shapes, pictures, tables, charts, groups, etc.). \" +\n \"Shapes use { shape: { x, y, width, height, textBody?, fill?, ... } }. \" +\n \"IMPORTANT: \" +\n \"Shape positions (x, y, width, height) are in pixels. \" +\n \"Colors are hex WITHOUT '#': 'FF0000', not '#FF0000'. \" +\n \"Fill can be a hex color string or a fill object: '4472C4' or { type: 'solidFill', color: '4472C4' }. \" +\n \"Optional: size ('16:9' or '4:3' or { width, height }), title, creator, masters, show.\",\n inputSchema: pptxSchema,\n execute: async (options) => {\n try {\n const base64 = (await generate({\n type: \"pptx\",\n options: options as PresentationOptions,\n outputType: \"base64\",\n })) as string;\n return {\n base64,\n mimeType: \"application/vnd.openxmlformats-officedocument.presentationml.presentation\",\n };\n } catch (error) {\n throw new Error(formatToolError(\"pptx\", error));\n }\n },\n});\n\nexport const xlsxTool = tool({\n description:\n \"Generate a .xlsx Excel spreadsheet. \" +\n \"The input is the document options directly — must include a 'worksheets' array. \" +\n \"Each worksheet has 'rows' — an array of row objects, each with 'cells'. \" +\n \"Cell values: string, number, boolean, null. Use 'style' for formatting. \" +\n \"IMPORTANT: \" +\n \"Cells can be shorthand values (string, number, boolean) or objects: { value: 'hello', style: { ... } }. \" +\n \"Column widths use 'width' as a number. \" +\n \"Optional: columns, mergeCells, freezePanes, autoFilter, images, charts, dataValidations, conditionalFormats.\",\n inputSchema: xlsxSchema,\n execute: async (options) => {\n try {\n const base64 = (await generate({\n type: \"xlsx\",\n options: options as WorkbookOptions,\n outputType: \"base64\",\n })) as string;\n return {\n base64,\n mimeType: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\",\n };\n } catch (error) {\n throw new Error(formatToolError(\"xlsx\", error));\n }\n },\n});\n\nexport const officeOpenTools = {\n \"generate-docx\": docxTool,\n \"generate-pptx\": pptxTool,\n \"generate-xlsx\": xlsxTool,\n} as const;\n"],"mappings":";;;;;;;;;;;;;;AAWA,SAAgB,gBAAgB,MAAc,OAAwB;CACpE,MAAM,MAAM,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK;CAIjE,IAAI,IAAI,SAAS,mCAAmC,GAElD,OACE,4BAFW,IAAI,MAAM,IAAI,EAAE,IAAI,KAAK,GAEH;CAUrC,IAAI,IAAI,SAAS,6BAA6B,GAE5C,OACE,sBAFW,IAAI,MAAM,IAAI,EAAE,IAAI,KAAK,GAET;CAO/B,IAAI,IAAI,SAAS,4BAA4B,GAC3C,OACE;CAUJ,IAAI,IAAI,SAAS,cAAc,GAE7B,OAAO,IADO,SAAS,SAAS,aAAa,SAAS,SAAS,WAAW,aACzD;CAKnB,OAAO,GAAG,KAAK,YAAY,EAAE,sBAAsB;AACrD;;;AC9CA,MAAa,WAAW,KAAK;CAC3B,aACE;CASF,aAAa;CACb,SAAS,OAAO,YAAY;EAC1B,IAAI;GAMF,OAAO;IACL,QAAA,MANoB,SAAS;KAC7B,MAAM;KACG;KACT,YAAY;IACd,CAAC;IAGC,UAAU;GACZ;EACF,SAAS,OAAO;GACd,MAAM,IAAI,MAAM,gBAAgB,QAAQ,KAAK,CAAC;EAChD;CACF;AACF,CAAC;AAED,MAAa,WAAW,KAAK;CAC3B,aACE;CASF,aAAa;CACb,SAAS,OAAO,YAAY;EAC1B,IAAI;GAMF,OAAO;IACL,QAAA,MANoB,SAAS;KAC7B,MAAM;KACG;KACT,YAAY;IACd,CAAC;IAGC,UAAU;GACZ;EACF,SAAS,OAAO;GACd,MAAM,IAAI,MAAM,gBAAgB,QAAQ,KAAK,CAAC;EAChD;CACF;AACF,CAAC;AAED,MAAa,WAAW,KAAK;CAC3B,aACE;CAQF,aAAa;CACb,SAAS,OAAO,YAAY;EAC1B,IAAI;GAMF,OAAO;IACL,QAAA,MANoB,SAAS;KAC7B,MAAM;KACG;KACT,YAAY;IACd,CAAC;IAGC,UAAU;GACZ;EACF,SAAS,OAAO;GACd,MAAM,IAAI,MAAM,gBAAgB,QAAQ,KAAK,CAAC;EAChD;CACF;AACF,CAAC;AAED,MAAa,kBAAkB;CAC7B,iBAAiB;CACjB,iBAAiB;CACjB,iBAAiB;AACnB"}
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../src/ai/error.ts","../../src/ai/index.ts"],"sourcesContent":["/**\n * Format tool execution errors into LLM-friendly messages.\n *\n * When a tool's `execute` function throws, the AI SDK captures the error as a\n * `tool-error` content part and sends it back to the LLM for self-correction.\n * This module rewrites internal runtime errors into messages the LLM can\n * understand and act on.\n *\n * @module\n */\n\nexport function formatToolError(type: string, error: unknown): string {\n const msg = error instanceof Error ? error.message : String(error);\n\n // ── DOCX: paragraph child errors ──\n\n if (msg.includes(\"Unsupported paragraph child type:\")) {\n const keys = msg.split(\": \").pop() ?? \"\";\n return (\n `Invalid paragraph child \"${keys}\". ` +\n `Paragraph children must use a wrapper key: ` +\n `{ paragraph: { children: [{ text: \"...\", bold?: true }] } }, ` +\n `{ table: { rows: [...] } }, { image: { ... } }, ` +\n `{ toc: { ... } }, { textbox: { ... } }, ` +\n `{ pageBreak: true }, { columnBreak: true }, etc. ` +\n `Do not use raw property names like { bold: ... } as paragraph children.`\n );\n }\n\n if (msg.includes(\"Unsupported run child type:\")) {\n const keys = msg.split(\": \").pop() ?? \"\";\n return (\n `Invalid run child \"${keys}\". ` +\n `Run children must be text objects: { text: \"...\", bold?: true, italic?: true, size?: number, color?: \"RRGGBB\", ... }. ` +\n `The \"text\" key is required. Plain strings are also accepted as children. ` +\n `Do not use bare property objects like { bold: true } without a \"text\" key.`\n );\n }\n\n if (msg.includes(\"Unknown section child type\")) {\n return (\n `Unknown section child. ` +\n `Section children must use a wrapper key: ` +\n `{ paragraph: { ... } }, { table: { ... } }, { image: { ... } }, ` +\n `{ toc: { ... } }, { textbox: { ... } }, { pageBreak: true }, ` +\n `{ sdt: { ... } }, { altChunk: { ... } }, etc.`\n );\n }\n\n // ── General: iterable errors ──\n\n if (msg.includes(\"not iterable\")) {\n const field = type === \"docx\" ? \"sections\" : type === \"pptx\" ? \"slides\" : \"worksheets\";\n return `\"${field}\" must be an array. Received a non-iterable value.`;\n }\n\n // ── Fallback ──\n\n return `${type.toUpperCase()} generation failed: ${msg}`;\n}\n","import type { DocumentOptions } from \"@office-open/docx\";\nimport type { PresentationOptions } from \"@office-open/pptx\";\nimport type { WorkbookOptions } from \"@office-open/xlsx\";\nimport { tool } from \"ai\";\n\nexport { formatToolError } from \"./error\";\n\nimport { generate } from \"../generate\";\nimport { docxSchema } from \"../schemas/docx\";\nimport { pptxSchema } from \"../schemas/pptx\";\nimport { xlsxSchema } from \"../schemas/xlsx\";\nimport { formatToolError } from \"./error\";\n\nexport const docxTool = tool({\n description:\n \"Generate a .docx Word document. \" +\n \"The input is the document options directly — must include a 'sections' array. \" +\n \"Each section has 'children' (paragraphs, tables, etc.). \" +\n \"IMPORTANT: \" +\n \"Section children must use wrapper keys: { paragraph: {...} }, { table: {...} }, { image: {...} }, etc. \" +\n \"Paragraph children must use: { text: '...', bold?: true, italic?: true, size?: number, ... }. \" +\n \"The 'text' key is required in run objects. Plain strings are also accepted. \" +\n \"Colors are hex WITHOUT '#': 'FF0000', not '#FF0000'. \" +\n \"Optional metadata: title, creator, subject, styles, numbering, comments, footnotes, endnotes, background, features.\",\n inputSchema: docxSchema,\n execute: async (options) => {\n try {\n const base64 = (await generate({\n type: \"docx\",\n options: options as unknown as DocumentOptions,\n outputType: \"base64\",\n })) as string;\n return {\n base64,\n mimeType: \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\",\n };\n } catch (error) {\n throw new Error(formatToolError(\"docx\", error));\n }\n },\n});\n\nexport const pptxTool = tool({\n description:\n \"Generate a .pptx PowerPoint presentation. \" +\n \"The input is the document options directly — must include a 'slides' array. \" +\n \"Each slide has 'children' (shapes, pictures, tables, charts, groups, etc.). \" +\n \"Shapes use { shape: { x, y, width, height, textBody?, fill?, ... } }. \" +\n \"IMPORTANT: \" +\n \"Shape positions (x, y, width, height) are in pixels. \" +\n \"Colors are hex WITHOUT '#': 'FF0000', not '#FF0000'. \" +\n \"Fill can be a hex color string or a fill object: '4472C4' or { type: 'solidFill', color: '4472C4' }. \" +\n \"Optional: size ('16:9' or '4:3' or { width, height }), title, creator, masters, show.\",\n inputSchema: pptxSchema,\n execute: async (options) => {\n try {\n const base64 = (await generate({\n type: \"pptx\",\n options: options as PresentationOptions,\n outputType: \"base64\",\n })) as string;\n return {\n base64,\n mimeType: \"application/vnd.openxmlformats-officedocument.presentationml.presentation\",\n };\n } catch (error) {\n throw new Error(formatToolError(\"pptx\", error));\n }\n },\n});\n\nexport const xlsxTool = tool({\n description:\n \"Generate a .xlsx Excel spreadsheet. \" +\n \"The input is the document options directly — must include a 'worksheets' array. \" +\n \"Each worksheet has 'rows' — an array of row objects, each with 'cells'. \" +\n \"Cell values: string, number, boolean, null. Use 'style' for formatting. \" +\n \"IMPORTANT: \" +\n \"Cells can be shorthand values (string, number, boolean) or objects: { value: 'hello', style: { ... } }. \" +\n \"Column widths use 'width' as a number. \" +\n \"Optional: columns, mergeCells, freezePanes, autoFilter, images, charts, dataValidations, conditionalFormats.\",\n inputSchema: xlsxSchema,\n execute: async (options) => {\n try {\n const base64 = (await generate({\n type: \"xlsx\",\n options: options as WorkbookOptions,\n outputType: \"base64\",\n })) as string;\n return {\n base64,\n mimeType: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\",\n };\n } catch (error) {\n throw new Error(formatToolError(\"xlsx\", error));\n }\n },\n});\n\nexport const officeOpenTools = {\n \"generate-docx\": docxTool,\n \"generate-pptx\": pptxTool,\n \"generate-xlsx\": xlsxTool,\n} as const;\n"],"mappings":";;;;;;;;;;;;;;AAWA,SAAgB,gBAAgB,MAAc,OAAwB;CACpE,MAAM,MAAM,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK;CAIjE,IAAI,IAAI,SAAS,mCAAmC,GAElD,OACE,4BAFW,IAAI,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,GAEH;CAUrC,IAAI,IAAI,SAAS,6BAA6B,GAE5C,OACE,sBAFW,IAAI,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,GAET;CAO/B,IAAI,IAAI,SAAS,4BAA4B,GAC3C,OACE;CAUJ,IAAI,IAAI,SAAS,cAAc,GAE7B,OAAO,IADO,SAAS,SAAS,aAAa,SAAS,SAAS,WAAW,aACzD;CAKnB,OAAO,GAAG,KAAK,YAAY,EAAE,sBAAsB;AACrD;;;AC9CA,MAAa,WAAW,KAAK;CAC3B,aACE;CASF,aAAa;CACb,SAAS,OAAO,YAAY;EAC1B,IAAI;GAMF,OAAO;IACL,QAAA,MANoB,SAAS;KAC7B,MAAM;KACG;KACT,YAAY;IACd,CAAC;IAGC,UAAU;GACZ;EACF,SAAS,OAAO;GACd,MAAM,IAAI,MAAM,gBAAgB,QAAQ,KAAK,CAAC;EAChD;CACF;AACF,CAAC;AAED,MAAa,WAAW,KAAK;CAC3B,aACE;CASF,aAAa;CACb,SAAS,OAAO,YAAY;EAC1B,IAAI;GAMF,OAAO;IACL,QAAA,MANoB,SAAS;KAC7B,MAAM;KACG;KACT,YAAY;IACd,CAAC;IAGC,UAAU;GACZ;EACF,SAAS,OAAO;GACd,MAAM,IAAI,MAAM,gBAAgB,QAAQ,KAAK,CAAC;EAChD;CACF;AACF,CAAC;AAED,MAAa,WAAW,KAAK;CAC3B,aACE;CAQF,aAAa;CACb,SAAS,OAAO,YAAY;EAC1B,IAAI;GAMF,OAAO;IACL,QAAA,MANoB,SAAS;KAC7B,MAAM;KACG;KACT,YAAY;IACd,CAAC;IAGC,UAAU;GACZ;EACF,SAAS,OAAO;GACd,MAAM,IAAI,MAAM,gBAAgB,QAAQ,KAAK,CAAC;EAChD;CACF;AACF,CAAC;AAED,MAAa,kBAAkB;CAC7B,iBAAiB;CACjB,iBAAiB;CACjB,iBAAiB;AACnB"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../../src/schemas/index.ts"],"sourcesContent":["import { docxSchema } from \"./docx\";\nimport { pptxSchema } from \"./pptx\";\nimport { xlsxSchema } from \"./xlsx\";\n\nexport { docxSchema } from \"./docx\";\nexport { pptxSchema } from \"./pptx\";\nexport { xlsxSchema } from \"./xlsx\";\n\nexport const SCHEMAS = {\n docx: docxSchema,\n pptx: pptxSchema,\n xlsx: xlsxSchema,\n} as const;\n\nexport type DocumentType = \"docx\" | \"pptx\" | \"xlsx\";\n\nexport function validateDocumentInput(type: DocumentType, data: unknown): Record<string, unknown> {\n const result = SCHEMAS[type].safeParse(data);\n if (!result.success) {\n const issue = result.error.issues[0];\n const path = issue.path.join(\".\");\n throw new Error(`Invalid ${type} options${path ? ` at \"${path}\"` : \"\"}: ${issue.message}`);\n }\n return result.data as Record<string, unknown>;\n}\n"],"mappings":";;AAQA,MAAa,UAAU;CACrB,MAAM;CACN,MAAM;CACN,MAAM;AACR;AAIA,SAAgB,sBAAsB,MAAoB,MAAwC;CAChG,MAAM,SAAS,QAAQ,MAAM,UAAU,IAAI;CAC3C,IAAI,CAAC,OAAO,SAAS;EACnB,MAAM,QAAQ,OAAO,MAAM,OAAO;EAClC,MAAM,OAAO,MAAM,KAAK,KAAK,GAAG;EAChC,MAAM,IAAI,MAAM,WAAW,KAAK,UAAU,OAAO,QAAQ,KAAK,KAAK,GAAG,IAAI,MAAM,SAAS;CAC3F;CACA,OAAO,OAAO;AAChB"}
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../src/schemas/index.ts"],"sourcesContent":["import { docxSchema } from \"./docx\";\nimport { pptxSchema } from \"./pptx\";\nimport { xlsxSchema } from \"./xlsx\";\n\nexport { docxSchema } from \"./docx\";\nexport { pptxSchema } from \"./pptx\";\nexport { xlsxSchema } from \"./xlsx\";\n\nexport const SCHEMAS = {\n docx: docxSchema,\n pptx: pptxSchema,\n xlsx: xlsxSchema,\n} as const;\n\nexport type DocumentType = \"docx\" | \"pptx\" | \"xlsx\";\n\nexport function validateDocumentInput(type: DocumentType, data: unknown): Record<string, unknown> {\n const result = SCHEMAS[type].safeParse(data);\n if (!result.success) {\n const issue = result.error.issues[0];\n const path = issue.path.join(\".\");\n throw new Error(`Invalid ${type} options${path ? ` at \"${path}\"` : \"\"}: ${issue.message}`);\n }\n return result.data as Record<string, unknown>;\n}\n"],"mappings":";;AAQA,MAAa,UAAU;CACrB,MAAM;CACN,MAAM;CACN,MAAM;AACR;AAIA,SAAgB,sBAAsB,MAAoB,MAAwC;CAChG,MAAM,SAAS,QAAQ,KAAK,CAAC,UAAU,IAAI;CAC3C,IAAI,CAAC,OAAO,SAAS;EACnB,MAAM,QAAQ,OAAO,MAAM,OAAO;EAClC,MAAM,OAAO,MAAM,KAAK,KAAK,GAAG;EAChC,MAAM,IAAI,MAAM,WAAW,KAAK,UAAU,OAAO,QAAQ,KAAK,KAAK,GAAG,IAAI,MAAM,SAAS;CAC3F;CACA,OAAO,OAAO;AAChB"}
@@ -1 +1 @@
1
- {"version":3,"file":"xlsx-Bd0Vtakp.mjs","names":["anyObject","anyObject"],"sources":["../src/schemas/docx.ts","../src/schemas/pptx.ts","../src/schemas/xlsx.ts"],"sourcesContent":["import { z } from \"zod\";\n\nconst anyObject = z.record(z.string(), z.unknown()).describe(\"JSON object\");\n\nconst sectionChild = z.union([\n z.object({ paragraph: anyObject }).passthrough(),\n z.object({ table: anyObject }).passthrough(),\n z.object({ toc: anyObject }).passthrough(),\n z.object({ textbox: anyObject }).passthrough(),\n z.object({ sdt: anyObject }).passthrough(),\n z.object({ altChunk: anyObject }).passthrough(),\n z.object({ subDoc: anyObject }).passthrough(),\n anyObject,\n]);\n\nconst headerFooterGroup = z\n .object({\n default: anyObject.or(z.array(sectionChild.or(z.string()))).optional(),\n first: anyObject.or(z.array(sectionChild.or(z.string()))).optional(),\n even: anyObject.or(z.array(sectionChild.or(z.string()))).optional(),\n })\n .passthrough();\n\nexport const docxSchema = z\n .object({\n sections: z\n .array(\n z\n .object({\n properties: anyObject.optional(),\n children: z\n .array(sectionChild.or(z.string()))\n .describe(\n \"Section content: paragraphs ({ paragraph: {...} }), tables ({ table: {...} }), images, TOCs, etc.\",\n ),\n headers: headerFooterGroup.optional(),\n footers: headerFooterGroup.optional(),\n })\n .passthrough(),\n )\n .describe(\"Document sections (required)\"),\n title: z.string().optional(),\n subject: z.string().optional(),\n creator: z.string().optional(),\n keywords: z.string().optional(),\n description: z.string().optional(),\n lastModifiedBy: z.string().optional(),\n revision: z.number().optional(),\n externalStyles: z.string().optional(),\n styles: anyObject.optional(),\n numbering: anyObject.optional(),\n comments: anyObject.optional(),\n bibliography: anyObject.optional(),\n footnotes: z.record(z.string(), anyObject).optional(),\n endnotes: z.record(z.string(), anyObject).optional(),\n background: anyObject.optional(),\n features: anyObject.optional(),\n compatabilityModeVersion: z.number().optional(),\n compatibility: anyObject.optional(),\n customProperties: z.array(anyObject).optional(),\n evenAndOddHeaderAndFooters: z.boolean().optional(),\n defaultTabStop: z.number().optional(),\n fonts: z.array(anyObject).optional(),\n hyphenation: anyObject.optional(),\n characterSpacingControl: z.enum([\"compressPunctuation\", \"doNotCompress\"]).optional(),\n view: z.enum([\"none\", \"print\", \"outline\", \"masterPages\", \"normal\", \"web\"]).optional(),\n zoom: z\n .object({\n percent: z.number().optional(),\n val: z.enum([\"none\", \"fullPage\", \"bestFit\", \"textFit\"]).optional(),\n })\n .passthrough()\n .optional(),\n writeProtection: anyObject.optional(),\n displayBackgroundShape: z.boolean().optional(),\n embedTrueTypeFonts: z.boolean().optional(),\n embedSystemFonts: z.boolean().optional(),\n saveSubsetFonts: z.boolean().optional(),\n docVars: z.array(z.object({ name: z.string(), val: z.string() }).passthrough()).optional(),\n colorSchemeMapping: anyObject.optional(),\n })\n .passthrough();\n","import { z } from \"zod\";\n\nconst anyObject = z.record(z.string(), z.unknown()).describe(\"JSON object\");\n\nconst slideChild = z.union([\n z.object({ shape: anyObject }).passthrough(),\n z.object({ picture: anyObject }).passthrough(),\n z.object({ table: anyObject }).passthrough(),\n z.object({ chart: anyObject }).passthrough(),\n z.object({ line: anyObject }).passthrough(),\n z.object({ connector: anyObject }).passthrough(),\n z.object({ video: anyObject }).passthrough(),\n z.object({ audio: anyObject }).passthrough(),\n z.object({ group: anyObject }).passthrough(),\n z.object({ smartart: anyObject }).passthrough(),\n anyObject,\n]);\n\nconst slideComment = z\n .object({\n author: z.string(),\n text: z.string(),\n x: z.number(),\n y: z.number(),\n initials: z.string().optional(),\n date: z.string().optional(),\n })\n .passthrough();\n\nexport const pptxSchema = z\n .object({\n slides: z\n .array(\n z\n .object({\n children: z\n .array(slideChild.or(z.string()))\n .describe(\n \"Slide content: shapes ({ shape: {...} }), pictures ({ picture: {...} }), tables, charts, groups, lines, etc.\",\n ),\n background: anyObject.optional(),\n transition: anyObject.optional(),\n notes: z.string().optional(),\n layout: z\n .enum([\n \"blank\",\n \"title\",\n \"tx\",\n \"twoColTx\",\n \"titleOnly\",\n \"obj\",\n \"secHead\",\n \"chart\",\n \"tbl\",\n \"picTx\",\n \"twoObj\",\n \"twoTxTwoObj\",\n \"objTx\",\n \"vertTx\",\n \"vertTitleAndTx\",\n ])\n .optional(),\n master: z.string().optional(),\n comments: z.array(slideComment).optional(),\n headerFooter: anyObject.optional(),\n })\n .passthrough(),\n )\n .describe(\"Presentation slides (required)\"),\n size: z\n .union([z.enum([\"16:9\", \"4:3\"]), z.object({ width: z.number(), height: z.number() })])\n .optional()\n .describe('Slide size: \"16:9\", \"4:3\", or { width, height }'),\n masters: z.array(anyObject).optional().describe(\"Slide master definitions\"),\n show: z\n .object({\n loop: z.boolean().optional(),\n kiosk: z.boolean().optional(),\n showNarration: z.boolean().optional(),\n useTimings: z.boolean().optional(),\n })\n .passthrough()\n .optional(),\n title: z.string().optional(),\n subject: z.string().optional(),\n creator: z.string().optional(),\n keywords: z.string().optional(),\n description: z.string().optional(),\n lastModifiedBy: z.string().optional(),\n revision: z.number().optional(),\n })\n .passthrough();\n","import { z } from \"zod\";\n\nconst anyObject = z.record(z.string(), z.unknown()).describe(\"JSON object\");\n\nconst cellValue = z.union([z.string(), z.number(), z.boolean(), z.null()]);\n\nconst cellOptions = z.union([\n z\n .object({\n value: cellValue.optional(),\n reference: z.string().optional(),\n styleIndex: z.number().optional(),\n style: anyObject.optional(),\n formula: anyObject.optional(),\n })\n .passthrough(),\n cellValue,\n]);\n\nconst columnOptions = z\n .object({\n min: z.number(),\n max: z.number(),\n width: z.number().optional(),\n hidden: z.boolean().optional(),\n customWidth: z.boolean().optional(),\n })\n .passthrough();\n\nconst mergeCellOptions = z\n .object({\n from: z.object({ row: z.number(), col: z.number() }),\n to: z.object({ row: z.number(), col: z.number() }),\n })\n .passthrough();\n\nconst freezePaneOptions = z\n .object({\n row: z.number().optional(),\n col: z.number().optional(),\n })\n .passthrough();\n\nconst dataValidationOptions = z\n .object({\n sqref: z.string(),\n type: z\n .enum([\"none\", \"whole\", \"decimal\", \"list\", \"date\", \"time\", \"textLength\", \"custom\"])\n .optional(),\n operator: z\n .enum([\n \"between\",\n \"notBetween\",\n \"equal\",\n \"notEqual\",\n \"greaterThan\",\n \"lessThan\",\n \"greaterThanOrEqual\",\n \"lessThanOrEqual\",\n ])\n .optional(),\n formula1: z.string().optional(),\n formula2: z.string().optional(),\n allowBlank: z.boolean().optional(),\n showErrorMessage: z.boolean().optional(),\n errorTitle: z.string().optional(),\n error: z.string().optional(),\n showInputMessage: z.boolean().optional(),\n promptTitle: z.string().optional(),\n prompt: z.string().optional(),\n })\n .passthrough();\n\nconst conditionalFormatOptions = z\n .object({\n sqref: z.string(),\n rules: z.array(\n z\n .object({\n type: z.enum([\"cellIs\", \"containsText\", \"expression\", \"top10\", \"aboveAverage\"]),\n operator: z\n .enum([\n \"lessThan\",\n \"lessThanOrEqual\",\n \"equal\",\n \"notEqual\",\n \"greaterThanOrEqual\",\n \"greaterThan\",\n \"between\",\n \"notBetween\",\n \"containsText\",\n \"notContains\",\n \"beginsWith\",\n \"endsWith\",\n ])\n .optional(),\n formulas: z.array(z.string()).optional(),\n priority: z.number().optional(),\n dxfId: z.number().optional(),\n })\n .passthrough(),\n ),\n })\n .passthrough();\n\nexport const xlsxSchema = z\n .object({\n worksheets: z\n .array(\n z\n .object({\n name: z.string().optional().describe(\"Sheet display name\"),\n rows: z\n .array(\n z\n .object({\n cells: z.array(cellOptions).optional(),\n height: z.number().optional(),\n hidden: z.boolean().optional(),\n rowNumber: z.number().optional(),\n })\n .passthrough(),\n )\n .optional()\n .describe('Worksheet rows, each with \"cells\" array'),\n columns: z.array(columnOptions).optional(),\n mergeCells: z.array(mergeCellOptions).optional(),\n freezePanes: freezePaneOptions.optional(),\n autoFilter: z.string().optional(),\n images: z.array(anyObject).optional(),\n charts: z.array(anyObject).optional(),\n dataValidations: z.array(dataValidationOptions).optional(),\n conditionalFormats: z.array(conditionalFormatOptions).optional(),\n })\n .passthrough(),\n )\n .describe(\"Workbook worksheets (required)\"),\n title: z.string().optional(),\n subject: z.string().optional(),\n creator: z.string().optional(),\n keywords: z.string().optional(),\n description: z.string().optional(),\n lastModifiedBy: z.string().optional(),\n revision: z.number().optional(),\n })\n .passthrough();\n"],"mappings":"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"}
1
+ {"version":3,"file":"xlsx-Bd0Vtakp.mjs","names":["anyObject","anyObject"],"sources":["../src/schemas/docx.ts","../src/schemas/pptx.ts","../src/schemas/xlsx.ts"],"sourcesContent":["import { z } from \"zod\";\n\nconst anyObject = z.record(z.string(), z.unknown()).describe(\"JSON object\");\n\nconst sectionChild = z.union([\n z.object({ paragraph: anyObject }).passthrough(),\n z.object({ table: anyObject }).passthrough(),\n z.object({ toc: anyObject }).passthrough(),\n z.object({ textbox: anyObject }).passthrough(),\n z.object({ sdt: anyObject }).passthrough(),\n z.object({ altChunk: anyObject }).passthrough(),\n z.object({ subDoc: anyObject }).passthrough(),\n anyObject,\n]);\n\nconst headerFooterGroup = z\n .object({\n default: anyObject.or(z.array(sectionChild.or(z.string()))).optional(),\n first: anyObject.or(z.array(sectionChild.or(z.string()))).optional(),\n even: anyObject.or(z.array(sectionChild.or(z.string()))).optional(),\n })\n .passthrough();\n\nexport const docxSchema = z\n .object({\n sections: z\n .array(\n z\n .object({\n properties: anyObject.optional(),\n children: z\n .array(sectionChild.or(z.string()))\n .describe(\n \"Section content: paragraphs ({ paragraph: {...} }), tables ({ table: {...} }), images, TOCs, etc.\",\n ),\n headers: headerFooterGroup.optional(),\n footers: headerFooterGroup.optional(),\n })\n .passthrough(),\n )\n .describe(\"Document sections (required)\"),\n title: z.string().optional(),\n subject: z.string().optional(),\n creator: z.string().optional(),\n keywords: z.string().optional(),\n description: z.string().optional(),\n lastModifiedBy: z.string().optional(),\n revision: z.number().optional(),\n externalStyles: z.string().optional(),\n styles: anyObject.optional(),\n numbering: anyObject.optional(),\n comments: anyObject.optional(),\n bibliography: anyObject.optional(),\n footnotes: z.record(z.string(), anyObject).optional(),\n endnotes: z.record(z.string(), anyObject).optional(),\n background: anyObject.optional(),\n features: anyObject.optional(),\n compatabilityModeVersion: z.number().optional(),\n compatibility: anyObject.optional(),\n customProperties: z.array(anyObject).optional(),\n evenAndOddHeaderAndFooters: z.boolean().optional(),\n defaultTabStop: z.number().optional(),\n fonts: z.array(anyObject).optional(),\n hyphenation: anyObject.optional(),\n characterSpacingControl: z.enum([\"compressPunctuation\", \"doNotCompress\"]).optional(),\n view: z.enum([\"none\", \"print\", \"outline\", \"masterPages\", \"normal\", \"web\"]).optional(),\n zoom: z\n .object({\n percent: z.number().optional(),\n val: z.enum([\"none\", \"fullPage\", \"bestFit\", \"textFit\"]).optional(),\n })\n .passthrough()\n .optional(),\n writeProtection: anyObject.optional(),\n displayBackgroundShape: z.boolean().optional(),\n embedTrueTypeFonts: z.boolean().optional(),\n embedSystemFonts: z.boolean().optional(),\n saveSubsetFonts: z.boolean().optional(),\n docVars: z.array(z.object({ name: z.string(), val: z.string() }).passthrough()).optional(),\n colorSchemeMapping: anyObject.optional(),\n })\n .passthrough();\n","import { z } from \"zod\";\n\nconst anyObject = z.record(z.string(), z.unknown()).describe(\"JSON object\");\n\nconst slideChild = z.union([\n z.object({ shape: anyObject }).passthrough(),\n z.object({ picture: anyObject }).passthrough(),\n z.object({ table: anyObject }).passthrough(),\n z.object({ chart: anyObject }).passthrough(),\n z.object({ line: anyObject }).passthrough(),\n z.object({ connector: anyObject }).passthrough(),\n z.object({ video: anyObject }).passthrough(),\n z.object({ audio: anyObject }).passthrough(),\n z.object({ group: anyObject }).passthrough(),\n z.object({ smartart: anyObject }).passthrough(),\n anyObject,\n]);\n\nconst slideComment = z\n .object({\n author: z.string(),\n text: z.string(),\n x: z.number(),\n y: z.number(),\n initials: z.string().optional(),\n date: z.string().optional(),\n })\n .passthrough();\n\nexport const pptxSchema = z\n .object({\n slides: z\n .array(\n z\n .object({\n children: z\n .array(slideChild.or(z.string()))\n .describe(\n \"Slide content: shapes ({ shape: {...} }), pictures ({ picture: {...} }), tables, charts, groups, lines, etc.\",\n ),\n background: anyObject.optional(),\n transition: anyObject.optional(),\n notes: z.string().optional(),\n layout: z\n .enum([\n \"blank\",\n \"title\",\n \"tx\",\n \"twoColTx\",\n \"titleOnly\",\n \"obj\",\n \"secHead\",\n \"chart\",\n \"tbl\",\n \"picTx\",\n \"twoObj\",\n \"twoTxTwoObj\",\n \"objTx\",\n \"vertTx\",\n \"vertTitleAndTx\",\n ])\n .optional(),\n master: z.string().optional(),\n comments: z.array(slideComment).optional(),\n headerFooter: anyObject.optional(),\n })\n .passthrough(),\n )\n .describe(\"Presentation slides (required)\"),\n size: z\n .union([z.enum([\"16:9\", \"4:3\"]), z.object({ width: z.number(), height: z.number() })])\n .optional()\n .describe('Slide size: \"16:9\", \"4:3\", or { width, height }'),\n masters: z.array(anyObject).optional().describe(\"Slide master definitions\"),\n show: z\n .object({\n loop: z.boolean().optional(),\n kiosk: z.boolean().optional(),\n showNarration: z.boolean().optional(),\n useTimings: z.boolean().optional(),\n })\n .passthrough()\n .optional(),\n title: z.string().optional(),\n subject: z.string().optional(),\n creator: z.string().optional(),\n keywords: z.string().optional(),\n description: z.string().optional(),\n lastModifiedBy: z.string().optional(),\n revision: z.number().optional(),\n })\n .passthrough();\n","import { z } from \"zod\";\n\nconst anyObject = z.record(z.string(), z.unknown()).describe(\"JSON object\");\n\nconst cellValue = z.union([z.string(), z.number(), z.boolean(), z.null()]);\n\nconst cellOptions = z.union([\n z\n .object({\n value: cellValue.optional(),\n reference: z.string().optional(),\n styleIndex: z.number().optional(),\n style: anyObject.optional(),\n formula: anyObject.optional(),\n })\n .passthrough(),\n cellValue,\n]);\n\nconst columnOptions = z\n .object({\n min: z.number(),\n max: z.number(),\n width: z.number().optional(),\n hidden: z.boolean().optional(),\n customWidth: z.boolean().optional(),\n })\n .passthrough();\n\nconst mergeCellOptions = z\n .object({\n from: z.object({ row: z.number(), col: z.number() }),\n to: z.object({ row: z.number(), col: z.number() }),\n })\n .passthrough();\n\nconst freezePaneOptions = z\n .object({\n row: z.number().optional(),\n col: z.number().optional(),\n })\n .passthrough();\n\nconst dataValidationOptions = z\n .object({\n sqref: z.string(),\n type: z\n .enum([\"none\", \"whole\", \"decimal\", \"list\", \"date\", \"time\", \"textLength\", \"custom\"])\n .optional(),\n operator: z\n .enum([\n \"between\",\n \"notBetween\",\n \"equal\",\n \"notEqual\",\n \"greaterThan\",\n \"lessThan\",\n \"greaterThanOrEqual\",\n \"lessThanOrEqual\",\n ])\n .optional(),\n formula1: z.string().optional(),\n formula2: z.string().optional(),\n allowBlank: z.boolean().optional(),\n showErrorMessage: z.boolean().optional(),\n errorTitle: z.string().optional(),\n error: z.string().optional(),\n showInputMessage: z.boolean().optional(),\n promptTitle: z.string().optional(),\n prompt: z.string().optional(),\n })\n .passthrough();\n\nconst conditionalFormatOptions = z\n .object({\n sqref: z.string(),\n rules: z.array(\n z\n .object({\n type: z.enum([\"cellIs\", \"containsText\", \"expression\", \"top10\", \"aboveAverage\"]),\n operator: z\n .enum([\n \"lessThan\",\n \"lessThanOrEqual\",\n \"equal\",\n \"notEqual\",\n \"greaterThanOrEqual\",\n \"greaterThan\",\n \"between\",\n \"notBetween\",\n \"containsText\",\n \"notContains\",\n \"beginsWith\",\n \"endsWith\",\n ])\n .optional(),\n formulas: z.array(z.string()).optional(),\n priority: z.number().optional(),\n dxfId: z.number().optional(),\n })\n .passthrough(),\n ),\n })\n .passthrough();\n\nexport const xlsxSchema = z\n .object({\n worksheets: z\n .array(\n z\n .object({\n name: z.string().optional().describe(\"Sheet display name\"),\n rows: z\n .array(\n z\n .object({\n cells: z.array(cellOptions).optional(),\n height: z.number().optional(),\n hidden: z.boolean().optional(),\n rowNumber: z.number().optional(),\n })\n .passthrough(),\n )\n .optional()\n .describe('Worksheet rows, each with \"cells\" array'),\n columns: z.array(columnOptions).optional(),\n mergeCells: z.array(mergeCellOptions).optional(),\n freezePanes: freezePaneOptions.optional(),\n autoFilter: z.string().optional(),\n images: z.array(anyObject).optional(),\n charts: z.array(anyObject).optional(),\n dataValidations: z.array(dataValidationOptions).optional(),\n conditionalFormats: z.array(conditionalFormatOptions).optional(),\n })\n .passthrough(),\n )\n .describe(\"Workbook worksheets (required)\"),\n title: z.string().optional(),\n subject: z.string().optional(),\n creator: z.string().optional(),\n keywords: z.string().optional(),\n description: z.string().optional(),\n lastModifiedBy: z.string().optional(),\n revision: z.number().optional(),\n })\n .passthrough();\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "office-open",
3
- "version": "0.10.6",
3
+ "version": "0.10.8",
4
4
  "description": "Unified Office document toolkit — CLI, AI SDK tools, Zod schemas, and all packages in one install",
5
5
  "keywords": [
6
6
  "ai",
@@ -77,11 +77,11 @@
77
77
  "dependencies": {
78
78
  "citty": "0.2.2",
79
79
  "zod": "4.4.3",
80
- "@office-open/core": "0.10.6",
81
- "@office-open/xml": "0.10.6",
82
- "@office-open/docx": "0.10.6",
83
- "@office-open/xlsx": "0.10.6",
84
- "@office-open/pptx": "0.10.6"
80
+ "@office-open/core": "0.10.8",
81
+ "@office-open/xml": "0.10.8",
82
+ "@office-open/xlsx": "0.10.8",
83
+ "@office-open/docx": "0.10.8",
84
+ "@office-open/pptx": "0.10.8"
85
85
  },
86
86
  "peerDependencies": {
87
87
  "ai": "^6.0.0"