@roj-ai/sdk 0.1.36 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (925) hide show
  1. package/dist/bootstrap.d.ts +420 -26
  2. package/dist/bootstrap.d.ts.map +1 -1
  3. package/dist/bootstrap.js +55 -24
  4. package/dist/bootstrap.js.map +1 -1
  5. package/dist/bun-platform/fs.d.ts.map +1 -1
  6. package/dist/bun-platform/fs.js +1 -0
  7. package/dist/bun-platform/fs.js.map +1 -1
  8. package/dist/bun-platform/index.d.ts +4 -1
  9. package/dist/bun-platform/index.d.ts.map +1 -1
  10. package/dist/bun-platform/index.js +7 -1
  11. package/dist/bun-platform/index.js.map +1 -1
  12. package/dist/bun-platform/server-lifecycle.d.ts +30 -0
  13. package/dist/bun-platform/server-lifecycle.d.ts.map +1 -0
  14. package/dist/bun-platform/server-lifecycle.js +182 -0
  15. package/dist/bun-platform/server-lifecycle.js.map +1 -0
  16. package/dist/bun-platform/shell.d.ts +33 -0
  17. package/dist/bun-platform/shell.d.ts.map +1 -0
  18. package/dist/bun-platform/shell.js +322 -0
  19. package/dist/bun-platform/shell.js.map +1 -0
  20. package/dist/config.d.ts +34 -0
  21. package/dist/config.d.ts.map +1 -1
  22. package/dist/config.js +97 -0
  23. package/dist/config.js.map +1 -1
  24. package/dist/core/agents/agent.d.ts +42 -7
  25. package/dist/core/agents/agent.d.ts.map +1 -1
  26. package/dist/core/agents/agent.js +202 -87
  27. package/dist/core/agents/agent.js.map +1 -1
  28. package/dist/core/agents/config.d.ts +8 -1
  29. package/dist/core/agents/config.d.ts.map +1 -1
  30. package/dist/core/agents/config.js +5 -1
  31. package/dist/core/agents/config.js.map +1 -1
  32. package/dist/core/agents/retry.d.ts +1 -1
  33. package/dist/core/agents/retry.d.ts.map +1 -1
  34. package/dist/core/agents/retry.js +14 -16
  35. package/dist/core/agents/retry.js.map +1 -1
  36. package/dist/core/agents/state.d.ts +3 -1
  37. package/dist/core/agents/state.d.ts.map +1 -1
  38. package/dist/core/agents/state.js +1 -1
  39. package/dist/core/agents/state.js.map +1 -1
  40. package/dist/core/context/state.d.ts +3 -3
  41. package/dist/core/context/state.js +2 -2
  42. package/dist/core/events/base-event-store.d.ts.map +1 -1
  43. package/dist/core/events/base-event-store.js +22 -14
  44. package/dist/core/events/base-event-store.js.map +1 -1
  45. package/dist/core/events/file.d.ts +39 -1
  46. package/dist/core/events/file.d.ts.map +1 -1
  47. package/dist/core/events/file.js +159 -20
  48. package/dist/core/events/file.js.map +1 -1
  49. package/dist/core/events/types.d.ts +1 -1
  50. package/dist/core/file-store/containment.d.ts +19 -0
  51. package/dist/core/file-store/containment.d.ts.map +1 -0
  52. package/dist/core/file-store/containment.js +62 -0
  53. package/dist/core/file-store/containment.js.map +1 -0
  54. package/dist/core/file-store/file-store.d.ts +22 -2
  55. package/dist/core/file-store/file-store.d.ts.map +1 -1
  56. package/dist/core/file-store/file-store.js +88 -20
  57. package/dist/core/file-store/file-store.js.map +1 -1
  58. package/dist/core/file-store/types.d.ts +13 -1
  59. package/dist/core/file-store/types.d.ts.map +1 -1
  60. package/dist/core/image/image-processor.d.ts.map +1 -1
  61. package/dist/core/image/image-processor.js +3 -1
  62. package/dist/core/image/image-processor.js.map +1 -1
  63. package/dist/core/image/types.d.ts +2 -0
  64. package/dist/core/image/types.d.ts.map +1 -1
  65. package/dist/core/image/vips-resizer.d.ts.map +1 -1
  66. package/dist/core/image/vips-resizer.js +81 -33
  67. package/dist/core/image/vips-resizer.js.map +1 -1
  68. package/dist/core/llm/anthropic.d.ts +0 -1
  69. package/dist/core/llm/anthropic.d.ts.map +1 -1
  70. package/dist/core/llm/anthropic.js +58 -72
  71. package/dist/core/llm/anthropic.js.map +1 -1
  72. package/dist/core/llm/logger.d.ts +14 -2
  73. package/dist/core/llm/logger.d.ts.map +1 -1
  74. package/dist/core/llm/logger.js +161 -36
  75. package/dist/core/llm/logger.js.map +1 -1
  76. package/dist/core/llm/openrouter.d.ts +0 -1
  77. package/dist/core/llm/openrouter.d.ts.map +1 -1
  78. package/dist/core/llm/openrouter.js +53 -66
  79. package/dist/core/llm/openrouter.js.map +1 -1
  80. package/dist/core/llm/provider-request.d.ts +10 -0
  81. package/dist/core/llm/provider-request.d.ts.map +1 -0
  82. package/dist/core/llm/provider-request.js +41 -0
  83. package/dist/core/llm/provider-request.js.map +1 -0
  84. package/dist/core/llm/provider.d.ts +11 -0
  85. package/dist/core/llm/provider.d.ts.map +1 -1
  86. package/dist/core/llm/provider.js +26 -0
  87. package/dist/core/llm/provider.js.map +1 -1
  88. package/dist/core/llm/state.d.ts +2 -2
  89. package/dist/core/llm/state.js +4 -4
  90. package/dist/core/plugins/plugin-builder.d.ts +57 -3
  91. package/dist/core/plugins/plugin-builder.d.ts.map +1 -1
  92. package/dist/core/plugins/plugin-builder.js +68 -14
  93. package/dist/core/plugins/plugin-builder.js.map +1 -1
  94. package/dist/core/preset/preset-builder.d.ts +3 -2
  95. package/dist/core/preset/preset-builder.d.ts.map +1 -1
  96. package/dist/core/preset/preset-builder.js +7 -16
  97. package/dist/core/preset/preset-builder.js.map +1 -1
  98. package/dist/core/sessions/context.d.ts +23 -5
  99. package/dist/core/sessions/context.d.ts.map +1 -1
  100. package/dist/core/sessions/runtime-activity.d.ts +33 -0
  101. package/dist/core/sessions/runtime-activity.d.ts.map +1 -0
  102. package/dist/core/sessions/runtime-activity.js +55 -0
  103. package/dist/core/sessions/runtime-activity.js.map +1 -0
  104. package/dist/core/sessions/schema.d.ts +23 -2
  105. package/dist/core/sessions/schema.d.ts.map +1 -1
  106. package/dist/core/sessions/schema.js +24 -3
  107. package/dist/core/sessions/schema.js.map +1 -1
  108. package/dist/core/sessions/session-manager.d.ts +83 -6
  109. package/dist/core/sessions/session-manager.d.ts.map +1 -1
  110. package/dist/core/sessions/session-manager.js +517 -118
  111. package/dist/core/sessions/session-manager.js.map +1 -1
  112. package/dist/core/sessions/session-store.d.ts +18 -0
  113. package/dist/core/sessions/session-store.d.ts.map +1 -1
  114. package/dist/core/sessions/session-store.js +33 -0
  115. package/dist/core/sessions/session-store.js.map +1 -1
  116. package/dist/core/sessions/session.d.ts +42 -6
  117. package/dist/core/sessions/session.d.ts.map +1 -1
  118. package/dist/core/sessions/session.js +176 -44
  119. package/dist/core/sessions/session.js.map +1 -1
  120. package/dist/core/sessions/state.d.ts +10 -1
  121. package/dist/core/sessions/state.d.ts.map +1 -1
  122. package/dist/core/sessions/state.js +11 -1
  123. package/dist/core/sessions/state.js.map +1 -1
  124. package/dist/core/system.d.ts +9 -0
  125. package/dist/core/system.d.ts.map +1 -1
  126. package/dist/core/system.js +4 -1
  127. package/dist/core/system.js.map +1 -1
  128. package/dist/core/tools/executor.d.ts +1 -1
  129. package/dist/core/wake-key.d.ts +34 -0
  130. package/dist/core/wake-key.d.ts.map +1 -0
  131. package/dist/core/wake-key.js +51 -0
  132. package/dist/core/wake-key.js.map +1 -0
  133. package/dist/index.d.ts +25 -13
  134. package/dist/index.d.ts.map +1 -1
  135. package/dist/index.js +23 -8
  136. package/dist/index.js.map +1 -1
  137. package/dist/lib/archive/archive-inspection.d.ts +48 -0
  138. package/dist/lib/archive/archive-inspection.d.ts.map +1 -0
  139. package/dist/lib/archive/archive-inspection.fixtures.d.ts +7 -0
  140. package/dist/lib/archive/archive-inspection.fixtures.d.ts.map +1 -0
  141. package/dist/lib/archive/archive-inspection.fixtures.js +134 -0
  142. package/dist/lib/archive/archive-inspection.fixtures.js.map +1 -0
  143. package/dist/lib/archive/archive-inspection.js +253 -0
  144. package/dist/lib/archive/archive-inspection.js.map +1 -0
  145. package/dist/lib/archive/index.d.ts +3 -0
  146. package/dist/lib/archive/index.d.ts.map +1 -0
  147. package/dist/lib/archive/index.js +2 -0
  148. package/dist/lib/archive/index.js.map +1 -0
  149. package/dist/lib/logger/console.d.ts +5 -12
  150. package/dist/lib/logger/console.d.ts.map +1 -1
  151. package/dist/lib/logger/console.js +5 -47
  152. package/dist/lib/logger/console.js.map +1 -1
  153. package/dist/lib/logger/file.d.ts +8 -11
  154. package/dist/lib/logger/file.d.ts.map +1 -1
  155. package/dist/lib/logger/file.js +26 -37
  156. package/dist/lib/logger/file.js.map +1 -1
  157. package/dist/lib/logger/index.d.ts +3 -1
  158. package/dist/lib/logger/index.d.ts.map +1 -1
  159. package/dist/lib/logger/index.js +3 -1
  160. package/dist/lib/logger/index.js.map +1 -1
  161. package/dist/lib/logger/jsonl.d.ts +21 -0
  162. package/dist/lib/logger/jsonl.d.ts.map +1 -0
  163. package/dist/lib/logger/jsonl.js +29 -0
  164. package/dist/lib/logger/jsonl.js.map +1 -0
  165. package/dist/lib/logger/logger.d.ts +22 -0
  166. package/dist/lib/logger/logger.d.ts.map +1 -1
  167. package/dist/lib/logger/logger.js +37 -0
  168. package/dist/lib/logger/logger.js.map +1 -1
  169. package/dist/lib/logger/session-log.d.ts +21 -0
  170. package/dist/lib/logger/session-log.d.ts.map +1 -0
  171. package/dist/lib/logger/session-log.js +37 -0
  172. package/dist/lib/logger/session-log.js.map +1 -0
  173. package/dist/lib/utils/concurrency.d.ts +1 -1
  174. package/dist/lib/utils/concurrency.d.ts.map +1 -1
  175. package/dist/lib/utils/concurrency.js +30 -7
  176. package/dist/lib/utils/concurrency.js.map +1 -1
  177. package/dist/lib/utils/fs-batch.d.ts +17 -0
  178. package/dist/lib/utils/fs-batch.d.ts.map +1 -0
  179. package/dist/lib/utils/fs-batch.js +38 -0
  180. package/dist/lib/utils/fs-batch.js.map +1 -0
  181. package/dist/lib/utils/result.d.ts +7 -22
  182. package/dist/lib/utils/result.d.ts.map +1 -1
  183. package/dist/lib/utils/result.js +6 -17
  184. package/dist/lib/utils/result.js.map +1 -1
  185. package/dist/lib/utils/sleep.d.ts +10 -0
  186. package/dist/lib/utils/sleep.d.ts.map +1 -0
  187. package/dist/lib/utils/sleep.js +26 -0
  188. package/dist/lib/utils/sleep.js.map +1 -0
  189. package/dist/platform/fs-revision.d.ts +21 -0
  190. package/dist/platform/fs-revision.d.ts.map +1 -0
  191. package/dist/platform/fs-revision.js +9 -0
  192. package/dist/platform/fs-revision.js.map +1 -0
  193. package/dist/platform/fs.d.ts +104 -1
  194. package/dist/platform/fs.d.ts.map +1 -1
  195. package/dist/platform/git.d.ts +59 -0
  196. package/dist/platform/git.d.ts.map +1 -0
  197. package/dist/platform/git.js +8 -0
  198. package/dist/platform/git.js.map +1 -0
  199. package/dist/platform/index.d.ts +40 -1
  200. package/dist/platform/index.d.ts.map +1 -1
  201. package/dist/platform/index.js +1 -1
  202. package/dist/platform/index.js.map +1 -1
  203. package/dist/platform/llm-call-log.d.ts +80 -0
  204. package/dist/platform/llm-call-log.d.ts.map +1 -0
  205. package/dist/platform/llm-call-log.js +12 -0
  206. package/dist/platform/llm-call-log.js.map +1 -0
  207. package/dist/platform/scheduler.d.ts +32 -0
  208. package/dist/platform/scheduler.d.ts.map +1 -0
  209. package/dist/platform/scheduler.js +46 -0
  210. package/dist/platform/scheduler.js.map +1 -0
  211. package/dist/platform/session-log.d.ts +36 -0
  212. package/dist/platform/session-log.d.ts.map +1 -0
  213. package/dist/platform/session-log.js +12 -0
  214. package/dist/platform/session-log.js.map +1 -0
  215. package/dist/platform/shell.d.ts +83 -0
  216. package/dist/platform/shell.d.ts.map +1 -0
  217. package/dist/platform/shell.js +13 -0
  218. package/dist/platform/shell.js.map +1 -0
  219. package/dist/plugins/agent-status/plugin.d.ts.map +1 -1
  220. package/dist/plugins/agent-status/plugin.js +1 -0
  221. package/dist/plugins/agent-status/plugin.js.map +1 -1
  222. package/dist/plugins/agents/plugin.d.ts.map +1 -1
  223. package/dist/plugins/agents/plugin.js +129 -62
  224. package/dist/plugins/agents/plugin.js.map +1 -1
  225. package/dist/plugins/filesystem/listing.d.ts +3 -0
  226. package/dist/plugins/filesystem/listing.d.ts.map +1 -1
  227. package/dist/plugins/filesystem/listing.js +66 -10
  228. package/dist/plugins/filesystem/listing.js.map +1 -1
  229. package/dist/plugins/filesystem/plugin.d.ts.map +1 -1
  230. package/dist/plugins/filesystem/plugin.js +8 -6
  231. package/dist/plugins/filesystem/plugin.js.map +1 -1
  232. package/dist/plugins/git-status/index.d.ts +1 -0
  233. package/dist/plugins/git-status/index.d.ts.map +1 -1
  234. package/dist/plugins/git-status/plugin.d.ts +38 -7
  235. package/dist/plugins/git-status/plugin.d.ts.map +1 -1
  236. package/dist/plugins/git-status/plugin.js +169 -64
  237. package/dist/plugins/git-status/plugin.js.map +1 -1
  238. package/dist/plugins/llm-debug/plugin.d.ts.map +1 -1
  239. package/dist/plugins/llm-debug/plugin.js +1 -0
  240. package/dist/plugins/llm-debug/plugin.js.map +1 -1
  241. package/dist/plugins/logs/plugin.d.ts +1 -4
  242. package/dist/plugins/logs/plugin.d.ts.map +1 -1
  243. package/dist/plugins/logs/plugin.js +7 -0
  244. package/dist/plugins/logs/plugin.js.map +1 -1
  245. package/dist/plugins/mailbox/helpers.d.ts +2 -2
  246. package/dist/plugins/mailbox/helpers.js +1 -1
  247. package/dist/plugins/mailbox/plugin.d.ts.map +1 -1
  248. package/dist/plugins/mailbox/plugin.js +38 -43
  249. package/dist/plugins/mailbox/plugin.js.map +1 -1
  250. package/dist/plugins/mailbox/query.d.ts +7 -2
  251. package/dist/plugins/mailbox/query.d.ts.map +1 -1
  252. package/dist/plugins/mailbox/query.js +14 -7
  253. package/dist/plugins/mailbox/query.js.map +1 -1
  254. package/dist/plugins/mailbox/state.d.ts +5 -4
  255. package/dist/plugins/mailbox/state.d.ts.map +1 -1
  256. package/dist/plugins/mailbox/state.js +6 -5
  257. package/dist/plugins/mailbox/state.js.map +1 -1
  258. package/dist/plugins/resources/filename.d.ts +4 -0
  259. package/dist/plugins/resources/filename.d.ts.map +1 -0
  260. package/dist/plugins/resources/filename.js +18 -0
  261. package/dist/plugins/resources/filename.js.map +1 -0
  262. package/dist/plugins/resources/plugin.d.ts +3 -0
  263. package/dist/plugins/resources/plugin.d.ts.map +1 -1
  264. package/dist/plugins/resources/plugin.js +97 -60
  265. package/dist/plugins/resources/plugin.js.map +1 -1
  266. package/dist/plugins/resources/state.d.ts +1 -1
  267. package/dist/plugins/resources/state.js +1 -1
  268. package/dist/plugins/result-eviction/plugin.d.ts.map +1 -1
  269. package/dist/plugins/result-eviction/plugin.js +6 -1
  270. package/dist/plugins/result-eviction/plugin.js.map +1 -1
  271. package/dist/plugins/services/plugin.d.ts +4 -1
  272. package/dist/plugins/services/plugin.d.ts.map +1 -1
  273. package/dist/plugins/services/plugin.js +251 -100
  274. package/dist/plugins/services/plugin.js.map +1 -1
  275. package/dist/plugins/services/prompt.d.ts.map +1 -1
  276. package/dist/plugins/services/prompt.js +1 -4
  277. package/dist/plugins/services/prompt.js.map +1 -1
  278. package/dist/plugins/services/schema.d.ts +15 -5
  279. package/dist/plugins/services/schema.d.ts.map +1 -1
  280. package/dist/plugins/services/service.d.ts +100 -18
  281. package/dist/plugins/services/service.d.ts.map +1 -1
  282. package/dist/plugins/services/service.js +680 -230
  283. package/dist/plugins/services/service.js.map +1 -1
  284. package/dist/plugins/session-lifecycle/plugin.d.ts +21 -1
  285. package/dist/plugins/session-lifecycle/plugin.d.ts.map +1 -1
  286. package/dist/plugins/session-lifecycle/plugin.js +53 -40
  287. package/dist/plugins/session-lifecycle/plugin.js.map +1 -1
  288. package/dist/plugins/session-state/plugin.d.ts +21 -13
  289. package/dist/plugins/session-state/plugin.d.ts.map +1 -1
  290. package/dist/plugins/session-state/plugin.js +214 -79
  291. package/dist/plugins/session-state/plugin.js.map +1 -1
  292. package/dist/plugins/session-stats/plugin.d.ts.map +1 -1
  293. package/dist/plugins/session-stats/plugin.js +1 -0
  294. package/dist/plugins/session-stats/plugin.js.map +1 -1
  295. package/dist/plugins/shell/executor.d.ts +17 -15
  296. package/dist/plugins/shell/executor.d.ts.map +1 -1
  297. package/dist/plugins/shell/executor.js +130 -195
  298. package/dist/plugins/shell/executor.js.map +1 -1
  299. package/dist/plugins/shell/index.d.ts +2 -2
  300. package/dist/plugins/shell/index.d.ts.map +1 -1
  301. package/dist/plugins/shell/index.js +2 -2
  302. package/dist/plugins/shell/index.js.map +1 -1
  303. package/dist/plugins/shell/plugin.d.ts +5 -4
  304. package/dist/plugins/shell/plugin.d.ts.map +1 -1
  305. package/dist/plugins/shell/plugin.js +4 -8
  306. package/dist/plugins/shell/plugin.js.map +1 -1
  307. package/dist/plugins/skills/discovery.d.ts.map +1 -1
  308. package/dist/plugins/skills/discovery.js +10 -8
  309. package/dist/plugins/skills/discovery.js.map +1 -1
  310. package/dist/plugins/skills/index.d.ts +1 -1
  311. package/dist/plugins/skills/index.d.ts.map +1 -1
  312. package/dist/plugins/skills/plugin.d.ts +1 -1
  313. package/dist/plugins/skills/plugin.d.ts.map +1 -1
  314. package/dist/plugins/skills/plugin.js +23 -30
  315. package/dist/plugins/skills/plugin.js.map +1 -1
  316. package/dist/plugins/skills/prompts.d.ts +3 -3
  317. package/dist/plugins/skills/prompts.d.ts.map +1 -1
  318. package/dist/plugins/skills/prompts.js.map +1 -1
  319. package/dist/plugins/skills/schema.d.ts +4 -2
  320. package/dist/plugins/skills/schema.d.ts.map +1 -1
  321. package/dist/plugins/todo/schema.d.ts +1 -1
  322. package/dist/plugins/uploads/plugin.d.ts +11 -4
  323. package/dist/plugins/uploads/plugin.d.ts.map +1 -1
  324. package/dist/plugins/uploads/plugin.js +891 -225
  325. package/dist/plugins/uploads/plugin.js.map +1 -1
  326. package/dist/plugins/uploads/preprocessor.d.ts +14 -0
  327. package/dist/plugins/uploads/preprocessor.d.ts.map +1 -1
  328. package/dist/plugins/uploads/preprocessor.js +11 -0
  329. package/dist/plugins/uploads/preprocessor.js.map +1 -1
  330. package/dist/plugins/uploads/preprocessors/image-classifier.d.ts +1 -1
  331. package/dist/plugins/uploads/preprocessors/image-classifier.d.ts.map +1 -1
  332. package/dist/plugins/uploads/preprocessors/image-classifier.js +51 -26
  333. package/dist/plugins/uploads/preprocessors/image-classifier.js.map +1 -1
  334. package/dist/plugins/uploads/preprocessors/markitdown-preprocessor.d.ts +2 -2
  335. package/dist/plugins/uploads/preprocessors/markitdown-preprocessor.d.ts.map +1 -1
  336. package/dist/plugins/uploads/preprocessors/markitdown-preprocessor.js +41 -16
  337. package/dist/plugins/uploads/preprocessors/markitdown-preprocessor.js.map +1 -1
  338. package/dist/plugins/uploads/preprocessors/pdf-preprocessor.d.ts +1 -1
  339. package/dist/plugins/uploads/preprocessors/pdf-preprocessor.d.ts.map +1 -1
  340. package/dist/plugins/uploads/preprocessors/pdf-preprocessor.js +29 -14
  341. package/dist/plugins/uploads/preprocessors/pdf-preprocessor.js.map +1 -1
  342. package/dist/plugins/uploads/preprocessors/zip-preprocessor.d.ts +1 -1
  343. package/dist/plugins/uploads/preprocessors/zip-preprocessor.d.ts.map +1 -1
  344. package/dist/plugins/uploads/preprocessors/zip-preprocessor.js +62 -34
  345. package/dist/plugins/uploads/preprocessors/zip-preprocessor.js.map +1 -1
  346. package/dist/plugins/uploads/schema.d.ts +25 -2
  347. package/dist/plugins/uploads/schema.d.ts.map +1 -1
  348. package/dist/plugins/uploads/schema.js +24 -3
  349. package/dist/plugins/uploads/schema.js.map +1 -1
  350. package/dist/plugins/uploads/state.d.ts +13 -1
  351. package/dist/plugins/uploads/state.d.ts.map +1 -1
  352. package/dist/plugins/uploads/state.js +4 -1
  353. package/dist/plugins/uploads/state.js.map +1 -1
  354. package/dist/plugins/user-chat/plugin.d.ts +12 -5
  355. package/dist/plugins/user-chat/plugin.d.ts.map +1 -1
  356. package/dist/plugins/user-chat/plugin.js +141 -32
  357. package/dist/plugins/user-chat/plugin.js.map +1 -1
  358. package/dist/plugins/workers/context.d.ts +35 -13
  359. package/dist/plugins/workers/context.d.ts.map +1 -1
  360. package/dist/plugins/workers/context.js +82 -32
  361. package/dist/plugins/workers/context.js.map +1 -1
  362. package/dist/plugins/workers/definition.d.ts +7 -0
  363. package/dist/plugins/workers/definition.d.ts.map +1 -1
  364. package/dist/plugins/workers/definition.js.map +1 -1
  365. package/dist/plugins/workers/index.d.ts +4 -4
  366. package/dist/plugins/workers/index.d.ts.map +1 -1
  367. package/dist/plugins/workers/index.js +2 -2
  368. package/dist/plugins/workers/index.js.map +1 -1
  369. package/dist/plugins/workers/plugin.d.ts +10 -57
  370. package/dist/plugins/workers/plugin.d.ts.map +1 -1
  371. package/dist/plugins/workers/plugin.js +385 -123
  372. package/dist/plugins/workers/plugin.js.map +1 -1
  373. package/dist/plugins/workers/state.d.ts +69 -0
  374. package/dist/plugins/workers/state.d.ts.map +1 -0
  375. package/dist/plugins/workers/state.js +52 -0
  376. package/dist/plugins/workers/state.js.map +1 -0
  377. package/dist/plugins/workers/worker.d.ts +15 -4
  378. package/dist/plugins/workers/worker.d.ts.map +1 -1
  379. package/dist/testing/conformance.d.ts +106 -0
  380. package/dist/testing/conformance.d.ts.map +1 -0
  381. package/dist/testing/conformance.js +1463 -0
  382. package/dist/testing/conformance.js.map +1 -0
  383. package/dist/testing/node-platform.d.ts.map +1 -1
  384. package/dist/testing/node-platform.js +5 -0
  385. package/dist/testing/node-platform.js.map +1 -1
  386. package/dist/testing/test-harness.d.ts +11 -1
  387. package/dist/testing/test-harness.d.ts.map +1 -1
  388. package/dist/testing/test-harness.js +17 -37
  389. package/dist/testing/test-harness.js.map +1 -1
  390. package/dist/testing/wait-helpers.d.ts.map +1 -1
  391. package/dist/testing/wait-helpers.js +1 -3
  392. package/dist/testing/wait-helpers.js.map +1 -1
  393. package/dist/transport/adapter/client-adapter.d.ts +6 -0
  394. package/dist/transport/adapter/client-adapter.d.ts.map +1 -1
  395. package/dist/transport/adapter/client-adapter.js +50 -3
  396. package/dist/transport/adapter/client-adapter.js.map +1 -1
  397. package/dist/transport/adapter/heartbeat.d.ts +16 -0
  398. package/dist/transport/adapter/heartbeat.d.ts.map +1 -0
  399. package/dist/transport/adapter/heartbeat.js +41 -0
  400. package/dist/transport/adapter/heartbeat.js.map +1 -0
  401. package/dist/transport/adapter/server-adapter.d.ts.map +1 -1
  402. package/dist/transport/adapter/server-adapter.js +6 -0
  403. package/dist/transport/adapter/server-adapter.js.map +1 -1
  404. package/dist/transport/http/app.d.ts +3 -30
  405. package/dist/transport/http/app.d.ts.map +1 -1
  406. package/dist/transport/http/app.js +3 -7
  407. package/dist/transport/http/app.js.map +1 -1
  408. package/dist/transport/http/context.d.ts +40 -0
  409. package/dist/transport/http/context.d.ts.map +1 -0
  410. package/dist/transport/http/context.js +17 -0
  411. package/dist/transport/http/context.js.map +1 -0
  412. package/dist/transport/http/fetch-guard.d.ts +49 -0
  413. package/dist/transport/http/fetch-guard.d.ts.map +1 -0
  414. package/dist/transport/http/fetch-guard.js +312 -0
  415. package/dist/transport/http/fetch-guard.js.map +1 -0
  416. package/dist/transport/http/index.d.ts +1 -1
  417. package/dist/transport/http/index.d.ts.map +1 -1
  418. package/dist/transport/http/middleware/bearer-auth.d.ts +1 -1
  419. package/dist/transport/http/middleware/bearer-auth.d.ts.map +1 -1
  420. package/dist/transport/http/middleware/error-handler.d.ts +2 -2
  421. package/dist/transport/http/middleware/error-handler.d.ts.map +1 -1
  422. package/dist/transport/http/path-containment.d.ts +20 -0
  423. package/dist/transport/http/path-containment.d.ts.map +1 -0
  424. package/dist/transport/http/path-containment.js +31 -0
  425. package/dist/transport/http/path-containment.js.map +1 -0
  426. package/dist/transport/http/responses.d.ts +30 -0
  427. package/dist/transport/http/responses.d.ts.map +1 -0
  428. package/dist/transport/http/responses.js +5 -0
  429. package/dist/transport/http/responses.js.map +1 -0
  430. package/dist/transport/http/routes/files.d.ts +1 -1
  431. package/dist/transport/http/routes/files.d.ts.map +1 -1
  432. package/dist/transport/http/routes/files.js +54 -155
  433. package/dist/transport/http/routes/files.js.map +1 -1
  434. package/dist/transport/http/routes/resources.d.ts +1 -1
  435. package/dist/transport/http/routes/resources.d.ts.map +1 -1
  436. package/dist/transport/http/routes/resources.js +92 -57
  437. package/dist/transport/http/routes/resources.js.map +1 -1
  438. package/dist/transport/http/routes/rpc.d.ts +6 -1
  439. package/dist/transport/http/routes/rpc.d.ts.map +1 -1
  440. package/dist/transport/http/routes/rpc.js +51 -21
  441. package/dist/transport/http/routes/rpc.js.map +1 -1
  442. package/dist/transport/http/routes/upload.d.ts +1 -1
  443. package/dist/transport/http/routes/upload.d.ts.map +1 -1
  444. package/dist/transport/http/routes/upload.js +256 -169
  445. package/dist/transport/http/routes/upload.js.map +1 -1
  446. package/dist/user-config.d.ts +34 -7
  447. package/dist/user-config.d.ts.map +1 -1
  448. package/dist/user-config.js +71 -0
  449. package/dist/user-config.js.map +1 -1
  450. package/package.json +17 -7
  451. package/src/bootstrap.ts +119 -35
  452. package/src/bun-platform/fs.ts +1 -0
  453. package/src/bun-platform/index.ts +18 -1
  454. package/src/bun-platform/server-lifecycle.ts +218 -0
  455. package/src/bun-platform/shell.ts +362 -0
  456. package/src/config.ts +130 -0
  457. package/src/core/agents/agent.ts +210 -92
  458. package/src/core/agents/config.ts +8 -0
  459. package/src/core/agents/retry.ts +16 -17
  460. package/src/core/agents/state.ts +2 -0
  461. package/src/core/events/base-event-store.ts +24 -16
  462. package/src/core/events/file.ts +198 -22
  463. package/src/core/file-store/containment.ts +75 -0
  464. package/src/core/file-store/file-store.ts +106 -25
  465. package/src/core/file-store/types.ts +14 -1
  466. package/src/core/image/image-processor.ts +3 -1
  467. package/src/core/image/types.ts +2 -0
  468. package/src/core/image/vips-resizer.ts +102 -37
  469. package/src/core/llm/anthropic.ts +63 -79
  470. package/src/core/llm/logger.ts +175 -37
  471. package/src/core/llm/openrouter.ts +57 -72
  472. package/src/core/llm/provider-request.ts +40 -0
  473. package/src/core/llm/provider.ts +28 -0
  474. package/src/core/plugins/plugin-builder.ts +106 -14
  475. package/src/core/preset/preset-builder.ts +12 -22
  476. package/src/core/sessions/context.ts +18 -0
  477. package/src/core/sessions/runtime-activity.ts +78 -0
  478. package/src/core/sessions/schema.ts +29 -3
  479. package/src/core/sessions/session-manager.ts +560 -140
  480. package/src/core/sessions/session-store.ts +38 -0
  481. package/src/core/sessions/session.ts +187 -47
  482. package/src/core/sessions/state.ts +11 -0
  483. package/src/core/system.ts +15 -0
  484. package/src/core/wake-key.ts +65 -0
  485. package/src/index.ts +32 -12
  486. package/src/lib/archive/archive-inspection.fixtures.ts +138 -0
  487. package/src/lib/archive/archive-inspection.ts +359 -0
  488. package/src/lib/archive/index.ts +17 -0
  489. package/src/lib/logger/console.ts +7 -57
  490. package/src/lib/logger/file.ts +28 -50
  491. package/src/lib/logger/index.ts +3 -1
  492. package/src/lib/logger/jsonl.ts +36 -0
  493. package/src/lib/logger/logger.ts +48 -0
  494. package/src/lib/logger/session-log.ts +42 -0
  495. package/src/lib/utils/concurrency.ts +37 -8
  496. package/src/lib/utils/fs-batch.ts +49 -0
  497. package/src/lib/utils/result.ts +7 -31
  498. package/src/lib/utils/sleep.ts +23 -0
  499. package/src/platform/fs-revision.ts +21 -0
  500. package/src/platform/fs.ts +109 -1
  501. package/src/platform/git.ts +67 -0
  502. package/src/platform/index.ts +51 -1
  503. package/src/platform/llm-call-log.ts +86 -0
  504. package/src/platform/scheduler.ts +71 -0
  505. package/src/platform/session-log.ts +39 -0
  506. package/src/platform/shell.ts +89 -0
  507. package/src/plugins/agent-status/plugin.ts +1 -0
  508. package/src/plugins/agents/plugin.ts +134 -81
  509. package/src/plugins/filesystem/listing.ts +70 -12
  510. package/src/plugins/filesystem/plugin.ts +8 -6
  511. package/src/plugins/git-status/index.ts +1 -0
  512. package/src/plugins/git-status/plugin.ts +211 -77
  513. package/src/plugins/llm-debug/plugin.ts +1 -0
  514. package/src/plugins/logs/plugin.ts +9 -0
  515. package/src/plugins/mailbox/plugin.ts +46 -64
  516. package/src/plugins/mailbox/query.ts +15 -7
  517. package/src/plugins/mailbox/state.ts +1 -0
  518. package/src/plugins/resources/filename.ts +19 -0
  519. package/src/plugins/resources/plugin.ts +111 -59
  520. package/src/plugins/result-eviction/plugin.ts +6 -1
  521. package/src/plugins/services/plugin.ts +254 -98
  522. package/src/plugins/services/prompt.ts +1 -6
  523. package/src/plugins/services/schema.ts +17 -3
  524. package/src/plugins/services/service.ts +702 -252
  525. package/src/plugins/session-lifecycle/plugin.ts +56 -41
  526. package/src/plugins/session-state/plugin.ts +242 -88
  527. package/src/plugins/session-stats/plugin.ts +1 -0
  528. package/src/plugins/shell/executor.ts +144 -226
  529. package/src/plugins/shell/index.ts +1 -4
  530. package/src/plugins/shell/plugin.ts +7 -9
  531. package/src/plugins/skills/discovery.ts +10 -8
  532. package/src/plugins/skills/index.ts +1 -1
  533. package/src/plugins/skills/plugin.ts +19 -27
  534. package/src/plugins/skills/prompts.ts +3 -3
  535. package/src/plugins/skills/schema.ts +5 -2
  536. package/src/plugins/uploads/plugin.ts +991 -273
  537. package/src/plugins/uploads/preprocessor.ts +25 -0
  538. package/src/plugins/uploads/preprocessors/image-classifier.ts +56 -25
  539. package/src/plugins/uploads/preprocessors/markitdown-preprocessor.ts +41 -15
  540. package/src/plugins/uploads/preprocessors/pdf-preprocessor.ts +32 -16
  541. package/src/plugins/uploads/preprocessors/zip-preprocessor.ts +67 -38
  542. package/src/plugins/uploads/schema.ts +30 -3
  543. package/src/plugins/uploads/state.ts +12 -0
  544. package/src/plugins/user-chat/plugin.ts +196 -40
  545. package/src/plugins/workers/context.ts +102 -39
  546. package/src/plugins/workers/definition.ts +7 -0
  547. package/src/plugins/workers/index.ts +4 -4
  548. package/src/plugins/workers/plugin.ts +461 -151
  549. package/src/plugins/workers/state.ts +64 -0
  550. package/src/plugins/workers/worker.ts +15 -4
  551. package/src/testing/conformance.ts +1751 -0
  552. package/src/testing/node-platform.ts +5 -0
  553. package/src/testing/test-harness.ts +21 -38
  554. package/src/testing/wait-helpers.ts +1 -4
  555. package/src/transport/adapter/client-adapter.ts +60 -3
  556. package/src/transport/adapter/heartbeat.ts +50 -0
  557. package/src/transport/adapter/server-adapter.ts +6 -0
  558. package/src/transport/http/app.ts +7 -35
  559. package/src/transport/http/context.ts +46 -0
  560. package/src/transport/http/fetch-guard.ts +318 -0
  561. package/src/transport/http/index.ts +1 -1
  562. package/src/transport/http/middleware/bearer-auth.ts +1 -1
  563. package/src/transport/http/middleware/error-handler.ts +1 -1
  564. package/src/transport/http/path-containment.ts +44 -0
  565. package/src/transport/http/responses.ts +20 -0
  566. package/src/transport/http/routes/files.ts +69 -159
  567. package/src/transport/http/routes/resources.ts +124 -93
  568. package/src/transport/http/routes/rpc.ts +63 -26
  569. package/src/transport/http/routes/upload.ts +327 -258
  570. package/src/user-config.ts +93 -7
  571. package/dist/config.test.d.ts +0 -2
  572. package/dist/config.test.d.ts.map +0 -1
  573. package/dist/config.test.js +0 -155
  574. package/dist/config.test.js.map +0 -1
  575. package/dist/core/agent-loop.integration.test.d.ts +0 -2
  576. package/dist/core/agent-loop.integration.test.d.ts.map +0 -1
  577. package/dist/core/agent-loop.integration.test.js +0 -414
  578. package/dist/core/agent-loop.integration.test.js.map +0 -1
  579. package/dist/core/agents/agent-config.test.d.ts +0 -2
  580. package/dist/core/agents/agent-config.test.d.ts.map +0 -1
  581. package/dist/core/agents/agent-config.test.js +0 -194
  582. package/dist/core/agents/agent-config.test.js.map +0 -1
  583. package/dist/core/agents/agent-shutdown.test.d.ts +0 -6
  584. package/dist/core/agents/agent-shutdown.test.d.ts.map +0 -1
  585. package/dist/core/agents/agent-shutdown.test.js +0 -180
  586. package/dist/core/agents/agent-shutdown.test.js.map +0 -1
  587. package/dist/core/agents/agent.test.d.ts +0 -2
  588. package/dist/core/agents/agent.test.d.ts.map +0 -1
  589. package/dist/core/agents/agent.test.js +0 -313
  590. package/dist/core/agents/agent.test.js.map +0 -1
  591. package/dist/core/agents/communicator.d.ts +0 -3
  592. package/dist/core/agents/communicator.d.ts.map +0 -1
  593. package/dist/core/agents/communicator.js +0 -13
  594. package/dist/core/agents/communicator.js.map +0 -1
  595. package/dist/core/agents/handler-events.test.d.ts +0 -5
  596. package/dist/core/agents/handler-events.test.d.ts.map +0 -1
  597. package/dist/core/agents/handler-events.test.js +0 -115
  598. package/dist/core/agents/handler-events.test.js.map +0 -1
  599. package/dist/core/agents/response-sanitizer.test.d.ts +0 -2
  600. package/dist/core/agents/response-sanitizer.test.d.ts.map +0 -1
  601. package/dist/core/agents/response-sanitizer.test.js +0 -101
  602. package/dist/core/agents/response-sanitizer.test.js.map +0 -1
  603. package/dist/core/error-recovery.integration.test.d.ts +0 -2
  604. package/dist/core/error-recovery.integration.test.d.ts.map +0 -1
  605. package/dist/core/error-recovery.integration.test.js +0 -288
  606. package/dist/core/error-recovery.integration.test.js.map +0 -1
  607. package/dist/core/event-sourcing.integration.test.d.ts +0 -2
  608. package/dist/core/event-sourcing.integration.test.d.ts.map +0 -1
  609. package/dist/core/event-sourcing.integration.test.js +0 -154
  610. package/dist/core/event-sourcing.integration.test.js.map +0 -1
  611. package/dist/core/events/file.test.d.ts +0 -2
  612. package/dist/core/events/file.test.d.ts.map +0 -1
  613. package/dist/core/events/file.test.js +0 -284
  614. package/dist/core/events/file.test.js.map +0 -1
  615. package/dist/core/events/memory.test.d.ts +0 -2
  616. package/dist/core/events/memory.test.d.ts.map +0 -1
  617. package/dist/core/events/memory.test.js +0 -502
  618. package/dist/core/events/memory.test.js.map +0 -1
  619. package/dist/core/image/image-processor.test.d.ts +0 -2
  620. package/dist/core/image/image-processor.test.d.ts.map +0 -1
  621. package/dist/core/image/image-processor.test.js +0 -171
  622. package/dist/core/image/image-processor.test.js.map +0 -1
  623. package/dist/core/image/vips-resizer.test.d.ts +0 -2
  624. package/dist/core/image/vips-resizer.test.d.ts.map +0 -1
  625. package/dist/core/image/vips-resizer.test.js +0 -336
  626. package/dist/core/image/vips-resizer.test.js.map +0 -1
  627. package/dist/core/llm/anthropic.test.d.ts +0 -2
  628. package/dist/core/llm/anthropic.test.d.ts.map +0 -1
  629. package/dist/core/llm/anthropic.test.js +0 -464
  630. package/dist/core/llm/anthropic.test.js.map +0 -1
  631. package/dist/core/llm/cache-breakpoints.test.d.ts +0 -2
  632. package/dist/core/llm/cache-breakpoints.test.d.ts.map +0 -1
  633. package/dist/core/llm/cache-breakpoints.test.js +0 -69
  634. package/dist/core/llm/cache-breakpoints.test.js.map +0 -1
  635. package/dist/core/llm/cache-live.test.d.ts +0 -16
  636. package/dist/core/llm/cache-live.test.d.ts.map +0 -1
  637. package/dist/core/llm/cache-live.test.js +0 -137
  638. package/dist/core/llm/cache-live.test.js.map +0 -1
  639. package/dist/core/llm/logger.test.d.ts +0 -7
  640. package/dist/core/llm/logger.test.d.ts.map +0 -1
  641. package/dist/core/llm/logger.test.js +0 -228
  642. package/dist/core/llm/logger.test.js.map +0 -1
  643. package/dist/core/llm/message-sanitization.test.d.ts +0 -2
  644. package/dist/core/llm/message-sanitization.test.d.ts.map +0 -1
  645. package/dist/core/llm/message-sanitization.test.js +0 -181
  646. package/dist/core/llm/message-sanitization.test.js.map +0 -1
  647. package/dist/core/llm/mock.test.d.ts +0 -2
  648. package/dist/core/llm/mock.test.d.ts.map +0 -1
  649. package/dist/core/llm/mock.test.js +0 -318
  650. package/dist/core/llm/mock.test.js.map +0 -1
  651. package/dist/core/llm/model-shortlist-live.test.d.ts +0 -35
  652. package/dist/core/llm/model-shortlist-live.test.d.ts.map +0 -1
  653. package/dist/core/llm/model-shortlist-live.test.js +0 -452
  654. package/dist/core/llm/model-shortlist-live.test.js.map +0 -1
  655. package/dist/core/llm/openrouter-mapping.test.d.ts +0 -2
  656. package/dist/core/llm/openrouter-mapping.test.d.ts.map +0 -1
  657. package/dist/core/llm/openrouter-mapping.test.js +0 -190
  658. package/dist/core/llm/openrouter-mapping.test.js.map +0 -1
  659. package/dist/core/llm/openrouter.test.d.ts +0 -2
  660. package/dist/core/llm/openrouter.test.d.ts.map +0 -1
  661. package/dist/core/llm/openrouter.test.js +0 -377
  662. package/dist/core/llm/openrouter.test.js.map +0 -1
  663. package/dist/core/llm/provider-integration.test.d.ts +0 -12
  664. package/dist/core/llm/provider-integration.test.d.ts.map +0 -1
  665. package/dist/core/llm/provider-integration.test.js +0 -350
  666. package/dist/core/llm/provider-integration.test.js.map +0 -1
  667. package/dist/core/llm/reasoning-details.test.d.ts +0 -2
  668. package/dist/core/llm/reasoning-details.test.d.ts.map +0 -1
  669. package/dist/core/llm/reasoning-details.test.js +0 -144
  670. package/dist/core/llm/reasoning-details.test.js.map +0 -1
  671. package/dist/core/llm/routing-provider.test.d.ts +0 -2
  672. package/dist/core/llm/routing-provider.test.d.ts.map +0 -1
  673. package/dist/core/llm/routing-provider.test.js +0 -94
  674. package/dist/core/llm/routing-provider.test.js.map +0 -1
  675. package/dist/core/llm/snapshot-middleware.test.d.ts +0 -2
  676. package/dist/core/llm/snapshot-middleware.test.d.ts.map +0 -1
  677. package/dist/core/llm/snapshot-middleware.test.js +0 -144
  678. package/dist/core/llm/snapshot-middleware.test.js.map +0 -1
  679. package/dist/core/llm/thinking-blocks.test.d.ts +0 -2
  680. package/dist/core/llm/thinking-blocks.test.d.ts.map +0 -1
  681. package/dist/core/llm/thinking-blocks.test.js +0 -291
  682. package/dist/core/llm/thinking-blocks.test.js.map +0 -1
  683. package/dist/core/multi-agent.integration.test.d.ts +0 -2
  684. package/dist/core/multi-agent.integration.test.d.ts.map +0 -1
  685. package/dist/core/multi-agent.integration.test.js +0 -298
  686. package/dist/core/multi-agent.integration.test.js.map +0 -1
  687. package/dist/core/plugin-hooks.integration.test.d.ts +0 -2
  688. package/dist/core/plugin-hooks.integration.test.d.ts.map +0 -1
  689. package/dist/core/plugin-hooks.integration.test.js +0 -458
  690. package/dist/core/plugin-hooks.integration.test.js.map +0 -1
  691. package/dist/core/reasoning-round-trip.integration.test.d.ts +0 -2
  692. package/dist/core/reasoning-round-trip.integration.test.d.ts.map +0 -1
  693. package/dist/core/reasoning-round-trip.integration.test.js +0 -150
  694. package/dist/core/reasoning-round-trip.integration.test.js.map +0 -1
  695. package/dist/core/session-lifecycle.integration.test.d.ts +0 -2
  696. package/dist/core/session-lifecycle.integration.test.d.ts.map +0 -1
  697. package/dist/core/session-lifecycle.integration.test.js +0 -159
  698. package/dist/core/session-lifecycle.integration.test.js.map +0 -1
  699. package/dist/core/sessions/fork-utils.test.d.ts +0 -2
  700. package/dist/core/sessions/fork-utils.test.d.ts.map +0 -1
  701. package/dist/core/sessions/fork-utils.test.js +0 -129
  702. package/dist/core/sessions/fork-utils.test.js.map +0 -1
  703. package/dist/core/sessions/session-overrides.integration.test.d.ts +0 -2
  704. package/dist/core/sessions/session-overrides.integration.test.d.ts.map +0 -1
  705. package/dist/core/sessions/session-overrides.integration.test.js +0 -154
  706. package/dist/core/sessions/session-overrides.integration.test.js.map +0 -1
  707. package/dist/core/sessions/session.test.d.ts +0 -2
  708. package/dist/core/sessions/session.test.d.ts.map +0 -1
  709. package/dist/core/sessions/session.test.js +0 -1100
  710. package/dist/core/sessions/session.test.js.map +0 -1
  711. package/dist/core/tools/executor.test.d.ts +0 -2
  712. package/dist/core/tools/executor.test.d.ts.map +0 -1
  713. package/dist/core/tools/executor.test.js +0 -144
  714. package/dist/core/tools/executor.test.js.map +0 -1
  715. package/dist/lib/logger/console.test.d.ts +0 -2
  716. package/dist/lib/logger/console.test.d.ts.map +0 -1
  717. package/dist/lib/logger/console.test.js +0 -258
  718. package/dist/lib/logger/console.test.js.map +0 -1
  719. package/dist/lib/never.d.ts +0 -2
  720. package/dist/lib/never.d.ts.map +0 -1
  721. package/dist/lib/never.js +0 -4
  722. package/dist/lib/never.js.map +0 -1
  723. package/dist/lib/utils/concurrency.test.d.ts +0 -2
  724. package/dist/lib/utils/concurrency.test.d.ts.map +0 -1
  725. package/dist/lib/utils/concurrency.test.js +0 -135
  726. package/dist/lib/utils/concurrency.test.js.map +0 -1
  727. package/dist/plugins/agent-status/agent-status.test.d.ts +0 -2
  728. package/dist/plugins/agent-status/agent-status.test.d.ts.map +0 -1
  729. package/dist/plugins/agent-status/agent-status.test.js +0 -136
  730. package/dist/plugins/agent-status/agent-status.test.js.map +0 -1
  731. package/dist/plugins/agents/agents.integration.test.d.ts +0 -2
  732. package/dist/plugins/agents/agents.integration.test.d.ts.map +0 -1
  733. package/dist/plugins/agents/agents.integration.test.js +0 -830
  734. package/dist/plugins/agents/agents.integration.test.js.map +0 -1
  735. package/dist/plugins/agents/supervision.integration.test.d.ts +0 -2
  736. package/dist/plugins/agents/supervision.integration.test.d.ts.map +0 -1
  737. package/dist/plugins/agents/supervision.integration.test.js +0 -215
  738. package/dist/plugins/agents/supervision.integration.test.js.map +0 -1
  739. package/dist/plugins/context-compact/compaction-live.test.d.ts +0 -17
  740. package/dist/plugins/context-compact/compaction-live.test.d.ts.map +0 -1
  741. package/dist/plugins/context-compact/compaction-live.test.js +0 -177
  742. package/dist/plugins/context-compact/compaction-live.test.js.map +0 -1
  743. package/dist/plugins/context-compact/context-compact.integration.test.d.ts +0 -2
  744. package/dist/plugins/context-compact/context-compact.integration.test.d.ts.map +0 -1
  745. package/dist/plugins/context-compact/context-compact.integration.test.js +0 -364
  746. package/dist/plugins/context-compact/context-compact.integration.test.js.map +0 -1
  747. package/dist/plugins/context-compact/context-compactor.test.d.ts +0 -2
  748. package/dist/plugins/context-compact/context-compactor.test.d.ts.map +0 -1
  749. package/dist/plugins/context-compact/context-compactor.test.js +0 -858
  750. package/dist/plugins/context-compact/context-compactor.test.js.map +0 -1
  751. package/dist/plugins/context-compact/history-offloader.test.d.ts +0 -2
  752. package/dist/plugins/context-compact/history-offloader.test.d.ts.map +0 -1
  753. package/dist/plugins/context-compact/history-offloader.test.js +0 -77
  754. package/dist/plugins/context-compact/history-offloader.test.js.map +0 -1
  755. package/dist/plugins/filesystem/filesystem.integration.test.d.ts +0 -2
  756. package/dist/plugins/filesystem/filesystem.integration.test.d.ts.map +0 -1
  757. package/dist/plugins/filesystem/filesystem.integration.test.js +0 -447
  758. package/dist/plugins/filesystem/filesystem.integration.test.js.map +0 -1
  759. package/dist/plugins/filesystem/schema.d.ts +0 -7
  760. package/dist/plugins/filesystem/schema.d.ts.map +0 -1
  761. package/dist/plugins/filesystem/schema.js +0 -2
  762. package/dist/plugins/filesystem/schema.js.map +0 -1
  763. package/dist/plugins/limits-guard/limit-guard.test.d.ts +0 -2
  764. package/dist/plugins/limits-guard/limit-guard.test.d.ts.map +0 -1
  765. package/dist/plugins/limits-guard/limit-guard.test.js +0 -194
  766. package/dist/plugins/limits-guard/limit-guard.test.js.map +0 -1
  767. package/dist/plugins/limits-guard/limits-guard.integration.test.d.ts +0 -2
  768. package/dist/plugins/limits-guard/limits-guard.integration.test.d.ts.map +0 -1
  769. package/dist/plugins/limits-guard/limits-guard.integration.test.js +0 -887
  770. package/dist/plugins/limits-guard/limits-guard.integration.test.js.map +0 -1
  771. package/dist/plugins/llm-debug/llm-debug.integration.test.d.ts +0 -2
  772. package/dist/plugins/llm-debug/llm-debug.integration.test.d.ts.map +0 -1
  773. package/dist/plugins/llm-debug/llm-debug.integration.test.js +0 -157
  774. package/dist/plugins/llm-debug/llm-debug.integration.test.js.map +0 -1
  775. package/dist/plugins/mailbox/mailbox.integration.test.d.ts +0 -2
  776. package/dist/plugins/mailbox/mailbox.integration.test.d.ts.map +0 -1
  777. package/dist/plugins/mailbox/mailbox.integration.test.js +0 -678
  778. package/dist/plugins/mailbox/mailbox.integration.test.js.map +0 -1
  779. package/dist/plugins/resources/resources.integration.test.d.ts +0 -2
  780. package/dist/plugins/resources/resources.integration.test.d.ts.map +0 -1
  781. package/dist/plugins/resources/resources.integration.test.js +0 -62
  782. package/dist/plugins/resources/resources.integration.test.js.map +0 -1
  783. package/dist/plugins/result-eviction/result-eviction.integration.test.d.ts +0 -2
  784. package/dist/plugins/result-eviction/result-eviction.integration.test.d.ts.map +0 -1
  785. package/dist/plugins/result-eviction/result-eviction.integration.test.js +0 -294
  786. package/dist/plugins/result-eviction/result-eviction.integration.test.js.map +0 -1
  787. package/dist/plugins/services/pid-registry.test.d.ts +0 -2
  788. package/dist/plugins/services/pid-registry.test.d.ts.map +0 -1
  789. package/dist/plugins/services/pid-registry.test.js +0 -161
  790. package/dist/plugins/services/pid-registry.test.js.map +0 -1
  791. package/dist/plugins/services/services.integration.test.d.ts +0 -2
  792. package/dist/plugins/services/services.integration.test.d.ts.map +0 -1
  793. package/dist/plugins/services/services.integration.test.js +0 -1057
  794. package/dist/plugins/services/services.integration.test.js.map +0 -1
  795. package/dist/plugins/session-lifecycle/session-lifecycle.integration.test.d.ts +0 -2
  796. package/dist/plugins/session-lifecycle/session-lifecycle.integration.test.d.ts.map +0 -1
  797. package/dist/plugins/session-lifecycle/session-lifecycle.integration.test.js +0 -498
  798. package/dist/plugins/session-lifecycle/session-lifecycle.integration.test.js.map +0 -1
  799. package/dist/plugins/session-stats/plugin.test.d.ts +0 -2
  800. package/dist/plugins/session-stats/plugin.test.d.ts.map +0 -1
  801. package/dist/plugins/session-stats/plugin.test.js +0 -145
  802. package/dist/plugins/session-stats/plugin.test.js.map +0 -1
  803. package/dist/plugins/shell/shell.integration.test.d.ts +0 -2
  804. package/dist/plugins/shell/shell.integration.test.d.ts.map +0 -1
  805. package/dist/plugins/shell/shell.integration.test.js +0 -234
  806. package/dist/plugins/shell/shell.integration.test.js.map +0 -1
  807. package/dist/plugins/shell/shell.test.d.ts +0 -2
  808. package/dist/plugins/shell/shell.test.d.ts.map +0 -1
  809. package/dist/plugins/shell/shell.test.js +0 -236
  810. package/dist/plugins/shell/shell.test.js.map +0 -1
  811. package/dist/plugins/skills/discovery.test.d.ts +0 -2
  812. package/dist/plugins/skills/discovery.test.d.ts.map +0 -1
  813. package/dist/plugins/skills/discovery.test.js +0 -312
  814. package/dist/plugins/skills/discovery.test.js.map +0 -1
  815. package/dist/plugins/skills/skills.integration.test.d.ts +0 -2
  816. package/dist/plugins/skills/skills.integration.test.d.ts.map +0 -1
  817. package/dist/plugins/skills/skills.integration.test.js +0 -475
  818. package/dist/plugins/skills/skills.integration.test.js.map +0 -1
  819. package/dist/plugins/todo/todo.integration.test.d.ts +0 -2
  820. package/dist/plugins/todo/todo.integration.test.d.ts.map +0 -1
  821. package/dist/plugins/todo/todo.integration.test.js +0 -605
  822. package/dist/plugins/todo/todo.integration.test.js.map +0 -1
  823. package/dist/plugins/uploads/preprocessors/image-classifier.test.d.ts +0 -2
  824. package/dist/plugins/uploads/preprocessors/image-classifier.test.d.ts.map +0 -1
  825. package/dist/plugins/uploads/preprocessors/image-classifier.test.js +0 -113
  826. package/dist/plugins/uploads/preprocessors/image-classifier.test.js.map +0 -1
  827. package/dist/plugins/uploads/uploads.integration.test.d.ts +0 -2
  828. package/dist/plugins/uploads/uploads.integration.test.d.ts.map +0 -1
  829. package/dist/plugins/uploads/uploads.integration.test.js +0 -639
  830. package/dist/plugins/uploads/uploads.integration.test.js.map +0 -1
  831. package/dist/plugins/user-chat/user-chat.integration.test.d.ts +0 -2
  832. package/dist/plugins/user-chat/user-chat.integration.test.d.ts.map +0 -1
  833. package/dist/plugins/user-chat/user-chat.integration.test.js +0 -754
  834. package/dist/plugins/user-chat/user-chat.integration.test.js.map +0 -1
  835. package/dist/plugins/workers/workers.integration.test.d.ts +0 -2
  836. package/dist/plugins/workers/workers.integration.test.d.ts.map +0 -1
  837. package/dist/plugins/workers/workers.integration.test.js +0 -629
  838. package/dist/plugins/workers/workers.integration.test.js.map +0 -1
  839. package/dist/prompts/macros.test.d.ts +0 -2
  840. package/dist/prompts/macros.test.d.ts.map +0 -1
  841. package/dist/prompts/macros.test.js +0 -80
  842. package/dist/prompts/macros.test.js.map +0 -1
  843. package/dist/testing/test-harness.test.d.ts +0 -2
  844. package/dist/testing/test-harness.test.d.ts.map +0 -1
  845. package/dist/testing/test-harness.test.js +0 -92
  846. package/dist/testing/test-harness.test.js.map +0 -1
  847. package/dist/transport/http/routes/rpc.integration.test.d.ts +0 -2
  848. package/dist/transport/http/routes/rpc.integration.test.d.ts.map +0 -1
  849. package/dist/transport/http/routes/rpc.integration.test.js +0 -189
  850. package/dist/transport/http/routes/rpc.integration.test.js.map +0 -1
  851. package/dist/transport/http/routes/rpc.test.d.ts +0 -2
  852. package/dist/transport/http/routes/rpc.test.d.ts.map +0 -1
  853. package/dist/transport/http/routes/rpc.test.js +0 -316
  854. package/dist/transport/http/routes/rpc.test.js.map +0 -1
  855. package/src/config.test.ts +0 -174
  856. package/src/core/agent-loop.integration.test.ts +0 -503
  857. package/src/core/agents/agent-config.test.ts +0 -240
  858. package/src/core/agents/agent-shutdown.test.ts +0 -236
  859. package/src/core/agents/agent.test.ts +0 -387
  860. package/src/core/agents/communicator.ts +0 -16
  861. package/src/core/agents/handler-events.test.ts +0 -167
  862. package/src/core/agents/response-sanitizer.test.ts +0 -137
  863. package/src/core/error-recovery.integration.test.ts +0 -343
  864. package/src/core/event-sourcing.integration.test.ts +0 -191
  865. package/src/core/events/file.test.ts +0 -436
  866. package/src/core/events/memory.test.ts +0 -741
  867. package/src/core/image/image-processor.test.ts +0 -218
  868. package/src/core/image/vips-resizer.test.ts +0 -388
  869. package/src/core/llm/anthropic.test.ts +0 -546
  870. package/src/core/llm/cache-breakpoints.test.ts +0 -85
  871. package/src/core/llm/cache-live.test.ts +0 -155
  872. package/src/core/llm/logger.test.ts +0 -270
  873. package/src/core/llm/message-sanitization.test.ts +0 -217
  874. package/src/core/llm/mock.test.ts +0 -402
  875. package/src/core/llm/model-shortlist-live.test.ts +0 -577
  876. package/src/core/llm/openrouter-mapping.test.ts +0 -234
  877. package/src/core/llm/openrouter.test.ts +0 -499
  878. package/src/core/llm/provider-integration.test.ts +0 -408
  879. package/src/core/llm/reasoning-details.test.ts +0 -177
  880. package/src/core/llm/routing-provider.test.ts +0 -113
  881. package/src/core/llm/snapshot-middleware.test.ts +0 -168
  882. package/src/core/llm/thinking-blocks.test.ts +0 -345
  883. package/src/core/multi-agent.integration.test.ts +0 -340
  884. package/src/core/plugin-hooks.integration.test.ts +0 -568
  885. package/src/core/reasoning-round-trip.integration.test.ts +0 -188
  886. package/src/core/session-lifecycle.integration.test.ts +0 -202
  887. package/src/core/sessions/fork-utils.test.ts +0 -158
  888. package/src/core/sessions/session-overrides.integration.test.ts +0 -210
  889. package/src/core/sessions/session.test.ts +0 -1736
  890. package/src/core/tools/executor.test.ts +0 -161
  891. package/src/lib/logger/console.test.ts +0 -348
  892. package/src/lib/never.ts +0 -3
  893. package/src/lib/utils/concurrency.test.ts +0 -169
  894. package/src/plugins/agent-status/agent-status.test.ts +0 -164
  895. package/src/plugins/agents/agents.integration.test.ts +0 -976
  896. package/src/plugins/agents/supervision.integration.test.ts +0 -249
  897. package/src/plugins/context-compact/compaction-live.test.ts +0 -221
  898. package/src/plugins/context-compact/context-compact.integration.test.ts +0 -418
  899. package/src/plugins/context-compact/context-compactor.test.ts +0 -1036
  900. package/src/plugins/context-compact/history-offloader.test.ts +0 -100
  901. package/src/plugins/filesystem/filesystem.integration.test.ts +0 -529
  902. package/src/plugins/filesystem/schema.ts +0 -6
  903. package/src/plugins/limits-guard/limit-guard.test.ts +0 -253
  904. package/src/plugins/limits-guard/limits-guard.integration.test.ts +0 -1012
  905. package/src/plugins/llm-debug/llm-debug.integration.test.ts +0 -192
  906. package/src/plugins/mailbox/mailbox.integration.test.ts +0 -794
  907. package/src/plugins/resources/resources.integration.test.ts +0 -68
  908. package/src/plugins/result-eviction/result-eviction.integration.test.ts +0 -332
  909. package/src/plugins/services/pid-registry.test.ts +0 -180
  910. package/src/plugins/services/services.integration.test.ts +0 -1223
  911. package/src/plugins/session-lifecycle/session-lifecycle.integration.test.ts +0 -639
  912. package/src/plugins/session-stats/plugin.test.ts +0 -160
  913. package/src/plugins/shell/shell.integration.test.ts +0 -273
  914. package/src/plugins/shell/shell.test.ts +0 -314
  915. package/src/plugins/skills/discovery.test.ts +0 -395
  916. package/src/plugins/skills/skills.integration.test.ts +0 -580
  917. package/src/plugins/todo/todo.integration.test.ts +0 -687
  918. package/src/plugins/uploads/preprocessors/image-classifier.test.ts +0 -142
  919. package/src/plugins/uploads/uploads.integration.test.ts +0 -831
  920. package/src/plugins/user-chat/user-chat.integration.test.ts +0 -893
  921. package/src/plugins/workers/workers.integration.test.ts +0 -778
  922. package/src/prompts/macros.test.ts +0 -107
  923. package/src/testing/test-harness.test.ts +0 -114
  924. package/src/transport/http/routes/rpc.integration.test.ts +0 -243
  925. package/src/transport/http/routes/rpc.test.ts +0 -372
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../src/plugins/uploads/plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../src/plugins/uploads/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,QAAQ,CAAA;AAEtB,OAAO,EAAE,iBAAiB,EAAoB,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAGxF,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AAI/D,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,EAAE,aAAa,EAA8B,MAAM,wBAAwB,CAAA;AAElF,OAAO,EAAE,GAAG,EAAE,EAAE,EAAe,MAAM,uBAAuB,CAAA;AAE5D,OAAO,EAAE,gBAAgB,EAA0B,aAAa,EAAE,QAAQ,EAAuB,cAAc,EAAE,MAAM,aAAa,CAAA;AACpI,OAAO,EAAyC,YAAY,EAAE,MAAM,YAAY,CAAA;AAEhF,+EAA+E;AAC/E,uBAAuB;AACvB,+EAA+E;AAE/E,wGAAwG;AACxG,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IACjD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC5B,CAAC,CAAA;AAEF,+EAA+E;AAC/E,YAAY;AACZ,+EAA+E;AAE/E,MAAM,aAAa,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAA,CAAC,OAAO;AAE9C,iCAAiC;AACjC,MAAM,kBAAkB,GAAG;IAC1B,QAAQ;IACR,OAAO;IACP,iBAAiB;IACjB,kBAAkB;IAClB,iBAAiB;IACjB,iBAAiB;IACjB,sBAAsB;IACtB,uBAAuB;IACvB,iBAAiB;IACjB,yEAAyE;IACzE,mEAAmE;IACnE,2EAA2E;IAC3E,yCAAyC;CACzC,CAAA;AAED,MAAM,qBAAqB,GAAG,OAAO,CAAA,CAAC,cAAc;AACpD,MAAM,yBAAyB,GAAG,KAAK,CAAA;AACvC,MAAM,sBAAsB,GAAG,MAAM,CAAA;AACrC,MAAM,wBAAwB,GAAG,CAAC,CAAA;AAClC,MAAM,8BAA8B,GAAG,EAAE,CAAA;AAEzC,kGAAkG;AAClG,MAAM,kBAAkB,GAAG,GAAgB,EAAE,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,sBAAsB,EAAE,GAAG,CAAC,CAAA;AAuEpH,+EAA+E;AAC/E,UAAU;AACV,+EAA+E;AAE/E,SAAS,iBAAiB,CAAC,QAAgB;IAC1C,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAA;AAC3H,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAwB,EAAE,WAAmB;IACzE,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAChC,MAAM,QAAQ,GAAG,GAAG,WAAW,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAA;QACvD,MAAM,OAAO,GAAG,CAAC,CAAC,gBAAgB,IAAI,mBAAmB,CAAC,CAAC,QAAQ,GAAG,CAAA;QACtE,OAAO,yBAAyB,CAAC,CAAC,QAAQ,eAAe,CAAC,CAAC,QAAQ,WAAW,CAAC,CAAC,QAAQ,eAAe,QAAQ,OAAO,OAAO,iBAAiB,CAAA;IAC/I,CAAC,CAAC,CAAA;IACF,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC;AAED,SAAS,WAAW,CACnB,MAAyB,EACzB,SAA4B;IAE5B,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,SAAS,CAAC;QAAE,OAAO,MAAM,CAAA;IAChF,MAAM,IAAI,GAAG,EAAE,GAAG,MAAM,EAAE,CAAA;IAC1B,KAAK,MAAM,QAAQ,IAAI,SAAS;QAAE,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAA;IACvD,OAAO,IAAI,CAAA;AACZ,CAAC;AAED;;;;;GAKG;AACH,SAAS,UAAU,CAAC,KAAa;IAChC,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAA;IACjE,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AAC9B,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,gBAAgB,CAAC,QAAgB;IACzC,OAAO,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;AACjC,CAAC;AAED,SAAS,mBAAmB,CAAC,KAA0D;IACtF,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC;QAAE,OAAO,kBAAkB,CAAA;IAC1D,IAAI,KAAK,CAAC,IAAI,GAAG,aAAa;QAAE,OAAO,uBAAuB,aAAa,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;IAC/F,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,QAAQ,CAAC;QAAE,OAAO,0BAA0B,KAAK,CAAC,QAAQ,EAAE,CAAA;IACzF,OAAO,SAAS,CAAA;AACjB,CAAC;AAED,SAAS,sBAAsB,CAAC,aAAmC,EAAE,QAAgB;IACpF,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAA;IACxC,IAAI,aAAa,CAAC,OAAO;QAAE,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAA;IAC5E,IAAI,2BAA2B,GAAG,GAAG,EAAE,GAAE,CAAC,CAAA;IAC1C,MAAM,oBAAoB,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QAC1D,2BAA2B,GAAG,OAAO,CAAA;IACtC,CAAC,CAAC,CAAA;IACF,IAAI,iBAAiB,GAAG,GAAG,EAAE,GAAE,CAAC,CAAA;IAChC,MAAM,UAAU,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QAChD,iBAAiB,GAAG,OAAO,CAAA;IAC5B,CAAC,CAAC,CAAA;IACF,IAAI,iBAAiB,GAAG,KAAK,CAAA;IAC7B,IAAI,aAAa,GAAG,CAAC,CAAA;IACrB,IAAI,OAAO,GAAG,KAAK,CAAA;IACnB,IAAI,mBAAoD,CAAA;IACxD,IAAI,SAAuB,CAAA;IAC3B,MAAM,MAAM,GAAG,GAAG,EAAE;QACnB,IAAI,CAAC,iBAAiB,IAAI,aAAa,KAAK,CAAC,IAAI,OAAO;YAAE,OAAM;QAChE,OAAO,GAAG,IAAI,CAAA;QACd,IAAI,aAAa,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,SAAS;YAAE,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QACzG,mBAAmB,EAAE,EAAE,CAAA;QACvB,mBAAmB,GAAG,SAAS,CAAA;QAC/B,iBAAiB,EAAE,CAAA;IACpB,CAAC,CAAA;IACD,MAAM,gBAAgB,GAAG,GAAG,EAAE;QAC7B,IAAI,iBAAiB;YAAE,OAAM;QAC7B,iBAAiB,GAAG,IAAI,CAAA;QACxB,2BAA2B,EAAE,CAAA;QAC7B,MAAM,EAAE,CAAA;IACT,CAAC,CAAA;IACD,SAAS,GAAG;QACX,UAAU;QACV,oBAAoB;QACpB,UAAU;QACV,oBAAoB;YACnB,IAAI,OAAO;gBAAE,OAAO,GAAG,EAAE,GAAE,CAAC,CAAA;YAC5B,aAAa,EAAE,CAAA;YACf,IAAI,QAAQ,GAAG,KAAK,CAAA;YACpB,OAAO,GAAG,EAAE;gBACX,IAAI,QAAQ;oBAAE,OAAM;gBACpB,QAAQ,GAAG,IAAI,CAAA;gBACf,aAAa,EAAE,CAAA;gBACf,MAAM,EAAE,CAAA;YACT,CAAC,CAAA;QACF,CAAC;KACD,CAAA;IACD,aAAa,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;IACpD,OAAO;QACN,UAAU;QACV,KAAK,CAAI,GAAsD;YAC9D,IAAI,MAAkB,CAAA;YACtB,IAAI,CAAC;gBACJ,MAAM,GAAG,GAAG,CAAC,UAAU,CAAC,CAAA;YACzB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,gBAAgB,EAAE,CAAA;gBAClB,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YAC7B,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAA;YAC/C,OAAO,MAAM,CAAA;QACd,CAAC;QACD,kBAAkB,CAAC,OAAO;YACzB,IAAI,OAAO,EAAE,CAAC;gBACb,OAAO,EAAE,CAAA;gBACT,OAAM;YACP,CAAC;YACD,IAAI,mBAAmB,EAAE,CAAC;gBACzB,OAAO,EAAE,CAAA;gBACT,MAAM,IAAI,KAAK,CAAC,UAAU,QAAQ,8BAA8B,CAAC,CAAA;YAClE,CAAC;YACD,mBAAmB,GAAG,OAAO,CAAA;QAC9B,CAAC;QACD,OAAO,EAAE,gBAAgB;KACzB,CAAA;AACF,CAAC;AAED,SAAS,kBAAkB,CAAI,IAK9B;IACA,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO;QAAE,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAA;IACtF,MAAM,mBAAmB,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACrE,IAAI,iBAAiB,GAAG,GAAG,EAAE,GAAE,CAAC,CAAA;IAChC,MAAM,UAAU,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QAChD,iBAAiB,GAAG,OAAO,CAAA;IAC5B,CAAC,CAAC,CAAA;IACF,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;IAC/D,OAAO,CAAC,KAAK,IAAI,EAAE;QAClB,IAAI,CAAC;YACJ,OAAO,MAAM,IAAI,CAAC,GAAG,EAAE,CAAA;QACxB,CAAC;gBAAS,CAAC;YACV,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;YACrD,mBAAmB,EAAE,CAAA;YACrB,iBAAiB,EAAE,CAAA;QACpB,CAAC;IACF,CAAC,CAAC,EAAE,CAAA;AACL,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,IAK5B;IACA,MAAM,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;IACtD,MAAM,eAAe,GAAG,mBAAmB,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAA;IACxE,IAAI,eAAe;QAAE,OAAO,GAAG,CAAC,gBAAgB,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAA;IAE1E,MAAM,QAAQ,GAAG,gBAAgB,EAAE,CAAA;IACnC,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAA;IACpC,MAAM,SAAS,GAAG,sBAAsB,CAAC,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,CAAA;IACzE,IAAI,QAAoC,CAAA;IACxC,IAAI,CAAC;QACJ,IAAI,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO;YAAE,OAAO,GAAG,CAAC,gBAAgB,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAA;QACnG,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,YAAY,IAAI,CAAC,KAAK,CAAC,SAAS,YAAY,QAAQ,EAAE,CAAC,CAAA;QACrG,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;QAC5E,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC;YACrB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,CAAC,KAAK,EAAE,CAAC,CAAA;YAC1H,OAAO,GAAG,CAAC,kBAAkB,EAAE,CAAC,CAAA;QACjC,CAAC;QACD,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;YAChC,MAAM,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;YAClC,OAAO,GAAG,CAAC,gBAAgB,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAA;QAC3D,CAAC;QACD,QAAQ,GAAG;YACV,QAAQ;YACR,WAAW;YACX,WAAW;YACX,QAAQ;YACR,QAAQ,EAAE,WAAW,CAAC,KAAK,CAAC,IAAI;YAChC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,SAAS;SACT,CAAA;QACD,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAA;IACpB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,gHAAgH;QAChH,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAA;QACjI,OAAO,GAAG,CAAC,kBAAkB,EAAE,CAAC,CAAA;IACjC,CAAC;YAAS,CAAC;QACV,yFAAyF;QACzF,4EAA4E;QAC5E,IAAI,CAAC,QAAQ;YAAE,SAAS,CAAC,OAAO,EAAE,CAAA;IACnC,CAAC;AACF,CAAC;AAID,KAAK,UAAU,eAAe,CAAC,IAU9B;IACA,MAAM,YAAY,GAAG,IAAI,CAAC,oBAAoB,EAAE,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAC7E,IAAI,CAAC,YAAY;QAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAA;IAE7C,IAAI,QAAQ,GAAG,KAAK,CAAA;IACpB,MAAM,cAAc,GAAiC,CAAC,KAAK,IAAI,EAAE;QAChE,IAAI,CAAC;YACJ,OAAO;gBACN,IAAI,EAAE,WAAW;gBACjB,MAAM,EAAE,MAAM,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE;oBAChE,KAAK,EAAE,IAAI,CAAC,WAAW;oBACvB,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM;oBAC9B,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;oBACvC,aAAa,EAAE,IAAI,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC;iBACpD,CAAC;aACF,CAAA;QACF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;QAChC,CAAC;IACF,CAAC,CAAC,EAAE,CAAA;IACJ,IAAI,YAAsC,CAAA;IAC1C,MAAM,OAAO,GAAG,IAAI,OAAO,CAAsB,CAAC,OAAO,EAAE,EAAE;QAC5D,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpC,OAAO,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAA;YAC5B,OAAM;QACP,CAAC;QACD,YAAY,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAA;QACjD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,YAAY,EAAE;YAC9D,IAAI,EAAE,IAAI;SACV,CAAC,CAAA;IACH,CAAC,CAAC,CAAA;IACF,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;QACjC,QAAQ,GAAG,IAAI,CAAA;QACf,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAA;IACvD,CAAC,EAAE,IAAI,CAAC,mBAAmB,IAAI,qBAAqB,CAAC,CAAA;IAErD,IAAI,OAAwC,CAAA;IAC5C,IAAI,cAAyD,CAAA;IAC7D,IAAI,CAAC;QACJ,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,CAAA;QAC3D,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,KAAK,GAAG,IAAI,OAAO,CAA4B,CAAC,OAAO,EAAE,EAAE;gBAChE,cAAc,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,EAAE,IAAI,CAAC,sBAAsB,IAAI,yBAAyB,CAAC,CAAA;YAChI,CAAC,CAAC,CAAA;YACF,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC,CAAA;YAC9D,IAAI,UAAU,CAAC,IAAI,KAAK,eAAe;gBAAE,OAAO,GAAG,UAAU,CAAA;QAC9D,CAAC;aAAM,CAAC;YACP,OAAO,GAAG,KAAK,CAAA;QAChB,CAAC;IACF,CAAC;YAAS,CAAC;QACV,YAAY,CAAC,SAAS,CAAC,CAAA;QACvB,IAAI,cAAc;YAAE,YAAY,CAAC,cAAc,CAAC,CAAA;QAChD,IAAI,YAAY;YAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAA;IACpF,CAAC;IAED,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpC,OAAO;YACN,MAAM,EAAE,QAAQ;YAChB,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,sBAAsB;SAC/D,CAAA;IACF,CAAC;IACD,IAAI,OAAO,EAAE,IAAI,KAAK,OAAO,EAAE,CAAC;QAC/B,OAAO;YACN,MAAM,EAAE,QAAQ;YAChB,KAAK,EAAE,OAAO,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;SACrF,CAAA;IACF,CAAC;IACD,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAA;IACrE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAA;IACxF,OAAO;QACN,MAAM,EAAE,OAAO;QACf,gBAAgB,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB;QACvD,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY;KAC/C,CAAA;AACF,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,WAAsB,EAAE,QAAwB;IAC5E,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;IACtF,IAAI,CAAC,MAAM,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAC9C,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAwG;IACpI,OAAO;QACN,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ;QAChC,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;QAC9B,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;QAC9B,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;QACtB,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ;QAC5B,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;QAC1B,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB;QAC9C,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;QACtC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;QACxB,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS;QAClC,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE;KACvB,CAAA;AACF,CAAC;AAED,SAAS,uBAAuB,CAAC,MAAwB,EAAE,QAA6C,EAAE,MAAoB;IAC7H,OAAO,YAAY,CAAC,MAAM,CAAC,qBAAqB,EAAE;QACjD,QAAQ;QACR,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;QACzC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,KAAK,EAAE,MAAM,CAAC,KAAK;KACnB,CAAC,CAAA;AACH,CAAC;AAED,KAAK,UAAU,cAAc,CAC5B,aAAmC,EACnC,QAAgB,EAChB,GAAqB,EACrB,OAAwC;IAExC,IAAI,aAAa,CAAC,OAAO,IAAI,CAAC,OAAO,EAAE,gBAAgB;QAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAA;IAC9F,MAAM,QAAQ,GAAG,aAAa,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAA;IACjF,IAAI,OAAO,GAAG,GAAG,EAAE,GAAE,CAAC,CAAA;IACtB,MAAM,OAAO,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QAC7C,OAAO,GAAG,OAAO,CAAA;IAClB,CAAC,CAAC,CAAA;IACF,aAAa,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IACpD,MAAM,QAAQ,CAAA;IACd,IAAI,CAAC;QACJ,IAAI,aAAa,CAAC,OAAO,IAAI,CAAC,OAAO,EAAE,gBAAgB;YAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAA;QAC9F,OAAO,MAAM,GAAG,EAAE,CAAA;IACnB,CAAC;YAAS,CAAC;QACV,OAAO,EAAE,CAAA;QACT,IAAI,aAAa,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,OAAO;YAAE,aAAa,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IAC5G,CAAC;AACF,CAAC;AAED,iFAAiF;AACjF,KAAK,UAAU,iBAAiB,CAAC,OAAoC,EAAE,SAAiB;IACvF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IACrC,IAAI,SAAoD,CAAA;IACxD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,EAAE;QAChD,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,CAAA;IACxD,CAAC,CAAC,CAAA;IACF,IAAI,CAAC;QACJ,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,CAAA;IACnF,CAAC;YAAS,CAAC;QACV,IAAI,SAAS,KAAK,SAAS;YAAE,YAAY,CAAC,SAAS,CAAC,CAAA;IACrD,CAAC;AACF,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,mBAAmB,CAAC,IAMlC;IACA,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,wBAAwB,EAAE,OAAO,EAAE,EAAE,CAAC;QACtE,IAAI,CAAC;YACJ,MAAM,IAAI,CAAC,MAAM,EAAE,CAAA;YACnB,OAAO,IAAI,CAAA;QACZ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,MAAM,GAAG,OAAO,KAAK,wBAAwB,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,CAAA;YACjF,IAAI,CAAC,MAAM,CAAC,KAAK,CAChB,MAAM,CAAC,CAAC,CAAC,yCAAyC,CAAC,CAAC,CAAC,uCAAuC,EAC5F,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EAC1C,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,CAC7D,CAAA;YACD,IAAI,MAAM;gBAAE,OAAO,KAAK,CAAA;YACxB,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,8BAA8B,GAAG,OAAO,CAAC,CAAC,CAAA;QACpG,CAAC;IACF,CAAC;IACD,OAAO,KAAK,CAAA;AACb,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,IAW5B;IACA,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC;QACpC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW;QACtC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ;QAChC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;QAC9B,oBAAoB,EAAE,IAAI,CAAC,MAAM,CAAC,oBAAoB;QACtD,mBAAmB,EAAE,IAAI,CAAC,MAAM,CAAC,mBAAmB;QACpD,sBAAsB,EAAE,IAAI,CAAC,MAAM,CAAC,sBAAsB;QAC1D,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa;QACxC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU;QAC9C,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;KACvC,CAAC,CAAA;IACF,MAAM,cAAc,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE;QAC9E,IAAI,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;YAAE,OAAM;QAC5E,MAAM,QAAQ,GAAG,mBAAmB,CAAC;YACpC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,MAAM;SACN,CAAC,CAAA;QACF,MAAM,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;QACxD,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO;YAAE,OAAM;QACtC,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC;YAC1C,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;YACrC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW;YACnC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;SAC9B,CAAC,CAAA;QACF,IAAI,QAAQ,EAAE,CAAC;YACd,QAAQ,CAAC,sBAAsB,GAAG,IAAI,CAAA;YACtC,IAAI,CAAC;gBACJ,MAAM,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;YACzD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,kGAAkG;gBAClG,IAAI,CAAC,MAAM,CAAC,KAAK,CAChB,iDAAiD,EACjD,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EAC1C,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CACvE,CAAA;YACF,CAAC;QACF,CAAC;QACD,mGAAmG;QACnG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;IAC/B,CAAC,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAA;IAC9B,OAAO,MAAM,CAAA;AACd,CAAC;AAED,SAAS,gBAAgB,CAAC,IAYzB;IACA,2GAA2G;IAC3G,KAAK,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE;QAC7C,IAAI,CAAC;YACJ,MAAM,aAAa,CAAC;gBACnB,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;gBACvC,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;oBAC5B,MAAM,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAA;gBAC3F,CAAC;gBACD,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;oBAC7B,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,IAAI,IAAI,CAAC,YAAY;wBAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;oBACzF,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE;wBAClC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;wBACjC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW;wBACnC,MAAM,EAAE,MAAM,CAAC,MAAM;wBACrB,KAAK,EAAE,MAAM,CAAC,KAAK;qBACnB,CAAC,CAAA;gBACH,CAAC;aACD,CAAC,CAAA;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EAAE;gBAChG,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW;gBACnC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;aAC9B,CAAC,CAAA;QACH,CAAC;IACF,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;QAC3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EAAE;YAC3F,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW;YACnC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;SAC9B,CAAC,CAAA;IACH,CAAC,CAAC,CAAA;AACH,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,WAAsB,EAAE,IAAI,GAAG,EAAE;IACjE,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAA;IAChE,IAAI,CAAC,UAAU,CAAC,EAAE;QAAE,OAAO,UAAU,CAAA;IACrC,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;QACtC,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAA;QAC7D,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAChC,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAA;YAC9D,IAAI,CAAC,MAAM,CAAC,EAAE;gBAAE,OAAO,MAAM,CAAA;YAC7B,SAAQ;QACT,CAAC;QACD,IAAI,SAAS,KAAK,WAAW;YAAE,SAAQ;QACvC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;YAAE,OAAO,GAAG,CAAC,6BAA6B,SAAS,EAAE,CAAC,CAAA;QAC3G,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;QACnD,IAAI,CAAC,OAAO,CAAC,EAAE;YAAE,OAAO,OAAO,CAAA;IAChC,CAAC;IACD,OAAO,EAAE,CAAC,SAAS,CAAC,CAAA;AACrB,CAAC;AAED,+EAA+E;AAC/E,SAAS;AACT,+EAA+E;AAE/E,MAAM,CAAC,MAAM,aAAa,GAAG,YAAY,CAAC,SAAS,CAAC;KAClD,KAAK,CAAC,EAAE,CAAC;KACT,YAAY,EAAuB;KACnC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;KACtB,YAAY,CAAC,qBAAqB,EAAE,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC;KACpE,KAAK,CAAe;IACpB,GAAG,EAAE,SAAS;IACd,OAAO,EAAE,GAAiB,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IAC5D,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QACxB,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACpB,KAAK,qBAAqB,CAAC,CAAC,CAAC;gBAC5B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAA;gBACpG,IAAI,KAAK,CAAC,MAAM,KAAK,YAAY;oBAAE,OAAO,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,CAAA;gBAC/D,MAAM,QAAQ,GAAG;oBAChB,GAAG,KAAK,CAAC,QAAQ;oBACjB,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM;iBACtC,CAAA;gBACD,IAAI,KAAK,CAAC,MAAM,KAAK,OAAO;oBAAE,OAAO,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAA;gBACpE,MAAM,MAAM,GAAkB;oBAC7B,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;oBACxC,YAAY,EAAE,KAAK,CAAC,YAAY;iBAChC,CAAA;gBACD,OAAO,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,CAAC,GAAG,OAAO,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAA;YAC7D,CAAC;YACD,KAAK,sBAAsB,CAAC,CAAC,CAAC;gBAC7B,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;gBACxD,OAAO;oBACN,GAAG,KAAK;oBACR,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;oBAC1E,QAAQ,EAAE,WAAW,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC;iBACvD,CAAA;YACF,CAAC;YACD,KAAK,+BAA+B,CAAC,CAAC,CAAC;gBACtC,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;gBACvC,OAAO;oBACN,GAAG,KAAK;oBACR,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,QAAQ,CAAC;oBAC/E,QAAQ,EAAE,WAAW,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC;iBACjD,CAAA;YACF,CAAC;YACD;gBACC,OAAO,KAAK,CAAA;QACd,CAAC;IACF,CAAC;CACD,CAAC;KACD,OAAO,CACP,KAAK,IAAmC,EAAE,CAAC,CAAC;IAC3C,aAAa,EAAE,IAAI,GAAG,EAAE;IACxB,eAAe,EAAE,IAAI,GAAG,EAAE;IAC1B,cAAc,EAAE,IAAI,GAAG,EAAE;IACzB,eAAe,EAAE,IAAI,GAAG,EAAE;IAC1B,OAAO,EAAE,KAAK;CACd,CAAC,CACF;KACA,OAAO,CAAC;IACR,kBAAkB,EAAE,CAAC,GAAG,EAAE,EAAE;QAC3B,MAAM,OAAO,GAAG,GAAG,CAAC,WAAW,CAAA;QAC/B,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAA;IAClC,CAAC;IACD,kBAAkB,EAAE,CAAC,GAAG,EAAE,EAAE;QAC3B,MAAM,OAAO,GAAG,GAAG,CAAC,WAAW,CAAA;QAC/B,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAA;QAC7C,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAA;QAChD,OAAO;YACN,QAAQ,EAAE;gBACT;oBACC,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,mBAAmB,CAAC,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC;iBAC1D;aACD;YACD,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;SAC7C,CAAA;IACF,CAAC;IACD,YAAY,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE;QAClC,MAAM,kBAAkB,CAAC;YACxB,aAAa,EAAE,GAAG,CAAC,aAAa;YAChC,eAAe,EAAE,GAAG,CAAC,eAAe;YACpC,MAAM,EAAE,iBAAiB;YACzB,GAAG,EAAE,KAAK,IAAI,EAAE;gBACf,MAAM,GAAG,CAAC,SAAS,CAClB,YAAY,CAAC,MAAM,CAAC,sBAAsB,EAAE;oBAC3C,OAAO,EAAE,GAAG,CAAC,OAAO;oBACpB,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;iBAC9B,CAAC,CACF,CAAA;gBAED,MAAM,EAAE,aAAa,EAAE,GAAG,GAAG,CAAC,YAAY,CAAA;gBAC1C,KAAK,MAAM,WAAW,IAAI,KAAK,EAAE,CAAC;oBACjC,MAAM,cAAc,CAAC,GAAG,CAAC,aAAa,EAAE,WAAW,EAAE,KAAK,IAAI,EAAE;wBAC/D,MAAM,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC,YAAY,GAAG,CAAC,SAAS,YAAY,WAAW,EAAE,CAAC,CAAA;wBAC5F,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;wBACtD,IAAI,CAAC,UAAU,CAAC,EAAE;4BAAE,OAAM;wBAC1B,MAAM,IAAI,GAAmB,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;wBACzD,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;4BAAE,OAAM;wBACrC,IAAI,CAAC,eAAe,GAAG,eAAe,CAAA;wBACtC,MAAM,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;oBACvC,CAAC,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAA;gBAC/B,CAAC;YACF,CAAC;SACD,CAAC,CAAA;IACH,CAAC;CACD,CAAC;KACD,MAAM,CAAC,aAAa,EAAE;IACtB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;KACrB,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,OAAO,EAAE,CAAC,CAAC,KAAK,CACf,CAAC,CAAC,MAAM,CAAC;YACR,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;YACpB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;YACpB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;YACpB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;YAChB,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;YACjD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;SACrB,CAAC,CACF;KACD,CAAC;IACF,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE;QAC7B,MAAM,EAAE,aAAa,EAAE,GAAG,GAAG,CAAC,YAAY,CAAA;QAC1C,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAA;QAEjC,MAAM,WAAW,GAAG,YAAY,SAAS,UAAU,CAAA;QACnD,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QAExD,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;YACpB,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAA;QAC3B,CAAC;QAED,MAAM,OAAO,GAOR,EAAE,CAAA;QAEP,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;YACtC,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW;gBAAE,SAAQ;YACxC,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,GAAG,WAAW,IAAI,KAAK,CAAC,IAAI,YAAY,CAAC,CAAA;YACrF,IAAI,CAAC,UAAU,CAAC,EAAE;gBAAE,SAAQ;YAE5B,MAAM,IAAI,GAAmB,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;YAEzD,sDAAsD;YACtD,IAAI,IAAI,CAAC,eAAe;gBAAE,SAAQ;YAClC,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS;gBAAE,SAAQ;YAC1C,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;gBAAE,SAAQ;YAEvC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;YACvB,IAAI,MAAM,KAAK,YAAY,IAAI,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC1E,OAAO,CAAC,IAAI,CAAC;oBACZ,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,MAAM;oBACN,SAAS,EAAE,IAAI,CAAC,SAAS;iBACzB,CAAC,CAAA;YACH,CAAC;QACF,CAAC;QAED,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,CAAA;IACvB,CAAC;CACD,CAAC;KACD,MAAM,CAAC,QAAQ,EAAE;IACjB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;QACrB,QAAQ,EAAE,cAAc;KACxB,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;IACpB,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE;QAC7B,MAAM,EAAE,aAAa,EAAE,GAAG,GAAG,CAAC,YAAY,CAAA;QAC1C,MAAM,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC,YAAY,KAAK,CAAC,SAAS,YAAY,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAA;QACjG,IAAI,CAAC;YACJ,OAAO,MAAM,kBAAkB,CAAC;gBAC/B,aAAa,EAAE,GAAG,CAAC,aAAa;gBAChC,eAAe,EAAE,GAAG,CAAC,eAAe;gBACpC,MAAM,EAAE,UAAU,KAAK,CAAC,QAAQ,SAAS;gBACzC,GAAG,EAAE,KAAK,IAAI,EAAE;oBACf,IAAI,mBAAoD,CAAA;oBACxD,IAAI,CAAC;wBACJ,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;4BACtF,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;4BACtD,IAAI,CAAC,UAAU,CAAC,EAAE;gCAAE,OAAO,GAAG,CAAC,gBAAgB,CAAC,OAAO,CAAC,qBAAqB,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;4BAC/F,MAAM,IAAI,GAAmB,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;4BACzD,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,EAAE,CAAC;gCACxC,OAAO,GAAG,CAAC,gBAAgB,CAAC,OAAO,CAAC,wCAAwC,CAAC,CAAC,CAAA;4BAC/E,CAAC;4BACD,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;gCAC1B,OAAO,GAAG,CAAC,gBAAgB,CAAC,OAAO,CAAC,yDAAyD,CAAC,CAAC,CAAA;4BAChG,CAAC;4BACD,GAAG,CAAC,aAAa,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;4BACpD,MAAM,MAAM,GAAG,GAAG,CAAC,aAAa,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;4BAClE,mBAAmB,GAAG,MAAM,EAAE,oBAAoB,EAAE,CAAA;4BACpD,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAA;4BACrD,OAAO,EAAE,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAA;wBACxC,CAAC,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAA;wBAC9B,IAAI,CAAC,WAAW,CAAC,EAAE;4BAAE,OAAO,WAAW,CAAA;wBACvC,MAAM,WAAW,CAAC,KAAK,CAAA;wBAEvB,OAAO,MAAM,cAAc,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;4BACzE,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;4BACtD,IAAI,CAAC,UAAU,CAAC,EAAE;gCAAE,OAAO,GAAG,CAAC,gBAAgB,CAAC,OAAO,CAAC,qBAAqB,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;4BAC/F,MAAM,IAAI,GAAmB,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;4BACzD,IAAI,CAAC,MAAM,GAAG,SAAS,CAAA;4BACvB,MAAM,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;4BACtC,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,WAAW,CAAC,CAAA;4BACpD,IAAI,CAAC,OAAO,CAAC,EAAE;gCAAE,OAAO,GAAG,CAAC,gBAAgB,CAAC,OAAO,CAAC,4BAA4B,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;4BACnG,MAAM,GAAG,CAAC,SAAS,CAClB,YAAY,CAAC,MAAM,CAAC,+BAA+B,EAAE;gCACpD,QAAQ,EAAE,KAAK,CAAC,QAAQ;6BACxB,CAAC,CACF,CAAA;4BACD,OAAO,EAAE,CAAC,EAAE,CAAC,CAAA;wBACd,CAAC,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAA;oBAC/B,CAAC;4BAAS,CAAC;wBACV,GAAG,CAAC,aAAa,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;wBACvD,mBAAmB,EAAE,EAAE,CAAA;oBACxB,CAAC;gBACF,CAAC;aACD,CAAC,CAAA;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,OAAO,GAAG,CAAC,gBAAgB,CAAC,OAAO,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAA;QACzG,CAAC;IACF,CAAC;CACD,CAAC;KACD,MAAM,CAAC,iBAAiB,EAAE;IAC1B,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;QACrB,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC;KAClC,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;KACjC,CAAC;IACF,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE;QAC7B,MAAM,EAAE,aAAa,EAAE,GAAG,GAAG,CAAC,YAAY,CAAA;QAC1C,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAA;QAChD,MAAM,WAAW,GAAwB,EAAE,CAAA;QAE3C,KAAK,MAAM,WAAW,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YAC3C,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,YAAY,KAAK,CAAC,SAAS,YAAY,WAAW,YAAY,CAAC,CAAA;YAE3G,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;gBACpB,OAAO,GAAG,CAAC,gBAAgB,CAAC,OAAO,CAAC,qBAAqB,WAAW,EAAE,CAAC,CAAC,CAAA;YACzE,CAAC;YAED,MAAM,IAAI,GAAmB,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;YAEzD,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,EAAE,CAAC;gBACxC,OAAO,GAAG,CAAC,gBAAgB,CAAC,OAAO,CAAC,wCAAwC,CAAC,CAAC,CAAA;YAC/E,CAAC;YACD,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;gBAC7B,OAAO,GAAG,CAAC,gBAAgB,CAAC,OAAO,CAAC,qBAAqB,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;YACzE,CAAC;YAED,WAAW,CAAC,IAAI,CAAC;gBAChB,QAAQ,EAAE,QAAQ,CAAC,WAAW,CAAC;gBAC/B,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,IAAI,EAAE,GAAG,WAAW,YAAY,WAAW,IAAI,IAAI,CAAC,QAAQ,EAAE;gBAC9D,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;gBACvC,YAAY,EAAE,IAAI,CAAC,YAAY;aAC/B,CAAC,CAAA;QACH,CAAC;QAED,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,CAAA;IAC3B,CAAC;CACD,CAAC;KACD,MAAM,CAAC,UAAU,EAAE;IACnB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;QACrB,qFAAqF;QACrF,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC;QAClC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;KACrB,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;IACpB,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE;QAC7B,MAAM,EAAE,aAAa,EAAE,GAAG,GAAG,CAAC,YAAY,CAAA;QAC1C,IAAI,CAAC;YACJ,OAAO,MAAM,kBAAkB,CAAC;gBAC/B,aAAa,EAAE,GAAG,CAAC,aAAa;gBAChC,eAAe,EAAE,GAAG,CAAC,eAAe;gBACpC,MAAM,EAAE,mBAAmB;gBAC3B,GAAG,EAAE,KAAK,IAAI,EAAE;oBACf,MAAM,aAAa,GAAa,EAAE,CAAA;oBAClC,MAAM,yBAAyB,GAAG,KAAK,IAAI,EAAE;wBAC5C,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC;4BAAE,OAAM;wBACtC,MAAM,GAAG,CAAC,SAAS,CAClB,YAAY,CAAC,MAAM,CAAC,sBAAsB,EAAE;4BAC3C,OAAO,EAAE,eAAe,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,kBAAkB;4BAChE,SAAS,EAAE,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC;yBACtC,CAAC,CACF,CAAA;oBACF,CAAC,CAAA;oBAED,KAAK,MAAM,WAAW,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;wBAC3C,IAAI,MAAkF,CAAA;wBACtF,IAAI,CAAC;4BACJ,MAAM,GAAG,MAAM,cAAc,CAAC,GAAG,CAAC,aAAa,EAAE,WAAW,EAAE,KAAK,IAAI,EAAE;gCACxE,MAAM,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC,YAAY,KAAK,CAAC,SAAS,YAAY,WAAW,EAAE,CAAC,CAAA;gCAC9F,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;gCACtD,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI,GAAG,CAAC,aAAa,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;oCACzE,OAAO,GAAG,CAAC,gBAAgB,CAAC,OAAO,CAAC,qBAAqB,WAAW,EAAE,CAAC,CAAC,CAAA;gCACzE,CAAC;gCACD,MAAM,IAAI,GAAmB,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;gCACzD,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;oCAAE,OAAO,GAAG,CAAC,gBAAgB,CAAC,OAAO,CAAC,qBAAqB,WAAW,EAAE,CAAC,CAAC,CAAA;gCACvG,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,SAAS,CAAA;gCACtC,MAAM,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;gCACtC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAA;4BACd,CAAC,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAA;wBAC/B,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;4BAChB,MAAM,yBAAyB,EAAE,CAAA;4BACjC,MAAM,KAAK,CAAA;wBACZ,CAAC;wBACD,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;4BAChB,MAAM,yBAAyB,EAAE,CAAA;4BACjC,OAAO,MAAM,CAAA;wBACd,CAAC;wBACD,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;oBAChC,CAAC;oBACD,MAAM,yBAAyB,EAAE,CAAA;oBACjC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAA;gBACd,CAAC;aACD,CAAC,CAAA;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,OAAO,GAAG,CAAC,gBAAgB,CAAC,OAAO,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAA;QAC/G,CAAC;IACF,CAAC;CACD,CAAC;KACD,MAAM,CAAC,QAAQ,EAAE;IACjB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;QACrB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;QACpB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;QACpB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAU;KAC9B,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;QACpB,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACnC,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KACvC,CAAC;IACF,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE;QAC7B,MAAM,cAAc,GAAG,MAAM,aAAa,CAAC;YAC1C,aAAa,EAAE,GAAG,CAAC,aAAa;YAChC,aAAa,EAAE,GAAG,CAAC,YAAY,CAAC,aAAa;YAC7C,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,KAAK;SACL,CAAC,CAAA;QACF,IAAI,CAAC,cAAc,CAAC,EAAE;YAAE,OAAO,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;QACxD,MAAM,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAA;QACrC,0FAA0F;QAC1F,uFAAuF;QACvF,MAAM,MAAM,GAAqB;YAChC,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,IAAI,EAAE,KAAK,CAAC,IAAI;SAChB,CAAA;QACD,MAAM,YAAY,GAAG,eAAe,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;QACtD,IAAI,CAAC;YACJ,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,CAClD,aAAa,CAAC;gBACb,aAAa,EAAE,GAAG,CAAC,aAAa;gBAChC,QAAQ;gBACR,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,MAAM;gBACN,MAAM,EAAE,GAAG,CAAC,YAAY;gBACxB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,gBAAgB,EAAE,YAAY;oBAC7B,CAAC,CAAC;wBACA,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC;wBAChC,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC;wBAC7B,SAAS,EAAE,GAAG,CAAC,KAAK;qBACpB;oBACF,CAAC,CAAC,SAAS;gBACZ,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE;oBACjC,MAAM,GAAG,CAAC,SAAS,CAAC,uBAAuB,CAAC,MAAM,EAAE,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAA;gBACrF,CAAC;gBACD,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE;oBAClC,IAAI,WAAW,CAAC,MAAM,KAAK,OAAO,IAAI,YAAY;wBAAE,GAAG,CAAC,aAAa,CAAC,YAAY,CAAC,CAAA;gBACpF,CAAC;aACD,CAAC,CACF,CAAA;YACD,OAAO,EAAE,CAAC;gBACT,QAAQ,EAAE,QAAQ,CAAC,WAAW;gBAC9B,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;aACzC,CAAC,CAAA;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,OAAO,GAAG,CAAC,gBAAgB,CAAC,OAAO,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAA;QAC1G,CAAC;IACF,CAAC;CACD,CAAC;KACD,MAAM,CAAC,aAAa,EAAE;IACtB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;QACrB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;QACpB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;QACpB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAU;KAC9B,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;QACpB,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC;KAC9B,CAAC;IACF,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE;QAC7B,MAAM,cAAc,GAAG,MAAM,aAAa,CAAC;YAC1C,aAAa,EAAE,GAAG,CAAC,aAAa;YAChC,aAAa,EAAE,GAAG,CAAC,YAAY,CAAC,aAAa;YAC7C,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,KAAK;SACL,CAAC,CAAA;QACF,IAAI,CAAC,cAAc,CAAC,EAAE;YAAE,OAAO,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;QACxD,MAAM,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAA;QACrC,0FAA0F;QAC1F,uFAAuF;QACvF,MAAM,MAAM,GAAqB;YAChC,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,IAAI,EAAE,KAAK,CAAC,IAAI;SAChB,CAAA;QACD,MAAM,cAAc,GAAmB;YACtC,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,IAAI,EAAE,QAAQ,CAAC,QAAQ;YACvB,MAAM,EAAE,YAAY;YACpB,SAAS,EAAE,QAAQ,CAAC,SAAS;SAC7B,CAAA;QACD,IAAI,CAAC;YACJ,MAAM,aAAa,CAAC,QAAQ,CAAC,WAAW,EAAE,cAAc,CAAC,CAAA;YACzD,MAAM,GAAG,CAAC,SAAS,CAClB,YAAY,CAAC,MAAM,CAAC,qBAAqB,EAAE;gBAC1C,QAAQ,EAAE,QAAQ,CAAC,QAAQ;gBAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,MAAM,EAAE,YAAY;aACpB,CAAC,CACF,CAAA;QACF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,CAAA;YAC5B,OAAO,GAAG,CAAC,gBAAgB,CAAC,OAAO,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAA;QACxG,CAAC;QACD,IAAI,CAAC;YACJ,MAAM,mBAAmB,GAAG,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,UAAU,QAAQ,CAAC,WAAW,aAAa,CAAC,CAAA;YACpG,QAAQ,CAAC,SAAS,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,CAAA;QAC3D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,CAAA;YAC5B,OAAO,GAAG,CAAC,gBAAgB,CAAC,OAAO,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAA;QACxG,CAAC;QACD,0EAA0E;QAC1E,2EAA2E;QAC3E,wEAAwE;QACxE,qEAAqE;QACrE,+DAA+D;QAC/D,IAAI,CAAC;YACJ,GAAG,CAAC,MAAM,CAAC,qBAAqB,EAAE;gBACjC,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,QAAQ,EAAE,QAAQ,CAAC,WAAW;gBAC9B,MAAM,EAAE,YAAY;aACpB,CAAC,CAAA;YAEF,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,CAAA;YAC/B,MAAM,eAAe,GAAG,MAAM,CAAC,SAAS,CAAC,CAAA;YACzC,MAAM,YAAY,GAAG,eAAe,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;YACtD,MAAM,gBAAgB,GAAG,YAAY;gBACpC,CAAC,CAAC;oBACA,SAAS,EAAE,eAAe;oBAC1B,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC;oBAC7B,SAAS,EAAE,GAAG,CAAC,KAAK;iBACpB;gBACF,CAAC,CAAC,SAAS,CAAA;YACZ,gBAAgB,CAAC;gBAChB,aAAa,EAAE,GAAG,CAAC,aAAa;gBAChC,QAAQ;gBACR,SAAS;gBACT,MAAM;gBACN,MAAM,EAAE,GAAG,CAAC,YAAY;gBACxB,gBAAgB;gBAChB,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,YAAY;gBACZ,aAAa,EAAE,GAAG,CAAC,aAAa;aAChC,CAAC,CAAA;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,CAAA;YAC5B,OAAO,GAAG,CAAC,gBAAgB,CAAC,OAAO,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAA;QACxG,CAAC;QAED,OAAO,EAAE,CAAC;YACT,QAAQ,EAAE,QAAQ,CAAC,WAAW;YAC9B,MAAM,EAAE,YAAY;SACpB,CAAC,CAAA;IACH,CAAC;CACD,CAAC;KACD,WAAW,CAAC,gBAAgB,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;IAC5C,MAAM,WAAW,GAAG,YAAY,GAAG,CAAC,SAAS,UAAU,CAAA;IACvD,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IACzE,IAAI,CAAC,UAAU,CAAC,EAAE;QAAE,OAAM;IAC1B,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAA;IAEvC,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;QACtC,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW;YAAE,SAAQ;QACxC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC7B,MAAM,WAAW,GAAG,GAAG,CAAC,YAAY,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,WAAW,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAA;QACzF,IAAI,CAAC;YACJ,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;YACtD,IAAI,CAAC,UAAU,CAAC,EAAE;gBAAE,SAAQ;YAC5B,MAAM,QAAQ,GAAmB,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;YAC7D,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC;gBAAE,SAAQ;YAClE,yFAAyF;YACzF,MAAM,cAAc,GAAG,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAA;YAC/D,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC;gBACxB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,oDAAoD,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAA;gBAC5F,SAAQ;YACT,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;YAC7C,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;YAC3B,MAAM,UAAU,GAAG,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;YACrD,IAAI,QAAQ,CAAC,eAAe,EAAE,CAAC;gBAC9B,IAAI,UAAU,EAAE,CAAC;oBAChB,MAAM,GAAG,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,sBAAsB,EAAE;wBAC/D,OAAO,EAAE,kBAAkB;wBAC3B,SAAS,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;qBAC9B,CAAC,CAAC,CAAA;gBACJ,CAAC;gBACD,SAAQ;YACT,CAAC;YACD,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBACnC,IAAI,UAAU,EAAE,CAAC;oBAChB,MAAM,GAAG,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,+BAA+B,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;gBAC3G,CAAC;gBACD,SAAQ;YACT,CAAC;YACD,IAAI,UAAU,EAAE,CAAC;gBAChB,IAAI,QAAQ,CAAC,MAAM,KAAK,UAAU,IAAI,CAAC,QAAQ,CAAC,sBAAsB,EAAE,CAAC;oBACxE,QAAQ,CAAC,MAAM,GAAG,UAAU,CAAA;oBAC5B,4EAA4E;oBAC5E,QAAQ,CAAC,KAAK,GAAG,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,IAAI,mBAAmB,CAAC,CAAC,CAAC,SAAS,CAAA;oBAC5F,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;wBAC5B,MAAM,OAAO,GAAG,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,QAAQ,CAAC,CAAA;wBAC9F,IAAI,CAAC,OAAO;4BAAE,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAA;wBAC/E,QAAQ,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAA;wBACpD,QAAQ,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAA;oBAC7C,CAAC;yBAAM,CAAC;wBACP,QAAQ,CAAC,gBAAgB,GAAG,SAAS,CAAA;wBACrC,QAAQ,CAAC,YAAY,GAAG,SAAS,CAAA;oBAClC,CAAC;oBACD,QAAQ,CAAC,WAAW,KAAK,IAAI,CAAC,GAAG,EAAE,CAAA;oBACnC,QAAQ,CAAC,sBAAsB,GAAG,IAAI,CAAA;oBACtC,MAAM,aAAa,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;gBAC3C,CAAC;gBACD,SAAQ;YACT,CAAC;YACD,IAAI,QAAQ,CAAC,sBAAsB;gBAAE,SAAQ;YAE7C,IAAI,QAAQ,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;gBACtC,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAA;gBAC1B,QAAQ,CAAC,KAAK,GAAG,mCAAmC,CAAA;gBACpD,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;gBACjC,MAAM,aAAa,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;YAC3C,CAAC;YACD,MAAM,MAAM,GAAiB,QAAQ,CAAC,MAAM,KAAK,OAAO;gBACvD,CAAC,CAAC;oBACA,MAAM,EAAE,OAAO;oBACf,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;oBAC3C,YAAY,EAAE,QAAQ,CAAC,YAAY;iBACnC;gBACF,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAA;YAC9C,MAAM,eAAe,GAAqB;gBACzC,QAAQ,EAAE,QAAQ,CAAC,QAAQ;gBAC3B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;gBAC3B,IAAI,EAAE,QAAQ,CAAC,IAAI;aACnB,CAAA;YACD,MAAM,GAAG,CAAC,SAAS,CAAC,uBAAuB,CAAC,eAAe,EAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAA;YACxF,QAAQ,CAAC,sBAAsB,GAAG,IAAI,CAAA;YACtC,MAAM,aAAa,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;YAC1C,GAAG,CAAC,MAAM,CAAC,qBAAqB,EAAE;gBACjC,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC;gBAChC,QAAQ;gBACR,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,KAAK,EAAE,MAAM,CAAC,KAAK;aACnB,CAAC,CAAA;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,sCAAsC,EAAE;gBACvD,QAAQ,EAAE,KAAK,CAAC,IAAI;gBACpB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC7D,CAAC,CAAA;QACH,CAAC;IACF,CAAC;IACD,uFAAuF;IACvF,+EAA+E;IAC/E,IAAI,GAAG,CAAC,YAAY,CAAC,UAAU;QAAE,OAAM;IACvC,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC9D,IAAI,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,SAAQ;QACzC,MAAM,GAAG,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,+BAA+B,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAA;IAC5G,CAAC;AACF,CAAC,CAAC;KACD,WAAW,CAAC,gBAAgB,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;IAC5C,GAAG,CAAC,aAAa,CAAC,OAAO,GAAG,IAAI,CAAA;IAChC,MAAM,MAAM,GAAG,CAAC,GAAG,GAAG,CAAC,aAAa,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAA;IAC5D,KAAK,MAAM,MAAM,IAAI,MAAM;QAAE,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAA;IACrF,MAAM,wBAAwB,GAAG,GAAG,CAAC,YAAY,CAAC,mBAAmB,CAAA;IACrE,MAAM,OAAO,GAAG,MAAM,iBAAiB,CACtC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,GAAG,GAAG,CAAC,aAAa,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,EAC3F,wBAAwB,KAAK,SAAS,IAAI,wBAAwB,GAAG,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,sBAAsB,CAC1H,CAAA;IACD,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,+FAA+F;QAC/F,8FAA8F;QAC9F,6EAA6E;QAC7E,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,+CAA+C,EAAE;YAChE,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC;YAChC,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,gBAAgB,EAAE,CAAC,GAAG,GAAG,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;YAC7D,gBAAgB,EAAE,CAAC,GAAG,GAAG,CAAC,aAAa,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC;SACjE,CAAC,CAAA;IACH,CAAC;IACD,GAAG,CAAC,aAAa,CAAC,aAAa,CAAC,KAAK,EAAE,CAAA;IACvC,GAAG,CAAC,aAAa,CAAC,eAAe,CAAC,KAAK,EAAE,CAAA;IACzC,IAAI,OAAO,EAAE,CAAC;QACb,2FAA2F;QAC3F,+EAA+E;QAC/E,GAAG,CAAC,aAAa,CAAC,cAAc,CAAC,KAAK,EAAE,CAAA;QACxC,GAAG,CAAC,aAAa,CAAC,eAAe,CAAC,KAAK,EAAE,CAAA;IAC1C,CAAC;AACF,CAAC,CAAC;KACD,KAAK,EAAE,CAAA"}
@@ -8,6 +8,8 @@
8
8
  * - Document conversion
9
9
  */
10
10
  import type { FileStore } from '../../core/file-store/types.js';
11
+ import type { InferenceContext } from '../../core/llm/provider.js';
12
+ import type { ArchiveBudget } from '../../lib/archive/index.js';
11
13
  import type { Result } from '../../lib/utils/result.js';
12
14
  /**
13
15
  * Context provided to preprocessors during file processing.
@@ -15,7 +17,19 @@ import type { Result } from '../../lib/utils/result.js';
15
17
  export interface PreprocessorContext {
16
18
  /** FileStore scoped to upload directory for writing derived files */
17
19
  files: FileStore;
20
+ /**
21
+ * Cancels subprocesses, inference calls, and derived-file generation.
22
+ * Implementations should settle promptly; the host stops awaiting after a bounded grace period.
23
+ */
24
+ signal?: AbortSignal;
25
+ /** Optional metadata required to pass cancellation through LLM providers. */
26
+ inferenceContext?: Omit<InferenceContext, 'signal'>;
27
+ /** Shared extraction budget for all ZIPs nested within one upload. */
28
+ archiveBudget?: ArchiveBudget;
18
29
  }
30
+ export declare function getPreprocessingSignal(ctx: PreprocessorContext): AbortSignal;
31
+ export declare function preprocessingAbortError(signal: AbortSignal): Error;
32
+ export declare function throwIfPreprocessingAborted(signal: AbortSignal): void;
19
33
  /**
20
34
  * Result of preprocessing a file.
21
35
  */
@@ -1 +1 @@
1
- {"version":3,"file":"preprocessor.d.ts","sourceRoot":"","sources":["../../../src/plugins/uploads/preprocessor.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AAC3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAMnD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IACnC,qEAAqE;IACrE,KAAK,EAAE,SAAS,CAAA;CAChB;AAMD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAClC,iDAAiD;IACjD,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,+DAA+D;IAC/D,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;CACvB;AAMD;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC5B,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAA;IACZ,kFAAkF;IAClF,kBAAkB,EAAE,MAAM,EAAE,CAAA;IAC5B;;;;;;;OAOG;IACH,OAAO,CACN,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,mBAAmB,GACtB,OAAO,CAAC,MAAM,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC,CAAA;CAC7C;AAMD;;;GAGG;AACH,qBAAa,oBAAoB;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAqB;IAEhD;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,YAAY,GAAG,IAAI;IAIvC;;;;;;OAMG;IACH,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI;IAYrD;;OAEG;IACH,MAAM,IAAI,SAAS,YAAY,EAAE;CAGjC"}
1
+ {"version":3,"file":"preprocessor.d.ts","sourceRoot":"","sources":["../../../src/plugins/uploads/preprocessor.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AAC3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAC3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAMnD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IACnC,qEAAqE;IACrE,KAAK,EAAE,SAAS,CAAA;IAChB;;;OAGG;IACH,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,6EAA6E;IAC7E,gBAAgB,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAA;IACnD,sEAAsE;IACtE,aAAa,CAAC,EAAE,aAAa,CAAA;CAC7B;AAID,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,mBAAmB,GAAG,WAAW,CAE5E;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,WAAW,GAAG,KAAK,CAElE;AAED,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAErE;AAMD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAClC,iDAAiD;IACjD,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,+DAA+D;IAC/D,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;CACvB;AAMD;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC5B,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAA;IACZ,kFAAkF;IAClF,kBAAkB,EAAE,MAAM,EAAE,CAAA;IAC5B;;;;;;;OAOG;IACH,OAAO,CACN,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,mBAAmB,GACtB,OAAO,CAAC,MAAM,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC,CAAA;CAC7C;AAMD;;;GAGG;AACH,qBAAa,oBAAoB;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAqB;IAEhD;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,YAAY,GAAG,IAAI;IAIvC;;;;;;OAMG;IACH,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI;IAYrD;;OAEG;IACH,MAAM,IAAI,SAAS,YAAY,EAAE;CAGjC"}
@@ -7,6 +7,17 @@
7
7
  * - PDF text extraction
8
8
  * - Document conversion
9
9
  */
10
+ const NEVER_ABORTED_SIGNAL = new AbortController().signal;
11
+ export function getPreprocessingSignal(ctx) {
12
+ return ctx.signal ?? NEVER_ABORTED_SIGNAL;
13
+ }
14
+ export function preprocessingAbortError(signal) {
15
+ return signal.reason instanceof Error ? signal.reason : new Error('Processing cancelled');
16
+ }
17
+ export function throwIfPreprocessingAborted(signal) {
18
+ if (signal.aborted)
19
+ throw preprocessingAbortError(signal);
20
+ }
10
21
  // ============================================================================
11
22
  // Preprocessor Registry
12
23
  // ============================================================================
@@ -1 +1 @@
1
- {"version":3,"file":"preprocessor.js","sourceRoot":"","sources":["../../../src/plugins/uploads/preprocessor.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA2DH,+EAA+E;AAC/E,wBAAwB;AACxB,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,OAAO,oBAAoB;IACf,UAAU,GAAmB,EAAE,CAAA;IAEhD;;OAEG;IACH,QAAQ,CAAC,SAAuB;QAC/B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IAChC,CAAC;IAED;;;;;;OAMG;IACH,cAAc,CAAC,QAAgB;QAC9B,OAAO,CACN,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAC1B,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAC/B,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;YACf,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC,KAAK,QAAQ,CACjB,CACD,IAAI,IAAI,CACT,CAAA;IACF,CAAC;IAED;;OAEG;IACH,MAAM;QACL,OAAO,IAAI,CAAC,UAAU,CAAA;IACvB,CAAC;CACD"}
1
+ {"version":3,"file":"preprocessor.js","sourceRoot":"","sources":["../../../src/plugins/uploads/preprocessor.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA4BH,MAAM,oBAAoB,GAAG,IAAI,eAAe,EAAE,CAAC,MAAM,CAAA;AAEzD,MAAM,UAAU,sBAAsB,CAAC,GAAwB;IAC9D,OAAO,GAAG,CAAC,MAAM,IAAI,oBAAoB,CAAA;AAC1C,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,MAAmB;IAC1D,OAAO,MAAM,CAAC,MAAM,YAAY,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;AAC1F,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,MAAmB;IAC9D,IAAI,MAAM,CAAC,OAAO;QAAE,MAAM,uBAAuB,CAAC,MAAM,CAAC,CAAA;AAC1D,CAAC;AA4CD,+EAA+E;AAC/E,wBAAwB;AACxB,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,OAAO,oBAAoB;IACf,UAAU,GAAmB,EAAE,CAAA;IAEhD;;OAEG;IACH,QAAQ,CAAC,SAAuB;QAC/B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IAChC,CAAC;IAED;;;;;;OAMG;IACH,cAAc,CAAC,QAAgB;QAC9B,OAAO,CACN,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAC1B,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAC/B,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;YACf,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC,KAAK,QAAQ,CACjB,CACD,IAAI,IAAI,CACT,CAAA;IACF,CAAC;IAED;;OAEG;IACH,MAAM;QACL,OAAO,IAAI,CAAC,UAAU,CAAA;IACvB,CAAC;CACD"}
@@ -10,7 +10,7 @@ import type { Semaphore } from '../../../lib/utils/concurrency.js';
10
10
  import type { Result } from '../../../lib/utils/result.js';
11
11
  import type { FileSystem } from '../../../platform/fs.js';
12
12
  import type { Logger } from '../../../lib/logger/logger.js';
13
- import type { Preprocessor, PreprocessorContext, PreprocessorResult } from '../preprocessor.js';
13
+ import { type Preprocessor, type PreprocessorContext, type PreprocessorResult } from '../preprocessor.js';
14
14
  export interface ImageClassifierConfig {
15
15
  /** LLM provider for vision inference */
16
16
  llmProvider: LLMProvider;
@@ -1 +1 @@
1
- {"version":3,"file":"image-classifier.d.ts","sourceRoot":"","sources":["../../../../src/plugins/uploads/preprocessors/image-classifier.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAEzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AAC3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAEnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAA;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAe/F,MAAM,WAAW,qBAAqB;IACrC,wCAAwC;IACxC,WAAW,EAAE,WAAW,CAAA;IACxB,yDAAyD;IACzD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,8BAA8B;IAC9B,MAAM,EAAE,MAAM,CAAA;IACd,8DAA8D;IAC9D,EAAE,EAAE,UAAU,CAAA;IACd;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,sDAAsD;IACtD,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,SAAS,CAAA;CAChB;AAMD;;;GAGG;AACH,qBAAa,2BAA4B,YAAW,YAAY;IAC/D,QAAQ,CAAC,IAAI,sBAAqB;IAClC,QAAQ,CAAC,kBAAkB,WAAc;IAEzC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAa;IACzC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;IAC/B,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAY;IAC/B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA0B;IACvD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAuB;gBAEhC,MAAM,EAAE,qBAAqB;IAUnC,OAAO,CACZ,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,mBAAmB,GACtB,OAAO,CAAC,MAAM,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;IAmE7C;;;OAGG;YACW,aAAa;IAgD3B;;;;;;;;OAQG;YACW,eAAe;IAgC7B,OAAO,CAAC,UAAU;CAKlB;AAED;;GAEG;AACH,wBAAgB,iCAAiC,CAChD,MAAM,EAAE,qBAAqB,GAC3B,2BAA2B,CAE7B"}
1
+ {"version":3,"file":"image-classifier.d.ts","sourceRoot":"","sources":["../../../../src/plugins/uploads/preprocessors/image-classifier.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAEzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AAC3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAEnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAA;AAC3D,OAAO,EAIN,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,MAAM,oBAAoB,CAAA;AAe3B,MAAM,WAAW,qBAAqB;IACrC,wCAAwC;IACxC,WAAW,EAAE,WAAW,CAAA;IACxB,yDAAyD;IACzD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,8BAA8B;IAC9B,MAAM,EAAE,MAAM,CAAA;IACd,8DAA8D;IAC9D,EAAE,EAAE,UAAU,CAAA;IACd;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,sDAAsD;IACtD,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,SAAS,CAAA;CAChB;AAMD;;;GAGG;AACH,qBAAa,2BAA4B,YAAW,YAAY;IAC/D,QAAQ,CAAC,IAAI,sBAAqB;IAClC,QAAQ,CAAC,kBAAkB,WAAc;IAEzC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAa;IACzC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;IAC/B,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAY;IAC/B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA0B;IACvD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAuB;gBAEhC,MAAM,EAAE,qBAAqB;IAUnC,OAAO,CACZ,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,mBAAmB,GACtB,OAAO,CAAC,MAAM,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;IAuE7C;;;OAGG;YACW,aAAa;IAyD3B;;;;;;;;OAQG;YACW,eAAe;IA2C7B,OAAO,CAAC,UAAU;CAKlB;AAED;;GAEG;AACH,wBAAgB,iCAAiC,CAChD,MAAM,EAAE,qBAAqB,GAC3B,2BAA2B,CAE7B"}
@@ -6,6 +6,7 @@
6
6
  */
7
7
  import { ModelId } from '../../../core/llm/schema.js';
8
8
  import { Err, Ok } from '../../../lib/utils/result.js';
9
+ import { getPreprocessingSignal, preprocessingAbortError, throwIfPreprocessingAborted, } from '../preprocessor.js';
9
10
  /**
10
11
  * Anthropic vision API internally downsamples images to ~1568px long side.
11
12
  * Anything larger just wastes bandwidth and LLM tokens. For 1–2 sentence
@@ -42,7 +43,9 @@ export class ImageClassifierPreprocessor {
42
43
  }
43
44
  async process(filePath, mimeType, ctx) {
44
45
  const totalStart = Date.now();
46
+ const signal = getPreprocessingSignal(ctx);
45
47
  try {
48
+ throwIfPreprocessingAborted(signal);
46
49
  // Check + stat image file
47
50
  if (!(await this.fs.exists(filePath))) {
48
51
  return Err(new Error(`Image file not found: ${filePath}`));
@@ -57,10 +60,11 @@ export class ImageClassifierPreprocessor {
57
60
  }
58
61
  // Try vision inference
59
62
  const inferenceStart = Date.now();
60
- const description = await this.describeImage(filePath, mimeType);
63
+ const description = await this.describeImage(filePath, mimeType, ctx, signal);
61
64
  const inferenceDurationMs = Date.now() - inferenceStart;
62
65
  if (description) {
63
66
  // Save description to file
67
+ throwIfPreprocessingAborted(signal);
64
68
  const writeResult = await ctx.files.write('description.txt', description);
65
69
  this.logger.info('Image described successfully', {
66
70
  filename,
@@ -87,6 +91,8 @@ export class ImageClassifierPreprocessor {
87
91
  });
88
92
  }
89
93
  catch (error) {
94
+ if (signal.aborted)
95
+ return Err(preprocessingAbortError(signal));
90
96
  this.logger.error('Image classification failed', error instanceof Error ? error : undefined, { filePath, durationMs: Date.now() - totalStart });
91
97
  // Return basic info on error instead of failing
92
98
  const filename = filePath.split('/').pop() ?? 'image';
@@ -99,32 +105,38 @@ export class ImageClassifierPreprocessor {
99
105
  * Describe image using vision LLM.
100
106
  * Returns null if vision is not available or fails.
101
107
  */
102
- async describeImage(filePath, mimeType) {
108
+ async describeImage(filePath, mimeType, ctx, signal) {
103
109
  try {
104
- const { url: imageUrl, cleanup } = await this.prepareImageUrl(filePath, mimeType);
110
+ const { url: imageUrl, cleanup } = await this.prepareImageUrl(filePath, mimeType, signal);
105
111
  try {
106
- const inferenceCall = () => this.llmProvider.inference({
107
- model: this.visionModel,
108
- systemPrompt: 'You are an image description assistant. Describe images concisely in 1-2 sentences.',
109
- messages: [
110
- {
111
- role: 'user',
112
- content: [
113
- {
114
- type: 'text',
115
- text: 'Please describe this image concisely in 1-2 sentences. Focus on the main subject and any text visible.',
116
- },
117
- {
118
- type: 'image_url',
119
- imageUrl: { url: imageUrl },
120
- },
121
- ],
122
- },
123
- ],
124
- maxTokens: 200,
125
- temperature: 0.3,
126
- });
127
- const result = await (this.gate ? this.gate.run(inferenceCall) : inferenceCall());
112
+ const inferenceCall = () => {
113
+ throwIfPreprocessingAborted(signal);
114
+ return this.llmProvider.inference({
115
+ model: this.visionModel,
116
+ systemPrompt: 'You are an image description assistant. Describe images concisely in 1-2 sentences.',
117
+ messages: [
118
+ {
119
+ role: 'user',
120
+ content: [
121
+ {
122
+ type: 'text',
123
+ text: 'Please describe this image concisely in 1-2 sentences. Focus on the main subject and any text visible.',
124
+ },
125
+ {
126
+ type: 'image_url',
127
+ imageUrl: { url: imageUrl },
128
+ },
129
+ ],
130
+ },
131
+ ],
132
+ maxTokens: 200,
133
+ temperature: 0.3,
134
+ }, ctx.inferenceContext ? {
135
+ ...ctx.inferenceContext,
136
+ signal,
137
+ } : undefined);
138
+ };
139
+ const result = await (this.gate ? this.gate.run(inferenceCall, signal) : inferenceCall());
128
140
  if (result.ok && result.value.content) {
129
141
  return result.value.content.trim();
130
142
  }
@@ -135,6 +147,8 @@ export class ImageClassifierPreprocessor {
135
147
  }
136
148
  }
137
149
  catch (error) {
150
+ if (signal.aborted)
151
+ throw preprocessingAbortError(signal);
138
152
  this.logger.warn('Vision inference failed', {
139
153
  error: error instanceof Error ? error.message : String(error),
140
154
  });
@@ -150,16 +164,22 @@ export class ImageClassifierPreprocessor {
150
164
  *
151
165
  * Cleanup removes any temp file produced by the resizer.
152
166
  */
153
- async prepareImageUrl(filePath, mimeType) {
167
+ async prepareImageUrl(filePath, mimeType, signal) {
168
+ throwIfPreprocessingAborted(signal);
154
169
  if (!this.imageResizer) {
155
170
  return { url: `file://${filePath}`, cleanup: async () => { } };
156
171
  }
172
+ let resizedTempFile;
157
173
  try {
158
174
  const resized = await this.imageResizer.resize(filePath, mimeType, {
159
175
  maxDimension: CLASSIFY_MAX_DIMENSION,
160
176
  maxFileSizeBytes: CLASSIFY_MAX_FILE_SIZE_BYTES,
177
+ signal,
161
178
  });
179
+ resizedTempFile = resized.tempFile;
180
+ throwIfPreprocessingAborted(signal);
162
181
  const buffer = await this.fs.readFile(resized.path);
182
+ throwIfPreprocessingAborted(signal);
163
183
  const base64 = buffer.toString('base64');
164
184
  return {
165
185
  url: `data:${resized.mimeType};base64,${base64}`,
@@ -171,6 +191,11 @@ export class ImageClassifierPreprocessor {
171
191
  };
172
192
  }
173
193
  catch (error) {
194
+ if (resizedTempFile) {
195
+ await this.fs.unlink(resizedTempFile).catch(() => { });
196
+ }
197
+ if (signal.aborted)
198
+ throw preprocessingAbortError(signal);
174
199
  this.logger.warn('Pre-resize for classification failed, falling back to file:// URL', {
175
200
  filePath,
176
201
  error: error instanceof Error ? error.message : String(error),
@@ -1 +1 @@
1
- {"version":3,"file":"image-classifier.js","sourceRoot":"","sources":["../../../../src/plugins/uploads/preprocessors/image-classifier.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAG9C,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,uBAAuB,CAAA;AAK/C;;;;GAIG;AACH,MAAM,sBAAsB,GAAG,IAAI,CAAA;AACnC,4EAA4E;AAC5E,MAAM,4BAA4B,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAA;AAkCpD,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,OAAO,2BAA2B;IAC9B,IAAI,GAAG,kBAAkB,CAAA;IACzB,kBAAkB,GAAG,CAAC,SAAS,CAAC,CAAA;IAExB,WAAW,CAAa;IACxB,WAAW,CAAS;IACpB,MAAM,CAAQ;IACd,EAAE,CAAY;IACd,YAAY,CAA0B;IACtC,UAAU,CAAS;IACnB,IAAI,CAAuB;IAE5C,YAAY,MAA6B;QACxC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAA;QACrC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAA;QAC3G,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;QAC3B,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,CAAA;QACnB,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAA;QACvC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,KAAK,CAAA;QAC5C,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;IACxB,CAAC;IAED,KAAK,CAAC,OAAO,CACZ,QAAgB,EAChB,QAAgB,EAChB,GAAwB;QAExB,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAC7B,IAAI,CAAC;YACJ,0BAA0B;YAC1B,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;gBACvC,OAAO,GAAG,CAAC,IAAI,KAAK,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAC,CAAA;YAC3D,CAAC;YAED,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAA;YAChD,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,OAAO,CAAA;YAErD,4BAA4B;YAC5B,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACrB,OAAO,EAAE,CAAC;oBACT,gBAAgB,EAAE,WAAW,QAAQ,KAAK,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,QAAQ,GAAG;iBAC/E,CAAC,CAAA;YACH,CAAC;YAED,uBAAuB;YACvB,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;YACjC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;YAChE,MAAM,mBAAmB,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,cAAc,CAAA;YAEvD,IAAI,WAAW,EAAE,CAAC;gBACjB,2BAA2B;gBAC3B,MAAM,WAAW,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAA;gBAEzE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8BAA8B,EAAE;oBAChD,QAAQ;oBACR,QAAQ;oBACR,SAAS,EAAE,IAAI;oBACf,iBAAiB,EAAE,WAAW,CAAC,MAAM;oBACrC,mBAAmB;oBACnB,eAAe,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU;iBACxC,CAAC,CAAA;gBAEF,OAAO,EAAE,CAAC;oBACT,gBAAgB,EAAE,WAAW,WAAW,GAAG;oBAC3C,YAAY,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE;iBACvD,CAAC,CAAA;YACH,CAAC;YAED,6BAA6B;YAC7B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yDAAyD,EAAE;gBAC3E,QAAQ;gBACR,QAAQ;gBACR,SAAS,EAAE,IAAI;gBACf,mBAAmB;aACnB,CAAC,CAAA;YACF,OAAO,EAAE,CAAC;gBACT,gBAAgB,EAAE,WAAW,QAAQ,KAAK,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,QAAQ,GAAG;aAC/E,CAAC,CAAA;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,CAAC,KAAK,CAChB,6BAA6B,EAC7B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EAC1C,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU,EAAE,CACjD,CAAA;YAED,gDAAgD;YAChD,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,OAAO,CAAA;YACrD,OAAO,EAAE,CAAC;gBACT,gBAAgB,EAAE,WAAW,QAAQ,6BAA6B;aAClE,CAAC,CAAA;QACH,CAAC;IACF,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,aAAa,CAC1B,QAAgB,EAChB,QAAgB;QAEhB,IAAI,CAAC;YACJ,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;YAEjF,IAAI,CAAC;gBACJ,MAAM,aAAa,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;oBACtD,KAAK,EAAE,IAAI,CAAC,WAAW;oBACvB,YAAY,EAAE,qFAAqF;oBACnG,QAAQ,EAAE;wBACT;4BACC,IAAI,EAAE,MAAM;4BACZ,OAAO,EAAE;gCACR;oCACC,IAAI,EAAE,MAAM;oCACZ,IAAI,EAAE,wGAAwG;iCAC9G;gCACD;oCACC,IAAI,EAAE,WAAW;oCACjB,QAAQ,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE;iCAC3B;6BACD;yBACD;qBACD;oBACD,SAAS,EAAE,GAAG;oBACd,WAAW,EAAE,GAAG;iBAChB,CAAC,CAAA;gBAEF,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAA;gBAEjF,IAAI,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;oBACvC,OAAO,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAA;gBACnC,CAAC;gBAED,OAAO,IAAI,CAAA;YACZ,CAAC;oBAAS,CAAC;gBACV,MAAM,OAAO,EAAE,CAAA;YAChB,CAAC;QACF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE;gBAC3C,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC7D,CAAC,CAAA;YACF,OAAO,IAAI,CAAA;QACZ,CAAC;IACF,CAAC;IAED;;;;;;;;OAQG;IACK,KAAK,CAAC,eAAe,CAC5B,QAAgB,EAChB,QAAgB;QAEhB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACxB,OAAO,EAAE,GAAG,EAAE,UAAU,QAAQ,EAAE,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC,EAAE,CAAA;QAC9D,CAAC;QAED,IAAI,CAAC;YACJ,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE;gBAClE,YAAY,EAAE,sBAAsB;gBACpC,gBAAgB,EAAE,4BAA4B;aAC9C,CAAC,CAAA;YACF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YACnD,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;YACxC,OAAO;gBACN,GAAG,EAAE,QAAQ,OAAO,CAAC,QAAQ,WAAW,MAAM,EAAE;gBAChD,OAAO,EAAE,KAAK,IAAI,EAAE;oBACnB,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;wBACtB,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;oBACvD,CAAC;gBACF,CAAC;aACD,CAAA;QACF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mEAAmE,EAAE;gBACrF,QAAQ;gBACR,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC7D,CAAC,CAAA;YACF,OAAO,EAAE,GAAG,EAAE,UAAU,QAAQ,EAAE,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC,EAAE,CAAA;QAC9D,CAAC;IACF,CAAC;IAEO,UAAU,CAAC,KAAa;QAC/B,IAAI,KAAK,GAAG,IAAI;YAAE,OAAO,GAAG,KAAK,GAAG,CAAA;QACpC,IAAI,KAAK,GAAG,IAAI,GAAG,IAAI;YAAE,OAAO,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAA;QAChE,OAAO,GAAG,CAAC,KAAK,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAA;IACjD,CAAC;CACD;AAED;;GAEG;AACH,MAAM,UAAU,iCAAiC,CAChD,MAA6B;IAE7B,OAAO,IAAI,2BAA2B,CAAC,MAAM,CAAC,CAAA;AAC/C,CAAC"}
1
+ {"version":3,"file":"image-classifier.js","sourceRoot":"","sources":["../../../../src/plugins/uploads/preprocessors/image-classifier.ts"],"names":[],"mappings":"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"}
@@ -19,7 +19,7 @@ import type { FileSystem } from '../../../platform/fs.js';
19
19
  import type { ProcessRunner } from '../../../platform/process.js';
20
20
  import type { FileStore } from '../../../core/file-store/types.js';
21
21
  import type { Logger } from '../../../lib/logger/logger.js';
22
- import type { Preprocessor, PreprocessorContext, PreprocessorRegistry, PreprocessorResult } from '../preprocessor.js';
22
+ import { type Preprocessor, type PreprocessorContext, type PreprocessorRegistry, type PreprocessorResult } from '../preprocessor.js';
23
23
  /**
24
24
  * Density filter for extracted images. Bytes-per-pixel ratio below this
25
25
  * threshold typically means the image is an alpha mask, overlay layer, or
@@ -79,7 +79,7 @@ export declare function shouldClassifyImage(meta: {
79
79
  * available or output is unparseable — caller should treat that as
80
80
  * "include without filtering".
81
81
  */
82
- export declare function getImageDimensions(filePath: string, processRunner: ProcessRunner): Promise<{
82
+ export declare function getImageDimensions(filePath: string, processRunner: ProcessRunner, signal?: AbortSignal): Promise<{
83
83
  width: number;
84
84
  height: number;
85
85
  } | null>;
@@ -1 +1 @@
1
- {"version":3,"file":"markitdown-preprocessor.d.ts","sourceRoot":"","sources":["../../../../src/plugins/uploads/preprocessors/markitdown-preprocessor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAEnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAA;AAClE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAA;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAKrH;;;;;;;;;GASG;AACH,eAAO,MAAM,8BAA8B,OAAO,CAAA;AAClD,eAAO,MAAM,gBAAgB,QAAU,CAAA;AA2CvC,MAAM,WAAW,4BAA4B;IAC5C,QAAQ,EAAE,oBAAoB,CAAA;IAC9B,MAAM,EAAE,MAAM,CAAA;IACd,EAAE,EAAE,UAAU,CAAA;IACd,OAAO,EAAE,aAAa,CAAA;CACtB;AAED,qBAAa,sBAAuB,YAAW,YAAY;IAC1D,QAAQ,CAAC,IAAI,gBAAe;IAC5B,QAAQ,CAAC,kBAAkB,WAAuB;IAElD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAsB;IAC/C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;IAC/B,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAY;IAC/B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAe;IAC7C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAkG;gBAE3G,MAAM,EAAE,4BAA4B;IAQ1C,OAAO,CACZ,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,mBAAmB,GACtB,OAAO,CAAC,MAAM,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;YAmD/B,aAAa;YAsCb,uBAAuB;CA8CrC;AAMD;;;;GAIG;AACH,eAAO,MAAM,YAAY,QAA2C,CAAA;AAcpE,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGvD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAKvG;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CACvC,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,aAAa,GAC1B,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CAgBnD;AAED,wBAAsB,uBAAuB,CAC5C,UAAU,EAAE,SAAS,EACrB,cAAc,EAAE,MAAM,EACtB,GAAG,EAAE,mBAAmB,EACxB,QAAQ,EAAE,oBAAoB,EAC9B,MAAM,EAAE,MAAM,EACd,EAAE,EAAE,UAAU,EACd,aAAa,EAAE,aAAa,GAC1B,OAAO,CAAC,KAAK,CAAC;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAiE/D"}
1
+ {"version":3,"file":"markitdown-preprocessor.d.ts","sourceRoot":"","sources":["../../../../src/plugins/uploads/preprocessors/markitdown-preprocessor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAEnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAA;AAClE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAA;AAC3D,OAAO,EAIN,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,MAAM,oBAAoB,CAAA;AAK3B;;;;;;;;;GASG;AACH,eAAO,MAAM,8BAA8B,OAAO,CAAA;AAClD,eAAO,MAAM,gBAAgB,QAAU,CAAA;AA2CvC,MAAM,WAAW,4BAA4B;IAC5C,QAAQ,EAAE,oBAAoB,CAAA;IAC9B,MAAM,EAAE,MAAM,CAAA;IACd,EAAE,EAAE,UAAU,CAAA;IACd,OAAO,EAAE,aAAa,CAAA;CACtB;AAED,qBAAa,sBAAuB,YAAW,YAAY;IAC1D,QAAQ,CAAC,IAAI,gBAAe;IAC5B,QAAQ,CAAC,kBAAkB,WAAuB;IAElD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAsB;IAC/C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;IAC/B,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAY;IAC/B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAe;IAC7C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAwH;gBAEjI,MAAM,EAAE,4BAA4B;IAQ1C,OAAO,CACZ,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,mBAAmB,GACtB,OAAO,CAAC,MAAM,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;YAsD/B,aAAa;YAyCb,uBAAuB;CAmDrC;AAMD;;;;GAIG;AACH,eAAO,MAAM,YAAY,QAA2C,CAAA;AAcpE,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGvD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAKvG;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CACvC,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,aAAa,EAC5B,MAAM,CAAC,EAAE,WAAW,GAClB,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CAiBnD;AAED,wBAAsB,uBAAuB,CAC5C,UAAU,EAAE,SAAS,EACrB,cAAc,EAAE,MAAM,EACtB,GAAG,EAAE,mBAAmB,EACxB,QAAQ,EAAE,oBAAoB,EAC9B,MAAM,EAAE,MAAM,EACd,EAAE,EAAE,UAAU,EACd,aAAa,EAAE,aAAa,GAC1B,OAAO,CAAC,KAAK,CAAC;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAsE/D"}
@@ -17,6 +17,7 @@
17
17
  import { dirname } from 'node:path';
18
18
  import { mapWithConcurrency } from '../../../lib/utils/concurrency.js';
19
19
  import { Err, Ok } from '../../../lib/utils/result.js';
20
+ import { getPreprocessingSignal, preprocessingAbortError, throwIfPreprocessingAborted, } from '../preprocessor.js';
20
21
  const MAX_IMAGES = 20;
21
22
  const IMAGE_CLASSIFY_CONCURRENCY = 10;
22
23
  /**
@@ -38,7 +39,7 @@ const MARKITDOWN_TIMEOUT_MS = 60_000;
38
39
  // is async/background, so allow generous headroom.
39
40
  const IMAGE_EXTRACT_TIMEOUT_MS = 5 * 60_000;
40
41
  function makeExec(processRunner) {
41
- return (cmd, args, timeoutMs = MARKITDOWN_TIMEOUT_MS) => processRunner.execFile(cmd, args, { timeout: timeoutMs, maxBuffer: 50 * 1024 * 1024 });
42
+ return (cmd, args, timeoutMs = MARKITDOWN_TIMEOUT_MS, signal) => processRunner.execFile(cmd, args, { timeout: timeoutMs, maxBuffer: 50 * 1024 * 1024, signal });
42
43
  }
43
44
  /** MIME types where markitdown converts to markdown (non-ZIP, non-image, non-PDF) */
44
45
  const SUPPORTED_MIME_TYPES = [
@@ -83,8 +84,10 @@ export class MarkitdownPreprocessor {
83
84
  }
84
85
  async process(filePath, mimeType, ctx) {
85
86
  const totalStart = Date.now();
87
+ const signal = getPreprocessingSignal(ctx);
88
+ throwIfPreprocessingAborted(signal);
86
89
  this.logger.info('Markitdown processing started', { filePath, mimeType });
87
- const contentPathResult = ctx.files.realPath('content.md');
90
+ const contentPathResult = await ctx.files.containedPath('content.md');
88
91
  if (!contentPathResult.ok) {
89
92
  return Err(new Error('Failed to resolve output path'));
90
93
  }
@@ -93,11 +96,13 @@ export class MarkitdownPreprocessor {
93
96
  // independent, so there's no reason to serialize them. For documents
94
97
  // where pandoc extraction isn't applicable, the image task resolves
95
98
  // immediately.
96
- const markdownTask = this.runMarkitdown(filePath, mimeType, contentPathResult.value);
99
+ const markdownTask = this.runMarkitdown(filePath, mimeType, contentPathResult.value, signal);
97
100
  const imageTask = PANDOC_EXTRACT_MIMES.has(mimeType)
98
- ? this.extractImagesWithPandoc(filePath, mimeType, ctx)
101
+ ? this.extractImagesWithPandoc(filePath, mimeType, ctx, signal)
99
102
  : Promise.resolve([]);
100
103
  const [markdownResult, images] = await Promise.all([markdownTask, imageTask]);
104
+ if (signal.aborted)
105
+ return Err(preprocessingAbortError(signal));
101
106
  if (!markdownResult.ok)
102
107
  return markdownResult;
103
108
  const markdown = markdownResult.value;
@@ -122,12 +127,14 @@ export class MarkitdownPreprocessor {
122
127
  derivedPaths,
123
128
  });
124
129
  }
125
- async runMarkitdown(filePath, mimeType, outputPath) {
130
+ async runMarkitdown(filePath, mimeType, outputPath, signal) {
126
131
  const markitdownStart = Date.now();
127
132
  try {
128
- await this.exec('markitdown', [filePath, '-o', outputPath]);
133
+ await this.exec('markitdown', [filePath, '-o', outputPath], MARKITDOWN_TIMEOUT_MS, signal);
129
134
  }
130
135
  catch (error) {
136
+ if (signal.aborted)
137
+ return Err(preprocessingAbortError(signal));
131
138
  const message = error instanceof Error ? error.message : String(error);
132
139
  this.logger.error('markitdown CLI failed', error instanceof Error ? error : undefined, { filePath, mimeType, durationMs: Date.now() - markitdownStart });
133
140
  if (message.includes('ENOENT')) {
@@ -135,6 +142,8 @@ export class MarkitdownPreprocessor {
135
142
  }
136
143
  return Err(new Error(`markitdown failed: ${message}`));
137
144
  }
145
+ if (signal.aborted)
146
+ return Err(preprocessingAbortError(signal));
138
147
  let markdown = '';
139
148
  try {
140
149
  markdown = await this.fs.readFile(outputPath, 'utf-8');
@@ -150,9 +159,11 @@ export class MarkitdownPreprocessor {
150
159
  });
151
160
  return Ok(markdown);
152
161
  }
153
- async extractImagesWithPandoc(filePath, mimeType, ctx) {
162
+ async extractImagesWithPandoc(filePath, mimeType, ctx, signal) {
163
+ if (signal.aborted)
164
+ return [];
154
165
  const mediaStore = ctx.files.scoped('media');
155
- const mediaDirResult = mediaStore.realPath('');
166
+ const mediaDirResult = await mediaStore.containedPath('');
156
167
  if (!mediaDirResult.ok)
157
168
  return [];
158
169
  const format = PANDOC_FORMAT_MAP[mimeType];
@@ -161,9 +172,11 @@ export class MarkitdownPreprocessor {
161
172
  const pandocStart = Date.now();
162
173
  let extractSucceeded = true;
163
174
  try {
164
- await this.exec('pandoc', ['-f', format, '-t', 'gfm', filePath, '-o', '/dev/null', `--extract-media=${mediaDirResult.value}`], IMAGE_EXTRACT_TIMEOUT_MS);
175
+ await this.exec('pandoc', ['-f', format, '-t', 'gfm', filePath, '-o', '/dev/null', `--extract-media=${mediaDirResult.value}`], IMAGE_EXTRACT_TIMEOUT_MS, signal);
165
176
  }
166
177
  catch (error) {
178
+ if (signal.aborted)
179
+ return [];
167
180
  extractSucceeded = false;
168
181
  this.logger.warn('pandoc --extract-media failed (will classify any partial output)', {
169
182
  filePath,
@@ -171,6 +184,8 @@ export class MarkitdownPreprocessor {
171
184
  error: error instanceof Error ? error.message : String(error),
172
185
  });
173
186
  }
187
+ if (signal.aborted)
188
+ return [];
174
189
  if (extractSucceeded) {
175
190
  this.logger.info('pandoc --extract-media complete', {
176
191
  filePath,
@@ -236,9 +251,9 @@ export function shouldClassifyImage(meta) {
236
251
  * available or output is unparseable — caller should treat that as
237
252
  * "include without filtering".
238
253
  */
239
- export async function getImageDimensions(filePath, processRunner) {
254
+ export async function getImageDimensions(filePath, processRunner, signal) {
240
255
  try {
241
- const { stdout } = await processRunner.execFile('vipsheader', ['-f', 'width', '-f', 'height', filePath], { timeout: 10_000 });
256
+ const { stdout } = await processRunner.execFile('vipsheader', ['-f', 'width', '-f', 'height', filePath], { timeout: 10_000, signal });
242
257
  const lines = stdout.trim().split('\n');
243
258
  if (lines.length < 2)
244
259
  return null;
@@ -248,18 +263,25 @@ export async function getImageDimensions(filePath, processRunner) {
248
263
  return null;
249
264
  return { width, height };
250
265
  }
251
- catch {
266
+ catch (error) {
267
+ if (signal?.aborted)
268
+ throw error;
252
269
  return null;
253
270
  }
254
271
  }
255
272
  export async function classifyExtractedImages(imageStore, relativePrefix, ctx, registry, logger, fs, processRunner) {
273
+ const signal = getPreprocessingSignal(ctx);
274
+ if (signal.aborted)
275
+ return [];
256
276
  const listResult = await imageStore.list('', { maxDepth: 3 });
257
277
  if (!listResult.ok)
258
278
  return [];
259
279
  const candidates = listResult.value.filter(e => e.type === 'file' && IMAGE_EXT_RE.test(e.name));
260
280
  // Stat + density filter, then keep the top MAX_IMAGES by file size.
261
281
  const inspected = await mapWithConcurrency(candidates, 8, async (entry) => {
262
- const pathResult = imageStore.realPath(entry.name);
282
+ if (signal.aborted)
283
+ return null;
284
+ const pathResult = await imageStore.containedPath(entry.name);
263
285
  if (!pathResult.ok)
264
286
  return null;
265
287
  let sizeBytes = 0;
@@ -269,7 +291,7 @@ export async function classifyExtractedImages(imageStore, relativePrefix, ctx, r
269
291
  catch {
270
292
  return null;
271
293
  }
272
- const dims = await getImageDimensions(pathResult.value, processRunner);
294
+ const dims = await getImageDimensions(pathResult.value, processRunner, signal);
273
295
  if (!dims) {
274
296
  // Unknown dims — include but warn; better to classify than silently drop.
275
297
  return { name: entry.name, sizeBytes, width: 0, height: 0, kept: true };
@@ -278,7 +300,7 @@ export async function classifyExtractedImages(imageStore, relativePrefix, ctx, r
278
300
  return { name: entry.name, sizeBytes, width: dims.width, height: dims.height, kept };
279
301
  });
280
302
  const filtered = inspected
281
- .filter((r) => r !== null && r.kept)
303
+ .filter((r) => r?.kept === true)
282
304
  .sort((a, b) => b.sizeBytes - a.sizeBytes)
283
305
  .slice(0, MAX_IMAGES);
284
306
  const droppedCount = inspected.filter(r => r !== null && !r.kept).length;
@@ -292,7 +314,9 @@ export async function classifyExtractedImages(imageStore, relativePrefix, ctx, r
292
314
  });
293
315
  }
294
316
  const settled = await mapWithConcurrency(filtered, IMAGE_CLASSIFY_CONCURRENCY, async (imgFile) => {
295
- const imgPathResult = imageStore.realPath(imgFile.name);
317
+ if (signal.aborted)
318
+ return null;
319
+ const imgPathResult = await imageStore.containedPath(imgFile.name);
296
320
  if (!imgPathResult.ok)
297
321
  return null;
298
322
  const imgMime = guessImageMime(imgFile.name);
@@ -300,6 +324,7 @@ export async function classifyExtractedImages(imageStore, relativePrefix, ctx, r
300
324
  const classifier = registry.getForMimeType(imgMime);
301
325
  if (classifier) {
302
326
  const classifyResult = await classifier.process(imgPathResult.value, imgMime, {
327
+ ...ctx,
303
328
  files: ctx.files.scoped(`${relativePrefix}/${imgFile.name}-meta`),
304
329
  });
305
330
  if (classifyResult.ok && classifyResult.value.extractedContent) {