@kodax-ai/kodax 0.7.97-beta.1 → 0.7.97-beta.3
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/CHANGELOG.md +157 -0
- package/README.md +81 -2
- package/README_CN.md +54 -1
- package/dist/artifacts/dist/contract.js +1 -1
- package/dist/artifacts/dist/contract.js.map +1 -1
- package/dist/artifacts/dist/document-render.d.ts +1 -1
- package/dist/artifacts/dist/document-render.js +41 -10
- package/dist/artifacts/dist/document-render.js.map +1 -1
- package/dist/artifacts/dist/kodax.js +1 -1
- package/dist/artifacts/dist/kodax.js.map +1 -1
- package/dist/artifacts/dist/libreoffice.d.ts +6 -1
- package/dist/artifacts/dist/libreoffice.js +37 -13
- package/dist/artifacts/dist/libreoffice.js.map +1 -1
- package/dist/artifacts/dist/runtime.js +13 -6
- package/dist/artifacts/dist/runtime.js.map +1 -1
- package/dist/artifacts/skills/artifact-review/SKILL.md +5 -1
- package/dist/chunks/agent-NWQPMZ7B.js +2 -0
- package/dist/chunks/agent-adapter-V3IPADCX.js +2 -0
- package/dist/chunks/argument-completer-VNKHT4X4.js +2 -0
- package/dist/chunks/{bedrock-native-Z5VNWF5U.js → bedrock-native-OEPOBW6W.js} +1 -1
- package/dist/chunks/{cell-ABNYMGXV.js → cell-LV7MNPNQ.js} +1 -1
- package/dist/chunks/{chunk-KDRYQKT7.js → chunk-3I2MIS4D.js} +1 -1
- package/dist/chunks/chunk-3Y5PBEOD.js +5 -0
- package/dist/chunks/chunk-4FVCMKG2.js +20 -0
- package/dist/chunks/{chunk-G2IMBA3R.js → chunk-4GYXZTOD.js} +7 -7
- package/dist/chunks/{chunk-5MDNQCAV.js → chunk-4Z7ZHL6V.js} +2 -2
- package/dist/chunks/{chunk-TXI6SHDO.js → chunk-576AAIQM.js} +1 -1
- package/dist/chunks/chunk-5E2P4RYS.js +4 -0
- package/dist/chunks/{chunk-FMZN5F3Q.js → chunk-5LFQ5FVY.js} +1 -1
- package/dist/chunks/{chunk-WMMESRP3.js → chunk-6RDMSU4B.js} +1 -1
- package/dist/chunks/{chunk-6VHO36HK.js → chunk-7BA4TSKC.js} +1 -1
- package/dist/chunks/{chunk-F7H6CDJN.js → chunk-AUU3N4V4.js} +1 -1
- package/dist/chunks/{chunk-7SX7CHYP.js → chunk-AYDLX2UK.js} +1 -1
- package/dist/chunks/{chunk-NM3AINLH.js → chunk-BP3NAYKY.js} +64 -64
- package/dist/chunks/{chunk-KJBS6L7Q.js → chunk-BSCSKJNC.js} +235 -234
- package/dist/chunks/chunk-DAQGOWKD.js +783 -0
- package/dist/chunks/{chunk-UF3GZ5PO.js → chunk-EZF6ZRCO.js} +1 -1
- package/dist/chunks/chunk-F2TFWNVZ.js +2 -0
- package/dist/chunks/{chunk-ADIWJDFS.js → chunk-FVXZ5L33.js} +1 -1
- package/dist/chunks/{chunk-654JOM24.js → chunk-G32BMSHH.js} +76 -72
- package/dist/chunks/chunk-HJLYZ5AX.js +361 -0
- package/dist/chunks/{chunk-GYNAAIZP.js → chunk-IOIFCU46.js} +1 -1
- package/dist/chunks/{chunk-N2B6A3CX.js → chunk-IR46ZHXU.js} +1 -1
- package/dist/chunks/chunk-NJDR5EEF.js +6 -0
- package/dist/chunks/{chunk-A3SLNYBB.js → chunk-OC3DQXN6.js} +1 -1
- package/dist/chunks/chunk-OMVAPRQI.js +399 -0
- package/dist/chunks/chunk-OXCB2TRF.js +42 -0
- package/dist/chunks/{chunk-W6MHQ7ED.js → chunk-P6R6V7EW.js} +1 -1
- package/dist/chunks/chunk-PFBZ4ZXO.js +142 -0
- package/dist/chunks/{chunk-7U2BL7CM.js → chunk-QDE6THC5.js} +1 -1
- package/dist/chunks/chunk-QRYEP34M.js +12 -0
- package/dist/chunks/chunk-ROWYE472.js +460 -0
- package/dist/chunks/chunk-SQGESMNC.js +2 -0
- package/dist/chunks/chunk-TQ475LOI.js +2 -0
- package/dist/chunks/{chunk-VT35IZEZ.js → chunk-U73VEVMP.js} +1 -1
- package/dist/chunks/{chunk-LWOGHKTL.js → chunk-V2TG7GNW.js} +1 -1
- package/dist/chunks/chunk-VRO2CDBY.js +190 -0
- package/dist/chunks/{chunk-HA4IKFUK.js → chunk-WMQQQY3D.js} +1 -1
- package/dist/chunks/chunk-X3YYJJTF.js +14 -0
- package/dist/chunks/{chunk-ZT2LR3KD.js → chunk-XYRI6ER5.js} +1 -1
- package/dist/chunks/chunk-YRPB3LID.js +3 -0
- package/dist/chunks/{chunk-3ZEJRVNA.js → chunk-ZDAU3LZ2.js} +1 -1
- package/dist/chunks/{chunk-SCGXZ2QT.js → chunk-ZP3YSYWM.js} +10 -10
- package/dist/chunks/{client-3JEK33QQ.js → client-NJ32JBC3.js} +1 -1
- package/dist/chunks/compaction-config-JBQGU3NO.js +2 -0
- package/dist/chunks/{construction-bootstrap-HCRLORKG.js → construction-bootstrap-CM47ZXG7.js} +1 -1
- package/dist/chunks/dist-O6BHIQEP.js +2 -0
- package/dist/chunks/{google-native-45I4S26I.js → google-native-BV5GKT5B.js} +1 -1
- package/dist/chunks/host-PI5NL4W4.js +2 -0
- package/dist/chunks/{mistral-native-JXPIDDYZ.js → mistral-native-X42JCFZH.js} +1 -1
- package/dist/chunks/model-MT3WJX76.js +2 -0
- package/dist/chunks/{permission-MTSFSB74.js → permission-YVDVSE6H.js} +1 -1
- package/dist/chunks/{pi-messages-5LLOZH57.js → pi-messages-DVJANXV5.js} +1 -1
- package/dist/chunks/readline-helpers-5JS7UGTE.js +2 -0
- package/dist/chunks/run-manager-Y6VYEWSJ.js +2 -0
- package/dist/chunks/running-session-ANMBA5XV.js +2 -0
- package/dist/chunks/skills-XL2XIBWV.js +2 -0
- package/dist/chunks/{tool-dispatch-ZVIDGKB4.js → tool-dispatch-2FOG65FC.js} +1 -1
- package/dist/chunks/{utils-WGRFGT7S.js → utils-XZ22R6VB.js} +1 -1
- package/dist/client-history.js +2 -0
- package/dist/history-turn.js +3 -0
- package/dist/index.d.ts +20 -20
- package/dist/index.js +2 -2
- package/dist/kodax_bootstrap.js +1 -1
- package/dist/kodax_cli.js +1577 -1913
- package/dist/kodax_doctor.js +1 -1
- package/dist/maintenance-scheduler.js +2 -0
- package/dist/manual-topics.json +47 -3
- package/dist/native/win32-x64/kodax-windows-sandbox.exe +0 -0
- package/dist/native/win32-x64/kodax-windows-text-transaction.node +0 -0
- package/dist/native/win32-x64/manifest.json +2 -2
- package/dist/one-shot-task.js +1 -1
- package/dist/provider-auth-cli.js +1 -1
- package/dist/runtime-daemon-schema.json +1 -1
- package/dist/sandbox-network-broker.js +91 -439
- package/dist/script-cell.js +1 -1
- package/dist/script-worker.cjs +30 -7
- package/dist/sdk-a2a.d.ts +13 -13
- package/dist/sdk-a2a.js +1 -1
- package/dist/sdk-agent.d.ts +23 -14
- package/dist/sdk-agent.js +1 -1
- package/dist/sdk-client.d.ts +6 -6
- package/dist/sdk-client.js +1 -1
- package/dist/sdk-coding.d.ts +59 -18
- package/dist/sdk-coding.js +1 -1
- package/dist/sdk-experimental-memory.d.ts +2 -2
- package/dist/sdk-experimental-memory.js +1 -1
- package/dist/sdk-llm.d.ts +4 -2
- package/dist/sdk-llm.js +1 -1
- package/dist/sdk-mcp.js +1 -1
- package/dist/sdk-media.d.ts +13 -13
- package/dist/sdk-media.js +1 -1
- package/dist/sdk-repl.d.ts +16 -16
- package/dist/sdk-repl.js +1 -1
- package/dist/sdk-runtime.d.ts +46 -46
- package/dist/sdk-runtime.js +1 -1
- package/dist/sdk-sandbox.js +1 -1
- package/dist/sdk-session.d.ts +7 -7
- package/dist/sdk-session.js +1 -1
- package/dist/sdk-skills.js +1 -1
- package/dist/semantic-worker.js +88 -436
- package/dist/static-text.json +50 -2
- package/dist/storage-repair-cli.js +1 -1
- package/dist/types-chunks/{bash-prefix-extractor.d-RblzA9kO.d.ts → bash-prefix-extractor.d-BghXa_md.d.ts} +50 -3
- package/dist/types-chunks/{capsule.d-C-saon3X.d.ts → capsule.d-BTlvC5qq.d.ts} +4 -4
- package/dist/types-chunks/{client-contract-D8HXN_iu.d.ts → client-contract-B7ZSFKTv.d.ts} +69 -5
- package/dist/types-chunks/{controller.d-C0SAuNKu.d.ts → controller.d-Btu5FDdw.d.ts} +1 -1
- package/dist/types-chunks/{controller.d-pXik2EIy.d.ts → controller.d-D6rEz5LS.d.ts} +3 -3
- package/dist/types-chunks/{history-retrieval.d-BwEUR9cb.d.ts → history-retrieval.d-B_AriUJp.d.ts} +1 -1
- package/dist/types-chunks/{manifest.d-r74es7yq.d.ts → manifest.d-Yyce-hHj.d.ts} +1 -1
- package/dist/types-chunks/{public-api.d-CvDSMmN2.d.ts → public-api.d-BLv3lFmw.d.ts} +9 -4
- package/dist/types-chunks/{review-inbox.d-Bgt46S7L.d.ts → review-inbox.d-yREk25Vf.d.ts} +2 -0
- package/dist/types-chunks/{review-packet.d-C0NYHPdq.d.ts → review-packet.d-xwXxHmML.d.ts} +1 -1
- package/dist/types-chunks/{run-manager.d-COrEJ-hn.d.ts → run-manager.d-D4sa9JYz.d.ts} +32 -12
- package/dist/types-chunks/{runtime-client-info-DJ9srk4O.d.ts → runtime-client-info-oRMrkHmb.d.ts} +7 -2
- package/dist/types-chunks/{runtime-event-B24TGIxk.d.ts → runtime-event-BOyaILWg.d.ts} +3 -1
- package/dist/types-chunks/{sdk-runtime-CBPScTNR.d.ts → sdk-runtime-CYyXmQok.d.ts} +36 -14
- package/dist/types-chunks/{sdk-session-D_bf_sN2.d.ts → sdk-session-D6mS5qgO.d.ts} +6 -3
- package/dist/types-chunks/{skill-invocation-error.d-FJ6ZujRz.d.ts → skill-invocation-error.d-Be3qg4JQ.d.ts} +3 -3
- package/dist/types-chunks/{trusted-repl-entry-9i4hUuj-.d.ts → trusted-repl-entry-YWNc4m-Z.d.ts} +7 -7
- package/dist/types-chunks/{types.d-CTo0NiAM.d.ts → types.d-BQ-hbni4.d.ts} +3 -1
- package/dist/types-chunks/{utils.d-BhoGV3yv.d.ts → utils.d-C0F3Uf2X.d.ts} +6 -6
- package/dist/windows-effect-job-programs.json +4 -0
- package/docs/ARTIFACT_SDK.md +3 -3
- package/docs/CLIENT_CONTRACT.md +4 -2
- package/docs/SDK_MIGRATION.md +270 -3
- package/docs/SPACE_SDK_SEAMS.md +12 -1
- package/package.json +4 -3
- package/public_docs/README.md +15 -3
- package/public_docs/sdk/embedder-guide.md +1 -1
- package/dist/chunks/agent-OY4U4WOU.js +0 -2
- package/dist/chunks/agent-adapter-NDH3DMPG.js +0 -2
- package/dist/chunks/argument-completer-Q6GMPJ74.js +0 -2
- package/dist/chunks/chunk-4KR4VUZK.js +0 -142
- package/dist/chunks/chunk-5WZ5FUUD.js +0 -14
- package/dist/chunks/chunk-7OTOH4PT.js +0 -465
- package/dist/chunks/chunk-BZF7WPRK.js +0 -357
- package/dist/chunks/chunk-E2Z754K5.js +0 -366
- package/dist/chunks/chunk-ED7D73C3.js +0 -2
- package/dist/chunks/chunk-FZZMHNDB.js +0 -42
- package/dist/chunks/chunk-KE2NBMAP.js +0 -20
- package/dist/chunks/chunk-KQ3XVHKK.js +0 -1157
- package/dist/chunks/chunk-LPHKXPF7.js +0 -190
- package/dist/chunks/chunk-MJ4IGUD4.js +0 -5
- package/dist/chunks/chunk-NQ4XK3B2.js +0 -2
- package/dist/chunks/chunk-PRH5G5J7.js +0 -12
- package/dist/chunks/chunk-XGUGEVCK.js +0 -4
- package/dist/chunks/chunk-YB24NTBC.js +0 -2
- package/dist/chunks/compaction-config-NKDAUZNH.js +0 -2
- package/dist/chunks/dist-NTS7CJG3.js +0 -2
- package/dist/chunks/host-RHJ3VGYE.js +0 -2
- package/dist/chunks/model-WCSO7VEC.js +0 -2
- package/dist/chunks/readline-helpers-KZQCE3NH.js +0 -2
- package/dist/chunks/run-manager-MWEV42C5.js +0 -2
- package/dist/chunks/running-session-3BYAXGLK.js +0 -2
- package/dist/chunks/skills-V7T55I4F.js +0 -2
package/CHANGELOG.md
CHANGED
|
@@ -8,6 +8,163 @@ All notable changes to this project will be documented in this file.
|
|
|
8
8
|
|
|
9
9
|
---
|
|
10
10
|
|
|
11
|
+
## [0.7.97-beta.3] - 2026-11-08
|
|
12
|
+
|
|
13
|
+
Third beta of the v0.7.97 line: a repair release for long-context recovery,
|
|
14
|
+
durable Actor settlement and saved Session history. Context-capacity errors
|
|
15
|
+
recover through bounded reads, adaptive compaction budgets and strict
|
|
16
|
+
complete-summary parsing that retain original tool evidence and report
|
|
17
|
+
capacity failure instead of stalling; a paged original input replaced by
|
|
18
|
+
capacity admission stays unread so the model reads it again. Independent
|
|
19
|
+
Actor Runs settle only from the exact Turn's durable terminal state and
|
|
20
|
+
reconcile both crash windows without replaying completed execution; Session
|
|
21
|
+
work mode locks after the first accepted root Run and survives Actor
|
|
22
|
+
settlement, checkpoint recovery and verified legacy generation recovery. The
|
|
23
|
+
`productHistoryLocation` and `productHistoryTurnResolution` Host capabilities
|
|
24
|
+
locate saved history around search hits and resolve complete turns for Fork
|
|
25
|
+
and rewind, legacy view items read their full bodies through their original
|
|
26
|
+
owner, and Markdown rule fragments load from `~/.kodax/rules` and
|
|
27
|
+
`.kodax/rules`. Interrupted Host exits recover from verified Windows
|
|
28
|
+
containment evidence, identical Host builds are shared across installations,
|
|
29
|
+
abandoned daemon publications are removed in bounded idle rounds, and Windows
|
|
30
|
+
startup requests only the boot-identity property. DOCX visual review converts
|
|
31
|
+
through a host-supplied LibreOffice by default and discloses field
|
|
32
|
+
recalculation; Windows LibreOffice runs through its `soffice.com` console
|
|
33
|
+
twin. Complete audited Windows programs ship as byte-verified resources in
|
|
34
|
+
npm packages and native archives, restoring the 49 KiB CLI reserve beneath
|
|
35
|
+
the unchanged 5 MiB limit. Bounded real-model probes use a 64K application
|
|
36
|
+
budget and do not validate native sub-100K models or arbitrary whole-document
|
|
37
|
+
reading quality. Every v0.7.96 stable and v0.7.97-alpha.1 through beta.2
|
|
38
|
+
contract is retained. npm publication remains a manual maintainer action.
|
|
39
|
+
|
|
40
|
+
### Added
|
|
41
|
+
|
|
42
|
+
- Locate saved conversation history around a search hit or a proven source
|
|
43
|
+
with `productHistoryLocation`. Resolve a complete turn, including persisted
|
|
44
|
+
tool results, for Fork and rewind with `productHistoryTurnResolution`.
|
|
45
|
+
Both Host capabilities can be requested at connection time.
|
|
46
|
+
- Load Markdown rule fragments from `~/.kodax/rules/*.md` and the project's
|
|
47
|
+
`.kodax/rules/*.md` into Project Rules beside AGENTS.md. Isolated worktrees
|
|
48
|
+
inherit the original project's fragments; symlinked or oversized fragments
|
|
49
|
+
are skipped with a diagnostic.
|
|
50
|
+
|
|
51
|
+
### Changed
|
|
52
|
+
|
|
53
|
+
- Package the complete audited Windows containment programs as byte-verified
|
|
54
|
+
resources, restoring 49 KiB of CLI reserve beneath the existing 5 MiB limit.
|
|
55
|
+
|
|
56
|
+
### Fixed
|
|
57
|
+
|
|
58
|
+
- Read full text and tool input from legacy view items through their original
|
|
59
|
+
view owner, including items whose IDs also match the history reference format.
|
|
60
|
+
- Reduce Windows daemon startup time by requesting only the CIM property
|
|
61
|
+
needed to verify the current boot for interrupted-exit recovery.
|
|
62
|
+
- Remove abandoned daemon publication files in bounded idle rounds after
|
|
63
|
+
the Host is ready. Preserve files owned by live or unverified processes.
|
|
64
|
+
- Reuse a running shared Host whose runtime build fingerprint matches the
|
|
65
|
+
client even when the SDK is installed at a different path. Packaged
|
|
66
|
+
manifests are compared without npm scripts, keywords or bundleDependencies;
|
|
67
|
+
different builds and dependency changes are still refused.
|
|
68
|
+
- Recover interrupted Host exits from verified containment evidence. Windows
|
|
69
|
+
crash reentry requires the exact owner generations to have ended with an
|
|
70
|
+
empty Job or a verified reboot; original exit receipts and unknown
|
|
71
|
+
cleanup/execution outcomes are preserved, and the management wire admits
|
|
72
|
+
the Windows Job and boot identities this evidence carries.
|
|
73
|
+
- Recover from context-capacity errors with bounded reads, adaptive compaction
|
|
74
|
+
budgets and strict complete-summary parsing. Retain original tool evidence
|
|
75
|
+
and report capacity failure instead of leaving execution silently stalled.
|
|
76
|
+
- Keep a page of oversized original input unread when capacity admission
|
|
77
|
+
replaces its read result with a preview, so the model reads it again
|
|
78
|
+
before acting.
|
|
79
|
+
- Settle independent Actor Runs only after the exact Turn's terminal state is
|
|
80
|
+
durable. Reconcile both crash windows without replaying completed execution;
|
|
81
|
+
preserve cancellation, unknown outcomes and close/ownership boundaries.
|
|
82
|
+
- Lock Session work mode after the first accepted root Run, preserving the lock
|
|
83
|
+
through independent Actor settlement, checkpoint recovery and later idle time.
|
|
84
|
+
- Preserve the admitted effective mode of verified legacy generation recovery
|
|
85
|
+
across fresh authority binding without rewriting Session mode or lock facts.
|
|
86
|
+
Reject contradictory persisted modes and new-format recovery mismatches.
|
|
87
|
+
- Include the audited Windows program resource in native tar/zip release
|
|
88
|
+
archives as well as npm packages.
|
|
89
|
+
- **Artifacts — DOCX visual review**: when the host supplies a LibreOffice
|
|
90
|
+
executable, DOCX render now converts through it by default (Writer PDF
|
|
91
|
+
export → PDF.js) with evidence still bound to the DOCX source hash; the
|
|
92
|
+
lightweight renderer stays the fallback, explains what it does not compute
|
|
93
|
+
(fields, table of contents, Word/WPS pagination), and returns structured
|
|
94
|
+
`docx-render-failed` instead of throwing on documents it cannot lay out.
|
|
95
|
+
The render tool description and `artifact-review` skill no longer state that
|
|
96
|
+
the converter applies only to PPTX.
|
|
97
|
+
- **Artifacts — Windows LibreOffice hang**: a configured `soffice.exe` now runs
|
|
98
|
+
through its console twin `soffice.com`; the GUI launcher blocked on CLI calls
|
|
99
|
+
until the 90 s timeout (also affected PPTX conversion). Conversion leaves
|
|
100
|
+
only PNG evidence in the render directory.
|
|
101
|
+
- **LLM — image placeholders**: when a provider or model cannot accept images,
|
|
102
|
+
the text placeholder explicitly marks visual properties of the image as
|
|
103
|
+
unverified. Coding prompt-cache diagnostics reuse the exported constants.
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
## [0.7.97-beta.2] - 2026-11-04
|
|
108
|
+
|
|
109
|
+
Second beta of the v0.7.97 line: Script execution reliability hardening —
|
|
110
|
+
VM call paths expose complete collision-safe tool aliases beside original
|
|
111
|
+
names, typed program data carries normalized read windows and trusted
|
|
112
|
+
structured JSON, and duplicate model output is projected only when the
|
|
113
|
+
original receipt stays fully readable. Native tool names are encoded at the
|
|
114
|
+
Anthropic-compatible wire boundary and restore canonical identity, arguments,
|
|
115
|
+
permissions and deltas; an isolated optional sourceContent view preserves
|
|
116
|
+
original content beside display output and JSON data, and Host tools may
|
|
117
|
+
declare outputSchema served on demand through `mcp_describe` without
|
|
118
|
+
enlarging default menus; missing Node globals gain bounded contextual
|
|
119
|
+
guidance without displacing original QuickJS error JSON, settled receipts or
|
|
120
|
+
authorized tool aliases. Shared Host recovery hardens: promoted observers
|
|
121
|
+
refresh, owner-bound pending input recovery is preserved with idempotent
|
|
122
|
+
withdrawal receipts, proven dead history locks are reclaimed, and trusted
|
|
123
|
+
Agent mode is enforced before execution; Host-owned repo diagnostics/prewarm
|
|
124
|
+
and durable Workflow finalization with physical task draining, protected
|
|
125
|
+
project references and precise cleanup retry land. Bounded real-model
|
|
126
|
+
validation records Script model-facing reliability as recommend-iterate
|
|
127
|
+
without efficiency or general intelligence claims. Every v0.7.96 stable and
|
|
128
|
+
v0.7.97-alpha.1 through beta.1 contract is retained. npm publication remains
|
|
129
|
+
a manual maintainer action.
|
|
130
|
+
|
|
131
|
+
### Fixed
|
|
132
|
+
|
|
133
|
+
- Harden shared Host recovery and Script lifecycle: refresh promoted
|
|
134
|
+
observers, preserve owner-bound pending input recovery with persistent
|
|
135
|
+
idempotent withdrawal receipts, reclaim proven dead history locks, enforce
|
|
136
|
+
trusted Agent mode before execution, and add Host-owned repo
|
|
137
|
+
diagnostics/prewarm plus durable Workflow finalization with physical task
|
|
138
|
+
draining, protected project references and precise cleanup retry.
|
|
139
|
+
- Expose complete VM call paths with collision-safe aliases beside original
|
|
140
|
+
tool names; carry normalized read windows and trusted structured JSON
|
|
141
|
+
without parsing presentation, projecting duplicate model output only while
|
|
142
|
+
full receipts and original readback stay readable.
|
|
143
|
+
- Encode native tool names at the Anthropic-compatible wire boundary and
|
|
144
|
+
restore canonical identity, arguments, permissions, deltas and opaque
|
|
145
|
+
history; validate effective forced names against the current canonical
|
|
146
|
+
menu and document async helper lifetime in the Script code contract.
|
|
147
|
+
- Keep an isolated optional sourceContent view beside display content and
|
|
148
|
+
JSON data through Script receipts and original-result readers; serve
|
|
149
|
+
optional Host outputSchema registration through IPC and `mcp_describe`
|
|
150
|
+
on-demand output contracts without enlarging default menus or adding
|
|
151
|
+
result validators.
|
|
152
|
+
- Re-audit the CLI startup bundle budget from 5056 kB to 5064 kB (5 MiB minus
|
|
153
|
+
56 KiB): the Script reliability additions end the five-native release build
|
|
154
|
+
about 2 kB past the former 64 KiB headroom; audited program data stays in
|
|
155
|
+
packaged resources and no trimming behavior changes.
|
|
156
|
+
- Keep the structured display section inside the capacity guard: deep-but-valid
|
|
157
|
+
provider DTOs no longer fail the whole render when local stringify/clone
|
|
158
|
+
budgets overflow — original tool evidence is retained with the same optional
|
|
159
|
+
projection warning, and the pilot tests probe the local clone capacity
|
|
160
|
+
instead of assuming one fixed stack depth.
|
|
161
|
+
- Append bounded runtime and receipt guidance only for exact missing Node
|
|
162
|
+
globals, preserving original QuickJS error JSON, settled receipts and
|
|
163
|
+
authorized tool aliases without reading guest globals, displacing original
|
|
164
|
+
evidence or replaying effects.
|
|
165
|
+
|
|
166
|
+
---
|
|
167
|
+
|
|
11
168
|
## [0.7.97-beta.1] - 2026-11-02
|
|
12
169
|
|
|
13
170
|
First beta of the v0.7.97 line: Space-facing Host execution and Session
|
package/README.md
CHANGED
|
@@ -58,7 +58,13 @@ FEATURE_302 provider/OAuth credential parity stack, and the 2026-11-01
|
|
|
58
58
|
full-chain audit's Windows recovery, credential and permission fixes;
|
|
59
59
|
the `v0.7.97-beta.1` tag completes the Space-facing Host execution and
|
|
60
60
|
Session seams with Main default Skills, Quick Ask Session promotion and
|
|
61
|
-
atomic core-config publication.
|
|
61
|
+
atomic core-config publication; the `v0.7.97-beta.2` tag hardens Script
|
|
62
|
+
execution reliability with typed program data, native tool-name wire
|
|
63
|
+
fidelity, on-demand output contracts and shared Host recovery/Workflow
|
|
64
|
+
finalization fixes; the `v0.7.97-beta.3` tag repairs long-context recovery,
|
|
65
|
+
durable Actor settlement and saved Session history with context-capacity
|
|
66
|
+
recovery, the first-Run work-mode lock, history location/turn resolution
|
|
67
|
+
and verified interrupted-exit recovery.
|
|
62
68
|
Issue 371's historical first-read latency and Script model-efficiency
|
|
63
69
|
acceptance remain open.
|
|
64
70
|
|
|
@@ -825,6 +831,56 @@ starts, upgrades, or waits. See
|
|
|
825
831
|
Every v0.7.96 stable and v0.7.97-alpha.1/alpha.2/alpha.3 contract is
|
|
826
832
|
retained.
|
|
827
833
|
|
|
834
|
+
**v0.7.97-beta.3 release:** Repair release for long-context recovery,
|
|
835
|
+
durable Actor settlement and saved Session history. Context-capacity
|
|
836
|
+
errors recover through bounded reads, adaptive compaction budgets and
|
|
837
|
+
strict complete-summary parsing that retain original tool evidence and
|
|
838
|
+
report capacity failure instead of stalling; a paged original input
|
|
839
|
+
replaced by capacity admission stays unread so the model reads it again.
|
|
840
|
+
Independent Actor Runs settle only from the exact Turn's durable terminal
|
|
841
|
+
state and reconcile both crash windows without replaying completed
|
|
842
|
+
execution; Session work mode locks after the first accepted root Run and
|
|
843
|
+
survives Actor settlement, checkpoint recovery and verified legacy
|
|
844
|
+
generation recovery. The `productHistoryLocation` and
|
|
845
|
+
`productHistoryTurnResolution` Host capabilities locate saved history
|
|
846
|
+
around search hits and resolve complete turns for Fork and rewind, and
|
|
847
|
+
Markdown rule fragments load from `~/.kodax/rules` and `.kodax/rules`.
|
|
848
|
+
Interrupted Host exits recover from verified Windows containment evidence,
|
|
849
|
+
identical Host builds are shared across installations and abandoned daemon
|
|
850
|
+
publications are removed in bounded idle rounds. DOCX visual review
|
|
851
|
+
converts through a host-supplied LibreOffice by default and discloses field
|
|
852
|
+
recalculation. Complete audited Windows programs ship as byte-verified
|
|
853
|
+
resources, restoring the 49 KiB CLI reserve beneath the unchanged 5 MiB
|
|
854
|
+
limit. Bounded real-model probes use a 64K application budget; they do not
|
|
855
|
+
validate native sub-100K models or arbitrary whole-document reading
|
|
856
|
+
quality. Tagging and publication remain separate. See the
|
|
857
|
+
[v0.7.97-beta.3 release notes](docs/release.md#v0797-beta3-release-preparation).
|
|
858
|
+
Every v0.7.96 stable and v0.7.97-alpha.1 through beta.2 contract is
|
|
859
|
+
retained.
|
|
860
|
+
|
|
861
|
+
**v0.7.97-beta.2 release:** Script execution reliability hardening — VM
|
|
862
|
+
call paths expose complete collision-safe tool aliases beside original
|
|
863
|
+
names, typed program data carries normalized read windows and trusted
|
|
864
|
+
structured JSON, and duplicate model output is projected only when the
|
|
865
|
+
original receipt stays fully readable. Native tool names are encoded at
|
|
866
|
+
the Anthropic-compatible wire boundary and restore canonical identity,
|
|
867
|
+
arguments, permissions and deltas; an isolated optional sourceContent
|
|
868
|
+
view preserves original content beside display output, and Host tools
|
|
869
|
+
may declare outputSchema served on demand through `mcp_describe` without
|
|
870
|
+
enlarging default menus; missing Node globals gain bounded contextual
|
|
871
|
+
guidance without displacing original QuickJS error JSON or settled
|
|
872
|
+
receipts. Shared Host recovery refreshes promoted observers, preserves
|
|
873
|
+
owner-bound pending input recovery with idempotent withdrawal receipts,
|
|
874
|
+
reclaims proven dead history locks and enforces trusted Agent mode before
|
|
875
|
+
execution; Host-owned repo diagnostics/prewarm and durable Workflow
|
|
876
|
+
finalization with physical task draining and protected project references
|
|
877
|
+
land. Bounded real-model validation records Script model-facing
|
|
878
|
+
reliability as recommend-iterate; no efficiency or general intelligence
|
|
879
|
+
improvement is claimed. Tagging and publication remain separate. See the
|
|
880
|
+
[v0.7.97-beta.2 release notes](docs/release.md#v0797-beta2-release-preparation).
|
|
881
|
+
Every v0.7.96 stable and v0.7.97-alpha.1 through beta.1 contract is
|
|
882
|
+
retained.
|
|
883
|
+
|
|
828
884
|
**v0.7.97-beta.1 release:** Space-facing Host execution and Session seams
|
|
829
885
|
complete — Main-owned capability-gated default Skills and consumption-time
|
|
830
886
|
execution bindings select committed expert/connector state with fresh
|
|
@@ -2215,7 +2271,7 @@ This development tree exposes 17 SDK subpaths plus the root. Shared product
|
|
|
2215
2271
|
applications use `@kodax-ai/kodax/client`; independent libraries and trusted Host
|
|
2216
2272
|
APIs remain available through the other subpaths. See the [Client contract](docs/CLIENT_CONTRACT.md)
|
|
2217
2273
|
and [SDK migration guide](docs/SDK_MIGRATION.md). This documentation was checked
|
|
2218
|
-
against package version `0.7.97-beta.
|
|
2274
|
+
against package version `0.7.97-beta.3`; npm publication is separate from
|
|
2219
2275
|
the current development-tree contract.
|
|
2220
2276
|
|
|
2221
2277
|
```bash
|
|
@@ -2511,6 +2567,29 @@ KodaX ships 50+ built-in tools, grouped below. They are registered as a single f
|
|
|
2511
2567
|
|
|
2512
2568
|
---
|
|
2513
2569
|
|
|
2570
|
+
## Project instructions
|
|
2571
|
+
|
|
2572
|
+
Put short, always-applicable Markdown rules in `~/.kodax/rules/*.md` or
|
|
2573
|
+
`<project>/.kodax/rules/*.md`. `KODAX_HOME` also relocates the user rules.
|
|
2574
|
+
KodaX loads direct `.md` children in filename order, then supplies their complete
|
|
2575
|
+
contents with source paths before the first model action. Empty or absent rules
|
|
2576
|
+
directories add no prompt text. Nested folders and frontmatter conditions are
|
|
2577
|
+
outside this discovery format.
|
|
2578
|
+
|
|
2579
|
+
The instruction order is user rules → user `AGENTS.md` → project rules → directory
|
|
2580
|
+
`AGENTS.md` files from root to working directory → project `.kodax/AGENTS.md`.
|
|
2581
|
+
Same-named user and project rules both apply. Without a Git root, project rules
|
|
2582
|
+
are resolved from the working directory. Each fragment is limited to 8 KiB of
|
|
2583
|
+
UTF-8, with a separate 16 KiB total per scope including source headings. Oversized, unreadable, or overflowing
|
|
2584
|
+
files are skipped whole and reported through diagnostics. `/reload` lists loaded
|
|
2585
|
+
paths and skipped-file reasons. Active managed Runs keep their instruction snapshot.
|
|
2586
|
+
Writable children inherit these rules through their existing project context.
|
|
2587
|
+
SDK prompt overrides and read-only children follow their own instruction contracts,
|
|
2588
|
+
and bound hosts apply their readable-path policy to rule files.
|
|
2589
|
+
|
|
2590
|
+
Use `exec-policy.jsonc` for enforced command approvals. Longer task-specific
|
|
2591
|
+
procedures can live in Skills.
|
|
2592
|
+
|
|
2514
2593
|
## Skills System
|
|
2515
2594
|
|
|
2516
2595
|
KodaX includes a built-in Skills system. Model-visible Skills can be triggered
|
package/README_CN.md
CHANGED
|
@@ -51,7 +51,11 @@ CLI 使用 `--work-mode`,REPL 使用 `/work-mode`,Product Client 使用 Sess
|
|
|
51
51
|
`v0.7.97-alpha.12` 标签发布统一共享 Host 收口、FEATURE_302 供应商/OAuth 凭据
|
|
52
52
|
对齐栈,以及 2026-11-01 全链路审计的 Windows 恢复、凭据与权限修复;
|
|
53
53
|
`v0.7.97-beta.1` 标签完成 Space 侧 Host 执行与会话接缝——Main 默认 Skills、
|
|
54
|
-
Quick Ask Session promotion
|
|
54
|
+
Quick Ask Session promotion 与核心配置原子发布;`v0.7.97-beta.2` 标签加固
|
|
55
|
+
Script 执行可靠性——类型化程序数据、原生工具名 wire 保真、按需输出契约与
|
|
56
|
+
共享 Host 恢复/Workflow 终结修复;`v0.7.97-beta.3` 标签修复长上下文恢复、
|
|
57
|
+
持久 Actor 结算与已保存会话历史——上下文容量恢复、首个 Run 工作模式锁定、
|
|
58
|
+
历史定位/整轮解析与基于已验证证据的中断退出恢复。
|
|
55
59
|
Issue 371 的历史首次读取延迟及 Script 模型效率验收仍未关闭。
|
|
56
60
|
|
|
57
61
|
## 30 秒上手
|
|
@@ -332,6 +336,38 @@ SDK 系统代码契约更新,但没有放宽 shell/sandbox 的 fail-closed 边
|
|
|
332
336
|
[v0.7.97-alpha.4 发布清单](docs/release.md#v0797-alpha4-release-preparation)。
|
|
333
337
|
所有 v0.7.96 稳定与 v0.7.97-alpha.1/alpha.2/alpha.3 契约全部保留。
|
|
334
338
|
|
|
339
|
+
**v0.7.97-beta.3 发布**:针对长上下文恢复、持久 Actor 结算与已保存会话历史的
|
|
340
|
+
修复版本。上下文容量错误通过有界读取、自适应压缩预算与严格的完整摘要解析恢复,
|
|
341
|
+
保留原始工具证据,容量不足时明确报告而不是静默停滞;被容量准入替换为预览的
|
|
342
|
+
分页原始输入保持未读,模型会重新读取。独立 Actor Run 仅依据精确 Turn 的持久
|
|
343
|
+
终态结算,并在两个崩溃窗口内对账而不重放已完成的执行;Session 工作模式在首个
|
|
344
|
+
被接受的根 Run 后锁定,并在 Actor 结算、checkpoint 恢复与已验证的旧代际恢复中
|
|
345
|
+
保持。`productHistoryLocation` 与 `productHistoryTurnResolution` 两个 Host 能力
|
|
346
|
+
可围绕搜索命中定位已保存历史,并为 Fork 与回退解析完整轮次;Markdown 规则片段
|
|
347
|
+
从 `~/.kodax/rules` 与 `.kodax/rules` 加载。中断的 Host 退出依据已验证的 Windows
|
|
348
|
+
containment 证据恢复,相同构建的 Host 可跨安装位置共享,废弃的 daemon 发布文件在
|
|
349
|
+
有界空闲轮次中清理。DOCX 视觉评审在宿主提供 LibreOffice 时默认经其转换,并披露
|
|
350
|
+
字段重算。完整的已审计 Windows 程序作为字节校验资源打包,在 5 MiB 上限不变的
|
|
351
|
+
前提下恢复 49 KiB CLI 余量。有界真实模型探测使用 64K 应用预算,不验证原生
|
|
352
|
+
100K 以下的模型或任意整篇文档阅读质量。代码提交、版本标签与实际发布分别判断。
|
|
353
|
+
详见 [v0.7.97-beta.3 发布清单](docs/release.md#v0797-beta3-release-preparation)。
|
|
354
|
+
所有 v0.7.96 稳定与 v0.7.97-alpha.1 至 beta.2 契约全部保留。
|
|
355
|
+
|
|
356
|
+
**v0.7.97-beta.2 发布**:Script 执行可靠性加固——VM 调用路径在原名之外提供
|
|
357
|
+
无冲突安全别名,类型化程序数据承载规范化读取窗口与可信结构化 JSON,仅在原
|
|
358
|
+
回执保持完整可读时才投影重复的模型输出。原生工具名在 Anthropic 兼容 wire
|
|
359
|
+
边界编码并恢复 canonical 身份、参数、权限与增量;独立可选 sourceContent 视图
|
|
360
|
+
在展示输出之外保留原文,Host 工具可声明 outputSchema 经 `mcp_describe` 按需
|
|
361
|
+
返回而不扩大默认菜单;缺失 Node 全局仅追加有界上下文指引,不覆盖原始 QuickJS
|
|
362
|
+
错误 JSON 或已定回执。共享 Host 恢复刷新已提升观察者、以幂等撤回回执保留
|
|
363
|
+
owner 绑定的 pending 输入恢复、回收已证死锁并在执行前核验可信 Agent 模式;
|
|
364
|
+
Host 自有的 repo 诊断/预热与持久 Workflow 终结(物理任务排空、受保护项目
|
|
365
|
+
引用)一并落地。有界真实模型验证将 Script 面向模型的可靠性记为
|
|
366
|
+
recommend-iterate,不宣称效率或通用智能提升。代码提交、版本标签与实际发布
|
|
367
|
+
分别判断。
|
|
368
|
+
详见 [v0.7.97-beta.2 发布清单](docs/release.md#v0797-beta2-release-preparation)。
|
|
369
|
+
所有 v0.7.96 稳定与 v0.7.97-alpha.1 至 beta.1 契约全部保留。
|
|
370
|
+
|
|
335
371
|
**v0.7.97-beta.1 发布**:Space 侧 Host 执行与会话接缝收尾——Main 持有的
|
|
336
372
|
能力门禁默认 Skills 与消费时执行绑定在实际 Product 输入消费点选取已提交
|
|
337
373
|
专家/连接器状态并重新获取凭证/工具 lease;Quick Ask 通过 Host 掌握的修订
|
|
@@ -1342,6 +1378,23 @@ KodaX 有 50+ 个内置工具,按类别分组如下(实际暴露给 LLM 是
|
|
|
1342
1378
|
| `ask_user_question` | 向用户发起单选 / 多选 / 自由文本提问 |
|
|
1343
1379
|
| `exit_plan_mode` | 仅在当前 REPL/宿主提供审批回调时提交最终方案 |
|
|
1344
1380
|
|
|
1381
|
+
## 项目指令
|
|
1382
|
+
|
|
1383
|
+
把简短、默认生效的 Markdown 约定放到 `~/.kodax/rules/*.md` 或
|
|
1384
|
+
`<项目根>/.kodax/rules/*.md`。用户目录跟随 `KODAX_HOME`。KodaX 按文件名排序读取
|
|
1385
|
+
直属 `.md` 文件,在模型首次操作前注入完整正文和来源路径。目录缺失或为空时,
|
|
1386
|
+
提示词没有新增内容。该格式只发现直属文件,正文按普通 Markdown 处理。
|
|
1387
|
+
|
|
1388
|
+
指令顺序为用户 rules → 用户 `AGENTS.md` → 项目 rules → 根目录到工作目录的
|
|
1389
|
+
`AGENTS.md` → 项目 `.kodax/AGENTS.md`。两级同名文件均保留。没有 Git 根目录时,
|
|
1390
|
+
从当前工作目录加载项目 rules。单文件上限为 8 KiB UTF-8,用户和项目各有 16 KiB
|
|
1391
|
+
总额度(含来源标题开销)。超大、不可读或超出总额度的文件会整份跳过并提供诊断。
|
|
1392
|
+
`/reload` 展示已加载路径和跳过原因。已运行的托管 Run 使用自身的指令快照,
|
|
1393
|
+
可写子 Agent 沿用项目上下文接收规则。SDK 自定义提示词、只读子 Agent 按各自既有
|
|
1394
|
+
指令契约运行,绑定宿主的可读路径限制也适用于规则文件。
|
|
1395
|
+
|
|
1396
|
+
需要强制执行的命令审批使用 `exec-policy.jsonc`,较长的任务专用流程可以放进 Skills。
|
|
1397
|
+
|
|
1345
1398
|
## 内置 Skills
|
|
1346
1399
|
|
|
1347
1400
|
五个核心 Skill(git-workflow、tdd、code-review、skill-creator、visual-review)
|
|
@@ -241,7 +241,7 @@ export function decodeArtifactResult(operation, value) {
|
|
|
241
241
|
for (const item of array(r.capabilities)) {
|
|
242
242
|
const c = record(item);
|
|
243
243
|
check(operations.includes(c.operation) && [...formats, 'surface', 'runtime', 'raster'].includes(String(c.input)) && ['available', 'not-prepared', 'unsupported'].includes(String(c.availability)));
|
|
244
|
-
check(c.backend === undefined || c.operation === 'render' && (c.backend === 'lightweight' || c.backend === 'libreoffice' && c.input === 'pptx'));
|
|
244
|
+
check(c.backend === undefined || c.operation === 'render' && (c.backend === 'lightweight' || c.backend === 'libreoffice' && (c.input === 'pptx' || c.input === 'docx')));
|
|
245
245
|
diagnostics(c.diagnostics);
|
|
246
246
|
if (c.engine !== undefined)
|
|
247
247
|
engine(c.engine);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,5 +8,5 @@ declare global {
|
|
|
8
8
|
}
|
|
9
9
|
export declare function processDocument(bytes: Buffer, file: Omit<ArtifactRef, 'pages'> & {
|
|
10
10
|
format: 'pdf' | 'docx';
|
|
11
|
-
}, input: RenderInput | undefined, options: ArtifactRuntimeOptions): Promise<ArtifactResult>;
|
|
11
|
+
}, input: RenderInput | undefined, options: ArtifactRuntimeOptions, backend?: 'lightweight' | 'libreoffice'): Promise<ArtifactResult>;
|
|
12
12
|
export {};
|
|
@@ -5,6 +5,7 @@ import JSZip from 'jszip';
|
|
|
5
5
|
import { withArtifactPage } from './browser.js';
|
|
6
6
|
import { saveEvidence } from './evidence-files.js';
|
|
7
7
|
import { decodeArtifactResult } from './contract.js';
|
|
8
|
+
import { convertWithLibreOffice } from './libreoffice.js';
|
|
8
9
|
async function loadPdf(page, bytes) {
|
|
9
10
|
const code = await fs.readFile(fileURLToPath(import.meta.resolve('pdfjs-dist/build/pdf.mjs')), 'utf8');
|
|
10
11
|
const worker = await fs.readFile(fileURLToPath(import.meta.resolve('pdfjs-dist/build/pdf.worker.mjs')), 'utf8');
|
|
@@ -22,6 +23,8 @@ async function loadPdf(page, bytes) {
|
|
|
22
23
|
}
|
|
23
24
|
}, { code, worker, base64: bytes.toString('base64') });
|
|
24
25
|
}
|
|
26
|
+
const pdfAdvice = 'For page-accurate review, render a PDF exported from this document by an available converter or its authoring application. '
|
|
27
|
+
+ 'Check stored field values and any values recalculated during conversion; a PDF alone does not prove that the DOCX fields are current. Write the PDF to a scratch location so it is not mistaken for the deliverable.';
|
|
25
28
|
async function loadDocx(page, bytes, findings) {
|
|
26
29
|
const zip = await JSZip.loadAsync(bytes);
|
|
27
30
|
// Valid minimal Word files may omit settings. Normalize only the render snapshot.
|
|
@@ -32,22 +35,36 @@ async function loadDocx(page, bytes, findings) {
|
|
|
32
35
|
zip.file('word/_rels/document.xml.rels', xml.replace(/<\/Relationships\s*>/, '<Relationship Id="kodaxRenderSettings" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/settings" Target="settings.xml"/></Relationships>'));
|
|
33
36
|
findings.push({ code: 'docx-default-settings', message: 'Missing optional settings were supplied only to the lightweight render snapshot.' });
|
|
34
37
|
}
|
|
35
|
-
findings.push({ code: 'docx-preview-fidelity', message: 'docx-renderer is a lightweight candidate. Word/WPS fidelity, fields, floating objects and complex sections remain unverified.', blocking: true });
|
|
36
38
|
await page.setContent('<html><body style="margin:0"><div id="styles"></div><div id="body"></div></body></html>');
|
|
37
39
|
await page.addScriptTag({ content: await fs.readFile(new URL('../dist/docx.browser.js', import.meta.url), 'utf8') });
|
|
38
40
|
const count = await page.evaluate(async (base64) => {
|
|
39
41
|
if (!window.kodaxDocx)
|
|
40
42
|
throw new Error('DOCX renderer missing.');
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
43
|
+
// Renderer exceptions describe this document, not the runtime; browser/protocol failures still throw outside.
|
|
44
|
+
try {
|
|
45
|
+
await window.kodaxDocx.render(Uint8Array.from(atob(base64), c => c.charCodeAt(0)), document.getElementById('body'), document.getElementById('styles'), { breakPages: true, ignoreLastRenderedPageBreak: false, renderHeaders: true, renderFooters: true });
|
|
46
|
+
await document.fonts.ready;
|
|
47
|
+
await Promise.all(Array.from(document.images).map(image => image.decode()));
|
|
48
|
+
}
|
|
49
|
+
catch (error) {
|
|
50
|
+
return { error: String(error instanceof Error ? error.message : error).slice(0, 200) };
|
|
51
|
+
}
|
|
44
52
|
await new Promise(resolve => requestAnimationFrame(() => requestAnimationFrame(() => resolve())));
|
|
45
53
|
return document.querySelectorAll('#body section').length;
|
|
46
54
|
}, (await zip.generateAsync({ type: 'nodebuffer' })).toString('base64'));
|
|
55
|
+
if (typeof count === 'number')
|
|
56
|
+
findings.push({ code: 'docx-preview-fidelity', blocking: true, message: 'The lightweight DOCX renderer approximates Word layout. '
|
|
57
|
+
+ 'It does not compute fields such as page numbers or a table of contents. Pagination, list numbering and table styles can differ from Word/WPS. ' + pdfAdvice });
|
|
47
58
|
return count;
|
|
48
59
|
}
|
|
49
|
-
export async function processDocument(bytes, file, input, options) {
|
|
60
|
+
export async function processDocument(bytes, file, input, options, backend = 'lightweight') {
|
|
50
61
|
const findings = [];
|
|
62
|
+
// DOCX conversion happens before the browser budget starts; evidence stays bound to the DOCX source.
|
|
63
|
+
const converted = input && file.format === 'docx' && backend === 'libreoffice' ? await convertDocx(bytes, options) : undefined;
|
|
64
|
+
if (converted)
|
|
65
|
+
findings.push({ code: 'docx-converted', message: 'Pages were rendered from a LibreOffice PDF conversion. '
|
|
66
|
+
+ 'Conversion can recalculate page-number fields; a table of contents can remain empty or outdated and needs review. Field values and pagination must be checked against the intended Word/WPS output.' });
|
|
67
|
+
const asPdf = file.format === 'pdf' || converted !== undefined;
|
|
51
68
|
return withArtifactPage(options, async (page) => {
|
|
52
69
|
await page.context().route('**/*', route => {
|
|
53
70
|
if (/^(?:data:|blob:|about:blank)/.test(route.request().url()))
|
|
@@ -55,10 +72,14 @@ export async function processDocument(bytes, file, input, options) {
|
|
|
55
72
|
findings.push({ code: 'blocked-resource', message: 'External document resource was blocked.', blocking: true });
|
|
56
73
|
return route.abort('blockedbyclient');
|
|
57
74
|
});
|
|
58
|
-
const
|
|
59
|
-
const artifact = file.format === 'pdf' ? { path: file.path, sourceHash: file.sourceHash, format: 'pdf', pages:
|
|
75
|
+
const loaded = asPdf ? await loadPdf(page, converted?.bytes ?? bytes) : input ? await loadDocx(page, bytes, findings) : undefined;
|
|
76
|
+
const artifact = file.format === 'pdf' ? { path: file.path, sourceHash: file.sourceHash, format: 'pdf', pages: loaded } : { path: file.path, sourceHash: file.sourceHash, format: 'docx' };
|
|
60
77
|
if (!input)
|
|
61
78
|
return { status: 'ready', artifact, diagnostics: [] };
|
|
79
|
+
if (typeof loaded === 'object')
|
|
80
|
+
return { status: 'unverified', artifact, diagnostics: [...findings, { code: 'docx-render-failed', blocking: true,
|
|
81
|
+
message: 'The lightweight DOCX renderer could not lay out this file (' + loaded.error + '), so no page pixels were produced. ' + pdfAdvice }] };
|
|
82
|
+
const total = loaded;
|
|
62
83
|
if (!total || total > 1000)
|
|
63
84
|
throw new Error('Document page limit exceeded or no pages rendered.');
|
|
64
85
|
const pages = input.pages ?? Array.from({ length: total }, (_, index) => index + 1);
|
|
@@ -66,12 +87,12 @@ export async function processDocument(bytes, file, input, options) {
|
|
|
66
87
|
throw new Error('Invalid render pages.');
|
|
67
88
|
if (options.maxRenderPages !== undefined && pages.length > options.maxRenderPages)
|
|
68
89
|
throw new Error('Specify a render batch of at most ' + options.maxRenderPages + ' pages.');
|
|
69
|
-
const directory = await fs.mkdtemp(path.join(options.workspaceRoot, '.artifact-render-'));
|
|
90
|
+
const directory = converted?.directory ?? await fs.mkdtemp(path.join(options.workspaceRoot, '.artifact-render-'));
|
|
70
91
|
const source = { kind: 'file', file: artifact }, rasters = [];
|
|
71
92
|
const layout = [];
|
|
72
93
|
for (const number of pages) {
|
|
73
94
|
options.signal?.throwIfAborted();
|
|
74
|
-
if (
|
|
95
|
+
if (asPdf) {
|
|
75
96
|
const geometry = await page.evaluate(async (number) => {
|
|
76
97
|
const pdfPage = await window.kodaxArtifactPdf.getPage(number), viewport = pdfPage.getViewport({ scale: 4 / 3 });
|
|
77
98
|
const width = Math.ceil(viewport.width), height = Math.ceil(viewport.height);
|
|
@@ -102,8 +123,18 @@ export async function processDocument(bytes, file, input, options) {
|
|
|
102
123
|
if (file.format === 'pdf')
|
|
103
124
|
findings.push({ code: 'pdf-scope', message: 'PDF.js page content at 96 DPI; interactive forms and annotation appearance are outside this capture.' });
|
|
104
125
|
return decodeArtifactResult('render', { status: findings.some(d => d.blocking) ? 'unverified' : 'ready', artifact, diagnostics: findings,
|
|
105
|
-
evidence: { kind: 'paginated', source, engine: { name:
|
|
126
|
+
evidence: { kind: 'paginated', source, engine: converted ? { name: 'LibreOffice/PDF.js', version: converted.version } : file.format === 'pdf' ? { name: 'PDF.js', version: '5.4.296' } : { name: 'docx-renderer', version: '0.2.2' },
|
|
106
127
|
diagnostics: findings, scope: { pages }, evidence: rasters, layout: { totalPages: total, pages: layout } } });
|
|
107
128
|
});
|
|
108
129
|
}
|
|
130
|
+
async function convertDocx(bytes, options) {
|
|
131
|
+
const directory = await fs.mkdtemp(path.join(options.workspaceRoot, '.artifact-render-'));
|
|
132
|
+
try {
|
|
133
|
+
return { ...await convertWithLibreOffice(bytes, directory, options, 'docx'), directory };
|
|
134
|
+
}
|
|
135
|
+
catch (error) {
|
|
136
|
+
await fs.rm(directory, { recursive: true, force: true });
|
|
137
|
+
throw error;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
109
140
|
//# sourceMappingURL=document-render.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document-render.js","sourceRoot":"","sources":["../src/document-render.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"document-render.js","sourceRoot":"","sources":["../src/document-render.ts"],"names":[],"mappings":"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"}
|