coderouter-cli 1.7.0__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.
Files changed (116) hide show
  1. coderouter_cli-1.7.0/.gitignore +80 -0
  2. coderouter_cli-1.7.0/CHANGELOG.md +1679 -0
  3. coderouter_cli-1.7.0/LICENSE +21 -0
  4. coderouter_cli-1.7.0/PKG-INFO +509 -0
  5. coderouter_cli-1.7.0/README.en.md +473 -0
  6. coderouter_cli-1.7.0/README.md +471 -0
  7. coderouter_cli-1.7.0/coderouter/__init__.py +17 -0
  8. coderouter_cli-1.7.0/coderouter/__main__.py +6 -0
  9. coderouter_cli-1.7.0/coderouter/adapters/__init__.py +23 -0
  10. coderouter_cli-1.7.0/coderouter/adapters/anthropic_native.py +502 -0
  11. coderouter_cli-1.7.0/coderouter/adapters/base.py +220 -0
  12. coderouter_cli-1.7.0/coderouter/adapters/openai_compat.py +395 -0
  13. coderouter_cli-1.7.0/coderouter/adapters/registry.py +17 -0
  14. coderouter_cli-1.7.0/coderouter/cli.py +345 -0
  15. coderouter_cli-1.7.0/coderouter/cli_stats.py +751 -0
  16. coderouter_cli-1.7.0/coderouter/config/__init__.py +10 -0
  17. coderouter_cli-1.7.0/coderouter/config/capability_registry.py +339 -0
  18. coderouter_cli-1.7.0/coderouter/config/env_file.py +295 -0
  19. coderouter_cli-1.7.0/coderouter/config/loader.py +73 -0
  20. coderouter_cli-1.7.0/coderouter/config/schemas.py +515 -0
  21. coderouter_cli-1.7.0/coderouter/data/__init__.py +7 -0
  22. coderouter_cli-1.7.0/coderouter/data/model-capabilities.yaml +86 -0
  23. coderouter_cli-1.7.0/coderouter/doctor.py +1596 -0
  24. coderouter_cli-1.7.0/coderouter/env_security.py +434 -0
  25. coderouter_cli-1.7.0/coderouter/errors.py +29 -0
  26. coderouter_cli-1.7.0/coderouter/ingress/__init__.py +5 -0
  27. coderouter_cli-1.7.0/coderouter/ingress/anthropic_routes.py +205 -0
  28. coderouter_cli-1.7.0/coderouter/ingress/app.py +144 -0
  29. coderouter_cli-1.7.0/coderouter/ingress/dashboard_routes.py +493 -0
  30. coderouter_cli-1.7.0/coderouter/ingress/metrics_routes.py +92 -0
  31. coderouter_cli-1.7.0/coderouter/ingress/openai_routes.py +153 -0
  32. coderouter_cli-1.7.0/coderouter/logging.py +315 -0
  33. coderouter_cli-1.7.0/coderouter/metrics/__init__.py +39 -0
  34. coderouter_cli-1.7.0/coderouter/metrics/collector.py +471 -0
  35. coderouter_cli-1.7.0/coderouter/metrics/prometheus.py +221 -0
  36. coderouter_cli-1.7.0/coderouter/output_filters.py +407 -0
  37. coderouter_cli-1.7.0/coderouter/routing/__init__.py +13 -0
  38. coderouter_cli-1.7.0/coderouter/routing/auto_router.py +244 -0
  39. coderouter_cli-1.7.0/coderouter/routing/capability.py +285 -0
  40. coderouter_cli-1.7.0/coderouter/routing/fallback.py +611 -0
  41. coderouter_cli-1.7.0/coderouter/translation/__init__.py +57 -0
  42. coderouter_cli-1.7.0/coderouter/translation/anthropic.py +204 -0
  43. coderouter_cli-1.7.0/coderouter/translation/convert.py +1291 -0
  44. coderouter_cli-1.7.0/coderouter/translation/tool_repair.py +236 -0
  45. coderouter_cli-1.7.0/docs/assets/dashboard-demo.png +0 -0
  46. coderouter_cli-1.7.0/docs/designs/v1.5-dashboard-mockup.html +212 -0
  47. coderouter_cli-1.7.0/docs/designs/v1.6-auto-router-verification.md +415 -0
  48. coderouter_cli-1.7.0/docs/designs/v1.6-auto-router.md +311 -0
  49. coderouter_cli-1.7.0/docs/free-tier-guide.en.md +328 -0
  50. coderouter_cli-1.7.0/docs/free-tier-guide.md +338 -0
  51. coderouter_cli-1.7.0/docs/openrouter-roster/README.md +150 -0
  52. coderouter_cli-1.7.0/docs/openrouter-roster/latest.json +174 -0
  53. coderouter_cli-1.7.0/docs/quickstart.en.md +261 -0
  54. coderouter_cli-1.7.0/docs/quickstart.md +258 -0
  55. coderouter_cli-1.7.0/docs/retrospectives/v0.4.md +90 -0
  56. coderouter_cli-1.7.0/docs/retrospectives/v0.5-verify.md +188 -0
  57. coderouter_cli-1.7.0/docs/retrospectives/v0.5.md +93 -0
  58. coderouter_cli-1.7.0/docs/retrospectives/v0.6.md +90 -0
  59. coderouter_cli-1.7.0/docs/retrospectives/v0.7.md +106 -0
  60. coderouter_cli-1.7.0/docs/retrospectives/v1.0-verify.md +332 -0
  61. coderouter_cli-1.7.0/docs/retrospectives/v1.0.md +134 -0
  62. coderouter_cli-1.7.0/docs/security.en.md +190 -0
  63. coderouter_cli-1.7.0/docs/security.md +125 -0
  64. coderouter_cli-1.7.0/docs/troubleshooting.en.md +503 -0
  65. coderouter_cli-1.7.0/docs/troubleshooting.md +507 -0
  66. coderouter_cli-1.7.0/docs/usage-guide.en.md +361 -0
  67. coderouter_cli-1.7.0/docs/usage-guide.md +362 -0
  68. coderouter_cli-1.7.0/docs/when-do-i-need-coderouter.en.md +150 -0
  69. coderouter_cli-1.7.0/docs/when-do-i-need-coderouter.md +113 -0
  70. coderouter_cli-1.7.0/examples/.env.example +52 -0
  71. coderouter_cli-1.7.0/examples/providers.auto-custom.yaml +176 -0
  72. coderouter_cli-1.7.0/examples/providers.auto.yaml +110 -0
  73. coderouter_cli-1.7.0/examples/providers.note-2026.yaml +139 -0
  74. coderouter_cli-1.7.0/examples/providers.nvidia-nim.yaml +381 -0
  75. coderouter_cli-1.7.0/examples/providers.yaml +493 -0
  76. coderouter_cli-1.7.0/pyproject.toml +135 -0
  77. coderouter_cli-1.7.0/scripts/demo_traffic.sh +861 -0
  78. coderouter_cli-1.7.0/scripts/openrouter_roster_diff.py +487 -0
  79. coderouter_cli-1.7.0/scripts/verify_v0_5.sh +461 -0
  80. coderouter_cli-1.7.0/scripts/verify_v1_0.sh +559 -0
  81. coderouter_cli-1.7.0/tests/__init__.py +0 -0
  82. coderouter_cli-1.7.0/tests/conftest.py +81 -0
  83. coderouter_cli-1.7.0/tests/test_adapter_anthropic.py +667 -0
  84. coderouter_cli-1.7.0/tests/test_auto_router.py +689 -0
  85. coderouter_cli-1.7.0/tests/test_capability.py +414 -0
  86. coderouter_cli-1.7.0/tests/test_capability_degraded_payload.py +219 -0
  87. coderouter_cli-1.7.0/tests/test_capability_registry.py +503 -0
  88. coderouter_cli-1.7.0/tests/test_cli.py +467 -0
  89. coderouter_cli-1.7.0/tests/test_cli_stats.py +573 -0
  90. coderouter_cli-1.7.0/tests/test_config.py +353 -0
  91. coderouter_cli-1.7.0/tests/test_dashboard_endpoint.py +234 -0
  92. coderouter_cli-1.7.0/tests/test_doctor.py +2010 -0
  93. coderouter_cli-1.7.0/tests/test_env_file.py +259 -0
  94. coderouter_cli-1.7.0/tests/test_env_security.py +232 -0
  95. coderouter_cli-1.7.0/tests/test_errors.py +37 -0
  96. coderouter_cli-1.7.0/tests/test_examples_yaml.py +157 -0
  97. coderouter_cli-1.7.0/tests/test_fallback.py +442 -0
  98. coderouter_cli-1.7.0/tests/test_fallback_anthropic.py +760 -0
  99. coderouter_cli-1.7.0/tests/test_fallback_cache_control.py +289 -0
  100. coderouter_cli-1.7.0/tests/test_fallback_misconfig_warn.py +384 -0
  101. coderouter_cli-1.7.0/tests/test_fallback_paid_gate.py +313 -0
  102. coderouter_cli-1.7.0/tests/test_fallback_thinking.py +330 -0
  103. coderouter_cli-1.7.0/tests/test_ingress_anthropic.py +699 -0
  104. coderouter_cli-1.7.0/tests/test_ingress_profile.py +329 -0
  105. coderouter_cli-1.7.0/tests/test_metrics_collector.py +280 -0
  106. coderouter_cli-1.7.0/tests/test_metrics_endpoint.py +242 -0
  107. coderouter_cli-1.7.0/tests/test_metrics_jsonl.py +144 -0
  108. coderouter_cli-1.7.0/tests/test_metrics_prometheus.py +177 -0
  109. coderouter_cli-1.7.0/tests/test_openai_compat.py +517 -0
  110. coderouter_cli-1.7.0/tests/test_openrouter_roster_diff.py +535 -0
  111. coderouter_cli-1.7.0/tests/test_output_filters.py +299 -0
  112. coderouter_cli-1.7.0/tests/test_output_filters_adapters.py +572 -0
  113. coderouter_cli-1.7.0/tests/test_reasoning_strip.py +452 -0
  114. coderouter_cli-1.7.0/tests/test_tool_repair.py +161 -0
  115. coderouter_cli-1.7.0/tests/test_translation_anthropic.py +918 -0
  116. coderouter_cli-1.7.0/tests/test_translation_reverse.py +767 -0
@@ -0,0 +1,80 @@
1
+ # ============================================================
2
+ # Secrets — NEVER commit
3
+ # ============================================================
4
+ *.env
5
+ .env
6
+ .env.*
7
+ !.env.example
8
+ secrets.env
9
+ ~/.coderouter/
10
+
11
+ # ============================================================
12
+ # Python
13
+ # ============================================================
14
+ __pycache__/
15
+ *.py[cod]
16
+ *$py.class
17
+ *.so
18
+ .Python
19
+
20
+ # Distributions / packaging
21
+ build/
22
+ dist/
23
+ wheels/
24
+ *.egg-info/
25
+ *.egg
26
+ .eggs/
27
+
28
+ # Virtual environments
29
+ .venv/
30
+ venv/
31
+ env/
32
+ ENV/
33
+ .python-version-local
34
+
35
+ # uv
36
+ # Note: uv.lock SHOULD be committed (per plan.md §5.4)
37
+ # Do NOT add uv.lock here.
38
+
39
+ # ============================================================
40
+ # Tools
41
+ # ============================================================
42
+ .pytest_cache/
43
+ .mypy_cache/
44
+ .ruff_cache/
45
+ .coverage
46
+ .coverage.*
47
+ htmlcov/
48
+ coverage.xml
49
+ *.cover
50
+
51
+ # ============================================================
52
+ # IDE / OS
53
+ # ============================================================
54
+ .idea/
55
+ .vscode/
56
+ *.swp
57
+ *.swo
58
+ .DS_Store
59
+ Thumbs.db
60
+
61
+ # ============================================================
62
+ # Local logs / scratch
63
+ # ============================================================
64
+ logs/
65
+ *.log
66
+ scratch/
67
+ tmp/
68
+
69
+ # ============================================================
70
+ # Private notes — NEVER commit
71
+ # ============================================================
72
+ # docs/inside/ is a private scratch area for memos, design drafts,
73
+ # and anything not meant for public distribution.
74
+ docs/inside/
75
+
76
+ # docs/articles/ holds Zenn / Note article drafts that are
77
+ # published externally (not on GitHub). Keep them out of the repo.
78
+ docs/articles/
79
+ !.env.publish.tpl
80
+ !.env.tpl