@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,657 +0,0 @@
1
- /**
2
- * Shell Parser — lightweight recursive descent parser for bash commands.
3
- *
4
- * Zero-dependency alternative to tree-sitter-bash. Handles:
5
- * - Compound commands (pipes, semicolons, && / ||)
6
- * - Quoting (single, double, backtick, $'...' ANSI-C)
7
- * - Subshells: $(...) and backtick command substitution
8
- * - Here-strings (<<<) skipped as non-command content
9
- * - Variable expansion detection ($VAR, ${VAR})
10
- * - Escaped characters (backslash)
11
- * - Arity-based command prefix extraction (e.g., "git checkout" as one command)
12
- *
13
- * Swarm-aware: pure functions, callable from any execution tier.
14
- */
15
- // ── Arity Dictionary ─────────────────────────────────────────
16
- // Maps command prefixes to the number of tokens that form the "command name".
17
- // e.g., "git" → 2 means "git <subcommand>" is the real command.
18
- // This mirrors OpenCode's approach with 162 entries.
19
- const ARITY = {
20
- // Version control
21
- git: 2,
22
- svn: 2,
23
- hg: 2,
24
- // Package managers
25
- npm: 2,
26
- npx: 1,
27
- yarn: 2,
28
- pnpm: 2,
29
- bun: 2,
30
- pip: 2,
31
- pip3: 2,
32
- pipx: 2,
33
- cargo: 2,
34
- go: 2,
35
- gem: 2,
36
- composer: 2,
37
- apt: 2,
38
- "apt-get": 2,
39
- brew: 2,
40
- dnf: 2,
41
- yum: 2,
42
- pacman: 2,
43
- snap: 2,
44
- flatpak: 2,
45
- nix: 2,
46
- // Container/orchestration
47
- docker: 2,
48
- "docker-compose": 2,
49
- podman: 2,
50
- kubectl: 2,
51
- helm: 2,
52
- terraform: 2,
53
- // Cloud CLI
54
- aws: 2,
55
- az: 2,
56
- gcloud: 2,
57
- // System
58
- systemctl: 2,
59
- journalctl: 1,
60
- service: 2,
61
- // File operations (arity 1 — command IS the name)
62
- cat: 1,
63
- cd: 1,
64
- chmod: 1,
65
- chown: 1,
66
- cp: 1,
67
- mv: 1,
68
- rm: 1,
69
- mkdir: 1,
70
- rmdir: 1,
71
- touch: 1,
72
- ln: 1,
73
- ls: 1,
74
- find: 1,
75
- head: 1,
76
- tail: 1,
77
- less: 1,
78
- more: 1,
79
- grep: 1,
80
- sed: 1,
81
- awk: 1,
82
- tar: 1,
83
- zip: 1,
84
- unzip: 1,
85
- gzip: 1,
86
- gunzip: 1,
87
- curl: 1,
88
- wget: 1,
89
- ssh: 1,
90
- scp: 1,
91
- rsync: 1,
92
- dd: 1,
93
- mkfs: 1,
94
- // Editors/tools
95
- echo: 1,
96
- printf: 1,
97
- tee: 1,
98
- xargs: 1,
99
- sort: 1,
100
- uniq: 1,
101
- wc: 1,
102
- diff: 1,
103
- patch: 1,
104
- make: 1,
105
- // Scripting
106
- node: 1,
107
- python: 1,
108
- python3: 1,
109
- ruby: 1,
110
- perl: 1,
111
- bash: 1,
112
- sh: 1,
113
- zsh: 1,
114
- env: 1,
115
- sudo: 1,
116
- };
117
- // ── Tokenizer ────────────────────────────────────────────────
118
- /**
119
- * Tokenize a shell command string respecting:
120
- * - Single quotes ('...')
121
- * - Double quotes ("...")
122
- * - ANSI-C quotes ($'...')
123
- * - Backtick command substitution (`...`)
124
- * - Dollar-paren command substitution $(...)
125
- * - Nested parentheses in $(...)
126
- * - Backslash escapes
127
- * - Variable references ($VAR, ${VAR})
128
- */
129
- export function tokenize(input) {
130
- const tokens = [];
131
- let current = "";
132
- let i = 0;
133
- const len = input.length;
134
- function pushToken() {
135
- if (current) {
136
- tokens.push(current);
137
- current = "";
138
- }
139
- }
140
- while (i < len) {
141
- const ch = input[i];
142
- // Backslash escape (outside quotes)
143
- if (ch === "\\") {
144
- if (i + 1 < len) {
145
- current += input[i + 1];
146
- i += 2;
147
- }
148
- else {
149
- current += "\\";
150
- i++;
151
- }
152
- continue;
153
- }
154
- // Single quotes — no escaping inside
155
- if (ch === "'") {
156
- i++; // skip opening quote
157
- while (i < len && input[i] !== "'") {
158
- current += input[i];
159
- i++;
160
- }
161
- i++; // skip closing quote
162
- continue;
163
- }
164
- // ANSI-C quoting $'...' — interprets escape sequences
165
- if (ch === "$" && i + 1 < len && input[i + 1] === "'") {
166
- i += 2; // skip $'
167
- while (i < len && input[i] !== "'") {
168
- if (input[i] === "\\" && i + 1 < len) {
169
- const esc = input[i + 1];
170
- switch (esc) {
171
- case "n":
172
- current += "\n";
173
- break;
174
- case "t":
175
- current += "\t";
176
- break;
177
- case "r":
178
- current += "\r";
179
- break;
180
- case "\\":
181
- current += "\\";
182
- break;
183
- case "'":
184
- current += "'";
185
- break;
186
- case '"':
187
- current += '"';
188
- break;
189
- case "a":
190
- current += "\x07";
191
- break;
192
- case "b":
193
- current += "\b";
194
- break;
195
- case "f":
196
- current += "\f";
197
- break;
198
- case "v":
199
- current += "\v";
200
- break;
201
- case "0":
202
- current += "\0";
203
- break;
204
- default:
205
- current += esc;
206
- break;
207
- }
208
- i += 2;
209
- }
210
- else {
211
- current += input[i];
212
- i++;
213
- }
214
- }
215
- i++; // skip closing '
216
- continue;
217
- }
218
- // Double quotes — allows escaping and variable expansion
219
- if (ch === '"') {
220
- i++; // skip opening quote
221
- while (i < len && input[i] !== '"') {
222
- if (input[i] === "\\" && i + 1 < len) {
223
- // Only certain chars are special inside double quotes
224
- const next = input[i + 1];
225
- if (next === '"' || next === "\\" || next === "$" || next === "`") {
226
- current += next;
227
- i += 2;
228
- }
229
- else {
230
- current += "\\";
231
- i++;
232
- }
233
- }
234
- else if (input[i] === "$" && i + 1 < len && input[i + 1] === "(") {
235
- // Command substitution inside double quotes — collect as-is
236
- current += consumeSubshell(input, i);
237
- i = skipSubshell(input, i);
238
- }
239
- else {
240
- current += input[i];
241
- i++;
242
- }
243
- }
244
- i++; // skip closing "
245
- continue;
246
- }
247
- // $(...) command substitution
248
- if (ch === "$" && i + 1 < len && input[i + 1] === "(") {
249
- current += consumeSubshell(input, i);
250
- i = skipSubshell(input, i);
251
- continue;
252
- }
253
- // Backtick command substitution
254
- if (ch === "`") {
255
- i++; // skip opening backtick
256
- current += "`";
257
- while (i < len && input[i] !== "`") {
258
- if (input[i] === "\\" && i + 1 < len) {
259
- current += input[i + 1];
260
- i += 2;
261
- }
262
- else {
263
- current += input[i];
264
- i++;
265
- }
266
- }
267
- current += "`";
268
- if (i < len)
269
- i++; // skip closing backtick
270
- continue;
271
- }
272
- // Operators that split commands: |, ||, &&, ;
273
- if (ch === "|" || ch === "&" || ch === ";") {
274
- pushToken();
275
- // These become their own tokens for the splitter
276
- if (ch === "|" && i + 1 < len && input[i + 1] === "|") {
277
- tokens.push("||");
278
- i += 2;
279
- }
280
- else if (ch === "&" && i + 1 < len && input[i + 1] === "&") {
281
- tokens.push("&&");
282
- i += 2;
283
- }
284
- else if (ch === ";") {
285
- tokens.push(";");
286
- i++;
287
- }
288
- else if (ch === "|") {
289
- tokens.push("|");
290
- i++;
291
- }
292
- else {
293
- // Single & (background) — treat as separator
294
- tokens.push("&");
295
- i++;
296
- }
297
- continue;
298
- }
299
- // Redirection operators: >, >>, <, <<, <<<, 2>, 2>>
300
- if (ch === ">" || ch === "<") {
301
- pushToken();
302
- let op = ch;
303
- i++;
304
- while (i < len && (input[i] === ">" || input[i] === "<")) {
305
- op += input[i];
306
- i++;
307
- }
308
- tokens.push(op);
309
- continue;
310
- }
311
- // Handle 2> and 2>> (fd redirection)
312
- if (ch >= "0" && ch <= "9" && i + 1 < len && (input[i + 1] === ">" || input[i + 1] === "<")) {
313
- pushToken();
314
- let op = ch;
315
- i++;
316
- while (i < len && (input[i] === ">" || input[i] === "<")) {
317
- op += input[i];
318
- i++;
319
- }
320
- tokens.push(op);
321
- continue;
322
- }
323
- // Whitespace — token boundary
324
- if (ch === " " || ch === "\t" || ch === "\n") {
325
- pushToken();
326
- i++;
327
- continue;
328
- }
329
- // Regular character
330
- current += ch;
331
- i++;
332
- }
333
- pushToken();
334
- return tokens;
335
- }
336
- // ── Subshell helpers ─────────────────────────────────────────
337
- /** Consume $(...) including nested parens, return the full text. */
338
- function consumeSubshell(input, start) {
339
- let depth = 0;
340
- let i = start;
341
- let result = "";
342
- // Expect $( at start
343
- if (input[i] === "$" && i + 1 < input.length && input[i + 1] === "(") {
344
- result += "$(";
345
- i += 2;
346
- depth = 1;
347
- }
348
- else {
349
- return "";
350
- }
351
- while (i < input.length && depth > 0) {
352
- const ch = input[i];
353
- if (ch === "(" && input[i - 1] !== "\\") {
354
- depth++;
355
- }
356
- else if (ch === ")" && input[i - 1] !== "\\") {
357
- depth--;
358
- }
359
- result += ch;
360
- i++;
361
- }
362
- return result;
363
- }
364
- /** Skip past $(...) including nested parens, return index after closing paren. */
365
- function skipSubshell(input, start) {
366
- let depth = 0;
367
- let i = start;
368
- if (input[i] === "$" && i + 1 < input.length && input[i + 1] === "(") {
369
- i += 2;
370
- depth = 1;
371
- }
372
- else {
373
- return start + 1;
374
- }
375
- while (i < input.length && depth > 0) {
376
- const ch = input[i];
377
- if (ch === "(" && input[i - 1] !== "\\") {
378
- depth++;
379
- }
380
- else if (ch === ")" && input[i - 1] !== "\\") {
381
- depth--;
382
- }
383
- i++;
384
- }
385
- return i;
386
- }
387
- // ── Command Splitting ────────────────────────────────────────
388
- const OPERATORS = new Set(["|", "||", "&&", ";", "&"]);
389
- const REDIRECTIONS = new Set([">", ">>", "<", "<<", "<<<", "2>", "2>>", "1>", "1>>"]);
390
- /**
391
- * Split tokenized output into command segments.
392
- * Each segment is separated by |, ||, &&, ;, or &.
393
- * Redirection targets are excluded from command args.
394
- */
395
- function splitIntoSegments(allTokens, rawInput) {
396
- const segments = [];
397
- let current = [];
398
- let rawStart = 0;
399
- let rawPos = 0;
400
- let skipNext = false;
401
- for (let i = 0; i < allTokens.length; i++) {
402
- const token = allTokens[i];
403
- if (skipNext) {
404
- skipNext = false;
405
- continue;
406
- }
407
- if (OPERATORS.has(token)) {
408
- if (current.length > 0) {
409
- // Find the raw text for this segment
410
- const rawSegment = extractRawSegment(rawInput, rawStart, token);
411
- segments.push({ tokens: current, raw: rawSegment.trim() });
412
- rawStart = rawSegment.length + rawStart + token.length;
413
- }
414
- current = [];
415
- continue;
416
- }
417
- if (REDIRECTIONS.has(token)) {
418
- // Skip the redirection target (next token)
419
- skipNext = true;
420
- continue;
421
- }
422
- current.push(token);
423
- }
424
- if (current.length > 0) {
425
- const remaining = rawInput.slice(rawStart).trim();
426
- segments.push({ tokens: current, raw: remaining || current.join(" ") });
427
- }
428
- return segments;
429
- }
430
- /** Extract raw text from input up to the operator. */
431
- function extractRawSegment(input, start, operator) {
432
- const remaining = input.slice(start);
433
- // Find the operator in the remaining text
434
- // Be careful with operators that are substrings of each other (| vs ||)
435
- const opLen = operator.length;
436
- let i = 0;
437
- let inSingle = false;
438
- let inDouble = false;
439
- while (i < remaining.length) {
440
- const ch = remaining[i];
441
- if (ch === "\\") {
442
- i += 2;
443
- continue;
444
- }
445
- if (ch === "'" && !inDouble) {
446
- inSingle = !inSingle;
447
- i++;
448
- continue;
449
- }
450
- if (ch === '"' && !inSingle) {
451
- inDouble = !inDouble;
452
- i++;
453
- continue;
454
- }
455
- if (!inSingle && !inDouble) {
456
- if (remaining.slice(i, i + opLen) === operator) {
457
- // Check it's not a longer operator
458
- if (operator === "|" && i + 1 < remaining.length && remaining[i + 1] === "|") {
459
- i++;
460
- continue;
461
- }
462
- if (operator === "&" && i + 1 < remaining.length && remaining[i + 1] === "&") {
463
- i++;
464
- continue;
465
- }
466
- return remaining.slice(0, i);
467
- }
468
- }
469
- i++;
470
- }
471
- return remaining;
472
- }
473
- // ── Command Prefix (Arity) ──────────────────────────────────
474
- /**
475
- * Extract the command prefix from a token list using arity rules.
476
- *
477
- * For "git checkout main", arity("git") = 2, so prefix = "git checkout".
478
- * For "rm -rf /tmp", arity("rm") = 1, so prefix = "rm".
479
- * For unknown commands, arity = 1.
480
- *
481
- * Flags (starting with -) are skipped when counting arity tokens,
482
- * but included in the prefix string for permission matching.
483
- */
484
- export function commandPrefix(tokens) {
485
- if (tokens.length === 0)
486
- return "";
487
- const cmd = tokens[0];
488
- // Strip path prefix (e.g., /usr/bin/git → git)
489
- const baseName = cmd.includes("/") ? cmd.split("/").pop() : cmd;
490
- const arity = ARITY[baseName] ?? 1;
491
- // Collect arity tokens (skipping flags)
492
- const prefixParts = [cmd];
493
- let arityCount = 1; // cmd itself counts as 1
494
- let i = 1;
495
- while (i < tokens.length && arityCount < arity) {
496
- const token = tokens[i];
497
- if (!token.startsWith("-")) {
498
- prefixParts.push(token);
499
- arityCount++;
500
- }
501
- i++;
502
- }
503
- return prefixParts.join(" ");
504
- }
505
- // ── Main Parser ──────────────────────────────────────────────
506
- /**
507
- * Parse a shell command string into structured commands.
508
- *
509
- * Handles compound commands, quoting, subshells, redirections,
510
- * and arity-based command prefix extraction.
511
- *
512
- * @example
513
- * ```ts
514
- * const result = parseShellCommand("git push --force origin main && rm -rf /tmp");
515
- * // result.commands[0].name === "git push"
516
- * // result.commands[0].flags === ["--force"]
517
- * // result.commands[0].positional === ["origin", "main"]
518
- * // result.commands[1].name === "rm"
519
- * // result.commands[1].flags === ["-rf"]
520
- * // result.commands[1].positional === ["/tmp"]
521
- * ```
522
- */
523
- export function parseShellCommand(input) {
524
- if (!input.trim()) {
525
- return { commands: [] };
526
- }
527
- const allTokens = tokenize(input);
528
- const segments = splitIntoSegments(allTokens, input);
529
- const commands = [];
530
- for (const seg of segments) {
531
- if (seg.tokens.length === 0)
532
- continue;
533
- const name = commandPrefix(seg.tokens);
534
- const nameTokenCount = name.split(" ").length;
535
- // Classify remaining tokens as flags or positional
536
- const flags = [];
537
- const positional = [];
538
- for (let i = nameTokenCount; i < seg.tokens.length; i++) {
539
- const token = seg.tokens[i];
540
- if (token.startsWith("-")) {
541
- flags.push(token);
542
- }
543
- else {
544
- positional.push(token);
545
- }
546
- }
547
- // Also collect flags that appeared between arity tokens
548
- // e.g., "git --no-pager checkout" — "--no-pager" is a flag
549
- for (let i = 1; i < nameTokenCount; i++) {
550
- const token = seg.tokens[i];
551
- if (token.startsWith("-")) {
552
- flags.push(token);
553
- }
554
- }
555
- commands.push({
556
- name,
557
- tokens: seg.tokens,
558
- flags,
559
- positional,
560
- raw: seg.raw,
561
- });
562
- }
563
- return { commands };
564
- }
565
- // ── Path Extraction (Enhanced) ───────────────────────────────
566
- /** Commands that commonly take file/directory path arguments. */
567
- const PATH_TAKING_COMMANDS = new Set([
568
- "cd", "rm", "cp", "mv", "mkdir", "rmdir", "touch",
569
- "cat", "less", "more", "head", "tail", "chmod", "chown",
570
- "ln", "ls", "find", "tar", "unzip", "zip", "scp", "rsync",
571
- "dd", "tee",
572
- ]);
573
- /**
574
- * Check if a token looks like a file path.
575
- */
576
- function isPathToken(token) {
577
- if (token.startsWith("/"))
578
- return true;
579
- if (/^[A-Za-z]:[/\\]/.test(token))
580
- return true;
581
- if (token.startsWith("../") || token.startsWith("..\\") || token === "..")
582
- return true;
583
- if (token.includes("/") || token.includes("\\"))
584
- return true;
585
- if (token.startsWith("~/"))
586
- return true;
587
- return false;
588
- }
589
- /**
590
- * Extract file paths from a parsed command.
591
- * Only considers path-taking commands and positional arguments.
592
- *
593
- * Skips tokens that contain command substitution ($(...) or `...`)
594
- * since their real value isn't known until runtime.
595
- */
596
- export function extractCommandPaths(cmd) {
597
- const baseName = cmd.name.split(" ")[0];
598
- const baseCmd = baseName.includes("/") ? baseName.split("/").pop() : baseName;
599
- if (!PATH_TAKING_COMMANDS.has(baseCmd))
600
- return [];
601
- const paths = [];
602
- for (const arg of cmd.positional) {
603
- // Skip dynamic values — can't resolve at parse time
604
- if (arg.includes("$(") || arg.includes("`"))
605
- continue;
606
- if (isPathToken(arg)) {
607
- paths.push(arg);
608
- }
609
- }
610
- return paths;
611
- }
612
- /**
613
- * Extract all file paths from a shell command string.
614
- * Enhanced version of the regex-based extractBashPaths.
615
- *
616
- * Advantages over regex approach:
617
- * - Properly handles nested subshells (doesn't split inside $(...))
618
- * - Handles quoting correctly (paths in quotes are extracted without quotes)
619
- * - Arity-aware — knows "git checkout" is one command, not "git" + "checkout" as arg
620
- * - Skips redirection targets (not paths to check)
621
- * - Skips command substitution tokens (can't resolve at parse time)
622
- */
623
- export function extractPaths(command) {
624
- const parsed = parseShellCommand(command);
625
- const paths = [];
626
- for (const cmd of parsed.commands) {
627
- paths.push(...extractCommandPaths(cmd));
628
- }
629
- return paths;
630
- }
631
- /**
632
- * Extract the command prefix for permission matching.
633
- *
634
- * For bash commands, returns the arity-aware prefix:
635
- * - "git push --force origin main" → "git push"
636
- * - "npm run dev" → "npm run"
637
- * - "rm -rf /tmp" → "rm"
638
- *
639
- * For compound commands, returns the first command's prefix.
640
- */
641
- export function extractCommandName(command) {
642
- const parsed = parseShellCommand(command);
643
- if (parsed.commands.length === 0)
644
- return "";
645
- return parsed.commands[0].name;
646
- }
647
- /**
648
- * Get all command names from a compound command.
649
- * Returns array of arity-aware command prefixes.
650
- *
651
- * "git add . && npm run build" → ["git add", "npm run"]
652
- */
653
- export function extractAllCommandNames(command) {
654
- const parsed = parseShellCommand(command);
655
- return parsed.commands.map((c) => c.name);
656
- }
657
- //# sourceMappingURL=shell-parser.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"shell-parser.js","sourceRoot":"","sources":["../../src/oni-code/shell-parser.ts"],"names":[],"mappings":"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"}