@lmctl-ai/lmctl 0.1.342 → 0.2.3
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/CHANGELOG.md +116 -0
- package/README.md +11 -51
- package/data/price-aliases.json +1 -0
- package/data/price-data.json +1 -1
- package/dist/cli/batch.d.ts +2 -0
- package/dist/cli/busy-evidence.d.ts +27 -0
- package/dist/cli/chat-cycle.d.ts +59 -0
- package/dist/cli/chat-exec.d.ts +83 -0
- package/dist/cli/chat-policy.d.ts +22 -0
- package/dist/cli/chat.d.ts +23 -0
- package/dist/cli/code-resolver.d.ts +8 -0
- package/dist/cli/common.d.ts +54 -0
- package/dist/cli/context.d.ts +12 -0
- package/dist/cli/cost.d.ts +2 -0
- package/dist/cli/export.d.ts +2 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.js +1062 -1400
- package/dist/cli/infra.d.ts +78 -0
- package/dist/cli/ls.d.ts +2 -0
- package/dist/cli/mailbox-cli.d.ts +6 -0
- package/dist/cli/managed.d.ts +62 -0
- package/dist/cli/mcp-install.d.ts +23 -0
- package/dist/cli/mcp.d.ts +2 -0
- package/dist/cli/paths.d.ts +50 -0
- package/dist/cli/plan-wizard.d.ts +42 -0
- package/dist/cli/plan.d.ts +20 -0
- package/dist/cli/queue-delivery.d.ts +107 -0
- package/dist/cli/ratelimit.d.ts +3 -0
- package/dist/cli/remote-fetch.d.ts +7 -0
- package/dist/cli/run-queries.d.ts +82 -0
- package/dist/cli/running.d.ts +5 -0
- package/dist/cli/schema.sql +20 -1
- package/dist/cli/script.d.ts +6 -0
- package/dist/cli/script.js +2097 -0
- package/dist/cli/self-identity.d.ts +25 -0
- package/dist/cli/session-idle.d.ts +118 -0
- package/dist/cli/status.d.ts +22 -0
- package/dist/cli/tail.d.ts +18 -0
- package/dist/cli/target-resolver.d.ts +139 -0
- package/dist/cli/team-status.d.ts +91 -0
- package/dist/cli/teamfile-compat.d.ts +71 -0
- package/dist/cli/teamfile-store.d.ts +18 -0
- package/dist/cli/teamfile-template.d.ts +40 -0
- package/dist/cli/template-env.d.ts +25 -0
- package/dist/cli/terminal-lock.d.ts +25 -0
- package/dist/cli/terminal.d.ts +23 -0
- package/dist/cli/time-filter.d.ts +10 -0
- package/dist/cli/update-notifier.d.ts +11 -0
- package/dist/cli/version-util.d.ts +2 -0
- package/dist/config/seed_templates.d.ts +1 -0
- package/dist/db/backfill-event-log.d.ts +26 -0
- package/dist/db/delegation.d.ts +37 -0
- package/dist/db/escalation_vocab.d.ts +45 -0
- package/dist/db/event-log.d.ts +40 -0
- package/dist/db/index.d.ts +1213 -0
- package/dist/db/inflight-acquire.d.ts +70 -0
- package/dist/db/invocation-event-projections.d.ts +65 -0
- package/dist/db/ledger-identity.test.d.ts +1 -0
- package/dist/db/live-event-projections.d.ts +92 -0
- package/dist/db/migrate.d.ts +51 -0
- package/dist/db/open-readonly.d.ts +2 -0
- package/dist/db/process-liveness.d.ts +37 -0
- package/dist/db/sqlite.d.ts +47 -0
- package/dist/db/sqlite.test.d.ts +1 -0
- package/dist/db/terminal-lock.d.ts +14 -0
- package/dist/db/tracked-invocation-reconcile.d.ts +52 -0
- package/dist/db/tracked-invocation.d.ts +116 -0
- package/dist/mcp/dispatch.d.ts +45 -0
- package/dist/mcp/mediation.d.ts +128 -0
- package/dist/mcp/path-warning.d.ts +7 -0
- package/dist/mcp/server.d.ts +63 -0
- package/dist/mcp/tools.d.ts +24 -0
- package/dist/providers/adapter.d.ts +265 -0
- package/dist/providers/adapters/agy-adapter.d.ts +17 -0
- package/dist/providers/adapters/claude-adapter.d.ts +20 -0
- package/dist/providers/adapters/codex-adapter.d.ts +22 -0
- package/dist/providers/adapters/copilot-adapter.d.ts +16 -0
- package/dist/providers/adapters/dsh-adapter.d.ts +89 -0
- package/dist/providers/adapters/gemini-adapter.d.ts +44 -0
- package/dist/providers/adapters/hermes-adapter.d.ts +71 -0
- package/dist/providers/adapters/index.d.ts +35 -0
- package/dist/providers/adapters/kimi-adapter.d.ts +16 -0
- package/dist/providers/adapters/lmplayer-adapter.d.ts +14 -0
- package/dist/providers/adapters/opencode-adapter.d.ts +11 -0
- package/dist/providers/adapters/pi-adapter.d.ts +17 -0
- package/dist/providers/adapters/print-turn.d.ts +29 -0
- package/dist/providers/adapters/qwen-adapter.d.ts +11 -0
- package/dist/providers/agy.d.ts +32 -0
- package/dist/providers/base-adapter.d.ts +107 -0
- package/dist/providers/base.d.ts +12 -0
- package/dist/providers/binary-check.d.ts +102 -0
- package/dist/providers/bundle.d.ts +118 -0
- package/dist/providers/claude-mock.d.ts +90 -0
- package/dist/providers/claude.d.ts +21 -0
- package/dist/providers/codex-config.d.ts +15 -0
- package/dist/providers/codex.d.ts +25 -0
- package/dist/providers/config/model-selection-lint.d.ts +45 -0
- package/dist/providers/config/team-config.d.ts +183 -0
- package/dist/providers/config/types.d.ts +146 -0
- package/dist/providers/config/user-config.d.ts +88 -0
- package/dist/providers/copilot.d.ts +21 -0
- package/dist/providers/debug.d.ts +128 -0
- package/dist/providers/dsh-sidecar.d.ts +65 -0
- package/dist/providers/dsh-zstd.d.ts +27 -0
- package/dist/providers/dsh.d.ts +37 -0
- package/dist/providers/frontmatter.d.ts +46 -0
- package/dist/providers/gemini-session-reader.d.ts +151 -0
- package/dist/providers/gemini.d.ts +39 -0
- package/dist/providers/hermes.d.ts +90 -0
- package/dist/providers/index.d.ts +421 -0
- package/dist/providers/kimi.d.ts +37 -0
- package/dist/providers/model-catalog.d.ts +141 -0
- package/dist/providers/one-shot-timeout.d.ts +1 -0
- package/dist/providers/opencode-config.d.ts +62 -0
- package/dist/providers/opencode.d.ts +40 -0
- package/dist/providers/parsers/acp.d.ts +47 -0
- package/dist/providers/parsers/codex-app-server.d.ts +60 -0
- package/dist/providers/parsers/stream-json.d.ts +57 -0
- package/dist/providers/passive-readers/agy.d.ts +155 -0
- package/dist/providers/passive-readers/copilot.d.ts +173 -0
- package/dist/providers/passive-readers/dsh.d.ts +34 -0
- package/dist/providers/passive-readers/kimi.d.ts +44 -0
- package/dist/providers/passive-readers/opencode.d.ts +89 -0
- package/dist/providers/passive-readers/qwen.d.ts +151 -0
- package/dist/providers/passive-readers/shared.d.ts +138 -0
- package/dist/providers/passive-session-reader.d.ts +188 -0
- package/dist/providers/path-utils.d.ts +1 -0
- package/dist/providers/pi.d.ts +32 -0
- package/dist/providers/pricing.d.ts +107 -0
- package/dist/providers/qwen.d.ts +22 -0
- package/dist/providers/ratelimit-readings.d.ts +32 -0
- package/dist/providers/registry.d.ts +31 -0
- package/dist/providers/resume.d.ts +43 -0
- package/dist/providers/seed-instruction.d.ts +3 -0
- package/dist/providers/self-session-env.d.ts +21 -0
- package/dist/providers/session-limit.d.ts +9 -0
- package/dist/providers/strip-ansi.d.ts +5 -0
- package/dist/providers/transport-errors.d.ts +94 -0
- package/dist/providers/transport-lifecycle.d.ts +63 -0
- package/dist/providers/transport-wrappers.d.ts +110 -0
- package/dist/providers/transports/acp-profiles/config-option-step.d.ts +24 -0
- package/dist/providers/transports/acp-profiles/copilot.d.ts +12 -0
- package/dist/providers/transports/acp-profiles/gemini.d.ts +22 -0
- package/dist/providers/transports/acp-profiles/hermes.d.ts +27 -0
- package/dist/providers/transports/acp-profiles/index.d.ts +19 -0
- package/dist/providers/transports/acp-profiles/kimi.d.ts +24 -0
- package/dist/providers/transports/acp-profiles/opencode.d.ts +26 -0
- package/dist/providers/transports/acp-profiles/types.d.ts +258 -0
- package/dist/providers/transports/acp-rpc.d.ts +18 -0
- package/dist/providers/transports/acp.d.ts +215 -0
- package/dist/providers/transports/codex-app-server.d.ts +190 -0
- package/dist/providers/transports/hold-open.d.ts +120 -0
- package/dist/providers/transports/manager.d.ts +21 -0
- package/dist/providers/transports/stream-json.d.ts +162 -0
- package/dist/providers/transports/types.d.ts +56 -0
- package/dist/providers/types.d.ts +154 -0
- package/dist/providers/yolo-contract.d.ts +131 -0
- package/dist/script/adapter.d.ts +101 -0
- package/dist/script/batch-script.d.ts +7 -0
- package/dist/script/index.d.ts +3 -0
- package/dist/script/lmscript.d.ts +550 -0
- package/dist/shared/policy.d.ts +74 -0
- package/dist/shared-lib/db.d.ts +25 -0
- package/dist/shared-lib/passive-session-reader.d.ts +2 -0
- package/dist/shared-lib/provider-parse.d.ts +6 -0
- package/dist/templates/basedir.d.ts +52 -0
- package/dist/uri/lmctl_uri.d.ts +38 -0
- package/durable-memory/model_selection.md +122 -25
- package/examples/README.md +103 -0
- package/examples/anonymous-panel.lms +3 -0
- package/examples/batch-prompts.txt +9 -0
- package/examples/batchscript.lms +67 -0
- package/examples/n8n/agent-lib.lms +56 -0
- package/examples/n8n/git-lib.lms +93 -0
- package/examples/n8n/mock-support.db +0 -0
- package/examples/n8n/multi-agent-review.lms +107 -0
- package/examples/n8n/news-digest.lms +159 -0
- package/examples/n8n/rag-search.lms +163 -0
- package/examples/n8n/support-agent.lms +88 -0
- package/examples/n8n/ticket-triage.lms +156 -0
- package/package.json +13 -17
- package/dist/cli/side_effect_classifier.json +0 -19
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,122 @@ All notable public-preview changes for `@lmctl-ai/lmctl` are recorded here.
|
|
|
4
4
|
|
|
5
5
|
## Unreleased
|
|
6
6
|
|
|
7
|
+
- **Shared output formatting via `@lmctl-ai/lmformat` (behavior).** All
|
|
8
|
+
human-readable CLI output now uses the lmformat library, vendored at
|
|
9
|
+
`vendor/lmctl-ai-lmformat-0.7.0.tgz` until the package is published:
|
|
10
|
+
- `status` and `ls` tables render with auto-sized columns and
|
|
11
|
+
right-aligned numeric columns (replacing hand-computed padding).
|
|
12
|
+
- Token counts are compacted everywhere (`960K in / 85K out (cached:
|
|
13
|
+
15.8M)` in `cost`, and in `status` single-member view).
|
|
14
|
+
- Durations unify on the two-unit style (`2h 5m`, `3m 12s`), ages carry
|
|
15
|
+
an `ago` suffix (`10m ago`), and week units kick in past 7 days.
|
|
16
|
+
- `running` and `ratelimit` render sectioned grids: standalone section
|
|
17
|
+
headings, a blank line between sections, one measured width set shared
|
|
18
|
+
across sections, column headers printed once above the first section,
|
|
19
|
+
bare cell values (no `model=`/`used`/`resets` in-cell labels), and the
|
|
20
|
+
open-ended timing column last.
|
|
21
|
+
- `ratelimit` reset countdowns are two-unit precise (`in 2d 4h`,
|
|
22
|
+
`13h ago`) and section headings use local `hh:mm:ss` — absolute ISO
|
|
23
|
+
timestamps moved to `--json`.
|
|
24
|
+
- **`ls --format table` MODIFIED is now relative (`3d ago`)** instead of
|
|
25
|
+
an absolute ISO timestamp; use `--format json` for exact timestamps.
|
|
26
|
+
- `--json` output, stderr narration, and stored timestamps are unchanged.
|
|
27
|
+
|
|
28
|
+
## 0.2.1 — 2026-09-24
|
|
29
|
+
|
|
30
|
+
- **`lmctl batch --bundle` (feature).** Batch can now send all prompts through
|
|
31
|
+
ONE provider process instead of respawning per paragraph, and holds the
|
|
32
|
+
member's in-flight lease for the whole bundle — an interloper chat can no
|
|
33
|
+
longer steal the session between prompts and abort the run. Supported for
|
|
34
|
+
every bundle-capable provider: the ACP five (`gemini`, `copilot`, `opencode`,
|
|
35
|
+
`kimi`, `hermes`), stream-json (`claude`, `qwen`), `codex` (app-server), and
|
|
36
|
+
`dsh` (sidecar). Per-turn bookkeeping (chat pointer, tracked_invocation under
|
|
37
|
+
the batch root, team_chat_log rows with `message_type=batch`) is unchanged.
|
|
38
|
+
Bundle resume is strict everywhere: ACP `session/load` must echo the exact
|
|
39
|
+
teamfile session id, stream-json verifies the on-disk session file's header
|
|
40
|
+
(at open and between prompts), codex disables its thread/start fallback, and
|
|
41
|
+
dsh requires the session file to exist. Cancellation keeps the bundle alive
|
|
42
|
+
where the transport has a cancel verb (ACP `session/cancel`, codex
|
|
43
|
+
`turn/interrupt`) and is terminal where it does not (stream-json, dsh). A
|
|
44
|
+
provider-process exit mid-bundle aborts with the completed prompt count;
|
|
45
|
+
lease loss between prompts aborts with a clear message. Refused (exit 2) for
|
|
46
|
+
agy/pi/lmplayer, and for providers with an `agent=` override in the user
|
|
47
|
+
config.
|
|
48
|
+
|
|
49
|
+
- **lmprice model-catalog integration (feature, non-breaking).** The lmprice
|
|
50
|
+
published dataset (`model_list.json` + `aliases.json`) is now lmctl's model
|
|
51
|
+
source of truth:
|
|
52
|
+
- `lint`/`seed` resolve `model=` for `claude`, `gemini`, `qwen`, and
|
|
53
|
+
`hermes` against the catalog instead of static tested-model lists (which
|
|
54
|
+
are removed). Catalog misses warn
|
|
55
|
+
(`model "x" not found in lmprice catalog … provider may still accept it`)
|
|
56
|
+
and flow through the standard warnings array, so `lint --strict`
|
|
57
|
+
promotes them as before. Deliberately `unresolved` aliases are not
|
|
58
|
+
warnings.
|
|
59
|
+
- **"If we can lint, then we can cost" (operator invariant,
|
|
60
|
+
2026-09-25).** A recognized-but-unpriceable model (`known-unpriced`)
|
|
61
|
+
is now a lint/seed warning
|
|
62
|
+
(`model "x" is recognized in the lmprice catalog but has no price
|
|
63
|
+
information — cost will be unavailable`, `--strict`-promotable) instead
|
|
64
|
+
of a silent accept that cost then couldn't price. `unresolved` stays
|
|
65
|
+
silent. The lmprice data side is tasked with rejecting such
|
|
66
|
+
null-terminal bindings at publish time.
|
|
67
|
+
- `cost` resolves the session model provider-aware through the same
|
|
68
|
+
catalog: aliases.json pin when present, route preference
|
|
69
|
+
(first-party > litellm > openrouter > manual) otherwise. New JSON fields:
|
|
70
|
+
`priceResolution`, `priceRoute`, `priceProvenance`, `priceEstimated`,
|
|
71
|
+
`costUnavailableReason` (existing fields unchanged). Manual/estimated
|
|
72
|
+
rows are marked; unresolved/known-unpriced report cost-unavailable with
|
|
73
|
+
a reason instead of a guessed suffix match.
|
|
74
|
+
- Price-data loader now manages both published files with independent
|
|
75
|
+
etags, a 6h TTL (`LMCTL_PRICE_TTL`, `0` forces), validated atomic cache
|
|
76
|
+
promotion, and `LMCTL_PRICE_DATA=<dir>` snapshot pinning that disables
|
|
77
|
+
network refresh. The build bundles both files
|
|
78
|
+
(`data/price-aliases.json` is new); the pack ships both.
|
|
79
|
+
- **Best-effort contract (operator, 2026-09-25).** Model validation is
|
|
80
|
+
advisory and not claimed to be 100% current — it can lag provider
|
|
81
|
+
changes in either direction, so lint/seed warn but never error on
|
|
82
|
+
unrecognized or out-of-date models, and cost reports n/a with a reason
|
|
83
|
+
instead of failing. Retired-model example text updated
|
|
84
|
+
(`github-copilot/gpt-5.4` → `github-copilot/gpt-5.5`).
|
|
85
|
+
- **New `ratelimit` command (stateless, real-time).** `lmctl ratelimit
|
|
86
|
+
[provider ...]` queries provider subscription rate limits live via the
|
|
87
|
+
external `lmratelimit` readers (binary resolved from `LMCTL_RATELIMIT_BIN`,
|
|
88
|
+
then `~/repos/tools/lmratelimit/bin/lmratelimit`, then `PATH`; `--timeout
|
|
89
|
+
<seconds>` sets the per-provider timeout, default 15) and renders
|
|
90
|
+
per-provider status, per-bucket used/remaining percentages with EXHAUSTED
|
|
91
|
+
and limit flags, plus credits/spend-control when present. `--json` emits
|
|
92
|
+
the full raw `{"readings": [...]}` payload. Nothing is read from or
|
|
93
|
+
written to any database — no collection, no storage, no forecast.
|
|
94
|
+
|
|
95
|
+
## 0.2.0 — 2026-09-24
|
|
96
|
+
|
|
97
|
+
- **Breaking CLI consolidation.** Eleven verbs are removed outright and their
|
|
98
|
+
workflows are absorbed into the remaining surface:
|
|
99
|
+
- `refresh` → removed; to re-seed an existing member's prompt, delete its
|
|
100
|
+
`sessionid=` field from the teamfile and re-run `lmctl seed` (plain seed
|
|
101
|
+
touches only members missing a sessionid)
|
|
102
|
+
- `hire` → `plan --member <alias>` (add a member to a teamfile)
|
|
103
|
+
- `clone` → `plan --from <teamfile>` (start a new teamfile from an existing one)
|
|
104
|
+
- `health` → `status <teamfile> [alias]` (team/member health view; the
|
|
105
|
+
`--json` output is versioned as `STATUS_JSON_SCHEMA_VERSION=1`)
|
|
106
|
+
- `team`, `session`, `session-index`, `restore`, `restore-teamfile`,
|
|
107
|
+
`diagnose`, `diagnose-prompt` → removed with no replacement (their duties
|
|
108
|
+
are covered by direct teamfile edits + `lint`, or were diagnostics
|
|
109
|
+
subsumed by `status`)
|
|
110
|
+
- **New interactive `plan`.** Run with no flags, `plan` walks a wizard that
|
|
111
|
+
writes a teamfile; with flags it is fully non-interactive. The golden path is
|
|
112
|
+
now `lmctl plan` → edit the teamfile → `lmctl lint` → `lmctl seed`.
|
|
113
|
+
- **New `status` modes.** `status <teamfile>` shows every member of a teamfile;
|
|
114
|
+
`status <teamfile> <alias>` drills into one member, absorbing the old
|
|
115
|
+
`health` verb.
|
|
116
|
+
- **`pi` is now a first-class provider binary** (`PROVIDER_BINARIES`).
|
|
117
|
+
- **The `@lmctl/next-agent` `diagnose-prompt` bin shim is removed.** The
|
|
118
|
+
passthrough shim no longer exposes that verb; `@lmctl/next-agent` consumers
|
|
119
|
+
get the same consolidated surface.
|
|
120
|
+
|
|
121
|
+
## Unreleased
|
|
122
|
+
|
|
7
123
|
- **The published package no longer bundles the `serve` daemon, job queue, or
|
|
8
124
|
workflow engine.** `@lmctl-ai/lmctl` was designed to ship prompt
|
|
9
125
|
self-orchestration only — no daemon, no queue — but every version published
|
package/README.md
CHANGED
|
@@ -44,9 +44,7 @@ lmctl status
|
|
|
44
44
|
lmctl plan ./my-project
|
|
45
45
|
lmctl lint ./my-project/my-project.lmctl
|
|
46
46
|
lmctl seed ./my-project/my-project.lmctl
|
|
47
|
-
lmctl
|
|
48
|
-
lmctl mail sent --json
|
|
49
|
-
lmctl mail sent --limit 100 --cursor "$NEXT_CURSOR" --json
|
|
47
|
+
lmctl prompt ./my-project/my-project.lmctl Lead "Inspect the repo and propose next steps."
|
|
50
48
|
```
|
|
51
49
|
|
|
52
50
|
`lmctl status` is team/SELF-scoped: from a member session it shows your
|
|
@@ -55,23 +53,21 @@ From a plain operator shell it shows a DB-wide summary.
|
|
|
55
53
|
Use `lmctl status --json` for the full machine-readable view; `--project` and
|
|
56
54
|
`--web` are not status flags.
|
|
57
55
|
|
|
58
|
-
Start with the plan -> lint -> seed ->
|
|
56
|
+
Start with the plan -> edit -> lint -> seed -> prompt flow. `lmctl plan` runs an
|
|
57
|
+
interactive wizard when invoked without flags, or writes the teamfile directly
|
|
58
|
+
from flags; edit the generated teamfile, then `lint` and `seed` it. lmctl does not manage
|
|
59
59
|
foreground vs. background execution for provider turns or shell commands; use
|
|
60
60
|
the provider or host runtime's own background/task surface when you need async
|
|
61
61
|
execution.
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
To inspect the daemon, run `lmctl api daemon state` while `lmctl serve` is
|
|
65
|
-
running; authenticate with `LMCTL_API_TOKEN=<token>` or start local serve with
|
|
66
|
-
`--insecure-no-auth`.
|
|
62
|
+
The CLI is the golden path for onboarding; lmctl is stateless (the former
|
|
63
|
+
daemon/web/API surface moved to the separate lmbee product).
|
|
67
64
|
Lintable teamfile templates for research, writing, and review teams ship in the
|
|
68
65
|
[examples gallery](https://lmctl.com/examples/).
|
|
69
66
|
|
|
70
|
-
`lmctl` top-level subcommands are: `
|
|
71
|
-
`
|
|
72
|
-
`
|
|
73
|
-
|
|
74
|
-
`mail`, `status`, `running`, and `db`. Run `lmctl <command> --help` for details on each, and see the
|
|
67
|
+
`lmctl` top-level subcommands are: `batch`, `chat`, `cost`, `db`,
|
|
68
|
+
`export`, `lint`, `ls`, `plan`, `prompt`, `ratelimit`, `running`,
|
|
69
|
+
`script`, `seed`, `status`, `tail`, and `terminal`. Run `lmctl <command> --help` for details on
|
|
70
|
+
each, and see the
|
|
75
71
|
[documentation](https://lmctl.com/lmctl) to define your first team.
|
|
76
72
|
|
|
77
73
|
Abstract managed-team providers retain the config keys
|
|
@@ -85,43 +81,7 @@ sqlite3 ~/.lmctl/state.db "INSERT OR REPLACE INTO lmctl_config(key,value,updated
|
|
|
85
81
|
sqlite3 ~/.lmctl/state.db "INSERT OR REPLACE INTO lmctl_config(key,value,updated_at) VALUES('workspace.provider3','gemini',strftime('%Y-%m-%dT%H:%M:%fZ','now'));"
|
|
86
82
|
```
|
|
87
83
|
|
|
88
|
-
`lmctl
|
|
89
|
-
event-log substrate: list pending or sent messages, read event history/
|
|
90
|
-
content, inspect historical provider evidence and causal lineage, and declare
|
|
91
|
-
handling/acknowledgement. `mail pending` defaults to messages addressed to
|
|
92
|
-
SELF when run from a member session; an explicit `--receiver` overrides that
|
|
93
|
-
scope. From a plain operator shell with no SELF marker, it retains the
|
|
94
|
-
fleet-wide discovery view.
|
|
95
|
-
Missing causal capture is shown as an explicit tree root rather than guessed
|
|
96
|
-
from timestamps.
|
|
97
|
-
For every `mail` subcommand, `--json` is the stable external contract and
|
|
98
|
-
includes `schema_version: 1`; default text output is for humans and may change.
|
|
99
|
-
JSON failures use `{status:"error", errorKind, message}`. The unbounded `sent`
|
|
100
|
-
and `tree` scans are cursor-paginated, with 100 results by default and 1,000
|
|
101
|
-
maximum; pass `next_cursor` back through `--cursor` until it is `null`.
|
|
102
|
-
`schema_version` is the authoritative output-contract version; the separate
|
|
103
|
-
`schema: "event-log-v1"` field identifies the backing substrate.
|
|
104
|
-
|
|
105
|
-
Stable top-level success fields are:
|
|
106
|
-
|
|
107
|
-
- `sent`: `schema_version`, `schema`, `identity`, `filters`, `messages`,
|
|
108
|
-
`next_cursor`.
|
|
109
|
-
- `history`: `schema_version`, `schema`, `message_id`, `events`.
|
|
110
|
-
- `seen`: `schema_version`, `schema`, `message_id`, `receiver`, `db`,
|
|
111
|
-
`transcript`, `answered`.
|
|
112
|
-
- `pending`: `schema_version`, `schema`, `filters`, `messages`.
|
|
113
|
-
- `read`: `schema_version`, `schema`, `message_id`, `message_type`,
|
|
114
|
-
`in_reply_to`, `sender`, `receiver`, `content`, `pending_state`.
|
|
115
|
-
- `deliver`: `schema_version`, `schema`, `message_id`, `message_type`,
|
|
116
|
-
`receiver`, `outcome`, `provider_status`, `message`.
|
|
117
|
-
- `handle`: `schema_version`, `schema`, `message_id`, `handling_by`,
|
|
118
|
-
`handling_at`, `appended`.
|
|
119
|
-
- `ack`: `schema_version`, `schema`, `message_id`, `acked_by`, `appended`,
|
|
120
|
-
`pending_outcome`.
|
|
121
|
-
- `tree`: `schema_version`, `schema`, `root`, `since`, `since_timestamp`,
|
|
122
|
-
`sent`, `next_cursor`, `orphan_policy`, `incomplete_capture_note`.
|
|
123
|
-
|
|
124
|
-
- `lmctl chat <teamfile> <alias> "message"` drives or messages a member. If a member-origin target is busy, chat queues the message for that sender->receiver lane; the next chat **from that same sender** to that receiver, when it is free, delivers the queued lane plus the new message. The lane key is `(sender, receiver)`: **a chat to that receiver from anyone else does not flush your queued mail.** If you go idle waiting for the reply you queued, nothing else will unblock it — you are the only party whose next chat flushes that lane.
|
|
84
|
+
- `lmctl prompt <teamfile> <alias> "prompt"` sends a prompt to a member and prints its answer. If a member-origin target is busy, the prompt is queued for that sender->receiver lane; the next prompt **from that same sender** to that receiver, when it is free, delivers the queued lane plus the new prompt. The lane key is `(sender, receiver)`: **a prompt to that receiver from anyone else does not flush your queued prompts.** If you go idle waiting for the answer you queued, nothing else will unblock it — you are the only party whose next prompt flushes that lane.
|
|
125
85
|
|
|
126
86
|
## Model selection
|
|
127
87
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"schema_version":1,"notes":["First-party aliases cover harness strings that do not resolve mechanically to a catalog identity.","Consumers must exact-match aliases case-insensitively; table entries win over canonical_slug.","new_model means new to this catalog, not necessarily newly released by a vendor.","This table is where manual exception maintenance lives; adding support for a new special case means adding one entry.","There is no precedence hierarchy by design: this single table is the canonical exception home."],"standards":[{"standard_slug":"moonshot/kimi-k2.8-preview","display_name":"Kimi K2.8 Preview","vendor":"moonshot","catalog_record_id":"manual:kimi-code/kimi-for-coding","note":"Estimated subscription scenario; no first-party price."},{"standard_slug":"moonshot/kimi-k2.5","display_name":"Kimi K2.5","vendor":"moonshot","catalog_record_id":"litellm:moonshot/kimi-k2.5","note":"Direct Moonshot reference row; qwen/DashScope route is a separate billing path."},{"standard_slug":"moonshot/kimi-k2.7-code-highspeed","display_name":"Kimi K2.7 Code HighSpeed","vendor":"moonshot","catalog_record_id":"manual:kimi-code/kimi-for-coding-highspeed","note":"Estimated Code scenario; Code and platform billing are separate."},{"standard_slug":"moonshot/kimi-k3","display_name":"Kimi K3","vendor":"moonshot","catalog_record_id":"manual:kimi-code/k3","note":"Operator-asserted price-proxy identity; the historical binding refusal remains documented in each alias."},{"standard_slug":"deepseek/deepseek-flash","display_name":"DeepSeek Flash","vendor":"deepseek","catalog_record_id":"litellm:deepseek/deepseek-flash","note":null},{"standard_slug":"deepseek/deepseek-v4-pro","display_name":"DeepSeek V4 Pro","vendor":"deepseek","catalog_record_id":"litellm:deepseek/deepseek-v4-pro","note":null},{"standard_slug":"google/gemini-3.8-flash","display_name":"Gemini 3.8 Flash","vendor":"google","catalog_record_id":"litellm:gemini-3.8-flash","note":null},{"standard_slug":"google/gemini-3.7-flash","display_name":"Gemini 3.7 Flash","vendor":"google","catalog_record_id":"litellm:gemini-3.7-flash","note":null},{"standard_slug":"google/gemini-3.6-flash","display_name":"Gemini 3.6 Flash","vendor":"google","catalog_record_id":"litellm:gemini-3.6-flash","note":null},{"standard_slug":"google/gemini-3.1-pro-preview","display_name":"Gemini 3.1 Pro Preview","vendor":"google","catalog_record_id":"litellm:gemini/gemini-3.1-pro-preview","note":"Harness mapping is asserted pending native-owner evidence."},{"standard_slug":"anthropic/claude-opus-4-6","display_name":"Claude Opus 4.6","vendor":"anthropic","catalog_record_id":"litellm:claude-opus-4-6","note":null},{"standard_slug":"anthropic/claude-sonnet-4-6","display_name":"Claude Sonnet 4.6","vendor":"anthropic","catalog_record_id":"litellm:claude-sonnet-4-6","note":null},{"standard_slug":"dashscope/qwen3.5-plus","display_name":"Qwen 3.5 Plus","vendor":"dashscope","catalog_record_id":"litellm:dashscope/qwen3.5-plus","note":"Identity established; catalog pricing may be null."},{"standard_slug":"dashscope/qwen3.6-plus","display_name":"Qwen 3.6 Plus","vendor":"dashscope","catalog_record_id":"manual:dashscope/qwen3.6-plus","note":"Vendor-sourced manual row; official pricing is tiered and absent from the upstream row."},{"standard_slug":"z-ai/glm-5.2","display_name":"GLM-5.2","vendor":"z-ai","catalog_record_id":"litellm:zai/glm-5.2","note":"Plan-route identity; catalog rate is counterfactual standard pricing."},{"standard_slug":"z-ai/glm-5.1","display_name":"GLM-5.1","vendor":"z-ai","catalog_record_id":"litellm:zai/glm-5.1","note":"Plan-route identity; catalog rate is counterfactual standard pricing."},{"standard_slug":"z-ai/glm-4.7","display_name":"GLM-4.7","vendor":"z-ai","catalog_record_id":"litellm:zai/glm-4.7","note":"Plan-route identity; catalog rate is counterfactual standard pricing."},{"standard_slug":"z-ai/glm-5","display_name":"GLM-5","vendor":"z-ai","catalog_record_id":"litellm:zai/glm-5","note":"DashScope route identity; direct zai row is the counterfactual reference."},{"standard_slug":"z-ai/glm-5-turbo","display_name":"GLM-5 Turbo","vendor":"z-ai","catalog_record_id":"openrouter:z-ai/glm-5-turbo","note":"Z-AI coding plan identity; OpenRouter rate is a counterfactual reference because no direct zai row exists."},{"standard_slug":"z-ai/glm-4.5-air","display_name":"GLM-4.5 Air","vendor":"z-ai","catalog_record_id":"litellm:zai/glm-4.5-air","note":"Z-AI coding plan identity; standard API rate is counterfactual."},{"standard_slug":"openrouter/qwen/qwen3.6-plus","display_name":"Qwen 3.6 Plus (OpenRouter)","vendor":"openrouter","catalog_record_id":"openrouter:qwen/qwen3.6-plus","note":"OpenRouter gateway-priced route; actual opencode sub-provider billing path."},{"standard_slug":"openai/gpt-5.6-sol","display_name":"GPT-5.6 Sol","vendor":"openai","catalog_record_id":"litellm:gpt-5.6-sol","note":"Direct OpenAI billing route; plan route pricing is counterfactual."},{"standard_slug":"openai/gpt-5.6-luna","display_name":"GPT-5.6 Luna","vendor":"openai","catalog_record_id":"litellm:gpt-5.6-luna","note":"Direct OpenAI billing route."},{"standard_slug":"openai/gpt-6-astra","display_name":"GPT-6 Astra","vendor":"openai","catalog_record_id":"litellm:gpt-6-astra","note":"Direct OpenAI billing route."},{"standard_slug":"openai/gpt-5.3-codex-spark","display_name":"GPT-5.3 Codex Spark","vendor":"openai","catalog_record_id":"litellm:chatgpt/gpt-5.3-codex-spark","note":"Established Codex subscription SKU; OpenAI marks pricing as research preview/not final, so the catalog row remains null-priced."},{"standard_slug":"anthropic/claude-haiku-4.5","display_name":"Claude Haiku 4.5","vendor":"anthropic","catalog_record_id":"openrouter:anthropic/claude-haiku-4.5","note":"Vendor identity; route-specific plan price is unavailable, so OpenRouter is a reference row."},{"standard_slug":"anthropic/claude-opus-4.5","display_name":"Claude Opus 4.5","vendor":"anthropic","catalog_record_id":"openrouter:anthropic/claude-opus-4.5","note":"Vendor identity; route-specific plan price is unavailable, so OpenRouter is a reference row."},{"standard_slug":"anthropic/claude-opus-4.7","display_name":"Claude Opus 4.7","vendor":"anthropic","catalog_record_id":"openrouter:anthropic/claude-opus-4.7","note":"Vendor identity; route-specific plan price is unavailable, so OpenRouter is a reference row."},{"standard_slug":"anthropic/claude-opus-4.8","display_name":"Claude Opus 4.8","vendor":"anthropic","catalog_record_id":"openrouter:anthropic/claude-opus-4.8","note":"Vendor identity; route-specific plan price is unavailable, so OpenRouter is a reference row."},{"standard_slug":"anthropic/claude-sonnet-4.5","display_name":"Claude Sonnet 4.5","vendor":"anthropic","catalog_record_id":"openrouter:anthropic/claude-sonnet-4.5","note":"Vendor identity; route-specific plan price is unavailable, so OpenRouter is a reference row."},{"standard_slug":"anthropic/claude-sonnet-5","display_name":"Claude Sonnet 5","vendor":"anthropic","catalog_record_id":"litellm:claude-sonnet-5","note":"Direct Anthropic reference row; Copilot plan rate is counterfactual."},{"standard_slug":"deepseek/deepseek-chat","display_name":"DeepSeek Chat","vendor":"deepseek","catalog_record_id":"litellm:deepseek/deepseek-chat","note":"Direct DeepSeek billing route."},{"standard_slug":"deepseek/deepseek-reasoner","display_name":"DeepSeek Reasoner","vendor":"deepseek","catalog_record_id":"litellm:deepseek/deepseek-reasoner","note":"Direct DeepSeek billing route."},{"standard_slug":"deepseek/deepseek-v4-flash","display_name":"DeepSeek V4 Flash","vendor":"deepseek","catalog_record_id":"litellm:deepseek/deepseek-v4-flash","note":"Direct DeepSeek billing route."},{"standard_slug":"google/gemini-2.5-pro","display_name":"Gemini 2.5 Pro","vendor":"google","catalog_record_id":"litellm:gemini-2.5-pro","note":"Direct Google billing route; Copilot plan rate is counterfactual."},{"standard_slug":"google/gemini-3-flash-preview","display_name":"Gemini 3 Flash Preview","vendor":"google","catalog_record_id":"litellm:gemini-3-flash-preview","note":"Direct Google billing route; Copilot plan rate is counterfactual."},{"standard_slug":"google/gemini-3.5-flash","display_name":"Gemini 3.5 Flash","vendor":"google","catalog_record_id":"litellm:gemini-3.5-flash","note":"Direct Google billing route; Copilot plan rate is counterfactual."},{"standard_slug":"openai/gpt-4.1","display_name":"GPT-4.1","vendor":"openai","catalog_record_id":"litellm:gpt-4.1","note":"Direct OpenAI billing route; Copilot plan rate is counterfactual."},{"standard_slug":"openai/gpt-4.1-2025-04-14","display_name":"GPT-4.1 (2025-04-14)","vendor":"openai","catalog_record_id":"litellm:gpt-4.1-2025-04-14","note":"Direct OpenAI billing route; Copilot plan rate is counterfactual."},{"standard_slug":"openai/gpt-4o-mini","display_name":"GPT-4o Mini","vendor":"openai","catalog_record_id":"litellm:gpt-4o-mini","note":"Direct OpenAI billing route; Copilot plan rate is counterfactual."},{"standard_slug":"openai/gpt-4o-mini-2024-07-18","display_name":"GPT-4o Mini (2024-07-18)","vendor":"openai","catalog_record_id":"litellm:gpt-4o-mini-2024-07-18","note":"Direct OpenAI billing route; Copilot plan rate is counterfactual."},{"standard_slug":"openai/gpt-5-mini","display_name":"GPT-5 Mini","vendor":"openai","catalog_record_id":"litellm:gpt-5-mini","note":"Direct OpenAI billing route; Copilot plan rate is counterfactual."},{"standard_slug":"openai/gpt-5.2","display_name":"GPT-5.2","vendor":"openai","catalog_record_id":"litellm:gpt-5.2","note":"Direct OpenAI billing route; Copilot plan rate is counterfactual."},{"standard_slug":"openai/gpt-5.2-codex","display_name":"GPT-5.2 Codex","vendor":"openai","catalog_record_id":"litellm:gpt-5.2-codex","note":"Direct OpenAI billing route; Copilot plan rate is counterfactual."},{"standard_slug":"openai/gpt-5.3-codex","display_name":"GPT-5.3 Codex","vendor":"openai","catalog_record_id":"litellm:gpt-5.3-codex","note":"Direct OpenAI billing route; Copilot plan rate is counterfactual."},{"standard_slug":"openai/gpt-5.4","display_name":"GPT-5.4","vendor":"openai","catalog_record_id":"litellm:gpt-5.4","note":"Direct OpenAI billing route; Copilot plan rate is counterfactual."},{"standard_slug":"openai/gpt-5.4-mini","display_name":"GPT-5.4 Mini","vendor":"openai","catalog_record_id":"litellm:gpt-5.4-mini","note":"Direct OpenAI billing route; Copilot plan rate is counterfactual."},{"standard_slug":"openai/gpt-5.4-nano","display_name":"GPT-5.4 Nano","vendor":"openai","catalog_record_id":"litellm:gpt-5.4-nano","note":"Direct OpenAI billing route; Copilot plan rate is counterfactual."},{"standard_slug":"openai/gpt-5.5","display_name":"GPT-5.5","vendor":"openai","catalog_record_id":"litellm:gpt-5.5","note":"Direct OpenAI billing route; Copilot plan rate is counterfactual."},{"standard_slug":"qwen/qwen3-coder","display_name":"Qwen3 Coder","vendor":"qwen","catalog_record_id":"openrouter:qwen/qwen3-coder","note":"OpenRouter gateway-priced actual route."},{"standard_slug":"qwen/qwen3-coder-flash","display_name":"Qwen3 Coder Flash","vendor":"qwen","catalog_record_id":"openrouter:qwen/qwen3-coder-flash","note":"OpenRouter gateway-priced actual route."},{"standard_slug":"qwen/qwen3-coder-plus","display_name":"Qwen3 Coder Plus","vendor":"qwen","catalog_record_id":"openrouter:qwen/qwen3-coder-plus","note":"OpenRouter gateway-priced actual route."},{"standard_slug":"qwen/qwen3.5-397b-a17b","display_name":"Qwen3.5 397B A17B","vendor":"qwen","catalog_record_id":"openrouter:qwen/qwen3.5-397b-a17b","note":"OpenRouter gateway-priced actual route."},{"standard_slug":"qwen/qwen3.5-9b","display_name":"Qwen3.5 9B","vendor":"qwen","catalog_record_id":"openrouter:qwen/qwen3.5-9b","note":"OpenRouter gateway-priced actual route."},{"standard_slug":"qwen/qwen3.5-plus-20260420","display_name":"Qwen3.5 Plus 2026-04-20","vendor":"qwen","catalog_record_id":"openrouter:qwen/qwen3.5-plus-20260420","note":"OpenRouter gateway-priced actual route."},{"standard_slug":"qwen/qwen3.6-flash","display_name":"Qwen3.6 Flash","vendor":"qwen","catalog_record_id":"openrouter:qwen/qwen3.6-flash","note":"OpenRouter gateway-priced actual route."},{"standard_slug":"qwen/qwen3.6-max-preview","display_name":"Qwen3.6 Max Preview","vendor":"qwen","catalog_record_id":"openrouter:qwen/qwen3.6-max-preview","note":"OpenRouter gateway-priced actual route."},{"standard_slug":"qwen/qwen3.7-plus","display_name":"Qwen3.7 Plus","vendor":"qwen","catalog_record_id":"openrouter:qwen/qwen3.7-plus","note":"OpenRouter gateway-priced actual route."}],"aliases":[{"alias":"kimi-code/kimi-for-coding","standard_slug":"moonshot/kimi-k2.8-preview","evidence":"established","source_url":"https://www.kimi.com/code/docs/en/kimi-code/models.html","note":"Kimi Code docs name K2.8 Preview (up to 1M context); subscription-billed and no first-party price.","added_at":"2026-09-23"},{"alias":"kimi-code/kimi-for-coding-highspeed","standard_slug":"moonshot/kimi-k2.7-code-highspeed","evidence":"established","source_url":"https://www.kimi.com/code/docs/en/kimi-code/models.html","note":"Docs name K2.7 Code HighSpeed; Code and platform billing remain separate, so this is a scenario identity.","added_at":"2026-09-23"},{"alias":"kimi-code/k3","standard_slug":"moonshot/kimi-k3","evidence":"asserted","source_url":null,"source":"operator 2026-09-25","note":"Asserted for price-proxy purposes only. Historical refusal remains: two documented sweeps (2026-09-13 and 2026-09-21), product-independence statement, and ruling 29144f0 left Code↔Platform binding unestablished; the identity question stays closed for this estimate.","added_at":"2026-09-25"},{"alias":"kimi-code/k3-256k","standard_slug":"moonshot/kimi-k3","evidence":"asserted","source_url":null,"source":"operator 2026-09-25","note":"Asserted for price-proxy purposes only; k3-256k is the K3 256K variant per docs. Historical refusal remains: two documented sweeps, product-independence statement, and ruling 29144f0 left Code↔Platform binding unestablished; the identity question stays closed for this estimate.","added_at":"2026-09-25"},{"alias":"dsh/deepseek-flash","standard_slug":"deepseek/deepseek-flash","evidence":"established","source_url":"https://api-docs.deepseek.com/updates/","note":"Official 2026-09-10 changelog names deepseek-flash as the current V4.1 Flash model.","added_at":"2026-09-23"},{"alias":"dsh/deepseek-v4-flash","standard_slug":"deepseek/deepseek-flash","evidence":"established","source_url":"https://api-docs.deepseek.com/quick_start/pricing","note":"Official pricing footnote says the retired alias routes to V4.1-Flash and is billed at Flash price.","added_at":"2026-09-23"},{"alias":"dsh/deepseek-v4-pro","standard_slug":"deepseek/deepseek-v4-pro","evidence":"established","source_url":"https://api-docs.deepseek.com/quick_start/pricing","note":"Current official DeepSeek model ID.","added_at":"2026-09-23"},{"alias":"agy/gemini-3.8-flash","standard_slug":"google/gemini-3.8-flash","evidence":"established","source_url":"https://ai.google.dev/gemini-api/docs/models","note":"Exact official model ID.","added_at":"2026-09-23"},{"alias":"agy/gemini-3.7-flash","standard_slug":"google/gemini-3.7-flash","evidence":"established","source_url":"https://ai.google.dev/gemini-api/docs/models","note":"Exact official model ID.","added_at":"2026-09-23"},{"alias":"agy/gemini-3.6-flash","standard_slug":"google/gemini-3.6-flash","evidence":"established","source_url":"https://ai.google.dev/gemini-api/docs/models","note":"Exact official model ID.","added_at":"2026-09-23"},{"alias":"agy/gemini-pro-default","standard_slug":"google/gemini-3.1-pro-preview","evidence":"asserted","source_url":null,"source":"lmprice #241","note":"Catalog and pricing-rule half is established, but the Antigravity harness half is unproven; pending native-owner evidence.","added_at":"2026-09-23"},{"alias":"agy/claude-opus-4-6-thinking","standard_slug":"anthropic/claude-opus-4-6","evidence":"established","source_url":"https://platform.claude.com/docs/en/build-with-claude/thinking-steering-and-cost","note":"Thinking steering and cost guidance documents thinking as output; Antigravity lists Claude Opus 4.6 (thinking).","added_at":"2026-09-23"},{"alias":"agy/claude-sonnet-4-6","standard_slug":"anthropic/claude-sonnet-4-6","evidence":"established","source_url":"https://platform.claude.com/docs/en/about-claude/models","note":"Exact model identity.","added_at":"2026-09-23"},{"alias":"agy/gemini-3.8-flash-tiered","standard_slug":null,"evidence":"unresolved","source_url":null,"note":"Harness-specific tier label; no official SKU or identity evidence.","added_at":"2026-09-23"},{"alias":"agy/gemini-3.1-pro-low","standard_slug":null,"evidence":"unresolved","source_url":null,"note":"Harness effort label; no official SKU or identity evidence.","added_at":"2026-09-23"},{"alias":"qwen/coder-model","standard_slug":null,"evidence":"unresolved","source_url":null,"note":"Harness alias; no vendor identity evidence.","added_at":"2026-09-23"},{"alias":"opencode/glm-5.1","standard_slug":"z-ai/glm-5.1","evidence":"established","source_url":"https://docs.z.ai/guides/overview","note":"Exact GLM model name on a plan route; pricing is counterfactual.","added_at":"2026-09-23"},{"alias":"opencode/glm-4.7","standard_slug":"z-ai/glm-4.7","evidence":"established","source_url":"https://docs.z.ai/guides/overview","note":"Exact GLM model name on a plan route; pricing is counterfactual.","added_at":"2026-09-23"},{"alias":"zai-coding-plan/GLM-5.2","standard_slug":"z-ai/glm-5.2","evidence":"established","source_url":"https://docs.z.ai/guides/overview","note":"Plan route; standard API rate is counterfactual.","added_at":"2026-09-23"},{"alias":"z-ai-coding/GLM-5.2","standard_slug":"z-ai/glm-5.2","evidence":"established","source_url":"https://docs.z.ai/guides/overview","note":"Plan route; standard API rate is counterfactual.","added_at":"2026-09-23"},{"alias":"zai/GLM-5.2","standard_slug":"z-ai/glm-5.2","evidence":"established","source_url":"https://docs.z.ai/guides/overview","note":"Plan route; standard API rate is counterfactual.","added_at":"2026-09-23"},{"alias":"zai-coding-plan/GLM-5.1","standard_slug":"z-ai/glm-5.1","evidence":"established","source_url":"https://docs.z.ai/guides/overview","note":"Plan route; standard API rate is counterfactual.","added_at":"2026-09-23"},{"alias":"z-ai-coding/GLM-5.1","standard_slug":"z-ai/glm-5.1","evidence":"established","source_url":"https://docs.z.ai/guides/overview","note":"Plan route; standard API rate is counterfactual.","added_at":"2026-09-23"},{"alias":"zai/GLM-5.1","standard_slug":"z-ai/glm-5.1","evidence":"established","source_url":"https://docs.z.ai/guides/overview","note":"Plan route; standard API rate is counterfactual.","added_at":"2026-09-23"},{"alias":"zai-coding-plan/GLM-4.7","standard_slug":"z-ai/glm-4.7","evidence":"established","source_url":"https://docs.z.ai/guides/overview","note":"Plan route; standard API rate is counterfactual.","added_at":"2026-09-23"},{"alias":"z-ai-coding/GLM-4.7","standard_slug":"z-ai/glm-4.7","evidence":"established","source_url":"https://docs.z.ai/guides/overview","note":"Plan route; standard API rate is counterfactual.","added_at":"2026-09-23"},{"alias":"zai/GLM-4.7","standard_slug":"z-ai/glm-4.7","evidence":"established","source_url":"https://docs.z.ai/guides/overview","note":"Plan route; standard API rate is counterfactual.","added_at":"2026-09-23"},{"alias":"agy/gemini 3.8 flash (high)","standard_slug":"google/gemini-3.8-flash","evidence":"established","source_url":"https://antigravity.google/docs/models","note":"Antigravity model enumeration names Gemini 3.8 Flash (High); effort label is not a priced SKU, following the gemini-3.1-pro-low precedent.","added_at":"2026-09-24"},{"alias":"agy/gemini 3.8 flash (medium)","standard_slug":"google/gemini-3.8-flash","evidence":"established","source_url":"https://antigravity.google/docs/models","note":"Antigravity model enumeration names Gemini 3.8 Flash (Medium); effort label is not a priced SKU, following the gemini-3.1-pro-low precedent.","added_at":"2026-09-24"},{"alias":"agy/gemini 3.1 pro (high)","standard_slug":"google/gemini-3.1-pro-preview","evidence":"established","source_url":"https://antigravity.google/docs/models","note":"Antigravity enumerates Gemini 3.1 Pro High; High is an effort label, not a priced SKU, and Google publishes Gemini 3.1 Pro Preview.","added_at":"2026-09-24"},{"alias":"agy/claude opus 4.6 (thinking)","standard_slug":"anthropic/claude-opus-4-6","evidence":"established","source_url":"https://antigravity.google/docs/models","note":"Antigravity enumerates Claude Opus 4.6 (thinking); Anthropic documents thinking tokens as output, so thinking is not a separate priced SKU.","added_at":"2026-09-24"},{"alias":"agy/gemini-3.1-pro","standard_slug":"google/gemini-3.1-pro-preview","evidence":"asserted","source_url":"https://antigravity.google/docs/models","source":"Antigravity /docs/models enumeration","note":"Bare harness slug asserted to the published Gemini 3.1 Pro Preview identity; weaker than the labeled enumeration form.","added_at":"2026-09-24"},{"alias":"qwen/glm-5","standard_slug":"z-ai/glm-5","evidence":"established","source_url":"https://www.alibabacloud.com/help/en/model-studio/model-pricing","note":"DashScope hosts GLM-5; pin to the direct zai catalog row as the standard identity. The direct zai rate is a counterfactual reference for the qwen/DashScope route.","added_at":"2026-09-24"},{"alias":"qwen/kimi-k2.5","standard_slug":"moonshot/kimi-k2.5","evidence":"established","source_url":"https://www.alibabacloud.com/help/en/model-studio/model-pricing","note":"DashScope hosts Kimi K2.5; pin to the direct moonshot catalog row as the standard identity. The direct moonshot rate is a counterfactual reference for the qwen/DashScope route.","added_at":"2026-09-24"},{"alias":"qwen/qwen3.5-plus","standard_slug":"dashscope/qwen3.5-plus","evidence":"established","source_url":"https://www.alibabacloud.com/help/en/model-studio/model-pricing","note":"Native qwen routes to DashScope; official tiered pricing now fills the null catalog row.","added_at":"2026-09-24"},{"alias":"qwen/qwen3.6-plus","standard_slug":"dashscope/qwen3.6-plus","evidence":"established","source_url":"https://www.alibabacloud.com/help/en/model-studio/model-pricing","note":"Official DashScope model and tiered pricing; native qwen billing route.","added_at":"2026-09-24"},{"alias":"opencode/qwen/qwen3.6-plus","standard_slug":"openrouter/qwen/qwen3.6-plus","evidence":"established","source_url":"https://openrouter.ai/qwen/qwen3.6-plus","note":"OpenRouter sub-provider is the actual opencode billing path; gateway-priced actual, with route-rate oscillation caveat.","added_at":"2026-09-24"},{"alias":"codex/gpt-5.3-codex-spark","standard_slug":"openai/gpt-5.3-codex-spark","evidence":"established","source_url":"https://help.openai.com/en/articles/20001415-chatgpt-rate-card-enterprise-token-based-pricing","note":"Exact catalog row and established Codex subscription SKU; OpenAI marks all rates research preview/not final, so this is known-unpriced terminal.","added_at":"2026-09-24"},{"alias":"opencode/claude-haiku-4.5","standard_slug":null,"evidence":"unresolved","source_url":null,"note":"GitHub Copilot plan route; no direct vendor LiteLLM row exists for this exact model, so no standard-price proxy is asserted.","added_at":"2026-09-24"},{"alias":"opencode/claude-opus-4.5","standard_slug":null,"evidence":"unresolved","source_url":null,"note":"GitHub Copilot plan route; no direct vendor LiteLLM row exists for this exact model, so no standard-price proxy is asserted.","added_at":"2026-09-24"},{"alias":"opencode/claude-opus-4.6","standard_slug":"anthropic/claude-opus-4-6","evidence":"established","source_url":"https://platform.claude.com/docs/en/about-claude/models","note":"GitHub Copilot plan billing; direct vendor rate is a standard-rate counterfactual.","added_at":"2026-09-24"},{"alias":"opencode/claude-opus-4.7","standard_slug":null,"evidence":"unresolved","source_url":null,"note":"GitHub Copilot plan route; no direct vendor LiteLLM row exists for this exact model, so no standard-price proxy is asserted.","added_at":"2026-09-24"},{"alias":"opencode/claude-opus-4.8","standard_slug":null,"evidence":"unresolved","source_url":null,"note":"GitHub Copilot plan route; only gateway/reference rows exist, not a direct vendor LiteLLM row.","added_at":"2026-09-24"},{"alias":"opencode/claude-sonnet-4.5","standard_slug":null,"evidence":"unresolved","source_url":null,"note":"GitHub Copilot plan route; no direct vendor LiteLLM row exists for this exact model.","added_at":"2026-09-24"},{"alias":"opencode/claude-sonnet-4.6","standard_slug":"anthropic/claude-sonnet-4-6","evidence":"established","source_url":"https://platform.claude.com/docs/en/about-claude/models","note":"GitHub Copilot plan billing; direct vendor rate is a standard-rate counterfactual.","added_at":"2026-09-24"},{"alias":"opencode/claude-sonnet-5","standard_slug":"anthropic/claude-sonnet-5","evidence":"established","source_url":"https://platform.claude.com/docs/en/about-claude/models","note":"GitHub Copilot plan billing; direct vendor rate is a standard-rate counterfactual.","added_at":"2026-09-24"},{"alias":"opencode/deepseek-chat","standard_slug":"deepseek/deepseek-chat","evidence":"established","source_url":"https://api-docs.deepseek.com/quick_start/pricing","note":"DeepSeek sub-provider; direct vendor billing route.","added_at":"2026-09-24"},{"alias":"opencode/deepseek-reasoner","standard_slug":"deepseek/deepseek-reasoner","evidence":"established","source_url":"https://api-docs.deepseek.com/quick_start/pricing","note":"DeepSeek sub-provider; direct vendor billing route.","added_at":"2026-09-24"},{"alias":"opencode/deepseek-v4-flash","standard_slug":"deepseek/deepseek-v4-flash","evidence":"established","source_url":"https://api-docs.deepseek.com/quick_start/pricing","note":"DeepSeek sub-provider; direct vendor billing route.","added_at":"2026-09-24"},{"alias":"opencode/deepseek-v4-pro","standard_slug":"deepseek/deepseek-v4-pro","evidence":"established","source_url":"https://api-docs.deepseek.com/quick_start/pricing","note":"DeepSeek sub-provider; direct vendor billing route.","added_at":"2026-09-24"},{"alias":"opencode/deepseek/deepseek-flash","standard_slug":"deepseek/deepseek-flash","evidence":"established","source_url":"https://api-docs.deepseek.com/quick_start/pricing","note":"DeepSeek route-qualified form; direct vendor billing route.","added_at":"2026-09-24"},{"alias":"opencode/deepseek/deepseek-v4-flash","standard_slug":"deepseek/deepseek-v4-flash","evidence":"established","source_url":"https://api-docs.deepseek.com/quick_start/pricing","note":"DeepSeek route-qualified form; direct vendor billing route.","added_at":"2026-09-24"},{"alias":"opencode/gemini-2.5-pro","standard_slug":"google/gemini-2.5-pro","evidence":"established","source_url":"https://ai.google.dev/gemini-api/docs/pricing","note":"GitHub Copilot plan billing; direct Google rate is a standard-rate counterfactual.","added_at":"2026-09-24"},{"alias":"opencode/gemini-3-flash-preview","standard_slug":"google/gemini-3-flash-preview","evidence":"established","source_url":"https://ai.google.dev/gemini-api/docs/pricing","note":"GitHub Copilot plan billing; direct Google rate is a standard-rate counterfactual.","added_at":"2026-09-24"},{"alias":"opencode/gemini-3.1-pro-preview","standard_slug":"google/gemini-3.1-pro-preview","evidence":"established","source_url":"https://ai.google.dev/gemini-api/docs/pricing","note":"GitHub Copilot plan billing; direct Google rate is a standard-rate counterfactual.","added_at":"2026-09-24"},{"alias":"opencode/gemini-3.5-flash","standard_slug":"google/gemini-3.5-flash","evidence":"established","source_url":"https://ai.google.dev/gemini-api/docs/pricing","note":"GitHub Copilot plan billing; direct Google rate is a standard-rate counterfactual.","added_at":"2026-09-24"},{"alias":"opencode/github-copilot/claude-opus-4.8","standard_slug":null,"evidence":"unresolved","source_url":null,"note":"GitHub Copilot plan route; no direct vendor LiteLLM row exists for Claude Opus 4.8.","added_at":"2026-09-24"},{"alias":"opencode/github-copilot/claude-sonnet-5","standard_slug":"anthropic/claude-sonnet-5","evidence":"established","source_url":"https://platform.claude.com/docs/en/about-claude/models","note":"GitHub Copilot plan billing; direct vendor rate is a standard-rate counterfactual.","added_at":"2026-09-24"},{"alias":"opencode/github-copilot/gpt-5.5","standard_slug":"openai/gpt-5.5","evidence":"established","source_url":"https://platform.openai.com/docs/pricing","note":"GitHub Copilot plan billing; direct OpenAI rate is a standard-rate counterfactual.","added_at":"2026-09-24"},{"alias":"opencode/github-copilot/gpt-5.6-sol","standard_slug":"openai/gpt-5.6-sol","evidence":"established","source_url":"https://platform.openai.com/docs/pricing","note":"GitHub Copilot plan billing; direct OpenAI rate is a standard-rate counterfactual.","added_at":"2026-09-24"},{"alias":"opencode/glm-4.5-air","standard_slug":"z-ai/glm-4.5-air","evidence":"established","source_url":"https://docs.z.ai/guides/overview","note":"Z-AI coding-plan route; direct zai rate is a standard-rate counterfactual.","added_at":"2026-09-24"},{"alias":"opencode/glm-5","standard_slug":"z-ai/glm-5","evidence":"established","source_url":"https://docs.z.ai/guides/overview","note":"Z-AI coding-plan route; direct zai rate is a standard-rate counterfactual.","added_at":"2026-09-24"},{"alias":"opencode/glm-5-turbo","standard_slug":"z-ai/glm-5-turbo","evidence":"established","source_url":"https://docs.z.ai/guides/overview","note":"Z-AI coding-plan route; OpenRouter rate is the counterfactual reference because no direct zai row exists.","added_at":"2026-09-24"},{"alias":"opencode/glm-5.2","standard_slug":"z-ai/glm-5.2","evidence":"established","source_url":"https://docs.z.ai/guides/overview","note":"Z-AI coding-plan route; direct zai rate is a standard-rate counterfactual.","added_at":"2026-09-24"},{"alias":"opencode/gpt-4.1","standard_slug":"openai/gpt-4.1","evidence":"established","source_url":"https://platform.openai.com/docs/pricing","note":"GitHub Copilot plan billing; direct OpenAI rate is a standard-rate counterfactual.","added_at":"2026-09-24"},{"alias":"opencode/gpt-4.1-2025-04-14","standard_slug":"openai/gpt-4.1-2025-04-14","evidence":"established","source_url":"https://platform.openai.com/docs/pricing","note":"GitHub Copilot plan billing; direct OpenAI rate is a standard-rate counterfactual.","added_at":"2026-09-24"},{"alias":"opencode/gpt-4o-mini","standard_slug":"openai/gpt-4o-mini","evidence":"established","source_url":"https://platform.openai.com/docs/pricing","note":"GitHub Copilot plan billing; direct OpenAI rate is a standard-rate counterfactual.","added_at":"2026-09-24"},{"alias":"opencode/gpt-4o-mini-2024-07-18","standard_slug":"openai/gpt-4o-mini-2024-07-18","evidence":"established","source_url":"https://platform.openai.com/docs/pricing","note":"GitHub Copilot plan billing; direct OpenAI rate is a standard-rate counterfactual.","added_at":"2026-09-24"},{"alias":"opencode/gpt-5-mini","standard_slug":"openai/gpt-5-mini","evidence":"established","source_url":"https://platform.openai.com/docs/pricing","note":"GitHub Copilot plan billing; direct OpenAI rate is a standard-rate counterfactual.","added_at":"2026-09-24"},{"alias":"opencode/gpt-5.2","standard_slug":"openai/gpt-5.2","evidence":"established","source_url":"https://platform.openai.com/docs/pricing","note":"GitHub Copilot plan billing; direct OpenAI rate is a standard-rate counterfactual.","added_at":"2026-09-24"},{"alias":"opencode/gpt-5.2-codex","standard_slug":"openai/gpt-5.2-codex","evidence":"established","source_url":"https://platform.openai.com/docs/pricing","note":"GitHub Copilot plan billing; direct OpenAI rate is a standard-rate counterfactual.","added_at":"2026-09-24"},{"alias":"opencode/gpt-5.3-codex","standard_slug":"openai/gpt-5.3-codex","evidence":"established","source_url":"https://platform.openai.com/docs/pricing","note":"GitHub Copilot plan billing; direct OpenAI rate is a standard-rate counterfactual.","added_at":"2026-09-24"},{"alias":"opencode/gpt-5.4","standard_slug":"openai/gpt-5.4","evidence":"established","source_url":"https://platform.openai.com/docs/pricing","note":"GitHub Copilot plan billing; direct OpenAI rate is a standard-rate counterfactual.","added_at":"2026-09-24"},{"alias":"opencode/gpt-5.4-mini","standard_slug":"openai/gpt-5.4-mini","evidence":"established","source_url":"https://platform.openai.com/docs/pricing","note":"GitHub Copilot plan billing; direct OpenAI rate is a standard-rate counterfactual.","added_at":"2026-09-24"},{"alias":"opencode/gpt-5.4-nano","standard_slug":"openai/gpt-5.4-nano","evidence":"established","source_url":"https://platform.openai.com/docs/pricing","note":"GitHub Copilot plan billing; direct OpenAI rate is a standard-rate counterfactual.","added_at":"2026-09-24"},{"alias":"opencode/gpt-5.5","standard_slug":"openai/gpt-5.5","evidence":"established","source_url":"https://platform.openai.com/docs/pricing","note":"GitHub Copilot plan billing; direct OpenAI rate is a standard-rate counterfactual.","added_at":"2026-09-24"},{"alias":"opencode/gpt-6-astra","standard_slug":"openai/gpt-6-astra","evidence":"established","source_url":"https://platform.openai.com/docs/pricing","note":"OpenAI sub-provider; direct OpenAI billing route.","added_at":"2026-09-24"},{"alias":"opencode/mai-code-1-flash-picker","standard_slug":null,"evidence":"unresolved","source_url":null,"note":"GitHub Copilot plan route; no catalog row or vendor identity evidence exists for this picker id.","added_at":"2026-09-24"},{"alias":"opencode/openai/gpt-6-astra","standard_slug":"openai/gpt-6-astra","evidence":"established","source_url":"https://platform.openai.com/docs/pricing","note":"OpenAI route-qualified form; direct OpenAI billing route.","added_at":"2026-09-24"},{"alias":"opencode/openrouter/qwen/qwen3.7-plus","standard_slug":"qwen/qwen3.7-plus","evidence":"established","source_url":"https://openrouter.ai/qwen/qwen3.7-plus","note":"OpenRouter route-qualified form; gateway-priced actual billing path.","added_at":"2026-09-24"},{"alias":"opencode/qwen/qwen3-coder","standard_slug":"qwen/qwen3-coder","evidence":"established","source_url":"https://openrouter.ai/qwen/qwen3-coder","note":"OpenRouter sub-provider; gateway-priced actual billing path.","added_at":"2026-09-24"},{"alias":"opencode/qwen/qwen3-coder-flash","standard_slug":"qwen/qwen3-coder-flash","evidence":"established","source_url":"https://openrouter.ai/qwen/qwen3-coder-flash","note":"OpenRouter sub-provider; gateway-priced actual billing path.","added_at":"2026-09-24"},{"alias":"opencode/qwen/qwen3-coder-plus","standard_slug":"qwen/qwen3-coder-plus","evidence":"established","source_url":"https://openrouter.ai/qwen/qwen3-coder-plus","note":"OpenRouter sub-provider; gateway-priced actual billing path.","added_at":"2026-09-24"},{"alias":"opencode/qwen/qwen3.5-397b-a17b","standard_slug":"qwen/qwen3.5-397b-a17b","evidence":"established","source_url":"https://openrouter.ai/qwen/qwen3.5-397b-a17b","note":"OpenRouter sub-provider; gateway-priced actual billing path.","added_at":"2026-09-24"},{"alias":"opencode/qwen/qwen3.5-9b","standard_slug":"qwen/qwen3.5-9b","evidence":"established","source_url":"https://openrouter.ai/qwen/qwen3.5-9b","note":"OpenRouter sub-provider; gateway-priced actual billing path.","added_at":"2026-09-24"},{"alias":"opencode/qwen/qwen3.5-plus-20260420","standard_slug":"qwen/qwen3.5-plus-20260420","evidence":"established","source_url":"https://openrouter.ai/qwen/qwen3.5-plus-20260420","note":"OpenRouter sub-provider; gateway-priced actual billing path.","added_at":"2026-09-24"},{"alias":"opencode/qwen/qwen3.6-flash","standard_slug":"qwen/qwen3.6-flash","evidence":"established","source_url":"https://openrouter.ai/qwen/qwen3.6-flash","note":"OpenRouter sub-provider; gateway-priced actual billing path.","added_at":"2026-09-24"},{"alias":"opencode/qwen/qwen3.6-max-preview","standard_slug":"qwen/qwen3.6-max-preview","evidence":"established","source_url":"https://openrouter.ai/qwen/qwen3.6-max-preview","note":"OpenRouter sub-provider; gateway-priced actual billing path.","added_at":"2026-09-24"},{"alias":"opencode/qwen/qwen3.7-plus","standard_slug":"qwen/qwen3.7-plus","evidence":"established","source_url":"https://openrouter.ai/qwen/qwen3.7-plus","note":"OpenRouter sub-provider; gateway-priced actual billing path.","added_at":"2026-09-24"},{"alias":"opencode/z-ai-coding/GLM-5.2","standard_slug":"z-ai/glm-5.2","evidence":"established","source_url":"https://docs.z.ai/guides/overview","note":"Z-AI coding-plan route; direct zai rate is a standard-rate counterfactual.","added_at":"2026-09-24"},{"alias":"lmplayer/deepseek/deepseek-v4-pro","standard_slug":"deepseek/deepseek-v4-pro","evidence":"established","source_url":"https://api-docs.deepseek.com/quick_start/pricing","note":"DeepSeek route; direct vendor billing path.","added_at":"2026-09-24"},{"alias":"lmplayer/github-copilot/claude-opus-4.8","standard_slug":null,"evidence":"unresolved","source_url":null,"note":"GitHub Copilot plan route; no direct vendor LiteLLM row exists for Claude Opus 4.8.","added_at":"2026-09-24"},{"alias":"lmplayer/github-copilot/claude-sonnet-5","standard_slug":"anthropic/claude-sonnet-5","evidence":"established","source_url":"https://platform.claude.com/docs/en/about-claude/models","note":"GitHub Copilot plan billing; direct vendor rate is a standard-rate counterfactual.","added_at":"2026-09-24"},{"alias":"lmplayer/github-copilot/gpt-5.5","standard_slug":"openai/gpt-5.5","evidence":"established","source_url":"https://platform.openai.com/docs/pricing","note":"GitHub Copilot plan billing; direct OpenAI rate is a standard-rate counterfactual.","added_at":"2026-09-24"},{"alias":"lmplayer/openai/gpt-6-astra","standard_slug":"openai/gpt-6-astra","evidence":"established","source_url":"https://platform.openai.com/docs/pricing","note":"OpenAI route; direct vendor billing path.","added_at":"2026-09-24"},{"alias":"pi/openai/gpt-5.6-luna","standard_slug":"openai/gpt-5.6-luna","evidence":"established","source_url":"https://platform.openai.com/docs/pricing","note":"OpenAI route; direct vendor billing path.","added_at":"2026-09-24"}]}
|