From 09d3a3c0cb7f010f42f6d2df47109b0c111a698c Mon Sep 17 00:00:00 2001 From: pierreraby Date: Wed, 28 Oct 2026 09:25:43 +0100 Subject: [PATCH] chore(models): refresh catalog to 1.88.1 and price GPT-6.1 Terra Sync the capability snapshot with the published command-code@1.88.1, which finally describes two models the CLI left undocumented: Kimi-K3.1-Pro gains image input, reasoning and low/high/max efforts instead of the conservative text-only defaults from 0.7.10, and the new gpt-6.1-terra arrives with image input, reasoning and five selectable efforts. No output limits are published for either model, so they keep the 65,536-token default. Add reviewed display pricing for gpt-6.1-terra from the official pricing page (2026-10-28): $1/$5 per million tokens with $0.05 cache read and $1.25 cache write up to 272K, and $2/$7.5 with $0.1/$2.5 above it. Without the entry the model silently displayed zero cost and the daily catalog job failed with a missing local price. --- CHANGELOG.md | 2 ++ README.md | 2 +- src/commandcode-catalog.ts | 10 ++++++++-- src/pricing.ts | 9 ++++++++- tests/fixtures/commandcode-model-ids.json | 3 ++- tests/fixtures/commandcode-pricing.json | 4 +++- tests/test-pricing.ts | 11 ++++++++++- 7 files changed, 34 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 679f278..ad5bfc8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +- Refresh the static capability snapshot to `command-code@1.88.1`, which publishes metadata for two models the CLI previously did not describe: `moonshotai/Kimi-K3.1-Pro` finally gains image input, reasoning, and selectable `low`/`high`/`max` efforts instead of the conservative text-only defaults it carried since 0.7.10, and the newly advertised `gpt-6.1-terra` arrives with image input, reasoning, and `low`/`medium`/`high`/`xhigh`/`max` efforts. Neither model publishes a model-specific output limit, so both keep the 65,536-token default. No other model metadata changed. +- Add reviewed display pricing for `gpt-6.1-terra`, verified against the official pricing page on 2026-10-28: $1 input / $5 output / $0.05 cache read / $1.25 cache write per million tokens up to 272K tokens, and $2 input / $7.5 output / $0.1 cache read / $2.5 cache write above that threshold. The reviewed snapshot now covers all 94 advertised models, so the daily catalog job stops reporting a missing price. - Stop counting Oh My Pi's skill-description pre-passes as agent requests in `test-omp-compat.mjs`. OMP 18.13 compresses skill descriptions into routing hints at start-up by calling the configured model once per skill, which added a second `POST /provider/v1/chat/completions` and failed the request-count assertion against an unmodified `main`. Pre-passes are now counted separately, keyed on their body shape (user messages only — agent turns always carry a system prompt), and keep the ordinary mock response under the `403 upgrade_required` scenario so the fallback stays the only failing path. Test-only change; verified against OMP 18.12.6 and 18.13.2. ## 0.7.10 - 2026-10-23 diff --git a/README.md b/README.md index f36b489..da51ad9 100644 --- a/README.md +++ b/README.md @@ -151,7 +151,7 @@ The following environment variables are intended for tests, local mocks, and com ## Image input -The provider advertises image input only for models marked with the `image` input modality in the official Command Code CLI model catalog. The capability snapshot currently follows `command-code@1.88.0`; unknown models default to text-only until their upstream metadata is reviewed. A daily GitHub Actions job synchronizes the CLI version, image capabilities, reasoning flags, reasoning efforts, and model-specific output limits with the latest published CLI package, also dropping manual effort overrides that upstream has published itself, and opens or updates a reviewable pull request when they change. Pricing remains manually reviewed because temporary promotions and long-context tiers require explicit review. +The provider advertises image input only for models marked with the `image` input modality in the official Command Code CLI model catalog. The capability snapshot currently follows `command-code@1.88.1`; unknown models default to text-only until their upstream metadata is reviewed. A daily GitHub Actions job synchronizes the CLI version, image capabilities, reasoning flags, reasoning efforts, and model-specific output limits with the latest published CLI package, also dropping manual effort overrides that upstream has published itself, and opens or updates a reviewable pull request when they change. Pricing remains manually reviewed because temporary promotions and long-context tiers require explicit review. For vision-capable models, Pi's native provider adapters forward image blocks from user messages and tool results using the documented OpenAI or Anthropic message schema. Unknown and text-only models remain marked text-only in Pi. diff --git a/src/commandcode-catalog.ts b/src/commandcode-catalog.ts index 4500564..b72ccbd 100644 --- a/src/commandcode-catalog.ts +++ b/src/commandcode-catalog.ts @@ -1,4 +1,4 @@ -export const COMMAND_CODE_CLI_VERSION = "1.88.0" +export const COMMAND_CODE_CLI_VERSION = "1.88.1" export type CommandCodeInputType = "text" | "image" export type CommandCodeReasoningEffort = @@ -11,7 +11,7 @@ export type CommandCodeReasoningEffort = | "max" /** - * Generated from command-code@1.88.0 by `npm run sync:commandcode-catalog`. + * Generated from command-code@1.88.1 by `npm run sync:commandcode-catalog`. * Do not edit manually. */ export const MODEL_INPUT_MODALITIES: Readonly> = { @@ -47,6 +47,7 @@ export const MODEL_INPUT_MODALITIES: Readonly> = { "gpt-6-luna": true, "gpt-6-sol": true, "gpt-6.1-sol": true, + "gpt-6.1-terra": true, "inclusionai/ling-3.1-flash": true, "meituan/LongCat-2.0": true, "meta/muse-spark-1.1": true, @@ -138,6 +141,7 @@ export const MODEL_REASONING: Readonly> = { "moonshotai/Kimi-K2.7-Code": true, "moonshotai/Kimi-K2.7-Code-Highspeed": true, "moonshotai/Kimi-K3": true, + "moonshotai/Kimi-K3.1-Pro": true, "nvidia/nemotron-3-ultra-550b-a55b": true, "nvidia/nemotron-3.5-super-vl": true, "ornith/ornith-1.5-122b": true, @@ -207,6 +211,7 @@ export const MODEL_EFFORTS: Readonly> = { cacheWrite: 2.5, tiers: [{ inputTokensAbove: 272_000, input: 4, output: 15, cacheRead: 0.2, cacheWrite: 5 }], }, + "gpt-6.1-terra": { + input: 1, + output: 5, + cacheRead: 0.05, + cacheWrite: 1.25, + tiers: [{ inputTokensAbove: 272_000, input: 2, output: 7.5, cacheRead: 0.1, cacheWrite: 2.5 }], + }, "gpt-6-sol": { input: 2, output: 10, diff --git a/tests/fixtures/commandcode-model-ids.json b/tests/fixtures/commandcode-model-ids.json index cbc7283..9a69b9c 100644 --- a/tests/fixtures/commandcode-model-ids.json +++ b/tests/fixtures/commandcode-model-ids.json @@ -1,5 +1,5 @@ { - "fetchedAt": "2026-10-23T20:45:35.357Z", + "fetchedAt": "2026-10-28T08:21:13.861Z", "source": "https://api.commandcode.ai/provider/v1/models", "modelIds": [ "claude-sonnet-5-5", @@ -15,6 +15,7 @@ "claude-haiku-4-5-20251001", "gpt-6-astra", "gpt-6.1-sol", + "gpt-6.1-terra", "gpt-6-sol", "gpt-6-luna", "gpt-5.6-sol", diff --git a/tests/fixtures/commandcode-pricing.json b/tests/fixtures/commandcode-pricing.json index dae9a90..ec96a46 100644 --- a/tests/fixtures/commandcode-pricing.json +++ b/tests/fixtures/commandcode-pricing.json @@ -1,5 +1,5 @@ { - "verifiedAt": "2026-10-23", + "verifiedAt": "2026-10-28", "source": "https://commandcode.ai/docs/resources/pricing-limits", "tierPolicy": "Use request-wide input tiers; the highest threshold exceeded by input plus cache tokens applies to the full request.", "tiers": { @@ -12,6 +12,7 @@ "claude-haiku-5-5": [[100000, 0.5, 2.5, 0.05, 0.625]], "gpt-6-astra": [[272000, 20, 75, 2, 25]], "gpt-6.1-sol": [[272000, 4, 15, 0.2, 5]], + "gpt-6.1-terra": [[272000, 2, 7.5, 0.1, 2.5]], "gpt-6-sol": [[272000, 4, 15, 0.4, 5]], "gpt-6-luna": [[272000, 0.2, 0.75, 0.02, 0.25]], "gpt-5.6-sol": [[272000, 10, 45, 1, 12.5]], @@ -95,6 +96,7 @@ "claude-haiku-4-5-20251001": [1, 5, 0.1, 1.25], "gpt-6-astra": [10, 50, 1, 12.5], "gpt-6.1-sol": [2, 10, 0.1, 2.5], + "gpt-6.1-terra": [1, 5, 0.05, 1.25], "gpt-6-sol": [2, 10, 0.2, 2.5], "gpt-6-luna": [0.1, 0.5, 0.01, 0.125], "gpt-5.6-sol": [5, 30, 0.5, 6.25], diff --git a/tests/test-pricing.ts b/tests/test-pricing.ts index 94a536e..956ad1b 100644 --- a/tests/test-pricing.ts +++ b/tests/test-pricing.ts @@ -257,6 +257,15 @@ describe("MODEL_COSTS pricing overlay", () => { cacheRead: 0.02, cacheWrite: 0.25, }) + assertCost("gpt-6.1-terra", { + input: 1, + output: 5, + cacheRead: 0.05, + cacheWrite: 1.25, + }) + assert.deepEqual(MODEL_COSTS["gpt-6.1-terra"]?.tiers, [ + { inputTokensAbove: 272_000, input: 2, output: 7.5, cacheRead: 0.1, cacheWrite: 2.5 }, + ]) assert.deepEqual(MODEL_COSTS["xai/grok-4.6"]?.tiers, [ { inputTokensAbove: 200_000, @@ -397,7 +406,7 @@ describe("MODEL_COSTS pricing overlay", () => { it("tracks pricing provenance", () => { assert.equal(PRICING_SOURCE_URL, "https://commandcode.ai/docs/resources/pricing-limits") - assert.equal(PRICING_LAST_VERIFIED, "2026-10-23") + assert.equal(PRICING_LAST_VERIFIED, "2026-10-28") }) it("fails once temporary pricing needs review", () => {