coderouter-cli 2.5.0__py3-none-any.whl → 2.5.1__py3-none-any.whl
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.
- coderouter/cli.py +2 -2
- coderouter/config/capability_registry.py +1 -1
- coderouter/data/model-capabilities.yaml +2 -2
- coderouter/ingress/launcher_routes.py +16 -5
- coderouter/logging.py +2 -2
- coderouter/routing/capability.py +1 -1
- {coderouter_cli-2.5.0.dist-info → coderouter_cli-2.5.1.dist-info}/METADATA +17 -17
- {coderouter_cli-2.5.0.dist-info → coderouter_cli-2.5.1.dist-info}/RECORD +11 -11
- {coderouter_cli-2.5.0.dist-info → coderouter_cli-2.5.1.dist-info}/WHEEL +0 -0
- {coderouter_cli-2.5.0.dist-info → coderouter_cli-2.5.1.dist-info}/entry_points.txt +0 -0
- {coderouter_cli-2.5.0.dist-info → coderouter_cli-2.5.1.dist-info}/licenses/LICENSE +0 -0
coderouter/cli.py
CHANGED
|
@@ -61,7 +61,7 @@ def _build_parser() -> argparse.ArgumentParser:
|
|
|
61
61
|
"binding the server. Repeat to layer multiple files. By "
|
|
62
62
|
"default, file values do NOT override variables already in "
|
|
63
63
|
"the environment (the shell `export` wins). See "
|
|
64
|
-
"docs/troubleshooting.md §5 for 1Password / direnv / sops "
|
|
64
|
+
"docs/guides/troubleshooting.md §5 for 1Password / direnv / sops "
|
|
65
65
|
"integration recipes."
|
|
66
66
|
),
|
|
67
67
|
)
|
|
@@ -116,7 +116,7 @@ def _build_parser() -> argparse.ArgumentParser:
|
|
|
116
116
|
"POSIX file mode (0600 expected), .gitignore coverage, "
|
|
117
117
|
"and git-tracking state. Bare `--check-env` (no PATH) "
|
|
118
118
|
"looks for `./.env` then `~/.coderouter/.env`. "
|
|
119
|
-
"See docs/troubleshooting.md §5 for the threat model."
|
|
119
|
+
"See docs/guides/troubleshooting.md §5 for the threat model."
|
|
120
120
|
),
|
|
121
121
|
)
|
|
122
122
|
doctor.add_argument(
|
|
@@ -109,7 +109,7 @@ class RegistryCapabilities(BaseModel):
|
|
|
109
109
|
"harness. ``degraded`` = the model over-eagerly invokes "
|
|
110
110
|
"tools/skills when given Claude Code's system prompt — e.g. "
|
|
111
111
|
"Llama-3.3-70B treating small talk like ``こんにちは`` as "
|
|
112
|
-
"``Skill(hello)`` invocations (see docs/troubleshooting.md "
|
|
112
|
+
"``Skill(hello)`` invocations (see docs/guides/troubleshooting.md "
|
|
113
113
|
"§4-1 for the symptom log). ``ok`` = explicitly verified "
|
|
114
114
|
"clean. ``None`` = no opinion (treated as ``ok`` at the "
|
|
115
115
|
"startup check)."
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
# Claude Code's agentic-coding harness;
|
|
36
36
|
# "degraded" triggers a startup WARN when
|
|
37
37
|
# the provider is on a `claude-code-*`
|
|
38
|
-
# chain. See docs/troubleshooting.md §4-1.
|
|
38
|
+
# chain. See docs/guides/troubleshooting.md §4-1.
|
|
39
39
|
#
|
|
40
40
|
# First-match semantics: rules within a file are evaluated top-to-bottom
|
|
41
41
|
# per flag; the first rule whose glob matches AND declares that flag
|
|
@@ -153,7 +153,7 @@ rules:
|
|
|
153
153
|
# Llama-3.3-70B (verified 2026-04-24 against NVIDIA NIM) rewrites
|
|
154
154
|
# ``こんにちは`` into ``Skill(hello)`` invocations and fabricates
|
|
155
155
|
# ``AskUserQuestion("What is your name?")`` elicitations — see
|
|
156
|
-
# docs/articles/note-nvidia-nim.md §6-2 + docs/troubleshooting.md §4-1.
|
|
156
|
+
# docs/articles/note/note-nvidia-nim.md §6-2 + docs/guides/troubleshooting.md §4-1.
|
|
157
157
|
#
|
|
158
158
|
# Glob coverage: NIM uses ``meta/llama-3.3-70b-instruct``, OpenRouter
|
|
159
159
|
# uses ``meta-llama/llama-3.3-70b-instruct``, some local servers use
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
"""Launcher routes — ``GET /launcher`` + ``/api/launcher/*``.
|
|
2
2
|
|
|
3
|
-
llama.cpp / vllm プロセス管理 UI。
|
|
3
|
+
llama.cpp / vllm / mlx プロセス管理 UI。
|
|
4
4
|
|
|
5
5
|
設計方針:
|
|
6
6
|
- ダッシュボードと同じ "1ファイル完結" スタイル (Tailwind CDN + inline JS)
|
|
7
7
|
- プロセスレジストリは app.state.launcher に持たせる (再起動で消えるが意図通り)
|
|
8
8
|
- option_profiles は providers.yaml の launcher: セクションで管理 → コード変更不要で拡張可
|
|
9
9
|
- 複数プロセスの同時起動に対応 (UUID ベースの ID 管理)
|
|
10
|
-
- llama.cpp / vllm
|
|
10
|
+
- llama.cpp / vllm / mlx いずれも同じ key-value args スキーマで統一
|
|
11
11
|
|
|
12
12
|
エンドポイント:
|
|
13
13
|
GET /launcher → HTML UI
|
|
@@ -62,7 +62,7 @@ class ManagedProcess:
|
|
|
62
62
|
|
|
63
63
|
id: str
|
|
64
64
|
name: str
|
|
65
|
-
backend: str # "llama.cpp" | "vllm"
|
|
65
|
+
backend: str # "llama.cpp" | "vllm" | "mlx"
|
|
66
66
|
model_path: str
|
|
67
67
|
port: int
|
|
68
68
|
options: dict[str, Any]
|
|
@@ -150,6 +150,7 @@ def _scan_models(model_dirs: list[str]) -> list[dict[str, Any]]:
|
|
|
150
150
|
_BACKEND_DEFAULTS: dict[str, str] = {
|
|
151
151
|
"llama.cpp": "llama-server",
|
|
152
152
|
"vllm": "python",
|
|
153
|
+
"mlx": "python", # mlx_lm.server (Apple Silicon 向け)
|
|
153
154
|
}
|
|
154
155
|
|
|
155
156
|
|
|
@@ -312,8 +313,17 @@ def _build_cmd(
|
|
|
312
313
|
"--model", model_path,
|
|
313
314
|
"--port", str(port),
|
|
314
315
|
]
|
|
316
|
+
elif backend == "mlx":
|
|
317
|
+
cmd = [
|
|
318
|
+
exe, "-m", "mlx_lm.server",
|
|
319
|
+
"--model", model_path,
|
|
320
|
+
"--port", str(port),
|
|
321
|
+
]
|
|
315
322
|
else:
|
|
316
|
-
raise ValueError(
|
|
323
|
+
raise ValueError(
|
|
324
|
+
f"Unknown backend: {backend!r}. "
|
|
325
|
+
"Expected 'llama.cpp', 'vllm' or 'mlx'."
|
|
326
|
+
)
|
|
317
327
|
|
|
318
328
|
for flag, val in options.items():
|
|
319
329
|
if isinstance(val, bool):
|
|
@@ -720,6 +730,7 @@ _LAUNCHER_HTML = r"""<!doctype html>
|
|
|
720
730
|
<select id="f-backend" onchange="onBackendChange()">
|
|
721
731
|
<option value="llama.cpp">llama.cpp</option>
|
|
722
732
|
<option value="vllm">vllm</option>
|
|
733
|
+
<option value="mlx">mlx</option>
|
|
723
734
|
</select>
|
|
724
735
|
<div id="binary-hint" class="mt-1 text-xs text-slate-500 min-h-[1.2rem]"></div>
|
|
725
736
|
</div>
|
|
@@ -961,7 +972,7 @@ _LAUNCHER_HTML = r"""<!doctype html>
|
|
|
961
972
|
// Enable/disable launch button based on binary availability
|
|
962
973
|
if (!info.found) {
|
|
963
974
|
btn.disabled = true;
|
|
964
|
-
showLaunchErr(`⚠ "${esc(info.resolved)}"
|
|
975
|
+
showLaunchErr(`⚠ "${esc(info.resolved)}" が見つかりません。選択中のバックエンド (${esc(backend)}) をインストールするか、providers.yaml の launcher.backends.${esc(backend)}.binary にフルパスを設定してください。`);
|
|
965
976
|
} else {
|
|
966
977
|
btn.disabled = false;
|
|
967
978
|
// Clear error only if it was a binary-not-found error
|
coderouter/logging.py
CHANGED
|
@@ -779,7 +779,7 @@ def log_output_filter_applied(
|
|
|
779
779
|
# v1.7-B: chain-claude-code-suitability-degraded log shape
|
|
780
780
|
#
|
|
781
781
|
# Motivation (plan.md §11.B.4 #2):
|
|
782
|
-
# v1.6.2 documented in docs/troubleshooting.md §4-1 that putting
|
|
782
|
+
# v1.6.2 documented in docs/guides/troubleshooting.md §4-1 that putting
|
|
783
783
|
# Llama-3.3-70B at the head of a Claude-Code-facing chain causes
|
|
784
784
|
# over-eager tool invocation (small talk like ``こんにちは`` getting
|
|
785
785
|
# rewritten to ``Skill(hello)`` calls). Docs alone require the operator
|
|
@@ -805,7 +805,7 @@ def log_output_filter_applied(
|
|
|
805
805
|
_DEFAULT_CLAUDE_CODE_SUITABILITY_HINT: str = (
|
|
806
806
|
"move the degraded provider(s) to the tail of the chain or replace "
|
|
807
807
|
"with an agentic-coding-tuned model (e.g. qwen3-coder-480b-a35b-instruct); "
|
|
808
|
-
"see docs/troubleshooting.md §4-1"
|
|
808
|
+
"see docs/guides/troubleshooting.md §4-1"
|
|
809
809
|
)
|
|
810
810
|
|
|
811
811
|
|
coderouter/routing/capability.py
CHANGED
|
@@ -312,7 +312,7 @@ def anthropic_request_has_cache_control(request: AnthropicRequest) -> bool:
|
|
|
312
312
|
# v1.7-B: claude_code_suitability startup check
|
|
313
313
|
#
|
|
314
314
|
# Motivation (plan.md §11.B.4 #2):
|
|
315
|
-
# v1.6.2 documented in docs/troubleshooting.md §4-1 the "Llama-3.3-70B
|
|
315
|
+
# v1.6.2 documented in docs/guides/troubleshooting.md §4-1 the "Llama-3.3-70B
|
|
316
316
|
# over-eagerly invokes Skill() for small talk under Claude Code"
|
|
317
317
|
# symptom. v1.7-B promotes that hint from prose-only to a structured
|
|
318
318
|
# automatic startup WARN: at app startup we scan every profile whose
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: coderouter-cli
|
|
3
|
-
Version: 2.5.
|
|
3
|
+
Version: 2.5.1
|
|
4
4
|
Summary: Local-first, free-first, fallback-built-in LLM router. Claude Code / OpenAI compatible.
|
|
5
5
|
Project-URL: Homepage, https://github.com/zephel01/CodeRouter
|
|
6
6
|
Project-URL: Repository, https://github.com/zephel01/CodeRouter
|
|
@@ -54,7 +54,7 @@ Description-Content-Type: text/markdown
|
|
|
54
54
|
</p>
|
|
55
55
|
|
|
56
56
|
<p align="center">
|
|
57
|
-
<a href="./README.en.md">English</a> · <strong>日本語</strong> · <a href="./docs/quickstart.md">10 分で動かす</a> · <a href="./docs/architecture.md">設計詳細</a>
|
|
57
|
+
<a href="./README.en.md">English</a> · <strong>日本語</strong> · <a href="./docs/start/quickstart.md">10 分で動かす</a> · <a href="./docs/concepts/architecture.md">設計詳細</a>
|
|
58
58
|
</p>
|
|
59
59
|
|
|
60
60
|
---
|
|
@@ -121,7 +121,7 @@ ANTHROPIC_BASE_URL=http://localhost:8088 ANTHROPIC_AUTH_TOKEN=dummy claude
|
|
|
121
121
|
| codex / gemini-cli + Ollama 直繋ぎで動いてる | オプション — フォールバックが欲しいなら |
|
|
122
122
|
| Claude API を直接叩いてて問題ない | 不要 |
|
|
123
123
|
|
|
124
|
-
詳細は → [要否判定ガイド](./docs/when-do-i-need-coderouter.md)
|
|
124
|
+
詳細は → [要否判定ガイド](./docs/start/when-do-i-need-coderouter.md)
|
|
125
125
|
|
|
126
126
|
---
|
|
127
127
|
|
|
@@ -186,7 +186,7 @@ launcher:
|
|
|
186
186
|
"--max-model-len": 4096
|
|
187
187
|
```
|
|
188
188
|
|
|
189
|
-
詳細 → [Launcher ガイド](./docs/launcher.md)
|
|
189
|
+
詳細 → [Launcher ガイド](./docs/backends/launcher.md)
|
|
190
190
|
|
|
191
191
|
---
|
|
192
192
|
|
|
@@ -213,7 +213,7 @@ providers:
|
|
|
213
213
|
api_key_env: OPENROUTER_API_KEY
|
|
214
214
|
```
|
|
215
215
|
|
|
216
|
-
もっと詳しい設定 → [利用ガイド](./docs/usage-guide.md) · [設計詳細](./docs/architecture.md)
|
|
216
|
+
もっと詳しい設定 → [利用ガイド](./docs/guides/usage-guide.md) · [設計詳細](./docs/concepts/architecture.md)
|
|
217
217
|
|
|
218
218
|
---
|
|
219
219
|
|
|
@@ -221,15 +221,15 @@ providers:
|
|
|
221
221
|
|
|
222
222
|
| やりたいこと | ドキュメント |
|
|
223
223
|
|---|---|
|
|
224
|
-
| すぐ動かす | [Quickstart](./docs/quickstart.md) |
|
|
225
|
-
| 使いこなす | [利用ガイド](./docs/usage-guide.md) |
|
|
226
|
-
| 無料で回す | [無料枠ガイド](./docs/free-tier-guide.md) |
|
|
227
|
-
| llama.cpp / vllm を GUI で起動 | [Launcher ガイド](./docs/launcher.md) |
|
|
228
|
-
| 詰まった | [トラブルシューティング](./docs/troubleshooting.md) |
|
|
229
|
-
| 設計を知りたい | [アーキテクチャ詳細](./docs/architecture.md) |
|
|
224
|
+
| すぐ動かす | [Quickstart](./docs/start/quickstart.md) |
|
|
225
|
+
| 使いこなす | [利用ガイド](./docs/guides/usage-guide.md) |
|
|
226
|
+
| 無料で回す | [無料枠ガイド](./docs/guides/free-tier-guide.md) |
|
|
227
|
+
| llama.cpp / vllm を GUI で起動 | [Launcher ガイド](./docs/backends/launcher.md) |
|
|
228
|
+
| 詰まった | [トラブルシューティング](./docs/guides/troubleshooting.md) |
|
|
229
|
+
| 設計を知りたい | [アーキテクチャ詳細](./docs/concepts/architecture.md) |
|
|
230
230
|
| 全リリース履歴 | [CHANGELOG](./CHANGELOG.md) |
|
|
231
231
|
|
|
232
|
-
English: [Quickstart](./docs/quickstart.en.md) · [Usage guide](./docs/usage-guide.en.md) · [Free-tier](./docs/free-tier-guide.en.md) · [Troubleshooting](./docs/troubleshooting.en.md)
|
|
232
|
+
English: [Quickstart](./docs/start/quickstart.en.md) · [Usage guide](./docs/guides/usage-guide.en.md) · [Free-tier](./docs/guides/free-tier-guide.en.md) · [Troubleshooting](./docs/guides/troubleshooting.en.md)
|
|
233
233
|
|
|
234
234
|
---
|
|
235
235
|
|
|
@@ -239,10 +239,10 @@ English: [Quickstart](./docs/quickstart.en.md) · [Usage guide](./docs/usage-gui
|
|
|
239
239
|
|
|
240
240
|
| 症状 | 原因 | 詳細 |
|
|
241
241
|
|---|---|---|
|
|
242
|
-
| 401 エラー | API キー未設定 / `.env` に `export` 忘れ | [§1](./docs/troubleshooting.md#1-起動設定で踏みやすい-5-つの罠-v162-追加) |
|
|
243
|
-
| 返信が空 / 意味不明 | Ollama の `num_ctx` が 2048 に切り詰め | [§3](./docs/troubleshooting.md#3-ollama-初心者--サイレント失敗-5-症状-v07-c) |
|
|
244
|
-
| `<think>` タグが漏れる | `output_filters: [strip_thinking]` を付ける | [§3](./docs/troubleshooting.md#3-ollama-初心者--サイレント失敗-5-症状-v07-c) |
|
|
245
|
-
| Claude Code でツール呼び出しがおかしい | tool-call 修復が効いてない | [§4](./docs/troubleshooting.md#4-claude-code-連携で踏みやすい罠-v162-追加) |
|
|
242
|
+
| 401 エラー | API キー未設定 / `.env` に `export` 忘れ | [§1](./docs/guides/troubleshooting.md#1-起動設定で踏みやすい-5-つの罠-v162-追加) |
|
|
243
|
+
| 返信が空 / 意味不明 | Ollama の `num_ctx` が 2048 に切り詰め | [§3](./docs/guides/troubleshooting.md#3-ollama-初心者--サイレント失敗-5-症状-v07-c) |
|
|
244
|
+
| `<think>` タグが漏れる | `output_filters: [strip_thinking]` を付ける | [§3](./docs/guides/troubleshooting.md#3-ollama-初心者--サイレント失敗-5-症状-v07-c) |
|
|
245
|
+
| Claude Code でツール呼び出しがおかしい | tool-call 修復が効いてない | [§4](./docs/guides/troubleshooting.md#4-claude-code-連携で踏みやすい罠-v162-追加) |
|
|
246
246
|
|
|
247
247
|
`http://localhost:8088/dashboard` を開いておくと、ほとんどの問題が見て 10 秒でわかります。
|
|
248
248
|
|
|
@@ -268,7 +268,7 @@ CodeRouter は backend ルーター層として独立して動きます。`OPENA
|
|
|
268
268
|
|
|
269
269
|
## Security
|
|
270
270
|
|
|
271
|
-
シークレットは環境変数に置きます。[`docs/security.md`](./docs/security.md) に完全な方針と報告手順があります。
|
|
271
|
+
シークレットは環境変数に置きます。[`docs/security.md`](./docs/guides/security.md) に完全な方針と報告手順があります。
|
|
272
272
|
|
|
273
273
|
## License
|
|
274
274
|
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
coderouter/__init__.py,sha256=ghdjPrLtnRzY8fyQ4CJZI1UJKADyNTLtA3G7se8H7Ns,696
|
|
2
2
|
coderouter/__main__.py,sha256=-LCgxJnvgUV240HjQKv7ly-mn2NuKHpC4nCpvTHjeSU,130
|
|
3
|
-
coderouter/cli.py,sha256=
|
|
3
|
+
coderouter/cli.py,sha256=KE49IACJVw692H6dlfu1tAah1jQgbwH92F4lCkhRk6U,28168
|
|
4
4
|
coderouter/cli_stats.py,sha256=CCjzc1G4hTRHZ2gG1XhxhDpUkJnnl3NXbcbp1T18jpg,29894
|
|
5
5
|
coderouter/cost.py,sha256=jf70XTTjEfWddHkOohErqSo5TfmIG42zQpBT_5faPNA,5881
|
|
6
6
|
coderouter/doctor.py,sha256=2luNk6BHSRvpQStJnHcqzNvNi-SKdOuKV0WZdorZhVk,82854
|
|
7
7
|
coderouter/doctor_apply.py,sha256=r_J6xbu5-HivofPNriw4_vjNYs_VRs7GsGTS0oMEX10,24209
|
|
8
8
|
coderouter/env_security.py,sha256=FEBZnXfJ0xE39kmMMn39zk0W_DRRnmcB_REmP9f4xWo,14796
|
|
9
9
|
coderouter/errors.py,sha256=Xmq67lheyw8iv3Ox39jh2c4tvNI5RcUR4QkoxVDN6l4,1130
|
|
10
|
-
coderouter/logging.py,sha256=
|
|
10
|
+
coderouter/logging.py,sha256=U7QiGRaoQXTSGijc-jV9TebnbbzrD-snfnoZy73Nvwo,52737
|
|
11
11
|
coderouter/output_filters.py,sha256=LOOh68Kcn2LFDy1wPFynA6O_HGazV756q_79Z0_4Jww,19350
|
|
12
12
|
coderouter/token_estimation.py,sha256=1Ai1uT68hahpyr4LBhNyVRGq7y4yXItd6J4k5ApGX7M,5995
|
|
13
13
|
coderouter/adapters/__init__.py,sha256=7dIDSZ-FE_0iSqLSDc_lK1idRdLTKcM2hP9tCJipgPI,463
|
|
@@ -16,12 +16,12 @@ coderouter/adapters/base.py,sha256=H4uM6r_-95Xs1hCM_X4Zv3tq-xN3cXWLj83F-QjPNLw,8
|
|
|
16
16
|
coderouter/adapters/openai_compat.py,sha256=9qoJfLR2vVnyM8isb9G4j-Dk5QBHFlneOaBSY-P4UAg,17941
|
|
17
17
|
coderouter/adapters/registry.py,sha256=Syt3eDljWZAK5mfiJGvUMKaZYAfCRScp7PvV6pYt7mc,683
|
|
18
18
|
coderouter/config/__init__.py,sha256=FODEn74fN-qZnt4INPSHswqhOlEgpL6-_onxsitSx8g,274
|
|
19
|
-
coderouter/config/capability_registry.py,sha256=
|
|
19
|
+
coderouter/config/capability_registry.py,sha256=QRJLlzqKTdb2ndpWAHGZQJq23wczEfzSVanKnoqJrg4,15815
|
|
20
20
|
coderouter/config/env_file.py,sha256=CoMK27fuAXm-NtoLzXb8yN2E-wDFjHQuFwiIlmgTBQw,10356
|
|
21
21
|
coderouter/config/loader.py,sha256=FUEe8m4Tnmj_aul0vSctD8vKvNW-oLRoMRbTpSKqSmc,4077
|
|
22
22
|
coderouter/config/schemas.py,sha256=XsOGooItlHSXIfkE6LJbZY6vOo3uRkxUoTOt03mQARI,60423
|
|
23
23
|
coderouter/data/__init__.py,sha256=uNyfD9jaCvTWsBAWtaw1Fr25OSxzv3psGMfBjT1z0Cc,328
|
|
24
|
-
coderouter/data/model-capabilities.yaml,sha256=
|
|
24
|
+
coderouter/data/model-capabilities.yaml,sha256=S9jt6SC6-3s2-icZ_n-a14iEMnc2yB1C2R6q-N_tZWQ,19309
|
|
25
25
|
coderouter/guards/__init__.py,sha256=5qliYBqygvVPneej7nx0uSjxDKsz7t8VzvrDgVBJlvU,1170
|
|
26
26
|
coderouter/guards/_fingerprint.py,sha256=qsgNzIq9jv3FHrKL39nGJARp0cMenpN_QmWoJu87vU4,4835
|
|
27
27
|
coderouter/guards/backend_health.py,sha256=Xx5OpX1x7atxghmBNDVxtwGg62zQIOsk6FmrQV4ILa4,9113
|
|
@@ -36,7 +36,7 @@ coderouter/ingress/__init__.py,sha256=WQsCH2CGJCAhy0mS6GSEdeYZRkkQu2OHDsP4CJWTLu
|
|
|
36
36
|
coderouter/ingress/anthropic_routes.py,sha256=It2f7XGe3fgKQX01J2F5JOCoZr96t_Tx_kY2om99MVo,16894
|
|
37
37
|
coderouter/ingress/app.py,sha256=PcuTvUFNjr04EbsUOu8qdyKTdBzxkIJYB4xpz8dFfMo,12635
|
|
38
38
|
coderouter/ingress/dashboard_routes.py,sha256=rscoj89weHTfc8QmYk-fof-7062rhKFHVHRA8cDImDI,21931
|
|
39
|
-
coderouter/ingress/launcher_routes.py,sha256=
|
|
39
|
+
coderouter/ingress/launcher_routes.py,sha256=T3uMmpUaFsc0k5jKyUIUPbSGCUBbzgIUMIPqEpNV3j4,45762
|
|
40
40
|
coderouter/ingress/metrics_routes.py,sha256=M22dwOGn24P05Ge4W3c7d7mYytSGWjIR-pPSPOAiHJY,3965
|
|
41
41
|
coderouter/ingress/openai_routes.py,sha256=Zw1efPw9DI6GgV8ZcLrzS6Cda0KLrFkKn2GBZWSe6Vo,6322
|
|
42
42
|
coderouter/metrics/__init__.py,sha256=7Es351DPS7yLM0yVF_F0eesmiD83n7Zzhie44chht38,1465
|
|
@@ -50,7 +50,7 @@ coderouter/routing/__init__.py,sha256=g2vhutbozRx5QBThReqwPN3imk5qXdpDiaogILd3IR
|
|
|
50
50
|
coderouter/routing/adaptive.py,sha256=G2o377twGSjbUh65wiIFx6klnpFGjsD_nI3oDvcBwhY,21257
|
|
51
51
|
coderouter/routing/auto_router.py,sha256=4_sQR0ztSED9FgQSvQqgqSiydyQVY_qOSRvwyZ5BfRc,12909
|
|
52
52
|
coderouter/routing/budget.py,sha256=A3_i44tmS3SrqVNnoGkLKMsiYwI_Ug6m5-3gitVoQSM,8452
|
|
53
|
-
coderouter/routing/capability.py,sha256=
|
|
53
|
+
coderouter/routing/capability.py,sha256=DCDmiQ-78dkYonCM1WQBCMf6e6XI6VIv_cnuz9hdWT0,18443
|
|
54
54
|
coderouter/routing/fallback.py,sha256=P3f6Yna1EGnLAT-ZS5ADrrZ-qRWc-M5xvwEuan4rmcs,104568
|
|
55
55
|
coderouter/state/__init__.py,sha256=XoGcPmmBQSiZWML2S0juSveQ78xfhtdeCliNnVyzu7E,1088
|
|
56
56
|
coderouter/state/audit_log.py,sha256=JwGd0OkkDlkh0Fdc6SmnuyViwKzEaFA7Ux_VqHzakWE,8358
|
|
@@ -62,8 +62,8 @@ coderouter/translation/__init__.py,sha256=PYXN7XVEwpG1uC8RLy6fvnGbzEZhhrEuUapH8I
|
|
|
62
62
|
coderouter/translation/anthropic.py,sha256=JpvIWNXHUPVqOGvps7o_6ZADhXuJuvpU7RdMqQFtwwM,6421
|
|
63
63
|
coderouter/translation/convert.py,sha256=-qyzFzmmr9hhQV6_Sg75kJnvCZvHe3n7vRdaZtk_JqQ,47269
|
|
64
64
|
coderouter/translation/tool_repair.py,sha256=Ok2PF947Liegc5oaytfptv5MWMkpfJYQie-zdP1y3cY,9946
|
|
65
|
-
coderouter_cli-2.5.
|
|
66
|
-
coderouter_cli-2.5.
|
|
67
|
-
coderouter_cli-2.5.
|
|
68
|
-
coderouter_cli-2.5.
|
|
69
|
-
coderouter_cli-2.5.
|
|
65
|
+
coderouter_cli-2.5.1.dist-info/METADATA,sha256=3ltKBldo-TSDI97pvjmhs6esu7OwjZvsBtKD5Ll3F04,11521
|
|
66
|
+
coderouter_cli-2.5.1.dist-info/WHEEL,sha256=QccIxa26bgl1E6uMy58deGWi-0aeIkkangHcxk2kWfw,87
|
|
67
|
+
coderouter_cli-2.5.1.dist-info/entry_points.txt,sha256=-dnLfD1YZ2WjH2zSdNCvlO65wYltM9bsHt9Fhg3yGss,51
|
|
68
|
+
coderouter_cli-2.5.1.dist-info/licenses/LICENSE,sha256=wkEzoR86jFw33jvfOHjULqmkGEfxTFMgMaJnpR8mPRw,1065
|
|
69
|
+
coderouter_cli-2.5.1.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|