Files
fusion/plugins/fusion-plugin-omp-runtime
dependabot[bot] af3d78d2cd chore(deps-dev): bump vitest from 4.1.8 to 4.1.10 (#2446)
Bumps
[vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest)
from 4.1.8 to 4.1.10.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/vitest-dev/vitest/releases">vitest's
releases</a>.</em></p>
<blockquote>
<h2>v4.1.10</h2>
<h3>   🐞 Bug Fixes</h3>
<ul>
<li><strong>browser</strong>: Check fs access in builtin commands
[backport to v4]  -  by <a
href="https://github.com/hi-ogawa"><code>@​hi-ogawa</code></a>,
<strong>Hiroshi Ogawa</strong> and <strong>OpenCode
(claude-opus-4-8)</strong> in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/10680">vitest-dev/vitest#10680</a>
<a href="https://github.com/vitest-dev/vitest/commit/5c18dd267"><!-- raw
HTML omitted -->(5c18d)<!-- raw HTML omitted --></a></li>
<li><strong>vm</strong>: Fix external module resolve error with deps
optimizer query for encoded URI [backport to v4]  -  by <a
href="https://github.com/SveLil"><code>@​SveLil</code></a> and <a
href="https://github.com/hi-ogawa"><code>@​hi-ogawa</code></a> in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/10661">vitest-dev/vitest#10661</a>
<a href="https://github.com/vitest-dev/vitest/commit/bae52b511"><!-- raw
HTML omitted -->(bae52)<!-- raw HTML omitted --></a></li>
</ul>
<h5>    <a
href="https://github.com/vitest-dev/vitest/compare/v4.1.9...v4.1.10">View
changes on GitHub</a></h5>
<h2>v4.1.9</h2>
<h3>🐞 Bug Fixes</h3>
<ul>
<li>Fix <code>importOriginal</code> with optimizer and query import
[backport to v4] - by <strong>Hiroshi Ogawa</strong>, <strong>David
Harris</strong>, <strong>Codex</strong>and <strong>Vladimir</strong> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/10546">vitest-dev/vitest#10546</a>
<a href="https://github.com/vitest-dev/vitest/commit/a5180190c"><!-- raw
HTML omitted -->(a5180)<!-- raw HTML omitted --></a></li>
<li><strong>browser</strong>:
<ul>
<li>Wait for orchestrator readiness before resolving browser sessions
[backport to v4] - by <strong>Vladimir</strong> and <strong>Séamus
O'Connor</strong> in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/10555">vitest-dev/vitest#10555</a>
<a href="https://github.com/vitest-dev/vitest/commit/7fb29651a"><!-- raw
HTML omitted -->(7fb29)<!-- raw HTML omitted --></a></li>
<li>Wait for iframe tester readiness before preparing [backport to v4] -
by <strong>Vladimir</strong> and <strong>Séamus O'Connor</strong> in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/10497">vitest-dev/vitest#10497</a>
and <a
href="https://redirect.github.com/vitest-dev/vitest/issues/10556">vitest-dev/vitest#10556</a>
<a href="https://github.com/vitest-dev/vitest/commit/fbc626c40"><!-- raw
HTML omitted -->(fbc62)<!-- raw HTML omitted --></a></li>
</ul>
</li>
<li><strong>mocker</strong>:
<ul>
<li>Hoist vi.mock() for vite-plus/test imports [backport to v4] - by
<strong>Hiroshi Ogawa</strong>, <strong>LongYinan</strong>,
<strong>Claude Opus 4.8</strong> and <strong>Vladimir</strong> in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/10548">vitest-dev/vitest#10548</a>
<a href="https://github.com/vitest-dev/vitest/commit/2c9559c02"><!-- raw
HTML omitted -->(2c955)<!-- raw HTML omitted --></a></li>
</ul>
</li>
<li><strong>pool</strong>:
<ul>
<li>Prevent test run hang on worker crash [backport to v4] - by
<strong>Ari Perkkiö</strong> and <strong>Jattioui Ismail</strong> in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/10543">vitest-dev/vitest#10543</a>
and <a
href="https://redirect.github.com/vitest-dev/vitest/issues/10564">vitest-dev/vitest#10564</a>
<a href="https://github.com/vitest-dev/vitest/commit/934b0f587"><!-- raw
HTML omitted -->(934b0)<!-- raw HTML omitted --></a></li>
</ul>
</li>
</ul>
<h5><a
href="https://github.com/vitest-dev/vitest/compare/v4.1.8...v4.1.9">View
changes on GitHub</a></h5>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="db616d227b"><code>db616d2</code></a>
chore: release v4.1.10 (<a
href="https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/10718">#10718</a>)</li>
<li><a
href="bae52b5112"><code>bae52b5</code></a>
fix(vm): fix external module resolve error with deps optimizer query for
enco...</li>
<li><a
href="a7a61e78c7"><code>a7a61e7</code></a>
chore: release v4.1.9 (<a
href="https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/10598">#10598</a>)</li>
<li><a
href="934b0f587c"><code>934b0f5</code></a>
fix(pool): prevent test run hang on worker crash (<a
href="https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/10543">#10543</a>)
[backport to v4] (#...</li>
<li><a
href="7fb29651af"><code>7fb2965</code></a>
fix(browser): wait for orchestrator readiness before resolving browser
sessio...</li>
<li><a
href="a5180190c1"><code>a518019</code></a>
fix: fix <code>importOriginal</code> with optimizer and query import
[backport to v4] (#...</li>
<li>See full diff in <a
href="https://github.com/vitest-dev/vitest/commits/v4.1.10/packages/vitest">compare
view</a></li>
</ul>
</details>
<br />

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: gsxdsm <gsxdsm@users.noreply.github.com>
2026-07-27 19:40:08 -07:00
..
2026-07-26 18:11:47 -07:00
…

fusion-plugin-omp-runtime

Oh My Pi (omp) CLI-backed provider/runtime plugin for Fusion. Agent sessions use native ACP (omp acp) for realtime streaming, tool visibility, and multi-turn reuse.

Install

This plugin is staged with Fusion runtime plugins. It shells out to an operator-installed omp binary on PATH — Fusion never downloads or bundles the CLI itself.

External integration evidence

Per AGENTS.md (External-integration evidence):

Contract summary

Item Value
Plugin ID fusion-plugin-omp-runtime
Runtime ID omp
Provider ID omp-cli
Binary probe omp --version
ACP launch omp acp (equiv. omp --mode acp)
Optional model omp --model <id> acp
Auth omp agent method — reuses ~/.omp provider keys / OAuth

Agent session path — ACP (primary)

OmpRuntimeAdapter drives omp’s native ACP server with a vendored ACP client (copied under src/acp/, not imported from fusion-plugin-acp-runtime):

omp acp
# optional model:
omp --model claude-sonnet-4 acp
  • Realtime streaming — ACP session/update notifications map to Fusion onText / onThinking / onToolStart / onToolEnd.
  • Multi-turn — one createSession keeps the ACP connection; each promptWithFallback is a session/prompt on the same session.
  • Permissions — omp tool calls surface as session/request_permission and go through Fusion’s per-category action gate.
  • Auth — after initialize, Fusion prefers the agent auth method (credentials under ~/.omp). Terminal/TUI login is not preferred for headless Fusion.
  • Env — subprocess env is allow-listed (HOME/PATH/XDG + common provider key names). Full process.env is never inherited.

See https://omp.sh/docs/acp for the upstream protocol surface (slash commands, _omp/* extensions, wire debugging).

Enable in Fusion

  1. Install & authenticate omp (omp --version; credentials under ~/.omp).
  2. Install/enable this plugin (staged bundled runtime).
  3. Settings → Authentication → Oh My Pi — via omp ACP → Enable (optional binary path).
  4. Either:
    • Agent → Runtime Source: Runtime → OMP Runtime (runtimeHint: "omp"), or
    • Pick an omp-cli/* model when the toggle is on (from omp models).

Fusion tools (fn_*)

Engine customTools (board/task/agent tools such as fn_task_list) are exposed to omp as MCP server fusion-custom-tools:

  1. OmpRuntimeAdapter starts a loopback HTTP bridge holding the in-process ToolDefinition.execute closures.
  2. Session session/new.mcpServers includes a stdio MCP child (mcp-schema-server.cjs) that implements tools/list + tools/call and POSTs calls to the bridge (FUSION_OMP_TOOL_BRIDGE_URL).
  3. Operator-configured MCP servers are forwarded alongside (stdio/http/sse).
  4. System rules tell omp to prefer fusion-custom-tools for Fusion board ops.

Known v1 gaps

Gap Status
Auto-route omp-cli/* without explicit Runtime Source Partial — models surface when Enable is on; prefer runtimeHint: "omp" for agent lanes
Mid-session Fusion model picker changes Not wired — model is fixed at omp --model … acp spawn

Settings (ACP spawn bag)

Built internally by buildOmpAcpRuntimeSettings:

Key Default Meaning
acpBinaryPath omp Agent binary
acpArgs ["acp"] ACP mode args
acpModel omp/default Model id for describeModel / optional --model
acpEnvAllowList see OMP_ACP_ENV_ALLOWLIST Env names forwarded
acpFsRead / acpFsWrite false Client-side ACP fs capabilities (opt-in)
acpAllowUnrestricted true Operator-selected first-party CLI posture
acpAuthenticate.preferMethods ["agent","terminal"] Post-initialize auth

Development

pnpm --filter @fusion-plugin-examples/omp-runtime test
pnpm --filter @fusion-plugin-examples/omp-runtime build

Notes

  • Do not invent release checksums for the operator’s omp binary.
  • Generic multi-agent ACP (any binary) remains fusion-plugin-acp-runtime; this plugin is the omp-specific first-class path with sane defaults.