@oni.bot/core 1.0.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (453) hide show
  1. package/package.json +1 -1
  2. package/dist/oni-code/agent-registry.d.ts +0 -73
  3. package/dist/oni-code/agent-registry.d.ts.map +0 -1
  4. package/dist/oni-code/agent-registry.js +0 -151
  5. package/dist/oni-code/agent-registry.js.map +0 -1
  6. package/dist/oni-code/bin.d.ts +0 -18
  7. package/dist/oni-code/bin.d.ts.map +0 -1
  8. package/dist/oni-code/bin.js +0 -78
  9. package/dist/oni-code/bin.js.map +0 -1
  10. package/dist/oni-code/change-tracking.d.ts +0 -28
  11. package/dist/oni-code/change-tracking.d.ts.map +0 -1
  12. package/dist/oni-code/change-tracking.js +0 -77
  13. package/dist/oni-code/change-tracking.js.map +0 -1
  14. package/dist/oni-code/cli.d.ts +0 -6
  15. package/dist/oni-code/cli.d.ts.map +0 -1
  16. package/dist/oni-code/cli.js +0 -30
  17. package/dist/oni-code/cli.js.map +0 -1
  18. package/dist/oni-code/conductor.d.ts +0 -203
  19. package/dist/oni-code/conductor.d.ts.map +0 -1
  20. package/dist/oni-code/conductor.js +0 -1547
  21. package/dist/oni-code/conductor.js.map +0 -1
  22. package/dist/oni-code/config.d.ts +0 -130
  23. package/dist/oni-code/config.d.ts.map +0 -1
  24. package/dist/oni-code/config.js +0 -264
  25. package/dist/oni-code/config.js.map +0 -1
  26. package/dist/oni-code/context-files.d.ts +0 -22
  27. package/dist/oni-code/context-files.d.ts.map +0 -1
  28. package/dist/oni-code/context-files.js +0 -156
  29. package/dist/oni-code/context-files.js.map +0 -1
  30. package/dist/oni-code/cron/humanize.d.ts +0 -26
  31. package/dist/oni-code/cron/humanize.d.ts.map +0 -1
  32. package/dist/oni-code/cron/humanize.js +0 -83
  33. package/dist/oni-code/cron/humanize.js.map +0 -1
  34. package/dist/oni-code/cron/index.d.ts +0 -10
  35. package/dist/oni-code/cron/index.d.ts.map +0 -1
  36. package/dist/oni-code/cron/index.js +0 -7
  37. package/dist/oni-code/cron/index.js.map +0 -1
  38. package/dist/oni-code/cron/matcher.d.ts +0 -29
  39. package/dist/oni-code/cron/matcher.d.ts.map +0 -1
  40. package/dist/oni-code/cron/matcher.js +0 -73
  41. package/dist/oni-code/cron/matcher.js.map +0 -1
  42. package/dist/oni-code/cron/parser.d.ts +0 -27
  43. package/dist/oni-code/cron/parser.d.ts.map +0 -1
  44. package/dist/oni-code/cron/parser.js +0 -149
  45. package/dist/oni-code/cron/parser.js.map +0 -1
  46. package/dist/oni-code/cron/persistence.d.ts +0 -21
  47. package/dist/oni-code/cron/persistence.d.ts.map +0 -1
  48. package/dist/oni-code/cron/persistence.js +0 -58
  49. package/dist/oni-code/cron/persistence.js.map +0 -1
  50. package/dist/oni-code/cron/scheduler.d.ts +0 -64
  51. package/dist/oni-code/cron/scheduler.d.ts.map +0 -1
  52. package/dist/oni-code/cron/scheduler.js +0 -188
  53. package/dist/oni-code/cron/scheduler.js.map +0 -1
  54. package/dist/oni-code/cron/store.d.ts +0 -46
  55. package/dist/oni-code/cron/store.d.ts.map +0 -1
  56. package/dist/oni-code/cron/store.js +0 -68
  57. package/dist/oni-code/cron/store.js.map +0 -1
  58. package/dist/oni-code/env.d.ts +0 -17
  59. package/dist/oni-code/env.d.ts.map +0 -1
  60. package/dist/oni-code/env.js +0 -51
  61. package/dist/oni-code/env.js.map +0 -1
  62. package/dist/oni-code/file-reader.d.ts +0 -28
  63. package/dist/oni-code/file-reader.d.ts.map +0 -1
  64. package/dist/oni-code/file-reader.js +0 -368
  65. package/dist/oni-code/file-reader.js.map +0 -1
  66. package/dist/oni-code/file-watcher.d.ts +0 -66
  67. package/dist/oni-code/file-watcher.d.ts.map +0 -1
  68. package/dist/oni-code/file-watcher.js +0 -167
  69. package/dist/oni-code/file-watcher.js.map +0 -1
  70. package/dist/oni-code/loop-detector.d.ts +0 -64
  71. package/dist/oni-code/loop-detector.d.ts.map +0 -1
  72. package/dist/oni-code/loop-detector.js +0 -163
  73. package/dist/oni-code/loop-detector.js.map +0 -1
  74. package/dist/oni-code/permissions.d.ts +0 -43
  75. package/dist/oni-code/permissions.d.ts.map +0 -1
  76. package/dist/oni-code/permissions.js +0 -98
  77. package/dist/oni-code/permissions.js.map +0 -1
  78. package/dist/oni-code/planner.d.ts +0 -26
  79. package/dist/oni-code/planner.d.ts.map +0 -1
  80. package/dist/oni-code/planner.js +0 -86
  81. package/dist/oni-code/planner.js.map +0 -1
  82. package/dist/oni-code/plugin-loader.d.ts +0 -103
  83. package/dist/oni-code/plugin-loader.d.ts.map +0 -1
  84. package/dist/oni-code/plugin-loader.js +0 -171
  85. package/dist/oni-code/plugin-loader.js.map +0 -1
  86. package/dist/oni-code/process-tree.d.ts +0 -44
  87. package/dist/oni-code/process-tree.d.ts.map +0 -1
  88. package/dist/oni-code/process-tree.js +0 -107
  89. package/dist/oni-code/process-tree.js.map +0 -1
  90. package/dist/oni-code/progress-tracker.d.ts +0 -40
  91. package/dist/oni-code/progress-tracker.d.ts.map +0 -1
  92. package/dist/oni-code/progress-tracker.js +0 -375
  93. package/dist/oni-code/progress-tracker.js.map +0 -1
  94. package/dist/oni-code/scheduler.d.ts +0 -56
  95. package/dist/oni-code/scheduler.d.ts.map +0 -1
  96. package/dist/oni-code/scheduler.js +0 -105
  97. package/dist/oni-code/scheduler.js.map +0 -1
  98. package/dist/oni-code/session-fork.d.ts +0 -146
  99. package/dist/oni-code/session-fork.d.ts.map +0 -1
  100. package/dist/oni-code/session-fork.js +0 -238
  101. package/dist/oni-code/session-fork.js.map +0 -1
  102. package/dist/oni-code/session-stats.d.ts +0 -72
  103. package/dist/oni-code/session-stats.d.ts.map +0 -1
  104. package/dist/oni-code/session-stats.js +0 -141
  105. package/dist/oni-code/session-stats.js.map +0 -1
  106. package/dist/oni-code/session-title.d.ts +0 -25
  107. package/dist/oni-code/session-title.d.ts.map +0 -1
  108. package/dist/oni-code/session-title.js +0 -67
  109. package/dist/oni-code/session-title.js.map +0 -1
  110. package/dist/oni-code/shell-parser.d.ts +0 -112
  111. package/dist/oni-code/shell-parser.d.ts.map +0 -1
  112. package/dist/oni-code/shell-parser.js +0 -657
  113. package/dist/oni-code/shell-parser.js.map +0 -1
  114. package/dist/oni-code/summarizer.d.ts +0 -27
  115. package/dist/oni-code/summarizer.d.ts.map +0 -1
  116. package/dist/oni-code/summarizer.js +0 -70
  117. package/dist/oni-code/summarizer.js.map +0 -1
  118. package/dist/oni-code/swarm-checkpoint.d.ts +0 -52
  119. package/dist/oni-code/swarm-checkpoint.d.ts.map +0 -1
  120. package/dist/oni-code/swarm-checkpoint.js +0 -71
  121. package/dist/oni-code/swarm-checkpoint.js.map +0 -1
  122. package/dist/oni-code/swarm-runner.d.ts +0 -173
  123. package/dist/oni-code/swarm-runner.d.ts.map +0 -1
  124. package/dist/oni-code/swarm-runner.js +0 -873
  125. package/dist/oni-code/swarm-runner.js.map +0 -1
  126. package/dist/oni-code/system-prompt.d.ts +0 -13
  127. package/dist/oni-code/system-prompt.d.ts.map +0 -1
  128. package/dist/oni-code/system-prompt.js +0 -64
  129. package/dist/oni-code/system-prompt.js.map +0 -1
  130. package/dist/oni-code/task-evaluator.d.ts +0 -73
  131. package/dist/oni-code/task-evaluator.d.ts.map +0 -1
  132. package/dist/oni-code/task-evaluator.js +0 -172
  133. package/dist/oni-code/task-evaluator.js.map +0 -1
  134. package/dist/oni-code/tools/batch.d.ts +0 -12
  135. package/dist/oni-code/tools/batch.d.ts.map +0 -1
  136. package/dist/oni-code/tools/batch.js +0 -116
  137. package/dist/oni-code/tools/batch.js.map +0 -1
  138. package/dist/oni-code/tools/coding.d.ts +0 -10
  139. package/dist/oni-code/tools/coding.d.ts.map +0 -1
  140. package/dist/oni-code/tools/coding.js +0 -557
  141. package/dist/oni-code/tools/coding.js.map +0 -1
  142. package/dist/oni-code/tools/cron.d.ts +0 -4
  143. package/dist/oni-code/tools/cron.d.ts.map +0 -1
  144. package/dist/oni-code/tools/cron.js +0 -120
  145. package/dist/oni-code/tools/cron.js.map +0 -1
  146. package/dist/oni-code/tools/custom.d.ts +0 -43
  147. package/dist/oni-code/tools/custom.d.ts.map +0 -1
  148. package/dist/oni-code/tools/custom.js +0 -115
  149. package/dist/oni-code/tools/custom.js.map +0 -1
  150. package/dist/oni-code/tools/patch.d.ts +0 -58
  151. package/dist/oni-code/tools/patch.d.ts.map +0 -1
  152. package/dist/oni-code/tools/patch.js +0 -247
  153. package/dist/oni-code/tools/patch.js.map +0 -1
  154. package/dist/oni-code/tools/plan.d.ts +0 -17
  155. package/dist/oni-code/tools/plan.d.ts.map +0 -1
  156. package/dist/oni-code/tools/plan.js +0 -48
  157. package/dist/oni-code/tools/plan.js.map +0 -1
  158. package/dist/oni-code/tools/question.d.ts +0 -17
  159. package/dist/oni-code/tools/question.d.ts.map +0 -1
  160. package/dist/oni-code/tools/question.js +0 -46
  161. package/dist/oni-code/tools/question.js.map +0 -1
  162. package/dist/oni-code/tools/skill.d.ts +0 -36
  163. package/dist/oni-code/tools/skill.d.ts.map +0 -1
  164. package/dist/oni-code/tools/skill.js +0 -132
  165. package/dist/oni-code/tools/skill.js.map +0 -1
  166. package/dist/oni-code/tools/spawn-agents.d.ts +0 -37
  167. package/dist/oni-code/tools/spawn-agents.d.ts.map +0 -1
  168. package/dist/oni-code/tools/spawn-agents.js +0 -91
  169. package/dist/oni-code/tools/spawn-agents.js.map +0 -1
  170. package/dist/oni-code/tools/spawn-swarm.d.ts +0 -70
  171. package/dist/oni-code/tools/spawn-swarm.d.ts.map +0 -1
  172. package/dist/oni-code/tools/spawn-swarm.js +0 -129
  173. package/dist/oni-code/tools/spawn-swarm.js.map +0 -1
  174. package/dist/oni-code/tools/web.d.ts +0 -11
  175. package/dist/oni-code/tools/web.d.ts.map +0 -1
  176. package/dist/oni-code/tools/web.js +0 -375
  177. package/dist/oni-code/tools/web.js.map +0 -1
  178. package/dist/oni-code/topology-agent-builder.d.ts +0 -22
  179. package/dist/oni-code/topology-agent-builder.d.ts.map +0 -1
  180. package/dist/oni-code/topology-agent-builder.js +0 -220
  181. package/dist/oni-code/topology-agent-builder.js.map +0 -1
  182. package/dist/oni-code/topology-selector.d.ts +0 -85
  183. package/dist/oni-code/topology-selector.d.ts.map +0 -1
  184. package/dist/oni-code/topology-selector.js +0 -338
  185. package/dist/oni-code/topology-selector.js.map +0 -1
  186. package/dist/oni-code/ui/App.d.ts +0 -10
  187. package/dist/oni-code/ui/App.d.ts.map +0 -1
  188. package/dist/oni-code/ui/App.js +0 -395
  189. package/dist/oni-code/ui/App.js.map +0 -1
  190. package/dist/oni-code/ui/FooterPanel.d.ts +0 -16
  191. package/dist/oni-code/ui/FooterPanel.d.ts.map +0 -1
  192. package/dist/oni-code/ui/FooterPanel.js +0 -56
  193. package/dist/oni-code/ui/FooterPanel.js.map +0 -1
  194. package/dist/oni-code/ui/Header.d.ts +0 -21
  195. package/dist/oni-code/ui/Header.d.ts.map +0 -1
  196. package/dist/oni-code/ui/Header.js +0 -105
  197. package/dist/oni-code/ui/Header.js.map +0 -1
  198. package/dist/oni-code/ui/InputArea.d.ts +0 -11
  199. package/dist/oni-code/ui/InputArea.d.ts.map +0 -1
  200. package/dist/oni-code/ui/InputArea.js +0 -82
  201. package/dist/oni-code/ui/InputArea.js.map +0 -1
  202. package/dist/oni-code/ui/MessageBlock.d.ts +0 -11
  203. package/dist/oni-code/ui/MessageBlock.d.ts.map +0 -1
  204. package/dist/oni-code/ui/MessageBlock.js +0 -103
  205. package/dist/oni-code/ui/MessageBlock.js.map +0 -1
  206. package/dist/oni-code/ui/OutputPane.d.ts +0 -12
  207. package/dist/oni-code/ui/OutputPane.d.ts.map +0 -1
  208. package/dist/oni-code/ui/OutputPane.js +0 -8
  209. package/dist/oni-code/ui/OutputPane.js.map +0 -1
  210. package/dist/oni-code/ui/PermissionPrompt.d.ts +0 -11
  211. package/dist/oni-code/ui/PermissionPrompt.d.ts.map +0 -1
  212. package/dist/oni-code/ui/PermissionPrompt.js +0 -48
  213. package/dist/oni-code/ui/PermissionPrompt.js.map +0 -1
  214. package/dist/oni-code/ui/QuestionPrompt.d.ts +0 -8
  215. package/dist/oni-code/ui/QuestionPrompt.d.ts.map +0 -1
  216. package/dist/oni-code/ui/QuestionPrompt.js +0 -9
  217. package/dist/oni-code/ui/QuestionPrompt.js.map +0 -1
  218. package/dist/oni-code/ui/StatusLine.d.ts +0 -14
  219. package/dist/oni-code/ui/StatusLine.d.ts.map +0 -1
  220. package/dist/oni-code/ui/StatusLine.js +0 -23
  221. package/dist/oni-code/ui/StatusLine.js.map +0 -1
  222. package/dist/oni-code/ui/SwarmPanel.d.ts +0 -9
  223. package/dist/oni-code/ui/SwarmPanel.d.ts.map +0 -1
  224. package/dist/oni-code/ui/SwarmPanel.js +0 -52
  225. package/dist/oni-code/ui/SwarmPanel.js.map +0 -1
  226. package/dist/oni-code/ui/ToolCallBlock.d.ts +0 -10
  227. package/dist/oni-code/ui/ToolCallBlock.d.ts.map +0 -1
  228. package/dist/oni-code/ui/ToolCallBlock.js +0 -21
  229. package/dist/oni-code/ui/ToolCallBlock.js.map +0 -1
  230. package/dist/oni-code/ui/Toolbar.d.ts +0 -8
  231. package/dist/oni-code/ui/Toolbar.d.ts.map +0 -1
  232. package/dist/oni-code/ui/Toolbar.js +0 -11
  233. package/dist/oni-code/ui/Toolbar.js.map +0 -1
  234. package/dist/oni-code/ui/WelcomeBanner.d.ts +0 -12
  235. package/dist/oni-code/ui/WelcomeBanner.d.ts.map +0 -1
  236. package/dist/oni-code/ui/WelcomeBanner.js +0 -24
  237. package/dist/oni-code/ui/WelcomeBanner.js.map +0 -1
  238. package/dist/oni-code/ui/activity.d.ts +0 -15
  239. package/dist/oni-code/ui/activity.d.ts.map +0 -1
  240. package/dist/oni-code/ui/activity.js +0 -252
  241. package/dist/oni-code/ui/activity.js.map +0 -1
  242. package/dist/oni-code/ui/banner.d.ts +0 -16
  243. package/dist/oni-code/ui/banner.d.ts.map +0 -1
  244. package/dist/oni-code/ui/banner.js +0 -132
  245. package/dist/oni-code/ui/banner.js.map +0 -1
  246. package/dist/oni-code/ui/command-menu.d.ts +0 -7
  247. package/dist/oni-code/ui/command-menu.d.ts.map +0 -1
  248. package/dist/oni-code/ui/command-menu.js +0 -20
  249. package/dist/oni-code/ui/command-menu.js.map +0 -1
  250. package/dist/oni-code/ui/diff.d.ts +0 -17
  251. package/dist/oni-code/ui/diff.d.ts.map +0 -1
  252. package/dist/oni-code/ui/diff.js +0 -37
  253. package/dist/oni-code/ui/diff.js.map +0 -1
  254. package/dist/oni-code/ui/format.d.ts +0 -41
  255. package/dist/oni-code/ui/format.d.ts.map +0 -1
  256. package/dist/oni-code/ui/format.js +0 -223
  257. package/dist/oni-code/ui/format.js.map +0 -1
  258. package/dist/oni-code/ui/input.d.ts +0 -28
  259. package/dist/oni-code/ui/input.d.ts.map +0 -1
  260. package/dist/oni-code/ui/input.js +0 -216
  261. package/dist/oni-code/ui/input.js.map +0 -1
  262. package/dist/oni-code/ui/insights.d.ts +0 -39
  263. package/dist/oni-code/ui/insights.d.ts.map +0 -1
  264. package/dist/oni-code/ui/insights.js +0 -193
  265. package/dist/oni-code/ui/insights.js.map +0 -1
  266. package/dist/oni-code/ui/markdown.d.ts +0 -9
  267. package/dist/oni-code/ui/markdown.d.ts.map +0 -1
  268. package/dist/oni-code/ui/markdown.js +0 -44
  269. package/dist/oni-code/ui/markdown.js.map +0 -1
  270. package/dist/oni-code/ui/panels.d.ts +0 -39
  271. package/dist/oni-code/ui/panels.d.ts.map +0 -1
  272. package/dist/oni-code/ui/panels.js +0 -209
  273. package/dist/oni-code/ui/panels.js.map +0 -1
  274. package/dist/oni-code/ui/paste.d.ts +0 -17
  275. package/dist/oni-code/ui/paste.d.ts.map +0 -1
  276. package/dist/oni-code/ui/paste.js +0 -45
  277. package/dist/oni-code/ui/paste.js.map +0 -1
  278. package/dist/oni-code/ui/raw-spinner.d.ts +0 -37
  279. package/dist/oni-code/ui/raw-spinner.d.ts.map +0 -1
  280. package/dist/oni-code/ui/raw-spinner.js +0 -121
  281. package/dist/oni-code/ui/raw-spinner.js.map +0 -1
  282. package/dist/oni-code/ui/session.d.ts +0 -44
  283. package/dist/oni-code/ui/session.d.ts.map +0 -1
  284. package/dist/oni-code/ui/session.js +0 -93
  285. package/dist/oni-code/ui/session.js.map +0 -1
  286. package/dist/oni-code/ui/spinner.d.ts +0 -7
  287. package/dist/oni-code/ui/spinner.d.ts.map +0 -1
  288. package/dist/oni-code/ui/spinner.js +0 -20
  289. package/dist/oni-code/ui/spinner.js.map +0 -1
  290. package/dist/oni-code/ui/swarm-activity.d.ts +0 -50
  291. package/dist/oni-code/ui/swarm-activity.d.ts.map +0 -1
  292. package/dist/oni-code/ui/swarm-activity.js +0 -233
  293. package/dist/oni-code/ui/swarm-activity.js.map +0 -1
  294. package/dist/oni-code/ui/terminal-size.d.ts +0 -18
  295. package/dist/oni-code/ui/terminal-size.d.ts.map +0 -1
  296. package/dist/oni-code/ui/terminal-size.js +0 -45
  297. package/dist/oni-code/ui/terminal-size.js.map +0 -1
  298. package/dist/oni-code/ui/theme.d.ts +0 -82
  299. package/dist/oni-code/ui/theme.d.ts.map +0 -1
  300. package/dist/oni-code/ui/theme.js +0 -101
  301. package/dist/oni-code/ui/theme.js.map +0 -1
  302. package/dist/oni-code/ui/tool-utils.d.ts +0 -10
  303. package/dist/oni-code/ui/tool-utils.d.ts.map +0 -1
  304. package/dist/oni-code/ui/tool-utils.js +0 -82
  305. package/dist/oni-code/ui/tool-utils.js.map +0 -1
  306. package/dist/oni-code/ui/useTerminalSize.d.ts +0 -3
  307. package/dist/oni-code/ui/useTerminalSize.d.ts.map +0 -1
  308. package/dist/oni-code/ui/useTerminalSize.js +0 -16
  309. package/dist/oni-code/ui/useTerminalSize.js.map +0 -1
  310. package/dist/oni-code/workspace/change-tracker.d.ts +0 -18
  311. package/dist/oni-code/workspace/change-tracker.d.ts.map +0 -1
  312. package/dist/oni-code/workspace/change-tracker.js +0 -67
  313. package/dist/oni-code/workspace/change-tracker.js.map +0 -1
  314. package/dist/oni-code/workspace/conflict-detector.d.ts +0 -12
  315. package/dist/oni-code/workspace/conflict-detector.d.ts.map +0 -1
  316. package/dist/oni-code/workspace/conflict-detector.js +0 -24
  317. package/dist/oni-code/workspace/conflict-detector.js.map +0 -1
  318. package/dist/oni-code/workspace/file-snapshots.d.ts +0 -39
  319. package/dist/oni-code/workspace/file-snapshots.d.ts.map +0 -1
  320. package/dist/oni-code/workspace/file-snapshots.js +0 -77
  321. package/dist/oni-code/workspace/file-snapshots.js.map +0 -1
  322. package/dist/oni-code/workspace/index.d.ts +0 -5
  323. package/dist/oni-code/workspace/index.d.ts.map +0 -1
  324. package/dist/oni-code/workspace/index.js +0 -5
  325. package/dist/oni-code/workspace/index.js.map +0 -1
  326. package/dist/oni-code/workspace/project-map.d.ts +0 -14
  327. package/dist/oni-code/workspace/project-map.d.ts.map +0 -1
  328. package/dist/oni-code/workspace/project-map.js +0 -91
  329. package/dist/oni-code/workspace/project-map.js.map +0 -1
  330. package/dist/sentinel/config/index.d.ts +0 -2
  331. package/dist/sentinel/config/index.d.ts.map +0 -1
  332. package/dist/sentinel/config/index.js +0 -2
  333. package/dist/sentinel/config/index.js.map +0 -1
  334. package/dist/sentinel/config/schema.d.ts +0 -4
  335. package/dist/sentinel/config/schema.d.ts.map +0 -1
  336. package/dist/sentinel/config/schema.js +0 -42
  337. package/dist/sentinel/config/schema.js.map +0 -1
  338. package/dist/sentinel/debate/index.d.ts +0 -6
  339. package/dist/sentinel/debate/index.d.ts.map +0 -1
  340. package/dist/sentinel/debate/index.js +0 -64
  341. package/dist/sentinel/debate/index.js.map +0 -1
  342. package/dist/sentinel/debate/prompts.d.ts +0 -4
  343. package/dist/sentinel/debate/prompts.d.ts.map +0 -1
  344. package/dist/sentinel/debate/prompts.js +0 -13
  345. package/dist/sentinel/debate/prompts.js.map +0 -1
  346. package/dist/sentinel/fix/index.d.ts +0 -6
  347. package/dist/sentinel/fix/index.d.ts.map +0 -1
  348. package/dist/sentinel/fix/index.js +0 -27
  349. package/dist/sentinel/fix/index.js.map +0 -1
  350. package/dist/sentinel/fix/strategies.d.ts +0 -9
  351. package/dist/sentinel/fix/strategies.d.ts.map +0 -1
  352. package/dist/sentinel/fix/strategies.js +0 -40
  353. package/dist/sentinel/fix/strategies.js.map +0 -1
  354. package/dist/sentinel/index.d.ts +0 -14
  355. package/dist/sentinel/index.d.ts.map +0 -1
  356. package/dist/sentinel/index.js +0 -22
  357. package/dist/sentinel/index.js.map +0 -1
  358. package/dist/sentinel/integrations/cli.d.ts +0 -10
  359. package/dist/sentinel/integrations/cli.d.ts.map +0 -1
  360. package/dist/sentinel/integrations/cli.js +0 -24
  361. package/dist/sentinel/integrations/cli.js.map +0 -1
  362. package/dist/sentinel/integrations/index.d.ts +0 -2
  363. package/dist/sentinel/integrations/index.d.ts.map +0 -1
  364. package/dist/sentinel/integrations/index.js +0 -2
  365. package/dist/sentinel/integrations/index.js.map +0 -1
  366. package/dist/sentinel/memory/index.d.ts +0 -16
  367. package/dist/sentinel/memory/index.d.ts.map +0 -1
  368. package/dist/sentinel/memory/index.js +0 -60
  369. package/dist/sentinel/memory/index.js.map +0 -1
  370. package/dist/sentinel/report/console.d.ts +0 -3
  371. package/dist/sentinel/report/console.d.ts.map +0 -1
  372. package/dist/sentinel/report/console.js +0 -27
  373. package/dist/sentinel/report/console.js.map +0 -1
  374. package/dist/sentinel/report/github.d.ts +0 -3
  375. package/dist/sentinel/report/github.d.ts.map +0 -1
  376. package/dist/sentinel/report/github.js +0 -36
  377. package/dist/sentinel/report/github.js.map +0 -1
  378. package/dist/sentinel/report/index.d.ts +0 -6
  379. package/dist/sentinel/report/index.d.ts.map +0 -1
  380. package/dist/sentinel/report/index.js +0 -15
  381. package/dist/sentinel/report/index.js.map +0 -1
  382. package/dist/sentinel/report/sarif.d.ts +0 -3
  383. package/dist/sentinel/report/sarif.d.ts.map +0 -1
  384. package/dist/sentinel/report/sarif.js +0 -29
  385. package/dist/sentinel/report/sarif.js.map +0 -1
  386. package/dist/sentinel/sentinel.d.ts +0 -17
  387. package/dist/sentinel/sentinel.d.ts.map +0 -1
  388. package/dist/sentinel/sentinel.js +0 -111
  389. package/dist/sentinel/sentinel.js.map +0 -1
  390. package/dist/sentinel/swarm/agents.d.ts +0 -6
  391. package/dist/sentinel/swarm/agents.d.ts.map +0 -1
  392. package/dist/sentinel/swarm/agents.js +0 -36
  393. package/dist/sentinel/swarm/agents.js.map +0 -1
  394. package/dist/sentinel/swarm/index.d.ts +0 -8
  395. package/dist/sentinel/swarm/index.d.ts.map +0 -1
  396. package/dist/sentinel/swarm/index.js +0 -74
  397. package/dist/sentinel/swarm/index.js.map +0 -1
  398. package/dist/sentinel/swarm/prompts.d.ts +0 -2
  399. package/dist/sentinel/swarm/prompts.d.ts.map +0 -1
  400. package/dist/sentinel/swarm/prompts.js +0 -24
  401. package/dist/sentinel/swarm/prompts.js.map +0 -1
  402. package/dist/sentinel/swarm/topology.d.ts +0 -10
  403. package/dist/sentinel/swarm/topology.d.ts.map +0 -1
  404. package/dist/sentinel/swarm/topology.js +0 -38
  405. package/dist/sentinel/swarm/topology.js.map +0 -1
  406. package/dist/sentinel/triage/analyzers/complexity-analyzer.d.ts +0 -7
  407. package/dist/sentinel/triage/analyzers/complexity-analyzer.d.ts.map +0 -1
  408. package/dist/sentinel/triage/analyzers/complexity-analyzer.js +0 -94
  409. package/dist/sentinel/triage/analyzers/complexity-analyzer.js.map +0 -1
  410. package/dist/sentinel/triage/analyzers/custom-analyzer.d.ts +0 -19
  411. package/dist/sentinel/triage/analyzers/custom-analyzer.d.ts.map +0 -1
  412. package/dist/sentinel/triage/analyzers/custom-analyzer.js +0 -268
  413. package/dist/sentinel/triage/analyzers/custom-analyzer.js.map +0 -1
  414. package/dist/sentinel/triage/analyzers/dependency-analyzer.d.ts +0 -26
  415. package/dist/sentinel/triage/analyzers/dependency-analyzer.d.ts.map +0 -1
  416. package/dist/sentinel/triage/analyzers/dependency-analyzer.js +0 -220
  417. package/dist/sentinel/triage/analyzers/dependency-analyzer.js.map +0 -1
  418. package/dist/sentinel/triage/analyzers/diff-analyzer.d.ts +0 -12
  419. package/dist/sentinel/triage/analyzers/diff-analyzer.d.ts.map +0 -1
  420. package/dist/sentinel/triage/analyzers/diff-analyzer.js +0 -19
  421. package/dist/sentinel/triage/analyzers/diff-analyzer.js.map +0 -1
  422. package/dist/sentinel/triage/analyzers/index.d.ts +0 -14
  423. package/dist/sentinel/triage/analyzers/index.d.ts.map +0 -1
  424. package/dist/sentinel/triage/analyzers/index.js +0 -25
  425. package/dist/sentinel/triage/analyzers/index.js.map +0 -1
  426. package/dist/sentinel/triage/analyzers/pattern-analyzer.d.ts +0 -7
  427. package/dist/sentinel/triage/analyzers/pattern-analyzer.d.ts.map +0 -1
  428. package/dist/sentinel/triage/analyzers/pattern-analyzer.js +0 -180
  429. package/dist/sentinel/triage/analyzers/pattern-analyzer.js.map +0 -1
  430. package/dist/sentinel/triage/analyzers/security-analyzer.d.ts +0 -7
  431. package/dist/sentinel/triage/analyzers/security-analyzer.d.ts.map +0 -1
  432. package/dist/sentinel/triage/analyzers/security-analyzer.js +0 -96
  433. package/dist/sentinel/triage/analyzers/security-analyzer.js.map +0 -1
  434. package/dist/sentinel/triage/analyzers/ts-parser.d.ts +0 -71
  435. package/dist/sentinel/triage/analyzers/ts-parser.d.ts.map +0 -1
  436. package/dist/sentinel/triage/analyzers/ts-parser.js +0 -323
  437. package/dist/sentinel/triage/analyzers/ts-parser.js.map +0 -1
  438. package/dist/sentinel/triage/analyzers/typescript-analyzer.d.ts +0 -7
  439. package/dist/sentinel/triage/analyzers/typescript-analyzer.d.ts.map +0 -1
  440. package/dist/sentinel/triage/analyzers/typescript-analyzer.js +0 -68
  441. package/dist/sentinel/triage/analyzers/typescript-analyzer.js.map +0 -1
  442. package/dist/sentinel/triage/index.d.ts +0 -10
  443. package/dist/sentinel/triage/index.d.ts.map +0 -1
  444. package/dist/sentinel/triage/index.js +0 -39
  445. package/dist/sentinel/triage/index.js.map +0 -1
  446. package/dist/sentinel/triage/scorer.d.ts +0 -9
  447. package/dist/sentinel/triage/scorer.d.ts.map +0 -1
  448. package/dist/sentinel/triage/scorer.js +0 -28
  449. package/dist/sentinel/triage/scorer.js.map +0 -1
  450. package/dist/sentinel/types.d.ts +0 -125
  451. package/dist/sentinel/types.d.ts.map +0 -1
  452. package/dist/sentinel/types.js +0 -6
  453. package/dist/sentinel/types.js.map +0 -1
@@ -1,180 +0,0 @@
1
- const PATTERN_RULES = [
2
- {
3
- regex: /:\s*any\b/g,
4
- message: "Explicit `any` type annotation weakens type safety",
5
- suggestion: "Replace with a more specific type or `unknown` if the type is truly unknown",
6
- severity: "warning",
7
- },
8
- {
9
- regex: /\bas\s+any\b/g,
10
- message: "`as any` cast disables type checking for this expression",
11
- suggestion: "Use a proper type assertion or refactor to avoid the cast",
12
- severity: "warning",
13
- },
14
- {
15
- regex: /@ts-ignore\b/g,
16
- message: "`@ts-ignore` suppresses TypeScript errors without fixing them",
17
- suggestion: "Fix the underlying type error instead of suppressing it",
18
- severity: "warning",
19
- },
20
- {
21
- regex: /@ts-nocheck\b/g,
22
- message: "`@ts-nocheck` disables type checking for the entire file",
23
- suggestion: "Remove @ts-nocheck and fix the type errors in this file",
24
- severity: "error",
25
- },
26
- {
27
- regex: /catch\s*\([^)]*\)\s*\{\s*\}/g,
28
- message: "Empty catch block silently swallows errors",
29
- suggestion: "Log the error or rethrow it; never silently ignore exceptions",
30
- severity: "warning",
31
- },
32
- {
33
- regex: /\bconsole\.log\s*\(/g,
34
- message: "console.log() left in non-test source code",
35
- suggestion: "Remove debug logs or replace with a proper logging utility",
36
- severity: "info",
37
- skipTestFiles: true,
38
- },
39
- ];
40
- function isTestFile(file) {
41
- return /\.(test|spec)\.[tj]sx?$/.test(file) || /__tests__/.test(file);
42
- }
43
- function isLoopLine(line) {
44
- return /\bfor\s*\(/.test(line);
45
- }
46
- const MAGIC_NUMBER_SAFE = new Set(["0", "1", "-1", "2", "0.0", "1.0", "100"]);
47
- const POOR_NAMES = new Set(["data", "temp", "tmp", "val", "obj", "thing", "stuff", "foo", "bar", "baz"]);
48
- const MAGIC_NUMBER_REGEX = /(?<![.\w])(-?\d+\.?\d*)(?![.\w])/g;
49
- export class PatternAnalyzer {
50
- name = "pattern";
51
- weight = 0.10;
52
- async analyze(file, content, _rootDir) {
53
- const lines = content.split("\n");
54
- const findings = [];
55
- const testFile = isTestFile(file);
56
- for (const rule of PATTERN_RULES) {
57
- if (rule.skipTestFiles && testFile)
58
- continue;
59
- for (let i = 0; i < lines.length; i++) {
60
- const line = lines[i];
61
- rule.regex.lastIndex = 0;
62
- if (rule.regex.test(line)) {
63
- findings.push({
64
- id: `pattern-${rule.message.slice(0, 20).replace(/\s+/g, "-")}-${file}-${i + 1}`,
65
- file,
66
- line: i + 1,
67
- severity: rule.severity,
68
- category: "style",
69
- message: rule.message,
70
- suggestion: rule.suggestion,
71
- confidence: 0.8,
72
- agent: "pattern",
73
- });
74
- }
75
- }
76
- }
77
- // --- Magic number detection ---
78
- for (let i = 0; i < lines.length; i++) {
79
- const line = lines[i];
80
- // Skip comment lines
81
- const trimmed = line.trim();
82
- if (trimmed.startsWith("//") || trimmed.startsWith("/*") || trimmed.startsWith("*"))
83
- continue;
84
- // Skip import lines
85
- if (/^\s*import\b/.test(line))
86
- continue;
87
- // Skip const/let/var declarations (named constants are fine)
88
- if (/^\s*(const|let|var)\s/.test(line))
89
- continue;
90
- MAGIC_NUMBER_REGEX.lastIndex = 0;
91
- let match;
92
- let flagged = false;
93
- while ((match = MAGIC_NUMBER_REGEX.exec(line)) !== null && !flagged) {
94
- const num = match[1];
95
- if (!MAGIC_NUMBER_SAFE.has(num)) {
96
- flagged = true;
97
- findings.push({
98
- id: `pattern-magic-number-${file}-${i + 1}`,
99
- file,
100
- line: i + 1,
101
- severity: "info",
102
- category: "style",
103
- message: `Magic number ${num} — consider extracting to a named constant`,
104
- suggestion: "Extract the literal into a named constant to document its intent",
105
- confidence: 0.65,
106
- agent: "pattern",
107
- });
108
- }
109
- }
110
- }
111
- // --- Poor naming detection ---
112
- for (let i = 0; i < lines.length; i++) {
113
- const line = lines[i];
114
- // Only check inside const/let/var declarations
115
- const declMatch = /^\s*(const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)/.exec(line);
116
- if (!declMatch)
117
- continue;
118
- const varName = declMatch[2];
119
- // Generic name check
120
- if (POOR_NAMES.has(varName)) {
121
- findings.push({
122
- id: `pattern-poor-naming-${file}-${i + 1}`,
123
- file,
124
- line: i + 1,
125
- severity: "info",
126
- category: "style",
127
- message: `Poor variable naming: "${varName}" is too generic`,
128
- suggestion: "Use a descriptive name that conveys the variable's purpose",
129
- confidence: 0.7,
130
- agent: "pattern",
131
- });
132
- continue;
133
- }
134
- // Single-letter variable check (skip loop iterators)
135
- if (/^[a-z]$/.test(varName) && !isLoopLine(line)) {
136
- findings.push({
137
- id: `pattern-single-letter-${file}-${i + 1}`,
138
- file,
139
- line: i + 1,
140
- severity: "info",
141
- category: "style",
142
- message: `Single-letter variable name "${varName}" is not descriptive`,
143
- suggestion: "Use a descriptive name that conveys the variable's purpose",
144
- confidence: 0.6,
145
- agent: "pattern",
146
- });
147
- }
148
- }
149
- // --- Comment density check ---
150
- if (!testFile && lines.length > 100) {
151
- const commentLines = lines.filter(l => {
152
- const t = l.trim();
153
- return t.startsWith("//") || t.startsWith("/*") || t.startsWith("*");
154
- }).length;
155
- const density = commentLines / lines.length;
156
- if (density < 0.02) {
157
- findings.push({
158
- id: `pattern-low-comment-density-${file}`,
159
- file,
160
- line: 1,
161
- severity: "info",
162
- category: "style",
163
- message: `Low comment density (${(density * 100).toFixed(1)}%) — large files benefit from explanatory comments`,
164
- suggestion: "Add comments explaining the purpose of non-obvious logic and complex sections",
165
- confidence: 0.6,
166
- agent: "pattern",
167
- });
168
- }
169
- }
170
- const score = Math.min(100, findings.length * 10);
171
- return {
172
- analyzer: this.name,
173
- file,
174
- score,
175
- findings,
176
- metadata: { matchCount: findings.length },
177
- };
178
- }
179
- }
180
- //# sourceMappingURL=pattern-analyzer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pattern-analyzer.js","sourceRoot":"","sources":["../../../../src/sentinel/triage/analyzers/pattern-analyzer.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- import type { Analyzer, AnalyzerResult } from "../../types.js";
2
- export declare class SecurityAnalyzer implements Analyzer {
3
- name: string;
4
- weight: number;
5
- analyze(file: string, content: string, _rootDir: string): Promise<AnalyzerResult>;
6
- }
7
- //# sourceMappingURL=security-analyzer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"security-analyzer.d.ts","sourceRoot":"","sources":["../../../../src/sentinel/triage/analyzers/security-analyzer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAW,MAAM,gBAAgB,CAAC;AAmDxE,qBAAa,gBAAiB,YAAW,QAAQ;IAC/C,IAAI,SAAc;IAClB,MAAM,SAAQ;IAER,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;CAuDxF"}
@@ -1,96 +0,0 @@
1
- const SECURITY_PATTERNS = [
2
- {
3
- regex: /\beval\s*\(/g,
4
- message: "Use of eval() is a security risk — allows arbitrary code execution",
5
- suggestion: "Replace eval() with safer alternatives like JSON.parse() or Function constructors with input validation",
6
- severity: "error",
7
- },
8
- {
9
- regex: /\bnew\s+Function\s*\(/g,
10
- message: "Use of new Function() allows dynamic code execution",
11
- suggestion: "Avoid constructing functions from strings; use predefined functions instead",
12
- severity: "error",
13
- },
14
- {
15
- regex: /\.innerHTML\s*=/g,
16
- message: "Direct innerHTML assignment can lead to XSS vulnerabilities",
17
- suggestion: "Use textContent or sanitize HTML with a trusted library before assignment",
18
- severity: "error",
19
- },
20
- {
21
- regex: /\bdocument\.write\s*\(/g,
22
- message: "document.write() can be exploited for XSS",
23
- suggestion: "Use DOM manipulation methods (createElement, appendChild) instead",
24
- severity: "error",
25
- },
26
- {
27
- regex: /\bchild_process\b/g,
28
- message: "Use of child_process module — ensure inputs are sanitized to prevent command injection",
29
- suggestion: "Validate and escape all user-controlled inputs before passing to child_process",
30
- severity: "warning",
31
- },
32
- {
33
- regex: /(?:query|sql)\s*[+=]\s*["'`][^"'`]*\$\{/gi,
34
- message: "Potential SQL injection via string concatenation/interpolation",
35
- suggestion: "Use parameterized queries or a prepared statement API",
36
- severity: "error",
37
- },
38
- ];
39
- // Hardcoded secret: string literal >20 chars near key/secret/token/password keywords
40
- const SECRET_REGEX = /(?:key|secret|token|password|api_key|apikey|passwd|credential)\s*[=:]\s*["'`]([^"'`]{20,})["'`]/gi;
41
- export class SecurityAnalyzer {
42
- name = "security";
43
- weight = 0.25;
44
- async analyze(file, content, _rootDir) {
45
- const lines = content.split("\n");
46
- const findings = [];
47
- for (const pattern of SECURITY_PATTERNS) {
48
- // Reset lastIndex for global regexes
49
- pattern.regex.lastIndex = 0;
50
- for (let i = 0; i < lines.length; i++) {
51
- const line = lines[i];
52
- pattern.regex.lastIndex = 0;
53
- if (pattern.regex.test(line)) {
54
- findings.push({
55
- id: `security-${pattern.message.slice(0, 20).replace(/\s+/g, "-")}-${file}-${i + 1}`,
56
- file,
57
- line: i + 1,
58
- severity: pattern.severity,
59
- category: "security",
60
- message: pattern.message,
61
- suggestion: pattern.suggestion,
62
- confidence: 0.9,
63
- agent: "security",
64
- });
65
- }
66
- }
67
- }
68
- // Check for hardcoded secrets
69
- SECRET_REGEX.lastIndex = 0;
70
- for (let i = 0; i < lines.length; i++) {
71
- SECRET_REGEX.lastIndex = 0;
72
- if (SECRET_REGEX.test(lines[i])) {
73
- findings.push({
74
- id: `security-hardcoded-secret-${file}-${i + 1}`,
75
- file,
76
- line: i + 1,
77
- severity: "error",
78
- category: "security",
79
- message: "Hardcoded secret or credential detected in source code",
80
- suggestion: "Move secrets to environment variables or a secrets manager",
81
- confidence: 0.85,
82
- agent: "security",
83
- });
84
- }
85
- }
86
- const score = Math.min(100, findings.length * 20);
87
- return {
88
- analyzer: this.name,
89
- file,
90
- score,
91
- findings,
92
- metadata: { matchCount: findings.length },
93
- };
94
- }
95
- }
96
- //# sourceMappingURL=security-analyzer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"security-analyzer.js","sourceRoot":"","sources":["../../../../src/sentinel/triage/analyzers/security-analyzer.ts"],"names":[],"mappings":"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"}
@@ -1,71 +0,0 @@
1
- /**
2
- * Shared TypeScript source parsing utilities.
3
- *
4
- * Pure functions — no model calls, no I/O, no side effects.
5
- * Used by the dependency analyzer (Task 2) and complexity analyzer (Task 4).
6
- *
7
- * Approach: regex-based parsing (consistent with other analyzers in this directory).
8
- * Multi-line imports are pre-joined before matching so a single regex handles both
9
- * single-line and multi-line forms.
10
- */
11
- export interface ImportInfo {
12
- /** The module specifier string (e.g. "./utils.js", "react") */
13
- source: string;
14
- /** Imported names. For namespace: "* as ns". For default: the identifier. */
15
- specifiers: string[];
16
- /** 1-based line number of the import statement */
17
- line: number;
18
- /** True for `import type` statements */
19
- isTypeOnly: boolean;
20
- }
21
- export interface FunctionInfo {
22
- /** Function or method name */
23
- name: string;
24
- /** 1-based line where the signature starts */
25
- line: number;
26
- /** 1-based line where the closing brace was found (or same as line if not found) */
27
- endLine: number;
28
- /** endLine - line + 1 */
29
- lineCount: number;
30
- /** Number of top-level parameters (commas + 1, or 0 for empty parens) */
31
- paramCount: number;
32
- /** True if the declaration has an `export` keyword */
33
- exported: boolean;
34
- }
35
- export interface ExportInfo {
36
- /** Exported symbol name (uses alias when `as` is present; "default" for default exports) */
37
- name: string;
38
- /** 1-based line number */
39
- line: number;
40
- }
41
- /**
42
- * Extract all import statements from TypeScript/JavaScript source.
43
- *
44
- * Handles:
45
- * - ES module named, default, and namespace imports
46
- * - `import type` declarations
47
- * - Combined default + named: `import Foo, { bar } from "x"`
48
- * - Multi-line imports (pre-joined before matching)
49
- * - `require()` calls
50
- * - Dynamic `import()` calls
51
- */
52
- export declare function extractImports(content: string, _filePath: string): ImportInfo[];
53
- /**
54
- * Extract function/method definitions from TypeScript/JavaScript source.
55
- *
56
- * Handles:
57
- * - `function name(...)` declarations (with/without export, async)
58
- * - `const/let/var name = (...) =>` arrow functions (with/without export)
59
- * - Class methods: `name(...) {` (skips control-flow keywords)
60
- */
61
- export declare function extractFunctions(content: string, _filePath: string): FunctionInfo[];
62
- /**
63
- * Extract exported symbol names from TypeScript/JavaScript source.
64
- *
65
- * Handles:
66
- * - `export function/const/let/var/class/type/interface/enum name`
67
- * - `export { name1, name2 }` with optional `as alias`
68
- * - `export default`
69
- */
70
- export declare function extractExports(content: string, _filePath: string): ExportInfo[];
71
- //# sourceMappingURL=ts-parser.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ts-parser.d.ts","sourceRoot":"","sources":["../../../../src/sentinel/triage/analyzers/ts-parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH,MAAM,WAAW,UAAU;IACzB,+DAA+D;IAC/D,MAAM,EAAE,MAAM,CAAC;IACf,6EAA6E;IAC7E,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,kDAAkD;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,wCAAwC;IACxC,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,8BAA8B;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,oFAAoF;IACpF,OAAO,EAAE,MAAM,CAAC;IAChB,yBAAyB;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,yEAAyE;IACzE,UAAU,EAAE,MAAM,CAAC;IACnB,sDAAsD;IACtD,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,4FAA4F;IAC5F,IAAI,EAAE,MAAM,CAAC;IACb,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAC;CACd;AAwGD;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,UAAU,EAAE,CA8E/E;AAWD;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,YAAY,EAAE,CA8EnF;AAMD;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,UAAU,EAAE,CA6C/E"}