Skip to content

feat: add support for omp - #19

Open
rcmorano wants to merge 5 commits into
tintinweb:masterfrom
rcmorano:feat/add-support-for-omp
Open

feat: add support for omp#19
rcmorano wants to merge 5 commits into
tintinweb:masterfrom
rcmorano:feat/add-support-for-omp

Conversation

@rcmorano

@rcmorano rcmorano commented Sep 6, 2026

Copy link
Copy Markdown

Add support for omp (oh-my-pi) as a host runtime

This extension currently targets pi. omp is a fork of pi with a legacy-compat layer that already remaps most of the extension's imports (@earendil-works/* → bundled host packages, bare typebox → omptype facade, StringEnum/getSettingsListTheme/SettingsList all served). A few real divergences blocked it from loading. This PR resolves them so the same package runs unmodified on both hosts.

Changes

Runtime compatibility (src/index.ts, src/gitnexus.ts)

  • before_agent_start: omp passes systemPrompt as string[] (pi: string). The old string-concatenation comma-mangled omp's prompt sections ("part one,part two"). Now branches on Array.isArray and appends the GitNexus note in the host's own shape.
  • SEARCH_TOOLS: added glob — omp renamed findglob.
  • extractPattern: routes glob through the existing find branch (omp's glob tool uses the path param, already covered).

Packaging (package.json)

  • Added an omp manifest section mirroring pi, so omp discovers the extension entry and bundled skills from the package manifest.

Marketplace (.omp-plugin/marketplace.json)

  • New catalog so the repo works as an omp marketplace source (local dir or git repo) via omp plugin marketplace add, not just the npm registry.

Docs (README.md)

  • Mention omp alongside pi; add a marketplace install section (remote-git + local-dir) with the pi-gitnexus@pi-gitnexus plugin id and the bare-dot / session-restart gotchas.

Verification

  • biome lint + tsc typecheck clean; 50 tests pass (2 new: pi-string and omp-string[] prompt shapes, the latter asserting no comma-mangle).
  • Installed into a live omp instance via omp install . and via the marketplace (using this PR's fork, which mimicks the end result omp plugin marketplace add rcmorano/pi-gitnexus && omp plugin install pi-gitnexus@pi-gitnexus)
  • RPC smoke test confirms the gitnexus command + subcommand completions register with zero extension_error frames.
    • Also tried directly installing directly from this PR's fork with `

Notes

  • read_many / find branches stay dead-but-harmless on omp (pi-only), preserving dual-host support.
  • The remote-git marketplace form isn't directly testable until the catalog is pushed to the upstream repo, but the GitHub-shorthand path and catalog format match omp's marketplace docs and the local-dir equivalent works.

before_agent_start: omp passes systemPrompt as string[] (pi: string); append the GitNexus note in the host's own shape instead of string-concatenating, which comma-mangled omp's prompt sections.

SEARCH_TOOLS: add glob (omp renamed find->glob).
extractPattern: route glob through the find branch (omp's glob tool uses the path param).
Add an omp section to package.json mirroring pi, so omp discovers the extension entry and bundled skills from the package manifest.
Assert the GitNexus note appends to pi's string prompt and to omp's string[] prompt without collapsing the array into a comma-joined string.
Ship .omp-plugin/marketplace.json so the repo works as an omp marketplace source (local dir or git repo) for 'omp plugin marketplace add'.
Mention omp alongside pi in the intro and install step. Add a marketplace install section covering the remote-git and local-dir forms, the pi-gitnexus@pi-gitnexus plugin id, and the bare-dot / session-restart gotchas.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant