projectstore-claude 0.30.13 โ 0.30.14
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.
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"name": "projectstore",
|
|
13
13
|
"displayName": "projectstore",
|
|
14
14
|
"description": "๐ Your agent runs the project through a verified loop: task โ artifact (ADR ยท spec ยท epic ยท story) โ adversarial critic โ backlog โ planner โ reviewer โ done. Plain markdown in an Obsidian-friendly vault, every write approved by you โ and any model can pick the project up tomorrow.",
|
|
15
|
-
"version": "0.30.
|
|
15
|
+
"version": "0.30.14",
|
|
16
16
|
"author": {
|
|
17
17
|
"name": "Evgenii Konev",
|
|
18
18
|
"email": "ekonev@smartandpoint.com",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "projectstore",
|
|
3
3
|
"displayName": "projectstore",
|
|
4
|
-
"version": "0.30.
|
|
4
|
+
"version": "0.30.14",
|
|
5
5
|
"description": "Your agent runs the project through a verified loop: task โ artifact (ADR / spec / epic / story) โ adversarial critic โ backlog โ planner โ reviewer โ done. Plain markdown in git โ any model can pick the project up tomorrow.",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "Evgenii Konev @ SmartAndPoint",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "projectstore",
|
|
3
|
-
"version": "0.30.
|
|
3
|
+
"version": "0.30.14",
|
|
4
4
|
"description": "Your agent runs the project through a verified loop: task โ artifact (ADR / spec / epic / story) โ adversarial critic โ backlog โ planner โ reviewer โ done. Plain markdown in git โ any model can pick the project up tomorrow.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"project-management",
|
|
@@ -24,9 +24,10 @@
|
|
|
24
24
|
// false "1 call/turn" for every turn (each record holds โค1 tool_use).
|
|
25
25
|
//
|
|
26
26
|
// COST is computed at current API list prices (PRICING below) with the cache
|
|
27
|
-
// multipliers: read 0.1ร input
|
|
28
|
-
// carry the 5m/1h split). Under
|
|
29
|
-
//
|
|
27
|
+
// multipliers: read 0.1ร input unless the model has its own read rate, 5m
|
|
28
|
+
// write 1.25ร, 1h write 2ร (the usage records carry the 5m/1h split). Under
|
|
29
|
+
// a subscription plan these dollars are a proxy for rate-limit consumption,
|
|
30
|
+
// not an invoice โ the RATIOS hold either way.
|
|
30
31
|
// Historical price changes are not modeled; everything is priced at today's
|
|
31
32
|
// list. Unknown models are priced at 0 and reported.
|
|
32
33
|
//
|
|
@@ -94,28 +95,36 @@ const STAGE_OF = {
|
|
|
94
95
|
};
|
|
95
96
|
const STAGE_ORDER = ["authoring", "critique", "planning", "code-review", "curation", "upkeep", "other"];
|
|
96
97
|
|
|
97
|
-
// USD per MTok [input, output], API list prices as of 2026-
|
|
98
|
-
// (platform.claude.com pricing docs).
|
|
99
|
-
//
|
|
98
|
+
// USD per MTok [input, output, cache read?], API list prices as of 2026-11-10
|
|
99
|
+
// (platform.claude.com pricing docs). The third value is the cache-read rate
|
|
100
|
+
// where it is not 0.1ร input (Fable 5.1 and 5.2: 0.025ร; Opus 5.5 and
|
|
101
|
+
// Sonnet 5.5: 0.05ร); writes stay 1.25ร / 2ร input. The `--json` output
|
|
102
|
+
// carries these arrays as they are, with two or three values.
|
|
100
103
|
export const PRICING = {
|
|
101
|
-
"claude-fable-5-
|
|
104
|
+
"claude-fable-5-2": [8, 40, 0.2],
|
|
105
|
+
"claude-fable-5-1": [10, 50, 0.25],
|
|
102
106
|
"claude-fable-5": [10, 50],
|
|
107
|
+
"claude-opus-5-5": [4, 20, 0.2],
|
|
103
108
|
"claude-opus-5": [5, 25],
|
|
104
109
|
"claude-opus-4-8": [5, 25],
|
|
105
110
|
"claude-opus-4-7": [5, 25],
|
|
106
|
-
"claude-sonnet-5": [2, 10
|
|
111
|
+
"claude-sonnet-5-5": [2, 10, 0.1],
|
|
112
|
+
"claude-sonnet-5": [2, 10],
|
|
107
113
|
"claude-sonnet-4-6": [3, 15],
|
|
114
|
+
// reads at the default 0.1ร ($0.01); prompts up to 100K, beyond [0.5, 2.5] (not modeled)
|
|
115
|
+
"claude-haiku-5-5": [0.1, 0.5],
|
|
108
116
|
"claude-haiku-4-5": [1, 5],
|
|
109
117
|
};
|
|
110
118
|
|
|
111
119
|
// Transcripts carry variant ids ("claude-haiku-4-5-20251001", "opus",
|
|
112
120
|
// "claude-opus-5[1m]") โ normalize before the PRICING lookup so they don't
|
|
113
|
-
// silently price at $0.
|
|
121
|
+
// silently price at $0. A bare alias names the newest model of its line, so
|
|
122
|
+
// an old record written as "haiku" prices at today's Haiku, not the one that ran.
|
|
114
123
|
const MODEL_ALIASES = {
|
|
115
|
-
fable: "claude-fable-5-
|
|
116
|
-
opus: "claude-opus-5",
|
|
117
|
-
sonnet: "claude-sonnet-5",
|
|
118
|
-
haiku: "claude-haiku-
|
|
124
|
+
fable: "claude-fable-5-2",
|
|
125
|
+
opus: "claude-opus-5-5",
|
|
126
|
+
sonnet: "claude-sonnet-5-5",
|
|
127
|
+
haiku: "claude-haiku-5-5",
|
|
119
128
|
};
|
|
120
129
|
|
|
121
130
|
export function normModel(model) {
|
|
@@ -126,9 +135,9 @@ export function normModel(model) {
|
|
|
126
135
|
export function rowCost(row) {
|
|
127
136
|
const p = PRICING[normModel(row.model)];
|
|
128
137
|
if (!p) return 0;
|
|
129
|
-
const [inP, outP] = p;
|
|
138
|
+
const [inP, outP, readP = 0.1 * inP] = p;
|
|
130
139
|
return (
|
|
131
|
-
(row.input * inP + row.cw5m * 1.25 * inP + row.cw1h * 2 * inP + row.cacheRead *
|
|
140
|
+
(row.input * inP + row.cw5m * 1.25 * inP + row.cw1h * 2 * inP + row.cacheRead * readP + row.output * outP) / 1e6
|
|
132
141
|
);
|
|
133
142
|
}
|
|
134
143
|
|
|
@@ -359,7 +368,7 @@ const n = (v) => v.toLocaleString("en-US");
|
|
|
359
368
|
|
|
360
369
|
// `t/turn` โ avg distinct tool calls per tool-using turn (batching level; 1.0
|
|
361
370
|
// means fully sequential). `cost` โ USD at current list prices; cache reads
|
|
362
|
-
// bill at
|
|
371
|
+
// bill at a small fraction of input, so token counts and dollars rank differently.
|
|
363
372
|
const usd = (v) => `$${v.toFixed(2)}`;
|
|
364
373
|
|
|
365
374
|
function table(groups, label, { runs = false } = {}) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "projectstore-claude",
|
|
3
|
-
"version": "0.30.
|
|
3
|
+
"version": "0.30.14",
|
|
4
4
|
"description": "projectstore for Claude Code: the core pinned and bundled, the harness fixed. A release artifact; the way in is npx projectstore setup",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"projectstore",
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
"README.md"
|
|
38
38
|
],
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"projectstore": "=0.30.
|
|
40
|
+
"projectstore": "=0.30.14"
|
|
41
41
|
},
|
|
42
42
|
"bundleDependencies": [
|
|
43
43
|
"projectstore"
|