@roj-ai/sdk 0.1.35 → 0.2.1

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 (908) 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 +209 -90
  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 +27 -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.d.ts.map +1 -1
  42. package/dist/core/context/state.js +6 -2
  43. package/dist/core/context/state.js.map +1 -1
  44. package/dist/core/events/base-event-store.d.ts.map +1 -1
  45. package/dist/core/events/base-event-store.js +22 -14
  46. package/dist/core/events/base-event-store.js.map +1 -1
  47. package/dist/core/events/file.d.ts +39 -1
  48. package/dist/core/events/file.d.ts.map +1 -1
  49. package/dist/core/events/file.js +159 -20
  50. package/dist/core/events/file.js.map +1 -1
  51. package/dist/core/events/types.d.ts +1 -1
  52. package/dist/core/file-store/containment.d.ts +19 -0
  53. package/dist/core/file-store/containment.d.ts.map +1 -0
  54. package/dist/core/file-store/containment.js +62 -0
  55. package/dist/core/file-store/containment.js.map +1 -0
  56. package/dist/core/file-store/file-store.d.ts +22 -2
  57. package/dist/core/file-store/file-store.d.ts.map +1 -1
  58. package/dist/core/file-store/file-store.js +88 -20
  59. package/dist/core/file-store/file-store.js.map +1 -1
  60. package/dist/core/file-store/types.d.ts +13 -1
  61. package/dist/core/file-store/types.d.ts.map +1 -1
  62. package/dist/core/image/image-processor.d.ts.map +1 -1
  63. package/dist/core/image/image-processor.js +3 -1
  64. package/dist/core/image/image-processor.js.map +1 -1
  65. package/dist/core/image/types.d.ts +2 -0
  66. package/dist/core/image/types.d.ts.map +1 -1
  67. package/dist/core/image/vips-resizer.d.ts.map +1 -1
  68. package/dist/core/image/vips-resizer.js +81 -33
  69. package/dist/core/image/vips-resizer.js.map +1 -1
  70. package/dist/core/llm/anthropic.d.ts +0 -1
  71. package/dist/core/llm/anthropic.d.ts.map +1 -1
  72. package/dist/core/llm/anthropic.js +101 -74
  73. package/dist/core/llm/anthropic.js.map +1 -1
  74. package/dist/core/llm/logger.d.ts +14 -2
  75. package/dist/core/llm/logger.d.ts.map +1 -1
  76. package/dist/core/llm/logger.js +161 -36
  77. package/dist/core/llm/logger.js.map +1 -1
  78. package/dist/core/llm/openrouter.d.ts +0 -1
  79. package/dist/core/llm/openrouter.d.ts.map +1 -1
  80. package/dist/core/llm/openrouter.js +70 -74
  81. package/dist/core/llm/openrouter.js.map +1 -1
  82. package/dist/core/llm/provider-request.d.ts +10 -0
  83. package/dist/core/llm/provider-request.d.ts.map +1 -0
  84. package/dist/core/llm/provider-request.js +41 -0
  85. package/dist/core/llm/provider-request.js.map +1 -0
  86. package/dist/core/llm/provider.d.ts +45 -3
  87. package/dist/core/llm/provider.d.ts.map +1 -1
  88. package/dist/core/llm/provider.js +26 -0
  89. package/dist/core/llm/provider.js.map +1 -1
  90. package/dist/core/llm/state.d.ts +4 -2
  91. package/dist/core/llm/state.d.ts.map +1 -1
  92. package/dist/core/llm/state.js +15 -4
  93. package/dist/core/llm/state.js.map +1 -1
  94. package/dist/core/plugins/plugin-builder.d.ts +57 -3
  95. package/dist/core/plugins/plugin-builder.d.ts.map +1 -1
  96. package/dist/core/plugins/plugin-builder.js +68 -14
  97. package/dist/core/plugins/plugin-builder.js.map +1 -1
  98. package/dist/core/preset/preset-builder.d.ts +3 -2
  99. package/dist/core/preset/preset-builder.d.ts.map +1 -1
  100. package/dist/core/preset/preset-builder.js +7 -16
  101. package/dist/core/preset/preset-builder.js.map +1 -1
  102. package/dist/core/sessions/context.d.ts +23 -5
  103. package/dist/core/sessions/context.d.ts.map +1 -1
  104. package/dist/core/sessions/runtime-activity.d.ts +33 -0
  105. package/dist/core/sessions/runtime-activity.d.ts.map +1 -0
  106. package/dist/core/sessions/runtime-activity.js +55 -0
  107. package/dist/core/sessions/runtime-activity.js.map +1 -0
  108. package/dist/core/sessions/schema.d.ts +23 -2
  109. package/dist/core/sessions/schema.d.ts.map +1 -1
  110. package/dist/core/sessions/schema.js +24 -3
  111. package/dist/core/sessions/schema.js.map +1 -1
  112. package/dist/core/sessions/session-manager.d.ts +83 -6
  113. package/dist/core/sessions/session-manager.d.ts.map +1 -1
  114. package/dist/core/sessions/session-manager.js +517 -118
  115. package/dist/core/sessions/session-manager.js.map +1 -1
  116. package/dist/core/sessions/session-store.d.ts +18 -0
  117. package/dist/core/sessions/session-store.d.ts.map +1 -1
  118. package/dist/core/sessions/session-store.js +33 -0
  119. package/dist/core/sessions/session-store.js.map +1 -1
  120. package/dist/core/sessions/session.d.ts +42 -6
  121. package/dist/core/sessions/session.d.ts.map +1 -1
  122. package/dist/core/sessions/session.js +176 -44
  123. package/dist/core/sessions/session.js.map +1 -1
  124. package/dist/core/sessions/state.d.ts +10 -1
  125. package/dist/core/sessions/state.d.ts.map +1 -1
  126. package/dist/core/sessions/state.js +16 -1
  127. package/dist/core/sessions/state.js.map +1 -1
  128. package/dist/core/system.d.ts +9 -0
  129. package/dist/core/system.d.ts.map +1 -1
  130. package/dist/core/system.js +4 -1
  131. package/dist/core/system.js.map +1 -1
  132. package/dist/core/tools/executor.d.ts +1 -1
  133. package/dist/core/wake-key.d.ts +34 -0
  134. package/dist/core/wake-key.d.ts.map +1 -0
  135. package/dist/core/wake-key.js +51 -0
  136. package/dist/core/wake-key.js.map +1 -0
  137. package/dist/index.d.ts +24 -13
  138. package/dist/index.d.ts.map +1 -1
  139. package/dist/index.js +22 -8
  140. package/dist/index.js.map +1 -1
  141. package/dist/lib/archive/archive-inspection.d.ts +48 -0
  142. package/dist/lib/archive/archive-inspection.d.ts.map +1 -0
  143. package/dist/lib/archive/archive-inspection.fixtures.d.ts +7 -0
  144. package/dist/lib/archive/archive-inspection.fixtures.d.ts.map +1 -0
  145. package/dist/lib/archive/archive-inspection.fixtures.js +134 -0
  146. package/dist/lib/archive/archive-inspection.fixtures.js.map +1 -0
  147. package/dist/lib/archive/archive-inspection.js +253 -0
  148. package/dist/lib/archive/archive-inspection.js.map +1 -0
  149. package/dist/lib/archive/index.d.ts +3 -0
  150. package/dist/lib/archive/index.d.ts.map +1 -0
  151. package/dist/lib/archive/index.js +2 -0
  152. package/dist/lib/archive/index.js.map +1 -0
  153. package/dist/lib/logger/console.d.ts +5 -12
  154. package/dist/lib/logger/console.d.ts.map +1 -1
  155. package/dist/lib/logger/console.js +5 -47
  156. package/dist/lib/logger/console.js.map +1 -1
  157. package/dist/lib/logger/file.d.ts +8 -11
  158. package/dist/lib/logger/file.d.ts.map +1 -1
  159. package/dist/lib/logger/file.js +26 -37
  160. package/dist/lib/logger/file.js.map +1 -1
  161. package/dist/lib/logger/index.d.ts +3 -1
  162. package/dist/lib/logger/index.d.ts.map +1 -1
  163. package/dist/lib/logger/index.js +3 -1
  164. package/dist/lib/logger/index.js.map +1 -1
  165. package/dist/lib/logger/jsonl.d.ts +21 -0
  166. package/dist/lib/logger/jsonl.d.ts.map +1 -0
  167. package/dist/lib/logger/jsonl.js +29 -0
  168. package/dist/lib/logger/jsonl.js.map +1 -0
  169. package/dist/lib/logger/logger.d.ts +22 -0
  170. package/dist/lib/logger/logger.d.ts.map +1 -1
  171. package/dist/lib/logger/logger.js +37 -0
  172. package/dist/lib/logger/logger.js.map +1 -1
  173. package/dist/lib/logger/session-log.d.ts +21 -0
  174. package/dist/lib/logger/session-log.d.ts.map +1 -0
  175. package/dist/lib/logger/session-log.js +37 -0
  176. package/dist/lib/logger/session-log.js.map +1 -0
  177. package/dist/lib/utils/concurrency.d.ts +1 -1
  178. package/dist/lib/utils/concurrency.d.ts.map +1 -1
  179. package/dist/lib/utils/concurrency.js +30 -7
  180. package/dist/lib/utils/concurrency.js.map +1 -1
  181. package/dist/lib/utils/fs-batch.d.ts +17 -0
  182. package/dist/lib/utils/fs-batch.d.ts.map +1 -0
  183. package/dist/lib/utils/fs-batch.js +38 -0
  184. package/dist/lib/utils/fs-batch.js.map +1 -0
  185. package/dist/lib/utils/result.d.ts +7 -22
  186. package/dist/lib/utils/result.d.ts.map +1 -1
  187. package/dist/lib/utils/result.js +6 -17
  188. package/dist/lib/utils/result.js.map +1 -1
  189. package/dist/lib/utils/sleep.d.ts +10 -0
  190. package/dist/lib/utils/sleep.d.ts.map +1 -0
  191. package/dist/lib/utils/sleep.js +26 -0
  192. package/dist/lib/utils/sleep.js.map +1 -0
  193. package/dist/platform/fs-revision.d.ts +21 -0
  194. package/dist/platform/fs-revision.d.ts.map +1 -0
  195. package/dist/platform/fs-revision.js +9 -0
  196. package/dist/platform/fs-revision.js.map +1 -0
  197. package/dist/platform/fs.d.ts +104 -1
  198. package/dist/platform/fs.d.ts.map +1 -1
  199. package/dist/platform/git.d.ts +59 -0
  200. package/dist/platform/git.d.ts.map +1 -0
  201. package/dist/platform/git.js +8 -0
  202. package/dist/platform/git.js.map +1 -0
  203. package/dist/platform/index.d.ts +40 -1
  204. package/dist/platform/index.d.ts.map +1 -1
  205. package/dist/platform/index.js +1 -1
  206. package/dist/platform/index.js.map +1 -1
  207. package/dist/platform/llm-call-log.d.ts +80 -0
  208. package/dist/platform/llm-call-log.d.ts.map +1 -0
  209. package/dist/platform/llm-call-log.js +12 -0
  210. package/dist/platform/llm-call-log.js.map +1 -0
  211. package/dist/platform/scheduler.d.ts +32 -0
  212. package/dist/platform/scheduler.d.ts.map +1 -0
  213. package/dist/platform/scheduler.js +46 -0
  214. package/dist/platform/scheduler.js.map +1 -0
  215. package/dist/platform/session-log.d.ts +36 -0
  216. package/dist/platform/session-log.d.ts.map +1 -0
  217. package/dist/platform/session-log.js +12 -0
  218. package/dist/platform/session-log.js.map +1 -0
  219. package/dist/platform/shell.d.ts +83 -0
  220. package/dist/platform/shell.d.ts.map +1 -0
  221. package/dist/platform/shell.js +13 -0
  222. package/dist/platform/shell.js.map +1 -0
  223. package/dist/plugins/agent-status/plugin.d.ts.map +1 -1
  224. package/dist/plugins/agent-status/plugin.js +1 -0
  225. package/dist/plugins/agent-status/plugin.js.map +1 -1
  226. package/dist/plugins/agents/plugin.d.ts.map +1 -1
  227. package/dist/plugins/agents/plugin.js +129 -62
  228. package/dist/plugins/agents/plugin.js.map +1 -1
  229. package/dist/plugins/filesystem/listing.d.ts +3 -0
  230. package/dist/plugins/filesystem/listing.d.ts.map +1 -1
  231. package/dist/plugins/filesystem/listing.js +66 -10
  232. package/dist/plugins/filesystem/listing.js.map +1 -1
  233. package/dist/plugins/filesystem/plugin.d.ts.map +1 -1
  234. package/dist/plugins/filesystem/plugin.js +8 -6
  235. package/dist/plugins/filesystem/plugin.js.map +1 -1
  236. package/dist/plugins/git-status/plugin.d.ts +34 -7
  237. package/dist/plugins/git-status/plugin.d.ts.map +1 -1
  238. package/dist/plugins/git-status/plugin.js +168 -64
  239. package/dist/plugins/git-status/plugin.js.map +1 -1
  240. package/dist/plugins/llm-debug/plugin.d.ts.map +1 -1
  241. package/dist/plugins/llm-debug/plugin.js +1 -0
  242. package/dist/plugins/llm-debug/plugin.js.map +1 -1
  243. package/dist/plugins/logs/plugin.d.ts +1 -4
  244. package/dist/plugins/logs/plugin.d.ts.map +1 -1
  245. package/dist/plugins/logs/plugin.js +7 -0
  246. package/dist/plugins/logs/plugin.js.map +1 -1
  247. package/dist/plugins/mailbox/helpers.d.ts +2 -2
  248. package/dist/plugins/mailbox/helpers.js +1 -1
  249. package/dist/plugins/mailbox/plugin.d.ts.map +1 -1
  250. package/dist/plugins/mailbox/plugin.js +38 -43
  251. package/dist/plugins/mailbox/plugin.js.map +1 -1
  252. package/dist/plugins/mailbox/query.d.ts +7 -2
  253. package/dist/plugins/mailbox/query.d.ts.map +1 -1
  254. package/dist/plugins/mailbox/query.js +14 -7
  255. package/dist/plugins/mailbox/query.js.map +1 -1
  256. package/dist/plugins/mailbox/state.d.ts +5 -4
  257. package/dist/plugins/mailbox/state.d.ts.map +1 -1
  258. package/dist/plugins/mailbox/state.js +6 -5
  259. package/dist/plugins/mailbox/state.js.map +1 -1
  260. package/dist/plugins/resources/filename.d.ts +4 -0
  261. package/dist/plugins/resources/filename.d.ts.map +1 -0
  262. package/dist/plugins/resources/filename.js +18 -0
  263. package/dist/plugins/resources/filename.js.map +1 -0
  264. package/dist/plugins/resources/plugin.d.ts +3 -0
  265. package/dist/plugins/resources/plugin.d.ts.map +1 -1
  266. package/dist/plugins/resources/plugin.js +97 -60
  267. package/dist/plugins/resources/plugin.js.map +1 -1
  268. package/dist/plugins/resources/state.d.ts +1 -1
  269. package/dist/plugins/resources/state.js +1 -1
  270. package/dist/plugins/result-eviction/plugin.d.ts.map +1 -1
  271. package/dist/plugins/result-eviction/plugin.js +6 -1
  272. package/dist/plugins/result-eviction/plugin.js.map +1 -1
  273. package/dist/plugins/services/plugin.d.ts +4 -1
  274. package/dist/plugins/services/plugin.d.ts.map +1 -1
  275. package/dist/plugins/services/plugin.js +251 -100
  276. package/dist/plugins/services/plugin.js.map +1 -1
  277. package/dist/plugins/services/prompt.d.ts.map +1 -1
  278. package/dist/plugins/services/prompt.js +1 -4
  279. package/dist/plugins/services/prompt.js.map +1 -1
  280. package/dist/plugins/services/schema.d.ts +15 -5
  281. package/dist/plugins/services/schema.d.ts.map +1 -1
  282. package/dist/plugins/services/service.d.ts +100 -18
  283. package/dist/plugins/services/service.d.ts.map +1 -1
  284. package/dist/plugins/services/service.js +680 -230
  285. package/dist/plugins/services/service.js.map +1 -1
  286. package/dist/plugins/session-lifecycle/plugin.d.ts +21 -1
  287. package/dist/plugins/session-lifecycle/plugin.d.ts.map +1 -1
  288. package/dist/plugins/session-lifecycle/plugin.js +53 -40
  289. package/dist/plugins/session-lifecycle/plugin.js.map +1 -1
  290. package/dist/plugins/session-state/plugin.d.ts +21 -13
  291. package/dist/plugins/session-state/plugin.d.ts.map +1 -1
  292. package/dist/plugins/session-state/plugin.js +214 -79
  293. package/dist/plugins/session-state/plugin.js.map +1 -1
  294. package/dist/plugins/session-stats/plugin.d.ts.map +1 -1
  295. package/dist/plugins/session-stats/plugin.js +1 -0
  296. package/dist/plugins/session-stats/plugin.js.map +1 -1
  297. package/dist/plugins/shell/executor.d.ts +17 -15
  298. package/dist/plugins/shell/executor.d.ts.map +1 -1
  299. package/dist/plugins/shell/executor.js +130 -195
  300. package/dist/plugins/shell/executor.js.map +1 -1
  301. package/dist/plugins/shell/index.d.ts +2 -2
  302. package/dist/plugins/shell/index.d.ts.map +1 -1
  303. package/dist/plugins/shell/index.js +2 -2
  304. package/dist/plugins/shell/index.js.map +1 -1
  305. package/dist/plugins/shell/plugin.d.ts +5 -4
  306. package/dist/plugins/shell/plugin.d.ts.map +1 -1
  307. package/dist/plugins/shell/plugin.js +4 -8
  308. package/dist/plugins/shell/plugin.js.map +1 -1
  309. package/dist/plugins/skills/discovery.d.ts.map +1 -1
  310. package/dist/plugins/skills/discovery.js +10 -8
  311. package/dist/plugins/skills/discovery.js.map +1 -1
  312. package/dist/plugins/skills/index.d.ts +1 -1
  313. package/dist/plugins/skills/index.d.ts.map +1 -1
  314. package/dist/plugins/skills/plugin.d.ts +1 -1
  315. package/dist/plugins/skills/plugin.d.ts.map +1 -1
  316. package/dist/plugins/skills/plugin.js +23 -30
  317. package/dist/plugins/skills/plugin.js.map +1 -1
  318. package/dist/plugins/skills/prompts.d.ts +3 -3
  319. package/dist/plugins/skills/prompts.d.ts.map +1 -1
  320. package/dist/plugins/skills/prompts.js.map +1 -1
  321. package/dist/plugins/skills/schema.d.ts +4 -2
  322. package/dist/plugins/skills/schema.d.ts.map +1 -1
  323. package/dist/plugins/todo/schema.d.ts +1 -1
  324. package/dist/plugins/uploads/plugin.d.ts +11 -4
  325. package/dist/plugins/uploads/plugin.d.ts.map +1 -1
  326. package/dist/plugins/uploads/plugin.js +891 -225
  327. package/dist/plugins/uploads/plugin.js.map +1 -1
  328. package/dist/plugins/uploads/preprocessor.d.ts +14 -0
  329. package/dist/plugins/uploads/preprocessor.d.ts.map +1 -1
  330. package/dist/plugins/uploads/preprocessor.js +11 -0
  331. package/dist/plugins/uploads/preprocessor.js.map +1 -1
  332. package/dist/plugins/uploads/preprocessors/image-classifier.d.ts +1 -1
  333. package/dist/plugins/uploads/preprocessors/image-classifier.d.ts.map +1 -1
  334. package/dist/plugins/uploads/preprocessors/image-classifier.js +51 -26
  335. package/dist/plugins/uploads/preprocessors/image-classifier.js.map +1 -1
  336. package/dist/plugins/uploads/preprocessors/markitdown-preprocessor.d.ts +2 -2
  337. package/dist/plugins/uploads/preprocessors/markitdown-preprocessor.d.ts.map +1 -1
  338. package/dist/plugins/uploads/preprocessors/markitdown-preprocessor.js +41 -16
  339. package/dist/plugins/uploads/preprocessors/markitdown-preprocessor.js.map +1 -1
  340. package/dist/plugins/uploads/preprocessors/pdf-preprocessor.d.ts +1 -1
  341. package/dist/plugins/uploads/preprocessors/pdf-preprocessor.d.ts.map +1 -1
  342. package/dist/plugins/uploads/preprocessors/pdf-preprocessor.js +29 -14
  343. package/dist/plugins/uploads/preprocessors/pdf-preprocessor.js.map +1 -1
  344. package/dist/plugins/uploads/preprocessors/zip-preprocessor.d.ts +1 -1
  345. package/dist/plugins/uploads/preprocessors/zip-preprocessor.d.ts.map +1 -1
  346. package/dist/plugins/uploads/preprocessors/zip-preprocessor.js +62 -34
  347. package/dist/plugins/uploads/preprocessors/zip-preprocessor.js.map +1 -1
  348. package/dist/plugins/uploads/schema.d.ts +25 -2
  349. package/dist/plugins/uploads/schema.d.ts.map +1 -1
  350. package/dist/plugins/uploads/schema.js +24 -3
  351. package/dist/plugins/uploads/schema.js.map +1 -1
  352. package/dist/plugins/uploads/state.d.ts +13 -1
  353. package/dist/plugins/uploads/state.d.ts.map +1 -1
  354. package/dist/plugins/uploads/state.js +4 -1
  355. package/dist/plugins/uploads/state.js.map +1 -1
  356. package/dist/plugins/user-chat/plugin.d.ts +12 -5
  357. package/dist/plugins/user-chat/plugin.d.ts.map +1 -1
  358. package/dist/plugins/user-chat/plugin.js +141 -32
  359. package/dist/plugins/user-chat/plugin.js.map +1 -1
  360. package/dist/plugins/workers/context.d.ts +35 -13
  361. package/dist/plugins/workers/context.d.ts.map +1 -1
  362. package/dist/plugins/workers/context.js +82 -32
  363. package/dist/plugins/workers/context.js.map +1 -1
  364. package/dist/plugins/workers/definition.d.ts +7 -0
  365. package/dist/plugins/workers/definition.d.ts.map +1 -1
  366. package/dist/plugins/workers/definition.js.map +1 -1
  367. package/dist/plugins/workers/index.d.ts +4 -4
  368. package/dist/plugins/workers/index.d.ts.map +1 -1
  369. package/dist/plugins/workers/index.js +2 -2
  370. package/dist/plugins/workers/index.js.map +1 -1
  371. package/dist/plugins/workers/plugin.d.ts +10 -57
  372. package/dist/plugins/workers/plugin.d.ts.map +1 -1
  373. package/dist/plugins/workers/plugin.js +385 -123
  374. package/dist/plugins/workers/plugin.js.map +1 -1
  375. package/dist/plugins/workers/state.d.ts +69 -0
  376. package/dist/plugins/workers/state.d.ts.map +1 -0
  377. package/dist/plugins/workers/state.js +52 -0
  378. package/dist/plugins/workers/state.js.map +1 -0
  379. package/dist/plugins/workers/worker.d.ts +15 -4
  380. package/dist/plugins/workers/worker.d.ts.map +1 -1
  381. package/dist/testing/conformance.d.ts +106 -0
  382. package/dist/testing/conformance.d.ts.map +1 -0
  383. package/dist/testing/conformance.js +1463 -0
  384. package/dist/testing/conformance.js.map +1 -0
  385. package/dist/testing/node-platform.d.ts.map +1 -1
  386. package/dist/testing/node-platform.js +5 -0
  387. package/dist/testing/node-platform.js.map +1 -1
  388. package/dist/testing/test-harness.d.ts +11 -1
  389. package/dist/testing/test-harness.d.ts.map +1 -1
  390. package/dist/testing/test-harness.js +17 -37
  391. package/dist/testing/test-harness.js.map +1 -1
  392. package/dist/testing/wait-helpers.d.ts.map +1 -1
  393. package/dist/testing/wait-helpers.js +1 -3
  394. package/dist/testing/wait-helpers.js.map +1 -1
  395. package/dist/transport/adapter/client-adapter.d.ts +6 -0
  396. package/dist/transport/adapter/client-adapter.d.ts.map +1 -1
  397. package/dist/transport/adapter/client-adapter.js +50 -3
  398. package/dist/transport/adapter/client-adapter.js.map +1 -1
  399. package/dist/transport/adapter/heartbeat.d.ts +16 -0
  400. package/dist/transport/adapter/heartbeat.d.ts.map +1 -0
  401. package/dist/transport/adapter/heartbeat.js +41 -0
  402. package/dist/transport/adapter/heartbeat.js.map +1 -0
  403. package/dist/transport/adapter/server-adapter.d.ts.map +1 -1
  404. package/dist/transport/adapter/server-adapter.js +6 -0
  405. package/dist/transport/adapter/server-adapter.js.map +1 -1
  406. package/dist/transport/http/app.d.ts +3 -30
  407. package/dist/transport/http/app.d.ts.map +1 -1
  408. package/dist/transport/http/app.js +3 -7
  409. package/dist/transport/http/app.js.map +1 -1
  410. package/dist/transport/http/context.d.ts +40 -0
  411. package/dist/transport/http/context.d.ts.map +1 -0
  412. package/dist/transport/http/context.js +17 -0
  413. package/dist/transport/http/context.js.map +1 -0
  414. package/dist/transport/http/fetch-guard.d.ts +49 -0
  415. package/dist/transport/http/fetch-guard.d.ts.map +1 -0
  416. package/dist/transport/http/fetch-guard.js +312 -0
  417. package/dist/transport/http/fetch-guard.js.map +1 -0
  418. package/dist/transport/http/index.d.ts +1 -1
  419. package/dist/transport/http/index.d.ts.map +1 -1
  420. package/dist/transport/http/middleware/bearer-auth.d.ts +1 -1
  421. package/dist/transport/http/middleware/bearer-auth.d.ts.map +1 -1
  422. package/dist/transport/http/middleware/error-handler.d.ts +2 -2
  423. package/dist/transport/http/middleware/error-handler.d.ts.map +1 -1
  424. package/dist/transport/http/path-containment.d.ts +20 -0
  425. package/dist/transport/http/path-containment.d.ts.map +1 -0
  426. package/dist/transport/http/path-containment.js +31 -0
  427. package/dist/transport/http/path-containment.js.map +1 -0
  428. package/dist/transport/http/responses.d.ts +30 -0
  429. package/dist/transport/http/responses.d.ts.map +1 -0
  430. package/dist/transport/http/responses.js +5 -0
  431. package/dist/transport/http/responses.js.map +1 -0
  432. package/dist/transport/http/routes/files.d.ts +1 -1
  433. package/dist/transport/http/routes/files.d.ts.map +1 -1
  434. package/dist/transport/http/routes/files.js +54 -155
  435. package/dist/transport/http/routes/files.js.map +1 -1
  436. package/dist/transport/http/routes/resources.d.ts +1 -1
  437. package/dist/transport/http/routes/resources.d.ts.map +1 -1
  438. package/dist/transport/http/routes/resources.js +92 -57
  439. package/dist/transport/http/routes/resources.js.map +1 -1
  440. package/dist/transport/http/routes/rpc.d.ts +6 -1
  441. package/dist/transport/http/routes/rpc.d.ts.map +1 -1
  442. package/dist/transport/http/routes/rpc.js +51 -21
  443. package/dist/transport/http/routes/rpc.js.map +1 -1
  444. package/dist/transport/http/routes/upload.d.ts +1 -1
  445. package/dist/transport/http/routes/upload.d.ts.map +1 -1
  446. package/dist/transport/http/routes/upload.js +256 -169
  447. package/dist/transport/http/routes/upload.js.map +1 -1
  448. package/dist/user-config.d.ts +34 -7
  449. package/dist/user-config.d.ts.map +1 -1
  450. package/dist/user-config.js +71 -0
  451. package/dist/user-config.js.map +1 -1
  452. package/package.json +18 -8
  453. package/src/bootstrap.ts +119 -35
  454. package/src/bun-platform/fs.ts +1 -0
  455. package/src/bun-platform/index.ts +18 -1
  456. package/src/bun-platform/server-lifecycle.ts +218 -0
  457. package/src/bun-platform/shell.ts +362 -0
  458. package/src/config.ts +130 -0
  459. package/src/core/agents/agent.ts +219 -95
  460. package/src/core/agents/config.ts +8 -0
  461. package/src/core/agents/retry.ts +16 -17
  462. package/src/core/agents/state.ts +28 -0
  463. package/src/core/context/state.ts +4 -0
  464. package/src/core/events/base-event-store.ts +24 -16
  465. package/src/core/events/file.ts +198 -22
  466. package/src/core/file-store/containment.ts +75 -0
  467. package/src/core/file-store/file-store.ts +106 -25
  468. package/src/core/file-store/types.ts +14 -1
  469. package/src/core/image/image-processor.ts +3 -1
  470. package/src/core/image/types.ts +2 -0
  471. package/src/core/image/vips-resizer.ts +102 -37
  472. package/src/core/llm/anthropic.ts +127 -82
  473. package/src/core/llm/logger.ts +175 -37
  474. package/src/core/llm/openrouter.ts +82 -81
  475. package/src/core/llm/provider-request.ts +40 -0
  476. package/src/core/llm/provider.ts +72 -3
  477. package/src/core/llm/state.ts +12 -0
  478. package/src/core/plugins/plugin-builder.ts +106 -14
  479. package/src/core/preset/preset-builder.ts +12 -22
  480. package/src/core/sessions/context.ts +18 -0
  481. package/src/core/sessions/runtime-activity.ts +78 -0
  482. package/src/core/sessions/schema.ts +29 -3
  483. package/src/core/sessions/session-manager.ts +560 -140
  484. package/src/core/sessions/session-store.ts +38 -0
  485. package/src/core/sessions/session.ts +187 -47
  486. package/src/core/sessions/state.ts +16 -0
  487. package/src/core/system.ts +15 -0
  488. package/src/core/wake-key.ts +65 -0
  489. package/src/index.ts +31 -12
  490. package/src/lib/archive/archive-inspection.fixtures.ts +138 -0
  491. package/src/lib/archive/archive-inspection.ts +359 -0
  492. package/src/lib/archive/index.ts +17 -0
  493. package/src/lib/logger/console.ts +7 -57
  494. package/src/lib/logger/file.ts +28 -50
  495. package/src/lib/logger/index.ts +3 -1
  496. package/src/lib/logger/jsonl.ts +36 -0
  497. package/src/lib/logger/logger.ts +48 -0
  498. package/src/lib/logger/session-log.ts +42 -0
  499. package/src/lib/utils/concurrency.ts +37 -8
  500. package/src/lib/utils/fs-batch.ts +49 -0
  501. package/src/lib/utils/result.ts +7 -31
  502. package/src/lib/utils/sleep.ts +23 -0
  503. package/src/platform/fs-revision.ts +21 -0
  504. package/src/platform/fs.ts +109 -1
  505. package/src/platform/git.ts +67 -0
  506. package/src/platform/index.ts +51 -1
  507. package/src/platform/llm-call-log.ts +86 -0
  508. package/src/platform/scheduler.ts +71 -0
  509. package/src/platform/session-log.ts +39 -0
  510. package/src/platform/shell.ts +89 -0
  511. package/src/plugins/agent-status/plugin.ts +1 -0
  512. package/src/plugins/agents/plugin.ts +134 -81
  513. package/src/plugins/filesystem/listing.ts +70 -12
  514. package/src/plugins/filesystem/plugin.ts +8 -6
  515. package/src/plugins/git-status/plugin.ts +204 -77
  516. package/src/plugins/llm-debug/plugin.ts +1 -0
  517. package/src/plugins/logs/plugin.ts +9 -0
  518. package/src/plugins/mailbox/plugin.ts +46 -64
  519. package/src/plugins/mailbox/query.ts +15 -7
  520. package/src/plugins/mailbox/state.ts +1 -0
  521. package/src/plugins/resources/filename.ts +19 -0
  522. package/src/plugins/resources/plugin.ts +111 -59
  523. package/src/plugins/result-eviction/plugin.ts +6 -1
  524. package/src/plugins/services/plugin.ts +254 -98
  525. package/src/plugins/services/prompt.ts +1 -6
  526. package/src/plugins/services/schema.ts +17 -3
  527. package/src/plugins/services/service.ts +702 -252
  528. package/src/plugins/session-lifecycle/plugin.ts +56 -41
  529. package/src/plugins/session-state/plugin.ts +242 -88
  530. package/src/plugins/session-stats/plugin.ts +1 -0
  531. package/src/plugins/shell/executor.ts +144 -226
  532. package/src/plugins/shell/index.ts +1 -4
  533. package/src/plugins/shell/plugin.ts +7 -9
  534. package/src/plugins/skills/discovery.ts +10 -8
  535. package/src/plugins/skills/index.ts +1 -1
  536. package/src/plugins/skills/plugin.ts +19 -27
  537. package/src/plugins/skills/prompts.ts +3 -3
  538. package/src/plugins/skills/schema.ts +5 -2
  539. package/src/plugins/uploads/plugin.ts +991 -273
  540. package/src/plugins/uploads/preprocessor.ts +25 -0
  541. package/src/plugins/uploads/preprocessors/image-classifier.ts +56 -25
  542. package/src/plugins/uploads/preprocessors/markitdown-preprocessor.ts +41 -15
  543. package/src/plugins/uploads/preprocessors/pdf-preprocessor.ts +32 -16
  544. package/src/plugins/uploads/preprocessors/zip-preprocessor.ts +67 -38
  545. package/src/plugins/uploads/schema.ts +30 -3
  546. package/src/plugins/uploads/state.ts +12 -0
  547. package/src/plugins/user-chat/plugin.ts +196 -40
  548. package/src/plugins/workers/context.ts +102 -39
  549. package/src/plugins/workers/definition.ts +7 -0
  550. package/src/plugins/workers/index.ts +4 -4
  551. package/src/plugins/workers/plugin.ts +461 -151
  552. package/src/plugins/workers/state.ts +64 -0
  553. package/src/plugins/workers/worker.ts +15 -4
  554. package/src/testing/conformance.ts +1751 -0
  555. package/src/testing/node-platform.ts +5 -0
  556. package/src/testing/test-harness.ts +21 -38
  557. package/src/testing/wait-helpers.ts +1 -4
  558. package/src/transport/adapter/client-adapter.ts +60 -3
  559. package/src/transport/adapter/heartbeat.ts +50 -0
  560. package/src/transport/adapter/server-adapter.ts +6 -0
  561. package/src/transport/http/app.ts +7 -35
  562. package/src/transport/http/context.ts +46 -0
  563. package/src/transport/http/fetch-guard.ts +318 -0
  564. package/src/transport/http/index.ts +1 -1
  565. package/src/transport/http/middleware/bearer-auth.ts +1 -1
  566. package/src/transport/http/middleware/error-handler.ts +1 -1
  567. package/src/transport/http/path-containment.ts +44 -0
  568. package/src/transport/http/responses.ts +20 -0
  569. package/src/transport/http/routes/files.ts +69 -159
  570. package/src/transport/http/routes/resources.ts +124 -93
  571. package/src/transport/http/routes/rpc.ts +63 -26
  572. package/src/transport/http/routes/upload.ts +327 -258
  573. package/src/user-config.ts +93 -7
  574. package/dist/config.test.d.ts +0 -2
  575. package/dist/config.test.d.ts.map +0 -1
  576. package/dist/config.test.js +0 -155
  577. package/dist/config.test.js.map +0 -1
  578. package/dist/core/agent-loop.integration.test.d.ts +0 -2
  579. package/dist/core/agent-loop.integration.test.d.ts.map +0 -1
  580. package/dist/core/agent-loop.integration.test.js +0 -414
  581. package/dist/core/agent-loop.integration.test.js.map +0 -1
  582. package/dist/core/agents/agent-config.test.d.ts +0 -2
  583. package/dist/core/agents/agent-config.test.d.ts.map +0 -1
  584. package/dist/core/agents/agent-config.test.js +0 -194
  585. package/dist/core/agents/agent-config.test.js.map +0 -1
  586. package/dist/core/agents/agent-shutdown.test.d.ts +0 -6
  587. package/dist/core/agents/agent-shutdown.test.d.ts.map +0 -1
  588. package/dist/core/agents/agent-shutdown.test.js +0 -180
  589. package/dist/core/agents/agent-shutdown.test.js.map +0 -1
  590. package/dist/core/agents/agent.test.d.ts +0 -2
  591. package/dist/core/agents/agent.test.d.ts.map +0 -1
  592. package/dist/core/agents/agent.test.js +0 -313
  593. package/dist/core/agents/agent.test.js.map +0 -1
  594. package/dist/core/agents/communicator.d.ts +0 -3
  595. package/dist/core/agents/communicator.d.ts.map +0 -1
  596. package/dist/core/agents/communicator.js +0 -13
  597. package/dist/core/agents/communicator.js.map +0 -1
  598. package/dist/core/agents/handler-events.test.d.ts +0 -5
  599. package/dist/core/agents/handler-events.test.d.ts.map +0 -1
  600. package/dist/core/agents/handler-events.test.js +0 -115
  601. package/dist/core/agents/handler-events.test.js.map +0 -1
  602. package/dist/core/agents/response-sanitizer.test.d.ts +0 -2
  603. package/dist/core/agents/response-sanitizer.test.d.ts.map +0 -1
  604. package/dist/core/agents/response-sanitizer.test.js +0 -101
  605. package/dist/core/agents/response-sanitizer.test.js.map +0 -1
  606. package/dist/core/error-recovery.integration.test.d.ts +0 -2
  607. package/dist/core/error-recovery.integration.test.d.ts.map +0 -1
  608. package/dist/core/error-recovery.integration.test.js +0 -288
  609. package/dist/core/error-recovery.integration.test.js.map +0 -1
  610. package/dist/core/event-sourcing.integration.test.d.ts +0 -2
  611. package/dist/core/event-sourcing.integration.test.d.ts.map +0 -1
  612. package/dist/core/event-sourcing.integration.test.js +0 -154
  613. package/dist/core/event-sourcing.integration.test.js.map +0 -1
  614. package/dist/core/events/file.test.d.ts +0 -2
  615. package/dist/core/events/file.test.d.ts.map +0 -1
  616. package/dist/core/events/file.test.js +0 -284
  617. package/dist/core/events/file.test.js.map +0 -1
  618. package/dist/core/events/memory.test.d.ts +0 -2
  619. package/dist/core/events/memory.test.d.ts.map +0 -1
  620. package/dist/core/events/memory.test.js +0 -502
  621. package/dist/core/events/memory.test.js.map +0 -1
  622. package/dist/core/image/image-processor.test.d.ts +0 -2
  623. package/dist/core/image/image-processor.test.d.ts.map +0 -1
  624. package/dist/core/image/image-processor.test.js +0 -171
  625. package/dist/core/image/image-processor.test.js.map +0 -1
  626. package/dist/core/image/vips-resizer.test.d.ts +0 -2
  627. package/dist/core/image/vips-resizer.test.d.ts.map +0 -1
  628. package/dist/core/image/vips-resizer.test.js +0 -336
  629. package/dist/core/image/vips-resizer.test.js.map +0 -1
  630. package/dist/core/llm/anthropic.test.d.ts +0 -2
  631. package/dist/core/llm/anthropic.test.d.ts.map +0 -1
  632. package/dist/core/llm/anthropic.test.js +0 -464
  633. package/dist/core/llm/anthropic.test.js.map +0 -1
  634. package/dist/core/llm/cache-breakpoints.test.d.ts +0 -2
  635. package/dist/core/llm/cache-breakpoints.test.d.ts.map +0 -1
  636. package/dist/core/llm/cache-breakpoints.test.js +0 -69
  637. package/dist/core/llm/cache-breakpoints.test.js.map +0 -1
  638. package/dist/core/llm/cache-live.test.d.ts +0 -16
  639. package/dist/core/llm/cache-live.test.d.ts.map +0 -1
  640. package/dist/core/llm/cache-live.test.js +0 -137
  641. package/dist/core/llm/cache-live.test.js.map +0 -1
  642. package/dist/core/llm/logger.test.d.ts +0 -7
  643. package/dist/core/llm/logger.test.d.ts.map +0 -1
  644. package/dist/core/llm/logger.test.js +0 -228
  645. package/dist/core/llm/logger.test.js.map +0 -1
  646. package/dist/core/llm/message-sanitization.test.d.ts +0 -2
  647. package/dist/core/llm/message-sanitization.test.d.ts.map +0 -1
  648. package/dist/core/llm/message-sanitization.test.js +0 -181
  649. package/dist/core/llm/message-sanitization.test.js.map +0 -1
  650. package/dist/core/llm/mock.test.d.ts +0 -2
  651. package/dist/core/llm/mock.test.d.ts.map +0 -1
  652. package/dist/core/llm/mock.test.js +0 -318
  653. package/dist/core/llm/mock.test.js.map +0 -1
  654. package/dist/core/llm/openrouter-mapping.test.d.ts +0 -2
  655. package/dist/core/llm/openrouter-mapping.test.d.ts.map +0 -1
  656. package/dist/core/llm/openrouter-mapping.test.js +0 -172
  657. package/dist/core/llm/openrouter-mapping.test.js.map +0 -1
  658. package/dist/core/llm/openrouter.test.d.ts +0 -2
  659. package/dist/core/llm/openrouter.test.d.ts.map +0 -1
  660. package/dist/core/llm/openrouter.test.js +0 -377
  661. package/dist/core/llm/openrouter.test.js.map +0 -1
  662. package/dist/core/llm/provider-integration.test.d.ts +0 -12
  663. package/dist/core/llm/provider-integration.test.d.ts.map +0 -1
  664. package/dist/core/llm/provider-integration.test.js +0 -350
  665. package/dist/core/llm/provider-integration.test.js.map +0 -1
  666. package/dist/core/llm/routing-provider.test.d.ts +0 -2
  667. package/dist/core/llm/routing-provider.test.d.ts.map +0 -1
  668. package/dist/core/llm/routing-provider.test.js +0 -94
  669. package/dist/core/llm/routing-provider.test.js.map +0 -1
  670. package/dist/core/llm/snapshot-middleware.test.d.ts +0 -2
  671. package/dist/core/llm/snapshot-middleware.test.d.ts.map +0 -1
  672. package/dist/core/llm/snapshot-middleware.test.js +0 -144
  673. package/dist/core/llm/snapshot-middleware.test.js.map +0 -1
  674. package/dist/core/multi-agent.integration.test.d.ts +0 -2
  675. package/dist/core/multi-agent.integration.test.d.ts.map +0 -1
  676. package/dist/core/multi-agent.integration.test.js +0 -298
  677. package/dist/core/multi-agent.integration.test.js.map +0 -1
  678. package/dist/core/plugin-hooks.integration.test.d.ts +0 -2
  679. package/dist/core/plugin-hooks.integration.test.d.ts.map +0 -1
  680. package/dist/core/plugin-hooks.integration.test.js +0 -458
  681. package/dist/core/plugin-hooks.integration.test.js.map +0 -1
  682. package/dist/core/session-lifecycle.integration.test.d.ts +0 -2
  683. package/dist/core/session-lifecycle.integration.test.d.ts.map +0 -1
  684. package/dist/core/session-lifecycle.integration.test.js +0 -159
  685. package/dist/core/session-lifecycle.integration.test.js.map +0 -1
  686. package/dist/core/sessions/fork-utils.test.d.ts +0 -2
  687. package/dist/core/sessions/fork-utils.test.d.ts.map +0 -1
  688. package/dist/core/sessions/fork-utils.test.js +0 -129
  689. package/dist/core/sessions/fork-utils.test.js.map +0 -1
  690. package/dist/core/sessions/session-overrides.integration.test.d.ts +0 -2
  691. package/dist/core/sessions/session-overrides.integration.test.d.ts.map +0 -1
  692. package/dist/core/sessions/session-overrides.integration.test.js +0 -154
  693. package/dist/core/sessions/session-overrides.integration.test.js.map +0 -1
  694. package/dist/core/sessions/session.test.d.ts +0 -2
  695. package/dist/core/sessions/session.test.d.ts.map +0 -1
  696. package/dist/core/sessions/session.test.js +0 -1100
  697. package/dist/core/sessions/session.test.js.map +0 -1
  698. package/dist/core/tools/executor.test.d.ts +0 -2
  699. package/dist/core/tools/executor.test.d.ts.map +0 -1
  700. package/dist/core/tools/executor.test.js +0 -144
  701. package/dist/core/tools/executor.test.js.map +0 -1
  702. package/dist/lib/logger/console.test.d.ts +0 -2
  703. package/dist/lib/logger/console.test.d.ts.map +0 -1
  704. package/dist/lib/logger/console.test.js +0 -258
  705. package/dist/lib/logger/console.test.js.map +0 -1
  706. package/dist/lib/never.d.ts +0 -2
  707. package/dist/lib/never.d.ts.map +0 -1
  708. package/dist/lib/never.js +0 -4
  709. package/dist/lib/never.js.map +0 -1
  710. package/dist/lib/utils/concurrency.test.d.ts +0 -2
  711. package/dist/lib/utils/concurrency.test.d.ts.map +0 -1
  712. package/dist/lib/utils/concurrency.test.js +0 -135
  713. package/dist/lib/utils/concurrency.test.js.map +0 -1
  714. package/dist/plugins/agent-status/agent-status.test.d.ts +0 -2
  715. package/dist/plugins/agent-status/agent-status.test.d.ts.map +0 -1
  716. package/dist/plugins/agent-status/agent-status.test.js +0 -136
  717. package/dist/plugins/agent-status/agent-status.test.js.map +0 -1
  718. package/dist/plugins/agents/agents.integration.test.d.ts +0 -2
  719. package/dist/plugins/agents/agents.integration.test.d.ts.map +0 -1
  720. package/dist/plugins/agents/agents.integration.test.js +0 -830
  721. package/dist/plugins/agents/agents.integration.test.js.map +0 -1
  722. package/dist/plugins/agents/supervision.integration.test.d.ts +0 -2
  723. package/dist/plugins/agents/supervision.integration.test.d.ts.map +0 -1
  724. package/dist/plugins/agents/supervision.integration.test.js +0 -215
  725. package/dist/plugins/agents/supervision.integration.test.js.map +0 -1
  726. package/dist/plugins/context-compact/compaction-live.test.d.ts +0 -17
  727. package/dist/plugins/context-compact/compaction-live.test.d.ts.map +0 -1
  728. package/dist/plugins/context-compact/compaction-live.test.js +0 -177
  729. package/dist/plugins/context-compact/compaction-live.test.js.map +0 -1
  730. package/dist/plugins/context-compact/context-compact.integration.test.d.ts +0 -2
  731. package/dist/plugins/context-compact/context-compact.integration.test.d.ts.map +0 -1
  732. package/dist/plugins/context-compact/context-compact.integration.test.js +0 -364
  733. package/dist/plugins/context-compact/context-compact.integration.test.js.map +0 -1
  734. package/dist/plugins/context-compact/context-compactor.test.d.ts +0 -2
  735. package/dist/plugins/context-compact/context-compactor.test.d.ts.map +0 -1
  736. package/dist/plugins/context-compact/context-compactor.test.js +0 -858
  737. package/dist/plugins/context-compact/context-compactor.test.js.map +0 -1
  738. package/dist/plugins/context-compact/history-offloader.test.d.ts +0 -2
  739. package/dist/plugins/context-compact/history-offloader.test.d.ts.map +0 -1
  740. package/dist/plugins/context-compact/history-offloader.test.js +0 -77
  741. package/dist/plugins/context-compact/history-offloader.test.js.map +0 -1
  742. package/dist/plugins/filesystem/filesystem.integration.test.d.ts +0 -2
  743. package/dist/plugins/filesystem/filesystem.integration.test.d.ts.map +0 -1
  744. package/dist/plugins/filesystem/filesystem.integration.test.js +0 -447
  745. package/dist/plugins/filesystem/filesystem.integration.test.js.map +0 -1
  746. package/dist/plugins/filesystem/schema.d.ts +0 -7
  747. package/dist/plugins/filesystem/schema.d.ts.map +0 -1
  748. package/dist/plugins/filesystem/schema.js +0 -2
  749. package/dist/plugins/filesystem/schema.js.map +0 -1
  750. package/dist/plugins/limits-guard/limit-guard.test.d.ts +0 -2
  751. package/dist/plugins/limits-guard/limit-guard.test.d.ts.map +0 -1
  752. package/dist/plugins/limits-guard/limit-guard.test.js +0 -194
  753. package/dist/plugins/limits-guard/limit-guard.test.js.map +0 -1
  754. package/dist/plugins/limits-guard/limits-guard.integration.test.d.ts +0 -2
  755. package/dist/plugins/limits-guard/limits-guard.integration.test.d.ts.map +0 -1
  756. package/dist/plugins/limits-guard/limits-guard.integration.test.js +0 -887
  757. package/dist/plugins/limits-guard/limits-guard.integration.test.js.map +0 -1
  758. package/dist/plugins/llm-debug/llm-debug.integration.test.d.ts +0 -2
  759. package/dist/plugins/llm-debug/llm-debug.integration.test.d.ts.map +0 -1
  760. package/dist/plugins/llm-debug/llm-debug.integration.test.js +0 -157
  761. package/dist/plugins/llm-debug/llm-debug.integration.test.js.map +0 -1
  762. package/dist/plugins/mailbox/mailbox.integration.test.d.ts +0 -2
  763. package/dist/plugins/mailbox/mailbox.integration.test.d.ts.map +0 -1
  764. package/dist/plugins/mailbox/mailbox.integration.test.js +0 -678
  765. package/dist/plugins/mailbox/mailbox.integration.test.js.map +0 -1
  766. package/dist/plugins/resources/resources.integration.test.d.ts +0 -2
  767. package/dist/plugins/resources/resources.integration.test.d.ts.map +0 -1
  768. package/dist/plugins/resources/resources.integration.test.js +0 -62
  769. package/dist/plugins/resources/resources.integration.test.js.map +0 -1
  770. package/dist/plugins/result-eviction/result-eviction.integration.test.d.ts +0 -2
  771. package/dist/plugins/result-eviction/result-eviction.integration.test.d.ts.map +0 -1
  772. package/dist/plugins/result-eviction/result-eviction.integration.test.js +0 -294
  773. package/dist/plugins/result-eviction/result-eviction.integration.test.js.map +0 -1
  774. package/dist/plugins/services/pid-registry.test.d.ts +0 -2
  775. package/dist/plugins/services/pid-registry.test.d.ts.map +0 -1
  776. package/dist/plugins/services/pid-registry.test.js +0 -161
  777. package/dist/plugins/services/pid-registry.test.js.map +0 -1
  778. package/dist/plugins/services/services.integration.test.d.ts +0 -2
  779. package/dist/plugins/services/services.integration.test.d.ts.map +0 -1
  780. package/dist/plugins/services/services.integration.test.js +0 -1057
  781. package/dist/plugins/services/services.integration.test.js.map +0 -1
  782. package/dist/plugins/session-lifecycle/session-lifecycle.integration.test.d.ts +0 -2
  783. package/dist/plugins/session-lifecycle/session-lifecycle.integration.test.d.ts.map +0 -1
  784. package/dist/plugins/session-lifecycle/session-lifecycle.integration.test.js +0 -498
  785. package/dist/plugins/session-lifecycle/session-lifecycle.integration.test.js.map +0 -1
  786. package/dist/plugins/session-stats/plugin.test.d.ts +0 -2
  787. package/dist/plugins/session-stats/plugin.test.d.ts.map +0 -1
  788. package/dist/plugins/session-stats/plugin.test.js +0 -145
  789. package/dist/plugins/session-stats/plugin.test.js.map +0 -1
  790. package/dist/plugins/shell/shell.integration.test.d.ts +0 -2
  791. package/dist/plugins/shell/shell.integration.test.d.ts.map +0 -1
  792. package/dist/plugins/shell/shell.integration.test.js +0 -234
  793. package/dist/plugins/shell/shell.integration.test.js.map +0 -1
  794. package/dist/plugins/shell/shell.test.d.ts +0 -2
  795. package/dist/plugins/shell/shell.test.d.ts.map +0 -1
  796. package/dist/plugins/shell/shell.test.js +0 -236
  797. package/dist/plugins/shell/shell.test.js.map +0 -1
  798. package/dist/plugins/skills/discovery.test.d.ts +0 -2
  799. package/dist/plugins/skills/discovery.test.d.ts.map +0 -1
  800. package/dist/plugins/skills/discovery.test.js +0 -312
  801. package/dist/plugins/skills/discovery.test.js.map +0 -1
  802. package/dist/plugins/skills/skills.integration.test.d.ts +0 -2
  803. package/dist/plugins/skills/skills.integration.test.d.ts.map +0 -1
  804. package/dist/plugins/skills/skills.integration.test.js +0 -475
  805. package/dist/plugins/skills/skills.integration.test.js.map +0 -1
  806. package/dist/plugins/todo/todo.integration.test.d.ts +0 -2
  807. package/dist/plugins/todo/todo.integration.test.d.ts.map +0 -1
  808. package/dist/plugins/todo/todo.integration.test.js +0 -605
  809. package/dist/plugins/todo/todo.integration.test.js.map +0 -1
  810. package/dist/plugins/uploads/preprocessors/image-classifier.test.d.ts +0 -2
  811. package/dist/plugins/uploads/preprocessors/image-classifier.test.d.ts.map +0 -1
  812. package/dist/plugins/uploads/preprocessors/image-classifier.test.js +0 -113
  813. package/dist/plugins/uploads/preprocessors/image-classifier.test.js.map +0 -1
  814. package/dist/plugins/uploads/uploads.integration.test.d.ts +0 -2
  815. package/dist/plugins/uploads/uploads.integration.test.d.ts.map +0 -1
  816. package/dist/plugins/uploads/uploads.integration.test.js +0 -639
  817. package/dist/plugins/uploads/uploads.integration.test.js.map +0 -1
  818. package/dist/plugins/user-chat/user-chat.integration.test.d.ts +0 -2
  819. package/dist/plugins/user-chat/user-chat.integration.test.d.ts.map +0 -1
  820. package/dist/plugins/user-chat/user-chat.integration.test.js +0 -754
  821. package/dist/plugins/user-chat/user-chat.integration.test.js.map +0 -1
  822. package/dist/plugins/workers/workers.integration.test.d.ts +0 -2
  823. package/dist/plugins/workers/workers.integration.test.d.ts.map +0 -1
  824. package/dist/plugins/workers/workers.integration.test.js +0 -629
  825. package/dist/plugins/workers/workers.integration.test.js.map +0 -1
  826. package/dist/prompts/macros.test.d.ts +0 -2
  827. package/dist/prompts/macros.test.d.ts.map +0 -1
  828. package/dist/prompts/macros.test.js +0 -80
  829. package/dist/prompts/macros.test.js.map +0 -1
  830. package/dist/testing/test-harness.test.d.ts +0 -2
  831. package/dist/testing/test-harness.test.d.ts.map +0 -1
  832. package/dist/testing/test-harness.test.js +0 -92
  833. package/dist/testing/test-harness.test.js.map +0 -1
  834. package/dist/transport/http/routes/rpc.integration.test.d.ts +0 -2
  835. package/dist/transport/http/routes/rpc.integration.test.d.ts.map +0 -1
  836. package/dist/transport/http/routes/rpc.integration.test.js +0 -189
  837. package/dist/transport/http/routes/rpc.integration.test.js.map +0 -1
  838. package/dist/transport/http/routes/rpc.test.d.ts +0 -2
  839. package/dist/transport/http/routes/rpc.test.d.ts.map +0 -1
  840. package/dist/transport/http/routes/rpc.test.js +0 -316
  841. package/dist/transport/http/routes/rpc.test.js.map +0 -1
  842. package/src/config.test.ts +0 -174
  843. package/src/core/agent-loop.integration.test.ts +0 -503
  844. package/src/core/agents/agent-config.test.ts +0 -240
  845. package/src/core/agents/agent-shutdown.test.ts +0 -236
  846. package/src/core/agents/agent.test.ts +0 -387
  847. package/src/core/agents/communicator.ts +0 -16
  848. package/src/core/agents/handler-events.test.ts +0 -167
  849. package/src/core/agents/response-sanitizer.test.ts +0 -137
  850. package/src/core/error-recovery.integration.test.ts +0 -343
  851. package/src/core/event-sourcing.integration.test.ts +0 -191
  852. package/src/core/events/file.test.ts +0 -436
  853. package/src/core/events/memory.test.ts +0 -741
  854. package/src/core/image/image-processor.test.ts +0 -218
  855. package/src/core/image/vips-resizer.test.ts +0 -388
  856. package/src/core/llm/anthropic.test.ts +0 -546
  857. package/src/core/llm/cache-breakpoints.test.ts +0 -85
  858. package/src/core/llm/cache-live.test.ts +0 -155
  859. package/src/core/llm/logger.test.ts +0 -270
  860. package/src/core/llm/message-sanitization.test.ts +0 -217
  861. package/src/core/llm/mock.test.ts +0 -402
  862. package/src/core/llm/openrouter-mapping.test.ts +0 -210
  863. package/src/core/llm/openrouter.test.ts +0 -499
  864. package/src/core/llm/provider-integration.test.ts +0 -408
  865. package/src/core/llm/routing-provider.test.ts +0 -113
  866. package/src/core/llm/snapshot-middleware.test.ts +0 -168
  867. package/src/core/multi-agent.integration.test.ts +0 -340
  868. package/src/core/plugin-hooks.integration.test.ts +0 -568
  869. package/src/core/session-lifecycle.integration.test.ts +0 -202
  870. package/src/core/sessions/fork-utils.test.ts +0 -158
  871. package/src/core/sessions/session-overrides.integration.test.ts +0 -210
  872. package/src/core/sessions/session.test.ts +0 -1736
  873. package/src/core/tools/executor.test.ts +0 -161
  874. package/src/lib/logger/console.test.ts +0 -348
  875. package/src/lib/never.ts +0 -3
  876. package/src/lib/utils/concurrency.test.ts +0 -169
  877. package/src/plugins/agent-status/agent-status.test.ts +0 -164
  878. package/src/plugins/agents/agents.integration.test.ts +0 -976
  879. package/src/plugins/agents/supervision.integration.test.ts +0 -249
  880. package/src/plugins/context-compact/compaction-live.test.ts +0 -221
  881. package/src/plugins/context-compact/context-compact.integration.test.ts +0 -418
  882. package/src/plugins/context-compact/context-compactor.test.ts +0 -1036
  883. package/src/plugins/context-compact/history-offloader.test.ts +0 -100
  884. package/src/plugins/filesystem/filesystem.integration.test.ts +0 -529
  885. package/src/plugins/filesystem/schema.ts +0 -6
  886. package/src/plugins/limits-guard/limit-guard.test.ts +0 -253
  887. package/src/plugins/limits-guard/limits-guard.integration.test.ts +0 -1012
  888. package/src/plugins/llm-debug/llm-debug.integration.test.ts +0 -192
  889. package/src/plugins/mailbox/mailbox.integration.test.ts +0 -794
  890. package/src/plugins/resources/resources.integration.test.ts +0 -68
  891. package/src/plugins/result-eviction/result-eviction.integration.test.ts +0 -332
  892. package/src/plugins/services/pid-registry.test.ts +0 -180
  893. package/src/plugins/services/services.integration.test.ts +0 -1223
  894. package/src/plugins/session-lifecycle/session-lifecycle.integration.test.ts +0 -639
  895. package/src/plugins/session-stats/plugin.test.ts +0 -160
  896. package/src/plugins/shell/shell.integration.test.ts +0 -273
  897. package/src/plugins/shell/shell.test.ts +0 -314
  898. package/src/plugins/skills/discovery.test.ts +0 -395
  899. package/src/plugins/skills/skills.integration.test.ts +0 -580
  900. package/src/plugins/todo/todo.integration.test.ts +0 -687
  901. package/src/plugins/uploads/preprocessors/image-classifier.test.ts +0 -142
  902. package/src/plugins/uploads/uploads.integration.test.ts +0 -831
  903. package/src/plugins/user-chat/user-chat.integration.test.ts +0 -893
  904. package/src/plugins/workers/workers.integration.test.ts +0 -778
  905. package/src/prompts/macros.test.ts +0 -107
  906. package/src/testing/test-harness.test.ts +0 -114
  907. package/src/transport/http/routes/rpc.integration.test.ts +0 -243
  908. package/src/transport/http/routes/rpc.test.ts +0 -372
@@ -0,0 +1,134 @@
1
+ // Captured from Info-ZIP 6.00; unrelated verbose fields were omitted.
2
+ export const SAFE_INFO_ZIP_6_FIXTURE = `Archive: fixture.zip
3
+ There is no zipfile comment.
4
+
5
+ End-of-central-directory record:
6
+ -------------------------------
7
+
8
+ This zipfile constitutes the sole disk of a single-part archive; its
9
+ central directory contains 3 entries.
10
+
11
+ Central directory entry #1:
12
+ ---------------------------
13
+
14
+ regular.txt
15
+
16
+ file system or operating system of origin: Unix
17
+ uncompressed size: 1 bytes
18
+ length of filename: 11 characters
19
+ Unix file attributes (100664 octal): -rw-rw-r--
20
+ MS-DOS file attributes (00 hex): none
21
+
22
+ Central directory entry #2:
23
+ ---------------------------
24
+
25
+ space ž.txt
26
+
27
+ file system or operating system of origin: Unix
28
+ uncompressed size: 7 bytes
29
+ length of filename: 12 characters
30
+ Unix file attributes (100664 octal): -rw-rw-r--
31
+ MS-DOS file attributes (00 hex): none
32
+
33
+ Central directory entry #3:
34
+ ---------------------------
35
+
36
+ dir/
37
+
38
+ file system or operating system of origin: Unix
39
+ uncompressed size: 0 bytes
40
+ length of filename: 4 characters
41
+ Unix file attributes (040775 octal): drwxrwxr-x
42
+ MS-DOS file attributes (10 hex): dir
43
+ `;
44
+ export const BACKSLASH_INFO_ZIP_6_FIXTURE = `Archive: backslash.zip
45
+ There is no zipfile comment.
46
+
47
+ This zipfile constitutes the sole disk of a single-part archive; its
48
+ central directory contains 1 entry.
49
+
50
+ Central directory entry #1:
51
+ ---------------------------
52
+
53
+ trailing\\
54
+
55
+ file system or operating system of origin: Unix
56
+ uncompressed size: 5 bytes
57
+ length of filename: 9 characters
58
+ Unix file attributes (100664 octal): -rw-rw-r--
59
+ MS-DOS file attributes (00 hex): none
60
+ `;
61
+ export const SYMLINK_INFO_ZIP_6_FIXTURE = `Archive: symlink.zip
62
+ There is no zipfile comment.
63
+
64
+ This zipfile constitutes the sole disk of a single-part archive; its
65
+ central directory contains 1 entry.
66
+
67
+ Central directory entry #1:
68
+ ---------------------------
69
+
70
+ dir/link
71
+
72
+ file system or operating system of origin: Unix
73
+ uncompressed size: 14 bytes
74
+ length of filename: 8 characters
75
+ Unix file attributes (120777 octal): lrwxrwxrwx
76
+ MS-DOS file attributes (00 hex): none
77
+ `;
78
+ export const DOS_INFO_ZIP_6_FIXTURE = `Archive: windows.zip
79
+ There is no zipfile comment.
80
+
81
+ This zipfile constitutes the sole disk of a single-part archive; its
82
+ central directory contains 2 entries.
83
+
84
+ Central directory entry #1:
85
+ ---------------------------
86
+
87
+ win-file.txt
88
+
89
+ file system or operating system of origin: MS-DOS, OS/2 or NT FAT
90
+ uncompressed size: 1 bytes
91
+ length of filename: 12 characters
92
+ non-MSDOS external file attributes: 000000 hex
93
+ MS-DOS file attributes (20 hex): arc
94
+
95
+ Central directory entry #2:
96
+ ---------------------------
97
+
98
+ win-dir/
99
+
100
+ file system or operating system of origin: MS-DOS, OS/2 or NT FAT
101
+ uncompressed size: 0 bytes
102
+ length of filename: 8 characters
103
+ non-MSDOS external file attributes: 000000 hex
104
+ MS-DOS file attributes (10 hex): dir
105
+ `;
106
+ export const EMPTY_INFO_ZIP_6_FIXTURE = `Archive: empty.zip
107
+ There is no zipfile comment.
108
+
109
+ End-of-central-directory record:
110
+ -------------------------------
111
+
112
+ This zipfile constitutes the sole disk of a single-part archive; its
113
+ central directory contains 0 entries.
114
+ The central directory is 0 (0000000000000000h) bytes long,
115
+ and its (expected) offset in bytes from the beginning of the zipfile
116
+ is 0 (0000000000000000h).
117
+
118
+ Empty zipfile.
119
+ `;
120
+ export const TRUNCATED_INFO_ZIP_6_FIXTURE = `Archive: truncated.zip
121
+ There is no zipfile comment.
122
+
123
+ This zipfile constitutes the sole disk of a single-part archive; its
124
+ central directory contains 1 entry.
125
+
126
+ Central directory entry #1:
127
+ ---------------------------
128
+
129
+ truncated.txt
130
+
131
+ file system or operating system of origin: Unix
132
+ uncompressed size: 1 bytes
133
+ `;
134
+ //# sourceMappingURL=archive-inspection.fixtures.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"archive-inspection.fixtures.js","sourceRoot":"","sources":["../../../src/lib/archive/archive-inspection.fixtures.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,MAAM,CAAC,MAAM,uBAAuB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyCtC,CAAA;AAED,MAAM,CAAC,MAAM,4BAA4B,GAAG;;;;;;;;;;;;;;;;CAgB3C,CAAA;AAED,MAAM,CAAC,MAAM,0BAA0B,GAAG;;;;;;;;;;;;;;;;CAgBzC,CAAA;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BrC,CAAA;AAED,MAAM,CAAC,MAAM,wBAAwB,GAAG;;;;;;;;;;;;;CAavC,CAAA;AAED,MAAM,CAAC,MAAM,4BAA4B,GAAG;;;;;;;;;;;;;CAa3C,CAAA"}
@@ -0,0 +1,253 @@
1
+ import { Err, Ok } from '../../lib/utils/result.js';
2
+ const MEBIBYTE = 1024 * 1024;
3
+ const ZIPINFO_TIMEOUT_MS = 60_000;
4
+ const ZIPINFO_MAX_BUFFER = 10 * MEBIBYTE;
5
+ export const DEFAULT_ARCHIVE_LIMITS = {
6
+ maxEntries: 500,
7
+ maxTotalUncompressedSize: 100 * MEBIBYTE,
8
+ };
9
+ export class ArchiveInspectionError extends Error {
10
+ code;
11
+ entryName;
12
+ constructor(code, message, options) {
13
+ super(message, options?.cause === undefined ? undefined : { cause: options.cause });
14
+ this.name = 'ArchiveInspectionError';
15
+ this.code = code;
16
+ this.entryName = options?.entryName;
17
+ }
18
+ }
19
+ export function resolveArchiveLimits(overrides = {}) {
20
+ return { ...DEFAULT_ARCHIVE_LIMITS, ...overrides };
21
+ }
22
+ /** Tracks one aggregate extraction budget across a top-level archive and every nested archive. */
23
+ export class ArchiveBudget {
24
+ limits;
25
+ consumedEntries = 0;
26
+ consumedUncompressedSize = 0;
27
+ constructor(limits = {}) {
28
+ this.limits = resolveArchiveLimits(limits);
29
+ }
30
+ consume(inspection) {
31
+ if (!isValidLimit(this.limits.maxEntries) || !isValidLimit(this.limits.maxTotalUncompressedSize)) {
32
+ return invalidListing('Archive limits must be non-negative safe integers');
33
+ }
34
+ const nextEntries = this.consumedEntries + inspection.entries.length;
35
+ if (!Number.isSafeInteger(nextEntries) || nextEntries > this.limits.maxEntries) {
36
+ return Err(new ArchiveInspectionError('too_many_entries', `Nested ZIP archives exceed the aggregate ${this.limits.maxEntries} entry limit`));
37
+ }
38
+ const nextSize = this.consumedUncompressedSize + inspection.totalUncompressedSize;
39
+ if (!Number.isSafeInteger(nextSize) || nextSize > this.limits.maxTotalUncompressedSize) {
40
+ return Err(new ArchiveInspectionError('too_large', `Nested ZIP archives exceed the aggregate ${this.limits.maxTotalUncompressedSize} byte uncompressed size limit`));
41
+ }
42
+ this.consumedEntries = nextEntries;
43
+ this.consumedUncompressedSize = nextSize;
44
+ return Ok(undefined);
45
+ }
46
+ }
47
+ /** Inspect the central directory before a caller performs extraction. */
48
+ export async function inspectZipArchive(process, archivePath, options = {}) {
49
+ if (options.signal?.aborted) {
50
+ return Err(abortedError(options.signal));
51
+ }
52
+ let stdout;
53
+ try {
54
+ const result = await process.execFile('unzip', ['-Z', '-v', archivePath], {
55
+ timeout: options.timeoutMs ?? ZIPINFO_TIMEOUT_MS,
56
+ maxBuffer: ZIPINFO_MAX_BUFFER,
57
+ signal: options.signal,
58
+ });
59
+ stdout = result.stdout;
60
+ }
61
+ catch (cause) {
62
+ if (options.signal?.aborted) {
63
+ return Err(abortedError(options.signal));
64
+ }
65
+ // Info-ZIP uses non-zero exits for warnings; inspection fails closed on all of them.
66
+ return Err(new ArchiveInspectionError('command_failed', 'Failed to inspect ZIP archive', { cause }));
67
+ }
68
+ const parsed = parseZipInfoVerbose(stdout);
69
+ if (!parsed.ok)
70
+ return parsed;
71
+ return validateArchiveEntries(parsed.value, resolveArchiveLimits(options.limits));
72
+ }
73
+ /** Parse the stable fields emitted by Info-ZIP's verbose central-directory listing. */
74
+ export function parseZipInfoVerbose(output) {
75
+ const normalized = output.replaceAll('\r\n', '\n');
76
+ const countMatches = [...normalized.matchAll(/central directory contains (\d+) entr(?:y|ies)\./g)];
77
+ if (countMatches.length !== 1) {
78
+ return invalidListing('ZIP listing does not contain one central-directory entry count');
79
+ }
80
+ const expectedCountText = countMatches[0]?.[1];
81
+ const expectedCount = expectedCountText === undefined ? Number.NaN : Number(expectedCountText);
82
+ if (!Number.isSafeInteger(expectedCount) || expectedCount < 0) {
83
+ return invalidListing('ZIP listing contains an invalid central-directory entry count');
84
+ }
85
+ if (expectedCount === 0) {
86
+ return Err(new ArchiveInspectionError('empty_archive', 'Empty ZIP archives are not accepted'));
87
+ }
88
+ const markers = [...normalized.matchAll(/^Central directory entry #(\d+):\n-+\n/gm)];
89
+ if (markers.length !== expectedCount) {
90
+ return invalidListing(`ZIP listing declared ${expectedCount} entries but described ${markers.length}`);
91
+ }
92
+ const entries = [];
93
+ for (let index = 0; index < markers.length; index++) {
94
+ const marker = markers[index];
95
+ const nextMarker = markers[index + 1];
96
+ if (marker === undefined || marker.index === undefined) {
97
+ return invalidListing('ZIP listing contains an entry without a location');
98
+ }
99
+ const declaredIndex = marker[1] === undefined ? Number.NaN : Number(marker[1]);
100
+ if (declaredIndex !== index + 1) {
101
+ return invalidListing('ZIP listing entry numbers are not sequential');
102
+ }
103
+ const bodyStart = marker.index + marker[0].length;
104
+ const bodyEnd = nextMarker?.index ?? normalized.length;
105
+ const body = normalized.slice(bodyStart, bodyEnd);
106
+ const nameMatch = /^\n {2}([^\n]*)\n\n/.exec(body);
107
+ if (nameMatch?.[1] === undefined || nameMatch[1].length === 0) {
108
+ return invalidListing(`ZIP listing entry #${index + 1} has no unambiguous filename`);
109
+ }
110
+ const name = nameMatch[1];
111
+ const size = parseSingleIntegerField(body, 'uncompressed size');
112
+ const filenameLength = parseSingleIntegerField(body, 'length of filename');
113
+ if (!size.ok)
114
+ return size;
115
+ if (!filenameLength.ok)
116
+ return filenameLength;
117
+ if (new TextEncoder().encode(name).byteLength !== filenameLength.value) {
118
+ return invalidListing(`ZIP listing entry #${index + 1} has an ambiguous filename`);
119
+ }
120
+ const type = parseEntryType(body, name);
121
+ if (!type.ok)
122
+ return type;
123
+ entries.push({
124
+ name,
125
+ uncompressedSize: size.value,
126
+ type: type.value,
127
+ });
128
+ }
129
+ return Ok(entries);
130
+ }
131
+ export function validateArchiveEntries(entries, limits = DEFAULT_ARCHIVE_LIMITS) {
132
+ if (!isValidLimit(limits.maxEntries) || !isValidLimit(limits.maxTotalUncompressedSize)) {
133
+ return invalidListing('Archive limits must be non-negative safe integers');
134
+ }
135
+ if (entries.length === 0) {
136
+ return Err(new ArchiveInspectionError('empty_archive', 'Empty ZIP archives are not accepted'));
137
+ }
138
+ if (entries.length > limits.maxEntries) {
139
+ return Err(new ArchiveInspectionError('too_many_entries', `ZIP archive exceeds the ${limits.maxEntries} entry limit`));
140
+ }
141
+ let fileCount = 0;
142
+ let directoryCount = 0;
143
+ let totalUncompressedSize = 0;
144
+ for (const entry of entries) {
145
+ const pathError = validateArchivePath(entry.name);
146
+ if (pathError !== null) {
147
+ return Err(new ArchiveInspectionError('unsafe_path', pathError, { entryName: entry.name }));
148
+ }
149
+ if (!isValidLimit(entry.uncompressedSize)) {
150
+ return invalidListing(`ZIP entry has an invalid uncompressed size: ${entry.name}`);
151
+ }
152
+ if (entry.type === 'directory') {
153
+ if (!entry.name.endsWith('/') || entry.uncompressedSize !== 0) {
154
+ return Err(new ArchiveInspectionError('unsupported_entry_type', 'ZIP directory entry has an inconsistent name or size', { entryName: entry.name }));
155
+ }
156
+ directoryCount++;
157
+ continue;
158
+ }
159
+ if (entry.name.endsWith('/')) {
160
+ return Err(new ArchiveInspectionError('unsupported_entry_type', 'ZIP regular file entry has a directory name', { entryName: entry.name }));
161
+ }
162
+ fileCount++;
163
+ totalUncompressedSize += entry.uncompressedSize;
164
+ if (!Number.isSafeInteger(totalUncompressedSize) || totalUncompressedSize > limits.maxTotalUncompressedSize) {
165
+ return Err(new ArchiveInspectionError('too_large', `ZIP archive exceeds the ${limits.maxTotalUncompressedSize} byte uncompressed size limit`));
166
+ }
167
+ }
168
+ return Ok({ entries, fileCount, directoryCount, totalUncompressedSize });
169
+ }
170
+ function parseEntryType(body, name) {
171
+ const origin = parseSingleTextField(body, 'file system or operating system of origin');
172
+ if (!origin.ok)
173
+ return origin;
174
+ let type;
175
+ if (origin.value === 'Unix') {
176
+ const modeMatches = [...body.matchAll(/^ {2}Unix file attributes \(([0-7]{6}) octal\):\s+.*$/gm)];
177
+ const modeText = modeMatches[0]?.[1];
178
+ if (modeMatches.length !== 1 || modeText === undefined) {
179
+ return invalidListing('ZIP listing entry has invalid Unix file attributes');
180
+ }
181
+ const kind = Number.parseInt(modeText, 8) & 0o170000;
182
+ if (kind === 0o100000)
183
+ type = 'file';
184
+ else if (kind === 0o040000)
185
+ type = 'directory';
186
+ else
187
+ return unsupportedEntryType(name);
188
+ }
189
+ else if (origin.value === 'MS-DOS, OS/2 or NT FAT') {
190
+ const attributeMatches = [...body.matchAll(/^ {2}MS-DOS file attributes \(([0-9A-Fa-f]{2}) hex\):\s+.*$/gm)];
191
+ const attributesText = attributeMatches[0]?.[1];
192
+ if (attributeMatches.length !== 1 || attributesText === undefined) {
193
+ return invalidListing('ZIP listing entry has invalid MS-DOS file attributes');
194
+ }
195
+ const attributes = Number.parseInt(attributesText, 16);
196
+ if ((attributes & 0x08) !== 0)
197
+ return unsupportedEntryType(name);
198
+ type = (attributes & 0x10) !== 0 ? 'directory' : 'file';
199
+ }
200
+ else {
201
+ return unsupportedEntryType(name);
202
+ }
203
+ if ((type === 'directory') !== name.endsWith('/')) {
204
+ return Err(new ArchiveInspectionError('unsupported_entry_type', 'ZIP entry name and file type are inconsistent', { entryName: name }));
205
+ }
206
+ return Ok(type);
207
+ }
208
+ function parseSingleIntegerField(body, field) {
209
+ const expression = new RegExp(`^ ${field}:\\s+(\\d+)(?: bytes| characters)$`, 'gm');
210
+ const matches = [...body.matchAll(expression)];
211
+ const valueText = matches[0]?.[1];
212
+ const value = valueText === undefined ? Number.NaN : Number(valueText);
213
+ if (matches.length !== 1 || !Number.isSafeInteger(value) || value < 0) {
214
+ return invalidListing(`ZIP listing entry has an invalid ${field} field`);
215
+ }
216
+ return Ok(value);
217
+ }
218
+ function parseSingleTextField(body, field) {
219
+ const expression = new RegExp(`^ ${field}:\\s+(.+)$`, 'gm');
220
+ const matches = [...body.matchAll(expression)];
221
+ const value = matches[0]?.[1];
222
+ if (matches.length !== 1 || value === undefined || value.length === 0) {
223
+ return invalidListing(`ZIP listing entry has an invalid ${field} field`);
224
+ }
225
+ return Ok(value);
226
+ }
227
+ function validateArchivePath(name) {
228
+ if (name.includes('\0'))
229
+ return 'ZIP entry name contains a NUL byte';
230
+ if (name.includes('\\'))
231
+ return 'ZIP entry name contains a backslash';
232
+ if (name.startsWith('/'))
233
+ return 'ZIP entry path is absolute';
234
+ if (/^[A-Za-z]:/.test(name))
235
+ return 'ZIP entry path contains a drive prefix';
236
+ if (name.split('/').some(segment => segment === '..')) {
237
+ return 'ZIP entry path escapes the extraction root';
238
+ }
239
+ return null;
240
+ }
241
+ function unsupportedEntryType(name) {
242
+ return Err(new ArchiveInspectionError('unsupported_entry_type', 'ZIP archive contains a symlink or unsupported special entry', { entryName: name }));
243
+ }
244
+ function invalidListing(message) {
245
+ return Err(new ArchiveInspectionError('invalid_listing', message));
246
+ }
247
+ function isValidLimit(value) {
248
+ return Number.isSafeInteger(value) && value >= 0;
249
+ }
250
+ function abortedError(signal) {
251
+ return new ArchiveInspectionError('aborted', 'ZIP archive inspection was aborted', { cause: signal.reason });
252
+ }
253
+ //# sourceMappingURL=archive-inspection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"archive-inspection.js","sourceRoot":"","sources":["../../../src/lib/archive/archive-inspection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export { ArchiveBudget, ArchiveInspectionError, DEFAULT_ARCHIVE_LIMITS, inspectZipArchive, parseZipInfoVerbose, resolveArchiveLimits, validateArchiveEntries, } from './archive-inspection.js';
2
+ export type { ArchiveEntry, ArchiveInspection, ArchiveInspectionErrorCode, ArchiveLimitOverrides, ArchiveLimits, InspectZipArchiveOptions, } from './archive-inspection.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/archive/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,aAAa,EACb,sBAAsB,EACtB,sBAAsB,EACtB,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,GACtB,MAAM,yBAAyB,CAAA;AAChC,YAAY,EACX,YAAY,EACZ,iBAAiB,EACjB,0BAA0B,EAC1B,qBAAqB,EACrB,aAAa,EACb,wBAAwB,GACxB,MAAM,yBAAyB,CAAA"}
@@ -0,0 +1,2 @@
1
+ export { ArchiveBudget, ArchiveInspectionError, DEFAULT_ARCHIVE_LIMITS, inspectZipArchive, parseZipInfoVerbose, resolveArchiveLimits, validateArchiveEntries, } from './archive-inspection.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/archive/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,aAAa,EACb,sBAAsB,EACtB,sBAAsB,EACtB,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,GACtB,MAAM,yBAAyB,CAAA"}
@@ -1,35 +1,28 @@
1
1
  import type { LogContext, Logger, LogLevel } from './logger.js';
2
+ import { BaseLogger } from './logger.js';
2
3
  export interface ConsoleLoggerConfig {
3
4
  level: LogLevel;
4
5
  colors?: boolean;
5
6
  timestamps?: boolean;
6
7
  }
7
- export declare class ConsoleLogger implements Logger {
8
+ export declare class ConsoleLogger extends BaseLogger {
8
9
  readonly level: LogLevel;
9
10
  private useColors;
10
11
  private showTimestamps;
11
12
  private baseContext;
12
13
  constructor(config: ConsoleLoggerConfig, baseContext?: LogContext);
13
- debug(message: string, context?: LogContext): void;
14
- info(message: string, context?: LogContext): void;
15
- warn(message: string, context?: LogContext): void;
16
- error(message: string, error?: Error, context?: LogContext): void;
17
14
  child(context: LogContext): Logger;
18
- private log;
15
+ protected log(level: LogLevel, message: string, context?: LogContext): void;
19
16
  private formatContext;
20
17
  }
21
18
  /**
22
19
  * JSON Logger for production (structured output)
23
20
  */
24
- export declare class JsonLogger implements Logger {
21
+ export declare class JsonLogger extends BaseLogger {
25
22
  readonly level: LogLevel;
26
23
  private baseContext;
27
24
  constructor(level: LogLevel, baseContext?: LogContext);
28
- debug(message: string, context?: LogContext): void;
29
- info(message: string, context?: LogContext): void;
30
- warn(message: string, context?: LogContext): void;
31
- error(message: string, error?: Error, context?: LogContext): void;
32
25
  child(context: LogContext): Logger;
33
- private log;
26
+ protected log(level: LogLevel, message: string, context?: LogContext): void;
34
27
  }
35
28
  //# sourceMappingURL=console.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"console.d.ts","sourceRoot":"","sources":["../../../src/lib/logger/console.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAG/D,MAAM,WAAW,mBAAmB;IACnC,KAAK,EAAE,QAAQ,CAAA;IACf,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,UAAU,CAAC,EAAE,OAAO,CAAA;CACpB;AAUD,qBAAa,aAAc,YAAW,MAAM;IAC3C,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAA;IACxB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,WAAW,CAAY;gBAEnB,MAAM,EAAE,mBAAmB,EAAE,WAAW,GAAE,UAAe;IAOrE,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,IAAI;IAIlD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,IAAI;IAIjD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,IAAI;IAIjD,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,IAAI;IAejE,KAAK,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM;IAWlC,OAAO,CAAC,GAAG;IAmCX,OAAO,CAAC,aAAa;CAYrB;AAED;;GAEG;AACH,qBAAa,UAAW,YAAW,MAAM;IACxC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAA;IACxB,OAAO,CAAC,WAAW,CAAY;gBAEnB,KAAK,EAAE,QAAQ,EAAE,WAAW,GAAE,UAAe;IAKzD,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,IAAI;IAIlD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,IAAI;IAIjD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,IAAI;IAIjD,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,IAAI;IAejE,KAAK,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM;IAIlC,OAAO,CAAC,GAAG;CAwBX"}
1
+ {"version":3,"file":"console.d.ts","sourceRoot":"","sources":["../../../src/lib/logger/console.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAC/D,OAAO,EAAE,UAAU,EAAa,MAAM,aAAa,CAAA;AAEnD,MAAM,WAAW,mBAAmB;IACnC,KAAK,EAAE,QAAQ,CAAA;IACf,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,UAAU,CAAC,EAAE,OAAO,CAAA;CACpB;AAUD,qBAAa,aAAc,SAAQ,UAAU;IAC5C,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAA;IACxB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,WAAW,CAAY;gBAEnB,MAAM,EAAE,mBAAmB,EAAE,WAAW,GAAE,UAAe;IASrE,KAAK,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM;IAWlC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,IAAI;IAmC3E,OAAO,CAAC,aAAa;CAYrB;AAED;;GAEG;AACH,qBAAa,UAAW,SAAQ,UAAU;IACzC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAA;IACxB,OAAO,CAAC,WAAW,CAAY;gBAEnB,KAAK,EAAE,QAAQ,EAAE,WAAW,GAAE,UAAe;IAOzD,KAAK,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM;IAIlC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,IAAI;CAwB3E"}
@@ -1,4 +1,4 @@
1
- import { shouldLog } from './logger.js';
1
+ import { BaseLogger, shouldLog } from './logger.js';
2
2
  const COLORS = {
3
3
  reset: '\x1b[0m',
4
4
  debug: '\x1b[36m', // cyan
@@ -6,39 +6,18 @@ const COLORS = {
6
6
  warn: '\x1b[33m', // yellow
7
7
  error: '\x1b[31m', // red
8
8
  };
9
- export class ConsoleLogger {
9
+ export class ConsoleLogger extends BaseLogger {
10
10
  level;
11
11
  useColors;
12
12
  showTimestamps;
13
13
  baseContext;
14
14
  constructor(config, baseContext = {}) {
15
+ super();
15
16
  this.level = config.level;
16
17
  this.useColors = config.colors ?? true;
17
18
  this.showTimestamps = config.timestamps ?? true;
18
19
  this.baseContext = baseContext;
19
20
  }
20
- debug(message, context) {
21
- this.log('debug', message, context);
22
- }
23
- info(message, context) {
24
- this.log('info', message, context);
25
- }
26
- warn(message, context) {
27
- this.log('warn', message, context);
28
- }
29
- error(message, error, context) {
30
- const errorContext = error
31
- ? {
32
- ...context,
33
- error: {
34
- name: error.name,
35
- message: error.message,
36
- stack: error.stack,
37
- },
38
- }
39
- : context;
40
- this.log('error', message, errorContext);
41
- }
42
21
  child(context) {
43
22
  return new ConsoleLogger({
44
23
  level: this.level,
@@ -89,35 +68,14 @@ export class ConsoleLogger {
89
68
  /**
90
69
  * JSON Logger for production (structured output)
91
70
  */
92
- export class JsonLogger {
71
+ export class JsonLogger extends BaseLogger {
93
72
  level;
94
73
  baseContext;
95
74
  constructor(level, baseContext = {}) {
75
+ super();
96
76
  this.level = level;
97
77
  this.baseContext = baseContext;
98
78
  }
99
- debug(message, context) {
100
- this.log('debug', message, context);
101
- }
102
- info(message, context) {
103
- this.log('info', message, context);
104
- }
105
- warn(message, context) {
106
- this.log('warn', message, context);
107
- }
108
- error(message, error, context) {
109
- const errorContext = error
110
- ? {
111
- ...context,
112
- error: {
113
- name: error.name,
114
- message: error.message,
115
- stack: error.stack,
116
- },
117
- }
118
- : context;
119
- this.log('error', message, errorContext);
120
- }
121
79
  child(context) {
122
80
  return new JsonLogger(this.level, { ...this.baseContext, ...context });
123
81
  }
@@ -1 +1 @@
1
- {"version":3,"file":"console.js","sourceRoot":"","sources":["../../../src/lib/logger/console.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"console.js","sourceRoot":"","sources":["../../../src/lib/logger/console.ts"],"names":[],"mappings":"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"}
@@ -1,20 +1,17 @@
1
1
  import type { FileSystem } from '../../platform/fs.js';
2
- import type { LogContext, Logger, LogLevel } from './logger.js';
2
+ import { JsonlLogger } from './jsonl.js';
3
+ import type { LogContext, Logger } from './logger.js';
3
4
  /**
4
5
  * FileLogger - writes JSONL to a file, always at debug level.
5
6
  * Each line is a JSON object with timestamp, level, message, and context.
6
7
  */
7
- export declare class FileLogger implements Logger {
8
- readonly level: LogLevel;
9
- private filePath;
10
- private baseContext;
11
- private fs;
8
+ export declare class FileLogger extends JsonlLogger {
9
+ private readonly filePath;
10
+ private readonly fs;
12
11
  constructor(filePath: string, fs: FileSystem, baseContext?: LogContext);
13
- debug(message: string, context?: LogContext): void;
14
- info(message: string, context?: LogContext): void;
15
- warn(message: string, context?: LogContext): void;
16
- error(message: string, error?: Error, context?: LogContext): void;
17
12
  child(context: LogContext): Logger;
18
- private log;
13
+ protected writeLine(line: string): void;
19
14
  }
15
+ /** Resolves once every line logged so far has been written. For tests and shutdown. */
16
+ export declare function flushFileLogs(filePath?: string): Promise<void>;
20
17
  //# sourceMappingURL=file.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"file.d.ts","sourceRoot":"","sources":["../../../src/lib/logger/file.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAE/D;;;GAGG;AACH,qBAAa,UAAW,YAAW,MAAM;IACxC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,WAAW,CAAY;IAC/B,OAAO,CAAC,EAAE,CAAY;gBAEV,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,WAAW,GAAE,UAAe;IAM1E,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,IAAI;IAIlD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,IAAI;IAIjD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,IAAI;IAIjD,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,IAAI;IAejE,KAAK,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM;IAIlC,OAAO,CAAC,GAAG;CAcX"}
1
+ {"version":3,"file":"file.d.ts","sourceRoot":"","sources":["../../../src/lib/logger/file.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAWrD;;;GAGG;AACH,qBAAa,UAAW,SAAQ,WAAW;IAC9B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAAU,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAArC,QAAQ,EAAE,MAAM,EAAmB,EAAE,EAAE,UAAU,EAAE,WAAW,GAAE,UAAe;IAI5G,KAAK,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM;IAIlC,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;CAUvC;AAED,uFAAuF;AACvF,wBAAgB,aAAa,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAG9D"}