@botbotgo/better-call 0.1.2 → 0.1.4

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/README.md CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  # BetterCall
6
6
 
7
- **One-line wrapper. Three full BFCL remote runs completed. Best: 55.5% → 63.6%.**
7
+ **One-line wrapper. Five full BFCL remote runs completed. Best: 73.4% → 83.8%.**
8
8
 
9
9
  ```ts
10
10
  const tools = betterTools([searchTool, calculatorTool]);
@@ -123,28 +123,30 @@ Latest completed remote run artifact: `benchmarks/bfcl-real-remote-completed-sum
123
123
 
124
124
  | Model | Completed cases | Raw | BetterCall repair | Accuracy lift | Request errors |
125
125
  | --- | ---: | ---: | ---: | ---: | ---: |
126
+ | `granite4.1:3b` | 3,625 | 73.4% | 83.8% | +10.4pp | 25 |
126
127
  | `qwen3:0.6b` | 3,625 | 55.5% | 63.6% | +8.2pp | 217 |
127
128
  | `qwen3.5:0.8b` | 3,625 | 54.6% | 56.9% | +2.3pp | 901 |
129
+ | `qwen3.5:2b` | 3,625 | 53.9% | 54.9% | +1.0pp | 1,308 |
128
130
  | `lfm2.5-thinking:latest` | 3,625 | 50.8% | 54.8% | +4.0pp | 1,142 |
129
131
 
130
- Latest completed model category detail: `lfm2.5-thinking:latest`.
132
+ Latest completed model category detail: `granite4.1:3b`.
131
133
 
132
134
  | Category | Cases | Raw | BetterCall repair | Lift | Request errors |
133
135
  | --- | ---: | ---: | ---: | ---: | ---: |
134
- | `simple_python` | 400 | 72.5% | 72.5% | +0.0pp | 69 |
135
- | `simple_java` | 100 | 54.0% | 53.0% | -1.0pp | 11 |
136
- | `simple_javascript` | 50 | 60.0% | 58.0% | -2.0pp | 4 |
137
- | `multiple` | 200 | 59.5% | 59.0% | -0.5pp | 65 |
138
- | `parallel` | 200 | 57.0% | 57.0% | +0.0pp | 61 |
139
- | `parallel_multiple` | 200 | 26.5% | 26.5% | +0.0pp | 131 |
140
- | `irrelevance` | 240 | 29.2% | 36.7% | +7.5pp | 152 |
141
- | `live_simple` | 258 | 57.0% | 57.0% | +0.0pp | 52 |
142
- | `live_multiple` | 1,053 | 45.9% | 45.9% | +0.0pp | 302 |
143
- | `live_parallel` | 16 | 43.8% | 43.8% | +0.0pp | 2 |
144
- | `live_parallel_multiple` | 24 | 45.8% | 45.8% | +0.0pp | 2 |
145
- | `live_irrelevance` | 884 | 52.3% | 67.1% | +14.8pp | 291 |
146
-
147
- The strongest `lfm2.5-thinking:latest` category was `live_irrelevance`: 52.3% raw to 67.1% after BetterCall repair, a +14.8pp lift over 884 real remote cases.
136
+ | `simple_python` | 400 | 86.5% | 86.8% | +0.3pp | 18 |
137
+ | `simple_java` | 100 | 70.0% | 70.0% | +0.0pp | 0 |
138
+ | `simple_javascript` | 50 | 72.0% | 72.0% | +0.0pp | 0 |
139
+ | `multiple` | 200 | 90.5% | 90.5% | +0.0pp | 0 |
140
+ | `parallel` | 200 | 83.0% | 83.0% | +0.0pp | 0 |
141
+ | `parallel_multiple` | 200 | 78.5% | 78.5% | +0.0pp | 0 |
142
+ | `irrelevance` | 240 | 67.1% | 100.0% | +32.9pp | 0 |
143
+ | `live_simple` | 258 | 74.0% | 74.0% | +0.0pp | 0 |
144
+ | `live_multiple` | 1,053 | 70.8% | 71.0% | +0.2pp | 0 |
145
+ | `live_parallel` | 16 | 68.8% | 68.8% | +0.0pp | 0 |
146
+ | `live_parallel_multiple` | 24 | 70.8% | 70.8% | +0.0pp | 0 |
147
+ | `live_irrelevance` | 884 | 65.5% | 99.0% | +33.5pp | 7 |
148
+
149
+ The strongest `granite4.1:3b` categories were no-tool-call tasks: `irrelevance` improved from 67.1% to 100.0%, and `live_irrelevance` improved from 65.5% to 99.0%.
148
150
 
149
151
  Historical targeted wrapper benchmark:
150
152
 
@@ -2,8 +2,126 @@
2
2
  "name": "BFCL v4 full remote Ollama runs",
3
3
  "source": "Real model calls against all supported BFCL v4 single-turn tool-call categories completed in this repository",
4
4
  "note": "Endpoint redacted. Scores count request errors/timeouts as incorrect. This is not an official BFCL leaderboard submission.",
5
- "generatedAt": "2026-05-08T04:26:26.419Z",
5
+ "generatedAt": "2026-05-08T16:02:50.925Z",
6
6
  "results": [
7
+ {
8
+ "model": "granite4.1:3b",
9
+ "total": 3625,
10
+ "rawCorrect": 2661,
11
+ "betterCorrect": 3039,
12
+ "errors": 25,
13
+ "repaired": 380,
14
+ "categories": [
15
+ {
16
+ "model": "granite4.1:3b",
17
+ "category": "simple_python",
18
+ "total": 400,
19
+ "rawCorrect": 346,
20
+ "betterCorrect": 347,
21
+ "errors": 18,
22
+ "repaired": 1
23
+ },
24
+ {
25
+ "model": "granite4.1:3b",
26
+ "category": "simple_java",
27
+ "total": 100,
28
+ "rawCorrect": 70,
29
+ "betterCorrect": 70,
30
+ "errors": 0,
31
+ "repaired": 1
32
+ },
33
+ {
34
+ "model": "granite4.1:3b",
35
+ "category": "simple_javascript",
36
+ "total": 50,
37
+ "rawCorrect": 36,
38
+ "betterCorrect": 36,
39
+ "errors": 0,
40
+ "repaired": 1
41
+ },
42
+ {
43
+ "model": "granite4.1:3b",
44
+ "category": "multiple",
45
+ "total": 200,
46
+ "rawCorrect": 181,
47
+ "betterCorrect": 181,
48
+ "errors": 0,
49
+ "repaired": 0
50
+ },
51
+ {
52
+ "model": "granite4.1:3b",
53
+ "category": "parallel",
54
+ "total": 200,
55
+ "rawCorrect": 166,
56
+ "betterCorrect": 166,
57
+ "errors": 0,
58
+ "repaired": 0
59
+ },
60
+ {
61
+ "model": "granite4.1:3b",
62
+ "category": "parallel_multiple",
63
+ "total": 200,
64
+ "rawCorrect": 157,
65
+ "betterCorrect": 157,
66
+ "errors": 0,
67
+ "repaired": 0
68
+ },
69
+ {
70
+ "model": "granite4.1:3b",
71
+ "category": "irrelevance",
72
+ "total": 240,
73
+ "rawCorrect": 161,
74
+ "betterCorrect": 240,
75
+ "errors": 0,
76
+ "repaired": 79
77
+ },
78
+ {
79
+ "model": "granite4.1:3b",
80
+ "category": "live_simple",
81
+ "total": 258,
82
+ "rawCorrect": 191,
83
+ "betterCorrect": 191,
84
+ "errors": 0,
85
+ "repaired": 0
86
+ },
87
+ {
88
+ "model": "granite4.1:3b",
89
+ "category": "live_multiple",
90
+ "total": 1053,
91
+ "rawCorrect": 746,
92
+ "betterCorrect": 748,
93
+ "errors": 0,
94
+ "repaired": 2
95
+ },
96
+ {
97
+ "model": "granite4.1:3b",
98
+ "category": "live_parallel",
99
+ "total": 16,
100
+ "rawCorrect": 11,
101
+ "betterCorrect": 11,
102
+ "errors": 0,
103
+ "repaired": 0
104
+ },
105
+ {
106
+ "model": "granite4.1:3b",
107
+ "category": "live_parallel_multiple",
108
+ "total": 24,
109
+ "rawCorrect": 17,
110
+ "betterCorrect": 17,
111
+ "errors": 0,
112
+ "repaired": 0
113
+ },
114
+ {
115
+ "model": "granite4.1:3b",
116
+ "category": "live_irrelevance",
117
+ "total": 884,
118
+ "rawCorrect": 579,
119
+ "betterCorrect": 875,
120
+ "errors": 7,
121
+ "repaired": 296
122
+ }
123
+ ]
124
+ },
7
125
  {
8
126
  "model": "qwen3:0.6b",
9
127
  "total": 3625,
@@ -240,6 +358,124 @@
240
358
  }
241
359
  ]
242
360
  },
361
+ {
362
+ "model": "qwen3.5:2b",
363
+ "total": 3625,
364
+ "rawCorrect": 1954,
365
+ "betterCorrect": 1990,
366
+ "errors": 1308,
367
+ "repaired": 55,
368
+ "categories": [
369
+ {
370
+ "model": "qwen3.5:2b",
371
+ "category": "simple_python",
372
+ "total": 400,
373
+ "rawCorrect": 118,
374
+ "betterCorrect": 130,
375
+ "errors": 256,
376
+ "repaired": 15
377
+ },
378
+ {
379
+ "model": "qwen3.5:2b",
380
+ "category": "simple_java",
381
+ "total": 100,
382
+ "rawCorrect": 14,
383
+ "betterCorrect": 17,
384
+ "errors": 81,
385
+ "repaired": 6
386
+ },
387
+ {
388
+ "model": "qwen3.5:2b",
389
+ "category": "simple_javascript",
390
+ "total": 50,
391
+ "rawCorrect": 1,
392
+ "betterCorrect": 1,
393
+ "errors": 48,
394
+ "repaired": 0
395
+ },
396
+ {
397
+ "model": "qwen3.5:2b",
398
+ "category": "multiple",
399
+ "total": 200,
400
+ "rawCorrect": 46,
401
+ "betterCorrect": 48,
402
+ "errors": 151,
403
+ "repaired": 2
404
+ },
405
+ {
406
+ "model": "qwen3.5:2b",
407
+ "category": "parallel",
408
+ "total": 200,
409
+ "rawCorrect": 36,
410
+ "betterCorrect": 36,
411
+ "errors": 157,
412
+ "repaired": 1
413
+ },
414
+ {
415
+ "model": "qwen3.5:2b",
416
+ "category": "parallel_multiple",
417
+ "total": 200,
418
+ "rawCorrect": 35,
419
+ "betterCorrect": 35,
420
+ "errors": 159,
421
+ "repaired": 0
422
+ },
423
+ {
424
+ "model": "qwen3.5:2b",
425
+ "category": "irrelevance",
426
+ "total": 240,
427
+ "rawCorrect": 167,
428
+ "betterCorrect": 174,
429
+ "errors": 66,
430
+ "repaired": 7
431
+ },
432
+ {
433
+ "model": "qwen3.5:2b",
434
+ "category": "live_simple",
435
+ "total": 258,
436
+ "rawCorrect": 155,
437
+ "betterCorrect": 161,
438
+ "errors": 41,
439
+ "repaired": 8
440
+ },
441
+ {
442
+ "model": "qwen3.5:2b",
443
+ "category": "live_multiple",
444
+ "total": 1053,
445
+ "rawCorrect": 720,
446
+ "betterCorrect": 721,
447
+ "errors": 110,
448
+ "repaired": 10
449
+ },
450
+ {
451
+ "model": "qwen3.5:2b",
452
+ "category": "live_parallel",
453
+ "total": 16,
454
+ "rawCorrect": 10,
455
+ "betterCorrect": 10,
456
+ "errors": 2,
457
+ "repaired": 0
458
+ },
459
+ {
460
+ "model": "qwen3.5:2b",
461
+ "category": "live_parallel_multiple",
462
+ "total": 24,
463
+ "rawCorrect": 12,
464
+ "betterCorrect": 11,
465
+ "errors": 6,
466
+ "repaired": 0
467
+ },
468
+ {
469
+ "model": "qwen3.5:2b",
470
+ "category": "live_irrelevance",
471
+ "total": 884,
472
+ "rawCorrect": 640,
473
+ "betterCorrect": 646,
474
+ "errors": 231,
475
+ "repaired": 6
476
+ }
477
+ ]
478
+ },
243
479
  {
244
480
  "model": "lfm2.5-thinking:latest",
245
481
  "total": 3625,
package/docs/banner.svg CHANGED
@@ -1,6 +1,6 @@
1
1
  <svg xmlns="http://www.w3.org/2000/svg" width="1400" height="520" viewBox="0 0 1400 520" role="img" aria-labelledby="title desc">
2
2
  <title id="title">BetterCall banner</title>
3
- <desc id="desc">BetterCall is a one-line wrapper with three full BFCL remote runs completed; the best run improves from 55.5 percent to 63.6 percent.</desc>
3
+ <desc id="desc">BetterCall is a one-line wrapper with five full BFCL remote runs completed; the best run improves from 73.4 percent to 83.8 percent.</desc>
4
4
  <defs>
5
5
  <linearGradient id="background" x1="0" y1="0" x2="1" y2="1">
6
6
  <stop offset="0" stop-color="#07111f"/>
@@ -24,6 +24,6 @@
24
24
  <g transform="translate(112 112)">
25
25
  <text x="0" y="80" font-family="Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif" font-size="78" font-weight="800" fill="#f8fbff">BetterCall</text>
26
26
  <rect x="4" y="116" width="430" height="8" rx="4" fill="url(#accent)"/>
27
- <text x="0" y="186" font-family="Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif" font-size="34" font-weight="670" fill="#dcecff">Three full BFCL remote runs. Best: 55.5% → 63.6%.</text>
27
+ <text x="0" y="186" font-family="Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif" font-size="34" font-weight="670" fill="#dcecff">Five full BFCL remote runs. Best: 73.4% → 83.8%.</text>
28
28
  </g>
29
29
  </svg>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@botbotgo/better-call",
3
- "version": "0.1.2",
3
+ "version": "0.1.4",
4
4
  "description": "LLM tool-call reliability layer.",
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",