@polderlabs/bizar-omp 0.7.0 → 0.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (414) hide show
  1. package/README.md +6 -4
  2. package/dist/cli/agents-ink.d.ts.map +1 -1
  3. package/dist/cli/agents-ink.js +5 -3
  4. package/dist/cli/agents-ink.js.map +1 -1
  5. package/dist/cli/agents.d.ts.map +1 -1
  6. package/dist/cli/agents.js +26 -8
  7. package/dist/cli/agents.js.map +1 -1
  8. package/dist/cli/doctor.d.ts +4 -4
  9. package/dist/cli/main.js +0 -0
  10. package/dist/cli/omb.js +0 -0
  11. package/dist/core/recovery.d.ts.map +1 -1
  12. package/dist/core/recovery.js +10 -5
  13. package/dist/core/recovery.js.map +1 -1
  14. package/dist/core/transitions.d.ts +4 -0
  15. package/dist/core/transitions.d.ts.map +1 -1
  16. package/dist/core/transitions.js +12 -2
  17. package/dist/core/transitions.js.map +1 -1
  18. package/dist/core/types.d.ts +46 -0
  19. package/dist/core/types.d.ts.map +1 -1
  20. package/dist/extension.d.ts +2 -0
  21. package/dist/extension.d.ts.map +1 -1
  22. package/dist/extension.js +174 -16
  23. package/dist/extension.js.map +1 -1
  24. package/dist/omp/compatibility.d.ts +5 -5
  25. package/dist/omp/compatibility.d.ts.map +1 -1
  26. package/dist/omp/compatibility.js +2 -2
  27. package/dist/omp/compatibility.js.map +1 -1
  28. package/dist/omp/daemon-service.d.ts.map +1 -1
  29. package/dist/omp/daemon-service.js +53 -20
  30. package/dist/omp/daemon-service.js.map +1 -1
  31. package/dist/omp/daemon.d.ts.map +1 -1
  32. package/dist/omp/daemon.js +57 -17
  33. package/dist/omp/daemon.js.map +1 -1
  34. package/dist/omp/dashboard-html.js +5 -5
  35. package/dist/omp/dispatch-admission.js +1 -1
  36. package/dist/omp/dispatch-admission.js.map +1 -1
  37. package/dist/omp/model-role-assignment.d.ts +4 -0
  38. package/dist/omp/model-role-assignment.d.ts.map +1 -1
  39. package/dist/omp/model-role-assignment.js +84 -8
  40. package/dist/omp/model-role-assignment.js.map +1 -1
  41. package/dist/omp/omb-sessions.d.ts +22 -7
  42. package/dist/omp/omb-sessions.d.ts.map +1 -1
  43. package/dist/omp/omb-sessions.js +83 -11
  44. package/dist/omp/omb-sessions.js.map +1 -1
  45. package/dist/omp/omb-settings.d.ts +15 -1
  46. package/dist/omp/omb-settings.d.ts.map +1 -1
  47. package/dist/omp/omb-settings.js +107 -31
  48. package/dist/omp/omb-settings.js.map +1 -1
  49. package/dist/omp/rpc.d.ts +8 -0
  50. package/dist/omp/rpc.d.ts.map +1 -1
  51. package/dist/omp/session-activity.d.ts +5 -0
  52. package/dist/omp/session-activity.d.ts.map +1 -1
  53. package/dist/omp/session-activity.js +17 -0
  54. package/dist/omp/session-activity.js.map +1 -1
  55. package/dist/omp/tmux.d.ts.map +1 -1
  56. package/dist/omp/tmux.js +110 -14
  57. package/dist/omp/tmux.js.map +1 -1
  58. package/dist/services/candidate-verify.d.ts.map +1 -1
  59. package/dist/services/candidate-verify.js +44 -1
  60. package/dist/services/candidate-verify.js.map +1 -1
  61. package/dist/services/inspector.d.ts +5 -1
  62. package/dist/services/inspector.d.ts.map +1 -1
  63. package/dist/services/inspector.js +11 -2
  64. package/dist/services/inspector.js.map +1 -1
  65. package/dist/services/native-review-ingest.d.ts +35 -0
  66. package/dist/services/native-review-ingest.d.ts.map +1 -0
  67. package/dist/services/native-review-ingest.js +14 -0
  68. package/dist/services/native-review-ingest.js.map +1 -0
  69. package/dist/tools/integrate.d.ts.map +1 -1
  70. package/dist/tools/integrate.js +13 -0
  71. package/dist/tools/integrate.js.map +1 -1
  72. package/dist/tools/workflow.d.ts +9 -0
  73. package/dist/tools/workflow.d.ts.map +1 -1
  74. package/dist/tools/workflow.js +25 -2
  75. package/dist/tools/workflow.js.map +1 -1
  76. package/docs/compatibility/baseline.json +8 -7
  77. package/docs/compatibility/supported-surfaces.json +2 -1
  78. package/docs/development/ci-release-implementation-guide.md +1259 -0
  79. package/docs/development/contributing-and-releasing.md +117 -0
  80. package/docs/development/omp-compatibility-update-guide.md +117 -0
  81. package/docs/releases/0.7.1.md +15 -0
  82. package/docs/releases/native-stable.md +11 -1
  83. package/docs/releases/npm-publishing.md +23 -4
  84. package/docs/releases/support-matrix.md +1 -1
  85. package/package.json +2 -1
  86. package/rules/oflow-gitlab.md +6 -0
  87. package/skills/oflow-gitlab-context/SKILL.md +49 -0
  88. package/skills/omp-native-development/SKILL.md +1 -1
  89. package/skills/omp-native-development/references/accuracy-and-versioning.md +1 -1
  90. package/skills/omp-native-development/references/source-manifest.json +3 -3
  91. package/dist/src/cli/agents-ink.d.ts +0 -25
  92. package/dist/src/cli/agents-ink.js +0 -517
  93. package/dist/src/cli/agents-ink.js.map +0 -1
  94. package/dist/src/cli/agents.d.ts +0 -14
  95. package/dist/src/cli/agents.js +0 -197
  96. package/dist/src/cli/agents.js.map +0 -1
  97. package/dist/src/cli/directory-selector.d.ts +0 -60
  98. package/dist/src/cli/directory-selector.js +0 -208
  99. package/dist/src/cli/directory-selector.js.map +0 -1
  100. package/dist/src/cli/doctor.d.ts +0 -41
  101. package/dist/src/cli/doctor.js +0 -31
  102. package/dist/src/cli/doctor.js.map +0 -1
  103. package/dist/src/cli/install.d.ts +0 -129
  104. package/dist/src/cli/install.js +0 -164
  105. package/dist/src/cli/install.js.map +0 -1
  106. package/dist/src/cli/main.d.ts +0 -2
  107. package/dist/src/cli/main.js +0 -117
  108. package/dist/src/cli/main.js.map +0 -1
  109. package/dist/src/cli/migrate.d.ts +0 -18
  110. package/dist/src/cli/migrate.js +0 -14
  111. package/dist/src/cli/migrate.js.map +0 -1
  112. package/dist/src/cli/omb-commands.d.ts +0 -29
  113. package/dist/src/cli/omb-commands.js +0 -107
  114. package/dist/src/cli/omb-commands.js.map +0 -1
  115. package/dist/src/cli/omb-daemon.d.ts +0 -2
  116. package/dist/src/cli/omb-daemon.js +0 -135
  117. package/dist/src/cli/omb-daemon.js.map +0 -1
  118. package/dist/src/cli/omb-dashboard.d.ts +0 -12
  119. package/dist/src/cli/omb-dashboard.js +0 -113
  120. package/dist/src/cli/omb-dashboard.js.map +0 -1
  121. package/dist/src/cli/omb-invocation.d.ts +0 -8
  122. package/dist/src/cli/omb-invocation.js +0 -41
  123. package/dist/src/cli/omb-invocation.js.map +0 -1
  124. package/dist/src/cli/omb-runtime.d.ts +0 -41
  125. package/dist/src/cli/omb-runtime.js +0 -371
  126. package/dist/src/cli/omb-runtime.js.map +0 -1
  127. package/dist/src/cli/omb-tray.d.ts +0 -2
  128. package/dist/src/cli/omb-tray.js +0 -38
  129. package/dist/src/cli/omb-tray.js.map +0 -1
  130. package/dist/src/cli/omb.d.ts +0 -2
  131. package/dist/src/cli/omb.js +0 -31
  132. package/dist/src/cli/omb.js.map +0 -1
  133. package/dist/src/cli/omp-theme.d.ts +0 -17
  134. package/dist/src/cli/omp-theme.js +0 -22
  135. package/dist/src/cli/omp-theme.js.map +0 -1
  136. package/dist/src/cli/process.d.ts +0 -6
  137. package/dist/src/cli/process.js +0 -54
  138. package/dist/src/cli/process.js.map +0 -1
  139. package/dist/src/cli/run.d.ts +0 -2
  140. package/dist/src/cli/run.js +0 -5
  141. package/dist/src/cli/run.js.map +0 -1
  142. package/dist/src/cli/setup-ui.d.ts +0 -37
  143. package/dist/src/cli/setup-ui.js +0 -90
  144. package/dist/src/cli/setup-ui.js.map +0 -1
  145. package/dist/src/core/acceptance.d.ts +0 -32
  146. package/dist/src/core/acceptance.js +0 -87
  147. package/dist/src/core/acceptance.js.map +0 -1
  148. package/dist/src/core/errors.d.ts +0 -20
  149. package/dist/src/core/errors.js +0 -30
  150. package/dist/src/core/errors.js.map +0 -1
  151. package/dist/src/core/evidence.d.ts +0 -10
  152. package/dist/src/core/evidence.js +0 -35
  153. package/dist/src/core/evidence.js.map +0 -1
  154. package/dist/src/core/policies.d.ts +0 -10
  155. package/dist/src/core/policies.js +0 -60
  156. package/dist/src/core/policies.js.map +0 -1
  157. package/dist/src/core/recovery.d.ts +0 -6
  158. package/dist/src/core/recovery.js +0 -56
  159. package/dist/src/core/recovery.js.map +0 -1
  160. package/dist/src/core/transitions.d.ts +0 -13
  161. package/dist/src/core/transitions.js +0 -59
  162. package/dist/src/core/transitions.js.map +0 -1
  163. package/dist/src/core/types.d.ts +0 -256
  164. package/dist/src/core/types.js +0 -2
  165. package/dist/src/core/types.js.map +0 -1
  166. package/dist/src/extension.d.ts +0 -60
  167. package/dist/src/extension.js +0 -538
  168. package/dist/src/extension.js.map +0 -1
  169. package/dist/src/index.d.ts +0 -29
  170. package/dist/src/index.js +0 -30
  171. package/dist/src/index.js.map +0 -1
  172. package/dist/src/omp/autonomous-settings.d.ts +0 -14
  173. package/dist/src/omp/autonomous-settings.js +0 -65
  174. package/dist/src/omp/autonomous-settings.js.map +0 -1
  175. package/dist/src/omp/capabilities.d.ts +0 -23
  176. package/dist/src/omp/capabilities.js +0 -6
  177. package/dist/src/omp/capabilities.js.map +0 -1
  178. package/dist/src/omp/compatibility.d.ts +0 -30
  179. package/dist/src/omp/compatibility.js +0 -34
  180. package/dist/src/omp/compatibility.js.map +0 -1
  181. package/dist/src/omp/completion.d.ts +0 -7
  182. package/dist/src/omp/completion.js +0 -10
  183. package/dist/src/omp/completion.js.map +0 -1
  184. package/dist/src/omp/config.d.ts +0 -10
  185. package/dist/src/omp/config.js +0 -14
  186. package/dist/src/omp/config.js.map +0 -1
  187. package/dist/src/omp/context.d.ts +0 -15
  188. package/dist/src/omp/context.js +0 -3
  189. package/dist/src/omp/context.js.map +0 -1
  190. package/dist/src/omp/daemon-service.d.ts +0 -25
  191. package/dist/src/omp/daemon-service.js +0 -483
  192. package/dist/src/omp/daemon-service.js.map +0 -1
  193. package/dist/src/omp/daemon.d.ts +0 -48
  194. package/dist/src/omp/daemon.js +0 -194
  195. package/dist/src/omp/daemon.js.map +0 -1
  196. package/dist/src/omp/dashboard-html.d.ts +0 -3
  197. package/dist/src/omp/dashboard-html.js +0 -419
  198. package/dist/src/omp/dashboard-html.js.map +0 -1
  199. package/dist/src/omp/dispatch-admission.d.ts +0 -2
  200. package/dist/src/omp/dispatch-admission.js +0 -12
  201. package/dist/src/omp/dispatch-admission.js.map +0 -1
  202. package/dist/src/omp/integration-recovery.d.ts +0 -10
  203. package/dist/src/omp/integration-recovery.js +0 -18
  204. package/dist/src/omp/integration-recovery.js.map +0 -1
  205. package/dist/src/omp/isolation-policy.d.ts +0 -14
  206. package/dist/src/omp/isolation-policy.js +0 -9
  207. package/dist/src/omp/isolation-policy.js.map +0 -1
  208. package/dist/src/omp/lifecycle.d.ts +0 -14
  209. package/dist/src/omp/lifecycle.js +0 -14
  210. package/dist/src/omp/lifecycle.js.map +0 -1
  211. package/dist/src/omp/memory.d.ts +0 -16
  212. package/dist/src/omp/memory.js +0 -4
  213. package/dist/src/omp/memory.js.map +0 -1
  214. package/dist/src/omp/model-role-assignment.d.ts +0 -296
  215. package/dist/src/omp/model-role-assignment.js +0 -559
  216. package/dist/src/omp/model-role-assignment.js.map +0 -1
  217. package/dist/src/omp/model-roles.d.ts +0 -19
  218. package/dist/src/omp/model-roles.js +0 -6
  219. package/dist/src/omp/model-roles.js.map +0 -1
  220. package/dist/src/omp/omb-sessions.d.ts +0 -122
  221. package/dist/src/omp/omb-sessions.js +0 -512
  222. package/dist/src/omp/omb-sessions.js.map +0 -1
  223. package/dist/src/omp/omb-settings.d.ts +0 -35
  224. package/dist/src/omp/omb-settings.js +0 -104
  225. package/dist/src/omp/omb-settings.js.map +0 -1
  226. package/dist/src/omp/result-reconciliation.d.ts +0 -2
  227. package/dist/src/omp/result-reconciliation.js +0 -9
  228. package/dist/src/omp/result-reconciliation.js.map +0 -1
  229. package/dist/src/omp/rpc.d.ts +0 -67
  230. package/dist/src/omp/rpc.js +0 -4
  231. package/dist/src/omp/rpc.js.map +0 -1
  232. package/dist/src/omp/run-log.d.ts +0 -25
  233. package/dist/src/omp/run-log.js +0 -24
  234. package/dist/src/omp/run-log.js.map +0 -1
  235. package/dist/src/omp/session-activity.d.ts +0 -70
  236. package/dist/src/omp/session-activity.js +0 -361
  237. package/dist/src/omp/session-activity.js.map +0 -1
  238. package/dist/src/omp/session-controls.d.ts +0 -17
  239. package/dist/src/omp/session-controls.js +0 -14
  240. package/dist/src/omp/session-controls.js.map +0 -1
  241. package/dist/src/omp/tmux.d.ts +0 -89
  242. package/dist/src/omp/tmux.js +0 -445
  243. package/dist/src/omp/tmux.js.map +0 -1
  244. package/dist/src/omp/tray-icons.d.ts +0 -5
  245. package/dist/src/omp/tray-icons.js +0 -78
  246. package/dist/src/omp/tray-icons.js.map +0 -1
  247. package/dist/src/omp/tray.d.ts +0 -23
  248. package/dist/src/omp/tray.js +0 -167
  249. package/dist/src/omp/tray.js.map +0 -1
  250. package/dist/src/services/budget.d.ts +0 -19
  251. package/dist/src/services/budget.js +0 -10
  252. package/dist/src/services/budget.js.map +0 -1
  253. package/dist/src/services/candidate-local.d.ts +0 -13
  254. package/dist/src/services/candidate-local.js +0 -15
  255. package/dist/src/services/candidate-local.js.map +0 -1
  256. package/dist/src/services/candidates.d.ts +0 -20
  257. package/dist/src/services/candidates.js +0 -100
  258. package/dist/src/services/candidates.js.map +0 -1
  259. package/dist/src/services/evidence-bundle.d.ts +0 -17
  260. package/dist/src/services/evidence-bundle.js +0 -21
  261. package/dist/src/services/evidence-bundle.js.map +0 -1
  262. package/dist/src/services/inspector.d.ts +0 -11
  263. package/dist/src/services/inspector.js +0 -6
  264. package/dist/src/services/inspector.js.map +0 -1
  265. package/dist/src/services/lessons.d.ts +0 -13
  266. package/dist/src/services/lessons.js +0 -11
  267. package/dist/src/services/lessons.js.map +0 -1
  268. package/dist/src/services/projection.d.ts +0 -21
  269. package/dist/src/services/projection.js +0 -10
  270. package/dist/src/services/projection.js.map +0 -1
  271. package/dist/src/services/readiness.d.ts +0 -4
  272. package/dist/src/services/readiness.js +0 -35
  273. package/dist/src/services/readiness.js.map +0 -1
  274. package/dist/src/services/recipes.d.ts +0 -15
  275. package/dist/src/services/recipes.js +0 -42
  276. package/dist/src/services/recipes.js.map +0 -1
  277. package/dist/src/services/recovery.d.ts +0 -19
  278. package/dist/src/services/recovery.js +0 -9
  279. package/dist/src/services/recovery.js.map +0 -1
  280. package/dist/src/services/review.d.ts +0 -15
  281. package/dist/src/services/review.js +0 -9
  282. package/dist/src/services/review.js.map +0 -1
  283. package/dist/src/storage/journal-recovery.d.ts +0 -10
  284. package/dist/src/storage/journal-recovery.js +0 -33
  285. package/dist/src/storage/journal-recovery.js.map +0 -1
  286. package/dist/src/storage/journal.d.ts +0 -12
  287. package/dist/src/storage/journal.js +0 -82
  288. package/dist/src/storage/journal.js.map +0 -1
  289. package/dist/src/storage/migrations.d.ts +0 -22
  290. package/dist/src/storage/migrations.js +0 -107
  291. package/dist/src/storage/migrations.js.map +0 -1
  292. package/dist/src/storage/repository-identity.d.ts +0 -11
  293. package/dist/src/storage/repository-identity.js +0 -67
  294. package/dist/src/storage/repository-identity.js.map +0 -1
  295. package/dist/src/storage/resources.d.ts +0 -66
  296. package/dist/src/storage/resources.js +0 -148
  297. package/dist/src/storage/resources.js.map +0 -1
  298. package/dist/src/tools/evidence.d.ts +0 -8
  299. package/dist/src/tools/evidence.js +0 -9
  300. package/dist/src/tools/evidence.js.map +0 -1
  301. package/dist/src/tools/integrate.d.ts +0 -13
  302. package/dist/src/tools/integrate.js +0 -90
  303. package/dist/src/tools/integrate.js.map +0 -1
  304. package/dist/src/tools/result.d.ts +0 -9
  305. package/dist/src/tools/result.js +0 -2
  306. package/dist/src/tools/result.js.map +0 -1
  307. package/dist/src/tools/verify.d.ts +0 -13
  308. package/dist/src/tools/verify.js +0 -61
  309. package/dist/src/tools/verify.js.map +0 -1
  310. package/dist/src/tools/workflow.d.ts +0 -8
  311. package/dist/src/tools/workflow.js +0 -65
  312. package/dist/src/tools/workflow.js.map +0 -1
  313. package/dist/src/workflows/direct.d.ts +0 -9
  314. package/dist/src/workflows/direct.js +0 -2
  315. package/dist/src/workflows/direct.js.map +0 -1
  316. package/dist/src/workflows/implement.d.ts +0 -2
  317. package/dist/src/workflows/implement.js +0 -4
  318. package/dist/src/workflows/implement.js.map +0 -1
  319. package/dist/src/workflows/plan.d.ts +0 -17
  320. package/dist/src/workflows/plan.js +0 -6
  321. package/dist/src/workflows/plan.js.map +0 -1
  322. package/dist/src/workflows/research.d.ts +0 -15
  323. package/dist/src/workflows/research.js +0 -2
  324. package/dist/src/workflows/research.js.map +0 -1
  325. package/dist/src/workflows/review.d.ts +0 -15
  326. package/dist/src/workflows/review.js +0 -2
  327. package/dist/src/workflows/review.js.map +0 -1
  328. package/dist/src/workflows/verify.d.ts +0 -9
  329. package/dist/src/workflows/verify.js +0 -2
  330. package/dist/src/workflows/verify.js.map +0 -1
  331. package/dist/tests/acceptance.test.d.ts +0 -1
  332. package/dist/tests/acceptance.test.js +0 -27
  333. package/dist/tests/acceptance.test.js.map +0 -1
  334. package/dist/tests/agents.test.d.ts +0 -1
  335. package/dist/tests/agents.test.js +0 -369
  336. package/dist/tests/agents.test.js.map +0 -1
  337. package/dist/tests/candidates.test.d.ts +0 -1
  338. package/dist/tests/candidates.test.js +0 -60
  339. package/dist/tests/candidates.test.js.map +0 -1
  340. package/dist/tests/core.test.d.ts +0 -1
  341. package/dist/tests/core.test.js +0 -39
  342. package/dist/tests/core.test.js.map +0 -1
  343. package/dist/tests/daemon.test.d.ts +0 -1
  344. package/dist/tests/daemon.test.js +0 -157
  345. package/dist/tests/daemon.test.js.map +0 -1
  346. package/dist/tests/dashboard.test.d.ts +0 -1
  347. package/dist/tests/dashboard.test.js +0 -414
  348. package/dist/tests/dashboard.test.js.map +0 -1
  349. package/dist/tests/directory-selector.test.d.ts +0 -1
  350. package/dist/tests/directory-selector.test.js +0 -93
  351. package/dist/tests/directory-selector.test.js.map +0 -1
  352. package/dist/tests/doctor.test.d.ts +0 -1
  353. package/dist/tests/doctor.test.js +0 -32
  354. package/dist/tests/doctor.test.js.map +0 -1
  355. package/dist/tests/install.test.d.ts +0 -1
  356. package/dist/tests/install.test.js +0 -101
  357. package/dist/tests/install.test.js.map +0 -1
  358. package/dist/tests/integration.test.d.ts +0 -1
  359. package/dist/tests/integration.test.js +0 -49
  360. package/dist/tests/integration.test.js.map +0 -1
  361. package/dist/tests/journal.test.d.ts +0 -1
  362. package/dist/tests/journal.test.js +0 -50
  363. package/dist/tests/journal.test.js.map +0 -1
  364. package/dist/tests/model-role-assignment.test.d.ts +0 -1
  365. package/dist/tests/model-role-assignment.test.js +0 -294
  366. package/dist/tests/model-role-assignment.test.js.map +0 -1
  367. package/dist/tests/omb-runtime.test.d.ts +0 -1
  368. package/dist/tests/omb-runtime.test.js +0 -554
  369. package/dist/tests/omb-runtime.test.js.map +0 -1
  370. package/dist/tests/omb-session-actions.test.d.ts +0 -1
  371. package/dist/tests/omb-session-actions.test.js +0 -191
  372. package/dist/tests/omb-session-actions.test.js.map +0 -1
  373. package/dist/tests/omb-settings.test.d.ts +0 -1
  374. package/dist/tests/omb-settings.test.js +0 -82
  375. package/dist/tests/omb-settings.test.js.map +0 -1
  376. package/dist/tests/omp-contract.test.d.ts +0 -1
  377. package/dist/tests/omp-contract.test.js +0 -362
  378. package/dist/tests/omp-contract.test.js.map +0 -1
  379. package/dist/tests/process.test.d.ts +0 -1
  380. package/dist/tests/process.test.js +0 -12
  381. package/dist/tests/process.test.js.map +0 -1
  382. package/dist/tests/psmux-windows.test.d.ts +0 -1
  383. package/dist/tests/psmux-windows.test.js +0 -105
  384. package/dist/tests/psmux-windows.test.js.map +0 -1
  385. package/dist/tests/recovery.test.d.ts +0 -1
  386. package/dist/tests/recovery.test.js +0 -9
  387. package/dist/tests/recovery.test.js.map +0 -1
  388. package/dist/tests/resources.test.d.ts +0 -1
  389. package/dist/tests/resources.test.js +0 -55
  390. package/dist/tests/resources.test.js.map +0 -1
  391. package/dist/tests/session-activity.test.d.ts +0 -1
  392. package/dist/tests/session-activity.test.js +0 -159
  393. package/dist/tests/session-activity.test.js.map +0 -1
  394. package/dist/tests/setup-ui.test.d.ts +0 -1
  395. package/dist/tests/setup-ui.test.js +0 -37
  396. package/dist/tests/setup-ui.test.js.map +0 -1
  397. package/dist/tests/storage-integrity.test.d.ts +0 -1
  398. package/dist/tests/storage-integrity.test.js +0 -88
  399. package/dist/tests/storage-integrity.test.js.map +0 -1
  400. package/dist/tests/tmux.test.d.ts +0 -1
  401. package/dist/tests/tmux.test.js +0 -239
  402. package/dist/tests/tmux.test.js.map +0 -1
  403. package/dist/tests/tray.test.d.ts +0 -1
  404. package/dist/tests/tray.test.js +0 -37
  405. package/dist/tests/tray.test.js.map +0 -1
  406. package/dist/tests/verification.test.d.ts +0 -1
  407. package/dist/tests/verification.test.js +0 -61
  408. package/dist/tests/verification.test.js.map +0 -1
  409. package/dist/tests/workflow-features.test.d.ts +0 -1
  410. package/dist/tests/workflow-features.test.js +0 -82
  411. package/dist/tests/workflow-features.test.js.map +0 -1
  412. package/dist/tests/workflow-safety.test.d.ts +0 -1
  413. package/dist/tests/workflow-safety.test.js +0 -57
  414. package/dist/tests/workflow-safety.test.js.map +0 -1
@@ -1,559 +0,0 @@
1
- import { createHash } from "node:crypto";
2
- import { ContractError } from "../core/errors.js";
3
- /** Native-compatible defaults used until an operator runs model-role assignment. */
4
- export const BIZAR_MODEL_ROLES = {
5
- bizar_orchestrator: "@default",
6
- bizar_advisor: "@advisor",
7
- bizar_default: "@default",
8
- bizar_common: "@smol",
9
- bizar_hard: "@slow",
10
- bizar_research: "@plan",
11
- bizar_plan: "@plan",
12
- bizar_architect: "@plan",
13
- bizar_build: "@task",
14
- bizar_review: "@slow",
15
- bizar_security: "@slow",
16
- bizar_verify: "@task",
17
- bizar_docs: "@smol",
18
- };
19
- export const BIZAR_MODEL_TAGS = {
20
- bizar_orchestrator: { name: "Bizar Orchestrator", color: "success" },
21
- bizar_advisor: { name: "Bizar Advisor", color: "accent" },
22
- bizar_default: { name: "Bizar Default", color: "success" },
23
- bizar_common: { name: "Bizar Fast", color: "warning" },
24
- bizar_hard: { name: "Bizar Thinking", color: "accent" },
25
- bizar_research: { name: "Bizar Research", color: "muted" },
26
- bizar_plan: { name: "Bizar Plan", color: "muted" },
27
- bizar_architect: { name: "Bizar Architect", color: "muted" },
28
- bizar_build: { name: "Bizar Build", color: "success" },
29
- bizar_review: { name: "Bizar Review", color: "accent" },
30
- bizar_security: { name: "Bizar Security", color: "error" },
31
- bizar_verify: { name: "Bizar Verify", color: "warning" },
32
- bizar_docs: { name: "Bizar Docs", color: "dim" },
33
- };
34
- export const BIZAR_ROLE_PROFILES = [
35
- { role: "bizar_orchestrator", purpose: "main interactive orchestration and user coordination", preference: "balanced", minContextWindow: 64_000, requiresReasoning: true },
36
- { role: "bizar_advisor", purpose: "independent passive review of the orchestrator's decisions", preference: "strong", minContextWindow: 64_000, requiresReasoning: true, preferDistinctFrom: "bizar_orchestrator" },
37
- { role: "bizar_default", purpose: "main workflow coordination", preference: "balanced", minContextWindow: 64_000, requiresReasoning: true },
38
- { role: "bizar_common", purpose: "bounded everyday work", preference: "fast", minContextWindow: 32_000, requiresReasoning: true },
39
- { role: "bizar_hard", purpose: "high-risk or ambiguous work", preference: "strong", minContextWindow: 128_000, requiresReasoning: true },
40
- { role: "bizar_research", purpose: "evidence-grounded investigation", preference: "balanced", minContextWindow: 128_000, requiresReasoning: true },
41
- { role: "bizar_plan", purpose: "dependencies and acceptance planning", preference: "strong", minContextWindow: 128_000, requiresReasoning: true },
42
- { role: "bizar_architect", purpose: "cross-component design and tradeoffs", preference: "strong", minContextWindow: 128_000, requiresReasoning: true },
43
- { role: "bizar_build", purpose: "focused implementation", preference: "balanced", minContextWindow: 64_000, requiresReasoning: true, providerPreference: "local" },
44
- { role: "bizar_review", purpose: "independent correctness review", preference: "strong", minContextWindow: 128_000, requiresReasoning: true, preferDistinctFrom: "bizar_build" },
45
- { role: "bizar_security", purpose: "security and trust-boundary review", preference: "strong", minContextWindow: 128_000, requiresReasoning: true, preferDistinctFrom: "bizar_build" },
46
- { role: "bizar_verify", purpose: "reproducible checks and evidence", preference: "fast", minContextWindow: 32_000, requiresReasoning: true, providerPreference: "local" },
47
- { role: "bizar_docs", purpose: "documentation and release alignment", preference: "fast", minContextWindow: 32_000, requiresReasoning: false, providerPreference: "local" },
48
- ];
49
- /**
50
- * Kept as a small compatibility fallback for older OMP hosts that do not expose
51
- * the native model catalog to extensions. Current OMP versions use the local
52
- * planner instead, so `/bizar-models` does not spend a model turn on research.
53
- */
54
- export const BIZAR_MODEL_ROLE_AGENT_PROMPT = [
55
- "Use OMP's current available model catalog now and assign the best resolvable model to each existing bizar_* role.",
56
- "Preserve non-Bizar roles and unrelated settings, make no project or credential changes, and report only a compact role-to-selector table plus unresolved roles.",
57
- ].join(" ");
58
- const selectorFor = (model) => `${model.provider}/${model.id}`;
59
- /**
60
- * Catalog text comes from providers, so it is data, not instruction. Collapse
61
- * every control character (including newlines, which would otherwise fabricate
62
- * request lines) and cap the length of each provider-controlled value before it
63
- * reaches the agent prompt.
64
- */
65
- const sanitizeCatalogText = (value, limit = 96) => {
66
- const collapsed = value.replace(/[\u0000-\u001f\u007f]+/g, " ").replace(/\s+/g, " ").trim();
67
- return collapsed.length > limit ? `${collapsed.slice(0, limit)}…` : collapsed;
68
- };
69
- /** Provider part of a `provider/model` selector, or `alias` for a bare native alias. */
70
- const selectorProvider = (selector) => {
71
- const separator = selector.indexOf("/");
72
- return separator > 0 ? selector.slice(0, separator) : "alias";
73
- };
74
- const hasTextInput = (model) => !model.input || model.input.length === 0 || model.input.includes("text");
75
- const THINKING_LEVELS = ["minimal", "low", "medium", "high", "xhigh", "max"];
76
- function thinkingLevels(value) {
77
- if (Array.isArray(value))
78
- return value.filter((level) => typeof level === "string");
79
- if (typeof value === "string")
80
- return [value];
81
- if (value && typeof value === "object") {
82
- const record = value;
83
- for (const key of ["efforts", "levels"]) {
84
- const levels = record[key];
85
- if (Array.isArray(levels))
86
- return levels.filter((level) => typeof level === "string");
87
- }
88
- if (record.effortMap && typeof record.effortMap === "object")
89
- return Object.keys(record.effortMap);
90
- return [record.minLevel, record.maxLevel].filter((level) => typeof level === "string");
91
- }
92
- return [];
93
- }
94
- const maxThinkingRank = (model) => {
95
- return Math.max(0, ...thinkingLevels(model.thinking).map(level => THINKING_LEVELS.indexOf(level)));
96
- };
97
- const hourlyCost = (model) => (model.cost?.input ?? 0) + (model.cost?.output ?? 0);
98
- /**
99
- * Providers that serve models from the local machine. Used to bias role
100
- * assignment: locally hosted models cost nothing per token and keep work
101
- * on-device, but they must never disqualify a capable cloud fallback.
102
- */
103
- const LOCAL_PROVIDERS = {
104
- "llama.cpp": true,
105
- llamacpp: true,
106
- ollama: true,
107
- lmstudio: true,
108
- "lm-studio": true,
109
- vllm: true,
110
- jan: true,
111
- gpt4all: true,
112
- };
113
- export function isLocalModel(model) {
114
- return LOCAL_PROVIDERS[model.provider.toLowerCase()] === true;
115
- }
116
- function qualityScore(model, profile) {
117
- const context = Math.min(2, Math.log10(Math.max(1, model.contextWindow ?? 0)) / 6);
118
- const output = Math.min(1, Math.log10(Math.max(1, model.maxTokens ?? 0)) / 6);
119
- const reasoning = model.reasoning ? 1 : 0;
120
- const thinking = maxThinkingRank(model) / 5;
121
- // Unknown pricing is scored at the middle of the penalty range, never at the
122
- // cheap end: a model whose cost metadata is missing must not win a
123
- // cost-sensitive role by omission, and it is reported as `cost: unknown`.
124
- const costPenalty = modelCostKnown(model) ? Math.min(1, Math.log10(1 + hourlyCost(model)) / 3) : 0.5;
125
- // A role may prefer locally hosted models (free per token, on-device).
126
- // The bonus is additive and opt-in per profile: a local model that fits
127
- // overtakes comparable cloud models, while a mismatch still falls back.
128
- const providerBias = profile.providerPreference === "local" && isLocalModel(model) ? 0.15 : 0;
129
- if (profile.preference === "fast")
130
- return providerBias + context * 0.2 + output * 0.1 + reasoning * 0.2 + thinking * 0.1 - costPenalty * 0.4;
131
- if (profile.preference === "strong")
132
- return providerBias + context * 0.25 + output * 0.15 + reasoning * 0.3 + thinking * 0.3 - costPenalty * 0.05;
133
- return providerBias + context * 0.25 + output * 0.15 + reasoning * 0.25 + thinking * 0.2 - costPenalty * 0.2;
134
- }
135
- function familyOf(query, model) {
136
- return query.family?.(model) ?? model.provider.toLowerCase();
137
- }
138
- function eligibleModels(models, profile) {
139
- return models.filter(model => hasTextInput(model) && (!profile.requiresReasoning || model.reasoning === true) && (model.contextWindow ?? 0) >= profile.minContextWindow);
140
- }
141
- export function planBizarModelRoles(query) {
142
- const models = query.list();
143
- const assignments = [];
144
- const unavailable = [];
145
- const selectedByRole = new Map();
146
- for (const profile of BIZAR_ROLE_PROFILES) {
147
- const eligible = eligibleModels(models, profile);
148
- if (eligible.length === 0) {
149
- unavailable.push({ role: profile.role, reason: `no available text${profile.requiresReasoning ? ", reasoning-capable" : ""} model with at least ${profile.minContextWindow.toLocaleString()} context tokens` });
150
- continue;
151
- }
152
- const distinct = profile.preferDistinctFrom ? eligible.filter(model => {
153
- const prior = selectedByRole.get(profile.preferDistinctFrom);
154
- return !prior || familyOf(query, model) !== familyOf(query, prior);
155
- }) : eligible;
156
- const pool = distinct.length > 0 ? distinct : eligible;
157
- const ranked = [...pool].sort((left, right) => qualityScore(right, profile) - qualityScore(left, profile) || selectorFor(left).localeCompare(selectorFor(right)));
158
- const chosen = ranked[0];
159
- selectedByRole.set(profile.role, chosen);
160
- assignments.push({
161
- role: profile.role,
162
- selector: selectorFor(chosen),
163
- model: chosen,
164
- rationale: `${profile.purpose}; ${profile.preference} preference; native availability and capability metadata matched; cost ${modelCostKnown(chosen) ? "known" : "unknown"}; locality is a provider metadata hint only`,
165
- alternatives: ranked.slice(1, 4).map(selectorFor),
166
- metadata: { cost: modelCostKnown(chosen) ? "known" : "unknown", locality: isLocalModel(chosen) ? "provider-hint" : "unknown" },
167
- });
168
- }
169
- return { assignments, unavailable, modelCount: models.length };
170
- }
171
- function modelCostKnown(model) { return typeof model.cost?.input === "number" && typeof model.cost?.output === "number"; }
172
- /**
173
- * Pure mapping copy: applies a plan onto a settings map without mutating or
174
- * validating it. Staleness is checked by the caller that owns the write, so no
175
- * caller can pass a hash of the same object it is about to overwrite.
176
- */
177
- export function applyRoleAssignmentPlan(current, plan) {
178
- const next = { ...current };
179
- for (const assignment of plan.assignments)
180
- next[assignment.role] = assignment.selector;
181
- return next;
182
- }
183
- export function formatRoleAssignmentPlan(plan) {
184
- const lines = [`Available models: ${plan.modelCount}`, "Bizar model-role plan:"];
185
- for (const assignment of plan.assignments)
186
- lines.push(`- ${assignment.role} -> ${assignment.selector} (${assignment.rationale})`);
187
- for (const missing of plan.unavailable)
188
- lines.push(`- ${missing.role} -> UNAVAILABLE: ${missing.reason}`);
189
- if (plan.unavailable.length > 0)
190
- lines.push("No settings were changed because the plan is incomplete.");
191
- return lines.join("\n");
192
- }
193
- /**
194
- * Native tool the agent calls to persist a reviewed distribution. The command
195
- * handler cannot make a model call itself, so `/bizar-models` gathers the
196
- * catalog, then hands the bounded evaluation to the active agent, which must
197
- * call this tool for anything to be written.
198
- */
199
- export const BIZAR_MODEL_ROLE_TOOL = "bizar_apply_model_roles";
200
- /**
201
- * Longest operator notice OMP's status line can carry without clipping.
202
- *
203
- * `ctx.ui.notify(message, "info")` renders through the host status line, which
204
- * builds exactly one text component and folds it onto two screen lines at the
205
- * default 80-column terminal width — roughly 300 characters. The model-role
206
- * command's own report (catalog movement, headline, and a line per role) runs
207
- * far past that, so the tail silently never appears. A `warning`/`error` notice
208
- * is not an alternative: those draw the full error banner.
209
- */
210
- export const OPERATOR_NOTICE_LIMIT = 300;
211
- /**
212
- * Fit a report into the status line, clipping from the front. Catalog movement
213
- * and the applied-map verdict sit before the per-role lines, so a truncated
214
- * notice always keeps the lines that say what happened and loses the tail.
215
- */
216
- export function clipOperatorNotice(report, limit = OPERATOR_NOTICE_LIMIT) {
217
- const text = report.trim();
218
- if (text.length <= limit)
219
- return text;
220
- const dropped = text.length - limit;
221
- const note = `…clipped; ${dropped} more characters in the session log`;
222
- if (note.length >= limit)
223
- return note.slice(-limit);
224
- const head = text.slice(0, limit - note.length - 1).trimEnd();
225
- return `${head} ${note}`;
226
- }
227
- /**
228
- * Decide how this host can distribute roles. An agent evaluation needs both the
229
- * live catalog and a way to reach the agent; a host without agent messaging
230
- * falls back to deterministic scoring; a host without any of it cannot assign
231
- * roles and says so instead of writing a partial mapping.
232
- */
233
- export function roleAssignmentRoute(host) {
234
- const settingsHost = host.settings;
235
- const get = settingsHost?.get?.bind(settingsHost);
236
- const set = settingsHost?.set?.bind(settingsHost);
237
- const sendMessage = host.sendUserMessage;
238
- // OMP queues an explicit `followUp` without starting a turn, and only
239
- // auto-continues it when the transcript tail is already assistant/toolResult:
240
- // in a session that has not run a turn yet the evaluation stays queued behind
241
- // the user's next prompt instead of running. `aside` starts a turn at an idle
242
- // session, and while streaming it is injected at the next step boundary
243
- // instead of aborting the in-flight tool batch.
244
- const send = sendMessage ? (content) => { sendMessage(content, { deliverAs: "aside" }); } : undefined;
245
- const models = host.models ? [...host.models] : [];
246
- if (get && set && models.length > 0) {
247
- const settings = { get, set };
248
- return send ? { kind: "agent", settings, models, send } : { kind: "local-plan", settings, models };
249
- }
250
- return send ? { kind: "agent-prompt-only", send } : { kind: "unsupported" };
251
- }
252
- function catalogFields(model) {
253
- const levels = thinkingLevels(model.thinking);
254
- return {
255
- provider: model.provider,
256
- contextWindow: typeof model.contextWindow === "number" ? String(model.contextWindow) : "unknown",
257
- maxTokens: typeof model.maxTokens === "number" ? String(model.maxTokens) : "unknown",
258
- reasoning: model.reasoning === true ? "yes" : model.reasoning === false ? "no" : "unknown",
259
- thinking: levels.length > 0 ? levels.join(",") : "unknown",
260
- cost: modelCostKnown(model) ? `${model.cost?.input}/${model.cost?.output}` : "unknown",
261
- input: model.input && model.input.length > 0 ? [...model.input].sort().join(",") : "unknown",
262
- locality: isLocalModel(model) ? "local" : "remote",
263
- };
264
- }
265
- const describeFields = (fields) => Object.keys(fields).sort().map(key => `${key}=${sanitizeCatalogText(fields[key], 64)}`).join(" ");
266
- function describeFieldChanges(prior, next) {
267
- return Object.keys(next).sort().flatMap(key => {
268
- const before = prior[key] ?? "unknown";
269
- return before === next[key] ? [] : [`${key} ${before} -> ${next[key]}`];
270
- });
271
- }
272
- /** Normalize a catalog into a comparable, digestible observation. */
273
- export function snapshotCatalog(models, capturedAt = Date.now()) {
274
- const records = models
275
- .map(model => ({ selector: selectorFor(model), fields: catalogFields(model) }))
276
- .sort((left, right) => left.selector.localeCompare(right.selector));
277
- const lines = records.map(({ selector, fields }) => `${selector}|${describeFields(fields)}`);
278
- return { digest: createHash("sha256").update(lines.join("\n")).digest("hex"), capturedAt, models: records };
279
- }
280
- /** Accept only a well-formed stored snapshot; anything else counts as no prior observation. */
281
- export function parseCatalogSnapshot(value) {
282
- if (!value || typeof value !== "object" || Array.isArray(value))
283
- return undefined;
284
- const record = value;
285
- if (typeof record.digest !== "string" || !Array.isArray(record.models))
286
- return undefined;
287
- const models = [];
288
- for (const entry of record.models) {
289
- if (!entry || typeof entry !== "object" || Array.isArray(entry))
290
- return undefined;
291
- const model = entry;
292
- if (typeof model.selector !== "string" || !model.fields || typeof model.fields !== "object" || Array.isArray(model.fields))
293
- return undefined;
294
- const fields = {};
295
- for (const [key, field] of Object.entries(model.fields)) {
296
- if (typeof field !== "string")
297
- return undefined;
298
- fields[key] = field;
299
- }
300
- models.push({ selector: model.selector, fields });
301
- }
302
- return { digest: record.digest, capturedAt: typeof record.capturedAt === "number" ? record.capturedAt : 0, models };
303
- }
304
- /** Compare the freshly read catalog against the previously observed one. */
305
- export function diffCatalog(previous, next) {
306
- const before = new Map((previous?.models ?? []).map(model => [model.selector, model.fields]));
307
- const after = new Map(next.models.map(model => [model.selector, model.fields]));
308
- const added = [];
309
- const removed = [];
310
- const changed = [];
311
- let unchanged = 0;
312
- for (const [selector, fields] of after) {
313
- const prior = before.get(selector);
314
- if (!prior) {
315
- added.push({ kind: "added", selector, detail: describeFields(fields) });
316
- continue;
317
- }
318
- const differences = describeFieldChanges(prior, fields);
319
- if (differences.length > 0)
320
- changed.push({ kind: "changed", selector, detail: differences.join("; ") });
321
- else
322
- unchanged += 1;
323
- }
324
- for (const selector of before.keys()) {
325
- if (!after.has(selector))
326
- removed.push({ kind: "removed", selector, detail: "no longer returned by the authenticated catalog" });
327
- }
328
- return { firstObservation: previous === undefined, added, removed, changed, unchanged, modelCount: next.models.length };
329
- }
330
- /** Compact, bounded catalog report. Detail lines are capped so the summary stays readable. */
331
- export function formatCatalogDelta(delta) {
332
- if (delta.firstObservation)
333
- return `Catalog: first observation, ${delta.modelCount} available models recorded.`;
334
- const headline = `Catalog: ${delta.added.length} added, ${delta.removed.length} removed, ${delta.changed.length} changed, ${delta.unchanged} unchanged (${delta.modelCount} available).`;
335
- const all = [...delta.added, ...delta.removed, ...delta.changed];
336
- const details = all
337
- .slice(0, 8)
338
- .map(change => ` ${change.kind === "added" ? "+" : change.kind === "removed" ? "-" : "~"} ${change.selector}: ${change.detail}`);
339
- if (all.length > details.length)
340
- details.push(` … ${all.length - details.length} more changes not shown`);
341
- return [headline, ...details].join("\n");
342
- }
343
- const RECOMMENDATION_REJECTED = "expected {\"assignment\":[{\"role\":..,\"selector\":..}]} or a role-to-selector object";
344
- function recommendationCandidates(value) {
345
- if (Array.isArray(value))
346
- return value;
347
- if (!value || typeof value !== "object")
348
- return undefined;
349
- const record = value;
350
- if (Array.isArray(record.assignment))
351
- return record.assignment;
352
- if (Array.isArray(record.assignments))
353
- return record.assignments;
354
- if (record.roles && typeof record.roles === "object" && !Array.isArray(record.roles)) {
355
- return Object.entries(record.roles).map(([role, selector]) => ({ role, selector }));
356
- }
357
- return undefined;
358
- }
359
- /**
360
- * Catalog selectors keyed by case-folded spelling. A fold shared by two catalog
361
- * entries is dropped, so a repair never picks one of two live models.
362
- */
363
- function caseFoldedSelectors(selectors) {
364
- const folded = new Map();
365
- const ambiguous = new Set();
366
- for (const selector of selectors) {
367
- const key = selector.toLowerCase();
368
- if (ambiguous.has(key))
369
- continue;
370
- if (folded.has(key)) {
371
- folded.delete(key);
372
- ambiguous.add(key);
373
- continue;
374
- }
375
- folded.set(key, selector);
376
- }
377
- return folded;
378
- }
379
- /**
380
- * Validate an agent-proposed distribution against the live catalog. A selector
381
- * must name a catalog entry: only its casing is repaired (to the spelling the
382
- * catalog reports, when that fold is unambiguous), and nothing is inferred from
383
- * a model name. Unknown roles and unresolvable selectors are rejected rather
384
- * than guessed.
385
- */
386
- export function reviewRoleRecommendations(value, options) {
387
- const candidates = recommendationCandidates(value);
388
- if (!candidates)
389
- return { accepted: [], normalized: [], rejected: [{ role: "*", reason: RECOMMENDATION_REJECTED }] };
390
- const known = new Set(options.roles);
391
- const selectors = new Set(options.models.map(model => selectorFor(model)));
392
- const folded = caseFoldedSelectors(selectors);
393
- const accepted = [];
394
- const normalized = [];
395
- const rejected = [];
396
- const seen = new Set();
397
- for (const candidate of candidates) {
398
- if (!candidate || typeof candidate !== "object" || Array.isArray(candidate)) {
399
- rejected.push({ role: "*", reason: "each recommendation must be an object with role and selector" });
400
- continue;
401
- }
402
- const entry = candidate;
403
- const role = typeof entry.role === "string" ? entry.role.trim() : "";
404
- const selector = typeof entry.selector === "string" ? entry.selector.trim() : "";
405
- if (!role || !selector) {
406
- rejected.push({ role: role || "*", selector: selector || undefined, reason: "each recommendation needs both a role and a selector" });
407
- continue;
408
- }
409
- if (!known.has(role)) {
410
- rejected.push({ role: role || "*", selector: selector || undefined, reason: "not a Bizar model role" });
411
- continue;
412
- }
413
- if (seen.has(role)) {
414
- rejected.push({ role, selector, reason: "duplicate recommendation for this role" });
415
- continue;
416
- }
417
- if (selectors.size === 0 && !options.resolve) {
418
- rejected.push({ role, selector: selector || undefined, reason: "the host exposed no model catalog to validate against" });
419
- continue;
420
- }
421
- const catalogSelector = selectors.has(selector) ? selector : folded.get(selector.toLowerCase());
422
- if (catalogSelector === undefined && !options.resolve?.(selector)) {
423
- rejected.push({
424
- role,
425
- selector,
426
- reason: options.resolve ? "selector is not resolvable in the live catalog or by an OMP model alias" : "selector is not in the live catalog",
427
- });
428
- continue;
429
- }
430
- seen.add(role);
431
- const rationale = typeof entry.rationale === "string" && entry.rationale.trim() ? entry.rationale.trim() : undefined;
432
- if (catalogSelector !== undefined && catalogSelector !== selector)
433
- normalized.push({ role, from: selector, to: catalogSelector });
434
- accepted.push({ role, selector: catalogSelector ?? selector, rationale });
435
- }
436
- return { accepted, normalized, rejected };
437
- }
438
- /** Turn accepted recommendations into the same plan shape the local planner produces. */
439
- export function planFromRecommendations(review, models) {
440
- const bySelector = new Map(models.map(model => [selectorFor(model), model]));
441
- const assignments = [];
442
- for (const recommendation of review.accepted) {
443
- // A selector the review accepted through the host resolver (a native alias
444
- // such as `@smol`, or an effort suffix) has no catalog record; it is carried
445
- // through with unknown metadata instead of being dropped here, so the write
446
- // gate stays the single place that decides resolvability.
447
- const model = bySelector.get(recommendation.selector) ?? { provider: selectorProvider(recommendation.selector), id: recommendation.selector };
448
- assignments.push({
449
- role: recommendation.role,
450
- selector: recommendation.selector,
451
- model,
452
- rationale: recommendation.rationale ?? "agent-selected distribution",
453
- alternatives: [],
454
- metadata: { cost: modelCostKnown(model) ? "known" : "unknown", locality: isLocalModel(model) ? "provider-hint" : "unknown" },
455
- });
456
- }
457
- return {
458
- assignments,
459
- unavailable: review.rejected.map(item => ({ role: item.role, reason: item.reason })),
460
- modelCount: models.length,
461
- };
462
- }
463
- /** Before/after mapping limited to the Bizar roles, including explicit unchanged entries. */
464
- export function formatRoleMapping(before, after, roles = Object.keys(BIZAR_MODEL_ROLES)) {
465
- return roles.map(role => {
466
- const prior = typeof before[role] === "string" ? before[role] : "(unset)";
467
- const next = typeof after[role] === "string" ? after[role] : "(unset)";
468
- if (prior === next)
469
- return `- ${role}: ${next} (unchanged)`;
470
- return `- ${role}: ${prior} -> ${next}`;
471
- }).join("\n");
472
- }
473
- /** Present value as an object map; anything else is treated as empty. */
474
- export function recordOf(value) {
475
- return value && typeof value === "object" && !Array.isArray(value) ? value : {};
476
- }
477
- /**
478
- * Resolve every proposed selector before writing anything, then persist the
479
- * whole mapping in one `modelRoles` update. An unresolvable selector or an
480
- * empty plan writes nothing at all, unrelated settings and non-Bizar roles are
481
- * copied through untouched, and re-running against the current mapping is a
482
- * no-op. The caller records the observed catalog only after this returns.
483
- */
484
- export function commitRolePlan(input) {
485
- const roles = Object.keys(BIZAR_MODEL_ROLES);
486
- const before = recordOf(input.settings.get("modelRoles"));
487
- if (input.plan.assignments.length === 0) {
488
- const reasons = input.plan.unavailable.map(({ role, reason }) => `${role}: ${reason}`).join("; ");
489
- throw new ContractError(`Bizar model mapping skipped: no Bizar role had an eligible catalog candidate.${reasons ? ` ${reasons}` : ""}`);
490
- }
491
- const unresolved = input.plan.assignments.filter(({ selector }) => !input.resolve(selector));
492
- if (unresolved.length > 0) {
493
- throw new ContractError(`Bizar model mapping refused; OMP could not resolve ${unresolved.map(({ role, selector }) => `${role}=${selector}`).join(", ")}. No settings were written.`);
494
- }
495
- // Re-read immediately before writing: selector resolution and the plan were
496
- // computed against the mapping read above, so a concurrent edit in that window
497
- // must refuse the commit instead of being overwritten.
498
- const current = recordOf(input.settings.get("modelRoles"));
499
- if (JSON.stringify(current) !== JSON.stringify(before)) {
500
- throw new ContractError("Bizar model-role settings changed while the distribution was being resolved; nothing was written. Re-run /bizar-models.");
501
- }
502
- const after = applyRoleAssignmentPlan(before, input.plan);
503
- const changed = JSON.stringify(after) !== JSON.stringify(before);
504
- if (changed)
505
- input.settings.set("modelRoles", after);
506
- const covered = new Set(input.plan.assignments.map(({ role }) => role));
507
- const uncovered = roles.filter(role => !covered.has(role));
508
- const lines = [
509
- formatCatalogDelta(input.delta),
510
- `Assigned ${input.plan.assignments.length}/${roles.length} Bizar roles from ${input.plan.modelCount} available OMP models (${input.source}); modelRoles ${changed ? "updated" : "already current, left as is"}.`,
511
- formatRoleMapping(before, after, roles),
512
- ];
513
- if (uncovered.length > 0)
514
- lines.push(`Left unchanged (not assigned by this evaluation): ${uncovered.join(", ")}.`);
515
- if (input.plan.unavailable.length > 0)
516
- lines.push(`Not applied: ${input.plan.unavailable.map(({ role, reason }) => `${role} (${reason})`).join("; ")}.`);
517
- return lines.join("\n");
518
- }
519
- /**
520
- * Bounded evaluation request handed to the active agent. It carries only the
521
- * live catalog, the current mapping and the deterministic baseline, so the
522
- * agent can decide quickly without further research.
523
- */
524
- export function buildAgentEvaluationRequest(input) {
525
- const catalogLines = input.models
526
- .map(model => `${sanitizeCatalogText(selectorFor(model))} ${describeFields(catalogFields(model))}`)
527
- .sort();
528
- const currentLines = BIZAR_ROLE_PROFILES.map(profile => {
529
- const selector = typeof input.currentRoles[profile.role] === "string" ? sanitizeCatalogText(input.currentRoles[profile.role]) : "(unset)";
530
- return `${profile.role} = ${selector} :: ${profile.purpose}; ${profile.preference} preference; ${profile.requiresReasoning ? "reasoning required" : "reasoning optional"}; context >= ${profile.minContextWindow}${profile.preferDistinctFrom ? `; prefer distinct from ${profile.preferDistinctFrom}` : ""}`;
531
- });
532
- const baselineLines = input.baseline.assignments.map(assignment => `${assignment.role} = ${assignment.selector}`);
533
- const missing = input.baseline.unavailable.map(item => `${item.role} (${item.reason})`);
534
- return [
535
- "Evaluate the Bizar model-role distribution for the current OMP catalog and apply it with the native tool `" + BIZAR_MODEL_ROLE_TOOL + "`.",
536
- "This is a bounded evaluation: use only the catalog below, make no other settings or credential changes, and do not run further research.",
537
- "",
538
- "Rules",
539
- `- Call \`${BIZAR_MODEL_ROLE_TOOL}\` exactly once with {"assignment":[{"role":"...","selector":"...","rationale":"..."}]} covering every Bizar role you consider resolved.`,
540
- "- Use selectors exactly as listed in AVAILABLE MODELS; never invent or guess a selector.",
541
- "- Treat metadata reported as unknown as unknown: never infer capability, cost or locality from a model name.",
542
- "- Judge each role by purpose, reasoning need, context window, speed, cost and locality; keep provider diversity, and prefer a model distinct from the orchestrator for bizar_advisor.",
543
- "- One short clause per rationale, no prose report.",
544
- "",
545
- "CATALOG CHANGES SINCE LAST OBSERVATION",
546
- formatCatalogDelta(input.delta),
547
- "",
548
- `AVAILABLE MODELS (${input.models.length})`,
549
- ...catalogLines,
550
- "",
551
- "CURRENT ROLE MAPPING (existing assignments are re-evaluated, not trusted)",
552
- ...currentLines,
553
- "",
554
- "DETERMINISTIC BASELINE (override only with a concrete catalog reason)",
555
- ...baselineLines,
556
- ...(missing.length > 0 ? [`Unresolved by the baseline: ${missing.join(", ")}`] : []),
557
- ].join("\n");
558
- }
559
- //# sourceMappingURL=model-role-assignment.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"model-role-assignment.js","sourceRoot":"","sources":["../../../src/omp/model-role-assignment.ts"],"names":[],"mappings":"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"}
@@ -1,19 +0,0 @@
1
- import type { RouteClass, RouteDecision } from "../core/types.js";
2
- export declare const MODEL_ROLES: {
3
- readonly bizar_orchestrator: "@default";
4
- readonly bizar_advisor: "@advisor";
5
- readonly bizar_default: "@default";
6
- readonly bizar_common: "@smol";
7
- readonly bizar_hard: "@slow";
8
- readonly bizar_research: "@plan";
9
- readonly bizar_plan: "@plan";
10
- readonly bizar_architect: "@plan";
11
- readonly bizar_build: "@task";
12
- readonly bizar_review: "@slow";
13
- readonly bizar_security: "@slow";
14
- readonly bizar_verify: "@task";
15
- readonly bizar_docs: "@smol";
16
- };
17
- export declare const AGENT_ROLES: readonly ["bizar-researcher", "bizar-planner", "bizar-architect", "bizar-implementer", "bizar-reviewer", "bizar-security-reviewer", "bizar-verifier", "bizar-docs"];
18
- export declare function modelRoleFor(routeClass: RouteClass): keyof typeof MODEL_ROLES;
19
- export declare function explainRole(decision: RouteDecision): string;
@@ -1,6 +0,0 @@
1
- import { BIZAR_MODEL_ROLES } from "./model-role-assignment.js";
2
- export const MODEL_ROLES = BIZAR_MODEL_ROLES;
3
- export const AGENT_ROLES = ["bizar-researcher", "bizar-planner", "bizar-architect", "bizar-implementer", "bizar-reviewer", "bizar-security-reviewer", "bizar-verifier", "bizar-docs"];
4
- export function modelRoleFor(routeClass) { return routeClass === "hard" ? "bizar_hard" : routeClass === "common" ? "bizar_common" : "bizar_default"; }
5
- export function explainRole(decision) { return `${decision.modelRole} (${MODEL_ROLES[decision.modelRole]}) via ${decision.reason}; fallback is explicit and bounded`; }
6
- //# sourceMappingURL=model-roles.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"model-roles.js","sourceRoot":"","sources":["../../../src/omp/model-roles.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAE/D,MAAM,CAAC,MAAM,WAAW,GAAG,iBAAiB,CAAC;AAC7C,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,kBAAkB,EAAE,eAAe,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,YAAY,CAAU,CAAC;AAE/L,MAAM,UAAU,YAAY,CAAC,UAAsB,IAA8B,OAAO,UAAU,KAAK,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;AAC5L,MAAM,UAAU,WAAW,CAAC,QAAuB,IAAY,OAAO,GAAG,QAAQ,CAAC,SAAS,KAAK,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,QAAQ,CAAC,MAAM,oCAAoC,CAAC,CAAC,CAAC"}