js.documents 6.4.1 → 6.5.1

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 (72) hide show
  1. package/README.md +72 -29
  2. package/dist/codecs/read.cjs +15 -0
  3. package/dist/codecs/read.js +15 -0
  4. package/dist/codecs/registry.cjs +18 -0
  5. package/dist/codecs/registry.js +18 -0
  6. package/dist/convert/capability.cjs +18 -0
  7. package/dist/convert/capability.js +18 -0
  8. package/dist/convert/codec.cjs +15 -0
  9. package/dist/convert/codec.d.cts +4 -1
  10. package/dist/convert/codec.d.ts +4 -1
  11. package/dist/convert/codec.js +16 -4
  12. package/dist/convert/composition.cjs +59 -4
  13. package/dist/convert/composition.d.cts +2 -2
  14. package/dist/convert/composition.d.ts +2 -2
  15. package/dist/convert/composition.js +59 -4
  16. package/dist/convert/convert.cjs +12 -0
  17. package/dist/convert/convert.d.cts +4 -1
  18. package/dist/convert/convert.d.ts +4 -1
  19. package/dist/convert/convert.js +10 -1
  20. package/dist/convert/from-pdf.cjs +12 -0
  21. package/dist/convert/from-pdf.d.cts +4 -1
  22. package/dist/convert/from-pdf.d.ts +4 -1
  23. package/dist/convert/from-pdf.js +10 -1
  24. package/dist/convert/port.cjs +3 -0
  25. package/dist/convert/port.d.cts +3 -0
  26. package/dist/convert/port.d.ts +3 -0
  27. package/dist/convert/port.js +3 -0
  28. package/dist/edit/odg/page.d.cts +1 -1
  29. package/dist/edit/odg/page.d.ts +1 -1
  30. package/dist/edit/odp/image.cjs +1 -1
  31. package/dist/edit/odp/image.js +1 -1
  32. package/dist/edit/odp/shape.cjs +5 -2
  33. package/dist/edit/odp/shape.d.cts +1 -1
  34. package/dist/edit/odp/shape.d.ts +1 -1
  35. package/dist/edit/odp/shape.js +6 -3
  36. package/dist/edit/odp/slide.d.cts +1 -1
  37. package/dist/edit/odp/slide.d.ts +1 -1
  38. package/dist/edit/pptx/image.cjs +1 -1
  39. package/dist/edit/pptx/image.js +1 -1
  40. package/dist/edit/pptx/shape.cjs +7 -5
  41. package/dist/edit/pptx/shape.d.cts +1 -1
  42. package/dist/edit/pptx/shape.d.ts +1 -1
  43. package/dist/edit/pptx/shape.js +7 -5
  44. package/dist/edit/pptx/slide.d.cts +2 -2
  45. package/dist/edit/pptx/slide.d.ts +2 -2
  46. package/dist/edit/pptx/table.d.cts +1 -1
  47. package/dist/edit/pptx/table.d.ts +1 -1
  48. package/dist/index.cjs +42 -0
  49. package/dist/index.d.cts +12 -8
  50. package/dist/index.d.ts +12 -8
  51. package/dist/index.js +9 -5
  52. package/dist/metadata/write.cjs +3 -0
  53. package/dist/metadata/write.js +3 -0
  54. package/dist/model/bytes.cjs +19 -0
  55. package/dist/model/bytes.d.cts +4 -1
  56. package/dist/model/bytes.d.ts +4 -1
  57. package/dist/model/bytes.js +17 -1
  58. package/dist/ppt/read.cjs +13 -0
  59. package/dist/ppt/read.d.cts +5 -0
  60. package/dist/ppt/read.d.ts +5 -0
  61. package/dist/ppt/read.js +12 -0
  62. package/dist/ppt/write.cjs +12 -0
  63. package/dist/ppt/write.d.cts +5 -0
  64. package/dist/ppt/write.d.ts +5 -0
  65. package/dist/ppt/write.js +11 -0
  66. package/dist/{shape-xpgICOEx.d.ts → shape-B_vI18gH.d.ts} +1 -1
  67. package/dist/{shape-Ca-xsrde.d.cts → shape-C2ef6uwC.d.cts} +1 -1
  68. package/dist/{shape-DqkYq1OL.d.cts → shape-CQa4zif9.d.cts} +1 -1
  69. package/dist/{shape-BY5P8kDn.d.ts → shape-DwZouh8R.d.ts} +1 -1
  70. package/dist/{table-C_KDsX5R.d.cts → table-CtbzOK8s.d.cts} +1 -1
  71. package/dist/{table-C3VWWdjr.d.ts → table-D2CgT0Gf.d.ts} +1 -1
  72. package/package.json +12 -8
@@ -1,6 +1,10 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  let zod = require("zod");
3
3
  let odf_js = require("odf.js");
4
+ let doc_codec = require("doc-codec");
5
+ let xls_codec = require("xls-codec");
6
+ let ppt_codec = require("ppt-codec");
7
+ let archive_codec = require("archive-codec");
4
8
  //#region src/model/bytes.ts
5
9
  const ZIP_LOCAL_FILE_HEADER = [
6
10
  80,
@@ -80,6 +84,18 @@ const OdtBytesSchema = odfBytesSchema("odt", [odf_js.ODF_MEDIA_TYPES.odt, odf_js
80
84
  const OdsBytesSchema = odfBytesSchema("ods", [odf_js.ODF_MEDIA_TYPES.ods, odf_js.ODF_MEDIA_TYPES.ots]);
81
85
  const OdpBytesSchema = odfBytesSchema("odp", [odf_js.ODF_MEDIA_TYPES.odp, odf_js.ODF_MEDIA_TYPES.otp]);
82
86
  const OdgBytesSchema = odfBytesSchema("odg", [odf_js.ODF_MEDIA_TYPES.odg, odf_js.ODF_MEDIA_TYPES.otg]);
87
+ const DocBytesSchema = zod.z.instanceof(Uint8Array).refine((bytes) => isArrayBufferBacked(bytes) && (0, doc_codec.isDocBytes)(bytes), { message: "not a valid doc file: not an [MS-CFB] compound file holding a 'WordDocument' stream with the [MS-DOC] FIB signature" });
88
+ const XlsBytesSchema = zod.z.instanceof(Uint8Array).refine((bytes) => isArrayBufferBacked(bytes) && (0, xls_codec.isXlsFile)(bytes), { message: "not a valid xls file: not an [MS-CFB] compound file holding a 'Workbook' stream" });
89
+ function isPptBytes(bytes) {
90
+ if (!(0, archive_codec.isCompoundFile)(bytes)) return false;
91
+ try {
92
+ const streams = (0, archive_codec.readCompoundFile)(bytes);
93
+ return streams.some((stream) => stream.path === ppt_codec.CURRENT_USER_STREAM) && streams.some((stream) => stream.path === ppt_codec.POWERPOINT_DOCUMENT_STREAM);
94
+ } catch {
95
+ return false;
96
+ }
97
+ }
98
+ const PptBytesSchema = zod.z.instanceof(Uint8Array).refine((bytes) => isArrayBufferBacked(bytes) && isPptBytes(bytes), { message: "not a valid ppt file: not an [MS-CFB] compound file holding both a 'Current User' and a 'PowerPoint Document' stream" });
83
99
  function isWellFormedUtf8Text(bytes) {
84
100
  try {
85
101
  new TextDecoder("utf-8", { fatal: true }).decode(bytes);
@@ -103,6 +119,7 @@ function requireArrayBufferBytes(bytes) {
103
119
  }
104
120
  //#endregion
105
121
  exports.CsvBytesSchema = CsvBytesSchema;
122
+ exports.DocBytesSchema = DocBytesSchema;
106
123
  exports.DocxBytesSchema = DocxBytesSchema;
107
124
  exports.MarkdownBytesSchema = MarkdownBytesSchema;
108
125
  exports.OdgBytesSchema = OdgBytesSchema;
@@ -110,7 +127,9 @@ exports.OdpBytesSchema = OdpBytesSchema;
110
127
  exports.OdsBytesSchema = OdsBytesSchema;
111
128
  exports.OdtBytesSchema = OdtBytesSchema;
112
129
  exports.PdfBytesSchema = PdfBytesSchema;
130
+ exports.PptBytesSchema = PptBytesSchema;
113
131
  exports.PptxBytesSchema = PptxBytesSchema;
114
132
  exports.SvgBytesSchema = SvgBytesSchema;
133
+ exports.XlsBytesSchema = XlsBytesSchema;
115
134
  exports.XlsxBytesSchema = XlsxBytesSchema;
116
135
  exports.requireArrayBufferBytes = requireArrayBufferBytes;
@@ -8,9 +8,12 @@ declare const OdtBytesSchema: z.ZodCustom<Uint8Array<ArrayBuffer>, Uint8Array<Ar
8
8
  declare const OdsBytesSchema: z.ZodCustom<Uint8Array<ArrayBuffer>, Uint8Array<ArrayBuffer>>;
9
9
  declare const OdpBytesSchema: z.ZodCustom<Uint8Array<ArrayBuffer>, Uint8Array<ArrayBuffer>>;
10
10
  declare const OdgBytesSchema: z.ZodCustom<Uint8Array<ArrayBuffer>, Uint8Array<ArrayBuffer>>;
11
+ declare const DocBytesSchema: z.ZodCustom<Uint8Array<ArrayBuffer>, Uint8Array<ArrayBuffer>>;
12
+ declare const XlsBytesSchema: z.ZodCustom<Uint8Array<ArrayBuffer>, Uint8Array<ArrayBuffer>>;
13
+ declare const PptBytesSchema: z.ZodCustom<Uint8Array<ArrayBuffer>, Uint8Array<ArrayBuffer>>;
11
14
  declare const MarkdownBytesSchema: z.ZodCustom<Uint8Array<ArrayBuffer>, Uint8Array<ArrayBuffer>>;
12
15
  declare const CsvBytesSchema: z.ZodCustom<Uint8Array<ArrayBuffer>, Uint8Array<ArrayBuffer>>;
13
16
  declare const SvgBytesSchema: z.ZodCustom<Uint8Array<ArrayBuffer>, Uint8Array<ArrayBuffer>>;
14
17
  declare function requireArrayBufferBytes(bytes: Uint8Array): Uint8Array<ArrayBuffer>;
15
18
  //#endregion
16
- export { CsvBytesSchema, DocxBytesSchema, MarkdownBytesSchema, OdgBytesSchema, OdpBytesSchema, OdsBytesSchema, OdtBytesSchema, PdfBytesSchema, PptxBytesSchema, SvgBytesSchema, XlsxBytesSchema, requireArrayBufferBytes };
19
+ export { CsvBytesSchema, DocBytesSchema, DocxBytesSchema, MarkdownBytesSchema, OdgBytesSchema, OdpBytesSchema, OdsBytesSchema, OdtBytesSchema, PdfBytesSchema, PptBytesSchema, PptxBytesSchema, SvgBytesSchema, XlsBytesSchema, XlsxBytesSchema, requireArrayBufferBytes };
@@ -8,9 +8,12 @@ declare const OdtBytesSchema: z.ZodCustom<Uint8Array<ArrayBuffer>, Uint8Array<Ar
8
8
  declare const OdsBytesSchema: z.ZodCustom<Uint8Array<ArrayBuffer>, Uint8Array<ArrayBuffer>>;
9
9
  declare const OdpBytesSchema: z.ZodCustom<Uint8Array<ArrayBuffer>, Uint8Array<ArrayBuffer>>;
10
10
  declare const OdgBytesSchema: z.ZodCustom<Uint8Array<ArrayBuffer>, Uint8Array<ArrayBuffer>>;
11
+ declare const DocBytesSchema: z.ZodCustom<Uint8Array<ArrayBuffer>, Uint8Array<ArrayBuffer>>;
12
+ declare const XlsBytesSchema: z.ZodCustom<Uint8Array<ArrayBuffer>, Uint8Array<ArrayBuffer>>;
13
+ declare const PptBytesSchema: z.ZodCustom<Uint8Array<ArrayBuffer>, Uint8Array<ArrayBuffer>>;
11
14
  declare const MarkdownBytesSchema: z.ZodCustom<Uint8Array<ArrayBuffer>, Uint8Array<ArrayBuffer>>;
12
15
  declare const CsvBytesSchema: z.ZodCustom<Uint8Array<ArrayBuffer>, Uint8Array<ArrayBuffer>>;
13
16
  declare const SvgBytesSchema: z.ZodCustom<Uint8Array<ArrayBuffer>, Uint8Array<ArrayBuffer>>;
14
17
  declare function requireArrayBufferBytes(bytes: Uint8Array): Uint8Array<ArrayBuffer>;
15
18
  //#endregion
16
- export { CsvBytesSchema, DocxBytesSchema, MarkdownBytesSchema, OdgBytesSchema, OdpBytesSchema, OdsBytesSchema, OdtBytesSchema, PdfBytesSchema, PptxBytesSchema, SvgBytesSchema, XlsxBytesSchema, requireArrayBufferBytes };
19
+ export { CsvBytesSchema, DocBytesSchema, DocxBytesSchema, MarkdownBytesSchema, OdgBytesSchema, OdpBytesSchema, OdsBytesSchema, OdtBytesSchema, PdfBytesSchema, PptBytesSchema, PptxBytesSchema, SvgBytesSchema, XlsBytesSchema, XlsxBytesSchema, requireArrayBufferBytes };
@@ -1,5 +1,9 @@
1
1
  import { z } from "zod";
2
2
  import { ODF_MEDIA_TYPES } from "odf.js";
3
+ import { isDocBytes } from "doc-codec";
4
+ import { isXlsFile } from "xls-codec";
5
+ import { CURRENT_USER_STREAM, POWERPOINT_DOCUMENT_STREAM } from "ppt-codec";
6
+ import { isCompoundFile, readCompoundFile } from "archive-codec";
3
7
  //#region src/model/bytes.ts
4
8
  const ZIP_LOCAL_FILE_HEADER = [
5
9
  80,
@@ -79,6 +83,18 @@ const OdtBytesSchema = odfBytesSchema("odt", [ODF_MEDIA_TYPES.odt, ODF_MEDIA_TYP
79
83
  const OdsBytesSchema = odfBytesSchema("ods", [ODF_MEDIA_TYPES.ods, ODF_MEDIA_TYPES.ots]);
80
84
  const OdpBytesSchema = odfBytesSchema("odp", [ODF_MEDIA_TYPES.odp, ODF_MEDIA_TYPES.otp]);
81
85
  const OdgBytesSchema = odfBytesSchema("odg", [ODF_MEDIA_TYPES.odg, ODF_MEDIA_TYPES.otg]);
86
+ const DocBytesSchema = z.instanceof(Uint8Array).refine((bytes) => isArrayBufferBacked(bytes) && isDocBytes(bytes), { message: "not a valid doc file: not an [MS-CFB] compound file holding a 'WordDocument' stream with the [MS-DOC] FIB signature" });
87
+ const XlsBytesSchema = z.instanceof(Uint8Array).refine((bytes) => isArrayBufferBacked(bytes) && isXlsFile(bytes), { message: "not a valid xls file: not an [MS-CFB] compound file holding a 'Workbook' stream" });
88
+ function isPptBytes(bytes) {
89
+ if (!isCompoundFile(bytes)) return false;
90
+ try {
91
+ const streams = readCompoundFile(bytes);
92
+ return streams.some((stream) => stream.path === CURRENT_USER_STREAM) && streams.some((stream) => stream.path === POWERPOINT_DOCUMENT_STREAM);
93
+ } catch {
94
+ return false;
95
+ }
96
+ }
97
+ const PptBytesSchema = z.instanceof(Uint8Array).refine((bytes) => isArrayBufferBacked(bytes) && isPptBytes(bytes), { message: "not a valid ppt file: not an [MS-CFB] compound file holding both a 'Current User' and a 'PowerPoint Document' stream" });
82
98
  function isWellFormedUtf8Text(bytes) {
83
99
  try {
84
100
  new TextDecoder("utf-8", { fatal: true }).decode(bytes);
@@ -101,4 +117,4 @@ function requireArrayBufferBytes(bytes) {
101
117
  return bytes;
102
118
  }
103
119
  //#endregion
104
- export { CsvBytesSchema, DocxBytesSchema, MarkdownBytesSchema, OdgBytesSchema, OdpBytesSchema, OdsBytesSchema, OdtBytesSchema, PdfBytesSchema, PptxBytesSchema, SvgBytesSchema, XlsxBytesSchema, requireArrayBufferBytes };
120
+ export { CsvBytesSchema, DocBytesSchema, DocxBytesSchema, MarkdownBytesSchema, OdgBytesSchema, OdpBytesSchema, OdsBytesSchema, OdtBytesSchema, PdfBytesSchema, PptBytesSchema, PptxBytesSchema, SvgBytesSchema, XlsBytesSchema, XlsxBytesSchema, requireArrayBufferBytes };
@@ -0,0 +1,13 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ let ppt_codec = require("ppt-codec");
3
+ //#region src/ppt/read.ts
4
+ function readPptContent(bytes) {
5
+ const { metadata, slides } = (0, ppt_codec.readPptContent)(bytes);
6
+ return {
7
+ kind: "presentation",
8
+ metadata: { ...metadata },
9
+ slides: [...slides]
10
+ };
11
+ }
12
+ //#endregion
13
+ exports.readPptContent = readPptContent;
@@ -0,0 +1,5 @@
1
+ import { ContentDocument } from "document-schema.js";
2
+ //#region src/ppt/read.d.ts
3
+ declare function readPptContent(bytes: Uint8Array<ArrayBuffer>): ContentDocument;
4
+ //#endregion
5
+ export { readPptContent };
@@ -0,0 +1,5 @@
1
+ import { ContentDocument } from "document-schema.js";
2
+ //#region src/ppt/read.d.ts
3
+ declare function readPptContent(bytes: Uint8Array<ArrayBuffer>): ContentDocument;
4
+ //#endregion
5
+ export { readPptContent };
@@ -0,0 +1,12 @@
1
+ import { readPptContent as readPptContent$1 } from "ppt-codec";
2
+ //#region src/ppt/read.ts
3
+ function readPptContent(bytes) {
4
+ const { metadata, slides } = readPptContent$1(bytes);
5
+ return {
6
+ kind: "presentation",
7
+ metadata: { ...metadata },
8
+ slides: [...slides]
9
+ };
10
+ }
11
+ //#endregion
12
+ export { readPptContent };
@@ -0,0 +1,12 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ let ppt_codec = require("ppt-codec");
3
+ //#region src/ppt/write.ts
4
+ function writePptContent(content) {
5
+ if (content.kind !== "presentation") throw new Error(`writePptContent requires a presentation ContentDocument, got '${content.kind}'`);
6
+ return (0, ppt_codec.writePptContent)({
7
+ metadata: content.metadata,
8
+ slides: content.slides
9
+ });
10
+ }
11
+ //#endregion
12
+ exports.writePptContent = writePptContent;
@@ -0,0 +1,5 @@
1
+ import { ContentDocument } from "document-schema.js";
2
+ //#region src/ppt/write.d.ts
3
+ declare function writePptContent(content: ContentDocument): Uint8Array<ArrayBuffer>;
4
+ //#endregion
5
+ export { writePptContent };
@@ -0,0 +1,5 @@
1
+ import { ContentDocument } from "document-schema.js";
2
+ //#region src/ppt/write.d.ts
3
+ declare function writePptContent(content: ContentDocument): Uint8Array<ArrayBuffer>;
4
+ //#endregion
5
+ export { writePptContent };
@@ -0,0 +1,11 @@
1
+ import { writePptContent as writePptContent$1 } from "ppt-codec";
2
+ //#region src/ppt/write.ts
3
+ function writePptContent(content) {
4
+ if (content.kind !== "presentation") throw new Error(`writePptContent requires a presentation ContentDocument, got '${content.kind}'`);
5
+ return writePptContent$1({
6
+ metadata: content.metadata,
7
+ slides: content.slides
8
+ });
9
+ }
10
+ //#endregion
11
+ export { writePptContent };
@@ -25,7 +25,7 @@ declare class OdpShape {
25
25
  remove(): void;
26
26
  }
27
27
  declare function buildTextBoxFrame(pkg: Package, frame: Box, text: string): XmlElement;
28
- declare function buildImageFrame(partPath: string, frame: Box): XmlElement;
28
+ declare function buildImageFrame(partPath: string, frame: Box, altText?: string): XmlElement;
29
29
  declare function buildTableFrame(frame: Box, tableElement: XmlElement): XmlElement;
30
30
  //#endregion
31
31
  export { buildTextBoxFrame as i, buildImageFrame as n, buildTableFrame as r, OdpShape as t };
@@ -59,6 +59,6 @@ interface DrawingParagraphInit {
59
59
  }
60
60
  declare function buildDrawingParagraph(init: DrawingParagraphInit): XmlElement;
61
61
  declare function buildTextBoxShape(frame: Box, text: string, shapeId: number): XmlElement;
62
- declare function buildPictureShape(frame: Box, relationshipId: string, shapeId: number): XmlElement;
62
+ declare function buildPictureShape(frame: Box, relationshipId: string, shapeId: number, altText?: string): XmlElement;
63
63
  //#endregion
64
64
  export { buildDrawingParagraph as a, ROTATION_UNITS_PER_DEGREE as i, DrawingRunInit as n, buildPictureShape as o, PptxShape as r, buildTextBoxShape as s, DrawingParagraphInit as t };
@@ -25,7 +25,7 @@ declare class OdpShape {
25
25
  remove(): void;
26
26
  }
27
27
  declare function buildTextBoxFrame(pkg: Package, frame: Box, text: string): XmlElement;
28
- declare function buildImageFrame(partPath: string, frame: Box): XmlElement;
28
+ declare function buildImageFrame(partPath: string, frame: Box, altText?: string): XmlElement;
29
29
  declare function buildTableFrame(frame: Box, tableElement: XmlElement): XmlElement;
30
30
  //#endregion
31
31
  export { buildTextBoxFrame as i, buildImageFrame as n, buildTableFrame as r, OdpShape as t };
@@ -59,6 +59,6 @@ interface DrawingParagraphInit {
59
59
  }
60
60
  declare function buildDrawingParagraph(init: DrawingParagraphInit): XmlElement;
61
61
  declare function buildTextBoxShape(frame: Box, text: string, shapeId: number): XmlElement;
62
- declare function buildPictureShape(frame: Box, relationshipId: string, shapeId: number): XmlElement;
62
+ declare function buildPictureShape(frame: Box, relationshipId: string, shapeId: number, altText?: string): XmlElement;
63
63
  //#endregion
64
64
  export { buildDrawingParagraph as a, ROTATION_UNITS_PER_DEGREE as i, DrawingRunInit as n, buildPictureShape as o, PptxShape as r, buildTextBoxShape as s, DrawingParagraphInit as t };
@@ -1,4 +1,4 @@
1
- import { t as DrawingParagraphInit } from "./shape-Ca-xsrde.cjs";
1
+ import { t as DrawingParagraphInit } from "./shape-C2ef6uwC.cjs";
2
2
  import { Box, Color, ContentCellBorders } from "document-schema.js";
3
3
  import { XmlElement } from "ooxml.js";
4
4
  //#region src/edit/pptx/table.d.ts
@@ -1,4 +1,4 @@
1
- import { t as DrawingParagraphInit } from "./shape-BY5P8kDn.js";
1
+ import { t as DrawingParagraphInit } from "./shape-DwZouh8R.js";
2
2
  import { XmlElement } from "ooxml.js";
3
3
  import { Box, Color, ContentCellBorders } from "document-schema.js";
4
4
  //#region src/edit/pptx/table.d.ts
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "js.documents",
3
- "version": "6.4.1",
3
+ "version": "6.5.1",
4
4
  "description": "Bidirectional docx/pptx <-> PDF conversion and a read+write editable OOXML document model, built on ooxml.js and Zod 4 codecs.",
5
5
  "type": "module",
6
6
  "repository": {
@@ -77,17 +77,21 @@
77
77
  ],
78
78
  "license": "MIT",
79
79
  "dependencies": {
80
+ "archive-codec": "^1.4.0",
80
81
  "byte-codec": "^1.2.0",
81
- "document-schema.js": "^5.5.0",
82
+ "doc-codec": "^1.1.0",
83
+ "document-schema.js": "^5.5.1",
82
84
  "fflate": "^0.8.3",
83
- "markdown-codec": "^6.1.4",
84
- "odf.js": "^6.3.0",
85
- "ooxml.js": "^6.3.3",
86
- "pdf-codec": "^3.6.2",
87
- "rtf-codec": "^1.1.0",
85
+ "markdown-codec": "^6.1.5",
86
+ "odf.js": "^6.4.0",
87
+ "ooxml.js": "^6.3.5",
88
+ "pdf-codec": "^3.6.3",
89
+ "ppt-codec": "^1.1.0",
90
+ "rtf-codec": "^1.1.1",
88
91
  "temml": "0.13.4",
92
+ "xls-codec": "^2.0.0",
89
93
  "zod": "^4.4.3",
90
- "wpd-codec": "^1.1.0"
94
+ "wpd-codec": "^1.1.1"
91
95
  },
92
96
  "devDependencies": {
93
97
  "@arethetypeswrong/cli": "^0.18.5",