@archeagle087/costcrew 0.4.0 → 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.
- package/bin.js +12 -5
- package/package.json +8 -5
- package/.github/workflows/ci.yml +0 -21
- package/.github/workflows/npm-release.yml +0 -107
- package/.github/workflows/prices-monthly.yml +0 -58
- package/.github/workflows/release.yml +0 -45
- package/Cargo.lock +0 -980
- package/Cargo.toml +0 -22
- package/assets/advise.png +0 -0
- package/assets/board.png +0 -0
- package/assets/catalog.png +0 -0
- package/assets/demo.png +0 -0
- package/assets/help.png +0 -0
- package/assets/mascot.png +0 -0
- package/assets/prices.png +0 -0
- package/assets/scan.png +0 -0
- package/assets/spend.png +0 -0
- package/assets/ui.png +0 -0
- package/data/prices.json +0 -1
- package/dist/costcrew-linux-x86_64.tar.gz +0 -0
- package/dist/costcrew-macos-aarch64.tar.gz +0 -0
- package/dist/costcrew-macos-x86_64.tar.gz +0 -0
- package/dist/costcrew-windows-x86_64.zip +0 -0
- package/install.ps1 +0 -38
- package/install.sh +0 -56
- package/packaging/npm/bin.js +0 -43
- package/packaging/npm/package.json +0 -20
- package/packaging/winget/0.4.0/Arch087146.costcrew.installer.yaml +0 -15
- package/packaging/winget/0.4.0/Arch087146.costcrew.locale.en-US.yaml +0 -28
- package/packaging/winget/0.4.0/Arch087146.costcrew.yaml +0 -5
- package/packaging/winget/README.md +0 -31
- package/scripts/render_screen.py +0 -221
- package/src/advise.rs +0 -154
- package/src/args.rs +0 -239
- package/src/board.rs +0 -227
- package/src/catalog.rs +0 -136
- package/src/demo.rs +0 -79
- package/src/fetch.rs +0 -155
- package/src/main.rs +0 -371
- package/src/price.rs +0 -218
- package/src/prices.rs +0 -182
- package/src/report.rs +0 -194
- package/src/scan.rs +0 -593
- package/src/spend.rs +0 -452
- package/src/ui.rs +0 -367
- package/work/costcrew-darwin-arm64/costcrew +0 -0
- package/work/costcrew-darwin-arm64/package.json +0 -9
- package/work/costcrew-darwin-x64/costcrew +0 -0
- package/work/costcrew-darwin-x64/package.json +0 -9
- package/work/costcrew-linux-x64/costcrew +0 -0
- package/work/costcrew-linux-x64/package.json +0 -9
- package/work/costcrew-win32-x64/costcrew.exe +0 -0
- 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.0"
|
|
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
|
package/assets/catalog.png
DELETED
|
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"
|
package/packaging/npm/bin.js
DELETED
|
@@ -1,43 +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
|
-
const direct = path.join(__dirname, "..", rel);
|
|
26
|
-
if (fs.existsSync(direct)) return direct;
|
|
27
|
-
// npm can hoist/reshape optionalDependencies — fall back to resolution
|
|
28
|
-
const [pkg, file] = rel.split("/");
|
|
29
|
-
try {
|
|
30
|
-
const dir = path.dirname(require.resolve(`${pkg}/package.json`, { paths: [__dirname] }));
|
|
31
|
-
return path.join(dir, file);
|
|
32
|
-
} catch {
|
|
33
|
-
return direct; // let spawn fail with a clear ENOENT
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
const bin = resolveBinary();
|
|
38
|
-
const result = spawnSync(bin, process.argv.slice(2), { stdio: "inherit" });
|
|
39
|
-
if (result.error) {
|
|
40
|
-
console.error(`costcrew: failed to launch ${bin}: ${result.error.message}`);
|
|
41
|
-
process.exit(1);
|
|
42
|
-
}
|
|
43
|
-
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,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
|
-
```
|