@cesarandreslopez/occ 0.3.1 → 0.4.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 (150) hide show
  1. package/README.md +130 -4
  2. package/dist/src/cli-validation.d.ts +14 -0
  3. package/dist/src/cli-validation.js +58 -0
  4. package/dist/src/cli-validation.js.map +1 -0
  5. package/dist/src/cli.js +26 -8
  6. package/dist/src/cli.js.map +1 -1
  7. package/dist/src/code/build.d.ts +7 -5
  8. package/dist/src/code/build.js +68 -11
  9. package/dist/src/code/build.js.map +1 -1
  10. package/dist/src/code/command.js +26 -19
  11. package/dist/src/code/command.js.map +1 -1
  12. package/dist/src/code/discover.d.ts +6 -4
  13. package/dist/src/code/discover.js +5 -0
  14. package/dist/src/code/discover.js.map +1 -1
  15. package/dist/src/code/languages.d.ts +28 -7
  16. package/dist/src/code/languages.js +9 -0
  17. package/dist/src/code/languages.js.map +1 -1
  18. package/dist/src/code/output.js +12 -3
  19. package/dist/src/code/output.js.map +1 -1
  20. package/dist/src/code/parsers.js +75 -10
  21. package/dist/src/code/parsers.js.map +1 -1
  22. package/dist/src/code/query.js +82 -22
  23. package/dist/src/code/query.js.map +1 -1
  24. package/dist/src/code/types.d.ts +1201 -145
  25. package/dist/src/code/types.js +150 -1
  26. package/dist/src/code/types.js.map +1 -1
  27. package/dist/src/doc/command.d.ts +2 -0
  28. package/dist/src/doc/command.js +54 -0
  29. package/dist/src/doc/command.js.map +1 -0
  30. package/dist/src/doc/inspect-docx.d.ts +14 -0
  31. package/dist/src/doc/inspect-docx.js +188 -0
  32. package/dist/src/doc/inspect-docx.js.map +1 -0
  33. package/dist/src/doc/inspect-odt.d.ts +8 -0
  34. package/dist/src/doc/inspect-odt.js +92 -0
  35. package/dist/src/doc/inspect-odt.js.map +1 -0
  36. package/dist/src/doc/inspect-pdf.d.ts +8 -0
  37. package/dist/src/doc/inspect-pdf.js +88 -0
  38. package/dist/src/doc/inspect-pdf.js.map +1 -0
  39. package/dist/src/doc/inspect.d.ts +2 -0
  40. package/dist/src/doc/inspect.js +70 -0
  41. package/dist/src/doc/inspect.js.map +1 -0
  42. package/dist/src/doc/output.d.ts +3 -0
  43. package/dist/src/doc/output.js +82 -0
  44. package/dist/src/doc/output.js.map +1 -0
  45. package/dist/src/doc/types.d.ts +172 -0
  46. package/dist/src/doc/types.js +62 -0
  47. package/dist/src/doc/types.js.map +1 -0
  48. package/dist/src/inspect/shared.d.ts +20 -0
  49. package/dist/src/inspect/shared.js +29 -0
  50. package/dist/src/inspect/shared.js.map +1 -0
  51. package/dist/src/inspect/xlsx-cells.d.ts +4 -0
  52. package/dist/src/inspect/xlsx-cells.js +31 -0
  53. package/dist/src/inspect/xlsx-cells.js.map +1 -0
  54. package/dist/src/markdown/convert.js +6 -4
  55. package/dist/src/markdown/convert.js.map +1 -1
  56. package/dist/src/output/tabular.d.ts +6 -4
  57. package/dist/src/output/tabular.js +5 -0
  58. package/dist/src/output/tabular.js.map +1 -1
  59. package/dist/src/output/tree.d.ts +21 -9
  60. package/dist/src/output/tree.js +10 -0
  61. package/dist/src/output/tree.js.map +1 -1
  62. package/dist/src/parsers/docx.js +5 -1
  63. package/dist/src/parsers/docx.js.map +1 -1
  64. package/dist/src/parsers/odf.js +4 -3
  65. package/dist/src/parsers/odf.js.map +1 -1
  66. package/dist/src/parsers/pdf.js +6 -1
  67. package/dist/src/parsers/pdf.js.map +1 -1
  68. package/dist/src/parsers/pptx.js +2 -1
  69. package/dist/src/parsers/pptx.js.map +1 -1
  70. package/dist/src/parsers/xlsx.js +11 -4
  71. package/dist/src/parsers/xlsx.js.map +1 -1
  72. package/dist/src/progress.d.ts +7 -5
  73. package/dist/src/progress.js +6 -0
  74. package/dist/src/progress.js.map +1 -1
  75. package/dist/src/scc.d.ts +35 -26
  76. package/dist/src/scc.js +26 -1
  77. package/dist/src/scc.js.map +1 -1
  78. package/dist/src/sheet/command.d.ts +2 -0
  79. package/dist/src/sheet/command.js +61 -0
  80. package/dist/src/sheet/command.js.map +1 -0
  81. package/dist/src/sheet/inspect.d.ts +3 -0
  82. package/dist/src/sheet/inspect.js +426 -0
  83. package/dist/src/sheet/inspect.js.map +1 -0
  84. package/dist/src/sheet/output.d.ts +3 -0
  85. package/dist/src/sheet/output.js +158 -0
  86. package/dist/src/sheet/output.js.map +1 -0
  87. package/dist/src/sheet/types.d.ts +472 -0
  88. package/dist/src/sheet/types.js +119 -0
  89. package/dist/src/sheet/types.js.map +1 -0
  90. package/dist/src/slide/command.d.ts +2 -0
  91. package/dist/src/slide/command.js +54 -0
  92. package/dist/src/slide/command.js.map +1 -0
  93. package/dist/src/slide/inspect-odp.d.ts +7 -0
  94. package/dist/src/slide/inspect-odp.js +105 -0
  95. package/dist/src/slide/inspect-odp.js.map +1 -0
  96. package/dist/src/slide/inspect-pptx.d.ts +11 -0
  97. package/dist/src/slide/inspect-pptx.js +157 -0
  98. package/dist/src/slide/inspect-pptx.js.map +1 -0
  99. package/dist/src/slide/inspect.d.ts +2 -0
  100. package/dist/src/slide/inspect.js +76 -0
  101. package/dist/src/slide/inspect.js.map +1 -0
  102. package/dist/src/slide/output.d.ts +3 -0
  103. package/dist/src/slide/output.js +92 -0
  104. package/dist/src/slide/output.js.map +1 -0
  105. package/dist/src/slide/types.d.ts +167 -0
  106. package/dist/src/slide/types.js +61 -0
  107. package/dist/src/slide/types.js.map +1 -0
  108. package/dist/src/stats.d.ts +6 -4
  109. package/dist/src/stats.js +5 -0
  110. package/dist/src/stats.js.map +1 -1
  111. package/dist/src/structure/types.d.ts +19 -11
  112. package/dist/src/structure/types.js +26 -21
  113. package/dist/src/structure/types.js.map +1 -1
  114. package/dist/src/table/command.d.ts +2 -0
  115. package/dist/src/table/command.js +58 -0
  116. package/dist/src/table/command.js.map +1 -0
  117. package/dist/src/table/inspect-docx.d.ts +2 -0
  118. package/dist/src/table/inspect-docx.js +108 -0
  119. package/dist/src/table/inspect-docx.js.map +1 -0
  120. package/dist/src/table/inspect-odp.d.ts +2 -0
  121. package/dist/src/table/inspect-odp.js +106 -0
  122. package/dist/src/table/inspect-odp.js.map +1 -0
  123. package/dist/src/table/inspect-odt.d.ts +2 -0
  124. package/dist/src/table/inspect-odt.js +100 -0
  125. package/dist/src/table/inspect-odt.js.map +1 -0
  126. package/dist/src/table/inspect-pptx.d.ts +2 -0
  127. package/dist/src/table/inspect-pptx.js +112 -0
  128. package/dist/src/table/inspect-pptx.js.map +1 -0
  129. package/dist/src/table/inspect-xlsx.d.ts +2 -0
  130. package/dist/src/table/inspect-xlsx.js +161 -0
  131. package/dist/src/table/inspect-xlsx.js.map +1 -0
  132. package/dist/src/table/inspect.d.ts +2 -0
  133. package/dist/src/table/inspect.js +65 -0
  134. package/dist/src/table/inspect.js.map +1 -0
  135. package/dist/src/table/output.d.ts +3 -0
  136. package/dist/src/table/output.js +93 -0
  137. package/dist/src/table/output.js.map +1 -0
  138. package/dist/src/table/types.d.ts +104 -0
  139. package/dist/src/table/types.js +40 -0
  140. package/dist/src/table/types.js.map +1 -0
  141. package/dist/src/types.d.ts +25 -20
  142. package/dist/src/types.js +21 -1
  143. package/dist/src/types.js.map +1 -1
  144. package/dist/src/utils.d.ts +11 -1
  145. package/dist/src/utils.js +2 -0
  146. package/dist/src/utils.js.map +1 -1
  147. package/dist/src/walker.d.ts +21 -12
  148. package/dist/src/walker.js +13 -0
  149. package/dist/src/walker.js.map +1 -1
  150. package/package.json +3 -2
@@ -0,0 +1,472 @@
1
+ import { z } from 'zod';
2
+ export declare const SheetVisibilitySchema: z.ZodEnum<{
3
+ visible: "visible";
4
+ hidden: "hidden";
5
+ very_hidden: "very_hidden";
6
+ }>;
7
+ export type SheetVisibility = z.infer<typeof SheetVisibilitySchema>;
8
+ export declare const HeaderSelectionModeSchema: z.ZodEnum<{
9
+ auto: "auto";
10
+ none: "none";
11
+ explicit: "explicit";
12
+ }>;
13
+ export type HeaderSelectionMode = z.infer<typeof HeaderSelectionModeSchema>;
14
+ export declare const ColumnValueTypeSchema: z.ZodEnum<{
15
+ string: "string";
16
+ number: "number";
17
+ boolean: "boolean";
18
+ unknown: "unknown";
19
+ date: "date";
20
+ error: "error";
21
+ blank_stub: "blank_stub";
22
+ }>;
23
+ export type ColumnValueType = z.infer<typeof ColumnValueTypeSchema>;
24
+ export declare const InspectSheetOptionsSchema: z.ZodObject<{
25
+ sheet: z.ZodOptional<z.ZodString>;
26
+ sampleRows: z.ZodNumber;
27
+ headerRow: z.ZodUnion<readonly [z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodNumber]>;
28
+ maxColumns: z.ZodNumber;
29
+ }, z.core.$strip>;
30
+ export type InspectSheetOptions = z.infer<typeof InspectSheetOptionsSchema>;
31
+ export declare const DefinedNameInfoSchema: z.ZodObject<{
32
+ name: z.ZodString;
33
+ ref: z.ZodString;
34
+ scope: z.ZodEnum<{
35
+ sheet: "sheet";
36
+ workbook: "workbook";
37
+ }>;
38
+ sheetIndex: z.ZodOptional<z.ZodNumber>;
39
+ sheetName: z.ZodOptional<z.ZodString>;
40
+ external: z.ZodBoolean;
41
+ }, z.core.$strip>;
42
+ export type DefinedNameInfo = z.infer<typeof DefinedNameInfoSchema>;
43
+ export declare const WorkbookPropertiesSchema: z.ZodObject<{
44
+ title: z.ZodOptional<z.ZodString>;
45
+ subject: z.ZodOptional<z.ZodString>;
46
+ author: z.ZodOptional<z.ZodString>;
47
+ company: z.ZodOptional<z.ZodString>;
48
+ manager: z.ZodOptional<z.ZodString>;
49
+ createdDate: z.ZodOptional<z.ZodString>;
50
+ modifiedDate: z.ZodOptional<z.ZodString>;
51
+ }, z.core.$strip>;
52
+ export type WorkbookProperties = z.infer<typeof WorkbookPropertiesSchema>;
53
+ export declare const WorkbookRiskFlagsSchema: z.ZodObject<{
54
+ hiddenSheets: z.ZodBoolean;
55
+ formulas: z.ZodBoolean;
56
+ comments: z.ZodBoolean;
57
+ hyperlinks: z.ZodBoolean;
58
+ mergedCells: z.ZodBoolean;
59
+ protectedSheets: z.ZodBoolean;
60
+ externalFormulaRefs: z.ZodBoolean;
61
+ }, z.core.$strip>;
62
+ export type WorkbookRiskFlags = z.infer<typeof WorkbookRiskFlagsSchema>;
63
+ export declare const CellTypeCountsSchema: z.ZodObject<{
64
+ string: z.ZodNumber;
65
+ number: z.ZodNumber;
66
+ boolean: z.ZodNumber;
67
+ date: z.ZodNumber;
68
+ error: z.ZodNumber;
69
+ blankStub: z.ZodNumber;
70
+ }, z.core.$strip>;
71
+ export type CellTypeCounts = z.infer<typeof CellTypeCountsSchema>;
72
+ export declare const ColumnProfileSchema: z.ZodObject<{
73
+ index: z.ZodNumber;
74
+ letter: z.ZodString;
75
+ name: z.ZodString;
76
+ dominantType: z.ZodEnum<{
77
+ string: "string";
78
+ number: "number";
79
+ boolean: "boolean";
80
+ unknown: "unknown";
81
+ date: "date";
82
+ error: "error";
83
+ blank_stub: "blank_stub";
84
+ }>;
85
+ nonEmptyCount: z.ZodNumber;
86
+ nonEmptyRatio: z.ZodNumber;
87
+ examples: z.ZodArray<z.ZodString>;
88
+ }, z.core.$strip>;
89
+ export type ColumnProfile = z.infer<typeof ColumnProfileSchema>;
90
+ export declare const SampleRowSchema: z.ZodObject<{
91
+ rowNumber: z.ZodNumber;
92
+ values: z.ZodRecord<z.ZodString, z.ZodString>;
93
+ }, z.core.$strip>;
94
+ export type SampleRow = z.infer<typeof SampleRowSchema>;
95
+ export declare const SheetProfileSchema: z.ZodObject<{
96
+ index: z.ZodNumber;
97
+ name: z.ZodString;
98
+ visibility: z.ZodEnum<{
99
+ visible: "visible";
100
+ hidden: "hidden";
101
+ very_hidden: "very_hidden";
102
+ }>;
103
+ usedRange: z.ZodNullable<z.ZodString>;
104
+ totalRows: z.ZodNumber;
105
+ totalCols: z.ZodNumber;
106
+ rectangularRangeCellCount: z.ZodNumber;
107
+ nonEmptyCellCount: z.ZodNumber;
108
+ cellTypeCounts: z.ZodObject<{
109
+ string: z.ZodNumber;
110
+ number: z.ZodNumber;
111
+ boolean: z.ZodNumber;
112
+ date: z.ZodNumber;
113
+ error: z.ZodNumber;
114
+ blankStub: z.ZodNumber;
115
+ }, z.core.$strip>;
116
+ formulaCellCount: z.ZodNumber;
117
+ commentCellCount: z.ZodNumber;
118
+ hyperlinkCellCount: z.ZodNumber;
119
+ mergedRangeCount: z.ZodNumber;
120
+ hiddenRowCount: z.ZodNumber;
121
+ hiddenColumnCount: z.ZodNumber;
122
+ autoFilterRef: z.ZodNullable<z.ZodString>;
123
+ protected: z.ZodBoolean;
124
+ definedNames: z.ZodArray<z.ZodObject<{
125
+ name: z.ZodString;
126
+ ref: z.ZodString;
127
+ scope: z.ZodEnum<{
128
+ sheet: "sheet";
129
+ workbook: "workbook";
130
+ }>;
131
+ sheetIndex: z.ZodOptional<z.ZodNumber>;
132
+ sheetName: z.ZodOptional<z.ZodString>;
133
+ external: z.ZodBoolean;
134
+ }, z.core.$strip>>;
135
+ externalFormulaRefCount: z.ZodNumber;
136
+ headerSelection: z.ZodObject<{
137
+ requested: z.ZodUnion<readonly [z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodNumber]>;
138
+ mode: z.ZodEnum<{
139
+ auto: "auto";
140
+ none: "none";
141
+ explicit: "explicit";
142
+ }>;
143
+ rowNumber: z.ZodNullable<z.ZodNumber>;
144
+ }, z.core.$strip>;
145
+ schema: z.ZodObject<{
146
+ truncated: z.ZodBoolean;
147
+ columns: z.ZodArray<z.ZodObject<{
148
+ index: z.ZodNumber;
149
+ letter: z.ZodString;
150
+ name: z.ZodString;
151
+ dominantType: z.ZodEnum<{
152
+ string: "string";
153
+ number: "number";
154
+ boolean: "boolean";
155
+ unknown: "unknown";
156
+ date: "date";
157
+ error: "error";
158
+ blank_stub: "blank_stub";
159
+ }>;
160
+ nonEmptyCount: z.ZodNumber;
161
+ nonEmptyRatio: z.ZodNumber;
162
+ examples: z.ZodArray<z.ZodString>;
163
+ }, z.core.$strip>>;
164
+ }, z.core.$strip>;
165
+ sample: z.ZodObject<{
166
+ truncatedRows: z.ZodBoolean;
167
+ truncatedColumns: z.ZodBoolean;
168
+ rows: z.ZodArray<z.ZodObject<{
169
+ rowNumber: z.ZodNumber;
170
+ values: z.ZodRecord<z.ZodString, z.ZodString>;
171
+ }, z.core.$strip>>;
172
+ }, z.core.$strip>;
173
+ sampleTokenEstimate: z.ZodNumber;
174
+ fullTokenEstimate: z.ZodNumber;
175
+ estimateMethod: z.ZodLiteral<"full_scan">;
176
+ }, z.core.$strip>;
177
+ export type SheetProfile = z.infer<typeof SheetProfileSchema>;
178
+ export declare const WorkbookInspectionSchema: z.ZodObject<{
179
+ file: z.ZodString;
180
+ format: z.ZodLiteral<"xlsx">;
181
+ size: z.ZodNumber;
182
+ properties: z.ZodObject<{
183
+ title: z.ZodOptional<z.ZodString>;
184
+ subject: z.ZodOptional<z.ZodString>;
185
+ author: z.ZodOptional<z.ZodString>;
186
+ company: z.ZodOptional<z.ZodString>;
187
+ manager: z.ZodOptional<z.ZodString>;
188
+ createdDate: z.ZodOptional<z.ZodString>;
189
+ modifiedDate: z.ZodOptional<z.ZodString>;
190
+ }, z.core.$strip>;
191
+ customPropertyCount: z.ZodNumber;
192
+ customProperties: z.ZodRecord<z.ZodString, z.ZodUnknown>;
193
+ sheetCount: z.ZodNumber;
194
+ visibleSheetCount: z.ZodNumber;
195
+ hiddenSheetCount: z.ZodNumber;
196
+ veryHiddenSheetCount: z.ZodNumber;
197
+ definedNames: z.ZodArray<z.ZodObject<{
198
+ name: z.ZodString;
199
+ ref: z.ZodString;
200
+ scope: z.ZodEnum<{
201
+ sheet: "sheet";
202
+ workbook: "workbook";
203
+ }>;
204
+ sheetIndex: z.ZodOptional<z.ZodNumber>;
205
+ sheetName: z.ZodOptional<z.ZodString>;
206
+ external: z.ZodBoolean;
207
+ }, z.core.$strip>>;
208
+ riskFlags: z.ZodObject<{
209
+ hiddenSheets: z.ZodBoolean;
210
+ formulas: z.ZodBoolean;
211
+ comments: z.ZodBoolean;
212
+ hyperlinks: z.ZodBoolean;
213
+ mergedCells: z.ZodBoolean;
214
+ protectedSheets: z.ZodBoolean;
215
+ externalFormulaRefs: z.ZodBoolean;
216
+ }, z.core.$strip>;
217
+ }, z.core.$strip>;
218
+ export type WorkbookInspection = z.infer<typeof WorkbookInspectionSchema>;
219
+ export declare const SheetInspectionResultSchema: z.ZodObject<{
220
+ workbook: z.ZodObject<{
221
+ file: z.ZodString;
222
+ format: z.ZodLiteral<"xlsx">;
223
+ size: z.ZodNumber;
224
+ properties: z.ZodObject<{
225
+ title: z.ZodOptional<z.ZodString>;
226
+ subject: z.ZodOptional<z.ZodString>;
227
+ author: z.ZodOptional<z.ZodString>;
228
+ company: z.ZodOptional<z.ZodString>;
229
+ manager: z.ZodOptional<z.ZodString>;
230
+ createdDate: z.ZodOptional<z.ZodString>;
231
+ modifiedDate: z.ZodOptional<z.ZodString>;
232
+ }, z.core.$strip>;
233
+ customPropertyCount: z.ZodNumber;
234
+ customProperties: z.ZodRecord<z.ZodString, z.ZodUnknown>;
235
+ sheetCount: z.ZodNumber;
236
+ visibleSheetCount: z.ZodNumber;
237
+ hiddenSheetCount: z.ZodNumber;
238
+ veryHiddenSheetCount: z.ZodNumber;
239
+ definedNames: z.ZodArray<z.ZodObject<{
240
+ name: z.ZodString;
241
+ ref: z.ZodString;
242
+ scope: z.ZodEnum<{
243
+ sheet: "sheet";
244
+ workbook: "workbook";
245
+ }>;
246
+ sheetIndex: z.ZodOptional<z.ZodNumber>;
247
+ sheetName: z.ZodOptional<z.ZodString>;
248
+ external: z.ZodBoolean;
249
+ }, z.core.$strip>>;
250
+ riskFlags: z.ZodObject<{
251
+ hiddenSheets: z.ZodBoolean;
252
+ formulas: z.ZodBoolean;
253
+ comments: z.ZodBoolean;
254
+ hyperlinks: z.ZodBoolean;
255
+ mergedCells: z.ZodBoolean;
256
+ protectedSheets: z.ZodBoolean;
257
+ externalFormulaRefs: z.ZodBoolean;
258
+ }, z.core.$strip>;
259
+ }, z.core.$strip>;
260
+ sheets: z.ZodArray<z.ZodObject<{
261
+ index: z.ZodNumber;
262
+ name: z.ZodString;
263
+ visibility: z.ZodEnum<{
264
+ visible: "visible";
265
+ hidden: "hidden";
266
+ very_hidden: "very_hidden";
267
+ }>;
268
+ usedRange: z.ZodNullable<z.ZodString>;
269
+ totalRows: z.ZodNumber;
270
+ totalCols: z.ZodNumber;
271
+ rectangularRangeCellCount: z.ZodNumber;
272
+ nonEmptyCellCount: z.ZodNumber;
273
+ cellTypeCounts: z.ZodObject<{
274
+ string: z.ZodNumber;
275
+ number: z.ZodNumber;
276
+ boolean: z.ZodNumber;
277
+ date: z.ZodNumber;
278
+ error: z.ZodNumber;
279
+ blankStub: z.ZodNumber;
280
+ }, z.core.$strip>;
281
+ formulaCellCount: z.ZodNumber;
282
+ commentCellCount: z.ZodNumber;
283
+ hyperlinkCellCount: z.ZodNumber;
284
+ mergedRangeCount: z.ZodNumber;
285
+ hiddenRowCount: z.ZodNumber;
286
+ hiddenColumnCount: z.ZodNumber;
287
+ autoFilterRef: z.ZodNullable<z.ZodString>;
288
+ protected: z.ZodBoolean;
289
+ definedNames: z.ZodArray<z.ZodObject<{
290
+ name: z.ZodString;
291
+ ref: z.ZodString;
292
+ scope: z.ZodEnum<{
293
+ sheet: "sheet";
294
+ workbook: "workbook";
295
+ }>;
296
+ sheetIndex: z.ZodOptional<z.ZodNumber>;
297
+ sheetName: z.ZodOptional<z.ZodString>;
298
+ external: z.ZodBoolean;
299
+ }, z.core.$strip>>;
300
+ externalFormulaRefCount: z.ZodNumber;
301
+ headerSelection: z.ZodObject<{
302
+ requested: z.ZodUnion<readonly [z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodNumber]>;
303
+ mode: z.ZodEnum<{
304
+ auto: "auto";
305
+ none: "none";
306
+ explicit: "explicit";
307
+ }>;
308
+ rowNumber: z.ZodNullable<z.ZodNumber>;
309
+ }, z.core.$strip>;
310
+ schema: z.ZodObject<{
311
+ truncated: z.ZodBoolean;
312
+ columns: z.ZodArray<z.ZodObject<{
313
+ index: z.ZodNumber;
314
+ letter: z.ZodString;
315
+ name: z.ZodString;
316
+ dominantType: z.ZodEnum<{
317
+ string: "string";
318
+ number: "number";
319
+ boolean: "boolean";
320
+ unknown: "unknown";
321
+ date: "date";
322
+ error: "error";
323
+ blank_stub: "blank_stub";
324
+ }>;
325
+ nonEmptyCount: z.ZodNumber;
326
+ nonEmptyRatio: z.ZodNumber;
327
+ examples: z.ZodArray<z.ZodString>;
328
+ }, z.core.$strip>>;
329
+ }, z.core.$strip>;
330
+ sample: z.ZodObject<{
331
+ truncatedRows: z.ZodBoolean;
332
+ truncatedColumns: z.ZodBoolean;
333
+ rows: z.ZodArray<z.ZodObject<{
334
+ rowNumber: z.ZodNumber;
335
+ values: z.ZodRecord<z.ZodString, z.ZodString>;
336
+ }, z.core.$strip>>;
337
+ }, z.core.$strip>;
338
+ sampleTokenEstimate: z.ZodNumber;
339
+ fullTokenEstimate: z.ZodNumber;
340
+ estimateMethod: z.ZodLiteral<"full_scan">;
341
+ }, z.core.$strip>>;
342
+ }, z.core.$strip>;
343
+ export type SheetInspectionResult = z.infer<typeof SheetInspectionResultSchema>;
344
+ export declare const SheetInspectPayloadSchema: z.ZodObject<{
345
+ file: z.ZodString;
346
+ query: z.ZodRecord<z.ZodString, z.ZodUnknown>;
347
+ results: z.ZodObject<{
348
+ workbook: z.ZodObject<{
349
+ file: z.ZodString;
350
+ format: z.ZodLiteral<"xlsx">;
351
+ size: z.ZodNumber;
352
+ properties: z.ZodObject<{
353
+ title: z.ZodOptional<z.ZodString>;
354
+ subject: z.ZodOptional<z.ZodString>;
355
+ author: z.ZodOptional<z.ZodString>;
356
+ company: z.ZodOptional<z.ZodString>;
357
+ manager: z.ZodOptional<z.ZodString>;
358
+ createdDate: z.ZodOptional<z.ZodString>;
359
+ modifiedDate: z.ZodOptional<z.ZodString>;
360
+ }, z.core.$strip>;
361
+ customPropertyCount: z.ZodNumber;
362
+ customProperties: z.ZodRecord<z.ZodString, z.ZodUnknown>;
363
+ sheetCount: z.ZodNumber;
364
+ visibleSheetCount: z.ZodNumber;
365
+ hiddenSheetCount: z.ZodNumber;
366
+ veryHiddenSheetCount: z.ZodNumber;
367
+ definedNames: z.ZodArray<z.ZodObject<{
368
+ name: z.ZodString;
369
+ ref: z.ZodString;
370
+ scope: z.ZodEnum<{
371
+ sheet: "sheet";
372
+ workbook: "workbook";
373
+ }>;
374
+ sheetIndex: z.ZodOptional<z.ZodNumber>;
375
+ sheetName: z.ZodOptional<z.ZodString>;
376
+ external: z.ZodBoolean;
377
+ }, z.core.$strip>>;
378
+ riskFlags: z.ZodObject<{
379
+ hiddenSheets: z.ZodBoolean;
380
+ formulas: z.ZodBoolean;
381
+ comments: z.ZodBoolean;
382
+ hyperlinks: z.ZodBoolean;
383
+ mergedCells: z.ZodBoolean;
384
+ protectedSheets: z.ZodBoolean;
385
+ externalFormulaRefs: z.ZodBoolean;
386
+ }, z.core.$strip>;
387
+ }, z.core.$strip>;
388
+ sheets: z.ZodArray<z.ZodObject<{
389
+ index: z.ZodNumber;
390
+ name: z.ZodString;
391
+ visibility: z.ZodEnum<{
392
+ visible: "visible";
393
+ hidden: "hidden";
394
+ very_hidden: "very_hidden";
395
+ }>;
396
+ usedRange: z.ZodNullable<z.ZodString>;
397
+ totalRows: z.ZodNumber;
398
+ totalCols: z.ZodNumber;
399
+ rectangularRangeCellCount: z.ZodNumber;
400
+ nonEmptyCellCount: z.ZodNumber;
401
+ cellTypeCounts: z.ZodObject<{
402
+ string: z.ZodNumber;
403
+ number: z.ZodNumber;
404
+ boolean: z.ZodNumber;
405
+ date: z.ZodNumber;
406
+ error: z.ZodNumber;
407
+ blankStub: z.ZodNumber;
408
+ }, z.core.$strip>;
409
+ formulaCellCount: z.ZodNumber;
410
+ commentCellCount: z.ZodNumber;
411
+ hyperlinkCellCount: z.ZodNumber;
412
+ mergedRangeCount: z.ZodNumber;
413
+ hiddenRowCount: z.ZodNumber;
414
+ hiddenColumnCount: z.ZodNumber;
415
+ autoFilterRef: z.ZodNullable<z.ZodString>;
416
+ protected: z.ZodBoolean;
417
+ definedNames: z.ZodArray<z.ZodObject<{
418
+ name: z.ZodString;
419
+ ref: z.ZodString;
420
+ scope: z.ZodEnum<{
421
+ sheet: "sheet";
422
+ workbook: "workbook";
423
+ }>;
424
+ sheetIndex: z.ZodOptional<z.ZodNumber>;
425
+ sheetName: z.ZodOptional<z.ZodString>;
426
+ external: z.ZodBoolean;
427
+ }, z.core.$strip>>;
428
+ externalFormulaRefCount: z.ZodNumber;
429
+ headerSelection: z.ZodObject<{
430
+ requested: z.ZodUnion<readonly [z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodNumber]>;
431
+ mode: z.ZodEnum<{
432
+ auto: "auto";
433
+ none: "none";
434
+ explicit: "explicit";
435
+ }>;
436
+ rowNumber: z.ZodNullable<z.ZodNumber>;
437
+ }, z.core.$strip>;
438
+ schema: z.ZodObject<{
439
+ truncated: z.ZodBoolean;
440
+ columns: z.ZodArray<z.ZodObject<{
441
+ index: z.ZodNumber;
442
+ letter: z.ZodString;
443
+ name: z.ZodString;
444
+ dominantType: z.ZodEnum<{
445
+ string: "string";
446
+ number: "number";
447
+ boolean: "boolean";
448
+ unknown: "unknown";
449
+ date: "date";
450
+ error: "error";
451
+ blank_stub: "blank_stub";
452
+ }>;
453
+ nonEmptyCount: z.ZodNumber;
454
+ nonEmptyRatio: z.ZodNumber;
455
+ examples: z.ZodArray<z.ZodString>;
456
+ }, z.core.$strip>>;
457
+ }, z.core.$strip>;
458
+ sample: z.ZodObject<{
459
+ truncatedRows: z.ZodBoolean;
460
+ truncatedColumns: z.ZodBoolean;
461
+ rows: z.ZodArray<z.ZodObject<{
462
+ rowNumber: z.ZodNumber;
463
+ values: z.ZodRecord<z.ZodString, z.ZodString>;
464
+ }, z.core.$strip>>;
465
+ }, z.core.$strip>;
466
+ sampleTokenEstimate: z.ZodNumber;
467
+ fullTokenEstimate: z.ZodNumber;
468
+ estimateMethod: z.ZodLiteral<"full_scan">;
469
+ }, z.core.$strip>>;
470
+ }, z.core.$strip>;
471
+ }, z.core.$strip>;
472
+ export type SheetInspectPayload = z.infer<typeof SheetInspectPayloadSchema>;
@@ -0,0 +1,119 @@
1
+ import { z } from 'zod';
2
+ export const SheetVisibilitySchema = z.enum(['visible', 'hidden', 'very_hidden']);
3
+ export const HeaderSelectionModeSchema = z.enum(['auto', 'none', 'explicit']);
4
+ export const ColumnValueTypeSchema = z.enum(['string', 'number', 'boolean', 'date', 'error', 'blank_stub', 'unknown']);
5
+ export const InspectSheetOptionsSchema = z.object({
6
+ sheet: z.string().optional(),
7
+ sampleRows: z.number(),
8
+ headerRow: z.union([z.literal('auto'), z.literal('none'), z.number()]),
9
+ maxColumns: z.number(),
10
+ });
11
+ export const DefinedNameInfoSchema = z.object({
12
+ name: z.string(),
13
+ ref: z.string(),
14
+ scope: z.enum(['workbook', 'sheet']),
15
+ sheetIndex: z.number().optional(),
16
+ sheetName: z.string().optional(),
17
+ external: z.boolean(),
18
+ });
19
+ export const WorkbookPropertiesSchema = z.object({
20
+ title: z.string().optional(),
21
+ subject: z.string().optional(),
22
+ author: z.string().optional(),
23
+ company: z.string().optional(),
24
+ manager: z.string().optional(),
25
+ createdDate: z.string().optional(),
26
+ modifiedDate: z.string().optional(),
27
+ });
28
+ export const WorkbookRiskFlagsSchema = z.object({
29
+ hiddenSheets: z.boolean(),
30
+ formulas: z.boolean(),
31
+ comments: z.boolean(),
32
+ hyperlinks: z.boolean(),
33
+ mergedCells: z.boolean(),
34
+ protectedSheets: z.boolean(),
35
+ externalFormulaRefs: z.boolean(),
36
+ });
37
+ export const CellTypeCountsSchema = z.object({
38
+ string: z.number(),
39
+ number: z.number(),
40
+ boolean: z.number(),
41
+ date: z.number(),
42
+ error: z.number(),
43
+ blankStub: z.number(),
44
+ });
45
+ export const ColumnProfileSchema = z.object({
46
+ index: z.number(),
47
+ letter: z.string(),
48
+ name: z.string(),
49
+ dominantType: ColumnValueTypeSchema,
50
+ nonEmptyCount: z.number(),
51
+ nonEmptyRatio: z.number(),
52
+ examples: z.array(z.string()),
53
+ });
54
+ export const SampleRowSchema = z.object({
55
+ rowNumber: z.number(),
56
+ values: z.record(z.string(), z.string()),
57
+ });
58
+ export const SheetProfileSchema = z.object({
59
+ index: z.number(),
60
+ name: z.string(),
61
+ visibility: SheetVisibilitySchema,
62
+ usedRange: z.string().nullable(),
63
+ totalRows: z.number(),
64
+ totalCols: z.number(),
65
+ rectangularRangeCellCount: z.number(),
66
+ nonEmptyCellCount: z.number(),
67
+ cellTypeCounts: CellTypeCountsSchema,
68
+ formulaCellCount: z.number(),
69
+ commentCellCount: z.number(),
70
+ hyperlinkCellCount: z.number(),
71
+ mergedRangeCount: z.number(),
72
+ hiddenRowCount: z.number(),
73
+ hiddenColumnCount: z.number(),
74
+ autoFilterRef: z.string().nullable(),
75
+ protected: z.boolean(),
76
+ definedNames: z.array(DefinedNameInfoSchema),
77
+ externalFormulaRefCount: z.number(),
78
+ headerSelection: z.object({
79
+ requested: z.union([z.literal('auto'), z.literal('none'), z.number()]),
80
+ mode: HeaderSelectionModeSchema,
81
+ rowNumber: z.number().nullable(),
82
+ }),
83
+ schema: z.object({
84
+ truncated: z.boolean(),
85
+ columns: z.array(ColumnProfileSchema),
86
+ }),
87
+ sample: z.object({
88
+ truncatedRows: z.boolean(),
89
+ truncatedColumns: z.boolean(),
90
+ rows: z.array(SampleRowSchema),
91
+ }),
92
+ sampleTokenEstimate: z.number(),
93
+ fullTokenEstimate: z.number(),
94
+ estimateMethod: z.literal('full_scan'),
95
+ });
96
+ export const WorkbookInspectionSchema = z.object({
97
+ file: z.string(),
98
+ format: z.literal('xlsx'),
99
+ size: z.number(),
100
+ properties: WorkbookPropertiesSchema,
101
+ customPropertyCount: z.number(),
102
+ customProperties: z.record(z.string(), z.unknown()),
103
+ sheetCount: z.number(),
104
+ visibleSheetCount: z.number(),
105
+ hiddenSheetCount: z.number(),
106
+ veryHiddenSheetCount: z.number(),
107
+ definedNames: z.array(DefinedNameInfoSchema),
108
+ riskFlags: WorkbookRiskFlagsSchema,
109
+ });
110
+ export const SheetInspectionResultSchema = z.object({
111
+ workbook: WorkbookInspectionSchema,
112
+ sheets: z.array(SheetProfileSchema),
113
+ });
114
+ export const SheetInspectPayloadSchema = z.object({
115
+ file: z.string(),
116
+ query: z.record(z.string(), z.unknown()),
117
+ results: SheetInspectionResultSchema,
118
+ });
119
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/sheet/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { Command } from 'commander';
2
+ export declare function registerSlideCommands(program: Command): void;
@@ -0,0 +1,54 @@
1
+ import { writeFile } from 'node:fs/promises';
2
+ import path from 'node:path';
3
+ import { z } from 'zod';
4
+ import { inspectPresentation } from './inspect.js';
5
+ import { formatSlideInspection, formatSlidePayloadJson } from './output.js';
6
+ import { createInspectPayload } from '../inspect/shared.js';
7
+ import { writeStream } from '../utils.js';
8
+ import { parsePositiveInt } from '../cli-validation.js';
9
+ const SlideCommandOptionsSchema = z.object({
10
+ format: z.string().optional(),
11
+ output: z.string().optional(),
12
+ ci: z.boolean().optional(),
13
+ sampleSlides: z.string().optional(),
14
+ slide: z.string().optional(),
15
+ }).passthrough();
16
+ function getOptions(command) {
17
+ return SlideCommandOptionsSchema.parse(command.optsWithGlobals());
18
+ }
19
+ async function emit(output, options) {
20
+ if (options.output) {
21
+ await writeFile(options.output, output);
22
+ return;
23
+ }
24
+ await writeStream(process.stdout, output);
25
+ }
26
+ export function registerSlideCommands(program) {
27
+ const slide = program.command('slide').description('Inspect presentation structure and content before deep reading');
28
+ const inspect = slide.command('inspect <file>').description('Inspect PPTX or ODP presentation metadata, slides, and content preview');
29
+ inspect
30
+ .option('--format <type>', 'output format: tabular or json', 'tabular')
31
+ .option('-o, --output <file>', 'write output to file')
32
+ .option('--ci', 'ASCII-only output, no colors')
33
+ .option('--sample-slides <n>', 'preview slide count', '3')
34
+ .option('--slide <number>', 'inspect specific slide (1-based index)');
35
+ inspect.action(async (file, _options, command) => {
36
+ const options = getOptions(command);
37
+ const resolved = path.resolve(file);
38
+ const inspectOptions = {
39
+ sampleSlides: parsePositiveInt(options.sampleSlides, 3, 'sample slide count'),
40
+ slide: options.slide ? parsePositiveInt(options.slide, 1, 'slide number') : undefined,
41
+ };
42
+ const result = await inspectPresentation(resolved, inspectOptions);
43
+ const payload = createInspectPayload(resolved, {
44
+ command: 'slide.inspect',
45
+ sampleSlides: inspectOptions.sampleSlides,
46
+ slide: inspectOptions.slide,
47
+ }, result);
48
+ const output = options.format === 'json'
49
+ ? formatSlidePayloadJson(payload)
50
+ : formatSlideInspection(result, options.ci);
51
+ await emit(output.endsWith('\n') ? output : `${output}\n`, options);
52
+ });
53
+ }
54
+ //# sourceMappingURL=command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command.js","sourceRoot":"","sources":["../../../src/slide/command.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { DocumentProperties } from '../inspect/shared.js';
2
+ import type { SlideRiskFlags, SlideProfile } from './types.js';
3
+ export declare function inspectOdp(buffer: Buffer): Promise<{
4
+ properties: DocumentProperties;
5
+ riskFlags: SlideRiskFlags;
6
+ slideProfiles: SlideProfile[];
7
+ }>;