@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 @@
1
+ {"version":3,"file":"topology-selector.js","sourceRoot":"","sources":["../../src/oni-code/topology-selector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import React from "react";
2
+ import type { Conductor } from "../conductor.js";
3
+ interface AppProps {
4
+ conductor: Conductor;
5
+ modelId: string;
6
+ rootDir: string;
7
+ }
8
+ export declare function App({ conductor, modelId, rootDir }: AppProps): React.ReactElement;
9
+ export {};
10
+ //# sourceMappingURL=App.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../../src/oni-code/ui/App.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAC;AAYxE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAiBjD,UAAU,QAAQ;IAChB,SAAS,EAAE,SAAS,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAuLD,wBAAgB,GAAG,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,QAAQ,GAAG,KAAK,CAAC,YAAY,CAmXjF"}
@@ -0,0 +1,395 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useCallback, useEffect, useRef, useState } from "react";
3
+ import { Box, useApp } from "ink";
4
+ import { OutputPane } from "./OutputPane.js";
5
+ import { InputArea } from "./InputArea.js";
6
+ import { FooterPanel } from "./FooterPanel.js";
7
+ import { Spinner } from "./Spinner.js";
8
+ import { PermissionPrompt } from "./PermissionPrompt.js";
9
+ import { QuestionPrompt } from "./QuestionPrompt.js";
10
+ import { SwarmPanel } from "./SwarmPanel.js";
11
+ import { getCommandMenu } from "./command-menu.js";
12
+ import { buildToolMetadataMessage, buildToolResultActivity, buildToolStartActivity, getSpinnerLabel } from "./activity.js";
13
+ import { useTerminalSize } from "./useTerminalSize.js";
14
+ import { applySwarmAgentCompleted, applySwarmAgentFailed, applySwarmAgentStarted, applySwarmCompleted, applySwarmStarted, buildSwarmAgentFailedLine, buildSwarmCompletedLine, buildSwarmStartedLine, getActiveSwarms, getPrimarySwarmLabel, } from "./swarm-activity.js";
15
+ function buildHeaderMessage(conductor, modelId, rootDir) {
16
+ const metadata = {
17
+ modelId,
18
+ rootDir,
19
+ mode: conductor.getPermissions().getMode(),
20
+ toolNames: conductor.getAvailableToolNames(),
21
+ skillNames: conductor.getAvailableSkillNames(),
22
+ mcpServers: conductor.getConfiguredMCPServerNames(),
23
+ };
24
+ return {
25
+ id: "header",
26
+ type: "system",
27
+ subtype: "header",
28
+ sessionId: "",
29
+ turn: 0,
30
+ timestamp: Date.now(),
31
+ metadata,
32
+ };
33
+ }
34
+ function buildWelcomeMessage(nextId) {
35
+ return {
36
+ id: nextId(),
37
+ type: "system",
38
+ subtype: "welcome",
39
+ sessionId: "",
40
+ turn: 0,
41
+ timestamp: Date.now(),
42
+ content: "Welcome to ONI Agent! Type your message or /help for commands.",
43
+ };
44
+ }
45
+ function buildInitialMessages(conductor, modelId, rootDir, nextId) {
46
+ return [
47
+ buildHeaderMessage(conductor, modelId, rootDir),
48
+ buildWelcomeMessage(nextId),
49
+ ];
50
+ }
51
+ function isAbortLikeMessage(message) {
52
+ if (!message)
53
+ return false;
54
+ const lower = message.toLowerCase();
55
+ return lower.includes("aborted") || lower.includes("abort");
56
+ }
57
+ function buildShellActivity(activeSwarms, spinnerLabel, isThinking, isResizing, pendingPermission, pendingQuestion) {
58
+ if (isResizing)
59
+ return { label: "Resizing", tone: "busy" };
60
+ if (pendingPermission)
61
+ return { label: `Awaiting approval: ${pendingPermission.toolName}`, tone: "warning" };
62
+ if (pendingQuestion)
63
+ return { label: "Awaiting input", tone: "warning" };
64
+ const swarmLabel = getPrimarySwarmLabel(activeSwarms);
65
+ if (swarmLabel)
66
+ return { label: swarmLabel, tone: "busy" };
67
+ if (isThinking)
68
+ return { label: spinnerLabel, tone: "busy" };
69
+ return { label: "Ready", tone: "idle" };
70
+ }
71
+ function AppShell({ width, isResizing, messages, activeSwarms, isThinking, spinnerLabel, pendingPermission, pendingQuestion, inputMode, onSubmit, onPermissionDecision, stats, modelId, mode, }) {
72
+ const frameWidth = width;
73
+ const activity = buildShellActivity(activeSwarms, spinnerLabel, isThinking, isResizing, pendingPermission, pendingQuestion);
74
+ const [composerValue, setComposerValue] = useState("");
75
+ const commandMenu = pendingPermission ? [] : getCommandMenu(composerValue, inputMode, mode);
76
+ return (_jsxs(Box, { flexDirection: "column", width: frameWidth, children: [_jsx(OutputPane, { width: frameWidth, messages: messages }), _jsxs(Box, { width: frameWidth, flexDirection: "column", marginTop: 1, children: [isThinking && !isResizing ? (_jsx(Box, { width: frameWidth, marginBottom: 1, children: _jsx(Spinner, { label: spinnerLabel }) })) : null, activeSwarms.length > 0 ? (_jsx(Box, { width: frameWidth, marginBottom: 1, children: _jsx(SwarmPanel, { width: frameWidth, swarms: activeSwarms }) })) : null, _jsx(Box, { width: frameWidth, marginTop: 1, children: pendingPermission ? (_jsx(PermissionPrompt, { width: frameWidth, toolName: pendingPermission.toolName, args: pendingPermission.args, onDecision: onPermissionDecision })) : (_jsxs(Box, { flexDirection: "column", width: frameWidth, children: [pendingQuestion ? (_jsx(Box, { width: frameWidth, marginBottom: 1, children: _jsx(QuestionPrompt, { width: frameWidth, question: pendingQuestion.question }) })) : null, _jsx(InputArea, { width: frameWidth, onSubmit: onSubmit, onValueChange: setComposerValue, mode: inputMode })] })) }), _jsx(Box, { width: frameWidth, marginTop: 1, children: _jsx(FooterPanel, { width: frameWidth, inputTokens: stats.inputTokens, outputTokens: stats.outputTokens, turns: stats.turns, modelId: modelId, mode: mode, activityLabel: activity.label, activityTone: activity.tone, commandMenu: commandMenu }) })] })] }));
77
+ }
78
+ export function App({ conductor, modelId, rootDir }) {
79
+ const { exit } = useApp();
80
+ const terminal = useTerminalSize();
81
+ const msgIdRef = useRef(0);
82
+ const nextId = useCallback(() => `msg_${++msgIdRef.current}`, []);
83
+ const [messages, setMessages] = useState(() => buildInitialMessages(conductor, modelId, rootDir, nextId));
84
+ const [isThinking, setIsThinking] = useState(false);
85
+ const [spinnerLabel, setSpinnerLabel] = useState(getSpinnerLabel());
86
+ const [pendingPermission, setPendingPermission] = useState(null);
87
+ const [pendingQuestion, setPendingQuestion] = useState(null);
88
+ const [mode, setMode] = useState(conductor.getPermissions().getMode());
89
+ const [stats, setStats] = useState({ inputTokens: 0, outputTokens: 0, turns: 0 });
90
+ const [swarms, setSwarms] = useState([]);
91
+ const activeToolCallsRef = useRef(new Map());
92
+ const abortControllerRef = useRef(null);
93
+ const interruptQueueRef = useRef([]);
94
+ const refreshHeader = useCallback(() => {
95
+ setMessages((prev) => {
96
+ const header = buildHeaderMessage(conductor, modelId, rootDir);
97
+ if (prev.length === 0)
98
+ return [header, buildWelcomeMessage(nextId)];
99
+ return [header, ...prev.slice(1)];
100
+ });
101
+ }, [conductor, modelId, rootDir, nextId]);
102
+ useEffect(() => {
103
+ conductor.setPermissionListener((toolName, args, resolve) => {
104
+ setPendingPermission({ toolName, args, resolve });
105
+ });
106
+ conductor.setQuestionListener((question, resolve) => {
107
+ setPendingQuestion({ question, resolve });
108
+ setIsThinking(false);
109
+ });
110
+ return () => {
111
+ conductor.setPermissionListener(null);
112
+ conductor.setQuestionListener(null);
113
+ };
114
+ }, [conductor]);
115
+ const appendSystemMessage = useCallback((content, subtype, metadata) => {
116
+ setMessages((prev) => [
117
+ ...prev,
118
+ {
119
+ id: nextId(),
120
+ type: "system",
121
+ subtype,
122
+ sessionId: "",
123
+ turn: 0,
124
+ timestamp: Date.now(),
125
+ content,
126
+ metadata,
127
+ },
128
+ ]);
129
+ }, [nextId]);
130
+ const resetShell = useCallback(() => {
131
+ setMessages(buildInitialMessages(conductor, modelId, rootDir, nextId));
132
+ setStats({ inputTokens: 0, outputTokens: 0, turns: 0 });
133
+ setSwarms([]);
134
+ setPendingQuestion(null);
135
+ setPendingPermission(null);
136
+ activeToolCallsRef.current.clear();
137
+ }, [conductor, modelId, rootDir, nextId]);
138
+ useEffect(() => {
139
+ const bus = conductor.getEventBus();
140
+ const unsubscribes = [
141
+ bus.on("swarm.started", (event) => {
142
+ setSwarms((prev) => applySwarmStarted(prev, event));
143
+ setSpinnerLabel("coordinating");
144
+ appendSystemMessage(buildSwarmStartedLine(event), "swarm_activity");
145
+ }),
146
+ bus.on("swarm.agent.started", (event) => {
147
+ setSwarms((prev) => applySwarmAgentStarted(prev, event));
148
+ setSpinnerLabel("coordinating");
149
+ }),
150
+ bus.on("swarm.agent.completed", (event) => {
151
+ setSwarms((prev) => applySwarmAgentCompleted(prev, event));
152
+ }),
153
+ bus.on("swarm.agent.failed", (event) => {
154
+ setSwarms((prev) => applySwarmAgentFailed(prev, event));
155
+ appendSystemMessage(buildSwarmAgentFailedLine(event), "swarm_activity", { tone: "error" });
156
+ }),
157
+ bus.on("swarm.completed", (event) => {
158
+ const { line, tone } = buildSwarmCompletedLine(event);
159
+ setSwarms((prev) => getActiveSwarms(applySwarmCompleted(prev, event)));
160
+ appendSystemMessage(line, "swarm_activity", { tone });
161
+ }),
162
+ ];
163
+ return () => {
164
+ for (const unsubscribe of unsubscribes)
165
+ unsubscribe();
166
+ };
167
+ }, [appendSystemMessage, conductor]);
168
+ const handleCommand = useCallback((input) => {
169
+ const cmd = input.trim();
170
+ if (cmd === "/exit" || cmd === "/quit" || cmd === "/q") {
171
+ exit();
172
+ return true;
173
+ }
174
+ if (cmd === "/clear") {
175
+ conductor.clearHistory();
176
+ resetShell();
177
+ appendSystemMessage("Conversation cleared.");
178
+ return true;
179
+ }
180
+ if (cmd === "/mode") {
181
+ const current = conductor.getPermissions().getMode();
182
+ const next = current === "interactive" ? "auto" : "interactive";
183
+ conductor.getPermissions().setMode(next);
184
+ setMode(next);
185
+ refreshHeader();
186
+ appendSystemMessage(`Mode: ${current} → ${next}`);
187
+ return true;
188
+ }
189
+ if (cmd === "/status") {
190
+ appendSystemMessage(`Turns ${conductor.getTurnCount()} · Messages ${conductor.getHistoryLength()} · Mode ${conductor.getPermissions().getMode()} · In ${stats.inputTokens} · Out ${stats.outputTokens}`);
191
+ return true;
192
+ }
193
+ if (cmd === "/help") {
194
+ appendSystemMessage("Commands: /help, /status, /changes, /mode, /clear, /exit");
195
+ return true;
196
+ }
197
+ if (cmd === "/changes") {
198
+ const summary = conductor.getChangeTracker().getSummary();
199
+ appendSystemMessage(summary || "No changes tracked this session.");
200
+ return true;
201
+ }
202
+ return false;
203
+ }, [appendSystemMessage, conductor, exit, refreshHeader, resetShell, stats.inputTokens, stats.outputTokens]);
204
+ const handleLoopMessage = useCallback((msg, signal) => {
205
+ const displayMsg = { ...msg, id: nextId() };
206
+ if (msg.type === "assistant") {
207
+ if (msg.content?.trim()) {
208
+ setMessages((prev) => [...prev, displayMsg]);
209
+ }
210
+ if (msg.toolCalls && msg.toolCalls.length > 0) {
211
+ setSpinnerLabel(getSpinnerLabel(msg.toolCalls[0]?.name));
212
+ }
213
+ const usage = msg.metadata?.usage;
214
+ if (usage) {
215
+ setStats((prev) => ({
216
+ ...prev,
217
+ inputTokens: prev.inputTokens + (usage.inputTokens ?? 0),
218
+ outputTokens: prev.outputTokens + (usage.outputTokens ?? 0),
219
+ }));
220
+ }
221
+ return;
222
+ }
223
+ if (msg.type === "tool_start") {
224
+ const toolCallId = typeof msg.metadata?.toolCallId === "string" ? msg.metadata.toolCallId : nextId();
225
+ const toolName = typeof msg.metadata?.toolName === "string" ? msg.metadata.toolName : "tool";
226
+ const toolArgs = typeof msg.metadata?.toolArgs === "object" && msg.metadata?.toolArgs
227
+ ? msg.metadata.toolArgs
228
+ : {};
229
+ activeToolCallsRef.current.set(toolCallId, { toolName, args: toolArgs });
230
+ setSpinnerLabel(getSpinnerLabel(toolName));
231
+ const startActivity = buildToolStartActivity(toolName, toolArgs);
232
+ if (startActivity) {
233
+ setMessages((prev) => [
234
+ ...prev,
235
+ {
236
+ id: nextId(),
237
+ type: "system",
238
+ subtype: "tool_activity",
239
+ sessionId: msg.sessionId,
240
+ turn: msg.turn,
241
+ timestamp: msg.timestamp,
242
+ content: startActivity.summary,
243
+ metadata: { tone: startActivity.tone },
244
+ },
245
+ ]);
246
+ }
247
+ return;
248
+ }
249
+ if (msg.type === "tool_result" && msg.toolResults) {
250
+ const activityMessages = msg.toolResults.map((result) => {
251
+ const pending = activeToolCallsRef.current.get(result.toolCallId) ?? {
252
+ toolName: result.toolName,
253
+ args: {},
254
+ };
255
+ activeToolCallsRef.current.delete(result.toolCallId);
256
+ const activity = buildToolResultActivity(pending.toolName, pending.args, result.content, !!result.isError);
257
+ return {
258
+ id: nextId(),
259
+ type: "system",
260
+ subtype: "tool_activity",
261
+ sessionId: msg.sessionId,
262
+ turn: msg.turn,
263
+ timestamp: msg.timestamp,
264
+ content: activity.summary,
265
+ metadata: {
266
+ tone: activity.tone,
267
+ detailKind: activity.detailKind,
268
+ detailLines: activity.detailLines,
269
+ },
270
+ };
271
+ });
272
+ if (activityMessages.length > 0) {
273
+ setMessages((prev) => [...prev, ...activityMessages]);
274
+ }
275
+ return;
276
+ }
277
+ if (msg.type === "tool_metadata") {
278
+ const toolName = typeof msg.metadata?.toolName === "string" ? msg.metadata.toolName : "tool";
279
+ const title = typeof msg.metadata?.title === "string" ? msg.metadata.title : undefined;
280
+ const data = typeof msg.metadata?.data === "object" && msg.metadata.data
281
+ ? msg.metadata.data
282
+ : undefined;
283
+ const activity = buildToolMetadataMessage(toolName, title, data);
284
+ if (activity) {
285
+ setMessages((prev) => [
286
+ ...prev,
287
+ {
288
+ id: nextId(),
289
+ type: "system",
290
+ subtype: "tool_metadata",
291
+ sessionId: msg.sessionId,
292
+ turn: msg.turn,
293
+ timestamp: msg.timestamp,
294
+ content: activity.summary,
295
+ metadata: { tone: activity.tone },
296
+ },
297
+ ]);
298
+ }
299
+ return;
300
+ }
301
+ if (msg.type === "error") {
302
+ if (signal.aborted && interruptQueueRef.current.length > 0 && isAbortLikeMessage(msg.content)) {
303
+ return;
304
+ }
305
+ setMessages((prev) => [...prev, displayMsg]);
306
+ return;
307
+ }
308
+ if (msg.type === "result") {
309
+ setStats((prev) => ({ ...prev, turns: prev.turns + 1 }));
310
+ return;
311
+ }
312
+ if (msg.type === "system" && msg.subtype === "init") {
313
+ return;
314
+ }
315
+ if (msg.type === "system" && (msg.subtype === "compact_boundary" || msg.content)) {
316
+ setMessages((prev) => [...prev, displayMsg]);
317
+ return;
318
+ }
319
+ if (msg.type === "step_start" && typeof msg.metadata?.swarmTopology === "string") {
320
+ setSpinnerLabel("coordinating");
321
+ }
322
+ }, [nextId]);
323
+ const runTurn = useCallback(async function runTurn(input) {
324
+ if (input.startsWith("/") && handleCommand(input))
325
+ return;
326
+ setMessages((prev) => [
327
+ ...prev,
328
+ { id: nextId(), type: "user", sessionId: "", turn: 0, timestamp: Date.now(), content: input },
329
+ ]);
330
+ setIsThinking(true);
331
+ setSpinnerLabel(getSpinnerLabel());
332
+ const controller = new AbortController();
333
+ abortControllerRef.current = controller;
334
+ try {
335
+ for await (const msg of conductor.chat(input, { signal: controller.signal })) {
336
+ handleLoopMessage(msg, controller.signal);
337
+ }
338
+ }
339
+ catch (err) {
340
+ const content = err instanceof Error ? err.message : String(err);
341
+ if (!(controller.signal.aborted && interruptQueueRef.current.length > 0 && isAbortLikeMessage(content))) {
342
+ setMessages((prev) => [
343
+ ...prev,
344
+ { id: nextId(), type: "error", sessionId: "", turn: 0, timestamp: Date.now(), content },
345
+ ]);
346
+ }
347
+ }
348
+ finally {
349
+ abortControllerRef.current = null;
350
+ if (interruptQueueRef.current.length > 0) {
351
+ const nextInput = interruptQueueRef.current.join("\n");
352
+ interruptQueueRef.current = [];
353
+ await runTurn(nextInput);
354
+ return;
355
+ }
356
+ if (!pendingQuestion) {
357
+ setIsThinking(false);
358
+ }
359
+ setSpinnerLabel(getSpinnerLabel());
360
+ }
361
+ }, [conductor, handleCommand, handleLoopMessage, nextId, pendingQuestion]);
362
+ const handleSubmit = useCallback((input) => {
363
+ if (pendingQuestion) {
364
+ pendingQuestion.resolve(input.trim() ? input : null);
365
+ setPendingQuestion(null);
366
+ setIsThinking(true);
367
+ setSpinnerLabel(getSpinnerLabel());
368
+ return;
369
+ }
370
+ if (isThinking) {
371
+ if (input.startsWith("/") && handleCommand(input))
372
+ return;
373
+ interruptQueueRef.current.push(input);
374
+ appendSystemMessage("⚡ New message detected, interrupting...");
375
+ if (abortControllerRef.current && !abortControllerRef.current.signal.aborted) {
376
+ abortControllerRef.current.abort();
377
+ }
378
+ return;
379
+ }
380
+ void runTurn(input);
381
+ }, [appendSystemMessage, handleCommand, isThinking, pendingQuestion, runTurn]);
382
+ const handlePermissionDecision = useCallback((decision) => {
383
+ if (!pendingPermission)
384
+ return;
385
+ pendingPermission.resolve(decision);
386
+ setPendingPermission(null);
387
+ }, [pendingPermission]);
388
+ const inputMode = pendingQuestion ? "question" : isThinking ? "working" : "idle";
389
+ const activeSwarms = getActiveSwarms(swarms);
390
+ return (
391
+ // Do not key the shell by terminal size: OutputPane uses Ink Static, and
392
+ // remounting Static on resize replays the full scrollback into the terminal.
393
+ _jsx(AppShell, { width: terminal.width, isResizing: terminal.isResizing, messages: messages, activeSwarms: activeSwarms, isThinking: isThinking, spinnerLabel: spinnerLabel, pendingPermission: pendingPermission, pendingQuestion: pendingQuestion, inputMode: inputMode, onSubmit: handleSubmit, onPermissionDecision: handlePermissionDecision, stats: stats, modelId: modelId, mode: mode }));
394
+ }
395
+ //# sourceMappingURL=App.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"App.js","sourceRoot":"","sources":["../../../src/oni-code/ui/App.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import React from "react";
2
+ import type { CommandItem } from "./command-menu.js";
3
+ interface FooterPanelProps {
4
+ inputTokens: number;
5
+ outputTokens: number;
6
+ turns: number;
7
+ modelId: string;
8
+ mode: string;
9
+ activityLabel: string;
10
+ activityTone?: "idle" | "busy" | "warning";
11
+ commandMenu?: CommandItem[];
12
+ width?: number;
13
+ }
14
+ export declare function FooterPanel({ inputTokens, outputTokens, turns, modelId, mode, activityLabel, activityTone, commandMenu, width, }: FooterPanelProps): React.ReactElement;
15
+ export {};
16
+ //# sourceMappingURL=FooterPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FooterPanel.d.ts","sourceRoot":"","sources":["../../../src/oni-code/ui/FooterPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGrD,UAAU,gBAAgB;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAC3C,WAAW,CAAC,EAAE,WAAW,EAAE,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAsCD,wBAAgB,WAAW,CAAC,EAC1B,WAAW,EACX,YAAY,EACZ,KAAK,EACL,OAAO,EACP,IAAI,EACJ,aAAa,EACb,YAAqB,EACrB,WAAgB,EAChB,KAA8B,GAC/B,EAAE,gBAAgB,GAAG,KAAK,CAAC,YAAY,CA0CvC"}
@@ -0,0 +1,56 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Box, Text } from "ink";
3
+ import { oniHex, truncate } from "./theme.js";
4
+ import { DEFAULT_TERMINAL_WIDTH, normalizeTerminalDimension } from "./terminal-size.js";
5
+ function formatTokens(n) {
6
+ if (n >= 1_000_000)
7
+ return `${(n / 1_000_000).toFixed(1)}M`;
8
+ if (n >= 10_000)
9
+ return `${(n / 1_000).toFixed(1)}k`;
10
+ return String(n);
11
+ }
12
+ function getActivityColor(tone = "idle") {
13
+ if (tone === "busy")
14
+ return oniHex.accent2;
15
+ if (tone === "warning")
16
+ return oniHex.gold;
17
+ return oniHex.shellMuted;
18
+ }
19
+ function fitSummary(chunks, maxWidth) {
20
+ const result = [];
21
+ let used = 0;
22
+ for (const chunk of chunks) {
23
+ if (used >= maxWidth)
24
+ break;
25
+ if (used + chunk.text.length <= maxWidth) {
26
+ result.push(chunk);
27
+ used += chunk.text.length;
28
+ continue;
29
+ }
30
+ const remaining = Math.max(1, maxWidth - used);
31
+ result.push({ ...chunk, text: truncate(chunk.text, remaining) });
32
+ break;
33
+ }
34
+ return result;
35
+ }
36
+ export function FooterPanel({ inputTokens, outputTokens, turns, modelId, mode, activityLabel, activityTone = "idle", commandMenu = [], width = DEFAULT_TERMINAL_WIDTH, }) {
37
+ const frameWidth = normalizeTerminalDimension(width, DEFAULT_TERMINAL_WIDTH);
38
+ const shortModel = modelId.includes("/") ? modelId.split("/").pop() : modelId;
39
+ const modeColor = mode === "auto" ? oniHex.accent2 : oniHex.gold;
40
+ const summary = fitSummary([
41
+ { text: "session ", color: oniHex.shellMuted },
42
+ { text: activityLabel, color: getActivityColor(activityTone) },
43
+ { text: " mode ", color: oniHex.shellMuted },
44
+ { text: mode, color: modeColor },
45
+ { text: " turns ", color: oniHex.shellMuted },
46
+ { text: String(turns), color: oniHex.shellText },
47
+ { text: " in ", color: oniHex.shellMuted },
48
+ { text: formatTokens(inputTokens), color: oniHex.cyan },
49
+ { text: " out ", color: oniHex.shellMuted },
50
+ { text: formatTokens(outputTokens), color: oniHex.accent },
51
+ { text: " model ", color: oniHex.shellMuted },
52
+ { text: shortModel, color: oniHex.shellText },
53
+ ], Math.max(12, frameWidth));
54
+ return (_jsxs(Box, { width: frameWidth, flexDirection: "column", children: [_jsx(Text, { children: summary.map((chunk, index) => (_jsx(Text, { color: chunk.color, children: chunk.text }, `${index}:${chunk.text}`))) }), commandMenu.length > 0 ? (_jsx(Box, { flexDirection: "column", marginTop: 1, children: commandMenu.map((item) => (_jsxs(Text, { children: [_jsx(Text, { color: oniHex.shellMuted, children: " " }), _jsx(Text, { color: oniHex.accent, children: item.name }), _jsx(Text, { color: oniHex.shellMuted, children: " " }), _jsx(Text, { color: oniHex.shellText, children: truncate(item.description, Math.max(16, frameWidth - 18)) })] }, item.name))) })) : null] }));
55
+ }
56
+ //# sourceMappingURL=FooterPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FooterPanel.js","sourceRoot":"","sources":["../../../src/oni-code/ui/FooterPanel.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE9C,OAAO,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAcxF,SAAS,YAAY,CAAC,CAAS;IAC7B,IAAI,CAAC,IAAI,SAAS;QAAE,OAAO,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IAC5D,IAAI,CAAC,IAAI,MAAM;QAAE,OAAO,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IACrD,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;AACnB,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAyC,MAAM;IACvE,IAAI,IAAI,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC,OAAO,CAAC;IAC3C,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC,IAAI,CAAC;IAC3C,OAAO,MAAM,CAAC,UAAU,CAAC;AAC3B,CAAC;AAOD,SAAS,UAAU,CAAC,MAAsB,EAAE,QAAgB;IAC1D,MAAM,MAAM,GAAmB,EAAE,CAAC;IAClC,IAAI,IAAI,GAAG,CAAC,CAAC;IAEb,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,IAAI,IAAI,QAAQ;YAAE,MAAM;QAC5B,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,QAAQ,EAAE,CAAC;YACzC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnB,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;YAC1B,SAAS;QACX,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC,CAAC;QAC/C,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;QACjE,MAAM;IACR,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,EAC1B,WAAW,EACX,YAAY,EACZ,KAAK,EACL,OAAO,EACP,IAAI,EACJ,aAAa,EACb,YAAY,GAAG,MAAM,EACrB,WAAW,GAAG,EAAE,EAChB,KAAK,GAAG,sBAAsB,GACb;IACjB,MAAM,UAAU,GAAG,0BAA0B,CAAC,KAAK,EAAE,sBAAsB,CAAC,CAAC;IAC7E,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAG,CAAC,CAAC,CAAC,OAAO,CAAC;IAC/E,MAAM,SAAS,GAAG,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;IACjE,MAAM,OAAO,GAAG,UAAU,CAAC;QACzB,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE;QAC9C,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,gBAAgB,CAAC,YAAY,CAAC,EAAE;QAC9D,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE;QAC7C,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE;QAChC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE;QAC9C,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,SAAS,EAAE;QAChD,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE;QAC3C,EAAE,IAAI,EAAE,YAAY,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE;QACvD,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE;QAC5C,EAAE,IAAI,EAAE,YAAY,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE;QAC1D,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE;QAC9C,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC,SAAS,EAAE;KAC9C,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC;IAE7B,OAAO,CACL,MAAC,GAAG,IAAC,KAAK,EAAE,UAAU,EAAE,aAAa,EAAC,QAAQ,aAC5C,KAAC,IAAI,cACF,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAC7B,KAAC,IAAI,IAAgC,KAAK,EAAE,KAAK,CAAC,KAAK,YACpD,KAAK,CAAC,IAAI,IADF,GAAG,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE,CAE5B,CACR,CAAC,GACG,EACN,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CACxB,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,SAAS,EAAE,CAAC,YACrC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACzB,MAAC,IAAI,eACH,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,UAAU,mBAAW,EACzC,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,MAAM,YAAG,IAAI,CAAC,IAAI,GAAQ,EAC9C,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,UAAU,kBAAU,EACxC,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,SAAS,YAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,UAAU,GAAG,EAAE,CAAC,CAAC,GAAQ,KAJxF,IAAI,CAAC,IAAI,CAKb,CACR,CAAC,GACE,CACP,CAAC,CAAC,CAAC,IAAI,IACJ,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,21 @@
1
+ import React from "react";
2
+ export interface HeaderMetadata extends Record<string, unknown> {
3
+ modelId: string;
4
+ rootDir: string;
5
+ mode?: string;
6
+ toolNames?: string[];
7
+ skillNames?: string[];
8
+ mcpServers?: string[];
9
+ }
10
+ interface HeaderProps {
11
+ width?: number;
12
+ modelId: string;
13
+ mode?: string;
14
+ rootDir: string;
15
+ toolNames?: string[];
16
+ skillNames?: string[];
17
+ mcpServers?: string[];
18
+ }
19
+ export declare function Header({ width, modelId, mode, rootDir, toolNames, skillNames, mcpServers, }: HeaderProps): React.ReactElement;
20
+ export {};
21
+ //# sourceMappingURL=Header.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Header.d.ts","sourceRoot":"","sources":["../../../src/oni-code/ui/Header.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAgB1B,MAAM,WAAW,cAAe,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC7D,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,UAAU,WAAW;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AA2FD,wBAAgB,MAAM,CAAC,EACrB,KAA8B,EAC9B,OAAO,EACP,IAAI,EACJ,OAAO,EACP,SAAc,EACd,UAAe,EACf,UAAe,GAChB,EAAE,WAAW,GAAG,KAAK,CAAC,YAAY,CAmFlC"}