lightclawbot 1.0.0 → 1.0.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 (371) hide show
  1. package/README.md +1 -0
  2. package/dist/index.d.ts +24 -0
  3. package/dist/index.d.ts.map +1 -0
  4. package/dist/index.js +34 -0
  5. package/dist/index.js.map +1 -0
  6. package/dist/src/channel.d.ts +11 -0
  7. package/dist/src/channel.d.ts.map +1 -0
  8. package/dist/src/channel.js +255 -0
  9. package/dist/src/channel.js.map +1 -0
  10. package/dist/src/config.d.ts +86 -0
  11. package/dist/src/config.d.ts.map +1 -0
  12. package/dist/src/config.js +188 -0
  13. package/dist/src/config.js.map +1 -0
  14. package/dist/src/dedup.d.ts +7 -0
  15. package/dist/src/dedup.d.ts.map +1 -0
  16. package/dist/src/dedup.js +51 -0
  17. package/dist/src/dedup.js.map +1 -0
  18. package/dist/src/download-tool.d.ts +32 -0
  19. package/dist/src/download-tool.d.ts.map +1 -0
  20. package/dist/src/download-tool.js +147 -0
  21. package/dist/src/download-tool.js.map +1 -0
  22. package/dist/src/file-storage.d.ts +74 -0
  23. package/dist/src/file-storage.d.ts.map +1 -0
  24. package/dist/src/file-storage.js +161 -0
  25. package/dist/src/file-storage.js.map +1 -0
  26. package/dist/src/gateway.d.ts +16 -0
  27. package/dist/src/gateway.d.ts.map +1 -0
  28. package/dist/src/gateway.js +252 -0
  29. package/dist/src/gateway.js.map +1 -0
  30. package/dist/src/history/cron-utils.d.ts +76 -0
  31. package/dist/src/history/cron-utils.d.ts.map +1 -0
  32. package/dist/src/history/cron-utils.js +291 -0
  33. package/dist/src/history/cron-utils.js.map +1 -0
  34. package/dist/src/history/index.d.ts +20 -0
  35. package/dist/src/history/index.d.ts.map +1 -0
  36. package/dist/src/history/index.js +24 -0
  37. package/dist/src/history/index.js.map +1 -0
  38. package/dist/src/history/message-parser.d.ts +52 -0
  39. package/dist/src/history/message-parser.d.ts.map +1 -0
  40. package/dist/src/history/message-parser.js +243 -0
  41. package/dist/src/history/message-parser.js.map +1 -0
  42. package/dist/src/history/session-reader.d.ts +58 -0
  43. package/dist/src/history/session-reader.d.ts.map +1 -0
  44. package/dist/src/history/session-reader.js +287 -0
  45. package/dist/src/history/session-reader.js.map +1 -0
  46. package/dist/src/history/session-store.d.ts +38 -0
  47. package/dist/src/history/session-store.d.ts.map +1 -0
  48. package/dist/src/history/session-store.js +131 -0
  49. package/dist/src/history/session-store.js.map +1 -0
  50. package/dist/src/history/text-processing.d.ts +41 -0
  51. package/dist/src/history/text-processing.d.ts.map +1 -0
  52. package/dist/src/history/text-processing.js +130 -0
  53. package/dist/src/history/text-processing.js.map +1 -0
  54. package/dist/src/history/types.d.ts +134 -0
  55. package/dist/src/history/types.d.ts.map +1 -0
  56. package/dist/src/history/types.js +7 -0
  57. package/dist/src/history/types.js.map +1 -0
  58. package/dist/src/inbound.d.ts +18 -0
  59. package/dist/src/inbound.d.ts.map +1 -0
  60. package/dist/src/inbound.js +332 -0
  61. package/dist/src/inbound.js.map +1 -0
  62. package/dist/src/media.d.ts +12 -0
  63. package/dist/src/media.d.ts.map +1 -0
  64. package/dist/src/media.js +87 -0
  65. package/dist/src/media.js.map +1 -0
  66. package/dist/src/outbound.d.ts +28 -0
  67. package/dist/src/outbound.d.ts.map +1 -0
  68. package/dist/src/outbound.js +172 -0
  69. package/dist/src/outbound.js.map +1 -0
  70. package/dist/src/runtime.d.ts +4 -0
  71. package/dist/src/runtime.d.ts.map +1 -0
  72. package/dist/src/runtime.js +11 -0
  73. package/dist/src/runtime.js.map +1 -0
  74. package/dist/src/session-history.d.ts +88 -0
  75. package/dist/src/session-history.d.ts.map +1 -0
  76. package/dist/src/session-history.js +598 -0
  77. package/dist/src/session-history.js.map +1 -0
  78. package/dist/src/socket-handlers.d.ts +21 -0
  79. package/dist/src/socket-handlers.d.ts.map +1 -0
  80. package/dist/src/socket-handlers.js +121 -0
  81. package/dist/src/socket-handlers.js.map +1 -0
  82. package/dist/src/socket-registry.d.ts +53 -0
  83. package/dist/src/socket-registry.d.ts.map +1 -0
  84. package/dist/src/socket-registry.js +111 -0
  85. package/dist/src/socket-registry.js.map +1 -0
  86. package/dist/src/types.d.ts +102 -0
  87. package/dist/src/types.d.ts.map +1 -0
  88. package/dist/src/types.js +10 -0
  89. package/dist/src/types.js.map +1 -0
  90. package/dist/src/upload-tool.d.ts +27 -0
  91. package/dist/src/upload-tool.d.ts.map +1 -0
  92. package/dist/src/upload-tool.js +148 -0
  93. package/dist/src/upload-tool.js.map +1 -0
  94. package/node_modules/@socket.io/component-emitter/LICENSE +24 -0
  95. package/node_modules/@socket.io/component-emitter/Readme.md +79 -0
  96. package/node_modules/@socket.io/component-emitter/lib/cjs/index.d.ts +179 -0
  97. package/node_modules/@socket.io/component-emitter/lib/cjs/index.js +176 -0
  98. package/node_modules/@socket.io/component-emitter/lib/cjs/package.json +4 -0
  99. package/node_modules/@socket.io/component-emitter/lib/esm/index.d.ts +179 -0
  100. package/node_modules/@socket.io/component-emitter/lib/esm/index.js +169 -0
  101. package/node_modules/@socket.io/component-emitter/lib/esm/package.json +4 -0
  102. package/node_modules/@socket.io/component-emitter/package.json +28 -0
  103. package/node_modules/debug/LICENSE +20 -0
  104. package/node_modules/debug/README.md +481 -0
  105. package/node_modules/debug/package.json +64 -0
  106. package/node_modules/debug/src/browser.js +272 -0
  107. package/node_modules/debug/src/common.js +292 -0
  108. package/node_modules/debug/src/index.js +10 -0
  109. package/node_modules/debug/src/node.js +263 -0
  110. package/node_modules/engine.io-client/LICENSE +22 -0
  111. package/node_modules/engine.io-client/README.md +331 -0
  112. package/node_modules/engine.io-client/build/cjs/browser-entrypoint.d.ts +3 -0
  113. package/node_modules/engine.io-client/build/cjs/browser-entrypoint.js +4 -0
  114. package/node_modules/engine.io-client/build/cjs/contrib/has-cors.d.ts +1 -0
  115. package/node_modules/engine.io-client/build/cjs/contrib/has-cors.js +14 -0
  116. package/node_modules/engine.io-client/build/cjs/contrib/parseqs.d.ts +15 -0
  117. package/node_modules/engine.io-client/build/cjs/contrib/parseqs.js +38 -0
  118. package/node_modules/engine.io-client/build/cjs/contrib/parseuri.d.ts +1 -0
  119. package/node_modules/engine.io-client/build/cjs/contrib/parseuri.js +67 -0
  120. package/node_modules/engine.io-client/build/cjs/globals.d.ts +4 -0
  121. package/node_modules/engine.io-client/build/cjs/globals.js +26 -0
  122. package/node_modules/engine.io-client/build/cjs/globals.node.d.ts +21 -0
  123. package/node_modules/engine.io-client/build/cjs/globals.node.js +97 -0
  124. package/node_modules/engine.io-client/build/cjs/index.d.ts +15 -0
  125. package/node_modules/engine.io-client/build/cjs/index.js +32 -0
  126. package/node_modules/engine.io-client/build/cjs/package.json +10 -0
  127. package/node_modules/engine.io-client/build/cjs/socket.d.ts +482 -0
  128. package/node_modules/engine.io-client/build/cjs/socket.js +765 -0
  129. package/node_modules/engine.io-client/build/cjs/transport.d.ts +106 -0
  130. package/node_modules/engine.io-client/build/cjs/transport.js +153 -0
  131. package/node_modules/engine.io-client/build/cjs/transports/index.d.ts +8 -0
  132. package/node_modules/engine.io-client/build/cjs/transports/index.js +11 -0
  133. package/node_modules/engine.io-client/build/cjs/transports/polling-fetch.d.ts +15 -0
  134. package/node_modules/engine.io-client/build/cjs/transports/polling-fetch.js +60 -0
  135. package/node_modules/engine.io-client/build/cjs/transports/polling-xhr.d.ts +108 -0
  136. package/node_modules/engine.io-client/build/cjs/transports/polling-xhr.js +285 -0
  137. package/node_modules/engine.io-client/build/cjs/transports/polling-xhr.node.d.ts +11 -0
  138. package/node_modules/engine.io-client/build/cjs/transports/polling-xhr.node.js +44 -0
  139. package/node_modules/engine.io-client/build/cjs/transports/polling.d.ts +52 -0
  140. package/node_modules/engine.io-client/build/cjs/transports/polling.js +165 -0
  141. package/node_modules/engine.io-client/build/cjs/transports/websocket.d.ts +36 -0
  142. package/node_modules/engine.io-client/build/cjs/transports/websocket.js +136 -0
  143. package/node_modules/engine.io-client/build/cjs/transports/websocket.node.d.ts +14 -0
  144. package/node_modules/engine.io-client/build/cjs/transports/websocket.node.js +68 -0
  145. package/node_modules/engine.io-client/build/cjs/transports/webtransport.d.ts +18 -0
  146. package/node_modules/engine.io-client/build/cjs/transports/webtransport.js +94 -0
  147. package/node_modules/engine.io-client/build/cjs/util.d.ts +7 -0
  148. package/node_modules/engine.io-client/build/cjs/util.js +65 -0
  149. package/node_modules/engine.io-client/build/esm/browser-entrypoint.d.ts +3 -0
  150. package/node_modules/engine.io-client/build/esm/browser-entrypoint.js +2 -0
  151. package/node_modules/engine.io-client/build/esm/contrib/has-cors.d.ts +1 -0
  152. package/node_modules/engine.io-client/build/esm/contrib/has-cors.js +11 -0
  153. package/node_modules/engine.io-client/build/esm/contrib/parseqs.d.ts +15 -0
  154. package/node_modules/engine.io-client/build/esm/contrib/parseqs.js +34 -0
  155. package/node_modules/engine.io-client/build/esm/contrib/parseuri.d.ts +1 -0
  156. package/node_modules/engine.io-client/build/esm/contrib/parseuri.js +64 -0
  157. package/node_modules/engine.io-client/build/esm/globals.d.ts +4 -0
  158. package/node_modules/engine.io-client/build/esm/globals.js +22 -0
  159. package/node_modules/engine.io-client/build/esm/globals.node.d.ts +21 -0
  160. package/node_modules/engine.io-client/build/esm/globals.node.js +91 -0
  161. package/node_modules/engine.io-client/build/esm/index.d.ts +15 -0
  162. package/node_modules/engine.io-client/build/esm/index.js +15 -0
  163. package/node_modules/engine.io-client/build/esm/package.json +10 -0
  164. package/node_modules/engine.io-client/build/esm/socket.d.ts +482 -0
  165. package/node_modules/engine.io-client/build/esm/socket.js +727 -0
  166. package/node_modules/engine.io-client/build/esm/transport.d.ts +106 -0
  167. package/node_modules/engine.io-client/build/esm/transport.js +142 -0
  168. package/node_modules/engine.io-client/build/esm/transports/index.d.ts +8 -0
  169. package/node_modules/engine.io-client/build/esm/transports/index.js +8 -0
  170. package/node_modules/engine.io-client/build/esm/transports/polling-fetch.d.ts +15 -0
  171. package/node_modules/engine.io-client/build/esm/transports/polling-fetch.js +56 -0
  172. package/node_modules/engine.io-client/build/esm/transports/polling-xhr.d.ts +108 -0
  173. package/node_modules/engine.io-client/build/esm/transports/polling-xhr.js +271 -0
  174. package/node_modules/engine.io-client/build/esm/transports/polling-xhr.node.d.ts +11 -0
  175. package/node_modules/engine.io-client/build/esm/transports/polling-xhr.node.js +17 -0
  176. package/node_modules/engine.io-client/build/esm/transports/polling.d.ts +52 -0
  177. package/node_modules/engine.io-client/build/esm/transports/polling.js +145 -0
  178. package/node_modules/engine.io-client/build/esm/transports/websocket.d.ts +36 -0
  179. package/node_modules/engine.io-client/build/esm/transports/websocket.js +125 -0
  180. package/node_modules/engine.io-client/build/esm/transports/websocket.node.d.ts +14 -0
  181. package/node_modules/engine.io-client/build/esm/transports/websocket.node.js +41 -0
  182. package/node_modules/engine.io-client/build/esm/transports/webtransport.d.ts +18 -0
  183. package/node_modules/engine.io-client/build/esm/transports/webtransport.js +80 -0
  184. package/node_modules/engine.io-client/build/esm/util.d.ts +7 -0
  185. package/node_modules/engine.io-client/build/esm/util.js +59 -0
  186. package/node_modules/engine.io-client/build/esm-debug/browser-entrypoint.d.ts +3 -0
  187. package/node_modules/engine.io-client/build/esm-debug/browser-entrypoint.js +2 -0
  188. package/node_modules/engine.io-client/build/esm-debug/contrib/has-cors.d.ts +1 -0
  189. package/node_modules/engine.io-client/build/esm-debug/contrib/has-cors.js +11 -0
  190. package/node_modules/engine.io-client/build/esm-debug/contrib/parseqs.d.ts +15 -0
  191. package/node_modules/engine.io-client/build/esm-debug/contrib/parseqs.js +34 -0
  192. package/node_modules/engine.io-client/build/esm-debug/contrib/parseuri.d.ts +1 -0
  193. package/node_modules/engine.io-client/build/esm-debug/contrib/parseuri.js +64 -0
  194. package/node_modules/engine.io-client/build/esm-debug/globals.d.ts +4 -0
  195. package/node_modules/engine.io-client/build/esm-debug/globals.js +22 -0
  196. package/node_modules/engine.io-client/build/esm-debug/globals.node.d.ts +21 -0
  197. package/node_modules/engine.io-client/build/esm-debug/globals.node.js +91 -0
  198. package/node_modules/engine.io-client/build/esm-debug/index.d.ts +15 -0
  199. package/node_modules/engine.io-client/build/esm-debug/index.js +15 -0
  200. package/node_modules/engine.io-client/build/esm-debug/package.json +10 -0
  201. package/node_modules/engine.io-client/build/esm-debug/socket.d.ts +482 -0
  202. package/node_modules/engine.io-client/build/esm-debug/socket.js +756 -0
  203. package/node_modules/engine.io-client/build/esm-debug/transport.d.ts +106 -0
  204. package/node_modules/engine.io-client/build/esm-debug/transport.js +145 -0
  205. package/node_modules/engine.io-client/build/esm-debug/transports/index.d.ts +8 -0
  206. package/node_modules/engine.io-client/build/esm-debug/transports/index.js +8 -0
  207. package/node_modules/engine.io-client/build/esm-debug/transports/polling-fetch.d.ts +15 -0
  208. package/node_modules/engine.io-client/build/esm-debug/transports/polling-fetch.js +56 -0
  209. package/node_modules/engine.io-client/build/esm-debug/transports/polling-xhr.d.ts +108 -0
  210. package/node_modules/engine.io-client/build/esm-debug/transports/polling-xhr.js +276 -0
  211. package/node_modules/engine.io-client/build/esm-debug/transports/polling-xhr.node.d.ts +11 -0
  212. package/node_modules/engine.io-client/build/esm-debug/transports/polling-xhr.node.js +17 -0
  213. package/node_modules/engine.io-client/build/esm-debug/transports/polling.d.ts +52 -0
  214. package/node_modules/engine.io-client/build/esm-debug/transports/polling.js +158 -0
  215. package/node_modules/engine.io-client/build/esm-debug/transports/websocket.d.ts +36 -0
  216. package/node_modules/engine.io-client/build/esm-debug/transports/websocket.js +128 -0
  217. package/node_modules/engine.io-client/build/esm-debug/transports/websocket.node.d.ts +14 -0
  218. package/node_modules/engine.io-client/build/esm-debug/transports/websocket.node.js +41 -0
  219. package/node_modules/engine.io-client/build/esm-debug/transports/webtransport.d.ts +18 -0
  220. package/node_modules/engine.io-client/build/esm-debug/transports/webtransport.js +87 -0
  221. package/node_modules/engine.io-client/build/esm-debug/util.d.ts +7 -0
  222. package/node_modules/engine.io-client/build/esm-debug/util.js +59 -0
  223. package/node_modules/engine.io-client/dist/engine.io.esm.min.js +7 -0
  224. package/node_modules/engine.io-client/dist/engine.io.esm.min.js.map +1 -0
  225. package/node_modules/engine.io-client/dist/engine.io.js +3064 -0
  226. package/node_modules/engine.io-client/dist/engine.io.js.map +1 -0
  227. package/node_modules/engine.io-client/dist/engine.io.min.js +7 -0
  228. package/node_modules/engine.io-client/dist/engine.io.min.js.map +1 -0
  229. package/node_modules/engine.io-client/node_modules/ws/LICENSE +20 -0
  230. package/node_modules/engine.io-client/node_modules/ws/README.md +548 -0
  231. package/node_modules/engine.io-client/node_modules/ws/browser.js +8 -0
  232. package/node_modules/engine.io-client/node_modules/ws/index.js +13 -0
  233. package/node_modules/engine.io-client/node_modules/ws/lib/buffer-util.js +131 -0
  234. package/node_modules/engine.io-client/node_modules/ws/lib/constants.js +18 -0
  235. package/node_modules/engine.io-client/node_modules/ws/lib/event-target.js +292 -0
  236. package/node_modules/engine.io-client/node_modules/ws/lib/extension.js +203 -0
  237. package/node_modules/engine.io-client/node_modules/ws/lib/limiter.js +55 -0
  238. package/node_modules/engine.io-client/node_modules/ws/lib/permessage-deflate.js +528 -0
  239. package/node_modules/engine.io-client/node_modules/ws/lib/receiver.js +706 -0
  240. package/node_modules/engine.io-client/node_modules/ws/lib/sender.js +602 -0
  241. package/node_modules/engine.io-client/node_modules/ws/lib/stream.js +161 -0
  242. package/node_modules/engine.io-client/node_modules/ws/lib/subprotocol.js +62 -0
  243. package/node_modules/engine.io-client/node_modules/ws/lib/validation.js +152 -0
  244. package/node_modules/engine.io-client/node_modules/ws/lib/websocket-server.js +550 -0
  245. package/node_modules/engine.io-client/node_modules/ws/lib/websocket.js +1388 -0
  246. package/node_modules/engine.io-client/node_modules/ws/package.json +69 -0
  247. package/node_modules/engine.io-client/node_modules/ws/wrapper.mjs +8 -0
  248. package/node_modules/engine.io-client/package.json +95 -0
  249. package/node_modules/engine.io-parser/LICENSE +22 -0
  250. package/node_modules/engine.io-parser/Readme.md +158 -0
  251. package/node_modules/engine.io-parser/build/cjs/commons.d.ts +14 -0
  252. package/node_modules/engine.io-parser/build/cjs/commons.js +19 -0
  253. package/node_modules/engine.io-parser/build/cjs/contrib/base64-arraybuffer.d.ts +2 -0
  254. package/node_modules/engine.io-parser/build/cjs/contrib/base64-arraybuffer.js +48 -0
  255. package/node_modules/engine.io-parser/build/cjs/decodePacket.browser.d.ts +2 -0
  256. package/node_modules/engine.io-parser/build/cjs/decodePacket.browser.js +66 -0
  257. package/node_modules/engine.io-parser/build/cjs/decodePacket.d.ts +2 -0
  258. package/node_modules/engine.io-parser/build/cjs/decodePacket.js +59 -0
  259. package/node_modules/engine.io-parser/build/cjs/encodePacket.browser.d.ts +4 -0
  260. package/node_modules/engine.io-parser/build/cjs/encodePacket.browser.js +72 -0
  261. package/node_modules/engine.io-parser/build/cjs/encodePacket.d.ts +3 -0
  262. package/node_modules/engine.io-parser/build/cjs/encodePacket.js +38 -0
  263. package/node_modules/engine.io-parser/build/cjs/index.d.ts +9 -0
  264. package/node_modules/engine.io-parser/build/cjs/index.js +164 -0
  265. package/node_modules/engine.io-parser/build/cjs/package.json +8 -0
  266. package/node_modules/engine.io-parser/build/esm/commons.d.ts +14 -0
  267. package/node_modules/engine.io-parser/build/esm/commons.js +14 -0
  268. package/node_modules/engine.io-parser/build/esm/contrib/base64-arraybuffer.d.ts +2 -0
  269. package/node_modules/engine.io-parser/build/esm/contrib/base64-arraybuffer.js +43 -0
  270. package/node_modules/engine.io-parser/build/esm/decodePacket.browser.d.ts +2 -0
  271. package/node_modules/engine.io-parser/build/esm/decodePacket.browser.js +62 -0
  272. package/node_modules/engine.io-parser/build/esm/decodePacket.d.ts +2 -0
  273. package/node_modules/engine.io-parser/build/esm/decodePacket.js +55 -0
  274. package/node_modules/engine.io-parser/build/esm/encodePacket.browser.d.ts +4 -0
  275. package/node_modules/engine.io-parser/build/esm/encodePacket.browser.js +68 -0
  276. package/node_modules/engine.io-parser/build/esm/encodePacket.d.ts +3 -0
  277. package/node_modules/engine.io-parser/build/esm/encodePacket.js +33 -0
  278. package/node_modules/engine.io-parser/build/esm/index.d.ts +9 -0
  279. package/node_modules/engine.io-parser/build/esm/index.js +156 -0
  280. package/node_modules/engine.io-parser/build/esm/package.json +8 -0
  281. package/node_modules/engine.io-parser/package.json +46 -0
  282. package/node_modules/ms/index.js +162 -0
  283. package/node_modules/ms/license.md +21 -0
  284. package/node_modules/ms/package.json +38 -0
  285. package/node_modules/ms/readme.md +59 -0
  286. package/node_modules/socket.io-client/LICENSE +21 -0
  287. package/node_modules/socket.io-client/README.md +29 -0
  288. package/node_modules/socket.io-client/build/cjs/browser-entrypoint.d.ts +2 -0
  289. package/node_modules/socket.io-client/build/cjs/browser-entrypoint.js +4 -0
  290. package/node_modules/socket.io-client/build/cjs/contrib/backo2.d.ts +12 -0
  291. package/node_modules/socket.io-client/build/cjs/contrib/backo2.js +69 -0
  292. package/node_modules/socket.io-client/build/cjs/index.d.ts +29 -0
  293. package/node_modules/socket.io-client/build/cjs/index.js +76 -0
  294. package/node_modules/socket.io-client/build/cjs/manager.d.ts +295 -0
  295. package/node_modules/socket.io-client/build/cjs/manager.js +416 -0
  296. package/node_modules/socket.io-client/build/cjs/on.d.ts +2 -0
  297. package/node_modules/socket.io-client/build/cjs/on.js +9 -0
  298. package/node_modules/socket.io-client/build/cjs/socket.d.ts +593 -0
  299. package/node_modules/socket.io-client/build/cjs/socket.js +909 -0
  300. package/node_modules/socket.io-client/build/cjs/url.d.ts +33 -0
  301. package/node_modules/socket.io-client/build/cjs/url.js +69 -0
  302. package/node_modules/socket.io-client/build/esm/browser-entrypoint.d.ts +2 -0
  303. package/node_modules/socket.io-client/build/esm/browser-entrypoint.js +2 -0
  304. package/node_modules/socket.io-client/build/esm/contrib/backo2.d.ts +12 -0
  305. package/node_modules/socket.io-client/build/esm/contrib/backo2.js +66 -0
  306. package/node_modules/socket.io-client/build/esm/index.d.ts +29 -0
  307. package/node_modules/socket.io-client/build/esm/index.js +58 -0
  308. package/node_modules/socket.io-client/build/esm/manager.d.ts +295 -0
  309. package/node_modules/socket.io-client/build/esm/manager.js +367 -0
  310. package/node_modules/socket.io-client/build/esm/on.d.ts +2 -0
  311. package/node_modules/socket.io-client/build/esm/on.js +6 -0
  312. package/node_modules/socket.io-client/build/esm/package.json +5 -0
  313. package/node_modules/socket.io-client/build/esm/socket.d.ts +593 -0
  314. package/node_modules/socket.io-client/build/esm/socket.js +880 -0
  315. package/node_modules/socket.io-client/build/esm/url.d.ts +33 -0
  316. package/node_modules/socket.io-client/build/esm/url.js +59 -0
  317. package/node_modules/socket.io-client/build/esm-debug/browser-entrypoint.d.ts +2 -0
  318. package/node_modules/socket.io-client/build/esm-debug/browser-entrypoint.js +2 -0
  319. package/node_modules/socket.io-client/build/esm-debug/contrib/backo2.d.ts +12 -0
  320. package/node_modules/socket.io-client/build/esm-debug/contrib/backo2.js +66 -0
  321. package/node_modules/socket.io-client/build/esm-debug/index.d.ts +29 -0
  322. package/node_modules/socket.io-client/build/esm-debug/index.js +62 -0
  323. package/node_modules/socket.io-client/build/esm-debug/manager.d.ts +295 -0
  324. package/node_modules/socket.io-client/build/esm-debug/manager.js +386 -0
  325. package/node_modules/socket.io-client/build/esm-debug/on.d.ts +2 -0
  326. package/node_modules/socket.io-client/build/esm-debug/on.js +6 -0
  327. package/node_modules/socket.io-client/build/esm-debug/package.json +5 -0
  328. package/node_modules/socket.io-client/build/esm-debug/socket.d.ts +593 -0
  329. package/node_modules/socket.io-client/build/esm-debug/socket.js +902 -0
  330. package/node_modules/socket.io-client/build/esm-debug/url.d.ts +33 -0
  331. package/node_modules/socket.io-client/build/esm-debug/url.js +63 -0
  332. package/node_modules/socket.io-client/dist/socket.io.esm.min.js +7 -0
  333. package/node_modules/socket.io-client/dist/socket.io.esm.min.js.map +1 -0
  334. package/node_modules/socket.io-client/dist/socket.io.js +4955 -0
  335. package/node_modules/socket.io-client/dist/socket.io.js.map +1 -0
  336. package/node_modules/socket.io-client/dist/socket.io.min.js +7 -0
  337. package/node_modules/socket.io-client/dist/socket.io.min.js.map +1 -0
  338. package/node_modules/socket.io-client/dist/socket.io.msgpack.min.js +7 -0
  339. package/node_modules/socket.io-client/dist/socket.io.msgpack.min.js.map +1 -0
  340. package/node_modules/socket.io-client/package.json +101 -0
  341. package/node_modules/socket.io-parser/LICENSE +20 -0
  342. package/node_modules/socket.io-parser/Readme.md +81 -0
  343. package/node_modules/socket.io-parser/build/cjs/binary.d.ts +20 -0
  344. package/node_modules/socket.io-parser/build/cjs/binary.js +87 -0
  345. package/node_modules/socket.io-parser/build/cjs/index.d.ts +91 -0
  346. package/node_modules/socket.io-parser/build/cjs/index.js +359 -0
  347. package/node_modules/socket.io-parser/build/cjs/is-binary.d.ts +7 -0
  348. package/node_modules/socket.io-parser/build/cjs/is-binary.js +54 -0
  349. package/node_modules/socket.io-parser/build/cjs/package.json +3 -0
  350. package/node_modules/socket.io-parser/build/esm/binary.d.ts +20 -0
  351. package/node_modules/socket.io-parser/build/esm/binary.js +83 -0
  352. package/node_modules/socket.io-parser/build/esm/index.d.ts +91 -0
  353. package/node_modules/socket.io-parser/build/esm/index.js +348 -0
  354. package/node_modules/socket.io-parser/build/esm/is-binary.d.ts +7 -0
  355. package/node_modules/socket.io-parser/build/esm/is-binary.js +50 -0
  356. package/node_modules/socket.io-parser/build/esm/package.json +3 -0
  357. package/node_modules/socket.io-parser/build/esm-debug/binary.d.ts +20 -0
  358. package/node_modules/socket.io-parser/build/esm-debug/binary.js +83 -0
  359. package/node_modules/socket.io-parser/build/esm-debug/index.d.ts +91 -0
  360. package/node_modules/socket.io-parser/build/esm-debug/index.js +353 -0
  361. package/node_modules/socket.io-parser/build/esm-debug/is-binary.d.ts +7 -0
  362. package/node_modules/socket.io-parser/build/esm-debug/is-binary.js +50 -0
  363. package/node_modules/socket.io-parser/build/esm-debug/package.json +3 -0
  364. package/node_modules/socket.io-parser/package.json +44 -0
  365. package/node_modules/xmlhttprequest-ssl/LICENSE +22 -0
  366. package/node_modules/xmlhttprequest-ssl/README.md +67 -0
  367. package/node_modules/xmlhttprequest-ssl/lib/XMLHttpRequest.js +689 -0
  368. package/node_modules/xmlhttprequest-ssl/package.json +40 -0
  369. package/openclaw.plugin.json +17 -0
  370. package/package.json +43 -23
  371. package/skills/lightclaw-cron/SKILL.md +381 -0
@@ -0,0 +1,20 @@
1
+ /**
2
+ * LightClaw — History Module
3
+ *
4
+ * 统一导出历史消息处理的全部公开 API。
5
+ *
6
+ * 模块结构:
7
+ * types.ts — 类型定义
8
+ * session-store.ts — session 索引加载 & 路径解析
9
+ * text-processing.ts — 传输元数据剥离 & 文件附件提取
10
+ * message-parser.ts — JSONL 消息行解析 & 标准化
11
+ * cron-utils.ts — cron session key 解析 & cron 消息清理
12
+ * session-reader.ts — 核心读取 API(含混合读取)
13
+ */
14
+ export type { FileAttachmentInfo, CronInfo, HistoryMessage, SessionStoreEntry, SessionType, CronSessionInfo, SessionListEntry, ReadHistoryOptions, ReadHistoryWithCronOptions, ReadHistoryTailOptions, ContentEntry, } from "./types.js";
15
+ export { resolveOpenClawHome, resolveSessionsDir, loadSessionStore, resolveTranscriptPath, getStoreDir, } from "./session-store.js";
16
+ export { stripTransportMetadata, stripResidualMetadata, extractFileAttachments, deduplicateFiles, } from "./text-processing.js";
17
+ export { isSystemInjectedUserMessage, extractText, extractRawText, extractThinking, extractToolCalls, extractContentFiles, normalizeMessage, } from "./message-parser.js";
18
+ export { isCronSessionKey, isCronRunKey, isCronBaseKey, extractCronJobId, extractCronRunId, classifySessionKey, listCronSessions, groupCronSessionsByJob, extractCronInfoFromText, cleanCronUserMessage, extractCronJobIdsFromTranscript, findCronSessionsByJobIds, } from "./cron-utils.js";
19
+ export { readSessionHistory, readSessionHistoryTail, readCronHistory, readSessionHistoryWithCron, listSessions, } from "./session-reader.js";
20
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/history/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,YAAY,EACV,kBAAkB,EAClB,QAAQ,EACR,cAAc,EACd,iBAAiB,EACjB,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,0BAA0B,EAC1B,sBAAsB,EACtB,YAAY,GACb,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EAChB,qBAAqB,EACrB,WAAW,GACZ,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,2BAA2B,EAC3B,WAAW,EACX,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,sBAAsB,EACtB,uBAAuB,EACvB,oBAAoB,EACpB,+BAA+B,EAC/B,wBAAwB,GACzB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,eAAe,EACf,0BAA0B,EAC1B,YAAY,GACb,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * LightClaw — History Module
3
+ *
4
+ * 统一导出历史消息处理的全部公开 API。
5
+ *
6
+ * 模块结构:
7
+ * types.ts — 类型定义
8
+ * session-store.ts — session 索引加载 & 路径解析
9
+ * text-processing.ts — 传输元数据剥离 & 文件附件提取
10
+ * message-parser.ts — JSONL 消息行解析 & 标准化
11
+ * cron-utils.ts — cron session key 解析 & cron 消息清理
12
+ * session-reader.ts — 核心读取 API(含混合读取)
13
+ */
14
+ // ── Session Store ──
15
+ export { resolveOpenClawHome, resolveSessionsDir, loadSessionStore, resolveTranscriptPath, getStoreDir, } from "./session-store.js";
16
+ // ── Text Processing ──
17
+ export { stripTransportMetadata, stripResidualMetadata, extractFileAttachments, deduplicateFiles, } from "./text-processing.js";
18
+ // ── Message Parser ──
19
+ export { isSystemInjectedUserMessage, extractText, extractRawText, extractThinking, extractToolCalls, extractContentFiles, normalizeMessage, } from "./message-parser.js";
20
+ // ── Cron Utilities ──
21
+ export { isCronSessionKey, isCronRunKey, isCronBaseKey, extractCronJobId, extractCronRunId, classifySessionKey, listCronSessions, groupCronSessionsByJob, extractCronInfoFromText, cleanCronUserMessage, extractCronJobIdsFromTranscript, findCronSessionsByJobIds, } from "./cron-utils.js";
22
+ // ── Session Reader (核心 API) ──
23
+ export { readSessionHistory, readSessionHistoryTail, readCronHistory, readSessionHistoryWithCron, listSessions, } from "./session-reader.js";
24
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/history/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAiBH,sBAAsB;AACtB,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EAChB,qBAAqB,EACrB,WAAW,GACZ,MAAM,oBAAoB,CAAC;AAE5B,wBAAwB;AACxB,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAE9B,uBAAuB;AACvB,OAAO,EACL,2BAA2B,EAC3B,WAAW,EACX,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,qBAAqB,CAAC;AAE7B,uBAAuB;AACvB,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,sBAAsB,EACtB,uBAAuB,EACvB,oBAAoB,EACpB,+BAA+B,EAC/B,wBAAwB,GACzB,MAAM,iBAAiB,CAAC;AAEzB,gCAAgC;AAChC,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,eAAe,EACf,0BAA0B,EAC1B,YAAY,GACb,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * LightClaw — Message Parser
3
+ *
4
+ * 封装 JSONL session transcript 中消息行的解析和标准化逻辑。
5
+ * 包含:
6
+ * - 文本提取(含传输层元数据剥离)
7
+ * - thinking 内容提取
8
+ * - 工具调用/结果提取
9
+ * - 文件附件提取
10
+ * - 系统注入消息检测
11
+ * - 消息标准化
12
+ */
13
+ import type { FileAttachmentInfo, HistoryMessage } from "./types.js";
14
+ /**
15
+ * 检测 role=user 的消息是否实际上是传输层/系统注入的消息,而非用户真实输入。
16
+ *
17
+ * 匹配 "System: [timestamp]" 格式的消息(包括 cron 定时提醒触发的注入消息)。
18
+ * 这些消息本质上都是系统自动生成的指令文本,不是用户手动输入,
19
+ * 用户只需看到 assistant 的回复即可。
20
+ */
21
+ export declare function isSystemInjectedUserMessage(msg: Record<string, unknown>): boolean;
22
+ /**
23
+ * 从 content 字段提取纯文本(用户消息会剥离传输元数据)
24
+ */
25
+ export declare function extractText(content: unknown, role?: string): string;
26
+ /**
27
+ * 从 content 字段提取原始文本(不做剥离,用于文件信息提取)
28
+ */
29
+ export declare function extractRawText(content: unknown): string;
30
+ /**
31
+ * 从 content 字段提取 thinking 内容
32
+ */
33
+ export declare function extractThinking(content: unknown): string | undefined;
34
+ /**
35
+ * 从 content 字段提取工具调用信息
36
+ *
37
+ * 兼容 type: "tool_use" / "tool_call" / "toolCall"
38
+ * 兼容参数字段: input / arguments / args
39
+ */
40
+ export declare function extractToolCalls(content: unknown): Array<{
41
+ name: string;
42
+ args?: string;
43
+ }> | undefined;
44
+ /**
45
+ * 从 content 字段提取文件/图片信息
46
+ */
47
+ export declare function extractContentFiles(content: unknown): FileAttachmentInfo[] | undefined;
48
+ /**
49
+ * 将原始 JSONL message 对象标准化为 HistoryMessage
50
+ */
51
+ export declare function normalizeMessage(msg: Record<string, unknown>): HistoryMessage | null;
52
+ //# sourceMappingURL=message-parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-parser.d.ts","sourceRoot":"","sources":["../../../src/history/message-parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAgB,kBAAkB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAiBnF;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAUjF;AAwBD;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAkBnE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAcvD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAapE;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,SAAS,CAqBrG;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,kBAAkB,EAAE,GAAG,SAAS,CAiBtF;AAWD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,cAAc,GAAG,IAAI,CA6DpF"}
@@ -0,0 +1,243 @@
1
+ /**
2
+ * LightClaw — Message Parser
3
+ *
4
+ * 封装 JSONL session transcript 中消息行的解析和标准化逻辑。
5
+ * 包含:
6
+ * - 文本提取(含传输层元数据剥离)
7
+ * - thinking 内容提取
8
+ * - 工具调用/结果提取
9
+ * - 文件附件提取
10
+ * - 系统注入消息检测
11
+ * - 消息标准化
12
+ */
13
+ import { stripTransportMetadata, extractFileAttachments, deduplicateFiles, } from "./text-processing.js";
14
+ // ============================================================
15
+ // 系统注入消息检测
16
+ // ============================================================
17
+ /**
18
+ * 匹配 "System: [<timestamp>]" 格式的消息前缀。
19
+ * 如定时提醒回调:System: [2026-03-05 16:23:00 GMT+8] ⏰ 提醒:该看日志啦!
20
+ */
21
+ const SYSTEM_INJECTED_RE = /^System:\s*\[\d{4}-\d{2}-\d{2}\s+\d{2}:\d{2}/;
22
+ /**
23
+ * 检测 role=user 的消息是否实际上是传输层/系统注入的消息,而非用户真实输入。
24
+ *
25
+ * 匹配 "System: [timestamp]" 格式的消息(包括 cron 定时提醒触发的注入消息)。
26
+ * 这些消息本质上都是系统自动生成的指令文本,不是用户手动输入,
27
+ * 用户只需看到 assistant 的回复即可。
28
+ */
29
+ export function isSystemInjectedUserMessage(msg) {
30
+ if (msg.role?.toLowerCase() !== "user")
31
+ return false;
32
+ const text = extractFirstText(msg.content);
33
+ if (!text)
34
+ return false;
35
+ const trimmed = text.trim();
36
+ // 所有 "System: [timestamp]" 格式的消息都是系统注入的,包括定时提醒触发消息
37
+ return SYSTEM_INJECTED_RE.test(trimmed);
38
+ }
39
+ /**
40
+ * 提取消息内容中的第一个文本片段(用于系统注入检测)
41
+ */
42
+ function extractFirstText(content) {
43
+ if (typeof content === "string")
44
+ return content;
45
+ if (!Array.isArray(content))
46
+ return undefined;
47
+ for (const entry of content) {
48
+ if (!entry || typeof entry !== "object")
49
+ continue;
50
+ if ((entry.type === "text" || entry.type === "input_text")
51
+ && typeof entry.text === "string") {
52
+ return entry.text;
53
+ }
54
+ }
55
+ return undefined;
56
+ }
57
+ // ============================================================
58
+ // 内容提取
59
+ // ============================================================
60
+ /**
61
+ * 从 content 字段提取纯文本(用户消息会剥离传输元数据)
62
+ */
63
+ export function extractText(content, role) {
64
+ if (typeof content === "string") {
65
+ return role === "user" ? stripTransportMetadata(content) : content;
66
+ }
67
+ if (!Array.isArray(content))
68
+ return "";
69
+ const parts = [];
70
+ for (const entry of content) {
71
+ if (!entry || typeof entry !== "object")
72
+ continue;
73
+ if ((entry.type === "text" || entry.type === "output_text" || entry.type === "input_text")
74
+ && typeof entry.text === "string") {
75
+ parts.push(entry.text);
76
+ }
77
+ }
78
+ const joined = parts.join("\n");
79
+ return role === "user" ? stripTransportMetadata(joined) : joined;
80
+ }
81
+ /**
82
+ * 从 content 字段提取原始文本(不做剥离,用于文件信息提取)
83
+ */
84
+ export function extractRawText(content) {
85
+ if (typeof content === "string")
86
+ return content;
87
+ if (!Array.isArray(content))
88
+ return "";
89
+ const parts = [];
90
+ for (const entry of content) {
91
+ if (!entry || typeof entry !== "object")
92
+ continue;
93
+ if ((entry.type === "text" || entry.type === "output_text" || entry.type === "input_text")
94
+ && typeof entry.text === "string") {
95
+ parts.push(entry.text);
96
+ }
97
+ }
98
+ return parts.join("\n");
99
+ }
100
+ /**
101
+ * 从 content 字段提取 thinking 内容
102
+ */
103
+ export function extractThinking(content) {
104
+ if (!Array.isArray(content))
105
+ return undefined;
106
+ const parts = [];
107
+ for (const entry of content) {
108
+ if (!entry || typeof entry !== "object")
109
+ continue;
110
+ if (entry.type === "thinking") {
111
+ const text = typeof entry.thinking === "string"
112
+ ? entry.thinking
113
+ : typeof entry.text === "string" ? entry.text : undefined;
114
+ if (text)
115
+ parts.push(text);
116
+ }
117
+ }
118
+ return parts.length > 0 ? parts.join("\n") : undefined;
119
+ }
120
+ /**
121
+ * 从 content 字段提取工具调用信息
122
+ *
123
+ * 兼容 type: "tool_use" / "tool_call" / "toolCall"
124
+ * 兼容参数字段: input / arguments / args
125
+ */
126
+ export function extractToolCalls(content) {
127
+ if (!Array.isArray(content))
128
+ return undefined;
129
+ const calls = [];
130
+ for (const entry of content) {
131
+ if (!entry || typeof entry !== "object")
132
+ continue;
133
+ if (entry.type === "tool_use" || entry.type === "tool_call" || entry.type === "toolCall") {
134
+ const name = typeof entry.name === "string"
135
+ ? entry.name
136
+ : typeof entry.toolName === "string"
137
+ ? entry.toolName
138
+ : typeof entry.tool_name === "string"
139
+ ? entry.tool_name
140
+ : "unknown";
141
+ const rawArgs = entry.input ?? entry.arguments ?? entry.args;
142
+ const args = rawArgs
143
+ ? (typeof rawArgs === "string" ? rawArgs : JSON.stringify(rawArgs))
144
+ : undefined;
145
+ calls.push({ name, args });
146
+ }
147
+ }
148
+ return calls.length > 0 ? calls : undefined;
149
+ }
150
+ /**
151
+ * 从 content 字段提取文件/图片信息
152
+ */
153
+ export function extractContentFiles(content) {
154
+ if (!Array.isArray(content))
155
+ return undefined;
156
+ const files = [];
157
+ for (const entry of content) {
158
+ if (!entry || typeof entry !== "object")
159
+ continue;
160
+ if (entry.type === "image" || entry.type === "file") {
161
+ // 跳过只有 data 字段的内嵌 base64 图片
162
+ if (entry.type === "image" && entry.data && !entry.uri && !entry.fileName && !entry.file_name && !entry.filename) {
163
+ continue;
164
+ }
165
+ const name = asString(entry.fileName) ?? asString(entry.file_name) ?? asString(entry.filename) ?? asString(entry.name) ?? (entry.type === "image" ? "image" : "file");
166
+ const mimeType = asString(entry.mimeType) ?? asString(entry.mime_type);
167
+ const uri = asString(entry.uri);
168
+ files.push({ name, mimeType, uri });
169
+ }
170
+ }
171
+ return files.length > 0 ? files : undefined;
172
+ }
173
+ /** 安全提取非空字符串 */
174
+ function asString(v) {
175
+ return typeof v === "string" && v.trim() ? v : undefined;
176
+ }
177
+ // ============================================================
178
+ // 消息标准化
179
+ // ============================================================
180
+ /**
181
+ * 将原始 JSONL message 对象标准化为 HistoryMessage
182
+ */
183
+ export function normalizeMessage(msg) {
184
+ const role = msg.role;
185
+ if (!role)
186
+ return null;
187
+ const normalizedRole = (() => {
188
+ switch (role.toLowerCase()) {
189
+ case "user": return "user";
190
+ case "assistant": return "assistant";
191
+ case "system": return "system";
192
+ case "tool":
193
+ case "toolresult":
194
+ case "tool_result":
195
+ return "tool";
196
+ default: return "assistant";
197
+ }
198
+ })();
199
+ const text = extractText(msg.content, normalizedRole);
200
+ const toolCalls = normalizedRole === "assistant" ? extractToolCalls(msg.content) : undefined;
201
+ const thinking = normalizedRole === "assistant" ? extractThinking(msg.content) : undefined;
202
+ const timestamp = typeof msg.timestamp === "number" ? msg.timestamp : undefined;
203
+ // 从用户消息文本中提取文件附件
204
+ let files;
205
+ if (normalizedRole === "user") {
206
+ const rawText = extractRawText(msg.content);
207
+ const textFiles = extractFileAttachments(rawText);
208
+ const contentFiles = extractContentFiles(msg.content);
209
+ const allFiles = [...(textFiles.length > 0 ? textFiles : []), ...(contentFiles ?? [])];
210
+ if (allFiles.length > 0)
211
+ files = deduplicateFiles(allFiles);
212
+ }
213
+ else {
214
+ files = extractContentFiles(msg.content) || undefined;
215
+ }
216
+ // tool / toolResult 角色的处理
217
+ let toolResult;
218
+ if (normalizedRole === "tool") {
219
+ const toolCallId = asString(msg.toolCallId)
220
+ ?? asString(msg.tool_call_id)
221
+ ?? asString(msg.callId);
222
+ const name = asString(msg.name)
223
+ ?? asString(msg.toolName)
224
+ ?? asString(msg.tool_name);
225
+ const output = text
226
+ || (msg.result ? (typeof msg.result === "string" ? msg.result : JSON.stringify(msg.result)) : undefined)
227
+ || undefined;
228
+ toolResult = { toolCallId, name, output };
229
+ }
230
+ // 跳过完全空的消息
231
+ if (!text && !toolCalls && !toolResult && !thinking && !files?.length)
232
+ return null;
233
+ return {
234
+ role: normalizedRole,
235
+ content: text,
236
+ timestamp,
237
+ ...(toolCalls && { toolCalls }),
238
+ ...(toolResult && { toolResult }),
239
+ ...(thinking && { thinking }),
240
+ ...(files && files.length > 0 && { files }),
241
+ };
242
+ }
243
+ //# sourceMappingURL=message-parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-parser.js","sourceRoot":"","sources":["../../../src/history/message-parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAE9B,+DAA+D;AAC/D,WAAW;AACX,+DAA+D;AAE/D;;;GAGG;AACH,MAAM,kBAAkB,GAAG,8CAA8C,CAAC;AAE1E;;;;;;GAMG;AACH,MAAM,UAAU,2BAA2B,CAAC,GAA4B;IACtE,IAAK,GAAG,CAAC,IAAe,EAAE,WAAW,EAAE,KAAK,MAAM;QAAE,OAAO,KAAK,CAAC;IAEjE,MAAM,IAAI,GAAG,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC3C,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IAExB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAE5B,mDAAmD;IACnD,OAAO,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC1C,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAC,OAAgB;IACxC,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC;IAChD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,SAAS,CAAC;IAC9C,KAAK,MAAM,KAAK,IAAI,OAAyB,EAAE,CAAC;QAC9C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,SAAS;QAClD,IACE,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC;eACnD,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EACjC,CAAC;YACD,OAAO,KAAK,CAAC,IAAI,CAAC;QACpB,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,+DAA+D;AAC/D,OAAO;AACP,+DAA+D;AAE/D;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,OAAgB,EAAE,IAAa;IACzD,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,OAAO,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IACrE,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,CAAC;IAEvC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,KAAK,IAAI,OAAyB,EAAE,CAAC;QAC9C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,SAAS;QAClD,IACE,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC;eACnF,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EACjC,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IACD,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChC,OAAO,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AACnE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,OAAgB;IAC7C,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC;IAChD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,CAAC;IACvC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,KAAK,IAAI,OAAyB,EAAE,CAAC;QAC9C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,SAAS;QAClD,IACE,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC;eACnF,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EACjC,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,OAAgB;IAC9C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,SAAS,CAAC;IAC9C,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,KAAK,IAAI,OAAyB,EAAE,CAAC;QAC9C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,SAAS;QAClD,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAC9B,MAAM,IAAI,GAAG,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ;gBAC7C,CAAC,CAAC,KAAK,CAAC,QAAQ;gBAChB,CAAC,CAAC,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5D,IAAI,IAAI;gBAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACzD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAgB;IAC/C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,SAAS,CAAC;IAC9C,MAAM,KAAK,GAA2C,EAAE,CAAC;IACzD,KAAK,MAAM,KAAK,IAAI,OAAyB,EAAE,CAAC;QAC9C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,SAAS;QAClD,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YACzF,MAAM,IAAI,GAAG,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;gBACzC,CAAC,CAAC,KAAK,CAAC,IAAI;gBACZ,CAAC,CAAC,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ;oBAClC,CAAC,CAAC,KAAK,CAAC,QAAQ;oBAChB,CAAC,CAAC,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ;wBACnC,CAAC,CAAC,KAAK,CAAC,SAAS;wBACjB,CAAC,CAAC,SAAS,CAAC;YAClB,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC;YAC7D,MAAM,IAAI,GAAG,OAAO;gBAClB,CAAC,CAAC,CAAC,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;gBACnE,CAAC,CAAC,SAAS,CAAC;YACd,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAC9C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAgB;IAClD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,SAAS,CAAC;IAC9C,MAAM,KAAK,GAAyB,EAAE,CAAC;IACvC,KAAK,MAAM,KAAK,IAAI,OAAyB,EAAE,CAAC;QAC9C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,SAAS;QAClD,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACpD,4BAA4B;YAC5B,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACjH,SAAS;YACX,CAAC;YACD,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YACtK,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACvE,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAChC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAC9C,CAAC;AAED,gBAAgB;AAChB,SAAS,QAAQ,CAAC,CAAU;IAC1B,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC3D,CAAC;AAED,+DAA+D;AAC/D,QAAQ;AACR,+DAA+D;AAE/D;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAA4B;IAC3D,MAAM,IAAI,GAAG,GAAG,CAAC,IAA0B,CAAC;IAC5C,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAEvB,MAAM,cAAc,GAAG,CAAC,GAA2B,EAAE;QACnD,QAAQ,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YAC3B,KAAK,MAAM,CAAC,CAAC,OAAO,MAAM,CAAC;YAC3B,KAAK,WAAW,CAAC,CAAC,OAAO,WAAW,CAAC;YACrC,KAAK,QAAQ,CAAC,CAAC,OAAO,QAAQ,CAAC;YAC/B,KAAK,MAAM,CAAC;YACZ,KAAK,YAAY,CAAC;YAClB,KAAK,aAAa;gBAChB,OAAO,MAAM,CAAC;YAChB,OAAO,CAAC,CAAC,OAAO,WAAW,CAAC;QAC9B,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;IAEL,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IACtD,MAAM,SAAS,GAAG,cAAc,KAAK,WAAW,CAAC,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7F,MAAM,QAAQ,GAAG,cAAc,KAAK,WAAW,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3F,MAAM,SAAS,GAAG,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IAEhF,iBAAiB;IACjB,IAAI,KAAuC,CAAC;IAC5C,IAAI,cAAc,KAAK,MAAM,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,SAAS,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAClD,MAAM,YAAY,GAAG,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACtD,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,CAAC;QACvF,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;YAAE,KAAK,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC9D,CAAC;SAAM,CAAC;QACN,KAAK,GAAG,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC;IACxD,CAAC;IAED,0BAA0B;IAC1B,IAAI,UAAoD,CAAC;IACzD,IAAI,cAAc,KAAK,MAAM,EAAE,CAAC;QAC9B,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,UAAoB,CAAC;eAChD,QAAQ,CAAC,GAAG,CAAC,YAAsB,CAAC;eACpC,QAAQ,CAAC,GAAG,CAAC,MAAgB,CAAC,CAAC;QACpC,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAc,CAAC;eACpC,QAAQ,CAAC,GAAG,CAAC,QAAkB,CAAC;eAChC,QAAQ,CAAC,GAAG,CAAC,SAAmB,CAAC,CAAC;QACvC,MAAM,MAAM,GAAG,IAAI;eACd,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;eACrG,SAAS,CAAC;QACf,UAAU,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC5C,CAAC;IAED,WAAW;IACX,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,UAAU,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK,EAAE,MAAM;QAAE,OAAO,IAAI,CAAC;IAEnF,OAAO;QACL,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE,IAAI;QACb,SAAS;QACT,GAAG,CAAC,SAAS,IAAI,EAAE,SAAS,EAAE,CAAC;QAC/B,GAAG,CAAC,UAAU,IAAI,EAAE,UAAU,EAAE,CAAC;QACjC,GAAG,CAAC,QAAQ,IAAI,EAAE,QAAQ,EAAE,CAAC;QAC7B,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;KAC5C,CAAC;AACJ,CAAC"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * LightClaw — Session Reader
3
+ *
4
+ * 核心的历史消息读取逻辑,包含:
5
+ * - readSessionHistory() — 读取单个 session 的历史消息
6
+ * - readSessionHistoryTail() — 从文件末尾高效读取(大文件优化)
7
+ * - readCronHistory() — 读取指定 cron job 的全部运行历史
8
+ * - readSessionHistoryWithCron() — 【方案C核心】主会话 + cron 消息按时间线混合
9
+ * - listSessions() — 列出所有 session(含 cron 类型标识)
10
+ */
11
+ import type { HistoryMessage, ReadHistoryOptions, ReadHistoryTailOptions, ReadHistoryWithCronOptions, SessionListEntry } from "./types.js";
12
+ /**
13
+ * 读取指定 sessionKey 的历史对话消息
14
+ *
15
+ * @param sessionKey - 会话标识(与 gateway.ts 中 route.sessionKey 一致)
16
+ * @param opts - 选项
17
+ * @returns 历史消息数组(按时间正序),如果找不到 session 返回空数组
18
+ */
19
+ export declare function readSessionHistory(sessionKey: string, opts?: ReadHistoryOptions): HistoryMessage[];
20
+ /**
21
+ * 读取指定 sessionKey 的历史消息(从文件末尾读取,大文件性能更好)
22
+ *
23
+ * 对于大文件(>maxBytes),不读取整个文件,而是从末尾读取指定字节数。
24
+ */
25
+ export declare function readSessionHistoryTail(sessionKey: string, opts?: ReadHistoryTailOptions): HistoryMessage[];
26
+ /**
27
+ * 读取指定 cron job 的所有运行历史(跨多个 run session)
28
+ *
29
+ * @param cronJobId - cron job UUID
30
+ * @param opts - 选项
31
+ * @returns 按时间正序排列的所有运行消息(仅 user + assistant)
32
+ */
33
+ export declare function readCronHistory(cronJobId: string, opts?: ReadHistoryOptions): HistoryMessage[];
34
+ /**
35
+ * 读取主会话历史 + 关联的 cron 消息,按时间线合并
36
+ *
37
+ * 关联机制(精确关联,非遍历全量):
38
+ * 1. 读取主会话 JSONL → 解析消息 + 同时扫描 cron 工具调用结果
39
+ * 2. 从 cron toolResult 中提取 cron job IDs(显式关联)
40
+ * 3. 用这些 job IDs 到 sessions.json 中精确匹配 cron run sessions
41
+ * 4. 读取关联的 cron run sessions 的消息
42
+ * 5. 按时间窗口过滤 + 合并排序
43
+ *
44
+ * 相比旧方案(遍历所有 cron sessions + 时间窗口近似匹配),
45
+ * 新方案通过主会话中的 cron 工具调用记录建立了**显式关联关系**。
46
+ *
47
+ * @param sessionKey - 主会话标识
48
+ * @param opts - 选项(可控制是否包含 cron、筛选特定 cron job)
49
+ * @returns 按时间正序排列的合并消息
50
+ */
51
+ export declare function readSessionHistoryWithCron(sessionKey: string, opts?: ReadHistoryWithCronOptions): HistoryMessage[];
52
+ /**
53
+ * 列出所有已知的 session(从 sessions.json 索引读取)
54
+ *
55
+ * 增强:每个条目标识会话类型(direct / cron-base / cron-run)
56
+ */
57
+ export declare function listSessions(agentId?: string): SessionListEntry[];
58
+ //# sourceMappingURL=session-reader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-reader.d.ts","sourceRoot":"","sources":["../../../src/history/session-reader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,KAAK,EACV,cAAc,EACd,kBAAkB,EAClB,sBAAsB,EACtB,0BAA0B,EAC1B,gBAAgB,EACjB,MAAM,YAAY,CAAC;AAgBpB;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,kBAAkB,GAAG,cAAc,EAAE,CAalG;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,MAAM,EAClB,IAAI,CAAC,EAAE,sBAAsB,GAC5B,cAAc,EAAE,CA6ClB;AAMD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,SAAS,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE,kBAAkB,GACxB,cAAc,EAAE,CA4BlB;AAMD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,MAAM,EAClB,IAAI,CAAC,EAAE,0BAA0B,GAChC,cAAc,EAAE,CAiElB;AAMD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAejE"}