@publisle/research 0.3.0 → 0.3.2

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2026 VoidReg
3
+ Copyright (c) 2026 Publisle
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
@@ -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/VoidReg/publisle/blob/main/docs/guides/accessibility.md) for the UA-2 fixture
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,
@@ -1 +1 @@
1
- {"version":3,"file":"native-install.d.ts","sourceRoot":"","sources":["../src/native-install.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,uBAAuB,QAA0B,CAAC;AAC/D,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"}
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"}
@@ -6,7 +6,10 @@ import { readFile, realpath, stat } from "node:fs/promises";
6
6
  import { dirname, isAbsolute, relative, resolve, sep } from "node:path";
7
7
  import { parseJson, isPlainObject } from "@publisle/schema";
8
8
  const require = createRequire(import.meta.url);
9
- export const NATIVE_ARTIFACT_VERSION = researchPackage.version;
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.");
10
13
  export const NATIVE_PLATFORM_PACKAGES = {
11
14
  "linux-x64": "@publisle/pdf-native-linux-x64",
12
15
  "linux-arm64": "@publisle/pdf-native-linux-arm64",
@@ -29,7 +32,7 @@ export async function installedNativeCompiler() {
29
32
  if (!isPlainObject(manifest) ||
30
33
  manifest["name"] !== name ||
31
34
  manifest["version"] !== NATIVE_ARTIFACT_VERSION)
32
- throw new Error("Installed native PDF package version does not match Research.");
35
+ throw new Error("Installed native PDF package version does not match the pinned dependency.");
33
36
  const artifact = parseJson(await readFile(resolve(root, "artifact.json")), {
34
37
  maxBytes: 65536,
35
38
  maxDepth: 8,
@@ -1 +1 @@
1
- {"version":3,"file":"native-install.js","sourceRoot":"","sources":["../src/native-install.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"native-install.js","sourceRoot":"","sources":["../src/native-install.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ export interface NativeCompileOptions extends Omit<NativePdfOptions, "fonts" | "
11
11
  }
12
12
  export interface NativeCompilerDiagnostic extends ResearchLoss {
13
13
  readonly blockId?: string;
14
+ readonly blockIndex?: number;
14
15
  }
15
16
  export interface NativeCompileResult {
16
17
  readonly pdf: Uint8Array;
@@ -1 +1 @@
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"}
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;IAC1B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;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,CAyM9B"}
@@ -87,10 +87,27 @@ export async function compileNativePdf(document, options) {
87
87
  ? String(cause.stdout)
88
88
  : "";
89
89
  let message = "Native PDF compilation failed.";
90
+ let diagnostics = [];
90
91
  try {
91
92
  const error = JSON.parse(stdout);
92
- const detail = error.diagnostics
93
- ?.map((entry) => `${entry.code}${entry.blockIndex === undefined ? "" : ` (${source.blockIds[entry.blockIndex] ?? "unknown block"})`}: ${entry.message}`)
93
+ diagnostics = (error.diagnostics ?? [])
94
+ .slice(0, 30)
95
+ .filter((entry) => typeof entry.code === "string" &&
96
+ typeof entry.message === "string")
97
+ .map((entry) => ({
98
+ code: entry.code.slice(0, 100),
99
+ message: entry.message.slice(0, 300),
100
+ ...(typeof entry.blockIndex === "number" &&
101
+ Number.isSafeInteger(entry.blockIndex) &&
102
+ entry.blockIndex >= 0
103
+ ? {
104
+ blockIndex: entry.blockIndex,
105
+ blockId: source.blockIds[entry.blockIndex],
106
+ }
107
+ : {}),
108
+ }));
109
+ const detail = diagnostics
110
+ .map((entry) => `${entry.code}${entry.blockIndex === undefined ? "" : ` (${source.blockIds[entry.blockIndex] ?? "unknown block"})`}: ${entry.message}`)
94
111
  .join("\n");
95
112
  if (detail)
96
113
  message = detail;
@@ -98,7 +115,7 @@ export async function compileNativePdf(document, options) {
98
115
  catch {
99
116
  /* Preserve the bounded process failure when no structured result exists. */
100
117
  }
101
- throw new Error(message, { cause });
118
+ throw Object.assign(new Error(message, { cause }), { diagnostics });
102
119
  }
103
120
  const report = JSON.parse(stdout);
104
121
  if (report.ok !== true ||
@@ -1 +1 @@
1
- {"version":3,"file":"native-node.js","sourceRoot":"","sources":["../src/native-node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"native-node.js","sourceRoot":"","sources":["../src/native-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.0",
3
+ "version": "0.3.2",
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/contracts": "^0.1.2",
38
- "@publisle/profiles": "^0.1.2",
39
- "@publisle/schema": "^0.1.1",
40
- "@publisle/template-sdk": "^0.1.3",
41
- "@publisle/template-article": "^0.1.2"
37
+ "@publisle/contracts": "^0.1.3",
38
+ "@publisle/schema": "^0.1.2",
39
+ "@publisle/template-article": "^0.1.3",
40
+ "@publisle/template-sdk": "^0.1.5",
41
+ "@publisle/profiles": "^0.1.3"
42
42
  },
43
43
  "publishConfig": {
44
44
  "access": "public"
@@ -57,16 +57,16 @@
57
57
  },
58
58
  "repository": {
59
59
  "type": "git",
60
- "url": "git+https://github.com/VoidReg/publisle.git",
60
+ "url": "git+https://github.com/publisle/publisle.git",
61
61
  "directory": "packages/research"
62
62
  },
63
- "homepage": "https://github.com/VoidReg/publisle#readme",
63
+ "homepage": "https://github.com/publisle/publisle#readme",
64
64
  "optionalDependencies": {
65
- "@publisle/pdf-native-linux-x64": "0.3.0",
66
- "@publisle/pdf-native-linux-arm64": "0.3.0",
67
- "@publisle/pdf-native-darwin-x64": "0.3.0",
68
- "@publisle/pdf-native-win32-x64": "0.3.0",
69
- "@publisle/pdf-native-darwin-arm64": "0.3.0"
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
70
  },
71
71
  "types": "./dist/index.d.ts"
72
72
  }
@@ -6,7 +6,17 @@ import { readFile, realpath, stat } from "node:fs/promises";
6
6
  import { dirname, isAbsolute, relative, resolve, sep } from "node:path";
7
7
  import { parseJson, isPlainObject } from "@publisle/schema";
8
8
  const require = createRequire(import.meta.url);
9
- export const NATIVE_ARTIFACT_VERSION = researchPackage.version;
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
+ );
10
20
  export const NATIVE_PLATFORM_PACKAGES: Readonly<Record<string, string>> = {
11
21
  "linux-x64": "@publisle/pdf-native-linux-x64",
12
22
  "linux-arm64": "@publisle/pdf-native-linux-arm64",
@@ -40,7 +50,7 @@ export async function installedNativeCompiler(): Promise<InstalledNativeCompiler
40
50
  manifest["version"] !== NATIVE_ARTIFACT_VERSION
41
51
  )
42
52
  throw new Error(
43
- "Installed native PDF package version does not match Research.",
53
+ "Installed native PDF package version does not match the pinned dependency.",
44
54
  );
45
55
  const artifact = parseJson(await readFile(resolve(root, "artifact.json")), {
46
56
  maxBytes: 65536,
@@ -39,6 +39,7 @@ export interface NativeCompileOptions extends Omit<
39
39
  }
40
40
  export interface NativeCompilerDiagnostic extends ResearchLoss {
41
41
  readonly blockId?: string;
42
+ readonly blockIndex?: number;
42
43
  }
43
44
  export interface NativeCompileResult {
44
45
  readonly pdf: Uint8Array;
@@ -146,6 +147,7 @@ export async function compileNativePdf(
146
147
  ? String(cause.stdout)
147
148
  : "";
148
149
  let message = "Native PDF compilation failed.";
150
+ let diagnostics: NativeCompilerDiagnostic[] = [];
149
151
  try {
150
152
  const error = JSON.parse(stdout) as {
151
153
  diagnostics?: {
@@ -154,8 +156,27 @@ export async function compileNativePdf(
154
156
  blockIndex?: number;
155
157
  }[];
156
158
  };
157
- const detail = error.diagnostics
158
- ?.map(
159
+ diagnostics = (error.diagnostics ?? [])
160
+ .slice(0, 30)
161
+ .filter(
162
+ (entry) =>
163
+ typeof entry.code === "string" &&
164
+ typeof entry.message === "string",
165
+ )
166
+ .map((entry) => ({
167
+ code: entry.code.slice(0, 100),
168
+ message: entry.message.slice(0, 300),
169
+ ...(typeof entry.blockIndex === "number" &&
170
+ Number.isSafeInteger(entry.blockIndex) &&
171
+ entry.blockIndex >= 0
172
+ ? {
173
+ blockIndex: entry.blockIndex,
174
+ blockId: source.blockIds[entry.blockIndex],
175
+ }
176
+ : {}),
177
+ }));
178
+ const detail = diagnostics
179
+ .map(
159
180
  (entry) =>
160
181
  `${entry.code}${entry.blockIndex === undefined ? "" : ` (${source.blockIds[entry.blockIndex] ?? "unknown block"})`}: ${entry.message}`,
161
182
  )
@@ -164,7 +185,7 @@ export async function compileNativePdf(
164
185
  } catch {
165
186
  /* Preserve the bounded process failure when no structured result exists. */
166
187
  }
167
- throw new Error(message, { cause });
188
+ throw Object.assign(new Error(message, { cause }), { diagnostics });
168
189
  }
169
190
  const report = JSON.parse(stdout) as {
170
191
  ok?: boolean;