@oni.bot/core 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 (511) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/SECURITY.md +2 -2
  3. package/dist/agents/context.d.ts +0 -2
  4. package/dist/agents/context.d.ts.map +1 -1
  5. package/dist/agents/context.js +1 -3
  6. package/dist/agents/context.js.map +1 -1
  7. package/dist/agents/define-agent.d.ts.map +1 -1
  8. package/dist/agents/define-agent.js +92 -39
  9. package/dist/agents/define-agent.js.map +1 -1
  10. package/dist/agents/functional-agent.d.ts.map +1 -1
  11. package/dist/agents/functional-agent.js +0 -7
  12. package/dist/agents/functional-agent.js.map +1 -1
  13. package/dist/agents/types.d.ts +0 -2
  14. package/dist/agents/types.d.ts.map +1 -1
  15. package/dist/checkpointers/postgres.js +4 -4
  16. package/dist/checkpointers/postgres.js.map +1 -1
  17. package/dist/checkpointers/sqlite.js +4 -4
  18. package/dist/checkpointers/sqlite.js.map +1 -1
  19. package/dist/cli/router.js +1 -1
  20. package/dist/config/loader.d.ts.map +1 -1
  21. package/dist/config/loader.js +23 -1
  22. package/dist/config/loader.js.map +1 -1
  23. package/dist/context.d.ts +20 -0
  24. package/dist/context.d.ts.map +1 -1
  25. package/dist/context.js.map +1 -1
  26. package/dist/coordination/request-reply.d.ts +1 -0
  27. package/dist/coordination/request-reply.d.ts.map +1 -1
  28. package/dist/coordination/request-reply.js +13 -1
  29. package/dist/coordination/request-reply.js.map +1 -1
  30. package/dist/graph.d.ts.map +1 -1
  31. package/dist/graph.js +17 -2
  32. package/dist/graph.js.map +1 -1
  33. package/dist/index.js +1 -1
  34. package/dist/mcp/client.js +1 -1
  35. package/dist/pregel.d.ts +2 -0
  36. package/dist/pregel.d.ts.map +1 -1
  37. package/dist/pregel.js +415 -341
  38. package/dist/pregel.js.map +1 -1
  39. package/dist/store/index.d.ts +1 -1
  40. package/dist/store/index.d.ts.map +1 -1
  41. package/dist/store/index.js +28 -5
  42. package/dist/store/index.js.map +1 -1
  43. package/dist/streaming.d.ts +5 -2
  44. package/dist/streaming.d.ts.map +1 -1
  45. package/dist/streaming.js +9 -8
  46. package/dist/streaming.js.map +1 -1
  47. package/dist/swarm/graph.d.ts +1 -0
  48. package/dist/swarm/graph.d.ts.map +1 -1
  49. package/dist/swarm/graph.js +162 -40
  50. package/dist/swarm/graph.js.map +1 -1
  51. package/dist/swarm/pool.d.ts.map +1 -1
  52. package/dist/swarm/pool.js +12 -4
  53. package/dist/swarm/pool.js.map +1 -1
  54. package/dist/tools/define.d.ts.map +1 -1
  55. package/dist/tools/define.js +1 -0
  56. package/dist/tools/define.js.map +1 -1
  57. package/dist/tools/types.d.ts +2 -0
  58. package/dist/tools/types.d.ts.map +1 -1
  59. package/package.json +7 -1
  60. package/dist/oni-code/agent-registry.d.ts +0 -73
  61. package/dist/oni-code/agent-registry.d.ts.map +0 -1
  62. package/dist/oni-code/agent-registry.js +0 -151
  63. package/dist/oni-code/agent-registry.js.map +0 -1
  64. package/dist/oni-code/bin.d.ts +0 -18
  65. package/dist/oni-code/bin.d.ts.map +0 -1
  66. package/dist/oni-code/bin.js +0 -78
  67. package/dist/oni-code/bin.js.map +0 -1
  68. package/dist/oni-code/change-tracking.d.ts +0 -28
  69. package/dist/oni-code/change-tracking.d.ts.map +0 -1
  70. package/dist/oni-code/change-tracking.js +0 -77
  71. package/dist/oni-code/change-tracking.js.map +0 -1
  72. package/dist/oni-code/cli.d.ts +0 -6
  73. package/dist/oni-code/cli.d.ts.map +0 -1
  74. package/dist/oni-code/cli.js +0 -30
  75. package/dist/oni-code/cli.js.map +0 -1
  76. package/dist/oni-code/conductor.d.ts +0 -203
  77. package/dist/oni-code/conductor.d.ts.map +0 -1
  78. package/dist/oni-code/conductor.js +0 -1547
  79. package/dist/oni-code/conductor.js.map +0 -1
  80. package/dist/oni-code/config.d.ts +0 -130
  81. package/dist/oni-code/config.d.ts.map +0 -1
  82. package/dist/oni-code/config.js +0 -264
  83. package/dist/oni-code/config.js.map +0 -1
  84. package/dist/oni-code/context-files.d.ts +0 -22
  85. package/dist/oni-code/context-files.d.ts.map +0 -1
  86. package/dist/oni-code/context-files.js +0 -156
  87. package/dist/oni-code/context-files.js.map +0 -1
  88. package/dist/oni-code/cron/humanize.d.ts +0 -26
  89. package/dist/oni-code/cron/humanize.d.ts.map +0 -1
  90. package/dist/oni-code/cron/humanize.js +0 -83
  91. package/dist/oni-code/cron/humanize.js.map +0 -1
  92. package/dist/oni-code/cron/index.d.ts +0 -10
  93. package/dist/oni-code/cron/index.d.ts.map +0 -1
  94. package/dist/oni-code/cron/index.js +0 -7
  95. package/dist/oni-code/cron/index.js.map +0 -1
  96. package/dist/oni-code/cron/matcher.d.ts +0 -29
  97. package/dist/oni-code/cron/matcher.d.ts.map +0 -1
  98. package/dist/oni-code/cron/matcher.js +0 -73
  99. package/dist/oni-code/cron/matcher.js.map +0 -1
  100. package/dist/oni-code/cron/parser.d.ts +0 -27
  101. package/dist/oni-code/cron/parser.d.ts.map +0 -1
  102. package/dist/oni-code/cron/parser.js +0 -149
  103. package/dist/oni-code/cron/parser.js.map +0 -1
  104. package/dist/oni-code/cron/persistence.d.ts +0 -21
  105. package/dist/oni-code/cron/persistence.d.ts.map +0 -1
  106. package/dist/oni-code/cron/persistence.js +0 -58
  107. package/dist/oni-code/cron/persistence.js.map +0 -1
  108. package/dist/oni-code/cron/scheduler.d.ts +0 -64
  109. package/dist/oni-code/cron/scheduler.d.ts.map +0 -1
  110. package/dist/oni-code/cron/scheduler.js +0 -188
  111. package/dist/oni-code/cron/scheduler.js.map +0 -1
  112. package/dist/oni-code/cron/store.d.ts +0 -46
  113. package/dist/oni-code/cron/store.d.ts.map +0 -1
  114. package/dist/oni-code/cron/store.js +0 -68
  115. package/dist/oni-code/cron/store.js.map +0 -1
  116. package/dist/oni-code/env.d.ts +0 -17
  117. package/dist/oni-code/env.d.ts.map +0 -1
  118. package/dist/oni-code/env.js +0 -51
  119. package/dist/oni-code/env.js.map +0 -1
  120. package/dist/oni-code/file-reader.d.ts +0 -28
  121. package/dist/oni-code/file-reader.d.ts.map +0 -1
  122. package/dist/oni-code/file-reader.js +0 -368
  123. package/dist/oni-code/file-reader.js.map +0 -1
  124. package/dist/oni-code/file-watcher.d.ts +0 -66
  125. package/dist/oni-code/file-watcher.d.ts.map +0 -1
  126. package/dist/oni-code/file-watcher.js +0 -167
  127. package/dist/oni-code/file-watcher.js.map +0 -1
  128. package/dist/oni-code/loop-detector.d.ts +0 -64
  129. package/dist/oni-code/loop-detector.d.ts.map +0 -1
  130. package/dist/oni-code/loop-detector.js +0 -163
  131. package/dist/oni-code/loop-detector.js.map +0 -1
  132. package/dist/oni-code/permissions.d.ts +0 -43
  133. package/dist/oni-code/permissions.d.ts.map +0 -1
  134. package/dist/oni-code/permissions.js +0 -98
  135. package/dist/oni-code/permissions.js.map +0 -1
  136. package/dist/oni-code/planner.d.ts +0 -26
  137. package/dist/oni-code/planner.d.ts.map +0 -1
  138. package/dist/oni-code/planner.js +0 -86
  139. package/dist/oni-code/planner.js.map +0 -1
  140. package/dist/oni-code/plugin-loader.d.ts +0 -103
  141. package/dist/oni-code/plugin-loader.d.ts.map +0 -1
  142. package/dist/oni-code/plugin-loader.js +0 -171
  143. package/dist/oni-code/plugin-loader.js.map +0 -1
  144. package/dist/oni-code/process-tree.d.ts +0 -44
  145. package/dist/oni-code/process-tree.d.ts.map +0 -1
  146. package/dist/oni-code/process-tree.js +0 -107
  147. package/dist/oni-code/process-tree.js.map +0 -1
  148. package/dist/oni-code/progress-tracker.d.ts +0 -40
  149. package/dist/oni-code/progress-tracker.d.ts.map +0 -1
  150. package/dist/oni-code/progress-tracker.js +0 -375
  151. package/dist/oni-code/progress-tracker.js.map +0 -1
  152. package/dist/oni-code/scheduler.d.ts +0 -56
  153. package/dist/oni-code/scheduler.d.ts.map +0 -1
  154. package/dist/oni-code/scheduler.js +0 -105
  155. package/dist/oni-code/scheduler.js.map +0 -1
  156. package/dist/oni-code/session-fork.d.ts +0 -146
  157. package/dist/oni-code/session-fork.d.ts.map +0 -1
  158. package/dist/oni-code/session-fork.js +0 -238
  159. package/dist/oni-code/session-fork.js.map +0 -1
  160. package/dist/oni-code/session-stats.d.ts +0 -72
  161. package/dist/oni-code/session-stats.d.ts.map +0 -1
  162. package/dist/oni-code/session-stats.js +0 -141
  163. package/dist/oni-code/session-stats.js.map +0 -1
  164. package/dist/oni-code/session-title.d.ts +0 -25
  165. package/dist/oni-code/session-title.d.ts.map +0 -1
  166. package/dist/oni-code/session-title.js +0 -67
  167. package/dist/oni-code/session-title.js.map +0 -1
  168. package/dist/oni-code/shell-parser.d.ts +0 -112
  169. package/dist/oni-code/shell-parser.d.ts.map +0 -1
  170. package/dist/oni-code/shell-parser.js +0 -657
  171. package/dist/oni-code/shell-parser.js.map +0 -1
  172. package/dist/oni-code/summarizer.d.ts +0 -27
  173. package/dist/oni-code/summarizer.d.ts.map +0 -1
  174. package/dist/oni-code/summarizer.js +0 -70
  175. package/dist/oni-code/summarizer.js.map +0 -1
  176. package/dist/oni-code/swarm-checkpoint.d.ts +0 -52
  177. package/dist/oni-code/swarm-checkpoint.d.ts.map +0 -1
  178. package/dist/oni-code/swarm-checkpoint.js +0 -71
  179. package/dist/oni-code/swarm-checkpoint.js.map +0 -1
  180. package/dist/oni-code/swarm-runner.d.ts +0 -173
  181. package/dist/oni-code/swarm-runner.d.ts.map +0 -1
  182. package/dist/oni-code/swarm-runner.js +0 -873
  183. package/dist/oni-code/swarm-runner.js.map +0 -1
  184. package/dist/oni-code/system-prompt.d.ts +0 -13
  185. package/dist/oni-code/system-prompt.d.ts.map +0 -1
  186. package/dist/oni-code/system-prompt.js +0 -64
  187. package/dist/oni-code/system-prompt.js.map +0 -1
  188. package/dist/oni-code/task-evaluator.d.ts +0 -73
  189. package/dist/oni-code/task-evaluator.d.ts.map +0 -1
  190. package/dist/oni-code/task-evaluator.js +0 -172
  191. package/dist/oni-code/task-evaluator.js.map +0 -1
  192. package/dist/oni-code/tools/batch.d.ts +0 -12
  193. package/dist/oni-code/tools/batch.d.ts.map +0 -1
  194. package/dist/oni-code/tools/batch.js +0 -116
  195. package/dist/oni-code/tools/batch.js.map +0 -1
  196. package/dist/oni-code/tools/coding.d.ts +0 -10
  197. package/dist/oni-code/tools/coding.d.ts.map +0 -1
  198. package/dist/oni-code/tools/coding.js +0 -557
  199. package/dist/oni-code/tools/coding.js.map +0 -1
  200. package/dist/oni-code/tools/cron.d.ts +0 -4
  201. package/dist/oni-code/tools/cron.d.ts.map +0 -1
  202. package/dist/oni-code/tools/cron.js +0 -120
  203. package/dist/oni-code/tools/cron.js.map +0 -1
  204. package/dist/oni-code/tools/custom.d.ts +0 -43
  205. package/dist/oni-code/tools/custom.d.ts.map +0 -1
  206. package/dist/oni-code/tools/custom.js +0 -115
  207. package/dist/oni-code/tools/custom.js.map +0 -1
  208. package/dist/oni-code/tools/patch.d.ts +0 -58
  209. package/dist/oni-code/tools/patch.d.ts.map +0 -1
  210. package/dist/oni-code/tools/patch.js +0 -247
  211. package/dist/oni-code/tools/patch.js.map +0 -1
  212. package/dist/oni-code/tools/plan.d.ts +0 -17
  213. package/dist/oni-code/tools/plan.d.ts.map +0 -1
  214. package/dist/oni-code/tools/plan.js +0 -48
  215. package/dist/oni-code/tools/plan.js.map +0 -1
  216. package/dist/oni-code/tools/question.d.ts +0 -17
  217. package/dist/oni-code/tools/question.d.ts.map +0 -1
  218. package/dist/oni-code/tools/question.js +0 -46
  219. package/dist/oni-code/tools/question.js.map +0 -1
  220. package/dist/oni-code/tools/skill.d.ts +0 -36
  221. package/dist/oni-code/tools/skill.d.ts.map +0 -1
  222. package/dist/oni-code/tools/skill.js +0 -132
  223. package/dist/oni-code/tools/skill.js.map +0 -1
  224. package/dist/oni-code/tools/spawn-agents.d.ts +0 -37
  225. package/dist/oni-code/tools/spawn-agents.d.ts.map +0 -1
  226. package/dist/oni-code/tools/spawn-agents.js +0 -91
  227. package/dist/oni-code/tools/spawn-agents.js.map +0 -1
  228. package/dist/oni-code/tools/spawn-swarm.d.ts +0 -70
  229. package/dist/oni-code/tools/spawn-swarm.d.ts.map +0 -1
  230. package/dist/oni-code/tools/spawn-swarm.js +0 -129
  231. package/dist/oni-code/tools/spawn-swarm.js.map +0 -1
  232. package/dist/oni-code/tools/web.d.ts +0 -11
  233. package/dist/oni-code/tools/web.d.ts.map +0 -1
  234. package/dist/oni-code/tools/web.js +0 -375
  235. package/dist/oni-code/tools/web.js.map +0 -1
  236. package/dist/oni-code/topology-agent-builder.d.ts +0 -22
  237. package/dist/oni-code/topology-agent-builder.d.ts.map +0 -1
  238. package/dist/oni-code/topology-agent-builder.js +0 -220
  239. package/dist/oni-code/topology-agent-builder.js.map +0 -1
  240. package/dist/oni-code/topology-selector.d.ts +0 -85
  241. package/dist/oni-code/topology-selector.d.ts.map +0 -1
  242. package/dist/oni-code/topology-selector.js +0 -338
  243. package/dist/oni-code/topology-selector.js.map +0 -1
  244. package/dist/oni-code/ui/App.d.ts +0 -10
  245. package/dist/oni-code/ui/App.d.ts.map +0 -1
  246. package/dist/oni-code/ui/App.js +0 -395
  247. package/dist/oni-code/ui/App.js.map +0 -1
  248. package/dist/oni-code/ui/FooterPanel.d.ts +0 -16
  249. package/dist/oni-code/ui/FooterPanel.d.ts.map +0 -1
  250. package/dist/oni-code/ui/FooterPanel.js +0 -56
  251. package/dist/oni-code/ui/FooterPanel.js.map +0 -1
  252. package/dist/oni-code/ui/Header.d.ts +0 -21
  253. package/dist/oni-code/ui/Header.d.ts.map +0 -1
  254. package/dist/oni-code/ui/Header.js +0 -105
  255. package/dist/oni-code/ui/Header.js.map +0 -1
  256. package/dist/oni-code/ui/InputArea.d.ts +0 -11
  257. package/dist/oni-code/ui/InputArea.d.ts.map +0 -1
  258. package/dist/oni-code/ui/InputArea.js +0 -82
  259. package/dist/oni-code/ui/InputArea.js.map +0 -1
  260. package/dist/oni-code/ui/MessageBlock.d.ts +0 -11
  261. package/dist/oni-code/ui/MessageBlock.d.ts.map +0 -1
  262. package/dist/oni-code/ui/MessageBlock.js +0 -103
  263. package/dist/oni-code/ui/MessageBlock.js.map +0 -1
  264. package/dist/oni-code/ui/OutputPane.d.ts +0 -12
  265. package/dist/oni-code/ui/OutputPane.d.ts.map +0 -1
  266. package/dist/oni-code/ui/OutputPane.js +0 -8
  267. package/dist/oni-code/ui/OutputPane.js.map +0 -1
  268. package/dist/oni-code/ui/PermissionPrompt.d.ts +0 -11
  269. package/dist/oni-code/ui/PermissionPrompt.d.ts.map +0 -1
  270. package/dist/oni-code/ui/PermissionPrompt.js +0 -48
  271. package/dist/oni-code/ui/PermissionPrompt.js.map +0 -1
  272. package/dist/oni-code/ui/QuestionPrompt.d.ts +0 -8
  273. package/dist/oni-code/ui/QuestionPrompt.d.ts.map +0 -1
  274. package/dist/oni-code/ui/QuestionPrompt.js +0 -9
  275. package/dist/oni-code/ui/QuestionPrompt.js.map +0 -1
  276. package/dist/oni-code/ui/StatusLine.d.ts +0 -14
  277. package/dist/oni-code/ui/StatusLine.d.ts.map +0 -1
  278. package/dist/oni-code/ui/StatusLine.js +0 -23
  279. package/dist/oni-code/ui/StatusLine.js.map +0 -1
  280. package/dist/oni-code/ui/SwarmPanel.d.ts +0 -9
  281. package/dist/oni-code/ui/SwarmPanel.d.ts.map +0 -1
  282. package/dist/oni-code/ui/SwarmPanel.js +0 -52
  283. package/dist/oni-code/ui/SwarmPanel.js.map +0 -1
  284. package/dist/oni-code/ui/ToolCallBlock.d.ts +0 -10
  285. package/dist/oni-code/ui/ToolCallBlock.d.ts.map +0 -1
  286. package/dist/oni-code/ui/ToolCallBlock.js +0 -21
  287. package/dist/oni-code/ui/ToolCallBlock.js.map +0 -1
  288. package/dist/oni-code/ui/Toolbar.d.ts +0 -8
  289. package/dist/oni-code/ui/Toolbar.d.ts.map +0 -1
  290. package/dist/oni-code/ui/Toolbar.js +0 -11
  291. package/dist/oni-code/ui/Toolbar.js.map +0 -1
  292. package/dist/oni-code/ui/WelcomeBanner.d.ts +0 -12
  293. package/dist/oni-code/ui/WelcomeBanner.d.ts.map +0 -1
  294. package/dist/oni-code/ui/WelcomeBanner.js +0 -24
  295. package/dist/oni-code/ui/WelcomeBanner.js.map +0 -1
  296. package/dist/oni-code/ui/activity.d.ts +0 -15
  297. package/dist/oni-code/ui/activity.d.ts.map +0 -1
  298. package/dist/oni-code/ui/activity.js +0 -252
  299. package/dist/oni-code/ui/activity.js.map +0 -1
  300. package/dist/oni-code/ui/banner.d.ts +0 -16
  301. package/dist/oni-code/ui/banner.d.ts.map +0 -1
  302. package/dist/oni-code/ui/banner.js +0 -132
  303. package/dist/oni-code/ui/banner.js.map +0 -1
  304. package/dist/oni-code/ui/command-menu.d.ts +0 -7
  305. package/dist/oni-code/ui/command-menu.d.ts.map +0 -1
  306. package/dist/oni-code/ui/command-menu.js +0 -20
  307. package/dist/oni-code/ui/command-menu.js.map +0 -1
  308. package/dist/oni-code/ui/diff.d.ts +0 -17
  309. package/dist/oni-code/ui/diff.d.ts.map +0 -1
  310. package/dist/oni-code/ui/diff.js +0 -37
  311. package/dist/oni-code/ui/diff.js.map +0 -1
  312. package/dist/oni-code/ui/format.d.ts +0 -41
  313. package/dist/oni-code/ui/format.d.ts.map +0 -1
  314. package/dist/oni-code/ui/format.js +0 -223
  315. package/dist/oni-code/ui/format.js.map +0 -1
  316. package/dist/oni-code/ui/input.d.ts +0 -28
  317. package/dist/oni-code/ui/input.d.ts.map +0 -1
  318. package/dist/oni-code/ui/input.js +0 -216
  319. package/dist/oni-code/ui/input.js.map +0 -1
  320. package/dist/oni-code/ui/insights.d.ts +0 -39
  321. package/dist/oni-code/ui/insights.d.ts.map +0 -1
  322. package/dist/oni-code/ui/insights.js +0 -193
  323. package/dist/oni-code/ui/insights.js.map +0 -1
  324. package/dist/oni-code/ui/markdown.d.ts +0 -9
  325. package/dist/oni-code/ui/markdown.d.ts.map +0 -1
  326. package/dist/oni-code/ui/markdown.js +0 -44
  327. package/dist/oni-code/ui/markdown.js.map +0 -1
  328. package/dist/oni-code/ui/panels.d.ts +0 -39
  329. package/dist/oni-code/ui/panels.d.ts.map +0 -1
  330. package/dist/oni-code/ui/panels.js +0 -209
  331. package/dist/oni-code/ui/panels.js.map +0 -1
  332. package/dist/oni-code/ui/paste.d.ts +0 -17
  333. package/dist/oni-code/ui/paste.d.ts.map +0 -1
  334. package/dist/oni-code/ui/paste.js +0 -45
  335. package/dist/oni-code/ui/paste.js.map +0 -1
  336. package/dist/oni-code/ui/raw-spinner.d.ts +0 -37
  337. package/dist/oni-code/ui/raw-spinner.d.ts.map +0 -1
  338. package/dist/oni-code/ui/raw-spinner.js +0 -121
  339. package/dist/oni-code/ui/raw-spinner.js.map +0 -1
  340. package/dist/oni-code/ui/session.d.ts +0 -44
  341. package/dist/oni-code/ui/session.d.ts.map +0 -1
  342. package/dist/oni-code/ui/session.js +0 -93
  343. package/dist/oni-code/ui/session.js.map +0 -1
  344. package/dist/oni-code/ui/spinner.d.ts +0 -7
  345. package/dist/oni-code/ui/spinner.d.ts.map +0 -1
  346. package/dist/oni-code/ui/spinner.js +0 -20
  347. package/dist/oni-code/ui/spinner.js.map +0 -1
  348. package/dist/oni-code/ui/swarm-activity.d.ts +0 -50
  349. package/dist/oni-code/ui/swarm-activity.d.ts.map +0 -1
  350. package/dist/oni-code/ui/swarm-activity.js +0 -233
  351. package/dist/oni-code/ui/swarm-activity.js.map +0 -1
  352. package/dist/oni-code/ui/terminal-size.d.ts +0 -18
  353. package/dist/oni-code/ui/terminal-size.d.ts.map +0 -1
  354. package/dist/oni-code/ui/terminal-size.js +0 -45
  355. package/dist/oni-code/ui/terminal-size.js.map +0 -1
  356. package/dist/oni-code/ui/theme.d.ts +0 -82
  357. package/dist/oni-code/ui/theme.d.ts.map +0 -1
  358. package/dist/oni-code/ui/theme.js +0 -101
  359. package/dist/oni-code/ui/theme.js.map +0 -1
  360. package/dist/oni-code/ui/tool-utils.d.ts +0 -10
  361. package/dist/oni-code/ui/tool-utils.d.ts.map +0 -1
  362. package/dist/oni-code/ui/tool-utils.js +0 -82
  363. package/dist/oni-code/ui/tool-utils.js.map +0 -1
  364. package/dist/oni-code/ui/useTerminalSize.d.ts +0 -3
  365. package/dist/oni-code/ui/useTerminalSize.d.ts.map +0 -1
  366. package/dist/oni-code/ui/useTerminalSize.js +0 -16
  367. package/dist/oni-code/ui/useTerminalSize.js.map +0 -1
  368. package/dist/oni-code/workspace/change-tracker.d.ts +0 -18
  369. package/dist/oni-code/workspace/change-tracker.d.ts.map +0 -1
  370. package/dist/oni-code/workspace/change-tracker.js +0 -67
  371. package/dist/oni-code/workspace/change-tracker.js.map +0 -1
  372. package/dist/oni-code/workspace/conflict-detector.d.ts +0 -12
  373. package/dist/oni-code/workspace/conflict-detector.d.ts.map +0 -1
  374. package/dist/oni-code/workspace/conflict-detector.js +0 -24
  375. package/dist/oni-code/workspace/conflict-detector.js.map +0 -1
  376. package/dist/oni-code/workspace/file-snapshots.d.ts +0 -39
  377. package/dist/oni-code/workspace/file-snapshots.d.ts.map +0 -1
  378. package/dist/oni-code/workspace/file-snapshots.js +0 -77
  379. package/dist/oni-code/workspace/file-snapshots.js.map +0 -1
  380. package/dist/oni-code/workspace/index.d.ts +0 -5
  381. package/dist/oni-code/workspace/index.d.ts.map +0 -1
  382. package/dist/oni-code/workspace/index.js +0 -5
  383. package/dist/oni-code/workspace/index.js.map +0 -1
  384. package/dist/oni-code/workspace/project-map.d.ts +0 -14
  385. package/dist/oni-code/workspace/project-map.d.ts.map +0 -1
  386. package/dist/oni-code/workspace/project-map.js +0 -91
  387. package/dist/oni-code/workspace/project-map.js.map +0 -1
  388. package/dist/sentinel/config/index.d.ts +0 -2
  389. package/dist/sentinel/config/index.d.ts.map +0 -1
  390. package/dist/sentinel/config/index.js +0 -2
  391. package/dist/sentinel/config/index.js.map +0 -1
  392. package/dist/sentinel/config/schema.d.ts +0 -4
  393. package/dist/sentinel/config/schema.d.ts.map +0 -1
  394. package/dist/sentinel/config/schema.js +0 -42
  395. package/dist/sentinel/config/schema.js.map +0 -1
  396. package/dist/sentinel/debate/index.d.ts +0 -6
  397. package/dist/sentinel/debate/index.d.ts.map +0 -1
  398. package/dist/sentinel/debate/index.js +0 -64
  399. package/dist/sentinel/debate/index.js.map +0 -1
  400. package/dist/sentinel/debate/prompts.d.ts +0 -4
  401. package/dist/sentinel/debate/prompts.d.ts.map +0 -1
  402. package/dist/sentinel/debate/prompts.js +0 -13
  403. package/dist/sentinel/debate/prompts.js.map +0 -1
  404. package/dist/sentinel/fix/index.d.ts +0 -6
  405. package/dist/sentinel/fix/index.d.ts.map +0 -1
  406. package/dist/sentinel/fix/index.js +0 -27
  407. package/dist/sentinel/fix/index.js.map +0 -1
  408. package/dist/sentinel/fix/strategies.d.ts +0 -9
  409. package/dist/sentinel/fix/strategies.d.ts.map +0 -1
  410. package/dist/sentinel/fix/strategies.js +0 -40
  411. package/dist/sentinel/fix/strategies.js.map +0 -1
  412. package/dist/sentinel/index.d.ts +0 -14
  413. package/dist/sentinel/index.d.ts.map +0 -1
  414. package/dist/sentinel/index.js +0 -22
  415. package/dist/sentinel/index.js.map +0 -1
  416. package/dist/sentinel/integrations/cli.d.ts +0 -10
  417. package/dist/sentinel/integrations/cli.d.ts.map +0 -1
  418. package/dist/sentinel/integrations/cli.js +0 -24
  419. package/dist/sentinel/integrations/cli.js.map +0 -1
  420. package/dist/sentinel/integrations/index.d.ts +0 -2
  421. package/dist/sentinel/integrations/index.d.ts.map +0 -1
  422. package/dist/sentinel/integrations/index.js +0 -2
  423. package/dist/sentinel/integrations/index.js.map +0 -1
  424. package/dist/sentinel/memory/index.d.ts +0 -16
  425. package/dist/sentinel/memory/index.d.ts.map +0 -1
  426. package/dist/sentinel/memory/index.js +0 -60
  427. package/dist/sentinel/memory/index.js.map +0 -1
  428. package/dist/sentinel/report/console.d.ts +0 -3
  429. package/dist/sentinel/report/console.d.ts.map +0 -1
  430. package/dist/sentinel/report/console.js +0 -27
  431. package/dist/sentinel/report/console.js.map +0 -1
  432. package/dist/sentinel/report/github.d.ts +0 -3
  433. package/dist/sentinel/report/github.d.ts.map +0 -1
  434. package/dist/sentinel/report/github.js +0 -36
  435. package/dist/sentinel/report/github.js.map +0 -1
  436. package/dist/sentinel/report/index.d.ts +0 -6
  437. package/dist/sentinel/report/index.d.ts.map +0 -1
  438. package/dist/sentinel/report/index.js +0 -15
  439. package/dist/sentinel/report/index.js.map +0 -1
  440. package/dist/sentinel/report/sarif.d.ts +0 -3
  441. package/dist/sentinel/report/sarif.d.ts.map +0 -1
  442. package/dist/sentinel/report/sarif.js +0 -29
  443. package/dist/sentinel/report/sarif.js.map +0 -1
  444. package/dist/sentinel/sentinel.d.ts +0 -17
  445. package/dist/sentinel/sentinel.d.ts.map +0 -1
  446. package/dist/sentinel/sentinel.js +0 -111
  447. package/dist/sentinel/sentinel.js.map +0 -1
  448. package/dist/sentinel/swarm/agents.d.ts +0 -6
  449. package/dist/sentinel/swarm/agents.d.ts.map +0 -1
  450. package/dist/sentinel/swarm/agents.js +0 -36
  451. package/dist/sentinel/swarm/agents.js.map +0 -1
  452. package/dist/sentinel/swarm/index.d.ts +0 -8
  453. package/dist/sentinel/swarm/index.d.ts.map +0 -1
  454. package/dist/sentinel/swarm/index.js +0 -74
  455. package/dist/sentinel/swarm/index.js.map +0 -1
  456. package/dist/sentinel/swarm/prompts.d.ts +0 -2
  457. package/dist/sentinel/swarm/prompts.d.ts.map +0 -1
  458. package/dist/sentinel/swarm/prompts.js +0 -24
  459. package/dist/sentinel/swarm/prompts.js.map +0 -1
  460. package/dist/sentinel/swarm/topology.d.ts +0 -10
  461. package/dist/sentinel/swarm/topology.d.ts.map +0 -1
  462. package/dist/sentinel/swarm/topology.js +0 -38
  463. package/dist/sentinel/swarm/topology.js.map +0 -1
  464. package/dist/sentinel/triage/analyzers/complexity-analyzer.d.ts +0 -7
  465. package/dist/sentinel/triage/analyzers/complexity-analyzer.d.ts.map +0 -1
  466. package/dist/sentinel/triage/analyzers/complexity-analyzer.js +0 -94
  467. package/dist/sentinel/triage/analyzers/complexity-analyzer.js.map +0 -1
  468. package/dist/sentinel/triage/analyzers/custom-analyzer.d.ts +0 -19
  469. package/dist/sentinel/triage/analyzers/custom-analyzer.d.ts.map +0 -1
  470. package/dist/sentinel/triage/analyzers/custom-analyzer.js +0 -268
  471. package/dist/sentinel/triage/analyzers/custom-analyzer.js.map +0 -1
  472. package/dist/sentinel/triage/analyzers/dependency-analyzer.d.ts +0 -26
  473. package/dist/sentinel/triage/analyzers/dependency-analyzer.d.ts.map +0 -1
  474. package/dist/sentinel/triage/analyzers/dependency-analyzer.js +0 -220
  475. package/dist/sentinel/triage/analyzers/dependency-analyzer.js.map +0 -1
  476. package/dist/sentinel/triage/analyzers/diff-analyzer.d.ts +0 -12
  477. package/dist/sentinel/triage/analyzers/diff-analyzer.d.ts.map +0 -1
  478. package/dist/sentinel/triage/analyzers/diff-analyzer.js +0 -19
  479. package/dist/sentinel/triage/analyzers/diff-analyzer.js.map +0 -1
  480. package/dist/sentinel/triage/analyzers/index.d.ts +0 -14
  481. package/dist/sentinel/triage/analyzers/index.d.ts.map +0 -1
  482. package/dist/sentinel/triage/analyzers/index.js +0 -25
  483. package/dist/sentinel/triage/analyzers/index.js.map +0 -1
  484. package/dist/sentinel/triage/analyzers/pattern-analyzer.d.ts +0 -7
  485. package/dist/sentinel/triage/analyzers/pattern-analyzer.d.ts.map +0 -1
  486. package/dist/sentinel/triage/analyzers/pattern-analyzer.js +0 -180
  487. package/dist/sentinel/triage/analyzers/pattern-analyzer.js.map +0 -1
  488. package/dist/sentinel/triage/analyzers/security-analyzer.d.ts +0 -7
  489. package/dist/sentinel/triage/analyzers/security-analyzer.d.ts.map +0 -1
  490. package/dist/sentinel/triage/analyzers/security-analyzer.js +0 -96
  491. package/dist/sentinel/triage/analyzers/security-analyzer.js.map +0 -1
  492. package/dist/sentinel/triage/analyzers/ts-parser.d.ts +0 -71
  493. package/dist/sentinel/triage/analyzers/ts-parser.d.ts.map +0 -1
  494. package/dist/sentinel/triage/analyzers/ts-parser.js +0 -323
  495. package/dist/sentinel/triage/analyzers/ts-parser.js.map +0 -1
  496. package/dist/sentinel/triage/analyzers/typescript-analyzer.d.ts +0 -7
  497. package/dist/sentinel/triage/analyzers/typescript-analyzer.d.ts.map +0 -1
  498. package/dist/sentinel/triage/analyzers/typescript-analyzer.js +0 -68
  499. package/dist/sentinel/triage/analyzers/typescript-analyzer.js.map +0 -1
  500. package/dist/sentinel/triage/index.d.ts +0 -10
  501. package/dist/sentinel/triage/index.d.ts.map +0 -1
  502. package/dist/sentinel/triage/index.js +0 -39
  503. package/dist/sentinel/triage/index.js.map +0 -1
  504. package/dist/sentinel/triage/scorer.d.ts +0 -9
  505. package/dist/sentinel/triage/scorer.d.ts.map +0 -1
  506. package/dist/sentinel/triage/scorer.js +0 -28
  507. package/dist/sentinel/triage/scorer.js.map +0 -1
  508. package/dist/sentinel/types.d.ts +0 -125
  509. package/dist/sentinel/types.d.ts.map +0 -1
  510. package/dist/sentinel/types.js +0 -6
  511. 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"}