@yadsh/dsh-qa-surface 0.6.0 → 0.7.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/README.md +148 -9
- package/capability-policy.json +1 -1
- package/cordis.patch.yml +2 -1
- package/lib/access/capability-catalog.js +144 -0
- package/lib/access/capability-catalog.js.map +1 -0
- package/lib/access/model.js +379 -0
- package/lib/access/model.js.map +1 -0
- package/lib/access/role-repository.js +195 -0
- package/lib/access/role-repository.js.map +1 -0
- package/lib/access/service.js +380 -0
- package/lib/access/service.js.map +1 -0
- package/lib/access/skill-metadata.js +234 -0
- package/lib/access/skill-metadata.js.map +1 -0
- package/lib/account-remotes.js +20 -10
- package/lib/account-remotes.js.map +1 -1
- package/lib/accounts/errors.js.map +1 -1
- package/lib/accounts/file.js.map +1 -1
- package/lib/accounts/store.js +202 -3
- package/lib/accounts/store.js.map +1 -1
- package/lib/admin/conversation-log.js +256 -0
- package/lib/admin/conversation-log.js.map +1 -0
- package/lib/admin/index.js +17 -0
- package/lib/admin/index.js.map +1 -0
- package/lib/admin/metrics.js +103 -0
- package/lib/admin/metrics.js.map +1 -0
- package/lib/admin/paging.js +23 -0
- package/lib/admin/paging.js.map +1 -0
- package/lib/admin/permissions.js +50 -0
- package/lib/admin/permissions.js.map +1 -0
- package/lib/admin/quality-store.js +485 -0
- package/lib/admin/quality-store.js.map +1 -0
- package/lib/admin/queue.js +107 -0
- package/lib/admin/queue.js.map +1 -0
- package/lib/admin/redaction.js +45 -0
- package/lib/admin/redaction.js.map +1 -0
- package/lib/admin/service.js +897 -0
- package/lib/admin/service.js.map +1 -0
- package/lib/admin/session-log.js +142 -0
- package/lib/admin/session-log.js.map +1 -0
- package/lib/attestation.js +6 -0
- package/lib/attestation.js.map +1 -1
- package/lib/cli.js +9 -6
- package/lib/cli.js.map +1 -1
- package/lib/client/QaSessionController.js +65 -15
- package/lib/client/QaSessionController.js.map +1 -1
- package/lib/client/QaSurface.js +144 -6
- package/lib/client/QaSurface.js.map +1 -1
- package/lib/client/QaTranscriptAdapter.js +1 -0
- package/lib/client/QaTranscriptAdapter.js.map +1 -1
- package/lib/client/admin/QaAdmin.js +458 -0
- package/lib/client/admin/QaAdmin.js.map +1 -0
- package/lib/client/admin/format.js +177 -0
- package/lib/client/admin/format.js.map +1 -0
- package/lib/client/admin/pages/Conversations.js +114 -0
- package/lib/client/admin/pages/Conversations.js.map +1 -0
- package/lib/client/admin/pages/Overview.js +24 -0
- package/lib/client/admin/pages/Overview.js.map +1 -0
- package/lib/client/admin/pages/Quality.js +71 -0
- package/lib/client/admin/pages/Quality.js.map +1 -0
- package/lib/client/admin/pages/Review.js +93 -0
- package/lib/client/admin/pages/Review.js.map +1 -0
- package/lib/client/admin/pages/Users.js +95 -0
- package/lib/client/admin/pages/Users.js.map +1 -0
- package/lib/client/admin/routes.js +127 -0
- package/lib/client/admin/routes.js.map +1 -0
- package/lib/client/admin/shared.js +91 -0
- package/lib/client/admin/shared.js.map +1 -0
- package/lib/client/admin/styles.js +111 -0
- package/lib/client/admin/styles.js.map +1 -0
- package/lib/client/attestation.js +14 -2
- package/lib/client/attestation.js.map +1 -1
- package/lib/client/components/QaChangelog.js +48 -0
- package/lib/client/components/QaChangelog.js.map +1 -1
- package/lib/client/components/QaHeader.js +3 -3
- package/lib/client/components/QaHeader.js.map +1 -1
- package/lib/client/components/QaMessage.js +61 -2
- package/lib/client/components/QaMessage.js.map +1 -1
- package/lib/client/create-session.js +1 -1
- package/lib/client/create-session.js.map +1 -1
- package/lib/client/index.js +33 -1
- package/lib/client/index.js.map +1 -1
- package/lib/client/project-session-state.js +10 -5
- package/lib/client/project-session-state.js.map +1 -1
- package/lib/client/role/RoleSelector.js +31 -0
- package/lib/client/role/RoleSelector.js.map +1 -0
- package/lib/client/session-sources.js +37 -1
- package/lib/client/session-sources.js.map +1 -1
- package/lib/client/settings/card.js +2 -2
- package/lib/client/settings/card.js.map +1 -1
- package/lib/client/settings/sections.js +0 -1
- package/lib/client/settings/sections.js.map +1 -1
- package/lib/client/styles.js +32 -0
- package/lib/client/styles.js.map +1 -1
- package/lib/client/types.js +1 -0
- package/lib/client/types.js.map +1 -1
- package/lib/client.js +10786 -5684
- package/lib/client.js.map +1 -1
- package/lib/config-resolvers/defaults.js +0 -2
- package/lib/config-resolvers/defaults.js.map +1 -1
- package/lib/config.js +0 -249
- package/lib/config.js.map +1 -1
- package/lib/enforcement/skill-policy.js +172 -0
- package/lib/enforcement/skill-policy.js.map +1 -0
- package/lib/enforcement/tool-grants.js +151 -0
- package/lib/enforcement/tool-grants.js.map +1 -0
- package/lib/index.js +230 -44
- package/lib/index.js.map +1 -1
- package/lib/personal-skills/service.js +10 -3
- package/lib/personal-skills/service.js.map +1 -1
- package/lib/qa-tools/index.js +4 -0
- package/lib/qa-tools/index.js.map +1 -1
- package/lib/resolve-config.js +0 -2
- package/lib/resolve-config.js.map +1 -1
- package/lib/secure-session.js +111 -32
- package/lib/secure-session.js.map +1 -1
- package/lib/typert.host.js +2237 -202
- package/lib/typert.remote-client.d.ts +49 -3
- package/lib/typert.remote-client.js +1863 -183
- package/lib/types/access/capability-catalog.d.ts +37 -0
- package/lib/types/access/model.d.ts +60 -0
- package/lib/types/access/role-repository.d.ts +32 -0
- package/lib/types/access/service.d.ts +57 -0
- package/lib/types/access/skill-metadata.d.ts +53 -0
- package/lib/types/account-remotes.d.ts +6 -0
- package/lib/types/accounts/errors.d.ts +1 -1
- package/lib/types/accounts/file.d.ts +16 -5
- package/lib/types/accounts/store.d.ts +83 -3
- package/lib/types/admin/conversation-log.d.ts +39 -0
- package/lib/types/admin/index.d.ts +24 -0
- package/lib/types/admin/metrics.d.ts +29 -0
- package/lib/types/admin/paging.d.ts +33 -0
- package/lib/types/admin/permissions.d.ts +10 -0
- package/lib/types/admin/quality-store.d.ts +82 -0
- package/lib/types/admin/queue.d.ts +21 -0
- package/lib/types/admin/redaction.d.ts +29 -0
- package/lib/types/admin/service.d.ts +105 -0
- package/lib/types/admin/session-log.d.ts +53 -0
- package/lib/types/attestation.d.ts +2 -0
- package/lib/types/client/QaSessionController.d.ts +14 -1
- package/lib/types/client/QaSurface.d.ts +7 -1
- package/lib/types/client/admin/QaAdmin.d.ts +17 -0
- package/lib/types/client/admin/format.d.ts +43 -0
- package/lib/types/client/admin/pages/Conversations.d.ts +21 -0
- package/lib/types/client/admin/pages/Overview.d.ts +13 -0
- package/lib/types/client/admin/pages/Quality.d.ts +18 -0
- package/lib/types/client/admin/pages/Review.d.ts +15 -0
- package/lib/types/client/admin/pages/Users.d.ts +22 -0
- package/lib/types/client/admin/routes.d.ts +50 -0
- package/lib/types/client/admin/shared.d.ts +53 -0
- package/lib/types/client/admin/styles.d.ts +11 -0
- package/lib/types/client/attestation.d.ts +8 -1
- package/lib/types/client/components/QaHeader.d.ts +5 -1
- package/lib/types/client/components/QaMessage.d.ts +14 -1
- package/lib/types/client/create-session.d.ts +2 -0
- package/lib/types/client/project-session-state.d.ts +2 -0
- package/lib/types/client/role/RoleSelector.d.ts +14 -0
- package/lib/types/client/session-sources.d.ts +9 -0
- package/lib/types/client/settings/sections.d.ts +0 -1
- package/lib/types/client/types.d.ts +39 -2
- package/lib/types/enforcement/skill-policy.d.ts +29 -0
- package/lib/types/enforcement/tool-grants.d.ts +84 -0
- package/lib/types/index.d.ts +62 -14
- package/lib/types/qa-tools/index.d.ts +2 -0
- package/lib/types/secure-session.d.ts +19 -1
- package/lib/types/types.d.ts +574 -5
- package/package.json +3 -3
- package/lib/client/settings/sections/documents.js +0 -88
- package/lib/client/settings/sections/documents.js.map +0 -1
- package/lib/documents/artifacts/ids.js +0 -43
- package/lib/documents/artifacts/ids.js.map +0 -1
- package/lib/documents/artifacts/manifest.js +0 -66
- package/lib/documents/artifacts/manifest.js.map +0 -1
- package/lib/documents/artifacts/store.js +0 -169
- package/lib/documents/artifacts/store.js.map +0 -1
- package/lib/documents/capabilities.js +0 -93
- package/lib/documents/capabilities.js.map +0 -1
- package/lib/documents/config.js +0 -302
- package/lib/documents/config.js.map +0 -1
- package/lib/documents/defaults.js +0 -78
- package/lib/documents/defaults.js.map +0 -1
- package/lib/documents/errors.js +0 -101
- package/lib/documents/errors.js.map +0 -1
- package/lib/documents/index.js +0 -80
- package/lib/documents/index.js.map +0 -1
- package/lib/documents/inspect/facts.js +0 -161
- package/lib/documents/inspect/facts.js.map +0 -1
- package/lib/documents/inspect/zip.js +0 -108
- package/lib/documents/inspect/zip.js.map +0 -1
- package/lib/documents/markdown/directives.js +0 -135
- package/lib/documents/markdown/directives.js.map +0 -1
- package/lib/documents/markdown/frontmatter.js +0 -35
- package/lib/documents/markdown/frontmatter.js.map +0 -1
- package/lib/documents/markdown/normalize.js +0 -113
- package/lib/documents/markdown/normalize.js.map +0 -1
- package/lib/documents/orchestrator/assets.js +0 -243
- package/lib/documents/orchestrator/assets.js.map +0 -1
- package/lib/documents/orchestrator/convert-document.js +0 -186
- package/lib/documents/orchestrator/convert-document.js.map +0 -1
- package/lib/documents/orchestrator/create-document.js +0 -292
- package/lib/documents/orchestrator/create-document.js.map +0 -1
- package/lib/documents/orchestrator/extract-document.js +0 -162
- package/lib/documents/orchestrator/extract-document.js.map +0 -1
- package/lib/documents/orchestrator/inspect-document.js +0 -89
- package/lib/documents/orchestrator/inspect-document.js.map +0 -1
- package/lib/documents/orchestrator/runtime-deps.js +0 -59
- package/lib/documents/orchestrator/runtime-deps.js.map +0 -1
- package/lib/documents/orchestrator/scope.js +0 -132
- package/lib/documents/orchestrator/scope.js.map +0 -1
- package/lib/documents/providers/docling.js +0 -247
- package/lib/documents/providers/docling.js.map +0 -1
- package/lib/documents/providers/libreoffice.js +0 -130
- package/lib/documents/providers/libreoffice.js.map +0 -1
- package/lib/documents/providers/markitdown.js +0 -89
- package/lib/documents/providers/markitdown.js.map +0 -1
- package/lib/documents/providers/pandoc.js +0 -161
- package/lib/documents/providers/pandoc.js.map +0 -1
- package/lib/documents/providers/process.js +0 -164
- package/lib/documents/providers/process.js.map +0 -1
- package/lib/documents/providers/registry.js +0 -152
- package/lib/documents/providers/registry.js.map +0 -1
- package/lib/documents/providers/shared.js +0 -75
- package/lib/documents/providers/shared.js.map +0 -1
- package/lib/documents/runtime.js +0 -114
- package/lib/documents/runtime.js.map +0 -1
- package/lib/documents/security/file-types.js +0 -188
- package/lib/documents/security/file-types.js.map +0 -1
- package/lib/documents/security/limits.js +0 -78
- package/lib/documents/security/limits.js.map +0 -1
- package/lib/documents/security/mime.js +0 -43
- package/lib/documents/security/mime.js.map +0 -1
- package/lib/documents/security/paths.js +0 -133
- package/lib/documents/security/paths.js.map +0 -1
- package/lib/documents/templates/registry.js +0 -147
- package/lib/documents/templates/registry.js.map +0 -1
- package/lib/documents/templates/resolver.js +0 -59
- package/lib/documents/templates/resolver.js.map +0 -1
- package/lib/documents/tools/convert.js +0 -125
- package/lib/documents/tools/convert.js.map +0 -1
- package/lib/documents/tools/create.js +0 -187
- package/lib/documents/tools/create.js.map +0 -1
- package/lib/documents/tools/index.js +0 -41
- package/lib/documents/tools/index.js.map +0 -1
- package/lib/documents/tools/inspect.js +0 -135
- package/lib/documents/tools/inspect.js.map +0 -1
- package/lib/documents/tools/shared.js +0 -88
- package/lib/documents/tools/shared.js.map +0 -1
- package/lib/documents/tools/to-markdown.js +0 -125
- package/lib/documents/tools/to-markdown.js.map +0 -1
- package/lib/documents/types.js +0 -12
- package/lib/documents/types.js.map +0 -1
- package/lib/types/client/settings/sections/documents.d.ts +0 -13
- package/lib/types/documents/artifacts/ids.d.ts +0 -14
- package/lib/types/documents/artifacts/manifest.d.ts +0 -32
- package/lib/types/documents/artifacts/store.d.ts +0 -67
- package/lib/types/documents/capabilities.d.ts +0 -32
- package/lib/types/documents/config.d.ts +0 -27
- package/lib/types/documents/defaults.d.ts +0 -161
- package/lib/types/documents/errors.d.ts +0 -42
- package/lib/types/documents/index.d.ts +0 -63
- package/lib/types/documents/inspect/facts.d.ts +0 -43
- package/lib/types/documents/inspect/zip.d.ts +0 -28
- package/lib/types/documents/markdown/directives.d.ts +0 -39
- package/lib/types/documents/markdown/frontmatter.d.ts +0 -15
- package/lib/types/documents/markdown/normalize.d.ts +0 -30
- package/lib/types/documents/orchestrator/assets.d.ts +0 -55
- package/lib/types/documents/orchestrator/convert-document.d.ts +0 -25
- package/lib/types/documents/orchestrator/create-document.d.ts +0 -18
- package/lib/types/documents/orchestrator/extract-document.d.ts +0 -24
- package/lib/types/documents/orchestrator/inspect-document.d.ts +0 -12
- package/lib/types/documents/orchestrator/runtime-deps.d.ts +0 -43
- package/lib/types/documents/orchestrator/scope.d.ts +0 -52
- package/lib/types/documents/providers/docling.d.ts +0 -54
- package/lib/types/documents/providers/libreoffice.d.ts +0 -40
- package/lib/types/documents/providers/markitdown.d.ts +0 -28
- package/lib/types/documents/providers/pandoc.d.ts +0 -42
- package/lib/types/documents/providers/process.d.ts +0 -54
- package/lib/types/documents/providers/registry.d.ts +0 -68
- package/lib/types/documents/providers/shared.d.ts +0 -27
- package/lib/types/documents/runtime.d.ts +0 -59
- package/lib/types/documents/security/file-types.d.ts +0 -39
- package/lib/types/documents/security/limits.d.ts +0 -24
- package/lib/types/documents/security/mime.d.ts +0 -13
- package/lib/types/documents/security/paths.d.ts +0 -38
- package/lib/types/documents/templates/registry.d.ts +0 -50
- package/lib/types/documents/templates/resolver.d.ts +0 -30
- package/lib/types/documents/tools/convert.d.ts +0 -9
- package/lib/types/documents/tools/create.d.ts +0 -14
- package/lib/types/documents/tools/index.d.ts +0 -33
- package/lib/types/documents/tools/inspect.d.ts +0 -9
- package/lib/types/documents/tools/shared.d.ts +0 -77
- package/lib/types/documents/tools/to-markdown.d.ts +0 -12
- package/lib/types/documents/types.d.ts +0 -294
package/lib/documents/config.js
DELETED
|
@@ -1,302 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Configuration of the document subsystem (§20).
|
|
3
|
-
*
|
|
4
|
-
* The subsystem is part of the `qa-surface` namespace, so this resolver
|
|
5
|
-
* follows the same shape as the other domains: it normalizes, validates and
|
|
6
|
-
* freezes, and the schema in `src/config.ts` takes every default from
|
|
7
|
-
* {@link DEFAULT_QA_DOCUMENTS_CONFIG} so an untouched deployment sends the
|
|
8
|
-
* resolver nothing at all.
|
|
9
|
-
*
|
|
10
|
-
* Environment overrides are applied in `applyDocumentsEnvOverrides`, on the
|
|
11
|
-
* way into the plugin, and only for the documented variables — a deployment
|
|
12
|
-
* that injects secrets into the process environment does not thereby get to
|
|
13
|
-
* reconfigure the pipeline.
|
|
14
|
-
*/
|
|
15
|
-
import { DEFAULT_QA_DOCUMENTS_CONFIG, } from "./defaults.js";
|
|
16
|
-
import { DocumentError } from "./errors.js";
|
|
17
|
-
export { DEFAULT_QA_DOCUMENTS_CONFIG, } from "./defaults.js";
|
|
18
|
-
const MS_PER_MINUTE = 60_000;
|
|
19
|
-
/**
|
|
20
|
-
* Absolute-path test for the configuration surface.
|
|
21
|
-
*
|
|
22
|
-
* A hand-rolled check rather than `node:path.isAbsolute`: the schema that reads
|
|
23
|
-
* these defaults is bundled into the browser settings page, and the page cannot
|
|
24
|
-
* load a Node builtin. Only absolute paths are accepted, so there is nothing to
|
|
25
|
-
* resolve here — canonicalization happens host-side, when the path is used.
|
|
26
|
-
*/
|
|
27
|
-
function isAbsolutePath(value) {
|
|
28
|
-
return (/^[A-Za-z]:[\\/]/u.test(value) ||
|
|
29
|
-
value.startsWith("/") ||
|
|
30
|
-
value.startsWith("\\\\"));
|
|
31
|
-
}
|
|
32
|
-
function readBoolean(value, fallback) {
|
|
33
|
-
return typeof value === "boolean" ? value : fallback;
|
|
34
|
-
}
|
|
35
|
-
function readInteger(value, fallback, bounds, label) {
|
|
36
|
-
if (value === undefined || value === null)
|
|
37
|
-
return fallback;
|
|
38
|
-
if (typeof value !== "number" || !Number.isFinite(value)) {
|
|
39
|
-
throw new DocumentError("INVALID_INPUT", `${label} must be a number`);
|
|
40
|
-
}
|
|
41
|
-
const rounded = Math.round(value);
|
|
42
|
-
if (rounded < bounds.min || rounded > bounds.max) {
|
|
43
|
-
throw new DocumentError("INVALID_INPUT", `${label} must be between ${bounds.min} and ${bounds.max}`, { details: { label, value } });
|
|
44
|
-
}
|
|
45
|
-
return rounded;
|
|
46
|
-
}
|
|
47
|
-
function readString(value, fallback, label) {
|
|
48
|
-
if (value === undefined || value === null)
|
|
49
|
-
return fallback;
|
|
50
|
-
if (typeof value !== "string") {
|
|
51
|
-
throw new DocumentError("INVALID_INPUT", `${label} must be a string`);
|
|
52
|
-
}
|
|
53
|
-
const trimmed = value.trim();
|
|
54
|
-
return trimmed === "" ? fallback : trimmed;
|
|
55
|
-
}
|
|
56
|
-
function readNullableAbsolutePath(value, label) {
|
|
57
|
-
if (value === undefined || value === null)
|
|
58
|
-
return null;
|
|
59
|
-
if (typeof value !== "string") {
|
|
60
|
-
throw new DocumentError("INVALID_INPUT", `${label} must be a path`);
|
|
61
|
-
}
|
|
62
|
-
const trimmed = value.trim();
|
|
63
|
-
if (trimmed === "")
|
|
64
|
-
return null;
|
|
65
|
-
if (!isAbsolutePath(trimmed)) {
|
|
66
|
-
throw new DocumentError("INVALID_INPUT", `${label} must be an absolute path (relative and traversal forms are refused)`, { details: { label } });
|
|
67
|
-
}
|
|
68
|
-
return trimmed;
|
|
69
|
-
}
|
|
70
|
-
function readEnum(value, allowed, fallback, label) {
|
|
71
|
-
if (value === undefined || value === null)
|
|
72
|
-
return fallback;
|
|
73
|
-
if (typeof value !== "string" || !allowed.includes(value)) {
|
|
74
|
-
throw new DocumentError("INVALID_INPUT", `${label} must be one of: ${allowed.join(", ")}`, { details: { label } });
|
|
75
|
-
}
|
|
76
|
-
return value;
|
|
77
|
-
}
|
|
78
|
-
function readStringList(value, fallback) {
|
|
79
|
-
if (!Array.isArray(value))
|
|
80
|
-
return [...fallback];
|
|
81
|
-
const entries = value
|
|
82
|
-
.filter((entry) => typeof entry === "string")
|
|
83
|
-
.map((entry) => entry.trim())
|
|
84
|
-
.filter((entry) => entry !== "");
|
|
85
|
-
return [...new Set(entries)];
|
|
86
|
-
}
|
|
87
|
-
function readAbsolutePathList(value, label) {
|
|
88
|
-
if (!Array.isArray(value))
|
|
89
|
-
return [];
|
|
90
|
-
return value.map((entry) => {
|
|
91
|
-
if (typeof entry !== "string" || entry.trim() === "") {
|
|
92
|
-
throw new DocumentError("INVALID_INPUT", `${label} entries must be paths`);
|
|
93
|
-
}
|
|
94
|
-
const entryPath = entry.trim();
|
|
95
|
-
if (!isAbsolutePath(entryPath)) {
|
|
96
|
-
throw new DocumentError("INVALID_INPUT", `${label} entries must be absolute paths`);
|
|
97
|
-
}
|
|
98
|
-
return entryPath;
|
|
99
|
-
});
|
|
100
|
-
}
|
|
101
|
-
function assertHttpUrl(value, label) {
|
|
102
|
-
let parsed;
|
|
103
|
-
try {
|
|
104
|
-
parsed = new URL(value);
|
|
105
|
-
}
|
|
106
|
-
catch {
|
|
107
|
-
throw new DocumentError("INVALID_INPUT", `${label} must be an http(s) URL`);
|
|
108
|
-
}
|
|
109
|
-
if (parsed.protocol !== "http:" && parsed.protocol !== "https:") {
|
|
110
|
-
throw new DocumentError("INVALID_INPUT", `${label} must be an http(s) URL`);
|
|
111
|
-
}
|
|
112
|
-
return value;
|
|
113
|
-
}
|
|
114
|
-
/** Materialize and validate the document configuration. */
|
|
115
|
-
export function resolveDocumentsConfig(input = {}) {
|
|
116
|
-
const D = DEFAULT_QA_DOCUMENTS_CONFIG;
|
|
117
|
-
const storage = input.storage ?? {};
|
|
118
|
-
const templates = input.templates ?? {};
|
|
119
|
-
const create = input.create ?? {};
|
|
120
|
-
const extraction = input.extraction ?? {};
|
|
121
|
-
const docling = input.docling ?? {};
|
|
122
|
-
const pandoc = input.pandoc ?? {};
|
|
123
|
-
const libreoffice = input.libreoffice ?? {};
|
|
124
|
-
const typst = input.typst ?? {};
|
|
125
|
-
const markitdown = input.markitdown ?? {};
|
|
126
|
-
const workers = input.workers ?? {};
|
|
127
|
-
const retention = input.retention ?? {};
|
|
128
|
-
const limits = input.limits ?? {};
|
|
129
|
-
const allowFormats = readStringList(create.allowFormats, D.create.allowFormats).filter((entry) => entry === "docx" || entry === "pdf");
|
|
130
|
-
if (allowFormats.length === 0) {
|
|
131
|
-
throw new DocumentError("INVALID_INPUT", "documents.create.allowFormats must list at least one of: docx, pdf");
|
|
132
|
-
}
|
|
133
|
-
return Object.freeze({
|
|
134
|
-
enabled: readBoolean(input.enabled, D.enabled),
|
|
135
|
-
storage: Object.freeze({
|
|
136
|
-
root: readNullableAbsolutePath(storage.root, "documents.storage.root"),
|
|
137
|
-
retainSource: readBoolean(storage.retainSource, D.storage.retainSource),
|
|
138
|
-
retainInputs: readBoolean(storage.retainInputs, D.storage.retainInputs),
|
|
139
|
-
allowedInputRoots: Object.freeze(readAbsolutePathList(storage.allowedInputRoots, "documents.storage.allowedInputRoots")),
|
|
140
|
-
}),
|
|
141
|
-
templates: Object.freeze({
|
|
142
|
-
root: readNullableAbsolutePath(templates.root, "documents.templates.root"),
|
|
143
|
-
default: readString(templates.default, D.templates.default, "documents.templates.default"),
|
|
144
|
-
}),
|
|
145
|
-
create: Object.freeze({
|
|
146
|
-
defaultPdfMode: readEnum(create.defaultPdfMode, ["auto", "office", "typst"], D.create.defaultPdfMode, "documents.create.defaultPdfMode"),
|
|
147
|
-
allowFormats: Object.freeze(allowFormats),
|
|
148
|
-
allowRawMarkup: readBoolean(create.allowRawMarkup, D.create.allowRawMarkup),
|
|
149
|
-
toc: readBoolean(create.toc, D.create.toc),
|
|
150
|
-
}),
|
|
151
|
-
extraction: Object.freeze({
|
|
152
|
-
defaultMode: readEnum(extraction.defaultMode, ["auto", "fast", "accurate"], D.extraction.defaultMode, "documents.extraction.defaultMode"),
|
|
153
|
-
ocr: readEnum(extraction.ocr, ["auto", "off", "force"], D.extraction.ocr, "documents.extraction.ocr"),
|
|
154
|
-
ocrLanguages: Object.freeze(readStringList(extraction.ocrLanguages, D.extraction.ocrLanguages)),
|
|
155
|
-
extractImages: readBoolean(extraction.extractImages, D.extraction.extractImages),
|
|
156
|
-
extractTables: readBoolean(extraction.extractTables, D.extraction.extractTables),
|
|
157
|
-
preservePageMarkers: readBoolean(extraction.preservePageMarkers, D.extraction.preservePageMarkers),
|
|
158
|
-
allowFallback: readBoolean(extraction.allowFallback, D.extraction.allowFallback),
|
|
159
|
-
maxInlineChars: readInteger(extraction.maxInlineChars, D.extraction.maxInlineChars, { min: 1_000, max: 5_000_000 }, "documents.extraction.maxInlineChars"),
|
|
160
|
-
}),
|
|
161
|
-
docling: Object.freeze({
|
|
162
|
-
enabled: readBoolean(docling.enabled, D.docling.enabled),
|
|
163
|
-
baseUrl: assertHttpUrl(readString(docling.baseUrl, D.docling.baseUrl, "documents.docling.baseUrl").replace(/\/+$/u, ""), "documents.docling.baseUrl"),
|
|
164
|
-
timeoutMs: readInteger(docling.timeoutMs, D.docling.timeoutMs, { min: 1_000, max: 600_000 }, "documents.docling.timeoutMs"),
|
|
165
|
-
}),
|
|
166
|
-
pandoc: Object.freeze({
|
|
167
|
-
executable: readString(pandoc.executable, D.pandoc.executable, "documents.pandoc.executable"),
|
|
168
|
-
timeoutMs: readInteger(pandoc.timeoutMs, D.pandoc.timeoutMs, { min: 1_000, max: 600_000 }, "documents.pandoc.timeoutMs"),
|
|
169
|
-
}),
|
|
170
|
-
libreoffice: Object.freeze({
|
|
171
|
-
executable: readString(libreoffice.executable, D.libreoffice.executable, "documents.libreoffice.executable"),
|
|
172
|
-
timeoutMs: readInteger(libreoffice.timeoutMs, D.libreoffice.timeoutMs, { min: 1_000, max: 600_000 }, "documents.libreoffice.timeoutMs"),
|
|
173
|
-
}),
|
|
174
|
-
typst: Object.freeze({
|
|
175
|
-
enabled: readBoolean(typst.enabled, D.typst.enabled),
|
|
176
|
-
executable: readString(typst.executable, D.typst.executable, "documents.typst.executable"),
|
|
177
|
-
timeoutMs: readInteger(typst.timeoutMs, D.typst.timeoutMs, { min: 1_000, max: 600_000 }, "documents.typst.timeoutMs"),
|
|
178
|
-
}),
|
|
179
|
-
markitdown: Object.freeze({
|
|
180
|
-
enabled: readBoolean(markitdown.enabled, D.markitdown.enabled),
|
|
181
|
-
executable: readString(markitdown.executable, D.markitdown.executable, "documents.markitdown.executable"),
|
|
182
|
-
timeoutMs: readInteger(markitdown.timeoutMs, D.markitdown.timeoutMs, { min: 1_000, max: 600_000 }, "documents.markitdown.timeoutMs"),
|
|
183
|
-
}),
|
|
184
|
-
workers: Object.freeze({
|
|
185
|
-
renderConcurrency: readInteger(workers.renderConcurrency, D.workers.renderConcurrency, { min: 1, max: 16 }, "documents.workers.renderConcurrency"),
|
|
186
|
-
extractionConcurrency: readInteger(workers.extractionConcurrency, D.workers.extractionConcurrency, { min: 1, max: 16 }, "documents.workers.extractionConcurrency"),
|
|
187
|
-
ocrConcurrency: readInteger(workers.ocrConcurrency, D.workers.ocrConcurrency, { min: 1, max: 16 }, "documents.workers.ocrConcurrency"),
|
|
188
|
-
}),
|
|
189
|
-
retention: Object.freeze({
|
|
190
|
-
enabled: readBoolean(retention.enabled, D.retention.enabled),
|
|
191
|
-
maxAgeDays: readInteger(retention.maxAgeDays, D.retention.maxAgeDays, { min: 1, max: 3_650 }, "documents.retention.maxAgeDays"),
|
|
192
|
-
cleanupIntervalHours: readInteger(retention.cleanupIntervalHours, D.retention.cleanupIntervalHours, { min: 1, max: 168 }, "documents.retention.cleanupIntervalHours"),
|
|
193
|
-
}),
|
|
194
|
-
limits: Object.freeze({
|
|
195
|
-
maxInputBytes: readInteger(limits.maxInputBytes, D.limits.maxInputBytes, { min: 1_024, max: 4_294_967_296 }, "documents.limits.maxInputBytes"),
|
|
196
|
-
maxMarkdownChars: readInteger(limits.maxMarkdownChars, D.limits.maxMarkdownChars, { min: 1_000, max: 50_000_000 }, "documents.limits.maxMarkdownChars"),
|
|
197
|
-
maxPages: readInteger(limits.maxPages, D.limits.maxPages, { min: 1, max: 100_000 }, "documents.limits.maxPages"),
|
|
198
|
-
maxExtractedImages: readInteger(limits.maxExtractedImages, D.limits.maxExtractedImages, { min: 0, max: 10_000 }, "documents.limits.maxExtractedImages"),
|
|
199
|
-
maxAssetBytes: readInteger(limits.maxAssetBytes, D.limits.maxAssetBytes, { min: 1_024, max: 1_073_741_824 }, "documents.limits.maxAssetBytes"),
|
|
200
|
-
maxResponseBytes: readInteger(limits.maxResponseBytes, D.limits.maxResponseBytes, { min: 1_024, max: 1_073_741_824 }, "documents.limits.maxResponseBytes"),
|
|
201
|
-
maxExtractedMarkdownBytes: readInteger(limits.maxExtractedMarkdownBytes, D.limits.maxExtractedMarkdownBytes, { min: 1_024, max: 1_073_741_824 }, "documents.limits.maxExtractedMarkdownBytes"),
|
|
202
|
-
allowedAssetMimeTypes: Object.freeze(readStringList(limits.allowedAssetMimeTypes, D.limits.allowedAssetMimeTypes).map((entry) => entry.toLowerCase())),
|
|
203
|
-
}),
|
|
204
|
-
});
|
|
205
|
-
}
|
|
206
|
-
/** Parse a boolean env value; unknown text leaves the configured value. */
|
|
207
|
-
function envBoolean(raw, fallback) {
|
|
208
|
-
if (raw === undefined)
|
|
209
|
-
return fallback;
|
|
210
|
-
const normalized = raw.trim().toLowerCase();
|
|
211
|
-
if (["1", "true", "yes", "on"].includes(normalized))
|
|
212
|
-
return true;
|
|
213
|
-
if (["0", "false", "no", "off"].includes(normalized))
|
|
214
|
-
return false;
|
|
215
|
-
return fallback;
|
|
216
|
-
}
|
|
217
|
-
function envInteger(raw, fallback) {
|
|
218
|
-
if (raw === undefined)
|
|
219
|
-
return fallback;
|
|
220
|
-
const parsed = Number.parseInt(raw.trim(), 10);
|
|
221
|
-
return Number.isFinite(parsed) ? parsed : fallback;
|
|
222
|
-
}
|
|
223
|
-
/**
|
|
224
|
-
* Apply the documented environment overrides (§20). Kept out of
|
|
225
|
-
* {@link resolveDocumentsConfig} so the resolver stays a pure function of its
|
|
226
|
-
* input — configuration tests never depend on the ambient environment.
|
|
227
|
-
*/
|
|
228
|
-
export function applyDocumentsEnvOverrides(config, env) {
|
|
229
|
-
const value = (key) => {
|
|
230
|
-
const raw = env[key];
|
|
231
|
-
return raw === undefined || raw.trim() === "" ? undefined : raw.trim();
|
|
232
|
-
};
|
|
233
|
-
const storageRoot = value("QA_DOCUMENTS_STORAGE_ROOT");
|
|
234
|
-
const templatesRoot = value("QA_DOCUMENTS_TEMPLATES_ROOT");
|
|
235
|
-
const doclingBaseUrl = value("QA_DOCLING_BASE_URL");
|
|
236
|
-
const doclingTimeout = value("QA_DOCLING_TIMEOUT_MS");
|
|
237
|
-
const pandocExecutable = value("QA_PANDOC_EXECUTABLE");
|
|
238
|
-
const libreofficeExecutable = value("QA_LIBREOFFICE_EXECUTABLE");
|
|
239
|
-
const markitdownExecutable = value("QA_MARKITDOWN_EXECUTABLE");
|
|
240
|
-
const ocrLanguages = value("QA_DOCUMENTS_OCR_LANGUAGES");
|
|
241
|
-
const maxInputBytes = value("QA_DOCUMENTS_MAX_INPUT_BYTES");
|
|
242
|
-
return {
|
|
243
|
-
...config,
|
|
244
|
-
enabled: envBoolean(value("QA_DOCUMENTS_ENABLED"), config.enabled ?? true),
|
|
245
|
-
storage: {
|
|
246
|
-
...config.storage,
|
|
247
|
-
...(storageRoot === undefined ? {} : { root: storageRoot }),
|
|
248
|
-
},
|
|
249
|
-
templates: {
|
|
250
|
-
...config.templates,
|
|
251
|
-
...(templatesRoot === undefined ? {} : { root: templatesRoot }),
|
|
252
|
-
},
|
|
253
|
-
docling: {
|
|
254
|
-
...config.docling,
|
|
255
|
-
...(doclingBaseUrl === undefined ? {} : { baseUrl: doclingBaseUrl }),
|
|
256
|
-
...(doclingTimeout === undefined
|
|
257
|
-
? {}
|
|
258
|
-
: {
|
|
259
|
-
timeoutMs: envInteger(doclingTimeout, config.docling?.timeoutMs ?? 0),
|
|
260
|
-
}),
|
|
261
|
-
},
|
|
262
|
-
pandoc: {
|
|
263
|
-
...config.pandoc,
|
|
264
|
-
...(pandocExecutable === undefined
|
|
265
|
-
? {}
|
|
266
|
-
: { executable: pandocExecutable }),
|
|
267
|
-
},
|
|
268
|
-
libreoffice: {
|
|
269
|
-
...config.libreoffice,
|
|
270
|
-
...(libreofficeExecutable === undefined
|
|
271
|
-
? {}
|
|
272
|
-
: { executable: libreofficeExecutable }),
|
|
273
|
-
},
|
|
274
|
-
markitdown: {
|
|
275
|
-
...config.markitdown,
|
|
276
|
-
...(markitdownExecutable === undefined
|
|
277
|
-
? {}
|
|
278
|
-
: { executable: markitdownExecutable }),
|
|
279
|
-
},
|
|
280
|
-
extraction: {
|
|
281
|
-
...config.extraction,
|
|
282
|
-
...(ocrLanguages === undefined
|
|
283
|
-
? {}
|
|
284
|
-
: {
|
|
285
|
-
ocrLanguages: ocrLanguages.split(",").map((entry) => entry.trim()),
|
|
286
|
-
}),
|
|
287
|
-
},
|
|
288
|
-
limits: {
|
|
289
|
-
...config.limits,
|
|
290
|
-
...(maxInputBytes === undefined
|
|
291
|
-
? {}
|
|
292
|
-
: {
|
|
293
|
-
maxInputBytes: envInteger(maxInputBytes, config.limits?.maxInputBytes ?? 0),
|
|
294
|
-
}),
|
|
295
|
-
},
|
|
296
|
-
};
|
|
297
|
-
}
|
|
298
|
-
/** Milliseconds a retention sweep interval would wait. */
|
|
299
|
-
export function retentionIntervalMs(config) {
|
|
300
|
-
return config.retention.cleanupIntervalHours * 60 * MS_PER_MINUTE;
|
|
301
|
-
}
|
|
302
|
-
//# sourceMappingURL=config.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/documents/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Canonical document defaults (§20).
|
|
3
|
-
*
|
|
4
|
-
* This module must stay free of Node builtins: it is the only part of the
|
|
5
|
-
* document subsystem the browser settings bundle reaches (through the QA
|
|
6
|
-
* surface's resolved configuration), and the page cannot load `node:*`. The
|
|
7
|
-
* resolver and everything that touches the filesystem live in `config.ts`,
|
|
8
|
-
* which imports these values.
|
|
9
|
-
*/
|
|
10
|
-
import { DEFAULT_ASSET_MIME_TYPES } from "./security/mime.js";
|
|
11
|
-
/** The canonical resolved configuration; the schema and resolver both use it. */
|
|
12
|
-
export const DEFAULT_QA_DOCUMENTS_CONFIG = Object.freeze({
|
|
13
|
-
enabled: true,
|
|
14
|
-
storage: Object.freeze({
|
|
15
|
-
root: null,
|
|
16
|
-
retainSource: true,
|
|
17
|
-
retainInputs: true,
|
|
18
|
-
allowedInputRoots: Object.freeze([]),
|
|
19
|
-
}),
|
|
20
|
-
templates: Object.freeze({ root: null, default: "default" }),
|
|
21
|
-
create: Object.freeze({
|
|
22
|
-
defaultPdfMode: "auto",
|
|
23
|
-
allowFormats: Object.freeze(["docx", "pdf"]),
|
|
24
|
-
allowRawMarkup: false,
|
|
25
|
-
toc: false,
|
|
26
|
-
}),
|
|
27
|
-
extraction: Object.freeze({
|
|
28
|
-
defaultMode: "accurate",
|
|
29
|
-
ocr: "auto",
|
|
30
|
-
ocrLanguages: Object.freeze([]),
|
|
31
|
-
extractImages: true,
|
|
32
|
-
extractTables: true,
|
|
33
|
-
preservePageMarkers: false,
|
|
34
|
-
allowFallback: true,
|
|
35
|
-
maxInlineChars: 200_000,
|
|
36
|
-
}),
|
|
37
|
-
docling: Object.freeze({
|
|
38
|
-
enabled: true,
|
|
39
|
-
baseUrl: "http://docling:5001",
|
|
40
|
-
timeoutMs: 120_000,
|
|
41
|
-
}),
|
|
42
|
-
pandoc: Object.freeze({ executable: "pandoc", timeoutMs: 60_000 }),
|
|
43
|
-
libreoffice: Object.freeze({
|
|
44
|
-
executable: "libreoffice",
|
|
45
|
-
timeoutMs: 120_000,
|
|
46
|
-
}),
|
|
47
|
-
typst: Object.freeze({
|
|
48
|
-
enabled: false,
|
|
49
|
-
executable: "typst",
|
|
50
|
-
timeoutMs: 120_000,
|
|
51
|
-
}),
|
|
52
|
-
markitdown: Object.freeze({
|
|
53
|
-
enabled: false,
|
|
54
|
-
executable: "markitdown",
|
|
55
|
-
timeoutMs: 120_000,
|
|
56
|
-
}),
|
|
57
|
-
workers: Object.freeze({
|
|
58
|
-
renderConcurrency: 2,
|
|
59
|
-
extractionConcurrency: 2,
|
|
60
|
-
ocrConcurrency: 1,
|
|
61
|
-
}),
|
|
62
|
-
retention: Object.freeze({
|
|
63
|
-
enabled: true,
|
|
64
|
-
maxAgeDays: 30,
|
|
65
|
-
cleanupIntervalHours: 12,
|
|
66
|
-
}),
|
|
67
|
-
limits: Object.freeze({
|
|
68
|
-
maxInputBytes: 52_428_800,
|
|
69
|
-
maxMarkdownChars: 5_000_000,
|
|
70
|
-
maxPages: 1_000,
|
|
71
|
-
maxExtractedImages: 500,
|
|
72
|
-
maxAssetBytes: 20_971_520,
|
|
73
|
-
maxResponseBytes: 268_435_456,
|
|
74
|
-
maxExtractedMarkdownBytes: 16_777_216,
|
|
75
|
-
allowedAssetMimeTypes: Object.freeze([...DEFAULT_ASSET_MIME_TYPES]),
|
|
76
|
-
}),
|
|
77
|
-
});
|
|
78
|
-
//# sourceMappingURL=defaults.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/documents/defaults.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAoK9D,iFAAiF;AACjF,MAAM,CAAC,MAAM,2BAA2B,GACtC,MAAM,CAAC,MAAM,CAAC;IACZ,OAAO,EAAE,IAAI;IACb,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC;QACrB,IAAI,EAAE,IAAI;QACV,YAAY,EAAE,IAAI;QAClB,YAAY,EAAE,IAAI;QAClB,iBAAiB,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;KACrC,CAAC;IACF,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;IAC5D,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;QACpB,cAAc,EAAE,MAAM;QACtB,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,KAAK,CAAU,CAAC;QACrD,cAAc,EAAE,KAAK;QACrB,GAAG,EAAE,KAAK;KACX,CAAC;IACF,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC;QACxB,WAAW,EAAE,UAAU;QACvB,GAAG,EAAE,MAAM;QACX,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/B,aAAa,EAAE,IAAI;QACnB,aAAa,EAAE,IAAI;QACnB,mBAAmB,EAAE,KAAK;QAC1B,aAAa,EAAE,IAAI;QACnB,cAAc,EAAE,OAAO;KACxB,CAAC;IACF,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC;QACrB,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,qBAAqB;QAC9B,SAAS,EAAE,OAAO;KACnB,CAAC;IACF,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;IAClE,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC;QACzB,UAAU,EAAE,aAAa;QACzB,SAAS,EAAE,OAAO;KACnB,CAAC;IACF,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC;QACnB,OAAO,EAAE,KAAK;QACd,UAAU,EAAE,OAAO;QACnB,SAAS,EAAE,OAAO;KACnB,CAAC;IACF,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC;QACxB,OAAO,EAAE,KAAK;QACd,UAAU,EAAE,YAAY;QACxB,SAAS,EAAE,OAAO;KACnB,CAAC;IACF,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC;QACrB,iBAAiB,EAAE,CAAC;QACpB,qBAAqB,EAAE,CAAC;QACxB,cAAc,EAAE,CAAC;KAClB,CAAC;IACF,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC;QACvB,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,EAAE;QACd,oBAAoB,EAAE,EAAE;KACzB,CAAC;IACF,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;QACpB,aAAa,EAAE,UAAU;QACzB,gBAAgB,EAAE,SAAS;QAC3B,QAAQ,EAAE,KAAK;QACf,kBAAkB,EAAE,GAAG;QACvB,aAAa,EAAE,UAAU;QACzB,gBAAgB,EAAE,WAAW;QAC7B,yBAAyB,EAAE,UAAU;QACrC,qBAAqB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,wBAAwB,CAAC,CAAC;KACpE,CAAC;CACH,CAAC,CAAC"}
|
package/lib/documents/errors.js
DELETED
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Typed failures of the document pipeline.
|
|
3
|
-
*
|
|
4
|
-
* Every failure the agent can observe carries a stable machine-readable code
|
|
5
|
-
* (§24) and the backend that produced it. Backend output is never forwarded
|
|
6
|
-
* verbatim: {@link sanitizeBackendOutput} strips ANSI escapes, collapses
|
|
7
|
-
* whitespace, replaces absolute paths with the placeholder the operator can
|
|
8
|
-
* recognize as "inside the sandbox" and caps the length, so a converter's
|
|
9
|
-
* stderr cannot leak the deployment's layout or the document's content into a
|
|
10
|
-
* model request.
|
|
11
|
-
*/
|
|
12
|
-
export const DOCUMENT_ERROR_CODES = [
|
|
13
|
-
"INVALID_INPUT",
|
|
14
|
-
"UNSUPPORTED_FORMAT",
|
|
15
|
-
"UNSUPPORTED_CONVERSION",
|
|
16
|
-
"INPUT_TOO_LARGE",
|
|
17
|
-
"DOCUMENT_TOO_LARGE",
|
|
18
|
-
"FILE_NOT_FOUND",
|
|
19
|
-
"TEMPLATE_NOT_FOUND",
|
|
20
|
-
"INVALID_TEMPLATE",
|
|
21
|
-
"INVALID_ASSET",
|
|
22
|
-
"PATH_NOT_ALLOWED",
|
|
23
|
-
"ENCRYPTED_DOCUMENT",
|
|
24
|
-
"MACRO_ENABLED_DOCUMENT",
|
|
25
|
-
"OCR_FAILED",
|
|
26
|
-
"EXTRACTION_FAILED",
|
|
27
|
-
"RENDER_FAILED",
|
|
28
|
-
"CONVERSION_FAILED",
|
|
29
|
-
"BACKEND_UNAVAILABLE",
|
|
30
|
-
"BACKEND_TIMEOUT",
|
|
31
|
-
"BACKEND_FAILED",
|
|
32
|
-
"ARTIFACT_WRITE_FAILED",
|
|
33
|
-
];
|
|
34
|
-
/** Retryability per code: only transient backend conditions ask for a retry. */
|
|
35
|
-
const RETRYABLE = new Set([
|
|
36
|
-
"BACKEND_UNAVAILABLE",
|
|
37
|
-
"BACKEND_TIMEOUT",
|
|
38
|
-
"BACKEND_FAILED",
|
|
39
|
-
]);
|
|
40
|
-
export class DocumentError extends Error {
|
|
41
|
-
code;
|
|
42
|
-
retryable;
|
|
43
|
-
backend;
|
|
44
|
-
details;
|
|
45
|
-
constructor(code, message, fields = {}) {
|
|
46
|
-
super(`document pipeline (${code}): ${message}`, { cause: fields.cause });
|
|
47
|
-
this.name = "DocumentError";
|
|
48
|
-
this.code = code;
|
|
49
|
-
this.retryable = fields.retryable ?? RETRYABLE.has(code);
|
|
50
|
-
this.backend = fields.backend;
|
|
51
|
-
this.details = fields.details;
|
|
52
|
-
}
|
|
53
|
-
/** The structured form the manifest and the logs carry (§24). */
|
|
54
|
-
toShape() {
|
|
55
|
-
return {
|
|
56
|
-
code: this.code,
|
|
57
|
-
message: this.message,
|
|
58
|
-
retryable: this.retryable,
|
|
59
|
-
...(this.backend === undefined ? {} : { backend: this.backend }),
|
|
60
|
-
...(this.details === undefined ? {} : { details: this.details }),
|
|
61
|
-
};
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
/* eslint-disable no-control-regex -- escape and control sequences are the point */
|
|
65
|
-
const ANSI_PATTERN = /\u001B\[[0-9;]*[A-Za-z]/gu;
|
|
66
|
-
const CONTROL_PATTERN = /[\u0000-\u0008\u000B\u000C\u000E-\u001F\u007F]/gu;
|
|
67
|
-
/* eslint-enable no-control-regex */
|
|
68
|
-
// Anchored at a word start and requiring a second separator, so prose such as
|
|
69
|
-
// "and/or" survives while `/tmp/qa-documents/job-1/output.docx` does not.
|
|
70
|
-
const ABSOLUTE_PATH_PATTERN = /(?<=^|\s)(?:[A-Za-z]:[\\/]|\/)(?:[^\s"'`()[\]{},;]+[\\/])+[^\s"'`()[\]{},;]*/gu;
|
|
71
|
-
const DEFAULT_BACKEND_MESSAGE_MAX = 2_000;
|
|
72
|
-
/**
|
|
73
|
-
* Make a backend's diagnostic text safe to show: no escapes, no absolute
|
|
74
|
-
* paths, one line per statement, at most `max` characters.
|
|
75
|
-
*/
|
|
76
|
-
export function sanitizeBackendOutput(text, max = DEFAULT_BACKEND_MESSAGE_MAX) {
|
|
77
|
-
const cleaned = text
|
|
78
|
-
.replace(ANSI_PATTERN, "")
|
|
79
|
-
.replace(CONTROL_PATTERN, "")
|
|
80
|
-
.replace(/\r\n?/gu, "\n")
|
|
81
|
-
.replace(ABSOLUTE_PATH_PATTERN, "<path>")
|
|
82
|
-
.split("\n")
|
|
83
|
-
.map((line) => line.trim())
|
|
84
|
-
.filter((line) => line !== "")
|
|
85
|
-
.join("; ")
|
|
86
|
-
.replace(/\s{2,}/gu, " ");
|
|
87
|
-
return cleaned.length > max ? `${cleaned.slice(0, max)}…` : cleaned;
|
|
88
|
-
}
|
|
89
|
-
/** Wrap any thrown value into a {@link DocumentError} without losing its code. */
|
|
90
|
-
export function asDocumentError(error, fallbackCode, backend) {
|
|
91
|
-
if (error instanceof DocumentError)
|
|
92
|
-
return error;
|
|
93
|
-
const message = error instanceof Error
|
|
94
|
-
? sanitizeBackendOutput(error.message)
|
|
95
|
-
: sanitizeBackendOutput(String(error));
|
|
96
|
-
return new DocumentError(fallbackCode, message === "" ? "the operation failed" : message, {
|
|
97
|
-
...(backend === undefined ? {} : { backend }),
|
|
98
|
-
cause: error,
|
|
99
|
-
});
|
|
100
|
-
}
|
|
101
|
-
//# sourceMappingURL=errors.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/documents/errors.ts"],"names":[],"mappings":"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"}
|
package/lib/documents/index.js
DELETED
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The document subsystem of `dsh-qa-surface` (§38).
|
|
3
|
-
*
|
|
4
|
-
* Markdown is the canonical source for everything the agent creates, the
|
|
5
|
-
* backends that turn it into DOCX/PDF (or read it back out of them) live
|
|
6
|
-
* behind the provider interfaces in `providers/`, and the four semantic tools
|
|
7
|
-
* in `tools/` are the only surface the model ever sees. Everything else —
|
|
8
|
-
* artifact bundles, manifests, template resolution, path containment, limits —
|
|
9
|
-
* exists to make those four tools predictable.
|
|
10
|
-
*
|
|
11
|
-
* The public entry point is {@link installDocumentSubsystem}.
|
|
12
|
-
*/
|
|
13
|
-
export { DOCUMENT_ERROR_CODES, DocumentError, asDocumentError, sanitizeBackendOutput, } from "./errors.js";
|
|
14
|
-
export { DEFAULT_QA_DOCUMENTS_CONFIG, applyDocumentsEnvOverrides, resolveDocumentsConfig, retentionIntervalMs, } from "./config.js";
|
|
15
|
-
export { createDocumentRuntime, DocumentRuntime, } from "./runtime.js";
|
|
16
|
-
export { createDocumentTools, registerDocumentTools, DOCUMENT_TOOL_NAMES, DOCUMENT_CONVERT_TOOL, DOCUMENT_CREATE_TOOL, DOCUMENT_INSPECT_TOOL, DOCUMENT_TO_MARKDOWN_TOOL, } from "./tools/index.js";
|
|
17
|
-
export { createProviders, } from "./providers/registry.js";
|
|
18
|
-
export { documentCapabilities, documentHealth } from "./capabilities.js";
|
|
19
|
-
export { ArtifactStore, sha256Hex, sha256OfFile } from "./artifacts/store.js";
|
|
20
|
-
export { createArtifactId, createUlid, isArtifactId } from "./artifacts/ids.js";
|
|
21
|
-
export { MANIFEST_FILE, MANIFEST_SCHEMA_VERSION, readManifest, writeManifest, } from "./artifacts/manifest.js";
|
|
22
|
-
export { BUILTIN_TEMPLATE_NAME, TEMPLATE_MANIFEST_FILE, loadTemplateRegistry, templateNames, } from "./templates/registry.js";
|
|
23
|
-
export { resolveTemplate, } from "./templates/resolver.js";
|
|
24
|
-
export { CONVERSION_ROUTES } from "./orchestrator/convert-document.js";
|
|
25
|
-
export { defaultArtifactRoot, resolveDocumentScope, } from "./orchestrator/scope.js";
|
|
26
|
-
export { silentDocumentLogger, } from "./orchestrator/runtime-deps.js";
|
|
27
|
-
export { assertInsideRoot, canonicalizeForContainment, isInsideRoot, resolveInsideRoot, sanitizeFilename, } from "./security/paths.js";
|
|
28
|
-
export { DEFAULT_ASSET_MIME_TYPES, detectFormatByExtension, describeUnsupported, sniffDocument, supportedFormatOf, } from "./security/file-types.js";
|
|
29
|
-
export { applyDirectives } from "./markdown/directives.js";
|
|
30
|
-
export { normalizeExtractedMarkdown } from "./markdown/normalize.js";
|
|
31
|
-
export { parseFrontMatter } from "./markdown/frontmatter.js";
|
|
32
|
-
export { readPdfFacts, readDocxFacts, readDocxMetadata, } from "./inspect/facts.js";
|
|
33
|
-
export { readZipEntries, readZipEntry, readZipEntryByName, } from "./inspect/zip.js";
|
|
34
|
-
import { resolveDocumentsConfig, retentionIntervalMs, } from "./config.js";
|
|
35
|
-
import { DocumentRuntime } from "./runtime.js";
|
|
36
|
-
import { registerDocumentTools, DOCUMENT_TOOL_NAMES, } from "./tools/index.js";
|
|
37
|
-
/**
|
|
38
|
-
* Wire the subsystem into a host context: build the runtime, register the four
|
|
39
|
-
* tools, and schedule the retention sweep when a storage root is pinned.
|
|
40
|
-
*
|
|
41
|
-
* `enabled: false` is answered with `undefined` — the caller then leaves both
|
|
42
|
-
* the tools and the timer absent instead of registering inert definitions.
|
|
43
|
-
*/
|
|
44
|
-
export function installDocumentSubsystem(ctx, options) {
|
|
45
|
-
const config = resolveDocumentsConfig(options.config);
|
|
46
|
-
if (!config.enabled)
|
|
47
|
-
return undefined;
|
|
48
|
-
const runtime = new DocumentRuntime({
|
|
49
|
-
config,
|
|
50
|
-
logger: options.logger,
|
|
51
|
-
...(options.seams === undefined ? {} : { seams: options.seams }),
|
|
52
|
-
...(options.now === undefined ? {} : { now: options.now }),
|
|
53
|
-
});
|
|
54
|
-
const disposeTools = registerDocumentTools({ register: options.register }, { runtime });
|
|
55
|
-
if (config.retention.enabled && config.storage.root !== null) {
|
|
56
|
-
const timer = setInterval(() => {
|
|
57
|
-
void runtime.cleanup().catch((error) => {
|
|
58
|
-
options.logger.warn("documents.retention.failed", {
|
|
59
|
-
message: error instanceof Error ? error.message : String(error),
|
|
60
|
-
});
|
|
61
|
-
});
|
|
62
|
-
}, retentionIntervalMs(config));
|
|
63
|
-
timer.unref?.();
|
|
64
|
-
ctx.effect(() => () => clearInterval(timer), "dsh-qa-surface.documents-retention");
|
|
65
|
-
}
|
|
66
|
-
options.logger.info("documents.installed", {
|
|
67
|
-
tools: DOCUMENT_TOOL_NAMES,
|
|
68
|
-
storageRoot: config.storage.root,
|
|
69
|
-
templatesDefault: config.templates.default,
|
|
70
|
-
docling: config.docling.enabled ? config.docling.baseUrl : "disabled",
|
|
71
|
-
});
|
|
72
|
-
return {
|
|
73
|
-
runtime,
|
|
74
|
-
toolNames: DOCUMENT_TOOL_NAMES,
|
|
75
|
-
dispose: () => {
|
|
76
|
-
disposeTools();
|
|
77
|
-
},
|
|
78
|
-
};
|
|
79
|
-
}
|
|
80
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/documents/index.ts"],"names":[],"mappings":"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"}
|