@actalk/inkos-core 1.3.6 → 1.3.7

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 (444) hide show
  1. package/dist/agent/agent-session.d.ts +7 -7
  2. package/dist/agent/agent-session.d.ts.map +1 -1
  3. package/dist/agent/agent-session.js +392 -63
  4. package/dist/agent/agent-session.js.map +1 -1
  5. package/dist/agent/agent-system-prompt.d.ts.map +1 -1
  6. package/dist/agent/agent-system-prompt.js +20 -16
  7. package/dist/agent/agent-system-prompt.js.map +1 -1
  8. package/dist/agent/agent-tools.d.ts +4 -1
  9. package/dist/agent/agent-tools.d.ts.map +1 -1
  10. package/dist/agent/agent-tools.js +81 -64
  11. package/dist/agent/agent-tools.js.map +1 -1
  12. package/dist/agents/architect.d.ts +18 -20
  13. package/dist/agents/architect.d.ts.map +1 -1
  14. package/dist/agents/architect.js +513 -632
  15. package/dist/agents/architect.js.map +1 -1
  16. package/dist/agents/chapter-analyzer.d.ts.map +1 -1
  17. package/dist/agents/chapter-analyzer.js +10 -6
  18. package/dist/agents/chapter-analyzer.js.map +1 -1
  19. package/dist/agents/composer.d.ts +1 -13
  20. package/dist/agents/composer.d.ts.map +1 -1
  21. package/dist/agents/composer.js +297 -290
  22. package/dist/agents/composer.js.map +1 -1
  23. package/dist/agents/consolidator.d.ts +17 -1
  24. package/dist/agents/consolidator.d.ts.map +1 -1
  25. package/dist/agents/consolidator.js +44 -6
  26. package/dist/agents/consolidator.js.map +1 -1
  27. package/dist/agents/continuity.d.ts +4 -1
  28. package/dist/agents/continuity.d.ts.map +1 -1
  29. package/dist/agents/continuity.js +111 -21
  30. package/dist/agents/continuity.js.map +1 -1
  31. package/dist/agents/length-normalizer.d.ts.map +1 -1
  32. package/dist/agents/length-normalizer.js +1 -4
  33. package/dist/agents/length-normalizer.js.map +1 -1
  34. package/dist/agents/planner-context.d.ts +54 -0
  35. package/dist/agents/planner-context.d.ts.map +1 -0
  36. package/dist/agents/planner-context.js +245 -0
  37. package/dist/agents/planner-context.js.map +1 -0
  38. package/dist/agents/planner-prompts.d.ts +36 -0
  39. package/dist/agents/planner-prompts.d.ts.map +1 -0
  40. package/dist/agents/planner-prompts.js +350 -0
  41. package/dist/agents/planner-prompts.js.map +1 -0
  42. package/dist/agents/planner.d.ts +39 -11
  43. package/dist/agents/planner.d.ts.map +1 -1
  44. package/dist/agents/planner.js +212 -195
  45. package/dist/agents/planner.js.map +1 -1
  46. package/dist/agents/polisher.d.ts +33 -0
  47. package/dist/agents/polisher.d.ts.map +1 -0
  48. package/dist/agents/polisher.js +122 -0
  49. package/dist/agents/polisher.js.map +1 -0
  50. package/dist/agents/post-write-validator.d.ts +1 -0
  51. package/dist/agents/post-write-validator.d.ts.map +1 -1
  52. package/dist/agents/post-write-validator.js +13 -0
  53. package/dist/agents/post-write-validator.js.map +1 -1
  54. package/dist/agents/reviser.d.ts +6 -2
  55. package/dist/agents/reviser.d.ts.map +1 -1
  56. package/dist/agents/reviser.js +379 -98
  57. package/dist/agents/reviser.js.map +1 -1
  58. package/dist/agents/rules-reader.d.ts +15 -2
  59. package/dist/agents/rules-reader.d.ts.map +1 -1
  60. package/dist/agents/rules-reader.js +49 -6
  61. package/dist/agents/rules-reader.js.map +1 -1
  62. package/dist/agents/state-validator.d.ts +9 -1
  63. package/dist/agents/state-validator.d.ts.map +1 -1
  64. package/dist/agents/state-validator.js +37 -1
  65. package/dist/agents/state-validator.js.map +1 -1
  66. package/dist/agents/writer-prompts.d.ts +1 -0
  67. package/dist/agents/writer-prompts.d.ts.map +1 -1
  68. package/dist/agents/writer-prompts.js +272 -29
  69. package/dist/agents/writer-prompts.js.map +1 -1
  70. package/dist/agents/writer.d.ts +12 -3
  71. package/dist/agents/writer.d.ts.map +1 -1
  72. package/dist/agents/writer.js +77 -107
  73. package/dist/agents/writer.js.map +1 -1
  74. package/dist/index.d.ts +20 -5
  75. package/dist/index.d.ts.map +1 -1
  76. package/dist/index.js +19 -5
  77. package/dist/index.js.map +1 -1
  78. package/dist/interaction/book-session-store.d.ts.map +1 -1
  79. package/dist/interaction/book-session-store.js +84 -69
  80. package/dist/interaction/book-session-store.js.map +1 -1
  81. package/dist/interaction/events.d.ts +2 -2
  82. package/dist/interaction/project-tools.d.ts +1 -0
  83. package/dist/interaction/project-tools.d.ts.map +1 -1
  84. package/dist/interaction/project-tools.js +51 -3
  85. package/dist/interaction/project-tools.js.map +1 -1
  86. package/dist/interaction/session-transcript-legacy.d.ts +4 -0
  87. package/dist/interaction/session-transcript-legacy.d.ts.map +1 -0
  88. package/dist/interaction/session-transcript-legacy.js +100 -0
  89. package/dist/interaction/session-transcript-legacy.js.map +1 -0
  90. package/dist/interaction/session-transcript-restore.d.ts +17 -0
  91. package/dist/interaction/session-transcript-restore.d.ts.map +1 -0
  92. package/dist/interaction/session-transcript-restore.js +493 -0
  93. package/dist/interaction/session-transcript-restore.js.map +1 -0
  94. package/dist/interaction/session-transcript-schema.d.ts +402 -0
  95. package/dist/interaction/session-transcript-schema.d.ts.map +1 -0
  96. package/dist/interaction/session-transcript-schema.js +59 -0
  97. package/dist/interaction/session-transcript-schema.js.map +1 -0
  98. package/dist/interaction/session-transcript.d.ts +14 -0
  99. package/dist/interaction/session-transcript.d.ts.map +1 -0
  100. package/dist/interaction/session-transcript.js +152 -0
  101. package/dist/interaction/session-transcript.js.map +1 -0
  102. package/dist/interaction/session.d.ts +10 -10
  103. package/dist/interaction/session.d.ts.map +1 -1
  104. package/dist/interaction/session.js +5 -3
  105. package/dist/interaction/session.js.map +1 -1
  106. package/dist/llm/provider.d.ts +6 -9
  107. package/dist/llm/provider.d.ts.map +1 -1
  108. package/dist/llm/provider.js +255 -63
  109. package/dist/llm/provider.js.map +1 -1
  110. package/dist/llm/providers/endpoints/ai360.d.ts +10 -0
  111. package/dist/llm/providers/endpoints/ai360.d.ts.map +1 -0
  112. package/dist/llm/providers/endpoints/ai360.js +34 -0
  113. package/dist/llm/providers/endpoints/ai360.js.map +1 -0
  114. package/dist/llm/providers/endpoints/anthropic.d.ts +12 -0
  115. package/dist/llm/providers/endpoints/anthropic.d.ts.map +1 -0
  116. package/dist/llm/providers/endpoints/anthropic.js +72 -0
  117. package/dist/llm/providers/endpoints/anthropic.js.map +1 -0
  118. package/dist/llm/providers/endpoints/astronCodingPlan.d.ts +16 -0
  119. package/dist/llm/providers/endpoints/astronCodingPlan.d.ts.map +1 -0
  120. package/dist/llm/providers/endpoints/astronCodingPlan.js +16 -0
  121. package/dist/llm/providers/endpoints/astronCodingPlan.js.map +1 -0
  122. package/dist/llm/providers/endpoints/baichuan.d.ts +10 -0
  123. package/dist/llm/providers/endpoints/baichuan.d.ts.map +1 -0
  124. package/dist/llm/providers/endpoints/baichuan.js +20 -0
  125. package/dist/llm/providers/endpoints/baichuan.js.map +1 -0
  126. package/dist/llm/providers/endpoints/bailian.d.ts +25 -0
  127. package/dist/llm/providers/endpoints/bailian.d.ts.map +1 -0
  128. package/dist/llm/providers/endpoints/bailian.js +42 -0
  129. package/dist/llm/providers/endpoints/bailian.js.map +1 -0
  130. package/dist/llm/providers/endpoints/bailianCodingPlan.d.ts +10 -0
  131. package/dist/llm/providers/endpoints/bailianCodingPlan.d.ts.map +1 -0
  132. package/dist/llm/providers/endpoints/bailianCodingPlan.js +22 -0
  133. package/dist/llm/providers/endpoints/bailianCodingPlan.js.map +1 -0
  134. package/dist/llm/providers/endpoints/custom.d.ts +16 -0
  135. package/dist/llm/providers/endpoints/custom.d.ts.map +1 -0
  136. package/dist/llm/providers/endpoints/custom.js +15 -0
  137. package/dist/llm/providers/endpoints/custom.js.map +1 -0
  138. package/dist/llm/providers/endpoints/deepseek.d.ts +17 -0
  139. package/dist/llm/providers/endpoints/deepseek.d.ts.map +1 -0
  140. package/dist/llm/providers/endpoints/deepseek.js +20 -0
  141. package/dist/llm/providers/endpoints/deepseek.js.map +1 -0
  142. package/dist/llm/providers/endpoints/giteeai.d.ts +10 -0
  143. package/dist/llm/providers/endpoints/giteeai.d.ts.map +1 -0
  144. package/dist/llm/providers/endpoints/giteeai.js +33 -0
  145. package/dist/llm/providers/endpoints/giteeai.js.map +1 -0
  146. package/dist/llm/providers/endpoints/githubCopilot.d.ts +10 -0
  147. package/dist/llm/providers/endpoints/githubCopilot.d.ts.map +1 -0
  148. package/dist/llm/providers/endpoints/githubCopilot.js +35 -0
  149. package/dist/llm/providers/endpoints/githubCopilot.js.map +1 -0
  150. package/dist/llm/providers/endpoints/glmCodingPlan.d.ts +9 -0
  151. package/dist/llm/providers/endpoints/glmCodingPlan.d.ts.map +1 -0
  152. package/dist/llm/providers/endpoints/glmCodingPlan.js +21 -0
  153. package/dist/llm/providers/endpoints/glmCodingPlan.js.map +1 -0
  154. package/dist/llm/providers/endpoints/google.d.ts +12 -0
  155. package/dist/llm/providers/endpoints/google.d.ts.map +1 -0
  156. package/dist/llm/providers/endpoints/google.js +41 -0
  157. package/dist/llm/providers/endpoints/google.js.map +1 -0
  158. package/dist/llm/providers/endpoints/hunyuan.d.ts +10 -0
  159. package/dist/llm/providers/endpoints/hunyuan.d.ts.map +1 -0
  160. package/dist/llm/providers/endpoints/hunyuan.js +34 -0
  161. package/dist/llm/providers/endpoints/hunyuan.js.map +1 -0
  162. package/dist/llm/providers/endpoints/infiniai.d.ts +10 -0
  163. package/dist/llm/providers/endpoints/infiniai.d.ts.map +1 -0
  164. package/dist/llm/providers/endpoints/infiniai.js +64 -0
  165. package/dist/llm/providers/endpoints/infiniai.js.map +1 -0
  166. package/dist/llm/providers/endpoints/internlm.d.ts +10 -0
  167. package/dist/llm/providers/endpoints/internlm.d.ts.map +1 -0
  168. package/dist/llm/providers/endpoints/internlm.js +20 -0
  169. package/dist/llm/providers/endpoints/internlm.js.map +1 -0
  170. package/dist/llm/providers/endpoints/kimiCodingPlan.d.ts +9 -0
  171. package/dist/llm/providers/endpoints/kimiCodingPlan.d.ts.map +1 -0
  172. package/dist/llm/providers/endpoints/kimiCodingPlan.js +17 -0
  173. package/dist/llm/providers/endpoints/kimiCodingPlan.js.map +1 -0
  174. package/dist/llm/providers/endpoints/longcat.d.ts +9 -0
  175. package/dist/llm/providers/endpoints/longcat.d.ts.map +1 -0
  176. package/dist/llm/providers/endpoints/longcat.js +18 -0
  177. package/dist/llm/providers/endpoints/longcat.js.map +1 -0
  178. package/dist/llm/providers/endpoints/minimax.d.ts +15 -0
  179. package/dist/llm/providers/endpoints/minimax.d.ts.map +1 -0
  180. package/dist/llm/providers/endpoints/minimax.js +26 -0
  181. package/dist/llm/providers/endpoints/minimax.js.map +1 -0
  182. package/dist/llm/providers/endpoints/minimaxCodingPlan.d.ts +9 -0
  183. package/dist/llm/providers/endpoints/minimaxCodingPlan.d.ts.map +1 -0
  184. package/dist/llm/providers/endpoints/minimaxCodingPlan.js +21 -0
  185. package/dist/llm/providers/endpoints/minimaxCodingPlan.js.map +1 -0
  186. package/dist/llm/providers/endpoints/mistral.d.ts +11 -0
  187. package/dist/llm/providers/endpoints/mistral.d.ts.map +1 -0
  188. package/dist/llm/providers/endpoints/mistral.js +31 -0
  189. package/dist/llm/providers/endpoints/mistral.js.map +1 -0
  190. package/dist/llm/providers/endpoints/modelscope.d.ts +10 -0
  191. package/dist/llm/providers/endpoints/modelscope.d.ts.map +1 -0
  192. package/dist/llm/providers/endpoints/modelscope.js +22 -0
  193. package/dist/llm/providers/endpoints/modelscope.js.map +1 -0
  194. package/dist/llm/providers/endpoints/moonshot.d.ts +12 -0
  195. package/dist/llm/providers/endpoints/moonshot.d.ts.map +1 -0
  196. package/dist/llm/providers/endpoints/moonshot.js +29 -0
  197. package/dist/llm/providers/endpoints/moonshot.js.map +1 -0
  198. package/dist/llm/providers/endpoints/newapi.d.ts +14 -0
  199. package/dist/llm/providers/endpoints/newapi.d.ts.map +1 -0
  200. package/dist/llm/providers/endpoints/newapi.js +14 -0
  201. package/dist/llm/providers/endpoints/newapi.js.map +1 -0
  202. package/dist/llm/providers/endpoints/ollama.d.ts +12 -0
  203. package/dist/llm/providers/endpoints/ollama.d.ts.map +1 -0
  204. package/dist/llm/providers/endpoints/ollama.js +63 -0
  205. package/dist/llm/providers/endpoints/ollama.js.map +1 -0
  206. package/dist/llm/providers/endpoints/openai.d.ts +12 -0
  207. package/dist/llm/providers/endpoints/openai.d.ts.map +1 -0
  208. package/dist/llm/providers/endpoints/openai.js +67 -0
  209. package/dist/llm/providers/endpoints/openai.js.map +1 -0
  210. package/dist/llm/providers/endpoints/opencodeCodingPlan.d.ts +9 -0
  211. package/dist/llm/providers/endpoints/opencodeCodingPlan.d.ts.map +1 -0
  212. package/dist/llm/providers/endpoints/opencodeCodingPlan.js +23 -0
  213. package/dist/llm/providers/endpoints/opencodeCodingPlan.js.map +1 -0
  214. package/dist/llm/providers/endpoints/openrouter.d.ts +15 -0
  215. package/dist/llm/providers/endpoints/openrouter.d.ts.map +1 -0
  216. package/dist/llm/providers/endpoints/openrouter.js +74 -0
  217. package/dist/llm/providers/endpoints/openrouter.js.map +1 -0
  218. package/dist/llm/providers/endpoints/ppio.d.ts +15 -0
  219. package/dist/llm/providers/endpoints/ppio.d.ts.map +1 -0
  220. package/dist/llm/providers/endpoints/ppio.js +73 -0
  221. package/dist/llm/providers/endpoints/ppio.js.map +1 -0
  222. package/dist/llm/providers/endpoints/qiniu.d.ts +10 -0
  223. package/dist/llm/providers/endpoints/qiniu.d.ts.map +1 -0
  224. package/dist/llm/providers/endpoints/qiniu.js +24 -0
  225. package/dist/llm/providers/endpoints/qiniu.js.map +1 -0
  226. package/dist/llm/providers/endpoints/sensenova.d.ts +10 -0
  227. package/dist/llm/providers/endpoints/sensenova.d.ts.map +1 -0
  228. package/dist/llm/providers/endpoints/sensenova.js +37 -0
  229. package/dist/llm/providers/endpoints/sensenova.js.map +1 -0
  230. package/dist/llm/providers/endpoints/siliconcloud.d.ts +14 -0
  231. package/dist/llm/providers/endpoints/siliconcloud.d.ts.map +1 -0
  232. package/dist/llm/providers/endpoints/siliconcloud.js +114 -0
  233. package/dist/llm/providers/endpoints/siliconcloud.js.map +1 -0
  234. package/dist/llm/providers/endpoints/spark.d.ts +14 -0
  235. package/dist/llm/providers/endpoints/spark.d.ts.map +1 -0
  236. package/dist/llm/providers/endpoints/spark.js +21 -0
  237. package/dist/llm/providers/endpoints/spark.js.map +1 -0
  238. package/dist/llm/providers/endpoints/stepfun.d.ts +10 -0
  239. package/dist/llm/providers/endpoints/stepfun.d.ts.map +1 -0
  240. package/dist/llm/providers/endpoints/stepfun.js +27 -0
  241. package/dist/llm/providers/endpoints/stepfun.js.map +1 -0
  242. package/dist/llm/providers/endpoints/tencentcloud.d.ts +10 -0
  243. package/dist/llm/providers/endpoints/tencentcloud.d.ts.map +1 -0
  244. package/dist/llm/providers/endpoints/tencentcloud.js +17 -0
  245. package/dist/llm/providers/endpoints/tencentcloud.js.map +1 -0
  246. package/dist/llm/providers/endpoints/volcengine.d.ts +10 -0
  247. package/dist/llm/providers/endpoints/volcengine.d.ts.map +1 -0
  248. package/dist/llm/providers/endpoints/volcengine.js +44 -0
  249. package/dist/llm/providers/endpoints/volcengine.js.map +1 -0
  250. package/dist/llm/providers/endpoints/volcengineCodingPlan.d.ts +19 -0
  251. package/dist/llm/providers/endpoints/volcengineCodingPlan.d.ts.map +1 -0
  252. package/dist/llm/providers/endpoints/volcengineCodingPlan.js +25 -0
  253. package/dist/llm/providers/endpoints/volcengineCodingPlan.js.map +1 -0
  254. package/dist/llm/providers/endpoints/wenxin.d.ts +10 -0
  255. package/dist/llm/providers/endpoints/wenxin.d.ts.map +1 -0
  256. package/dist/llm/providers/endpoints/wenxin.js +98 -0
  257. package/dist/llm/providers/endpoints/wenxin.js.map +1 -0
  258. package/dist/llm/providers/endpoints/xai.d.ts +11 -0
  259. package/dist/llm/providers/endpoints/xai.d.ts.map +1 -0
  260. package/dist/llm/providers/endpoints/xai.js +25 -0
  261. package/dist/llm/providers/endpoints/xai.js.map +1 -0
  262. package/dist/llm/providers/endpoints/xiaomimimo.d.ts +12 -0
  263. package/dist/llm/providers/endpoints/xiaomimimo.d.ts.map +1 -0
  264. package/dist/llm/providers/endpoints/xiaomimimo.js +16 -0
  265. package/dist/llm/providers/endpoints/xiaomimimo.js.map +1 -0
  266. package/dist/llm/providers/endpoints/zeroone.d.ts +10 -0
  267. package/dist/llm/providers/endpoints/zeroone.d.ts.map +1 -0
  268. package/dist/llm/providers/endpoints/zeroone.js +26 -0
  269. package/dist/llm/providers/endpoints/zeroone.js.map +1 -0
  270. package/dist/llm/providers/endpoints/zhipu.d.ts +12 -0
  271. package/dist/llm/providers/endpoints/zhipu.d.ts.map +1 -0
  272. package/dist/llm/providers/endpoints/zhipu.js +51 -0
  273. package/dist/llm/providers/endpoints/zhipu.js.map +1 -0
  274. package/dist/llm/providers/index.d.ts +5 -0
  275. package/dist/llm/providers/index.d.ts.map +1 -0
  276. package/dist/llm/providers/index.js +67 -0
  277. package/dist/llm/providers/index.js.map +1 -0
  278. package/dist/llm/providers/lookup.d.ts +16 -0
  279. package/dist/llm/providers/lookup.d.ts.map +1 -0
  280. package/dist/llm/providers/lookup.js +68 -0
  281. package/dist/llm/providers/lookup.js.map +1 -0
  282. package/dist/llm/providers/probe.d.ts +11 -0
  283. package/dist/llm/providers/probe.d.ts.map +1 -0
  284. package/dist/llm/providers/probe.js +24 -0
  285. package/dist/llm/providers/probe.js.map +1 -0
  286. package/dist/llm/providers/types.d.ts +71 -0
  287. package/dist/llm/providers/types.d.ts.map +1 -0
  288. package/dist/llm/providers/types.js +9 -0
  289. package/dist/llm/providers/types.js.map +1 -0
  290. package/dist/llm/providers/verify.d.ts +27 -0
  291. package/dist/llm/providers/verify.d.ts.map +1 -0
  292. package/dist/llm/providers/verify.js +77 -0
  293. package/dist/llm/providers/verify.js.map +1 -0
  294. package/dist/llm/secrets.d.ts.map +1 -1
  295. package/dist/llm/secrets.js +27 -2
  296. package/dist/llm/secrets.js.map +1 -1
  297. package/dist/llm/service-presets.d.ts +13 -3
  298. package/dist/llm/service-presets.d.ts.map +1 -1
  299. package/dist/llm/service-presets.js +78 -42
  300. package/dist/llm/service-presets.js.map +1 -1
  301. package/dist/llm/service-resolver.d.ts +1 -1
  302. package/dist/llm/service-resolver.d.ts.map +1 -1
  303. package/dist/llm/service-resolver.js +13 -0
  304. package/dist/llm/service-resolver.js.map +1 -1
  305. package/dist/models/book-rules.d.ts +23 -1
  306. package/dist/models/book-rules.d.ts.map +1 -1
  307. package/dist/models/book-rules.js +54 -2
  308. package/dist/models/book-rules.js.map +1 -1
  309. package/dist/models/input-governance.d.ts +20 -244
  310. package/dist/models/input-governance.d.ts.map +1 -1
  311. package/dist/models/input-governance.js +7 -51
  312. package/dist/models/input-governance.js.map +1 -1
  313. package/dist/models/project.d.ts +29 -28
  314. package/dist/models/project.d.ts.map +1 -1
  315. package/dist/models/project.js +11 -9
  316. package/dist/models/project.js.map +1 -1
  317. package/dist/models/runtime-state.d.ts +120 -0
  318. package/dist/models/runtime-state.d.ts.map +1 -1
  319. package/dist/models/runtime-state.js +12 -0
  320. package/dist/models/runtime-state.js.map +1 -1
  321. package/dist/pipeline/agent.d.ts.map +1 -1
  322. package/dist/pipeline/agent.js +59 -10
  323. package/dist/pipeline/agent.js.map +1 -1
  324. package/dist/pipeline/chapter-review-cycle.d.ts +11 -4
  325. package/dist/pipeline/chapter-review-cycle.d.ts.map +1 -1
  326. package/dist/pipeline/chapter-review-cycle.js +156 -73
  327. package/dist/pipeline/chapter-review-cycle.js.map +1 -1
  328. package/dist/pipeline/chapter-truth-validation.d.ts +2 -1
  329. package/dist/pipeline/chapter-truth-validation.d.ts.map +1 -1
  330. package/dist/pipeline/chapter-truth-validation.js +1 -1
  331. package/dist/pipeline/chapter-truth-validation.js.map +1 -1
  332. package/dist/pipeline/persisted-governed-plan.d.ts +1 -0
  333. package/dist/pipeline/persisted-governed-plan.d.ts.map +1 -1
  334. package/dist/pipeline/persisted-governed-plan.js +181 -66
  335. package/dist/pipeline/persisted-governed-plan.js.map +1 -1
  336. package/dist/pipeline/runner.d.ts +20 -17
  337. package/dist/pipeline/runner.d.ts.map +1 -1
  338. package/dist/pipeline/runner.js +359 -84
  339. package/dist/pipeline/runner.js.map +1 -1
  340. package/dist/state/manager.d.ts.map +1 -1
  341. package/dist/state/manager.js +44 -4
  342. package/dist/state/manager.js.map +1 -1
  343. package/dist/state/memory-db.d.ts +6 -0
  344. package/dist/state/memory-db.d.ts.map +1 -1
  345. package/dist/state/memory-db.js.map +1 -1
  346. package/dist/state/runtime-state-store.d.ts.map +1 -1
  347. package/dist/state/runtime-state-store.js +4 -1
  348. package/dist/state/runtime-state-store.js.map +1 -1
  349. package/dist/state/state-projections.d.ts +3 -1
  350. package/dist/state/state-projections.d.ts.map +1 -1
  351. package/dist/state/state-projections.js +58 -15
  352. package/dist/state/state-projections.js.map +1 -1
  353. package/dist/utils/book-id.d.ts +4 -0
  354. package/dist/utils/book-id.d.ts.map +1 -0
  355. package/dist/utils/book-id.js +27 -0
  356. package/dist/utils/book-id.js.map +1 -0
  357. package/dist/utils/chapter-cadence.js +1 -0
  358. package/dist/utils/chapter-cadence.js.map +1 -1
  359. package/dist/utils/chapter-memo-parser.d.ts +19 -0
  360. package/dist/utils/chapter-memo-parser.d.ts.map +1 -0
  361. package/dist/utils/chapter-memo-parser.js +114 -0
  362. package/dist/utils/chapter-memo-parser.js.map +1 -0
  363. package/dist/utils/config-loader.d.ts +7 -11
  364. package/dist/utils/config-loader.d.ts.map +1 -1
  365. package/dist/utils/config-loader.js +13 -253
  366. package/dist/utils/config-loader.js.map +1 -1
  367. package/dist/utils/context-assembly.d.ts +24 -0
  368. package/dist/utils/context-assembly.d.ts.map +1 -0
  369. package/dist/utils/context-assembly.js +77 -0
  370. package/dist/utils/context-assembly.js.map +1 -0
  371. package/dist/utils/effective-llm-config.d.ts +34 -0
  372. package/dist/utils/effective-llm-config.d.ts.map +1 -0
  373. package/dist/utils/effective-llm-config.js +417 -0
  374. package/dist/utils/effective-llm-config.js.map +1 -0
  375. package/dist/utils/governed-working-set.js +1 -1
  376. package/dist/utils/governed-working-set.js.map +1 -1
  377. package/dist/utils/hook-ledger-validator.d.ts +82 -0
  378. package/dist/utils/hook-ledger-validator.d.ts.map +1 -0
  379. package/dist/utils/hook-ledger-validator.js +225 -0
  380. package/dist/utils/hook-ledger-validator.js.map +1 -0
  381. package/dist/utils/hook-lifecycle.d.ts +5 -0
  382. package/dist/utils/hook-lifecycle.d.ts.map +1 -1
  383. package/dist/utils/hook-lifecycle.js +32 -0
  384. package/dist/utils/hook-lifecycle.js.map +1 -1
  385. package/dist/utils/hook-policy.d.ts +0 -17
  386. package/dist/utils/hook-policy.d.ts.map +1 -1
  387. package/dist/utils/hook-policy.js +0 -30
  388. package/dist/utils/hook-policy.js.map +1 -1
  389. package/dist/utils/hook-promotion.d.ts +83 -0
  390. package/dist/utils/hook-promotion.d.ts.map +1 -0
  391. package/dist/utils/hook-promotion.js +241 -0
  392. package/dist/utils/hook-promotion.js.map +1 -0
  393. package/dist/utils/hook-stale-detection.d.ts +51 -0
  394. package/dist/utils/hook-stale-detection.d.ts.map +1 -0
  395. package/dist/utils/hook-stale-detection.js +125 -0
  396. package/dist/utils/hook-stale-detection.js.map +1 -0
  397. package/dist/utils/llm-endpoint-auth.d.ts +5 -0
  398. package/dist/utils/llm-endpoint-auth.d.ts.map +1 -0
  399. package/dist/utils/llm-endpoint-auth.js +36 -0
  400. package/dist/utils/llm-endpoint-auth.js.map +1 -0
  401. package/dist/utils/llm-env.d.ts +14 -0
  402. package/dist/utils/llm-env.d.ts.map +1 -0
  403. package/dist/utils/llm-env.js +53 -0
  404. package/dist/utils/llm-env.js.map +1 -0
  405. package/dist/utils/memory-retrieval.d.ts +23 -1
  406. package/dist/utils/memory-retrieval.d.ts.map +1 -1
  407. package/dist/utils/memory-retrieval.js +45 -2
  408. package/dist/utils/memory-retrieval.js.map +1 -1
  409. package/dist/utils/narrative-control.d.ts +16 -0
  410. package/dist/utils/narrative-control.d.ts.map +1 -0
  411. package/dist/utils/narrative-control.js +131 -0
  412. package/dist/utils/narrative-control.js.map +1 -0
  413. package/dist/utils/path-safety.d.ts +2 -0
  414. package/dist/utils/path-safety.d.ts.map +1 -0
  415. package/dist/utils/path-safety.js +11 -0
  416. package/dist/utils/path-safety.js.map +1 -0
  417. package/dist/utils/planning-materials.d.ts +35 -0
  418. package/dist/utils/planning-materials.d.ts.map +1 -0
  419. package/dist/utils/planning-materials.js +123 -0
  420. package/dist/utils/planning-materials.js.map +1 -0
  421. package/dist/utils/proxy-fetch.d.ts +9 -0
  422. package/dist/utils/proxy-fetch.d.ts.map +1 -0
  423. package/dist/utils/proxy-fetch.js +31 -0
  424. package/dist/utils/proxy-fetch.js.map +1 -0
  425. package/dist/utils/runtime-writer.d.ts +14 -0
  426. package/dist/utils/runtime-writer.d.ts.map +1 -0
  427. package/dist/utils/runtime-writer.js +21 -0
  428. package/dist/utils/runtime-writer.js.map +1 -0
  429. package/dist/utils/spot-fix-patches.d.ts +7 -0
  430. package/dist/utils/spot-fix-patches.d.ts.map +1 -1
  431. package/dist/utils/spot-fix-patches.js +109 -36
  432. package/dist/utils/spot-fix-patches.js.map +1 -1
  433. package/dist/utils/story-markdown.d.ts.map +1 -1
  434. package/dist/utils/story-markdown.js +104 -6
  435. package/dist/utils/story-markdown.js.map +1 -1
  436. package/dist/utils/writing-methodology.d.ts +10 -0
  437. package/dist/utils/writing-methodology.d.ts.map +1 -0
  438. package/dist/utils/writing-methodology.js +163 -0
  439. package/dist/utils/writing-methodology.js.map +1 -0
  440. package/package.json +3 -2
  441. package/dist/utils/hook-agenda.d.ts +0 -21
  442. package/dist/utils/hook-agenda.d.ts.map +0 -1
  443. package/dist/utils/hook-agenda.js +0 -95
  444. package/dist/utils/hook-agenda.js.map +0 -1
@@ -1,15 +1,51 @@
1
1
  import { BaseAgent } from "./base.js";
2
2
  import { readGenreProfile, readBookLanguage, readBookRules } from "./rules-reader.js";
3
- import { readStoryFrame, readVolumeMap, readCharacterContext, readCurrentStateWithFallback } from "../utils/outline-paths.js";
4
3
  import { countChapterLength } from "../utils/length-metrics.js";
5
4
  import { buildGovernedMemoryEvidenceBlocks } from "../utils/governed-context.js";
6
5
  import { filterSummaries } from "../utils/context-filter.js";
7
6
  import { buildGovernedCharacterMatrixWorkingSet, buildGovernedHookWorkingSet, mergeTableMarkdownByKey, } from "../utils/governed-working-set.js";
8
7
  import { applySpotFixPatches, parseSpotFixPatches } from "../utils/spot-fix-patches.js";
8
+ import { buildNarrativeIntentBrief, renderMemoAsNarrativeBlock, renderNarrativeSelectedContext, sanitizeNarrativeEvidenceBlock, } from "../utils/narrative-control.js";
9
9
  import { readFile } from "node:fs/promises";
10
10
  import { join } from "node:path";
11
- export const DEFAULT_REVISE_MODE = "spot-fix";
11
+ import { readStoryFrame, readVolumeMap, readCharacterContext, readCurrentStateWithFallback, } from "../utils/outline-paths.js";
12
+ export const DEFAULT_REVISE_MODE = "auto";
13
+ function buildTieredIssueList(issues, isEnglish) {
14
+ const critical = [];
15
+ const high = [];
16
+ const medium = [];
17
+ for (const issue of issues) {
18
+ const line = `- ${issue.category}: ${issue.description}`;
19
+ if (issue.severity === "critical") {
20
+ critical.push(line);
21
+ }
22
+ else if (issue.severity === "warning") {
23
+ high.push(line);
24
+ }
25
+ else {
26
+ medium.push(line);
27
+ }
28
+ }
29
+ const parts = [];
30
+ if (critical.length > 0) {
31
+ parts.push(isEnglish
32
+ ? `## Critical — Must Fix\n${critical.join("\n")}`
33
+ : `## Critical(必须解决)\n${critical.join("\n")}`);
34
+ }
35
+ if (high.length > 0) {
36
+ parts.push(isEnglish
37
+ ? `## High — Should Improve\n${high.join("\n")}`
38
+ : `## High(应当改善)\n${high.join("\n")}`);
39
+ }
40
+ if (medium.length > 0) {
41
+ parts.push(isEnglish
42
+ ? `## Medium — Reference\n${medium.join("\n")}`
43
+ : `## Medium(参考建议)\n${medium.join("\n")}`);
44
+ }
45
+ return parts.join("\n\n");
46
+ }
12
47
  const MODE_DESCRIPTIONS = {
48
+ auto: "", // auto mode uses buildAutoSystemPrompt instead
13
49
  polish: "润色:只改表达、节奏、段落呼吸,不改事实与剧情结论。禁止:增删段落、改变人名/地名/物品名、增加新情节或新对话、改变因果关系。只允许:替换用词、调整句序、修改标点节奏",
14
50
  rewrite: "改写:允许重组问题段落、调整画面和叙述力度,但优先保留原文的绝大部分句段。除非问题跨越整章,否则禁止整章推倒重写;只能围绕问题段落及其直接上下文改写,同时保留核心事实与人物动机",
15
51
  rework: "重写:可重构场景推进和冲突组织,但不改主设定和大事件结果",
@@ -33,13 +69,15 @@ export class ReviserAgent extends BaseAgent {
33
69
  }
34
70
  async reviseChapter(bookDir, chapterContent, chapterNumber, issues, mode = DEFAULT_REVISE_MODE, genre, options) {
35
71
  const [currentState, ledger, hooks, styleGuideRaw, volumeOutline, storyBible, characterMatrix, chapterSummaries, parentCanon, fanficCanon] = await Promise.all([
36
- readCurrentStateWithFallback(bookDir),
72
+ // Phase 5 consolidation: derive initial state from roles + seed hooks
73
+ // when current_state.md is still the architect seed placeholder.
74
+ readCurrentStateWithFallback(bookDir, "(文件不存在)"),
37
75
  this.readFileSafe(join(bookDir, "story/particle_ledger.md")),
38
76
  this.readFileSafe(join(bookDir, "story/pending_hooks.md")),
39
77
  this.readFileSafe(join(bookDir, "story/style_guide.md")),
40
- readVolumeMap(bookDir),
41
- readStoryFrame(bookDir),
42
- readCharacterContext(bookDir),
78
+ readVolumeMap(bookDir, "(文件不存在)"),
79
+ readStoryFrame(bookDir, "(文件不存在)"),
80
+ readCharacterContext(bookDir, "(文件不存在)"),
43
81
  this.readFileSafe(join(bookDir, "story/chapter_summaries.md")),
44
82
  this.readFileSafe(join(bookDir, "story/parent_canon.md")),
45
83
  this.readFileSafe(join(bookDir, "story/fanfic_canon.md")),
@@ -52,29 +90,41 @@ export class ReviserAgent extends BaseAgent {
52
90
  ]);
53
91
  const parsedRules = await readBookRules(bookDir);
54
92
  const bookRules = parsedRules?.rules ?? null;
55
- // Fallback: use book_rules body when style_guide.md doesn't exist
93
+ // Fallback: use book_rules body when style_guide.md doesn't exist.
94
+ // Phase 5 hotfix 2: parsedRules.body is only populated for legacy
95
+ // book_rules.md sources — story_frame.md frontmatter yields an empty
96
+ // body, and an empty string is NOT a usable style guide. Treat
97
+ // missing/empty body as "no fallback available".
98
+ const legacyRulesBody = parsedRules?.body?.trim();
56
99
  const styleGuide = styleGuideRaw !== "(文件不存在)"
57
100
  ? styleGuideRaw
58
- : (parsedRules?.body ?? "(无文风指南)");
59
- const issueList = issues
60
- .map((i) => `- [${i.severity}] ${i.category}: ${i.description}\n 建议: ${i.suggestion}`)
61
- .join("\n");
62
- const modeDesc = MODE_DESCRIPTIONS[mode];
101
+ : (legacyRulesBody || "(无文风指南)");
102
+ const isEnglish = (bookLanguage ?? gp.language) === "en";
103
+ const resolvedLanguage = isEnglish ? "en" : "zh";
104
+ const issueList = mode === "auto"
105
+ ? buildTieredIssueList(issues, isEnglish)
106
+ : issues
107
+ .map((i) => `- [${i.severity}] ${i.category}: ${i.description}\n ${isEnglish ? "Suggestion" : "建议"}: ${i.suggestion}`)
108
+ .join("\n");
63
109
  const numericalRule = gp.numericalSystem
64
- ? "\n3. 数值错误必须精确修正,前后对账"
110
+ ? (isEnglish
111
+ ? "\n3. Numerical errors must be fixed precisely — cross-check before and after"
112
+ : "\n3. 数值错误必须精确修正,前后对账")
65
113
  : "";
66
114
  const protagonistBlock = bookRules?.protagonist
67
- ? `\n\n主角人设锁定:${bookRules.protagonist.name},${bookRules.protagonist.personalityLock.join("、")}。修改不得违反人设。`
115
+ ? (isEnglish
116
+ ? `\n\nProtagonist lock: ${bookRules.protagonist.name} — ${bookRules.protagonist.personalityLock.join(", ")}. Revisions must not violate the protagonist profile.`
117
+ : `\n\n主角人设锁定:${bookRules.protagonist.name},${bookRules.protagonist.personalityLock.join("、")}。修改不得违反人设。`)
68
118
  : "";
69
- const lengthGuardrail = options?.lengthSpec
70
- ? `\n8. 保持章节字数在目标区间内;只有在修复关键问题确实需要时才允许轻微偏离`
119
+ // Length guardrail only used by legacy modes (manual CLI revise).
120
+ // Auto mode delegates length to normalize, not reviser.
121
+ const lengthGuardrail = mode !== "auto" && options?.lengthSpec
122
+ ? (isEnglish
123
+ ? "\n8. Keep the chapter word count within the target range; only allow minor deviation when fixing critical issues truly requires it"
124
+ : "\n8. 保持章节字数在目标区间内;只有在修复关键问题确实需要时才允许轻微偏离")
71
125
  : "";
72
- const isEnglish = (bookLanguage ?? gp.language) === "en";
73
- const resolvedLanguage = isEnglish ? "en" : "zh";
74
126
  const langPrefix = isEnglish
75
- ? mode === "spot-fix"
76
- ? `【LANGUAGE OVERRIDE】ALL output (FIXED_ISSUES, PATCHES, UPDATED_STATE, UPDATED_HOOKS) MUST be in English. Every TARGET_TEXT and REPLACEMENT_TEXT must be written entirely in English.\n\n`
77
- : `【LANGUAGE OVERRIDE】ALL output (FIXED_ISSUES, REVISED_CONTENT, UPDATED_STATE, UPDATED_HOOKS) MUST be in English. The revised chapter content must be written entirely in English.\n\n`
127
+ ? `【LANGUAGE OVERRIDE】ALL output (FIXED_ISSUES, PATCHES, REVISED_CONTENT, UPDATED_STATE, UPDATED_HOOKS) MUST be in English.\n\n`
78
128
  : "";
79
129
  const governedMode = Boolean(options?.chapterIntent && options?.contextPackage && options?.ruleStack);
80
130
  const hooksWorkingSet = governedMode && options?.contextPackage
@@ -96,52 +146,10 @@ export class ReviserAgent extends BaseAgent {
96
146
  protagonistName: bookRules?.protagonist?.name,
97
147
  })
98
148
  : characterMatrix;
99
- const outputFormat = mode === "spot-fix"
100
- ? `=== FIXED_ISSUES ===
101
- (逐条说明修正了什么,一行一条;如果无法安全定点修复,也在这里说明)
102
-
103
- === PATCHES ===
104
- (只输出需要替换的局部补丁,不得输出整章重写。格式如下,可重复多个 PATCH 区块)
105
- --- PATCH 1 ---
106
- TARGET_TEXT:
107
- (必须从原文中精确复制、且能唯一命中的原句或原段)
108
- REPLACEMENT_TEXT:
109
- (替换后的局部文本)
110
- --- END PATCH ---
111
-
112
- === UPDATED_STATE ===
113
- (更新后的完整状态卡)
114
- ${gp.numericalSystem ? "\n=== UPDATED_LEDGER ===\n(更新后的完整资源账本)" : ""}
115
- === UPDATED_HOOKS ===
116
- (更新后的完整伏笔池)`
117
- : `=== FIXED_ISSUES ===
118
- (逐条说明修正了什么,一行一条)
119
-
120
- === REVISED_CONTENT ===
121
- (修正后的完整正文)
122
-
123
- === UPDATED_STATE ===
124
- (更新后的完整状态卡)
125
- ${gp.numericalSystem ? "\n=== UPDATED_LEDGER ===\n(更新后的完整资源账本)" : ""}
126
- === UPDATED_HOOKS ===
127
- (更新后的完整伏笔池)`;
128
- const systemPrompt = `${langPrefix}你是一位专业的${gp.name}网络小说修稿编辑。你的任务是根据审稿意见对章节进行修正。${protagonistBlock}
129
-
130
- 修稿模式:${modeDesc}
131
-
132
- 修稿原则:
133
- 1. 按模式控制修改幅度
134
- 2. 修根因,不做表面润色${numericalRule}
135
- 4. 伏笔状态必须与伏笔池同步
136
- 5. 不改变剧情走向和核心冲突
137
- 6. 保持原文的语言风格和节奏
138
- 7. 修改后同步更新状态卡${gp.numericalSystem ? "、账本" : ""}、伏笔池
139
- ${lengthGuardrail}
140
- ${mode === "spot-fix" ? "\n9. spot-fix 只能输出局部补丁,禁止输出整章改写;TARGET_TEXT 必须能在原文中唯一命中\n10. 如果需要大面积改写,说明无法安全 spot-fix,并让 PATCHES 留空" : ""}
141
-
142
- 输出格式:
143
-
144
- ${outputFormat}`;
149
+ const autoOutputMode = mode === "auto" ? resolveAutoOutputMode(issues) : "allow-full";
150
+ const systemPrompt = mode === "auto"
151
+ ? this.buildAutoSystemPrompt({ langPrefix, gp, protagonistBlock, numericalRule, lengthGuardrail, resolvedLanguage, lengthSpec: options?.lengthSpec, autoOutputMode })
152
+ : this.buildLegacySystemPrompt({ langPrefix, gp, protagonistBlock, numericalRule, lengthGuardrail, mode, resolvedLanguage });
145
153
  const ledgerBlock = gp.numericalSystem
146
154
  ? `\n## 资源账本\n${ledger}`
147
155
  : "";
@@ -173,10 +181,11 @@ ${outputFormat}`;
173
181
  const fanficCanonBlock = hasFanficCanon
174
182
  ? `\n## 同人正典参照(修稿专用)\n本书为同人作品。修改时参照正典角色档案和世界规则,不可违反正典事实。角色对话必须保留原作语癖。\n${fanficCanon}\n`
175
183
  : "";
176
- const reducedControlBlock = options?.chapterIntent && options.contextPackage && options.ruleStack
177
- ? this.buildReducedControlBlock(options.chapterIntent, options.contextPackage, options.ruleStack)
184
+ const reducedControlBlock = options?.contextPackage && options.ruleStack
185
+ ? this.buildReducedControlBlock(options.chapterMemo, options.chapterIntentData, options.chapterIntent, options.contextPackage, options.ruleStack)
178
186
  : "";
179
- const lengthGuidanceBlock = options?.lengthSpec
187
+ // Length guardrail only in legacy modes — auto mode delegates length to normalize.
188
+ const lengthGuidanceBlock = mode !== "auto" && options?.lengthSpec
180
189
  ? `\n## 字数护栏\n目标字数:${options.lengthSpec.target}\n允许区间:${options.lengthSpec.softMin}-${options.lengthSpec.softMax}\n极限区间:${options.lengthSpec.hardMin}-${options.lengthSpec.hardMax}\n如果修正后超出允许区间,请优先压缩冗余解释、重复动作和弱信息句,不得新增支线或删掉核心事实。\n`
181
190
  : "";
182
191
  const styleGuideBlock = reducedControlBlock.length === 0
@@ -190,16 +199,15 @@ ${issueList}
190
199
  ## 当前状态卡
191
200
  ${currentState}
192
201
  ${ledgerBlock}
193
- ${hookDebtBlock}${hooksBlock}${volumeSummariesBlock}${reducedControlBlock || outlineBlock}${bibleBlock}${matrixBlock}${summariesBlock}${canonBlock}${fanficCanonBlock}${styleGuideBlock}${lengthGuidanceBlock}
202
+ ${sanitizeNarrativeEvidenceBlock(hookDebtBlock, resolvedLanguage) ?? ""}${sanitizeNarrativeEvidenceBlock(hooksBlock, resolvedLanguage) ?? ""}${sanitizeNarrativeEvidenceBlock(volumeSummariesBlock, resolvedLanguage) ?? ""}${reducedControlBlock || outlineBlock}${bibleBlock}${matrixBlock}${sanitizeNarrativeEvidenceBlock(summariesBlock, resolvedLanguage) ?? ""}${canonBlock}${fanficCanonBlock}${styleGuideBlock}${lengthGuidanceBlock}
194
203
 
195
204
  ## 待修正章节
196
205
  ${chapterContent}`;
197
- const maxTokens = mode === "spot-fix" ? 8192 : 16384;
198
206
  const response = await this.chat([
199
207
  { role: "system", content: systemPrompt },
200
208
  { role: "user", content: userPrompt },
201
- ], { temperature: 0.3, maxTokens });
202
- const output = this.parseOutput(response.content, gp, mode, chapterContent);
209
+ ], { temperature: 0.3 });
210
+ const output = this.parseOutput(response.content, gp, mode, chapterContent, autoOutputMode);
203
211
  const mergedOutput = governedMode
204
212
  ? {
205
213
  ...output,
@@ -211,7 +219,7 @@ ${chapterContent}`;
211
219
  : mergedOutput.wordCount;
212
220
  return { ...mergedOutput, wordCount, tokenUsage: response.usage };
213
221
  }
214
- parseOutput(content, gp, mode, originalChapter) {
222
+ parseOutput(content, gp, mode, originalChapter, autoOutputMode = "allow-full") {
215
223
  const extract = (tag) => {
216
224
  const regex = new RegExp(`=== ${tag} ===\\s*([\\s\\S]*?)(?==== [A-Z_]+ ===|$)`);
217
225
  const match = content.match(regex);
@@ -222,31 +230,236 @@ ${chapterContent}`;
222
230
  .split("\n")
223
231
  .map((l) => l.trim())
224
232
  .filter((l) => l.length > 0);
225
- if (mode === "spot-fix") {
226
- const patches = parseSpotFixPatches(extract("PATCHES"));
227
- const patchResult = applySpotFixPatches(originalChapter, patches);
228
- return {
229
- revisedContent: patchResult.revisedContent,
230
- wordCount: patchResult.revisedContent.length,
231
- fixedIssues: patchResult.applied ? fixedIssues : [],
232
- updatedState: extract("UPDATED_STATE") || "(状态卡未更新)",
233
- updatedLedger: gp.numericalSystem
234
- ? (extract("UPDATED_LEDGER") || "(账本未更新)")
235
- : "",
236
- updatedHooks: extract("UPDATED_HOOKS") || "(伏笔池未更新)",
237
- };
238
- }
239
- const revisedContent = extract("REVISED_CONTENT");
240
- return {
233
+ const makeResult = (revisedContent, applied) => ({
241
234
  revisedContent,
242
235
  wordCount: revisedContent.length,
243
- fixedIssues,
236
+ fixedIssues: applied ? fixedIssues : [],
244
237
  updatedState: extract("UPDATED_STATE") || "(状态卡未更新)",
245
238
  updatedLedger: gp.numericalSystem
246
239
  ? (extract("UPDATED_LEDGER") || "(账本未更新)")
247
240
  : "",
248
241
  updatedHooks: extract("UPDATED_HOOKS") || "(伏笔池未更新)",
249
- };
242
+ });
243
+ // Auto mode: route by issue type — structural issues require REVISED_CONTENT,
244
+ // local-only issues only accept PATCHES, mixed sets accept either.
245
+ if (mode === "auto") {
246
+ if (autoOutputMode === "patch-only") {
247
+ const patchesRaw = extract("PATCHES");
248
+ if (patchesRaw) {
249
+ const patches = parseSpotFixPatches(patchesRaw);
250
+ if (patches.length > 0) {
251
+ const patchResult = applySpotFixPatches(originalChapter, patches);
252
+ if (patchResult.applied && patchResult.appliedPatchCount / patches.length >= 0.5) {
253
+ return makeResult(patchResult.revisedContent, true);
254
+ }
255
+ }
256
+ }
257
+ return makeResult(originalChapter, false);
258
+ }
259
+ if (autoOutputMode === "rewrite-only") {
260
+ const revisedContent = extract("REVISED_CONTENT");
261
+ if (revisedContent) {
262
+ return makeResult(revisedContent, true);
263
+ }
264
+ // No rewrite produced — don't fall back to patches; structural issues
265
+ // cannot be safely patched. Return original unchanged.
266
+ return makeResult(originalChapter, false);
267
+ }
268
+ const revisedContent = extract("REVISED_CONTENT");
269
+ if (revisedContent) {
270
+ return makeResult(revisedContent, true);
271
+ }
272
+ const patchesRaw = extract("PATCHES");
273
+ if (patchesRaw) {
274
+ const patches = parseSpotFixPatches(patchesRaw);
275
+ if (patches.length > 0) {
276
+ const patchResult = applySpotFixPatches(originalChapter, patches);
277
+ if (patchResult.applied && patchResult.appliedPatchCount / patches.length >= 0.5) {
278
+ return makeResult(patchResult.revisedContent, true);
279
+ }
280
+ }
281
+ }
282
+ // Both empty — no fix
283
+ return makeResult(originalChapter, false);
284
+ }
285
+ // Legacy spot-fix mode: patches only
286
+ if (mode === "spot-fix") {
287
+ const patches = parseSpotFixPatches(extract("PATCHES"));
288
+ const patchResult = applySpotFixPatches(originalChapter, patches);
289
+ return makeResult(patchResult.revisedContent, patchResult.applied);
290
+ }
291
+ // Legacy rewrite/polish/rework/anti-detect: full content
292
+ const revisedContent = extract("REVISED_CONTENT");
293
+ return makeResult(revisedContent || originalChapter, revisedContent.length > 0);
294
+ }
295
+ buildAutoSystemPrompt(params) {
296
+ const { langPrefix, gp, protagonistBlock, numericalRule, resolvedLanguage, lengthSpec, autoOutputMode } = params;
297
+ // lengthGuardrail intentionally not used in auto mode — length constraint is embedded in REVISED_CONTENT description
298
+ const en = resolvedLanguage === "en";
299
+ const ledgerSection = gp.numericalSystem
300
+ ? (en ? "\n=== UPDATED_LEDGER ===\n(Full updated resource ledger)" : "\n=== UPDATED_LEDGER ===\n(更新后的完整资源账本)")
301
+ : "";
302
+ const rewriteLengthConstraint = lengthSpec
303
+ ? (en
304
+ ? `\n HARD CONSTRAINT: The revised chapter must stay within ${lengthSpec.softMin}-${lengthSpec.softMax} characters (target: ${lengthSpec.target}, ±25%). This is non-negotiable — do not exceed this range.`
305
+ : `\n 硬性约束:重写后的章节必须控制在 ${lengthSpec.softMin}-${lengthSpec.softMax} 字以内(目标 ${lengthSpec.target} 字,±25%)。这是不可突破的底线。`)
306
+ : "";
307
+ const routingDirectiveEn = autoOutputMode === "rewrite-only"
308
+ ? "\n\nROUTING: The reviewer's blocking issues are structural / semantic (character collapse, mainline drift, missing payoff, timeline break, unpaid hook, memo drift, etc.). You MUST output REVISED_CONTENT — do not emit PATCHES, they cannot fix this class of problem. If you cannot safely rewrite, say so in FIXED_ISSUES and leave REVISED_CONTENT empty."
309
+ : autoOutputMode === "patch-only"
310
+ ? "\n\nROUTING: The reviewer's blocking issues are local (wording, paragraph shape, fatigue word, information boundary, knowledge pollution). You MUST output PATCHES only — do not rewrite the whole chapter. If patches are not possible, leave PATCHES empty."
311
+ : "";
312
+ const routingDirectiveZh = autoOutputMode === "rewrite-only"
313
+ ? "\n\n分流指令:reviewer 报告的阻塞问题属于结构/语义错(人设崩、主线偏、爽点缺、时间线错、伏笔未收、memo 偏离等)。你必须输出 REVISED_CONTENT——禁止输出 PATCHES,这类问题不能靠补丁修复。如果无法安全重写,在 FIXED_ISSUES 里说明并留空 REVISED_CONTENT。"
314
+ : autoOutputMode === "patch-only"
315
+ ? "\n\n分流指令:reviewer 报告的阻塞问题属于局部错(措辞、段落形状、疲劳词、信息越界、知识污染)。你必须只输出 PATCHES——不要整章改写。如果做不出补丁,留空 PATCHES。"
316
+ : "";
317
+ return en
318
+ ? `${langPrefix}You are a professional ${gp.name} web-fiction revision editor. Fix the chapter according to the review notes.${protagonistBlock}${routingDirectiveEn}
319
+
320
+ PATCHES and REVISED_CONTENT serve different problems — choose by problem type, not preference:
321
+
322
+ PATCHES — for local text issues (wording, dialogue, AI-tell phrases, small continuity errors).
323
+ Each PATCH quotes the passage to change (a sentence, a paragraph, or multiple paragraphs) and provides a replacement. Untouched text stays exactly as-is.
324
+
325
+ REVISED_CONTENT — for whole-chapter issues (length compression, structural rewrite, pacing restructure, major plot realignment).
326
+ Outputs the full revised chapter. When Critical issues include length or structural problems, you must use REVISED_CONTENT — patches cannot compress or restructure a chapter.${rewriteLengthConstraint}
327
+
328
+ If Critical issues include both local and whole-chapter problems, use REVISED_CONTENT (it addresses everything in one pass).
329
+
330
+ Revision principles:
331
+ 1. Fix root causes — do not apply superficial polish${numericalRule}
332
+ 2. Hook status must stay in sync with the hooks board. If hook debt briefs are provided, preserve hook payoff scenes
333
+ 3. Do not alter the plot direction or core conflicts
334
+ 4. Preserve the original language style, rhythm, and pacing — do not compress transitional scenes or remove breathing room
335
+ 5. Emotion through action (never "he felt angry" — show it). Values through behavior, not slogans
336
+ 6. Different characters speak differently. No "everyone gasped in unison"
337
+ 7. Escalate: bad things stack, each worse than the last
338
+
339
+ Cycle-aware revision:
340
+ - If this chapter should be "aftermath" but is still escalating tension, rewrite the densest conflict passage into a change-showing passage — who lost what, whose attitude shifted, what the new normal is
341
+ - If this chapter should be "climax" but has no clear payoff, find the closest scene to a reward and amplify it — make the promised release exceed reader expectations
342
+ - Daily passages that don't serve the main line: rewrite as "bait" — add a detail pointing to the future, a hint, a character reaction that seeds curiosity
343
+
344
+ Output format:
345
+
346
+ === FIXED_ISSUES ===
347
+ (List each fix on its own line; if a safe local fix is not possible, explain here)
348
+
349
+ === PATCHES ===
350
+ (Output local patches if applicable. Omit this section entirely if using REVISED_CONTENT)
351
+ --- PATCH 1 ---
352
+ TARGET_TEXT:
353
+ (Exact quote from the original that identifies the passage to change)
354
+ REPLACEMENT_TEXT:
355
+ (Replacement text for this passage)
356
+ --- END PATCH ---
357
+
358
+ === REVISED_CONTENT ===
359
+ (Full revised chapter content — only when PATCHES cannot solve the problem. Omit this section if using PATCHES)
360
+
361
+ === UPDATED_STATE ===
362
+ (Full updated state card)
363
+ ${ledgerSection}
364
+ === UPDATED_HOOKS ===
365
+ (Full updated hooks board)`
366
+ : `${langPrefix}你是一位专业的${gp.name}网络小说修稿编辑。你的任务是根据审稿意见对章节进行修正。${protagonistBlock}${routingDirectiveZh}
367
+
368
+ PATCHES 和 REVISED_CONTENT 分别处理不同类型的问题——按问题类型选择,不是按偏好:
369
+
370
+ PATCHES——处理局部文字问题(措辞、对话、AI痕迹、小的连续性错误)。
371
+ 每个 PATCH 引用要修改的原文段落(一句、一段或多段皆可),给出替换文本。未涉及的内容保持原样。
372
+
373
+ REVISED_CONTENT——处理全章级问题(字数压缩、结构重组、节奏重排、重大剧情偏离)。
374
+ 输出修正后的完整正文。当 Critical 问题包含字数或结构性问题时,必须使用 REVISED_CONTENT——PATCHES 无法压缩或重构整章。${rewriteLengthConstraint}
375
+
376
+ 如果 Critical 同时包含局部问题和全章问题,使用 REVISED_CONTENT(一次性解决所有问题)。
377
+
378
+ 修稿原则:
379
+ 1. 修根因,不做表面润色${numericalRule}
380
+ 2. 伏笔状态必须与伏笔池同步。如果提供了 Hook Debt 简报,必须保留伏笔兑现段落
381
+ 3. 不改变剧情走向和核心冲突
382
+ 4. 保持原文的语言风格、节奏和呼吸——不要压缩过渡段、不要删掉减速段
383
+ 5. 情绪用动作外化(不写"他感到愤怒",写动作)。价值观通过行为传达
384
+ 6. 不同角色说话方式必须不同。禁止"众人齐声惊呼"
385
+ 7. 坏事叠坏事,每层比上一层过分
386
+
387
+ 小目标周期修稿指引:
388
+ - 如果本章应该是"后效"阶段但仍在加压,把最密集的冲突段落改写为展示改变的段落——谁失去了什么、谁的态度变了、新的常态是什么
389
+ - 如果本章应该是"爆发"阶段但没有明确兑现,找到最接近回报的场景并放大它——让承诺的释放超过读者预期
390
+ - 日常段落如果不服务主线,改写为"饵":加入一个指向未来的细节、一句暗示、一个角色反应
391
+
392
+ 输出格式:
393
+
394
+ === FIXED_ISSUES ===
395
+ (逐条说明修正了什么)
396
+
397
+ === PATCHES ===
398
+ (局部补丁——仅用于局部文字问题。有全章级问题时省略此区块)
399
+ --- PATCH 1 ---
400
+ TARGET_TEXT:
401
+ (从原文中精确引用要修改的段落)
402
+ REPLACEMENT_TEXT:
403
+ (替换后的文本)
404
+ --- END PATCH ---
405
+
406
+ === REVISED_CONTENT ===
407
+ (修正后的完整正文——用于字数/结构/节奏等全章级问题。仅局部问题时省略此区块)
408
+
409
+ === UPDATED_STATE ===
410
+ (更新后的完整状态卡)
411
+ ${ledgerSection}
412
+ === UPDATED_HOOKS ===
413
+ (更新后的完整伏笔池)`;
414
+ }
415
+ buildLegacySystemPrompt(params) {
416
+ const { langPrefix, gp, protagonistBlock, numericalRule, lengthGuardrail, mode } = params;
417
+ const modeDesc = MODE_DESCRIPTIONS[mode];
418
+ const outputFormat = mode === "spot-fix"
419
+ ? `=== FIXED_ISSUES ===
420
+ (逐条说明修正了什么,一行一条;如果无法安全定点修复,也在这里说明)
421
+
422
+ === PATCHES ===
423
+ --- PATCH 1 ---
424
+ TARGET_TEXT:
425
+ (必须从原文中精确复制、且能唯一命中的原句或原段)
426
+ REPLACEMENT_TEXT:
427
+ (替换后的局部文本)
428
+ --- END PATCH ---
429
+
430
+ === UPDATED_STATE ===
431
+ (更新后的完整状态卡)
432
+ ${gp.numericalSystem ? "\n=== UPDATED_LEDGER ===\n(更新后的完整资源账本)" : ""}
433
+ === UPDATED_HOOKS ===
434
+ (更新后的完整伏笔池)`
435
+ : `=== FIXED_ISSUES ===
436
+ (逐条说明修正了什么,一行一条)
437
+
438
+ === REVISED_CONTENT ===
439
+ (修正后的完整正文)
440
+
441
+ === UPDATED_STATE ===
442
+ (更新后的完整状态卡)
443
+ ${gp.numericalSystem ? "\n=== UPDATED_LEDGER ===\n(更新后的完整资源账本)" : ""}
444
+ === UPDATED_HOOKS ===
445
+ (更新后的完整伏笔池)`;
446
+ return `${langPrefix}你是一位专业的${gp.name}网络小说修稿编辑。你的任务是根据审稿意见对章节进行修正。${protagonistBlock}
447
+
448
+ 修稿模式:${modeDesc}
449
+
450
+ 修稿原则:
451
+ 1. 按模式控制修改幅度
452
+ 2. 修根因,不做表面润色${numericalRule}
453
+ 4. 伏笔状态必须与伏笔池同步
454
+ 5. 不改变剧情走向和核心冲突
455
+ 6. 保持原文的语言风格和节奏
456
+ 7. 修改后同步更新状态卡${gp.numericalSystem ? "、账本" : ""}、伏笔池
457
+ ${lengthGuardrail}
458
+ ${mode === "spot-fix" ? "\n9. spot-fix 只能输出局部补丁,禁止输出整章改写;TARGET_TEXT 必须能在原文中唯一命中\n10. 如果需要大面积改写,说明无法安全 spot-fix,并让 PATCHES 留空" : ""}
459
+
460
+ 输出格式:
461
+
462
+ ${outputFormat}`;
250
463
  }
251
464
  async readFileSafe(path) {
252
465
  try {
@@ -256,17 +469,22 @@ ${chapterContent}`;
256
469
  return "(文件不存在)";
257
470
  }
258
471
  }
259
- buildReducedControlBlock(chapterIntent, contextPackage, ruleStack) {
260
- const selectedContext = contextPackage.selectedContext
261
- .map((entry) => `- ${entry.source}: ${entry.reason}${entry.excerpt ? ` | ${entry.excerpt}` : ""}`)
262
- .join("\n");
472
+ buildReducedControlBlock(memo, intent, chapterIntent, contextPackage, ruleStack) {
473
+ const selectedContext = renderNarrativeSelectedContext(contextPackage.selectedContext, "zh")
474
+ .replace(/^### /gm, "- ");
263
475
  const overrides = ruleStack.activeOverrides.length > 0
264
476
  ? ruleStack.activeOverrides
265
477
  .map((override) => `- ${override.from} -> ${override.to}: ${override.reason} (${override.target})`)
266
478
  .join("\n")
267
479
  : "- none";
480
+ // Prefer memo-based narrative block; fall back to legacy intent markdown
481
+ const narrativeBlock = memo
482
+ ? renderMemoAsNarrativeBlock(memo, intent, "zh")
483
+ : chapterIntent
484
+ ? buildNarrativeIntentBrief(chapterIntent, "zh")
485
+ : "(无)";
268
486
  return `\n## 本章控制输入(由 Planner/Composer 编译)
269
- ${chapterIntent}
487
+ ${narrativeBlock}
270
488
 
271
489
  ### 已选上下文
272
490
  ${selectedContext || "- none"}
@@ -280,4 +498,67 @@ ${selectedContext || "- none"}
280
498
  ${overrides}\n`;
281
499
  }
282
500
  }
501
+ // Local-only categories: reviser produces line/paragraph patches. Fixing these
502
+ // with a full rewrite risks introducing new issues, so we force patch-only.
503
+ const LOCAL_ONLY_PATTERNS = [
504
+ /Paragraph uniformity|段落等长/i,
505
+ /Hedge density|套话密度/i,
506
+ /Formulaic transitions|公式化转折/i,
507
+ /List-like structure|列表式结构/i,
508
+ /Cross-chapter repetition|跨章重复/i,
509
+ /AI-tell word density/i,
510
+ /Fatigue word|高疲劳词/i,
511
+ /Information Boundary Check|信息越界/i,
512
+ /Knowledge Base Pollution|知识库污染/i,
513
+ ];
514
+ // Structural/semantic categories: character collapse, mainline drift, conflict
515
+ // absence, timeline breaks, unpaid hooks, memo drift. These cannot be patched;
516
+ // the reviser must rewrite the chapter in full.
517
+ const STRUCTURAL_PATTERNS = [
518
+ /OOC|人设|Character Fidelity|Character Matrix|Character.*Consistency/i,
519
+ /Mainline.*Drift|主线偏离|Outline Drift|大纲偏离|Chapter Memo Drift|章节备忘偏离/i,
520
+ /Conflict|冲突乏力|Payoff Dilution|爽点虚化/i,
521
+ /Timeline|时间线/i,
522
+ /Hook Check|伏笔检查|Hook.*Debt|伏笔.*债|未兑现/i,
523
+ /Power Scaling|战力崩坏|金手指/i,
524
+ /Pacing|节奏/i,
525
+ /POV Consistency|视角/i,
526
+ /Subplot Stagnation|支线停滞|Arc Flatline|弧线平坦/i,
527
+ /Relationship Dynamics|关系动态|情感表达/i,
528
+ /Incentive Chain|利益链/i,
529
+ /Canon Event|正典|Mainline Canon/i,
530
+ ];
531
+ function resolveAutoOutputMode(issues) {
532
+ if (issues.length === 0) {
533
+ return "allow-full";
534
+ }
535
+ const isStructural = (issue) => {
536
+ const text = `${issue.category} ${issue.description}`;
537
+ return STRUCTURAL_PATTERNS.some((pattern) => pattern.test(text));
538
+ };
539
+ const isLocal = (issue) => {
540
+ const text = `${issue.category} ${issue.description}`;
541
+ return LOCAL_ONLY_PATTERNS.some((pattern) => pattern.test(text));
542
+ };
543
+ // Count blocking (critical + warning) structural vs local issues. Info-level
544
+ // findings are reviewer hints for the Polisher — they do not drive routing.
545
+ const blocking = issues.filter((issue) => issue.severity !== "info");
546
+ if (blocking.length === 0) {
547
+ return "patch-only"; // only hints / info — at most local polish
548
+ }
549
+ const structuralCount = blocking.filter(isStructural).length;
550
+ const localOnlyCount = blocking.filter(isLocal).length;
551
+ // Any structural issue forces a rewrite — patches cannot fix character
552
+ // collapse, mainline drift, missing payoff, or timeline breaks.
553
+ if (structuralCount > 0) {
554
+ return "rewrite-only";
555
+ }
556
+ // All blocking issues are in the local-only list → safe to patch.
557
+ if (localOnlyCount === blocking.length) {
558
+ return "patch-only";
559
+ }
560
+ // Mixed / unknown blocking issue set — let the reviser pick (usually ends
561
+ // up rewriting when critical, patching when warning).
562
+ return "allow-full";
563
+ }
283
564
  //# sourceMappingURL=reviser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"reviser.js","sourceRoot":"","sources":["../../src/agents/reviser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reviser.js","sourceRoot":"","sources":["../../src/agents/reviser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAMtC,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACtF,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,iCAAiC,EAAE,MAAM,8BAA8B,CAAC;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EACL,sCAAsC,EACtC,2BAA2B,EAC3B,uBAAuB,GACxB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACxF,OAAO,EACL,yBAAyB,EACzB,0BAA0B,EAC1B,8BAA8B,EAC9B,8BAA8B,GAC/B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EACL,cAAc,EACd,aAAa,EACb,oBAAoB,EACpB,4BAA4B,GAC7B,MAAM,2BAA2B,CAAC;AAInC,MAAM,CAAC,MAAM,mBAAmB,GAAe,MAAM,CAAC;AAkBtD,SAAS,oBAAoB,CAC3B,MAAiC,EACjC,SAAkB;IAElB,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,KAAK,KAAK,CAAC,QAAQ,KAAK,KAAK,CAAC,WAAW,EAAE,CAAC;QACzD,IAAI,KAAK,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;YAClC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;aAAM,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACxC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IAED,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,KAAK,CAAC,IAAI,CAAC,SAAS;YAClB,CAAC,CAAC,2BAA2B,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAClD,CAAC,CAAC,sBAAsB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnD,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,KAAK,CAAC,IAAI,CAAC,SAAS;YAClB,CAAC,CAAC,6BAA6B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAChD,CAAC,CAAC,kBAAkB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3C,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,SAAS;YAClB,CAAC,CAAC,0BAA0B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAC/C,CAAC,CAAC,oBAAoB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,iBAAiB,GAA+B;IACpD,IAAI,EAAE,EAAE,EAAE,+CAA+C;IACzD,MAAM,EAAE,qFAAqF;IAC7F,OAAO,EAAE,0FAA0F;IACnG,MAAM,EAAE,8BAA8B;IACtC,aAAa,EAAE;;;;;;;;;;;iCAWgB;IAC/B,UAAU,EAAE,mEAAmE;CAChF,CAAC;AAEF,MAAM,OAAO,YAAa,SAAQ,SAAS;IACzC,IAAI,IAAI;QACN,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,aAAa,CACjB,OAAe,EACf,cAAsB,EACtB,aAAqB,EACrB,MAAiC,EACjC,OAAmB,mBAAmB,EACtC,KAAc,EACd,OAOC;QAED,MAAM,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAE,gBAAgB,EAAE,WAAW,EAAE,WAAW,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC7J,sEAAsE;YACtE,iEAAiE;YACjE,4BAA4B,CAAC,OAAO,EAAE,SAAS,CAAC;YAChD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,0BAA0B,CAAC,CAAC;YAC5D,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,wBAAwB,CAAC,CAAC;YAC1D,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC;YACxD,aAAa,CAAC,OAAO,EAAE,SAAS,CAAC;YACjC,cAAc,CAAC,OAAO,EAAE,SAAS,CAAC;YAClC,oBAAoB,CAAC,OAAO,EAAE,SAAS,CAAC;YACxC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,4BAA4B,CAAC,CAAC;YAC9D,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC;YACzD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC;SAC1D,CAAC,CAAC;QAEH,oCAAoC;QACpC,MAAM,OAAO,GAAG,KAAK,IAAI,OAAO,CAAC;QACjC,MAAM,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,YAAY,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACxD,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC;YAC/C,gBAAgB,CAAC,OAAO,CAAC;SAC1B,CAAC,CAAC;QACH,MAAM,WAAW,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;QACjD,MAAM,SAAS,GAAG,WAAW,EAAE,KAAK,IAAI,IAAI,CAAC;QAE7C,mEAAmE;QACnE,kEAAkE;QAClE,qEAAqE;QACrE,+DAA+D;QAC/D,iDAAiD;QACjD,MAAM,eAAe,GAAG,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAClD,MAAM,UAAU,GAAG,aAAa,KAAK,SAAS;YAC5C,CAAC,CAAC,aAAa;YACf,CAAC,CAAC,CAAC,eAAe,IAAI,SAAS,CAAC,CAAC;QAEnC,MAAM,SAAS,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC;QACzD,MAAM,gBAAgB,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QAEjD,MAAM,SAAS,GAAG,IAAI,KAAK,MAAM;YAC/B,CAAC,CAAC,oBAAoB,CAAC,MAAM,EAAE,SAAS,CAAC;YACzC,CAAC,CAAC,MAAM;iBACH,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,WAAW,OAAO,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,UAAU,EAAE,CAAC;iBACtH,IAAI,CAAC,IAAI,CAAC,CAAC;QAElB,MAAM,aAAa,GAAG,EAAE,CAAC,eAAe;YACtC,CAAC,CAAC,CAAC,SAAS;gBACR,CAAC,CAAC,8EAA8E;gBAChF,CAAC,CAAC,sBAAsB,CAAC;YAC7B,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,gBAAgB,GAAG,SAAS,EAAE,WAAW;YAC7C,CAAC,CAAC,CAAC,SAAS;gBACR,CAAC,CAAC,yBAAyB,SAAS,CAAC,WAAW,CAAC,IAAI,MAAM,SAAS,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,uDAAuD;gBAClK,CAAC,CAAC,cAAc,SAAS,CAAC,WAAW,CAAC,IAAI,IAAI,SAAS,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC;YAC9G,CAAC,CAAC,EAAE,CAAC;QACP,kEAAkE;QAClE,wDAAwD;QACxD,MAAM,eAAe,GAAG,IAAI,KAAK,MAAM,IAAI,OAAO,EAAE,UAAU;YAC5D,CAAC,CAAC,CAAC,SAAS;gBACR,CAAC,CAAC,oIAAoI;gBACtI,CAAC,CAAC,yCAAyC,CAAC;YAChD,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,UAAU,GAAG,SAAS;YAC1B,CAAC,CAAC,8HAA8H;YAChI,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,EAAE,aAAa,IAAI,OAAO,EAAE,cAAc,IAAI,OAAO,EAAE,SAAS,CAAC,CAAC;QACtG,MAAM,eAAe,GAAG,YAAY,IAAI,OAAO,EAAE,cAAc;YAC7D,CAAC,CAAC,2BAA2B,CAAC;gBAC1B,aAAa,EAAE,KAAK;gBACpB,cAAc,EAAE,OAAO,CAAC,cAAc;gBACtC,aAAa;gBACb,QAAQ,EAAE,gBAAgB;aAC3B,CAAC;YACJ,CAAC,CAAC,KAAK,CAAC;QACV,MAAM,0BAA0B,GAAG,YAAY;YAC7C,CAAC,CAAC,eAAe,CAAC,gBAAgB,EAAE,aAAa,CAAC;YAClD,CAAC,CAAC,gBAAgB,CAAC;QACrB,MAAM,yBAAyB,GAAG,YAAY;YAC5C,CAAC,CAAC,sCAAsC,CAAC;gBACrC,cAAc,EAAE,eAAe;gBAC/B,aAAa,EAAE,OAAO,EAAE,aAAa,IAAI,aAAa;gBACtD,cAAc,EAAE,OAAQ,CAAC,cAAe;gBACxC,eAAe,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI;aAC9C,CAAC;YACJ,CAAC,CAAC,eAAe,CAAC;QAEpB,MAAM,cAAc,GAAG,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;QACtF,MAAM,YAAY,GAAG,IAAI,KAAK,MAAM;YAClC,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,gBAAgB,EAAE,aAAa,EAAE,eAAe,EAAE,gBAAgB,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC;YACrK,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,gBAAgB,EAAE,aAAa,EAAE,eAAe,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC;QAE/H,MAAM,WAAW,GAAG,EAAE,CAAC,eAAe;YACpC,CAAC,CAAC,cAAc,MAAM,EAAE;YACxB,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,oBAAoB,GAAG,OAAO,EAAE,cAAc;YAClD,CAAC,CAAC,iCAAiC,CAAC,OAAO,CAAC,cAAc,EAAE,gBAAgB,CAAC;YAC7E,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,aAAa,GAAG,oBAAoB,EAAE,aAAa,IAAI,EAAE,CAAC;QAChE,MAAM,UAAU,GAAG,oBAAoB,EAAE,UAAU;eAC9C,aAAa,eAAe,IAAI,CAAC;QACtC,MAAM,YAAY,GAAG,aAAa,KAAK,SAAS;YAC9C,CAAC,CAAC,YAAY,aAAa,IAAI;YAC/B,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,UAAU,GAAG,CAAC,YAAY,IAAI,UAAU,KAAK,SAAS;YAC1D,CAAC,CAAC,eAAe,UAAU,IAAI;YAC/B,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,WAAW,GAAG,yBAAyB,KAAK,SAAS;YACzD,CAAC,CAAC,gBAAgB,yBAAyB,IAAI;YAC/C,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,cAAc,GAAG,oBAAoB,EAAE,cAAc;eACtD,CAAC,0BAA0B,KAAK,SAAS;gBAC1C,CAAC,CAAC,cAAc,0BAA0B,IAAI;gBAC9C,CAAC,CAAC,EAAE,CAAC,CAAC;QACV,MAAM,oBAAoB,GAAG,oBAAoB,EAAE,oBAAoB,IAAI,EAAE,CAAC;QAE9E,MAAM,cAAc,GAAG,WAAW,KAAK,SAAS,CAAC;QACjD,MAAM,cAAc,GAAG,WAAW,KAAK,SAAS,CAAC;QAEjD,MAAM,UAAU,GAAG,cAAc;YAC/B,CAAC,CAAC,mDAAmD,WAAW,IAAI;YACpE,CAAC,CAAC,EAAE,CAAC;QAEP,MAAM,gBAAgB,GAAG,cAAc;YACrC,CAAC,CAAC,uEAAuE,WAAW,IAAI;YACxF,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,mBAAmB,GAAG,OAAO,EAAE,cAAc,IAAI,OAAO,CAAC,SAAS;YACtE,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC,SAAS,CAAC;YACjJ,CAAC,CAAC,EAAE,CAAC;QACP,mFAAmF;QACnF,MAAM,mBAAmB,GAAG,IAAI,KAAK,MAAM,IAAI,OAAO,EAAE,UAAU;YAChE,CAAC,CAAC,mBAAmB,OAAO,CAAC,UAAU,CAAC,MAAM,UAAU,OAAO,CAAC,UAAU,CAAC,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,UAAU,OAAO,CAAC,UAAU,CAAC,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,oDAAoD;YACtO,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,eAAe,GAAG,mBAAmB,CAAC,MAAM,KAAK,CAAC;YACtD,CAAC,CAAC,cAAc,UAAU,EAAE;YAC5B,CAAC,CAAC,EAAE,CAAC;QAEP,MAAM,UAAU,GAAG,OAAO,aAAa;;;EAGzC,SAAS;;;EAGT,YAAY;EACZ,WAAW;EACX,8BAA8B,CAAC,aAAa,EAAE,gBAAgB,CAAC,IAAI,EAAE,GAAG,8BAA8B,CAAC,UAAU,EAAE,gBAAgB,CAAC,IAAI,EAAE,GAAG,8BAA8B,CAAC,oBAAoB,EAAE,gBAAgB,CAAC,IAAI,EAAE,GAAG,mBAAmB,IAAI,YAAY,GAAG,UAAU,GAAG,WAAW,GAAG,8BAA8B,CAAC,cAAc,EAAE,gBAAgB,CAAC,IAAI,EAAE,GAAG,UAAU,GAAG,gBAAgB,GAAG,eAAe,GAAG,mBAAmB;;;EAG3a,cAAc,EAAE,CAAC;QAEf,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAC9B;YACE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE;YACzC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE;SACtC,EACD,EAAE,WAAW,EAAE,GAAG,EAAE,CACrB,CAAC;QAEF,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAC7B,QAAQ,CAAC,OAAO,EAChB,EAAE,EACF,IAAI,EACJ,cAAc,EACd,cAAc,CACf,CAAC;QACF,MAAM,YAAY,GAAG,YAAY;YAC/B,CAAC,CAAC;gBACE,GAAG,MAAM;gBACT,YAAY,EAAE,uBAAuB,CAAC,KAAK,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;aACvE;YACH,CAAC,CAAC,MAAM,CAAC;QACX,MAAM,SAAS,GAAG,OAAO,EAAE,UAAU;YACnC,CAAC,CAAC,kBAAkB,CAAC,YAAY,CAAC,cAAc,EAAE,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC;YAClF,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC;QAC3B,OAAO,EAAE,GAAG,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC;IACpE,CAAC;IAEO,WAAW,CACjB,OAAe,EACf,EAAgB,EAChB,IAAgB,EAChB,eAAuB,EACvB,iBAAiC,YAAY;QAE7C,MAAM,OAAO,GAAG,CAAC,GAAW,EAAU,EAAE;YACtC,MAAM,KAAK,GAAG,IAAI,MAAM,CACtB,OAAO,GAAG,2CAA2C,CACtD,CAAC;YACF,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACnC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAClC,CAAC,CAAC;QAEF,MAAM,QAAQ,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;QACzC,MAAM,WAAW,GAAG,QAAQ;aACzB,KAAK,CAAC,IAAI,CAAC;aACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAE/B,MAAM,UAAU,GAAG,CAAC,cAAsB,EAAE,OAAgB,EAAgB,EAAE,CAAC,CAAC;YAC9E,cAAc;YACd,SAAS,EAAE,cAAc,CAAC,MAAM;YAChC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE;YACvC,YAAY,EAAE,OAAO,CAAC,eAAe,CAAC,IAAI,UAAU;YACpD,aAAa,EAAE,EAAE,CAAC,eAAe;gBAC/B,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,SAAS,CAAC;gBAC1C,CAAC,CAAC,EAAE;YACN,YAAY,EAAE,OAAO,CAAC,eAAe,CAAC,IAAI,UAAU;SACrD,CAAC,CAAC;QAEH,8EAA8E;QAC9E,mEAAmE;QACnE,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACpB,IAAI,cAAc,KAAK,YAAY,EAAE,CAAC;gBACpC,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;gBACtC,IAAI,UAAU,EAAE,CAAC;oBACf,MAAM,OAAO,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;oBAChD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACvB,MAAM,WAAW,GAAG,mBAAmB,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;wBAClE,IAAI,WAAW,CAAC,OAAO,IAAI,WAAW,CAAC,iBAAiB,GAAG,OAAO,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;4BACjF,OAAO,UAAU,CAAC,WAAW,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;wBACtD,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,OAAO,UAAU,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;YAC5C,CAAC;YAED,IAAI,cAAc,KAAK,cAAc,EAAE,CAAC;gBACtC,MAAM,cAAc,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;gBAClD,IAAI,cAAc,EAAE,CAAC;oBACnB,OAAO,UAAU,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;gBAC1C,CAAC;gBACD,sEAAsE;gBACtE,uDAAuD;gBACvD,OAAO,UAAU,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;YAC5C,CAAC;YAED,MAAM,cAAc,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;YAClD,IAAI,cAAc,EAAE,CAAC;gBACnB,OAAO,UAAU,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;YAC1C,CAAC;YACD,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;YACtC,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,OAAO,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;gBAChD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACvB,MAAM,WAAW,GAAG,mBAAmB,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;oBAClE,IAAI,WAAW,CAAC,OAAO,IAAI,WAAW,CAAC,iBAAiB,GAAG,OAAO,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;wBACjF,OAAO,UAAU,CAAC,WAAW,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;oBACtD,CAAC;gBACH,CAAC;YACH,CAAC;YACD,sBAAsB;YACtB,OAAO,UAAU,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;QAC5C,CAAC;QAED,qCAAqC;QACrC,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;YACxB,MAAM,OAAO,GAAG,mBAAmB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;YACxD,MAAM,WAAW,GAAG,mBAAmB,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;YAClE,OAAO,UAAU,CAAC,WAAW,CAAC,cAAc,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;QACrE,CAAC;QAED,yDAAyD;QACzD,MAAM,cAAc,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAClD,OAAO,UAAU,CAAC,cAAc,IAAI,eAAe,EAAE,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAClF,CAAC;IAEO,qBAAqB,CAAC,MAS7B;QACC,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,gBAAgB,EAAE,aAAa,EAAE,gBAAgB,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,MAAM,CAAC;QACjH,qHAAqH;QACrH,MAAM,EAAE,GAAG,gBAAgB,KAAK,IAAI,CAAC;QACrC,MAAM,aAAa,GAAG,EAAE,CAAC,eAAe;YACtC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,0DAA0D,CAAC,CAAC,CAAC,wCAAwC,CAAC;YAC9G,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,uBAAuB,GAAG,UAAU;YACxC,CAAC,CAAC,CAAC,EAAE;gBACD,CAAC,CAAC,6DAA6D,UAAU,CAAC,OAAO,IAAI,UAAU,CAAC,OAAO,wBAAwB,UAAU,CAAC,MAAM,6DAA6D;gBAC7M,CAAC,CAAC,wBAAwB,UAAU,CAAC,OAAO,IAAI,UAAU,CAAC,OAAO,WAAW,UAAU,CAAC,MAAM,qBAAqB,CAAC;YACxH,CAAC,CAAC,EAAE,CAAC;QAEP,MAAM,kBAAkB,GAAG,cAAc,KAAK,cAAc;YAC1D,CAAC,CAAC,gWAAgW;YAClW,CAAC,CAAC,cAAc,KAAK,YAAY;gBAC/B,CAAC,CAAC,+PAA+P;gBACjQ,CAAC,CAAC,EAAE,CAAC;QACT,MAAM,kBAAkB,GAAG,cAAc,KAAK,cAAc;YAC1D,CAAC,CAAC,mKAAmK;YACrK,CAAC,CAAC,cAAc,KAAK,YAAY;gBAC/B,CAAC,CAAC,kGAAkG;gBACpG,CAAC,CAAC,EAAE,CAAC;QAET,OAAO,EAAE;YACP,CAAC,CAAC,GAAG,UAAU,0BAA0B,EAAE,CAAC,IAAI,+EAA+E,gBAAgB,GAAG,kBAAkB;;;;;;;;kLAQQ,uBAAuB;;;;;sDAKnJ,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgCjE,aAAa;;2BAEY;YACrB,CAAC,CAAC,GAAG,UAAU,UAAU,EAAE,CAAC,IAAI,+BAA+B,gBAAgB,GAAG,kBAAkB;;;;;;;;gFAQ1B,uBAAuB;;;;;eAKxF,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgC1B,aAAa;;YAEH,CAAC;IACX,CAAC;IAEO,uBAAuB,CAAC,MAQ/B;QACC,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,gBAAgB,EAAE,aAAa,EAAE,eAAe,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;QAC1F,MAAM,QAAQ,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,YAAY,GAAG,IAAI,KAAK,UAAU;YACtC,CAAC,CAAC;;;;;;;;;;;;;EAaN,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,wCAAwC,CAAC,CAAC,CAAC,EAAE;;YAExD;YACN,CAAC,CAAC;;;;;;;;EAQN,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,wCAAwC,CAAC,CAAC,CAAC,EAAE;;YAExD,CAAC;QAET,OAAO,GAAG,UAAU,UAAU,EAAE,CAAC,IAAI,+BAA+B,gBAAgB;;OAEjF,QAAQ;;;;eAIA,aAAa;;;;eAIb,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;EAC5C,eAAe;EACf,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,sGAAsG,CAAC,CAAC,CAAC,EAAE;;;;EAIjI,YAAY,EAAE,CAAC;IACf,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,IAAY;QACrC,IAAI,CAAC;YACH,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACvC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAEO,wBAAwB,CAC9B,IAA6B,EAC7B,MAAiC,EACjC,aAAiC,EACjC,cAA8B,EAC9B,SAAoB;QAEpB,MAAM,eAAe,GAAG,8BAA8B,CAAC,cAAc,CAAC,eAAe,EAAE,IAAI,CAAC;aACzF,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAC5B,MAAM,SAAS,GAAG,SAAS,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC;YACpD,CAAC,CAAC,SAAS,CAAC,eAAe;iBACxB,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,KAAK,QAAQ,CAAC,IAAI,OAAO,QAAQ,CAAC,EAAE,KAAK,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,GAAG,CAAC;iBAClG,IAAI,CAAC,IAAI,CAAC;YACb,CAAC,CAAC,QAAQ,CAAC;QACb,yEAAyE;QACzE,MAAM,cAAc,GAAG,IAAI;YACzB,CAAC,CAAC,0BAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC;YAChD,CAAC,CAAC,aAAa;gBACb,CAAC,CAAC,yBAAyB,CAAC,aAAa,EAAE,IAAI,CAAC;gBAChD,CAAC,CAAC,KAAK,CAAC;QAEZ,OAAO;EACT,cAAc;;;EAGd,eAAe,IAAI,QAAQ;;;QAGrB,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK;QAC1C,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK;SACzC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK;;;EAGvD,SAAS,IAAI,CAAC;IACd,CAAC;CACF;AAED,+EAA+E;AAC/E,4EAA4E;AAC5E,MAAM,mBAAmB,GAA0B;IACjD,4BAA4B;IAC5B,qBAAqB;IACrB,8BAA8B;IAC9B,4BAA4B;IAC5B,gCAAgC;IAChC,uBAAuB;IACvB,oBAAoB;IACpB,kCAAkC;IAClC,iCAAiC;CAClC,CAAC;AAEF,+EAA+E;AAC/E,+EAA+E;AAC/E,gDAAgD;AAChD,MAAM,mBAAmB,GAA0B;IACjD,oEAAoE;IACpE,oEAAoE;IACpE,qCAAqC;IACrC,eAAe;IACf,uCAAuC;IACvC,yBAAyB;IACzB,YAAY;IACZ,qBAAqB;IACrB,4CAA4C;IAC5C,kCAAkC;IAClC,sBAAsB;IACtB,gCAAgC;CACjC,CAAC;AAEF,SAAS,qBAAqB,CAAC,MAAiC;IAC9D,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,MAAM,YAAY,GAAG,CAAC,KAAiB,EAAW,EAAE;QAClD,MAAM,IAAI,GAAG,GAAG,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;QACtD,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACnE,CAAC,CAAC;IACF,MAAM,OAAO,GAAG,CAAC,KAAiB,EAAW,EAAE;QAC7C,MAAM,IAAI,GAAG,GAAG,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;QACtD,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACnE,CAAC,CAAC;IAEF,6EAA6E;IAC7E,4EAA4E;IAC5E,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC;IACrE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,YAAY,CAAC,CAAC,2CAA2C;IAClE,CAAC;IAED,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC;IAC7D,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;IAEvD,uEAAuE;IACvE,gEAAgE;IAChE,IAAI,eAAe,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,kEAAkE;IAClE,IAAI,cAAc,KAAK,QAAQ,CAAC,MAAM,EAAE,CAAC;QACvC,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,0EAA0E;IAC1E,sDAAsD;IACtD,OAAO,YAAY,CAAC;AACtB,CAAC"}