oc2token 0.1.0
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/LICENSE +21 -0
- package/README.md +399 -0
- package/dist/src/accounting/index.d.ts +1 -0
- package/dist/src/accounting/index.js +2 -0
- package/dist/src/accounting/index.js.map +1 -0
- package/dist/src/accounting/reducer.d.ts +21 -0
- package/dist/src/accounting/reducer.js +105 -0
- package/dist/src/accounting/reducer.js.map +1 -0
- package/dist/src/antigravity/discovery.d.ts +18 -0
- package/dist/src/antigravity/discovery.js +95 -0
- package/dist/src/antigravity/discovery.js.map +1 -0
- package/dist/src/antigravity/doctor.d.ts +6 -0
- package/dist/src/antigravity/doctor.js +78 -0
- package/dist/src/antigravity/doctor.js.map +1 -0
- package/dist/src/antigravity/index.d.ts +3 -0
- package/dist/src/antigravity/index.js +4 -0
- package/dist/src/antigravity/index.js.map +1 -0
- package/dist/src/antigravity/proto.d.ts +73 -0
- package/dist/src/antigravity/proto.js +259 -0
- package/dist/src/antigravity/proto.js.map +1 -0
- package/dist/src/antigravity/scanner.d.ts +8 -0
- package/dist/src/antigravity/scanner.js +552 -0
- package/dist/src/antigravity/scanner.js.map +1 -0
- package/dist/src/application.d.ts +73 -0
- package/dist/src/application.js +657 -0
- package/dist/src/application.js.map +1 -0
- package/dist/src/cache/filesystem.d.ts +8 -0
- package/dist/src/cache/filesystem.js +70 -0
- package/dist/src/cache/filesystem.js.map +1 -0
- package/dist/src/cache/index.d.ts +5 -0
- package/dist/src/cache/index.js +6 -0
- package/dist/src/cache/index.js.map +1 -0
- package/dist/src/cache/lock.d.ts +40 -0
- package/dist/src/cache/lock.js +227 -0
- package/dist/src/cache/lock.js.map +1 -0
- package/dist/src/cache/schema.d.ts +45 -0
- package/dist/src/cache/schema.js +308 -0
- package/dist/src/cache/schema.js.map +1 -0
- package/dist/src/cache/store.d.ts +46 -0
- package/dist/src/cache/store.js +396 -0
- package/dist/src/cache/store.js.map +1 -0
- package/dist/src/cache/types.d.ts +130 -0
- package/dist/src/cache/types.js +6 -0
- package/dist/src/cache/types.js.map +1 -0
- package/dist/src/cli.d.ts +8 -0
- package/dist/src/cli.js +874 -0
- package/dist/src/cli.js.map +1 -0
- package/dist/src/codex/discovery.d.ts +6 -0
- package/dist/src/codex/discovery.js +88 -0
- package/dist/src/codex/discovery.js.map +1 -0
- package/dist/src/codex/doctor.d.ts +6 -0
- package/dist/src/codex/doctor.js +52 -0
- package/dist/src/codex/doctor.js.map +1 -0
- package/dist/src/codex/index.d.ts +3 -0
- package/dist/src/codex/index.js +3 -0
- package/dist/src/codex/index.js.map +1 -0
- package/dist/src/codex/scanner.d.ts +6 -0
- package/dist/src/codex/scanner.js +487 -0
- package/dist/src/codex/scanner.js.map +1 -0
- package/dist/src/codex/types.d.ts +31 -0
- package/dist/src/codex/types.js +5 -0
- package/dist/src/codex/types.js.map +1 -0
- package/dist/src/collector/collector.d.ts +15 -0
- package/dist/src/collector/collector.js +597 -0
- package/dist/src/collector/collector.js.map +1 -0
- package/dist/src/collector/index.d.ts +3 -0
- package/dist/src/collector/index.js +3 -0
- package/dist/src/collector/index.js.map +1 -0
- package/dist/src/collector/types.d.ts +55 -0
- package/dist/src/collector/types.js +18 -0
- package/dist/src/collector/types.js.map +1 -0
- package/dist/src/dashboard/render/ansi.d.ts +53 -0
- package/dist/src/dashboard/render/ansi.js +106 -0
- package/dist/src/dashboard/render/ansi.js.map +1 -0
- package/dist/src/dashboard/render/dashboard.d.ts +13 -0
- package/dist/src/dashboard/render/dashboard.js +750 -0
- package/dist/src/dashboard/render/dashboard.js.map +1 -0
- package/dist/src/dashboard/render/format.d.ts +23 -0
- package/dist/src/dashboard/render/format.js +169 -0
- package/dist/src/dashboard/render/format.js.map +1 -0
- package/dist/src/dashboard/render/redraw.d.ts +13 -0
- package/dist/src/dashboard/render/redraw.js +24 -0
- package/dist/src/dashboard/render/redraw.js.map +1 -0
- package/dist/src/dashboard/render/types.d.ts +83 -0
- package/dist/src/dashboard/render/types.js +528 -0
- package/dist/src/dashboard/render/types.js.map +1 -0
- package/dist/src/dashboard/scheduler/index.d.ts +1 -0
- package/dist/src/dashboard/scheduler/index.js +2 -0
- package/dist/src/dashboard/scheduler/index.js.map +1 -0
- package/dist/src/dashboard/scheduler/refresh-scheduler.d.ts +46 -0
- package/dist/src/dashboard/scheduler/refresh-scheduler.js +137 -0
- package/dist/src/dashboard/scheduler/refresh-scheduler.js.map +1 -0
- package/dist/src/dashboard/settings/index.d.ts +25 -0
- package/dist/src/dashboard/settings/index.js +162 -0
- package/dist/src/dashboard/settings/index.js.map +1 -0
- package/dist/src/dashboard/state/index.d.ts +2 -0
- package/dist/src/dashboard/state/index.js +3 -0
- package/dist/src/dashboard/state/index.js.map +1 -0
- package/dist/src/dashboard/state/refresh-coordinator.d.ts +72 -0
- package/dist/src/dashboard/state/refresh-coordinator.js +346 -0
- package/dist/src/dashboard/state/refresh-coordinator.js.map +1 -0
- package/dist/src/dashboard/state/types.d.ts +68 -0
- package/dist/src/dashboard/state/types.js +2 -0
- package/dist/src/dashboard/state/types.js.map +1 -0
- package/dist/src/domain/contracts.d.ts +219 -0
- package/dist/src/domain/contracts.js +2 -0
- package/dist/src/domain/contracts.js.map +1 -0
- package/dist/src/domain/errors.d.ts +25 -0
- package/dist/src/domain/errors.js +65 -0
- package/dist/src/domain/errors.js.map +1 -0
- package/dist/src/domain/index.d.ts +5 -0
- package/dist/src/domain/index.js +6 -0
- package/dist/src/domain/index.js.map +1 -0
- package/dist/src/domain/records.d.ts +59 -0
- package/dist/src/domain/records.js +141 -0
- package/dist/src/domain/records.js.map +1 -0
- package/dist/src/domain/tokens.d.ts +51 -0
- package/dist/src/domain/tokens.js +93 -0
- package/dist/src/domain/tokens.js.map +1 -0
- package/dist/src/domain/windows.d.ts +59 -0
- package/dist/src/domain/windows.js +272 -0
- package/dist/src/domain/windows.js.map +1 -0
- package/dist/src/index.d.ts +9 -0
- package/dist/src/index.js +9 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/opencode/adapter.d.ts +47 -0
- package/dist/src/opencode/adapter.js +118 -0
- package/dist/src/opencode/adapter.js.map +1 -0
- package/dist/src/opencode/client.d.ts +64 -0
- package/dist/src/opencode/client.js +118 -0
- package/dist/src/opencode/client.js.map +1 -0
- package/dist/src/opencode/doctor.d.ts +28 -0
- package/dist/src/opencode/doctor.js +82 -0
- package/dist/src/opencode/doctor.js.map +1 -0
- package/dist/src/opencode/index.d.ts +5 -0
- package/dist/src/opencode/index.js +6 -0
- package/dist/src/opencode/index.js.map +1 -0
- package/dist/src/opencode/stats.d.ts +8 -0
- package/dist/src/opencode/stats.js +174 -0
- package/dist/src/opencode/stats.js.map +1 -0
- package/dist/src/opencode/transport.d.ts +54 -0
- package/dist/src/opencode/transport.js +621 -0
- package/dist/src/opencode/transport.js.map +1 -0
- package/dist/src/output/index.d.ts +20 -0
- package/dist/src/output/index.js +46 -0
- package/dist/src/output/index.js.map +1 -0
- package/dist/src/output/json.d.ts +72 -0
- package/dist/src/output/json.js +133 -0
- package/dist/src/output/json.js.map +1 -0
- package/dist/src/output/table.d.ts +4 -0
- package/dist/src/output/table.js +81 -0
- package/dist/src/output/table.js.map +1 -0
- package/dist/src/pricing/index.d.ts +1 -0
- package/dist/src/pricing/index.js +2 -0
- package/dist/src/pricing/index.js.map +1 -0
- package/dist/src/pricing/pricing.d.ts +19 -0
- package/dist/src/pricing/pricing.js +441 -0
- package/dist/src/pricing/pricing.js.map +1 -0
- package/package.json +27 -0
|
@@ -0,0 +1,441 @@
|
|
|
1
|
+
// Per-model pricing per 1M tokens (USD) — updated 2026-09-02 from official sources:
|
|
2
|
+
// - OpenAI: openai.com/api/pricing, Azure, pricepertoken.com
|
|
3
|
+
// - Anthropic: anthropic.com/pricing, platform.claude.com
|
|
4
|
+
// - Google: ai.google.dev/gemini-api/docs/pricing
|
|
5
|
+
// - OpenCode Zen: opencode.ai/zen + opencode.ai/docs/zen + opencode.ai/docs/go (opencode/* at-cost, 2026-09-02)
|
|
6
|
+
// Unknown models return undefined (no generic fallback) per spec, except opencode/* which has explicit Zen pricing.
|
|
7
|
+
// OpenAI GPT-5 family
|
|
8
|
+
const PRICING_GPT5 = { input: 1.25, output: 10, reasoning: 10, cacheRead: 0.125, cacheWrite: 1.25 };
|
|
9
|
+
const PRICING_GPT5_MINI = { input: 0.25, output: 2, reasoning: 2, cacheRead: 0.025, cacheWrite: 0.25 };
|
|
10
|
+
const PRICING_GPT5_NANO = { input: 0.05, output: 0.40, reasoning: 0.40, cacheRead: 0.005, cacheWrite: 0.05 };
|
|
11
|
+
const PRICING_GPT51 = { input: 1.25, output: 10, reasoning: 10, cacheRead: 0.125, cacheWrite: 1.25 };
|
|
12
|
+
const PRICING_GPT52 = { input: 1.75, output: 14, reasoning: 14, cacheRead: 0.175, cacheWrite: 1.75 };
|
|
13
|
+
const PRICING_GPT53_CODEX = { input: 1.75, output: 14, reasoning: 14, cacheRead: 0.175, cacheWrite: 1.75 };
|
|
14
|
+
const PRICING_GPT54 = { input: 2.5, output: 15, reasoning: 15, cacheRead: 0.25, cacheWrite: 3.125 };
|
|
15
|
+
const PRICING_GPT54_MINI = { input: 0.75, output: 4.5, reasoning: 4.5, cacheRead: 0.075, cacheWrite: 0.9375 };
|
|
16
|
+
const PRICING_GPT54_NANO = { input: 0.20, output: 1.25, reasoning: 1.25, cacheRead: 0.02, cacheWrite: 0.25 };
|
|
17
|
+
const PRICING_GPT55 = { input: 5, output: 30, reasoning: 30, cacheRead: 0.5, cacheWrite: 6.25 };
|
|
18
|
+
const PRICING_GPT55_PRO = { input: 30, output: 180, reasoning: 180, cacheRead: 3, cacheWrite: 37.5 };
|
|
19
|
+
const PRICING_GPT56_SOL = { input: 5, output: 30, reasoning: 30, cacheRead: 0.5, cacheWrite: 6.25 };
|
|
20
|
+
const PRICING_GPT56_TERRA = { input: 2, output: 12, reasoning: 12, cacheRead: 0.2, cacheWrite: 2.5 };
|
|
21
|
+
const PRICING_GPT56_LUNA = { input: 0.20, output: 1.20, reasoning: 1.20, cacheRead: 0.02, cacheWrite: 0.25 };
|
|
22
|
+
// Zen variants (opencode/* at-cost, slightly cheaper for GPT-5 family)
|
|
23
|
+
const PRICING_ZEN_GPT5 = { input: 1.07, output: 8.50, reasoning: 8.50, cacheRead: 0.107, cacheWrite: 1.07 };
|
|
24
|
+
const PRICING_ZEN_GPT51 = { input: 1.07, output: 8.50, reasoning: 8.50, cacheRead: 0.107, cacheWrite: 1.07 };
|
|
25
|
+
const PRICING_ZEN_GPT51_CODEX_MINI = { input: 0.25, output: 2, reasoning: 2, cacheRead: 0.025, cacheWrite: 0.25 };
|
|
26
|
+
const PRICING_GPT4O = { input: 2.5, output: 10, reasoning: 10, cacheRead: 1.25, cacheWrite: 2.5 };
|
|
27
|
+
const PRICING_GPT4O_MINI = { input: 0.15, output: 0.60, reasoning: 0.60, cacheRead: 0.075, cacheWrite: 0.15 };
|
|
28
|
+
const PRICING_GPT41 = { input: 2.0, output: 8.0, reasoning: 8.0, cacheRead: 0.50, cacheWrite: 2.0 };
|
|
29
|
+
const PRICING_GPT41_MINI = { input: 0.40, output: 1.60, reasoning: 1.60, cacheRead: 0.10, cacheWrite: 0.40 };
|
|
30
|
+
const PRICING_GPT41_NANO = { input: 0.10, output: 0.40, reasoning: 0.40, cacheRead: 0.025, cacheWrite: 0.10 };
|
|
31
|
+
const PRICING_O1 = { input: 15, output: 60, reasoning: 60, cacheRead: 7.5, cacheWrite: 15 };
|
|
32
|
+
const PRICING_O1_MINI = { input: 1.10, output: 4.40, reasoning: 4.40, cacheRead: 0.55, cacheWrite: 1.10 };
|
|
33
|
+
const PRICING_O3 = { input: 2.0, output: 8.0, reasoning: 8.0, cacheRead: 0.50, cacheWrite: 2.0 };
|
|
34
|
+
const PRICING_O3_MINI = { input: 1.10, output: 4.40, reasoning: 4.40, cacheRead: 0.55, cacheWrite: 1.10 };
|
|
35
|
+
const PRICING_O4_MINI = { input: 1.10, output: 4.40, reasoning: 4.40, cacheRead: 0.275, cacheWrite: 1.10 };
|
|
36
|
+
const PRICING_CLAUDE_SONNET = { input: 3.0, output: 15, reasoning: 15, cacheRead: 0.30, cacheWrite: 3.75 };
|
|
37
|
+
const PRICING_CLAUDE_SONNET5 = { input: 2.0, output: 10, reasoning: 10, cacheRead: 0.20, cacheWrite: 2.50 };
|
|
38
|
+
const PRICING_CLAUDE_HAIKU = { input: 0.80, output: 4.0, reasoning: 4.0, cacheRead: 0.08, cacheWrite: 1.0 };
|
|
39
|
+
const PRICING_CLAUDE_HAIKU45 = { input: 1.0, output: 5.0, reasoning: 5.0, cacheRead: 0.10, cacheWrite: 1.25 };
|
|
40
|
+
const PRICING_CLAUDE_OPUS = { input: 15, output: 75, reasoning: 75, cacheRead: 1.50, cacheWrite: 18.75 };
|
|
41
|
+
const PRICING_CLAUDE_OPUS_45 = { input: 5.0, output: 25, reasoning: 25, cacheRead: 0.50, cacheWrite: 6.25 };
|
|
42
|
+
const PRICING_CLAUDE_FABLE = { input: 10, output: 50, reasoning: 50, cacheRead: 1.0, cacheWrite: 12.50 };
|
|
43
|
+
const PRICING_CLAUDE_FABLE51 = { input: 10, output: 50, reasoning: 50, cacheRead: 0.25, cacheWrite: 12.50 };
|
|
44
|
+
const PRICING_GEMINI_25_PRO = { input: 1.25, output: 10, reasoning: 10, cacheRead: 0.125, cacheWrite: 1.25 };
|
|
45
|
+
const PRICING_GEMINI_25_FLASH = { input: 0.30, output: 2.50, reasoning: 2.50, cacheRead: 0.03, cacheWrite: 0.30 };
|
|
46
|
+
const PRICING_GEMINI_25_FLASH_LITE = { input: 0.10, output: 0.40, reasoning: 0.40, cacheRead: 0.01, cacheWrite: 0.10 };
|
|
47
|
+
const PRICING_GEMINI_20_FLASH = { input: 0.10, output: 0.40, reasoning: 0.40, cacheRead: 0.01, cacheWrite: 0.10 };
|
|
48
|
+
const PRICING_GEMINI_31_PRO = { input: 2.0, output: 12, reasoning: 12, cacheRead: 0.20, cacheWrite: 2.0 };
|
|
49
|
+
const PRICING_GEMINI_31_FLASH_LITE = { input: 0.25, output: 1.50, reasoning: 1.50, cacheRead: 0.025, cacheWrite: 0.25 };
|
|
50
|
+
const PRICING_GEMINI_35_FLASH = { input: 1.50, output: 9.00, reasoning: 9.00, cacheRead: 0.15, cacheWrite: 1.50 };
|
|
51
|
+
const PRICING_GEMINI_35_FLASH_LITE = { input: 0.30, output: 2.50, reasoning: 2.50, cacheRead: 0.03, cacheWrite: 0.30 };
|
|
52
|
+
const PRICING_GEMINI_36_FLASH = { input: 0.75, output: 3.75, reasoning: 3.75, cacheRead: 0.075, cacheWrite: 0.75 };
|
|
53
|
+
const PRICING_GEMINI_37_FLASH = { input: 0.75, output: 3.75, reasoning: 3.75, cacheRead: 0.075, cacheWrite: 0.75 };
|
|
54
|
+
const PRICING_GEMINI_15_PRO = { input: 1.25, output: 5.0, reasoning: 5.0, cacheRead: 0.125, cacheWrite: 1.25 };
|
|
55
|
+
// Zen / Go open models (opencode/*) — at-cost from opencode.ai/zen
|
|
56
|
+
const PRICING_ZEN_MINIMAX_M25 = { input: 0.30, output: 1.20, reasoning: 1.20, cacheRead: 0.06, cacheWrite: 0.30 };
|
|
57
|
+
const PRICING_ZEN_MINIMAX_M3 = { input: 0.30, output: 1.20, reasoning: 1.20, cacheRead: 0.06, cacheWrite: 0.30 };
|
|
58
|
+
const PRICING_ZEN_GLM5 = { input: 1.0, output: 3.20, reasoning: 3.20, cacheRead: 0.20, cacheWrite: 1.0 };
|
|
59
|
+
const PRICING_ZEN_GLM51 = { input: 1.40, output: 4.40, reasoning: 4.40, cacheRead: 0.26, cacheWrite: 1.40 };
|
|
60
|
+
const PRICING_ZEN_GLM52 = { input: 1.40, output: 4.40, reasoning: 4.40, cacheRead: 0.26, cacheWrite: 1.40 };
|
|
61
|
+
const PRICING_ZEN_KIMI_K2_5 = { input: 0.60, output: 3.00, reasoning: 3.00, cacheRead: 0.10, cacheWrite: 0.60 };
|
|
62
|
+
const PRICING_ZEN_KIMI_K3 = { input: 3.00, output: 15.00, reasoning: 15.00, cacheRead: 0.30, cacheWrite: 3.00 };
|
|
63
|
+
const PRICING_ZEN_QWEN_37_MAX = { input: 2.50, output: 7.50, reasoning: 7.50, cacheRead: 0.50, cacheWrite: 3.125 };
|
|
64
|
+
const PRICING_ZEN_DEEPSEEK_V4_PRO = { input: 0.66, output: 1.98, reasoning: 1.98, cacheRead: 0.022, cacheWrite: 0.66 };
|
|
65
|
+
const PRICING_ZEN_DEEPSEEK_V4_FLASH = { input: 0.22, output: 0.66, reasoning: 0.66, cacheRead: 0.007, cacheWrite: 0.22 };
|
|
66
|
+
const PRICING_ZEN_MIMO = { input: 0.14, output: 0.28, reasoning: 0.28, cacheRead: 0.0028, cacheWrite: 0.14 };
|
|
67
|
+
const PRICING_ZEN_MUSE_SPARK = { input: 1.25, output: 4.25, reasoning: 4.25, cacheRead: 0.15, cacheWrite: 1.25 };
|
|
68
|
+
const PRICING_GEMINI_3_PRO = PRICING_GEMINI_31_PRO;
|
|
69
|
+
const PRICING_GEMINI_3_FLASH = PRICING_GEMINI_36_FLASH;
|
|
70
|
+
const EXACT_PRICING = {
|
|
71
|
+
"gpt-5": PRICING_GPT5,
|
|
72
|
+
"gpt-5-mini": PRICING_GPT5_MINI,
|
|
73
|
+
"gpt-5-nano": PRICING_GPT5_NANO,
|
|
74
|
+
"openai/gpt-5": PRICING_GPT5,
|
|
75
|
+
"openai/gpt-5-mini": PRICING_GPT5_MINI,
|
|
76
|
+
"openai/gpt-5-nano": PRICING_GPT5_NANO,
|
|
77
|
+
// Zen opencode/* variants (at-cost, cheaper)
|
|
78
|
+
"opencode/gpt-5": PRICING_ZEN_GPT5,
|
|
79
|
+
"opencode/gpt-5.1": PRICING_ZEN_GPT51,
|
|
80
|
+
"opencode/gpt-5.1-codex": PRICING_ZEN_GPT51,
|
|
81
|
+
"opencode/gpt-5.1-codex-mini": PRICING_ZEN_GPT51_CODEX_MINI,
|
|
82
|
+
"opencode/gpt-5.1-codex-max": PRICING_ZEN_GPT5,
|
|
83
|
+
"opencode/gpt-5-codex": PRICING_ZEN_GPT5,
|
|
84
|
+
"opencode/gpt-5-nano": PRICING_GPT5_NANO,
|
|
85
|
+
"opencode/gpt-5-mini": PRICING_GPT5_MINI,
|
|
86
|
+
"gpt-5.1": PRICING_GPT51,
|
|
87
|
+
"openai/gpt-5.1": PRICING_GPT51,
|
|
88
|
+
"gpt-5.2": PRICING_GPT52,
|
|
89
|
+
"openai/gpt-5.2": PRICING_GPT52,
|
|
90
|
+
"gpt-5.3-codex": PRICING_GPT53_CODEX,
|
|
91
|
+
"openai/gpt-5.3-codex": PRICING_GPT53_CODEX,
|
|
92
|
+
"opencode/gpt-5.2": PRICING_GPT52,
|
|
93
|
+
"opencode/gpt-5.3-codex": PRICING_GPT53_CODEX,
|
|
94
|
+
"gpt-5.4": PRICING_GPT54,
|
|
95
|
+
"openai/gpt-5.4": PRICING_GPT54,
|
|
96
|
+
"gpt-5.4-mini": PRICING_GPT54_MINI,
|
|
97
|
+
"openai/gpt-5.4-mini": PRICING_GPT54_MINI,
|
|
98
|
+
"gpt-5.4-nano": PRICING_GPT54_NANO,
|
|
99
|
+
"openai/gpt-5.4-nano": PRICING_GPT54_NANO,
|
|
100
|
+
"opencode/gpt-5.4": PRICING_GPT54,
|
|
101
|
+
"opencode/gpt-5.4-mini": PRICING_GPT54_MINI,
|
|
102
|
+
"gpt-5.5": PRICING_GPT55,
|
|
103
|
+
"openai/gpt-5.5": PRICING_GPT55,
|
|
104
|
+
"gpt-5.5-pro": PRICING_GPT55_PRO,
|
|
105
|
+
"openai/gpt-5.5-pro": PRICING_GPT55_PRO,
|
|
106
|
+
"opencode/gpt-5.5": PRICING_GPT55,
|
|
107
|
+
"gpt-5.6-sol": PRICING_GPT56_SOL,
|
|
108
|
+
"gpt-5.6-terra": PRICING_GPT56_TERRA,
|
|
109
|
+
"gpt-5.6-luna": PRICING_GPT56_LUNA,
|
|
110
|
+
"openai/gpt-5.6-sol": PRICING_GPT56_SOL,
|
|
111
|
+
"openai/gpt-5.6-terra": PRICING_GPT56_TERRA,
|
|
112
|
+
"openai/gpt-5.6-luna": PRICING_GPT56_LUNA,
|
|
113
|
+
"opencode/gpt-5.6-sol": PRICING_GPT56_SOL,
|
|
114
|
+
"opencode/gpt-5.6-terra": PRICING_GPT56_TERRA,
|
|
115
|
+
"opencode/gpt-5.6-luna": PRICING_GPT56_LUNA,
|
|
116
|
+
"gpt-4o": PRICING_GPT4O,
|
|
117
|
+
"gpt-4o-mini": PRICING_GPT4O_MINI,
|
|
118
|
+
"openai/gpt-4o": PRICING_GPT4O,
|
|
119
|
+
"openai/gpt-4o-mini": PRICING_GPT4O_MINI,
|
|
120
|
+
"opencode/gpt-4o": PRICING_GPT4O,
|
|
121
|
+
"opencode/gpt-4o-mini": PRICING_GPT4O_MINI,
|
|
122
|
+
"gpt-4.1": PRICING_GPT41,
|
|
123
|
+
"gpt-4.1-mini": PRICING_GPT41_MINI,
|
|
124
|
+
"gpt-4.1-nano": PRICING_GPT41_NANO,
|
|
125
|
+
"openai/gpt-4.1": PRICING_GPT41,
|
|
126
|
+
"openai/gpt-4.1-mini": PRICING_GPT41_MINI,
|
|
127
|
+
"opencode/gpt-4.1": PRICING_GPT41,
|
|
128
|
+
"o1": PRICING_O1,
|
|
129
|
+
"o1-mini": PRICING_O1_MINI,
|
|
130
|
+
"o3": PRICING_O3,
|
|
131
|
+
"o3-mini": PRICING_O3_MINI,
|
|
132
|
+
"o4-mini": PRICING_O4_MINI,
|
|
133
|
+
"openai/o1": PRICING_O1,
|
|
134
|
+
"openai/o1-mini": PRICING_O1_MINI,
|
|
135
|
+
"openai/o3": PRICING_O3,
|
|
136
|
+
"openai/o3-mini": PRICING_O3_MINI,
|
|
137
|
+
"openai/o4-mini": PRICING_O4_MINI,
|
|
138
|
+
"opencode/o1": PRICING_O1,
|
|
139
|
+
"opencode/o3": PRICING_O3,
|
|
140
|
+
"claude-3-5-sonnet": PRICING_CLAUDE_SONNET,
|
|
141
|
+
"claude-3.5-sonnet": PRICING_CLAUDE_SONNET,
|
|
142
|
+
"claude-sonnet-4": PRICING_CLAUDE_SONNET,
|
|
143
|
+
"claude-sonnet-4.5": PRICING_CLAUDE_SONNET,
|
|
144
|
+
"claude-sonnet-4.6": PRICING_CLAUDE_SONNET,
|
|
145
|
+
"claude-sonnet-5": PRICING_CLAUDE_SONNET5,
|
|
146
|
+
"claude-3-5-haiku": PRICING_CLAUDE_HAIKU,
|
|
147
|
+
"claude-haiku": PRICING_CLAUDE_HAIKU,
|
|
148
|
+
"claude-haiku-3.5": PRICING_CLAUDE_HAIKU,
|
|
149
|
+
"claude-haiku-4.5": PRICING_CLAUDE_HAIKU45,
|
|
150
|
+
"claude-opus": PRICING_CLAUDE_OPUS,
|
|
151
|
+
"claude-opus-4": PRICING_CLAUDE_OPUS,
|
|
152
|
+
"claude-opus-4.1": PRICING_CLAUDE_OPUS,
|
|
153
|
+
"claude-opus-4.5": PRICING_CLAUDE_OPUS_45,
|
|
154
|
+
"claude-opus-4.6": PRICING_CLAUDE_OPUS_45,
|
|
155
|
+
"claude-opus-4.7": PRICING_CLAUDE_OPUS_45,
|
|
156
|
+
"claude-opus-4.8": PRICING_CLAUDE_OPUS_45,
|
|
157
|
+
"claude-opus-5": PRICING_CLAUDE_OPUS_45,
|
|
158
|
+
"claude-fable-5": PRICING_CLAUDE_FABLE,
|
|
159
|
+
"claude-fable-5.1": PRICING_CLAUDE_FABLE51,
|
|
160
|
+
"anthropic/claude-3-5-sonnet": PRICING_CLAUDE_SONNET,
|
|
161
|
+
"anthropic/claude-sonnet-4": PRICING_CLAUDE_SONNET,
|
|
162
|
+
"anthropic/claude-sonnet-5": PRICING_CLAUDE_SONNET5,
|
|
163
|
+
"anthropic/claude-haiku": PRICING_CLAUDE_HAIKU,
|
|
164
|
+
"anthropic/claude-haiku-4.5": PRICING_CLAUDE_HAIKU45,
|
|
165
|
+
"anthropic/claude-opus-4": PRICING_CLAUDE_OPUS,
|
|
166
|
+
"anthropic/claude-opus-5": PRICING_CLAUDE_OPUS_45,
|
|
167
|
+
"anthropic/claude-fable-5": PRICING_CLAUDE_FABLE,
|
|
168
|
+
"anthropic/claude-fable-5.1": PRICING_CLAUDE_FABLE51,
|
|
169
|
+
"opencode/claude-sonnet-4": PRICING_CLAUDE_SONNET,
|
|
170
|
+
"opencode/claude-sonnet-5": PRICING_CLAUDE_SONNET5,
|
|
171
|
+
"opencode/claude-haiku-4.5": PRICING_CLAUDE_HAIKU45,
|
|
172
|
+
"opencode/claude-opus-5": PRICING_CLAUDE_OPUS_45,
|
|
173
|
+
"opencode/claude-fable-5": PRICING_CLAUDE_FABLE,
|
|
174
|
+
"opencode/claude-fable-5.1": PRICING_CLAUDE_FABLE51,
|
|
175
|
+
"gemini-2.5-pro": PRICING_GEMINI_25_PRO,
|
|
176
|
+
"gemini-2.5-flash": PRICING_GEMINI_25_FLASH,
|
|
177
|
+
"gemini-2.5-flash-lite": PRICING_GEMINI_25_FLASH_LITE,
|
|
178
|
+
"gemini-2.0-flash": PRICING_GEMINI_20_FLASH,
|
|
179
|
+
"gemini-3-pro": PRICING_GEMINI_31_PRO,
|
|
180
|
+
"gemini-3.1-pro": PRICING_GEMINI_31_PRO,
|
|
181
|
+
"gemini-3.1-pro-preview": PRICING_GEMINI_31_PRO,
|
|
182
|
+
"gemini-3-flash": PRICING_GEMINI_36_FLASH,
|
|
183
|
+
"gemini-3.5-flash": PRICING_GEMINI_35_FLASH,
|
|
184
|
+
"gemini-3.5-flash-lite": PRICING_GEMINI_35_FLASH_LITE,
|
|
185
|
+
"gemini-3.6-flash": PRICING_GEMINI_36_FLASH,
|
|
186
|
+
"gemini-3.7-flash": PRICING_GEMINI_37_FLASH,
|
|
187
|
+
"gemini-3.1-flash-lite": PRICING_GEMINI_31_FLASH_LITE,
|
|
188
|
+
"gemini-1.5-pro": PRICING_GEMINI_15_PRO,
|
|
189
|
+
"google/gemini-2.5-pro": PRICING_GEMINI_25_PRO,
|
|
190
|
+
"opencode/gemini-2.5-pro": PRICING_GEMINI_25_PRO,
|
|
191
|
+
"opencode/gemini-3.1-pro": PRICING_GEMINI_31_PRO,
|
|
192
|
+
"opencode/gemini-3.5-flash": PRICING_GEMINI_35_FLASH,
|
|
193
|
+
"opencode/gemini-3.7-flash": PRICING_GEMINI_37_FLASH,
|
|
194
|
+
// Go models (opencode-go/*)
|
|
195
|
+
"opencode-go/kimi-k2.5": PRICING_ZEN_KIMI_K2_5,
|
|
196
|
+
"opencode-go/kimi-k3": PRICING_ZEN_KIMI_K3,
|
|
197
|
+
"opencode-go/qwen3.7-max": PRICING_ZEN_QWEN_37_MAX,
|
|
198
|
+
"opencode-go/qwen3.8-max": PRICING_ZEN_QWEN_37_MAX,
|
|
199
|
+
"opencode-go/deepseek-v4-pro": PRICING_ZEN_DEEPSEEK_V4_PRO,
|
|
200
|
+
"opencode-go/deepseek-v4-flash": PRICING_ZEN_DEEPSEEK_V4_FLASH,
|
|
201
|
+
"opencode-go/minimax-m2.5": PRICING_ZEN_MINIMAX_M25,
|
|
202
|
+
"opencode-go/minimax-m3": PRICING_ZEN_MINIMAX_M3,
|
|
203
|
+
"opencode-go/mimo-v2.5": PRICING_ZEN_MIMO,
|
|
204
|
+
"opencode-go/muse-spark-1.2": PRICING_ZEN_MUSE_SPARK,
|
|
205
|
+
"opencode/go/kimi-k2.5": PRICING_ZEN_KIMI_K2_5,
|
|
206
|
+
// Zen open models (opencode/*)
|
|
207
|
+
"opencode/minimax-m2.5": PRICING_ZEN_MINIMAX_M25,
|
|
208
|
+
"opencode/minimax-m3": PRICING_ZEN_MINIMAX_M3,
|
|
209
|
+
"opencode/glm-5": PRICING_ZEN_GLM5,
|
|
210
|
+
"opencode/glm-5.1": PRICING_ZEN_GLM51,
|
|
211
|
+
"opencode/glm-5.2": PRICING_ZEN_GLM52,
|
|
212
|
+
"opencode/glm-5.3": PRICING_ZEN_GLM52,
|
|
213
|
+
"opencode/kimi-k2.5": PRICING_ZEN_KIMI_K2_5,
|
|
214
|
+
"opencode/kimi-k3": PRICING_ZEN_KIMI_K3,
|
|
215
|
+
"opencode/kimi-k2.6": PRICING_ZEN_KIMI_K3,
|
|
216
|
+
"opencode/qwen3.7-max": PRICING_ZEN_QWEN_37_MAX,
|
|
217
|
+
"opencode/qwen3.8-max": PRICING_ZEN_QWEN_37_MAX,
|
|
218
|
+
"opencode/deepseek-v4-pro": PRICING_ZEN_DEEPSEEK_V4_PRO,
|
|
219
|
+
"opencode/deepseek-v4-flash": PRICING_ZEN_DEEPSEEK_V4_FLASH,
|
|
220
|
+
"opencode/mimo-v2.5": PRICING_ZEN_MIMO,
|
|
221
|
+
"opencode/muse-spark-1.2": PRICING_ZEN_MUSE_SPARK,
|
|
222
|
+
"opencode/qwen3.7-plus": PRICING_ZEN_QWEN_37_MAX,
|
|
223
|
+
// Provider-level aliases
|
|
224
|
+
"openai": PRICING_GPT5,
|
|
225
|
+
"anthropic": PRICING_CLAUDE_SONNET5,
|
|
226
|
+
"google": PRICING_GEMINI_25_PRO,
|
|
227
|
+
"opencode": PRICING_ZEN_GPT5,
|
|
228
|
+
"codex": PRICING_GPT5,
|
|
229
|
+
"antigravity": PRICING_GEMINI_25_PRO,
|
|
230
|
+
};
|
|
231
|
+
function stripPricingSuffix(value) {
|
|
232
|
+
return value.replace(/-(high|medium|low|agent)$/i, "");
|
|
233
|
+
}
|
|
234
|
+
function normalizeForLookup(value) {
|
|
235
|
+
const lower = value.toLowerCase().trim();
|
|
236
|
+
const stripped = stripPricingSuffix(lower);
|
|
237
|
+
return stripped;
|
|
238
|
+
}
|
|
239
|
+
export function pricingForModel(model) {
|
|
240
|
+
if (typeof model !== "string" || model.trim().length === 0)
|
|
241
|
+
return undefined;
|
|
242
|
+
const normalized = normalizeForLookup(model);
|
|
243
|
+
const direct = EXACT_PRICING[normalized];
|
|
244
|
+
if (direct !== undefined)
|
|
245
|
+
return direct;
|
|
246
|
+
const withoutProvider = normalized.includes("/") ? normalized.split("/").pop() : normalized;
|
|
247
|
+
const withoutProviderExact = EXACT_PRICING[withoutProvider];
|
|
248
|
+
if (withoutProviderExact !== undefined)
|
|
249
|
+
return withoutProviderExact;
|
|
250
|
+
const base = withoutProvider.split("-20")[0] ?? withoutProvider;
|
|
251
|
+
if (EXACT_PRICING[base] !== undefined)
|
|
252
|
+
return EXACT_PRICING[base];
|
|
253
|
+
const m = normalized;
|
|
254
|
+
if (m.includes("gpt-5.6")) {
|
|
255
|
+
if (m.includes("luna"))
|
|
256
|
+
return PRICING_GPT56_LUNA;
|
|
257
|
+
if (m.includes("terra"))
|
|
258
|
+
return PRICING_GPT56_TERRA;
|
|
259
|
+
if (m.includes("sol"))
|
|
260
|
+
return PRICING_GPT56_SOL;
|
|
261
|
+
if (m.includes("nano"))
|
|
262
|
+
return PRICING_GPT54_NANO;
|
|
263
|
+
if (m.includes("mini"))
|
|
264
|
+
return PRICING_GPT54_MINI;
|
|
265
|
+
return PRICING_GPT56_SOL;
|
|
266
|
+
}
|
|
267
|
+
if (m.includes("gpt-5.5")) {
|
|
268
|
+
if (m.includes("pro"))
|
|
269
|
+
return PRICING_GPT55_PRO;
|
|
270
|
+
return PRICING_GPT55;
|
|
271
|
+
}
|
|
272
|
+
if (m.includes("gpt-5.4")) {
|
|
273
|
+
if (m.includes("nano"))
|
|
274
|
+
return PRICING_GPT54_NANO;
|
|
275
|
+
if (m.includes("mini"))
|
|
276
|
+
return PRICING_GPT54_MINI;
|
|
277
|
+
return PRICING_GPT54;
|
|
278
|
+
}
|
|
279
|
+
if (m.includes("gpt-5.3") || m.includes("gpt-5.2")) {
|
|
280
|
+
if (m.includes("pro"))
|
|
281
|
+
return PRICING_GPT52;
|
|
282
|
+
return PRICING_GPT52;
|
|
283
|
+
}
|
|
284
|
+
if (m.includes("gpt-5.1"))
|
|
285
|
+
return PRICING_GPT51;
|
|
286
|
+
if (m.includes("gpt-5")) {
|
|
287
|
+
if (m.includes("nano"))
|
|
288
|
+
return PRICING_GPT5_NANO;
|
|
289
|
+
if (m.includes("mini"))
|
|
290
|
+
return PRICING_GPT5_MINI;
|
|
291
|
+
return PRICING_GPT5;
|
|
292
|
+
}
|
|
293
|
+
if (m.includes("gpt-4o-mini"))
|
|
294
|
+
return PRICING_GPT4O_MINI;
|
|
295
|
+
if (m.includes("gpt-4o"))
|
|
296
|
+
return PRICING_GPT4O;
|
|
297
|
+
if (m.includes("gpt-4.1-nano"))
|
|
298
|
+
return PRICING_GPT41_NANO;
|
|
299
|
+
if (m.includes("gpt-4.1-mini"))
|
|
300
|
+
return PRICING_GPT41_MINI;
|
|
301
|
+
if (m.includes("gpt-4.1"))
|
|
302
|
+
return PRICING_GPT41;
|
|
303
|
+
if (m.includes("o4-mini"))
|
|
304
|
+
return PRICING_O4_MINI;
|
|
305
|
+
if (m.includes("o3-mini"))
|
|
306
|
+
return PRICING_O3_MINI;
|
|
307
|
+
if (m.includes("o3"))
|
|
308
|
+
return PRICING_O3;
|
|
309
|
+
if (m.includes("o1-mini"))
|
|
310
|
+
return PRICING_O1_MINI;
|
|
311
|
+
if (m.includes("o1"))
|
|
312
|
+
return PRICING_O1;
|
|
313
|
+
if (m.includes("fable")) {
|
|
314
|
+
if (m.includes("5.1"))
|
|
315
|
+
return PRICING_CLAUDE_FABLE51;
|
|
316
|
+
return PRICING_CLAUDE_FABLE;
|
|
317
|
+
}
|
|
318
|
+
if (m.includes("claude")) {
|
|
319
|
+
if (m.includes("opus")) {
|
|
320
|
+
if (m.includes("4.1"))
|
|
321
|
+
return PRICING_CLAUDE_OPUS;
|
|
322
|
+
return PRICING_CLAUDE_OPUS_45;
|
|
323
|
+
}
|
|
324
|
+
if (m.includes("haiku")) {
|
|
325
|
+
if (m.includes("4.5"))
|
|
326
|
+
return PRICING_CLAUDE_HAIKU45;
|
|
327
|
+
return PRICING_CLAUDE_HAIKU;
|
|
328
|
+
}
|
|
329
|
+
if (m.includes("sonnet")) {
|
|
330
|
+
if (m.includes("5"))
|
|
331
|
+
return PRICING_CLAUDE_SONNET5;
|
|
332
|
+
return PRICING_CLAUDE_SONNET;
|
|
333
|
+
}
|
|
334
|
+
return PRICING_CLAUDE_SONNET5;
|
|
335
|
+
}
|
|
336
|
+
if (m.includes("minimax"))
|
|
337
|
+
return PRICING_ZEN_MINIMAX_M25;
|
|
338
|
+
if (m.includes("glm-5"))
|
|
339
|
+
return PRICING_ZEN_GLM5;
|
|
340
|
+
if (m.includes("glm"))
|
|
341
|
+
return PRICING_ZEN_GLM52;
|
|
342
|
+
if (m.includes("kimi")) {
|
|
343
|
+
if (m.includes("k3"))
|
|
344
|
+
return PRICING_ZEN_KIMI_K3;
|
|
345
|
+
return PRICING_ZEN_KIMI_K2_5;
|
|
346
|
+
}
|
|
347
|
+
if (m.includes("qwen")) {
|
|
348
|
+
if (m.includes("3.8") || m.includes("3.7"))
|
|
349
|
+
return PRICING_ZEN_QWEN_37_MAX;
|
|
350
|
+
return PRICING_ZEN_QWEN_37_MAX;
|
|
351
|
+
}
|
|
352
|
+
if (m.includes("deepseek")) {
|
|
353
|
+
if (m.includes("flash"))
|
|
354
|
+
return PRICING_ZEN_DEEPSEEK_V4_FLASH;
|
|
355
|
+
return PRICING_ZEN_DEEPSEEK_V4_PRO;
|
|
356
|
+
}
|
|
357
|
+
if (m.includes("mimo"))
|
|
358
|
+
return PRICING_ZEN_MIMO;
|
|
359
|
+
if (m.includes("muse") && m.includes("spark"))
|
|
360
|
+
return PRICING_ZEN_MUSE_SPARK;
|
|
361
|
+
if (m.includes("gemini")) {
|
|
362
|
+
if (m.includes("3.7"))
|
|
363
|
+
return PRICING_GEMINI_37_FLASH;
|
|
364
|
+
if (m.includes("3.6"))
|
|
365
|
+
return PRICING_GEMINI_36_FLASH;
|
|
366
|
+
if (m.includes("3.5")) {
|
|
367
|
+
if (m.includes("lite"))
|
|
368
|
+
return PRICING_GEMINI_35_FLASH_LITE;
|
|
369
|
+
return PRICING_GEMINI_35_FLASH;
|
|
370
|
+
}
|
|
371
|
+
if (m.includes("3.1")) {
|
|
372
|
+
if (m.includes("lite"))
|
|
373
|
+
return PRICING_GEMINI_31_FLASH_LITE;
|
|
374
|
+
if (m.includes("pro"))
|
|
375
|
+
return PRICING_GEMINI_31_PRO;
|
|
376
|
+
return PRICING_GEMINI_31_PRO;
|
|
377
|
+
}
|
|
378
|
+
if (m.includes("flash")) {
|
|
379
|
+
if (m.includes("lite")) {
|
|
380
|
+
if (m.includes("2.5"))
|
|
381
|
+
return PRICING_GEMINI_25_FLASH_LITE;
|
|
382
|
+
if (m.includes("2.0") || m.includes("2-0"))
|
|
383
|
+
return PRICING_GEMINI_20_FLASH;
|
|
384
|
+
return PRICING_GEMINI_25_FLASH_LITE;
|
|
385
|
+
}
|
|
386
|
+
if (m.includes("2.0") || m.includes("2-0"))
|
|
387
|
+
return PRICING_GEMINI_20_FLASH;
|
|
388
|
+
if (m.includes("3"))
|
|
389
|
+
return PRICING_GEMINI_36_FLASH;
|
|
390
|
+
return PRICING_GEMINI_25_FLASH;
|
|
391
|
+
}
|
|
392
|
+
if (m.includes("pro")) {
|
|
393
|
+
if (m.includes("3"))
|
|
394
|
+
return PRICING_GEMINI_31_PRO;
|
|
395
|
+
if (m.includes("2.5") || m.includes("2-5"))
|
|
396
|
+
return PRICING_GEMINI_25_PRO;
|
|
397
|
+
return PRICING_GEMINI_15_PRO;
|
|
398
|
+
}
|
|
399
|
+
return PRICING_GEMINI_25_FLASH;
|
|
400
|
+
}
|
|
401
|
+
return undefined;
|
|
402
|
+
}
|
|
403
|
+
export function costForTokens(totals, pricing) {
|
|
404
|
+
const inputCost = (totals.input * pricing.input) / 1_000_000;
|
|
405
|
+
const outputCost = (totals.output * pricing.output) / 1_000_000;
|
|
406
|
+
const reasoningCost = (totals.reasoning * pricing.reasoning) / 1_000_000;
|
|
407
|
+
const cacheReadCost = (totals.cacheRead * pricing.cacheRead) / 1_000_000;
|
|
408
|
+
const cacheWriteCost = (totals.cacheWrite * pricing.cacheWrite) / 1_000_000;
|
|
409
|
+
const total = inputCost + outputCost + reasoningCost + cacheReadCost + cacheWriteCost;
|
|
410
|
+
return Math.round(total * 1_000_000) / 1_000_000;
|
|
411
|
+
}
|
|
412
|
+
export function estimatedCost(totals, model) {
|
|
413
|
+
const pricing = pricingForModel(model);
|
|
414
|
+
if (pricing === undefined)
|
|
415
|
+
return undefined;
|
|
416
|
+
return costForTokens(totals, pricing);
|
|
417
|
+
}
|
|
418
|
+
export function estimatedCostForBreakdowns(breakdowns, strict = true) {
|
|
419
|
+
let total = 0;
|
|
420
|
+
for (const item of breakdowns) {
|
|
421
|
+
const pricing = pricingForModel(item.name);
|
|
422
|
+
if (pricing === undefined) {
|
|
423
|
+
if (strict)
|
|
424
|
+
return undefined;
|
|
425
|
+
continue;
|
|
426
|
+
}
|
|
427
|
+
total += costForTokens(item.totals, pricing);
|
|
428
|
+
}
|
|
429
|
+
return Math.round(total * 1_000_000) / 1_000_000;
|
|
430
|
+
}
|
|
431
|
+
export function estimatedCostForBreakdownsPartial(breakdowns) {
|
|
432
|
+
let total = 0;
|
|
433
|
+
for (const item of breakdowns) {
|
|
434
|
+
const pricing = pricingForModel(item.name);
|
|
435
|
+
if (pricing === undefined)
|
|
436
|
+
continue;
|
|
437
|
+
total += costForTokens(item.totals, pricing);
|
|
438
|
+
}
|
|
439
|
+
return Math.round(total * 1_000_000) / 1_000_000;
|
|
440
|
+
}
|
|
441
|
+
//# sourceMappingURL=pricing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pricing.js","sourceRoot":"","sources":["../../../src/pricing/pricing.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "oc2token",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "A macOS-first OpenCode 2 token usage dashboard CLI",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"bin": {
|
|
7
|
+
"oc2token": "dist/src/cli.js"
|
|
8
|
+
},
|
|
9
|
+
"files": ["dist/src", "README.md", "LICENSE"],
|
|
10
|
+
"engines": {"node": ">=20"},
|
|
11
|
+
"scripts": {
|
|
12
|
+
"build": "tsc -p tsconfig.json",
|
|
13
|
+
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
14
|
+
"test": "npm run build && node --test $(find dist/test -name '*.test.js' -print)",
|
|
15
|
+
"pack:check": "npm run build && npm pack --dry-run"
|
|
16
|
+
},
|
|
17
|
+
"keywords": ["opencode", "tokens", "terminal", "tui"],
|
|
18
|
+
"license": "MIT",
|
|
19
|
+
"publishConfig": {"access": "public"},
|
|
20
|
+
"dependencies": {
|
|
21
|
+
"@opencode-ai/client": "0.0.0-beta-18866"
|
|
22
|
+
},
|
|
23
|
+
"devDependencies": {
|
|
24
|
+
"@types/node": "^22.0.0",
|
|
25
|
+
"typescript": "^5.7.0"
|
|
26
|
+
}
|
|
27
|
+
}
|