roadmodel 0.2.69__tar.gz → 0.2.70__tar.gz
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.
- {roadmodel-0.2.69 → roadmodel-0.2.70}/PKG-INFO +1 -1
- {roadmodel-0.2.69 → roadmodel-0.2.70}/pyproject.toml +1 -1
- {roadmodel-0.2.69 → roadmodel-0.2.70}/src/roadmodel/__init__.py +1 -1
- {roadmodel-0.2.69 → roadmodel-0.2.70}/src/roadmodel/scoring.py +6 -2
- {roadmodel-0.2.69 → roadmodel-0.2.70}/.gitignore +0 -0
- {roadmodel-0.2.69 → roadmodel-0.2.70}/LICENSE +0 -0
- {roadmodel-0.2.69 → roadmodel-0.2.70}/NOTICE +0 -0
- {roadmodel-0.2.69 → roadmodel-0.2.70}/README.md +0 -0
- {roadmodel-0.2.69 → roadmodel-0.2.70}/docs/benchmarks.json +0 -0
- {roadmodel-0.2.69 → roadmodel-0.2.70}/docs/catalog.json +0 -0
- {roadmodel-0.2.69 → roadmodel-0.2.70}/docs/model-selector.txt +0 -0
- {roadmodel-0.2.69 → roadmodel-0.2.70}/docs/model-tier-cost-scale.md +0 -0
- {roadmodel-0.2.69 → roadmodel-0.2.70}/docs/settings-display.md +0 -0
- {roadmodel-0.2.69 → roadmodel-0.2.70}/docs/templates/phase-roadmap-template.md +0 -0
- {roadmodel-0.2.69 → roadmodel-0.2.70}/docs/templates/planning-kit-how-to-use.md +0 -0
- {roadmodel-0.2.69 → roadmodel-0.2.70}/docs/templates/project-roadmap-template.md +0 -0
- {roadmodel-0.2.69 → roadmodel-0.2.70}/docs/templates/prompt-phase-roadmap.md +0 -0
- {roadmodel-0.2.69 → roadmodel-0.2.70}/docs/templates/prompt-project-roadmap.md +0 -0
- {roadmodel-0.2.69 → roadmodel-0.2.70}/docs/user-context.example.md +0 -0
- {roadmodel-0.2.69 → roadmodel-0.2.70}/hatch_build.py +0 -0
- {roadmodel-0.2.69 → roadmodel-0.2.70}/infra/README.md +0 -0
- {roadmodel-0.2.69 → roadmodel-0.2.70}/infra/gcp-killswitch/README.md +0 -0
- {roadmodel-0.2.69 → roadmodel-0.2.70}/infra/supabase/README.md +0 -0
- {roadmodel-0.2.69 → roadmodel-0.2.70}/roadmodel/data/benchmarks.json +0 -0
- {roadmodel-0.2.69 → roadmodel-0.2.70}/roadmodel/data/catalog.json +0 -0
- {roadmodel-0.2.69 → roadmodel-0.2.70}/roadmodel/data/model-selector.txt +0 -0
- {roadmodel-0.2.69 → roadmodel-0.2.70}/roadmodel/data/model-tier-cost-scale.md +0 -0
- {roadmodel-0.2.69 → roadmodel-0.2.70}/roadmodel/data/phase-roadmap-template.md +0 -0
- {roadmodel-0.2.69 → roadmodel-0.2.70}/roadmodel/data/planning-kit-how-to-use.md +0 -0
- {roadmodel-0.2.69 → roadmodel-0.2.70}/roadmodel/data/project-roadmap-template.md +0 -0
- {roadmodel-0.2.69 → roadmodel-0.2.70}/roadmodel/data/prompt-phase-roadmap.md +0 -0
- {roadmodel-0.2.69 → roadmodel-0.2.70}/roadmodel/data/prompt-project-roadmap.md +0 -0
- {roadmodel-0.2.69 → roadmodel-0.2.70}/roadmodel/data/settings-display.md +0 -0
- {roadmodel-0.2.69 → roadmodel-0.2.70}/roadmodel/data/user-context.example.md +0 -0
- {roadmodel-0.2.69 → roadmodel-0.2.70}/scripts/agent_context.py +0 -0
- {roadmodel-0.2.69 → roadmodel-0.2.70}/scripts/agent_rules.py +0 -0
- {roadmodel-0.2.69 → roadmodel-0.2.70}/scripts/update_projects.py +0 -0
- {roadmodel-0.2.69 → roadmodel-0.2.70}/scripts/updater_lock.py +0 -0
- {roadmodel-0.2.69 → roadmodel-0.2.70}/scripts/upgrade_fleet.py +0 -0
- {roadmodel-0.2.69 → roadmodel-0.2.70}/scripts/worktree_memory.py +0 -0
- {roadmodel-0.2.69 → roadmodel-0.2.70}/src/roadmodel/__main__.py +0 -0
- {roadmodel-0.2.69 → roadmodel-0.2.70}/src/roadmodel/cli.py +0 -0
- {roadmodel-0.2.69 → roadmodel-0.2.70}/src/roadmodel/config.py +0 -0
- {roadmodel-0.2.69 → roadmodel-0.2.70}/src/roadmodel/cost.py +0 -0
- {roadmodel-0.2.69 → roadmodel-0.2.70}/src/roadmodel/errors.py +0 -0
- {roadmodel-0.2.69 → roadmodel-0.2.70}/src/roadmodel/mcp_server.py +0 -0
- {roadmodel-0.2.69 → roadmodel-0.2.70}/src/roadmodel/providers/__init__.py +0 -0
- {roadmodel-0.2.69 → roadmodel-0.2.70}/src/roadmodel/providers/anthropic.py +0 -0
- {roadmodel-0.2.69 → roadmodel-0.2.70}/src/roadmodel/providers/google.py +0 -0
- {roadmodel-0.2.69 → roadmodel-0.2.70}/src/roadmodel/providers/openai.py +0 -0
- {roadmodel-0.2.69 → roadmodel-0.2.70}/src/roadmodel/providers/openai_compatible.py +0 -0
- {roadmodel-0.2.69 → roadmodel-0.2.70}/src/roadmodel/providers/registry.py +0 -0
- {roadmodel-0.2.69 → roadmodel-0.2.70}/src/roadmodel/recommend.py +0 -0
- {roadmodel-0.2.69 → roadmodel-0.2.70}/src/roadmodel/usage.py +0 -0
- {roadmodel-0.2.69 → roadmodel-0.2.70}/src/roadmodel/user_context.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: roadmodel
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.70
|
|
4
4
|
Summary: BYO-key CLI that recommends the right AI model, platform, and settings for a prompt.
|
|
5
5
|
Project-URL: Homepage, https://roadmodel.ai
|
|
6
6
|
Project-URL: Repository, https://github.com/nathanramoscfa/roadmodel
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
# src/roadmodel/__init__.py
|
|
2
|
-
__version__ = "0.2.
|
|
2
|
+
__version__ = "0.2.70"
|
|
@@ -1218,8 +1218,9 @@ def ladder(
|
|
|
1218
1218
|
or local weights); a per-token point takes COST only when no prepaid
|
|
1219
1219
|
point is adequate. BALANCED is the point strictly between them, stronger
|
|
1220
1220
|
than COST in the task's category, with the best score at the balanced
|
|
1221
|
-
posture
|
|
1222
|
-
effort, whichever differs
|
|
1221
|
+
posture, a prepaid point ahead of any per-token one; with none, the COST
|
|
1222
|
+
or QUALITY model at the balanced posture's effort, whichever differs
|
|
1223
|
+
from both other rungs.
|
|
1223
1224
|
- Each rung runs at :func:`effort_for` its posture (cheap / balanced /
|
|
1224
1225
|
best), set on its platform's own dial (:func:`native_level`) where the
|
|
1225
1226
|
catalog documents one. A lower rung on the same model and platform as
|
|
@@ -1290,6 +1291,9 @@ def ladder(
|
|
|
1290
1291
|
# can still trail it in the category the task needs.
|
|
1291
1292
|
between = span[lo + 1 :] if specialist is not None else span[lo + 1 : -1]
|
|
1292
1293
|
between = [p for p in between if p.candidate.quality > cost_point.candidate.quality]
|
|
1294
|
+
# Like COST, BALANCED draws on what is already paid for first: a per-token
|
|
1295
|
+
# point stands between only when no prepaid one out-scores COST there.
|
|
1296
|
+
between = [p for p in between if p.candidate.scarcity < 1.0] or between
|
|
1293
1297
|
if between:
|
|
1294
1298
|
balanced_rung = rung(
|
|
1295
1299
|
"balanced", max(between, key=lambda p: (p.candidate.score, -p.price_usd))
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|