@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.
- package/README.md +39 -16
- package/dist/cli/agents.d.ts +6 -0
- package/dist/cli/agents.d.ts.map +1 -0
- package/dist/cli/agents.js +137 -0
- package/dist/cli/agents.js.map +1 -0
- package/dist/cli/doctor.d.ts +4 -4
- package/dist/cli/main.js +0 -0
- package/dist/cli/omb-invocation.d.ts +7 -0
- package/dist/cli/omb-invocation.d.ts.map +1 -0
- package/dist/cli/omb-invocation.js +27 -0
- package/dist/cli/omb-invocation.js.map +1 -0
- package/dist/cli/omb.d.ts +3 -0
- package/dist/cli/omb.d.ts.map +1 -0
- package/dist/cli/omb.js +19 -0
- package/dist/cli/omb.js.map +1 -0
- package/dist/core/policies.d.ts +2 -1
- package/dist/core/policies.d.ts.map +1 -1
- package/dist/core/policies.js +22 -3
- package/dist/core/policies.js.map +1 -1
- package/dist/core/types.d.ts +2 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/extension.d.ts +3 -2
- package/dist/extension.d.ts.map +1 -1
- package/dist/extension.js +30 -32
- package/dist/extension.js.map +1 -1
- package/dist/omp/autonomous-settings.d.ts.map +1 -1
- package/dist/omp/autonomous-settings.js +7 -0
- package/dist/omp/autonomous-settings.js.map +1 -1
- package/dist/omp/compatibility.d.ts +5 -5
- package/dist/omp/compatibility.d.ts.map +1 -1
- package/dist/omp/compatibility.js +2 -2
- package/dist/omp/compatibility.js.map +1 -1
- package/dist/omp/model-role-assignment.d.ts +15 -0
- package/dist/omp/model-role-assignment.d.ts.map +1 -1
- package/dist/omp/model-role-assignment.js +24 -10
- package/dist/omp/model-role-assignment.js.map +1 -1
- package/dist/omp/model-roles.d.ts +2 -0
- package/dist/omp/model-roles.d.ts.map +1 -1
- package/dist/omp/omb-sessions.d.ts +18 -0
- package/dist/omp/omb-sessions.d.ts.map +1 -0
- package/dist/omp/omb-sessions.js +78 -0
- package/dist/omp/omb-sessions.js.map +1 -0
- package/dist/omp/tmux.d.ts +13 -14
- package/dist/omp/tmux.d.ts.map +1 -1
- package/dist/omp/tmux.js +116 -38
- package/dist/omp/tmux.js.map +1 -1
- package/docs/compatibility/baseline.json +28 -4
- package/docs/compatibility/lifecycle-observation.md +1 -1
- package/docs/compatibility/supported-surfaces.json +30 -4
- package/docs/releases/0.4.0.md +14 -0
- package/docs/releases/0.4.1.md +13 -0
- package/docs/releases/native-stable.md +1 -1
- package/docs/releases/support-matrix.md +1 -1
- package/package.json +7 -3
- package/prompts/bizar-system.md +1 -1
- package/rules/bizar-core.md +5 -0
- package/rules/bizar-native-omp.md +1 -0
- package/skills/bizar-omp/SKILL.md +57 -0
- package/skills/omp-native-development/SKILL.md +1 -1
- package/skills/omp-native-development/references/accuracy-and-versioning.md +2 -2
- 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
|
+
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
62
|
-
tmux new-session -s bizar-omp -c "$PWD" omp
|
|
85
|
+
omb agents
|
|
63
86
|
```
|
|
64
87
|
|
|
65
|
-
|
|
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
|
|
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
|
|
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.
|
|
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
|
|
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
|
|
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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"}
|
package/dist/cli/doctor.d.ts
CHANGED
|
@@ -7,14 +7,14 @@ export declare function doctor(cwd?: string): {
|
|
|
7
7
|
invalidLines: number;
|
|
8
8
|
};
|
|
9
9
|
omp: {
|
|
10
|
-
readonly version: "18.2.
|
|
11
|
-
readonly commit: "
|
|
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.
|
|
17
|
-
readonly commit: "
|
|
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 @@
|
|
|
1
|
+
{"version":3,"file":"omb.d.ts","sourceRoot":"","sources":["../../src/cli/omb.ts"],"names":[],"mappings":""}
|
package/dist/cli/omb.js
ADDED
|
@@ -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"}
|
package/dist/core/policies.d.ts
CHANGED
|
@@ -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;
|
|
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"}
|
package/dist/core/policies.js
CHANGED
|
@@ -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(
|
|
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
|
|
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":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC,MAAM,IAAI,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAEjF,MAAM,WAAW,GAAyC;IACxD,CAAC,qDAAqD,EAAE,qBAAqB,EAAE,WAAW,CAAC;IAC3F,CAAC,uEAAuE,EAAE,mBAAmB,EAAE,UAAU,CAAC;IAC1G,CAAC,oEAAoE,EAAE,0BAA0B,EAAE,cAAc,CAAC;IAClH,CAAC,
|
|
1
|
+
{"version":3,"file":"policies.js","sourceRoot":"","sources":["../../src/core/policies.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC,MAAM,IAAI,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAEjF,MAAM,WAAW,GAAyC;IACxD,CAAC,qDAAqD,EAAE,qBAAqB,EAAE,WAAW,CAAC;IAC3F,CAAC,uEAAuE,EAAE,mBAAmB,EAAE,UAAU,CAAC;IAC1G,CAAC,oEAAoE,EAAE,0BAA0B,EAAE,cAAc,CAAC;IAClH,CAAC,+GAA+G,EAAE,kBAAkB,EAAE,WAAW,CAAC;CACnJ,CAAC;AAEF,MAAM,cAAc,GAAG,mGAAmG,CAAC;AAC3H,MAAM,cAAc,GAAG,sFAAsF,CAAC;AAE9G,MAAM,UAAU,eAAe,CAAC,IAAe,EAAE,KAAgE;IAC/G,MAAM,UAAU,GAAG,KAAK,EAAE,UAAU,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC;IACvE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;IACxE,MAAM,OAAO,GAAG,UAAU,KAAK,QAAQ;WAClC,KAAK,IAAI,CAAC;WACV,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,GAAG;WACvB,CAAC,IAAI,CAAC,SAAS;WACf,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACzE,IAAI,OAAO;QAAE,OAAO,SAAS,CAAC;IAC9B,IAAI,UAAU,KAAK,MAAM,IAAI,CAAC,OAAO;QAAE,OAAO,MAAM,CAAC;IACrD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAAe;IAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,qCAAqC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;IAC7F,MAAM,UAAU,GAA4B,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAmC,CAAC;IACvJ,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,IAAI,UAAU,CAAC;IAC3C,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,MAAM,GAAgB,QAAQ,IAAI,SAAS,CAAC;IAChD,IAAI,QAAQ;QAAE,OAAO,CAAC,IAAI,CAAC,YAAY,QAAQ,cAAc,CAAC,CAAC;IAC/D,KAAK,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,CAAC,IAAI,WAAW,EAAE,CAAC;QAC5D,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC;YAC7D,IAAI,CAAC,QAAQ,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAAE,MAAM,GAAG,cAAc,CAAC;YACnF,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACrB,MAAM;QACR,CAAC;IACH,CAAC;IACD,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;IAC5F,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1J,MAAM,UAAU,GAAG,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9E,IAAI,CAAC,OAAO,CAAC,MAAM;QAAE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC;IAC5F,MAAM,YAAY,GAAG,eAAe,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IAC5E,MAAM,SAAS,GAAG,UAAU,KAAK,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,eAAe,CAAC;IACpH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,YAAY,IAAI,UAAU,IAAI,MAAM,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC;AACzO,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,SAA4B;IACxD,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,OAAO,GAAgG;IAC3G,qBAAqB,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE;IACrF,oBAAoB,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE;IACpF,sBAAsB,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE;CACxF,CAAC;AAEF,MAAM,UAAU,WAAW,CAAC,MAAmB,IAAI,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC"}
|
package/dist/core/types.d.ts
CHANGED
|
@@ -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;
|
package/dist/core/types.d.ts.map
CHANGED
|
@@ -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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"}
|
package/dist/extension.d.ts
CHANGED
|
@@ -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;
|
package/dist/extension.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extension.d.ts","sourceRoot":"","sources":["../src/extension.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"extension.d.ts","sourceRoot":"","sources":["../src/extension.ts"],"names":[],"mappings":"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"}
|