pi-io-provider 1.1.65 → 1.1.66

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.
@@ -0,0 +1,114 @@
1
+ name: Publish
2
+
3
+ # Releases of pi-io-provider go out from here, and only from here.
4
+ #
5
+ # 1. Bump "version" in package.json (the `chore(release): X.Y.Z` commit).
6
+ # 2. Push it to main. This workflow publishes every version that npm does
7
+ # not have yet; any other push is a no-op.
8
+ #
9
+ # Run it from the Actions tab to retry a failed release, or tick "dry_run" to
10
+ # build, check and pack without publishing.
11
+ #
12
+ # Auth is npm Trusted Publishing (OIDC): npm trusts this file, so no npm token
13
+ # is stored anywhere. Registered once with
14
+ # npm trust github pi-io-provider --repo monotykamary/pi-io-provider --file publish.yml --allow-publish
15
+ #
16
+ # Bun installs and packs exactly as `bun publish` does; npm uploads the
17
+ # tarballs because only the npm CLI speaks trusted publishing.
18
+
19
+ on:
20
+ push:
21
+ branches: [main]
22
+ paths: [package.json]
23
+ workflow_dispatch:
24
+ inputs:
25
+ dry_run:
26
+ description: Build, check and pack, but do not publish
27
+ type: boolean
28
+ default: false
29
+
30
+ permissions:
31
+ contents: read
32
+ id-token: write
33
+
34
+ concurrency:
35
+ group: publish
36
+ cancel-in-progress: false
37
+
38
+ jobs:
39
+ publish:
40
+ runs-on: ubuntu-latest
41
+ timeout-minutes: 45
42
+ steps:
43
+ - uses: actions/checkout@v5
44
+
45
+ - uses: actions/setup-node@v5
46
+ with:
47
+ node-version: 24
48
+
49
+ - uses: oven-sh/setup-bun@v2
50
+
51
+ - name: Find versions npm does not have
52
+ id: release
53
+ env:
54
+ DRY_RUN: ${{ inputs.dry_run }}
55
+ run: |
56
+ specs=$(
57
+ node -p "const p = require('./package.json'); p.name + '@' + p.version"
58
+ )
59
+ missing=""
60
+ for spec in $specs; do
61
+ # npm runs from outside the checkout so the repo's devEngines do not apply.
62
+ if (cd "$RUNNER_TEMP" && npm view "$spec" version >/dev/null 2>&1); then
63
+ echo "$spec is already on npm"
64
+ else
65
+ missing="$missing $spec"
66
+ fi
67
+ done
68
+ if [ "$DRY_RUN" = "true" ]; then
69
+ mode=dry-run
70
+ elif [ -n "$missing" ]; then
71
+ mode=publish
72
+ echo "::notice::Publishing$missing"
73
+ else
74
+ mode=skip
75
+ echo "::notice::Nothing to publish"
76
+ fi
77
+ echo "mode=$mode" >> "$GITHUB_OUTPUT"
78
+
79
+ - name: Install dependencies
80
+ if: steps.release.outputs.mode != 'skip'
81
+ run: bun install --frozen-lockfile
82
+
83
+ - name: Check
84
+ if: steps.release.outputs.mode != 'skip'
85
+ run: bun run check
86
+
87
+ - name: Pack
88
+ if: steps.release.outputs.mode != 'skip'
89
+ run: |
90
+ bun run --if-present prepublishOnly
91
+ bun pm pack --destination "$RUNNER_TEMP/pack"
92
+
93
+ - name: Publish
94
+ if: steps.release.outputs.mode != 'skip'
95
+ env:
96
+ MODE: ${{ steps.release.outputs.mode }}
97
+ run: |
98
+ # Trusted publishing needs npm 11.5.1 or newer.
99
+ npm install --global npm@latest
100
+ cd "$RUNNER_TEMP"
101
+ # ./ keeps npm from reading pack/name.tgz as a GitHub repo shorthand.
102
+ for tarball in ./pack/*.tgz; do
103
+ spec=$(tar -xOzf "$tarball" package/package.json | node -p "const p = JSON.parse(require('fs').readFileSync(0, 'utf8')); p.name + '@' + p.version")
104
+ echo "::group::$spec"
105
+ tar -tzf "$tarball"
106
+ echo "::endgroup::"
107
+ if [ "$MODE" = "dry-run" ]; then
108
+ echo "Dry run: not publishing $spec"
109
+ elif npm view "$spec" version >/dev/null 2>&1; then
110
+ echo "$spec is already on npm"
111
+ else
112
+ npm publish "$tarball" --access public --provenance
113
+ fi
114
+ done
@@ -5,12 +5,12 @@ on:
5
5
  - cron: "7 0 * * *" # 07:07 Asia/Ho_Chi_Minh
6
6
  workflow_dispatch:
7
7
 
8
- # Publishing uses npm Trusted Publishing (OIDC) bound to this workflow file, so
9
- # no npm token is stored. A version pushed while publishing was unavailable is
10
- # published by the next run that finds it missing from npm.
8
+ # This workflow only syncs the catalog and bumps the version; publish.yml does
9
+ # the releasing. It publishes any version npm does not have yet, so a release
10
+ # that failed earlier goes out with the next hand-off.
11
11
  permissions:
12
12
  contents: write
13
- id-token: write
13
+ actions: write
14
14
 
15
15
  concurrency:
16
16
  group: update-models
@@ -47,14 +47,9 @@ jobs:
47
47
  git commit -am "chore(release): v$version"
48
48
  git push origin HEAD:main
49
49
 
50
- - name: Publish to npm if this version is missing
51
- run: |
52
- name=$(node -p "require('./package.json').name")
53
- version=$(node -p "require('./package.json').version")
54
- if npm view "$name@$version" version >/dev/null 2>&1; then
55
- echo "$name@$version is already on npm."
56
- exit 0
57
- fi
58
- # Trusted publishing needs npm 11.5.1 or newer.
59
- npm install --global npm@latest
60
- npm publish --access public --provenance
50
+ # Pushes made with GITHUB_TOKEN do not start other workflows, so hand the
51
+ # release to publish.yml explicitly.
52
+ - name: Hand off to publish.yml
53
+ env:
54
+ GH_TOKEN: ${{ github.token }}
55
+ run: gh workflow run publish.yml --ref main
package/README.md CHANGED
@@ -17,12 +17,12 @@ A [pi](https://github.com/badlogic/pi-mono) extension that adds [IO Intelligence
17
17
 
18
18
  | Model | ID | Context | Max Output | Vision | Reasoning | Cache | Input $/M | Output $/M |
19
19
  |-------|----|---------|------------|--------|-----------|-------|-----------|------------|
20
- | DeepSeek V4.1 Flash | `deepseek-ai/DeepSeek-V4.1-Flash` | 1.0M | 131K | ✅ | ✅ | ✅ | $0.39 | $1.56 |
20
+ | DeepSeek V4.1 Flash | `deepseek-ai/DeepSeek-V4.1-Flash` | 1.0M | 131K | ✅ | ✅ | ✅ | $0.37 | $1.49 |
21
21
  | Gemma 4 26B A4B | `google/gemma-4-26b-a4b-it` | 262K | 262K | ✅ | ✅ | ✅ | $0.09 | $0.31 |
22
22
  | Gemma 4 31B Instruct | `google/gemma-4-31b-it` | 262K | 16K | ✅ | ✅ | ✅ | $0.38 | $1.15 |
23
23
  | Kimi K2.5 | `moonshotai/Kimi-K2.5` | 262K | 262K | ✅ | ✅ | ✅ | $0.54 | $2.83 |
24
- | Kimi K2.6 | `moonshotai/Kimi-K2.6` | 262K | 262K | ✅ | ✅ | ✅ | $0.70 | $3.37 |
25
- | Kimi K2.7 Code | `moonshotai/Kimi-K2.7-Code` | 262K | 262K | ✅ | ✅ | ✅ | $0.99 | $4.37 |
24
+ | Kimi K2.6 | `moonshotai/Kimi-K2.6` | 262K | 262K | ✅ | ✅ | ✅ | $0.74 | $3.62 |
25
+ | Kimi K2.7 Code | `moonshotai/Kimi-K2.7-Code` | 262K | 262K | ✅ | ✅ | ✅ | $1.07 | $4.66 |
26
26
  | Kimi K3 | `moonshotai/Kimi-K3` | 1.0M | 1.0M | ✅ | ✅ | ✅ | $3.60 | $18.00 |
27
27
  | Qwen3.6 27B | `Qwen/Qwen3.6-27B` | 33K | 33K | ✅ | ✅ | ✅ | $0.34 | $2.97 |
28
28
  | Qwen3.6 35B A3B | `Qwen/Qwen3.6-35B-A3B` | 262K | 262K | ✅ | ✅ | ✅ | $0.16 | $1.19 |
@@ -31,25 +31,25 @@ A [pi](https://github.com/badlogic/pi-mono) extension that adds [IO Intelligence
31
31
  | GLM 5.3 Flash | `zai-org/GLM-5.3-Flash` | 262K | 131K | ✅ | ✅ | ✅ | $0.14 | $0.76 |
32
32
  | DeepSeek R1 0528 | `deepseek-ai/DeepSeek-R1-0528` | 128K | 128K | ❌ | ✅ | ✅ | $0.57 | $2.28 |
33
33
  | DeepSeek V3.2 | `deepseek-ai/DeepSeek-V3.2` | 164K | 164K | ❌ | ✅ | ✅ | $1.40 | $2.25 |
34
- | DeepSeek V4 Flash | `deepseek-ai/DeepSeek-V4-Flash` | 33K | 33K | ❌ | ✅ | ✅ | $0.20 | $0.75 |
34
+ | DeepSeek V4 Flash | `deepseek-ai/DeepSeek-V4-Flash` | 33K | 33K | ❌ | ✅ | ✅ | $0.27 | $0.67 |
35
35
  | DeepSeek V4 Flash 0731 | `deepseek-ai/DeepSeek-V4-Flash-0731` | 262K | 66K | ❌ | ✅ | ✅ | $0.23 | $0.60 |
36
36
  | DeepSeek V4 Pro | `deepseek-ai/DeepSeek-V4-Pro` | 1.0M | 600K | ❌ | ✅ | ✅ | $1.40 | $4.54 |
37
- | DeepSeek V4 Pro 0813 | `deepseek-ai/DeepSeek-V4-Pro-0813` | 1.0M | 393K | ❌ | ✅ | ✅ | $1.10 | $4.17 |
37
+ | DeepSeek V4 Pro 0813 | `deepseek-ai/DeepSeek-V4-Pro-0813` | 1.0M | 393K | ❌ | ✅ | ✅ | $1.00 | $4.45 |
38
38
  | MiniMax M2.5 | `MiniMaxAI/MiniMax-M2.5` | 197K | 197K | ❌ | ✅ | ✅ | $0.29 | $1.18 |
39
- | MiniMax M2.7 | `MiniMaxAI/MiniMax-M2.7` | 262K | 66K | ❌ | ✅ | ✅ | $0.40 | $1.49 |
39
+ | MiniMax M2.7 | `MiniMaxAI/MiniMax-M2.7` | 262K | 66K | ❌ | ✅ | ✅ | $0.40 | $1.46 |
40
40
  | Kimi K2 Thinking | `moonshotai/Kimi-K2-Thinking` | 262K | 262K | ❌ | ✅ | ✅ | $0.60 | $2.50 |
41
- | Nemotron 3.5 Lightning | `nvidia/nemotron-3.5-lightning` | 262K | 131K | ❌ | ✅ | ✅ | $0.06 | $0.15 |
42
- | gpt-oss-120b | `openai/gpt-oss-120b` | 131K | 131K | ❌ | ✅ | ✅ | $0.17 | $0.63 |
43
- | gpt-oss-20b | `openai/gpt-oss-20b` | 64K | 64K | ❌ | ✅ | ✅ | $0.06 | $0.19 |
41
+ | Nemotron 3.5 Lightning | `nvidia/nemotron-3.5-lightning` | 262K | 131K | ❌ | ✅ | ✅ | $0.05 | $0.16 |
42
+ | gpt-oss-120b | `openai/gpt-oss-120b` | 131K | 131K | ❌ | ✅ | ✅ | $0.18 | $0.68 |
43
+ | gpt-oss-20b | `openai/gpt-oss-20b` | 64K | 64K | ❌ | ✅ | ✅ | $0.06 | $0.20 |
44
44
  | MiMo-V2.5 | `XiaomiMiMo/MiMo-V2.5` | 1.0M | 1.0M | ❌ | ✅ | ✅ | $0.20 | $0.64 |
45
45
  | GLM-4.5-Air | `zai-org/GLM-4.5-Air` | 131K | 131K | ❌ | ✅ | ✅ | $0.16 | $0.94 |
46
46
  | GLM 4.6 | `zai-org/GLM-4.6` | 131K | 131K | ❌ | ✅ | ✅ | $0.52 | $2.04 |
47
- | GLM 4.7 | `zai-org/GLM-4.7` | 203K | 203K | ❌ | ✅ | ✅ | $0.57 | $2.13 |
47
+ | GLM 4.7 | `zai-org/GLM-4.7` | 203K | 203K | ❌ | ✅ | ✅ | $0.53 | $2.07 |
48
48
  | GLM 4.7 Flash | `zai-org/GLM-4.7-Flash` | 200K | 200K | ❌ | ✅ | ✅ | $0.06 | $0.40 |
49
49
  | GLM 5 | `zai-org/GLM-5` | 203K | 203K | ❌ | ✅ | ✅ | $0.86 | $2.75 |
50
- | GLM 5.1 | `zai-org/GLM-5.1` | 203K | 33K | ❌ | ✅ | ✅ | $1.39 | $4.36 |
51
- | GLM 5.2 | `zai-org/GLM-5.2` | 262K | 131K | ❌ | ✅ | ✅ | $1.74 | $5.80 |
52
- | GLM 5.3 | `zai-org/GLM-5.3` | 262K | 131K | ❌ | ✅ | ✅ | $1.82 | $5.72 |
50
+ | GLM 5.1 | `zai-org/GLM-5.1` | 203K | 33K | ❌ | ✅ | ✅ | $1.37 | $4.31 |
51
+ | GLM 5.2 | `zai-org/GLM-5.2` | 262K | 131K | ❌ | ✅ | ✅ | $1.60 | $5.36 |
52
+ | GLM 5.3 | `zai-org/GLM-5.3` | 262K | 131K | ❌ | ✅ | ✅ | $1.76 | $6.88 |
53
53
  | Llama 4 Maverick 17B 128E Instruct FP8 | `meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8` | 430K | 430K | ✅ | ❌ | ✅ | $0.27 | $0.83 |
54
54
  | Qwen3 Coder 480B A35B Instruct INT4 Mixed AR | `Intel/Qwen3-Coder-480B-A35B-Instruct-int4-mixed-ar` | 106K | 106K | ❌ | ❌ | ✅ | $0.46 | $2.29 |
55
55
  | Llama 3.3 70B Instruct | `meta-llama/Llama-3.3-70B-Instruct` | 128K | 128K | ❌ | ❌ | ✅ | $0.55 | $1.02 |
package/models.json CHANGED
@@ -8,9 +8,9 @@
8
8
  "image"
9
9
  ],
10
10
  "cost": {
11
- "input": 0.145,
12
- "output": 0.294,
13
- "cacheRead": 0.0725,
11
+ "input": 0.1436,
12
+ "output": 0.2912,
13
+ "cacheRead": 0.0718,
14
14
  "cacheWrite": 0
15
15
  },
16
16
  "contextWindow": 1048320,
@@ -31,9 +31,9 @@
31
31
  "image"
32
32
  ],
33
33
  "cost": {
34
- "input": 0.39,
35
- "output": 1.56,
36
- "cacheRead": 0.195,
34
+ "input": 0.369,
35
+ "output": 1.49,
36
+ "cacheRead": 0.1845,
37
37
  "cacheWrite": 0
38
38
  },
39
39
  "contextWindow": 1048320,
@@ -76,9 +76,9 @@
76
76
  "text"
77
77
  ],
78
78
  "cost": {
79
- "input": 1.82,
80
- "output": 5.72,
81
- "cacheRead": 0.91,
79
+ "input": 1.76,
80
+ "output": 6.88,
81
+ "cacheRead": 0.88,
82
82
  "cacheWrite": 0
83
83
  },
84
84
  "contextWindow": 262144,
@@ -188,9 +188,9 @@
188
188
  "text"
189
189
  ],
190
190
  "cost": {
191
- "input": 1.744,
192
- "output": 5.804,
193
- "cacheRead": 0.872,
191
+ "input": 1.604,
192
+ "output": 5.364,
193
+ "cacheRead": 0.802,
194
194
  "cacheWrite": 0
195
195
  },
196
196
  "contextWindow": 262144,
@@ -211,9 +211,9 @@
211
211
  "image"
212
212
  ],
213
213
  "cost": {
214
- "input": 0.98874,
215
- "output": 4.37,
216
- "cacheRead": 0.49437,
214
+ "input": 1.073832,
215
+ "output": 4.66,
216
+ "cacheRead": 0.536916,
217
217
  "cacheWrite": 0
218
218
  },
219
219
  "contextWindow": 262144,
@@ -279,9 +279,9 @@
279
279
  "text"
280
280
  ],
281
281
  "cost": {
282
- "input": 0.402,
283
- "output": 1.488,
284
- "cacheRead": 0.201,
282
+ "input": 0.396,
283
+ "output": 1.464,
284
+ "cacheRead": 0.198,
285
285
  "cacheWrite": 0
286
286
  },
287
287
  "contextWindow": 262100,
@@ -301,9 +301,9 @@
301
301
  "text"
302
302
  ],
303
303
  "cost": {
304
- "input": 0.19654,
305
- "output": 0.748,
306
- "cacheRead": 0.09827,
304
+ "input": 0.272,
305
+ "output": 0.67,
306
+ "cacheRead": 0.136,
307
307
  "cacheWrite": 0
308
308
  },
309
309
  "contextWindow": 32768,
@@ -346,9 +346,9 @@
346
346
  "image"
347
347
  ],
348
348
  "cost": {
349
- "input": 0.6982,
350
- "output": 3.372,
351
- "cacheRead": 0.3491,
349
+ "input": 0.7382,
350
+ "output": 3.622,
351
+ "cacheRead": 0.3691,
352
352
  "cacheWrite": 0
353
353
  },
354
354
  "contextWindow": 262142,
@@ -368,9 +368,9 @@
368
368
  "text"
369
369
  ],
370
370
  "cost": {
371
- "input": 1.38628,
372
- "output": 4.35688,
373
- "cacheRead": 0.69314,
371
+ "input": 1.37228,
372
+ "output": 4.31288,
373
+ "cacheRead": 0.68614,
374
374
  "cacheWrite": 0
375
375
  },
376
376
  "contextWindow": 202750,
@@ -390,9 +390,9 @@
390
390
  "text"
391
391
  ],
392
392
  "cost": {
393
- "input": 0.294,
393
+ "input": 0.293,
394
394
  "output": 1.176,
395
- "cacheRead": 0.147,
395
+ "cacheRead": 0.1465,
396
396
  "cacheWrite": 0
397
397
  },
398
398
  "contextWindow": 196600,
@@ -568,9 +568,9 @@
568
568
  "text"
569
569
  ],
570
570
  "cost": {
571
- "input": 0.568,
572
- "output": 2.126,
573
- "cacheRead": 0.284,
571
+ "input": 0.52808,
572
+ "output": 2.07184,
573
+ "cacheRead": 0.26404,
574
574
  "cacheWrite": 0.6
575
575
  },
576
576
  "contextWindow": 202752,
@@ -611,9 +611,9 @@
611
611
  "text"
612
612
  ],
613
613
  "cost": {
614
- "input": 0.168,
615
- "output": 0.63,
616
- "cacheRead": 0.084,
614
+ "input": 0.178,
615
+ "output": 0.68,
616
+ "cacheRead": 0.089,
617
617
  "cacheWrite": 0.04
618
618
  },
619
619
  "contextWindow": 131072,
@@ -762,9 +762,9 @@
762
762
  "text"
763
763
  ],
764
764
  "cost": {
765
- "input": 0.055,
766
- "output": 0.194,
767
- "cacheRead": 0.0275,
765
+ "input": 0.063,
766
+ "output": 0.196,
767
+ "cacheRead": 0.0315,
768
768
  "cacheWrite": 0.03
769
769
  },
770
770
  "contextWindow": 64000,
@@ -805,9 +805,9 @@
805
805
  "text"
806
806
  ],
807
807
  "cost": {
808
- "input": 1.104,
809
- "output": 4.168,
810
- "cacheRead": 0.552,
808
+ "input": 0.9954,
809
+ "output": 4.4512,
810
+ "cacheRead": 0.4977,
811
811
  "cacheWrite": 0
812
812
  },
813
813
  "contextWindow": 1048576,
@@ -850,9 +850,9 @@
850
850
  "text"
851
851
  ],
852
852
  "cost": {
853
- "input": 0.06375,
854
- "output": 0.1525,
855
- "cacheRead": 0.031875,
853
+ "input": 0.051667,
854
+ "output": 0.16,
855
+ "cacheRead": 0.025834,
856
856
  "cacheWrite": 0
857
857
  },
858
858
  "contextWindow": 262144,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pi-io-provider",
3
- "version": "1.1.65",
3
+ "version": "1.1.66",
4
4
  "description": "IO Intelligence provider extension for pi - Access DeepSeek, Kimi, GLM, Llama, Qwen, Mistral, and more through the IO Intelligence API",
5
5
  "type": "module",
6
6
  "main": "index.ts",