@cesarandreslopez/occ 0.4.0 → 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 (98) hide show
  1. package/dist/src/cli-validation.d.ts +14 -0
  2. package/dist/src/cli-validation.js +58 -0
  3. package/dist/src/cli-validation.js.map +1 -0
  4. package/dist/src/cli.js +18 -8
  5. package/dist/src/cli.js.map +1 -1
  6. package/dist/src/code/build.d.ts +7 -5
  7. package/dist/src/code/build.js +46 -2
  8. package/dist/src/code/build.js.map +1 -1
  9. package/dist/src/code/command.js +24 -17
  10. package/dist/src/code/command.js.map +1 -1
  11. package/dist/src/code/discover.d.ts +6 -4
  12. package/dist/src/code/discover.js +5 -0
  13. package/dist/src/code/discover.js.map +1 -1
  14. package/dist/src/code/languages.d.ts +28 -7
  15. package/dist/src/code/languages.js +9 -0
  16. package/dist/src/code/languages.js.map +1 -1
  17. package/dist/src/code/parsers.js +23 -0
  18. package/dist/src/code/parsers.js.map +1 -1
  19. package/dist/src/code/types.d.ts +1201 -147
  20. package/dist/src/code/types.js +150 -1
  21. package/dist/src/code/types.js.map +1 -1
  22. package/dist/src/doc/command.js +10 -10
  23. package/dist/src/doc/command.js.map +1 -1
  24. package/dist/src/doc/inspect-odt.js +2 -1
  25. package/dist/src/doc/inspect-odt.js.map +1 -1
  26. package/dist/src/doc/inspect-pdf.js +8 -2
  27. package/dist/src/doc/inspect-pdf.js.map +1 -1
  28. package/dist/src/doc/types.d.ts +171 -58
  29. package/dist/src/doc/types.js +61 -1
  30. package/dist/src/doc/types.js.map +1 -1
  31. package/dist/src/inspect/shared.d.ts +12 -10
  32. package/dist/src/inspect/shared.js +11 -0
  33. package/dist/src/inspect/shared.js.map +1 -1
  34. package/dist/src/inspect/xlsx-cells.d.ts +4 -0
  35. package/dist/src/inspect/xlsx-cells.js +31 -0
  36. package/dist/src/inspect/xlsx-cells.js.map +1 -0
  37. package/dist/src/markdown/convert.js +6 -4
  38. package/dist/src/markdown/convert.js.map +1 -1
  39. package/dist/src/output/tabular.d.ts +6 -4
  40. package/dist/src/output/tabular.js +5 -0
  41. package/dist/src/output/tabular.js.map +1 -1
  42. package/dist/src/output/tree.d.ts +21 -9
  43. package/dist/src/output/tree.js +10 -0
  44. package/dist/src/output/tree.js.map +1 -1
  45. package/dist/src/parsers/docx.js +5 -1
  46. package/dist/src/parsers/docx.js.map +1 -1
  47. package/dist/src/parsers/odf.js +4 -3
  48. package/dist/src/parsers/odf.js.map +1 -1
  49. package/dist/src/parsers/pdf.js +6 -1
  50. package/dist/src/parsers/pdf.js.map +1 -1
  51. package/dist/src/parsers/pptx.js +2 -1
  52. package/dist/src/parsers/pptx.js.map +1 -1
  53. package/dist/src/parsers/xlsx.js +8 -1
  54. package/dist/src/parsers/xlsx.js.map +1 -1
  55. package/dist/src/progress.d.ts +7 -5
  56. package/dist/src/progress.js +6 -0
  57. package/dist/src/progress.js.map +1 -1
  58. package/dist/src/scc.d.ts +35 -26
  59. package/dist/src/scc.js +26 -1
  60. package/dist/src/scc.js.map +1 -1
  61. package/dist/src/sheet/command.js +12 -21
  62. package/dist/src/sheet/command.js.map +1 -1
  63. package/dist/src/sheet/inspect.d.ts +0 -4
  64. package/dist/src/sheet/inspect.js +1 -29
  65. package/dist/src/sheet/inspect.js.map +1 -1
  66. package/dist/src/sheet/types.d.ts +472 -117
  67. package/dist/src/sheet/types.js +118 -1
  68. package/dist/src/sheet/types.js.map +1 -1
  69. package/dist/src/slide/command.js +10 -10
  70. package/dist/src/slide/command.js.map +1 -1
  71. package/dist/src/slide/types.d.ts +166 -58
  72. package/dist/src/slide/types.js +60 -1
  73. package/dist/src/slide/types.js.map +1 -1
  74. package/dist/src/stats.d.ts +6 -4
  75. package/dist/src/stats.js +5 -0
  76. package/dist/src/stats.js.map +1 -1
  77. package/dist/src/structure/types.d.ts +19 -11
  78. package/dist/src/structure/types.js +26 -21
  79. package/dist/src/structure/types.js.map +1 -1
  80. package/dist/src/table/command.js +11 -21
  81. package/dist/src/table/command.js.map +1 -1
  82. package/dist/src/table/inspect-xlsx.js +1 -1
  83. package/dist/src/table/inspect-xlsx.js.map +1 -1
  84. package/dist/src/table/inspect.js +4 -2
  85. package/dist/src/table/inspect.js.map +1 -1
  86. package/dist/src/table/types.d.ts +104 -38
  87. package/dist/src/table/types.js +39 -1
  88. package/dist/src/table/types.js.map +1 -1
  89. package/dist/src/types.d.ts +25 -20
  90. package/dist/src/types.js +21 -1
  91. package/dist/src/types.js.map +1 -1
  92. package/dist/src/utils.d.ts +11 -1
  93. package/dist/src/utils.js +2 -0
  94. package/dist/src/utils.js.map +1 -1
  95. package/dist/src/walker.d.ts +21 -12
  96. package/dist/src/walker.js +13 -0
  97. package/dist/src/walker.js.map +1 -1
  98. package/package.json +3 -2
@@ -1,2 +1,151 @@
1
- export {};
1
+ import { z } from 'zod';
2
+ export const CodeNodeTypeSchema = z.enum(['file', 'module', 'function', 'class', 'interface', 'type-alias', 'enum', 'variable', 'parameter']);
3
+ export const CodeEdgeTypeSchema = z.enum(['contains', 'imports', 'calls', 'inherits', 'implements', 'has_parameter']);
4
+ export const ResolutionStatusSchema = z.enum(['resolved', 'ambiguous', 'unresolved']);
5
+ export const ImportKindSchema = z.enum(['local', 'external', 'unresolved']);
6
+ export const CodeCapabilitiesSchema = z.object({
7
+ definitions: z.boolean(),
8
+ imports: z.boolean(),
9
+ calls: z.boolean(),
10
+ inheritance: z.boolean(),
11
+ content: z.boolean(),
12
+ });
13
+ export const ParsedImportBindingSchema = z.object({
14
+ localName: z.string(),
15
+ importedName: z.string().optional(),
16
+ isNamespace: z.boolean().optional(),
17
+ isDefault: z.boolean().optional(),
18
+ });
19
+ export const ParsedImportSchema = z.object({
20
+ specifier: z.string(),
21
+ line: z.number(),
22
+ kind: ImportKindSchema,
23
+ bindings: z.array(ParsedImportBindingSchema),
24
+ resolvedPath: z.string().optional(),
25
+ isReExport: z.boolean().optional(),
26
+ });
27
+ export const ParsedSymbolSchema = z.object({
28
+ type: z.enum(['function', 'class', 'interface', 'type-alias', 'enum', 'variable']),
29
+ name: z.string(),
30
+ line: z.number(),
31
+ containerName: z.string().optional(),
32
+ signature: z.string().optional(),
33
+ exported: z.boolean().optional(),
34
+ });
35
+ export const ParsedCallSchema = z.object({
36
+ callerName: z.string(),
37
+ callerLine: z.number(),
38
+ callerContainerName: z.string().optional(),
39
+ calleeName: z.string(),
40
+ qualifier: z.string().optional(),
41
+ line: z.number(),
42
+ });
43
+ export const ParsedInheritanceSchema = z.object({
44
+ className: z.string(),
45
+ classLine: z.number(),
46
+ baseName: z.string(),
47
+ line: z.number(),
48
+ kind: z.enum(['extends', 'implements']).optional(),
49
+ });
50
+ export const ParsedFileSchema = z.object({
51
+ path: z.string(),
52
+ relativePath: z.string(),
53
+ moduleName: z.string(),
54
+ language: z.string(),
55
+ content: z.string(),
56
+ lines: z.array(z.string()),
57
+ symbols: z.array(ParsedSymbolSchema),
58
+ imports: z.array(ParsedImportSchema),
59
+ calls: z.array(ParsedCallSchema),
60
+ inheritances: z.array(ParsedInheritanceSchema),
61
+ });
62
+ export const CodeNodeSchema = z.object({
63
+ id: z.string(),
64
+ type: CodeNodeTypeSchema,
65
+ name: z.string(),
66
+ path: z.string(),
67
+ relativePath: z.string().optional(),
68
+ line: z.number().optional(),
69
+ language: z.string(),
70
+ moduleName: z.string().optional(),
71
+ containerId: z.string().optional(),
72
+ containerName: z.string().optional(),
73
+ signature: z.string().optional(),
74
+ external: z.boolean().optional(),
75
+ });
76
+ export const CodeEdgeSchema = z.object({
77
+ id: z.string(),
78
+ type: CodeEdgeTypeSchema,
79
+ from: z.string(),
80
+ to: z.string().optional(),
81
+ fromPath: z.string(),
82
+ toPath: z.string().optional(),
83
+ line: z.number().optional(),
84
+ status: ResolutionStatusSchema,
85
+ targetName: z.string().optional(),
86
+ detail: z.string().optional(),
87
+ specifier: z.string().optional(),
88
+ importKind: ImportKindSchema.optional(),
89
+ candidates: z.array(z.object({
90
+ name: z.string(),
91
+ relativePath: z.string().optional(),
92
+ line: z.number().optional(),
93
+ })).optional(),
94
+ });
95
+ export const CodebaseIndexSchema = z.object({
96
+ repoRoot: z.string(),
97
+ files: z.array(ParsedFileSchema),
98
+ nodes: z.array(CodeNodeSchema),
99
+ edges: z.array(CodeEdgeSchema),
100
+ capabilities: z.record(z.string(), CodeCapabilitiesSchema),
101
+ });
102
+ export const CodeSearchResultSchema = z.object({
103
+ node: CodeNodeSchema,
104
+ resolution: ResolutionStatusSchema.optional(),
105
+ });
106
+ export const ContentMatchSchema = z.object({
107
+ path: z.string(),
108
+ relativePath: z.string(),
109
+ language: z.string(),
110
+ line: z.number(),
111
+ snippet: z.string(),
112
+ });
113
+ export const RelationMatchSchema = z.object({
114
+ from: CodeNodeSchema,
115
+ edge: CodeEdgeSchema,
116
+ to: CodeNodeSchema.optional(),
117
+ });
118
+ export const DependencyAnalysisSchema = z.object({
119
+ target: z.string(),
120
+ targetFile: CodeNodeSchema.optional(),
121
+ importers: z.array(RelationMatchSchema),
122
+ localImports: z.array(RelationMatchSchema),
123
+ externalImports: z.array(RelationMatchSchema),
124
+ unresolvedImports: z.array(RelationMatchSchema),
125
+ });
126
+ export const ClassTreeAnalysisSchema = z.object({
127
+ target: CodeNodeSchema,
128
+ parents: z.array(RelationMatchSchema),
129
+ children: z.array(RelationMatchSchema),
130
+ methods: z.array(CodeNodeSchema),
131
+ });
132
+ export const CallChainSchema = z.object({
133
+ nodes: z.array(CodeNodeSchema),
134
+ edges: z.array(CodeEdgeSchema),
135
+ direction: z.enum(['forward', 'reverse']).optional(),
136
+ status: z.enum(['resolved', 'blocked_ambiguous']).optional(),
137
+ blockedAt: CodeNodeSchema.optional(),
138
+ blockedBy: CodeEdgeSchema.optional(),
139
+ });
140
+ export const CodeCommandPayloadSchema = z.object({
141
+ repo: z.string(),
142
+ query: z.record(z.string(), z.unknown()),
143
+ results: z.unknown(),
144
+ stats: z.object({
145
+ filesIndexed: z.number(),
146
+ nodes: z.number(),
147
+ edges: z.number(),
148
+ }),
149
+ capabilities: z.record(z.string(), CodeCapabilitiesSchema),
150
+ });
2
151
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/code/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/code/types.ts"],"names":[],"mappings":"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"}
@@ -1,20 +1,20 @@
1
1
  import { writeFile } from 'node:fs/promises';
2
2
  import path from 'node:path';
3
+ import { z } from 'zod';
3
4
  import { inspectDocument } from './inspect.js';
4
5
  import { formatDocInspection, formatDocPayloadJson } from './output.js';
5
6
  import { createInspectPayload } from '../inspect/shared.js';
6
7
  import { writeStream } from '../utils.js';
8
+ import { parsePositiveInt } from '../cli-validation.js';
9
+ const DocCommandOptionsSchema = z.object({
10
+ format: z.string().optional(),
11
+ output: z.string().optional(),
12
+ ci: z.boolean().optional(),
13
+ sampleParagraphs: z.string().optional(),
14
+ structure: z.boolean().optional(),
15
+ }).passthrough();
7
16
  function getOptions(command) {
8
- return command.optsWithGlobals();
9
- }
10
- function parsePositiveInt(value, fallback, label) {
11
- if (!value)
12
- return fallback;
13
- const parsed = Number.parseInt(value, 10);
14
- if (!Number.isFinite(parsed) || parsed <= 0) {
15
- throw new Error(`Invalid ${label}: "${value}"`);
16
- }
17
- return parsed;
17
+ return DocCommandOptionsSchema.parse(command.optsWithGlobals());
18
18
  }
19
19
  async function emit(output, options) {
20
20
  if (options.output) {
@@ -1 +1 @@
1
- {"version":3,"file":"command.js","sourceRoot":"","sources":["../../../src/doc/command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command.js","sourceRoot":"","sources":["../../../src/doc/command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAGxD,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC1B,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACvC,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CAClC,CAAC,CAAC,WAAW,EAAE,CAAC;AAGjB,SAAS,UAAU,CAAC,OAAgB;IAClC,OAAO,uBAAuB,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;AAClE,CAAC;AAED,KAAK,UAAU,IAAI,CAAC,MAAc,EAAE,OAA0B;IAC5D,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACxC,OAAO;IACT,CAAC;IACD,MAAM,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,OAAgB;IAClD,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,4DAA4D,CAAC,CAAC;IAC7G,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,WAAW,CAAC,6EAA6E,CAAC,CAAC;IAEzI,OAAO;SACJ,MAAM,CAAC,iBAAiB,EAAE,gCAAgC,EAAE,SAAS,CAAC;SACtE,MAAM,CAAC,qBAAqB,EAAE,sBAAsB,CAAC;SACrD,MAAM,CAAC,MAAM,EAAE,8BAA8B,CAAC;SAC9C,MAAM,CAAC,yBAAyB,EAAE,yBAAyB,EAAE,GAAG,CAAC;SACjE,MAAM,CAAC,gBAAgB,EAAE,8BAA8B,CAAC,CAAC;IAE5D,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,IAAY,EAAE,QAA2B,EAAE,OAAgB,EAAE,EAAE;QACnF,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,cAAc,GAAsB;YACxC,gBAAgB,EAAE,gBAAgB,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,EAAE,wBAAwB,CAAC;YACzF,gBAAgB,EAAE,OAAO,CAAC,SAAS,KAAK,KAAK;SAC9C,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;QAC/D,MAAM,OAAO,GAAG,oBAAoB,CAAgB,QAAQ,EAAE;YAC5D,OAAO,EAAE,aAAa;YACtB,gBAAgB,EAAE,cAAc,CAAC,gBAAgB;YACjD,gBAAgB,EAAE,cAAc,CAAC,gBAAgB;SAClD,EAAE,MAAM,CAAsB,CAAC;QAChC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,KAAK,MAAM;YACtC,CAAC,CAAC,oBAAoB,CAAC,OAAO,CAAC;YAC/B,CAAC,CAAC,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;QAC5C,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,EAAE,OAAO,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import JSZip from 'jszip';
2
2
  import officeparser from 'officeparser';
3
+ import { z } from 'zod';
3
4
  import { countWords } from '../utils.js';
4
5
  import { asOptionalString, formatDateLike } from '../inspect/shared.js';
5
6
  function parseXmlText(xml, tag) {
@@ -52,7 +53,7 @@ export async function inspectOdt(filePath, buffer, sampleParagraphs) {
52
53
  if (zip.file('Basic/') || zip.file('Scripts/'))
53
54
  riskFlags.macros = true;
54
55
  // Extract text via officeparser
55
- const text = await officeparser.parseOffice(buffer);
56
+ const text = z.string().parse(await officeparser.parseOffice(buffer));
56
57
  const words = countWords(text);
57
58
  const paragraphs = text.split(/\n\n+/).filter(p => p.trim().length > 0).length;
58
59
  // Count images and tables from content.xml
@@ -1 +1 @@
1
- {"version":3,"file":"inspect-odt.js","sourceRoot":"","sources":["../../../src/doc/inspect-odt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inspect-odt.js","sourceRoot":"","sources":["../../../src/doc/inspect-odt.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,12 @@
1
1
  import pdf from 'pdf-parse';
2
+ import { z } from 'zod';
2
3
  import { countWords } from '../utils.js';
3
4
  import { asOptionalString, formatDateLike } from '../inspect/shared.js';
5
+ const PdfParseResultSchema = z.object({
6
+ text: z.string(),
7
+ numpages: z.number(),
8
+ info: z.record(z.string(), z.unknown()).default({}),
9
+ });
4
10
  function parsePdfDate(value) {
5
11
  if (!value)
6
12
  return undefined;
@@ -23,12 +29,12 @@ export async function inspectPdf(filePath, buffer, sampleParagraphs) {
23
29
  };
24
30
  let data;
25
31
  try {
26
- data = await pdf(buffer);
32
+ data = PdfParseResultSchema.parse(await pdf(buffer));
27
33
  }
28
34
  finally {
29
35
  console.log = originalLog;
30
36
  }
31
- const info = data.info || {};
37
+ const info = data.info;
32
38
  const properties = {
33
39
  title: asOptionalString(info.Title),
34
40
  subject: asOptionalString(info.Subject),
@@ -1 +1 @@
1
- {"version":3,"file":"inspect-pdf.js","sourceRoot":"","sources":["../../../src/doc/inspect-pdf.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inspect-pdf.js","sourceRoot":"","sources":["../../../src/doc/inspect-pdf.ts"],"names":[],"mappings":"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"}
@@ -1,59 +1,172 @@
1
- import type { DocumentProperties } from '../inspect/shared.js';
2
- import type { StructureNode } from '../structure/types.js';
3
- export interface DocRiskFlags {
4
- comments: boolean;
5
- trackedChanges: boolean;
6
- hyperlinks: boolean;
7
- embeddedObjects: boolean;
8
- footnotes: boolean;
9
- endnotes: boolean;
10
- macros: boolean;
11
- headerFooter: boolean;
12
- tables: boolean;
13
- encrypted: boolean;
14
- }
15
- export interface DocContentStats {
16
- words: number;
17
- pages: number;
18
- pagesEstimated: boolean;
19
- paragraphs: number;
20
- characters: number;
21
- tables: number;
22
- images: number;
23
- }
24
- export interface StructureSummary {
25
- headingCount: number;
26
- maxDepth: number;
27
- topLevelSections: string[];
28
- tree: StructureNode[];
29
- }
30
- export interface ContentPreview {
31
- truncated: boolean;
32
- paragraphs: Array<{
33
- index: number;
34
- text: string;
35
- isHeading: boolean;
36
- headingLevel?: number;
1
+ import { z } from 'zod';
2
+ export declare const DocRiskFlagsSchema: z.ZodObject<{
3
+ comments: z.ZodBoolean;
4
+ trackedChanges: z.ZodBoolean;
5
+ hyperlinks: z.ZodBoolean;
6
+ embeddedObjects: z.ZodBoolean;
7
+ footnotes: z.ZodBoolean;
8
+ endnotes: z.ZodBoolean;
9
+ macros: z.ZodBoolean;
10
+ headerFooter: z.ZodBoolean;
11
+ tables: z.ZodBoolean;
12
+ encrypted: z.ZodBoolean;
13
+ }, z.core.$strip>;
14
+ export type DocRiskFlags = z.infer<typeof DocRiskFlagsSchema>;
15
+ export declare const DocContentStatsSchema: z.ZodObject<{
16
+ words: z.ZodNumber;
17
+ pages: z.ZodNumber;
18
+ pagesEstimated: z.ZodBoolean;
19
+ paragraphs: z.ZodNumber;
20
+ characters: z.ZodNumber;
21
+ tables: z.ZodNumber;
22
+ images: z.ZodNumber;
23
+ }, z.core.$strip>;
24
+ export type DocContentStats = z.infer<typeof DocContentStatsSchema>;
25
+ export declare const StructureSummarySchema: z.ZodObject<{
26
+ headingCount: z.ZodNumber;
27
+ maxDepth: z.ZodNumber;
28
+ topLevelSections: z.ZodArray<z.ZodString>;
29
+ tree: z.ZodArray<z.ZodType<import("../structure/types.js").StructureNode, unknown, z.core.$ZodTypeInternals<import("../structure/types.js").StructureNode, unknown>>>;
30
+ }, z.core.$strip>;
31
+ export type StructureSummary = z.infer<typeof StructureSummarySchema>;
32
+ export declare const ContentPreviewParagraphSchema: z.ZodObject<{
33
+ index: z.ZodNumber;
34
+ text: z.ZodString;
35
+ isHeading: z.ZodBoolean;
36
+ headingLevel: z.ZodOptional<z.ZodNumber>;
37
+ }, z.core.$strip>;
38
+ export declare const ContentPreviewSchema: z.ZodObject<{
39
+ truncated: z.ZodBoolean;
40
+ paragraphs: z.ZodArray<z.ZodObject<{
41
+ index: z.ZodNumber;
42
+ text: z.ZodString;
43
+ isHeading: z.ZodBoolean;
44
+ headingLevel: z.ZodOptional<z.ZodNumber>;
45
+ }, z.core.$strip>>;
46
+ }, z.core.$strip>;
47
+ export type ContentPreview = z.infer<typeof ContentPreviewSchema>;
48
+ export declare const DocumentInspectionSchema: z.ZodObject<{
49
+ file: z.ZodString;
50
+ format: z.ZodEnum<{
51
+ docx: "docx";
52
+ pdf: "pdf";
53
+ odt: "odt";
37
54
  }>;
38
- }
39
- export interface DocumentInspection {
40
- file: string;
41
- format: 'docx' | 'pdf' | 'odt';
42
- size: number;
43
- properties: DocumentProperties;
44
- riskFlags: DocRiskFlags;
45
- contentStats: DocContentStats;
46
- structure: StructureSummary | null;
47
- contentPreview: ContentPreview;
48
- fullTokenEstimate: number;
49
- previewTokenEstimate: number;
50
- }
51
- export interface DocInspectPayload {
52
- file: string;
53
- query: Record<string, unknown>;
54
- results: DocumentInspection;
55
- }
56
- export interface InspectDocOptions {
57
- sampleParagraphs: number;
58
- includeStructure: boolean;
59
- }
55
+ size: z.ZodNumber;
56
+ properties: z.ZodObject<{
57
+ title: z.ZodOptional<z.ZodString>;
58
+ subject: z.ZodOptional<z.ZodString>;
59
+ author: z.ZodOptional<z.ZodString>;
60
+ company: z.ZodOptional<z.ZodString>;
61
+ createdDate: z.ZodOptional<z.ZodString>;
62
+ modifiedDate: z.ZodOptional<z.ZodString>;
63
+ lastModifiedBy: z.ZodOptional<z.ZodString>;
64
+ keywords: z.ZodOptional<z.ZodString>;
65
+ }, z.core.$strip>;
66
+ riskFlags: z.ZodObject<{
67
+ comments: z.ZodBoolean;
68
+ trackedChanges: z.ZodBoolean;
69
+ hyperlinks: z.ZodBoolean;
70
+ embeddedObjects: z.ZodBoolean;
71
+ footnotes: z.ZodBoolean;
72
+ endnotes: z.ZodBoolean;
73
+ macros: z.ZodBoolean;
74
+ headerFooter: z.ZodBoolean;
75
+ tables: z.ZodBoolean;
76
+ encrypted: z.ZodBoolean;
77
+ }, z.core.$strip>;
78
+ contentStats: z.ZodObject<{
79
+ words: z.ZodNumber;
80
+ pages: z.ZodNumber;
81
+ pagesEstimated: z.ZodBoolean;
82
+ paragraphs: z.ZodNumber;
83
+ characters: z.ZodNumber;
84
+ tables: z.ZodNumber;
85
+ images: z.ZodNumber;
86
+ }, z.core.$strip>;
87
+ structure: z.ZodNullable<z.ZodObject<{
88
+ headingCount: z.ZodNumber;
89
+ maxDepth: z.ZodNumber;
90
+ topLevelSections: z.ZodArray<z.ZodString>;
91
+ tree: z.ZodArray<z.ZodType<import("../structure/types.js").StructureNode, unknown, z.core.$ZodTypeInternals<import("../structure/types.js").StructureNode, unknown>>>;
92
+ }, z.core.$strip>>;
93
+ contentPreview: z.ZodObject<{
94
+ truncated: z.ZodBoolean;
95
+ paragraphs: z.ZodArray<z.ZodObject<{
96
+ index: z.ZodNumber;
97
+ text: z.ZodString;
98
+ isHeading: z.ZodBoolean;
99
+ headingLevel: z.ZodOptional<z.ZodNumber>;
100
+ }, z.core.$strip>>;
101
+ }, z.core.$strip>;
102
+ fullTokenEstimate: z.ZodNumber;
103
+ previewTokenEstimate: z.ZodNumber;
104
+ }, z.core.$strip>;
105
+ export type DocumentInspection = z.infer<typeof DocumentInspectionSchema>;
106
+ export declare const DocInspectPayloadSchema: z.ZodObject<{
107
+ file: z.ZodString;
108
+ query: z.ZodRecord<z.ZodString, z.ZodUnknown>;
109
+ results: z.ZodObject<{
110
+ file: z.ZodString;
111
+ format: z.ZodEnum<{
112
+ docx: "docx";
113
+ pdf: "pdf";
114
+ odt: "odt";
115
+ }>;
116
+ size: z.ZodNumber;
117
+ properties: z.ZodObject<{
118
+ title: z.ZodOptional<z.ZodString>;
119
+ subject: z.ZodOptional<z.ZodString>;
120
+ author: z.ZodOptional<z.ZodString>;
121
+ company: z.ZodOptional<z.ZodString>;
122
+ createdDate: z.ZodOptional<z.ZodString>;
123
+ modifiedDate: z.ZodOptional<z.ZodString>;
124
+ lastModifiedBy: z.ZodOptional<z.ZodString>;
125
+ keywords: z.ZodOptional<z.ZodString>;
126
+ }, z.core.$strip>;
127
+ riskFlags: z.ZodObject<{
128
+ comments: z.ZodBoolean;
129
+ trackedChanges: z.ZodBoolean;
130
+ hyperlinks: z.ZodBoolean;
131
+ embeddedObjects: z.ZodBoolean;
132
+ footnotes: z.ZodBoolean;
133
+ endnotes: z.ZodBoolean;
134
+ macros: z.ZodBoolean;
135
+ headerFooter: z.ZodBoolean;
136
+ tables: z.ZodBoolean;
137
+ encrypted: z.ZodBoolean;
138
+ }, z.core.$strip>;
139
+ contentStats: z.ZodObject<{
140
+ words: z.ZodNumber;
141
+ pages: z.ZodNumber;
142
+ pagesEstimated: z.ZodBoolean;
143
+ paragraphs: z.ZodNumber;
144
+ characters: z.ZodNumber;
145
+ tables: z.ZodNumber;
146
+ images: z.ZodNumber;
147
+ }, z.core.$strip>;
148
+ structure: z.ZodNullable<z.ZodObject<{
149
+ headingCount: z.ZodNumber;
150
+ maxDepth: z.ZodNumber;
151
+ topLevelSections: z.ZodArray<z.ZodString>;
152
+ tree: z.ZodArray<z.ZodType<import("../structure/types.js").StructureNode, unknown, z.core.$ZodTypeInternals<import("../structure/types.js").StructureNode, unknown>>>;
153
+ }, z.core.$strip>>;
154
+ contentPreview: z.ZodObject<{
155
+ truncated: z.ZodBoolean;
156
+ paragraphs: z.ZodArray<z.ZodObject<{
157
+ index: z.ZodNumber;
158
+ text: z.ZodString;
159
+ isHeading: z.ZodBoolean;
160
+ headingLevel: z.ZodOptional<z.ZodNumber>;
161
+ }, z.core.$strip>>;
162
+ }, z.core.$strip>;
163
+ fullTokenEstimate: z.ZodNumber;
164
+ previewTokenEstimate: z.ZodNumber;
165
+ }, z.core.$strip>;
166
+ }, z.core.$strip>;
167
+ export type DocInspectPayload = z.infer<typeof DocInspectPayloadSchema>;
168
+ export declare const InspectDocOptionsSchema: z.ZodObject<{
169
+ sampleParagraphs: z.ZodNumber;
170
+ includeStructure: z.ZodBoolean;
171
+ }, z.core.$strip>;
172
+ export type InspectDocOptions = z.infer<typeof InspectDocOptionsSchema>;
@@ -1,2 +1,62 @@
1
- export {};
1
+ import { z } from 'zod';
2
+ import { DocumentPropertiesSchema } from '../inspect/shared.js';
3
+ import { StructureNodeSchema } from '../structure/types.js';
4
+ export const DocRiskFlagsSchema = z.object({
5
+ comments: z.boolean(),
6
+ trackedChanges: z.boolean(),
7
+ hyperlinks: z.boolean(),
8
+ embeddedObjects: z.boolean(),
9
+ footnotes: z.boolean(),
10
+ endnotes: z.boolean(),
11
+ macros: z.boolean(),
12
+ headerFooter: z.boolean(),
13
+ tables: z.boolean(),
14
+ encrypted: z.boolean(),
15
+ });
16
+ export const DocContentStatsSchema = z.object({
17
+ words: z.number(),
18
+ pages: z.number(),
19
+ pagesEstimated: z.boolean(),
20
+ paragraphs: z.number(),
21
+ characters: z.number(),
22
+ tables: z.number(),
23
+ images: z.number(),
24
+ });
25
+ export const StructureSummarySchema = z.object({
26
+ headingCount: z.number(),
27
+ maxDepth: z.number(),
28
+ topLevelSections: z.array(z.string()),
29
+ tree: z.array(StructureNodeSchema),
30
+ });
31
+ export const ContentPreviewParagraphSchema = z.object({
32
+ index: z.number(),
33
+ text: z.string(),
34
+ isHeading: z.boolean(),
35
+ headingLevel: z.number().optional(),
36
+ });
37
+ export const ContentPreviewSchema = z.object({
38
+ truncated: z.boolean(),
39
+ paragraphs: z.array(ContentPreviewParagraphSchema),
40
+ });
41
+ export const DocumentInspectionSchema = z.object({
42
+ file: z.string(),
43
+ format: z.enum(['docx', 'pdf', 'odt']),
44
+ size: z.number(),
45
+ properties: DocumentPropertiesSchema,
46
+ riskFlags: DocRiskFlagsSchema,
47
+ contentStats: DocContentStatsSchema,
48
+ structure: StructureSummarySchema.nullable(),
49
+ contentPreview: ContentPreviewSchema,
50
+ fullTokenEstimate: z.number(),
51
+ previewTokenEstimate: z.number(),
52
+ });
53
+ export const DocInspectPayloadSchema = z.object({
54
+ file: z.string(),
55
+ query: z.record(z.string(), z.unknown()),
56
+ results: DocumentInspectionSchema,
57
+ });
58
+ export const InspectDocOptionsSchema = z.object({
59
+ sampleParagraphs: z.number(),
60
+ includeStructure: z.boolean(),
61
+ });
2
62
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/doc/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/doc/types.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,15 @@
1
- export interface DocumentProperties {
2
- title?: string;
3
- subject?: string;
4
- author?: string;
5
- company?: string;
6
- createdDate?: string;
7
- modifiedDate?: string;
8
- lastModifiedBy?: string;
9
- keywords?: string;
10
- }
1
+ import { z } from 'zod';
2
+ export declare const DocumentPropertiesSchema: z.ZodObject<{
3
+ title: z.ZodOptional<z.ZodString>;
4
+ subject: z.ZodOptional<z.ZodString>;
5
+ author: z.ZodOptional<z.ZodString>;
6
+ company: z.ZodOptional<z.ZodString>;
7
+ createdDate: z.ZodOptional<z.ZodString>;
8
+ modifiedDate: z.ZodOptional<z.ZodString>;
9
+ lastModifiedBy: z.ZodOptional<z.ZodString>;
10
+ keywords: z.ZodOptional<z.ZodString>;
11
+ }, z.core.$strip>;
12
+ export type DocumentProperties = z.infer<typeof DocumentPropertiesSchema>;
11
13
  export declare function estimateTokens(input: string | number): number;
12
14
  export declare function asOptionalString(value: unknown): string | undefined;
13
15
  export declare function formatDateLike(value: unknown): string | undefined;
@@ -1,3 +1,14 @@
1
+ import { z } from 'zod';
2
+ export const DocumentPropertiesSchema = z.object({
3
+ title: z.string().optional(),
4
+ subject: z.string().optional(),
5
+ author: z.string().optional(),
6
+ company: z.string().optional(),
7
+ createdDate: z.string().optional(),
8
+ modifiedDate: z.string().optional(),
9
+ lastModifiedBy: z.string().optional(),
10
+ keywords: z.string().optional(),
11
+ });
1
12
  export function estimateTokens(input) {
2
13
  const chars = typeof input === 'number' ? input : input.length;
3
14
  return Math.max(0, Math.ceil(chars / 4));
@@ -1 +1 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/inspect/shared.ts"],"names":[],"mappings":"AAWA,MAAM,UAAU,cAAc,CAAC,KAAsB;IACnD,MAAM,KAAK,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;IAC/D,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC7C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,IAAI,KAAK,YAAY,IAAI;QAAE,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC;IACtD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE;QAAE,OAAO,KAAK,CAAC;IAC5D,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAI,IAAY,EAAE,KAA8B,EAAE,OAAU;IAC9F,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AAClC,CAAC"}
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/inspect/shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACrC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAChC,CAAC,CAAC;AAGH,MAAM,UAAU,cAAc,CAAC,KAAsB;IACnD,MAAM,KAAK,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;IAC/D,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC7C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,IAAI,KAAK,YAAY,IAAI;QAAE,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC;IACtD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE;QAAE,OAAO,KAAK,CAAC;IAC5D,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAI,IAAY,EAAE,KAA8B,EAAE,OAAU;IAC9F,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AAClC,CAAC"}