@intentic/fileq 1.317.0 → 1.319.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/NOTICE +208 -0
- package/README.md +39 -12
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +19 -7
- package/dist/app.js.map +1 -1
- package/dist/commands/check.command.d.ts +3 -0
- package/dist/commands/check.command.d.ts.map +1 -0
- package/dist/commands/check.command.js +80 -0
- package/dist/commands/check.command.js.map +1 -0
- package/dist/commands/derive.command.js +1 -1
- package/dist/commands/derive.command.js.map +1 -1
- package/dist/commands/read.command.d.ts.map +1 -1
- package/dist/commands/read.command.js +26 -45
- package/dist/commands/read.command.js.map +1 -1
- package/dist/commands/render.command.d.ts +3 -0
- package/dist/commands/render.command.d.ts.map +1 -0
- package/dist/commands/render.command.js +67 -0
- package/dist/commands/render.command.js.map +1 -0
- package/dist/lib/check/check.d.ts +15 -0
- package/dist/lib/check/check.d.ts.map +1 -0
- package/dist/lib/check/check.js +35 -0
- package/dist/lib/check/check.js.map +1 -0
- package/dist/lib/check/docx.d.ts +3 -0
- package/dist/lib/check/docx.d.ts.map +1 -0
- package/dist/lib/check/docx.js +329 -0
- package/dist/lib/check/docx.js.map +1 -0
- package/dist/lib/check/finding.d.ts +20 -0
- package/dist/lib/check/finding.d.ts.map +1 -0
- package/dist/lib/check/finding.js +27 -0
- package/dist/lib/check/finding.js.map +1 -0
- package/dist/lib/check/package.d.ts +25 -0
- package/dist/lib/check/package.d.ts.map +1 -0
- package/dist/lib/check/package.js +139 -0
- package/dist/lib/check/package.js.map +1 -0
- package/dist/lib/check/pdf.d.ts +3 -0
- package/dist/lib/check/pdf.d.ts.map +1 -0
- package/dist/lib/check/pdf.js +160 -0
- package/dist/lib/check/pdf.js.map +1 -0
- package/dist/lib/check/pptx.d.ts +3 -0
- package/dist/lib/check/pptx.d.ts.map +1 -0
- package/dist/lib/check/pptx.js +497 -0
- package/dist/lib/check/pptx.js.map +1 -0
- package/dist/lib/check/text-fit.d.ts +18 -0
- package/dist/lib/check/text-fit.d.ts.map +1 -0
- package/dist/lib/check/text-fit.js +69 -0
- package/dist/lib/check/text-fit.js.map +1 -0
- package/dist/lib/check/xlsx.d.ts +3 -0
- package/dist/lib/check/xlsx.d.ts.map +1 -0
- package/dist/lib/check/xlsx.js +131 -0
- package/dist/lib/check/xlsx.js.map +1 -0
- package/dist/lib/check/xml-tree.d.ts +15 -0
- package/dist/lib/check/xml-tree.d.ts.map +1 -0
- package/dist/lib/check/xml-tree.js +131 -0
- package/dist/lib/check/xml-tree.js.map +1 -0
- package/dist/lib/content-cache.d.ts +12 -0
- package/dist/lib/content-cache.d.ts.map +1 -0
- package/dist/lib/content-cache.js +33 -0
- package/dist/lib/content-cache.js.map +1 -0
- package/dist/lib/derive.d.ts +10 -0
- package/dist/lib/derive.d.ts.map +1 -1
- package/dist/lib/derive.js +37 -4
- package/dist/lib/derive.js.map +1 -1
- package/dist/lib/derivers/image.d.ts.map +1 -1
- package/dist/lib/derivers/image.js.map +1 -1
- package/dist/lib/formats.d.ts +1 -0
- package/dist/lib/formats.d.ts.map +1 -1
- package/dist/lib/formats.js +1 -0
- package/dist/lib/formats.js.map +1 -1
- package/dist/lib/render/convert.d.ts +11 -0
- package/dist/lib/render/convert.d.ts.map +1 -0
- package/dist/lib/render/convert.js +107 -0
- package/dist/lib/render/convert.js.map +1 -0
- package/dist/lib/render/pages.d.ts +11 -0
- package/dist/lib/render/pages.d.ts.map +1 -0
- package/dist/lib/render/pages.js +43 -0
- package/dist/lib/render/pages.js.map +1 -0
- package/dist/lib/render/render.d.ts +29 -0
- package/dist/lib/render/render.d.ts.map +1 -0
- package/dist/lib/render/render.js +142 -0
- package/dist/lib/render/render.js.map +1 -0
- package/dist/lib/sidecar.d.ts +11 -2
- package/dist/lib/sidecar.d.ts.map +1 -1
- package/dist/lib/sidecar.js +28 -16
- package/dist/lib/sidecar.js.map +1 -1
- package/dist/skill-authoring.d.ts +2 -0
- package/dist/skill-authoring.d.ts.map +1 -0
- package/dist/skill-authoring.js +20 -0
- package/dist/skill-authoring.js.map +1 -0
- package/dist/skill.d.ts.map +1 -1
- package/dist/skill.js +32 -8
- package/dist/skill.js.map +1 -1
- package/dist/testing.d.ts +67 -0
- package/dist/testing.d.ts.map +1 -1
- package/dist/testing.js +151 -0
- package/dist/testing.js.map +1 -1
- package/package.json +21 -8
- package/src/app.ts +19 -7
- package/src/cli.integration.test.ts +115 -30
- package/src/commands/check.command.ts +97 -0
- package/src/commands/derive.command.ts +1 -1
- package/src/commands/read.command.ts +30 -52
- package/src/commands/render.command.ts +80 -0
- package/src/lib/archives.ts +1 -1
- package/src/lib/check/check.test.ts +446 -0
- package/src/lib/check/check.ts +49 -0
- package/src/lib/check/docx.ts +434 -0
- package/src/lib/check/finding.ts +63 -0
- package/src/lib/check/package.ts +199 -0
- package/src/lib/check/pdf.ts +228 -0
- package/src/lib/check/pptx.ts +641 -0
- package/src/lib/check/text-fit.ts +105 -0
- package/src/lib/check/xlsx.ts +163 -0
- package/src/lib/check/xml-tree.ts +186 -0
- package/src/lib/content-cache.ts +58 -0
- package/src/lib/derive.integration.test.ts +198 -0
- package/src/lib/derive.ts +66 -7
- package/src/lib/derivers/archive.ts +1 -1
- package/src/lib/derivers/image.ts +2 -1
- package/src/lib/derivers/load-cost.test.ts +1 -1
- package/src/lib/derivers/pdf.ts +1 -1
- package/src/lib/derivers/xlsx.ts +1 -1
- package/src/lib/formats.ts +6 -0
- package/src/lib/render/convert.ts +133 -0
- package/src/lib/render/pages.test.ts +38 -0
- package/src/lib/render/pages.ts +58 -0
- package/src/lib/render/render.ts +198 -0
- package/src/lib/sidecar.ts +42 -22
- package/src/render.integration.test.ts +217 -0
- package/src/skill-authoring.ts +27 -0
- package/src/skill.ts +36 -8
- package/src/testing.ts +287 -0
- package/dist/commands/sweep.command.d.ts +0 -3
- package/dist/commands/sweep.command.d.ts.map +0 -1
- package/dist/commands/sweep.command.js +0 -41
- package/dist/commands/sweep.command.js.map +0 -1
- package/dist/lib/flags.d.ts +0 -2
- package/dist/lib/flags.d.ts.map +0 -1
- package/dist/lib/flags.js +0 -8
- package/dist/lib/flags.js.map +0 -1
- package/dist/lib/sweep.d.ts +0 -7
- package/dist/lib/sweep.d.ts.map +0 -1
- package/dist/lib/sweep.js +0 -56
- package/dist/lib/sweep.js.map +0 -1
- package/dist/version.d.ts +0 -2
- package/dist/version.d.ts.map +0 -1
- package/dist/version.js +0 -3
- package/dist/version.js.map +0 -1
- package/src/commands/sweep.command.ts +0 -48
- package/src/lib/sweep.ts +0 -72
package/dist/skill.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { DERIVED_DIR } from "./lib/sidecar.js";
|
|
2
|
+
import { AUTHORING_RULES } from "./skill-authoring.js";
|
|
2
3
|
const OCR_FORMAT = {
|
|
3
4
|
sandbox: "a scan is OCR'd when the image carries tesseract",
|
|
4
5
|
standalone: "a scan is OCR'd when `tesseract` is on PATH",
|
|
@@ -11,6 +12,13 @@ const OCR_REFUSAL = {
|
|
|
11
12
|
rather than an empty page; images say "no visual description". Treat those notes as "not generated",
|
|
12
13
|
never as "nothing there". Installing tesseract turns the first into OCR.`,
|
|
13
14
|
};
|
|
15
|
+
const RENDER_TOOLS = {
|
|
16
|
+
sandbox: `It needs LibreOffice (\`soffice\`) for office formats and \`pdftoppm\` for every format, both in the opt-in
|
|
17
|
+
\`office\` image pack. If it exits 2 naming one, run the \`environment propose office --pack\` it prints (the owner
|
|
18
|
+
approves, a rebuild brings it), say the document was checked but not seen, and do not claim it looks right.`,
|
|
19
|
+
standalone: `It needs LibreOffice (\`soffice\`) for office formats and \`pdftoppm\` (poppler-utils) or \`mutool\` for
|
|
20
|
+
every format. If it exits 2 naming one, install it or tell the user the document was checked but not seen.`,
|
|
21
|
+
};
|
|
14
22
|
const TEXTCONV = `## What changed in a document
|
|
15
23
|
\`git diff\`, \`git show\` and \`git log -p\` on a .docx, .xlsx, .pptx, .pdf or .ipynb print the change to its
|
|
16
24
|
text, not "Binary files differ": every derivable extension is routed through fileq as git's textconv. Read the
|
|
@@ -19,17 +27,17 @@ diff; do not convert both versions by hand.
|
|
|
19
27
|
`;
|
|
20
28
|
export const fileqSkill = ({ host }) => `---
|
|
21
29
|
name: fileq
|
|
22
|
-
description: Read binary
|
|
30
|
+
description: Read binary files (docx, xlsx, pptx, pdf, odt, epub, ipynb, images, audio, archives, V8 profiles) as budgeted markdown with \`fileq\`, size up csv, json or logs too big to cat, and check and render a docx, pptx, xlsx or pdf you made. Use instead of guessing from a filename, ad-hoc converters, or delivering it unseen.
|
|
23
31
|
---
|
|
24
32
|
|
|
25
33
|
# fileq: binary files as markdown
|
|
26
34
|
|
|
27
|
-
The \`fileq\` CLI (on PATH) turns the workspace files you cannot open as text into markdown
|
|
28
|
-
|
|
35
|
+
The \`fileq\` CLI (on PATH) turns the workspace files you cannot open as text into markdown. Renderings are
|
|
36
|
+
cached by content, so a repeat read of unchanged content is instant.
|
|
29
37
|
|
|
30
38
|
## Read a file
|
|
31
39
|
\`fileq <file>\` (or \`fileq read <file> --budget 8000\`)
|
|
32
|
-
- Prints a capsule (format, token cost), the content up to the budget, and \`saved:\` — the
|
|
40
|
+
- Prints a capsule (format, token cost), the content up to the budget, and \`saved:\` — the markdown file
|
|
33
41
|
carrying the whole thing. Over budget, the cut is announced with that exact path to Read.
|
|
34
42
|
- Formats: docx and odt (headings, lists, tables), xlsx (capped tables), pptx (slides + speaker notes),
|
|
35
43
|
pdf (text layer; ${OCR_FORMAT[host]}, and the note says the words are
|
|
@@ -41,10 +49,11 @@ sidecar copy fresh so reading twice derives once.
|
|
|
41
49
|
compressed file (\`server.log.gz\`) is the exception and derives to its text, since there the archive is
|
|
42
50
|
the document. 7z and rar answer that nothing here opens them.
|
|
43
51
|
|
|
44
|
-
##
|
|
45
|
-
A file
|
|
46
|
-
|
|
47
|
-
|
|
52
|
+
## Reading again is free
|
|
53
|
+
A rendering is keyed by the file's sha256 and the reader's version, not its path: \`fileq read\` on an
|
|
54
|
+
unchanged file, a copy or a move of it, or the same bytes downloaded elsewhere answers from the cache
|
|
55
|
+
without parsing it again. Run it again rather than opening a sidecar under \`${DERIVED_DIR}\` by hand; it
|
|
56
|
+
checks the hash for you.
|
|
48
57
|
|
|
49
58
|
## What it refuses, and why
|
|
50
59
|
${OCR_REFUSAL[host]}
|
|
@@ -53,6 +62,21 @@ ${OCR_REFUSAL[host]}
|
|
|
53
62
|
|
|
54
63
|
${host === "sandbox" ? TEXTCONV : ""}Exit codes: 0 content, 1 nothing derivable, 2 broken invocation or install.
|
|
55
64
|
|
|
65
|
+
## After you produce a document
|
|
66
|
+
A deck, report, spreadsheet or PDF made for someone is not finished until you have checked it and looked at it.
|
|
67
|
+
1. \`fileq check <file>\` (docx, pptx, xlsx, pdf) lists what a reader would meet, each with where it is:
|
|
68
|
+
\`slide 3 · "Title 1"\`, \`'Q3 plan'!C4\`, \`page 7\`, \`paragraph 12 · "…"\`. Exit 1 means an error (a missing
|
|
69
|
+
image, a #REF!, a broken link, leftover "Click to add title"): fix every one and check again. Warnings are
|
|
70
|
+
judgement calls (a TODO, a hidden slide) or estimates (text overflowing its box): settle those by looking.
|
|
71
|
+
2. \`fileq render <file> [--pages 1-3]\` draws the pages or slides as PNGs (the first 20 unless you say) and
|
|
72
|
+
prints one path per line; Read them. An unchanged file answers from its last render. Office formats are laid
|
|
73
|
+
out by LibreOffice, so a font the machine lacks is substituted: judge overflow and spacing, not the typeface.
|
|
74
|
+
${RENDER_TOOLS[host].replaceAll("\n", "\n ")}
|
|
75
|
+
Fix what you find in whatever generated the file, regenerate, and check again; after two rounds, stop and tell
|
|
76
|
+
the user what is left rather than looping.
|
|
77
|
+
|
|
78
|
+
${AUTHORING_RULES}
|
|
79
|
+
|
|
56
80
|
## Text-shaped files that are too big to cat
|
|
57
81
|
The commonest way to lose a context window is \`cat\` on a file you have not sized. Stat first, then read
|
|
58
82
|
the shape, then only what the question needs:
|
package/dist/skill.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill.js","sourceRoot":"","sources":["../src/skill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"skill.js","sourceRoot":"","sources":["../src/skill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAavD,MAAM,UAAU,GAA2C;IACvD,OAAO,EAAE,kDAAkD;IAC3D,UAAU,EAAE,6CAA6C;CAC5D,CAAC;AAEF,MAAM,WAAW,GAA2C;IACxD,OAAO,EAAE;;iGAEoF;IAC7F,UAAU,EAAE;;2EAE2D;CAC1E,CAAC;AAKF,MAAM,YAAY,GAAG;IACjB,OAAO,EAAE;;4GAE+F;IACxG,UAAU,EAAE;2GAC2F;CACzD,CAAC;AAGnD,MAAM,QAAQ,GAAG;;;;;CAKhB,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EAAE,IAAI,EAAkB,EAAU,EAAE,CAAC;;;;;;;;;;;;;;;qBAe3C,UAAU,CAAC,IAAI,CAAC;;;;;;;;;;;;+EAY0C,WAAW;;;;EAIxF,WAAW,CAAC,IAAI,CAAC;;;;EAIjB,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;;KAW/B,YAAY,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC;;;;EAI/C,eAAe;;;;;;;;;;;;;;;;;;;;CAoBhB,CAAC"}
|
package/dist/testing.d.ts
CHANGED
|
@@ -22,4 +22,71 @@ export declare const zipBytes: (files: Readonly<Record<string, string>>) => Uint
|
|
|
22
22
|
export declare const tarBytes: (files: Readonly<Record<string, string>>) => Uint8Array;
|
|
23
23
|
export declare const gzipBytes: (name: string, content: Uint8Array | string) => Uint8Array;
|
|
24
24
|
export declare const pngBytes: () => Uint8Array;
|
|
25
|
+
export interface FixtureRel {
|
|
26
|
+
readonly type: string;
|
|
27
|
+
readonly target: string;
|
|
28
|
+
readonly external?: boolean;
|
|
29
|
+
}
|
|
30
|
+
export interface Frame {
|
|
31
|
+
readonly x: number;
|
|
32
|
+
readonly y: number;
|
|
33
|
+
readonly w: number;
|
|
34
|
+
readonly h: number;
|
|
35
|
+
}
|
|
36
|
+
export interface TextBoxOptions {
|
|
37
|
+
readonly size?: number;
|
|
38
|
+
readonly ph?: {
|
|
39
|
+
readonly type?: string;
|
|
40
|
+
readonly idx?: number;
|
|
41
|
+
};
|
|
42
|
+
readonly autofit?: "shrink" | "grow";
|
|
43
|
+
}
|
|
44
|
+
export declare const textBox: (name: string, frame: Frame | undefined, lines: readonly string[], options?: TextBoxOptions) => string;
|
|
45
|
+
export declare const pictureFrame: (name: string, frame: Frame, rId: string, crop?: {
|
|
46
|
+
readonly l?: number;
|
|
47
|
+
readonly r?: number;
|
|
48
|
+
readonly t?: number;
|
|
49
|
+
readonly b?: number;
|
|
50
|
+
}) => string;
|
|
51
|
+
export declare const tableFrame: (name: string, frame: Frame, rows: readonly (readonly string[])[], height: number, size?: number) => string;
|
|
52
|
+
export interface DeckSlide {
|
|
53
|
+
readonly drawings: readonly string[];
|
|
54
|
+
readonly rels?: Readonly<Record<string, FixtureRel>>;
|
|
55
|
+
readonly hidden?: boolean;
|
|
56
|
+
readonly partNumber?: number;
|
|
57
|
+
}
|
|
58
|
+
export interface DeckOptions {
|
|
59
|
+
readonly slides: readonly DeckSlide[];
|
|
60
|
+
readonly media?: Readonly<Record<string, Uint8Array>>;
|
|
61
|
+
readonly width?: number;
|
|
62
|
+
readonly height?: number;
|
|
63
|
+
readonly untypedMedia?: boolean;
|
|
64
|
+
}
|
|
65
|
+
export declare const deckBytes: (options: DeckOptions) => Uint8Array;
|
|
66
|
+
export declare const pngOfSize: (width: number, height: number) => Uint8Array;
|
|
67
|
+
export declare const para: (text: string, style?: string) => string;
|
|
68
|
+
export declare const inlinePicture: (rId: string, width: number, height: number) => string;
|
|
69
|
+
export declare const field: (instruction: string, result: string | undefined) => string;
|
|
70
|
+
export interface WordOptions {
|
|
71
|
+
readonly body: readonly string[];
|
|
72
|
+
readonly rels?: Readonly<Record<string, FixtureRel>>;
|
|
73
|
+
readonly media?: Readonly<Record<string, Uint8Array>>;
|
|
74
|
+
readonly comments?: readonly string[];
|
|
75
|
+
}
|
|
76
|
+
export declare const wordBytes: (options: WordOptions) => Uint8Array;
|
|
77
|
+
export interface SheetFixture {
|
|
78
|
+
readonly name: string;
|
|
79
|
+
readonly rows: string;
|
|
80
|
+
}
|
|
81
|
+
export declare const workbookBytes: (sheets: readonly SheetFixture[], options?: {
|
|
82
|
+
readonly definedNames?: string;
|
|
83
|
+
readonly calcPr?: string;
|
|
84
|
+
}) => Uint8Array;
|
|
85
|
+
export interface PdfPageFixture {
|
|
86
|
+
readonly content: string;
|
|
87
|
+
readonly font?: string;
|
|
88
|
+
readonly extra?: string;
|
|
89
|
+
readonly size?: readonly [number, number];
|
|
90
|
+
}
|
|
91
|
+
export declare const pdfPagesBytes: (pages: readonly PdfPageFixture[]) => Uint8Array;
|
|
25
92
|
//# sourceMappingURL=testing.d.ts.map
|
package/dist/testing.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../src/testing.ts"],"names":[],"mappings":"AAyBA,eAAO,MAAM,SAAS,YAAa,MAAM,cAAc,SAAS,MAAM,EAAE,KAAG,UAiB1E,CAAC;AASF,eAAO,MAAM,SAAS,WAAY,SAAS,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,KAAG,UAgBlE,CAAC;AAMF,eAAO,MAAM,QAAQ,SAAU,MAAM,KAAG,UAwBvC,CAAC;AAGF,eAAO,MAAM,QAAQ,QAAO,UA0B3B,CAAC;AAMF,eAAO,MAAM,QAAQ,YAAa,MAAM,cAAc,SAAS,MAAM,EAAE,KAAG,UA0BpE,CAAC;AAoBP,eAAO,MAAM,QAAQ,WAAY,SAAS;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,CAAA;CAAE,EAAE,KAAG,UAgBlH,CAAC;AAGN,eAAO,MAAM,QAAQ,WAAY,SAAS;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,KAAG,UAc9H,CAAC;AAGN,eAAO,MAAM,QAAQ,eAAgB,SAAS,MAAM,EAAE,KAAG,UAKpD,CAAC;AAGN,eAAO,MAAM,SAAS,UAAW,MAAM,YAAY,SAAS;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,KAAG,UAyBjH,CAAC;AAGF,eAAO,MAAM,SAAS,UAAW,MAAM,QAAQ,MAAM,eAAe,SAAS,MAAM,EAAE,KAAG,MAkBlF,CAAC;AAGP,eAAO,MAAM,QAAQ,UAAW,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,KAAG,UACgC,CAAC;AAkCpG,eAAO,MAAM,QAAQ,UAAW,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,KAAG,UAkBlE,CAAC;AAGF,eAAO,MAAM,SAAS,SAAU,MAAM,WAAW,UAAU,GAAG,MAAM,KAAG,UACmB,CAAC;AAG3F,eAAO,MAAM,QAAQ,QAAO,UACkH,CAAC"}
|
|
1
|
+
{"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../src/testing.ts"],"names":[],"mappings":"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"}
|
package/dist/testing.js
CHANGED
|
@@ -217,4 +217,155 @@ export const tarBytes = (files) => {
|
|
|
217
217
|
};
|
|
218
218
|
export const gzipBytes = (name, content) => gzipSync(typeof content === "string" ? strToU8(content) : content, { filename: name });
|
|
219
219
|
export const pngBytes = () => Uint8Array.from(Buffer.from("iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==", "base64"));
|
|
220
|
+
const EMU = 914_400;
|
|
221
|
+
const NS_P = 'xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" xmlns:p="http://schemas.openxmlformats.org/presentationml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"';
|
|
222
|
+
const REL_TYPE = "http://schemas.openxmlformats.org/officeDocument/2006/relationships";
|
|
223
|
+
const relsXml = (rels) => `<?xml version="1.0" encoding="UTF-8"?>
|
|
224
|
+
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">${Object.entries(rels)
|
|
225
|
+
.map(([id, rel]) => `<Relationship Id="${id}" Type="${REL_TYPE}/${rel.type}" Target="${xmlEscape(rel.target)}"${rel.external === true ? ' TargetMode="External"' : ""}/>`)
|
|
226
|
+
.join("")}</Relationships>`;
|
|
227
|
+
const xfrm = (frame, tag = "a:xfrm") => `<${tag}><a:off x="${Math.round(frame.x * EMU)}" y="${Math.round(frame.y * EMU)}"/><a:ext cx="${Math.round(frame.w * EMU)}" cy="${Math.round(frame.h * EMU)}"/></${tag}>`;
|
|
228
|
+
let drawingId = 10;
|
|
229
|
+
export const textBox = (name, frame, lines, options = {}) => {
|
|
230
|
+
drawingId += 1;
|
|
231
|
+
const ph = options.ph === undefined ? "" : `<p:ph${options.ph.type === undefined ? "" : ` type="${options.ph.type}"`}${options.ph.idx === undefined ? "" : ` idx="${options.ph.idx}"`}/>`;
|
|
232
|
+
const fit = options.autofit === "shrink" ? "<a:normAutofit/>" : options.autofit === "grow" ? "<a:spAutoFit/>" : "";
|
|
233
|
+
const size = options.size === undefined ? "" : ` sz="${options.size * 100}"`;
|
|
234
|
+
const paragraphs = lines.length === 0 ? "<a:p/>" : lines.map((line) => `<a:p><a:r><a:rPr lang="en-US"${size}/><a:t>${xmlEscape(line)}</a:t></a:r></a:p>`).join("");
|
|
235
|
+
return `<p:sp><p:nvSpPr><p:cNvPr id="${drawingId}" name="${xmlEscape(name)}"/><p:cNvSpPr/><p:nvPr>${ph}</p:nvPr></p:nvSpPr><p:spPr>${frame === undefined ? "" : xfrm(frame)}</p:spPr><p:txBody><a:bodyPr wrap="square">${fit}</a:bodyPr><a:lstStyle/>${paragraphs}</p:txBody></p:sp>`;
|
|
236
|
+
};
|
|
237
|
+
export const pictureFrame = (name, frame, rId, crop) => {
|
|
238
|
+
drawingId += 1;
|
|
239
|
+
const src = crop === undefined ? "" : `<a:srcRect l="${crop.l ?? 0}" r="${crop.r ?? 0}" t="${crop.t ?? 0}" b="${crop.b ?? 0}"/>`;
|
|
240
|
+
return `<p:pic><p:nvPicPr><p:cNvPr id="${drawingId}" name="${xmlEscape(name)}"/><p:cNvPicPr/><p:nvPr/></p:nvPicPr><p:blipFill><a:blip r:embed="${rId}"/>${src}<a:stretch><a:fillRect/></a:stretch></p:blipFill><p:spPr>${xfrm(frame)}<a:prstGeom prst="rect"><a:avLst/></a:prstGeom></p:spPr></p:pic>`;
|
|
241
|
+
};
|
|
242
|
+
export const tableFrame = (name, frame, rows, height, size = 18) => {
|
|
243
|
+
drawingId += 1;
|
|
244
|
+
const columns = Math.max(1, ...rows.map((row) => row.length));
|
|
245
|
+
const columnWidth = Math.round((frame.w * EMU) / columns);
|
|
246
|
+
const cells = (row) => row.map((cell) => `<a:tc><a:txBody><a:bodyPr/><a:lstStyle/><a:p><a:r><a:rPr lang="en-US" sz="${size * 100}"/><a:t>${xmlEscape(cell)}</a:t></a:r></a:p></a:txBody><a:tcPr/></a:tc>`).join("");
|
|
247
|
+
return `<p:graphicFrame><p:nvGraphicFramePr><p:cNvPr id="${drawingId}" name="${xmlEscape(name)}"/><p:cNvGraphicFramePr/><p:nvPr/></p:nvGraphicFramePr>${xfrm(frame, "p:xfrm")}<a:graphic><a:graphicData uri="http://schemas.openxmlformats.org/drawingml/2006/table"><a:tbl><a:tblGrid>${Array.from({ length: columns }, () => `<a:gridCol w="${columnWidth}"/>`).join("")}</a:tblGrid>${rows.map((row) => `<a:tr h="${Math.round(height * EMU)}">${cells(row)}</a:tr>`).join("")}</a:tbl></a:graphicData></a:graphic></p:graphicFrame>`;
|
|
248
|
+
};
|
|
249
|
+
const MASTER = `<?xml version="1.0" encoding="UTF-8"?>
|
|
250
|
+
<p:sldMaster ${NS_P}><p:cSld><p:spTree><p:nvGrpSpPr><p:cNvPr id="1" name=""/><p:cNvGrpSpPr/><p:nvPr/></p:nvGrpSpPr><p:grpSpPr/>
|
|
251
|
+
<p:sp><p:nvSpPr><p:cNvPr id="2" name="Title Placeholder 1"/><p:cNvSpPr/><p:nvPr><p:ph type="title"/></p:nvPr></p:nvSpPr><p:spPr>${xfrm({ x: 0.92, y: 0.4, w: 11.5, h: 1.45 })}</p:spPr><p:txBody><a:bodyPr/><a:lstStyle/><a:p><a:r><a:t>Click to edit Master title style</a:t></a:r></a:p></p:txBody></p:sp>
|
|
252
|
+
<p:sp><p:nvSpPr><p:cNvPr id="3" name="Text Placeholder 2"/><p:cNvSpPr/><p:nvPr><p:ph type="body" idx="1"/></p:nvPr></p:nvSpPr><p:spPr>${xfrm({ x: 0.92, y: 2, w: 11.5, h: 4.75 })}</p:spPr><p:txBody><a:bodyPr/><a:lstStyle/><a:p><a:r><a:t>Click to edit Master text styles</a:t></a:r></a:p></p:txBody></p:sp>
|
|
253
|
+
</p:spTree></p:cSld><p:clrMap bg1="lt1" tx1="dk1" bg2="lt2" tx2="dk2" accent1="accent1" accent2="accent2" accent3="accent3" accent4="accent4" accent5="accent5" accent6="accent6" hlink="hlink" folHlink="folHlink"/><p:sldLayoutIdLst><p:sldLayoutId id="2147483649" r:id="rId1"/></p:sldLayoutIdLst>
|
|
254
|
+
<p:txStyles><p:titleStyle><a:lvl1pPr><a:defRPr sz="4400"/></a:lvl1pPr></p:titleStyle><p:bodyStyle><a:lvl1pPr><a:defRPr sz="2800"/></a:lvl1pPr><a:lvl2pPr><a:defRPr sz="2400"/></a:lvl2pPr></p:bodyStyle><p:otherStyle/></p:txStyles></p:sldMaster>`;
|
|
255
|
+
const LAYOUT = `<?xml version="1.0" encoding="UTF-8"?>
|
|
256
|
+
<p:sldLayout ${NS_P} type="obj"><p:cSld name="Title and Content"><p:spTree><p:nvGrpSpPr><p:cNvPr id="1" name=""/><p:cNvGrpSpPr/><p:nvPr/></p:nvGrpSpPr><p:grpSpPr/>
|
|
257
|
+
<p:sp><p:nvSpPr><p:cNvPr id="2" name="Title 1"/><p:cNvSpPr/><p:nvPr><p:ph type="title"/></p:nvPr></p:nvSpPr><p:spPr/><p:txBody><a:bodyPr/><a:lstStyle/><a:p><a:r><a:t>Click to edit Master title style</a:t></a:r></a:p></p:txBody></p:sp>
|
|
258
|
+
<p:sp><p:nvSpPr><p:cNvPr id="3" name="Content Placeholder 2"/><p:cNvSpPr/><p:nvPr><p:ph idx="1"/></p:nvPr></p:nvSpPr><p:spPr/><p:txBody><a:bodyPr/><a:lstStyle/><a:p><a:r><a:t>Click to edit Master text styles</a:t></a:r></a:p></p:txBody></p:sp>
|
|
259
|
+
</p:spTree></p:cSld></p:sldLayout>`;
|
|
260
|
+
export const deckBytes = (options) => {
|
|
261
|
+
const width = Math.round((options.width ?? 13.333) * EMU);
|
|
262
|
+
const height = Math.round((options.height ?? 7.5) * EMU);
|
|
263
|
+
const numbers = options.slides.map((slide, index) => slide.partNumber ?? index + 1);
|
|
264
|
+
const types = [
|
|
265
|
+
'<Override PartName="/ppt/presentation.xml" ContentType="application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml"/>',
|
|
266
|
+
'<Override PartName="/ppt/slideMasters/slideMaster1.xml" ContentType="application/vnd.openxmlformats-officedocument.presentationml.slideMaster+xml"/>',
|
|
267
|
+
'<Override PartName="/ppt/slideLayouts/slideLayout1.xml" ContentType="application/vnd.openxmlformats-officedocument.presentationml.slideLayout+xml"/>',
|
|
268
|
+
...numbers.map((number) => `<Override PartName="/ppt/slides/slide${number}.xml" ContentType="application/vnd.openxmlformats-officedocument.presentationml.slide+xml"/>`),
|
|
269
|
+
options.untypedMedia === true ? "" : '<Default Extension="png" ContentType="image/png"/>',
|
|
270
|
+
].join("");
|
|
271
|
+
const files = new Map([
|
|
272
|
+
["[Content_Types].xml", strToU8(CONTENT_TYPES(types))],
|
|
273
|
+
["_rels/.rels", strToU8(RELS("ppt/presentation.xml"))],
|
|
274
|
+
["ppt/presentation.xml", strToU8(`<?xml version="1.0" encoding="UTF-8"?>
|
|
275
|
+
<p:presentation ${NS_P}><p:sldMasterIdLst><p:sldMasterId id="2147483648" r:id="rId1"/></p:sldMasterIdLst><p:sldIdLst>${numbers.map((number, index) => `<p:sldId id="${256 + index}" r:id="rId${number + 1}"/>`).join("")}</p:sldIdLst><p:sldSz cx="${width}" cy="${height}"/><p:notesSz cx="6858000" cy="9144000"/></p:presentation>`)],
|
|
276
|
+
["ppt/_rels/presentation.xml.rels", strToU8(relsXml({
|
|
277
|
+
rId1: { type: "slideMaster", target: "slideMasters/slideMaster1.xml" },
|
|
278
|
+
...Object.fromEntries(numbers.map((number) => [`rId${number + 1}`, { type: "slide", target: `slides/slide${number}.xml` }])),
|
|
279
|
+
}))],
|
|
280
|
+
["ppt/slideMasters/slideMaster1.xml", strToU8(MASTER)],
|
|
281
|
+
["ppt/slideMasters/_rels/slideMaster1.xml.rels", strToU8(relsXml({ rId1: { type: "slideLayout", target: "../slideLayouts/slideLayout1.xml" } }))],
|
|
282
|
+
["ppt/slideLayouts/slideLayout1.xml", strToU8(LAYOUT)],
|
|
283
|
+
["ppt/slideLayouts/_rels/slideLayout1.xml.rels", strToU8(relsXml({ rId1: { type: "slideMaster", target: "../slideMasters/slideMaster1.xml" } }))],
|
|
284
|
+
]);
|
|
285
|
+
options.slides.forEach((slide, index) => {
|
|
286
|
+
const number = numbers[index] ?? index + 1;
|
|
287
|
+
files.set(`ppt/slides/slide${number}.xml`, strToU8(`<?xml version="1.0" encoding="UTF-8"?>
|
|
288
|
+
<p:sld ${NS_P}${slide.hidden === true ? ' show="0"' : ""}><p:cSld><p:spTree><p:nvGrpSpPr><p:cNvPr id="1" name=""/><p:cNvGrpSpPr/><p:nvPr/></p:nvGrpSpPr><p:grpSpPr/>${slide.drawings.join("")}</p:spTree></p:cSld></p:sld>`));
|
|
289
|
+
files.set(`ppt/slides/_rels/slide${number}.xml.rels`, strToU8(relsXml({ rId1: { type: "slideLayout", target: "../slideLayouts/slideLayout1.xml" }, ...slide.rels })));
|
|
290
|
+
});
|
|
291
|
+
for (const [name, bytes] of Object.entries(options.media ?? {})) {
|
|
292
|
+
files.set(`ppt/media/${name}`, bytes);
|
|
293
|
+
}
|
|
294
|
+
return zipSync(Object.fromEntries(files));
|
|
295
|
+
};
|
|
296
|
+
export const pngOfSize = (width, height) => {
|
|
297
|
+
const png = pngBytes().slice();
|
|
298
|
+
const view = new DataView(png.buffer, png.byteOffset, png.byteLength);
|
|
299
|
+
view.setUint32(16, width);
|
|
300
|
+
view.setUint32(20, height);
|
|
301
|
+
return png;
|
|
302
|
+
};
|
|
303
|
+
const NS_W = 'xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:wp="http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing" xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" xmlns:pic="http://schemas.openxmlformats.org/drawingml/2006/picture"';
|
|
304
|
+
export const para = (text, style) => `<w:p>${style === undefined ? "" : `<w:pPr><w:pStyle w:val="${style}"/></w:pPr>`}${text === "" ? "" : `<w:r><w:t xml:space="preserve">${xmlEscape(text)}</w:t></w:r>`}</w:p>`;
|
|
305
|
+
export const inlinePicture = (rId, width, height) => `<w:p><w:r><w:drawing><wp:inline><wp:extent cx="${Math.round(width * EMU)}" cy="${Math.round(height * EMU)}"/><wp:docPr id="1" name="Picture 1"/><a:graphic><a:graphicData uri="http://schemas.openxmlformats.org/drawingml/2006/picture"><pic:pic><pic:blipFill><a:blip r:embed="${rId}"/></pic:blipFill></pic:pic></a:graphicData></a:graphic></wp:inline></w:drawing></w:r></w:p>`;
|
|
306
|
+
export const field = (instruction, result) => `<w:p><w:r><w:fldChar w:fldCharType="begin"/></w:r><w:r><w:instrText xml:space="preserve"> ${xmlEscape(instruction)} </w:instrText></w:r>${result === undefined ? "" : `<w:r><w:fldChar w:fldCharType="separate"/></w:r><w:r><w:t>${xmlEscape(result)}</w:t></w:r>`}<w:r><w:fldChar w:fldCharType="end"/></w:r></w:p>`;
|
|
307
|
+
const STYLES = `<?xml version="1.0" encoding="UTF-8"?>
|
|
308
|
+
<w:styles xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main"><w:style w:type="paragraph" w:default="1" w:styleId="Normal"><w:name w:val="Normal"/></w:style><w:style w:type="paragraph" w:styleId="berschrift1"><w:name w:val="heading 1"/><w:basedOn w:val="Normal"/></w:style><w:style w:type="paragraph" w:styleId="berschrift2"><w:name w:val="heading 2"/><w:basedOn w:val="Normal"/></w:style><w:style w:type="paragraph" w:styleId="Callout"><w:name w:val="Callout"/><w:basedOn w:val="berschrift2"/></w:style></w:styles>`;
|
|
309
|
+
export const wordBytes = (options) => {
|
|
310
|
+
const commentRels = options.comments === undefined ? {} : { rIdComments: { type: "comments", target: "comments.xml" } };
|
|
311
|
+
const files = new Map([
|
|
312
|
+
["[Content_Types].xml", strToU8(CONTENT_TYPES([
|
|
313
|
+
'<Default Extension="png" ContentType="image/png"/>',
|
|
314
|
+
'<Override PartName="/word/document.xml" ContentType="application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml"/>',
|
|
315
|
+
'<Override PartName="/word/styles.xml" ContentType="application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml"/>',
|
|
316
|
+
options.comments === undefined ? "" : '<Override PartName="/word/comments.xml" ContentType="application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml"/>',
|
|
317
|
+
].join("")))],
|
|
318
|
+
["_rels/.rels", strToU8(RELS("word/document.xml"))],
|
|
319
|
+
["word/styles.xml", strToU8(STYLES)],
|
|
320
|
+
["word/document.xml", strToU8(`<?xml version="1.0" encoding="UTF-8"?>
|
|
321
|
+
<w:document ${NS_W}><w:body>${options.body.join("")}<w:sectPr><w:pgSz w:w="12240" w:h="15840"/><w:pgMar w:top="1440" w:right="1440" w:bottom="1440" w:left="1440" w:gutter="0"/></w:sectPr></w:body></w:document>`)],
|
|
322
|
+
]);
|
|
323
|
+
if (options.comments !== undefined) {
|
|
324
|
+
files.set("word/comments.xml", strToU8(`<?xml version="1.0" encoding="UTF-8"?>
|
|
325
|
+
<w:comments xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main">${options.comments.map((text, index) => `<w:comment w:id="${index}" w:author="Reviewer"><w:p><w:r><w:t>${xmlEscape(text)}</w:t></w:r></w:p></w:comment>`).join("")}</w:comments>`));
|
|
326
|
+
}
|
|
327
|
+
files.set("word/_rels/document.xml.rels", strToU8(relsXml({ rIdStyles: { type: "styles", target: "styles.xml" }, ...options.rels, ...commentRels })));
|
|
328
|
+
for (const [name, bytes] of Object.entries(options.media ?? {})) {
|
|
329
|
+
files.set(`word/media/${name}`, bytes);
|
|
330
|
+
}
|
|
331
|
+
return zipSync(Object.fromEntries(files));
|
|
332
|
+
};
|
|
333
|
+
export const workbookBytes = (sheets, options = {}) => {
|
|
334
|
+
const files = new Map([
|
|
335
|
+
["[Content_Types].xml", strToU8(CONTENT_TYPES([
|
|
336
|
+
'<Override PartName="/xl/workbook.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml"/>',
|
|
337
|
+
...sheets.map((_, index) => `<Override PartName="/xl/worksheets/sheet${index + 1}.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml"/>`),
|
|
338
|
+
].join("")))],
|
|
339
|
+
["_rels/.rels", strToU8(RELS("xl/workbook.xml"))],
|
|
340
|
+
["xl/workbook.xml", strToU8(`<?xml version="1.0" encoding="UTF-8"?>
|
|
341
|
+
<workbook xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"><sheets>${sheets.map((sheet, index) => `<sheet name="${xmlEscape(sheet.name)}" sheetId="${index + 1}" r:id="rId${index + 1}"/>`).join("")}</sheets>${options.definedNames === undefined ? "" : `<definedNames>${options.definedNames}</definedNames>`}${options.calcPr ?? ""}</workbook>`)],
|
|
342
|
+
["xl/_rels/workbook.xml.rels", strToU8(relsXml(Object.fromEntries(sheets.map((_, index) => [`rId${index + 1}`, { type: "worksheet", target: `worksheets/sheet${index + 1}.xml` }]))))],
|
|
343
|
+
]);
|
|
344
|
+
sheets.forEach((sheet, index) => {
|
|
345
|
+
files.set(`xl/worksheets/sheet${index + 1}.xml`, strToU8(`<?xml version="1.0" encoding="UTF-8"?>
|
|
346
|
+
<worksheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main"><sheetData>${sheet.rows}</sheetData></worksheet>`));
|
|
347
|
+
});
|
|
348
|
+
return zipSync(Object.fromEntries(files));
|
|
349
|
+
};
|
|
350
|
+
export const pdfPagesBytes = (pages) => {
|
|
351
|
+
const objects = ["", ""];
|
|
352
|
+
const add = (body) => objects.push(body);
|
|
353
|
+
const kids = pages.map((page) => {
|
|
354
|
+
const font = add(`<< /Type /Font /Subtype /${page.font === undefined ? "Type1" : "TrueType"} /BaseFont /${page.font ?? "Helvetica"} >>`);
|
|
355
|
+
const content = add(`<< /Length ${page.content.length} >>\nstream\n${page.content}\nendstream`);
|
|
356
|
+
const [width, height] = page.size ?? [612, 792];
|
|
357
|
+
return add(`<< /Type /Page /Parent 2 0 R /MediaBox [0 0 ${width} ${height}] /Contents ${content} 0 R /Resources << /Font << /F1 ${font} 0 R >> >> ${page.extra ?? ""} >>`);
|
|
358
|
+
});
|
|
359
|
+
objects[0] = "<< /Type /Catalog /Pages 2 0 R >>";
|
|
360
|
+
objects[1] = `<< /Type /Pages /Kids [${kids.map((kid) => `${kid} 0 R`).join(" ")}] /Count ${kids.length} >>`;
|
|
361
|
+
let out = "%PDF-1.4\n";
|
|
362
|
+
const offsets = objects.map((body, index) => {
|
|
363
|
+
const offset = out.length;
|
|
364
|
+
out += `${index + 1} 0 obj\n${body}\nendobj\n`;
|
|
365
|
+
return offset;
|
|
366
|
+
});
|
|
367
|
+
const xref = out.length;
|
|
368
|
+
out += `xref\n0 ${objects.length + 1}\n0000000000 65535 f \n${offsets.map((offset) => `${String(offset).padStart(10, "0")} 00000 n `).join("\n")}\ntrailer\n<< /Size ${objects.length + 1} /Root 1 0 R >>\nstartxref\n${xref}\n%%EOF\n`;
|
|
369
|
+
return strToU8(out);
|
|
370
|
+
};
|
|
220
371
|
//# sourceMappingURL=testing.js.map
|
package/dist/testing.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testing.js","sourceRoot":"","sources":["../src/testing.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"testing.js","sourceRoot":"","sources":["../src/testing.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@intentic/fileq",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"description": "fileq, agent-native file reading: any binary workspace file (docx, xlsx, pptx, pdf, images, audio, archives) as clean budgeted markdown,
|
|
3
|
+
"version": "1.319.0",
|
|
4
|
+
"description": "fileq, agent-native file reading: any binary workspace file (docx, xlsx, pptx, pdf, images, audio, archives) as clean budgeted markdown, cached by content so a repeat read is instant",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"repository": {
|
|
@@ -11,7 +11,8 @@
|
|
|
11
11
|
},
|
|
12
12
|
"files": [
|
|
13
13
|
"dist",
|
|
14
|
-
"src"
|
|
14
|
+
"src",
|
|
15
|
+
"NOTICE"
|
|
15
16
|
],
|
|
16
17
|
"publishConfig": {
|
|
17
18
|
"access": "public",
|
|
@@ -21,6 +22,7 @@
|
|
|
21
22
|
"fileq": "./dist/cli.js"
|
|
22
23
|
},
|
|
23
24
|
"exports": {
|
|
25
|
+
"./NOTICE": "./NOTICE",
|
|
24
26
|
"./formats": {
|
|
25
27
|
"types": "./dist/lib/formats.d.ts",
|
|
26
28
|
"import": {
|
|
@@ -43,6 +45,17 @@
|
|
|
43
45
|
"default": "./dist/lib/sidecar.js"
|
|
44
46
|
}
|
|
45
47
|
},
|
|
48
|
+
"./derive": {
|
|
49
|
+
"types": "./dist/lib/derive.d.ts",
|
|
50
|
+
"import": {
|
|
51
|
+
"@intentic/src": "./src/lib/derive.ts",
|
|
52
|
+
"default": "./dist/lib/derive.js"
|
|
53
|
+
},
|
|
54
|
+
"require": {
|
|
55
|
+
"@intentic/src": "./src/lib/derive.ts",
|
|
56
|
+
"default": "./dist/lib/derive.js"
|
|
57
|
+
}
|
|
58
|
+
},
|
|
46
59
|
"./skill": {
|
|
47
60
|
"types": "./dist/skill.d.ts",
|
|
48
61
|
"import": {
|
|
@@ -56,11 +69,11 @@
|
|
|
56
69
|
}
|
|
57
70
|
},
|
|
58
71
|
"dependencies": {
|
|
59
|
-
"@intentic/agent-cli": "1.
|
|
60
|
-
"@intentic/base": "1.
|
|
61
|
-
"@intentic/constants": "1.
|
|
62
|
-
"@intentic/webq": "1.
|
|
63
|
-
"@intentic/workspace-ignore": "1.
|
|
72
|
+
"@intentic/agent-cli": "1.319.0",
|
|
73
|
+
"@intentic/base": "1.319.0",
|
|
74
|
+
"@intentic/constants": "1.319.0",
|
|
75
|
+
"@intentic/webq": "1.319.0",
|
|
76
|
+
"@intentic/workspace-ignore": "1.319.0",
|
|
64
77
|
"@stricli/core": "1.3.0",
|
|
65
78
|
"exceljs": "4.4.0",
|
|
66
79
|
"exifr": "7.1.3",
|
package/src/app.ts
CHANGED
|
@@ -1,39 +1,51 @@
|
|
|
1
1
|
import { packageVersion } from "@intentic/agent-cli/version";
|
|
2
2
|
import { buildApplication, buildRouteMap } from "@stricli/core";
|
|
3
|
+
import { checkCommand } from "./commands/check.command.js";
|
|
3
4
|
import { deriveCommand } from "./commands/derive.command.js";
|
|
4
5
|
import { gitAttributesCommand } from "./commands/git-attributes.command.js";
|
|
5
6
|
import { readCommand } from "./commands/read.command.js";
|
|
6
|
-
import {
|
|
7
|
+
import { renderCommand } from "./commands/render.command.js";
|
|
7
8
|
|
|
8
9
|
// The agent-facing contract, kept small — this is what `fileq --help` prints.
|
|
9
10
|
const HELP = `fileq — binary workspace files as clean, budgeted markdown.
|
|
10
11
|
|
|
11
12
|
Reads the formats an agent cannot: docx, xlsx, pptx, pdf (text layer), images
|
|
12
|
-
(dimensions + EXIF), audio/video (duration + tags), html.
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
(dimensions + EXIF), audio/video (duration + tags), html. Renderings are cached
|
|
14
|
+
by content hash, so reading unchanged bytes again (the same file, a copy, a
|
|
15
|
+
download outside the workspace) is instant; each workspace file also gets a
|
|
16
|
+
markdown SIDECAR under .intentic/local/cache/derived/<path>.md.
|
|
15
17
|
|
|
16
18
|
fileq <file> print it as markdown (default: read), budgeted
|
|
17
19
|
fileq read <file> --budget 8000
|
|
18
20
|
fileq derive <file…> converge named files' sidecars (stale→derive, gone→remove)
|
|
19
|
-
fileq sweep converge the whole workspace, prune orphaned sidecars
|
|
20
21
|
fileq read --plain <f> the markdown alone, for a program; git's textconv driver
|
|
21
22
|
fileq git-attributes the gitattributes that route documents through it
|
|
22
23
|
|
|
24
|
+
After producing a document, check it and look at it:
|
|
25
|
+
|
|
26
|
+
fileq check <file> docx, pptx, xlsx, pdf: problems a reader would meet, each
|
|
27
|
+
with its slide, page, cell or paragraph; exit 1 on an error
|
|
28
|
+
fileq render <file> [--pages 1-3] [--out <dir>]
|
|
29
|
+
pages or slides as PNG files, one path per line, for an
|
|
30
|
+
image reader (office formats need LibreOffice; all need
|
|
31
|
+
pdftoppm or mutool)
|
|
32
|
+
|
|
23
33
|
git diff, git show and git log -p on a document print its text, not "Binary
|
|
24
34
|
files differ": the sandbox names every derivable extension diff=fileq.
|
|
25
35
|
|
|
26
36
|
Not fileq's business: plain text (read it directly), the open web (webq),
|
|
27
37
|
files needing OCR or transcription (later tiers say so in their sidecars).
|
|
28
38
|
|
|
29
|
-
Exit codes: 0 content, 1 nothing derivable, 2 broken
|
|
39
|
+
Exit codes: 0 content, 1 nothing derivable (check: an error found), 2 broken
|
|
40
|
+
invocation or install (render: a tool it needs is missing).`;
|
|
30
41
|
|
|
31
42
|
export const app = buildApplication(
|
|
32
43
|
buildRouteMap({
|
|
33
44
|
routes: {
|
|
34
45
|
read: readCommand,
|
|
46
|
+
check: checkCommand,
|
|
47
|
+
render: renderCommand,
|
|
35
48
|
derive: deriveCommand,
|
|
36
|
-
sweep: sweepCommand,
|
|
37
49
|
gitAttributes: gitAttributesCommand,
|
|
38
50
|
},
|
|
39
51
|
defaultCommand: "read",
|