@tech-leads-club/harness-toolkit 0.2.4 → 0.3.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.
Files changed (50) hide show
  1. package/README.md +22 -26
  2. package/bin/tlc-build.mjs +93 -0
  3. package/bin/tlc-cli.ts +110 -66
  4. package/bin/tlc-exec.mjs +16 -13
  5. package/dist/compact-before.mjs +66 -8
  6. package/dist/doctor.mjs +178 -41
  7. package/dist/help-topic.mjs +0 -0
  8. package/dist/init-project.mjs +2 -7
  9. package/dist/install-runtime.mjs +100 -17
  10. package/dist/lessons-cli.mjs +67 -1
  11. package/dist/obs-cli.mjs +64 -1
  12. package/dist/price-lookup.mjs +45 -23
  13. package/dist/prompt-submit.mjs +66 -8
  14. package/dist/refresh-model-prices.mjs +7190 -46
  15. package/dist/response-after.mjs +66 -8
  16. package/dist/run.mjs +66 -8
  17. package/dist/session-end.mjs +66 -8
  18. package/dist/session-start.mjs +66 -8
  19. package/dist/shim.mjs +66 -3
  20. package/dist/stop.mjs +66 -8
  21. package/dist/subagent-start.mjs +66 -8
  22. package/dist/subagent-stop.mjs +66 -8
  23. package/dist/support.mjs +64 -1
  24. package/dist/tlc-cli.mjs +193 -87
  25. package/dist/tool-after.mjs +111 -31
  26. package/dist/tool-before.mjs +66 -8
  27. package/dist/tool-failure.mjs +66 -8
  28. package/dist/uninstall-runtime.mjs +9 -10
  29. package/docs/log.md +2 -0
  30. package/docs/measure.md +35 -31
  31. package/package.json +4 -4
  32. package/src/core/core.facade.ts +7 -0
  33. package/src/core/index.ts +1 -0
  34. package/src/core/pricing/pricing.freshness.ts +118 -0
  35. package/src/core/skill/skill.link.ts +14 -3
  36. package/src/entrypoints/shim.ts +8 -2
  37. package/src/platform/links.ts +73 -0
  38. package/src/platform/pricing.ts +139 -31
  39. package/src/providers/cursor/cursor.wiring.ts +11 -8
  40. package/tools/doctor.ts +78 -8
  41. package/tools/init-project.ts +7 -7
  42. package/tools/install-runtime.ts +89 -6
  43. package/tools/refresh-model-prices.ts +242 -75
  44. package/tools/uninstall-runtime.ts +23 -19
  45. package/bin/tlc-build +0 -80
  46. package/bin/tlc-exec +0 -10
  47. package/bin/tlc-exec.cmd +0 -4
  48. package/model-aliases.json +0 -12
  49. package/model-prices.cursor.json +0 -410
  50. package/model-prices.json +0 -1
@@ -1,12 +0,0 @@
1
- {
2
- "composer-2.5": "composer-2.5",
3
- "cursor-grok-4.5-high": "grok-4.5",
4
- "cursor-grok-4.5": "grok-4.5",
5
- "glm-5.2-high": "glm-5.2",
6
- "glm-5.2": "glm-5.2",
7
- "kimi-k2.7-code": "kimi-k2.7-code",
8
- "gpt-5.3-codex-high": "gpt-5.3-codex",
9
- "gpt-5.3-codex": "gpt-5.3-codex",
10
- "auto": "auto-cost",
11
- "auto-cost": "auto-cost"
12
- }
@@ -1,410 +0,0 @@
1
- {
2
- "_meta": {
3
- "source": "https://cursor.com/docs/models-and-pricing.md",
4
- "refreshedAt": "2026-07-27T14:51:17.065Z"
5
- },
6
- "auto-cost": {
7
- "displayName": "Auto Cost",
8
- "provider": "Cursor",
9
- "promptPer1M": 1.25,
10
- "completionPer1M": 6,
11
- "cacheWritePer1M": 1.25,
12
- "cacheReadPer1M": 0.25,
13
- "pool": "auto",
14
- "billing": "metered"
15
- },
16
- "claude-4-sonnet": {
17
- "displayName": "Claude 4 Sonnet",
18
- "provider": "Anthropic",
19
- "promptPer1M": 3,
20
- "completionPer1M": 15,
21
- "cacheWritePer1M": 3.75,
22
- "cacheReadPer1M": 0.3,
23
- "pool": "other_models",
24
- "billing": "metered"
25
- },
26
- "claude-4-sonnet-1m": {
27
- "displayName": "Claude 4 Sonnet 1M",
28
- "provider": "Anthropic",
29
- "promptPer1M": 6,
30
- "completionPer1M": 22.5,
31
- "cacheWritePer1M": 7.5,
32
- "cacheReadPer1M": 0.6,
33
- "pool": "other_models",
34
- "billing": "metered"
35
- },
36
- "claude-4.5-haiku": {
37
- "displayName": "Claude 4.5 Haiku",
38
- "provider": "Anthropic",
39
- "promptPer1M": 1,
40
- "completionPer1M": 5,
41
- "cacheWritePer1M": 1.25,
42
- "cacheReadPer1M": 0.1,
43
- "pool": "other_models",
44
- "billing": "metered"
45
- },
46
- "claude-4.5-opus": {
47
- "displayName": "Claude 4.5 Opus",
48
- "provider": "Anthropic",
49
- "promptPer1M": 5,
50
- "completionPer1M": 25,
51
- "cacheWritePer1M": 6.25,
52
- "cacheReadPer1M": 0.5,
53
- "pool": "other_models",
54
- "billing": "metered"
55
- },
56
- "claude-4.5-sonnet": {
57
- "displayName": "Claude 4.5 Sonnet",
58
- "provider": "Anthropic",
59
- "promptPer1M": 3,
60
- "completionPer1M": 15,
61
- "cacheWritePer1M": 3.75,
62
- "cacheReadPer1M": 0.3,
63
- "pool": "other_models",
64
- "billing": "metered"
65
- },
66
- "claude-4.6-opus": {
67
- "displayName": "Claude 4.6 Opus",
68
- "provider": "Anthropic",
69
- "promptPer1M": 5,
70
- "completionPer1M": 25,
71
- "cacheWritePer1M": 6.25,
72
- "cacheReadPer1M": 0.5,
73
- "pool": "other_models",
74
- "billing": "metered"
75
- },
76
- "claude-4.6-sonnet": {
77
- "displayName": "Claude 4.6 Sonnet",
78
- "provider": "Anthropic",
79
- "promptPer1M": 3,
80
- "completionPer1M": 15,
81
- "cacheWritePer1M": 3.75,
82
- "cacheReadPer1M": 0.3,
83
- "pool": "other_models",
84
- "billing": "metered"
85
- },
86
- "claude-4.7-opus": {
87
- "displayName": "Claude 4.7 Opus",
88
- "provider": "Anthropic",
89
- "promptPer1M": 5,
90
- "completionPer1M": 25,
91
- "cacheWritePer1M": 6.25,
92
- "cacheReadPer1M": 0.5,
93
- "pool": "other_models",
94
- "billing": "metered"
95
- },
96
- "claude-fable-5": {
97
- "displayName": "Claude Fable 5",
98
- "provider": "Anthropic",
99
- "promptPer1M": 10,
100
- "completionPer1M": 50,
101
- "cacheWritePer1M": 12.5,
102
- "cacheReadPer1M": 1,
103
- "pool": "other_models",
104
- "billing": "metered"
105
- },
106
- "claude-opus-4.7": {
107
- "displayName": "Claude Opus 4.7 (fast mode)",
108
- "provider": "Anthropic",
109
- "promptPer1M": 30,
110
- "completionPer1M": 150,
111
- "cacheWritePer1M": 37.5,
112
- "cacheReadPer1M": 3,
113
- "pool": "other_models",
114
- "billing": "metered"
115
- },
116
- "claude-opus-4.8": {
117
- "displayName": "Claude Opus 4.8",
118
- "provider": "Anthropic",
119
- "promptPer1M": 5,
120
- "completionPer1M": 25,
121
- "cacheWritePer1M": 6.25,
122
- "cacheReadPer1M": 0.5,
123
- "pool": "other_models",
124
- "billing": "metered"
125
- },
126
- "claude-opus-5": {
127
- "displayName": "Claude Opus 5",
128
- "provider": "Anthropic",
129
- "promptPer1M": 5,
130
- "completionPer1M": 25,
131
- "cacheWritePer1M": 6.25,
132
- "cacheReadPer1M": 0.5,
133
- "pool": "other_models",
134
- "billing": "metered"
135
- },
136
- "claude-sonnet-5": {
137
- "displayName": "Claude Sonnet 5",
138
- "provider": "Anthropic",
139
- "promptPer1M": 3,
140
- "completionPer1M": 15,
141
- "cacheWritePer1M": 3.75,
142
- "cacheReadPer1M": 0.3,
143
- "pool": "other_models",
144
- "billing": "metered"
145
- },
146
- "composer-1": {
147
- "displayName": "Composer 1",
148
- "provider": "Cursor",
149
- "promptPer1M": 1.25,
150
- "completionPer1M": 10,
151
- "cacheReadPer1M": 0.125,
152
- "pool": "cursor_models",
153
- "billing": "metered"
154
- },
155
- "composer-2.5": {
156
- "displayName": "Composer 2.5",
157
- "provider": "Cursor",
158
- "promptPer1M": 0.5,
159
- "completionPer1M": 2.5,
160
- "cacheReadPer1M": 0.2,
161
- "pool": "cursor_models",
162
- "billing": "metered"
163
- },
164
- "gemini-2.5-flash": {
165
- "displayName": "Gemini 2.5 Flash",
166
- "provider": "Google",
167
- "promptPer1M": 0.3,
168
- "completionPer1M": 2.5,
169
- "cacheReadPer1M": 0.03,
170
- "pool": "other_models",
171
- "billing": "metered"
172
- },
173
- "gemini-3-flash": {
174
- "displayName": "Gemini 3 Flash",
175
- "provider": "Google",
176
- "promptPer1M": 0.5,
177
- "completionPer1M": 3,
178
- "cacheReadPer1M": 0.05,
179
- "pool": "other_models",
180
- "billing": "metered"
181
- },
182
- "gemini-3-pro": {
183
- "displayName": "Gemini 3 Pro",
184
- "provider": "Google",
185
- "promptPer1M": 2,
186
- "completionPer1M": 12,
187
- "cacheReadPer1M": 0.2,
188
- "pool": "other_models",
189
- "billing": "metered"
190
- },
191
- "gemini-3-pro-image-preview": {
192
- "displayName": "Gemini 3 Pro Image Preview",
193
- "provider": "Google",
194
- "promptPer1M": 2,
195
- "completionPer1M": 12,
196
- "cacheReadPer1M": 0.2,
197
- "pool": "other_models",
198
- "billing": "metered"
199
- },
200
- "gemini-3.1-pro": {
201
- "displayName": "Gemini 3.1 Pro",
202
- "provider": "Google",
203
- "promptPer1M": 2,
204
- "completionPer1M": 12,
205
- "cacheReadPer1M": 0.2,
206
- "pool": "other_models",
207
- "billing": "metered"
208
- },
209
- "gemini-3.5-flash": {
210
- "displayName": "Gemini 3.5 Flash",
211
- "provider": "Google",
212
- "promptPer1M": 1.5,
213
- "completionPer1M": 9,
214
- "cacheReadPer1M": 0.15,
215
- "pool": "other_models",
216
- "billing": "metered"
217
- },
218
- "gemini-3.6-flash": {
219
- "displayName": "Gemini 3.6 Flash",
220
- "provider": "Google",
221
- "promptPer1M": 1.5,
222
- "completionPer1M": 7.5,
223
- "cacheReadPer1M": 0.15,
224
- "pool": "other_models",
225
- "billing": "metered"
226
- },
227
- "glm-5.2": {
228
- "displayName": "GLM 5.2",
229
- "provider": "Z.ai",
230
- "promptPer1M": 1.4,
231
- "completionPer1M": 4.4,
232
- "cacheReadPer1M": 0.26,
233
- "pool": "other_models",
234
- "billing": "metered"
235
- },
236
- "gpt-5": {
237
- "displayName": "GPT-5",
238
- "provider": "OpenAI",
239
- "promptPer1M": 1.25,
240
- "completionPer1M": 10,
241
- "cacheReadPer1M": 0.125,
242
- "pool": "other_models",
243
- "billing": "metered"
244
- },
245
- "gpt-5-fast": {
246
- "displayName": "GPT-5 Fast",
247
- "provider": "OpenAI",
248
- "promptPer1M": 2.5,
249
- "completionPer1M": 20,
250
- "cacheReadPer1M": 0.25,
251
- "pool": "other_models",
252
- "billing": "metered"
253
- },
254
- "gpt-5-mini": {
255
- "displayName": "GPT-5 Mini",
256
- "provider": "OpenAI",
257
- "promptPer1M": 0.25,
258
- "completionPer1M": 2,
259
- "cacheReadPer1M": 0.025,
260
- "pool": "other_models",
261
- "billing": "metered"
262
- },
263
- "gpt-5-codex": {
264
- "displayName": "GPT-5-Codex",
265
- "provider": "OpenAI",
266
- "promptPer1M": 1.25,
267
- "completionPer1M": 10,
268
- "cacheReadPer1M": 0.125,
269
- "pool": "other_models",
270
- "billing": "metered"
271
- },
272
- "gpt-5.1-codex": {
273
- "displayName": "GPT-5.1 Codex",
274
- "provider": "OpenAI",
275
- "promptPer1M": 1.25,
276
- "completionPer1M": 10,
277
- "cacheReadPer1M": 0.125,
278
- "pool": "other_models",
279
- "billing": "metered"
280
- },
281
- "gpt-5.1-codex-max": {
282
- "displayName": "GPT-5.1 Codex Max",
283
- "provider": "OpenAI",
284
- "promptPer1M": 1.25,
285
- "completionPer1M": 10,
286
- "cacheReadPer1M": 0.125,
287
- "pool": "other_models",
288
- "billing": "metered"
289
- },
290
- "gpt-5.1-codex-mini": {
291
- "displayName": "GPT-5.1 Codex Mini",
292
- "provider": "OpenAI",
293
- "promptPer1M": 0.25,
294
- "completionPer1M": 2,
295
- "cacheReadPer1M": 0.025,
296
- "pool": "other_models",
297
- "billing": "metered"
298
- },
299
- "gpt-5.2": {
300
- "displayName": "GPT-5.2",
301
- "provider": "OpenAI",
302
- "promptPer1M": 1.75,
303
- "completionPer1M": 14,
304
- "cacheReadPer1M": 0.175,
305
- "pool": "other_models",
306
- "billing": "metered"
307
- },
308
- "gpt-5.2-codex": {
309
- "displayName": "GPT-5.2 Codex",
310
- "provider": "OpenAI",
311
- "promptPer1M": 1.75,
312
- "completionPer1M": 14,
313
- "cacheReadPer1M": 0.175,
314
- "pool": "other_models",
315
- "billing": "metered"
316
- },
317
- "gpt-5.3-codex": {
318
- "displayName": "GPT-5.3 Codex",
319
- "provider": "OpenAI",
320
- "promptPer1M": 1.75,
321
- "completionPer1M": 14,
322
- "cacheReadPer1M": 0.175,
323
- "pool": "other_models",
324
- "billing": "metered"
325
- },
326
- "gpt-5.4": {
327
- "displayName": "GPT-5.4",
328
- "provider": "OpenAI",
329
- "promptPer1M": 2.5,
330
- "completionPer1M": 15,
331
- "cacheReadPer1M": 0.25,
332
- "pool": "other_models",
333
- "billing": "metered"
334
- },
335
- "gpt-5.4-mini": {
336
- "displayName": "GPT-5.4 Mini",
337
- "provider": "OpenAI",
338
- "promptPer1M": 0.75,
339
- "completionPer1M": 4.5,
340
- "cacheReadPer1M": 0.075,
341
- "pool": "other_models",
342
- "billing": "metered"
343
- },
344
- "gpt-5.4-nano": {
345
- "displayName": "GPT-5.4 Nano",
346
- "provider": "OpenAI",
347
- "promptPer1M": 0.2,
348
- "completionPer1M": 1.25,
349
- "cacheReadPer1M": 0.02,
350
- "pool": "other_models",
351
- "billing": "metered"
352
- },
353
- "gpt-5.5": {
354
- "displayName": "GPT-5.5",
355
- "provider": "OpenAI",
356
- "promptPer1M": 5,
357
- "completionPer1M": 30,
358
- "cacheReadPer1M": 0.5,
359
- "pool": "other_models",
360
- "billing": "metered"
361
- },
362
- "gpt-5.6-luna": {
363
- "displayName": "GPT-5.6 Luna",
364
- "provider": "OpenAI",
365
- "promptPer1M": 1,
366
- "completionPer1M": 6,
367
- "cacheWritePer1M": 1.25,
368
- "cacheReadPer1M": 0.1,
369
- "pool": "other_models",
370
- "billing": "metered"
371
- },
372
- "gpt-5.6-sol": {
373
- "displayName": "GPT-5.6 Sol",
374
- "provider": "OpenAI",
375
- "promptPer1M": 5,
376
- "completionPer1M": 30,
377
- "cacheWritePer1M": 6.25,
378
- "cacheReadPer1M": 0.5,
379
- "pool": "other_models",
380
- "billing": "metered"
381
- },
382
- "gpt-5.6-terra": {
383
- "displayName": "GPT-5.6 Terra",
384
- "provider": "OpenAI",
385
- "promptPer1M": 2.5,
386
- "completionPer1M": 15,
387
- "cacheWritePer1M": 3.125,
388
- "cacheReadPer1M": 0.25,
389
- "pool": "other_models",
390
- "billing": "metered"
391
- },
392
- "grok-4.5": {
393
- "displayName": "Grok 4.5",
394
- "provider": "Cursor",
395
- "promptPer1M": 2,
396
- "completionPer1M": 6,
397
- "cacheReadPer1M": 0.5,
398
- "pool": "cursor_models",
399
- "billing": "metered"
400
- },
401
- "kimi-k2.7-code": {
402
- "displayName": "Kimi K2.7 Code",
403
- "provider": "Moonshot",
404
- "promptPer1M": 0.95,
405
- "completionPer1M": 4,
406
- "cacheReadPer1M": 0.19,
407
- "pool": "other_models",
408
- "billing": "metered"
409
- }
410
- }
package/model-prices.json DELETED
@@ -1 +0,0 @@
1
- {}