@polderlabs/bizar-omp 0.6.2 → 0.6.3

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 (371) hide show
  1. package/README.md +54 -0
  2. package/dist/cli/agents.d.ts +1 -0
  3. package/dist/cli/agents.d.ts.map +1 -1
  4. package/dist/cli/agents.js +11 -0
  5. package/dist/cli/agents.js.map +1 -1
  6. package/dist/cli/omb-commands.d.ts +30 -0
  7. package/dist/cli/omb-commands.d.ts.map +1 -0
  8. package/dist/cli/omb-commands.js +109 -0
  9. package/dist/cli/omb-commands.js.map +1 -0
  10. package/dist/cli/omb-daemon.d.ts +1 -0
  11. package/dist/cli/omb-daemon.d.ts.map +1 -1
  12. package/dist/cli/omb-daemon.js +15 -1
  13. package/dist/cli/omb-daemon.js.map +1 -1
  14. package/dist/cli/omb-dashboard.d.ts +1 -1
  15. package/dist/cli/omb-dashboard.d.ts.map +1 -1
  16. package/dist/cli/omb-dashboard.js +2 -1
  17. package/dist/cli/omb-dashboard.js.map +1 -1
  18. package/dist/cli/omb-runtime.d.ts +42 -0
  19. package/dist/cli/omb-runtime.d.ts.map +1 -0
  20. package/dist/cli/omb-runtime.js +507 -0
  21. package/dist/cli/omb-runtime.js.map +1 -0
  22. package/dist/cli/omb-tray.d.ts +3 -0
  23. package/dist/cli/omb-tray.d.ts.map +1 -0
  24. package/dist/cli/omb-tray.js +44 -0
  25. package/dist/cli/omb-tray.js.map +1 -0
  26. package/dist/cli/omb.js +8 -33
  27. package/dist/cli/omb.js.map +1 -1
  28. package/dist/omp/daemon.d.ts +1 -0
  29. package/dist/omp/daemon.d.ts.map +1 -1
  30. package/dist/omp/daemon.js +1 -1
  31. package/dist/omp/daemon.js.map +1 -1
  32. package/dist/omp/omb-sessions.d.ts +24 -0
  33. package/dist/omp/omb-sessions.d.ts.map +1 -1
  34. package/dist/omp/omb-sessions.js +30 -12
  35. package/dist/omp/omb-sessions.js.map +1 -1
  36. package/dist/omp/tmux.d.ts +18 -0
  37. package/dist/omp/tmux.d.ts.map +1 -1
  38. package/dist/omp/tmux.js +131 -4
  39. package/dist/omp/tmux.js.map +1 -1
  40. package/dist/omp/tray.d.ts +2 -0
  41. package/dist/omp/tray.d.ts.map +1 -1
  42. package/dist/omp/tray.js +30 -4
  43. package/dist/omp/tray.js.map +1 -1
  44. package/dist/src/cli/agents-ink.d.ts +25 -0
  45. package/dist/src/cli/agents-ink.js +517 -0
  46. package/dist/src/cli/agents-ink.js.map +1 -0
  47. package/dist/src/cli/agents.d.ts +14 -0
  48. package/dist/src/cli/agents.js +197 -0
  49. package/dist/src/cli/agents.js.map +1 -0
  50. package/dist/src/cli/directory-selector.d.ts +60 -0
  51. package/dist/src/cli/directory-selector.js +208 -0
  52. package/dist/src/cli/directory-selector.js.map +1 -0
  53. package/dist/src/cli/doctor.d.ts +41 -0
  54. package/dist/src/cli/doctor.js +31 -0
  55. package/dist/src/cli/doctor.js.map +1 -0
  56. package/dist/src/cli/install.d.ts +129 -0
  57. package/dist/src/cli/install.js +164 -0
  58. package/dist/src/cli/install.js.map +1 -0
  59. package/dist/src/cli/main.d.ts +2 -0
  60. package/dist/src/cli/main.js +117 -0
  61. package/dist/src/cli/main.js.map +1 -0
  62. package/dist/src/cli/migrate.d.ts +18 -0
  63. package/dist/src/cli/migrate.js +14 -0
  64. package/dist/src/cli/migrate.js.map +1 -0
  65. package/dist/src/cli/omb-commands.d.ts +29 -0
  66. package/dist/src/cli/omb-commands.js +107 -0
  67. package/dist/src/cli/omb-commands.js.map +1 -0
  68. package/dist/src/cli/omb-daemon.d.ts +2 -0
  69. package/dist/src/cli/omb-daemon.js +135 -0
  70. package/dist/src/cli/omb-daemon.js.map +1 -0
  71. package/dist/src/cli/omb-dashboard.d.ts +12 -0
  72. package/dist/src/cli/omb-dashboard.js +113 -0
  73. package/dist/src/cli/omb-dashboard.js.map +1 -0
  74. package/dist/src/cli/omb-invocation.d.ts +8 -0
  75. package/dist/src/cli/omb-invocation.js +41 -0
  76. package/dist/src/cli/omb-invocation.js.map +1 -0
  77. package/dist/src/cli/omb-runtime.d.ts +41 -0
  78. package/dist/src/cli/omb-runtime.js +371 -0
  79. package/dist/src/cli/omb-runtime.js.map +1 -0
  80. package/dist/src/cli/omb-tray.d.ts +2 -0
  81. package/dist/src/cli/omb-tray.js +38 -0
  82. package/dist/src/cli/omb-tray.js.map +1 -0
  83. package/dist/src/cli/omb.d.ts +2 -0
  84. package/dist/src/cli/omb.js +31 -0
  85. package/dist/src/cli/omb.js.map +1 -0
  86. package/dist/src/cli/omp-theme.d.ts +17 -0
  87. package/dist/src/cli/omp-theme.js +22 -0
  88. package/dist/src/cli/omp-theme.js.map +1 -0
  89. package/dist/src/cli/process.d.ts +6 -0
  90. package/dist/src/cli/process.js +54 -0
  91. package/dist/src/cli/process.js.map +1 -0
  92. package/dist/src/cli/run.d.ts +2 -0
  93. package/dist/src/cli/run.js +5 -0
  94. package/dist/src/cli/run.js.map +1 -0
  95. package/dist/src/cli/setup-ui.d.ts +37 -0
  96. package/dist/src/cli/setup-ui.js +90 -0
  97. package/dist/src/cli/setup-ui.js.map +1 -0
  98. package/dist/src/core/acceptance.d.ts +32 -0
  99. package/dist/src/core/acceptance.js +87 -0
  100. package/dist/src/core/acceptance.js.map +1 -0
  101. package/dist/src/core/errors.d.ts +20 -0
  102. package/dist/src/core/errors.js +30 -0
  103. package/dist/src/core/errors.js.map +1 -0
  104. package/dist/src/core/evidence.d.ts +10 -0
  105. package/dist/src/core/evidence.js +35 -0
  106. package/dist/src/core/evidence.js.map +1 -0
  107. package/dist/src/core/policies.d.ts +10 -0
  108. package/dist/src/core/policies.js +60 -0
  109. package/dist/src/core/policies.js.map +1 -0
  110. package/dist/src/core/recovery.d.ts +6 -0
  111. package/dist/src/core/recovery.js +56 -0
  112. package/dist/src/core/recovery.js.map +1 -0
  113. package/dist/src/core/transitions.d.ts +13 -0
  114. package/dist/src/core/transitions.js +59 -0
  115. package/dist/src/core/transitions.js.map +1 -0
  116. package/dist/src/core/types.d.ts +256 -0
  117. package/dist/src/core/types.js +2 -0
  118. package/dist/src/core/types.js.map +1 -0
  119. package/dist/src/extension.d.ts +60 -0
  120. package/dist/src/extension.js +538 -0
  121. package/dist/src/extension.js.map +1 -0
  122. package/dist/src/index.d.ts +29 -0
  123. package/dist/src/index.js +30 -0
  124. package/dist/src/index.js.map +1 -0
  125. package/dist/src/omp/autonomous-settings.d.ts +14 -0
  126. package/dist/src/omp/autonomous-settings.js +65 -0
  127. package/dist/src/omp/autonomous-settings.js.map +1 -0
  128. package/dist/src/omp/capabilities.d.ts +23 -0
  129. package/dist/src/omp/capabilities.js +6 -0
  130. package/dist/src/omp/capabilities.js.map +1 -0
  131. package/dist/src/omp/compatibility.d.ts +30 -0
  132. package/dist/src/omp/compatibility.js +34 -0
  133. package/dist/src/omp/compatibility.js.map +1 -0
  134. package/dist/src/omp/completion.d.ts +7 -0
  135. package/dist/src/omp/completion.js +10 -0
  136. package/dist/src/omp/completion.js.map +1 -0
  137. package/dist/src/omp/config.d.ts +10 -0
  138. package/dist/src/omp/config.js +14 -0
  139. package/dist/src/omp/config.js.map +1 -0
  140. package/dist/src/omp/context.d.ts +15 -0
  141. package/dist/src/omp/context.js +3 -0
  142. package/dist/src/omp/context.js.map +1 -0
  143. package/dist/src/omp/daemon-service.d.ts +25 -0
  144. package/dist/src/omp/daemon-service.js +483 -0
  145. package/dist/src/omp/daemon-service.js.map +1 -0
  146. package/dist/src/omp/daemon.d.ts +48 -0
  147. package/dist/src/omp/daemon.js +194 -0
  148. package/dist/src/omp/daemon.js.map +1 -0
  149. package/dist/src/omp/dashboard-html.d.ts +3 -0
  150. package/dist/src/omp/dashboard-html.js +419 -0
  151. package/dist/src/omp/dashboard-html.js.map +1 -0
  152. package/dist/src/omp/dispatch-admission.d.ts +2 -0
  153. package/dist/src/omp/dispatch-admission.js +12 -0
  154. package/dist/src/omp/dispatch-admission.js.map +1 -0
  155. package/dist/src/omp/integration-recovery.d.ts +10 -0
  156. package/dist/src/omp/integration-recovery.js +18 -0
  157. package/dist/src/omp/integration-recovery.js.map +1 -0
  158. package/dist/src/omp/isolation-policy.d.ts +14 -0
  159. package/dist/src/omp/isolation-policy.js +9 -0
  160. package/dist/src/omp/isolation-policy.js.map +1 -0
  161. package/dist/src/omp/lifecycle.d.ts +14 -0
  162. package/dist/src/omp/lifecycle.js +14 -0
  163. package/dist/src/omp/lifecycle.js.map +1 -0
  164. package/dist/src/omp/memory.d.ts +16 -0
  165. package/dist/src/omp/memory.js +4 -0
  166. package/dist/src/omp/memory.js.map +1 -0
  167. package/dist/src/omp/model-role-assignment.d.ts +296 -0
  168. package/dist/src/omp/model-role-assignment.js +559 -0
  169. package/dist/src/omp/model-role-assignment.js.map +1 -0
  170. package/dist/src/omp/model-roles.d.ts +19 -0
  171. package/dist/src/omp/model-roles.js +6 -0
  172. package/dist/src/omp/model-roles.js.map +1 -0
  173. package/dist/src/omp/omb-sessions.d.ts +122 -0
  174. package/dist/src/omp/omb-sessions.js +512 -0
  175. package/dist/src/omp/omb-sessions.js.map +1 -0
  176. package/dist/src/omp/omb-settings.d.ts +35 -0
  177. package/dist/src/omp/omb-settings.js +104 -0
  178. package/dist/src/omp/omb-settings.js.map +1 -0
  179. package/dist/src/omp/result-reconciliation.d.ts +2 -0
  180. package/dist/src/omp/result-reconciliation.js +9 -0
  181. package/dist/src/omp/result-reconciliation.js.map +1 -0
  182. package/dist/src/omp/rpc.d.ts +67 -0
  183. package/dist/src/omp/rpc.js +4 -0
  184. package/dist/src/omp/rpc.js.map +1 -0
  185. package/dist/src/omp/run-log.d.ts +25 -0
  186. package/dist/src/omp/run-log.js +24 -0
  187. package/dist/src/omp/run-log.js.map +1 -0
  188. package/dist/src/omp/session-activity.d.ts +70 -0
  189. package/dist/src/omp/session-activity.js +361 -0
  190. package/dist/src/omp/session-activity.js.map +1 -0
  191. package/dist/src/omp/session-controls.d.ts +17 -0
  192. package/dist/src/omp/session-controls.js +14 -0
  193. package/dist/src/omp/session-controls.js.map +1 -0
  194. package/dist/src/omp/tmux.d.ts +89 -0
  195. package/dist/src/omp/tmux.js +445 -0
  196. package/dist/src/omp/tmux.js.map +1 -0
  197. package/dist/src/omp/tray-icons.d.ts +5 -0
  198. package/dist/src/omp/tray-icons.js +78 -0
  199. package/dist/src/omp/tray-icons.js.map +1 -0
  200. package/dist/src/omp/tray.d.ts +23 -0
  201. package/dist/src/omp/tray.js +167 -0
  202. package/dist/src/omp/tray.js.map +1 -0
  203. package/dist/src/services/budget.d.ts +19 -0
  204. package/dist/src/services/budget.js +10 -0
  205. package/dist/src/services/budget.js.map +1 -0
  206. package/dist/src/services/candidate-local.d.ts +13 -0
  207. package/dist/src/services/candidate-local.js +15 -0
  208. package/dist/src/services/candidate-local.js.map +1 -0
  209. package/dist/src/services/candidates.d.ts +20 -0
  210. package/dist/src/services/candidates.js +100 -0
  211. package/dist/src/services/candidates.js.map +1 -0
  212. package/dist/src/services/evidence-bundle.d.ts +17 -0
  213. package/dist/src/services/evidence-bundle.js +21 -0
  214. package/dist/src/services/evidence-bundle.js.map +1 -0
  215. package/dist/src/services/inspector.d.ts +11 -0
  216. package/dist/src/services/inspector.js +6 -0
  217. package/dist/src/services/inspector.js.map +1 -0
  218. package/dist/src/services/lessons.d.ts +13 -0
  219. package/dist/src/services/lessons.js +11 -0
  220. package/dist/src/services/lessons.js.map +1 -0
  221. package/dist/src/services/projection.d.ts +21 -0
  222. package/dist/src/services/projection.js +10 -0
  223. package/dist/src/services/projection.js.map +1 -0
  224. package/dist/src/services/readiness.d.ts +4 -0
  225. package/dist/src/services/readiness.js +35 -0
  226. package/dist/src/services/readiness.js.map +1 -0
  227. package/dist/src/services/recipes.d.ts +15 -0
  228. package/dist/src/services/recipes.js +42 -0
  229. package/dist/src/services/recipes.js.map +1 -0
  230. package/dist/src/services/recovery.d.ts +19 -0
  231. package/dist/src/services/recovery.js +9 -0
  232. package/dist/src/services/recovery.js.map +1 -0
  233. package/dist/src/services/review.d.ts +15 -0
  234. package/dist/src/services/review.js +9 -0
  235. package/dist/src/services/review.js.map +1 -0
  236. package/dist/src/storage/journal-recovery.d.ts +10 -0
  237. package/dist/src/storage/journal-recovery.js +33 -0
  238. package/dist/src/storage/journal-recovery.js.map +1 -0
  239. package/dist/src/storage/journal.d.ts +12 -0
  240. package/dist/src/storage/journal.js +82 -0
  241. package/dist/src/storage/journal.js.map +1 -0
  242. package/dist/src/storage/migrations.d.ts +22 -0
  243. package/dist/src/storage/migrations.js +107 -0
  244. package/dist/src/storage/migrations.js.map +1 -0
  245. package/dist/src/storage/repository-identity.d.ts +11 -0
  246. package/dist/src/storage/repository-identity.js +67 -0
  247. package/dist/src/storage/repository-identity.js.map +1 -0
  248. package/dist/src/storage/resources.d.ts +66 -0
  249. package/dist/src/storage/resources.js +148 -0
  250. package/dist/src/storage/resources.js.map +1 -0
  251. package/dist/src/tools/evidence.d.ts +8 -0
  252. package/dist/src/tools/evidence.js +9 -0
  253. package/dist/src/tools/evidence.js.map +1 -0
  254. package/dist/src/tools/integrate.d.ts +13 -0
  255. package/dist/src/tools/integrate.js +90 -0
  256. package/dist/src/tools/integrate.js.map +1 -0
  257. package/dist/src/tools/result.d.ts +9 -0
  258. package/dist/src/tools/result.js +2 -0
  259. package/dist/src/tools/result.js.map +1 -0
  260. package/dist/src/tools/verify.d.ts +13 -0
  261. package/dist/src/tools/verify.js +61 -0
  262. package/dist/src/tools/verify.js.map +1 -0
  263. package/dist/src/tools/workflow.d.ts +8 -0
  264. package/dist/src/tools/workflow.js +65 -0
  265. package/dist/src/tools/workflow.js.map +1 -0
  266. package/dist/src/workflows/direct.d.ts +9 -0
  267. package/dist/src/workflows/direct.js +2 -0
  268. package/dist/src/workflows/direct.js.map +1 -0
  269. package/dist/src/workflows/implement.d.ts +2 -0
  270. package/dist/src/workflows/implement.js +4 -0
  271. package/dist/src/workflows/implement.js.map +1 -0
  272. package/dist/src/workflows/plan.d.ts +17 -0
  273. package/dist/src/workflows/plan.js +6 -0
  274. package/dist/src/workflows/plan.js.map +1 -0
  275. package/dist/src/workflows/research.d.ts +15 -0
  276. package/dist/src/workflows/research.js +2 -0
  277. package/dist/src/workflows/research.js.map +1 -0
  278. package/dist/src/workflows/review.d.ts +15 -0
  279. package/dist/src/workflows/review.js +2 -0
  280. package/dist/src/workflows/review.js.map +1 -0
  281. package/dist/src/workflows/verify.d.ts +9 -0
  282. package/dist/src/workflows/verify.js +2 -0
  283. package/dist/src/workflows/verify.js.map +1 -0
  284. package/dist/tests/acceptance.test.d.ts +1 -0
  285. package/dist/tests/acceptance.test.js +27 -0
  286. package/dist/tests/acceptance.test.js.map +1 -0
  287. package/dist/tests/agents.test.d.ts +1 -0
  288. package/dist/tests/agents.test.js +369 -0
  289. package/dist/tests/agents.test.js.map +1 -0
  290. package/dist/tests/candidates.test.d.ts +1 -0
  291. package/dist/tests/candidates.test.js +60 -0
  292. package/dist/tests/candidates.test.js.map +1 -0
  293. package/dist/tests/core.test.d.ts +1 -0
  294. package/dist/tests/core.test.js +39 -0
  295. package/dist/tests/core.test.js.map +1 -0
  296. package/dist/tests/daemon.test.d.ts +1 -0
  297. package/dist/tests/daemon.test.js +157 -0
  298. package/dist/tests/daemon.test.js.map +1 -0
  299. package/dist/tests/dashboard.test.d.ts +1 -0
  300. package/dist/tests/dashboard.test.js +414 -0
  301. package/dist/tests/dashboard.test.js.map +1 -0
  302. package/dist/tests/directory-selector.test.d.ts +1 -0
  303. package/dist/tests/directory-selector.test.js +93 -0
  304. package/dist/tests/directory-selector.test.js.map +1 -0
  305. package/dist/tests/doctor.test.d.ts +1 -0
  306. package/dist/tests/doctor.test.js +32 -0
  307. package/dist/tests/doctor.test.js.map +1 -0
  308. package/dist/tests/install.test.d.ts +1 -0
  309. package/dist/tests/install.test.js +101 -0
  310. package/dist/tests/install.test.js.map +1 -0
  311. package/dist/tests/integration.test.d.ts +1 -0
  312. package/dist/tests/integration.test.js +49 -0
  313. package/dist/tests/integration.test.js.map +1 -0
  314. package/dist/tests/journal.test.d.ts +1 -0
  315. package/dist/tests/journal.test.js +50 -0
  316. package/dist/tests/journal.test.js.map +1 -0
  317. package/dist/tests/model-role-assignment.test.d.ts +1 -0
  318. package/dist/tests/model-role-assignment.test.js +294 -0
  319. package/dist/tests/model-role-assignment.test.js.map +1 -0
  320. package/dist/tests/omb-runtime.test.d.ts +1 -0
  321. package/dist/tests/omb-runtime.test.js +554 -0
  322. package/dist/tests/omb-runtime.test.js.map +1 -0
  323. package/dist/tests/omb-session-actions.test.d.ts +1 -0
  324. package/dist/tests/omb-session-actions.test.js +191 -0
  325. package/dist/tests/omb-session-actions.test.js.map +1 -0
  326. package/dist/tests/omb-settings.test.d.ts +1 -0
  327. package/dist/tests/omb-settings.test.js +82 -0
  328. package/dist/tests/omb-settings.test.js.map +1 -0
  329. package/dist/tests/omp-contract.test.d.ts +1 -0
  330. package/dist/tests/omp-contract.test.js +362 -0
  331. package/dist/tests/omp-contract.test.js.map +1 -0
  332. package/dist/tests/process.test.d.ts +1 -0
  333. package/dist/tests/process.test.js +12 -0
  334. package/dist/tests/process.test.js.map +1 -0
  335. package/dist/tests/psmux-windows.test.d.ts +1 -0
  336. package/dist/tests/psmux-windows.test.js +105 -0
  337. package/dist/tests/psmux-windows.test.js.map +1 -0
  338. package/dist/tests/recovery.test.d.ts +1 -0
  339. package/dist/tests/recovery.test.js +9 -0
  340. package/dist/tests/recovery.test.js.map +1 -0
  341. package/dist/tests/resources.test.d.ts +1 -0
  342. package/dist/tests/resources.test.js +55 -0
  343. package/dist/tests/resources.test.js.map +1 -0
  344. package/dist/tests/session-activity.test.d.ts +1 -0
  345. package/dist/tests/session-activity.test.js +159 -0
  346. package/dist/tests/session-activity.test.js.map +1 -0
  347. package/dist/tests/setup-ui.test.d.ts +1 -0
  348. package/dist/tests/setup-ui.test.js +37 -0
  349. package/dist/tests/setup-ui.test.js.map +1 -0
  350. package/dist/tests/storage-integrity.test.d.ts +1 -0
  351. package/dist/tests/storage-integrity.test.js +88 -0
  352. package/dist/tests/storage-integrity.test.js.map +1 -0
  353. package/dist/tests/tmux.test.d.ts +1 -0
  354. package/dist/tests/tmux.test.js +239 -0
  355. package/dist/tests/tmux.test.js.map +1 -0
  356. package/dist/tests/tray.test.d.ts +1 -0
  357. package/dist/tests/tray.test.js +37 -0
  358. package/dist/tests/tray.test.js.map +1 -0
  359. package/dist/tests/verification.test.d.ts +1 -0
  360. package/dist/tests/verification.test.js +61 -0
  361. package/dist/tests/verification.test.js.map +1 -0
  362. package/dist/tests/workflow-features.test.d.ts +1 -0
  363. package/dist/tests/workflow-features.test.js +82 -0
  364. package/dist/tests/workflow-features.test.js.map +1 -0
  365. package/dist/tests/workflow-safety.test.d.ts +1 -0
  366. package/dist/tests/workflow-safety.test.js +57 -0
  367. package/dist/tests/workflow-safety.test.js.map +1 -0
  368. package/docs/compatibility/baseline.json +1 -1
  369. package/docs/releases/0.6.2.md +2 -2
  370. package/docs/releases/0.6.3.md +27 -0
  371. package/package.json +1 -1
@@ -0,0 +1,129 @@
1
+ export declare const packageRoot: string;
2
+ export interface InstallOptions {
3
+ omp?: string;
4
+ profile?: string;
5
+ dryRun?: boolean;
6
+ root?: string;
7
+ pluginSpec?: string;
8
+ env?: NodeJS.ProcessEnv;
9
+ }
10
+ type Host = (args: string[]) => string;
11
+ export declare function installWithHost(host: Host, root: string, dryRun?: boolean, pluginSpec?: string): {
12
+ toolPolicies: {};
13
+ note: string;
14
+ ok: boolean;
15
+ dryRun: boolean;
16
+ config: string;
17
+ packageRoot: string;
18
+ pluginSpec?: string | undefined;
19
+ settings: {
20
+ key: string;
21
+ before: unknown;
22
+ after: unknown;
23
+ }[];
24
+ } | {
25
+ toolPolicies: {};
26
+ note: string;
27
+ ok: boolean;
28
+ dryRun: boolean;
29
+ config: string;
30
+ pluginSpec?: string | undefined;
31
+ settings: {
32
+ key: string;
33
+ before: unknown;
34
+ after: unknown;
35
+ }[];
36
+ packageRoot: string;
37
+ version: string;
38
+ receipt: string;
39
+ restartRequired: boolean;
40
+ };
41
+ export declare function uninstallWithHost(host: Host, dryRun?: boolean): {
42
+ ok: boolean;
43
+ installed: boolean;
44
+ config: string;
45
+ dryRun?: undefined;
46
+ settings?: undefined;
47
+ preserved?: undefined;
48
+ receipt?: undefined;
49
+ } | {
50
+ ok: boolean;
51
+ dryRun: true;
52
+ config: string;
53
+ settings: string[];
54
+ installed?: undefined;
55
+ preserved?: undefined;
56
+ receipt?: undefined;
57
+ } | {
58
+ dryRun?: undefined;
59
+ settings?: undefined;
60
+ ok: boolean;
61
+ installed: boolean;
62
+ config: string;
63
+ preserved: string[];
64
+ receipt: string;
65
+ };
66
+ export declare function installationDoctor(host: Host): {
67
+ toolPolicies: {};
68
+ note: string;
69
+ ok: boolean;
70
+ config: string;
71
+ status: string;
72
+ plugin: {
73
+ name: any;
74
+ version: any;
75
+ enabled: any;
76
+ } | null;
77
+ drift: string[];
78
+ };
79
+ export declare function manageInstallation(action: "install" | "uninstall" | "install-doctor", options?: InstallOptions): {
80
+ toolPolicies: {};
81
+ note: string;
82
+ ok: boolean;
83
+ dryRun: boolean;
84
+ config: string;
85
+ packageRoot: string;
86
+ pluginSpec?: string | undefined;
87
+ settings: {
88
+ key: string;
89
+ before: unknown;
90
+ after: unknown;
91
+ }[];
92
+ } | {
93
+ ok: boolean;
94
+ installed: boolean;
95
+ config: string;
96
+ dryRun?: undefined;
97
+ settings?: undefined;
98
+ preserved?: undefined;
99
+ receipt?: undefined;
100
+ } | {
101
+ ok: boolean;
102
+ dryRun: true;
103
+ config: string;
104
+ settings: string[];
105
+ installed?: undefined;
106
+ preserved?: undefined;
107
+ receipt?: undefined;
108
+ } | {
109
+ dryRun?: undefined;
110
+ settings?: undefined;
111
+ ok: boolean;
112
+ installed: boolean;
113
+ config: string;
114
+ preserved: string[];
115
+ receipt: string;
116
+ } | {
117
+ toolPolicies: {};
118
+ note: string;
119
+ ok: boolean;
120
+ config: string;
121
+ status: string;
122
+ plugin: {
123
+ name: any;
124
+ version: any;
125
+ enabled: any;
126
+ } | null;
127
+ drift: string[];
128
+ };
129
+ export {};
@@ -0,0 +1,164 @@
1
+ import { execFileSync } from "node:child_process";
2
+ import { existsSync, mkdirSync, mkdtempSync, readFileSync, realpathSync, renameSync, rmSync, writeFileSync, openSync, closeSync, unlinkSync } from "node:fs";
3
+ import { tmpdir } from "node:os";
4
+ import { dirname, join, resolve } from "node:path";
5
+ import { fileURLToPath } from "node:url";
6
+ import { autonomousSettings, missingAutonomousSettings } from "../omp/autonomous-settings.js";
7
+ import { isQualifiedOmpVersion, QUALIFIED_OMP_VERSIONS } from "../omp/compatibility.js";
8
+ const PACKAGE = "@polderlabs/bizar-omp";
9
+ export const packageRoot = resolve(dirname(fileURLToPath(import.meta.url)), "../..");
10
+ const equal = (a, b) => JSON.stringify(a) === JSON.stringify(b);
11
+ const samePath = (a, b) => existsSync(a) && existsSync(b) && realpathSync(a) === realpathSync(b);
12
+ function values(raw) {
13
+ return Object.fromEntries(Object.entries(JSON.parse(raw)).filter(([, entry]) => !entry.redacted).map(([key, entry]) => [key, entry.value]));
14
+ }
15
+ function saveReceipt(path, receipt) {
16
+ const temporary = `${path}.${process.pid}.tmp`;
17
+ writeFileSync(temporary, `${JSON.stringify(receipt, null, 2)}\n`, { mode: 0o600 });
18
+ renameSync(temporary, path);
19
+ }
20
+ function readReceipt(path) {
21
+ if (!existsSync(path))
22
+ return undefined;
23
+ const receipt = JSON.parse(readFileSync(path, "utf8"));
24
+ if (receipt.schema !== 1 || !receipt.settings)
25
+ throw new Error("Unsupported install receipt; refusing to overwrite it");
26
+ return receipt;
27
+ }
28
+ function set(host, key, value) {
29
+ host(value === undefined ? ["config", "reset", key, "--json"] : ["config", "set", key, typeof value === "string" ? value : JSON.stringify(value), "--json"]);
30
+ }
31
+ function restrictions(current) {
32
+ return {
33
+ toolPolicies: current["tools.approval"] ?? {},
34
+ note: "Explicit tool/bash policies and project overrides are preserved and may still prompt or deny. Model credentials remain managed by OMP; use /login and /model if needed.",
35
+ };
36
+ }
37
+ export function installWithHost(host, root, dryRun = false, pluginSpec) {
38
+ const version = host(["--version"]).trim();
39
+ if (!isQualifiedOmpVersion(version))
40
+ throw new Error(`This build is tested with OMP ${QUALIFIED_OMP_VERSIONS.join(" or ")}; found ${version}`);
41
+ const config = resolve(host(["config", "path"]).trim());
42
+ const current = values(host(["config", "list", "--json"]));
43
+ const desired = autonomousSettings(current);
44
+ const unsupported = Object.keys(desired).filter(key => !Object.hasOwn(current, key));
45
+ if (unsupported.length)
46
+ throw new Error(`OMP does not expose required settings: ${unsupported.join(", ")}`);
47
+ if (!existsSync(join(root, "dist", "extension.js")))
48
+ throw new Error("Built extension missing; run npm ci && npm run build first");
49
+ const receiptPath = join(config, "bizar-install.json");
50
+ const previous = readReceipt(receiptPath);
51
+ if (previous?.status === "pending")
52
+ throw new Error("An install was interrupted. Run bizar-omp uninstall to restore its recorded changes before retrying.");
53
+ const changes = Object.entries(missingAutonomousSettings(current));
54
+ const report = { ok: true, dryRun, config, packageRoot: root, ...(pluginSpec ? { pluginSpec } : {}), settings: changes.map(([key, value]) => ({ key, before: current[key], after: value })), ...restrictions(current) };
55
+ if (dryRun)
56
+ return report;
57
+ mkdirSync(config, { recursive: true, mode: 0o700 });
58
+ const lockPath = join(config, ".bizar-install.lock");
59
+ const lock = openSync(lockPath, "wx", 0o600);
60
+ const receipt = previous?.status === "installed" ? structuredClone(previous) : { schema: 1, packageRoot: root, version: "", status: "pending", settings: {} };
61
+ let managedPackageRoot = root;
62
+ receipt.version = JSON.parse(readFileSync(join(root, "package.json"), "utf8")).version;
63
+ receipt.status = "pending";
64
+ try {
65
+ if (pluginSpec) {
66
+ const installed = JSON.parse(host(["plugin", "install", pluginSpec, "--json"]));
67
+ if (installed.name !== PACKAGE || installed.enabled !== true)
68
+ throw new Error("OMP did not install and enable the requested Bizar plugin");
69
+ const listed = JSON.parse(host(["plugin", "list", "--json"]));
70
+ const plugin = listed.npm?.find((entry) => entry.name === PACKAGE && entry.enabled === true);
71
+ if (!plugin)
72
+ throw new Error("OMP did not expose the enabled Bizar plugin after installation");
73
+ if (typeof plugin.path === "string" && plugin.path)
74
+ managedPackageRoot = plugin.path;
75
+ else if (typeof installed.path === "string" && installed.path)
76
+ managedPackageRoot = installed.path;
77
+ }
78
+ receipt.packageRoot = managedPackageRoot;
79
+ // Write-ahead receipt makes interruption recoverable without replacing unrelated configuration.
80
+ for (const [key, applied] of changes)
81
+ receipt.settings[key] = { before: Object.hasOwn(receipt.settings, key) ? receipt.settings[key].before : current[key], applied };
82
+ saveReceipt(receiptPath, receipt);
83
+ for (const [key, applied] of changes)
84
+ set(host, key, applied);
85
+ if (!pluginSpec)
86
+ host(["plugin", "link", root, "--json"]);
87
+ const installed = JSON.parse(host(["plugin", "list", "--json"]));
88
+ if (!installed.npm?.some((plugin) => plugin.name === PACKAGE && plugin.enabled))
89
+ throw new Error("OMP did not discover the enabled Bizar plugin");
90
+ const effective = values(host(["config", "list", "--json"]));
91
+ if (changes.some(([key, value]) => !equal(effective[key], value)))
92
+ throw new Error("OMP settings read-back did not match the additive setup transaction");
93
+ receipt.status = "installed";
94
+ saveReceipt(receiptPath, receipt);
95
+ return { ...report, packageRoot: receipt.packageRoot, version: receipt.version, receipt: receiptPath, restartRequired: true };
96
+ }
97
+ catch (error) {
98
+ throw new Error(`Install incomplete: ${error instanceof Error ? error.message : error}. Recovery is recorded at ${receiptPath}; run bizar-omp uninstall before retrying.`, { cause: error });
99
+ }
100
+ finally {
101
+ closeSync(lock);
102
+ unlinkSync(lockPath);
103
+ }
104
+ }
105
+ export function uninstallWithHost(host, dryRun = false) {
106
+ const config = resolve(host(["config", "path"]).trim());
107
+ const path = join(config, "bizar-install.json");
108
+ const receipt = readReceipt(path);
109
+ if (!receipt || receipt.status === "restored")
110
+ return { ok: true, installed: false, config };
111
+ const current = values(host(["config", "list", "--json"]));
112
+ const preserved = [];
113
+ if (dryRun)
114
+ return { ok: true, dryRun, config, settings: Object.keys(receipt.settings) };
115
+ const lockPath = join(config, ".bizar-install.lock");
116
+ const lock = openSync(lockPath, "wx", 0o600);
117
+ try {
118
+ const installed = JSON.parse(host(["plugin", "list", "--json"]));
119
+ const plugin = installed.npm?.find((entry) => entry.name === PACKAGE);
120
+ if (plugin && !samePath(plugin.path, receipt.packageRoot))
121
+ throw new Error("Bizar plugin now points to a different install; refusing to uninstall it");
122
+ if (plugin)
123
+ host(["plugin", "uninstall", PACKAGE, "--json"]);
124
+ for (const [key, change] of Object.entries(receipt.settings)) {
125
+ if (equal(current[key], change.applied))
126
+ set(host, key, change.before);
127
+ else
128
+ preserved.push(key);
129
+ }
130
+ receipt.status = "restored";
131
+ saveReceipt(path, receipt);
132
+ return { ok: true, installed: false, config, preserved, receipt: path };
133
+ }
134
+ finally {
135
+ closeSync(lock);
136
+ unlinkSync(lockPath);
137
+ }
138
+ }
139
+ export function installationDoctor(host) {
140
+ const config = resolve(host(["config", "path"]).trim());
141
+ const current = values(host(["config", "list", "--json"]));
142
+ const receipt = readReceipt(join(config, "bizar-install.json"));
143
+ const drift = Object.keys(missingAutonomousSettings(current));
144
+ const installed = JSON.parse(host(["plugin", "list", "--json"]));
145
+ const plugin = installed.npm?.find((entry) => entry.name === PACKAGE);
146
+ const ok = receipt?.status === "installed" && plugin?.enabled === true && samePath(plugin.path, receipt.packageRoot) && !drift.length;
147
+ return { ok, config, status: receipt?.status ?? "not-installed", plugin: plugin ? { name: plugin.name, version: plugin.version, enabled: plugin.enabled } : null, drift, ...restrictions(current) };
148
+ }
149
+ export function manageInstallation(action, options = {}) {
150
+ const scratch = mkdtempSync(join(tmpdir(), "bizar-install-"));
151
+ const env = { ...process.env, ...options.env, ...(options.profile === undefined ? {} : { OMP_PROFILE: options.profile }) };
152
+ const host = args => execFileSync(options.omp ?? "omp", args, { cwd: scratch, env, encoding: "utf8", timeout: 60000, maxBuffer: 4 * 1024 * 1024, stdio: ["ignore", "pipe", "pipe"] });
153
+ try {
154
+ if (action === "install")
155
+ return installWithHost(host, options.root ?? packageRoot, options.dryRun, options.pluginSpec);
156
+ if (action === "uninstall")
157
+ return uninstallWithHost(host, options.dryRun);
158
+ return installationDoctor(host);
159
+ }
160
+ finally {
161
+ rmSync(scratch, { recursive: true, force: true });
162
+ }
163
+ }
164
+ //# sourceMappingURL=install.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../../../src/cli/install.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export {};
@@ -0,0 +1,117 @@
1
+ #!/usr/bin/env node
2
+ import { readFileSync } from "node:fs";
3
+ import { makePlan } from "../workflows/plan.js";
4
+ import { doctor } from "./doctor.js";
5
+ import { startRun } from "./run.js";
6
+ import { migrationReport } from "./migrate.js";
7
+ import { repositoryIdentity, statePath } from "../storage/repository-identity.js";
8
+ import { Journal } from "../storage/journal.js";
9
+ import { runVerification } from "../tools/verify.js";
10
+ import { bindSession } from "../omp/lifecycle.js";
11
+ import { manageInstallation, packageRoot } from "./install.js";
12
+ import { runNpm } from "./process.js";
13
+ import { SetupUi, setupUiEnabled } from "./setup-ui.js";
14
+ const args = process.argv.slice(2);
15
+ const command = args.shift() ?? "doctor";
16
+ const cwd = process.cwd();
17
+ const objective = (text) => ({ objective: text, nonGoals: [], constraints: [], acceptanceCriteria: ["The stated objective is satisfied"], verificationPlan: ["Run the repository proving checks"], stopConditions: ["A required check fails or becomes stale"], userRestrictions: [] });
18
+ let setupUiForError;
19
+ async function main() {
20
+ let output;
21
+ let setupUi;
22
+ const humanSetup = command === "setup" && !args.includes("--json");
23
+ if (["install", "uninstall", "install-doctor", "setup"].includes(command)) {
24
+ const options = {};
25
+ while (args.length) {
26
+ const flag = args.shift();
27
+ if (flag === "--dry-run")
28
+ options.dryRun = true;
29
+ else if (flag === "--json")
30
+ options.json = true;
31
+ else if (flag === "--profile" || flag === "--omp") {
32
+ const value = args.shift();
33
+ if (!value || value.startsWith("--"))
34
+ throw new Error(`${flag} requires a value`);
35
+ options[flag === "--profile" ? "profile" : "omp"] = value;
36
+ }
37
+ else
38
+ throw new Error(`Unknown option: ${flag}`);
39
+ }
40
+ if (command === "setup") {
41
+ const version = JSON.parse(readFileSync(`${packageRoot}/package.json`, "utf8")).version;
42
+ const packageSpec = `@polderlabs/bizar-omp@${version}`;
43
+ setupUi = humanSetup ? new SetupUi({ color: setupUiEnabled() }) : undefined;
44
+ setupUiForError = setupUi;
45
+ setupUi?.header({ version, packageSpec, profile: options.profile, omp: options.omp, dryRun: options.dryRun });
46
+ setupUi?.phase(1, "CLI commands", options.dryRun ? "checking the package plan" : "installing omb and bizar-omp globally");
47
+ if (!options.dryRun)
48
+ runNpm(["install", "--global", packageSpec], { stdio: "ignore" });
49
+ setupUi?.success(options.dryRun ? "Global command install skipped" : "CLI commands installed", options.dryRun ? "dry run" : "omb and bizar-omp are on PATH");
50
+ setupUi?.phase(2, "OMP plugin", options.dryRun ? "previewing plugin registration" : "registering and enabling the extension");
51
+ setupUi?.phase(3, "Autonomous preset", options.dryRun ? "previewing safe setting changes" : "applying Bizar defaults and preserving policies");
52
+ output = manageInstallation("install", { ...options, pluginSpec: packageSpec });
53
+ const report = output;
54
+ if (options.dryRun) {
55
+ setupUi?.success("Installation plan generated", `${report.settings?.length ?? 0} setting changes detected`);
56
+ }
57
+ else {
58
+ setupUi?.success("OMP plugin registered", "extension and native assets enabled");
59
+ setupUi?.success("Autonomous preset applied", `${report.settings?.length ?? 0} setting changes applied`);
60
+ setupUi?.phase(4, "Verification", "checking plugin discovery and recovery state");
61
+ setupUi?.success("Installation verified", report.receipt ? "recovery receipt written" : "configuration read back");
62
+ }
63
+ setupUi?.finish(report, { version, packageSpec, profile: options.profile, omp: options.omp, dryRun: options.dryRun });
64
+ }
65
+ else {
66
+ output = manageInstallation(command, options);
67
+ }
68
+ if (!output.ok)
69
+ process.exitCode = 1;
70
+ }
71
+ else if (command === "doctor") {
72
+ output = doctor(cwd);
73
+ if (!output.ok)
74
+ process.exitCode = 1;
75
+ }
76
+ else if (command === "plan")
77
+ output = makePlan(objective(args.join(" ") || "Plan the requested change"));
78
+ else if (command === "run")
79
+ output = startRun(objective(args.join(" ") || "Run the requested change"), cwd);
80
+ else if (command === "status")
81
+ output = new Journal(statePath(repositoryIdentity(cwd))).snapshot();
82
+ else if (command === "cancel") {
83
+ const identity = repositoryIdentity(cwd);
84
+ const journal = new Journal(statePath(identity));
85
+ const state = journal.snapshot();
86
+ if (state.run)
87
+ journal.append({ type: "run.cancelled", runId: state.run.runId, reason: args.join(" ") || "operator cancellation" }, `cancel:${state.run.runId}:${state.run.revision}`, state.revision);
88
+ output = journal.snapshot();
89
+ }
90
+ else if (command === "verify") {
91
+ const identity = repositoryIdentity(cwd);
92
+ output = await runVerification(bindSession(new Journal(statePath(identity)), { cwd }), args.shift() || "manual", args.length ? args : ["npm", "test"], cwd);
93
+ }
94
+ else if (command === "migrate")
95
+ output = migrationReport(args.shift() || "../BizarHarness", args.includes("--apply"));
96
+ else if (command === "help")
97
+ output = { commands: ["setup [--profile NAME] [--omp PATH] [--dry-run] [--json]", "install [--profile NAME] [--omp PATH] [--dry-run]", "install-doctor [--profile NAME]", "uninstall [--profile NAME] [--dry-run]", "doctor", "plan", "run", "status", "verify", "migrate", "cancel"] };
98
+ else {
99
+ process.exitCode = 2;
100
+ output = { error: `Unknown command: ${command}` };
101
+ }
102
+ if (humanSetup)
103
+ return;
104
+ process.stdout.write(`${JSON.stringify(output, null, 2)}\n`);
105
+ }
106
+ try {
107
+ await main();
108
+ }
109
+ catch (error) {
110
+ const message = error instanceof Error ? error.message : String(error);
111
+ if (setupUiForError)
112
+ setupUiForError.failure(`Setup failed: ${message}`);
113
+ else
114
+ process.stderr.write(`${JSON.stringify({ ok: false, error: message })}\n`);
115
+ process.exitCode = 1;
116
+ }
117
+ //# sourceMappingURL=main.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../../../src/cli/main.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ export interface MigrationItem {
2
+ path: string;
3
+ disposition: "port" | "merge" | "native-replacement" | "optional" | "retire";
4
+ reason: string;
5
+ }
6
+ export declare function migrationReport(source: string, apply?: boolean): {
7
+ schemaVersion: number;
8
+ source: string;
9
+ apply: boolean;
10
+ destructive: boolean;
11
+ items: MigrationItem[];
12
+ summary: {
13
+ discovered: number;
14
+ applied: number;
15
+ preserved: boolean;
16
+ };
17
+ note: string;
18
+ };
@@ -0,0 +1,14 @@
1
+ import { existsSync } from "node:fs";
2
+ import { join } from "node:path";
3
+ export function migrationReport(source, apply = false) {
4
+ const items = [];
5
+ const add = (relative, disposition, reason) => { if (existsSync(join(source, relative)))
6
+ items.push({ path: relative, disposition, reason }); };
7
+ add("config/claude/agents", "port", "Roles are re-authored as native OMP agent definitions");
8
+ add("config/skills", "port", "Markdown skill content is selectively re-authored, never mirrored as executable host plumbing");
9
+ add("config/claude/hooks", "retire", "OMP lifecycle events replace Claude hook dispatch");
10
+ add("config/workflows", "native-replacement", "Typed reducers and native task admission replace host-specific workflow scripts");
11
+ add("packages/sdk/src", "retire", "The new package has no second SDK/MCP runtime");
12
+ return { schemaVersion: 1, source, apply, destructive: false, items, summary: { discovered: items.length, applied: 0, preserved: true }, note: apply ? "Apply is intentionally a no-op until each item has an explicit non-destructive migration handler." : "Dry-run only; no source or user state was changed." };
13
+ }
14
+ //# sourceMappingURL=migrate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../../src/cli/migrate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAe,MAAM,SAAS,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,MAAM,UAAU,eAAe,CAAC,MAAc,EAAE,KAAK,GAAG,KAAK;IAC3D,MAAM,KAAK,GAAoB,EAAE,CAAC;IAClC,MAAM,GAAG,GAAG,CAAC,QAAgB,EAAE,WAAyC,EAAE,MAAc,EAAE,EAAE,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9L,GAAG,CAAC,sBAAsB,EAAE,MAAM,EAAE,uDAAuD,CAAC,CAAC;IAAC,GAAG,CAAC,eAAe,EAAE,MAAM,EAAE,+FAA+F,CAAC,CAAC;IAAC,GAAG,CAAC,qBAAqB,EAAE,QAAQ,EAAE,mDAAmD,CAAC,CAAC;IAAC,GAAG,CAAC,kBAAkB,EAAE,oBAAoB,EAAE,iFAAiF,CAAC,CAAC;IAAC,GAAG,CAAC,kBAAkB,EAAE,QAAQ,EAAE,+CAA+C,CAAC,CAAC;IAC7gB,OAAO,EAAE,aAAa,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,mGAAmG,CAAC,CAAC,CAAC,oDAAoD,EAAE,CAAC;AACtT,CAAC"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * One omb-level command.
3
+ *
4
+ * The registry is the single source of truth for both dispatch and `omb help`,
5
+ * so a command can never be reachable without being documented, or documented
6
+ * without being reachable. Each entry reuses the command module's own usage
7
+ * text, so `<command> --help` and the help table cannot drift.
8
+ */
9
+ export interface OmbCommand {
10
+ /** First tokens that select this command. */
11
+ names: string[];
12
+ /** One-line summary for the help table. */
13
+ summary: string;
14
+ /** Full usage block, identical to what `<command> --help` prints. */
15
+ usage: string;
16
+ run(args: string[], env: NodeJS.ProcessEnv): Promise<number>;
17
+ }
18
+ export declare const HELP_USAGE = "omb help [command]\n\n Lists every omb command, or prints one command's usage.\n\n --json print the command list as { commands: [{ name, names, summary, usage }] }\n\n Arguments omb does not recognise are passed to OMP, so \"omb --resume\",\n \"omb <prompt>\", and bare \"omb\" keep working exactly as before.";
19
+ /** Look up a command by its first token; undefined means "pass through to OMP". */
20
+ export declare function findOmbCommand(token: string): OmbCommand | undefined;
21
+ export declare function renderOmbUsage(): string;
22
+ export declare function runHelpCommand(args: string[]): number;
23
+ /**
24
+ * Every omb-level command, in help order.
25
+ *
26
+ * `runStopCommand`/`runRestartCommand` resolve the process cwd themselves, and
27
+ * the hub needs the cwd its caller was started in, so both are forwarded here.
28
+ */
29
+ export declare const OMB_COMMANDS: OmbCommand[];
@@ -0,0 +1,107 @@
1
+ import { AGENTS_USAGE, runAgentsHub } from "./agents.js";
2
+ import { DAEMON_USAGE, runDaemonCommand } from "./omb-daemon.js";
3
+ import { DASHBOARD_USAGE, runDashboardCommand } from "./omb-dashboard.js";
4
+ import { RESTART_USAGE, STOP_USAGE, runRestartCommand, runStopCommand } from "./omb-runtime.js";
5
+ import { TRAY_USAGE, runTrayCommand } from "./omb-tray.js";
6
+ export const HELP_USAGE = `omb help [command]
7
+
8
+ Lists every omb command, or prints one command's usage.
9
+
10
+ --json print the command list as { commands: [{ name, names, summary, usage }] }
11
+
12
+ Arguments omb does not recognise are passed to OMP, so "omb --resume",
13
+ "omb <prompt>", and bare "omb" keep working exactly as before.`;
14
+ /** Look up a command by its first token; undefined means "pass through to OMP". */
15
+ export function findOmbCommand(token) {
16
+ return OMB_COMMANDS.find(command => command.names.includes(token));
17
+ }
18
+ export function renderOmbUsage() {
19
+ const width = Math.max(...OMB_COMMANDS.map(command => command.names[0]?.length ?? 0));
20
+ return [
21
+ "omb — Bizar OMP runtime",
22
+ "",
23
+ "Usage: omb <command> [options]",
24
+ " omb [omp arguments] run or attach OMP (anything omb does not recognise)",
25
+ "",
26
+ "Commands:",
27
+ ...OMB_COMMANDS.map(command => ` ${(command.names[0] ?? "").padEnd(width)} ${command.summary}`),
28
+ "",
29
+ `Run "omb help <command>" for one command's options.`,
30
+ ].join("\n");
31
+ }
32
+ export function runHelpCommand(args) {
33
+ if (args.includes("--json")) {
34
+ process.stdout.write(`${JSON.stringify({
35
+ commands: OMB_COMMANDS.map(command => ({
36
+ name: command.names[0],
37
+ names: command.names,
38
+ summary: command.summary,
39
+ usage: command.usage,
40
+ })),
41
+ }, null, 2)}\n`);
42
+ return 0;
43
+ }
44
+ const [name] = args.filter(arg => !arg.startsWith("-"));
45
+ if (!name) {
46
+ process.stdout.write(`${renderOmbUsage()}\n`);
47
+ return 0;
48
+ }
49
+ const command = findOmbCommand(name);
50
+ if (!command) {
51
+ process.stderr.write(`omb help: unknown command "${name}"\n\n${renderOmbUsage()}\n`);
52
+ return 2;
53
+ }
54
+ process.stdout.write(`${command.usage}\n`);
55
+ return 0;
56
+ }
57
+ /**
58
+ * Every omb-level command, in help order.
59
+ *
60
+ * `runStopCommand`/`runRestartCommand` resolve the process cwd themselves, and
61
+ * the hub needs the cwd its caller was started in, so both are forwarded here.
62
+ */
63
+ export const OMB_COMMANDS = [
64
+ {
65
+ names: ["agents", "hub"],
66
+ summary: "Session hub: attach, start, rename, and stop sessions",
67
+ usage: AGENTS_USAGE,
68
+ run: (args, env) => runAgentsHub(process.cwd(), args, env),
69
+ },
70
+ {
71
+ names: ["dashboard"],
72
+ summary: "Serve the browser dashboard and print a single-use link",
73
+ usage: DASHBOARD_USAGE,
74
+ run: (args, env) => runDashboardCommand(args, env),
75
+ },
76
+ {
77
+ names: ["daemon"],
78
+ summary: "Detached loopback service behind the dashboard",
79
+ usage: DAEMON_USAGE,
80
+ run: (args, env) => runDaemonCommand(args, env),
81
+ },
82
+ {
83
+ names: ["tray"],
84
+ summary: "Optional native tray icon for background sessions",
85
+ usage: TRAY_USAGE,
86
+ run: (args, env) => runTrayCommand(args, env),
87
+ },
88
+ {
89
+ names: ["stop"],
90
+ summary: "Stop Bizar-owned sessions, the daemon, and the tray",
91
+ usage: STOP_USAGE,
92
+ run: (args, env) => runStopCommand(args, env),
93
+ },
94
+ {
95
+ names: ["restart"],
96
+ summary: "Stop the runtime, then start the daemon and tray again",
97
+ usage: RESTART_USAGE,
98
+ run: (args, env) => runRestartCommand(args, env),
99
+ },
100
+ {
101
+ names: ["help", "--help", "-h"],
102
+ summary: "List commands, or print one command's usage",
103
+ usage: HELP_USAGE,
104
+ run: (args) => Promise.resolve(runHelpCommand(args)),
105
+ },
106
+ ];
107
+ //# sourceMappingURL=omb-commands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"omb-commands.js","sourceRoot":"","sources":["../../../src/cli/omb-commands.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare const DAEMON_USAGE = "omb daemon [start|stop|restart|status]\n\n Controls the detached loopback daemon that serves the browser dashboard and\n keeps the session snapshot fresh without a terminal client.\n\n start start the daemon (and the tray, when it is enabled)\n stop stop the daemon and the tray\n restart stop, then start again\n status print the daemon state, pid, port, snapshot age, and log path\n run run the daemon in this process (used by the detached launcher)";
2
+ export declare function runDaemonCommand(args: string[], env?: NodeJS.ProcessEnv): Promise<number>;