@archeagle087/costcrew 0.4.1 → 0.4.2

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 (53) hide show
  1. package/bin.js +10 -6
  2. package/package.json +8 -5
  3. package/.github/workflows/ci.yml +0 -21
  4. package/.github/workflows/npm-release.yml +0 -123
  5. package/.github/workflows/prices-monthly.yml +0 -58
  6. package/.github/workflows/release.yml +0 -45
  7. package/Cargo.lock +0 -980
  8. package/Cargo.toml +0 -22
  9. package/assets/advise.png +0 -0
  10. package/assets/board.png +0 -0
  11. package/assets/catalog.png +0 -0
  12. package/assets/demo.png +0 -0
  13. package/assets/help.png +0 -0
  14. package/assets/mascot.png +0 -0
  15. package/assets/prices.png +0 -0
  16. package/assets/scan.png +0 -0
  17. package/assets/spend.png +0 -0
  18. package/assets/ui.png +0 -0
  19. package/data/prices.json +0 -1
  20. package/dist/costcrew-linux-x86_64.tar.gz +0 -0
  21. package/dist/costcrew-macos-aarch64.tar.gz +0 -0
  22. package/dist/costcrew-macos-x86_64.tar.gz +0 -0
  23. package/dist/costcrew-windows-x86_64.zip +0 -0
  24. package/install.ps1 +0 -38
  25. package/install.sh +0 -56
  26. package/packaging/npm/bin.js +0 -46
  27. package/packaging/npm/package.json +0 -20
  28. package/packaging/winget/0.4.0/Arch087146.costcrew.installer.yaml +0 -15
  29. package/packaging/winget/0.4.0/Arch087146.costcrew.locale.en-US.yaml +0 -28
  30. package/packaging/winget/0.4.0/Arch087146.costcrew.yaml +0 -5
  31. package/packaging/winget/README.md +0 -31
  32. package/scripts/render_screen.py +0 -221
  33. package/src/advise.rs +0 -154
  34. package/src/args.rs +0 -239
  35. package/src/board.rs +0 -227
  36. package/src/catalog.rs +0 -136
  37. package/src/demo.rs +0 -79
  38. package/src/fetch.rs +0 -155
  39. package/src/main.rs +0 -371
  40. package/src/price.rs +0 -218
  41. package/src/prices.rs +0 -182
  42. package/src/report.rs +0 -194
  43. package/src/scan.rs +0 -593
  44. package/src/spend.rs +0 -452
  45. package/src/ui.rs +0 -367
  46. package/work/costcrew-darwin-arm64/costcrew +0 -0
  47. package/work/costcrew-darwin-arm64/package.json +0 -9
  48. package/work/costcrew-darwin-x64/costcrew +0 -0
  49. package/work/costcrew-darwin-x64/package.json +0 -9
  50. package/work/costcrew-linux-x64/costcrew +0 -0
  51. package/work/costcrew-linux-x64/package.json +0 -9
  52. package/work/costcrew-win32-x64/costcrew.exe +0 -0
  53. package/work/costcrew-win32-x64/package.json +0 -9
package/Cargo.toml DELETED
@@ -1,22 +0,0 @@
1
- [package]
2
- name = "costcrew"
3
- version = "0.4.1"
4
- edition = "2021"
5
- description = "The AI coding price database + your spend — interactive terminal app."
6
- license = "MIT"
7
- repository = "https://github.com/Arch087146/costcrew"
8
- readme = "README.md"
9
- keywords = ["cli", "ai", "tokens", "cost", "llm"]
10
- categories = ["command-line-utilities"]
11
-
12
- [dependencies]
13
- serde = { version = "1", features = ["derive"] }
14
- serde_json = "1"
15
- rusqlite = { version = "0.37", features = ["bundled"] }
16
- ureq = { version = "2", default-features = false, features = ["tls"] }
17
- crossterm = "0.29"
18
-
19
- [profile.release]
20
- opt-level = 2
21
- strip = true
22
- lto = true
package/assets/advise.png DELETED
Binary file
package/assets/board.png DELETED
Binary file
Binary file
package/assets/demo.png DELETED
Binary file
package/assets/help.png DELETED
Binary file
package/assets/mascot.png DELETED
Binary file
package/assets/prices.png DELETED
Binary file
package/assets/scan.png DELETED
Binary file
package/assets/spend.png DELETED
Binary file
package/assets/ui.png DELETED
Binary file
package/data/prices.json DELETED
@@ -1 +0,0 @@
1
- {"fetched_at_ms":1794274886057,"models":[{"cache_read":0.024,"cache_write":0.0,"completion":0.39999999999999997,"id":"nex-agi/nex-n2.6","prompt":0.12},{"cache_read":0.0,"cache_write":0.0,"completion":0.0,"id":"thinkingmachines/inkling-2-small:free","prompt":0.0},{"cache_read":0.19999999999999998,"cache_write":10.0,"completion":40.0,"id":"anthropic/claude-fable-5.2","prompt":8.0},{"cache_read":0.09999999999999999,"cache_write":5.0,"completion":20.0,"id":"anthropic/claude-fable-5.2:batch","prompt":4.0},{"cache_read":0.004,"cache_write":0.125,"completion":0.5,"id":"meta/muse-ember","prompt":0.09999999999999999},{"cache_read":0.02,"cache_write":0.0,"completion":0.19999999999999998,"id":"liquid/lfm-3-1.7b","prompt":0.08},{"cache_read":0.0,"cache_write":0.0,"completion":0.0,"id":"liquid/lfm-3-1.7b:free","prompt":0.0},{"cache_read":0.0,"cache_write":0.0,"completion":9.0,"id":"google/gemini-omni-1.2-flash","prompt":1.5},{"cache_read":0.0,"cache_write":0.0,"completion":9.0,"id":"google/gemini-omni-1.1-flash","prompt":1.5},{"cache_read":0.049999999999999996,"cache_write":0.0,"completion":0.6,"id":"ricursiveai/ripple-65b-preview","prompt":0.19999999999999998},{"cache_read":0.020999999999999998,"cache_write":0.0,"completion":1.2505,"id":"tencent/hy4","prompt":0.417},{"cache_read":0.075,"cache_write":0.0,"completion":1.25,"id":"z-ai/glm-5.3-flashx-legal","prompt":0.37},{"cache_read":0.003,"cache_write":0.0,"completion":0.5,"id":"particle-ai/particle-1","prompt":0.049999999999999996},{"cache_read":0.049999999999999996,"cache_write":1.25,"completion":5.0,"id":"openai/gpt-6.1-terra-pro","prompt":1.0},{"cache_read":0.024999999999999998,"cache_write":0.625,"completion":2.5,"id":"openai/gpt-6.1-terra-pro:batch","prompt":0.5},{"cache_read":0.049999999999999996,"cache_write":1.25,"completion":5.0,"id":"openai/gpt-6.1-terra","prompt":1.0},{"cache_read":0.024999999999999998,"cache_write":0.625,"completion":2.5,"id":"openai/gpt-6.1-terra:batch","prompt":0.5},{"cache_read":0.19999999999999998,"cache_write":0.0,"completion":10.0,"id":"moonshotai/kimi-k3.1-pro","prompt":2.0},{"cache_read":0.0,"cache_write":0.0,"completion":0.0,"id":"recursive/flint-v1.0:free","prompt":0.0},{"cache_read":0.015,"cache_write":0.0,"completion":0.6,"id":"minimax/minimax-m3.1-flash","prompt":0.15},{"cache_read":0.005,"cache_write":0.0,"completion":0.5,"id":"deepseek/deepseek-v4.1-flash-1017","prompt":0.006},{"cache_read":0.002,"cache_write":0.0,"completion":0.19999999999999998,"id":"deepseek/deepseek-v4.1-flash-1017:batch","prompt":0.011},{"cache_read":0.06,"cache_write":0.0,"completion":3.0,"id":"elorian/glimpse","prompt":0.6},{"cache_read":0.0,"cache_write":0.0,"completion":0.0,"id":"xingchen-agi/xing4.0-29b-a4b:free","prompt":0.0},{"cache_read":0.04,"cache_write":0.0,"completion":1.0,"id":"reflection/beam-1.0-501b-a23b","prompt":0.3},{"cache_read":0.04,"cache_write":0.0,"completion":0.13,"id":"prism-ml/ternary-bonsai-2-9b","prompt":0.08},{"cache_read":0.0,"cache_write":0.0,"completion":2.5,"id":"moondream/moondream3-preview","prompt":0.3},{"cache_read":0.0,"cache_write":0.0,"completion":2.5,"id":"moondream/moondream3.1-9b-a2b","prompt":0.3},{"cache_read":0.15,"cache_write":0.0,"completion":4.25,"id":"meta/muse-spark-open","prompt":1.25},{"cache_read":0.02,"cache_write":0.0,"completion":0.47,"id":"nvidia/nemotron-3.5-super-vl","prompt":0.15},{"cache_read":0.0,"cache_write":0.0,"completion":0.0,"id":"nvidia/nemotron-3.5-super-vl:free","prompt":0.0},{"cache_read":0.03,"cache_write":0.0,"completion":3.1999999999999997,"id":"unbiased/pareto-26.10","prompt":0.7999999999999999},{"cache_read":0.03,"cache_write":0.0,"completion":3.1999999999999997,"id":"~unbiased/pareto-latest","prompt":0.7999999999999999},{"cache_read":0.25,"cache_write":0.0,"completion":7.5,"id":"unbiased/pareto-26.9","prompt":2.5},{"cache_read":0.024999999999999998,"cache_write":0.0,"completion":0.7,"id":"liquid/lfm-2.5-24b-a2b","prompt":0.049999999999999996},{"cache_read":0.09999999999999999,"cache_write":0.1875,"completion":10.0,"id":"google/gemini-4-argon","prompt":2.0},{"cache_read":0.049999999999999996,"cache_write":0.1875,"completion":5.0,"id":"google/gemini-4-argon:batch","prompt":1.0},{"cache_read":0.0,"cache_write":0.0,"completion":0.0,"id":"scaledown/summarize","prompt":0.04},{"cache_read":0.0,"cache_write":0.0,"completion":0.0,"id":"scaledown/extract","prompt":0.04},{"cache_read":0.19999999999999998,"cache_write":0.0,"completion":20.0,"id":"meta/muse-wonder","prompt":4.0},{"cache_read":0.09999999999999999,"cache_write":0.0,"completion":2.7,"id":"stepfun/step-5-preview","prompt":1.0},{"cache_read":0.01,"cache_write":0.125,"completion":0.5,"id":"anthropic/claude-haiku-5.5","prompt":0.09999999999999999},{"cache_read":0.005,"cache_write":0.0625,"completion":0.25,"id":"anthropic/claude-haiku-5.5:batch","prompt":0.049999999999999996},{"cache_read":0.0,"cache_write":0.0,"completion":7.5,"id":"google/gemini-nano-banana-2.1","prompt":1.5},{"cache_read":0.07,"cache_write":0.0,"completion":2.0999999999999996,"id":"mistralai/mistral-large-4-0","prompt":0.7},{"cache_read":0.009,"cache_write":0.0,"completion":0.135,"id":"inclusionai/ling-3.1-flash","prompt":0.045},{"cache_read":0.09999999999999999,"cache_write":2.5,"completion":10.0,"id":"openai/gpt-6.1-sol-pro","prompt":2.0},{"cache_read":0.049999999999999996,"cache_write":1.25,"completion":5.0,"id":"openai/gpt-6.1-sol-pro:batch","prompt":1.0},{"cache_read":0.09999999999999999,"cache_write":2.5,"completion":10.0,"id":"openai/gpt-6.1-sol","prompt":2.0},{"cache_read":0.049999999999999996,"cache_write":1.25,"completion":5.0,"id":"openai/gpt-6.1-sol:batch","prompt":1.0},{"cache_read":0.09999999999999999,"cache_write":2.5,"completion":10.0,"id":"anthropic/claude-sonnet-5.5","prompt":2.0},{"cache_read":0.049999999999999996,"cache_write":1.25,"completion":5.0,"id":"anthropic/claude-sonnet-5.5:batch","prompt":1.0},{"cache_read":0.0,"cache_write":0.0,"completion":1.5,"id":"perceptron/perceptron-mk1.5","prompt":0.15},{"cache_read":0.3,"cache_write":0.0,"completion":15.0,"id":"fireworks/ember-1","prompt":3.0},{"cache_read":0.56,"cache_write":0.0,"completion":8.8,"id":"z-ai/glm-5.3-prime","prompt":2.8},{"cache_read":0.5,"cache_write":0.0,"completion":12.0,"id":"qwen/qwen3.8-max-prime","prompt":4.0},{"cache_read":0.18,"cache_write":0.0,"completion":1.4,"id":"aion-labs/aion-3.5-mini","prompt":0.7},{"cache_read":0.75,"cache_write":0.0,"completion":6.0,"id":"aion-labs/aion-3.5","prompt":3.0},{"cache_read":0.005,"cache_write":0.0,"completion":0.19999999999999998,"id":"upstage/solar-mini4","prompt":0.049999999999999996},{"cache_read":0.15,"cache_write":0.0,"completion":1.5,"id":"cohere/command-a-plus","prompt":0.3},{"cache_read":0.01,"cache_write":0.125,"completion":0.5,"id":"openai/gpt-6-luna-pro","prompt":0.09999999999999999},{"cache_read":0.005,"cache_write":0.0625,"completion":0.25,"id":"openai/gpt-6-luna-pro:batch","prompt":0.049999999999999996},{"cache_read":0.01,"cache_write":0.125,"completion":0.5,"id":"openai/gpt-6-luna","prompt":0.09999999999999999},{"cache_read":0.005,"cache_write":0.0625,"completion":0.25,"id":"openai/gpt-6-luna:batch","prompt":0.049999999999999996},{"cache_read":0.19999999999999998,"cache_write":2.5,"completion":10.0,"id":"openai/gpt-6-sol-pro","prompt":2.0},{"cache_read":0.09999999999999999,"cache_write":1.25,"completion":5.0,"id":"openai/gpt-6-sol-pro:batch","prompt":1.0},{"cache_read":0.19999999999999998,"cache_write":2.5,"completion":10.0,"id":"openai/gpt-6-sol","prompt":2.0},{"cache_read":0.09999999999999999,"cache_write":1.25,"completion":5.0,"id":"openai/gpt-6-sol:batch","prompt":1.0},{"cache_read":0.19999999999999998,"cache_write":5.0,"completion":20.0,"id":"anthropic/claude-opus-5.5","prompt":4.0},{"cache_read":0.09999999999999999,"cache_write":2.5,"completion":10.0,"id":"anthropic/claude-opus-5.5:batch","prompt":2.0},{"cache_read":0.036,"cache_write":0.0,"completion":8.7,"id":"xiaomi/mimo-v2.6-pro-ultraspeed","prompt":4.35},{"cache_read":0.0028,"cache_write":0.0,"completion":0.28,"id":"xiaomi/mimo-v2.6-flash","prompt":0.14},{"cache_read":0.0036,"cache_write":0.0,"completion":0.87,"id":"xiaomi/mimo-v2.6-pro","prompt":0.435},{"cache_read":0.5,"cache_write":0.0,"completion":6.0,"id":"x-ai/grok-4.7","prompt":2.0},{"cache_read":0.39999999999999997,"cache_write":0.0,"completion":4.8,"id":"x-ai/grok-4.7:batch","prompt":1.5999999999999999},{"cache_read":0.016,"cache_write":0.0,"completion":0.47,"id":"qwen/qwen3.8-omni-flash","prompt":0.15},{"cache_read":0.0375,"cache_write":0.0,"completion":0.5,"id":"prism-ml/ternary-bonsai-2-27b","prompt":0.075},{"cache_read":0.075,"cache_write":0.0,"completion":1.25,"id":"z-ai/glm-5.3-flashx","prompt":0.37},{"cache_read":0.0999,"cache_write":0.0,"completion":8.0,"id":"~deepseek/deepseek-pro-latest","prompt":0.0999},{"cache_read":0.005,"cache_write":0.0,"completion":0.5,"id":"~deepseek/deepseek-flash-latest","prompt":0.006},{"cache_read":0.03,"cache_write":0.0,"completion":0.15,"id":"inference-net/schematron-v2-turbo","prompt":0.03},{"cache_read":0.049999999999999996,"cache_write":0.0,"completion":0.22999999999999998,"id":"inference-net/schematron-v2-small","prompt":0.049999999999999996},{"cache_read":1.0,"cache_write":12.5,"completion":50.0,"id":"~openai/gpt-astra-latest","prompt":10.0},{"cache_read":0.09999999999999999,"cache_write":2.5,"completion":10.0,"id":"~openai/gpt-sol-latest","prompt":2.0},{"cache_read":0.049999999999999996,"cache_write":1.25,"completion":5.0,"id":"~openai/gpt-terra-latest","prompt":1.0},{"cache_read":0.01,"cache_write":0.125,"completion":0.5,"id":"~openai/gpt-luna-latest","prompt":0.09999999999999999},{"cache_read":0.5,"cache_write":0.0,"completion":30.0,"id":"sakana/fugu-ultra-v2","prompt":5.0},{"cache_read":0.25,"cache_write":0.0,"completion":6.0,"id":"sakana/fugu-max","prompt":2.0},{"cache_read":0.012,"cache_write":0.0,"completion":0.18,"id":"inclusionai/ling-3.0-flash-vl","prompt":0.06},{"cache_read":0.018,"cache_write":0.0,"completion":0.5670000000000001,"id":"deepseek/deepseek-v4.1-flash","prompt":0.051},{"cache_read":0.00336,"cache_write":0.0,"completion":0.33599999999999997,"id":"deepseek/deepseek-v4.1-flash:batch","prompt":0.112},{"cache_read":0.0025,"cache_write":0.0,"completion":0.09999999999999999,"id":"nex-agi/nex-n2.5-mini","prompt":0.024999999999999998},{"cache_read":0.015,"cache_write":0.0,"completion":0.25,"id":"nex-agi/nex-n2.5-pro","prompt":0.075},{"cache_read":1.0,"cache_write":12.5,"completion":50.0,"id":"openai/gpt-6-astra","prompt":10.0},{"cache_read":0.5,"cache_write":6.25,"completion":25.0,"id":"openai/gpt-6-astra:batch","prompt":5.0},{"cache_read":1.0,"cache_write":12.5,"completion":50.0,"id":"openai/gpt-6-astra-pro","prompt":10.0},{"cache_read":0.5,"cache_write":6.25,"completion":25.0,"id":"openai/gpt-6-astra-pro:batch","prompt":5.0},{"cache_read":0.25,"cache_write":0.0,"completion":6.0,"id":"qwen/qwen3.8-max-0902","prompt":2.0},{"cache_read":0.0,"cache_write":0.0,"completion":3.45,"id":"qwen/qwen3.8-max-0902:batch","prompt":1.15},{"cache_read":0.002,"cache_write":0.0,"completion":0.19999999999999998,"id":"meta/muse-spark-1.3-contributor","prompt":0.09999999999999999},{"cache_read":0.15,"cache_write":0.0,"completion":4.25,"id":"meta/muse-spark-1.3","prompt":1.25},{"cache_read":0.0825,"cache_write":0.0416666666666667,"completion":4.125,"id":"google/gemini-3.8-flash","prompt":0.8250000000000001},{"cache_read":0.0375,"cache_write":0.0416666666666667,"completion":1.875,"id":"google/gemini-3.8-flash:batch","prompt":0.375},{"cache_read":0.25,"cache_write":12.5,"completion":50.0,"id":"anthropic/claude-fable-5.1","prompt":10.0},{"cache_read":0.125,"cache_write":6.25,"completion":25.0,"id":"anthropic/claude-fable-5.1:batch","prompt":5.0},{"cache_read":0.015,"cache_write":0.0,"completion":0.25,"id":"ibm-granite/granite-4.2-8b","prompt":0.06},{"cache_read":0.041999999999999996,"cache_write":0.0,"completion":2.501,"id":"tencent/hy4-preview","prompt":0.834},{"cache_read":0.03,"cache_write":0.0,"completion":0.083,"id":"~z-ai/glm-flash-latest","prompt":0.0335},{"cache_read":0.016,"cache_write":0.0,"completion":0.47,"id":"qwen/qwen3.8-flash","prompt":0.15},{"cache_read":0.03,"cache_write":0.0,"completion":0.5,"id":"z-ai/glm-5.3-flash","prompt":0.15},{"cache_read":0.013000000000000001,"cache_write":0.0,"completion":0.061000000000000006,"id":"z-ai/glm-5.3-flash:batch","prompt":0.03},{"cache_read":0.002,"cache_write":0.0,"completion":0.19999999999999998,"id":"meta/muse-spark-1.2-contributor","prompt":0.09999999999999999},{"cache_read":0.014,"cache_write":0.0,"completion":1.32,"id":"deepseek/deepseek-v4-flash-vision-exp","prompt":0.44},{"cache_read":0.0,"cache_write":0.0,"completion":0.17700000000000002,"id":"tencent/hy-mt2-1.8b","prompt":0.044},{"cache_read":0.0,"cache_write":0.0,"completion":0.295,"id":"tencent/hy-mt2-30b-a3b","prompt":0.074},{"cache_read":0.0689,"cache_write":0.0,"completion":1.4,"id":"~z-ai/glm-latest","prompt":0.0699},{"cache_read":0.0,"cache_write":0.0,"completion":0.295,"id":"tencent/hy-mt2-7b","prompt":0.074},{"cache_read":0.0689,"cache_write":0.0,"completion":1.4,"id":"z-ai/glm-5.3","prompt":0.0699},{"cache_read":0.09999999999999999,"cache_write":0.0,"completion":2.0,"id":"z-ai/glm-5.3:batch","prompt":0.44999999999999996},{"cache_read":0.0375,"cache_write":0.0,"completion":1.875,"id":"qwen/qwen3.8-27b","prompt":0.15},{"cache_read":0.04,"cache_write":0.0,"completion":2.0,"id":"qwen/qwen3.8-27b:batch","prompt":0.16},{"cache_read":0.0,"cache_write":0.0,"completion":0.0,"id":"dots-studio/dots-3-note-preview:free","prompt":0.0},{"cache_read":0.075,"cache_write":0.0416666666666667,"completion":3.75,"id":"google/gemini-3.7-flash","prompt":0.75},{"cache_read":0.0375,"cache_write":0.0416666666666667,"completion":1.875,"id":"google/gemini-3.7-flash:batch","prompt":0.375},{"cache_read":0.0,"cache_write":0.0,"completion":2.5,"id":"bytedance-seed/seed-2-1-turbo","prompt":0.5},{"cache_read":0.25,"cache_write":0.0,"completion":6.0,"id":"qwen/qwen3.8-2.4t-a95b","prompt":2.0},{"cache_read":0.0,"cache_write":0.0,"completion":3.0,"id":"bytedance-seed/seed-2.0-code","prompt":0.5},{"cache_read":0.09699999999999999,"cache_write":0.0,"completion":4.4399999999999995,"id":"deepseek/deepseek-v4-pro-0813","prompt":0.111},{"cache_read":0.5,"cache_write":0.0,"completion":6.0,"id":"x-ai/grok-4.6","prompt":2.0},{"cache_read":0.39999999999999997,"cache_write":0.0,"completion":4.8,"id":"x-ai/grok-4.6:batch","prompt":1.5999999999999999},{"cache_read":0.04,"cache_write":0.0,"completion":0.5,"id":"liquid/lfm-2.5-2.6b","prompt":0.35},{"cache_read":0.0,"cache_write":0.0,"completion":0.0,"id":"liquid/lfm-2.5-2.6b:free","prompt":0.0},{"cache_read":0.04,"cache_write":0.0,"completion":0.19999999999999998,"id":"nvidia/nemotron-3.5-lightning","prompt":0.07},{"cache_read":0.0,"cache_write":0.0,"completion":0.0,"id":"nvidia/nemotron-3.5-lightning:free","prompt":0.0},{"cache_read":0.15,"cache_write":0.0,"completion":4.0,"id":"sakana/sakana-namazu","prompt":0.95},{"cache_read":0.03,"cache_write":0.0,"completion":0.6,"id":"upstage/solar-pro4","prompt":0.15},{"cache_read":0.04,"cache_write":0.0,"completion":1.2,"id":"meta/muse-glimmer-30b","prompt":0.3},{"cache_read":0.032,"cache_write":0.0,"completion":0.96,"id":"meta/muse-glimmer-30b:batch","prompt":0.24},{"cache_read":0.003,"cache_write":0.0,"completion":0.045,"id":"inclusionai/ling-3.0-tiny","prompt":0.015},{"cache_read":0.15,"cache_write":0.0,"completion":4.25,"id":"meta/muse-spark-1.2","prompt":1.25},{"cache_read":0.035,"cache_write":0.0,"completion":0.3,"id":"~deepseek/deepseek-v4-flash-latest","prompt":0.0434},{"cache_read":0.035,"cache_write":0.0,"completion":0.3,"id":"deepseek/deepseek-v4-flash-0731","prompt":0.0434},{"cache_read":0.012,"cache_write":0.0,"completion":0.144,"id":"deepseek/deepseek-v4-flash-0731:batch","prompt":0.048},{"cache_read":0.09999999999999999,"cache_write":0.0,"completion":1.2,"id":"thinkingmachines/inkling-small","prompt":0.44999999999999996},{"cache_read":0.08,"cache_write":0.0,"completion":0.96,"id":"thinkingmachines/inkling-small:batch","prompt":0.36},{"cache_read":0.006,"cache_write":0.038000000000000006,"completion":0.13,"id":"qwen/qwen3.7-flash","prompt":0.03},{"cache_read":0.5,"cache_write":6.25,"completion":25.0,"id":"anthropic/claude-opus-5","prompt":5.0},{"cache_read":0.25,"cache_write":3.125,"completion":12.5,"id":"anthropic/claude-opus-5:batch","prompt":2.5},{"cache_read":0.004200000000000001,"cache_write":0.0,"completion":0.063,"id":"inclusionai/ling-3.0-flash","prompt":0.020999999999999998},{"cache_read":0.075,"cache_write":0.0416666666666667,"completion":3.75,"id":"google/gemini-3.6-flash","prompt":0.75},{"cache_read":0.0375,"cache_write":0.0416666666666667,"completion":1.875,"id":"google/gemini-3.6-flash:batch","prompt":0.375},{"cache_read":0.03,"cache_write":0.0833333333333333,"completion":2.5,"id":"google/gemini-3.5-flash-lite","prompt":0.3},{"cache_read":0.015,"cache_write":0.0,"completion":1.25,"id":"google/gemini-3.5-flash-lite:batch","prompt":0.15},{"cache_read":0.006,"cache_write":0.0,"completion":1.2,"id":"meituan/longcat-2.0","prompt":0.3},{"cache_read":0.16999999999999998,"cache_write":0.0,"completion":4.05,"id":"thinkingmachines/inkling","prompt":1.0},{"cache_read":0.182,"cache_write":0.0,"completion":16.0,"id":"moonshotai/kimi-k3","prompt":0.192},{"cache_read":0.228,"cache_write":0.0,"completion":11.399999999999999,"id":"moonshotai/kimi-k3:batch","prompt":2.2800000000000002},{"cache_read":0.15,"cache_write":0.0,"completion":4.25,"id":"meta/muse-spark-1.1","prompt":1.25},{"cache_read":0.02,"cache_write":0.25,"completion":1.2,"id":"openai/gpt-5.6-luna-pro","prompt":0.19999999999999998},{"cache_read":0.01,"cache_write":0.0,"completion":0.6,"id":"openai/gpt-5.6-luna-pro:batch","prompt":0.09999999999999999},{"cache_read":0.02,"cache_write":0.25,"completion":1.2,"id":"openai/gpt-5.6-luna","prompt":0.19999999999999998},{"cache_read":0.01,"cache_write":0.0,"completion":0.6,"id":"openai/gpt-5.6-luna:batch","prompt":0.09999999999999999},{"cache_read":0.19999999999999998,"cache_write":2.5,"completion":12.0,"id":"openai/gpt-5.6-terra-pro","prompt":2.0},{"cache_read":0.09999999999999999,"cache_write":0.0,"completion":6.0,"id":"openai/gpt-5.6-terra-pro:batch","prompt":1.0},{"cache_read":0.19999999999999998,"cache_write":2.5,"completion":12.0,"id":"openai/gpt-5.6-terra","prompt":2.0},{"cache_read":0.09999999999999999,"cache_write":0.0,"completion":6.0,"id":"openai/gpt-5.6-terra:batch","prompt":1.0},{"cache_read":0.39999999999999997,"cache_write":5.0,"completion":20.0,"id":"openai/gpt-5.6-sol-pro","prompt":4.0},{"cache_read":0.19999999999999998,"cache_write":2.5,"completion":10.0,"id":"openai/gpt-5.6-sol-pro:batch","prompt":2.0},{"cache_read":0.39999999999999997,"cache_write":5.0,"completion":20.0,"id":"openai/gpt-5.6-sol","prompt":4.0},{"cache_read":0.19999999999999998,"cache_write":2.5,"completion":10.0,"id":"openai/gpt-5.6-sol:batch","prompt":2.0},{"cache_read":0.3,"cache_write":0.0,"completion":6.0,"id":"x-ai/grok-4.5","prompt":2.0},{"cache_read":0.5,"cache_write":0.0,"completion":6.0,"id":"~x-ai/grok-latest","prompt":2.0},{"cache_read":0.18,"cache_write":0.0,"completion":1.4,"id":"aion-labs/aion-3.0-mini","prompt":0.7},{"cache_read":0.75,"cache_write":0.0,"completion":6.0,"id":"aion-labs/aion-3.0","prompt":3.0},{"cache_read":0.032999999999999995,"cache_write":0.0,"completion":0.5279999999999999,"id":"tencent/hy3","prompt":0.13199999999999998},{"cache_read":0.19999999999999998,"cache_write":2.5,"completion":10.0,"id":"anthropic/claude-sonnet-5","prompt":2.0},{"cache_read":0.09999999999999999,"cache_write":1.25,"completion":5.0,"id":"anthropic/claude-sonnet-5:batch","prompt":1.0},{"cache_read":0.0,"cache_write":0.0,"completion":1.5,"id":"google/gemini-3.1-flash-lite-image","prompt":0.25},{"cache_read":0.5,"cache_write":0.0,"completion":30.0,"id":"sakana/fugu-ultra","prompt":5.0},{"cache_read":0.0,"cache_write":0.0,"completion":3.0,"id":"google/gemini-3.1-flash-image","prompt":0.5},{"cache_read":0.19999999999999998,"cache_write":0.375,"completion":12.0,"id":"google/gemini-3-pro-image","prompt":2.0},{"cache_read":0.0,"cache_write":0.0,"completion":0.0,"id":"cohere/north-mini-code:free","prompt":0.0},{"cache_read":0.005,"cache_write":0.0,"completion":6.8,"id":"z-ai/glm-5.2","prompt":0.006},{"cache_read":0.19399999999999998,"cache_write":0.0,"completion":1.169,"id":"z-ai/glm-5.2:batch","prompt":0.573},{"cache_read":0.16,"cache_write":0.0,"completion":3.5,"id":"moonshotai/kimi-k2.7-code","prompt":0.6},{"cache_read":0.19999999999999998,"cache_write":10.0,"completion":40.0,"id":"~anthropic/claude-fable-latest","prompt":8.0},{"cache_read":1.0,"cache_write":12.5,"completion":50.0,"id":"anthropic/claude-fable-5","prompt":10.0},{"cache_read":0.5,"cache_write":6.25,"completion":25.0,"id":"anthropic/claude-fable-5:batch","prompt":5.0},{"cache_read":0.0,"cache_write":0.0,"completion":0.19999999999999998,"id":"nvidia/nemotron-3.5-content-safety","prompt":0.19999999999999998},{"cache_read":0.12,"cache_write":0.0,"completion":2.4,"id":"nvidia/nemotron-3-ultra-550b-a55b","prompt":0.6},{"cache_read":0.0,"cache_write":0.0,"completion":0.0,"id":"nvidia/nemotron-3-ultra-550b-a55b:free","prompt":0.0},{"cache_read":0.064,"cache_write":0.39999999999999997,"completion":1.28,"id":"qwen/qwen3.7-plus","prompt":0.32},{"cache_read":0.0,"cache_write":0.0,"completion":0.9199999999999999,"id":"qwen/qwen3.7-plus:batch","prompt":0.22999999999999998},{"cache_read":0.06,"cache_write":0.0,"completion":1.2,"id":"minimax/minimax-m3","prompt":0.3},{"cache_read":0.0448,"cache_write":0.0,"completion":0.88,"id":"minimax/minimax-m3:batch","prompt":0.224},{"cache_read":0.04,"cache_write":0.0,"completion":1.15,"id":"stepfun/step-3.7-flash","prompt":0.19999999999999998},{"cache_read":0.5,"cache_write":6.25,"completion":25.0,"id":"anthropic/claude-opus-4.8","prompt":5.0},{"cache_read":0.25,"cache_write":3.125,"completion":12.5,"id":"anthropic/claude-opus-4.8:batch","prompt":2.5},{"cache_read":0.295,"cache_write":1.84375,"completion":4.425,"id":"qwen/qwen3.7-max","prompt":1.475},{"cache_read":0.19999999999999998,"cache_write":0.0,"completion":2.0,"id":"x-ai/grok-build-0.1","prompt":1.0},{"cache_read":0.15,"cache_write":0.0833333333333333,"completion":9.0,"id":"google/gemini-3.5-flash","prompt":1.5},{"cache_read":0.075,"cache_write":0.0,"completion":4.5,"id":"google/gemini-3.5-flash:batch","prompt":0.75},{"cache_read":0.0,"cache_write":0.0,"completion":1.5,"id":"perceptron/perceptron-mk1","prompt":0.15},{"cache_read":0.024999999999999998,"cache_write":0.0833333333333333,"completion":1.5,"id":"google/gemini-3.1-flash-lite","prompt":0.25},{"cache_read":0.012499999999999999,"cache_write":0.0,"completion":0.75,"id":"google/gemini-3.1-flash-lite:batch","prompt":0.125},{"cache_read":0.5,"cache_write":0.0,"completion":30.0,"id":"openai/gpt-chat-latest","prompt":5.0},{"cache_read":0.19999999999999998,"cache_write":0.0,"completion":2.5,"id":"x-ai/grok-4.3","prompt":1.25},{"cache_read":0.16,"cache_write":0.0,"completion":2.0,"id":"x-ai/grok-4.3:batch","prompt":1.0},{"cache_read":0.0,"cache_write":0.0,"completion":7.5,"id":"mistralai/mistral-medium-3-5","prompt":1.5},{"cache_read":0.0,"cache_write":0.0,"completion":3.75,"id":"mistralai/mistral-medium-3-5:batch","prompt":0.75},{"cache_read":0.0,"cache_write":0.0,"completion":0.0,"id":"nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free","prompt":0.0},{"cache_read":0.01,"cache_write":0.125,"completion":0.5,"id":"~anthropic/claude-haiku-latest","prompt":0.09999999999999999},{"cache_read":0.075,"cache_write":0.0,"completion":4.5,"id":"~openai/gpt-mini-latest","prompt":0.75},{"cache_read":0.09999999999999999,"cache_write":0.1875,"completion":10.0,"id":"~google/gemini-pro-latest","prompt":2.0},{"cache_read":0.15,"cache_write":0.0,"completion":9.7471,"id":"~moonshotai/kimi-latest","prompt":0.1529},{"cache_read":0.075,"cache_write":0.0416666666666667,"completion":3.75,"id":"~google/gemini-flash-latest","prompt":0.75},{"cache_read":0.09999999999999999,"cache_write":2.5,"completion":10.0,"id":"~anthropic/claude-sonnet-latest","prompt":2.0},{"cache_read":0.0,"cache_write":0.375,"completion":1.7999999999999998,"id":"qwen/qwen3.5-plus-20260420","prompt":0.3},{"cache_read":0.0,"cache_write":0.234375,"completion":1.125,"id":"qwen/qwen3.6-flash","prompt":0.1875},{"cache_read":0.024999999999999998,"cache_write":0.0,"completion":0.8999999999999999,"id":"qwen/qwen3.6-35b-a3b","prompt":0.09999999999999999},{"cache_read":0.0,"cache_write":0.0,"completion":3.1999999999999997,"id":"qwen/qwen3.6-27b","prompt":0.32},{"cache_read":0.0,"cache_write":0.0,"completion":180.0,"id":"openai/gpt-5.5-pro","prompt":30.0},{"cache_read":0.0,"cache_write":0.0,"completion":90.0,"id":"openai/gpt-5.5-pro:batch","prompt":15.0},{"cache_read":0.5,"cache_write":0.0,"completion":30.0,"id":"openai/gpt-5.5","prompt":5.0},{"cache_read":0.25,"cache_write":0.0,"completion":15.0,"id":"openai/gpt-5.5:batch","prompt":2.5},{"cache_read":0.07960500000000001,"cache_write":0.0,"completion":1.9105199999999998,"id":"deepseek/deepseek-v4-pro","prompt":0.9552599999999999},{"cache_read":0.0182,"cache_write":0.0,"completion":0.182,"id":"deepseek/deepseek-v4-flash","prompt":0.091},{"cache_read":0.06,"cache_write":0.0,"completion":0.6,"id":"tencent/hy3-preview","prompt":0.18},{"cache_read":0.096,"cache_write":0.0,"completion":1.7999999999999998,"id":"xiaomi/mimo-v2.5-pro","prompt":0.48},{"cache_read":0.08,"cache_write":0.0,"completion":2.0,"id":"xiaomi/mimo-v2.5","prompt":0.39999999999999997},{"cache_read":2.0,"cache_write":0.0,"completion":15.0,"id":"openai/gpt-5.4-image-2","prompt":8.0},{"cache_read":0.19999999999999998,"cache_write":5.0,"completion":20.0,"id":"~anthropic/claude-opus-latest","prompt":4.0},{"cache_read":0.15,"cache_write":0.0,"completion":3.41,"id":"moonshotai/kimi-k2.6","prompt":0.65},{"cache_read":0.5,"cache_write":6.25,"completion":25.0,"id":"anthropic/claude-opus-4.7","prompt":5.0},{"cache_read":0.25,"cache_write":3.125,"completion":12.5,"id":"anthropic/claude-opus-4.7:batch","prompt":2.5},{"cache_read":0.26,"cache_write":0.0,"completion":4.4,"id":"z-ai/glm-5.1","prompt":1.4},{"cache_read":0.046,"cache_write":0.0,"completion":0.09999999999999999,"id":"google/gemma-4-26b-a4b-it","prompt":0.08},{"cache_read":0.0,"cache_write":0.0,"completion":0.0,"id":"google/gemma-4-26b-a4b-it:free","prompt":0.0},{"cache_read":0.0,"cache_write":0.0,"completion":0.39999999999999997,"id":"google/gemma-4-31b-it","prompt":0.19999999999999998},{"cache_read":0.0,"cache_write":0.0,"completion":0.0,"id":"google/gemma-4-31b-it:free","prompt":0.0},{"cache_read":0.0,"cache_write":0.40625,"completion":1.95,"id":"qwen/qwen3.6-plus","prompt":0.325},{"cache_read":0.24,"cache_write":0.0,"completion":4.0,"id":"z-ai/glm-5v-turbo","prompt":1.2},{"cache_read":0.19999999999999998,"cache_write":0.0,"completion":2.5,"id":"x-ai/grok-4.20-multi-agent","prompt":1.25},{"cache_read":0.19999999999999998,"cache_write":0.0,"completion":2.5,"id":"x-ai/grok-4.20","prompt":1.25},{"cache_read":0.0,"cache_write":0.0,"completion":0.0,"id":"google/lyria-3-pro-preview","prompt":0.0},{"cache_read":0.0,"cache_write":0.0,"completion":0.0,"id":"google/lyria-3-clip-preview","prompt":0.0},{"cache_read":0.0,"cache_write":0.0,"completion":0.09999999999999999,"id":"rekaai/reka-edge","prompt":0.09999999999999999},{"cache_read":0.041999999999999996,"cache_write":0.0,"completion":0.84,"id":"minimax/minimax-m2.7","prompt":0.21},{"cache_read":0.02,"cache_write":0.0,"completion":1.25,"id":"openai/gpt-5.4-nano","prompt":0.19999999999999998},{"cache_read":0.01,"cache_write":0.0,"completion":0.625,"id":"openai/gpt-5.4-nano:batch","prompt":0.09999999999999999},{"cache_read":0.075,"cache_write":0.0,"completion":4.5,"id":"openai/gpt-5.4-mini","prompt":0.75},{"cache_read":0.0375,"cache_write":0.0,"completion":2.25,"id":"openai/gpt-5.4-mini:batch","prompt":0.375},{"cache_read":0.015,"cache_write":0.0,"completion":0.6,"id":"mistralai/mistral-small-2603","prompt":0.15},{"cache_read":0.24,"cache_write":0.0,"completion":4.0,"id":"z-ai/glm-5-turbo","prompt":1.2},{"cache_read":0.0,"cache_write":0.0,"completion":0.39999999999999997,"id":"nvidia/nemotron-3-super-120b-a12b","prompt":0.075},{"cache_read":0.0,"cache_write":0.0,"completion":2.0,"id":"bytedance-seed/seed-2.0-lite","prompt":0.25},{"cache_read":0.0,"cache_write":0.0,"completion":0.25,"id":"qwen/qwen3.5-9b","prompt":0.16999999999999998},{"cache_read":0.0,"cache_write":0.0,"completion":180.0,"id":"openai/gpt-5.4-pro","prompt":30.0},{"cache_read":0.0,"cache_write":0.0,"completion":90.0,"id":"openai/gpt-5.4-pro:batch","prompt":15.0},{"cache_read":0.25,"cache_write":0.0,"completion":15.0,"id":"openai/gpt-5.4","prompt":2.5},{"cache_read":0.125,"cache_write":0.0,"completion":7.5,"id":"openai/gpt-5.4:batch","prompt":1.25},{"cache_read":0.024999999999999998,"cache_write":0.0833333333333333,"completion":1.5,"id":"google/gemini-3.1-flash-lite-preview","prompt":0.25},{"cache_read":0.0,"cache_write":0.0,"completion":0.39999999999999997,"id":"bytedance-seed/seed-2.0-mini","prompt":0.09999999999999999},{"cache_read":0.0,"cache_write":0.0,"completion":3.0,"id":"google/gemini-3.1-flash-image-preview","prompt":0.5},{"cache_read":0.049999999999999996,"cache_write":0.0,"completion":1.0,"id":"qwen/qwen3.5-35b-a3b","prompt":0.14},{"cache_read":0.0,"cache_write":0.0,"completion":2.6,"id":"qwen/qwen3.5-27b","prompt":0.26},{"cache_read":0.0,"cache_write":0.0,"completion":2.08,"id":"qwen/qwen3.5-122b-a10b","prompt":0.26},{"cache_read":0.0,"cache_write":0.0,"completion":0.26,"id":"qwen/qwen3.5-flash-02-23","prompt":0.065},{"cache_read":0.19999999999999998,"cache_write":0.375,"completion":12.0,"id":"google/gemini-3.1-pro-preview-customtools","prompt":2.0},{"cache_read":0.175,"cache_write":0.0,"completion":14.0,"id":"openai/gpt-5.3-codex","prompt":1.75},{"cache_read":0.19999999999999998,"cache_write":0.0,"completion":1.5999999999999999,"id":"aion-labs/aion-2.0","prompt":0.7999999999999999},{"cache_read":0.19999999999999998,"cache_write":0.375,"completion":12.0,"id":"google/gemini-3.1-pro-preview","prompt":2.0},{"cache_read":0.0,"cache_write":0.0,"completion":6.0,"id":"google/gemini-3.1-pro-preview:batch","prompt":1.0},{"cache_read":0.3,"cache_write":3.75,"completion":15.0,"id":"anthropic/claude-sonnet-4.6","prompt":3.0},{"cache_read":0.15,"cache_write":1.875,"completion":7.5,"id":"anthropic/claude-sonnet-4.6:batch","prompt":1.5},{"cache_read":0.0,"cache_write":0.0,"completion":1.56,"id":"qwen/qwen3.5-plus-02-15","prompt":0.26},{"cache_read":0.12,"cache_write":0.0,"completion":3.5999999999999996,"id":"qwen/qwen3.5-397b-a17b","prompt":0.6},{"cache_read":0.06,"cache_write":0.0,"completion":1.2,"id":"minimax/minimax-m2.5","prompt":0.3},{"cache_read":0.19999999999999998,"cache_write":0.0,"completion":3.1999999999999997,"id":"z-ai/glm-5","prompt":1.0},{"cache_read":0.5,"cache_write":6.25,"completion":25.0,"id":"anthropic/claude-opus-4.6","prompt":5.0},{"cache_read":0.25,"cache_write":3.125,"completion":12.5,"id":"anthropic/claude-opus-4.6:batch","prompt":2.5},{"cache_read":0.07,"cache_write":0.0,"completion":0.7999999999999999,"id":"qwen/qwen3-coder-next","prompt":0.12},{"cache_read":0.0,"cache_write":0.0,"completion":0.3,"id":"stepfun/step-3.5-flash","prompt":0.09999999999999999},{"cache_read":0.20900000000000002,"cache_write":0.0,"completion":3.3249999999999997,"id":"moonshotai/kimi-k2.5","prompt":0.532},{"cache_read":0.0,"cache_write":0.0,"completion":6.0,"id":"writer/palmyra-x5","prompt":0.6},{"cache_read":0.0,"cache_write":0.0,"completion":10.0,"id":"openai/gpt-audio","prompt":2.5},{"cache_read":0.0,"cache_write":0.0,"completion":2.4,"id":"openai/gpt-audio-mini","prompt":0.6},{"cache_read":0.0,"cache_write":0.0,"completion":0.39999999999999997,"id":"z-ai/glm-4.7-flash","prompt":0.060500000000000005},{"cache_read":0.175,"cache_write":0.0,"completion":14.0,"id":"openai/gpt-5.2-codex","prompt":1.75},{"cache_read":0.0,"cache_write":0.0,"completion":0.3,"id":"bytedance-seed/seed-1.6-flash","prompt":0.075},{"cache_read":0.0,"cache_write":0.0,"completion":2.0,"id":"bytedance-seed/seed-1.6","prompt":0.25},{"cache_read":0.11,"cache_write":0.0,"completion":2.2,"id":"z-ai/glm-4.7","prompt":0.6},{"cache_read":0.049999999999999996,"cache_write":0.0833333333333333,"completion":3.0,"id":"google/gemini-3-flash-preview","prompt":0.5},{"cache_read":0.0,"cache_write":0.0,"completion":1.5,"id":"google/gemini-3-flash-preview:batch","prompt":0.25},{"cache_read":0.012,"cache_write":0.0,"completion":0.24,"id":"nvidia/nemotron-3-nano-30b-a3b","prompt":0.06},{"cache_read":0.175,"cache_write":0.0,"completion":14.0,"id":"openai/gpt-5.2-chat","prompt":1.75},{"cache_read":0.0,"cache_write":0.0,"completion":168.0,"id":"openai/gpt-5.2-pro","prompt":21.0},{"cache_read":0.0,"cache_write":0.0,"completion":84.0,"id":"openai/gpt-5.2-pro:batch","prompt":10.5},{"cache_read":0.175,"cache_write":0.0,"completion":14.0,"id":"openai/gpt-5.2","prompt":1.75},{"cache_read":0.0875,"cache_write":0.0,"completion":7.0,"id":"openai/gpt-5.2:batch","prompt":0.875},{"cache_read":0.04,"cache_write":0.0,"completion":2.0,"id":"mistralai/devstral-2512","prompt":0.39999999999999997},{"cache_read":0.0,"cache_write":0.0,"completion":3.0,"id":"relace/relace-search","prompt":1.0},{"cache_read":0.055,"cache_write":0.0,"completion":0.8999999999999999,"id":"z-ai/glm-4.6v","prompt":0.3},{"cache_read":0.125,"cache_write":0.0,"completion":10.0,"id":"openai/gpt-5.1-codex-max","prompt":1.25},{"cache_read":0.0,"cache_write":0.0,"completion":2.5,"id":"amazon/nova-2-lite-v1","prompt":0.3},{"cache_read":0.02,"cache_write":0.0,"completion":0.19999999999999998,"id":"mistralai/ministral-14b-2512","prompt":0.19999999999999998},{"cache_read":0.015,"cache_write":0.0,"completion":0.15,"id":"mistralai/ministral-8b-2512","prompt":0.15},{"cache_read":0.01,"cache_write":0.0,"completion":0.09999999999999999,"id":"mistralai/ministral-3b-2512","prompt":0.09999999999999999},{"cache_read":0.049999999999999996,"cache_write":0.0,"completion":1.5,"id":"mistralai/mistral-large-2512","prompt":0.5},{"cache_read":0.13,"cache_write":0.0,"completion":0.38,"id":"deepseek/deepseek-v3.2","prompt":0.26},{"cache_read":0.5,"cache_write":6.25,"completion":25.0,"id":"anthropic/claude-opus-4.5","prompt":5.0},{"cache_read":0.25,"cache_write":3.125,"completion":12.5,"id":"anthropic/claude-opus-4.5:batch","prompt":2.5},{"cache_read":0.19999999999999998,"cache_write":0.375,"completion":12.0,"id":"google/gemini-3-pro-image-preview","prompt":2.0},{"cache_read":0.125,"cache_write":0.0,"completion":10.0,"id":"openai/gpt-5.1","prompt":1.25},{"cache_read":0.0625,"cache_write":0.0,"completion":5.0,"id":"openai/gpt-5.1:batch","prompt":0.625},{"cache_read":0.13,"cache_write":0.0,"completion":10.0,"id":"openai/gpt-5.1-codex","prompt":1.25},{"cache_read":0.03,"cache_write":0.0,"completion":2.0,"id":"openai/gpt-5.1-codex-mini","prompt":0.25},{"cache_read":0.15,"cache_write":0.0,"completion":2.5,"id":"moonshotai/kimi-k2-thinking","prompt":0.6},{"cache_read":0.625,"cache_write":0.0,"completion":12.5,"id":"amazon/nova-premier-v1","prompt":2.5},{"cache_read":0.0,"cache_write":0.0,"completion":15.0,"id":"perplexity/sonar-pro-search","prompt":3.0},{"cache_read":0.01,"cache_write":0.0,"completion":0.3,"id":"mistralai/voxtral-small-24b-2507","prompt":0.09999999999999999},{"cache_read":0.0375,"cache_write":0.0,"completion":0.3,"id":"openai/gpt-oss-safeguard-20b","prompt":0.075},{"cache_read":0.25,"cache_write":0.0,"completion":2.0,"id":"openai/gpt-5-image-mini","prompt":2.5},{"cache_read":0.09999999999999999,"cache_write":1.25,"completion":5.0,"id":"anthropic/claude-haiku-4.5","prompt":1.0},{"cache_read":0.049999999999999996,"cache_write":0.625,"completion":2.5,"id":"anthropic/claude-haiku-4.5:batch","prompt":0.5},{"cache_read":0.12,"cache_write":0.0,"completion":0.75,"id":"qwen/qwen3-vl-8b-instruct","prompt":0.25},{"cache_read":1.25,"cache_write":0.0,"completion":10.0,"id":"openai/gpt-5-image","prompt":10.0},{"cache_read":0.03,"cache_write":0.0833333333333333,"completion":2.5,"id":"google/gemini-2.5-flash-image","prompt":0.3},{"cache_read":0.0,"cache_write":0.0,"completion":1.0,"id":"qwen/qwen3-vl-30b-a3b-thinking","prompt":0.29},{"cache_read":0.0,"cache_write":0.0,"completion":0.6,"id":"qwen/qwen3-vl-30b-a3b-instruct","prompt":0.15},{"cache_read":0.0,"cache_write":0.0,"completion":120.0,"id":"openai/gpt-5-pro","prompt":15.0},{"cache_read":0.0,"cache_write":0.0,"completion":60.0,"id":"openai/gpt-5-pro:batch","prompt":7.5},{"cache_read":0.09999999999999999,"cache_write":0.0,"completion":2.0,"id":"z-ai/glm-4.6","prompt":0.5},{"cache_read":0.3,"cache_write":3.75,"completion":15.0,"id":"anthropic/claude-sonnet-4.5","prompt":3.0},{"cache_read":0.15,"cache_write":1.875,"completion":7.5,"id":"anthropic/claude-sonnet-4.5:batch","prompt":1.5},{"cache_read":0.0,"cache_write":0.0,"completion":0.41,"id":"deepseek/deepseek-v3.2-exp","prompt":0.27},{"cache_read":0.15,"cache_write":0.0,"completion":0.5,"id":"thedrummer/cydonia-24b-v4.1","prompt":0.3},{"cache_read":0.0,"cache_write":0.0,"completion":1.25,"id":"relace/relace-apply-3","prompt":0.85},{"cache_read":0.09999999999999999,"cache_write":0.0,"completion":1.9,"id":"qwen/qwen3-vl-235b-a22b-instruct","prompt":0.21},{"cache_read":0.0,"cache_write":0.0,"completion":1.0,"id":"deepseek/deepseek-v3.1-terminus","prompt":0.27},{"cache_read":0.039,"cache_write":0.24375,"completion":0.975,"id":"qwen/qwen3-coder-flash","prompt":0.195},{"cache_read":0.0,"cache_write":0.0,"completion":1.1,"id":"qwen/qwen3-next-80b-a3b-instruct","prompt":0.09},{"cache_read":0.0,"cache_write":0.0,"completion":2.5,"id":"moonshotai/kimi-k2-0905","prompt":0.6},{"cache_read":0.19999999999999998,"cache_write":0.0,"completion":3.0,"id":"nousresearch/hermes-4-405b","prompt":1.0},{"cache_read":0.13,"cache_write":0.0,"completion":0.95,"id":"deepseek/deepseek-chat-v3.1","prompt":0.25},{"cache_read":0.04,"cache_write":0.0,"completion":2.0,"id":"mistralai/mistral-medium-3.1","prompt":0.39999999999999997},{"cache_read":0.11,"cache_write":0.0,"completion":1.7999999999999998,"id":"z-ai/glm-4.5v","prompt":0.6},{"cache_read":0.125,"cache_write":0.0,"completion":10.0,"id":"openai/gpt-5","prompt":1.25},{"cache_read":0.0625,"cache_write":0.0,"completion":5.0,"id":"openai/gpt-5:batch","prompt":0.625},{"cache_read":0.024999999999999998,"cache_write":0.0,"completion":2.0,"id":"openai/gpt-5-mini","prompt":0.25},{"cache_read":0.012499999999999999,"cache_write":0.0,"completion":1.0,"id":"openai/gpt-5-mini:batch","prompt":0.125},{"cache_read":0.005,"cache_write":0.0,"completion":0.39999999999999997,"id":"openai/gpt-5-nano","prompt":0.049999999999999996},{"cache_read":0.0025,"cache_write":0.0,"completion":0.19999999999999998,"id":"openai/gpt-5-nano:batch","prompt":0.024999999999999998},{"cache_read":0.075,"cache_write":0.0,"completion":0.6,"id":"openai/gpt-oss-120b","prompt":0.15},{"cache_read":0.0,"cache_write":0.0,"completion":0.136,"id":"openai/gpt-oss-120b:batch","prompt":0.0296},{"cache_read":0.03,"cache_write":0.0,"completion":0.13,"id":"openai/gpt-oss-20b","prompt":0.03},{"cache_read":0.0,"cache_write":0.0,"completion":0.112,"id":"openai/gpt-oss-20b:batch","prompt":0.024},{"cache_read":1.5,"cache_write":18.75,"completion":75.0,"id":"anthropic/claude-opus-4.1","prompt":15.0},{"cache_read":0.75,"cache_write":9.375,"completion":37.5,"id":"anthropic/claude-opus-4.1:batch","prompt":7.5},{"cache_read":0.03,"cache_write":0.0,"completion":0.8999999999999999,"id":"mistralai/codestral-2508","prompt":0.3},{"cache_read":0.0,"cache_write":0.0,"completion":0.6,"id":"qwen/qwen3-coder-30b-a3b-instruct","prompt":0.15},{"cache_read":0.09999999999999999,"cache_write":0.0,"completion":0.3,"id":"qwen/qwen3-30b-a3b-instruct-2507","prompt":0.09999999999999999},{"cache_read":0.11,"cache_write":0.0,"completion":2.2,"id":"z-ai/glm-4.5","prompt":0.6},{"cache_read":0.03,"cache_write":0.0,"completion":1.1,"id":"z-ai/glm-4.5-air","prompt":0.19999999999999998},{"cache_read":0.0,"cache_write":0.0,"completion":3.5,"id":"qwen/qwen3-235b-a22b-thinking-2507","prompt":0.44999999999999996},{"cache_read":0.09999999999999999,"cache_write":0.0,"completion":1.0,"id":"qwen/qwen3-coder","prompt":0.3},{"cache_read":0.09999999999999999,"cache_write":0.0,"completion":0.19999999999999998,"id":"bytedance/ui-tars-1.5-7b","prompt":0.09999999999999999},{"cache_read":0.01,"cache_write":0.0833333333333333,"completion":0.39999999999999997,"id":"google/gemini-2.5-flash-lite","prompt":0.09999999999999999},{"cache_read":0.049999999999999996,"cache_write":0.0,"completion":0.7999999999999999,"id":"qwen/qwen3-235b-a22b-2507","prompt":0.14},{"cache_read":0.0,"cache_write":0.0,"completion":2.3,"id":"moonshotai/kimi-k2","prompt":0.5700000000000001},{"cache_read":0.0,"cache_write":0.0,"completion":0.8999999999999999,"id":"cognitivecomputations/dolphin-mistral-24b-venice-edition","prompt":0.19999999999999998},{"cache_read":0.0,"cache_write":0.0,"completion":0.5700000000000001,"id":"tencent/hunyuan-a13b-instruct","prompt":0.14},{"cache_read":0.0,"cache_write":0.0,"completion":1.9,"id":"morph/morph-v3-large","prompt":0.8999999999999999},{"cache_read":0.0,"cache_write":0.0,"completion":0.95,"id":"morph/morph-v3-large:batch","prompt":0.44999999999999996},{"cache_read":0.0,"cache_write":0.0,"completion":1.2,"id":"morph/morph-v3-fast","prompt":0.7999999999999999},{"cache_read":0.0,"cache_write":0.0,"completion":0.6,"id":"morph/morph-v3-fast:batch","prompt":0.39999999999999997},{"cache_read":0.01,"cache_write":0.0,"completion":0.3,"id":"mistralai/mistral-small-3.2-24b-instruct","prompt":0.09999999999999999},{"cache_read":0.03,"cache_write":0.0833333333333333,"completion":2.5,"id":"google/gemini-2.5-flash","prompt":0.3},{"cache_read":0.125,"cache_write":0.375,"completion":10.0,"id":"google/gemini-2.5-pro","prompt":1.25},{"cache_read":0.0,"cache_write":0.0,"completion":80.0,"id":"openai/o3-pro","prompt":20.0},{"cache_read":0.125,"cache_write":0.375,"completion":10.0,"id":"google/gemini-2.5-pro-preview","prompt":1.25},{"cache_read":0.35,"cache_write":0.0,"completion":2.1500000000000004,"id":"deepseek/deepseek-r1-0528","prompt":0.5},{"cache_read":0.04,"cache_write":0.0,"completion":2.0,"id":"mistralai/mistral-medium-3","prompt":0.39999999999999997},{"cache_read":0.0,"cache_write":0.0,"completion":0.18,"id":"meta-llama/llama-guard-4-12b","prompt":0.18},{"cache_read":0.0,"cache_write":0.0,"completion":0.5,"id":"qwen/qwen3-30b-a3b","prompt":0.12},{"cache_read":0.0,"cache_write":0.0,"completion":0.22,"id":"qwen/qwen3-14b","prompt":0.09999999999999999},{"cache_read":0.0,"cache_write":0.0,"completion":0.28,"id":"qwen/qwen3-32b","prompt":0.08},{"cache_read":0.5,"cache_write":0.0,"completion":8.0,"id":"openai/o3","prompt":2.0},{"cache_read":0.25,"cache_write":0.0,"completion":4.0,"id":"openai/o3:batch","prompt":1.0},{"cache_read":0.1375,"cache_write":0.0,"completion":2.2,"id":"openai/o4-mini:batch","prompt":0.55},{"cache_read":0.5,"cache_write":0.0,"completion":8.0,"id":"openai/gpt-4.1","prompt":2.0},{"cache_read":0.25,"cache_write":0.0,"completion":4.0,"id":"openai/gpt-4.1:batch","prompt":1.0},{"cache_read":0.09999999999999999,"cache_write":0.0,"completion":1.5999999999999999,"id":"openai/gpt-4.1-mini","prompt":0.39999999999999997},{"cache_read":0.049999999999999996,"cache_write":0.0,"completion":0.7999999999999999,"id":"openai/gpt-4.1-mini:batch","prompt":0.19999999999999998},{"cache_read":0.03,"cache_write":0.0,"completion":0.39999999999999997,"id":"openai/gpt-4.1-nano","prompt":0.09999999999999999},{"cache_read":0.012499999999999999,"cache_write":0.0,"completion":0.19999999999999998,"id":"openai/gpt-4.1-nano:batch","prompt":0.049999999999999996},{"cache_read":0.16999999999999998,"cache_write":0.0,"completion":1.0,"id":"meta-llama/llama-4-maverick","prompt":0.35},{"cache_read":0.0,"cache_write":0.0,"completion":0.3,"id":"meta-llama/llama-4-scout","prompt":0.09999999999999999},{"cache_read":0.11,"cache_write":0.0,"completion":1.1400000000000001,"id":"deepseek/deepseek-chat-v3-0324","prompt":0.29},{"cache_read":0.0,"cache_write":0.0,"completion":0.5549999999999999,"id":"mistralai/mistral-small-3.1-24b-instruct","prompt":0.351},{"cache_read":0.0,"cache_write":0.0,"completion":0.09999999999999999,"id":"google/gemma-3-4b-it","prompt":0.049999999999999996},{"cache_read":0.0,"cache_write":0.0,"completion":0.15,"id":"google/gemma-3-12b-it","prompt":0.049999999999999996},{"cache_read":0.0,"cache_write":0.0,"completion":10.0,"id":"cohere/command-a","prompt":2.5},{"cache_read":0.0,"cache_write":0.0,"completion":0.19999999999999998,"id":"rekaai/reka-flash-3","prompt":0.09999999999999999},{"cache_read":0.04,"cache_write":0.0,"completion":0.44999999999999996,"id":"google/gemma-3-27b-it","prompt":0.08},{"cache_read":0.25,"cache_write":0.0,"completion":0.7999999999999999,"id":"thedrummer/skyfall-36b-v2","prompt":0.55},{"cache_read":0.0,"cache_write":0.0,"completion":8.0,"id":"perplexity/sonar-reasoning-pro","prompt":2.0},{"cache_read":0.0,"cache_write":0.0,"completion":15.0,"id":"perplexity/sonar-pro","prompt":3.0},{"cache_read":0.0,"cache_write":0.0,"completion":8.0,"id":"perplexity/sonar-deep-research","prompt":2.0},{"cache_read":0.02,"cache_write":0.0,"completion":0.6,"id":"mistralai/mistral-saba","prompt":0.19999999999999998},{"cache_read":0.0,"cache_write":0.0,"completion":1.5999999999999999,"id":"aion-labs/aion-rp-llama-3.1-8b","prompt":0.7999999999999999},{"cache_read":0.39999999999999997,"cache_write":0.0,"completion":1.0,"id":"qwen/qwen2.5-vl-72b-instruct","prompt":0.7999999999999999},{"cache_read":0.052000000000000005,"cache_write":0.325,"completion":0.78,"id":"qwen/qwen-plus","prompt":0.26},{"cache_read":0.275,"cache_write":0.0,"completion":2.2,"id":"openai/o3-mini:batch","prompt":0.55},{"cache_read":0.0,"cache_write":0.0,"completion":0.08,"id":"mistralai/mistral-small-24b-instruct-2501","prompt":0.049999999999999996},{"cache_read":0.0,"cache_write":0.0,"completion":1.0,"id":"perplexity/sonar","prompt":1.0},{"cache_read":0.0,"cache_write":0.0,"completion":0.14,"id":"microsoft/phi-4","prompt":0.07},{"cache_read":0.0,"cache_write":0.0,"completion":0.8899999999999999,"id":"deepseek/deepseek-chat","prompt":0.32},{"cache_read":0.0,"cache_write":0.0,"completion":0.15,"id":"cohere/command-r7b-12-2024","prompt":0.0375},{"cache_read":0.71,"cache_write":0.0,"completion":0.71,"id":"meta-llama/llama-3.3-70b-instruct","prompt":0.71},{"cache_read":0.0,"cache_write":0.0,"completion":0.24,"id":"amazon/nova-lite-v1","prompt":0.06},{"cache_read":0.0,"cache_write":0.0,"completion":0.14,"id":"amazon/nova-micro-v1","prompt":0.035},{"cache_read":0.0,"cache_write":0.0,"completion":3.1999999999999997,"id":"amazon/nova-pro-v1","prompt":0.7999999999999999},{"cache_read":1.25,"cache_write":0.0,"completion":10.0,"id":"openai/gpt-4o-2024-11-20","prompt":2.5},{"cache_read":0.19999999999999998,"cache_write":0.0,"completion":6.0,"id":"mistralai/mistral-large-2407","prompt":2.0},{"cache_read":0.0,"cache_write":0.0,"completion":1.0,"id":"qwen/qwen-2.5-coder-32b-instruct","prompt":0.66},{"cache_read":0.0,"cache_write":0.0,"completion":0.39999999999999997,"id":"thedrummer/unslopnemo-12b","prompt":0.39999999999999997},{"cache_read":2.5,"cache_write":0.0,"completion":5.0,"id":"anthracite-org/magnum-v4-72b","prompt":2.5},{"cache_read":0.0,"cache_write":0.0,"completion":0.19999999999999998,"id":"qwen/qwen-2.5-7b-instruct","prompt":0.09999999999999999},{"cache_read":0.0,"cache_write":0.0,"completion":0.201,"id":"meta-llama/llama-3.2-1b-instruct","prompt":0.027},{"cache_read":0.0,"cache_write":0.0,"completion":0.33,"id":"meta-llama/llama-3.2-3b-instruct","prompt":0.049999999999999996},{"cache_read":0.0,"cache_write":0.0,"completion":0.39999999999999997,"id":"qwen/qwen-2.5-72b-instruct","prompt":0.36},{"cache_read":0.0,"cache_write":0.0,"completion":0.6,"id":"cohere/command-r-08-2024","prompt":0.15},{"cache_read":0.0,"cache_write":0.0,"completion":10.0,"id":"cohere/command-r-plus-08-2024","prompt":2.5},{"cache_read":0.0,"cache_write":0.0,"completion":0.85,"id":"sao10k/l3.1-euryale-70b","prompt":0.85},{"cache_read":0.0,"cache_write":0.0,"completion":0.049999999999999996,"id":"sao10k/l3-lunaris-8b","prompt":0.04},{"cache_read":1.25,"cache_write":0.0,"completion":10.0,"id":"openai/gpt-4o-2024-08-06","prompt":2.5},{"cache_read":0.0,"cache_write":0.0,"completion":0.72,"id":"meta-llama/llama-3.1-70b-instruct","prompt":0.72},{"cache_read":0.0,"cache_write":0.0,"completion":0.04,"id":"meta-llama/llama-3.1-8b-instruct","prompt":0.02},{"cache_read":0.0,"cache_write":0.0,"completion":0.03,"id":"mistralai/mistral-nemo","prompt":0.029},{"cache_read":0.075,"cache_write":0.0,"completion":0.6,"id":"openai/gpt-4o-mini","prompt":0.15},{"cache_read":0.075,"cache_write":0.0,"completion":0.6,"id":"openai/gpt-4o-mini-2024-07-18","prompt":0.15},{"cache_read":0.0375,"cache_write":0.0,"completion":0.3,"id":"openai/gpt-4o-mini:batch","prompt":0.075},{"cache_read":0.0,"cache_write":0.0,"completion":0.65,"id":"google/gemma-2-27b-it","prompt":0.65},{"cache_read":1.25,"cache_write":0.0,"completion":10.0,"id":"openai/gpt-4o","prompt":2.5},{"cache_read":0.0,"cache_write":0.0,"completion":15.0,"id":"openai/gpt-4o-2024-05-13","prompt":5.0},{"cache_read":0.625,"cache_write":0.0,"completion":5.0,"id":"openai/gpt-4o:batch","prompt":1.25},{"cache_read":0.19999999999999998,"cache_write":0.0,"completion":6.0,"id":"mistralai/mixtral-8x22b-instruct","prompt":2.0},{"cache_read":0.0,"cache_write":0.0,"completion":15.0,"id":"openai/gpt-4-turbo:batch","prompt":5.0},{"cache_read":0.19999999999999998,"cache_write":0.0,"completion":6.0,"id":"mistralai/mistral-large","prompt":2.0},{"cache_read":0.0,"cache_write":0.0,"completion":2.0,"id":"openai/gpt-3.5-turbo-0613","prompt":1.0},{"cache_read":0.0,"cache_write":0.0,"completion":4.0,"id":"openai/gpt-3.5-turbo-16k","prompt":3.0},{"cache_read":0.39999999999999997,"cache_write":0.0,"completion":0.75,"id":"mancer/weaver","prompt":0.39999999999999997},{"cache_read":0.35,"cache_write":0.0,"completion":0.65,"id":"undi95/remm-slerp-l2-13b","prompt":0.35},{"cache_read":0.0,"cache_write":0.0,"completion":0.11,"id":"gryphe/mythomax-l2-13b","prompt":0.08},{"cache_read":0.0,"cache_write":0.0,"completion":60.0,"id":"openai/gpt-4","prompt":30.0},{"cache_read":0.0,"cache_write":0.0,"completion":-1000000.0,"id":"openrouter/auto","prompt":-1000000.0},{"cache_read":0.0,"cache_write":0.0,"completion":-1000000.0,"id":"openrouter/auto-code","prompt":-1000000.0},{"cache_read":0.0,"cache_write":0.0,"completion":-1000000.0,"id":"typesafe/jev-router","prompt":-1000000.0},{"cache_read":0.0,"cache_write":0.0,"completion":-1000000.0,"id":"nvidia/switchyard","prompt":-1000000.0},{"cache_read":0.0,"cache_write":0.0,"completion":-1000000.0,"id":"openrouter/auto-beta","prompt":-1000000.0},{"cache_read":0.0,"cache_write":0.0,"completion":-1000000.0,"id":"openrouter/fusion","prompt":-1000000.0},{"cache_read":0.0,"cache_write":0.0,"completion":-1000000.0,"id":"openrouter/pareto-code","prompt":-1000000.0},{"cache_read":0.0,"cache_write":0.0,"completion":0.0,"id":"openrouter/free","prompt":0.0},{"cache_read":0.0,"cache_write":0.0,"completion":-1000000.0,"id":"openrouter/bodybuilder","prompt":-1000000.0}],"version":1}
Binary file
Binary file
Binary file
Binary file
package/install.ps1 DELETED
@@ -1,38 +0,0 @@
1
- # costcrew installer for Windows
2
- # powershell -c "irm https://raw.githubusercontent.com/Arch087146/costcrew/main/install.ps1 | iex"
3
- $ErrorActionPreference = "Stop"
4
-
5
- $Repo = "Arch087146/costcrew"
6
- $Asset = "costcrew-windows-x86_64.zip"
7
- $Url = "https://github.com/$Repo/releases/latest/download/$Asset"
8
-
9
- $Dest = if ($env:COSTCREW_INSTALL_DIR) {
10
- $env:COSTCREW_INSTALL_DIR
11
- } else {
12
- Join-Path $env:LOCALAPPDATA "Programs\costcrew"
13
- }
14
- New-Item -ItemType Directory -Force -Path $Dest | Out-Null
15
-
16
- $tmp = New-Item -ItemType Directory -Force -Path (Join-Path $env:TEMP "costcrew-install")
17
- $zip = Join-Path $tmp $Asset
18
-
19
- Write-Host "fetching $Asset ..."
20
- Invoke-WebRequest -Uri $Url -OutFile $zip -UseBasicParsing
21
- Expand-Archive -Path $zip -DestinationPath $tmp -Force
22
-
23
- Move-Item (Join-Path $tmp "costcrew.exe") (Join-Path $Dest "costcrew.exe") -Force
24
-
25
- # make sure it's on PATH for future sessions
26
- $dirOnPath = [Environment]::GetEnvironmentVariable("Path", "User") -split ";" -contains $Dest
27
- if (-not $dirOnPath) {
28
- [Environment]::SetEnvironmentVariable(
29
- "Path",
30
- [Environment]::GetEnvironmentVariable("Path", "User") + ";$Dest",
31
- "User"
32
- )
33
- Write-Host "added $Dest to your user PATH (new shells will see it)"
34
- }
35
-
36
- & (Join-Path $Dest "costcrew.exe") --version
37
- Write-Host ""
38
- Write-Host "run costcrew in a NEW shell to open the app"
package/install.sh DELETED
@@ -1,56 +0,0 @@
1
- #!/bin/sh
2
- # costcrew installer — curl -fsSL https://raw.githubusercontent.com/Arch087146/costcrew/main/install.sh | sh
3
- set -eu
4
-
5
- REPO="Arch087146/costcrew"
6
- VERSION="${COSTCREW_VERSION:-latest}"
7
-
8
- # pick the asset for this machine
9
- OS="$(uname -s)"
10
- ARCH="$(uname -m)"
11
- case "$OS" in
12
- Darwin) OS_TAG="macos" ;;
13
- Linux) OS_TAG="linux" ;;
14
- *) echo "unsupported OS: $OS (windows users: use install.ps1)" >&2; exit 1 ;;
15
- esac
16
- case "$ARCH" in
17
- arm64 | aarch64) ARCH_TAG="aarch64" ;;
18
- x86_64 | amd64) ARCH_TAG="x86_64" ;;
19
- *) echo "unsupported arch: $ARCH" >&2; exit 1 ;;
20
- esac
21
- ASSET="costcrew-${OS_TAG}-${ARCH_TAG}.tar.gz"
22
-
23
- if [ "$VERSION" = "latest" ]; then
24
- URL="https://github.com/${REPO}/releases/latest/download/${ASSET}"
25
- else
26
- URL="https://github.com/${REPO}/releases/download/${VERSION}/${ASSET}"
27
- fi
28
-
29
- # install destination: writable dir on PATH, else ~/.local/bin
30
- if [ -n "${COSTCREW_INSTALL_DIR:-}" ]; then
31
- DEST="$COSTCREW_INSTALL_DIR"
32
- elif [ -w /usr/local/bin ] 2>/dev/null; then
33
- DEST="/usr/local/bin"
34
- else
35
- DEST="${HOME}/.local/bin"
36
- mkdir -p "$DEST"
37
- case ":$PATH:" in
38
- *":$DEST:"*) ;;
39
- *) echo "note: add $DEST to your PATH: export PATH=\"\$HOME/.local/bin:\$PATH\"" ;;
40
- esac
41
- fi
42
-
43
- TMP="$(mktemp -d)"
44
- trap 'rm -rf "$TMP"' EXIT
45
-
46
- echo "fetching ${ASSET} ..."
47
- curl -fsSL "$URL" -o "$TMP/costcrew.tar.gz"
48
- tar xzf "$TMP/costcrew.tar.gz" -C "$TMP"
49
-
50
- mv "$TMP/costcrew" "$DEST/costcrew"
51
- chmod +x "$DEST/costcrew"
52
-
53
- echo
54
- echo "installed: $(command -v costcrew 2>/dev/null || echo "$DEST/costcrew")"
55
- "$DEST/costcrew" --version
56
- echo "run costcrew to open the app · costcrew prices · costcrew spend"
@@ -1,46 +0,0 @@
1
- #!/usr/bin/env node
2
- // costcrew npm wrapper: finds the platform binary installed as an
3
- // optionalDependency and execs it with all arguments passed through.
4
- "use strict";
5
- const { spawnSync } = require("child_process");
6
- const path = require("path");
7
- const fs = require("fs");
8
-
9
- const PLATFORMS = {
10
- "win32-x64": "@archeagle087/costcrew-win32-x64/costcrew.exe",
11
- "linux-x64": "@archeagle087/costcrew-linux-x64/costcrew",
12
- "darwin-arm64": "@archeagle087/costcrew-darwin-arm64/costcrew",
13
- "darwin-x64": "@archeagle087/costcrew-darwin-x64/costcrew",
14
- };
15
-
16
- const key = `${process.platform}-${process.arch}`;
17
- const rel = PLATFORMS[key];
18
- if (!rel) {
19
- console.error(`costcrew: no prebuilt binary for ${key}`);
20
- console.error("build from source: https://github.com/Arch087146/costcrew");
21
- process.exit(1);
22
- }
23
-
24
- function resolveBinary() {
25
- // __dirname is node_modules/@archeagle087/costcrew — two levels up is
26
- // node_modules, where the platform packages live
27
- const nm = path.join(__dirname, "..", "..");
28
- const direct = path.join(nm, rel);
29
- if (fs.existsSync(direct)) return direct;
30
- // npm can hoist/reshape optionalDependencies — fall back to resolution
31
- const [pkg, file] = rel.split("/");
32
- try {
33
- const dir = path.dirname(require.resolve(`${pkg}/package.json`, { paths: [nm] }));
34
- return path.join(dir, file);
35
- } catch {
36
- return direct; // let spawn fail with a clear ENOENT
37
- }
38
- }
39
-
40
- const bin = resolveBinary();
41
- const result = spawnSync(bin, process.argv.slice(2), { stdio: "inherit" });
42
- if (result.error) {
43
- console.error(`costcrew: failed to launch ${bin}: ${result.error.message}`);
44
- process.exit(1);
45
- }
46
- process.exit(result.status ?? 0);
@@ -1,20 +0,0 @@
1
- {
2
- "name": "@archeagle087/costcrew",
3
- "version": "0.4.0",
4
- "description": "The AI coding price database, plus what you spend on it — interactive terminal app. Bundled 465+ model prices, your spend ledger, arena leaderboard priced elo-per-dollar.",
5
- "bin": {
6
- "costcrew": "bin.js"
7
- },
8
- "optionalDependencies": {
9
- "@archeagle087/costcrew-win32-x64": "0.4.0",
10
- "@archeagle087/costcrew-linux-x64": "0.4.0",
11
- "@archeagle087/costcrew-darwin-arm64": "0.4.0",
12
- "@archeagle087/costcrew-darwin-x64": "0.4.0"
13
- },
14
- "os": ["win32", "linux", "darwin"],
15
- "cpu": ["x64", "arm64"],
16
- "keywords": ["ai", "llm", "cost", "tokens", "pricing", "claude", "opencode", "cli"],
17
- "license": "MIT",
18
- "repository": "github:Arch087146/costcrew",
19
- "homepage": "https://github.com/Arch087146/costcrew#readme"
20
- }
@@ -1,15 +0,0 @@
1
- PackageIdentifier: Arch087146.costcrew
2
- PackageVersion: 0.4.0
3
- Installers:
4
- - Architecture: x64
5
- InstallerType: zip
6
- InstallerUrl: https://github.com/Arch087146/costcrew/releases/download/v0.4.0/costcrew-windows-x86_64.zip
7
- InstallerSha256: 9B4F651A49D49AA338E68C008F33E4CC6D00E50D576026D05E81CB33385367CE
8
- NestedInstallerType: portable
9
- NestedInstallerFiles:
10
- - RelativeFilePath: costcrew.exe
11
- PortableCommandAlias: costcrew
12
- InstallerSwitches:
13
- Portable: ''
14
- ManifestType: installer
15
- ManifestVersion: 1.9.0
@@ -1,28 +0,0 @@
1
- PackageIdentifier: Arch087146.costcrew
2
- PackageVersion: 0.4.0
3
- PackageLocale: en-US
4
- Publisher: Arch087146
5
- PublisherUrl: https://github.com/Arch087146
6
- PackageName: costcrew
7
- PackageUrl: https://github.com/Arch087146/costcrew
8
- License: MIT
9
- LicenseUrl: https://github.com/Arch087146/costcrew/blob/main/LICENSE
10
- ShortDescription: The AI coding price database, plus what you spend on it.
11
- Description: |-
12
- One binary, two halves. First: a bundled database of what every AI model
13
- costs - every input/output/cache rate per 1M tokens, works offline, no API
14
- key, nothing to configure. Second: your own spend, recorded by you, totaled
15
- by month and service, plus provider-reported truth from your API keys.
16
- Type `costcrew` for the interactive app; flags like `costcrew prices claude`
17
- work for scripting.
18
- Moniker: costcrew
19
- Tags:
20
- - ai
21
- - llm
22
- - cost
23
- - pricing
24
- - tokens
25
- - cli
26
- - rust
27
- ManifestType: defaultLocale
28
- ManifestVersion: 1.9.0
@@ -1,5 +0,0 @@
1
- PackageIdentifier: Arch087146.costcrew
2
- PackageVersion: 0.4.0
3
- DefaultLocale: en-US
4
- ManifestType: version
5
- ManifestVersion: 1.9.0
@@ -1,31 +0,0 @@
1
- # winget manifests
2
-
3
- These three files submit costcrew to the official winget community repo.
4
-
5
- ## How to submit (one-time per release)
6
-
7
- 1. Fork https://github.com/microsoft/winget-pkgs
8
- 2. Copy the `0.4.0/` folder (all three YAML files) to
9
- `manifests/a/Arch087146/costcrew/0.4.0/` in your fork.
10
- 3. Open a PR against `microsoft/winget-pkgs` with title
11
- `Add: Arch087146.costcrew version 0.4.0`.
12
- 4. The PR checks will run winget's manifest validator automatically.
13
- Once a maintainer approves, the package goes live and
14
- `winget install Arch087146.costcrew` works.
15
-
16
- ## Updating hashes
17
-
18
- `InstallerSha256` in `Arch087146.costcrew.installer.yaml` is the SHA256 of
19
- `costcrew-windows-x86_64.zip` from release v0.4.0. When a new version is
20
- released, compute it with:
21
-
22
- ```powershell
23
- Get-FileHash .\costcrew-windows-x86_64.zip -Algorithm SHA256
24
- ```
25
-
26
- ## Validating locally (optional)
27
-
28
- ```sh
29
- winget install Microsoft.Winget.SourceValidation
30
- winget validate --manifest .\0.4.0\
31
- ```