@publisle/research 0.2.0 → 0.3.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.
- package/LICENSE +1 -1
- package/README.md +3 -8
- package/compiler/README.md +1 -1
- package/dist/native-install.d.ts +9 -0
- package/dist/native-install.d.ts.map +1 -0
- package/dist/native-install.js +79 -0
- package/dist/native-install.js.map +1 -0
- package/dist/native-node.d.ts +2 -2
- package/dist/native-node.d.ts.map +1 -1
- package/dist/native-node.js +39 -7
- package/dist/native-node.js.map +1 -1
- package/dist/native.d.ts +4 -4
- package/dist/native.d.ts.map +1 -1
- package/dist/native.js +2 -2
- package/dist/native.js.map +1 -1
- package/dist/node.d.ts.map +1 -1
- package/dist/node.js +2 -1
- package/dist/node.js.map +1 -1
- package/package.json +15 -8
- package/src/native-install.ts +106 -0
- package/src/native-node.ts +61 -14
- package/src/native.ts +10 -5
- package/src/node.ts +2 -1
package/LICENSE
CHANGED
package/README.md
CHANGED
|
@@ -2,14 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
Citation resolution and BibTeX, CSL, LaTeX, JATS, and PDF export. Tooling only; readers must not import it.
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
- [Core standard](https://github.com/VoidReg/publisle/blob/main/docs/standards/README.md)
|
|
10
|
-
- [Quickstart and package usage](https://github.com/VoidReg/publisle#readme)
|
|
11
|
-
- [Distribution and release checklist](https://github.com/VoidReg/publisle/blob/main/docs/guides/releases.md)
|
|
12
|
-
- [Research export guide](https://github.com/VoidReg/publisle/blob/main/docs/guides/journal-export.md)
|
|
5
|
+
```sh
|
|
6
|
+
npm install @publisle/research
|
|
7
|
+
```
|
|
13
8
|
|
|
14
9
|
Research tooling is optional and is excluded from Core-only installations. Read any
|
|
15
10
|
included `NOTICE.md` for third-party licensing obligations.
|
package/compiler/README.md
CHANGED
|
@@ -47,7 +47,7 @@ package. Native execution retains `openin_any=p`. Both disable shell escape and
|
|
|
47
47
|
restrict output paths. Selection checks the LaTeX format before using a tagged
|
|
48
48
|
compiler.
|
|
49
49
|
Native tools remain supported; tagged output requires LaTeX 2025-11-01 or later.
|
|
50
|
-
See the [accessibility guide](https://github.com/
|
|
50
|
+
See the [accessibility guide](https://github.com/publisle/publisle/blob/main/docs/guides/accessibility.md) for the UA-2 fixture
|
|
51
51
|
gate and checksum-pinned veraPDF installation.
|
|
52
52
|
|
|
53
53
|
`cacert.pem` is the Mozilla CA bundle distributed by https://curl.se/ca/cacert.pem,
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare const NATIVE_ARTIFACT_VERSION: string;
|
|
2
|
+
export declare const NATIVE_PLATFORM_PACKAGES: Readonly<Record<string, string>>;
|
|
3
|
+
export interface InstalledNativeCompiler {
|
|
4
|
+
readonly executable: string;
|
|
5
|
+
readonly fontManifest: string;
|
|
6
|
+
readonly compilerVersion: string;
|
|
7
|
+
}
|
|
8
|
+
export declare function installedNativeCompiler(): Promise<InstalledNativeCompiler>;
|
|
9
|
+
//# sourceMappingURL=native-install.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"native-install.d.ts","sourceRoot":"","sources":["../src/native-install.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,uBAAuB,QACoC,CAAC;AAUzE,eAAO,MAAM,wBAAwB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAMrE,CAAC;AACF,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;CAClC;AACD,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,uBAAuB,CAAC,CA0EhF"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/** Locate a pinned, already installed native artifact. Never download at runtime. */
|
|
2
|
+
import { createHash } from "node:crypto";
|
|
3
|
+
import researchPackage from "../package.json" with { type: "json" };
|
|
4
|
+
import { createRequire } from "node:module";
|
|
5
|
+
import { readFile, realpath, stat } from "node:fs/promises";
|
|
6
|
+
import { dirname, isAbsolute, relative, resolve, sep } from "node:path";
|
|
7
|
+
import { parseJson, isPlainObject } from "@publisle/schema";
|
|
8
|
+
const require = createRequire(import.meta.url);
|
|
9
|
+
export const NATIVE_ARTIFACT_VERSION = researchPackage.optionalDependencies["@publisle/pdf-native-linux-x64"];
|
|
10
|
+
if (!/^\d+\.\d+\.\d+(?:-[a-zA-Z0-9.-]+)?$/u.test(NATIVE_ARTIFACT_VERSION) ||
|
|
11
|
+
!Object.values(researchPackage.optionalDependencies).every((version) => version === NATIVE_ARTIFACT_VERSION))
|
|
12
|
+
throw new Error("Native PDF dependencies must share one exact external version.");
|
|
13
|
+
export const NATIVE_PLATFORM_PACKAGES = {
|
|
14
|
+
"linux-x64": "@publisle/pdf-native-linux-x64",
|
|
15
|
+
"linux-arm64": "@publisle/pdf-native-linux-arm64",
|
|
16
|
+
"darwin-x64": "@publisle/pdf-native-darwin-x64",
|
|
17
|
+
"darwin-arm64": "@publisle/pdf-native-darwin-arm64",
|
|
18
|
+
"win32-x64": "@publisle/pdf-native-win32-x64",
|
|
19
|
+
};
|
|
20
|
+
export async function installedNativeCompiler() {
|
|
21
|
+
const name = NATIVE_PLATFORM_PACKAGES[`${process.platform}-${process.arch}`];
|
|
22
|
+
if (!name)
|
|
23
|
+
throw new Error(`Native PDF does not support ${process.platform}/${process.arch}. Configure an explicit compatible compiler and fonts.`);
|
|
24
|
+
let root;
|
|
25
|
+
try {
|
|
26
|
+
root = dirname(require.resolve(`${name}/package.json`));
|
|
27
|
+
}
|
|
28
|
+
catch {
|
|
29
|
+
throw new Error(`Missing ${name}@${NATIVE_ARTIFACT_VERSION}. Install that native package; optional dependencies may have been omitted. PDF compilation never downloads binaries.`);
|
|
30
|
+
}
|
|
31
|
+
const manifest = parseJson(await readFile(resolve(root, "package.json")));
|
|
32
|
+
if (!isPlainObject(manifest) ||
|
|
33
|
+
manifest["name"] !== name ||
|
|
34
|
+
manifest["version"] !== NATIVE_ARTIFACT_VERSION)
|
|
35
|
+
throw new Error("Installed native PDF package version does not match the pinned dependency.");
|
|
36
|
+
const artifact = parseJson(await readFile(resolve(root, "artifact.json")), {
|
|
37
|
+
maxBytes: 65536,
|
|
38
|
+
maxDepth: 8,
|
|
39
|
+
maxNodes: 512,
|
|
40
|
+
});
|
|
41
|
+
if (!isPlainObject(artifact) ||
|
|
42
|
+
artifact["schemaVersion"] !== 1 ||
|
|
43
|
+
artifact["inputSchemaVersion"] !== 1 ||
|
|
44
|
+
artifact["compilerVersion"] !== NATIVE_ARTIFACT_VERSION ||
|
|
45
|
+
artifact["platform"] !== process.platform ||
|
|
46
|
+
artifact["architecture"] !== process.arch ||
|
|
47
|
+
!isPlainObject(artifact["files"]))
|
|
48
|
+
throw new Error("Native artifact metadata is invalid or incompatible.");
|
|
49
|
+
const executable = process.platform === "win32" ? "bin/publisle-pdf.exe" : "bin/publisle-pdf";
|
|
50
|
+
const paths = Object.keys(artifact["files"]);
|
|
51
|
+
if (!paths.includes(executable) ||
|
|
52
|
+
!paths.includes("fonts.json") ||
|
|
53
|
+
paths.length > 64)
|
|
54
|
+
throw new Error("Native artifact inventory is incomplete.");
|
|
55
|
+
const base = await realpath(root);
|
|
56
|
+
for (const [file, digest] of Object.entries(artifact["files"])) {
|
|
57
|
+
if (typeof digest !== "string" ||
|
|
58
|
+
!/^[a-f0-9]{64}$/u.test(digest) ||
|
|
59
|
+
isAbsolute(file) ||
|
|
60
|
+
file.split(/[\\/]/u).includes(".."))
|
|
61
|
+
throw new Error("Invalid native artifact path or checksum.");
|
|
62
|
+
const path = await realpath(resolve(base, file));
|
|
63
|
+
const local = relative(base, path);
|
|
64
|
+
if (isAbsolute(local) ||
|
|
65
|
+
local === ".." ||
|
|
66
|
+
local.startsWith(`..${sep}`) ||
|
|
67
|
+
!(await stat(path)).isFile())
|
|
68
|
+
throw new Error("Native artifact escapes its package.");
|
|
69
|
+
const bytes = await readFile(path);
|
|
70
|
+
if (createHash("sha256").update(bytes).digest("hex") !== digest)
|
|
71
|
+
throw new Error(`Native artifact checksum mismatch: ${file}`);
|
|
72
|
+
}
|
|
73
|
+
return {
|
|
74
|
+
executable: resolve(base, executable),
|
|
75
|
+
fontManifest: resolve(base, "fonts.json"),
|
|
76
|
+
compilerVersion: NATIVE_ARTIFACT_VERSION,
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=native-install.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"native-install.js","sourceRoot":"","sources":["../src/native-install.ts"],"names":[],"mappings":"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"}
|
package/dist/native-node.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type Document } from "@publisle/schema";
|
|
1
|
+
import { type Block, type BlockType, type Document } from "@publisle/schema";
|
|
2
2
|
import { type NativeFont, type NativePdfOptions } from "./native.js";
|
|
3
3
|
import { type ResearchLoss } from "./article.js";
|
|
4
4
|
export interface NativeCompileOptions extends Omit<NativePdfOptions, "fonts" | "assets"> {
|
|
@@ -20,5 +20,5 @@ export interface NativeCompileResult {
|
|
|
20
20
|
readonly compilerVersion: string;
|
|
21
21
|
}
|
|
22
22
|
/** Explicit native compiler invocation. Automatic selection remains gated on parity. */
|
|
23
|
-
export declare function compileNativePdf(document: Document, options: NativeCompileOptions): Promise<NativeCompileResult>;
|
|
23
|
+
export declare function compileNativePdf(document: Document<Block<BlockType, unknown>>, options: NativeCompileOptions): Promise<NativeCompileResult>;
|
|
24
24
|
//# sourceMappingURL=native-node.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"native-node.d.ts","sourceRoot":"","sources":["../src/native-node.ts"],"names":[],"mappings":"AAYA,OAAO,
|
|
1
|
+
{"version":3,"file":"native-node.d.ts","sourceRoot":"","sources":["../src/native-node.ts"],"names":[],"mappings":"AAYA,OAAO,EAGL,KAAK,KAAK,EACV,KAAK,SAAS,EACd,KAAK,QAAQ,EACd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAEL,KAAK,UAAU,EACf,KAAK,gBAAgB,EACtB,oBAAoB;AACrB,OAAO,EAAkB,KAAK,YAAY,EAAE,qBAAqB;AAIjE,MAAM,WAAW,oBAAqB,SAAQ,IAAI,CAChD,gBAAgB,EAChB,OAAO,GAAG,QAAQ,CACnB;IACC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;IACvC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CAC/B;AACD,MAAM,WAAW,wBAAyB,SAAQ,YAAY;IAC5D,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AACD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC;IACzB,QAAQ,CAAC,WAAW,EAAE,SAAS,wBAAwB,EAAE,CAAC;IAC1D,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACnD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;CAClC;AAED,wFAAwF;AACxF,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,EAC7C,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,mBAAmB,CAAC,CAqL9B"}
|
package/dist/native-node.js
CHANGED
|
@@ -3,21 +3,27 @@ import { promisify } from "node:util";
|
|
|
3
3
|
import { mkdtemp, readFile, realpath, rm, stat, writeFile, } from "node:fs/promises";
|
|
4
4
|
import { tmpdir } from "node:os";
|
|
5
5
|
import { dirname, isAbsolute, join, relative, resolve, sep } from "node:path";
|
|
6
|
-
import { parseJson, isPlainObject } from "@publisle/schema";
|
|
6
|
+
import { parseJson, isPlainObject, } from "@publisle/schema";
|
|
7
7
|
import { createNativePdfPackage, } from "./native.js";
|
|
8
8
|
import { projectArticle } from "./article.js";
|
|
9
|
+
import { installedNativeCompiler } from "./native-install.js";
|
|
9
10
|
const execute = promisify(execFile);
|
|
10
11
|
/** Explicit native compiler invocation. Automatic selection remains gated on parity. */
|
|
11
12
|
export async function compileNativePdf(document, options) {
|
|
12
13
|
const timeout = options.timeoutMs ?? 180_000;
|
|
13
14
|
if (!Number.isSafeInteger(timeout) || timeout <= 0)
|
|
14
15
|
throw new Error("Compilation timeout must be a positive integer.");
|
|
15
|
-
const
|
|
16
|
+
const explicitExecutable = options.executable ?? process.env["PUBLISLE_NATIVE_COMPILER"];
|
|
17
|
+
const explicitManifest = options.fontManifest ?? process.env["PUBLISLE_NATIVE_FONTS"];
|
|
18
|
+
const installed = !explicitExecutable || (!options.fonts && !explicitManifest)
|
|
19
|
+
? await installedNativeCompiler()
|
|
20
|
+
: undefined;
|
|
21
|
+
const executable = explicitExecutable ?? installed?.executable;
|
|
16
22
|
if (!executable)
|
|
17
|
-
throw new Error("
|
|
23
|
+
throw new Error("A pinned native PDF compiler is required.");
|
|
18
24
|
let fonts = options.fonts;
|
|
19
25
|
if (!fonts) {
|
|
20
|
-
const manifest =
|
|
26
|
+
const manifest = explicitManifest ?? installed?.fontManifest;
|
|
21
27
|
if (!manifest)
|
|
22
28
|
throw new Error("Set PUBLISLE_NATIVE_FONTS to the pinned font manifest JSON file.");
|
|
23
29
|
const bytes = await readFile(manifest);
|
|
@@ -98,7 +104,22 @@ export async function compileNativePdf(document, options) {
|
|
|
98
104
|
if (report.ok !== true ||
|
|
99
105
|
typeof report.pages !== "number" ||
|
|
100
106
|
!Number.isSafeInteger(report.pages) ||
|
|
101
|
-
|
|
107
|
+
report.pages < 1 ||
|
|
108
|
+
report.pages > 300 ||
|
|
109
|
+
typeof report.compilerVersion !== "string" ||
|
|
110
|
+
report.compilerVersion.length === 0 ||
|
|
111
|
+
report.compilerVersion.length > 64 ||
|
|
112
|
+
(installed !== undefined &&
|
|
113
|
+
report.compilerVersion !== installed.compilerVersion) ||
|
|
114
|
+
(report.diagnostics !== undefined &&
|
|
115
|
+
(!Array.isArray(report.diagnostics) ||
|
|
116
|
+
report.diagnostics.length > 100 ||
|
|
117
|
+
report.diagnostics.some((entry) => !isPlainObject(entry) ||
|
|
118
|
+
typeof entry["code"] !== "string" ||
|
|
119
|
+
typeof entry["message"] !== "string"))) ||
|
|
120
|
+
(report.timings !== undefined &&
|
|
121
|
+
(!isPlainObject(report.timings) ||
|
|
122
|
+
Object.values(report.timings).some((value) => typeof value !== "number" || !Number.isFinite(value) || value < 0))))
|
|
102
123
|
throw new Error("Invalid native compiler report.");
|
|
103
124
|
const outputInfo = await stat(output);
|
|
104
125
|
if (outputInfo.size > 16 * 1024 * 1024)
|
|
@@ -106,10 +127,21 @@ export async function compileNativePdf(document, options) {
|
|
|
106
127
|
const pdf = new Uint8Array(await readFile(output));
|
|
107
128
|
if (new TextDecoder().decode(pdf.subarray(0, 5)) !== "%PDF-")
|
|
108
129
|
throw new Error("Native compiler returned an invalid PDF.");
|
|
130
|
+
const expectedHeader = source.input.pdfStandard === "ua-1"
|
|
131
|
+
? "%PDF-1.7"
|
|
132
|
+
: source.input.pdfStandard === "ua-2"
|
|
133
|
+
? "%PDF-2.0"
|
|
134
|
+
: undefined;
|
|
135
|
+
if (expectedHeader &&
|
|
136
|
+
new TextDecoder().decode(pdf.subarray(0, 8)) !== expectedHeader)
|
|
137
|
+
throw new Error("Native compiler returned the wrong PDF version for the requested standard.");
|
|
109
138
|
return {
|
|
110
139
|
pdf,
|
|
111
|
-
diagnostics: [
|
|
112
|
-
|
|
140
|
+
diagnostics: [
|
|
141
|
+
...source.diagnostics,
|
|
142
|
+
...(report.diagnostics ?? []),
|
|
143
|
+
],
|
|
144
|
+
timings: (report.timings ?? {}),
|
|
113
145
|
pages: report.pages,
|
|
114
146
|
compilerVersion: report.compilerVersion,
|
|
115
147
|
};
|
package/dist/native-node.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"native-node.js","sourceRoot":"","sources":["../src/native-node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EACL,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,EAAE,EACF,IAAI,EACJ,SAAS,GACV,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAC9E,OAAO,
|
|
1
|
+
{"version":3,"file":"native-node.js","sourceRoot":"","sources":["../src/native-node.ts"],"names":[],"mappings":"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"}
|
package/dist/native.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type Document } from "@publisle/schema";
|
|
1
|
+
import { type Block, type BlockType, type Document } from "@publisle/schema";
|
|
2
2
|
import { type ResolvedDocument } from "./resolve.js";
|
|
3
3
|
export declare const NATIVE_PDF_INPUT_VERSION: 1;
|
|
4
4
|
export declare const NATIVE_PDF_TEMPLATES: readonly ["article", "article-arabic", "ieee-journal", "acm-journal", "springer-journal", "elsevier-numeric", "elsevier-author-date"];
|
|
@@ -12,7 +12,7 @@ export interface NativePdfInput {
|
|
|
12
12
|
readonly schemaVersion: typeof NATIVE_PDF_INPUT_VERSION;
|
|
13
13
|
readonly template: NativePdfTemplate;
|
|
14
14
|
readonly templateVersion: string;
|
|
15
|
-
readonly pdfStandard: "ua-2" | null;
|
|
15
|
+
readonly pdfStandard: "ua-1" | "ua-2" | null;
|
|
16
16
|
readonly article: ResolvedDocument["article"] & {
|
|
17
17
|
readonly title: string;
|
|
18
18
|
};
|
|
@@ -30,7 +30,7 @@ export interface NativePdfInput {
|
|
|
30
30
|
export interface NativePdfOptions {
|
|
31
31
|
readonly template?: NativePdfTemplate;
|
|
32
32
|
readonly style?: string;
|
|
33
|
-
readonly pdfUa?: "ua-2" | false;
|
|
33
|
+
readonly pdfUa?: "ua-1" | "ua-2" | false;
|
|
34
34
|
readonly fonts: readonly NativeFont[];
|
|
35
35
|
readonly assets?: NativePdfInput["assets"];
|
|
36
36
|
readonly data?: {
|
|
@@ -44,5 +44,5 @@ export interface NativePdfPackage {
|
|
|
44
44
|
readonly diagnostics: ResolvedDocument["losses"];
|
|
45
45
|
}
|
|
46
46
|
/** Pure lowering shared by the website worker and Research CLI. No filesystem or network access. */
|
|
47
|
-
export declare function createNativePdfPackage(document: Document, options: NativePdfOptions): NativePdfPackage;
|
|
47
|
+
export declare function createNativePdfPackage(document: Document<Block<BlockType, unknown>>, options: NativePdfOptions): NativePdfPackage;
|
|
48
48
|
//# sourceMappingURL=native.d.ts.map
|
package/dist/native.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"native.d.ts","sourceRoot":"","sources":["../src/native.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"native.d.ts","sourceRoot":"","sources":["../src/native.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,KAAK,EACV,KAAK,SAAS,EACd,KAAK,QAAQ,EACd,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAmB,KAAK,gBAAgB,EAAE,qBAAqB;AAGtE,eAAO,MAAM,wBAAwB,EAAG,CAAU,CAAC;AACnD,eAAO,MAAM,oBAAoB,uIAQvB,CAAC;AACX,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AACtE,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;IACnE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AACD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,aAAa,EAAE,OAAO,wBAAwB,CAAC;IACxD,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACrC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC7C,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC,SAAS,CAAC,GAAG;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3E,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,YAAY,EAAE,gBAAgB,CAAC,cAAc,CAAC,CAAC;IACxD,QAAQ,CAAC,MAAM,EAAE,SAAS;QACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;KACvB,EAAE,CAAC;IACJ,QAAQ,CAAC,KAAK,EAAE,SAAS,UAAU,EAAE,CAAC;IACtC,QAAQ,CAAC,YAAY,EAAE;QAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACtD;AACD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IACtC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;IACzC,QAAQ,CAAC,KAAK,EAAE,SAAS,UAAU,EAAE,CAAC;IACtC,QAAQ,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;IAC3C,QAAQ,CAAC,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC/C;AACD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,uEAAuE;IACvE,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC;CAClD;AAED,oGAAoG;AACpG,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,EAC7C,OAAO,EAAE,gBAAgB,GACxB,gBAAgB,CA8FlB"}
|
package/dist/native.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { isPlainObject } from "@publisle/schema";
|
|
1
|
+
import { isPlainObject, } from "@publisle/schema";
|
|
2
2
|
import { citationClusters, projectArticle } from "./article.js";
|
|
3
3
|
import { resolveDocument } from "./resolve.js";
|
|
4
4
|
export const NATIVE_PDF_INPUT_VERSION = 1;
|
|
@@ -80,7 +80,7 @@ export function createNativePdfPackage(document, options) {
|
|
|
80
80
|
schemaVersion: NATIVE_PDF_INPUT_VERSION,
|
|
81
81
|
template,
|
|
82
82
|
templateVersion: "0.1.0-experimental",
|
|
83
|
-
pdfStandard: options.pdfUa === false ? null : "ua-2",
|
|
83
|
+
pdfStandard: options.pdfUa === false ? null : (options.pdfUa ?? "ua-2"),
|
|
84
84
|
article: { ...article, title: resolved.article.title },
|
|
85
85
|
citations: resolved.citations,
|
|
86
86
|
bibliography: resolved.bibliography,
|
package/dist/native.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"native.js","sourceRoot":"","sources":["../src/native.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"native.js","sourceRoot":"","sources":["../src/native.ts"],"names":[],"mappings":"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"}
|
package/dist/node.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"AAwBA,OAAO,EACL,gBAAgB,EAChB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACzB,yBAAyB;AAC1B,OAAO,EACL,gBAAgB,EAChB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,GACzB,CAAC;AACF,OAAO,KAAK,EAAE,YAAY,EAAE,qBAAqB;AACjD,OAAO,EAEL,KAAK,KAAK,EACV,KAAK,SAAS,EACd,KAAK,QAAQ,EACd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAsB,KAAK,mBAAmB,EAAE,qBAAqB;AAC5E,OAAO,KAAK,EAAE,YAAY,EAAE,qBAAqB;AAkCjD,MAAM,WAAW,mBAAmB;IAClC,kDAAkD;IAClD,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,0DAA0D;IAC1D,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,WAAW,CAAC;IACpD,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAClC;AACD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC;IAC9D,QAAQ,CAAC,WAAW,EAAE,SAAS,YAAY,EAAE,CAAC;CAC/C;AAsED,mFAAmF;AACnF,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,oBAAoB,CAAC,CA6N/B;AAED,yFAAyF;AACzF,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE;IACR,QAAQ,CAAC,KAAK,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC9C,QAAQ,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;CAChD,EACD,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,IAAI,CAAC,CAYf;AAGD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;
|
|
1
|
+
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"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"}
|
package/dist/node.js
CHANGED
|
@@ -336,7 +336,8 @@ async function taggingFormat(image) {
|
|
|
336
336
|
openin_any: "p",
|
|
337
337
|
openout_any: "p",
|
|
338
338
|
},
|
|
339
|
-
|
|
339
|
+
// Cold container startup can initialize LuaLaTeX caches.
|
|
340
|
+
timeout: image ? 60_000 : 15_000,
|
|
340
341
|
maxBuffer: 1024 * 1024,
|
|
341
342
|
});
|
|
342
343
|
const detected = /PUBLISLE-FORMAT:(\d{4}-\d{2}-\d{2})/u.exec(output.stdout)?.[1];
|
package/dist/node.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.js","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"node.js","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@publisle/research",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.1",
|
|
4
4
|
"description": "Citation resolution and BibTeX, CSL, LaTeX, JATS, and PDF export. Tooling only; readers must not import it.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"keywords": [
|
|
@@ -34,11 +34,11 @@
|
|
|
34
34
|
"dependencies": {
|
|
35
35
|
"citeproc": "2.4.63",
|
|
36
36
|
"fflate": "0.8.3",
|
|
37
|
-
"@publisle/
|
|
38
|
-
"@publisle/profiles": "^0.1.
|
|
39
|
-
"@publisle/
|
|
40
|
-
"@publisle/template-article": "^0.1.
|
|
41
|
-
"@publisle/
|
|
37
|
+
"@publisle/schema": "^0.1.2",
|
|
38
|
+
"@publisle/profiles": "^0.1.3",
|
|
39
|
+
"@publisle/template-sdk": "^0.1.4",
|
|
40
|
+
"@publisle/template-article": "^0.1.3",
|
|
41
|
+
"@publisle/contracts": "^0.1.3"
|
|
42
42
|
},
|
|
43
43
|
"publishConfig": {
|
|
44
44
|
"access": "public"
|
|
@@ -57,9 +57,16 @@
|
|
|
57
57
|
},
|
|
58
58
|
"repository": {
|
|
59
59
|
"type": "git",
|
|
60
|
-
"url": "git+https://github.com/
|
|
60
|
+
"url": "git+https://github.com/publisle/publisle.git",
|
|
61
61
|
"directory": "packages/research"
|
|
62
62
|
},
|
|
63
|
-
"homepage": "https://github.com/
|
|
63
|
+
"homepage": "https://github.com/publisle/publisle#readme",
|
|
64
|
+
"optionalDependencies": {
|
|
65
|
+
"@publisle/pdf-native-linux-x64": "0.3.1",
|
|
66
|
+
"@publisle/pdf-native-linux-arm64": "0.3.1",
|
|
67
|
+
"@publisle/pdf-native-darwin-x64": "0.3.1",
|
|
68
|
+
"@publisle/pdf-native-darwin-arm64": "0.3.1",
|
|
69
|
+
"@publisle/pdf-native-win32-x64": "0.3.1"
|
|
70
|
+
},
|
|
64
71
|
"types": "./dist/index.d.ts"
|
|
65
72
|
}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
/** Locate a pinned, already installed native artifact. Never download at runtime. */
|
|
2
|
+
import { createHash } from "node:crypto";
|
|
3
|
+
import researchPackage from "../package.json" with { type: "json" };
|
|
4
|
+
import { createRequire } from "node:module";
|
|
5
|
+
import { readFile, realpath, stat } from "node:fs/promises";
|
|
6
|
+
import { dirname, isAbsolute, relative, resolve, sep } from "node:path";
|
|
7
|
+
import { parseJson, isPlainObject } from "@publisle/schema";
|
|
8
|
+
const require = createRequire(import.meta.url);
|
|
9
|
+
export const NATIVE_ARTIFACT_VERSION =
|
|
10
|
+
researchPackage.optionalDependencies["@publisle/pdf-native-linux-x64"];
|
|
11
|
+
if (
|
|
12
|
+
!/^\d+\.\d+\.\d+(?:-[a-zA-Z0-9.-]+)?$/u.test(NATIVE_ARTIFACT_VERSION) ||
|
|
13
|
+
!Object.values(researchPackage.optionalDependencies).every(
|
|
14
|
+
(version) => version === NATIVE_ARTIFACT_VERSION,
|
|
15
|
+
)
|
|
16
|
+
)
|
|
17
|
+
throw new Error(
|
|
18
|
+
"Native PDF dependencies must share one exact external version.",
|
|
19
|
+
);
|
|
20
|
+
export const NATIVE_PLATFORM_PACKAGES: Readonly<Record<string, string>> = {
|
|
21
|
+
"linux-x64": "@publisle/pdf-native-linux-x64",
|
|
22
|
+
"linux-arm64": "@publisle/pdf-native-linux-arm64",
|
|
23
|
+
"darwin-x64": "@publisle/pdf-native-darwin-x64",
|
|
24
|
+
"darwin-arm64": "@publisle/pdf-native-darwin-arm64",
|
|
25
|
+
"win32-x64": "@publisle/pdf-native-win32-x64",
|
|
26
|
+
};
|
|
27
|
+
export interface InstalledNativeCompiler {
|
|
28
|
+
readonly executable: string;
|
|
29
|
+
readonly fontManifest: string;
|
|
30
|
+
readonly compilerVersion: string;
|
|
31
|
+
}
|
|
32
|
+
export async function installedNativeCompiler(): Promise<InstalledNativeCompiler> {
|
|
33
|
+
const name = NATIVE_PLATFORM_PACKAGES[`${process.platform}-${process.arch}`];
|
|
34
|
+
if (!name)
|
|
35
|
+
throw new Error(
|
|
36
|
+
`Native PDF does not support ${process.platform}/${process.arch}. Configure an explicit compatible compiler and fonts.`,
|
|
37
|
+
);
|
|
38
|
+
let root: string;
|
|
39
|
+
try {
|
|
40
|
+
root = dirname(require.resolve(`${name}/package.json`));
|
|
41
|
+
} catch {
|
|
42
|
+
throw new Error(
|
|
43
|
+
`Missing ${name}@${NATIVE_ARTIFACT_VERSION}. Install that native package; optional dependencies may have been omitted. PDF compilation never downloads binaries.`,
|
|
44
|
+
);
|
|
45
|
+
}
|
|
46
|
+
const manifest = parseJson(await readFile(resolve(root, "package.json")));
|
|
47
|
+
if (
|
|
48
|
+
!isPlainObject(manifest) ||
|
|
49
|
+
manifest["name"] !== name ||
|
|
50
|
+
manifest["version"] !== NATIVE_ARTIFACT_VERSION
|
|
51
|
+
)
|
|
52
|
+
throw new Error(
|
|
53
|
+
"Installed native PDF package version does not match the pinned dependency.",
|
|
54
|
+
);
|
|
55
|
+
const artifact = parseJson(await readFile(resolve(root, "artifact.json")), {
|
|
56
|
+
maxBytes: 65536,
|
|
57
|
+
maxDepth: 8,
|
|
58
|
+
maxNodes: 512,
|
|
59
|
+
});
|
|
60
|
+
if (
|
|
61
|
+
!isPlainObject(artifact) ||
|
|
62
|
+
artifact["schemaVersion"] !== 1 ||
|
|
63
|
+
artifact["inputSchemaVersion"] !== 1 ||
|
|
64
|
+
artifact["compilerVersion"] !== NATIVE_ARTIFACT_VERSION ||
|
|
65
|
+
artifact["platform"] !== process.platform ||
|
|
66
|
+
artifact["architecture"] !== process.arch ||
|
|
67
|
+
!isPlainObject(artifact["files"])
|
|
68
|
+
)
|
|
69
|
+
throw new Error("Native artifact metadata is invalid or incompatible.");
|
|
70
|
+
const executable =
|
|
71
|
+
process.platform === "win32" ? "bin/publisle-pdf.exe" : "bin/publisle-pdf";
|
|
72
|
+
const paths = Object.keys(artifact["files"]);
|
|
73
|
+
if (
|
|
74
|
+
!paths.includes(executable) ||
|
|
75
|
+
!paths.includes("fonts.json") ||
|
|
76
|
+
paths.length > 64
|
|
77
|
+
)
|
|
78
|
+
throw new Error("Native artifact inventory is incomplete.");
|
|
79
|
+
const base = await realpath(root);
|
|
80
|
+
for (const [file, digest] of Object.entries(artifact["files"])) {
|
|
81
|
+
if (
|
|
82
|
+
typeof digest !== "string" ||
|
|
83
|
+
!/^[a-f0-9]{64}$/u.test(digest) ||
|
|
84
|
+
isAbsolute(file) ||
|
|
85
|
+
file.split(/[\\/]/u).includes("..")
|
|
86
|
+
)
|
|
87
|
+
throw new Error("Invalid native artifact path or checksum.");
|
|
88
|
+
const path = await realpath(resolve(base, file));
|
|
89
|
+
const local = relative(base, path);
|
|
90
|
+
if (
|
|
91
|
+
isAbsolute(local) ||
|
|
92
|
+
local === ".." ||
|
|
93
|
+
local.startsWith(`..${sep}`) ||
|
|
94
|
+
!(await stat(path)).isFile()
|
|
95
|
+
)
|
|
96
|
+
throw new Error("Native artifact escapes its package.");
|
|
97
|
+
const bytes = await readFile(path);
|
|
98
|
+
if (createHash("sha256").update(bytes).digest("hex") !== digest)
|
|
99
|
+
throw new Error(`Native artifact checksum mismatch: ${file}`);
|
|
100
|
+
}
|
|
101
|
+
return {
|
|
102
|
+
executable: resolve(base, executable),
|
|
103
|
+
fontManifest: resolve(base, "fonts.json"),
|
|
104
|
+
compilerVersion: NATIVE_ARTIFACT_VERSION,
|
|
105
|
+
};
|
|
106
|
+
}
|
package/src/native-node.ts
CHANGED
|
@@ -10,7 +10,13 @@ import {
|
|
|
10
10
|
} from "node:fs/promises";
|
|
11
11
|
import { tmpdir } from "node:os";
|
|
12
12
|
import { dirname, isAbsolute, join, relative, resolve, sep } from "node:path";
|
|
13
|
-
import {
|
|
13
|
+
import {
|
|
14
|
+
parseJson,
|
|
15
|
+
isPlainObject,
|
|
16
|
+
type Block,
|
|
17
|
+
type BlockType,
|
|
18
|
+
type Document,
|
|
19
|
+
} from "@publisle/schema";
|
|
14
20
|
import {
|
|
15
21
|
createNativePdfPackage,
|
|
16
22
|
type NativeFont,
|
|
@@ -18,6 +24,7 @@ import {
|
|
|
18
24
|
} from "./native.ts";
|
|
19
25
|
import { projectArticle, type ResearchLoss } from "./article.ts";
|
|
20
26
|
|
|
27
|
+
import { installedNativeCompiler } from "./native-install.ts";
|
|
21
28
|
const execute = promisify(execFile);
|
|
22
29
|
export interface NativeCompileOptions extends Omit<
|
|
23
30
|
NativePdfOptions,
|
|
@@ -43,22 +50,25 @@ export interface NativeCompileResult {
|
|
|
43
50
|
|
|
44
51
|
/** Explicit native compiler invocation. Automatic selection remains gated on parity. */
|
|
45
52
|
export async function compileNativePdf(
|
|
46
|
-
document: Document,
|
|
53
|
+
document: Document<Block<BlockType, unknown>>,
|
|
47
54
|
options: NativeCompileOptions,
|
|
48
55
|
): Promise<NativeCompileResult> {
|
|
49
56
|
const timeout = options.timeoutMs ?? 180_000;
|
|
50
57
|
if (!Number.isSafeInteger(timeout) || timeout <= 0)
|
|
51
58
|
throw new Error("Compilation timeout must be a positive integer.");
|
|
52
|
-
const
|
|
59
|
+
const explicitExecutable =
|
|
53
60
|
options.executable ?? process.env["PUBLISLE_NATIVE_COMPILER"];
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
)
|
|
61
|
+
const explicitManifest =
|
|
62
|
+
options.fontManifest ?? process.env["PUBLISLE_NATIVE_FONTS"];
|
|
63
|
+
const installed =
|
|
64
|
+
!explicitExecutable || (!options.fonts && !explicitManifest)
|
|
65
|
+
? await installedNativeCompiler()
|
|
66
|
+
: undefined;
|
|
67
|
+
const executable = explicitExecutable ?? installed?.executable;
|
|
68
|
+
if (!executable) throw new Error("A pinned native PDF compiler is required.");
|
|
58
69
|
let fonts = options.fonts;
|
|
59
70
|
if (!fonts) {
|
|
60
|
-
const manifest =
|
|
61
|
-
options.fontManifest ?? process.env["PUBLISLE_NATIVE_FONTS"];
|
|
71
|
+
const manifest = explicitManifest ?? installed?.fontManifest;
|
|
62
72
|
if (!manifest)
|
|
63
73
|
throw new Error(
|
|
64
74
|
"Set PUBLISLE_NATIVE_FONTS to the pinned font manifest JSON file.",
|
|
@@ -160,14 +170,35 @@ export async function compileNativePdf(
|
|
|
160
170
|
ok?: boolean;
|
|
161
171
|
compilerVersion?: string;
|
|
162
172
|
pages?: number;
|
|
163
|
-
diagnostics?:
|
|
164
|
-
timings?:
|
|
173
|
+
diagnostics?: unknown;
|
|
174
|
+
timings?: unknown;
|
|
165
175
|
};
|
|
166
176
|
if (
|
|
167
177
|
report.ok !== true ||
|
|
168
178
|
typeof report.pages !== "number" ||
|
|
169
179
|
!Number.isSafeInteger(report.pages) ||
|
|
170
|
-
|
|
180
|
+
report.pages < 1 ||
|
|
181
|
+
report.pages > 300 ||
|
|
182
|
+
typeof report.compilerVersion !== "string" ||
|
|
183
|
+
report.compilerVersion.length === 0 ||
|
|
184
|
+
report.compilerVersion.length > 64 ||
|
|
185
|
+
(installed !== undefined &&
|
|
186
|
+
report.compilerVersion !== installed.compilerVersion) ||
|
|
187
|
+
(report.diagnostics !== undefined &&
|
|
188
|
+
(!Array.isArray(report.diagnostics) ||
|
|
189
|
+
report.diagnostics.length > 100 ||
|
|
190
|
+
report.diagnostics.some(
|
|
191
|
+
(entry) =>
|
|
192
|
+
!isPlainObject(entry) ||
|
|
193
|
+
typeof entry["code"] !== "string" ||
|
|
194
|
+
typeof entry["message"] !== "string",
|
|
195
|
+
))) ||
|
|
196
|
+
(report.timings !== undefined &&
|
|
197
|
+
(!isPlainObject(report.timings) ||
|
|
198
|
+
Object.values(report.timings).some(
|
|
199
|
+
(value) =>
|
|
200
|
+
typeof value !== "number" || !Number.isFinite(value) || value < 0,
|
|
201
|
+
)))
|
|
171
202
|
)
|
|
172
203
|
throw new Error("Invalid native compiler report.");
|
|
173
204
|
const outputInfo = await stat(output);
|
|
@@ -176,10 +207,26 @@ export async function compileNativePdf(
|
|
|
176
207
|
const pdf = new Uint8Array(await readFile(output));
|
|
177
208
|
if (new TextDecoder().decode(pdf.subarray(0, 5)) !== "%PDF-")
|
|
178
209
|
throw new Error("Native compiler returned an invalid PDF.");
|
|
210
|
+
const expectedHeader =
|
|
211
|
+
source.input.pdfStandard === "ua-1"
|
|
212
|
+
? "%PDF-1.7"
|
|
213
|
+
: source.input.pdfStandard === "ua-2"
|
|
214
|
+
? "%PDF-2.0"
|
|
215
|
+
: undefined;
|
|
216
|
+
if (
|
|
217
|
+
expectedHeader &&
|
|
218
|
+
new TextDecoder().decode(pdf.subarray(0, 8)) !== expectedHeader
|
|
219
|
+
)
|
|
220
|
+
throw new Error(
|
|
221
|
+
"Native compiler returned the wrong PDF version for the requested standard.",
|
|
222
|
+
);
|
|
179
223
|
return {
|
|
180
224
|
pdf,
|
|
181
|
-
diagnostics: [
|
|
182
|
-
|
|
225
|
+
diagnostics: [
|
|
226
|
+
...source.diagnostics,
|
|
227
|
+
...((report.diagnostics ?? []) as ResearchLoss[]),
|
|
228
|
+
],
|
|
229
|
+
timings: (report.timings ?? {}) as Record<string, number>,
|
|
183
230
|
pages: report.pages,
|
|
184
231
|
compilerVersion: report.compilerVersion,
|
|
185
232
|
};
|
package/src/native.ts
CHANGED
|
@@ -1,4 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
isPlainObject,
|
|
3
|
+
type Block,
|
|
4
|
+
type BlockType,
|
|
5
|
+
type Document,
|
|
6
|
+
} from "@publisle/schema";
|
|
2
7
|
import { citationClusters, projectArticle } from "./article.ts";
|
|
3
8
|
import { resolveDocument, type ResolvedDocument } from "./resolve.ts";
|
|
4
9
|
import type { ArticleBlock, ArticleInline } from "./article.ts";
|
|
@@ -23,7 +28,7 @@ export interface NativePdfInput {
|
|
|
23
28
|
readonly schemaVersion: typeof NATIVE_PDF_INPUT_VERSION;
|
|
24
29
|
readonly template: NativePdfTemplate;
|
|
25
30
|
readonly templateVersion: string;
|
|
26
|
-
readonly pdfStandard: "ua-2" | null;
|
|
31
|
+
readonly pdfStandard: "ua-1" | "ua-2" | null;
|
|
27
32
|
readonly article: ResolvedDocument["article"] & { readonly title: string };
|
|
28
33
|
readonly citations: readonly string[];
|
|
29
34
|
readonly bibliography: ResolvedDocument["bibliography"];
|
|
@@ -37,7 +42,7 @@ export interface NativePdfInput {
|
|
|
37
42
|
export interface NativePdfOptions {
|
|
38
43
|
readonly template?: NativePdfTemplate;
|
|
39
44
|
readonly style?: string;
|
|
40
|
-
readonly pdfUa?: "ua-2" | false;
|
|
45
|
+
readonly pdfUa?: "ua-1" | "ua-2" | false;
|
|
41
46
|
readonly fonts: readonly NativeFont[];
|
|
42
47
|
readonly assets?: NativePdfInput["assets"];
|
|
43
48
|
readonly data?: { readonly country?: string };
|
|
@@ -51,7 +56,7 @@ export interface NativePdfPackage {
|
|
|
51
56
|
|
|
52
57
|
/** Pure lowering shared by the website worker and Research CLI. No filesystem or network access. */
|
|
53
58
|
export function createNativePdfPackage(
|
|
54
|
-
document: Document,
|
|
59
|
+
document: Document<Block<BlockType, unknown>>,
|
|
55
60
|
options: NativePdfOptions,
|
|
56
61
|
): NativePdfPackage {
|
|
57
62
|
const template = options.template ?? "article";
|
|
@@ -136,7 +141,7 @@ export function createNativePdfPackage(
|
|
|
136
141
|
schemaVersion: NATIVE_PDF_INPUT_VERSION,
|
|
137
142
|
template,
|
|
138
143
|
templateVersion: "0.1.0-experimental",
|
|
139
|
-
pdfStandard: options.pdfUa === false ? null : "ua-2",
|
|
144
|
+
pdfStandard: options.pdfUa === false ? null : (options.pdfUa ?? "ua-2"),
|
|
140
145
|
article: { ...article, title: resolved.article.title },
|
|
141
146
|
citations: resolved.citations,
|
|
142
147
|
bibliography: resolved.bibliography,
|
package/src/node.ts
CHANGED
|
@@ -460,7 +460,8 @@ async function taggingFormat(image?: string): Promise<string | undefined> {
|
|
|
460
460
|
openin_any: "p",
|
|
461
461
|
openout_any: "p",
|
|
462
462
|
},
|
|
463
|
-
|
|
463
|
+
// Cold container startup can initialize LuaLaTeX caches.
|
|
464
|
+
timeout: image ? 60_000 : 15_000,
|
|
464
465
|
maxBuffer: 1024 * 1024,
|
|
465
466
|
},
|
|
466
467
|
);
|