@creatoria/miniapp-mcp 0.1.3 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (414) hide show
  1. package/README.md +131 -66
  2. package/dist/app/cli/index.d.ts +6 -0
  3. package/dist/app/cli/index.d.ts.map +1 -0
  4. package/dist/app/cli/index.js +6 -0
  5. package/dist/app/cli/index.js.map +1 -0
  6. package/dist/app/index.d.ts +6 -0
  7. package/dist/app/index.d.ts.map +1 -0
  8. package/dist/app/index.js +6 -0
  9. package/dist/app/index.js.map +1 -0
  10. package/dist/app/server/index.d.ts +7 -0
  11. package/dist/app/server/index.d.ts.map +1 -0
  12. package/dist/app/server/index.js +6 -0
  13. package/dist/app/server/index.js.map +1 -0
  14. package/dist/capabilities/assert/handlers/assert-handlers.d.ts +98 -0
  15. package/dist/capabilities/assert/handlers/assert-handlers.d.ts.map +1 -0
  16. package/dist/capabilities/assert/handlers/assert-handlers.js +179 -0
  17. package/dist/capabilities/assert/handlers/assert-handlers.js.map +1 -0
  18. package/dist/capabilities/assert/handlers/index.d.ts +7 -0
  19. package/dist/capabilities/assert/handlers/index.d.ts.map +1 -0
  20. package/dist/capabilities/assert/handlers/index.js +7 -0
  21. package/dist/capabilities/assert/handlers/index.js.map +1 -0
  22. package/dist/capabilities/assert/index.d.ts +15 -0
  23. package/dist/capabilities/assert/index.d.ts.map +1 -0
  24. package/dist/capabilities/assert/index.js +90 -0
  25. package/dist/capabilities/assert/index.js.map +1 -0
  26. package/dist/capabilities/assert/schemas/index.d.ts +101 -0
  27. package/dist/capabilities/assert/schemas/index.d.ts.map +1 -0
  28. package/dist/capabilities/assert/schemas/index.js +62 -0
  29. package/dist/capabilities/assert/schemas/index.js.map +1 -0
  30. package/dist/capabilities/automator/handlers/close.d.ts +18 -0
  31. package/dist/capabilities/automator/handlers/close.d.ts.map +1 -0
  32. package/dist/capabilities/automator/handlers/close.js +45 -0
  33. package/dist/capabilities/automator/handlers/close.js.map +1 -0
  34. package/dist/capabilities/automator/handlers/connect.d.ts +24 -0
  35. package/dist/capabilities/automator/handlers/connect.d.ts.map +1 -0
  36. package/dist/capabilities/automator/handlers/connect.js +51 -0
  37. package/dist/capabilities/automator/handlers/connect.js.map +1 -0
  38. package/dist/capabilities/automator/handlers/disconnect.d.ts +16 -0
  39. package/dist/capabilities/automator/handlers/disconnect.d.ts.map +1 -0
  40. package/dist/capabilities/automator/handlers/disconnect.js +44 -0
  41. package/dist/capabilities/automator/handlers/disconnect.js.map +1 -0
  42. package/dist/capabilities/automator/handlers/index.d.ts +8 -0
  43. package/dist/capabilities/automator/handlers/index.d.ts.map +1 -0
  44. package/dist/capabilities/automator/handlers/index.js +8 -0
  45. package/dist/capabilities/automator/handlers/index.js.map +1 -0
  46. package/dist/capabilities/automator/handlers/launch.d.ts +25 -0
  47. package/dist/capabilities/automator/handlers/launch.d.ts.map +1 -0
  48. package/dist/capabilities/automator/handlers/launch.js +61 -0
  49. package/dist/capabilities/automator/handlers/launch.js.map +1 -0
  50. package/dist/capabilities/automator/index.d.ts +15 -0
  51. package/dist/capabilities/automator/index.d.ts.map +1 -0
  52. package/dist/capabilities/automator/index.js +55 -0
  53. package/dist/capabilities/automator/index.js.map +1 -0
  54. package/dist/capabilities/automator/schemas/close.d.ts +5 -0
  55. package/dist/capabilities/automator/schemas/close.d.ts.map +1 -0
  56. package/dist/capabilities/automator/schemas/close.js +11 -0
  57. package/dist/capabilities/automator/schemas/close.js.map +1 -0
  58. package/dist/capabilities/automator/schemas/connect.d.ts +11 -0
  59. package/dist/capabilities/automator/schemas/connect.d.ts.map +1 -0
  60. package/dist/capabilities/automator/schemas/connect.js +19 -0
  61. package/dist/capabilities/automator/schemas/connect.js.map +1 -0
  62. package/dist/capabilities/automator/schemas/disconnect.d.ts +5 -0
  63. package/dist/capabilities/automator/schemas/disconnect.d.ts.map +1 -0
  64. package/dist/capabilities/automator/schemas/disconnect.js +11 -0
  65. package/dist/capabilities/automator/schemas/disconnect.js.map +1 -0
  66. package/dist/capabilities/automator/schemas/index.d.ts +9 -0
  67. package/dist/capabilities/automator/schemas/index.d.ts.map +1 -0
  68. package/dist/capabilities/automator/schemas/index.js +14 -0
  69. package/dist/capabilities/automator/schemas/index.js.map +1 -0
  70. package/dist/capabilities/automator/schemas/launch.d.ts +17 -0
  71. package/dist/capabilities/automator/schemas/launch.d.ts.map +1 -0
  72. package/dist/capabilities/automator/schemas/launch.js +26 -0
  73. package/dist/capabilities/automator/schemas/launch.js.map +1 -0
  74. package/dist/capabilities/element/handlers/element-handlers.d.ts +212 -0
  75. package/dist/capabilities/element/handlers/element-handlers.d.ts.map +1 -0
  76. package/dist/capabilities/element/handlers/element-handlers.js +383 -0
  77. package/dist/capabilities/element/handlers/element-handlers.js.map +1 -0
  78. package/dist/capabilities/element/handlers/index.d.ts +7 -0
  79. package/dist/capabilities/element/handlers/index.d.ts.map +1 -0
  80. package/dist/capabilities/element/handlers/index.js +27 -0
  81. package/dist/capabilities/element/handlers/index.js.map +1 -0
  82. package/dist/capabilities/element/index.d.ts +20 -0
  83. package/dist/capabilities/element/index.d.ts.map +1 -0
  84. package/dist/capabilities/element/index.js +199 -0
  85. package/dist/capabilities/element/index.js.map +1 -0
  86. package/dist/capabilities/element/schemas/index.d.ts +325 -0
  87. package/dist/capabilities/element/schemas/index.d.ts.map +1 -0
  88. package/dist/capabilities/element/schemas/index.js +168 -0
  89. package/dist/capabilities/element/schemas/index.js.map +1 -0
  90. package/dist/capabilities/index.d.ts +34 -0
  91. package/dist/capabilities/index.d.ts.map +1 -0
  92. package/dist/capabilities/index.js +40 -0
  93. package/dist/capabilities/index.js.map +1 -0
  94. package/dist/capabilities/loader.d.ts +61 -0
  95. package/dist/capabilities/loader.d.ts.map +1 -0
  96. package/dist/capabilities/loader.js +164 -0
  97. package/dist/capabilities/loader.js.map +1 -0
  98. package/dist/capabilities/miniprogram/handlers/call-wx.d.ts +24 -0
  99. package/dist/capabilities/miniprogram/handlers/call-wx.d.ts.map +1 -0
  100. package/dist/capabilities/miniprogram/handlers/call-wx.js +37 -0
  101. package/dist/capabilities/miniprogram/handlers/call-wx.js.map +1 -0
  102. package/dist/capabilities/miniprogram/handlers/evaluate.d.ts +32 -0
  103. package/dist/capabilities/miniprogram/handlers/evaluate.d.ts.map +1 -0
  104. package/dist/capabilities/miniprogram/handlers/evaluate.js +51 -0
  105. package/dist/capabilities/miniprogram/handlers/evaluate.js.map +1 -0
  106. package/dist/capabilities/miniprogram/handlers/index.d.ts +12 -0
  107. package/dist/capabilities/miniprogram/handlers/index.d.ts.map +1 -0
  108. package/dist/capabilities/miniprogram/handlers/index.js +12 -0
  109. package/dist/capabilities/miniprogram/handlers/index.js.map +1 -0
  110. package/dist/capabilities/miniprogram/handlers/navigate.d.ts +26 -0
  111. package/dist/capabilities/miniprogram/handlers/navigate.d.ts.map +1 -0
  112. package/dist/capabilities/miniprogram/handlers/navigate.js +56 -0
  113. package/dist/capabilities/miniprogram/handlers/navigate.js.map +1 -0
  114. package/dist/capabilities/miniprogram/handlers/page-stack.d.ts +20 -0
  115. package/dist/capabilities/miniprogram/handlers/page-stack.d.ts.map +1 -0
  116. package/dist/capabilities/miniprogram/handlers/page-stack.js +37 -0
  117. package/dist/capabilities/miniprogram/handlers/page-stack.js.map +1 -0
  118. package/dist/capabilities/miniprogram/handlers/screenshot.d.ts +33 -0
  119. package/dist/capabilities/miniprogram/handlers/screenshot.d.ts.map +1 -0
  120. package/dist/capabilities/miniprogram/handlers/screenshot.js +132 -0
  121. package/dist/capabilities/miniprogram/handlers/screenshot.js.map +1 -0
  122. package/dist/capabilities/miniprogram/handlers/system-info.d.ts +17 -0
  123. package/dist/capabilities/miniprogram/handlers/system-info.d.ts.map +1 -0
  124. package/dist/capabilities/miniprogram/handlers/system-info.js +31 -0
  125. package/dist/capabilities/miniprogram/handlers/system-info.js.map +1 -0
  126. package/dist/capabilities/miniprogram/index.d.ts +15 -0
  127. package/dist/capabilities/miniprogram/index.d.ts.map +1 -0
  128. package/dist/capabilities/miniprogram/index.js +69 -0
  129. package/dist/capabilities/miniprogram/index.js.map +1 -0
  130. package/dist/capabilities/miniprogram/schemas/call-wx.d.ts +15 -0
  131. package/dist/capabilities/miniprogram/schemas/call-wx.d.ts.map +1 -0
  132. package/dist/capabilities/miniprogram/schemas/call-wx.js +11 -0
  133. package/dist/capabilities/miniprogram/schemas/call-wx.js.map +1 -0
  134. package/dist/capabilities/miniprogram/schemas/evaluate.d.ts +15 -0
  135. package/dist/capabilities/miniprogram/schemas/evaluate.d.ts.map +1 -0
  136. package/dist/capabilities/miniprogram/schemas/evaluate.js +11 -0
  137. package/dist/capabilities/miniprogram/schemas/evaluate.js.map +1 -0
  138. package/dist/capabilities/miniprogram/schemas/index.d.ts +10 -0
  139. package/dist/capabilities/miniprogram/schemas/index.d.ts.map +1 -0
  140. package/dist/capabilities/miniprogram/schemas/index.js +10 -0
  141. package/dist/capabilities/miniprogram/schemas/index.js.map +1 -0
  142. package/dist/capabilities/miniprogram/schemas/navigate.d.ts +18 -0
  143. package/dist/capabilities/miniprogram/schemas/navigate.d.ts.map +1 -0
  144. package/dist/capabilities/miniprogram/schemas/navigate.js +22 -0
  145. package/dist/capabilities/miniprogram/schemas/navigate.js.map +1 -0
  146. package/dist/capabilities/miniprogram/schemas/page-stack.d.ts +6 -0
  147. package/dist/capabilities/miniprogram/schemas/page-stack.d.ts.map +1 -0
  148. package/dist/capabilities/miniprogram/schemas/page-stack.js +6 -0
  149. package/dist/capabilities/miniprogram/schemas/page-stack.js.map +1 -0
  150. package/dist/capabilities/miniprogram/schemas/screenshot.d.ts +18 -0
  151. package/dist/capabilities/miniprogram/schemas/screenshot.d.ts.map +1 -0
  152. package/dist/capabilities/miniprogram/schemas/screenshot.js +21 -0
  153. package/dist/capabilities/miniprogram/schemas/screenshot.js.map +1 -0
  154. package/dist/capabilities/miniprogram/schemas/system-info.d.ts +6 -0
  155. package/dist/capabilities/miniprogram/schemas/system-info.d.ts.map +1 -0
  156. package/dist/capabilities/miniprogram/schemas/system-info.js +6 -0
  157. package/dist/capabilities/miniprogram/schemas/system-info.js.map +1 -0
  158. package/dist/capabilities/network/handlers/index.d.ts +7 -0
  159. package/dist/capabilities/network/handlers/index.d.ts.map +1 -0
  160. package/dist/capabilities/network/handlers/index.js +7 -0
  161. package/dist/capabilities/network/handlers/index.js.map +1 -0
  162. package/dist/capabilities/network/handlers/network-handlers.d.ts +53 -0
  163. package/dist/capabilities/network/handlers/network-handlers.d.ts.map +1 -0
  164. package/dist/capabilities/network/handlers/network-handlers.js +127 -0
  165. package/dist/capabilities/network/handlers/network-handlers.js.map +1 -0
  166. package/dist/capabilities/network/index.d.ts +15 -0
  167. package/dist/capabilities/network/index.d.ts.map +1 -0
  168. package/dist/capabilities/network/index.js +69 -0
  169. package/dist/capabilities/network/index.js.map +1 -0
  170. package/dist/capabilities/network/schemas/index.d.ts +53 -0
  171. package/dist/capabilities/network/schemas/index.d.ts.map +1 -0
  172. package/dist/capabilities/network/schemas/index.js +33 -0
  173. package/dist/capabilities/network/schemas/index.js.map +1 -0
  174. package/dist/capabilities/page/handlers/index.d.ts +7 -0
  175. package/dist/capabilities/page/handlers/index.d.ts.map +1 -0
  176. package/dist/capabilities/page/handlers/index.js +7 -0
  177. package/dist/capabilities/page/handlers/index.js.map +1 -0
  178. package/dist/capabilities/page/handlers/page-handlers.d.ts +165 -0
  179. package/dist/capabilities/page/handlers/page-handlers.d.ts.map +1 -0
  180. package/dist/capabilities/page/handlers/page-handlers.js +258 -0
  181. package/dist/capabilities/page/handlers/page-handlers.js.map +1 -0
  182. package/dist/capabilities/page/index.d.ts +15 -0
  183. package/dist/capabilities/page/index.d.ts.map +1 -0
  184. package/dist/capabilities/page/index.js +83 -0
  185. package/dist/capabilities/page/index.js.map +1 -0
  186. package/dist/capabilities/page/schemas/index.d.ts +91 -0
  187. package/dist/capabilities/page/schemas/index.d.ts.map +1 -0
  188. package/dist/capabilities/page/schemas/index.js +55 -0
  189. package/dist/capabilities/page/schemas/index.js.map +1 -0
  190. package/dist/capabilities/record/handlers/index.d.ts +7 -0
  191. package/dist/capabilities/record/handlers/index.d.ts.map +1 -0
  192. package/dist/capabilities/record/handlers/index.js +7 -0
  193. package/dist/capabilities/record/handlers/index.js.map +1 -0
  194. package/dist/capabilities/record/handlers/record-handlers.d.ts +76 -0
  195. package/dist/capabilities/record/handlers/record-handlers.d.ts.map +1 -0
  196. package/dist/capabilities/record/handlers/record-handlers.js +255 -0
  197. package/dist/capabilities/record/handlers/record-handlers.js.map +1 -0
  198. package/dist/capabilities/record/index.d.ts +15 -0
  199. package/dist/capabilities/record/index.d.ts.map +1 -0
  200. package/dist/capabilities/record/index.js +69 -0
  201. package/dist/capabilities/record/index.js.map +1 -0
  202. package/dist/capabilities/record/schemas/index.d.ts +47 -0
  203. package/dist/capabilities/record/schemas/index.d.ts.map +1 -0
  204. package/dist/capabilities/record/schemas/index.js +33 -0
  205. package/dist/capabilities/record/schemas/index.js.map +1 -0
  206. package/dist/capabilities/registry.d.ts +138 -0
  207. package/dist/capabilities/registry.d.ts.map +1 -0
  208. package/dist/capabilities/registry.js +261 -0
  209. package/dist/capabilities/registry.js.map +1 -0
  210. package/dist/capabilities/schema-registry.d.ts +4 -0
  211. package/dist/capabilities/schema-registry.d.ts.map +1 -0
  212. package/dist/capabilities/schema-registry.js +18 -0
  213. package/dist/capabilities/schema-registry.js.map +1 -0
  214. package/dist/capabilities/schema-types.d.ts +22 -0
  215. package/dist/capabilities/schema-types.d.ts.map +1 -0
  216. package/dist/capabilities/schema-types.js +2 -0
  217. package/dist/capabilities/schema-types.js.map +1 -0
  218. package/dist/capabilities/snapshot/handlers/index.d.ts +7 -0
  219. package/dist/capabilities/snapshot/handlers/index.d.ts.map +1 -0
  220. package/dist/capabilities/snapshot/handlers/index.js +7 -0
  221. package/dist/capabilities/snapshot/handlers/index.js.map +1 -0
  222. package/dist/capabilities/snapshot/handlers/snapshot-handlers.d.ts +75 -0
  223. package/dist/capabilities/snapshot/handlers/snapshot-handlers.d.ts.map +1 -0
  224. package/dist/capabilities/snapshot/handlers/snapshot-handlers.js +201 -0
  225. package/dist/capabilities/snapshot/handlers/snapshot-handlers.js.map +1 -0
  226. package/dist/capabilities/snapshot/index.d.ts +15 -0
  227. package/dist/capabilities/snapshot/index.d.ts.map +1 -0
  228. package/dist/capabilities/snapshot/index.js +48 -0
  229. package/dist/capabilities/snapshot/index.js.map +1 -0
  230. package/dist/capabilities/snapshot/schemas/index.d.ts +47 -0
  231. package/dist/capabilities/snapshot/schemas/index.d.ts.map +1 -0
  232. package/dist/capabilities/snapshot/schemas/index.js +28 -0
  233. package/dist/capabilities/snapshot/schemas/index.js.map +1 -0
  234. package/dist/config/loader.js +1 -1
  235. package/dist/config/loader.js.map +1 -1
  236. package/dist/core/element-ref.d.ts +1 -43
  237. package/dist/core/element-ref.d.ts.map +1 -1
  238. package/dist/core/element-ref.js +1 -212
  239. package/dist/core/element-ref.js.map +1 -1
  240. package/dist/core/logger.d.ts +1 -54
  241. package/dist/core/logger.d.ts.map +1 -1
  242. package/dist/core/logger.js +1 -377
  243. package/dist/core/logger.js.map +1 -1
  244. package/dist/core/output.d.ts +1 -20
  245. package/dist/core/output.d.ts.map +1 -1
  246. package/dist/core/output.js +1 -55
  247. package/dist/core/output.js.map +1 -1
  248. package/dist/core/report-generator.d.ts +1 -23
  249. package/dist/core/report-generator.d.ts.map +1 -1
  250. package/dist/core/report-generator.js +1 -211
  251. package/dist/core/report-generator.js.map +1 -1
  252. package/dist/core/session.d.ts +2 -82
  253. package/dist/core/session.d.ts.map +1 -1
  254. package/dist/core/session.js +2 -305
  255. package/dist/core/session.js.map +1 -1
  256. package/dist/core/timeout.d.ts +1 -48
  257. package/dist/core/timeout.d.ts.map +1 -1
  258. package/dist/core/timeout.js +1 -66
  259. package/dist/core/timeout.js.map +1 -1
  260. package/dist/core/tool-logger.d.ts +1 -82
  261. package/dist/core/tool-logger.d.ts.map +1 -1
  262. package/dist/core/tool-logger.js +1 -452
  263. package/dist/core/tool-logger.js.map +1 -1
  264. package/dist/core/validation.d.ts +1 -38
  265. package/dist/core/validation.d.ts.map +1 -1
  266. package/dist/core/validation.js +1 -92
  267. package/dist/core/validation.js.map +1 -1
  268. package/dist/runtime/element/element-ref.d.ts +44 -0
  269. package/dist/runtime/element/element-ref.d.ts.map +1 -0
  270. package/dist/runtime/element/element-ref.js +214 -0
  271. package/dist/runtime/element/element-ref.js.map +1 -0
  272. package/dist/runtime/element/index.d.ts +2 -0
  273. package/dist/runtime/element/index.d.ts.map +1 -0
  274. package/dist/runtime/element/index.js +2 -0
  275. package/dist/runtime/element/index.js.map +1 -0
  276. package/dist/runtime/index.d.ts +11 -0
  277. package/dist/runtime/index.d.ts.map +1 -0
  278. package/dist/runtime/index.js +11 -0
  279. package/dist/runtime/index.js.map +1 -0
  280. package/dist/runtime/logging/index.d.ts +3 -0
  281. package/dist/runtime/logging/index.d.ts.map +1 -0
  282. package/dist/runtime/logging/index.js +3 -0
  283. package/dist/runtime/logging/index.js.map +1 -0
  284. package/dist/runtime/logging/logger.d.ts +55 -0
  285. package/dist/runtime/logging/logger.d.ts.map +1 -0
  286. package/dist/runtime/logging/logger.js +379 -0
  287. package/dist/runtime/logging/logger.js.map +1 -0
  288. package/dist/runtime/logging/tool-logger.d.ts +83 -0
  289. package/dist/runtime/logging/tool-logger.d.ts.map +1 -0
  290. package/dist/runtime/logging/tool-logger.js +454 -0
  291. package/dist/runtime/logging/tool-logger.js.map +1 -0
  292. package/dist/runtime/outputs/index.d.ts +3 -0
  293. package/dist/runtime/outputs/index.d.ts.map +1 -0
  294. package/dist/runtime/outputs/index.js +3 -0
  295. package/dist/runtime/outputs/index.js.map +1 -0
  296. package/dist/runtime/outputs/output-manager.d.ts +12 -0
  297. package/dist/runtime/outputs/output-manager.d.ts.map +1 -0
  298. package/dist/runtime/outputs/output-manager.js +39 -0
  299. package/dist/runtime/outputs/output-manager.js.map +1 -0
  300. package/dist/runtime/outputs/report-generator.d.ts +5 -0
  301. package/dist/runtime/outputs/report-generator.d.ts.map +1 -0
  302. package/dist/runtime/outputs/report-generator.js +175 -0
  303. package/dist/runtime/outputs/report-generator.js.map +1 -0
  304. package/dist/runtime/retry/index.d.ts +5 -0
  305. package/dist/runtime/retry/index.d.ts.map +1 -0
  306. package/dist/runtime/retry/index.js +5 -0
  307. package/dist/runtime/retry/index.js.map +1 -0
  308. package/dist/runtime/retry/retry.d.ts +61 -0
  309. package/dist/runtime/retry/retry.d.ts.map +1 -0
  310. package/dist/runtime/retry/retry.js +90 -0
  311. package/dist/runtime/retry/retry.js.map +1 -0
  312. package/dist/runtime/session/index.d.ts +3 -0
  313. package/dist/runtime/session/index.d.ts.map +1 -0
  314. package/dist/runtime/session/index.js +3 -0
  315. package/dist/runtime/session/index.js.map +1 -0
  316. package/dist/runtime/session/store.d.ts +28 -0
  317. package/dist/runtime/session/store.d.ts.map +1 -0
  318. package/dist/runtime/session/store.js +154 -0
  319. package/dist/runtime/session/store.js.map +1 -0
  320. package/dist/runtime/session/utils/cleanup.d.ts +3 -0
  321. package/dist/runtime/session/utils/cleanup.d.ts.map +1 -0
  322. package/dist/runtime/session/utils/cleanup.js +78 -0
  323. package/dist/runtime/session/utils/cleanup.js.map +1 -0
  324. package/dist/runtime/timeout/index.d.ts +2 -0
  325. package/dist/runtime/timeout/index.d.ts.map +1 -0
  326. package/dist/runtime/timeout/index.js +2 -0
  327. package/dist/runtime/timeout/index.js.map +1 -0
  328. package/dist/runtime/timeout/timeout.d.ts +59 -0
  329. package/dist/runtime/timeout/timeout.d.ts.map +1 -0
  330. package/dist/runtime/timeout/timeout.js +77 -0
  331. package/dist/runtime/timeout/timeout.js.map +1 -0
  332. package/dist/runtime/validation/index.d.ts +2 -0
  333. package/dist/runtime/validation/index.d.ts.map +1 -0
  334. package/dist/runtime/validation/index.js +2 -0
  335. package/dist/runtime/validation/index.js.map +1 -0
  336. package/dist/runtime/validation/validation.d.ts +39 -0
  337. package/dist/runtime/validation/validation.d.ts.map +1 -0
  338. package/dist/runtime/validation/validation.js +93 -0
  339. package/dist/runtime/validation/validation.js.map +1 -0
  340. package/dist/schemas/automator/miniprogram_close.json +12 -0
  341. package/dist/schemas/automator/miniprogram_connect.json +19 -0
  342. package/dist/schemas/automator/miniprogram_disconnect.json +12 -0
  343. package/dist/schemas/automator/miniprogram_launch.json +30 -0
  344. package/dist/server.js +5 -5
  345. package/dist/server.js.map +1 -1
  346. package/dist/tools/index.d.ts.map +1 -1
  347. package/dist/tools/index.js +8 -4
  348. package/dist/tools/index.js.map +1 -1
  349. package/dist/tools/miniprogram.d.ts +11 -2
  350. package/dist/tools/miniprogram.d.ts.map +1 -1
  351. package/dist/tools/miniprogram.js +111 -41
  352. package/dist/tools/miniprogram.js.map +1 -1
  353. package/dist/tools/page.js +2 -2
  354. package/dist/tools/page.js.map +1 -1
  355. package/docs/current/01-architecture-migration.md +337 -0
  356. package/docs/current/02-screenshot-timeout-fix.md +589 -0
  357. package/docs/current/README.md +226 -0
  358. package/docs/directory-structure-and-code-style-best-practices.md +91 -0
  359. package/docs/migration/README.md +34 -0
  360. package/docs/migration/TC-ALIGN-01-notes.md +35 -0
  361. package/docs/migration/runtime-skeleton.md +50 -0
  362. package/docs/migration/tool-schema-strategy.md +75 -0
  363. package/docs//345/256/214/346/225/264/345/256/236/347/216/260/346/226/271/346/241/210.md +14 -14
  364. package/docs//347/254/254/344/270/200/347/211/210/346/234/254/346/226/271/346/241/210.md +7 -7
  365. package/package.json +4 -2
  366. package/docs/SIMPLE_USAGE.md +0 -210
  367. package/docs/architecture.E-Docs.md +0 -1359
  368. package/docs/architecture.F1.md +0 -720
  369. package/docs/architecture.F2.md +0 -871
  370. package/docs/architecture.F3.md +0 -905
  371. package/docs/architecture.md +0 -90
  372. package/docs/charter.A1.align.yaml +0 -170
  373. package/docs/charter.A2.align.yaml +0 -199
  374. package/docs/charter.A3.align.yaml +0 -242
  375. package/docs/charter.A4.align.yaml +0 -227
  376. package/docs/charter.B1.align.yaml +0 -179
  377. package/docs/charter.B2.align.yaml +0 -200
  378. package/docs/charter.B3.align.yaml +0 -200
  379. package/docs/charter.B4.align.yaml +0 -188
  380. package/docs/charter.C1.align.yaml +0 -190
  381. package/docs/charter.C2.align.yaml +0 -202
  382. package/docs/charter.C3.align.yaml +0 -211
  383. package/docs/charter.C4.align.yaml +0 -263
  384. package/docs/charter.C5.align.yaml +0 -220
  385. package/docs/charter.D1.align.yaml +0 -190
  386. package/docs/charter.D2.align.yaml +0 -234
  387. package/docs/charter.D3.align.yaml +0 -206
  388. package/docs/charter.E-Docs.align.yaml +0 -294
  389. package/docs/charter.F1.align.yaml +0 -193
  390. package/docs/charter.F2.align.yaml +0 -248
  391. package/docs/charter.F3.align.yaml +0 -287
  392. package/docs/charter.G.align.yaml +0 -174
  393. package/docs/charter.align.yaml +0 -111
  394. package/docs/maintenance.md +0 -682
  395. package/docs/playwright-mcp/350/260/203/347/240/224.md +0 -53
  396. package/docs/setup-guide.md +0 -775
  397. package/docs/tasks.A1.atomize.md +0 -296
  398. package/docs/tasks.A2.atomize.md +0 -408
  399. package/docs/tasks.A3.atomize.md +0 -564
  400. package/docs/tasks.A4.atomize.md +0 -496
  401. package/docs/tasks.B1.atomize.md +0 -352
  402. package/docs/tasks.B2.atomize.md +0 -561
  403. package/docs/tasks.B3.atomize.md +0 -508
  404. package/docs/tasks.B4.atomize.md +0 -504
  405. package/docs/tasks.C1.atomize.md +0 -540
  406. package/docs/tasks.C2.atomize.md +0 -665
  407. package/docs/tasks.C3.atomize.md +0 -745
  408. package/docs/tasks.C4.atomize.md +0 -908
  409. package/docs/tasks.C5.atomize.md +0 -755
  410. package/docs/tasks.D1.atomize.md +0 -547
  411. package/docs/tasks.D2.atomize.md +0 -619
  412. package/docs/tasks.D3.atomize.md +0 -790
  413. package/docs/tasks.E-Docs.atomize.md +0 -1204
  414. package/docs/tasks.atomize.md +0 -189
@@ -0,0 +1,454 @@
1
+ /* eslint-disable @typescript-eslint/no-explicit-any */
2
+ /**
3
+ * Tool call logger wrapper for automatic logging
4
+ */
5
+ /**
6
+ * Maximum size for logged arguments/results (1KB)
7
+ */
8
+ const MAX_LOG_SIZE = 1024;
9
+ /**
10
+ * Maximum recursion depth for sanitization
11
+ */
12
+ const MAX_SANITIZE_DEPTH = 5;
13
+ /**
14
+ * Maximum number of tool call records to keep in memory (F3)
15
+ */
16
+ const MAX_TOOL_CALL_RECORDS = 1000;
17
+ /**
18
+ * Sensitive key patterns to redact from logs (Issue #3: Enhanced sanitization)
19
+ * Uses regex for case-insensitive matching and pattern variations
20
+ */
21
+ const SENSITIVE_PATTERNS = [
22
+ /password/i,
23
+ /passwd/i,
24
+ /pwd/i,
25
+ /token/i,
26
+ /secret/i,
27
+ /api[_-]?key/i,
28
+ /auth/i,
29
+ /authorization/i,
30
+ /bearer/i,
31
+ /credential/i,
32
+ /private[_-]?key/i,
33
+ /access[_-]?key/i,
34
+ /session[_-]?id/i,
35
+ /csrf/i,
36
+ /xsrf/i,
37
+ /jwt/i,
38
+ // WeChat specific PII
39
+ /openid/i,
40
+ /unionid/i,
41
+ /app[_-]?secret/i,
42
+ ];
43
+ /**
44
+ * Tool logger wrapper for automatic START/END/ERROR logging
45
+ */
46
+ export class ToolLogger {
47
+ logger;
48
+ config;
49
+ capturing = false; // Issue #P2: Prevent recursive snapshot triggers
50
+ constructor(logger, config) {
51
+ this.logger = logger;
52
+ this.config = config;
53
+ }
54
+ /**
55
+ * Wrap a tool handler with automatic logging
56
+ *
57
+ * @param toolName - Name of the tool (e.g., "page_query")
58
+ * @param handler - Original tool handler function
59
+ * @returns Wrapped handler with automatic logging
60
+ */
61
+ wrap(toolName, handler) {
62
+ return async (session, args) => {
63
+ const startTime = Date.now();
64
+ const childLogger = this.logger.child(toolName);
65
+ // Log START
66
+ childLogger.info('Tool call started', {
67
+ phase: 'START',
68
+ args: this.sanitizeArgs(args),
69
+ });
70
+ try {
71
+ // Execute tool
72
+ const result = await handler(session, args);
73
+ const duration = Date.now() - startTime;
74
+ // Log END
75
+ childLogger.info('Tool call completed', {
76
+ phase: 'END',
77
+ duration,
78
+ result: this.sanitizeResult(result),
79
+ });
80
+ // F3: Record successful tool call
81
+ this.recordToolCall(session, {
82
+ timestamp: new Date(startTime),
83
+ toolName,
84
+ duration,
85
+ success: true,
86
+ result: this.sanitizeResult(result),
87
+ });
88
+ return result;
89
+ }
90
+ catch (error) {
91
+ const duration = Date.now() - startTime;
92
+ // Log ERROR
93
+ childLogger.error('Tool call failed', {
94
+ phase: 'ERROR',
95
+ duration,
96
+ error: error instanceof Error ? error.message : String(error),
97
+ stackTrace: error instanceof Error ? error.stack : undefined,
98
+ });
99
+ // F2: Capture failure snapshot (fire-and-forget, non-blocking)
100
+ let snapshotPath;
101
+ if (this.config?.enableFailureSnapshot) {
102
+ snapshotPath = await this.captureFailureSnapshot({
103
+ session,
104
+ toolName,
105
+ args,
106
+ error: error instanceof Error ? error : new Error(String(error)),
107
+ duration,
108
+ }).catch((e) => {
109
+ childLogger.warn('Snapshot capture failed', {
110
+ error: e instanceof Error ? e.message : String(e),
111
+ });
112
+ return undefined;
113
+ });
114
+ }
115
+ // F3: Record failed tool call
116
+ this.recordToolCall(session, {
117
+ timestamp: new Date(startTime),
118
+ toolName,
119
+ duration,
120
+ success: false,
121
+ error: {
122
+ message: this.sanitizeErrorMessage(error instanceof Error ? error.message : String(error)),
123
+ snapshotPath,
124
+ },
125
+ });
126
+ throw error; // Re-throw to preserve error handling
127
+ }
128
+ };
129
+ }
130
+ /**
131
+ * Check if a key name matches sensitive patterns (Issue #3)
132
+ */
133
+ isSensitiveKey(key) {
134
+ return SENSITIVE_PATTERNS.some((pattern) => pattern.test(key));
135
+ }
136
+ /**
137
+ * Sanitize arguments for logging (remove sensitive data, limit size)
138
+ * Issue #3: Enhanced with deep recursion and pattern matching
139
+ */
140
+ sanitizeArgs(args, depth = 0) {
141
+ if (args === null || args === undefined) {
142
+ return args;
143
+ }
144
+ // Prevent infinite recursion
145
+ if (depth > MAX_SANITIZE_DEPTH) {
146
+ return '<Max sanitization depth reached>';
147
+ }
148
+ try {
149
+ // For primitives, handle directly
150
+ if (typeof args !== 'object') {
151
+ if (typeof args === 'string' && args.length > MAX_LOG_SIZE) {
152
+ return args.substring(0, MAX_LOG_SIZE) + `... (${args.length} bytes total)`;
153
+ }
154
+ return args;
155
+ }
156
+ // Handle arrays
157
+ if (Array.isArray(args)) {
158
+ return args.map((item) => this.sanitizeArgs(item, depth + 1));
159
+ }
160
+ // Handle objects with deep sanitization
161
+ const sanitized = {};
162
+ for (const [key, value] of Object.entries(args)) {
163
+ // Redact sensitive keys (Issue #3: Pattern-based matching)
164
+ if (this.isSensitiveKey(key)) {
165
+ sanitized[key] = '[REDACTED]';
166
+ continue;
167
+ }
168
+ // Truncate large strings
169
+ if (typeof value === 'string' && value.length > MAX_LOG_SIZE) {
170
+ sanitized[key] = value.substring(0, MAX_LOG_SIZE) + `... (${value.length} bytes total)`;
171
+ continue;
172
+ }
173
+ // Convert buffers to placeholder
174
+ if (value &&
175
+ typeof value === 'object' &&
176
+ 'type' in value &&
177
+ value.type === 'Buffer' &&
178
+ 'data' in value) {
179
+ const bufferData = value.data;
180
+ sanitized[key] = `<Buffer ${bufferData?.length || 0} bytes>`;
181
+ continue;
182
+ }
183
+ // Recursively sanitize nested objects/arrays (Issue #3: Deep sanitization)
184
+ if (value && typeof value === 'object') {
185
+ sanitized[key] = this.sanitizeArgs(value, depth + 1);
186
+ continue;
187
+ }
188
+ sanitized[key] = value;
189
+ }
190
+ return sanitized;
191
+ }
192
+ catch (error) {
193
+ // If sanitization fails, return placeholder
194
+ return '<Failed to sanitize args>';
195
+ }
196
+ }
197
+ /**
198
+ * Sanitize result for logging (limit size, remove large objects)
199
+ * Issue #3: Use same deep sanitization as args
200
+ */
201
+ sanitizeResult(result, depth = 0) {
202
+ if (result === null || result === undefined) {
203
+ return result;
204
+ }
205
+ // Prevent infinite recursion
206
+ if (depth > MAX_SANITIZE_DEPTH) {
207
+ return '<Max sanitization depth reached>';
208
+ }
209
+ try {
210
+ // For simple types, return as-is
211
+ if (typeof result !== 'object') {
212
+ if (typeof result === 'string' && result.length > MAX_LOG_SIZE) {
213
+ return result.substring(0, MAX_LOG_SIZE) + `... (${result.length} bytes total)`;
214
+ }
215
+ return result;
216
+ }
217
+ // Handle arrays
218
+ if (Array.isArray(result)) {
219
+ if (result.length > 10) {
220
+ return [
221
+ ...result.slice(0, 10).map((item) => this.sanitizeResult(item, depth + 1)),
222
+ `... (${result.length - 10} more items)`,
223
+ ];
224
+ }
225
+ return result.map((item) => this.sanitizeResult(item, depth + 1));
226
+ }
227
+ // For objects, sanitize with deep recursion
228
+ const sanitized = {};
229
+ for (const [key, value] of Object.entries(result)) {
230
+ // Redact sensitive keys in results too (Issue #3)
231
+ if (this.isSensitiveKey(key)) {
232
+ sanitized[key] = '[REDACTED]';
233
+ continue;
234
+ }
235
+ // Truncate large strings
236
+ if (typeof value === 'string' && value.length > MAX_LOG_SIZE) {
237
+ sanitized[key] = value.substring(0, MAX_LOG_SIZE) + `... (${value.length} bytes total)`;
238
+ continue;
239
+ }
240
+ // Convert buffers to placeholder
241
+ if (value &&
242
+ typeof value === 'object' &&
243
+ 'type' in value &&
244
+ value.type === 'Buffer' &&
245
+ 'data' in value) {
246
+ const bufferData = value.data;
247
+ sanitized[key] = `<Buffer ${bufferData?.length || 0} bytes>`;
248
+ continue;
249
+ }
250
+ // Recursively sanitize nested objects/arrays
251
+ if (value && typeof value === 'object') {
252
+ sanitized[key] = this.sanitizeResult(value, depth + 1);
253
+ continue;
254
+ }
255
+ sanitized[key] = value;
256
+ }
257
+ return sanitized;
258
+ }
259
+ catch (error) {
260
+ // If sanitization fails, return placeholder
261
+ return '<Failed to sanitize result>';
262
+ }
263
+ }
264
+ /**
265
+ * Capture failure snapshot when tool call fails (F2 feature)
266
+ *
267
+ * Creates a failure directory with:
268
+ * - snapshot.json: Page data
269
+ * - snapshot.png: Screenshot
270
+ * - error-context.json: Error details + tool context
271
+ *
272
+ * @param context Failure context
273
+ * @returns Relative path to the failure directory (for F3 reporting)
274
+ */
275
+ async captureFailureSnapshot(context) {
276
+ const { session, toolName, args, error, duration } = context;
277
+ const logger = this.logger;
278
+ // Issue #P2: Prevent recursive snapshot triggers
279
+ if (this.capturing) {
280
+ logger?.debug('Skipping failure snapshot: already capturing');
281
+ return undefined;
282
+ }
283
+ this.capturing = true;
284
+ try {
285
+ // 1. Check prerequisites
286
+ if (!this.config?.enableFailureSnapshot) {
287
+ return undefined; // Feature disabled
288
+ }
289
+ if (!session.miniProgram) {
290
+ logger?.debug('Skipping failure snapshot: miniProgram not connected');
291
+ return undefined;
292
+ }
293
+ if (!session.outputManager) {
294
+ logger?.debug('Skipping failure snapshot: outputManager not available');
295
+ return undefined;
296
+ }
297
+ // 2. Create failure directory
298
+ // Issue #P1: Sanitize toolName to prevent path traversal
299
+ const sanitizedToolName = toolName.replace(/[^a-zA-Z0-9_-]/g, '_');
300
+ // Issue #P1: Preserve millisecond precision to avoid collisions
301
+ const timestamp = new Date().toISOString().replace(/[:.]/g, '-').replace('T', '_');
302
+ const failureDirName = `${sanitizedToolName}-${timestamp}`;
303
+ const failureDir = `failures/${failureDirName}`;
304
+ const outputManager = session.outputManager;
305
+ await outputManager.ensureOutputDir();
306
+ // Create failures subdirectory
307
+ const { mkdir } = await import('fs/promises');
308
+ const { join } = await import('path');
309
+ const failurePath = join(outputManager.getOutputDir(), failureDir);
310
+ await mkdir(failurePath, { recursive: true });
311
+ logger?.info('Capturing failure snapshot', { path: failurePath });
312
+ // 3. Capture page snapshot
313
+ const snapshotFilename = join(failureDir, 'snapshot.json');
314
+ const snapshotHandlers = await import('../../capabilities/snapshot/handlers/index.js');
315
+ await snapshotHandlers.snapshotPage(session, {
316
+ filename: snapshotFilename,
317
+ includeScreenshot: true,
318
+ fullPage: false,
319
+ });
320
+ // 4. Save error context
321
+ const errorContext = {
322
+ toolName,
323
+ timestamp: new Date().toISOString(),
324
+ error: {
325
+ message: error.message,
326
+ // Issue #P2: Sanitize stack trace to remove sensitive paths
327
+ stack: this.sanitizeStackTrace(error.stack),
328
+ code: error.code,
329
+ },
330
+ args: this.sanitizeArgs(args), // Reuse existing sanitization
331
+ duration,
332
+ };
333
+ const contextFilename = join(failureDir, 'error-context.json');
334
+ await outputManager.writeFile(contextFilename, Buffer.from(JSON.stringify(errorContext, null, 2)));
335
+ logger?.info('Failure snapshot captured successfully', {
336
+ path: failurePath,
337
+ files: ['snapshot.json', 'snapshot.png', 'error-context.json'],
338
+ });
339
+ // F3: Return relative path for report linking
340
+ return failureDir;
341
+ }
342
+ catch (snapshotError) {
343
+ // Snapshot capture failed - log but don't throw
344
+ logger?.warn('Failed to capture failure snapshot', {
345
+ error: snapshotError instanceof Error ? snapshotError.message : String(snapshotError),
346
+ });
347
+ return undefined;
348
+ }
349
+ finally {
350
+ this.capturing = false;
351
+ }
352
+ }
353
+ /**
354
+ * Record a tool call to session report data (F3 feature)
355
+ *
356
+ * Adds a tool call record to the session's reportData. Implements
357
+ * memory protection by limiting to MAX_TOOL_CALL_RECORDS with FIFO eviction.
358
+ *
359
+ * @param session Session state
360
+ * @param record Tool call record to add
361
+ */
362
+ recordToolCall(session, record) {
363
+ // Skip if session reporting is not enabled
364
+ if (!session.reportData) {
365
+ return;
366
+ }
367
+ // Add record to the array
368
+ session.reportData.toolCalls.push(record);
369
+ // F3-P2: Memory protection with batch eviction for better performance
370
+ // Instead of shift() every time (O(n)), we batch-remove when hitting 1.5x limit
371
+ // This reduces eviction frequency from every call to every 500 calls
372
+ const currentLength = session.reportData.toolCalls.length;
373
+ if (currentLength >= MAX_TOOL_CALL_RECORDS * 1.5) {
374
+ // Remove oldest 50% to get back to limit
375
+ const removeCount = Math.floor(MAX_TOOL_CALL_RECORDS * 0.5);
376
+ const removed = session.reportData.toolCalls.splice(0, removeCount);
377
+ this.logger?.debug('Tool call records evicted (memory limit)', {
378
+ removedCount: removed.length,
379
+ oldestTool: removed[0]?.toolName,
380
+ oldestTimestamp: removed[0]?.timestamp,
381
+ newestRemovedTool: removed[removed.length - 1]?.toolName,
382
+ currentCount: session.reportData.toolCalls.length,
383
+ maxCount: MAX_TOOL_CALL_RECORDS,
384
+ });
385
+ }
386
+ }
387
+ /**
388
+ * Sanitize error message to remove sensitive information (F3-S1)
389
+ *
390
+ * Removes:
391
+ * - File paths (Unix, Linux, Windows)
392
+ * - API keys and tokens (32+ character alphanumeric strings)
393
+ * - Stack trace locations
394
+ *
395
+ * @param message Raw error message
396
+ * @returns Sanitized error message with placeholders
397
+ */
398
+ sanitizeErrorMessage(message) {
399
+ if (!message)
400
+ return message;
401
+ try {
402
+ return (message
403
+ // Replace Unix user paths: /Users/username/ -> /Users/<user>/
404
+ .replace(/\/Users\/[^/]+\//g, '/Users/<user>/')
405
+ // Replace Linux home paths: /home/username/ -> /home/<user>/
406
+ .replace(/\/home\/[^/]+\//g, '/home/<user>/')
407
+ // Replace Windows user paths: C:\Users\username\ -> C:\Users\<user>\
408
+ .replace(/C:\\Users\\[^\\]+\\/gi, 'C:\\Users\\<user>\\')
409
+ // Replace common environment paths
410
+ .replace(/\/opt\/[^/\s]+\//g, '/opt/<app>/')
411
+ .replace(/\/var\/[^/\s]+\//g, '/var/<app>/')
412
+ // Replace long alphanumeric strings with underscores/hyphens (likely API keys/tokens)
413
+ .replace(/\b[a-zA-Z0-9_-]{32,}\b/g, '<REDACTED>')
414
+ // Replace stack trace locations: "at path:line:col" or " at path:line:col" -> "at <path>:<line>:<col>"
415
+ .replace(/\bat\s+[^:\s]+:\d+:\d+/g, 'at <path>:<line>:<col>'));
416
+ }
417
+ catch (error) {
418
+ // If sanitization fails, return placeholder to avoid leaking raw message
419
+ return '<Failed to sanitize error message>';
420
+ }
421
+ }
422
+ /**
423
+ * Sanitize stack trace to remove sensitive file paths (Issue #P2)
424
+ *
425
+ * Removes:
426
+ * - Absolute user paths (/Users/<username>/, /home/<username>/)
427
+ * - Windows paths (C:\Users\<username>\)
428
+ * - Environment-specific paths
429
+ *
430
+ * @param stack Raw stack trace
431
+ * @returns Sanitized stack trace with placeholders
432
+ */
433
+ sanitizeStackTrace(stack) {
434
+ if (!stack)
435
+ return stack;
436
+ try {
437
+ return (stack
438
+ // Replace Unix user paths: /Users/username/ -> /Users/<user>/
439
+ .replace(/\/Users\/[^/]+\//g, '/Users/<user>/')
440
+ // Replace Linux home paths: /home/username/ -> /home/<user>/
441
+ .replace(/\/home\/[^/]+\//g, '/home/<user>/')
442
+ // Replace Windows user paths: C:\Users\username\ -> C:\Users\<user>\
443
+ .replace(/C:\\Users\\[^\\]+\\/gi, 'C:\\Users\\<user>\\')
444
+ // Replace common environment variables that may leak info
445
+ .replace(/\/opt\/[^/]+\//g, '/opt/<app>/')
446
+ .replace(/\/var\/[^/]+\//g, '/var/<app>/'));
447
+ }
448
+ catch (error) {
449
+ // If sanitization fails, return placeholder to avoid leaking raw stack
450
+ return '<Stack trace sanitization failed>';
451
+ }
452
+ }
453
+ }
454
+ //# sourceMappingURL=tool-logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-logger.js","sourceRoot":"","sources":["../../../src/runtime/logging/tool-logger.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export { createOutputManager, FileOutputManager } from './output-manager.js';
2
+ export { generateAndSaveReports, generateSessionReport, generateMarkdownReport } from './report-generator.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtime/outputs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAC5E,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA"}
@@ -0,0 +1,3 @@
1
+ export { createOutputManager, FileOutputManager } from './output-manager.js';
2
+ export { generateAndSaveReports, generateSessionReport, generateMarkdownReport } from './report-generator.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtime/outputs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAC5E,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA"}
@@ -0,0 +1,12 @@
1
+ import type { OutputManager, OutputType } from '../../types.js';
2
+ export declare class FileOutputManager implements OutputManager {
3
+ private outputDir;
4
+ private counter;
5
+ constructor(outputDir: string);
6
+ getOutputDir(): string;
7
+ generateFilename(type: OutputType, extension: string): string;
8
+ writeFile(filename: string, content: Buffer | string): Promise<string>;
9
+ ensureOutputDir(): Promise<void>;
10
+ }
11
+ export declare function createOutputManager(outputDir: string): OutputManager;
12
+ //# sourceMappingURL=output-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output-manager.d.ts","sourceRoot":"","sources":["../../../src/runtime/outputs/output-manager.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAE/D,qBAAa,iBAAkB,YAAW,aAAa;IACrD,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,OAAO,CAAyB;gBAE5B,SAAS,EAAE,MAAM;IAK7B,YAAY,IAAI,MAAM;IAItB,gBAAgB,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM;IAOvD,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAWtE,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;CAKvC;AAED,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,CAEpE"}
@@ -0,0 +1,39 @@
1
+ import { mkdir, writeFile as fsWriteFile } from 'fs/promises';
2
+ import { join, dirname } from 'path';
3
+ import { existsSync } from 'fs';
4
+ export class FileOutputManager {
5
+ outputDir;
6
+ counter;
7
+ constructor(outputDir) {
8
+ this.outputDir = outputDir;
9
+ this.counter = new Map();
10
+ }
11
+ getOutputDir() {
12
+ return this.outputDir;
13
+ }
14
+ generateFilename(type, extension) {
15
+ const count = this.counter.get(type) || 0;
16
+ this.counter.set(type, count + 1);
17
+ const timestamp = new Date().toISOString().replace(/[:.]/g, '-').slice(0, 19);
18
+ return `${type}-${count + 1}-${timestamp}.${extension}`;
19
+ }
20
+ async writeFile(filename, content) {
21
+ await this.ensureOutputDir();
22
+ const fullPath = join(this.outputDir, filename);
23
+ const fileDir = dirname(fullPath);
24
+ if (!existsSync(fileDir)) {
25
+ await mkdir(fileDir, { recursive: true });
26
+ }
27
+ await fsWriteFile(fullPath, content);
28
+ return fullPath;
29
+ }
30
+ async ensureOutputDir() {
31
+ if (!existsSync(this.outputDir)) {
32
+ await mkdir(this.outputDir, { recursive: true });
33
+ }
34
+ }
35
+ }
36
+ export function createOutputManager(outputDir) {
37
+ return new FileOutputManager(outputDir);
38
+ }
39
+ //# sourceMappingURL=output-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output-manager.js","sourceRoot":"","sources":["../../../src/runtime/outputs/output-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,IAAI,WAAW,EAAE,MAAM,aAAa,CAAA;AAC7D,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAA;AAG/B,MAAM,OAAO,iBAAiB;IACpB,SAAS,CAAQ;IACjB,OAAO,CAAyB;IAExC,YAAY,SAAiB;QAC3B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,OAAO,GAAG,IAAI,GAAG,EAAE,CAAA;IAC1B,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,SAAS,CAAA;IACvB,CAAC;IAED,gBAAgB,CAAC,IAAgB,EAAE,SAAiB;QAClD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACzC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;QACjC,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;QAC7E,OAAO,GAAG,IAAI,IAAI,KAAK,GAAG,CAAC,IAAI,SAAS,IAAI,SAAS,EAAE,CAAA;IACzD,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,QAAgB,EAAE,OAAwB;QACxD,MAAM,IAAI,CAAC,eAAe,EAAE,CAAA;QAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;QAC/C,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;QACjC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACzB,MAAM,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAC3C,CAAC;QACD,MAAM,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QACpC,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YAChC,MAAM,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAClD,CAAC;IACH,CAAC;CACF;AAED,MAAM,UAAU,mBAAmB,CAAC,SAAiB;IACnD,OAAO,IAAI,iBAAiB,CAAC,SAAS,CAAC,CAAA;AACzC,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { SessionState, SessionReport } from '../../types.js';
2
+ export declare function generateSessionReport(session: SessionState): SessionReport;
3
+ export declare function generateMarkdownReport(report: SessionReport): string;
4
+ export declare function generateAndSaveReports(session: SessionState): Promise<void>;
5
+ //# sourceMappingURL=report-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"report-generator.d.ts","sourceRoot":"","sources":["../../../src/runtime/outputs/report-generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAkB,MAAM,gBAAgB,CAAA;AA8BjF,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,YAAY,GAAG,aAAa,CA+B1E;AAuDD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAuEpE;AAED,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA0BjF"}