@polderlabs/bizar-omp 0.4.2 → 0.4.4
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 +137 -62
- package/dist/cli/agents-ink.d.ts +3 -1
- package/dist/cli/agents-ink.d.ts.map +1 -1
- package/dist/cli/agents-ink.js +161 -25
- package/dist/cli/agents-ink.js.map +1 -1
- package/dist/cli/agents.d.ts.map +1 -1
- package/dist/cli/agents.js +15 -27
- package/dist/cli/agents.js.map +1 -1
- package/dist/cli/directory-selector.d.ts +20 -0
- package/dist/cli/directory-selector.d.ts.map +1 -0
- package/dist/cli/directory-selector.js +138 -0
- package/dist/cli/directory-selector.js.map +1 -0
- package/dist/cli/main.js +33 -3
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/setup-ui.d.ts +38 -0
- package/dist/cli/setup-ui.d.ts.map +1 -0
- package/dist/cli/setup-ui.js +90 -0
- package/dist/cli/setup-ui.js.map +1 -0
- package/dist/omp/omb-settings.d.ts +2 -0
- package/dist/omp/omb-settings.d.ts.map +1 -1
- package/dist/omp/omb-settings.js +5 -0
- package/dist/omp/omb-settings.js.map +1 -1
- package/docs/assets/bizar-omp-banner.svg +20 -0
- package/docs/assets/sponsored-by-polderlabs.svg +9 -0
- package/docs/compatibility/baseline.json +1 -1
- package/docs/releases/0.4.2.md +1 -1
- package/docs/releases/0.4.3.md +6 -0
- package/docs/releases/0.4.4.md +6 -0
- package/docs/releases/native-stable.md +1 -1
- package/docs/releases/support-matrix.md +1 -1
- package/package.json +1 -1
- package/skills/bizar-omp/SKILL.md +2 -2
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
const ANSI = {
|
|
2
|
+
reset: "\u001b[0m",
|
|
3
|
+
bold: "\u001b[1m",
|
|
4
|
+
dim: "\u001b[2m",
|
|
5
|
+
cyan: "\u001b[36m",
|
|
6
|
+
green: "\u001b[32m",
|
|
7
|
+
yellow: "\u001b[33m",
|
|
8
|
+
red: "\u001b[31m",
|
|
9
|
+
};
|
|
10
|
+
function trimForLine(value, width = 68) {
|
|
11
|
+
if (value.length <= width)
|
|
12
|
+
return value;
|
|
13
|
+
return `${value.slice(0, Math.max(1, width - 1))}…`;
|
|
14
|
+
}
|
|
15
|
+
function padLine(value, width = 68) {
|
|
16
|
+
return `│ ${trimForLine(value, width - 2).padEnd(width - 2)} │`;
|
|
17
|
+
}
|
|
18
|
+
/** Small, deterministic terminal reporter for the full installer. */
|
|
19
|
+
export class SetupUi {
|
|
20
|
+
color;
|
|
21
|
+
writer;
|
|
22
|
+
constructor(options = {}) {
|
|
23
|
+
this.color = options.color ?? true;
|
|
24
|
+
this.writer = options.writer ?? process.stdout;
|
|
25
|
+
}
|
|
26
|
+
paint(name, value) {
|
|
27
|
+
return this.color ? `${ANSI[name]}${value}${ANSI.reset}` : value;
|
|
28
|
+
}
|
|
29
|
+
write(line = "") {
|
|
30
|
+
this.writer.write(`${line}\n`);
|
|
31
|
+
}
|
|
32
|
+
header(options) {
|
|
33
|
+
const mode = options.dryRun ? "PLAN PREVIEW" : "FULL INSTALL";
|
|
34
|
+
const target = options.profile ? `profile: ${options.profile}` : "default profile";
|
|
35
|
+
this.write();
|
|
36
|
+
this.write(this.paint("cyan", "╭────────────────────────────────────────────────────────────────────╮"));
|
|
37
|
+
this.write(padLine(`${this.paint("bold", "BIZAR OMP")} ${mode}`));
|
|
38
|
+
this.write(padLine(`${options.packageSpec} · ${target}`));
|
|
39
|
+
this.write(padLine(`OMP host: ${options.omp || "omp on PATH"}`));
|
|
40
|
+
this.write(this.paint("cyan", "╰────────────────────────────────────────────────────────────────────╯"));
|
|
41
|
+
this.write();
|
|
42
|
+
if (options.dryRun)
|
|
43
|
+
this.info("No files, plugins, or settings will be changed.");
|
|
44
|
+
else
|
|
45
|
+
this.info("This configures the plugin and durable OMB commands for autonomous work.");
|
|
46
|
+
this.write();
|
|
47
|
+
}
|
|
48
|
+
phase(number, title, detail) {
|
|
49
|
+
this.write(` ${this.paint("cyan", `${number} ${title}`)} ${this.paint("dim", detail)}`);
|
|
50
|
+
}
|
|
51
|
+
success(title, detail) {
|
|
52
|
+
this.write(` ${this.paint("green", "✓")} ${title}${detail ? ` ${this.paint("dim", detail)}` : ""}`);
|
|
53
|
+
}
|
|
54
|
+
info(message) {
|
|
55
|
+
this.write(` ${this.paint("dim", "·")} ${this.paint("dim", message)}`);
|
|
56
|
+
}
|
|
57
|
+
warning(message) {
|
|
58
|
+
this.write(` ${this.paint("yellow", "!")} ${message}`);
|
|
59
|
+
}
|
|
60
|
+
failure(message) {
|
|
61
|
+
this.write(` ${this.paint("red", "✗")} ${message}`);
|
|
62
|
+
}
|
|
63
|
+
finish(report, options) {
|
|
64
|
+
this.write();
|
|
65
|
+
this.write(this.paint("cyan", "────────────────────────────────────────────────────────────────────"));
|
|
66
|
+
if (report.dryRun || options.dryRun) {
|
|
67
|
+
this.write(` ${this.paint("yellow", "Plan ready")}`);
|
|
68
|
+
this.write(` ${report.settings?.length ?? 0} autonomous setting change${report.settings?.length === 1 ? "" : "s"} would be applied.`);
|
|
69
|
+
this.write();
|
|
70
|
+
this.write(` Run ${this.paint("bold", `${options.packageSpec} setup`)} to apply this plan.`);
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
this.write(` ${this.paint("green", this.paint("bold", "Bizar OMP is ready."))}`);
|
|
74
|
+
this.write(` ${this.paint("dim", `${report.settings?.length ?? 0} autonomous setting change${report.settings?.length === 1 ? "" : "s"} applied.`)}`);
|
|
75
|
+
if (report.receipt)
|
|
76
|
+
this.write(` ${this.paint("dim", `Recovery receipt: ${report.receipt}`)}`);
|
|
77
|
+
this.write();
|
|
78
|
+
this.write(` ${this.paint("bold", "Start working")}`);
|
|
79
|
+
this.write(` ${this.paint("cyan", "omp")} direct OMP session`);
|
|
80
|
+
this.write(` ${this.paint("cyan", "omb")} durable tmux-backed session`);
|
|
81
|
+
this.write(` ${this.paint("cyan", "omb agents")} session switcher and new-session selector`);
|
|
82
|
+
if (report.restartRequired)
|
|
83
|
+
this.write(` ${this.paint("yellow", "Restart OMP if it was already running so it loads the new plugin.")}`);
|
|
84
|
+
this.write();
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
export function setupUiEnabled() {
|
|
88
|
+
return Boolean(process.stdout.isTTY) && !process.env.NO_COLOR;
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=setup-ui.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup-ui.js","sourceRoot":"","sources":["../../src/cli/setup-ui.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,8 @@ export interface OmbSettings {
|
|
|
2
2
|
autoAttachLatest: boolean;
|
|
3
3
|
mouseScrolling: boolean;
|
|
4
4
|
showStoppedSessions: boolean;
|
|
5
|
+
/** Optional root whose child directories are offered in the new-session picker. */
|
|
6
|
+
projectsFolder: string;
|
|
5
7
|
}
|
|
6
8
|
export declare const DEFAULT_OMB_SETTINGS: OmbSettings;
|
|
7
9
|
export declare function ombSettingsPath(env?: NodeJS.ProcessEnv): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"omb-settings.d.ts","sourceRoot":"","sources":["../../src/omp/omb-settings.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,WAAW;IAC1B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,cAAc,EAAE,OAAO,CAAC;IACxB,mBAAmB,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"omb-settings.d.ts","sourceRoot":"","sources":["../../src/omp/omb-settings.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,WAAW;IAC1B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,cAAc,EAAE,OAAO,CAAC;IACxB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,mFAAmF;IACnF,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,oBAAoB,EAAE,WAKlC,CAAC;AAEF,wBAAgB,eAAe,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAG5E;AAUD,wBAAgB,eAAe,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,WAAW,CAYjF;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,IAAI,CAIjG"}
|
package/dist/omp/omb-settings.js
CHANGED
|
@@ -5,6 +5,7 @@ export const DEFAULT_OMB_SETTINGS = {
|
|
|
5
5
|
autoAttachLatest: true,
|
|
6
6
|
mouseScrolling: true,
|
|
7
7
|
showStoppedSessions: false,
|
|
8
|
+
projectsFolder: "",
|
|
8
9
|
};
|
|
9
10
|
export function ombSettingsPath(env = process.env) {
|
|
10
11
|
const base = env.XDG_CONFIG_HOME || join(env.HOME || homedir(), ".config");
|
|
@@ -13,6 +14,9 @@ export function ombSettingsPath(env = process.env) {
|
|
|
13
14
|
function validBoolean(value, fallback) {
|
|
14
15
|
return typeof value === "boolean" ? value : fallback;
|
|
15
16
|
}
|
|
17
|
+
function validPath(value, fallback) {
|
|
18
|
+
return typeof value === "string" ? value.trim() : fallback;
|
|
19
|
+
}
|
|
16
20
|
export function loadOmbSettings(env = process.env) {
|
|
17
21
|
try {
|
|
18
22
|
const value = JSON.parse(readFileSync(ombSettingsPath(env), "utf8"));
|
|
@@ -20,6 +24,7 @@ export function loadOmbSettings(env = process.env) {
|
|
|
20
24
|
autoAttachLatest: validBoolean(value.autoAttachLatest, DEFAULT_OMB_SETTINGS.autoAttachLatest),
|
|
21
25
|
mouseScrolling: validBoolean(value.mouseScrolling, DEFAULT_OMB_SETTINGS.mouseScrolling),
|
|
22
26
|
showStoppedSessions: validBoolean(value.showStoppedSessions, DEFAULT_OMB_SETTINGS.showStoppedSessions),
|
|
27
|
+
projectsFolder: validPath(value.projectsFolder, DEFAULT_OMB_SETTINGS.projectsFolder),
|
|
23
28
|
};
|
|
24
29
|
}
|
|
25
30
|
catch {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"omb-settings.js","sourceRoot":"","sources":["../../src/omp/omb-settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"omb-settings.js","sourceRoot":"","sources":["../../src/omp/omb-settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAU1C,MAAM,CAAC,MAAM,oBAAoB,GAAgB;IAC/C,gBAAgB,EAAE,IAAI;IACtB,cAAc,EAAE,IAAI;IACpB,mBAAmB,EAAE,KAAK;IAC1B,cAAc,EAAE,EAAE;CACnB,CAAC;AAEF,MAAM,UAAU,eAAe,CAAC,GAAG,GAAsB,OAAO,CAAC,GAAG;IAClE,MAAM,IAAI,GAAG,GAAG,CAAC,eAAe,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;IAC3E,OAAO,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,YAAY,CAAC,KAAc,EAAE,QAAiB;IACrD,OAAO,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;AACvD,CAAC;AAED,SAAS,SAAS,CAAC,KAAc,EAAE,QAAgB;IACjD,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,GAAG,GAAsB,OAAO,CAAC,GAAG;IAClE,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAyB,CAAC;QAC7F,OAAO;YACL,gBAAgB,EAAE,YAAY,CAAC,KAAK,CAAC,gBAAgB,EAAE,oBAAoB,CAAC,gBAAgB,CAAC;YAC7F,cAAc,EAAE,YAAY,CAAC,KAAK,CAAC,cAAc,EAAE,oBAAoB,CAAC,cAAc,CAAC;YACvF,mBAAmB,EAAE,YAAY,CAAC,KAAK,CAAC,mBAAmB,EAAE,oBAAoB,CAAC,mBAAmB,CAAC;YACtG,cAAc,EAAE,SAAS,CAAC,KAAK,CAAC,cAAc,EAAE,oBAAoB,CAAC,cAAc,CAAC;SACrF,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,GAAG,oBAAoB,EAAE,CAAC;IACrC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,QAAqB,EAAE,GAAG,GAAsB,OAAO,CAAC,GAAG;IACzF,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;IAClC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC3D,aAAa,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AACjF,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 280" role="img" aria-labelledby="title desc">
|
|
2
|
+
<title id="title">BizarHarness OMP</title>
|
|
3
|
+
<desc id="desc">Autonomous engineering for oh-my-pi with evidence in the loop.</desc>
|
|
4
|
+
<rect width="1200" height="280" rx="18" fill="#0b1220"/>
|
|
5
|
+
<path d="M0 224h1200" stroke="#1e293b" stroke-width="2"/>
|
|
6
|
+
<path d="M0 56h1200" stroke="#1e293b" stroke-width="2"/>
|
|
7
|
+
<g transform="translate(72 72)">
|
|
8
|
+
<rect width="88" height="88" rx="14" fill="#0f766e"/>
|
|
9
|
+
<path d="M22 26h44v12H34v12h26v12H34v12h32v12H22z" fill="#ecfeff"/>
|
|
10
|
+
<circle cx="74" cy="22" r="8" fill="#38bdf8"/>
|
|
11
|
+
<circle cx="16" cy="74" r="8" fill="#fbbf24"/>
|
|
12
|
+
</g>
|
|
13
|
+
<text x="204" y="112" fill="#f8fafc" font-family="Inter,Segoe UI,Arial,sans-serif" font-size="58" font-weight="700" letter-spacing="2">BIZAR // OMP</text>
|
|
14
|
+
<text x="208" y="158" fill="#99f6e4" font-family="Inter,Segoe UI,Arial,sans-serif" font-size="23" letter-spacing="1">AUTONOMOUS ENGINEERING, WITH EVIDENCE IN THE LOOP</text>
|
|
15
|
+
<g fill="#38bdf8">
|
|
16
|
+
<circle cx="210" cy="207" r="5"/><circle cx="232" cy="207" r="5"/><circle cx="254" cy="207" r="5"/>
|
|
17
|
+
</g>
|
|
18
|
+
<text x="278" y="215" fill="#94a3b8" font-family="ui-monospace,SFMono-Regular,Menlo,monospace" font-size="18">workflows / sessions / verification / integration</text>
|
|
19
|
+
<text x="1080" y="244" text-anchor="end" fill="#64748b" font-family="ui-monospace,SFMono-Regular,Menlo,monospace" font-size="14">POLDERLABS</text>
|
|
20
|
+
</svg>
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 88" role="img" aria-labelledby="title desc">
|
|
2
|
+
<title id="title">Sponsored by PolderLabs</title>
|
|
3
|
+
<desc id="desc">Sponsored by PolderLabs.</desc>
|
|
4
|
+
<rect width="1200" height="88" rx="12" fill="#0b1220"/>
|
|
5
|
+
<path d="M42 25h38v12H54v14h26v12H54v14H42z" fill="#2dd4bf"/>
|
|
6
|
+
<text x="112" y="36" fill="#94a3b8" font-family="Inter,Segoe UI,Arial,sans-serif" font-size="14" letter-spacing="3">SPONSORED BY</text>
|
|
7
|
+
<text x="112" y="67" fill="#f8fafc" font-family="Inter,Segoe UI,Arial,sans-serif" font-size="25" font-weight="700" letter-spacing="2">POLDERLABS</text>
|
|
8
|
+
<text x="1158" y="53" text-anchor="end" fill="#5eead4" font-family="ui-monospace,SFMono-Regular,Menlo,monospace" font-size="15">polderlabs.io</text>
|
|
9
|
+
</svg>
|
package/docs/releases/0.4.2.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
- Replaces the agents hub renderer with a full-screen Ink TUI featuring a workspace rail, grouped sessions, selected-session inspector, live refresh, and modal settings, help, and delete views.
|
|
4
4
|
- Keeps the hub in the terminal alternate screen so exiting does not pollute shell scrollback.
|
|
5
5
|
- Keeps new-session prompts alive after Ink hands the terminal back to readline.
|
|
6
|
-
- Adds the complete `bizar-omp setup` installer
|
|
6
|
+
- Adds the complete `bizar-omp setup` installer as the full installation path for the global `omb` and `bizar-omp` commands, OMP plugin registration, and autonomous settings. Native `omp plugin install` remains available for extension-only installs.
|
|
7
7
|
- Returns interactive `omb` exits to the agents hub and safely detaches Ctrl-D/C without stopping the tmux host or interrupting OMP.
|
|
8
8
|
- Shows the native OMP session title in the agents hub, with deterministic task/project labels before auto-title generation completes, and isolates native journals per concurrent host.
|
|
9
9
|
- Qualifies the package against OMP 18.2.6 with the full test, package, documentation, security, and packed-install gates.
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
# 0.4.3
|
|
2
|
+
|
|
3
|
+
- Adds the polished full-install terminal dashboard for `bizar-omp setup`, including phase status, dry-run planning, recovery receipt details, next-step commands, and `--json` automation output.
|
|
4
|
+
- Adds the in-hub new-session selector with fuzzy directory search, parent and child navigation, recent project shortcuts, direct paths, task input, and session naming.
|
|
5
|
+
- Refreshes the public README with Bizar OMP branding, current installation guidance, session workflows, security boundaries, and PolderLabs sponsorship.
|
|
6
|
+
- Keeps the package qualified against OMP 18.2.6, with OMP 18.2.4 and 18.2.5 as regression-qualified versions.
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
# 0.4.4
|
|
2
|
+
|
|
3
|
+
- Makes `omb agents` explicitly global: every Bizar-owned session is shown and attachable regardless of the directory where the hub was opened.
|
|
4
|
+
- Adds a persisted Settings > Projects folder option for fast cross-project new-session dispatch.
|
|
5
|
+
- Indexes the configured projects folder and its immediate child directories while retaining recent paths, parent navigation, and direct absolute paths.
|
|
6
|
+
- Adds regression coverage for global session paths, settings persistence, and projects-folder indexing.
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
# Native release policy
|
|
2
2
|
|
|
3
|
-
The package is releasable when typecheck, tests, packed-install qualification, and documentation checks pass against the supported OMP/Bun baseline. A GitHub release is created from an exact `v<version>` tag; npm publication uses trusted publishing. See npm-publishing.md for setup and 0.4.
|
|
3
|
+
The package is releasable when typecheck, tests, packed-install qualification, and documentation checks pass against the supported OMP/Bun baseline. A GitHub release is created from an exact `v<version>` tag; npm publication uses trusted publishing. See npm-publishing.md for setup and 0.4.4.md for the current release notes. A passing release gate does not imply every native provider or worker route has been tested.
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
| Node | 22.x and 24.x in CI |
|
|
6
6
|
| Bun | 1.3.14 compatibility job |
|
|
7
7
|
| OMP | 18.2.6 at release commit `78b753124d11f8dd3ae73e2524125890ff7c977e`; 18.2.5 and 18.2.4 remain regression-qualified |
|
|
8
|
-
| Install | `omp
|
|
8
|
+
| Install | `npx --yes @polderlabs/bizar-omp setup` is the supported full install; `omp plugin install <package-spec>` is extension-only and `omp plugin link <checkout>` is for development |
|
|
9
9
|
| Security | Trusted in-process extension; native task isolation required for managed editing |
|
|
10
10
|
|
|
11
11
|
Upstream API changes require a new baseline entry and contract run; the package does not widen a version range to hide an unqualified runtime.
|
package/package.json
CHANGED
|
@@ -11,7 +11,7 @@ Use this skill when working in an OMP session with the BizarHarness plugin insta
|
|
|
11
11
|
|
|
12
12
|
Bizar is a native OMP engineering extension. It owns workflow intent, acceptance criteria, evidence freshness, route classification, dispatch admission, and integration eligibility. OMP remains the owner of sessions, providers, models, credentials, tools, native agents, task isolation, transcripts, and conversation state. Bizar does not start a second agent runtime or replace OMP's task system.
|
|
13
13
|
|
|
14
|
-
`
|
|
14
|
+
The supported full installation is `npx --yes @polderlabs/bizar-omp@<version> setup`. It globally installs the exact package version, installs and enables that same version through OMP's plugin manager, applies the autonomous preset, writes a recoverable receipt, and provides the `omb` and `bizar-omp` commands. Use `omp plugin install @polderlabs/bizar-omp@<version>` only for an extension-only installation or when developing a separate command installation. OMP's plugin manager cannot place npm executables on the shell `PATH`.
|
|
15
15
|
|
|
16
16
|
Use the native Bizar tools for the typed lifecycle:
|
|
17
17
|
|
|
@@ -45,7 +45,7 @@ The semantic roles include `bizar_orchestrator` for the main conversation and `b
|
|
|
45
45
|
|
|
46
46
|
- `omp` is the normal direct OMP launcher. Bizar must not take over its terminal or start tmux from an extension callback.
|
|
47
47
|
- `omb` is the explicit durable launcher supplied by this package. It starts OMP inside tmux from the first process, so terminal probes and raw input have one owner. Plain `omb` reconnects to the most recently active live Bizar session in the current directory, or creates that directory's stable default session when none exists.
|
|
48
|
-
- `omb new [initial message]` always creates a fresh session. `omb --session <id>` creates or reconnects to an additional named session, and `omb --new` creates a generated session id. `omb agents` opens the full-screen Ink session hub with a workspace rail, grouped session list, selected-session inspector, and modal settings/help/delete views. In that hub, Enter attaches, `n`
|
|
48
|
+
- `omb new [initial message]` always creates a fresh session. `omb --session <id>` creates or reconnects to an additional named session, and `omb --new` creates a generated session id. `omb agents` opens the full-screen Ink session hub with a workspace rail, grouped session list, selected-session inspector, and modal settings/help/delete/new-session views. In that hub, Enter attaches, `n` opens the new-session selector, `e` renames, `d` deletes after confirmation, `s` opens persistent launcher settings, Up/Down or `j`/`k` selects, `r` refreshes, `?` opens help, and `q` exits. The selector fuzzy-searches and browses directories, offers recent project paths, supports direct absolute paths, and collects the optional initial task and session name in the same TUI. The hub reads each host's native OMP session journal and prefers its configured or auto-generated title. While auto-titling is pending, it uses a deterministic first-task/project label and keeps the project/id as secondary identity. The hub only inspects Bizar-owned tmux sessions and does not replace OMP's native Agent Hub.
|
|
49
49
|
- `omb` enables tmux mouse mode by default so wheel scrolling stays in the pane instead of becoming prompt-history input; this can be changed in the hub Settings overlay. It avoids nested tmux sessions and runs noninteractive modes directly. `Ctrl-d` and `Ctrl-c` privately detach the Bizar client and return to the agents hub without sending EOF or interrupt input into OMP; `Ctrl-b d` remains available. The tmux host and background work continue. If the host pane exits, a later `omb` respawns the dead pane before reconnecting. Closing the client does not stop the tmux host.
|
|
50
50
|
|
|
51
51
|
The install preset enables asynchronous task execution and sets `display.pinnedAgents=full`, so every active task agent is visible in the live session and Agent Hub. Role definitions are not live sessions and are not spawned at install time; only agents actually delegated by the orchestrator appear in the hub. It also hides thinking blocks and model tool activity (`hideThinkingBlock` and `display.hideToolActivity`) while preserving the model's reasoning and task execution.
|