@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.
Files changed (176) hide show
  1. package/CHANGELOG.md +157 -0
  2. package/README.md +81 -2
  3. package/README_CN.md +54 -1
  4. package/dist/artifacts/dist/contract.js +1 -1
  5. package/dist/artifacts/dist/contract.js.map +1 -1
  6. package/dist/artifacts/dist/document-render.d.ts +1 -1
  7. package/dist/artifacts/dist/document-render.js +41 -10
  8. package/dist/artifacts/dist/document-render.js.map +1 -1
  9. package/dist/artifacts/dist/kodax.js +1 -1
  10. package/dist/artifacts/dist/kodax.js.map +1 -1
  11. package/dist/artifacts/dist/libreoffice.d.ts +6 -1
  12. package/dist/artifacts/dist/libreoffice.js +37 -13
  13. package/dist/artifacts/dist/libreoffice.js.map +1 -1
  14. package/dist/artifacts/dist/runtime.js +13 -6
  15. package/dist/artifacts/dist/runtime.js.map +1 -1
  16. package/dist/artifacts/skills/artifact-review/SKILL.md +5 -1
  17. package/dist/chunks/agent-NWQPMZ7B.js +2 -0
  18. package/dist/chunks/agent-adapter-V3IPADCX.js +2 -0
  19. package/dist/chunks/argument-completer-VNKHT4X4.js +2 -0
  20. package/dist/chunks/{bedrock-native-Z5VNWF5U.js → bedrock-native-OEPOBW6W.js} +1 -1
  21. package/dist/chunks/{cell-ABNYMGXV.js → cell-LV7MNPNQ.js} +1 -1
  22. package/dist/chunks/{chunk-KDRYQKT7.js → chunk-3I2MIS4D.js} +1 -1
  23. package/dist/chunks/chunk-3Y5PBEOD.js +5 -0
  24. package/dist/chunks/chunk-4FVCMKG2.js +20 -0
  25. package/dist/chunks/{chunk-G2IMBA3R.js → chunk-4GYXZTOD.js} +7 -7
  26. package/dist/chunks/{chunk-5MDNQCAV.js → chunk-4Z7ZHL6V.js} +2 -2
  27. package/dist/chunks/{chunk-TXI6SHDO.js → chunk-576AAIQM.js} +1 -1
  28. package/dist/chunks/chunk-5E2P4RYS.js +4 -0
  29. package/dist/chunks/{chunk-FMZN5F3Q.js → chunk-5LFQ5FVY.js} +1 -1
  30. package/dist/chunks/{chunk-WMMESRP3.js → chunk-6RDMSU4B.js} +1 -1
  31. package/dist/chunks/{chunk-6VHO36HK.js → chunk-7BA4TSKC.js} +1 -1
  32. package/dist/chunks/{chunk-F7H6CDJN.js → chunk-AUU3N4V4.js} +1 -1
  33. package/dist/chunks/{chunk-7SX7CHYP.js → chunk-AYDLX2UK.js} +1 -1
  34. package/dist/chunks/{chunk-NM3AINLH.js → chunk-BP3NAYKY.js} +64 -64
  35. package/dist/chunks/{chunk-KJBS6L7Q.js → chunk-BSCSKJNC.js} +235 -234
  36. package/dist/chunks/chunk-DAQGOWKD.js +783 -0
  37. package/dist/chunks/{chunk-UF3GZ5PO.js → chunk-EZF6ZRCO.js} +1 -1
  38. package/dist/chunks/chunk-F2TFWNVZ.js +2 -0
  39. package/dist/chunks/{chunk-ADIWJDFS.js → chunk-FVXZ5L33.js} +1 -1
  40. package/dist/chunks/{chunk-654JOM24.js → chunk-G32BMSHH.js} +76 -72
  41. package/dist/chunks/chunk-HJLYZ5AX.js +361 -0
  42. package/dist/chunks/{chunk-GYNAAIZP.js → chunk-IOIFCU46.js} +1 -1
  43. package/dist/chunks/{chunk-N2B6A3CX.js → chunk-IR46ZHXU.js} +1 -1
  44. package/dist/chunks/chunk-NJDR5EEF.js +6 -0
  45. package/dist/chunks/{chunk-A3SLNYBB.js → chunk-OC3DQXN6.js} +1 -1
  46. package/dist/chunks/chunk-OMVAPRQI.js +399 -0
  47. package/dist/chunks/chunk-OXCB2TRF.js +42 -0
  48. package/dist/chunks/{chunk-W6MHQ7ED.js → chunk-P6R6V7EW.js} +1 -1
  49. package/dist/chunks/chunk-PFBZ4ZXO.js +142 -0
  50. package/dist/chunks/{chunk-7U2BL7CM.js → chunk-QDE6THC5.js} +1 -1
  51. package/dist/chunks/chunk-QRYEP34M.js +12 -0
  52. package/dist/chunks/chunk-ROWYE472.js +460 -0
  53. package/dist/chunks/chunk-SQGESMNC.js +2 -0
  54. package/dist/chunks/chunk-TQ475LOI.js +2 -0
  55. package/dist/chunks/{chunk-VT35IZEZ.js → chunk-U73VEVMP.js} +1 -1
  56. package/dist/chunks/{chunk-LWOGHKTL.js → chunk-V2TG7GNW.js} +1 -1
  57. package/dist/chunks/chunk-VRO2CDBY.js +190 -0
  58. package/dist/chunks/{chunk-HA4IKFUK.js → chunk-WMQQQY3D.js} +1 -1
  59. package/dist/chunks/chunk-X3YYJJTF.js +14 -0
  60. package/dist/chunks/{chunk-ZT2LR3KD.js → chunk-XYRI6ER5.js} +1 -1
  61. package/dist/chunks/chunk-YRPB3LID.js +3 -0
  62. package/dist/chunks/{chunk-3ZEJRVNA.js → chunk-ZDAU3LZ2.js} +1 -1
  63. package/dist/chunks/{chunk-SCGXZ2QT.js → chunk-ZP3YSYWM.js} +10 -10
  64. package/dist/chunks/{client-3JEK33QQ.js → client-NJ32JBC3.js} +1 -1
  65. package/dist/chunks/compaction-config-JBQGU3NO.js +2 -0
  66. package/dist/chunks/{construction-bootstrap-HCRLORKG.js → construction-bootstrap-CM47ZXG7.js} +1 -1
  67. package/dist/chunks/dist-O6BHIQEP.js +2 -0
  68. package/dist/chunks/{google-native-45I4S26I.js → google-native-BV5GKT5B.js} +1 -1
  69. package/dist/chunks/host-PI5NL4W4.js +2 -0
  70. package/dist/chunks/{mistral-native-JXPIDDYZ.js → mistral-native-X42JCFZH.js} +1 -1
  71. package/dist/chunks/model-MT3WJX76.js +2 -0
  72. package/dist/chunks/{permission-MTSFSB74.js → permission-YVDVSE6H.js} +1 -1
  73. package/dist/chunks/{pi-messages-5LLOZH57.js → pi-messages-DVJANXV5.js} +1 -1
  74. package/dist/chunks/readline-helpers-5JS7UGTE.js +2 -0
  75. package/dist/chunks/run-manager-Y6VYEWSJ.js +2 -0
  76. package/dist/chunks/running-session-ANMBA5XV.js +2 -0
  77. package/dist/chunks/skills-XL2XIBWV.js +2 -0
  78. package/dist/chunks/{tool-dispatch-ZVIDGKB4.js → tool-dispatch-2FOG65FC.js} +1 -1
  79. package/dist/chunks/{utils-WGRFGT7S.js → utils-XZ22R6VB.js} +1 -1
  80. package/dist/client-history.js +2 -0
  81. package/dist/history-turn.js +3 -0
  82. package/dist/index.d.ts +20 -20
  83. package/dist/index.js +2 -2
  84. package/dist/kodax_bootstrap.js +1 -1
  85. package/dist/kodax_cli.js +1577 -1913
  86. package/dist/kodax_doctor.js +1 -1
  87. package/dist/maintenance-scheduler.js +2 -0
  88. package/dist/manual-topics.json +47 -3
  89. package/dist/native/win32-x64/kodax-windows-sandbox.exe +0 -0
  90. package/dist/native/win32-x64/kodax-windows-text-transaction.node +0 -0
  91. package/dist/native/win32-x64/manifest.json +2 -2
  92. package/dist/one-shot-task.js +1 -1
  93. package/dist/provider-auth-cli.js +1 -1
  94. package/dist/runtime-daemon-schema.json +1 -1
  95. package/dist/sandbox-network-broker.js +91 -439
  96. package/dist/script-cell.js +1 -1
  97. package/dist/script-worker.cjs +30 -7
  98. package/dist/sdk-a2a.d.ts +13 -13
  99. package/dist/sdk-a2a.js +1 -1
  100. package/dist/sdk-agent.d.ts +23 -14
  101. package/dist/sdk-agent.js +1 -1
  102. package/dist/sdk-client.d.ts +6 -6
  103. package/dist/sdk-client.js +1 -1
  104. package/dist/sdk-coding.d.ts +59 -18
  105. package/dist/sdk-coding.js +1 -1
  106. package/dist/sdk-experimental-memory.d.ts +2 -2
  107. package/dist/sdk-experimental-memory.js +1 -1
  108. package/dist/sdk-llm.d.ts +4 -2
  109. package/dist/sdk-llm.js +1 -1
  110. package/dist/sdk-mcp.js +1 -1
  111. package/dist/sdk-media.d.ts +13 -13
  112. package/dist/sdk-media.js +1 -1
  113. package/dist/sdk-repl.d.ts +16 -16
  114. package/dist/sdk-repl.js +1 -1
  115. package/dist/sdk-runtime.d.ts +46 -46
  116. package/dist/sdk-runtime.js +1 -1
  117. package/dist/sdk-sandbox.js +1 -1
  118. package/dist/sdk-session.d.ts +7 -7
  119. package/dist/sdk-session.js +1 -1
  120. package/dist/sdk-skills.js +1 -1
  121. package/dist/semantic-worker.js +88 -436
  122. package/dist/static-text.json +50 -2
  123. package/dist/storage-repair-cli.js +1 -1
  124. package/dist/types-chunks/{bash-prefix-extractor.d-RblzA9kO.d.ts → bash-prefix-extractor.d-BghXa_md.d.ts} +50 -3
  125. package/dist/types-chunks/{capsule.d-C-saon3X.d.ts → capsule.d-BTlvC5qq.d.ts} +4 -4
  126. package/dist/types-chunks/{client-contract-D8HXN_iu.d.ts → client-contract-B7ZSFKTv.d.ts} +69 -5
  127. package/dist/types-chunks/{controller.d-C0SAuNKu.d.ts → controller.d-Btu5FDdw.d.ts} +1 -1
  128. package/dist/types-chunks/{controller.d-pXik2EIy.d.ts → controller.d-D6rEz5LS.d.ts} +3 -3
  129. package/dist/types-chunks/{history-retrieval.d-BwEUR9cb.d.ts → history-retrieval.d-B_AriUJp.d.ts} +1 -1
  130. package/dist/types-chunks/{manifest.d-r74es7yq.d.ts → manifest.d-Yyce-hHj.d.ts} +1 -1
  131. package/dist/types-chunks/{public-api.d-CvDSMmN2.d.ts → public-api.d-BLv3lFmw.d.ts} +9 -4
  132. package/dist/types-chunks/{review-inbox.d-Bgt46S7L.d.ts → review-inbox.d-yREk25Vf.d.ts} +2 -0
  133. package/dist/types-chunks/{review-packet.d-C0NYHPdq.d.ts → review-packet.d-xwXxHmML.d.ts} +1 -1
  134. package/dist/types-chunks/{run-manager.d-COrEJ-hn.d.ts → run-manager.d-D4sa9JYz.d.ts} +32 -12
  135. package/dist/types-chunks/{runtime-client-info-DJ9srk4O.d.ts → runtime-client-info-oRMrkHmb.d.ts} +7 -2
  136. package/dist/types-chunks/{runtime-event-B24TGIxk.d.ts → runtime-event-BOyaILWg.d.ts} +3 -1
  137. package/dist/types-chunks/{sdk-runtime-CBPScTNR.d.ts → sdk-runtime-CYyXmQok.d.ts} +36 -14
  138. package/dist/types-chunks/{sdk-session-D_bf_sN2.d.ts → sdk-session-D6mS5qgO.d.ts} +6 -3
  139. package/dist/types-chunks/{skill-invocation-error.d-FJ6ZujRz.d.ts → skill-invocation-error.d-Be3qg4JQ.d.ts} +3 -3
  140. package/dist/types-chunks/{trusted-repl-entry-9i4hUuj-.d.ts → trusted-repl-entry-YWNc4m-Z.d.ts} +7 -7
  141. package/dist/types-chunks/{types.d-CTo0NiAM.d.ts → types.d-BQ-hbni4.d.ts} +3 -1
  142. package/dist/types-chunks/{utils.d-BhoGV3yv.d.ts → utils.d-C0F3Uf2X.d.ts} +6 -6
  143. package/dist/windows-effect-job-programs.json +4 -0
  144. package/docs/ARTIFACT_SDK.md +3 -3
  145. package/docs/CLIENT_CONTRACT.md +4 -2
  146. package/docs/SDK_MIGRATION.md +270 -3
  147. package/docs/SPACE_SDK_SEAMS.md +12 -1
  148. package/package.json +4 -3
  149. package/public_docs/README.md +15 -3
  150. package/public_docs/sdk/embedder-guide.md +1 -1
  151. package/dist/chunks/agent-OY4U4WOU.js +0 -2
  152. package/dist/chunks/agent-adapter-NDH3DMPG.js +0 -2
  153. package/dist/chunks/argument-completer-Q6GMPJ74.js +0 -2
  154. package/dist/chunks/chunk-4KR4VUZK.js +0 -142
  155. package/dist/chunks/chunk-5WZ5FUUD.js +0 -14
  156. package/dist/chunks/chunk-7OTOH4PT.js +0 -465
  157. package/dist/chunks/chunk-BZF7WPRK.js +0 -357
  158. package/dist/chunks/chunk-E2Z754K5.js +0 -366
  159. package/dist/chunks/chunk-ED7D73C3.js +0 -2
  160. package/dist/chunks/chunk-FZZMHNDB.js +0 -42
  161. package/dist/chunks/chunk-KE2NBMAP.js +0 -20
  162. package/dist/chunks/chunk-KQ3XVHKK.js +0 -1157
  163. package/dist/chunks/chunk-LPHKXPF7.js +0 -190
  164. package/dist/chunks/chunk-MJ4IGUD4.js +0 -5
  165. package/dist/chunks/chunk-NQ4XK3B2.js +0 -2
  166. package/dist/chunks/chunk-PRH5G5J7.js +0 -12
  167. package/dist/chunks/chunk-XGUGEVCK.js +0 -4
  168. package/dist/chunks/chunk-YB24NTBC.js +0 -2
  169. package/dist/chunks/compaction-config-NKDAUZNH.js +0 -2
  170. package/dist/chunks/dist-NTS7CJG3.js +0 -2
  171. package/dist/chunks/host-RHJ3VGYE.js +0 -2
  172. package/dist/chunks/model-WCSO7VEC.js +0 -2
  173. package/dist/chunks/readline-helpers-KZQCE3NH.js +0 -2
  174. package/dist/chunks/run-manager-MWEV42C5.js +0 -2
  175. package/dist/chunks/running-session-3BYAXGLK.js +0 -2
  176. 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.1`; npm publication is separate from
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":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,MAAM,UAAU,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,cAAc,CAAU,CAAC;AACjI,MAAM,KAAK,GAAG,CAAC,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;AACjE,MAAM,OAAO,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AAC9E,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,SAA4B,EAAU,EAAE,CAAC,WAAW,GAAG,CAAC,SAAS,KAAK,cAAc,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AACrJ,MAAM,UAAU,MAAM,CAAC,KAAc;IACpC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IACtH,OAAO,KAAgC,CAAC;AACzC,CAAC;AACD,SAAS,KAAK,CAAC,SAAkB,EAAE,OAAO,GAAG,4BAA4B,IAAuB,IAAI,CAAC,SAAS;IAAE,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAC3I,SAAS,IAAI,CAAC,KAAc,IAAqB,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACjI,SAAS,IAAI,CAAC,KAAc,IAAqB,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACpH,SAAS,QAAQ,CAAC,KAAc,IAAqB,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;AAC/H,SAAS,OAAO,CAAC,KAAc,IAAqB,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC5G,SAAS,IAAI,CAAC,KAA8B,EAAE,OAA0B,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,yBAAyB,CAAC,CAAC,CAAC,CAAC;AACvK,SAAS,KAAK,CAAC,KAAc,IAAe,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC;AACxF,SAAS,KAAK,CAAC,KAAc,EAAE,KAAa,IAAI,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC;AACvJ,SAAS,MAAM,CAAC,KAAc,IAAI,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AACpG,SAAS,WAAW,CAAC,KAAc,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;IAAC,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,IAAI,OAAO,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC;IAAC,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS;QAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAAC,CAAC,CAAC,CAAC;AACnQ,SAAS,QAAQ,CAAC,KAAc;IAAI,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAAC,IAAI,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;IAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAChM,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,KAAK;QAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;;QAAM,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,EAAE,0CAA0C,CAAC,CAAC;AAAC,CAAC;AACzJ,MAAM,UAAU,cAAc,CAAC,KAAc;IAC5C,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACxB,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAAC,IAAI,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC;QAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACpF,IAAI,CAAC,CAAC,YAAY,KAAK,SAAS;YAAE,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC;gBAAC,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;gBAAC,IAAI,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;gBAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YAAC,CAAC;IAC5K,CAAC;SAAM,CAAC;QAAC,IAAI,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC;QAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IAAC,CAAC;AACzO,CAAC;AACD,MAAM,UAAU,eAAe,CAAC,KAAc;IAC7C,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC/D,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;QAChB,KAAK,QAAQ;YAAE,IAAI,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;YAAC,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAAC,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBAAC,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM;QAC9P,KAAK,WAAW;YAAE,IAAI,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;YAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YAAC,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YAAC,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YAAC,MAAM;QAC3L,KAAK,aAAa;YAAE,IAAI,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;YAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YAAC,KAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC;YAAC,KAAK,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YAAC,MAAM;QAC/S,KAAK,UAAU;YAAE,IAAI,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;YAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;YAAC,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC;YAAC,MAAM;IACzP,CAAC;AACF,CAAC;AACD,MAAM,UAAU,cAAc,CAAC,KAAc;IAAqC,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACzG,IAAI,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;IACvE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,KAAK,WAAW,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAC9G,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,MAAM,IAAI,UAAU,CAAC,CAAC;IAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;AACrE,CAAC;AACD,SAAS,QAAQ,CAAC,KAAc;IAC/B,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACvI,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAAC,KAAK,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC;IACjE,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;IAAC,CAAC;IACjF,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAAC,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;QAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IACvG,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS;QAAE,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC;YAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IAC5F,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAAC,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,GAAG,KAAK,QAAQ,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAAC,CAAC;IACtO,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAAC,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;QAChG,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YAAC,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;YAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,UAAU,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QAAC,CAAC;QAC3P,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YAAC,MAAM,MAAM,GAAG,CAAmB,CAAC;YAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QAAC,CAAC;IAC3S,CAAC;;QAAM,KAAK,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;IACrC,KAAK,CAAC,CAAC,CAAC,UAAU,KAAK,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;AACzD,CAAC;AACD,SAAS,GAAG,CAAC,KAAc,EAAE,SAAS,GAAG,KAAK;IAAI,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;WAC/K,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAAC,CAAC;AACpH,MAAM,UAAU,qBAAqB,CAAC,KAAc;IACnD,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAAC,IAAI,CAAC,CAAC,EAAE,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;IAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,SAA8B,CAAC,EAAE,6BAA6B,CAAC,CAAC;IAAC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACjL,QAAQ,CAAC,CAAC,SAAS,EAAE,CAAC;QACrB,KAAK,SAAS,CAAC;QAAC,KAAK,cAAc;YAAE,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAAC,MAAM;QACxD,KAAK,cAAc;YAAE,IAAI,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;YAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAAC,MAAM;QAC9G,KAAK,SAAS;YAAE,IAAI,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC;YAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC;YACzN,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAAC,eAAe,CAAC,CAAC,CAAC,CAAC;gBAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,EAAE,8CAA8C,CAAC,CAAC;YAAC,CAAC;YACpI,IAAI,CAAC,CAAC,cAAc,KAAK,SAAS;gBAAE,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;YAAC,IAAI,CAAC,CAAC,UAAU,KAAK,SAAS;gBAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;YAAC,MAAM;QACxI,KAAK,QAAQ;YAAE,IAAI,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;YAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC;YACxI,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;gBAAC,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;gBAAC,IAAI,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;gBAAC,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAAC,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;oBAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBAAC,KAAK,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAClP,IAAI,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;oBAChQ,IAAI,EAAE,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;wBAAC,KAAK,CAAC,OAAO,EAAE,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;wBAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;wBAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;wBAAC,KAAK,CAAC,EAAE,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;oBAAC,CAAC;oBAClO,IAAI,EAAE,CAAC,IAAI,KAAK,WAAW;wBAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;oBAAC,IAAI,EAAE,CAAC,IAAI,KAAK,OAAO;wBAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;oBAClG,IAAI,EAAE,CAAC,IAAI,KAAK,OAAO;wBAAE,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC;4BAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC;oBAC/G,IAAI,EAAE,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;wBAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBAAC,KAAK,CAAC,EAAE,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;oBAAC,CAAC;gBACvN,CAAC;YAAC,CAAC;YAAC,MAAM;QACX;YAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,oBAAoB,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,oBAAoB,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,oBAAoB,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC;YACrR,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YAAC,IAAI,CAAC,CAAC,kBAAkB,KAAK,SAAS;gBAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,EAAE,sBAAsB,CAAC,CAAC;YACvH,IAAI,CAAC,CAAC,SAAS,KAAK,QAAQ,IAAI,CAAC,CAAC,SAAS,KAAK,MAAM;gBAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YAC9E,IAAI,CAAC,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;gBAAC,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;oBAAC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;oBAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;gBAAC,CAAC;gBAAC,KAAK,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAAC,CAAC;YAC9S,IAAI,CAAC,CAAC,SAAS,KAAK,MAAM,EAAE,CAAC;gBAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC;gBAAC,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;oBAAC,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;oBAAC,IAAI,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;oBAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;oBAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;oBAAC,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;wBAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;wBAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;oBAAC,CAAC;gBAAC,CAAC;YAAC,CAAC;IAC3X,CAAC;IACD,2EAA2E;IAC3E,OAAO,KAAwB,CAAC;AACjC,CAAC;AACD,MAAM,UAAU,oBAAoB,CAA8B,SAAY,EAAE,KAAc;IAC7F,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAAC,KAAK,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,IAAI,CAAC,CAAC,MAAM,KAAK,YAAY,CAAC,CAAC;IAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IAC9G,IAAI,CAAC,CAAC,QAAQ,KAAK,SAAS;QAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAAC,IAAI,CAAC,CAAC,QAAQ,KAAK,SAAS;QAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACvG,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAAC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAAC,KAAK,CAAC,KAAK,CAAC,SAAS,KAAK,WAAW,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QACzK,KAAK,CAAC,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,IAAI,EAAE,GAAG,IAAI,GAAG,IAAI,IAAI,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IAAC,CAAC;IACtL,IAAI,CAAC,CAAC,YAAY,KAAK,SAAS;QAAE,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC;YAAC,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;YAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,SAA8B,CAAC,IAAI,CAAC,GAAG,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,EAAE,aAAa,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAC7T,KAAK,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,CAAC,SAAS,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,OAAO,KAAK,aAAa,IAAI,CAAC,CAAC,OAAO,KAAK,aAAa,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,MAAM,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC;YAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAAC,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS;gBAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAAC,CAAC;IACtP,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS;QAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAC7C,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS;QAAE,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;YAAC,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;YAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;YAAC,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS;gBAAE,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAAC,CAAC;IAC/P,IAAI,CAAC,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,EAAE,8CAA8C,CAAC,CAAC;QAC/I,MAAM,QAAQ,GAAG,SAAS,KAAK,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,cAAc,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QAC5Q,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC,EAAE,gDAAgD,CAAC,CAAC;QACrG,IAAI,SAAS,KAAK,SAAS;YAAE,KAAK,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC;QAC9D,IAAI,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,MAAM,IAAI,SAAS,KAAK,QAAQ;YAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;QAC1H,IAAI,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAAC,KAAK,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC;QAAC,CAAC;IACvM,CAAC;IACD,OAAO,KAA2B,CAAC;AACpC,CAAC;AAID,MAAM,UAAU,wBAAwB,CAAC,OAAwB,EAAE,KAAc;IAChF,IAAI,OAAO,CAAC,SAAS,KAAK,cAAc;QAAE,OAAO,oBAAoB,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAChG,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IAAC,KAAK,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,IAAI,CAAC,CAAC,MAAM,KAAK,YAAY,CAAC,CAAC;IAAC,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,EAAE,yCAAyC,CAAC,CAAC;IACvL,IAAI,CAAC,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,uDAAuD,CAAC,CAAC;IAAC,CAAC;IACzK,IAAI,CAAC,CAAC,MAAM,KAAK,OAAO;QAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,EAAE,qCAAqC,CAAC,CAAC;IACjK,OAAO,KAA2B,CAAC;AACpC,CAAC"}
@@ -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
- 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 });
42
- await document.fonts.ready;
43
- await Promise.all(Array.from(document.images).map(image => image.decode()));
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 total = file.format === 'pdf' ? await loadPdf(page, bytes) : input ? await loadDocx(page, bytes, findings) : undefined;
59
- const artifact = file.format === 'pdf' ? { path: file.path, sourceHash: file.sourceHash, format: 'pdf', pages: total } : { path: file.path, sourceHash: file.sourceHash, format: 'docx' };
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 (file.format === 'pdf') {
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: file.format === 'pdf' ? 'PDF.js' : 'docx-renderer', version: file.format === 'pdf' ? '5.4.296' : '0.2.2' },
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":"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"}
1
+ {"version":3,"file":"document-render.js","sourceRoot":"","sources":["../src/document-render.ts"],"names":[],"mappings":"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"}