@polderlabs/bizar-omp 0.3.6 → 0.4.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 (61) hide show
  1. package/README.md +39 -16
  2. package/dist/cli/agents.d.ts +6 -0
  3. package/dist/cli/agents.d.ts.map +1 -0
  4. package/dist/cli/agents.js +137 -0
  5. package/dist/cli/agents.js.map +1 -0
  6. package/dist/cli/doctor.d.ts +4 -4
  7. package/dist/cli/main.js +0 -0
  8. package/dist/cli/omb-invocation.d.ts +7 -0
  9. package/dist/cli/omb-invocation.d.ts.map +1 -0
  10. package/dist/cli/omb-invocation.js +27 -0
  11. package/dist/cli/omb-invocation.js.map +1 -0
  12. package/dist/cli/omb.d.ts +3 -0
  13. package/dist/cli/omb.d.ts.map +1 -0
  14. package/dist/cli/omb.js +19 -0
  15. package/dist/cli/omb.js.map +1 -0
  16. package/dist/core/policies.d.ts +2 -1
  17. package/dist/core/policies.d.ts.map +1 -1
  18. package/dist/core/policies.js +22 -3
  19. package/dist/core/policies.js.map +1 -1
  20. package/dist/core/types.d.ts +2 -0
  21. package/dist/core/types.d.ts.map +1 -1
  22. package/dist/extension.d.ts +3 -2
  23. package/dist/extension.d.ts.map +1 -1
  24. package/dist/extension.js +30 -32
  25. package/dist/extension.js.map +1 -1
  26. package/dist/omp/autonomous-settings.d.ts.map +1 -1
  27. package/dist/omp/autonomous-settings.js +7 -0
  28. package/dist/omp/autonomous-settings.js.map +1 -1
  29. package/dist/omp/compatibility.d.ts +5 -5
  30. package/dist/omp/compatibility.d.ts.map +1 -1
  31. package/dist/omp/compatibility.js +2 -2
  32. package/dist/omp/compatibility.js.map +1 -1
  33. package/dist/omp/model-role-assignment.d.ts +15 -0
  34. package/dist/omp/model-role-assignment.d.ts.map +1 -1
  35. package/dist/omp/model-role-assignment.js +24 -10
  36. package/dist/omp/model-role-assignment.js.map +1 -1
  37. package/dist/omp/model-roles.d.ts +2 -0
  38. package/dist/omp/model-roles.d.ts.map +1 -1
  39. package/dist/omp/omb-sessions.d.ts +18 -0
  40. package/dist/omp/omb-sessions.d.ts.map +1 -0
  41. package/dist/omp/omb-sessions.js +78 -0
  42. package/dist/omp/omb-sessions.js.map +1 -0
  43. package/dist/omp/tmux.d.ts +13 -14
  44. package/dist/omp/tmux.d.ts.map +1 -1
  45. package/dist/omp/tmux.js +116 -38
  46. package/dist/omp/tmux.js.map +1 -1
  47. package/docs/compatibility/baseline.json +28 -4
  48. package/docs/compatibility/lifecycle-observation.md +1 -1
  49. package/docs/compatibility/supported-surfaces.json +30 -4
  50. package/docs/releases/0.4.0.md +14 -0
  51. package/docs/releases/0.4.1.md +13 -0
  52. package/docs/releases/native-stable.md +1 -1
  53. package/docs/releases/support-matrix.md +1 -1
  54. package/package.json +7 -3
  55. package/prompts/bizar-system.md +1 -1
  56. package/rules/bizar-core.md +5 -0
  57. package/rules/bizar-native-omp.md +1 -0
  58. package/skills/bizar-omp/SKILL.md +57 -0
  59. package/skills/omp-native-development/SKILL.md +1 -1
  60. package/skills/omp-native-development/references/accuracy-and-versioning.md +2 -2
  61. package/skills/omp-native-development/references/source-manifest.json +3 -3
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # BizarHarness OMP
2
2
 
3
- Release `0.3.6` is the current release target; it will be published on [npm](https://www.npmjs.com/package/@polderlabs/bizar-omp) and available as a [GitHub release](https://github.com/PolderLabsVOF/BizarHarness-OMP/releases/tag/v0.3.6) after the final release gate.
3
+ Release `0.4.1` is the current release target; it will be published on [npm](https://www.npmjs.com/package/@polderlabs/bizar-omp) and available as a [GitHub release](https://github.com/PolderLabsVOF/BizarHarness-OMP/releases/tag/v0.4.1) after the final release gate.
4
4
 
5
5
  BizarHarness OMP is a ground-up, native [oh-my-pi](https://github.com/can1357/oh-my-pi) extension for engineering workflows. It owns workflow intent, acceptance contracts, evidence freshness, and integration admission. OMP owns sessions, models, credentials, tools, workers, isolation, and conversation state.
6
6
 
@@ -8,7 +8,7 @@ The package has no Claude Code, AO, Claude Agent SDK, MCP server, second worker
8
8
 
9
9
  ## Install
10
10
 
11
- Requires Node 22+, Bun 1.3.14+, and OMP **18.2.5** on PATH (18.2.4 remains qualified for the 0.3.x compatibility window).
11
+ Requires Node 22+, Bun 1.3.14+, and OMP **18.2.6** on PATH (18.2.5 and 18.2.4 remain regression-qualified).
12
12
 
13
13
  The recommended installation is through OMP's native plugin manager:
14
14
 
@@ -17,20 +17,21 @@ omp plugin install @polderlabs/bizar-omp
17
17
  omp
18
18
  ```
19
19
 
20
- This loads the extension, eight Bizar agents, skills, rules, prompts, and native model-role command. On the first interactive start, Bizar applies its autonomous OMP preset, enables background task execution and steerable Collab, and moves the host into tmux so closing the terminal does not terminate the session. This requires `tmux` on Linux/macOS; if tmux is unavailable, Bizar warns and keeps the normal OMP session running.
20
+ This loads the extension, eight Bizar specialist agents, the default `bizar-omp` orientation skill plus specialized skills, rules, prompts, and the native model-role command. The main OMP session is the Bizar Orchestrator by default. Bizar also enables OMP's native Advisor and configures a visible `bizar_advisor` role for passive independent review. The skill explains Bizar's ownership boundaries, workflow/evidence tools, model-role command, and `omp` versus `omb` launcher contract. On session start, Bizar applies its autonomous OMP preset, enables background task execution, and enables steerable Collab. The ordinary `omp` command remains untouched; use `omb` when you want a durable tmux-backed host.
21
21
 
22
22
  The companion CLI is optional for diagnostics and repair:
23
23
 
24
24
  ```sh
25
25
  npm install --global @polderlabs/bizar-omp
26
26
  bizar-omp install-doctor
27
+ omb
27
28
  ```
28
29
 
29
30
  `bizar-omp install` remains available when a host-level repair is needed. The plugin path is the normal path and applies the same autonomous settings from the loaded extension. Worker patches are retained for explicit parent integration rather than automatically applied. Credentials, selected providers/models, explicit deny/prompt policies, and project overrides are preserved.
30
31
 
31
32
  Use only in trusted projects. OMP extensions and shell commands are not an OS security sandbox. Review changes with `bizar-omp install --dry-run`; isolate configuration with `bizar-omp install --profile bizar`, then launch `omp --profile bizar`. A new profile needs its own OMP login/model configuration.
32
33
 
33
- Restart OMP after plugin installation. `bizar-omp uninstall` removes the plugin link created by the CLI installer and restores settings it changed, preserving later user edits. Add the same `--profile` for profile-scoped commands. To deliberately bypass automatic tmux relaunch for one invocation, use `BIZAR_OMP_NO_TMUX=1 omp`.
34
+ Restart OMP after plugin installation. `bizar-omp uninstall` removes the plugin link created by the CLI installer and restores settings it changed, preserving later user edits. Add the same `--profile` for profile-scoped commands. The global package install supplies the optional `omb` shell command; the plugin itself is still installed and updated through `omp plugin install`.
34
35
 
35
36
  ## Development
36
37
 
@@ -43,7 +44,7 @@ npm run verify:package
43
44
 
44
45
  Try the extension from the checkout with `omp --extension ./dist/extension.js`. For an installed package use `omp plugin link /path/to/bizaromp`; the `omp.extensions` manifest points at `dist/extension.js`.
45
46
 
46
- The development contract is documented in `CONTRIBUTING.md`: work from feature branches, pass CI before merging to `main`, use Conventional Commits, and cut exact SemVer tags. CI runs on Node 22/24 and Bun 1.3.14, including packed-package and registry-plugin installation against OMP 18.2.5. Repository-plan limitations currently prevent enforced GitHub branch protection. Tagged builds publish to npm through trusted publishing and create a GitHub release artifact; see [release setup](docs/releases/npm-publishing.md).
47
+ The development contract is documented in `CONTRIBUTING.md`: work from feature branches, pass CI before merging to `main`, use Conventional Commits, and cut exact SemVer tags. CI runs on Node 22/24 and Bun 1.3.14, including packed-package and registry-plugin installation against OMP 18.2.6. Repository-plan limitations currently prevent enforced GitHub branch protection. Tagged builds publish to npm through trusted publishing and create a GitHub release artifact; see [release setup](docs/releases/npm-publishing.md).
47
48
 
48
49
  ## Commands and tools
49
50
 
@@ -51,20 +52,42 @@ The extension registers `/bizar` with `init`, `run`, `status`, `next`, `cancel`,
51
52
 
52
53
  The core is deliberately deterministic where it can be: transitions, route classification, evidence invalidation, ownership, idempotency, and integration eligibility are pure or journaled contracts. Provider output and native worker execution remain observable external effects and are never treated as complete merely because a call was accepted.
53
54
 
55
+ ### Automatic Bizar method tiers
56
+
57
+ The main Orchestrator chooses the method tier automatically. Focused fixes use direct edits and targeted proof; bounded features use lightweight Bizar acceptance and checks; full-risk work uses planning, isolation, fresh evidence, independent review, and serialized integration. Security, architecture, ambiguity, unknown-cause regressions, cross-cutting scope, and integration risk always escalate to the full tier. A focused task is still validated proportionally, and a task escalates if its scope or risk changes.
58
+
54
59
  ## Persistent agent sessions and the Agent Hub
55
60
 
56
- OMP's native Agent Hub is the control surface for Bizar's background agents. With `async.enabled` enabled, task agents run in the background and can be inspected from the hub. Open it with `Alt+A` or `Ctrl+S`; the hub can inspect live agents, open their transcripts, interrupt them, send follow-up instructions, and revive parked agents.
61
+ OMP's native Agent Hub is the control surface for Bizar's background agents. With `async.enabled` enabled, task agents run in the background and can be inspected from the hub. Bizar sets `display.pinnedAgents=full`, so every active task agent is visible in the live session as well as the hub. Open the hub with `Alt+A` or `Ctrl+S`; it can inspect live agents, open their transcripts, interrupt them, send follow-up instructions, and revive parked agents. Agent definitions and model roles are not running sessions: they appear in the hub only after the orchestrator actually spawns them, so installation does not waste model calls by starting every specialist.
62
+
63
+ For a session that must keep running after its visible terminal closes, start OMP with `omb`. `omb` starts the interactive OMP host inside a persistent tmux session from the first process. A terminal window is only the client; the host process is what owns the model turn and workers:
64
+
65
+ ```sh
66
+ # The primary durable launcher. Re-running it reconnects to this project host.
67
+ omb
68
+ ```
69
+
70
+ `omp` remains the normal direct launcher and never starts, attaches to, or hands off to tmux. This separation keeps terminal ownership deterministic and prevents raw-mode probe responses from leaking between OMP processes. Plain `omb` reconnects to the most recently active live Bizar session in the current directory; if none exists, it creates the stable default session for that directory. The launcher enables tmux mouse mode before attaching, so wheel scrolling stays pane scrolling instead of becoming OMP prompt-history input. Inside an existing tmux session, `omb` runs OMP directly to avoid nested tmux clients. Noninteractive invocations such as `omb --print` also run directly.
71
+
72
+ Run multiple durable OMP conversations in the same project with a session id, or create a fresh generated session:
73
+
74
+ ```sh
75
+ omb new "Investigate the API timeout"
76
+ omb --session api-retries
77
+ omb --new
78
+ ```
79
+
80
+ `omb new` always creates a fresh session. `omb --session <id>` creates or reconnects to a named session, while plain `omb` returns to the latest active session for the current directory.
57
81
 
58
- For a session that must keep running after its visible terminal closes, Bizar automatically starts the interactive OMP host in a persistent tmux session. A terminal window is only the client; the host process is what owns the model turn and workers. The equivalent explicit launch is:
82
+ Use the cross-project session switcher to see every Bizar-owned host, attach to one, or dispatch a new host from an interactive prompt:
59
83
 
60
84
  ```sh
61
- # Start the host in a durable terminal session manually, if needed.
62
- tmux new-session -s bizar-omp -c "$PWD" omp
85
+ omb agents
63
86
  ```
64
87
 
65
- During automatic startup, Bizar starts the tmux host detached and attaches only after the original OMP process has released terminal input. This prevents tmux and the original prompt from competing over arrow keys and other escape sequences. Set `BIZAR_OMP_NO_TMUX=1` to use OMP directly in the current terminal.
88
+ The hub is intentionally small and keyboard-first: use Up/Down (or `j`/`k`) to select, Enter to attach, `n` to choose a project directory, task, and session name, `r` to refresh, and `q` to leave the hub. Sessions are identified by their project path and session id, so several sessions in one project remain independent. The hub only reads and controls tmux sessions created by Bizar; unrelated tmux sessions are not displayed or changed.
66
89
 
67
- Run the objective in that host, then detach with `Ctrl-b d`. Closing the terminal window or opening another OMP client does not stop the tmux host. Bizar automatically enables `collab.autoStart=control` so the host is discoverable and steerable. Later, discover and reconnect to the live host:
90
+ Run the objective in that host, then detach with `Ctrl-d` or the standard tmux sequence `Ctrl-b d`. `omb` scopes the `Ctrl-d` binding to its own session, so it disconnects the client instead of sending OMP's exit/EOF key to the host. If the host pane is already dead, the next `omb` detects it, respawns the host, and reconnects to the same project session. Closing the terminal window or detaching does not stop the tmux host. Bizar automatically enables `collab.autoStart=control` so the host is discoverable and steerable. Later, discover and reconnect to the live host:
68
91
 
69
92
  ```sh
70
93
  omp collab list
@@ -72,20 +95,20 @@ omp collab link <instance-id-or-pid> # prints a control link
72
95
  omp join "<control-link>"
73
96
  ```
74
97
 
75
- The joined OMP client receives the live transcript and Agent Hub roster. Press `Alt+A` or `Ctrl+S` to steer the running agents. Closing the joined client is safe; it only disconnects that guest. Use `tmux attach -t bizar-omp` to return to the original host, or `tmux kill-session -t bizar-omp` when the work should stop.
98
+ The joined OMP client receives the live transcript and Agent Hub roster. Press `Alt+A` or `Ctrl+S` to steer the running agents. Closing the joined client is safe; it only disconnects that guest. Use the project-specific session shown by `tmux ls` to return to the original host, or kill that session when the work should stop. `omb` is the supported way to start or reconnect; no extension callback performs a process handoff.
76
99
 
77
- `collab.autoStart=control` publishes a capability-bearing control link through the configured Collab relay. Treat the link like a credential and share it only with intended operators. Use `collab.autoStart=view` for monitoring without steering. If the host process itself is killed, its live task agents cannot continue; OMP persists the session transcript for later resume, but it does not turn a terminated model process into a running background job. OMP's native `hub` tool can also launch a persistent host with `persist: true` and `pty: true`; `omp ps` then lists and controls that supervised process.
100
+ `collab.autoStart=control` publishes a capability-bearing control link through the configured Collab relay. Treat the link like a credential and share it only with intended operators. Use `collab.autoStart=view` for monitoring without steering. The install preset hides thinking blocks and model tool activity while preserving the reasoning itself, keeping the chat readable; use OMP's display settings when you need the detailed trace. If the host process itself is killed, its live task agents cannot continue; OMP persists the session transcript for later resume, but it does not turn a terminated model process into a running background job. OMP's native `hub` tool can also launch a persistent host with `persist: true` and `pty: true`; `omp ps` then lists and controls that supervised process.
78
101
 
79
102
  ## Support boundary
80
103
 
81
- The supported native baseline is OMP 18.2.5 (release commit `37273117021129e96bd05d8277b140ec3fd61990`) and Bun >=1.3.14; OMP 18.2.4 remains a separately tested compatibility version. The extension API is trusted in-process code; OMP task isolation protects the child workspace/settings but is not an OS sandbox for extension code. See `docs/compatibility/` and `docs/security/` for the qualified matrix.
104
+ The supported native baseline is OMP 18.2.6 (release commit `78b753124d11f8dd3ae73e2524125890ff7c977e`) and Bun >=1.3.14; OMP 18.2.5 and 18.2.4 remain separately tested compatibility versions. The extension API is trusted in-process code; OMP task isolation protects the child workspace/settings but is not an OS sandbox for extension code. See `docs/compatibility/` and `docs/security/` for the qualified matrix.
82
105
 
83
106
  ## Model roles
84
107
 
85
- Bizar ships semantic native roles for coordination, research, planning, architecture, implementation, review, security, verification, and documentation. Installing the plugin registers visible, namespaced `bizar_*` roles in OMP's model menu and preserves operator-owned role mappings. To have the active agent inspect the authenticated models currently available to OMP, assign the best selectors it can, validate every assignment, and report unresolved roles, run:
108
+ Bizar ships semantic native roles for orchestration, advisory review, coordination, research, planning, architecture, implementation, review, security, verification, and documentation. Installing the plugin registers visible, namespaced `bizar_*` roles in OMP's model menu and preserves operator-owned role mappings. To have Bizar inspect the authenticated models currently available to OMP, assign the best selectors using its bounded local scorer, validate every assignment, and report unresolved roles, run:
86
109
 
87
110
  ```text
88
111
  /bizar-models
89
112
  ```
90
113
 
91
- `/bizar model-roles` remains a compatibility alias, and `/bizar-models health` validates the configured selectors without changing settings. The assignment command asks the active agent to use OMP 18.2.5's native model catalog and model-role settings, normalize irregular thinking metadata safely, choose assignments using actual capability metadata, preserve non-Bizar roles, validate native resolution, and report any role it could not assign. The plugin registers safe Bizar defaults so the roles are visible immediately; the agent can replace those defaults with concrete available selectors.
114
+ `/bizar model-roles` remains a compatibility alias, and `/bizar-models health` validates the configured selectors without changing settings. The assignment command uses OMP 18.2.6's native authenticated model catalog directly in the extension, normalizes irregular thinking metadata safely, chooses assignments using actual capability metadata, preserves non-Bizar roles, validates native resolution, and reports any role it could not assign. It is intentionally bounded and does not start a long planning or research turn. The plugin registers safe Bizar defaults so the roles are visible immediately; `/bizar-models` can replace those defaults with concrete available selectors.
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env node
2
+ import { type OmbSessionInfo } from "../omp/omb-sessions.js";
3
+ export declare function renderAgentsHub(sessions: OmbSessionInfo[], selected: number): string;
4
+ /** Run the small, keyboard-first cross-project session switcher. */
5
+ export declare function runAgentsHub(cwd?: string, _args?: string[], env?: NodeJS.ProcessEnv): Promise<number>;
6
+ //# sourceMappingURL=agents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../src/cli/agents.ts"],"names":[],"mappings":";AAQA,OAAO,EAAmB,KAAK,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAW9E,wBAAgB,eAAe,CAAC,QAAQ,EAAE,cAAc,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAsBpF;AAiED,oEAAoE;AACpE,wBAAsB,YAAY,CAChC,GAAG,SAAgB,EACnB,KAAK,GAAE,MAAM,EAAO,EACpB,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAAC,MAAM,CAAC,CAkCjB"}
@@ -0,0 +1,137 @@
1
+ #!/usr/bin/env node
2
+ import { randomBytes } from "node:crypto";
3
+ import { existsSync, statSync } from "node:fs";
4
+ import { homedir } from "node:os";
5
+ import { resolve } from "node:path";
6
+ import { createInterface } from "node:readline/promises";
7
+ import { stdin as input, stdout as output } from "node:process";
8
+ import { attachOmbSession, launchOmb } from "../omp/tmux.js";
9
+ import { listOmbSessions } from "../omp/omb-sessions.js";
10
+ function generatedSessionId() {
11
+ return `s-${Date.now().toString(36)}-${randomBytes(2).toString("hex")}`;
12
+ }
13
+ function sessionGroups(sessions) {
14
+ const projects = new Set(sessions.map(session => session.cwd));
15
+ return `${sessions.length} session${sessions.length === 1 ? "" : "s"} across ${projects.size} project${projects.size === 1 ? "" : "s"}`;
16
+ }
17
+ export function renderAgentsHub(sessions, selected) {
18
+ const lines = [
19
+ "Bizar Agents",
20
+ sessionGroups(sessions),
21
+ "",
22
+ "Enter attach n new session r refresh q quit",
23
+ "",
24
+ ];
25
+ if (sessions.length === 0) {
26
+ lines.push("No Bizar sessions are running.", "", "Press n to dispatch a new session.");
27
+ return `${lines.join("\n")}\n`;
28
+ }
29
+ for (const [index, session] of sessions.entries()) {
30
+ const marker = index === selected ? ">" : " ";
31
+ const status = session.state.padEnd(8);
32
+ const id = session.id === "main" ? "main" : session.id;
33
+ lines.push(`${marker} ${session.project}/${id} ${status} ${session.cwd}`);
34
+ }
35
+ lines.push("", "The hub manages Bizar's durable OMP sessions; other tmux sessions are left untouched.");
36
+ return `${lines.join("\n")}\n`;
37
+ }
38
+ function keyOf(data) {
39
+ const value = data.toString("utf8");
40
+ if (value === "\u0003" || value === "q" || value === "\u0004")
41
+ return "quit";
42
+ if (value === "\r" || value === "\n")
43
+ return "enter";
44
+ if (value === "j" || value === "\u001b[B")
45
+ return "down";
46
+ if (value === "k" || value === "\u001b[A")
47
+ return "up";
48
+ if (value === "n")
49
+ return "new";
50
+ if (value === "r")
51
+ return "refresh";
52
+ return "other";
53
+ }
54
+ function nextKey() {
55
+ return new Promise(resolveKey => {
56
+ const onData = (data) => resolveKey(keyOf(data));
57
+ input.once("data", onData);
58
+ });
59
+ }
60
+ async function promptLine(prompt) {
61
+ input.setRawMode?.(false);
62
+ input.resume();
63
+ const readline = createInterface({ input, output });
64
+ try {
65
+ return await readline.question(prompt);
66
+ }
67
+ finally {
68
+ readline.close();
69
+ input.setRawMode?.(true);
70
+ }
71
+ }
72
+ function restoreTerminal() {
73
+ input.setRawMode?.(false);
74
+ input.pause();
75
+ output.write("\u001b[?25h\u001b[0m\n");
76
+ }
77
+ function prepareTerminal() {
78
+ output.write("\u001b[?25l");
79
+ input.setRawMode?.(true);
80
+ input.resume();
81
+ }
82
+ async function dispatchSession(currentCwd, selected, env) {
83
+ const defaultCwd = selected?.cwd && selected.cwd !== "?" ? selected.cwd : currentCwd;
84
+ const requestedCwd = (await promptLine(`Project directory [${defaultCwd}]: `)).trim() || defaultCwd;
85
+ const expandedCwd = requestedCwd === "~" ? homedir() : requestedCwd.startsWith("~/") ? resolve(homedir(), requestedCwd.slice(2)) : requestedCwd;
86
+ const projectCwd = resolve(expandedCwd);
87
+ if (!existsSync(projectCwd) || !statSync(projectCwd).isDirectory()) {
88
+ output.write(`omb agents: not a directory: ${projectCwd}\n`);
89
+ return;
90
+ }
91
+ const task = (await promptLine("Describe a task for the new session (optional): ")).trim();
92
+ const requestedId = (await promptLine("Session name (blank=generated): ")).trim();
93
+ const sessionId = requestedId || generatedSessionId();
94
+ restoreTerminal();
95
+ await launchOmb(projectCwd, task ? [task] : [], env, sessionId);
96
+ }
97
+ /** Run the small, keyboard-first cross-project session switcher. */
98
+ export async function runAgentsHub(cwd = process.cwd(), _args = [], env = process.env) {
99
+ if (!input.isTTY || !output.isTTY) {
100
+ output.write("omb agents requires an interactive terminal.\n");
101
+ return 1;
102
+ }
103
+ let sessions = await listOmbSessions(cwd, env);
104
+ let selected = 0;
105
+ try {
106
+ while (true) {
107
+ selected = Math.min(selected, Math.max(0, sessions.length - 1));
108
+ output.write("\u001b[2J\u001b[H");
109
+ output.write(renderAgentsHub(sessions, selected));
110
+ prepareTerminal();
111
+ const key = await nextKey();
112
+ if (key === "quit")
113
+ return 0;
114
+ if (key === "up")
115
+ selected = Math.max(0, selected - 1);
116
+ else if (key === "down")
117
+ selected = Math.min(Math.max(0, sessions.length - 1), selected + 1);
118
+ else if (key === "refresh")
119
+ sessions = await listOmbSessions(cwd, env);
120
+ else if (key === "enter" && sessions[selected]) {
121
+ const session = sessions[selected];
122
+ restoreTerminal();
123
+ await attachOmbSession(session.name, session.cwd === "?" ? cwd : session.cwd, env);
124
+ sessions = await listOmbSessions(cwd, env);
125
+ }
126
+ else if (key === "new") {
127
+ restoreTerminal();
128
+ await dispatchSession(cwd, sessions[selected], env);
129
+ sessions = await listOmbSessions(cwd, env);
130
+ }
131
+ }
132
+ }
133
+ finally {
134
+ restoreTerminal();
135
+ }
136
+ }
137
+ //# sourceMappingURL=agents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agents.js","sourceRoot":"","sources":["../../src/cli/agents.ts"],"names":[],"mappings":"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"}
@@ -7,14 +7,14 @@ export declare function doctor(cwd?: string): {
7
7
  invalidLines: number;
8
8
  };
9
9
  omp: {
10
- readonly version: "18.2.5";
11
- readonly commit: "37273117021129e96bd05d8277b140ec3fd61990";
10
+ readonly version: "18.2.6";
11
+ readonly commit: "78b753124d11f8dd3ae73e2524125890ff7c977e";
12
12
  };
13
13
  bun: string;
14
14
  compatibility: {
15
15
  supportedBaseline: {
16
- readonly version: "18.2.5";
17
- readonly commit: "37273117021129e96bd05d8277b140ec3fd61990";
16
+ readonly version: "18.2.6";
17
+ readonly commit: "78b753124d11f8dd3ae73e2524125890ff7c977e";
18
18
  };
19
19
  bun: string;
20
20
  probe: import("../omp/compatibility.js").RuntimeProbe;
package/dist/cli/main.js CHANGED
File without changes
@@ -0,0 +1,7 @@
1
+ export interface ParsedOmbInvocation {
2
+ sessionId?: string;
3
+ ompArgs: string[];
4
+ }
5
+ export declare function parseOmbInvocation(args: string[]): ParsedOmbInvocation;
6
+ export declare function parseOmbCommand(args: string[]): ParsedOmbInvocation;
7
+ //# sourceMappingURL=omb-invocation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"omb-invocation.d.ts","sourceRoot":"","sources":["../../src/cli/omb-invocation.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,mBAAmB;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,mBAAmB,CAgBtE;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,mBAAmB,CAInE"}
@@ -0,0 +1,27 @@
1
+ import { randomBytes } from "node:crypto";
2
+ export function parseOmbInvocation(args) {
3
+ const ompArgs = [];
4
+ let sessionId;
5
+ for (let index = 0; index < args.length; index += 1) {
6
+ const arg = args[index];
7
+ if (arg === "--session" || arg === "--session-id") {
8
+ const value = args[++index];
9
+ if (!value || value.startsWith("--"))
10
+ throw new Error(`${arg} requires a value`);
11
+ sessionId = value;
12
+ }
13
+ else if (arg === "--new") {
14
+ sessionId = `s-${Date.now().toString(36)}-${randomBytes(2).toString("hex")}`;
15
+ }
16
+ else {
17
+ ompArgs.push(arg);
18
+ }
19
+ }
20
+ return { sessionId, ompArgs };
21
+ }
22
+ export function parseOmbCommand(args) {
23
+ return args[0] === "new"
24
+ ? parseOmbInvocation(["--new", ...args.slice(1)])
25
+ : parseOmbInvocation(args);
26
+ }
27
+ //# sourceMappingURL=omb-invocation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"omb-invocation.js","sourceRoot":"","sources":["../../src/cli/omb-invocation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAO1C,MAAM,UAAU,kBAAkB,CAAC,IAAc;IAC/C,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,SAA6B,CAAC;IAClC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,IAAI,GAAG,KAAK,WAAW,IAAI,GAAG,KAAK,cAAc,EAAE,CAAC;YAClD,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,GAAG,GAAG,mBAAmB,CAAC,CAAC;YACjF,SAAS,GAAG,KAAK,CAAC;QACpB,CAAC;aAAM,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;YAC3B,SAAS,GAAG,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/E,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IACD,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAc;IAC5C,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK;QACtB,CAAC,CAAC,kBAAkB,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACjD,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;AAC/B,CAAC"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=omb.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"omb.d.ts","sourceRoot":"","sources":["../../src/cli/omb.ts"],"names":[],"mappings":""}
@@ -0,0 +1,19 @@
1
+ #!/usr/bin/env node
2
+ import { runAgentsHub } from "./agents.js";
3
+ import { parseOmbCommand } from "./omb-invocation.js";
4
+ import { launchOmb } from "../omp/tmux.js";
5
+ try {
6
+ const args = process.argv.slice(2);
7
+ if (args[0] === "agents" || args[0] === "hub") {
8
+ process.exitCode = await runAgentsHub(process.cwd(), args.slice(1), process.env);
9
+ }
10
+ else {
11
+ const invocation = parseOmbCommand(args);
12
+ process.exitCode = await launchOmb(process.cwd(), invocation.ompArgs, process.env, invocation.sessionId);
13
+ }
14
+ }
15
+ catch (error) {
16
+ process.stderr.write(`omb: ${error instanceof Error ? error.message : String(error)}\n`);
17
+ process.exitCode = 1;
18
+ }
19
+ //# sourceMappingURL=omb.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"omb.js","sourceRoot":"","sources":["../../src/cli/omb.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,IAAI,CAAC;IACH,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC;QAC9C,OAAO,CAAC,QAAQ,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IACnF,CAAC;SAAM,CAAC;QACN,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;QACzC,OAAO,CAAC,QAAQ,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;IAC3G,CAAC;AACH,CAAC;AAAC,OAAO,KAAK,EAAE,CAAC;IACf,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACzF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;AACvB,CAAC"}
@@ -1,4 +1,5 @@
1
- import type { ObjectiveContract, RouteDecision, RouteTask, TrustPreset } from "./types.js";
1
+ import type { ObjectiveContract, RouteDecision, RouteTask, TrustPreset, WorkflowTier } from "./types.js";
2
+ export declare function workflowTierFor(task: RouteTask, route?: Pick<RouteDecision, "routeClass" | "intent" | "reasons">): WorkflowTier;
2
3
  export declare function classifyRoute(task: RouteTask): RouteDecision;
3
4
  export declare function objectiveHash(objective: ObjectiveContract): string;
4
5
  export declare function trustPolicy(preset: TrustPreset): {
@@ -1 +1 @@
1
- {"version":3,"file":"policies.d.ts","sourceRoot":"","sources":["../../src/core/policies.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAe,SAAS,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAWxG,wBAAgB,aAAa,CAAC,IAAI,EAAE,SAAS,GAAG,aAAa,CAmB5D;AAED,wBAAgB,aAAa,CAAC,SAAS,EAAE,iBAAiB,GAAG,MAAM,CAElE;AAQD,wBAAgB,WAAW,CAAC,MAAM,EAAE,WAAW;gBANE,OAAO;sBAAoB,OAAO;eAAa,OAAO;;EAMZ"}
1
+ {"version":3,"file":"policies.d.ts","sourceRoot":"","sources":["../../src/core/policies.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAe,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AActH,wBAAgB,eAAe,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,YAAY,GAAG,QAAQ,GAAG,SAAS,CAAC,GAAG,YAAY,CAY/H;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,SAAS,GAAG,aAAa,CAqB5D;AAED,wBAAgB,aAAa,CAAC,SAAS,EAAE,iBAAiB,GAAG,MAAM,CAElE;AAQD,wBAAgB,WAAW,CAAC,MAAM,EAAE,WAAW;gBANE,OAAO;sBAAoB,OAAO;eAAa,OAAO;;EAMZ"}
@@ -4,8 +4,25 @@ const hardSignals = [
4
4
  [/\b(debug|diagnos|root cause|incident|regression)\b/i, "root-cause analysis", "debugging"],
5
5
  [/\b(security|credential|secret|authorization|threat|trust boundary)\b/i, "security boundary", "security"],
6
6
  [/\b(architect|migration|schema|distributed|concurrency|recovery)\b/i, "architecture or recovery", "architecture"],
7
- [/\b(ui|ux|visual|accessibility|layout)\b/i, "interface design", "ui-design"],
7
+ [/\b(redesign|design system|accessibility audit|responsive architecture|visual overhaul|layout architecture)\b/i, "interface design", "ui-design"],
8
8
  ];
9
+ const focusedSignals = /\b(fix|style|styling|css|color|spacing|layout|typo|docs?|readme|format|rename|label|copy|text)\b/i;
10
+ const featureSignals = /\b(add|implement|build|create|introduce|refactor|rewrite|migrate|support|replace)\b/i;
11
+ export function workflowTierFor(task, route) {
12
+ const routeClass = route?.routeClass ?? classifyRoute(task).routeClass;
13
+ const files = task.files?.length ?? 1;
14
+ const bounded = files <= 4 && task.text.length < 800 && !task.ambiguity;
15
+ const focused = routeClass === "common"
16
+ && files <= 2
17
+ && task.text.length <= 320
18
+ && !task.ambiguity
19
+ && (focusedSignals.test(task.text) || !featureSignals.test(task.text));
20
+ if (focused)
21
+ return "focused";
22
+ if (routeClass === "hard" || !bounded)
23
+ return "full";
24
+ return "bounded";
25
+ }
9
26
  export function classifyRoute(task) {
10
27
  const roleWord = task.role?.match(/security|review|architect|debug|ui/i)?.[0]?.toLowerCase();
11
28
  const roleIntent = roleWord === "debug" ? "debugging" : roleWord === "ui" ? "ui-design" : roleWord;
@@ -23,11 +40,13 @@ export function classifyRoute(task) {
23
40
  }
24
41
  }
25
42
  const bounded = (task.files?.length ?? 1) <= 4 && task.text.length < 800 && !task.ambiguity;
26
- const routeClass = reasons.length || intent !== "general" ? "hard" : bounded ? "common" : "default";
43
+ const requiresHardLane = reasons.length > 0 || ["debugging", "security", "architecture", "review"].includes(intent) || (intent !== "general" && !bounded);
44
+ const routeClass = requiresHardLane ? "hard" : bounded ? "common" : "default";
27
45
  if (!reasons.length)
28
46
  reasons.push(bounded ? "bounded task" : "coordination or lookup task");
47
+ const workflowTier = workflowTierFor(task, { routeClass, intent, reasons });
29
48
  const modelRole = routeClass === "hard" ? "bizar_hard" : routeClass === "common" ? "bizar_common" : "bizar_default";
30
- return { routeClass, intent, modelRole, reason: `${routeClass}-${intent}-policy`, reasons, routingId: hash(JSON.stringify({ task, routeClass, intent })).slice(0, 20), fallbackChain: [] };
49
+ return { routeClass, workflowTier, intent, modelRole, reason: `${workflowTier}-${routeClass}-${intent}-policy`, reasons, routingId: hash(JSON.stringify({ task, routeClass, workflowTier, intent })).slice(0, 20), fallbackChain: [] };
31
50
  }
32
51
  export function objectiveHash(objective) {
33
52
  return hash(JSON.stringify(objective));
@@ -1 +1 @@
1
- {"version":3,"file":"policies.js","sourceRoot":"","sources":["../../src/core/policies.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"policies.js","sourceRoot":"","sources":["../../src/core/policies.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ export type JsonValue = JsonPrimitive | JsonValue[] | {
4
4
  };
5
5
  export type WorkflowPhase = "created" | "orienting" | "researching" | "planning" | "ready" | "executing" | "integrating" | "verifying" | "reviewing" | "complete" | "blocked" | "failed" | "cancelled";
6
6
  export type RouteClass = "default" | "common" | "hard";
7
+ export type WorkflowTier = "focused" | "bounded" | "full";
7
8
  export type RouteIntent = "general" | "coding" | "debugging" | "ui-design" | "review" | "security" | "architecture";
8
9
  export type TrustPreset = "trusted-development" | "restricted-managed" | "untrusted-repository";
9
10
  export type WorkItemLifecycle = "pending" | "admitted" | "running" | "settled" | "accepted" | "rejected" | "blocked" | "cancelled";
@@ -194,6 +195,7 @@ export interface RouteTask {
194
195
  }
195
196
  export interface RouteDecision {
196
197
  routeClass: RouteClass;
198
+ workflowTier: WorkflowTier;
197
199
  intent: RouteIntent;
198
200
  modelRole: "bizar_default" | "bizar_common" | "bizar_hard";
199
201
  reason: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,12 @@
1
+ import type { AvailableModel } from "./omp/model-role-assignment.js";
1
2
  interface NativeSettings {
2
3
  get(path: string): unknown;
3
4
  set?(path: string, value: unknown): void;
4
5
  }
5
6
  interface OmpModelQuery {
7
+ list?(): AvailableModel[];
6
8
  resolve?(spec: string): unknown;
9
+ family?(model: AvailableModel): string;
7
10
  }
8
11
  interface OmpContext {
9
12
  cwd?: string;
@@ -14,8 +17,6 @@ interface OmpContext {
14
17
  sessionManager?: {
15
18
  getSessionFile?: () => string | undefined;
16
19
  };
17
- /** OMP's graceful shutdown path restores raw-mode and alternate-screen state. */
18
- shutdown?: () => void;
19
20
  }
20
21
  interface ZodSchema<T> {
21
22
  readonly _output?: T;
@@ -1 +1 @@
1
- {"version":3,"file":"extension.d.ts","sourceRoot":"","sources":["../src/extension.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extension.d.ts","sourceRoot":"","sources":["../src/extension.ts"],"names":[],"mappings":"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"}