@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,58 +0,0 @@
1
- import { writeFileSync, mkdirSync, renameSync, readFileSync } from "node:fs";
2
- import { join } from "node:path";
3
- const ONI_DIR = ".oni";
4
- const TASKS_FILE = "scheduled_tasks.json";
5
- const CURRENT_VERSION = 1;
6
- const DEFAULT_AUTO_EXPIRY_MS = 3 * 24 * 60 * 60 * 1000; // 3 days
7
- /**
8
- * Load persisted jobs from `<rootDir>/.oni/scheduled_tasks.json`.
9
- * Filters out expired jobs and jobs with missing required fields.
10
- * Returns empty array if file is missing or corrupt.
11
- */
12
- export function loadPersistedJobs(rootDir, opts) {
13
- try {
14
- const filePath = join(rootDir, ONI_DIR, TASKS_FILE);
15
- const raw = readFileSync(filePath, "utf-8");
16
- const data = JSON.parse(raw);
17
- if (!data || !Array.isArray(data.jobs))
18
- return [];
19
- const now = Date.now();
20
- const expiryMs = opts?.autoExpiryMs ?? DEFAULT_AUTO_EXPIRY_MS;
21
- return data.jobs.filter((j) => {
22
- // Validate required fields
23
- if (!j.id || !j.cron || !j.prompt || typeof j.createdAt !== "number" || typeof j.recurring !== "boolean") {
24
- return false;
25
- }
26
- // Filter expired
27
- return (now - j.createdAt) <= expiryMs;
28
- });
29
- }
30
- catch {
31
- return [];
32
- }
33
- }
34
- export function persistJobs(rootDir, jobs) {
35
- try {
36
- const dir = join(rootDir, ONI_DIR);
37
- mkdirSync(dir, { recursive: true });
38
- const data = {
39
- version: CURRENT_VERSION,
40
- jobs: jobs.map((j) => ({
41
- id: j.id,
42
- cron: j.cron,
43
- prompt: j.prompt,
44
- recurring: j.recurring,
45
- createdAt: j.createdAt,
46
- humanSchedule: j.humanSchedule,
47
- })),
48
- };
49
- const filePath = join(dir, TASKS_FILE);
50
- const tmpPath = filePath + ".tmp";
51
- writeFileSync(tmpPath, JSON.stringify(data, null, 2), "utf-8");
52
- renameSync(tmpPath, filePath);
53
- }
54
- catch {
55
- // Fire-and-forget — write errors must not crash the scheduler
56
- }
57
- }
58
- //# sourceMappingURL=persistence.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"persistence.js","sourceRoot":"","sources":["../../../src/oni-code/cron/persistence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,MAAM,OAAO,GAAG,MAAM,CAAC;AACvB,MAAM,UAAU,GAAG,sBAAsB,CAAC;AAC1C,MAAM,eAAe,GAAG,CAAC,CAAC;AAiB1B,MAAM,sBAAsB,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,SAAS;AAOjE;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAe,EAAE,IAAkB;IACnE,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QACpD,MAAM,GAAG,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC5C,MAAM,IAAI,GAAkB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAE5C,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,EAAE,CAAC;QAElD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,QAAQ,GAAG,IAAI,EAAE,YAAY,IAAI,sBAAsB,CAAC;QAE9D,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YAC5B,2BAA2B;YAC3B,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;gBACzG,OAAO,KAAK,CAAC;YACf,CAAC;YACD,iBAAiB;YACjB,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,SAAS,CAAC,IAAI,QAAQ,CAAC;QACzC,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,OAAe,EAAE,IAAe;IAC1D,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACnC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAEpC,MAAM,IAAI,GAAkB;YAC1B,OAAO,EAAE,eAAe;YACxB,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACrB,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,aAAa,EAAE,CAAC,CAAC,aAAa;aAC/B,CAAC,CAAC;SACJ,CAAC;QAEF,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QACvC,MAAM,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;QAClC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QAC/D,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,8DAA8D;IAChE,CAAC;AACH,CAAC"}
@@ -1,64 +0,0 @@
1
- import type { CronJob, CronJobInput } from "./store.js";
2
- export interface CronSchedulerConfig {
3
- /** Callback: fires a prompt into the agent loop. */
4
- onFire: (prompt: string, jobId: string) => void;
5
- /** Callback: returns true if the agent is currently busy. */
6
- isBusy: () => boolean;
7
- /** Override tick interval for testing (default 1000ms). */
8
- tickIntervalMs?: number;
9
- /** Override auto-expiry duration for testing (default 3 days). */
10
- autoExpiryMs?: number;
11
- /** Optional callback fired after create() and cancel().
12
- * Receives the current job list. Errors are swallowed.
13
- * NOT fired on dispose() — persisted state should survive session exit. */
14
- onMutate?: (jobs: CronJob[]) => void;
15
- }
16
- export declare class CronScheduler {
17
- private store;
18
- private timer;
19
- private config;
20
- private tickIntervalMs;
21
- private autoExpiryMs;
22
- /** Track the last minute we fired for each job to avoid double-firing within the same minute. */
23
- private lastFiredMinute;
24
- constructor(config: CronSchedulerConfig);
25
- /** Create and schedule a new job. Returns the job. */
26
- create(input: CronJobInput): CronJob;
27
- /** Cancel a job by ID. Returns true if found. */
28
- cancel(id: string): boolean;
29
- /** List all active jobs. */
30
- list(): CronJob[];
31
- /** Get a job by ID. */
32
- get(id: string): CronJob | undefined;
33
- /** Number of active jobs. */
34
- get size(): number;
35
- /** Start the tick loop. Idempotent. */
36
- start(): void;
37
- /** Stop the tick loop. Idempotent. */
38
- stop(): void;
39
- /** Stop and clear all jobs. */
40
- dispose(): void;
41
- /** Bulk-restore persisted jobs. Preserves original createdAt.
42
- * Does NOT fire onMutate — avoids N redundant disk writes at startup.
43
- * Silently skips jobs that fail (e.g., at capacity). */
44
- restore(jobs: Array<{
45
- id: string;
46
- cron: string;
47
- prompt: string;
48
- recurring: boolean;
49
- createdAt: number;
50
- humanSchedule?: string;
51
- }>): void;
52
- /** Whether the tick loop is running. */
53
- get running(): boolean;
54
- private notifyMutate;
55
- /** Single tick: check all jobs, fire ready ones (if idle). */
56
- private tick;
57
- /** Fire a job's prompt. */
58
- private fire;
59
- /** Compute and store the next fire time for a job (approximate — used for display). */
60
- private computeNextFireTime;
61
- /** Exposed for testing: manually invoke one tick cycle. */
62
- _tick(): void;
63
- }
64
- //# sourceMappingURL=scheduler.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../../src/oni-code/cron/scheduler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAWxD,MAAM,WAAW,mBAAmB;IAClC,oDAAoD;IACpD,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,6DAA6D;IAC7D,MAAM,EAAE,MAAM,OAAO,CAAC;IACtB,2DAA2D;IAC3D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kEAAkE;IAClE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;gFAE4E;IAC5E,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;CACtC;AAID,qBAAa,aAAa;IACxB,OAAO,CAAC,KAAK,CAAmB;IAChC,OAAO,CAAC,KAAK,CAA+C;IAC5D,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,YAAY,CAAS;IAC7B,iGAAiG;IACjG,OAAO,CAAC,eAAe,CAA6B;gBAExC,MAAM,EAAE,mBAAmB;IAMvC,sDAAsD;IACtD,MAAM,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO;IAkBpC,iDAAiD;IACjD,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAa3B,4BAA4B;IAC5B,IAAI,IAAI,OAAO,EAAE;IAIjB,uBAAuB;IACvB,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAIpC,6BAA6B;IAC7B,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,uCAAuC;IACvC,KAAK,IAAI,IAAI;IASb,sCAAsC;IACtC,IAAI,IAAI,IAAI;IAOZ,+BAA+B;IAC/B,OAAO,IAAI,IAAI;IAMf;;6DAEyD;IACzD,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,IAAI;IAqBvI,wCAAwC;IACxC,IAAI,OAAO,IAAI,OAAO,CAErB;IAID,OAAO,CAAC,YAAY;IAWpB,8DAA8D;IAC9D,OAAO,CAAC,IAAI;IA0CZ,2BAA2B;IAC3B,OAAO,CAAC,IAAI;IAQZ,uFAAuF;IACvF,OAAO,CAAC,mBAAmB;IAe3B,2DAA2D;IAC3D,KAAK,IAAI,IAAI;CAGd"}
@@ -1,188 +0,0 @@
1
- import { CronStore } from "./store.js";
2
- import { cronMatches } from "./matcher.js";
3
- import { humanizeCron } from "./humanize.js";
4
- // ── Constants ────────────────────────────────────────────────
5
- const TICK_INTERVAL_MS = 1_000;
6
- const AUTO_EXPIRY_MS = 259_200_000; // 3 days (72 hours)
7
- // ── Scheduler ────────────────────────────────────────────────
8
- export class CronScheduler {
9
- store = new CronStore();
10
- timer = null;
11
- config;
12
- tickIntervalMs;
13
- autoExpiryMs;
14
- /** Track the last minute we fired for each job to avoid double-firing within the same minute. */
15
- lastFiredMinute = new Map();
16
- constructor(config) {
17
- this.config = config;
18
- this.tickIntervalMs = config.tickIntervalMs ?? TICK_INTERVAL_MS;
19
- this.autoExpiryMs = config.autoExpiryMs ?? AUTO_EXPIRY_MS;
20
- }
21
- /** Create and schedule a new job. Returns the job. */
22
- create(input) {
23
- const job = this.store.add({
24
- ...input,
25
- humanSchedule: input.humanSchedule ?? humanizeCron(input.cron),
26
- });
27
- // Compute initial nextFireTime
28
- this.computeNextFireTime(job);
29
- // Auto-start ticking if not already running
30
- if (!this.timer) {
31
- this.start();
32
- }
33
- this.notifyMutate();
34
- return job;
35
- }
36
- /** Cancel a job by ID. Returns true if found. */
37
- cancel(id) {
38
- this.lastFiredMinute.delete(id);
39
- const removed = this.store.remove(id);
40
- // Stop ticking if no more jobs
41
- if (this.store.size === 0) {
42
- this.stop();
43
- }
44
- this.notifyMutate();
45
- return removed;
46
- }
47
- /** List all active jobs. */
48
- list() {
49
- return this.store.list();
50
- }
51
- /** Get a job by ID. */
52
- get(id) {
53
- return this.store.get(id);
54
- }
55
- /** Number of active jobs. */
56
- get size() {
57
- return this.store.size;
58
- }
59
- /** Start the tick loop. Idempotent. */
60
- start() {
61
- if (this.timer)
62
- return;
63
- this.timer = setInterval(() => this.tick(), this.tickIntervalMs);
64
- // Don't prevent process exit
65
- if (this.timer && typeof this.timer === "object" && "unref" in this.timer) {
66
- this.timer.unref();
67
- }
68
- }
69
- /** Stop the tick loop. Idempotent. */
70
- stop() {
71
- if (this.timer) {
72
- clearInterval(this.timer);
73
- this.timer = null;
74
- }
75
- }
76
- /** Stop and clear all jobs. */
77
- dispose() {
78
- this.stop();
79
- this.store.clear();
80
- this.lastFiredMinute.clear();
81
- }
82
- /** Bulk-restore persisted jobs. Preserves original createdAt.
83
- * Does NOT fire onMutate — avoids N redundant disk writes at startup.
84
- * Silently skips jobs that fail (e.g., at capacity). */
85
- restore(jobs) {
86
- for (const pj of jobs) {
87
- try {
88
- const job = this.store.add({
89
- cron: pj.cron,
90
- prompt: pj.prompt,
91
- recurring: pj.recurring,
92
- createdAt: pj.createdAt,
93
- humanSchedule: pj.humanSchedule ?? humanizeCron(pj.cron),
94
- });
95
- this.computeNextFireTime(job);
96
- }
97
- catch {
98
- // Skip jobs that fail to restore (e.g., at capacity)
99
- }
100
- }
101
- if (this.store.size > 0 && !this.timer) {
102
- this.start();
103
- }
104
- }
105
- /** Whether the tick loop is running. */
106
- get running() {
107
- return this.timer !== null;
108
- }
109
- // ── Private helpers ─────────────────────────────────────────
110
- notifyMutate() {
111
- if (!this.config.onMutate)
112
- return;
113
- try {
114
- this.config.onMutate(this.store.list());
115
- }
116
- catch {
117
- // Mutation callback errors must not crash the scheduler
118
- }
119
- }
120
- // ── Internal ───────────────────────────────────────────────
121
- /** Single tick: check all jobs, fire ready ones (if idle). */
122
- tick() {
123
- if (this.config.isBusy())
124
- return;
125
- const now = Date.now();
126
- const currentDate = new Date(now);
127
- const currentMinute = Math.floor(now / 60_000);
128
- for (const job of this.store.list()) {
129
- // Check cron match
130
- if (!cronMatches(job.cron, currentDate))
131
- continue;
132
- // Avoid double-firing within the same minute
133
- if (this.lastFiredMinute.get(job.id) === currentMinute)
134
- continue;
135
- // Check auto-expiry (3 days)
136
- const age = now - job.createdAt;
137
- if (age > this.autoExpiryMs) {
138
- // Fire one final time, then delete
139
- this.lastFiredMinute.set(job.id, currentMinute);
140
- this.fire(job);
141
- this.store.remove(job.id);
142
- this.lastFiredMinute.delete(job.id);
143
- continue;
144
- }
145
- // Fire!
146
- this.lastFiredMinute.set(job.id, currentMinute);
147
- this.fire(job);
148
- // One-shot: delete after firing
149
- if (!job.recurring) {
150
- this.store.remove(job.id);
151
- this.lastFiredMinute.delete(job.id);
152
- }
153
- }
154
- // Auto-stop if all jobs gone
155
- if (this.store.size === 0) {
156
- this.stop();
157
- }
158
- }
159
- /** Fire a job's prompt. */
160
- fire(job) {
161
- try {
162
- this.config.onFire(job.prompt, job.id);
163
- }
164
- catch {
165
- // Fire callback errors must not crash the scheduler
166
- }
167
- }
168
- /** Compute and store the next fire time for a job (approximate — used for display). */
169
- computeNextFireTime(job) {
170
- const now = new Date();
171
- // Scan forward up to 24 hours to find the next matching minute
172
- for (let i = 1; i <= 1440; i++) {
173
- const candidate = new Date(now.getTime() + i * 60_000);
174
- candidate.setSeconds(0, 0);
175
- if (cronMatches(job.cron, candidate)) {
176
- this.store.updateFireTime(job.id, candidate.getTime());
177
- return;
178
- }
179
- }
180
- // Fallback: 1 minute from now
181
- this.store.updateFireTime(job.id, now.getTime() + 60_000);
182
- }
183
- /** Exposed for testing: manually invoke one tick cycle. */
184
- _tick() {
185
- this.tick();
186
- }
187
- }
188
- //# sourceMappingURL=scheduler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../../src/oni-code/cron/scheduler.ts"],"names":[],"mappings":"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"}
@@ -1,46 +0,0 @@
1
- export interface CronJob {
2
- /** 8-character hex ID */
3
- id: string;
4
- /** 5-field cron expression */
5
- cron: string;
6
- /** Prompt to fire into the agent loop */
7
- prompt: string;
8
- /** If true, reschedule after firing. If false, delete after firing. */
9
- recurring: boolean;
10
- /** Creation timestamp (ms) */
11
- createdAt: number;
12
- /** Next computed fire time (ms). Updated after each fire. */
13
- nextFireTime: number;
14
- /** Human-readable schedule description */
15
- humanSchedule?: string;
16
- }
17
- export interface CronJobInput {
18
- cron: string;
19
- prompt: string;
20
- recurring?: boolean;
21
- humanSchedule?: string;
22
- /** Optional creation timestamp (ms). Preserved when restoring persisted jobs. */
23
- createdAt?: number;
24
- }
25
- export declare class CronStore {
26
- private jobs;
27
- /** Generate an 8-char hex ID */
28
- private generateId;
29
- /** Add a new job. Returns the created job. Throws if at capacity. */
30
- add(input: CronJobInput): CronJob;
31
- /** Remove a job by ID. Returns true if found and removed. */
32
- remove(id: string): boolean;
33
- /** Get a job by ID. */
34
- get(id: string): CronJob | undefined;
35
- /** List all jobs. */
36
- list(): CronJob[];
37
- /** Get all jobs whose nextFireTime <= now. */
38
- getReady(now: number): CronJob[];
39
- /** Update a job's nextFireTime. */
40
- updateFireTime(id: string, nextFireTime: number): void;
41
- /** Number of active jobs. */
42
- get size(): number;
43
- /** Clear all jobs. */
44
- clear(): void;
45
- }
46
- //# sourceMappingURL=store.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/oni-code/cron/store.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,OAAO;IACtB,yBAAyB;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,8BAA8B;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,yCAAyC;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,uEAAuE;IACvE,SAAS,EAAE,OAAO,CAAC;IACnB,8BAA8B;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,6DAA6D;IAC7D,YAAY,EAAE,MAAM,CAAC;IACrB,0CAA0C;IAC1C,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iFAAiF;IACjF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAQD,qBAAa,SAAS;IACpB,OAAO,CAAC,IAAI,CAA8B;IAE1C,gCAAgC;IAChC,OAAO,CAAC,UAAU;IAIlB,qEAAqE;IACrE,GAAG,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO;IAqBjC,6DAA6D;IAC7D,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAI3B,uBAAuB;IACvB,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAIpC,qBAAqB;IACrB,IAAI,IAAI,OAAO,EAAE;IAIjB,8CAA8C;IAC9C,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,EAAE;IAUhC,mCAAmC;IACnC,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI;IAOtD,6BAA6B;IAC7B,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,sBAAsB;IACtB,KAAK,IAAI,IAAI;CAGd"}
@@ -1,68 +0,0 @@
1
- import { randomBytes } from "node:crypto";
2
- // ── Constants ────────────────────────────────────────────────
3
- const MAX_JOBS = 50;
4
- // ── Store ────────────────────────────────────────────────────
5
- export class CronStore {
6
- jobs = new Map();
7
- /** Generate an 8-char hex ID */
8
- generateId() {
9
- return randomBytes(4).toString("hex");
10
- }
11
- /** Add a new job. Returns the created job. Throws if at capacity. */
12
- add(input) {
13
- if (this.jobs.size >= MAX_JOBS) {
14
- throw new Error(`Maximum of ${MAX_JOBS} concurrent scheduled jobs reached`);
15
- }
16
- const id = this.generateId();
17
- const now = Date.now();
18
- const job = {
19
- id,
20
- cron: input.cron,
21
- prompt: input.prompt,
22
- recurring: input.recurring ?? true,
23
- createdAt: input.createdAt ?? now,
24
- nextFireTime: 0, // Will be computed by scheduler
25
- humanSchedule: input.humanSchedule,
26
- };
27
- this.jobs.set(id, job);
28
- return job;
29
- }
30
- /** Remove a job by ID. Returns true if found and removed. */
31
- remove(id) {
32
- return this.jobs.delete(id);
33
- }
34
- /** Get a job by ID. */
35
- get(id) {
36
- return this.jobs.get(id);
37
- }
38
- /** List all jobs. */
39
- list() {
40
- return [...this.jobs.values()];
41
- }
42
- /** Get all jobs whose nextFireTime <= now. */
43
- getReady(now) {
44
- const ready = [];
45
- for (const job of this.jobs.values()) {
46
- if (job.nextFireTime > 0 && job.nextFireTime <= now) {
47
- ready.push(job);
48
- }
49
- }
50
- return ready;
51
- }
52
- /** Update a job's nextFireTime. */
53
- updateFireTime(id, nextFireTime) {
54
- const job = this.jobs.get(id);
55
- if (job) {
56
- job.nextFireTime = nextFireTime;
57
- }
58
- }
59
- /** Number of active jobs. */
60
- get size() {
61
- return this.jobs.size;
62
- }
63
- /** Clear all jobs. */
64
- clear() {
65
- this.jobs.clear();
66
- }
67
- }
68
- //# sourceMappingURL=store.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/oni-code/cron/store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AA8B1C,gEAAgE;AAEhE,MAAM,QAAQ,GAAG,EAAE,CAAC;AAEpB,gEAAgE;AAEhE,MAAM,OAAO,SAAS;IACZ,IAAI,GAAG,IAAI,GAAG,EAAmB,CAAC;IAE1C,gCAAgC;IACxB,UAAU;QAChB,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC;IAED,qEAAqE;IACrE,GAAG,CAAC,KAAmB;QACrB,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,cAAc,QAAQ,oCAAoC,CAAC,CAAC;QAC9E,CAAC;QAED,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,GAAG,GAAY;YACnB,EAAE;YACF,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI;YAClC,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,GAAG;YACjC,YAAY,EAAE,CAAC,EAAE,gCAAgC;YACjD,aAAa,EAAE,KAAK,CAAC,aAAa;SACnC,CAAC;QAEF,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QACvB,OAAO,GAAG,CAAC;IACb,CAAC;IAED,6DAA6D;IAC7D,MAAM,CAAC,EAAU;QACf,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC9B,CAAC;IAED,uBAAuB;IACvB,GAAG,CAAC,EAAU;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC3B,CAAC;IAED,qBAAqB;IACrB,IAAI;QACF,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACjC,CAAC;IAED,8CAA8C;IAC9C,QAAQ,CAAC,GAAW;QAClB,MAAM,KAAK,GAAc,EAAE,CAAC;QAC5B,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YACrC,IAAI,GAAG,CAAC,YAAY,GAAG,CAAC,IAAI,GAAG,CAAC,YAAY,IAAI,GAAG,EAAE,CAAC;gBACpD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,mCAAmC;IACnC,cAAc,CAAC,EAAU,EAAE,YAAoB;QAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC9B,IAAI,GAAG,EAAE,CAAC;YACR,GAAG,CAAC,YAAY,GAAG,YAAY,CAAC;QAClC,CAAC;IACH,CAAC;IAED,6BAA6B;IAC7B,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IACxB,CAAC;IAED,sBAAsB;IACtB,KAAK;QACH,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IACpB,CAAC;CACF"}
@@ -1,17 +0,0 @@
1
- /**
2
- * Load environment variables from the target project, current working directory,
3
- * and the user's global ONI env directory.
4
- *
5
- * Precedence:
6
- * 1. Existing shell environment
7
- * 2. Explicit project directory (`--dir`)
8
- * 3. Current working directory
9
- * 4. Global ONI directory (`~/.oni`)
10
- * 5. Home directory (`~`)
11
- * 6. `.env.local` before `.env` inside each directory
12
- */
13
- export declare function loadProjectEnv(projectDir?: string, options?: {
14
- cwd?: string;
15
- homeDir?: string;
16
- }): string[];
17
- //# sourceMappingURL=env.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/oni-code/env.ts"],"names":[],"mappings":"AAsBA;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAC5B,UAAU,CAAC,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAC3C,MAAM,EAAE,CAoBV"}
@@ -1,51 +0,0 @@
1
- import { existsSync } from "node:fs";
2
- import { homedir } from "node:os";
3
- import { join, resolve } from "node:path";
4
- import { config as dotenvConfig } from "dotenv";
5
- const ENV_FILES = [".env.local", ".env"];
6
- function uniqueDirs(dirs) {
7
- const seen = new Set();
8
- const ordered = [];
9
- for (const dir of dirs) {
10
- if (!dir)
11
- continue;
12
- const resolved = resolve(dir);
13
- if (seen.has(resolved))
14
- continue;
15
- seen.add(resolved);
16
- ordered.push(resolved);
17
- }
18
- return ordered;
19
- }
20
- /**
21
- * Load environment variables from the target project, current working directory,
22
- * and the user's global ONI env directory.
23
- *
24
- * Precedence:
25
- * 1. Existing shell environment
26
- * 2. Explicit project directory (`--dir`)
27
- * 3. Current working directory
28
- * 4. Global ONI directory (`~/.oni`)
29
- * 5. Home directory (`~`)
30
- * 6. `.env.local` before `.env` inside each directory
31
- */
32
- export function loadProjectEnv(projectDir, options) {
33
- const loaded = [];
34
- const cwd = options?.cwd ?? process.cwd();
35
- const homeDir = options?.homeDir ?? homedir();
36
- const dirs = uniqueDirs([projectDir, cwd, join(homeDir, ".oni"), homeDir]);
37
- for (const dir of dirs) {
38
- for (const file of ENV_FILES) {
39
- const path = join(dir, file);
40
- if (!existsSync(path))
41
- continue;
42
- const result = dotenvConfig({ path, quiet: true });
43
- if (result.error) {
44
- throw new Error(`Failed to load environment file: ${path}`);
45
- }
46
- loaded.push(path);
47
- }
48
- }
49
- return loaded;
50
- }
51
- //# sourceMappingURL=env.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/oni-code/env.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEhD,MAAM,SAAS,GAAG,CAAC,YAAY,EAAE,MAAM,CAAU,CAAC;AAElD,SAAS,UAAU,CAAC,IAA+B;IACjD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,GAAG;YAAE,SAAS;QACnB,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,SAAS;QACjC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACnB,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACzB,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,cAAc,CAC5B,UAAmB,EACnB,OAA4C;IAE5C,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,GAAG,GAAG,OAAO,EAAE,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1C,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,CAAC;IAC9C,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,UAAU,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IAE3E,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAC7B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;gBAAE,SAAS;YAEhC,MAAM,MAAM,GAAG,YAAY,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACnD,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,oCAAoC,IAAI,EAAE,CAAC,CAAC;YAC9D,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1,28 +0,0 @@
1
- export interface ExtractedContent {
2
- /** Extracted text content */
3
- content: string;
4
- /** Detected format (e.g. "docx", "pdf", "xlsx", "image") */
5
- format: string;
6
- /** Additional metadata (page count, sheet names, image dimensions, etc.) */
7
- metadata?: Record<string, unknown>;
8
- }
9
- /**
10
- * Parse ZIP local file headers and extract deflated entries as UTF-8 strings.
11
- * Returns a Map<filename, decompressedContent>.
12
- *
13
- * This is a minimal parser — it reads local headers sequentially
14
- * and decompresses deflate (method 8) or stores (method 0) entries.
15
- * Sufficient for Office Open XML formats.
16
- */
17
- export declare function parseZipEntries(buf: Buffer): Map<string, string>;
18
- /**
19
- * Extract text content from a file based on its extension.
20
- * Returns structured content for binary formats, or reads as UTF-8 for text files.
21
- */
22
- export declare function extractFileContent(absPath: string): ExtractedContent;
23
- /**
24
- * Returns true if the file extension indicates a binary format
25
- * that extractFileContent can handle (not a plain text file).
26
- */
27
- export declare function isBinaryFormat(absPath: string): boolean;
28
- //# sourceMappingURL=file-reader.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"file-reader.d.ts","sourceRoot":"","sources":["../../src/oni-code/file-reader.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,gBAAgB;IAC/B,6BAA6B;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,4DAA4D;IAC5D,MAAM,EAAE,MAAM,CAAC;IACf,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AA0CD;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CA0ChE;AAkQD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,gBAAgB,CAuCpE;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAGvD"}