@oni.bot/core 0.6.3 → 1.0.0

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 (736) hide show
  1. package/CHANGELOG.md +126 -0
  2. package/README.md +64 -263
  3. package/SECURITY.md +71 -0
  4. package/dist/checkpointers/sqlite.d.ts.map +1 -1
  5. package/dist/checkpointers/sqlite.js +42 -25
  6. package/dist/checkpointers/sqlite.js.map +1 -1
  7. package/dist/circuit-breaker.d.ts +20 -0
  8. package/dist/circuit-breaker.d.ts.map +1 -0
  9. package/dist/circuit-breaker.js +58 -0
  10. package/dist/circuit-breaker.js.map +1 -0
  11. package/dist/cli/build.d.ts +11 -0
  12. package/dist/cli/build.d.ts.map +1 -0
  13. package/dist/cli/build.js +61 -0
  14. package/dist/cli/build.js.map +1 -0
  15. package/dist/cli/dev.d.ts +5 -0
  16. package/dist/cli/dev.d.ts.map +1 -0
  17. package/dist/cli/dev.js +54 -0
  18. package/dist/cli/dev.js.map +1 -0
  19. package/dist/cli/index.d.ts +3 -0
  20. package/dist/cli/index.d.ts.map +1 -0
  21. package/dist/cli/index.js +21 -0
  22. package/dist/cli/index.js.map +1 -0
  23. package/dist/cli/init.d.ts +4 -0
  24. package/dist/cli/init.d.ts.map +1 -0
  25. package/dist/cli/init.js +34 -0
  26. package/dist/cli/init.js.map +1 -0
  27. package/dist/cli/inspect.d.ts +5 -0
  28. package/dist/cli/inspect.d.ts.map +1 -0
  29. package/dist/cli/inspect.js +85 -0
  30. package/dist/cli/inspect.js.map +1 -0
  31. package/dist/cli/router.d.ts +14 -0
  32. package/dist/cli/router.d.ts.map +1 -0
  33. package/dist/cli/router.js +107 -0
  34. package/dist/cli/router.js.map +1 -0
  35. package/dist/cli/run.d.ts +5 -0
  36. package/dist/cli/run.d.ts.map +1 -0
  37. package/dist/cli/run.js +53 -0
  38. package/dist/cli/run.js.map +1 -0
  39. package/dist/cli/templates.d.ts +9 -0
  40. package/dist/cli/templates.d.ts.map +1 -0
  41. package/dist/cli/templates.js +159 -0
  42. package/dist/cli/templates.js.map +1 -0
  43. package/dist/cli/test.d.ts +3 -0
  44. package/dist/cli/test.d.ts.map +1 -0
  45. package/dist/cli/test.js +29 -0
  46. package/dist/cli/test.js.map +1 -0
  47. package/dist/config/index.d.ts +3 -0
  48. package/dist/config/index.d.ts.map +1 -0
  49. package/dist/config/index.js +3 -0
  50. package/dist/config/index.js.map +1 -0
  51. package/dist/config/loader.d.ts +37 -0
  52. package/dist/config/loader.d.ts.map +1 -0
  53. package/dist/config/loader.js +180 -0
  54. package/dist/config/loader.js.map +1 -0
  55. package/dist/config/types.d.ts +74 -0
  56. package/dist/config/types.d.ts.map +1 -0
  57. package/dist/config/types.js +5 -0
  58. package/dist/config/types.js.map +1 -0
  59. package/dist/coordination/pubsub.d.ts +4 -0
  60. package/dist/coordination/pubsub.d.ts.map +1 -1
  61. package/dist/coordination/pubsub.js +8 -0
  62. package/dist/coordination/pubsub.js.map +1 -1
  63. package/dist/coordination/request-reply.d.ts +3 -1
  64. package/dist/coordination/request-reply.d.ts.map +1 -1
  65. package/dist/coordination/request-reply.js +11 -2
  66. package/dist/coordination/request-reply.js.map +1 -1
  67. package/dist/dlq.d.ts +17 -0
  68. package/dist/dlq.d.ts.map +1 -0
  69. package/dist/dlq.js +41 -0
  70. package/dist/dlq.js.map +1 -0
  71. package/dist/errors.d.ts +43 -2
  72. package/dist/errors.d.ts.map +1 -1
  73. package/dist/errors.js +179 -8
  74. package/dist/errors.js.map +1 -1
  75. package/dist/events/bridge.d.ts +17 -0
  76. package/dist/events/bridge.d.ts.map +1 -0
  77. package/dist/events/bridge.js +67 -0
  78. package/dist/events/bridge.js.map +1 -0
  79. package/dist/events/bus.d.ts +9 -0
  80. package/dist/events/bus.d.ts.map +1 -1
  81. package/dist/events/bus.js +39 -4
  82. package/dist/events/bus.js.map +1 -1
  83. package/dist/events/index.d.ts +2 -1
  84. package/dist/events/index.d.ts.map +1 -1
  85. package/dist/events/index.js +2 -0
  86. package/dist/events/index.js.map +1 -1
  87. package/dist/events/types.d.ts +123 -1
  88. package/dist/events/types.d.ts.map +1 -1
  89. package/dist/graph.d.ts +17 -0
  90. package/dist/graph.d.ts.map +1 -1
  91. package/dist/graph.js +29 -10
  92. package/dist/graph.js.map +1 -1
  93. package/dist/guardrails/types.d.ts +1 -1
  94. package/dist/guardrails/types.d.ts.map +1 -1
  95. package/dist/harness/agent-loop.d.ts +8 -0
  96. package/dist/harness/agent-loop.d.ts.map +1 -0
  97. package/dist/harness/agent-loop.js +524 -0
  98. package/dist/harness/agent-loop.js.map +1 -0
  99. package/dist/harness/context-compactor.d.ts +92 -0
  100. package/dist/harness/context-compactor.d.ts.map +1 -0
  101. package/dist/harness/context-compactor.js +201 -0
  102. package/dist/harness/context-compactor.js.map +1 -0
  103. package/dist/harness/harness.d.ts +41 -0
  104. package/dist/harness/harness.d.ts.map +1 -0
  105. package/dist/harness/harness.js +140 -0
  106. package/dist/harness/harness.js.map +1 -0
  107. package/dist/harness/hooks-engine.d.ts +77 -0
  108. package/dist/harness/hooks-engine.d.ts.map +1 -0
  109. package/dist/harness/hooks-engine.js +232 -0
  110. package/dist/harness/hooks-engine.js.map +1 -0
  111. package/dist/harness/index.d.ts +17 -0
  112. package/dist/harness/index.d.ts.map +1 -0
  113. package/dist/harness/index.js +21 -0
  114. package/dist/harness/index.js.map +1 -0
  115. package/dist/harness/safety-gate.d.ts +29 -0
  116. package/dist/harness/safety-gate.d.ts.map +1 -0
  117. package/dist/harness/safety-gate.js +72 -0
  118. package/dist/harness/safety-gate.js.map +1 -0
  119. package/dist/harness/skill-loader.d.ts +76 -0
  120. package/dist/harness/skill-loader.d.ts.map +1 -0
  121. package/dist/harness/skill-loader.js +244 -0
  122. package/dist/harness/skill-loader.js.map +1 -0
  123. package/dist/harness/todo-module.d.ts +39 -0
  124. package/dist/harness/todo-module.d.ts.map +1 -0
  125. package/dist/harness/todo-module.js +179 -0
  126. package/dist/harness/todo-module.js.map +1 -0
  127. package/dist/harness/types.d.ts +100 -0
  128. package/dist/harness/types.d.ts.map +1 -0
  129. package/dist/harness/types.js +9 -0
  130. package/dist/harness/types.js.map +1 -0
  131. package/dist/harness/validate-args.d.ts +16 -0
  132. package/dist/harness/validate-args.d.ts.map +1 -0
  133. package/dist/harness/validate-args.js +132 -0
  134. package/dist/harness/validate-args.js.map +1 -0
  135. package/dist/hitl/interrupt.d.ts.map +1 -1
  136. package/dist/hitl/interrupt.js +7 -6
  137. package/dist/hitl/interrupt.js.map +1 -1
  138. package/dist/index.d.ts +16 -5
  139. package/dist/index.d.ts.map +1 -1
  140. package/dist/index.js +22 -13
  141. package/dist/index.js.map +1 -1
  142. package/dist/internal/timeout.d.ts +2 -0
  143. package/dist/internal/timeout.d.ts.map +1 -0
  144. package/dist/internal/timeout.js +16 -0
  145. package/dist/internal/timeout.js.map +1 -0
  146. package/dist/lsp/client.d.ts +70 -0
  147. package/dist/lsp/client.d.ts.map +1 -0
  148. package/dist/lsp/client.js +421 -0
  149. package/dist/lsp/client.js.map +1 -0
  150. package/dist/lsp/index.d.ts +77 -0
  151. package/dist/lsp/index.d.ts.map +1 -0
  152. package/dist/lsp/index.js +183 -0
  153. package/dist/lsp/index.js.map +1 -0
  154. package/dist/lsp/servers.d.ts +48 -0
  155. package/dist/lsp/servers.d.ts.map +1 -0
  156. package/dist/lsp/servers.js +108 -0
  157. package/dist/lsp/servers.js.map +1 -0
  158. package/dist/lsp/types.d.ts +142 -0
  159. package/dist/lsp/types.d.ts.map +1 -0
  160. package/dist/lsp/types.js +16 -0
  161. package/dist/lsp/types.js.map +1 -0
  162. package/dist/mcp/client.d.ts +56 -0
  163. package/dist/mcp/client.d.ts.map +1 -0
  164. package/dist/mcp/client.js +170 -0
  165. package/dist/mcp/client.js.map +1 -0
  166. package/dist/mcp/convert.d.ts +26 -0
  167. package/dist/mcp/convert.d.ts.map +1 -0
  168. package/dist/mcp/convert.js +56 -0
  169. package/dist/mcp/convert.js.map +1 -0
  170. package/dist/mcp/index.d.ts +21 -0
  171. package/dist/mcp/index.d.ts.map +1 -0
  172. package/dist/mcp/index.js +19 -0
  173. package/dist/mcp/index.js.map +1 -0
  174. package/dist/mcp/transport.d.ts +56 -0
  175. package/dist/mcp/transport.d.ts.map +1 -0
  176. package/dist/mcp/transport.js +204 -0
  177. package/dist/mcp/transport.js.map +1 -0
  178. package/dist/mcp/types.d.ts +96 -0
  179. package/dist/mcp/types.d.ts.map +1 -0
  180. package/dist/mcp/types.js +11 -0
  181. package/dist/mcp/types.js.map +1 -0
  182. package/dist/models/anthropic.d.ts.map +1 -1
  183. package/dist/models/anthropic.js +78 -41
  184. package/dist/models/anthropic.js.map +1 -1
  185. package/dist/models/google.d.ts.map +1 -1
  186. package/dist/models/google.js +54 -52
  187. package/dist/models/google.js.map +1 -1
  188. package/dist/models/http-error.d.ts +16 -0
  189. package/dist/models/http-error.d.ts.map +1 -0
  190. package/dist/models/http-error.js +67 -0
  191. package/dist/models/http-error.js.map +1 -0
  192. package/dist/models/index.d.ts +5 -0
  193. package/dist/models/index.d.ts.map +1 -1
  194. package/dist/models/index.js +3 -0
  195. package/dist/models/index.js.map +1 -1
  196. package/dist/models/ollama.d.ts.map +1 -1
  197. package/dist/models/ollama.js +4 -3
  198. package/dist/models/ollama.js.map +1 -1
  199. package/dist/models/openai.d.ts.map +1 -1
  200. package/dist/models/openai.js +42 -45
  201. package/dist/models/openai.js.map +1 -1
  202. package/dist/models/openrouter.d.ts +26 -0
  203. package/dist/models/openrouter.d.ts.map +1 -0
  204. package/dist/models/openrouter.js +361 -0
  205. package/dist/models/openrouter.js.map +1 -0
  206. package/dist/models/sse.d.ts +9 -0
  207. package/dist/models/sse.d.ts.map +1 -0
  208. package/dist/models/sse.js +45 -0
  209. package/dist/models/sse.js.map +1 -0
  210. package/dist/models/types.d.ts +10 -0
  211. package/dist/models/types.d.ts.map +1 -1
  212. package/dist/oni-code/agent-registry.d.ts +73 -0
  213. package/dist/oni-code/agent-registry.d.ts.map +1 -0
  214. package/dist/oni-code/agent-registry.js +151 -0
  215. package/dist/oni-code/agent-registry.js.map +1 -0
  216. package/dist/oni-code/bin.d.ts +18 -0
  217. package/dist/oni-code/bin.d.ts.map +1 -0
  218. package/dist/oni-code/bin.js +78 -0
  219. package/dist/oni-code/bin.js.map +1 -0
  220. package/dist/oni-code/change-tracking.d.ts +28 -0
  221. package/dist/oni-code/change-tracking.d.ts.map +1 -0
  222. package/dist/oni-code/change-tracking.js +77 -0
  223. package/dist/oni-code/change-tracking.js.map +1 -0
  224. package/dist/oni-code/cli.d.ts +6 -0
  225. package/dist/oni-code/cli.d.ts.map +1 -0
  226. package/dist/oni-code/cli.js +30 -0
  227. package/dist/oni-code/cli.js.map +1 -0
  228. package/dist/oni-code/conductor.d.ts +203 -0
  229. package/dist/oni-code/conductor.d.ts.map +1 -0
  230. package/dist/oni-code/conductor.js +1547 -0
  231. package/dist/oni-code/conductor.js.map +1 -0
  232. package/dist/oni-code/config.d.ts +130 -0
  233. package/dist/oni-code/config.d.ts.map +1 -0
  234. package/dist/oni-code/config.js +264 -0
  235. package/dist/oni-code/config.js.map +1 -0
  236. package/dist/oni-code/context-files.d.ts +22 -0
  237. package/dist/oni-code/context-files.d.ts.map +1 -0
  238. package/dist/oni-code/context-files.js +156 -0
  239. package/dist/oni-code/context-files.js.map +1 -0
  240. package/dist/oni-code/cron/humanize.d.ts +26 -0
  241. package/dist/oni-code/cron/humanize.d.ts.map +1 -0
  242. package/dist/oni-code/cron/humanize.js +83 -0
  243. package/dist/oni-code/cron/humanize.js.map +1 -0
  244. package/dist/oni-code/cron/index.d.ts +10 -0
  245. package/dist/oni-code/cron/index.d.ts.map +1 -0
  246. package/dist/oni-code/cron/index.js +7 -0
  247. package/dist/oni-code/cron/index.js.map +1 -0
  248. package/dist/oni-code/cron/matcher.d.ts +29 -0
  249. package/dist/oni-code/cron/matcher.d.ts.map +1 -0
  250. package/dist/oni-code/cron/matcher.js +73 -0
  251. package/dist/oni-code/cron/matcher.js.map +1 -0
  252. package/dist/oni-code/cron/parser.d.ts +27 -0
  253. package/dist/oni-code/cron/parser.d.ts.map +1 -0
  254. package/dist/oni-code/cron/parser.js +149 -0
  255. package/dist/oni-code/cron/parser.js.map +1 -0
  256. package/dist/oni-code/cron/persistence.d.ts +21 -0
  257. package/dist/oni-code/cron/persistence.d.ts.map +1 -0
  258. package/dist/oni-code/cron/persistence.js +58 -0
  259. package/dist/oni-code/cron/persistence.js.map +1 -0
  260. package/dist/oni-code/cron/scheduler.d.ts +64 -0
  261. package/dist/oni-code/cron/scheduler.d.ts.map +1 -0
  262. package/dist/oni-code/cron/scheduler.js +188 -0
  263. package/dist/oni-code/cron/scheduler.js.map +1 -0
  264. package/dist/oni-code/cron/store.d.ts +46 -0
  265. package/dist/oni-code/cron/store.d.ts.map +1 -0
  266. package/dist/oni-code/cron/store.js +68 -0
  267. package/dist/oni-code/cron/store.js.map +1 -0
  268. package/dist/oni-code/env.d.ts +17 -0
  269. package/dist/oni-code/env.d.ts.map +1 -0
  270. package/dist/oni-code/env.js +51 -0
  271. package/dist/oni-code/env.js.map +1 -0
  272. package/dist/oni-code/file-reader.d.ts +28 -0
  273. package/dist/oni-code/file-reader.d.ts.map +1 -0
  274. package/dist/oni-code/file-reader.js +368 -0
  275. package/dist/oni-code/file-reader.js.map +1 -0
  276. package/dist/oni-code/file-watcher.d.ts +66 -0
  277. package/dist/oni-code/file-watcher.d.ts.map +1 -0
  278. package/dist/oni-code/file-watcher.js +167 -0
  279. package/dist/oni-code/file-watcher.js.map +1 -0
  280. package/dist/oni-code/loop-detector.d.ts +64 -0
  281. package/dist/oni-code/loop-detector.d.ts.map +1 -0
  282. package/dist/oni-code/loop-detector.js +163 -0
  283. package/dist/oni-code/loop-detector.js.map +1 -0
  284. package/dist/oni-code/permissions.d.ts +43 -0
  285. package/dist/oni-code/permissions.d.ts.map +1 -0
  286. package/dist/oni-code/permissions.js +98 -0
  287. package/dist/oni-code/permissions.js.map +1 -0
  288. package/dist/oni-code/planner.d.ts +26 -0
  289. package/dist/oni-code/planner.d.ts.map +1 -0
  290. package/dist/oni-code/planner.js +86 -0
  291. package/dist/oni-code/planner.js.map +1 -0
  292. package/dist/oni-code/plugin-loader.d.ts +103 -0
  293. package/dist/oni-code/plugin-loader.d.ts.map +1 -0
  294. package/dist/oni-code/plugin-loader.js +171 -0
  295. package/dist/oni-code/plugin-loader.js.map +1 -0
  296. package/dist/oni-code/process-tree.d.ts +44 -0
  297. package/dist/oni-code/process-tree.d.ts.map +1 -0
  298. package/dist/oni-code/process-tree.js +107 -0
  299. package/dist/oni-code/process-tree.js.map +1 -0
  300. package/dist/oni-code/progress-tracker.d.ts +40 -0
  301. package/dist/oni-code/progress-tracker.d.ts.map +1 -0
  302. package/dist/oni-code/progress-tracker.js +375 -0
  303. package/dist/oni-code/progress-tracker.js.map +1 -0
  304. package/dist/oni-code/scheduler.d.ts +56 -0
  305. package/dist/oni-code/scheduler.d.ts.map +1 -0
  306. package/dist/oni-code/scheduler.js +105 -0
  307. package/dist/oni-code/scheduler.js.map +1 -0
  308. package/dist/oni-code/session-fork.d.ts +146 -0
  309. package/dist/oni-code/session-fork.d.ts.map +1 -0
  310. package/dist/oni-code/session-fork.js +238 -0
  311. package/dist/oni-code/session-fork.js.map +1 -0
  312. package/dist/oni-code/session-stats.d.ts +72 -0
  313. package/dist/oni-code/session-stats.d.ts.map +1 -0
  314. package/dist/oni-code/session-stats.js +141 -0
  315. package/dist/oni-code/session-stats.js.map +1 -0
  316. package/dist/oni-code/session-title.d.ts +25 -0
  317. package/dist/oni-code/session-title.d.ts.map +1 -0
  318. package/dist/oni-code/session-title.js +67 -0
  319. package/dist/oni-code/session-title.js.map +1 -0
  320. package/dist/oni-code/shell-parser.d.ts +112 -0
  321. package/dist/oni-code/shell-parser.d.ts.map +1 -0
  322. package/dist/oni-code/shell-parser.js +657 -0
  323. package/dist/oni-code/shell-parser.js.map +1 -0
  324. package/dist/oni-code/summarizer.d.ts +27 -0
  325. package/dist/oni-code/summarizer.d.ts.map +1 -0
  326. package/dist/oni-code/summarizer.js +70 -0
  327. package/dist/oni-code/summarizer.js.map +1 -0
  328. package/dist/oni-code/swarm-checkpoint.d.ts +52 -0
  329. package/dist/oni-code/swarm-checkpoint.d.ts.map +1 -0
  330. package/dist/oni-code/swarm-checkpoint.js +71 -0
  331. package/dist/oni-code/swarm-checkpoint.js.map +1 -0
  332. package/dist/oni-code/swarm-runner.d.ts +173 -0
  333. package/dist/oni-code/swarm-runner.d.ts.map +1 -0
  334. package/dist/oni-code/swarm-runner.js +873 -0
  335. package/dist/oni-code/swarm-runner.js.map +1 -0
  336. package/dist/oni-code/system-prompt.d.ts +13 -0
  337. package/dist/oni-code/system-prompt.d.ts.map +1 -0
  338. package/dist/oni-code/system-prompt.js +64 -0
  339. package/dist/oni-code/system-prompt.js.map +1 -0
  340. package/dist/oni-code/task-evaluator.d.ts +73 -0
  341. package/dist/oni-code/task-evaluator.d.ts.map +1 -0
  342. package/dist/oni-code/task-evaluator.js +172 -0
  343. package/dist/oni-code/task-evaluator.js.map +1 -0
  344. package/dist/oni-code/tools/batch.d.ts +12 -0
  345. package/dist/oni-code/tools/batch.d.ts.map +1 -0
  346. package/dist/oni-code/tools/batch.js +116 -0
  347. package/dist/oni-code/tools/batch.js.map +1 -0
  348. package/dist/oni-code/tools/coding.d.ts +10 -0
  349. package/dist/oni-code/tools/coding.d.ts.map +1 -0
  350. package/dist/oni-code/tools/coding.js +557 -0
  351. package/dist/oni-code/tools/coding.js.map +1 -0
  352. package/dist/oni-code/tools/cron.d.ts +4 -0
  353. package/dist/oni-code/tools/cron.d.ts.map +1 -0
  354. package/dist/oni-code/tools/cron.js +120 -0
  355. package/dist/oni-code/tools/cron.js.map +1 -0
  356. package/dist/oni-code/tools/custom.d.ts +43 -0
  357. package/dist/oni-code/tools/custom.d.ts.map +1 -0
  358. package/dist/oni-code/tools/custom.js +115 -0
  359. package/dist/oni-code/tools/custom.js.map +1 -0
  360. package/dist/oni-code/tools/patch.d.ts +58 -0
  361. package/dist/oni-code/tools/patch.d.ts.map +1 -0
  362. package/dist/oni-code/tools/patch.js +247 -0
  363. package/dist/oni-code/tools/patch.js.map +1 -0
  364. package/dist/oni-code/tools/plan.d.ts +17 -0
  365. package/dist/oni-code/tools/plan.d.ts.map +1 -0
  366. package/dist/oni-code/tools/plan.js +48 -0
  367. package/dist/oni-code/tools/plan.js.map +1 -0
  368. package/dist/oni-code/tools/question.d.ts +17 -0
  369. package/dist/oni-code/tools/question.d.ts.map +1 -0
  370. package/dist/oni-code/tools/question.js +46 -0
  371. package/dist/oni-code/tools/question.js.map +1 -0
  372. package/dist/oni-code/tools/skill.d.ts +36 -0
  373. package/dist/oni-code/tools/skill.d.ts.map +1 -0
  374. package/dist/oni-code/tools/skill.js +132 -0
  375. package/dist/oni-code/tools/skill.js.map +1 -0
  376. package/dist/oni-code/tools/spawn-agents.d.ts +37 -0
  377. package/dist/oni-code/tools/spawn-agents.d.ts.map +1 -0
  378. package/dist/oni-code/tools/spawn-agents.js +91 -0
  379. package/dist/oni-code/tools/spawn-agents.js.map +1 -0
  380. package/dist/oni-code/tools/spawn-swarm.d.ts +70 -0
  381. package/dist/oni-code/tools/spawn-swarm.d.ts.map +1 -0
  382. package/dist/oni-code/tools/spawn-swarm.js +129 -0
  383. package/dist/oni-code/tools/spawn-swarm.js.map +1 -0
  384. package/dist/oni-code/tools/web.d.ts +11 -0
  385. package/dist/oni-code/tools/web.d.ts.map +1 -0
  386. package/dist/oni-code/tools/web.js +375 -0
  387. package/dist/oni-code/tools/web.js.map +1 -0
  388. package/dist/oni-code/topology-agent-builder.d.ts +22 -0
  389. package/dist/oni-code/topology-agent-builder.d.ts.map +1 -0
  390. package/dist/oni-code/topology-agent-builder.js +220 -0
  391. package/dist/oni-code/topology-agent-builder.js.map +1 -0
  392. package/dist/oni-code/topology-selector.d.ts +85 -0
  393. package/dist/oni-code/topology-selector.d.ts.map +1 -0
  394. package/dist/oni-code/topology-selector.js +338 -0
  395. package/dist/oni-code/topology-selector.js.map +1 -0
  396. package/dist/oni-code/ui/App.d.ts +10 -0
  397. package/dist/oni-code/ui/App.d.ts.map +1 -0
  398. package/dist/oni-code/ui/App.js +395 -0
  399. package/dist/oni-code/ui/App.js.map +1 -0
  400. package/dist/oni-code/ui/FooterPanel.d.ts +16 -0
  401. package/dist/oni-code/ui/FooterPanel.d.ts.map +1 -0
  402. package/dist/oni-code/ui/FooterPanel.js +56 -0
  403. package/dist/oni-code/ui/FooterPanel.js.map +1 -0
  404. package/dist/oni-code/ui/Header.d.ts +21 -0
  405. package/dist/oni-code/ui/Header.d.ts.map +1 -0
  406. package/dist/oni-code/ui/Header.js +105 -0
  407. package/dist/oni-code/ui/Header.js.map +1 -0
  408. package/dist/oni-code/ui/InputArea.d.ts +11 -0
  409. package/dist/oni-code/ui/InputArea.d.ts.map +1 -0
  410. package/dist/oni-code/ui/InputArea.js +82 -0
  411. package/dist/oni-code/ui/InputArea.js.map +1 -0
  412. package/dist/oni-code/ui/MessageBlock.d.ts +11 -0
  413. package/dist/oni-code/ui/MessageBlock.d.ts.map +1 -0
  414. package/dist/oni-code/ui/MessageBlock.js +103 -0
  415. package/dist/oni-code/ui/MessageBlock.js.map +1 -0
  416. package/dist/oni-code/ui/OutputPane.d.ts +12 -0
  417. package/dist/oni-code/ui/OutputPane.d.ts.map +1 -0
  418. package/dist/oni-code/ui/OutputPane.js +8 -0
  419. package/dist/oni-code/ui/OutputPane.js.map +1 -0
  420. package/dist/oni-code/ui/PermissionPrompt.d.ts +11 -0
  421. package/dist/oni-code/ui/PermissionPrompt.d.ts.map +1 -0
  422. package/dist/oni-code/ui/PermissionPrompt.js +48 -0
  423. package/dist/oni-code/ui/PermissionPrompt.js.map +1 -0
  424. package/dist/oni-code/ui/QuestionPrompt.d.ts +8 -0
  425. package/dist/oni-code/ui/QuestionPrompt.d.ts.map +1 -0
  426. package/dist/oni-code/ui/QuestionPrompt.js +9 -0
  427. package/dist/oni-code/ui/QuestionPrompt.js.map +1 -0
  428. package/dist/oni-code/ui/StatusLine.d.ts +14 -0
  429. package/dist/oni-code/ui/StatusLine.d.ts.map +1 -0
  430. package/dist/oni-code/ui/StatusLine.js +23 -0
  431. package/dist/oni-code/ui/StatusLine.js.map +1 -0
  432. package/dist/oni-code/ui/SwarmPanel.d.ts +9 -0
  433. package/dist/oni-code/ui/SwarmPanel.d.ts.map +1 -0
  434. package/dist/oni-code/ui/SwarmPanel.js +52 -0
  435. package/dist/oni-code/ui/SwarmPanel.js.map +1 -0
  436. package/dist/oni-code/ui/ToolCallBlock.d.ts +10 -0
  437. package/dist/oni-code/ui/ToolCallBlock.d.ts.map +1 -0
  438. package/dist/oni-code/ui/ToolCallBlock.js +21 -0
  439. package/dist/oni-code/ui/ToolCallBlock.js.map +1 -0
  440. package/dist/oni-code/ui/Toolbar.d.ts +8 -0
  441. package/dist/oni-code/ui/Toolbar.d.ts.map +1 -0
  442. package/dist/oni-code/ui/Toolbar.js +11 -0
  443. package/dist/oni-code/ui/Toolbar.js.map +1 -0
  444. package/dist/oni-code/ui/WelcomeBanner.d.ts +12 -0
  445. package/dist/oni-code/ui/WelcomeBanner.d.ts.map +1 -0
  446. package/dist/oni-code/ui/WelcomeBanner.js +24 -0
  447. package/dist/oni-code/ui/WelcomeBanner.js.map +1 -0
  448. package/dist/oni-code/ui/activity.d.ts +15 -0
  449. package/dist/oni-code/ui/activity.d.ts.map +1 -0
  450. package/dist/oni-code/ui/activity.js +252 -0
  451. package/dist/oni-code/ui/activity.js.map +1 -0
  452. package/dist/oni-code/ui/banner.d.ts +16 -0
  453. package/dist/oni-code/ui/banner.d.ts.map +1 -0
  454. package/dist/oni-code/ui/banner.js +132 -0
  455. package/dist/oni-code/ui/banner.js.map +1 -0
  456. package/dist/oni-code/ui/command-menu.d.ts +7 -0
  457. package/dist/oni-code/ui/command-menu.d.ts.map +1 -0
  458. package/dist/oni-code/ui/command-menu.js +20 -0
  459. package/dist/oni-code/ui/command-menu.js.map +1 -0
  460. package/dist/oni-code/ui/diff.d.ts +17 -0
  461. package/dist/oni-code/ui/diff.d.ts.map +1 -0
  462. package/dist/oni-code/ui/diff.js +37 -0
  463. package/dist/oni-code/ui/diff.js.map +1 -0
  464. package/dist/oni-code/ui/format.d.ts +41 -0
  465. package/dist/oni-code/ui/format.d.ts.map +1 -0
  466. package/dist/oni-code/ui/format.js +223 -0
  467. package/dist/oni-code/ui/format.js.map +1 -0
  468. package/dist/oni-code/ui/input.d.ts +28 -0
  469. package/dist/oni-code/ui/input.d.ts.map +1 -0
  470. package/dist/oni-code/ui/input.js +216 -0
  471. package/dist/oni-code/ui/input.js.map +1 -0
  472. package/dist/oni-code/ui/insights.d.ts +39 -0
  473. package/dist/oni-code/ui/insights.d.ts.map +1 -0
  474. package/dist/oni-code/ui/insights.js +193 -0
  475. package/dist/oni-code/ui/insights.js.map +1 -0
  476. package/dist/oni-code/ui/markdown.d.ts +9 -0
  477. package/dist/oni-code/ui/markdown.d.ts.map +1 -0
  478. package/dist/oni-code/ui/markdown.js +44 -0
  479. package/dist/oni-code/ui/markdown.js.map +1 -0
  480. package/dist/oni-code/ui/panels.d.ts +39 -0
  481. package/dist/oni-code/ui/panels.d.ts.map +1 -0
  482. package/dist/oni-code/ui/panels.js +209 -0
  483. package/dist/oni-code/ui/panels.js.map +1 -0
  484. package/dist/oni-code/ui/paste.d.ts +17 -0
  485. package/dist/oni-code/ui/paste.d.ts.map +1 -0
  486. package/dist/oni-code/ui/paste.js +45 -0
  487. package/dist/oni-code/ui/paste.js.map +1 -0
  488. package/dist/oni-code/ui/raw-spinner.d.ts +37 -0
  489. package/dist/oni-code/ui/raw-spinner.d.ts.map +1 -0
  490. package/dist/oni-code/ui/raw-spinner.js +121 -0
  491. package/dist/oni-code/ui/raw-spinner.js.map +1 -0
  492. package/dist/oni-code/ui/session.d.ts +44 -0
  493. package/dist/oni-code/ui/session.d.ts.map +1 -0
  494. package/dist/oni-code/ui/session.js +93 -0
  495. package/dist/oni-code/ui/session.js.map +1 -0
  496. package/dist/oni-code/ui/spinner.d.ts +7 -0
  497. package/dist/oni-code/ui/spinner.d.ts.map +1 -0
  498. package/dist/oni-code/ui/spinner.js +20 -0
  499. package/dist/oni-code/ui/spinner.js.map +1 -0
  500. package/dist/oni-code/ui/swarm-activity.d.ts +50 -0
  501. package/dist/oni-code/ui/swarm-activity.d.ts.map +1 -0
  502. package/dist/oni-code/ui/swarm-activity.js +233 -0
  503. package/dist/oni-code/ui/swarm-activity.js.map +1 -0
  504. package/dist/oni-code/ui/terminal-size.d.ts +18 -0
  505. package/dist/oni-code/ui/terminal-size.d.ts.map +1 -0
  506. package/dist/oni-code/ui/terminal-size.js +45 -0
  507. package/dist/oni-code/ui/terminal-size.js.map +1 -0
  508. package/dist/oni-code/ui/theme.d.ts +82 -0
  509. package/dist/oni-code/ui/theme.d.ts.map +1 -0
  510. package/dist/oni-code/ui/theme.js +101 -0
  511. package/dist/oni-code/ui/theme.js.map +1 -0
  512. package/dist/oni-code/ui/tool-utils.d.ts +10 -0
  513. package/dist/oni-code/ui/tool-utils.d.ts.map +1 -0
  514. package/dist/oni-code/ui/tool-utils.js +82 -0
  515. package/dist/oni-code/ui/tool-utils.js.map +1 -0
  516. package/dist/oni-code/ui/useTerminalSize.d.ts +3 -0
  517. package/dist/oni-code/ui/useTerminalSize.d.ts.map +1 -0
  518. package/dist/oni-code/ui/useTerminalSize.js +16 -0
  519. package/dist/oni-code/ui/useTerminalSize.js.map +1 -0
  520. package/dist/oni-code/workspace/change-tracker.d.ts +18 -0
  521. package/dist/oni-code/workspace/change-tracker.d.ts.map +1 -0
  522. package/dist/oni-code/workspace/change-tracker.js +67 -0
  523. package/dist/oni-code/workspace/change-tracker.js.map +1 -0
  524. package/dist/oni-code/workspace/conflict-detector.d.ts +12 -0
  525. package/dist/oni-code/workspace/conflict-detector.d.ts.map +1 -0
  526. package/dist/oni-code/workspace/conflict-detector.js +24 -0
  527. package/dist/oni-code/workspace/conflict-detector.js.map +1 -0
  528. package/dist/oni-code/workspace/file-snapshots.d.ts +39 -0
  529. package/dist/oni-code/workspace/file-snapshots.d.ts.map +1 -0
  530. package/dist/oni-code/workspace/file-snapshots.js +77 -0
  531. package/dist/oni-code/workspace/file-snapshots.js.map +1 -0
  532. package/dist/oni-code/workspace/index.d.ts +5 -0
  533. package/dist/oni-code/workspace/index.d.ts.map +1 -0
  534. package/dist/oni-code/workspace/index.js +5 -0
  535. package/dist/oni-code/workspace/index.js.map +1 -0
  536. package/dist/oni-code/workspace/project-map.d.ts +14 -0
  537. package/dist/oni-code/workspace/project-map.d.ts.map +1 -0
  538. package/dist/oni-code/workspace/project-map.js +91 -0
  539. package/dist/oni-code/workspace/project-map.js.map +1 -0
  540. package/dist/prebuilt/tool-node.d.ts.map +1 -1
  541. package/dist/prebuilt/tool-node.js +0 -1
  542. package/dist/prebuilt/tool-node.js.map +1 -1
  543. package/dist/pregel.d.ts +15 -1
  544. package/dist/pregel.d.ts.map +1 -1
  545. package/dist/pregel.js +199 -51
  546. package/dist/pregel.js.map +1 -1
  547. package/dist/retry.d.ts.map +1 -1
  548. package/dist/retry.js +16 -4
  549. package/dist/retry.js.map +1 -1
  550. package/dist/sentinel/config/index.d.ts +2 -0
  551. package/dist/sentinel/config/index.d.ts.map +1 -0
  552. package/dist/sentinel/config/index.js +2 -0
  553. package/dist/sentinel/config/index.js.map +1 -0
  554. package/dist/sentinel/config/schema.d.ts +4 -0
  555. package/dist/sentinel/config/schema.d.ts.map +1 -0
  556. package/dist/sentinel/config/schema.js +42 -0
  557. package/dist/sentinel/config/schema.js.map +1 -0
  558. package/dist/sentinel/debate/index.d.ts +6 -0
  559. package/dist/sentinel/debate/index.d.ts.map +1 -0
  560. package/dist/sentinel/debate/index.js +64 -0
  561. package/dist/sentinel/debate/index.js.map +1 -0
  562. package/dist/sentinel/debate/prompts.d.ts +4 -0
  563. package/dist/sentinel/debate/prompts.d.ts.map +1 -0
  564. package/dist/sentinel/debate/prompts.js +13 -0
  565. package/dist/sentinel/debate/prompts.js.map +1 -0
  566. package/dist/sentinel/fix/index.d.ts +6 -0
  567. package/dist/sentinel/fix/index.d.ts.map +1 -0
  568. package/dist/sentinel/fix/index.js +27 -0
  569. package/dist/sentinel/fix/index.js.map +1 -0
  570. package/dist/sentinel/fix/strategies.d.ts +9 -0
  571. package/dist/sentinel/fix/strategies.d.ts.map +1 -0
  572. package/dist/sentinel/fix/strategies.js +40 -0
  573. package/dist/sentinel/fix/strategies.js.map +1 -0
  574. package/dist/sentinel/index.d.ts +14 -0
  575. package/dist/sentinel/index.d.ts.map +1 -0
  576. package/dist/sentinel/index.js +22 -0
  577. package/dist/sentinel/index.js.map +1 -0
  578. package/dist/sentinel/integrations/cli.d.ts +10 -0
  579. package/dist/sentinel/integrations/cli.d.ts.map +1 -0
  580. package/dist/sentinel/integrations/cli.js +24 -0
  581. package/dist/sentinel/integrations/cli.js.map +1 -0
  582. package/dist/sentinel/integrations/index.d.ts +2 -0
  583. package/dist/sentinel/integrations/index.d.ts.map +1 -0
  584. package/dist/sentinel/integrations/index.js +2 -0
  585. package/dist/sentinel/integrations/index.js.map +1 -0
  586. package/dist/sentinel/memory/index.d.ts +16 -0
  587. package/dist/sentinel/memory/index.d.ts.map +1 -0
  588. package/dist/sentinel/memory/index.js +60 -0
  589. package/dist/sentinel/memory/index.js.map +1 -0
  590. package/dist/sentinel/report/console.d.ts +3 -0
  591. package/dist/sentinel/report/console.d.ts.map +1 -0
  592. package/dist/sentinel/report/console.js +27 -0
  593. package/dist/sentinel/report/console.js.map +1 -0
  594. package/dist/sentinel/report/github.d.ts +3 -0
  595. package/dist/sentinel/report/github.d.ts.map +1 -0
  596. package/dist/sentinel/report/github.js +36 -0
  597. package/dist/sentinel/report/github.js.map +1 -0
  598. package/dist/sentinel/report/index.d.ts +6 -0
  599. package/dist/sentinel/report/index.d.ts.map +1 -0
  600. package/dist/sentinel/report/index.js +15 -0
  601. package/dist/sentinel/report/index.js.map +1 -0
  602. package/dist/sentinel/report/sarif.d.ts +3 -0
  603. package/dist/sentinel/report/sarif.d.ts.map +1 -0
  604. package/dist/sentinel/report/sarif.js +29 -0
  605. package/dist/sentinel/report/sarif.js.map +1 -0
  606. package/dist/sentinel/sentinel.d.ts +17 -0
  607. package/dist/sentinel/sentinel.d.ts.map +1 -0
  608. package/dist/sentinel/sentinel.js +111 -0
  609. package/dist/sentinel/sentinel.js.map +1 -0
  610. package/dist/sentinel/swarm/agents.d.ts +6 -0
  611. package/dist/sentinel/swarm/agents.d.ts.map +1 -0
  612. package/dist/sentinel/swarm/agents.js +36 -0
  613. package/dist/sentinel/swarm/agents.js.map +1 -0
  614. package/dist/sentinel/swarm/index.d.ts +8 -0
  615. package/dist/sentinel/swarm/index.d.ts.map +1 -0
  616. package/dist/sentinel/swarm/index.js +74 -0
  617. package/dist/sentinel/swarm/index.js.map +1 -0
  618. package/dist/sentinel/swarm/prompts.d.ts +2 -0
  619. package/dist/sentinel/swarm/prompts.d.ts.map +1 -0
  620. package/dist/sentinel/swarm/prompts.js +24 -0
  621. package/dist/sentinel/swarm/prompts.js.map +1 -0
  622. package/dist/sentinel/swarm/topology.d.ts +10 -0
  623. package/dist/sentinel/swarm/topology.d.ts.map +1 -0
  624. package/dist/sentinel/swarm/topology.js +38 -0
  625. package/dist/sentinel/swarm/topology.js.map +1 -0
  626. package/dist/sentinel/triage/analyzers/complexity-analyzer.d.ts +7 -0
  627. package/dist/sentinel/triage/analyzers/complexity-analyzer.d.ts.map +1 -0
  628. package/dist/sentinel/triage/analyzers/complexity-analyzer.js +94 -0
  629. package/dist/sentinel/triage/analyzers/complexity-analyzer.js.map +1 -0
  630. package/dist/sentinel/triage/analyzers/custom-analyzer.d.ts +19 -0
  631. package/dist/sentinel/triage/analyzers/custom-analyzer.d.ts.map +1 -0
  632. package/dist/sentinel/triage/analyzers/custom-analyzer.js +268 -0
  633. package/dist/sentinel/triage/analyzers/custom-analyzer.js.map +1 -0
  634. package/dist/sentinel/triage/analyzers/dependency-analyzer.d.ts +26 -0
  635. package/dist/sentinel/triage/analyzers/dependency-analyzer.d.ts.map +1 -0
  636. package/dist/sentinel/triage/analyzers/dependency-analyzer.js +220 -0
  637. package/dist/sentinel/triage/analyzers/dependency-analyzer.js.map +1 -0
  638. package/dist/sentinel/triage/analyzers/diff-analyzer.d.ts +12 -0
  639. package/dist/sentinel/triage/analyzers/diff-analyzer.d.ts.map +1 -0
  640. package/dist/sentinel/triage/analyzers/diff-analyzer.js +19 -0
  641. package/dist/sentinel/triage/analyzers/diff-analyzer.js.map +1 -0
  642. package/dist/sentinel/triage/analyzers/index.d.ts +14 -0
  643. package/dist/sentinel/triage/analyzers/index.d.ts.map +1 -0
  644. package/dist/sentinel/triage/analyzers/index.js +25 -0
  645. package/dist/sentinel/triage/analyzers/index.js.map +1 -0
  646. package/dist/sentinel/triage/analyzers/pattern-analyzer.d.ts +7 -0
  647. package/dist/sentinel/triage/analyzers/pattern-analyzer.d.ts.map +1 -0
  648. package/dist/sentinel/triage/analyzers/pattern-analyzer.js +180 -0
  649. package/dist/sentinel/triage/analyzers/pattern-analyzer.js.map +1 -0
  650. package/dist/sentinel/triage/analyzers/security-analyzer.d.ts +7 -0
  651. package/dist/sentinel/triage/analyzers/security-analyzer.d.ts.map +1 -0
  652. package/dist/sentinel/triage/analyzers/security-analyzer.js +96 -0
  653. package/dist/sentinel/triage/analyzers/security-analyzer.js.map +1 -0
  654. package/dist/sentinel/triage/analyzers/ts-parser.d.ts +71 -0
  655. package/dist/sentinel/triage/analyzers/ts-parser.d.ts.map +1 -0
  656. package/dist/sentinel/triage/analyzers/ts-parser.js +323 -0
  657. package/dist/sentinel/triage/analyzers/ts-parser.js.map +1 -0
  658. package/dist/sentinel/triage/analyzers/typescript-analyzer.d.ts +7 -0
  659. package/dist/sentinel/triage/analyzers/typescript-analyzer.d.ts.map +1 -0
  660. package/dist/sentinel/triage/analyzers/typescript-analyzer.js +68 -0
  661. package/dist/sentinel/triage/analyzers/typescript-analyzer.js.map +1 -0
  662. package/dist/sentinel/triage/index.d.ts +10 -0
  663. package/dist/sentinel/triage/index.d.ts.map +1 -0
  664. package/dist/sentinel/triage/index.js +39 -0
  665. package/dist/sentinel/triage/index.js.map +1 -0
  666. package/dist/sentinel/triage/scorer.d.ts +9 -0
  667. package/dist/sentinel/triage/scorer.d.ts.map +1 -0
  668. package/dist/sentinel/triage/scorer.js +28 -0
  669. package/dist/sentinel/triage/scorer.js.map +1 -0
  670. package/dist/sentinel/types.d.ts +125 -0
  671. package/dist/sentinel/types.d.ts.map +1 -0
  672. package/dist/sentinel/types.js +6 -0
  673. package/dist/sentinel/types.js.map +1 -0
  674. package/dist/store/index.d.ts +5 -0
  675. package/dist/store/index.d.ts.map +1 -1
  676. package/dist/store/index.js +24 -1
  677. package/dist/store/index.js.map +1 -1
  678. package/dist/stream-events.js +2 -2
  679. package/dist/stream-events.js.map +1 -1
  680. package/dist/streaming.d.ts +13 -0
  681. package/dist/streaming.d.ts.map +1 -1
  682. package/dist/streaming.js +42 -0
  683. package/dist/streaming.js.map +1 -1
  684. package/dist/swarm/graph.d.ts +81 -2
  685. package/dist/swarm/graph.d.ts.map +1 -1
  686. package/dist/swarm/graph.js +517 -36
  687. package/dist/swarm/graph.js.map +1 -1
  688. package/dist/swarm/index.d.ts +10 -2
  689. package/dist/swarm/index.d.ts.map +1 -1
  690. package/dist/swarm/index.js +6 -1
  691. package/dist/swarm/index.js.map +1 -1
  692. package/dist/swarm/mermaid.d.ts +10 -0
  693. package/dist/swarm/mermaid.d.ts.map +1 -0
  694. package/dist/swarm/mermaid.js +64 -0
  695. package/dist/swarm/mermaid.js.map +1 -0
  696. package/dist/swarm/pool.d.ts +9 -1
  697. package/dist/swarm/pool.d.ts.map +1 -1
  698. package/dist/swarm/pool.js +58 -10
  699. package/dist/swarm/pool.js.map +1 -1
  700. package/dist/swarm/registry.d.ts +11 -1
  701. package/dist/swarm/registry.d.ts.map +1 -1
  702. package/dist/swarm/registry.js +17 -3
  703. package/dist/swarm/registry.js.map +1 -1
  704. package/dist/swarm/scaling.d.ts +95 -0
  705. package/dist/swarm/scaling.d.ts.map +1 -0
  706. package/dist/swarm/scaling.js +214 -0
  707. package/dist/swarm/scaling.js.map +1 -0
  708. package/dist/swarm/snapshot.d.ts +51 -0
  709. package/dist/swarm/snapshot.d.ts.map +1 -0
  710. package/dist/swarm/snapshot.js +115 -0
  711. package/dist/swarm/snapshot.js.map +1 -0
  712. package/dist/swarm/supervisor.d.ts.map +1 -1
  713. package/dist/swarm/supervisor.js +82 -4
  714. package/dist/swarm/supervisor.js.map +1 -1
  715. package/dist/swarm/tracer.d.ts +57 -0
  716. package/dist/swarm/tracer.d.ts.map +1 -0
  717. package/dist/swarm/tracer.js +138 -0
  718. package/dist/swarm/tracer.js.map +1 -0
  719. package/dist/swarm/types.d.ts +23 -1
  720. package/dist/swarm/types.d.ts.map +1 -1
  721. package/dist/swarm/types.js.map +1 -1
  722. package/dist/telemetry.d.ts +41 -0
  723. package/dist/telemetry.d.ts.map +1 -0
  724. package/dist/telemetry.js +69 -0
  725. package/dist/telemetry.js.map +1 -0
  726. package/dist/testing/index.d.ts +33 -0
  727. package/dist/testing/index.d.ts.map +1 -0
  728. package/dist/testing/index.js +95 -0
  729. package/dist/testing/index.js.map +1 -0
  730. package/dist/tools/types.d.ts +2 -0
  731. package/dist/tools/types.d.ts.map +1 -1
  732. package/dist/types.d.ts +9 -0
  733. package/dist/types.d.ts.map +1 -1
  734. package/dist/types.js +1 -1
  735. package/dist/types.js.map +1 -1
  736. package/package.json +160 -108
@@ -0,0 +1,82 @@
1
+ /**
2
+ * Shared tool display utilities — emoji and verb mappings for UI components.
3
+ *
4
+ * Single source of truth. Consumed by ToolCallBlock, MessageBlock, and InsightsPanel.
5
+ */
6
+ /** Get emoji for a tool name (Hermes-style) */
7
+ export function getToolEmoji(name) {
8
+ const n = name.toLowerCase();
9
+ if (n.includes("read"))
10
+ return "\ud83d\udcc4";
11
+ if (n.includes("write"))
12
+ return "\u270d\ufe0f";
13
+ if (n.includes("edit") || n.includes("patch"))
14
+ return "\ud83d\udd27";
15
+ if (n.includes("bash") || n.includes("terminal"))
16
+ return "\ud83d\udcbb";
17
+ if (n.includes("web") || n.includes("fetch"))
18
+ return "\ud83c\udf10";
19
+ if (n.includes("grep") || n.includes("search"))
20
+ return "\ud83d\udd0d";
21
+ if (n.includes("glob"))
22
+ return "\ud83d\udcc2";
23
+ if (n === "list_dir")
24
+ return "\ud83d\udcc2";
25
+ if (n.includes("git"))
26
+ return "\ud83c\udf3f";
27
+ if (n === "question")
28
+ return "\u2753";
29
+ if (n.includes("plan"))
30
+ return "\ud83d\udccb";
31
+ if (n.includes("spawn") || n.includes("agent"))
32
+ return "\ud83e\udd16";
33
+ if (n.includes("swarm"))
34
+ return "\ud83d\udc1d";
35
+ if (n.includes("project") || n.includes("map"))
36
+ return "\ud83d\uddfa\ufe0f";
37
+ if (n.includes("todo"))
38
+ return "\ud83d\udccb";
39
+ return "\u2699\ufe0f";
40
+ }
41
+ /** Get past-tense verb for a tool name (used in verbose tool result display) */
42
+ export function getToolVerb(name) {
43
+ const n = name.toLowerCase();
44
+ if (n === "read_file" || n === "read")
45
+ return "read";
46
+ if (n === "write_file" || n === "write")
47
+ return "wrote";
48
+ if (n === "edit_file" || n === "edit")
49
+ return "patched";
50
+ if (n === "apply_patch")
51
+ return "patched";
52
+ if (n === "bash" || n === "terminal")
53
+ return "ran";
54
+ if (n === "git" || n === "git_status")
55
+ return "git";
56
+ if (n === "grep")
57
+ return "searched";
58
+ if (n === "glob")
59
+ return "found";
60
+ if (n === "list_dir")
61
+ return "listed";
62
+ if (n === "question")
63
+ return "asked";
64
+ if (n === "plan_enter")
65
+ return "planned";
66
+ if (n === "plan_exit")
67
+ return "resumed";
68
+ if (n.includes("search"))
69
+ return "searched";
70
+ if (n.includes("fetch"))
71
+ return "fetched";
72
+ if (n.includes("spawn_agents"))
73
+ return "spawned";
74
+ if (n.includes("spawn_swarm"))
75
+ return "swarmed";
76
+ if (n.includes("project_map"))
77
+ return "mapped";
78
+ if (n.includes("todo") || n.includes("memory"))
79
+ return "noted";
80
+ return "ran";
81
+ }
82
+ //# sourceMappingURL=tool-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-utils.js","sourceRoot":"","sources":["../../../src/oni-code/ui/tool-utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { type TerminalSizeSnapshot } from "./terminal-size.js";
2
+ export declare function useTerminalSize(): TerminalSizeSnapshot;
3
+ //# sourceMappingURL=useTerminalSize.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTerminalSize.d.ts","sourceRoot":"","sources":["../../../src/oni-code/ui/useTerminalSize.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,KAAK,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE7E,wBAAgB,eAAe,IAAI,oBAAoB,CAetD"}
@@ -0,0 +1,16 @@
1
+ import { useEffect, useState } from "react";
2
+ import { terminalSize } from "./terminal-size.js";
3
+ export function useTerminalSize() {
4
+ const [size, setSize] = useState(() => terminalSize.getSnapshot());
5
+ useEffect(() => {
6
+ const handleResize = (nextSize) => {
7
+ setSize(nextSize);
8
+ };
9
+ terminalSize.on("resize", handleResize);
10
+ return () => {
11
+ terminalSize.off("resize", handleResize);
12
+ };
13
+ }, []);
14
+ return size;
15
+ }
16
+ //# sourceMappingURL=useTerminalSize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTerminalSize.js","sourceRoot":"","sources":["../../../src/oni-code/ui/useTerminalSize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,YAAY,EAA6B,MAAM,oBAAoB,CAAC;AAE7E,MAAM,UAAU,eAAe;IAC7B,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAuB,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC;IAEzF,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,YAAY,GAAG,CAAC,QAA8B,EAAE,EAAE;YACtD,OAAO,CAAC,QAAQ,CAAC,CAAC;QACpB,CAAC,CAAC;QAEF,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QACxC,OAAO,GAAG,EAAE;YACV,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAC3C,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1,18 @@
1
+ export type ChangeType = "create" | "edit" | "delete";
2
+ export interface ChangeEntry {
3
+ file: string;
4
+ type: ChangeType;
5
+ }
6
+ export declare class ChangeTracker {
7
+ private changes;
8
+ private version;
9
+ recordChange(file: string, type: ChangeType): void;
10
+ getChangedFiles(): string[];
11
+ getChangeType(file: string): ChangeType | undefined;
12
+ entries(): ChangeEntry[];
13
+ replace(changes: ChangeEntry[]): void;
14
+ getVersion(): number;
15
+ getSummary(): string;
16
+ clear(): void;
17
+ }
18
+ //# sourceMappingURL=change-tracker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"change-tracker.d.ts","sourceRoot":"","sources":["../../../src/oni-code/workspace/change-tracker.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAC;AACtD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,UAAU,CAAC;CAClB;AAQD,qBAAa,aAAa;IACxB,OAAO,CAAC,OAAO,CAAiC;IAChD,OAAO,CAAC,OAAO,CAAK;IAEpB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,IAAI;IAQlD,eAAe,IAAI,MAAM,EAAE;IAI3B,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAInD,OAAO,IAAI,WAAW,EAAE;IAIxB,OAAO,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,IAAI;IAerC,UAAU,IAAI,MAAM;IAIpB,UAAU,IAAI,MAAM;IAQpB,KAAK,IAAI,IAAI;CAOd"}
@@ -0,0 +1,67 @@
1
+ const CHANGE_LABELS = {
2
+ create: "created",
3
+ edit: "edited",
4
+ delete: "deleted",
5
+ };
6
+ export class ChangeTracker {
7
+ changes = new Map();
8
+ version = 0;
9
+ recordChange(file, type) {
10
+ if (this.changes.get(file) === type) {
11
+ return;
12
+ }
13
+ this.changes.set(file, type);
14
+ this.version++;
15
+ }
16
+ getChangedFiles() {
17
+ return [...this.changes.keys()];
18
+ }
19
+ getChangeType(file) {
20
+ return this.changes.get(file);
21
+ }
22
+ entries() {
23
+ return [...this.changes.entries()].map(([file, type]) => ({ file, type }));
24
+ }
25
+ replace(changes) {
26
+ const next = new Map();
27
+ for (const change of changes) {
28
+ next.set(change.file, change.type);
29
+ }
30
+ if (mapsEqual(this.changes, next)) {
31
+ return;
32
+ }
33
+ this.changes.clear();
34
+ for (const [file, type] of next) {
35
+ this.changes.set(file, type);
36
+ }
37
+ this.version++;
38
+ }
39
+ getVersion() {
40
+ return this.version;
41
+ }
42
+ getSummary() {
43
+ const lines = [`${this.changes.size} file(s) changed:`];
44
+ for (const [file, type] of this.changes) {
45
+ lines.push(` ${file} (${CHANGE_LABELS[type]})`);
46
+ }
47
+ return lines.join("\n");
48
+ }
49
+ clear() {
50
+ if (this.changes.size === 0) {
51
+ return;
52
+ }
53
+ this.changes.clear();
54
+ this.version++;
55
+ }
56
+ }
57
+ function mapsEqual(a, b) {
58
+ if (a.size !== b.size)
59
+ return false;
60
+ for (const [key, value] of a) {
61
+ if (b.get(key) !== value) {
62
+ return false;
63
+ }
64
+ }
65
+ return true;
66
+ }
67
+ //# sourceMappingURL=change-tracker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"change-tracker.js","sourceRoot":"","sources":["../../../src/oni-code/workspace/change-tracker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ export interface TaskEstimate {
2
+ id: string;
3
+ estimatedFiles: string[];
4
+ }
5
+ export interface Conflict {
6
+ file: string;
7
+ tasks: string[];
8
+ }
9
+ export declare class ConflictDetector {
10
+ findConflicts(tasks: TaskEstimate[]): Conflict[];
11
+ }
12
+ //# sourceMappingURL=conflict-detector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conflict-detector.d.ts","sourceRoot":"","sources":["../../../src/oni-code/workspace/conflict-detector.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,qBAAa,gBAAgB;IAC3B,aAAa,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,QAAQ,EAAE;CAuBjD"}
@@ -0,0 +1,24 @@
1
+ export class ConflictDetector {
2
+ findConflicts(tasks) {
3
+ const fileToTasks = new Map();
4
+ for (const task of tasks) {
5
+ for (const file of task.estimatedFiles) {
6
+ const existing = fileToTasks.get(file);
7
+ if (existing) {
8
+ existing.push(task.id);
9
+ }
10
+ else {
11
+ fileToTasks.set(file, [task.id]);
12
+ }
13
+ }
14
+ }
15
+ const conflicts = [];
16
+ for (const [file, taskIds] of fileToTasks) {
17
+ if (taskIds.length > 1) {
18
+ conflicts.push({ file, tasks: taskIds });
19
+ }
20
+ }
21
+ return conflicts;
22
+ }
23
+ }
24
+ //# sourceMappingURL=conflict-detector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conflict-detector.js","sourceRoot":"","sources":["../../../src/oni-code/workspace/conflict-detector.ts"],"names":[],"mappings":"AAUA,MAAM,OAAO,gBAAgB;IAC3B,aAAa,CAAC,KAAqB;QACjC,MAAM,WAAW,GAAG,IAAI,GAAG,EAAoB,CAAC;QAEhD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBACvC,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACvC,IAAI,QAAQ,EAAE,CAAC;oBACb,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACzB,CAAC;qBAAM,CAAC;oBACN,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;gBACnC,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,SAAS,GAAe,EAAE,CAAC;QACjC,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,WAAW,EAAE,CAAC;YAC1C,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;CACF"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * File Snapshots — captures file content before mutations for undo support.
3
+ *
4
+ * Used by the Conductor's PreToolUse hook to snapshot files before
5
+ * edit_file or write_file modifies them. The undo_edit tool restores
6
+ * the previous version by popping the snapshot stack.
7
+ */
8
+ export interface SnapshotConfig {
9
+ /** Max snapshots to keep per file (default 10) */
10
+ maxPerFile?: number;
11
+ }
12
+ export interface RestoreResult {
13
+ success: boolean;
14
+ error?: string;
15
+ }
16
+ export declare class FileSnapshots {
17
+ private readonly maxPerFile;
18
+ private readonly stacks;
19
+ constructor(config?: SnapshotConfig);
20
+ /**
21
+ * Capture the current content of a file before it's modified.
22
+ * Silently skips if the file doesn't exist (new file creation).
23
+ */
24
+ capture(filePath: string): void;
25
+ /**
26
+ * Restore a file to its previous snapshot (undo).
27
+ * Pops the most recent snapshot and writes it to disk.
28
+ */
29
+ restore(filePath: string): RestoreResult;
30
+ /** Check if a file has any snapshots */
31
+ hasSnapshot(filePath: string): boolean;
32
+ /** Get the number of snapshots for a file */
33
+ getSnapshotCount(filePath: string): number;
34
+ /** List all files with snapshots */
35
+ getModifiedFiles(): string[];
36
+ /** Clear all snapshots */
37
+ clear(): void;
38
+ }
39
+ //# sourceMappingURL=file-snapshots.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-snapshots.d.ts","sourceRoot":"","sources":["../../../src/oni-code/workspace/file-snapshots.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,MAAM,WAAW,cAAc;IAC7B,kDAAkD;IAClD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAID,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA+B;gBAE1C,MAAM,GAAE,cAAmB;IAIvC;;;OAGG;IACH,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAsB/B;;;OAGG;IACH,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa;IAgBxC,wCAAwC;IACxC,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAKtC,6CAA6C;IAC7C,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAI1C,oCAAoC;IACpC,gBAAgB,IAAI,MAAM,EAAE;IAI5B,0BAA0B;IAC1B,KAAK,IAAI,IAAI;CAGd"}
@@ -0,0 +1,77 @@
1
+ /**
2
+ * File Snapshots — captures file content before mutations for undo support.
3
+ *
4
+ * Used by the Conductor's PreToolUse hook to snapshot files before
5
+ * edit_file or write_file modifies them. The undo_edit tool restores
6
+ * the previous version by popping the snapshot stack.
7
+ */
8
+ import { readFileSync, writeFileSync, existsSync } from "node:fs";
9
+ // ── FileSnapshots ────────────────────────────────────────────
10
+ export class FileSnapshots {
11
+ maxPerFile;
12
+ stacks = new Map();
13
+ constructor(config = {}) {
14
+ this.maxPerFile = config.maxPerFile ?? 10;
15
+ }
16
+ /**
17
+ * Capture the current content of a file before it's modified.
18
+ * Silently skips if the file doesn't exist (new file creation).
19
+ */
20
+ capture(filePath) {
21
+ if (!existsSync(filePath))
22
+ return;
23
+ try {
24
+ const content = readFileSync(filePath, "utf-8");
25
+ let stack = this.stacks.get(filePath);
26
+ if (!stack) {
27
+ stack = [];
28
+ this.stacks.set(filePath, stack);
29
+ }
30
+ stack.push(content);
31
+ // Trim to max history
32
+ if (stack.length > this.maxPerFile) {
33
+ stack.splice(0, stack.length - this.maxPerFile);
34
+ }
35
+ }
36
+ catch {
37
+ // Skip unreadable files (binary, permissions, etc.)
38
+ }
39
+ }
40
+ /**
41
+ * Restore a file to its previous snapshot (undo).
42
+ * Pops the most recent snapshot and writes it to disk.
43
+ */
44
+ restore(filePath) {
45
+ const stack = this.stacks.get(filePath);
46
+ if (!stack || stack.length === 0) {
47
+ return { success: false, error: `No snapshot available for ${filePath}` };
48
+ }
49
+ const content = stack.pop();
50
+ try {
51
+ writeFileSync(filePath, content, "utf-8");
52
+ return { success: true };
53
+ }
54
+ catch (err) {
55
+ const message = err instanceof Error ? err.message : String(err);
56
+ return { success: false, error: `Failed to restore: ${message}` };
57
+ }
58
+ }
59
+ /** Check if a file has any snapshots */
60
+ hasSnapshot(filePath) {
61
+ const stack = this.stacks.get(filePath);
62
+ return !!stack && stack.length > 0;
63
+ }
64
+ /** Get the number of snapshots for a file */
65
+ getSnapshotCount(filePath) {
66
+ return this.stacks.get(filePath)?.length ?? 0;
67
+ }
68
+ /** List all files with snapshots */
69
+ getModifiedFiles() {
70
+ return [...this.stacks.keys()].filter((k) => this.hasSnapshot(k));
71
+ }
72
+ /** Clear all snapshots */
73
+ clear() {
74
+ this.stacks.clear();
75
+ }
76
+ }
77
+ //# sourceMappingURL=file-snapshots.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-snapshots.js","sourceRoot":"","sources":["../../../src/oni-code/workspace/file-snapshots.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export { ProjectMap, type FileEntry } from "./project-map.js";
2
+ export { ChangeTracker, type ChangeType } from "./change-tracker.js";
3
+ export { FileSnapshots, type SnapshotConfig, type RestoreResult } from "./file-snapshots.js";
4
+ export { ConflictDetector, type Conflict, type TaskEstimate } from "./conflict-detector.js";
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/oni-code/workspace/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,KAAK,cAAc,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC7F,OAAO,EAAE,gBAAgB,EAAE,KAAK,QAAQ,EAAE,KAAK,YAAY,EAAE,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,5 @@
1
+ export { ProjectMap } from "./project-map.js";
2
+ export { ChangeTracker } from "./change-tracker.js";
3
+ export { FileSnapshots } from "./file-snapshots.js";
4
+ export { ConflictDetector } from "./conflict-detector.js";
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/oni-code/workspace/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAkB,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAmB,MAAM,qBAAqB,CAAC;AACrE,OAAO,EAAE,aAAa,EAA2C,MAAM,qBAAqB,CAAC;AAC7F,OAAO,EAAE,gBAAgB,EAAoC,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,14 @@
1
+ export interface FileEntry {
2
+ path: string;
3
+ size: number;
4
+ ext: string;
5
+ }
6
+ export declare class ProjectMap {
7
+ readonly files: FileEntry[];
8
+ readonly root: string;
9
+ private constructor();
10
+ static build(rootDir: string, maxDepth?: number): ProjectMap;
11
+ toContextString(): string;
12
+ getFilesByExtension(ext: string): FileEntry[];
13
+ }
14
+ //# sourceMappingURL=project-map.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-map.d.ts","sourceRoot":"","sources":["../../../src/oni-code/workspace/project-map.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACb;AAeD,qBAAa,UAAU;IACrB,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,OAAO;IAKP,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAU,GAAG,UAAU;IAO/D,eAAe,IAAI,MAAM;IAazB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE;CAG9C"}
@@ -0,0 +1,91 @@
1
+ import * as fs from "node:fs";
2
+ import * as path from "node:path";
3
+ const IGNORED_DIRS = new Set([
4
+ "node_modules",
5
+ ".git",
6
+ "dist",
7
+ "build",
8
+ "out",
9
+ "coverage",
10
+ ".cache",
11
+ ".turbo",
12
+ ]);
13
+ const MAX_FILE_SIZE = 512 * 1024; // 512KB
14
+ export class ProjectMap {
15
+ files;
16
+ root;
17
+ constructor(root, files) {
18
+ this.root = root;
19
+ this.files = files;
20
+ }
21
+ static build(rootDir, maxDepth = 6) {
22
+ const entries = [];
23
+ walk(rootDir, rootDir, 0, maxDepth, entries);
24
+ entries.sort((a, b) => a.path.localeCompare(b.path));
25
+ return new ProjectMap(rootDir, entries);
26
+ }
27
+ toContextString() {
28
+ const lines = [`Project: ${this.files.length} files`];
29
+ for (const f of this.files) {
30
+ lines.push(` ${f.path} (${formatSize(f.size)})`);
31
+ }
32
+ const result = lines.join("\n");
33
+ // Truncate if somehow exceeds limit
34
+ if (result.length > 5000) {
35
+ return result.slice(0, 4997) + "...";
36
+ }
37
+ return result;
38
+ }
39
+ getFilesByExtension(ext) {
40
+ return this.files.filter((f) => f.ext === ext);
41
+ }
42
+ }
43
+ function walk(dir, root, depth, maxDepth, entries) {
44
+ if (depth > maxDepth)
45
+ return;
46
+ let dirEntries;
47
+ try {
48
+ dirEntries = fs.readdirSync(dir, { withFileTypes: true });
49
+ }
50
+ catch {
51
+ return;
52
+ }
53
+ for (const entry of dirEntries) {
54
+ const fullPath = path.join(dir, entry.name);
55
+ if (entry.isDirectory()) {
56
+ // Skip ignored directories and dot-dirs
57
+ if (IGNORED_DIRS.has(entry.name) || entry.name.startsWith(".")) {
58
+ continue;
59
+ }
60
+ walk(fullPath, root, depth + 1, maxDepth, entries);
61
+ }
62
+ else if (entry.isFile()) {
63
+ let stat;
64
+ try {
65
+ stat = fs.statSync(fullPath);
66
+ }
67
+ catch {
68
+ continue;
69
+ }
70
+ if (stat.size > MAX_FILE_SIZE)
71
+ continue;
72
+ const relativePath = path
73
+ .relative(root, fullPath)
74
+ .split(path.sep)
75
+ .join("/");
76
+ entries.push({
77
+ path: relativePath,
78
+ size: stat.size,
79
+ ext: path.extname(entry.name),
80
+ });
81
+ }
82
+ }
83
+ }
84
+ function formatSize(bytes) {
85
+ if (bytes < 1024)
86
+ return `${bytes}b`;
87
+ if (bytes < 1024 * 1024)
88
+ return `${(bytes / 1024).toFixed(1)}kb`;
89
+ return `${(bytes / (1024 * 1024)).toFixed(1)}mb`;
90
+ }
91
+ //# sourceMappingURL=project-map.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-map.js","sourceRoot":"","sources":["../../../src/oni-code/workspace/project-map.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tool-node.d.ts","sourceRoot":"","sources":["../../src/prebuilt/tool-node.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,UAAU,EAAe,MAAM,aAAa,CAAC;AAM3D,MAAM,WAAW,OAAO;IACtB,IAAI,EAAS,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,EAAE,EAAW,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;CAC5E;AAMD,wBAAgB,cAAc,CAC5B,KAAK,EAAE,OAAO,EAAE,GACf,MAAM,CAAC;IAAE,QAAQ,EAAE,UAAU,EAAE,CAAA;CAAE,CAAC,CA8CpC;AAOD,wBAAgB,cAAc,CAC5B,KAAK,EAAE;IAAE,QAAQ,EAAE,UAAU,EAAE,CAAA;CAAE,GAChC,OAAO,GAAG,SAAS,CAIrB"}
1
+ {"version":3,"file":"tool-node.d.ts","sourceRoot":"","sources":["../../src/prebuilt/tool-node.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,UAAU,EAAe,MAAM,aAAa,CAAC;AAM3D,MAAM,WAAW,OAAO;IACtB,IAAI,EAAS,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,EAAE,EAAW,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;CAC5E;AAMD,wBAAgB,cAAc,CAC5B,KAAK,EAAE,OAAO,EAAE,GACf,MAAM,CAAC;IAAE,QAAQ,EAAE,UAAU,EAAE,CAAA;CAAE,CAAC,CA6CpC;AAOD,wBAAgB,cAAc,CAC5B,KAAK,EAAE;IAAE,QAAQ,EAAE,UAAU,EAAE,CAAA;CAAE,GAChC,OAAO,GAAG,SAAS,CAIrB"}
@@ -13,7 +13,6 @@ export function createToolNode(tools) {
13
13
  return async (state) => {
14
14
  const lastMsg = state.messages.at(-1);
15
15
  if (!lastMsg || lastMsg.role !== "assistant" || !lastMsg.tool_calls?.length) {
16
- console.warn("[ToolNode] No tool calls found in last assistant message.");
17
16
  return {};
18
17
  }
19
18
  const results = await Promise.all(lastMsg.tool_calls.map(async (tc) => {
@@ -1 +1 @@
1
- {"version":3,"file":"tool-node.js","sourceRoot":"","sources":["../../src/prebuilt/tool-node.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,oCAAoC;AACpC,+DAA+D;AAC/D,0DAA0D;AAC1D,8DAA8D;AAC9D,wDAAwD;AACxD,+DAA+D;AAgB/D,mEAAmE;AACnE,mBAAmB;AACnB,mEAAmE;AAEnE,MAAM,UAAU,cAAc,CAC5B,KAAgB;IAEhB,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAEvD,OAAO,KAAK,EAAE,KAAK,EAAE,EAAE;QACrB,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAEtC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;YAC5E,OAAO,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;YAC1E,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,EAAe,EAAE,EAAE;YAC/C,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;YAElC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,OAAO;oBACL,IAAI,EAAW,MAAe;oBAC9B,OAAO,EAAQ,gBAAgB,EAAE,CAAC,IAAI,cAAc;oBACpD,IAAI,EAAW,EAAE,CAAC,IAAI;oBACtB,YAAY,EAAG,EAAE,CAAC,EAAE;iBACrB,CAAC;YACJ,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;gBACtC,OAAO;oBACL,IAAI,EAAW,MAAe;oBAC9B,OAAO,EAAQ,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;oBAC3E,IAAI,EAAW,EAAE,CAAC,IAAI;oBACtB,YAAY,EAAG,EAAE,CAAC,EAAE;iBACrB,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC7D,OAAO;oBACL,IAAI,EAAW,MAAe;oBAC9B,OAAO,EAAQ,uBAAuB,EAAE,CAAC,IAAI,MAAM,GAAG,EAAE;oBACxD,IAAI,EAAW,EAAE,CAAC,IAAI;oBACtB,YAAY,EAAG,EAAE,CAAC,EAAE;iBACrB,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CACH,CAAC;QAEF,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;IAC/B,CAAC,CAAC;AACJ,CAAC;AAED,mEAAmE;AACnE,iEAAiE;AACjE,+CAA+C;AAC/C,mEAAmE;AAEnE,MAAM,UAAU,cAAc,CAC5B,KAAiC;IAEjC,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACnC,IAAI,IAAI,EAAE,IAAI,KAAK,WAAW,IAAI,IAAI,CAAC,UAAU,EAAE,MAAM;QAAE,OAAO,OAAO,CAAC;IAC1E,OAAO,SAAS,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"tool-node.js","sourceRoot":"","sources":["../../src/prebuilt/tool-node.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,oCAAoC;AACpC,+DAA+D;AAC/D,0DAA0D;AAC1D,8DAA8D;AAC9D,wDAAwD;AACxD,+DAA+D;AAgB/D,mEAAmE;AACnE,mBAAmB;AACnB,mEAAmE;AAEnE,MAAM,UAAU,cAAc,CAC5B,KAAgB;IAEhB,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAEvD,OAAO,KAAK,EAAE,KAAK,EAAE,EAAE;QACrB,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAEtC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;YAC5E,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,EAAe,EAAE,EAAE;YAC/C,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;YAElC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,OAAO;oBACL,IAAI,EAAW,MAAe;oBAC9B,OAAO,EAAQ,gBAAgB,EAAE,CAAC,IAAI,cAAc;oBACpD,IAAI,EAAW,EAAE,CAAC,IAAI;oBACtB,YAAY,EAAG,EAAE,CAAC,EAAE;iBACrB,CAAC;YACJ,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;gBACtC,OAAO;oBACL,IAAI,EAAW,MAAe;oBAC9B,OAAO,EAAQ,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;oBAC3E,IAAI,EAAW,EAAE,CAAC,IAAI;oBACtB,YAAY,EAAG,EAAE,CAAC,EAAE;iBACrB,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC7D,OAAO;oBACL,IAAI,EAAW,MAAe;oBAC9B,OAAO,EAAQ,uBAAuB,EAAE,CAAC,IAAI,MAAM,GAAG,EAAE;oBACxD,IAAI,EAAW,EAAE,CAAC,IAAI;oBACtB,YAAY,EAAG,EAAE,CAAC,EAAE;iBACrB,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CACH,CAAC;QAEF,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;IAC/B,CAAC,CAAC;AACJ,CAAC;AAED,mEAAmE;AACnE,iEAAiE;AACjE,+CAA+C;AAC/C,mEAAmE;AAEnE,MAAM,UAAU,cAAc,CAC5B,KAAiC;IAEjC,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACnC,IAAI,IAAI,EAAE,IAAI,KAAK,WAAW,IAAI,IAAI,CAAC,UAAU,EAAE,MAAM;QAAE,OAAO,OAAO,CAAC;IAC1E,OAAO,SAAS,CAAC;AACnB,CAAC"}
package/dist/pregel.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import { type NodeDefinition, type Edge, type ChannelSchema, type ONIConfig, type ONIStreamEvent, type StreamMode, type InterruptConfig, type ONICheckpointer, type ONICheckpoint } from "./types.js";
2
+ import { DeadLetterQueue, type DeadLetter } from "./dlq.js";
2
3
  import type { BaseStore } from "./store/index.js";
3
4
  import { HITLSessionStore } from "./hitl/index.js";
4
5
  import { EventBus } from "./events/bus.js";
@@ -6,6 +7,7 @@ import type { GuardrailsConfig } from "./guardrails/types.js";
6
7
  import type { EventListeners } from "./events/types.js";
7
8
  import { AuditLog } from "./guardrails/audit.js";
8
9
  import { BudgetTracker } from "./guardrails/budget.js";
10
+ import { ONITracer, type TracerLike } from "./telemetry.js";
9
11
  export declare class ONIPregelRunner<S extends Record<string, unknown>> {
10
12
  private readonly nodes;
11
13
  private readonly edges;
@@ -13,8 +15,11 @@ export declare class ONIPregelRunner<S extends Record<string, unknown>> {
13
15
  private readonly interruptConfig;
14
16
  private readonly checkpointer;
15
17
  private readonly store;
18
+ private readonly defaults?;
19
+ private readonly dlq;
16
20
  private hitlStore;
17
21
  private nodeCache;
22
+ private circuitBreakers;
18
23
  /** Set to true when this runner is being invoked as a subgraph */
19
24
  private _isSubgraph;
20
25
  /** Accumulated parent updates from Command.PARENT during subgraph execution */
@@ -22,7 +27,14 @@ export declare class ONIPregelRunner<S extends Record<string, unknown>> {
22
27
  readonly eventBus: EventBus;
23
28
  readonly auditLog: AuditLog | null;
24
29
  readonly budgetTracker: BudgetTracker | null;
25
- constructor(nodes: Map<string, NodeDefinition<S>>, edges: Edge<S>[], channels: ChannelSchema<S>, interruptConfig?: InterruptConfig, checkpointer?: ONICheckpointer<S> | null, store?: BaseStore | null, guardrails?: GuardrailsConfig, listeners?: EventListeners);
30
+ readonly tracer: ONITracer;
31
+ /** Pre-indexed edges by source node — O(1) lookup instead of O(n) filter */
32
+ private readonly _edgesBySource;
33
+ /** Pre-computed ephemeral channel keys — avoids iterating all channels */
34
+ private readonly _ephemeralKeys;
35
+ constructor(nodes: Map<string, NodeDefinition<S>>, edges: Edge<S>[], channels: ChannelSchema<S>, interruptConfig?: InterruptConfig, checkpointer?: ONICheckpointer<S> | null, store?: BaseStore | null, guardrails?: GuardrailsConfig, listeners?: EventListeners, defaults?: {
36
+ nodeTimeout?: number;
37
+ } | undefined, dlq?: DeadLetterQueue | null, tracer?: TracerLike | null);
26
38
  private buildInitialState;
27
39
  private applyUpdate;
28
40
  private resetEphemeral;
@@ -42,6 +54,8 @@ export declare class ONIPregelRunner<S extends Record<string, unknown>> {
42
54
  forkFrom(threadId: string, step: number, newThreadId: string): Promise<void>;
43
55
  getPendingInterrupts(threadId: string): import("./hitl/resume.js").HITLSession<S>[];
44
56
  hitlSessionStore(): HITLSessionStore<S>;
57
+ private getCircuitBreaker;
58
+ getDeadLetters(threadId: string): DeadLetter[];
45
59
  private saveCheckpoint;
46
60
  private evt;
47
61
  }
@@ -1 +1 @@
1
- {"version":3,"file":"pregel.d.ts","sourceRoot":"","sources":["../src/pregel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pregel.d.ts","sourceRoot":"","sources":["../src/pregel.ts"],"names":[],"mappings":"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"}