Skip to content

feat(cli-tools): add Prime Agent to the CLI agents catalog - #11166

Merged
diegosouzapw merged 1 commit into
cheaper-inference:release/v3.8.50from
arminanton:feat/prime-agent-cli-catalog
Aug 23, 2026
Merged

diegosouzapw merged 1 commit into
cheaper-inference:release/v3.8.50from
arminanton:feat/prime-agent-cli-catalog

Conversation

@arminanton

Copy link
Copy Markdown
Contributor

Summary

Adds Prime Agent (PrimeIntellect-ai/prime-agent) to the CLI agents catalog. Prime Agent is a self-improving RLM coding harness (MIT, TypeScript) whose LLM toolkit (prime-agent-ai) supports "any OpenAI-compatible API" plus a dedicated OpenAI Codex provider, so it can point at OmniRoute's OpenAI-compatible base URL exactly like codex/forge do.

What's in it

  • src/shared/constants/cliTools.ts: new prime-agent catalog entry (category agent, configType: custom, baseUrlSupport: full, acpSpawnable: false, defaultCommand: prime-agent).
  • src/shared/services/cliRuntime.ts: matching runtime entry (envBinKey: CLI_PRIME_AGENT_BIN, config .prime-agent/config.json).
  • Doc-count sync: README.md (34 → 35 tools) and docs/reference/CLI-TOOLS.md (CLI Agents 8 → 9, plus the table row), so the check-docs-counts-sync STRICT gate stays green.

Verification

  • node scripts/check/check-docs-counts-sync.mjs: CLI tools count matches (35).
  • tests/unit/cli-catalog-acpspawnable.test.ts: 26/26 pass.
  • open-sse typecheck gate: no new errors (frozen baseline).

Install for users: curl -fsSL https://app.primeintellect.ai/prime-agent/install.sh | sh, then pick a provider at first run via /login and point it at the OmniRoute base URL.

Registers PrimeIntellect-ai/prime-agent (self-improving RLM coding harness) as a
CLI agent with OpenAI-compatible base-url support, plus its runtime entry. Syncs
the docs counts (34 -> 35 tools; CLI Agents 8 -> 9).
Copilot AI lite review requested due to automatic review settings August 22, 2026 20:54

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@diegosouzapw
diegosouzapw merged commit 1135cbe into cheaper-inference:release/v3.8.50 Aug 23, 2026
9 of 16 checks passed
jonlwheat2-gif added a commit to jonlwheat2-gif/OmniRoute that referenced this pull request Aug 24, 2026
…nce#9985)

i18nUiCoverage ratchet read 99.4 vs baseline 100: recent merges
(cheaper-inference#11166/cheaper-inference#11178/cheaper-inference#11179/cheaper-inference#11224/cheaper-inference#11227/cheaper-inference#11283) shipped new UI keys without
mirroring them into the 41 non-en catalogs. Fill via the documented EN-
fallback convention (scripts/i18n/fill-missing-from-en.mjs semantics:
absent keys only, never overwrite) so every locale reaches parity;
translations can be refined in place later without touching code.
diegosouzapw pushed a commit that referenced this pull request Aug 25, 2026
…en mcp shard

None of these are cycle regressions. The Vitest job runs test:vitest (mcp shard)
then test:vitest:ui; the mcp shard was failing on a missing glm-5.3-max and aborted
the job before the ui shard ever ran. Fixing that shard this cycle unmasked 34 ui
failures that had been broken since 18-23 Aug — four separate PRs that moved a
contract and updated their own tests but not their siblings.

- ProviderCard gained useRouter() in #10448; four test files render it without
  mocking next/navigation and died on 'invariant expected app router to be mounted'.
  The sibling created alongside #10448 already had the mock — it just was not
  applied to the other four consumers.

- SkillCoverage gained a required config category. The four fixtures in
  agent-skills-page still described only api/cli, so the component read
  config.have off undefined. Values were chosen per scenario rather than pasted:
  full coverage gets 2/2 so its bar stays emerald, the amber fixture gets 3/4 so it
  stays amber. CoverageBar renders api -> config -> cli, so the new bar lands in the
  MIDDLE and the cli assertions moved from index [1] to [2]; without that the cli
  checks would have passed while measuring the config bar. The aria test now pins
  all three bars.

- CliAgentsPage hardcoded AGENT_IDS, which had already drifted once (6 -> 8 with
  omp/letta, per its own comment) and drifted again with prime-agent (#11166). It is
  now derived from CLI_TOOLS. This is why an agent missing from that list is not
  cosmetic: it never enters the status map, defaults to not_installed, and adds a
  phantom card to the filter and count tests. Deriving keeps the fixture in sync by
  construction instead of waiting for the next agent.

- claudeTlsClient asserted proxyUrl was undefined inside a test literally named
  'falls back to env var when per-call proxyUrl not provided' — it pinned the old
  behaviour where testOverride bypassed proxy resolution. #10910 moved resolution
  ahead of the override on purpose ('so test overrides and the real path both see
  it'), so the assertion now checks the fallback the test name promises.

test:vitest:ui goes from 34 failures to 14. The remaining 14 sit in six files none
of this commit touches (AutoComboCatalog, CoolingConnectionsPanel, ProxyRegistryManager
x2, connectionsSearchFilter) plus one claudeTlsClient case that passes in isolation
and only fails in the full run — i.e. cross-file pollution. They need a clean
environment to judge: this devbox resolves part of its tree through a stray pnpm
store and has already produced one phantom failure count this cycle.

Refs #10692
muhamadgalihsaputra pushed a commit to niyatna/NiyatnaRoute that referenced this pull request Sep 27, 2026
…nference#11166)

Validated on the combined batch board over tip e8ec7cb: static gates clean (changelog, file-size 160 frozen, complexity 2628<=2774, cognitive 1187<=1223, dead-code 408<=416, docs-counts green at 351 providers, provider-consistency 268/351/0), typecheck:core clean, 430+ focused tests green across 5 groups.

Prime Agent joins the CLI agents catalog with runtime entry + doc counts synced (35 tools; CLI-TOOLS.md row). cli-catalog-acpspawnable 26/26. Thank you @arminanton!
muhamadgalihsaputra pushed a commit to niyatna/NiyatnaRoute that referenced this pull request Sep 27, 2026
…en mcp shard

None of these are cycle regressions. The Vitest job runs test:vitest (mcp shard)
then test:vitest:ui; the mcp shard was failing on a missing glm-5.3-max and aborted
the job before the ui shard ever ran. Fixing that shard this cycle unmasked 34 ui
failures that had been broken since 18-23 Aug — four separate PRs that moved a
contract and updated their own tests but not their siblings.

- ProviderCard gained useRouter() in cheaper-inference#10448; four test files render it without
  mocking next/navigation and died on 'invariant expected app router to be mounted'.
  The sibling created alongside cheaper-inference#10448 already had the mock — it just was not
  applied to the other four consumers.

- SkillCoverage gained a required config category. The four fixtures in
  agent-skills-page still described only api/cli, so the component read
  config.have off undefined. Values were chosen per scenario rather than pasted:
  full coverage gets 2/2 so its bar stays emerald, the amber fixture gets 3/4 so it
  stays amber. CoverageBar renders api -> config -> cli, so the new bar lands in the
  MIDDLE and the cli assertions moved from index [1] to [2]; without that the cli
  checks would have passed while measuring the config bar. The aria test now pins
  all three bars.

- CliAgentsPage hardcoded AGENT_IDS, which had already drifted once (6 -> 8 with
  omp/letta, per its own comment) and drifted again with prime-agent (cheaper-inference#11166). It is
  now derived from CLI_TOOLS. This is why an agent missing from that list is not
  cosmetic: it never enters the status map, defaults to not_installed, and adds a
  phantom card to the filter and count tests. Deriving keeps the fixture in sync by
  construction instead of waiting for the next agent.

- claudeTlsClient asserted proxyUrl was undefined inside a test literally named
  'falls back to env var when per-call proxyUrl not provided' — it pinned the old
  behaviour where testOverride bypassed proxy resolution. cheaper-inference#10910 moved resolution
  ahead of the override on purpose ('so test overrides and the real path both see
  it'), so the assertion now checks the fallback the test name promises.

test:vitest:ui goes from 34 failures to 14. The remaining 14 sit in six files none
of this commit touches (AutoComboCatalog, CoolingConnectionsPanel, ProxyRegistryManager
x2, connectionsSearchFilter) plus one claudeTlsClient case that passes in isolation
and only fails in the full run — i.e. cross-file pollution. They need a clean
environment to judge: this devbox resolves part of its tree through a stray pnpm
store and has already produced one phantom failure count this cycle.

Refs cheaper-inference#10692
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.

3 participants