{"_id":"@mariozechner/pi-ai","_rev":"4210774","name":"@mariozechner/pi-ai","description":"Unified LLM API with automatic model discovery and provider configuration","dist-tags":{"latest":"0.56.0"},"maintainers":[{"name":"badlogic","email":""}],"time":{"modified":"2026-03-04T17:05:42.000Z","created":"2025-08-30T19:42:01.139Z","0.56.0":"2026-03-04T20:24:12.109Z","0.55.4":"2026-03-02T22:24:49.731Z","0.55.3":"2026-02-27T21:54:26.142Z","0.55.2":"2026-02-27T21:26:24.698Z","0.55.1":"2026-02-26T00:10:32.198Z","0.55.0":"2026-02-24T22:52:23.739Z","0.54.2":"2026-02-23T00:56:45.544Z","0.54.1":"2026-02-22T13:35:08.052Z","0.54.0":"2026-02-19T23:18:07.677Z","0.53.1":"2026-02-19T19:34:38.861Z","0.53.0":"2026-02-17T19:04:12.552Z","0.52.12":"2026-02-13T22:43:13.132Z","0.52.11":"2026-02-13T20:59:24.322Z","0.52.10":"2026-02-12T21:19:06.908Z","0.52.9":"2026-02-08T23:17:08.301Z","0.52.8":"2026-02-07T16:50:47.432Z","0.52.7":"2026-02-06T18:20:10.107Z","0.52.6":"2026-02-05T23:26:17.525Z","0.52.5":"2026-02-05T21:58:57.974Z","0.52.4":"2026-02-05T21:33:33.178Z","0.52.3":"2026-02-05T21:29:04.669Z","0.52.2":"2026-02-05T20:20:59.181Z","0.52.1":"2026-02-05T20:15:40.829Z","0.52.0":"2026-02-05T19:42:18.634Z","0.51.6":"2026-02-04T13:25:12.278Z","0.51.5":"2026-02-04T01:33:31.084Z","0.51.4":"2026-02-03T22:05:31.819Z","0.51.3":"2026-02-03T16:30:16.863Z","0.51.2":"2026-02-03T01:18:36.245Z","0.51.1":"2026-02-02T18:36:32.181Z","0.51.0":"2026-02-01T23:51:08.952Z","0.50.9":"2026-02-01T08:36:04.735Z","0.50.8":"2026-02-01T01:33:46.637Z","0.50.7":"2026-01-31T00:08:52.323Z","0.50.6":"2026-01-30T21:03:36.263Z","0.50.5":"2026-01-30T10:47:57.578Z","0.50.4":"2026-01-30T02:26:46.795Z","0.50.3":"2026-01-29T03:19:29.733Z","0.50.2":"2026-01-29T02:24:09.104Z","0.50.1":"2026-01-26T23:15:21.754Z","0.50.0":"2026-01-26T15:55:01.987Z","0.49.3":"2026-01-22T00:43:06.385Z","0.49.2":"2026-01-19T15:14:29.876Z","0.49.1":"2026-01-18T23:23:35.624Z","0.49.0":"2026-01-17T21:02:39.880Z","0.48.0":"2026-01-16T23:32:36.411Z","0.47.0":"2026-01-16T03:41:27.638Z","0.46.0":"2026-01-15T16:36:17.744Z","0.45.7":"2026-01-13T23:11:16.101Z","0.45.6":"2026-01-13T21:48:28.426Z","0.45.5":"2026-01-13T20:47:19.770Z","0.45.4":"2026-01-13T20:37:15.182Z","0.45.3":"2026-01-13T03:57:04.022Z","0.45.2":"2026-01-13T02:28:20.053Z","0.45.1":"2026-01-13T02:07:08.950Z","0.45.0":"2026-01-13T01:41:59.502Z","0.44.0":"2026-01-12T18:04:49.767Z","0.43.0":"2026-01-12T00:00:02.208Z","0.42.5":"2026-01-11T03:11:14.632Z","0.42.4":"2026-01-10T12:56:34.016Z","0.42.3":"2026-01-10T12:27:50.328Z","0.42.2":"2026-01-10T00:43:09.644Z","0.42.1":"2026-01-09T19:24:31.159Z","0.42.0":"2026-01-09T05:59:49.166Z","0.41.0":"2026-01-09T05:07:16.366Z","0.40.1":"2026-01-09T04:12:28.119Z","0.40.0":"2026-01-08T23:43:56.669Z","0.39.1":"2026-01-08T23:34:01.446Z","0.39.0":"2026-01-08T23:10:22.293Z","0.38.0":"2026-01-08T03:53:27.624Z","0.37.8":"2026-01-07T00:33:15.130Z","0.37.7":"2026-01-07T00:02:15.946Z","0.37.6":"2026-01-06T23:43:06.739Z","0.37.5":"2026-01-06T22:25:34.661Z","0.37.4":"2026-01-06T20:28:45.071Z","0.37.3":"2026-01-06T12:44:09.411Z","0.37.2":"2026-01-05T23:53:40.694Z","0.37.1":"2026-01-05T23:32:35.264Z","0.37.0":"2026-01-05T23:07:38.041Z","0.36.0":"2026-01-05T05:16:47.757Z","0.35.0":"2026-01-05T02:41:46.856Z","0.34.2":"2026-01-04T20:06:29.625Z","0.34.1":"2026-01-04T19:57:16.080Z","0.34.0":"2026-01-04T19:30:13.849Z","0.33.0":"2026-01-04T00:07:50.657Z","0.32.3":"2026-01-03T16:09:43.491Z","0.32.2":"2026-01-03T15:08:33.032Z","0.32.1":"2026-01-03T03:26:18.556Z","0.32.0":"2026-01-03T01:48:43.982Z","0.31.1":"2026-01-02T09:39:26.616Z","0.31.0":"2026-01-02T01:00:20.013Z","0.30.2":"2025-12-26T02:26:27.904Z","0.30.1":"2025-12-26T02:14:07.026Z","0.30.0":"2025-12-25T19:35:40.892Z","0.29.1":"2025-12-25T17:10:46.159Z","0.29.0":"2025-12-25T03:17:12.995Z","0.28.0":"2025-12-25T02:58:11.596Z","0.27.9":"2025-12-24T20:25:50.068Z","0.27.8":"2025-12-24T19:52:55.898Z","0.27.7":"2025-12-24T17:33:09.233Z","0.27.6":"2025-12-24T12:59:38.029Z","0.27.5":"2025-12-24T11:19:19.476Z","0.27.3":"2025-12-24T01:46:52.566Z","0.27.2":"2025-12-23T02:50:07.003Z","0.27.1":"2025-12-22T18:28:58.008Z","0.27.0":"2025-12-22T17:20:46.055Z","0.26.1":"2025-12-22T15:19:59.258Z","0.26.0":"2025-12-22T11:54:28.392Z","0.25.4":"2025-12-21T23:23:33.229Z","0.25.3":"2025-12-21T20:01:53.371Z","0.25.2":"2025-12-21T01:59:33.019Z","0.25.1":"2025-12-21T01:47:58.291Z","0.25.0":"2025-12-20T21:03:21.648Z","0.24.5":"2025-12-19T21:10:03.681Z","0.24.4":"2025-12-19T20:55:10.530Z","0.24.3":"2025-12-19T20:36:44.243Z","0.24.2":"2025-12-19T20:13:21.151Z","0.24.1":"2025-12-19T19:52:15.937Z","0.24.0":"2025-12-19T04:21:54.208Z","0.23.5":"2025-12-19T04:16:07.309Z","0.23.4":"2025-12-18T15:57:39.966Z","0.23.3":"2025-12-17T21:30:30.301Z","0.23.2":"2025-12-17T16:56:44.982Z","0.23.1":"2025-12-17T15:43:45.314Z","0.23.0":"2025-12-17T15:14:09.215Z","0.22.5":"2025-12-17T00:22:46.648Z","0.22.4":"2025-12-16T23:39:50.629Z","0.22.3":"2025-12-16T19:06:45.145Z","0.22.2":"2025-12-15T21:09:45.033Z","0.22.1":"2025-12-15T20:54:08.980Z","0.22.0":"2025-12-15T19:14:59.292Z","0.21.0":"2025-12-13T22:56:09.864Z","0.20.2":"2025-12-13T00:12:10.415Z","0.20.1":"2025-12-12T23:57:45.546Z","0.20.0":"2025-12-12T22:25:34.480Z","0.19.2":"2025-12-12T22:03:37.244Z","0.19.1":"2025-12-12T17:55:52.418Z","0.19.0":"2025-12-12T17:35:28.462Z","0.18.8":"2025-12-12T10:30:39.158Z","0.18.7":"2025-12-12T10:15:58.352Z","0.18.6":"2025-12-12T09:54:24.980Z","0.18.5":"2025-12-12T09:01:33.819Z","0.18.4":"2025-12-11T23:00:44.284Z","0.18.3":"2025-12-11T19:34:41.684Z","0.18.2":"2025-12-10T22:39:50.139Z","0.18.1":"2025-12-10T20:39:54.115Z","0.18.0":"2025-12-10T00:22:58.643Z","0.17.0":"2025-12-09T20:50:28.987Z","0.16.0":"2025-12-09T14:44:06.483Z","0.15.0":"2025-12-09T12:44:31.791Z","0.14.2":"2025-12-08T22:29:37.013Z","0.14.1":"2025-12-08T22:00:16.365Z","0.13.2":"2025-12-07T00:25:55.257Z","0.13.1":"2025-12-06T22:13:10.448Z","0.13.0":"2025-12-06T21:49:19.801Z","0.12.15":"2025-12-06T20:29:34.324Z","0.12.14":"2025-12-05T23:47:30.176Z","0.12.13":"2025-12-05T22:39:00.780Z","0.12.12":"2025-12-05T22:01:19.473Z","0.12.11":"2025-12-05T11:20:10.478Z","0.12.10":"2025-12-04T19:52:38.010Z","0.12.9":"2025-12-04T12:23:23.798Z","0.12.8":"2025-12-04T02:59:50.123Z","0.12.7":"2025-12-04T02:11:32.896Z","0.12.6":"2025-12-03T16:12:56.018Z","0.12.5":"2025-12-03T15:21:53.991Z","0.12.4":"2025-12-02T12:27:20.490Z","0.12.3":"2025-12-02T12:10:56.761Z","0.12.2":"2025-12-02T12:01:08.418Z","0.12.1":"2025-12-02T11:31:45.131Z","0.12.0":"2025-12-02T11:19:15.458Z","0.11.6":"2025-12-02T08:37:28.091Z","0.11.5":"2025-12-01T19:22:51.791Z","0.11.4":"2025-12-01T12:05:46.314Z","0.11.3":"2025-12-01T11:50:46.427Z","0.11.2":"2025-12-01T00:21:27.315Z","0.11.1":"2025-11-29T22:06:21.068Z","0.11.0":"2025-11-29T00:06:48.631Z","0.10.2":"2025-11-27T22:59:49.013Z","0.10.1":"2025-11-27T13:19:06.975Z","0.10.0":"2025-11-27T00:34:22.669Z","0.9.4":"2025-11-26T00:50:59.739Z","0.9.3":"2025-11-24T20:03:57.562Z","0.9.2":"2025-11-24T18:33:32.029Z","0.9.1":"2025-11-21T21:21:21.021Z","0.9.0":"2025-11-21T21:03:42.782Z","0.8.5":"2025-11-21T11:49:03.062Z","0.8.4":"2025-11-21T04:10:25.016Z","0.8.3":"2025-11-21T04:00:03.032Z","0.8.2":"2025-11-21T02:23:29.713Z","0.8.1":"2025-11-21T02:22:20.322Z","0.8.0":"2025-11-21T02:17:35.794Z","0.7.29":"2025-11-20T19:49:10.175Z","0.7.28":"2025-11-20T19:40:31.615Z","0.7.27":"2025-11-20T17:57:10.165Z","0.7.26":"2025-11-20T16:30:35.955Z","0.7.25":"2025-11-20T12:42:27.823Z","0.7.24":"2025-11-20T11:43:42.290Z","0.7.23":"2025-11-20T11:00:31.055Z","0.7.22":"2025-11-19T00:51:54.736Z","0.7.21":"2025-11-18T23:57:40.639Z","0.7.20":"2025-11-18T21:53:52.565Z","0.7.19":"2025-11-18T21:52:18.502Z","0.7.18":"2025-11-18T21:13:21.490Z","0.7.17":"2025-11-18T16:50:15.133Z","0.7.16":"2025-11-17T13:12:48.843Z","0.7.15":"2025-11-17T11:54:57.269Z","0.7.13":"2025-11-16T22:09:43.802Z","0.7.12":"2025-11-16T21:57:24.167Z","0.7.11":"2025-11-16T20:02:09.456Z","0.7.10":"2025-11-14T22:56:59.556Z","0.7.9":"2025-11-14T22:23:11.742Z","0.7.8":"2025-11-13T22:49:52.927Z","0.7.7":"2025-11-13T22:44:40.162Z","0.7.5":"2025-11-13T00:31:54.153Z","0.7.4":"2025-11-13T00:31:00.629Z","0.7.2":"2025-11-13T00:00:40.148Z","0.7.1":"2025-11-12T23:05:27.293Z","0.7.0":"2025-11-12T22:55:45.606Z","0.6.2":"2025-11-12T22:44:31.576Z","0.5.48":"2025-10-26T20:24:07.085Z","0.5.47":"2025-10-25T22:45:26.443Z","0.5.46":"2025-10-22T11:10:24.616Z","0.5.45":"2025-10-22T11:03:53.094Z","0.5.44":"2025-10-05T21:02:13.397Z","0.5.43":"2025-09-18T23:50:12.744Z","0.5.42":"2025-09-18T22:14:56.147Z","0.5.41":"2025-09-18T09:18:43.141Z","0.5.40":"2025-09-16T10:24:33.876Z","0.5.39":"2025-09-16T00:20:32.528Z","0.5.38":"2025-09-15T23:33:28.038Z","0.5.37":"2025-09-15T23:31:18.961Z","0.5.36":"2025-09-15T23:12:04.073Z","0.5.35":"2025-09-15T18:33:28.332Z","0.5.34":"2025-09-14T22:35:22.696Z","0.5.32":"2025-09-09T13:00:57.849Z","0.5.31":"2025-09-06T22:10:31.312Z","0.5.30":"2025-09-04T10:42:47.699Z","0.5.29":"2025-09-04T03:18:17.907Z","0.5.28":"2025-09-02T23:26:40.760Z","0.5.27":"2025-09-01T23:33:03.750Z","0.5.26":"2025-09-01T23:19:40.841Z","0.5.25":"2025-09-01T22:20:42.285Z","0.5.24":"2025-09-01T20:10:01.523Z","0.5.23":"2025-09-01T20:03:23.750Z","0.5.22":"2025-09-01T19:56:27.230Z","0.5.21":"2025-09-01T19:46:57.161Z","0.5.20":"2025-09-01T16:44:30.877Z","0.5.19":"2025-08-31T21:57:25.366Z","0.5.18":"2025-08-31T21:49:56.585Z","0.5.17":"2025-08-31T21:10:00.835Z","0.5.16":"2025-08-31T20:18:02.235Z","0.5.15":"2025-08-31T20:12:18.833Z","0.5.14":"2025-08-30T20:56:10.402Z","0.5.13":"2025-08-30T20:29:57.297Z","0.5.12":"2025-08-30T19:48:55.279Z","0.5.11":"2025-08-30T19:47:31.188Z","0.5.10":"2025-08-30T19:42:01.139Z"},"users":{},"author":{"name":"Mario Zechner"},"repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"versions":{"0.56.0":{"name":"@mariozechner/pi-ai","version":"0.56.0","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./oauth":{"types":"./oauth.d.ts","import":"./oauth.js"},"./bedrock-provider":{"types":"./bedrock-provider.d.ts","import":"./bedrock-provider.js"}},"bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"shx rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.73.0","@aws-sdk/client-bedrock-runtime":"^3.983.0","@google/genai":"^1.40.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","proxy-agent":"^6.5.0","undici":"^7.19.1","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","bedrock","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"e39c7d163b88d0fcf91c0dd6aa3323126cbb0ce1","_id":"@mariozechner/pi-ai@0.56.0","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.10.0","dist":{"shasum":"0f24fa099374557ce2b9fbb561ab34605789ecc1","size":381645,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.56.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.56.0.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.56.0_1772655851952_0.21744411806379116"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-03-04T20:24:12.109Z","publish_time":1772655852109,"_source_registry_name":"default","_cnpm_publish_time":1772655852109},"0.55.4":{"name":"@mariozechner/pi-ai","version":"0.55.4","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.73.0","@aws-sdk/client-bedrock-runtime":"^3.983.0","@google/genai":"^1.40.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","proxy-agent":"^6.5.0","undici":"^7.19.1","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","bedrock","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"9a53d950c4fee96b16444eec56020884ac3dffb6","_id":"@mariozechner/pi-ai@0.55.4","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.10.0","dist":{"shasum":"64bd2654adde308e2def49fce80f7772978e9b26","size":376676,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.55.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.55.4.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.55.4_1772490289480_0.33319253336260557"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-03-02T22:24:49.731Z","publish_time":1772490289731,"_source_registry_name":"default","_cnpm_publish_time":1772490289731},"0.55.3":{"name":"@mariozechner/pi-ai","version":"0.55.3","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.73.0","@aws-sdk/client-bedrock-runtime":"^3.983.0","@google/genai":"^1.40.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","proxy-agent":"^6.5.0","undici":"^7.19.1","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","bedrock","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"9d68043cbc27ca4e18b96d49db2c095c431c5610","_id":"@mariozechner/pi-ai@0.55.3","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.10.0","dist":{"shasum":"7b1e1cc827c29c08cf1ed6d07bbd927ad0daf4c6","size":376789,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.55.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.55.3.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.55.3_1772229265948_0.5259205328308776"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-02-27T21:54:26.142Z","publish_time":1772229266142,"_source_registry_name":"default","_cnpm_publish_time":1772229266142},"0.55.2":{"name":"@mariozechner/pi-ai","version":"0.55.2","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.73.0","@aws-sdk/client-bedrock-runtime":"^3.983.0","@google/genai":"^1.40.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","proxy-agent":"^6.5.0","undici":"^7.19.1","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","bedrock","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"10180037d20fddd8c9f8978d04208e85eeb76359","_id":"@mariozechner/pi-ai@0.55.2","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.10.0","dist":{"shasum":"ceda61fa594e21e9be4e8a82db16a1f4af18374c","size":376789,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.55.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.55.2.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.55.2_1772227584473_0.20693794439424673"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-02-27T21:26:24.698Z","publish_time":1772227584698,"_source_registry_name":"default","_cnpm_publish_time":1772227584698},"0.55.1":{"name":"@mariozechner/pi-ai","version":"0.55.1","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.73.0","@aws-sdk/client-bedrock-runtime":"^3.983.0","@google/genai":"^1.40.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","proxy-agent":"^6.5.0","undici":"^7.19.1","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","bedrock","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"a753e2413544c845eac075540343086b7b9a163a","_id":"@mariozechner/pi-ai@0.55.1","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.10.0","dist":{"shasum":"b9789dedf4e34871f2d646291d669135ca82c5cd","size":374845,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.55.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.55.1.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.55.1_1772064632006_0.37452357871585695"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-02-26T00:10:32.198Z","publish_time":1772064632198,"_source_registry_name":"default","_cnpm_publish_time":1772064632198},"0.55.0":{"name":"@mariozechner/pi-ai","version":"0.55.0","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.73.0","@aws-sdk/client-bedrock-runtime":"^3.983.0","@google/genai":"^1.40.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","proxy-agent":"^6.5.0","undici":"^7.19.1","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","bedrock","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"d3232c2e9e43dedc8d8865413f73298af0abb372","_id":"@mariozechner/pi-ai@0.55.0","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.10.0","dist":{"shasum":"4ea99b25a5d73907a216c47444d4b60b6717ad8e","size":373328,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.55.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.55.0.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.55.0_1771973543514_0.32094044089000673"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-02-24T22:52:23.739Z","publish_time":1771973543739,"_source_registry_name":"default","_cnpm_publish_time":1771973543739},"0.54.2":{"name":"@mariozechner/pi-ai","version":"0.54.2","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.73.0","@aws-sdk/client-bedrock-runtime":"^3.983.0","@google/genai":"^1.40.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","proxy-agent":"^6.5.0","undici":"^7.19.1","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","bedrock","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"2417fc256f13935cb661bf084b6b53d3dfeb8059","_id":"@mariozechner/pi-ai@0.54.2","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.10.0","dist":{"shasum":"43e7826806b9bd0f38c5fdfb34f7155392dbaf28","size":373194,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.54.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.54.2.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.54.2_1771808205319_0.9901327581972572"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-02-23T00:56:45.544Z","publish_time":1771808205544,"_source_registry_name":"default","_cnpm_publish_time":1771808205544},"0.54.1":{"name":"@mariozechner/pi-ai","version":"0.54.1","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.73.0","@aws-sdk/client-bedrock-runtime":"^3.983.0","@google/genai":"^1.40.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","proxy-agent":"^6.5.0","undici":"^7.19.1","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","bedrock","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"5563d8969a1ff462c40afedcaeef4d871ad09582","_id":"@mariozechner/pi-ai@0.54.1","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.10.0","dist":{"shasum":"df283aa6fee5bba1ef75e0556df25f4eac4cb137","size":373201,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.54.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.54.1.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.54.1_1771767307789_0.7103587480379248"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-02-22T13:35:08.052Z","publish_time":1771767308052,"_source_registry_name":"default","_cnpm_publish_time":1771767308052},"0.54.0":{"name":"@mariozechner/pi-ai","version":"0.54.0","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.73.0","@aws-sdk/client-bedrock-runtime":"^3.983.0","@google/genai":"^1.40.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","proxy-agent":"^6.5.0","undici":"^7.19.1","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","bedrock","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"76b02a81b1659465fcc0b73839cf88de9b931891","_id":"@mariozechner/pi-ai@0.54.0","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.10.0","dist":{"shasum":"29cd04f4108771a75f137cdce90d1727ef147774","size":373158,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.54.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.54.0.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.54.0_1771543087492_0.7388597342059435"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-02-19T23:18:07.677Z","publish_time":1771543087677,"_source_registry_name":"default","_cnpm_publish_time":1771543087677},"0.53.1":{"name":"@mariozechner/pi-ai","version":"0.53.1","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.73.0","@aws-sdk/client-bedrock-runtime":"^3.983.0","@google/genai":"^1.40.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","proxy-agent":"^6.5.0","undici":"^7.19.1","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","bedrock","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"18ea1ed997903a743ce2a75a13ac3ac345a355ad","_id":"@mariozechner/pi-ai@0.53.1","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.10.0","dist":{"shasum":"fbb36c046d36f30df135395f2d8697f35c31835b","size":373219,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.53.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.53.1.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.53.1_1771529678684_0.7914698054623732"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-02-19T19:34:38.861Z","publish_time":1771529678861,"_source_registry_name":"default","_cnpm_publish_time":1771529678861},"0.53.0":{"name":"@mariozechner/pi-ai","version":"0.53.0","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.73.0","@aws-sdk/client-bedrock-runtime":"^3.983.0","@google/genai":"^1.40.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","proxy-agent":"^6.5.0","undici":"^7.19.1","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","bedrock","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"ce1410b01dcd9fb4bc32c54a378f1813b1fd07a0","_id":"@mariozechner/pi-ai@0.53.0","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.10.0","dist":{"shasum":"03d3f450239d67c280ea3aab6ffac92f099d62fe","size":372882,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.53.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.53.0.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.53.0_1771355052403_0.9261770849772333"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-02-17T19:04:12.552Z","publish_time":1771355052552,"_source_registry_name":"default","_cnpm_publish_time":1771355052552},"0.52.12":{"name":"@mariozechner/pi-ai","version":"0.52.12","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.73.0","@aws-sdk/client-bedrock-runtime":"^3.983.0","@google/genai":"^1.40.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","proxy-agent":"^6.5.0","undici":"^7.19.1","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","bedrock","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"479eedd46fc671ce003b33ea3f577ed4d8d1fd2d","_id":"@mariozechner/pi-ai@0.52.12","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"shasum":"90af10f66f38595b408ee9e2f913b754e3e88899","size":371649,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.52.12.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.52.12.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.52.12_1771022592907_0.21345742454761796"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-02-13T22:43:13.132Z","publish_time":1771022593132,"_source_registry_name":"default","_cnpm_publish_time":1771022593132},"0.52.11":{"name":"@mariozechner/pi-ai","version":"0.52.11","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.73.0","@aws-sdk/client-bedrock-runtime":"^3.983.0","@google/genai":"^1.40.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","proxy-agent":"^6.5.0","undici":"^7.19.1","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","bedrock","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"9537919a49d3b4bf11b9bc15c3bfbc658ebd449d","_id":"@mariozechner/pi-ai@0.52.11","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"shasum":"35e9b909cdee346422efd4853c6b52fcf300125b","size":357641,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.52.11.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.52.11.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.52.11_1771016364116_0.045951174251415816"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-02-13T20:59:24.322Z","publish_time":1771016364322,"_source_registry_name":"default","_cnpm_publish_time":1771016364322},"0.52.10":{"name":"@mariozechner/pi-ai","version":"0.52.10","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.73.0","@aws-sdk/client-bedrock-runtime":"^3.983.0","@google/genai":"^1.40.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","proxy-agent":"^6.5.0","undici":"^7.19.1","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","bedrock","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"2668a1125d77977b126477d86cdd733b8450a4cd","_id":"@mariozechner/pi-ai@0.52.10","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"shasum":"d4d83cd5307b5ab7deebba9bdc7a3c78a287d17c","size":357186,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.52.10.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.52.10.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.52.10_1770931146638_0.6648378392623415"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-02-12T21:19:06.908Z","publish_time":1770931146908,"_source_registry_name":"default","_cnpm_publish_time":1770931146908},"0.52.9":{"name":"@mariozechner/pi-ai","version":"0.52.9","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.73.0","@aws-sdk/client-bedrock-runtime":"^3.983.0","@google/genai":"^1.40.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","proxy-agent":"^6.5.0","undici":"^7.19.1","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","bedrock","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"cc3eaee5602f1fadbdee39e7a405960621692fbd","_id":"@mariozechner/pi-ai@0.52.9","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"shasum":"258df103608bebb56c61321c4a8b98fb2206402e","size":355227,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.52.9.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.52.9.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.52.9_1770592628085_0.6680068903216028"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-02-08T23:17:08.301Z","publish_time":1770592628301,"_source_registry_name":"default","_cnpm_publish_time":1770592628301},"0.52.8":{"name":"@mariozechner/pi-ai","version":"0.52.8","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.73.0","@aws-sdk/client-bedrock-runtime":"^3.983.0","@google/genai":"^1.40.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","proxy-agent":"^6.5.0","undici":"^7.19.1","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","bedrock","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"f06d31ae412f38ebaf74db08a2b319f7460f474f","_id":"@mariozechner/pi-ai@0.52.8","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"shasum":"2b320596acb14ea87b5556d2ae4442647d61f6ef","size":364347,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.52.8.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.52.8.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.52.8_1770483047195_0.15607006718445815"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-02-07T16:50:47.432Z","publish_time":1770483047432,"_source_registry_name":"default","_cnpm_publish_time":1770483047432},"0.52.7":{"name":"@mariozechner/pi-ai","version":"0.52.7","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.73.0","@aws-sdk/client-bedrock-runtime":"^3.983.0","@google/genai":"^1.40.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","proxy-agent":"^6.5.0","undici":"^7.19.1","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","bedrock","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"4eb15a9d11828aa5971a1fd74e7273c52af53823","_id":"@mariozechner/pi-ai@0.52.7","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"shasum":"a8f6b1e8e4e349a48b97fac3e03ce9f9293f8ab0","size":363999,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.52.7.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.52.7.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.52.7_1770402009626_0.29965513712583447"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-02-06T18:20:10.107Z","publish_time":1770402010107,"_source_registry_name":"default","_cnpm_publish_time":1770402010107},"0.52.6":{"name":"@mariozechner/pi-ai","version":"0.52.6","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.73.0","@aws-sdk/client-bedrock-runtime":"^3.983.0","@google/genai":"^1.40.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","proxy-agent":"^6.5.0","undici":"^7.19.1","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","bedrock","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"5fd6542e04856c538220b2a4ef091bf8355399ba","_id":"@mariozechner/pi-ai@0.52.6","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"shasum":"bfe9678b03ecc966644732c670e4fb122bd8b30b","size":360689,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.52.6.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.52.6.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.52.6_1770333977330_0.6430459403979798"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-02-05T23:26:17.525Z","publish_time":1770333977525,"_source_registry_name":"default","_cnpm_publish_time":1770333977525},"0.52.5":{"name":"@mariozechner/pi-ai","version":"0.52.5","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.73.0","@aws-sdk/client-bedrock-runtime":"^3.983.0","@google/genai":"^1.40.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","proxy-agent":"^6.5.0","undici":"^7.19.1","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","bedrock","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"9b3ecd303314a5a8da994d861c14790f19cfd4e7","_id":"@mariozechner/pi-ai@0.52.5","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"shasum":"f6ac6e7bb878d0f62a8e588a5934c9a5d3102e17","size":360701,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.52.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.52.5.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.52.5_1770328737754_0.9693508098902717"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-02-05T21:58:57.974Z","publish_time":1770328737974,"_source_registry_name":"default","_cnpm_publish_time":1770328737974},"0.52.4":{"name":"@mariozechner/pi-ai","version":"0.52.4","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.73.0","@aws-sdk/client-bedrock-runtime":"^3.983.0","@google/genai":"^1.40.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","proxy-agent":"^6.5.0","undici":"^7.19.1","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","bedrock","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"f57e82fe2d7c72e82346868a9fea63078391f1bb","_id":"@mariozechner/pi-ai@0.52.4","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"shasum":"4d9839a02dc4d061d0f364c7d5c45b369525e389","size":360399,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.52.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.52.4.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.52.4_1770327212986_0.7892146922075913"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-02-05T21:33:33.178Z","publish_time":1770327213178,"_source_registry_name":"default","_cnpm_publish_time":1770327213178},"0.52.3":{"name":"@mariozechner/pi-ai","version":"0.52.3","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.73.0","@aws-sdk/client-bedrock-runtime":"^3.983.0","@google/genai":"^1.40.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","proxy-agent":"^6.5.0","undici":"^7.19.1","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","bedrock","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"7310bcf192c59955cac92ec11c1e06d8f4bd8c70","_id":"@mariozechner/pi-ai@0.52.3","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"shasum":"2b6c1df79dd3f9efdf0e9cc51252b7eddfa639a9","size":360399,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.52.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.52.3.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.52.3_1770326944459_0.701698336845578"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-02-05T21:29:04.669Z","publish_time":1770326944669,"_source_registry_name":"default","_cnpm_publish_time":1770326944669},"0.52.2":{"name":"@mariozechner/pi-ai","version":"0.52.2","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.73.0","@aws-sdk/client-bedrock-runtime":"^3.983.0","@google/genai":"^1.40.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","proxy-agent":"^6.5.0","undici":"^7.19.1","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","bedrock","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"caf4e189afa1712182f8d194aac600e96b9faa9d","_id":"@mariozechner/pi-ai@0.52.2","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"shasum":"77354608d001ae787a9e6981531dc4310e57c72d","size":360462,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.52.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.52.2.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.52.2_1770322858939_0.3603798493221251"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-02-05T20:20:59.181Z","publish_time":1770322859181,"_source_registry_name":"default","_cnpm_publish_time":1770322859181},"0.52.1":{"name":"@mariozechner/pi-ai","version":"0.52.1","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.73.0","@aws-sdk/client-bedrock-runtime":"^3.983.0","@google/genai":"^1.40.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","proxy-agent":"^6.5.0","undici":"^7.19.1","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","bedrock","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"7f42e8a9964158233f896cd6da5d70884087a94a","_id":"@mariozechner/pi-ai@0.52.1","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"shasum":"8ef2d700527f92169c7de9f70fb0f16403d5a959","size":360455,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.52.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.52.1.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.52.1_1770322540636_0.5746358471798698"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-02-05T20:15:40.829Z","publish_time":1770322540829,"_source_registry_name":"default","_cnpm_publish_time":1770322540829},"0.52.0":{"name":"@mariozechner/pi-ai","version":"0.52.0","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@aws-sdk/client-bedrock-runtime":"^3.966.0","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","proxy-agent":"^6.5.0","undici":"^7.19.1","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","bedrock","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"150fdf36a7f0d23a0d43f963badf4e62fa4f420b","_id":"@mariozechner/pi-ai@0.52.0","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"shasum":"275dfb0ff7f4be632c6cf50abb4e0d46c9e76be2","size":357843,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.52.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.52.0.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.52.0_1770320538446_0.8335631266529389"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-02-05T19:42:18.634Z","publish_time":1770320538634,"_source_registry_name":"default","_cnpm_publish_time":1770320538634},"0.51.6":{"name":"@mariozechner/pi-ai","version":"0.51.6","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@aws-sdk/client-bedrock-runtime":"^3.966.0","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","proxy-agent":"^6.5.0","undici":"^7.19.1","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","bedrock","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"47a9bffcf3b4dc7f0f43ec7bf71bfe0807faf3b2","_id":"@mariozechner/pi-ai@0.51.6","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"shasum":"b0dbc1068882b61cc0aed87e639ebc0a7f557da3","size":356809,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.51.6.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.51.6.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.51.6_1770211512066_0.3336681214167432"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-02-04T13:25:12.278Z","publish_time":1770211512278,"_source_registry_name":"default","_cnpm_publish_time":1770211512278},"0.51.5":{"name":"@mariozechner/pi-ai","version":"0.51.5","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@aws-sdk/client-bedrock-runtime":"^3.966.0","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","proxy-agent":"^6.5.0","undici":"^7.19.1","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","bedrock","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"5921206f9a7e9da7b9dbfb495940a023651fd758","_id":"@mariozechner/pi-ai@0.51.5","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"shasum":"554b121813d6558b5da237a656f9073cc916f2a5","size":357767,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.51.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.51.5.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.51.5_1770168810874_0.20059432793286658"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-02-04T01:33:31.084Z","publish_time":1770168811084,"_source_registry_name":"default","_cnpm_publish_time":1770168811084},"0.51.4":{"name":"@mariozechner/pi-ai","version":"0.51.4","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@aws-sdk/client-bedrock-runtime":"^3.966.0","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","proxy-agent":"^6.5.0","undici":"^7.19.1","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","bedrock","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"9833717b4122d0e3da15a0e3742d0db6304a5d9b","_id":"@mariozechner/pi-ai@0.51.4","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"shasum":"0389a4c119fad57cb266f17aa8f5c35aa5eaf76d","size":357539,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.51.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.51.4.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.51.4_1770156331647_0.5169759724463674"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-02-03T22:05:31.819Z","publish_time":1770156331819,"_source_registry_name":"default","_cnpm_publish_time":1770156331819},"0.51.3":{"name":"@mariozechner/pi-ai","version":"0.51.3","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@aws-sdk/client-bedrock-runtime":"^3.966.0","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","proxy-agent":"^6.5.0","undici":"^7.19.1","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","bedrock","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"39d719900d3210e1ff96a06bf39b992bc33ebdb4","_id":"@mariozechner/pi-ai@0.51.3","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"shasum":"a5ae6f30702ac2b88b915ae40885cf852956ba45","size":356391,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.51.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.51.3.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.51.3_1770136216670_0.17032595370488557"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-02-03T16:30:16.863Z","publish_time":1770136216863,"_source_registry_name":"default","_cnpm_publish_time":1770136216863},"0.51.2":{"name":"@mariozechner/pi-ai","version":"0.51.2","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@aws-sdk/client-bedrock-runtime":"^3.966.0","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","proxy-agent":"^6.5.0","undici":"^7.19.1","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","bedrock","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"4cbc8652157700d97fec014b7688eb2747a40951","_id":"@mariozechner/pi-ai@0.51.2","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"shasum":"c54b4dd253f87409a85fe1f136895c4bd9f39c4b","size":356608,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.51.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.51.2.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.51.2_1770081516014_0.5115389887581878"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-02-03T01:18:36.245Z","publish_time":1770081516245,"_source_registry_name":"default","_cnpm_publish_time":1770081516245},"0.51.1":{"name":"@mariozechner/pi-ai","version":"0.51.1","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@aws-sdk/client-bedrock-runtime":"^3.966.0","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","proxy-agent":"^6.5.0","undici":"^7.19.1","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","bedrock","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"e02bdf8ef1aeb5fc6dbde0b219b382eb25435624","_id":"@mariozechner/pi-ai@0.51.1","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"shasum":"b769f4d3aa0eb63d81a4c1d653b5a9eee6ac4eaa","size":356366,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.51.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.51.1.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.51.1_1770057391986_0.768244752914889"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-02-02T18:36:32.181Z","publish_time":1770057392181,"_source_registry_name":"default","_cnpm_publish_time":1770057392181},"0.51.0":{"name":"@mariozechner/pi-ai","version":"0.51.0","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@aws-sdk/client-bedrock-runtime":"^3.966.0","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","proxy-agent":"^6.5.0","undici":"^7.19.1","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","bedrock","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"580c02c74dbacc27fd197315921bc6f9f9824a1b","_id":"@mariozechner/pi-ai@0.51.0","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"shasum":"059ebc412df986772ccba285b719be32e8621e06","size":355678,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.51.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.51.0.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.51.0_1769989868755_0.2614016534446144"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-02-01T23:51:08.952Z","publish_time":1769989868952,"_source_registry_name":"default","_cnpm_publish_time":1769989868952},"0.50.9":{"name":"@mariozechner/pi-ai","version":"0.50.9","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@aws-sdk/client-bedrock-runtime":"^3.966.0","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","proxy-agent":"^6.5.0","undici":"^7.19.1","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","bedrock","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"7678b075fb002dea28be18419662032ecf0b5e74","_id":"@mariozechner/pi-ai@0.50.9","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"shasum":"e92be53192f2d133041ada6a59af661da0142f89","size":354692,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.50.9.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.50.9.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.50.9_1769934964538_0.3003305308516986"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-02-01T08:36:04.735Z","publish_time":1769934964735,"_source_registry_name":"default","_cnpm_publish_time":1769934964735},"0.50.8":{"name":"@mariozechner/pi-ai","version":"0.50.8","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@aws-sdk/client-bedrock-runtime":"^3.966.0","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","proxy-agent":"^6.5.0","undici":"^7.19.1","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","bedrock","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"4baa42cb6d9022a63e9bd590138e4ece6d64f703","_id":"@mariozechner/pi-ai@0.50.8","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"shasum":"0b0c7a0be1848bf235be7aebca82261cdcc1e2d9","size":353575,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.50.8.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.50.8.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.50.8_1769909626440_0.7364808474248867"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-02-01T01:33:46.637Z","publish_time":1769909626637,"_source_registry_name":"default","_cnpm_publish_time":1769909626637},"0.50.7":{"name":"@mariozechner/pi-ai","version":"0.50.7","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@aws-sdk/client-bedrock-runtime":"^3.966.0","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","proxy-agent":"^6.5.0","undici":"^7.19.1","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","bedrock","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"c50a0b8b6dfc7a480e574e7cfdc4e1adeaaa493d","_id":"@mariozechner/pi-ai@0.50.7","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"shasum":"ac0d0222319e7055a5e0ab1b4143fa76e311dfac","size":352498,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.50.7.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.50.7.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.50.7_1769818132089_0.626566448130615"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-01-31T00:08:52.323Z","publish_time":1769818132323,"_source_registry_name":"default","_cnpm_publish_time":1769818132323},"0.50.6":{"name":"@mariozechner/pi-ai","version":"0.50.6","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@aws-sdk/client-bedrock-runtime":"^3.966.0","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","proxy-agent":"^6.5.0","undici":"^7.19.1","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","bedrock","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"f8d43ce02ca8ff4951caadd88344d00fca79a9b7","_id":"@mariozechner/pi-ai@0.50.6","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"shasum":"2c177022d9e53d6e2dfcb0027f8a14326339f337","size":352498,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.50.6.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.50.6.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.50.6_1769807016069_0.21888400358982585"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-01-30T21:03:36.263Z","publish_time":1769807016263,"_source_registry_name":"default","_cnpm_publish_time":1769807016263},"0.50.5":{"name":"@mariozechner/pi-ai","version":"0.50.5","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@aws-sdk/client-bedrock-runtime":"^3.966.0","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","proxy-agent":"^6.5.0","undici":"^7.19.1","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","bedrock","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"01d521c625de0d506ff2324105bf9798fd5e05e5","_id":"@mariozechner/pi-ai@0.50.5","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"shasum":"8cf14a6d69d9e8ff6b36bc46c3784d4a967f6f44","size":352497,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.50.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.50.5.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.50.5_1769770077400_0.17011508242352913"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-01-30T10:47:57.578Z","publish_time":1769770077578,"_source_registry_name":"default","_cnpm_publish_time":1769770077578},"0.50.4":{"name":"@mariozechner/pi-ai","version":"0.50.4","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@aws-sdk/client-bedrock-runtime":"^3.966.0","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","proxy-agent":"^6.5.0","undici":"^7.19.1","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","bedrock","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"3f5fe42d37050f47b78e77490a2ec1e510aa4372","_id":"@mariozechner/pi-ai@0.50.4","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"shasum":"e3c6708a01508e7e7249ce645066623e73023cff","size":352391,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.50.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.50.4.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.50.4_1769740006554_0.2942816230981171"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-01-30T02:26:46.795Z","publish_time":1769740006795,"_source_registry_name":"default","_cnpm_publish_time":1769740006795},"0.50.3":{"name":"@mariozechner/pi-ai","version":"0.50.3","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@aws-sdk/client-bedrock-runtime":"^3.966.0","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","proxy-agent":"^6.5.0","undici":"^7.19.1","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","bedrock","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"df667b510a301f7ad4b7dc42991999601bd24ad3","_id":"@mariozechner/pi-ai@0.50.3","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"shasum":"5f160599ccb2b4afef660206bd41908f95a942dd","size":351775,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.50.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.50.3.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.50.3_1769656769549_0.5299934368277961"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-01-29T03:19:29.733Z","publish_time":1769656769733,"_source_registry_name":"default","_cnpm_publish_time":1769656769733},"0.50.2":{"name":"@mariozechner/pi-ai","version":"0.50.2","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@aws-sdk/client-bedrock-runtime":"^3.966.0","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","proxy-agent":"^6.5.0","undici":"^7.19.1","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","bedrock","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"9bb627a5246f2cbddb881d697af4d4cf727afe86","_id":"@mariozechner/pi-ai@0.50.2","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"shasum":"942944718a2515f2f591f9962d28d11e7a2e97b1","size":351269,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.50.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.50.2.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.50.2_1769653448887_0.2729811176358852"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-01-29T02:24:09.104Z","publish_time":1769653449104,"_source_registry_name":"default","_cnpm_publish_time":1769653449104},"0.50.1":{"name":"@mariozechner/pi-ai","version":"0.50.1","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@aws-sdk/client-bedrock-runtime":"^3.966.0","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","proxy-agent":"^6.5.0","undici":"^7.19.1","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","bedrock","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"29c59d79bae5795f88eb3aec641974b1d6712f11","_id":"@mariozechner/pi-ai@0.50.1","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"shasum":"5581beee9f836ddfe62e8e89f581ac80704d26fc","size":345305,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.50.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.50.1.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.50.1_1769469321603_0.7350574858636798"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-01-26T23:15:21.754Z","publish_time":1769469321754,"_source_registry_name":"default","_cnpm_publish_time":1769469321754},"0.50.0":{"name":"@mariozechner/pi-ai","version":"0.50.0","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@aws-sdk/client-bedrock-runtime":"^3.966.0","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","proxy-agent":"^6.5.0","undici":"^7.19.1","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","bedrock","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"453e104d3a32c02c5f586d1652636ca8b71d6d05","_id":"@mariozechner/pi-ai@0.50.0","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"shasum":"b1f44139e894cd9f6218a49b6d6b7a1a2f1c17a4","size":345650,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.50.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.50.0.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.50.0_1769442901779_0.3504741107779987"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-01-26T15:55:01.987Z","publish_time":1769442901987,"_source_registry_name":"default","_cnpm_publish_time":1769442901987},"0.49.3":{"name":"@mariozechner/pi-ai","version":"0.49.3","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@aws-sdk/client-bedrock-runtime":"^3.966.0","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","bedrock","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"34d28a47b51a6a72b0eb321f4b23ead132ff9107","_id":"@mariozechner/pi-ai@0.49.3","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"shasum":"2e7b280f8f0e77c456e8a823b6730389af565d44","size":336452,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.49.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.49.3.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.49.3_1769042586164_0.1730873767339225"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-01-22T00:43:06.385Z","publish_time":1769042586385,"_source_registry_name":"default","_cnpm_publish_time":1769042586385},"0.49.2":{"name":"@mariozechner/pi-ai","version":"0.49.2","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@aws-sdk/client-bedrock-runtime":"^3.966.0","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","bedrock","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"17a37bd1746e79c05b8385c9a1e5c315c14ae9c3","_id":"@mariozechner/pi-ai@0.49.2","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"shasum":"069be7eeb7caaab2927cf44f7a16f16c28db87c3","size":329736,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.49.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.49.2.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.49.2_1768835669689_0.7431171283392952"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-01-19T15:14:29.876Z","publish_time":1768835669876,"_source_registry_name":"default","_cnpm_publish_time":1768835669876},"0.49.1":{"name":"@mariozechner/pi-ai","version":"0.49.1","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@aws-sdk/client-bedrock-runtime":"^3.966.0","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","bedrock","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"15a04c585a361e6c69754fee1ff525989aa35ac0","_id":"@mariozechner/pi-ai@0.49.1","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"shasum":"d0d932ead89da39a0a2c796b52ead2f0c1635eff","size":330752,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.49.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.49.1.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.49.1_1768778615409_0.9255912474849004"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-01-18T23:23:35.624Z","publish_time":1768778615624,"_source_registry_name":"default","_cnpm_publish_time":1768778615624},"0.49.0":{"name":"@mariozechner/pi-ai","version":"0.49.0","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@aws-sdk/client-bedrock-runtime":"^3.966.0","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","bedrock","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"3e6ae39083b08a237890ee291d8a60a648793366","_id":"@mariozechner/pi-ai@0.49.0","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"shasum":"ca4404ae8994ee6ea9a771da81b7818190976a23","size":327623,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.49.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.49.0.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.49.0_1768683759663_0.6715276349950423"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-01-17T21:02:39.880Z","publish_time":1768683759880,"_source_registry_name":"default","_cnpm_publish_time":1768683759880},"0.48.0":{"name":"@mariozechner/pi-ai","version":"0.48.0","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@aws-sdk/client-bedrock-runtime":"^3.966.0","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","bedrock","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"91be338e391563797c33b0e68fa4fd212bc3d067","_id":"@mariozechner/pi-ai@0.48.0","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"shasum":"9de7a43338112194bf2306f0804f00b8a786f8e6","size":328521,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.48.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.48.0.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.48.0_1768606356232_0.21581556108429578"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-01-16T23:32:36.411Z","publish_time":1768606356411,"_source_registry_name":"default","_cnpm_publish_time":1768606356411},"0.47.0":{"name":"@mariozechner/pi-ai","version":"0.47.0","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@aws-sdk/client-bedrock-runtime":"^3.966.0","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","bedrock","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"6248d86ff6742ab9cb03fc463f3a6cbd4a634ae7","_id":"@mariozechner/pi-ai@0.47.0","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"shasum":"d8793a220add3f0df29cf567def55b49989cecc4","size":326358,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.47.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.47.0.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.47.0_1768534887480_0.19680099220866953"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-01-16T03:41:27.638Z","publish_time":1768534887638,"_source_registry_name":"default","_cnpm_publish_time":1768534887638},"0.46.0":{"name":"@mariozechner/pi-ai","version":"0.46.0","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@aws-sdk/client-bedrock-runtime":"^3.966.0","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","bedrock","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"0aaa4ef5e4f58615334799664107367fa537ade4","_id":"@mariozechner/pi-ai@0.46.0","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"shasum":"3d23527b816da52a7302036afe1692ef6895711d","size":367142,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.46.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.46.0.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.46.0_1768494977364_0.270096875285631"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-01-15T16:36:17.744Z","publish_time":1768494977744,"_source_registry_name":"default","_cnpm_publish_time":1768494977744},"0.45.7":{"name":"@mariozechner/pi-ai","version":"0.45.7","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@aws-sdk/client-bedrock-runtime":"^3.966.0","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","bedrock","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"d08821cc4abd260390c40e4a9388da1bc7f8ad5d","_id":"@mariozechner/pi-ai@0.45.7","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"shasum":"d35187201f0fe2505f4c5ccd52bc5da8b3d5d520","size":365679,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.45.7.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.45.7.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.45.7_1768345875954_0.6337837608067758"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-01-13T23:11:16.101Z","publish_time":1768345876101,"_source_registry_name":"default","_cnpm_publish_time":1768345876101},"0.45.6":{"name":"@mariozechner/pi-ai","version":"0.45.6","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@aws-sdk/client-bedrock-runtime":"^3.966.0","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","bedrock","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"f8dc72d24f82b0dfd64e5686bf72838aebd63e9b","_id":"@mariozechner/pi-ai@0.45.6","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"shasum":"1885d00962347da63655fe55ef956192448b1a3c","size":365654,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.45.6.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.45.6.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.45.6_1768340908248_0.3441635179334559"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-01-13T21:48:28.426Z","publish_time":1768340908426,"_source_registry_name":"default","_cnpm_publish_time":1768340908426},"0.45.5":{"name":"@mariozechner/pi-ai","version":"0.45.5","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@aws-sdk/client-bedrock-runtime":"^3.966.0","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","bedrock","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"9a08bb0d1e2e2d10373f612b8e57055c8f829afa","_id":"@mariozechner/pi-ai@0.45.5","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"shasum":"bf503b88109d1903dc3562fd65417d5011b06e6f","size":365637,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.45.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.45.5.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.45.5_1768337239559_0.010251075919074815"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-01-13T20:47:19.770Z","publish_time":1768337239770,"_source_registry_name":"default","_cnpm_publish_time":1768337239770},"0.45.4":{"name":"@mariozechner/pi-ai","version":"0.45.4","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@aws-sdk/client-bedrock-runtime":"^3.966.0","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","bedrock","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"bb0ba88b97c92e71017de957e1c479907d724a9b","_id":"@mariozechner/pi-ai@0.45.4","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"shasum":"359c5dca91c80f645a566d1677e70cc1145f2a06","size":365637,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.45.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.45.4.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.45.4_1768336635029_0.7342635931040036"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-01-13T20:37:15.182Z","publish_time":1768336635182,"_source_registry_name":"default","_cnpm_publish_time":1768336635182},"0.45.3":{"name":"@mariozechner/pi-ai","version":"0.45.3","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@aws-sdk/client-bedrock-runtime":"^3.966.0","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","bedrock","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"2090599e4b4154e43ebc9d4f7799d4cbd128dec0","_id":"@mariozechner/pi-ai@0.45.3","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"shasum":"5b1f10fcc725a66d862533c5c1d8a8f10a0bf214","size":351594,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.45.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.45.3.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.45.3_1768276623796_0.5884621358478563"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-01-13T03:57:04.022Z","publish_time":1768276624022,"_source_registry_name":"default","_cnpm_publish_time":1768276624022},"0.45.2":{"name":"@mariozechner/pi-ai","version":"0.45.2","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@aws-sdk/client-bedrock-runtime":"^3.966.0","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","bedrock","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"c55082bb668d9ef65f4ffc1ce96056d305450fd5","_id":"@mariozechner/pi-ai@0.45.2","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"shasum":"523cee37b5d8ea8b5700eaa83f3a48303d347d89","size":351321,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.45.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.45.2.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.45.2_1768271299791_0.30891553834703633"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-01-13T02:28:20.053Z","publish_time":1768271300053,"_source_registry_name":"default","_cnpm_publish_time":1768271300053},"0.45.1":{"name":"@mariozechner/pi-ai","version":"0.45.1","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@aws-sdk/client-bedrock-runtime":"^3.966.0","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","bedrock","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"e4a98d8381a4eb20ba5058120921130d4f508d32","_id":"@mariozechner/pi-ai@0.45.1","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"shasum":"62b3556252564be228b91e5f38b5ff808d380efa","size":351325,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.45.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.45.1.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.45.1_1768270028692_0.278787320979075"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-01-13T02:07:08.950Z","publish_time":1768270028950,"_source_registry_name":"default","_cnpm_publish_time":1768270028950},"0.45.0":{"name":"@mariozechner/pi-ai","version":"0.45.0","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@aws-sdk/client-bedrock-runtime":"^3.966.0","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","bedrock","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"e22feba494667b511364c2a45a23d05d6404187e","_id":"@mariozechner/pi-ai@0.45.0","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"shasum":"fd51896a9a1074f291db0b09ca563f3118e53094","size":351325,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.45.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.45.0.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.45.0_1768268519350_0.07015761732199688"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-01-13T01:41:59.502Z","publish_time":1768268519502,"_source_registry_name":"default","_cnpm_publish_time":1768268519502},"0.44.0":{"name":"@mariozechner/pi-ai","version":"0.44.0","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"477c263838b3cd295543e9ad0b2f603b3e2b51a7","_id":"@mariozechner/pi-ai@0.44.0","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"shasum":"fd97cac5606fc447ac43d294d41d868c34c34fc4","size":318562,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.44.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.44.0.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.44.0_1768241089561_0.395609589230814"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-01-12T18:04:49.767Z","publish_time":1768241089767,"_source_registry_name":"default","_cnpm_publish_time":1768241089767},"0.43.0":{"name":"@mariozechner/pi-ai","version":"0.43.0","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"8ac130c729c696788be5698bacce01b5d1ec9071","_id":"@mariozechner/pi-ai@0.43.0","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"shasum":"423a91cee6300dd27c0425f0f54e982d296c16af","size":317564,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.43.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.43.0.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.43.0_1768176002019_0.22464473115320627"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-01-12T00:00:02.208Z","publish_time":1768176002208,"_source_registry_name":"default","_cnpm_publish_time":1768176002208},"0.42.5":{"name":"@mariozechner/pi-ai","version":"0.42.5","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"31fe16f2e79154f0423d290c87e4944bc1a41f80","_id":"@mariozechner/pi-ai@0.42.5","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"shasum":"098ce2cfc79523a6166239f124526c2d22ff3d4d","size":317636,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.42.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.42.5.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.42.5_1768101074417_0.531525579515471"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-01-11T03:11:14.632Z","publish_time":1768101074632,"_source_registry_name":"default","_cnpm_publish_time":1768101074632},"0.42.4":{"name":"@mariozechner/pi-ai","version":"0.42.4","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"345de5983324e5bf9f8a657ee973786c18aebd71","_id":"@mariozechner/pi-ai@0.42.4","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"shasum":"24b0473fe5343f66f3fbe4d316ddcf0fdc9e6b2a","size":317636,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.42.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.42.4.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.42.4_1768049793822_0.354566849149176"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-01-10T12:56:34.016Z","publish_time":1768049794016,"_source_registry_name":"default","_cnpm_publish_time":1768049794016},"0.42.3":{"name":"@mariozechner/pi-ai","version":"0.42.3","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"2a04b0fb28922fe7fb452da6898a710715bfcee3","_id":"@mariozechner/pi-ai@0.42.3","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"shasum":"369e7feeccdba675b3b9eeb5c582d715eb807e98","size":317431,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.42.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.42.3.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.42.3_1768048070157_0.8266636603002351"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-01-10T12:27:50.328Z","publish_time":1768048070328,"_source_registry_name":"default","_cnpm_publish_time":1768048070328},"0.42.2":{"name":"@mariozechner/pi-ai","version":"0.42.2","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json && node scripts/copy-assets.js","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"0c02f5c053227ca47e822db8ca55bfe3c92cf114","_id":"@mariozechner/pi-ai@0.42.2","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"shasum":"eee326a52f4b7080af4d7eb7a2214ed179388592","size":296946,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.42.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.42.2.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.42.2_1768005789407_0.40625609740358093"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-01-10T00:43:09.644Z","publish_time":1768005789644,"_source_registry_name":"default","_cnpm_publish_time":1768005789644},"0.42.1":{"name":"@mariozechner/pi-ai","version":"0.42.1","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json && node scripts/copy-assets.js","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"d856bb097c6a62108582210a71ce814a9d784806","_id":"@mariozechner/pi-ai@0.42.1","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"shasum":"439af0a291f5d5086cd331852c0bc3b734cc6928","size":292153,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.42.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.42.1.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.42.1_1767986670974_0.8029959858682478"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-01-09T19:24:31.159Z","publish_time":1767986671159,"_source_registry_name":"default","_cnpm_publish_time":1767986671159},"0.42.0":{"name":"@mariozechner/pi-ai","version":"0.42.0","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json && node scripts/copy-assets.js","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"075299542410a572a36561ef02061554cb9995e6","_id":"@mariozechner/pi-ai@0.42.0","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"shasum":"e4f9877edd0ce1cb7a843b9c9e6aae4cb6246c99","size":291146,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.42.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.42.0.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.42.0_1767938388965_0.628726505502635"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-01-09T05:59:49.166Z","publish_time":1767938389166,"_source_registry_name":"default","_cnpm_publish_time":1767938389166},"0.41.0":{"name":"@mariozechner/pi-ai","version":"0.41.0","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json && node scripts/copy-assets.js","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"ec9def84efb27e6622d7070b8ca80cb0ac01d862","_id":"@mariozechner/pi-ai@0.41.0","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"shasum":"752cdf6e9d6456d0852a72411513d41cadeb4c8a","size":288543,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.41.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.41.0.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.41.0_1767935236174_0.19820009610004918"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-01-09T05:07:16.366Z","publish_time":1767935236366,"_source_registry_name":"default","_cnpm_publish_time":1767935236366},"0.40.1":{"name":"@mariozechner/pi-ai","version":"0.40.1","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json && node scripts/copy-assets.js","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"ebd661fe13d3f3484191c244f5cd9b61e3973a19","_id":"@mariozechner/pi-ai@0.40.1","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"shasum":"f3869071a52bc6a263ac8bbc6b6b5101fd206312","size":284185,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.40.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.40.1.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.40.1_1767931947911_0.8479960296040938"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-01-09T04:12:28.119Z","publish_time":1767931948119,"_source_registry_name":"default","_cnpm_publish_time":1767931948119},"0.40.0":{"name":"@mariozechner/pi-ai","version":"0.40.0","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json && node scripts/copy-assets.js","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"070ef9c771ddfa625c5df438479deea00f9be708","_id":"@mariozechner/pi-ai@0.40.0","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"shasum":"08fd72591666d6acb9d7fcb31e5a6025de4da934","size":288117,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.40.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.40.0.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.40.0_1767915836478_0.5492577391874591"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-01-08T23:43:56.669Z","publish_time":1767915836669,"_source_registry_name":"default","_cnpm_publish_time":1767915836669},"0.39.1":{"name":"@mariozechner/pi-ai","version":"0.39.1","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json && node scripts/copy-assets.js","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"39bfbb125c0b244e3f0aff55100ff6782c750e60","_id":"@mariozechner/pi-ai@0.39.1","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"shasum":"e66f19a8dcbf8cea5c643a0f7e4cc95ac50c64f4","size":288117,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.39.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.39.1.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.39.1_1767915241017_0.19727250566749976"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-01-08T23:34:01.446Z","publish_time":1767915241446,"_source_registry_name":"default","_cnpm_publish_time":1767915241446},"0.39.0":{"name":"@mariozechner/pi-ai","version":"0.39.0","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json && node scripts/copy-assets.js","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"c25f1eab640350ddb9fc5abbfc90f99fbd0ec374","_id":"@mariozechner/pi-ai@0.39.0","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"shasum":"67e44c7b17feefd24ca79b0812740999ac6f3095","size":288117,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.39.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.39.0.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.39.0_1767913822053_0.598970625071392"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-01-08T23:10:22.293Z","publish_time":1767913822293,"_source_registry_name":"default","_cnpm_publish_time":1767913822293},"0.38.0":{"name":"@mariozechner/pi-ai","version":"0.38.0","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json && node scripts/copy-assets.js","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"4b084d0f9db70ac0ad5de2a37d6ef795f3c67f49","_id":"@mariozechner/pi-ai@0.38.0","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"shasum":"42e3e04e024953dee4389d2001e8ed8b5ee0783c","size":275413,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.38.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.38.0.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.38.0_1767844407418_0.8761024656617531"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-01-08T03:53:27.624Z","publish_time":1767844407624,"_source_registry_name":"default","_cnpm_publish_time":1767844407624},"0.37.8":{"name":"@mariozechner/pi-ai","version":"0.37.8","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json && node scripts/copy-assets.js","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"5514d4ffdbc5c679f1f1817867e9d53125a53969","_id":"@mariozechner/pi-ai@0.37.8","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"shasum":"5d9e1c2caac5b1dff452da7531646019b327e798","size":275777,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.37.8.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.37.8.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.37.8_1767745994956_0.45061088191255405"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-01-07T00:33:15.130Z","publish_time":1767745995130,"_source_registry_name":"default","_cnpm_publish_time":1767745995130},"0.37.7":{"name":"@mariozechner/pi-ai","version":"0.37.7","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json && node scripts/copy-assets.js","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"a4f2bb5c2714faa57e5da7c0a8061ce18c5b45d6","_id":"@mariozechner/pi-ai@0.37.7","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"shasum":"9ac0a064c173b96d35df17ed09577e0ff812427b","size":275778,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.37.7.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.37.7.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.37.7_1767744135751_0.3144768042333803"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-01-07T00:02:15.946Z","publish_time":1767744135946,"_source_registry_name":"default","_cnpm_publish_time":1767744135946},"0.37.6":{"name":"@mariozechner/pi-ai","version":"0.37.6","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json && node scripts/copy-assets.js","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"befbeb30e4e52ad4079713b17a981163ad455cdb","_id":"@mariozechner/pi-ai@0.37.6","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"shasum":"b1f101c70971562e1f4e7bc4aae81bfda384ee15","size":275777,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.37.6.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.37.6.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.37.6_1767742986526_0.507315215551436"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-01-06T23:43:06.739Z","publish_time":1767742986739,"_source_registry_name":"default","_cnpm_publish_time":1767742986739},"0.37.5":{"name":"@mariozechner/pi-ai","version":"0.37.5","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json && node scripts/copy-assets.js","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"fe95983dcffa60ffb30809c8bcc1b9ed30fcc196","_id":"@mariozechner/pi-ai@0.37.5","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"shasum":"be1ac72e6173ca29984286e72ad61cc165e38ff7","size":275268,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.37.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.37.5.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.37.5_1767738334476_0.5789622877760303"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-01-06T22:25:34.661Z","publish_time":1767738334661,"_source_registry_name":"default","_cnpm_publish_time":1767738334661},"0.37.4":{"name":"@mariozechner/pi-ai","version":"0.37.4","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json && node scripts/copy-assets.js","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"b08a6b22ce1a1c90fb85bc2b5f7cd197db273bfb","_id":"@mariozechner/pi-ai@0.37.4","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"shasum":"c98be7bbd87e3e6c0af2d8896f94eb40990ff2c8","size":275268,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.37.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.37.4.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.37.4_1767731324904_0.9781508320256287"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-01-06T20:28:45.071Z","publish_time":1767731325071,"_source_registry_name":"default","_cnpm_publish_time":1767731325071},"0.37.3":{"name":"@mariozechner/pi-ai","version":"0.37.3","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json && node scripts/copy-assets.js","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"86fea6379c77bc6e3a382e7245c00bdb26eba979","_id":"@mariozechner/pi-ai@0.37.3","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"shasum":"897cf61fe3f71d09805887d5cad09adb544132ae","size":273708,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.37.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.37.3.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.37.3_1767703449214_0.2887848076093844"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-01-06T12:44:09.411Z","publish_time":1767703449411,"_source_registry_name":"default","_cnpm_publish_time":1767703449411},"0.37.2":{"name":"@mariozechner/pi-ai","version":"0.37.2","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json && node scripts/copy-assets.js","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"6f4d16d76fab0a7597e33a4f647f4dba6f13afe9","_id":"@mariozechner/pi-ai@0.37.2","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"shasum":"2312b5ed1a8b75690ba0246b211e5b4e5dd156a3","size":274611,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.37.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.37.2.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.37.2_1767657220461_0.7436646362189185"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-01-05T23:53:40.694Z","publish_time":1767657220694,"_source_registry_name":"default","_cnpm_publish_time":1767657220694},"0.37.1":{"name":"@mariozechner/pi-ai","version":"0.37.1","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json && node scripts/copy-assets.js","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"a20112f45fde62ff413458c9e9a7a0b169f8b6e8","_id":"@mariozechner/pi-ai@0.37.1","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"shasum":"cee1978df6fa8a0b8d5d36b7233f45697ae26896","size":274531,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.37.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.37.1.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.37.1_1767655955057_0.8303333555878367"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-01-05T23:32:35.264Z","publish_time":1767655955264,"_source_registry_name":"default","_cnpm_publish_time":1767655955264},"0.37.0":{"name":"@mariozechner/pi-ai","version":"0.37.0","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json && node scripts/copy-assets.js","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"d3d53392e8ef39fff427d1233f2a89db517160d0","_id":"@mariozechner/pi-ai@0.37.0","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"shasum":"69b22475180bd068ee1fce082e5553f60f89082a","size":274531,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.37.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.37.0.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.37.0_1767654457830_0.536029845370299"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-01-05T23:07:38.041Z","publish_time":1767654458041,"_source_registry_name":"default","_cnpm_publish_time":1767654458041},"0.36.0":{"name":"@mariozechner/pi-ai","version":"0.36.0","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json && node scripts/copy-assets.js","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"435cd5d61feede5120af8d813511af9f0e3ffb4e","_id":"@mariozechner/pi-ai@0.36.0","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"shasum":"bca0ea4b6734e706a1342aa7738557aae77df92e","size":269377,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.36.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.36.0.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.36.0_1767590207553_0.26305280545559406"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-01-05T05:16:47.757Z","publish_time":1767590207757,"_source_registry_name":"default","_cnpm_publish_time":1767590207757},"0.35.0":{"name":"@mariozechner/pi-ai","version":"0.35.0","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"78d0b88f7d34e2459db0b8088e722bfd68a8847a","_id":"@mariozechner/pi-ai@0.35.0","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"shasum":"b9e41f6cb97fa325c2a25a160467bb79ec0148cc","size":215107,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.35.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.35.0.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.35.0_1767580906685_0.0903409117312779"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-01-05T02:41:46.856Z","publish_time":1767580906856,"_source_registry_name":"default","_cnpm_publish_time":1767580906856},"0.34.2":{"name":"@mariozechner/pi-ai","version":"0.34.2","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"71c978e2f96ebc5d9771c7e4e1509d0ab524591e","_id":"@mariozechner/pi-ai@0.34.2","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"shasum":"7149898cdeca43f0f2fc27d7f87af563519abb90","size":215102,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.34.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.34.2.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.34.2_1767557189424_0.3486035732805468"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-01-04T20:06:29.625Z","publish_time":1767557189625,"_source_registry_name":"default","_cnpm_publish_time":1767557189625},"0.34.1":{"name":"@mariozechner/pi-ai","version":"0.34.1","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"de92eeda1f444e71407cd70728c7fd10ef0ec762","_id":"@mariozechner/pi-ai@0.34.1","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"shasum":"a9e2ccfe4d93a87b7e81678c57c6b6fd1b4d248d","size":215103,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.34.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.34.1.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.34.1_1767556635894_0.09875142864878694"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-01-04T19:57:16.080Z","publish_time":1767556636080,"_source_registry_name":"default","_cnpm_publish_time":1767556636080},"0.34.0":{"name":"@mariozechner/pi-ai","version":"0.34.0","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"dc2f5d43cc8ff7d949e69e7af4e5e3ec6279f10f","_id":"@mariozechner/pi-ai@0.34.0","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"shasum":"2ac3f5a38ca69f25e9ceca56eccd4977c1e75756","size":215102,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.34.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.34.0.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.34.0_1767555013681_0.6664353205636531"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-01-04T19:30:13.849Z","publish_time":1767555013849,"_source_registry_name":"default","_cnpm_publish_time":1767555013849},"0.33.0":{"name":"@mariozechner/pi-ai","version":"0.33.0","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"faa10b9a7e522afbc9a98dbc683a681f7d0d3e5c","_id":"@mariozechner/pi-ai@0.33.0","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"shasum":"c7463e529f61bbd105bdf5a4895f5f1e218bd235","size":214691,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.33.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.33.0.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.33.0_1767485270433_0.08322638006481364"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-01-04T00:07:50.657Z","publish_time":1767485270657,"_source_registry_name":"default","_cnpm_publish_time":1767485270657},"0.32.3":{"name":"@mariozechner/pi-ai","version":"0.32.3","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.32.3","gitHead":"db829e73f9cfd9a987e468f3cd46f892fd6d9d4d","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"b11ddfe9e9cc4392d95f5c900e16a60a61bf41a2","size":214692,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.32.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.32.3.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.32.3_1767456583231_0.29953544692616263"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-01-03T16:09:43.491Z","publish_time":1767456583491,"_source_registry_name":"default","_cnpm_publish_time":1767456583491},"0.32.2":{"name":"@mariozechner/pi-ai","version":"0.32.2","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.32.2","gitHead":"113713d3808b0ebda9b24ce52deaf711da27695a","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"9856cd83e94404fb5a82263768a58f14cdbf6424","size":214721,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.32.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.32.2.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.32.2_1767452912807_0.9860728988882221"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-01-03T15:08:33.032Z","publish_time":1767452913032,"_source_registry_name":"default","_cnpm_publish_time":1767452913032},"0.32.1":{"name":"@mariozechner/pi-ai","version":"0.32.1","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.32.1","gitHead":"b783a3f50f543ab1f837b17f19252b0165c81afe","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"b1c14ad2433c79231755bd74be023e4c10971841","size":214721,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.32.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.32.1.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.32.1_1767410778364_0.5072565466572743"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-01-03T03:26:18.556Z","publish_time":1767410778556,"_source_registry_name":"default","_cnpm_publish_time":1767410778556},"0.32.0":{"name":"@mariozechner/pi-ai","version":"0.32.0","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.32.0","gitHead":"42a19ea81dea05aa15e610eac4df1043ad34de02","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"f16191be245aef3e73b1b29c945ed69483b955bc","size":214721,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.32.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.32.0.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.32.0_1767404923836_0.9299020869163419"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-01-03T01:48:43.982Z","publish_time":1767404923982,"_source_registry_name":"default","_cnpm_publish_time":1767404923982},"0.31.1":{"name":"@mariozechner/pi-ai","version":"0.31.1","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.31.1","gitHead":"d78a245cc85bc956ac7134a8262b352ffcd8c883","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"4113dad5dd9f3b92443d7b89e990f2c89ced6244","size":202212,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.31.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.31.1.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.31.1_1767346766409_0.017924529908939002"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-01-02T09:39:26.616Z","publish_time":1767346766616,"_source_registry_name":"default","_cnpm_publish_time":1767346766616},"0.31.0":{"name":"@mariozechner/pi-ai","version":"0.31.0","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.31.0","gitHead":"3caf359402473dfd120602e617832693d6febd7d","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"66c298d04d7b79dab6d0c057e592dc1be750c97a","size":202212,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.31.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.31.0.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.31.0_1767315619842_0.24912565426645195"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-01-02T01:00:20.013Z","publish_time":1767315620013,"_source_registry_name":"default","_cnpm_publish_time":1767315620013},"0.30.2":{"name":"@mariozechner/pi-ai","version":"0.30.2","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.30.2","gitHead":"0e8173af008f9543ef444a724f322912e769aee5","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"19c70d295e8ee4554d60ded9e7ca97980a49f9cc","size":217604,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.30.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.30.2.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.30.2_1766715987731_0.7114295475018926"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-26T02:26:27.904Z","publish_time":1766715987904,"_source_registry_name":"default","_cnpm_publish_time":1766715987904},"0.30.1":{"name":"@mariozechner/pi-ai","version":"0.30.1","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.30.1","gitHead":"9dcb0bdba42bc3222074c2385c5898d7f8971681","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"b8aa4546fd2765fb486350b48d317f5955027ba6","size":217587,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.30.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.30.1.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.30.1_1766715246795_0.7019773318027069"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-26T02:14:07.026Z","publish_time":1766715247026,"_source_registry_name":"default","_cnpm_publish_time":1766715247026},"0.30.0":{"name":"@mariozechner/pi-ai","version":"0.30.0","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.30.0","gitHead":"6d97d212d5b5b2927cdcd8e668af05f51e157ddd","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"06d5117dab47af864d2ccb65bffa02211ec8fe21","size":217161,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.30.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.30.0.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.30.0_1766691340701_0.8397650048813257"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-25T19:35:40.892Z","publish_time":1766691340892,"_source_registry_name":"default","_cnpm_publish_time":1766691340892},"0.29.1":{"name":"@mariozechner/pi-ai","version":"0.29.1","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.29.1","gitHead":"19dde0a9882d73562d21d49082c6faee1eb2a172","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"615ae078b15ae37d1c19e95216a5ab7c310a8eef","size":217175,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.29.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.29.1.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.29.1_1766682645998_0.5009381845608711"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-25T17:10:46.159Z","publish_time":1766682646159,"_source_registry_name":"default","_cnpm_publish_time":1766682646159},"0.29.0":{"name":"@mariozechner/pi-ai","version":"0.29.0","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.29.0","gitHead":"b48a0c9328aabc4cdf8d2e9bb9030355c182b6aa","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"56e550fa8f7d97c4033c0d813264699c22b65b31","size":217176,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.29.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.29.0.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.29.0_1766632632807_0.19640666539332652"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-25T03:17:12.995Z","publish_time":1766632632995,"_source_registry_name":"default","_cnpm_publish_time":1766632632995},"0.28.0":{"name":"@mariozechner/pi-ai","version":"0.28.0","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"pi-ai":"dist/cli.js"},"scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.28.0","gitHead":"fa716246ea42a36a3d4744170977330050f171e4","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"9a4bde3c31c7502b238c1872add0a1afeefc8038","size":217176,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.28.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.28.0.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.28.0_1766631491394_0.777112485264893"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-25T02:58:11.596Z","publish_time":1766631491596,"_source_registry_name":"default","_cnpm_publish_time":1766631491596},"0.27.9":{"name":"@mariozechner/pi-ai","version":"0.27.9","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.27.9","gitHead":"8fdd77b65253ad4cfc1dd2de1aa98444c947ab69","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"256b668105b5257af2cc65b1758b5fa564931e36","size":219251,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.27.9.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.27.9.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.27.9_1766607949863_0.6463232032272239"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-24T20:25:50.068Z","publish_time":1766607950068,"_source_registry_name":"default","_cnpm_publish_time":1766607950068},"0.27.8":{"name":"@mariozechner/pi-ai","version":"0.27.8","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.27.8","gitHead":"a965b6f160b45d09cabf6543787792006a940f0c","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"0c72aac5c95cdfedc9c6b038838ac22361316887","size":219251,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.27.8.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.27.8.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.27.8_1766605975726_0.9813859962153881"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-24T19:52:55.898Z","publish_time":1766605975898,"_source_registry_name":"default","_cnpm_publish_time":1766605975898},"0.27.7":{"name":"@mariozechner/pi-ai","version":"0.27.7","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.27.7","gitHead":"60768b90f37b9654ba56b4cc098d7ed95ba20b29","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"f4353626f582177bdfb9b86bfee9b50132402dfd","size":219252,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.27.7.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.27.7.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.27.7_1766597589082_0.9952828680373058"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-24T17:33:09.233Z","publish_time":1766597589233,"_source_registry_name":"default","_cnpm_publish_time":1766597589233},"0.27.6":{"name":"@mariozechner/pi-ai","version":"0.27.6","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.27.6","gitHead":"3eb460ee5043fd760296b61e21df6cee9ec73923","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"ccbd5c220d6db833d62d3064b0cb2e8a6b7cd67a","size":219157,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.27.6.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.27.6.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.27.6_1766581177868_0.29914339890680197"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-24T12:59:38.029Z","publish_time":1766581178029,"_source_registry_name":"default","_cnpm_publish_time":1766581178029},"0.27.5":{"name":"@mariozechner/pi-ai","version":"0.27.5","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.27.5","gitHead":"bf313d2713e492c1a626422c22cc9d092610d7d4","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"e95295f64d86f184adb2ec5f915052770f2e5acf","size":219157,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.27.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.27.5.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.27.5_1766575159300_0.24689538346946915"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-24T11:19:19.476Z","publish_time":1766575159476,"_source_registry_name":"default","_cnpm_publish_time":1766575159476},"0.27.3":{"name":"@mariozechner/pi-ai","version":"0.27.3","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.27.3","gitHead":"f8619c1564c603d9a32386ff2bf68847b06dd3c5","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"49fc765a11567980ca3a4bbd4f7c4feda239be81","size":219157,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.27.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.27.3.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.27.3_1766540812390_0.11226458423462393"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-24T01:46:52.566Z","publish_time":1766540812566,"_source_registry_name":"default","_cnpm_publish_time":1766540812566},"0.27.2":{"name":"@mariozechner/pi-ai","version":"0.27.2","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.27.2","gitHead":"c57ed89110b0d250454510bf07cbca22e983c935","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"a093a599fe09817157a3b4206ffe863ae236b4fa","size":218882,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.27.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.27.2.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.27.2_1766458206851_0.7587229604594306"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-23T02:50:07.003Z","publish_time":1766458207003,"_source_registry_name":"default","_cnpm_publish_time":1766458207003},"0.27.1":{"name":"@mariozechner/pi-ai","version":"0.27.1","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.27.1","gitHead":"4492a3f3040fe277f13132a0cf111e161082994f","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"c5920cc81c8468bfb02476012a740172b9f63280","size":218834,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.27.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.27.1.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.27.1_1766428137839_0.8273298167023733"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-22T18:28:58.008Z","publish_time":1766428138008,"_source_registry_name":"default","_cnpm_publish_time":1766428138008},"0.27.0":{"name":"@mariozechner/pi-ai","version":"0.27.0","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.27.0","gitHead":"b9b44f4cf4ce34072b10d4408dab756d732f3790","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"b27bda0d14d262ac8bf4d672c37bd72b37859816","size":218768,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.27.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.27.0.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.27.0_1766424045856_0.5472181722112714"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-22T17:20:46.055Z","publish_time":1766424046055,"_source_registry_name":"default","_cnpm_publish_time":1766424046055},"0.26.1":{"name":"@mariozechner/pi-ai","version":"0.26.1","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.26.1","gitHead":"7e1b632596563a0d301638fbd0c166dca86abd4b","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"b03f9be9e301300dcb6f1c452d99a7679cd11a24","size":218707,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.26.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.26.1.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.26.1_1766416799107_0.9836823102452557"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-22T15:19:59.258Z","publish_time":1766416799258,"_source_registry_name":"default","_cnpm_publish_time":1766416799258},"0.26.0":{"name":"@mariozechner/pi-ai","version":"0.26.0","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.26.0","gitHead":"42bc368e70afdfe590ad225d8dff9976db322e19","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"9161ccfc3670fe83f9405d29f747bc10ddfa18ea","size":218715,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.26.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.26.0.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.26.0_1766404468209_0.32641687574274414"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-22T11:54:28.392Z","publish_time":1766404468392,"_source_registry_name":"default","_cnpm_publish_time":1766404468392},"0.25.4":{"name":"@mariozechner/pi-ai","version":"0.25.4","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.25.4","gitHead":"11e743373da727b5e6802bc5663fc6d31c4193f2","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"e0048344958dc69814a58a7f2c6e1286932a2257","size":218698,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.25.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.25.4.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.25.4_1766359413018_0.4124634410539634"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-21T23:23:33.229Z","publish_time":1766359413229,"_source_registry_name":"default","_cnpm_publish_time":1766359413229},"0.25.3":{"name":"@mariozechner/pi-ai","version":"0.25.3","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.25.3","gitHead":"9c18439c4decca1bbbbfb9ab0eb5125b61917363","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"af90ccc6bafef59c10891cef898deb38c99072a4","size":218648,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.25.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.25.3.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.25.3_1766347313198_0.003001260008047346"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-21T20:01:53.371Z","publish_time":1766347313371,"_source_registry_name":"default","_cnpm_publish_time":1766347313371},"0.25.2":{"name":"@mariozechner/pi-ai","version":"0.25.2","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.25.2","gitHead":"299986f06b5517a94bf6bbd6468edb4cb0591efa","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"389f24576633bea9053120eea58104e10912ad25","size":217686,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.25.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.25.2.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.25.2_1766282372795_0.5973679966943777"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-21T01:59:33.019Z","publish_time":1766282373019,"_source_registry_name":"default","_cnpm_publish_time":1766282373019},"0.25.1":{"name":"@mariozechner/pi-ai","version":"0.25.1","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.25.1","gitHead":"c97702cf914493b6f0d059a25045a95c23cd7cb5","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"59aae3ec8f1f195db6e8f8635d78f6f63d26bcde","size":217695,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.25.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.25.1.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.25.1_1766281678091_0.06874006767988416"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-21T01:47:58.291Z","publish_time":1766281678291,"_source_registry_name":"default","_cnpm_publish_time":1766281678291},"0.25.0":{"name":"@mariozechner/pi-ai","version":"0.25.0","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.25.0","gitHead":"df07a74ad5bc6219eedfafce2ce918497488c5f2","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"d43e97ed1b5a86e1986bd07aedb2c4058addf87f","size":216849,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.25.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.25.0.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.25.0_1766264601489_0.765979333261652"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-20T21:03:21.648Z","publish_time":1766264601648,"_source_registry_name":"default","_cnpm_publish_time":1766264601648},"0.24.5":{"name":"@mariozechner/pi-ai","version":"0.24.5","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.24.5","gitHead":"085294b764699802c3c09d7dd9f0c77b3f8f516d","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"aea5f976db152de420690bbff7e6565cd49d7be3","size":160974,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.24.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.24.5.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.24.5_1766178603488_0.6606940726068722"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-19T21:10:03.681Z","publish_time":1766178603681,"_source_registry_name":"default","_cnpm_publish_time":1766178603681},"0.24.4":{"name":"@mariozechner/pi-ai","version":"0.24.4","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.24.4","gitHead":"f377c3c9c328bf87faaeffdff80c1521c2a5aa61","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"88f9f8aff5d46a3f025ec1416f4fe383fc1874bc","size":160974,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.24.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.24.4.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.24.4_1766177710357_0.4179811713502557"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-19T20:55:10.530Z","publish_time":1766177710530,"_source_registry_name":"default","_cnpm_publish_time":1766177710530},"0.24.3":{"name":"@mariozechner/pi-ai","version":"0.24.3","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.24.3","gitHead":"ad4eb3afa61739311667fee36c1cb0b118eef97b","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"6654f229065038efc9b4f037d9c4eb00aa0f87cd","size":160973,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.24.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.24.3.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.24.3_1766176604077_0.7858673905305136"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-19T20:36:44.243Z","publish_time":1766176604243,"_source_registry_name":"default","_cnpm_publish_time":1766176604243},"0.24.2":{"name":"@mariozechner/pi-ai","version":"0.24.2","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.24.2","gitHead":"5095b4eb024b81d2baf1fec5c38f63b308deba91","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"8072b8055da5cfe2ccaaa12b070c188be4a02008","size":160974,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.24.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.24.2.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.24.2_1766175200965_0.36716930973727857"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-19T20:13:21.151Z","publish_time":1766175201151,"_source_registry_name":"default","_cnpm_publish_time":1766175201151},"0.24.1":{"name":"@mariozechner/pi-ai","version":"0.24.1","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.24.1","gitHead":"50b055f3ae37b0332167ccb2ad26bc50f88b1ede","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"f122e19e264a7626458b01ae5010af2f150274d6","size":160974,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.24.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.24.1.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.24.1_1766173935755_0.40948228908109385"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-19T19:52:15.937Z","publish_time":1766173935937,"_source_registry_name":"default","_cnpm_publish_time":1766173935937},"0.24.0":{"name":"@mariozechner/pi-ai","version":"0.24.0","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.24.0","gitHead":"16685a36ecd6b5c070ba5d7d4a0a081f02b6df3d","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"3b94167d744695356fd4d0c883cf3e27d3a3435a","size":160319,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.24.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.24.0.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.24.0_1766118113996_0.21630265307363428"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-19T04:21:54.208Z","publish_time":1766118114208,"_source_registry_name":"default","_cnpm_publish_time":1766118114208},"0.23.5":{"name":"@mariozechner/pi-ai","version":"0.23.5","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.23.5","gitHead":"f92147ffe8fe10da818041448c4dbb4b660b7f33","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"d5a5cfc3991532aee1a0bee181ce8644436e8c42","size":160321,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.23.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.23.5.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.23.5_1766117767131_0.41942218568873035"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-19T04:16:07.309Z","publish_time":1766117767309,"_source_registry_name":"default","_cnpm_publish_time":1766117767309},"0.23.4":{"name":"@mariozechner/pi-ai","version":"0.23.4","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.34.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.23.4","gitHead":"2f86c8bc3c43b17a3cf95de9c768e6599dc16c07","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"c7ddc564fa5b7d6165addca9acd66902232c662f","size":158667,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.23.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.23.4.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.23.4_1766073459803_0.8974364178168448"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-18T15:57:39.966Z","publish_time":1766073459966,"_source_registry_name":"default","_cnpm_publish_time":1766073459966},"0.23.3":{"name":"@mariozechner/pi-ai","version":"0.23.3","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.31.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.23.3","gitHead":"00851369fcb172be9b2d9a21374a671495cf5bc9","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"ced2569a80874e8e69b6c6a93b1c56fe6582fe51","size":157702,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.23.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.23.3.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.23.3_1766007030117_0.07760023170723751"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-17T21:30:30.301Z","publish_time":1766007030301,"_source_registry_name":"default","_cnpm_publish_time":1766007030301},"0.23.2":{"name":"@mariozechner/pi-ai","version":"0.23.2","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.31.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.23.2","gitHead":"4894fa411c5fb035f264a480f119923f867d8097","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"50b2e33354284f24c53c3601b62d0ac4c5cf1cd5","size":157785,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.23.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.23.2.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.23.2_1765990604784_0.34744209677495963"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-17T16:56:44.982Z","publish_time":1765990604982,"_source_registry_name":"default","_cnpm_publish_time":1765990604982},"0.23.1":{"name":"@mariozechner/pi-ai","version":"0.23.1","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.31.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.23.1","gitHead":"46ba48a35dee49beed1c2d9d0d63078a13c0980e","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"696ab19ef56742b6c5b664def50524a6d3506ddd","size":157328,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.23.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.23.1.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.23.1_1765986225115_0.4755839129549333"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-17T15:43:45.314Z","publish_time":1765986225314,"_source_registry_name":"default","_cnpm_publish_time":1765986225314},"0.23.0":{"name":"@mariozechner/pi-ai","version":"0.23.0","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.31.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.23.0","gitHead":"67b73d018fb4d5fb8d40993318192486ae750ca7","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"78ca82bdd06dcb469c2a6dec7af16e289deeebd2","size":157330,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.23.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.23.0.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.23.0_1765984449028_0.38651508366362797"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-17T15:14:09.215Z","publish_time":1765984449215,"_source_registry_name":"default","_cnpm_publish_time":1765984449215},"0.22.5":{"name":"@mariozechner/pi-ai","version":"0.22.5","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.31.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.22.5","gitHead":"295f51b53fa8193636fff7835724cf8f947c1869","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"d4e80011e37348284dfb1fc9a249960fdbb8e243","size":157345,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.22.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.22.5.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.22.5_1765930966457_0.2619423953643847"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-17T00:22:46.648Z","publish_time":1765930966648,"_source_registry_name":"default","_cnpm_publish_time":1765930966648},"0.22.4":{"name":"@mariozechner/pi-ai","version":"0.22.4","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.31.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.22.4","gitHead":"03b061773c35d69d01fdb3ae5a566b24d6c10c77","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"1e031bd7d8806e04fdfe507a5a4b9fa3b5adff7a","size":157349,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.22.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.22.4.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.22.4_1765928390457_0.9246958312755988"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-16T23:39:50.629Z","publish_time":1765928390629,"_source_registry_name":"default","_cnpm_publish_time":1765928390629},"0.22.3":{"name":"@mariozechner/pi-ai","version":"0.22.3","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.31.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.22.3","gitHead":"deee1c2952416ed34fd79ff1e1bc4a95647ae75a","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"fdd1c29efb087f0741e22f0c6e85fefd8b1e63c1","size":157349,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.22.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.22.3.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.22.3_1765912004959_0.7369193756198569"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-16T19:06:45.145Z","publish_time":1765912005145,"_source_registry_name":"default","_cnpm_publish_time":1765912005145},"0.22.2":{"name":"@mariozechner/pi-ai","version":"0.22.2","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.31.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.22.2","gitHead":"fd5134f88c473b87b044fa6dff5d890646bfc13e","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"87177ffd36c8088fd3d6b39bc8677bc6095b95dc","size":155350,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.22.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.22.2.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.22.2_1765832984822_0.5694473152142117"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-15T21:09:45.033Z","publish_time":1765832985033,"_source_registry_name":"default","_cnpm_publish_time":1765832985033},"0.22.1":{"name":"@mariozechner/pi-ai","version":"0.22.1","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.31.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.22.1","gitHead":"a7e3b8625b6edfcd900e4392b1bb107b7fb97272","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"b6d13ac4acf5e9800e01fe30522aebdc2395f535","size":155078,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.22.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.22.1.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.22.1_1765832048815_0.6934132013605394"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-15T20:54:08.980Z","publish_time":1765832048980,"_source_registry_name":"default","_cnpm_publish_time":1765832048980},"0.22.0":{"name":"@mariozechner/pi-ai","version":"0.22.0","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.31.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.22.0","gitHead":"04058d5812ca76051ce29a423cf078d87b7b7d1d","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"8aa92e2563e2e95d7469686dcc0018d3cefe5cd6","size":155036,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.22.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.22.0.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.22.0_1765826099102_0.24282137616051958"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-15T19:14:59.292Z","publish_time":1765826099292,"_source_registry_name":"default","_cnpm_publish_time":1765826099292},"0.21.0":{"name":"@mariozechner/pi-ai","version":"0.21.0","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.31.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.21.0","gitHead":"3b440bb13b6408be44580cc88ba432be4eb3f5fa","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"376e70e7a83b226e4d2d8cf320a40e2b937b880d","size":150389,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.21.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.21.0.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.21.0_1765666569707_0.09514872623641146"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-13T22:56:09.864Z","publish_time":1765666569864,"_source_registry_name":"default","_cnpm_publish_time":1765666569864},"0.20.2":{"name":"@mariozechner/pi-ai","version":"0.20.2","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.31.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.20.2","gitHead":"aed17da04477cbd4ab657b734c634ce26714a3d3","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"2fae2003ffa3bd3cb34941c91c644b4a97647f52","size":149486,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.20.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.20.2.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.20.2_1765584730165_0.9261442070805022"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-13T00:12:10.415Z","publish_time":1765584730415,"_source_registry_name":"default","_cnpm_publish_time":1765584730415},"0.20.1":{"name":"@mariozechner/pi-ai","version":"0.20.1","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.20.1","maintainers":[{"name":"badlogic","email":""}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"6c540b4bf796e67bbbfbfc43b910259f18375b1e","size":149487,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.20.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.20.1.tgz"},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"59cf6c717b48e47863c58422c15254960dea9fc5","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"npm run generate-models && tsgo -p tsconfig.build.json","check":"biome check --write . && tsgo --noEmit","clean":"rm -rf dist","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","prepublishOnly":"npm run clean && npm run build","generate-models":"npx tsx scripts/generate-models.ts"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"repository":{"url":"git+https://github.com/badlogic/pi-mono.git","type":"git","directory":"packages/ai"},"_npmVersion":"10.9.2","description":"Unified LLM API with automatic model discovery and provider configuration","directories":{},"_nodeVersion":"23.4.0","dependencies":{"ajv":"^8.17.1","chalk":"^5.6.2","openai":"6.10.0","ajv-formats":"^3.0.1","partial-json":"^0.1.7","@google/genai":"1.31.0","@anthropic-ai/sdk":"0.71.2","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6","@mistralai/mistralai":"1.10.0"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.20.1_1765583865339_0.42331342832971686","host":"s3://npm-registry-packages-npm-production"},"_cnpmcore_publish_time":"2025-12-12T23:57:45.546Z","publish_time":1765583865546,"_source_registry_name":"default","_cnpm_publish_time":1765583865546},"0.20.0":{"name":"@mariozechner/pi-ai","version":"0.20.0","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.20.0","maintainers":[{"name":"badlogic","email":""}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"b3bbd34ffc413a7654320ccda48053c7f43d7f31","size":149493,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.20.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.20.0.tgz"},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"a5268d2aa70e0cf1f13d012b0a96867b9f3fbc36","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"npm run generate-models && tsgo -p tsconfig.build.json","check":"biome check --write . && tsgo --noEmit","clean":"rm -rf dist","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","prepublishOnly":"npm run clean && npm run build","generate-models":"npx tsx scripts/generate-models.ts"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"repository":{"url":"git+https://github.com/badlogic/pi-mono.git","type":"git","directory":"packages/ai"},"_npmVersion":"10.9.2","description":"Unified LLM API with automatic model discovery and provider configuration","directories":{},"_nodeVersion":"23.4.0","dependencies":{"ajv":"^8.17.1","chalk":"^5.6.2","openai":"6.10.0","ajv-formats":"^3.0.1","partial-json":"^0.1.7","@google/genai":"1.31.0","@anthropic-ai/sdk":"0.71.2","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6","@mistralai/mistralai":"1.10.0"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.20.0_1765578334333_0.628336179899734","host":"s3://npm-registry-packages-npm-production"},"_cnpmcore_publish_time":"2025-12-12T22:25:34.480Z","publish_time":1765578334480,"_source_registry_name":"default","_cnpm_publish_time":1765578334480},"0.19.2":{"name":"@mariozechner/pi-ai","version":"0.19.2","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.19.2","maintainers":[{"name":"badlogic","email":""}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"0a43b6df8d554210424169886ebf5fbc3a2e525a","size":149492,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.19.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.19.2.tgz"},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"236856aa486438345afd2ec6d13ecde3ecb072e8","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"npm run generate-models && tsgo -p tsconfig.build.json","check":"biome check --write . && tsgo --noEmit","clean":"rm -rf dist","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","prepublishOnly":"npm run clean && npm run build","generate-models":"npx tsx scripts/generate-models.ts"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"repository":{"url":"git+https://github.com/badlogic/pi-mono.git","type":"git","directory":"packages/ai"},"_npmVersion":"10.9.2","description":"Unified LLM API with automatic model discovery and provider configuration","directories":{},"_nodeVersion":"23.4.0","dependencies":{"ajv":"^8.17.1","chalk":"^5.6.2","openai":"6.10.0","ajv-formats":"^3.0.1","partial-json":"^0.1.7","@google/genai":"1.31.0","@anthropic-ai/sdk":"0.71.2","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6","@mistralai/mistralai":"1.10.0"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.19.2_1765577017087_0.5430513590756361","host":"s3://npm-registry-packages-npm-production"},"_cnpmcore_publish_time":"2025-12-12T22:03:37.244Z","publish_time":1765577017244,"_source_registry_name":"default","_cnpm_publish_time":1765577017244},"0.19.1":{"name":"@mariozechner/pi-ai","version":"0.19.1","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.31.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"948b4115c1839345bb3df918c02a9d76754ba3cf","_id":"@mariozechner/pi-ai@0.19.1","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"24.11.1","_npmVersion":"11.6.3","dist":{"shasum":"b585eeb98e70213916400aafd2ccf34a898670de","size":149681,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.19.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.19.1.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.19.1_1765562152236_0.1539237446739996"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-12T17:55:52.418Z","publish_time":1765562152418,"_source_registry_name":"default","_cnpm_publish_time":1765562152418},"0.19.0":{"name":"@mariozechner/pi-ai","version":"0.19.0","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.31.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"gitHead":"e3dadeb4e7c50bfac9cfe6c916ed229fb4fb8381","_id":"@mariozechner/pi-ai@0.19.0","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"24.11.1","_npmVersion":"11.6.3","dist":{"shasum":"4a2b8b4f40194efc73d54d97d13b69874afc4d0a","size":149674,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.19.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.19.0.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.19.0_1765560928262_0.7377569162487221"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-12T17:35:28.462Z","publish_time":1765560928462,"_source_registry_name":"default","_cnpm_publish_time":1765560928462},"0.18.8":{"name":"@mariozechner/pi-ai","version":"0.18.8","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.31.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.18.8","gitHead":"c6a4c1da95c2b0309429fc6e8769528711acf236","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"bb093a011fdcfef52fb297d50d328e092bc50611","size":149692,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.18.8.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.18.8.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.18.8_1765535439014_0.4064279372237636"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-12T10:30:39.158Z","publish_time":1765535439158,"_source_registry_name":"default","_cnpm_publish_time":1765535439158},"0.18.7":{"name":"@mariozechner/pi-ai","version":"0.18.7","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.31.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.18.7","gitHead":"80a04fb1aa499d26c27b025105d267e09ae3ff55","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"d31551a0abdec86a45bbdd52a7b304e6ddd97429","size":149693,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.18.7.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.18.7.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.18.7_1765534558171_0.11736903615502126"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-12T10:15:58.352Z","publish_time":1765534558352,"_source_registry_name":"default","_cnpm_publish_time":1765534558352},"0.18.6":{"name":"@mariozechner/pi-ai","version":"0.18.6","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.31.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.18.6","gitHead":"dba267468126651a075ba1eb8376f08a65ae8781","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"aef0629a400727304e2a665b330779867c959fc5","size":149692,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.18.6.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.18.6.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.18.6_1765533264766_0.35535533870335034"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-12T09:54:24.980Z","publish_time":1765533264980,"_source_registry_name":"default","_cnpm_publish_time":1765533264980},"0.18.5":{"name":"@mariozechner/pi-ai","version":"0.18.5","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.31.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.18.5","gitHead":"44e9b1c8e93c264f53a0b46c10aafcaed7025376","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"782ff54e4b6f976ee535e5b64a8c722248a5fd20","size":149692,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.18.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.18.5.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.18.5_1765530093567_0.12119099617109774"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-12T09:01:33.819Z","publish_time":1765530093819,"_source_registry_name":"default","_cnpm_publish_time":1765530093819},"0.18.4":{"name":"@mariozechner/pi-ai","version":"0.18.4","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.31.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.18.4","gitHead":"652ac0fa366d93ee15c201f86a2d71eaf831981e","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"5b61f50a7863a22088ab0421e93ab4be8908ca14","size":149687,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.18.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.18.4.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.18.4_1765494044063_0.5782129341959017"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-11T23:00:44.284Z","publish_time":1765494044284,"_source_registry_name":"default","_cnpm_publish_time":1765494044284},"0.18.3":{"name":"@mariozechner/pi-ai","version":"0.18.3","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.31.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.18.3","gitHead":"a13c8c34f55e59f2b85c2705a279bae3bb85b4bb","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"8d2e12cedc838fb5c166d8e1b98c1c9d2a994d9d","size":149687,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.18.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.18.3.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.18.3_1765481681490_0.5967846334536437"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-11T19:34:41.684Z","publish_time":1765481681684,"_source_registry_name":"default","_cnpm_publish_time":1765481681684},"0.18.2":{"name":"@mariozechner/pi-ai","version":"0.18.2","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.31.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.18.2","gitHead":"b40ecf0ee129acd8f700426555b2d405e25c20b5","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"127583a46fa812bf0aed9886ec08ad6c1554cb67","size":148781,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.18.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.18.2.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.18.2_1765406389914_0.6114405157768941"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-10T22:39:50.139Z","publish_time":1765406390139,"_source_registry_name":"default","_cnpm_publish_time":1765406390139},"0.18.1":{"name":"@mariozechner/pi-ai","version":"0.18.1","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.31.0","@mistralai/mistralai":"1.10.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.18.1","gitHead":"f931c57726c7284bb09b8271382fac25a273ec80","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"86eb7354475db33ef7342908fcda4baf56cf8b38","size":148482,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.18.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.18.1.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.18.1_1765399193953_0.33775710565452965"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-10T20:39:54.115Z","publish_time":1765399194115,"_source_registry_name":"default","_cnpm_publish_time":1765399194115},"0.18.0":{"name":"@mariozechner/pi-ai","version":"0.18.0","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.31.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.18.0","gitHead":"7785b7c93fb569477c3a7bbf9d8ea7e39b2dff97","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"849ce8de21ae6f2b2279c92963a510fdf9eff52c","size":142897,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.18.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.18.0.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.18.0_1765326178492_0.4029536722500733"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-10T00:22:58.643Z","publish_time":1765326178643,"_source_registry_name":"default","_cnpm_publish_time":1765326178643},"0.17.0":{"name":"@mariozechner/pi-ai","version":"0.17.0","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.31.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.17.0","gitHead":"2d9ecd17503078a82b2675e1687c5df6b6c18bc6","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"3786ea7eeb2b701644949342b4e3e9b5c62387af","size":142863,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.17.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.17.0.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.17.0_1765313428800_0.3585022953077155"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-09T20:50:28.987Z","publish_time":1765313428987,"_source_registry_name":"default","_cnpm_publish_time":1765313428987},"0.16.0":{"name":"@mariozechner/pi-ai","version":"0.16.0","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.31.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.16.0","gitHead":"796112f40fe2002293cbdf514cb139631d2bd1a3","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"f3727b0a6f68f59378a3fdfab760de7f6458d0c8","size":141691,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.16.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.16.0.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.16.0_1765291446288_0.4418796427857552"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-09T14:44:06.483Z","publish_time":1765291446483,"_source_registry_name":"default","_cnpm_publish_time":1765291446483},"0.15.0":{"name":"@mariozechner/pi-ai","version":"0.15.0","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.31.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.15.0","gitHead":"dbd6e5c50027ad2b4d36b77eb22572722e1f8727","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"13f05578511a9eb5aa20daa13ead593fad155a72","size":141666,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.15.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.15.0.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.15.0_1765284271618_0.44466354654946527"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-09T12:44:31.791Z","publish_time":1765284271791,"_source_registry_name":"default","_cnpm_publish_time":1765284271791},"0.14.2":{"name":"@mariozechner/pi-ai","version":"0.14.2","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.31.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.14.2","gitHead":"33a2bcf2031f732a1305b19721b97c69e9bf2c02","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"33462a39cd59d56534d3bc05d085a2ffafbd9385","size":141538,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.14.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.14.2.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.14.2_1765232976814_0.11087047543408102"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-08T22:29:37.013Z","publish_time":1765232977013,"_source_registry_name":"default","_cnpm_publish_time":1765232977013},"0.14.1":{"name":"@mariozechner/pi-ai","version":"0.14.1","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"0.71.2","@google/genai":"1.31.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"6.10.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.14.1","gitHead":"a054fecd1114aecc6d98ab4d4d6e6de60002f7b5","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"8dd90a190ab8ce7b67070ee3f00e2a0da50e12d2","size":141538,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.14.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.14.1.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.14.1_1765231216095_0.30613034622001556"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-08T22:00:16.365Z","publish_time":1765231216365,"_source_registry_name":"default","_cnpm_publish_time":1765231216365},"0.13.2":{"name":"@mariozechner/pi-ai","version":"0.13.2","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.61.0","@google/genai":"^1.30.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"5.21.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.13.2","gitHead":"a0bbc292015d3ae0f5b8aaa07d6b5e00c15adedb","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"5bb54bca1711b7e15616c826e333cd83c7b3fd52","size":138586,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.13.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.13.2.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.13.2_1765067155049_0.9501629555658586"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-07T00:25:55.257Z","publish_time":1765067155257,"_source_registry_name":"default","_cnpm_publish_time":1765067155257},"0.13.1":{"name":"@mariozechner/pi-ai","version":"0.13.1","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.61.0","@google/genai":"^1.30.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"5.21.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.13.1","gitHead":"95eadb9ed7f45e1c1267a71658b55df645414406","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"e7c8a28de22fc26849e9b840a1230381024ed06d","size":138585,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.13.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.13.1.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.13.1_1765059190282_0.24512143685939458"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-06T22:13:10.448Z","publish_time":1765059190448,"_source_registry_name":"default","_cnpm_publish_time":1765059190448},"0.13.0":{"name":"@mariozechner/pi-ai","version":"0.13.0","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.61.0","@google/genai":"^1.30.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"5.21.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.13.0","gitHead":"ecdbd88f5d63ed2de6cc57c9346c0293013111f0","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"8e0856b1e1b399064b19138ce1bd09f5ad48ea66","size":138584,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.13.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.13.0.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.13.0_1765057759607_0.8256524244781229"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-06T21:49:19.801Z","publish_time":1765057759801,"_source_registry_name":"default","_cnpm_publish_time":1765057759801},"0.12.15":{"name":"@mariozechner/pi-ai","version":"0.12.15","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.61.0","@google/genai":"^1.30.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"5.21.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.12.15","gitHead":"301c6ba11fe3608d9b20b6453e898dc53184c1e6","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"8aea61e3955e928ed3d835a887e19d0b8d5e9ba0","size":134545,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.12.15.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.12.15.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.12.15_1765052974164_0.3341202050244172"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-06T20:29:34.324Z","publish_time":1765052974324,"_source_registry_name":"default","_cnpm_publish_time":1765052974324},"0.12.14":{"name":"@mariozechner/pi-ai","version":"0.12.14","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.61.0","@google/genai":"^1.30.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"5.21.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.12.14","gitHead":"4a972fbe6cde8b2d4ca6e07ba5250bfceed2cb5d","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"294d3cc03bf3ef386ecf7963ac59aeea140077ad","size":129670,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.12.14.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.12.14.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.12.14_1764978450004_0.44546633586626516"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-05T23:47:30.176Z","publish_time":1764978450176,"_source_registry_name":"default","_cnpm_publish_time":1764978450176},"0.12.13":{"name":"@mariozechner/pi-ai","version":"0.12.13","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.61.0","@google/genai":"^1.30.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"5.21.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.12.13","gitHead":"05849258b5e34a4677d6b22b3b4a6f138c735121","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"bbf4587255937c22c205f317e2f940e8ee675ec9","size":129681,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.12.13.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.12.13.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.12.13_1764974340615_0.9980529006026446"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-05T22:39:00.780Z","publish_time":1764974340780,"_source_registry_name":"default","_cnpm_publish_time":1764974340780},"0.12.12":{"name":"@mariozechner/pi-ai","version":"0.12.12","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.61.0","@google/genai":"^1.30.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"5.21.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.12.12","gitHead":"ddf09720ccefc18020619f90c423128d6dc70ed1","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"5948e808d88bf22974dd19a0fd69b8f50b9aad03","size":129681,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.12.12.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.12.12.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.12.12_1764972079320_0.23250274032441154"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-05T22:01:19.473Z","publish_time":1764972079473,"_source_registry_name":"default","_cnpm_publish_time":1764972079473},"0.12.11":{"name":"@mariozechner/pi-ai","version":"0.12.11","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.61.0","@google/genai":"^1.30.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"5.21.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.12.11","gitHead":"b193560ab0b120ed49937cb2cfbd302cfe04524b","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"5d63d38f8f0cd5f1058429a6fa29eaf3b7832987","size":129599,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.12.11.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.12.11.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.12.11_1764933610318_0.7786308703182816"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-05T11:20:10.478Z","publish_time":1764933610478,"_source_registry_name":"default","_cnpm_publish_time":1764933610478},"0.12.10":{"name":"@mariozechner/pi-ai","version":"0.12.10","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.61.0","@google/genai":"^1.30.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"5.21.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.12.10","gitHead":"c7585e37c9346048eac0646b342e11b36a806b0f","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"0bde6a8dc9d80b844a9c6698645b9c2864c1958b","size":129323,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.12.10.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.12.10.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.12.10_1764877957814_0.5030285221684594"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-04T19:52:38.010Z","publish_time":1764877958010,"_source_registry_name":"default","_cnpm_publish_time":1764877958010},"0.12.9":{"name":"@mariozechner/pi-ai","version":"0.12.9","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.61.0","@google/genai":"^1.30.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"5.21.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.12.9","gitHead":"47bb3021557fd204114bf6061484515dd8255836","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"c12bbb792ebfa9c1409bdc1408e8a4c09193ef62","size":129721,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.12.9.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.12.9.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.12.9_1764851003631_0.4511097996747606"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-04T12:23:23.798Z","publish_time":1764851003798,"_source_registry_name":"default","_cnpm_publish_time":1764851003798},"0.12.8":{"name":"@mariozechner/pi-ai","version":"0.12.8","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.61.0","@google/genai":"^1.30.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"5.21.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.12.8","gitHead":"db6d655ee91209478fb8ed11867b107a4ef4b056","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"46879576f59f9ed00a8945e58748e6cadcfd0448","size":129710,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.12.8.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.12.8.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.12.8_1764817189973_0.06970652289686985"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-04T02:59:50.123Z","publish_time":1764817190123,"_source_registry_name":"default","_cnpm_publish_time":1764817190123},"0.12.7":{"name":"@mariozechner/pi-ai","version":"0.12.7","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.61.0","@google/genai":"^1.30.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"5.21.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.12.7","gitHead":"cfa9dbfc03fe3e3fab0509a54e8e549d66a1d5c4","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"ee36169f079e1009ca64ef6e24e4bd7a6d6de83a","size":129711,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.12.7.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.12.7.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.12.7_1764814292592_0.3166509910598909"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-04T02:11:32.896Z","publish_time":1764814292896,"_source_registry_name":"default","_cnpm_publish_time":1764814292896},"0.12.6":{"name":"@mariozechner/pi-ai","version":"0.12.6","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.61.0","@google/genai":"^1.30.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"5.21.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.12.6","gitHead":"1517e64869c8624dc76c4900b948e9bf5224f047","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"9fba7d4dcc2f7f1ed9f448b298ed077a1fe5fb36","size":129734,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.12.6.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.12.6.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.12.6_1764778375832_0.3635160443618157"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-03T16:12:56.018Z","publish_time":1764778376018,"_source_registry_name":"default","_cnpm_publish_time":1764778376018},"0.12.5":{"name":"@mariozechner/pi-ai","version":"0.12.5","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.61.0","@google/genai":"^1.30.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"5.21.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.12.5","gitHead":"d4d5051940fbf8bdf4d5f9c452919ce59ef6df4f","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"1341416a7c056499f417ec514c5503681e01ce32","size":129486,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.12.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.12.5.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.12.5_1764775313795_0.007436438396723144"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-03T15:21:53.991Z","publish_time":1764775313991,"_source_registry_name":"default","_cnpm_publish_time":1764775313991},"0.12.4":{"name":"@mariozechner/pi-ai","version":"0.12.4","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.61.0","@google/genai":"^1.30.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"5.21.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.12.4","gitHead":"30f69c5f83e16ae278f58bd9942e61fa56dead83","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"1c05354263cbe8936973b1dd4033dbb7ff5aa04b","size":129325,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.12.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.12.4.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.12.4_1764678440308_0.2145193448025804"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-02T12:27:20.490Z","publish_time":1764678440490,"_source_registry_name":"default","_cnpm_publish_time":1764678440490},"0.12.3":{"name":"@mariozechner/pi-ai","version":"0.12.3","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.61.0","@google/genai":"^1.30.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"5.21.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.12.3","gitHead":"858d041a5b972b570da50eed7723295bf8d1c52b","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"bf1b2e98ebca17bc5f4d2c82440277812cb84447","size":129301,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.12.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.12.3.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.12.3_1764677456513_0.8530278960474189"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-02T12:10:56.761Z","publish_time":1764677456761,"_source_registry_name":"default","_cnpm_publish_time":1764677456761},"0.12.2":{"name":"@mariozechner/pi-ai","version":"0.12.2","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.61.0","@google/genai":"^1.30.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"5.21.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.12.2","gitHead":"0d905ec5d925d43574b8c220547f787e6d99eac8","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"e3204d4c4fef9cd750bb36f97b008255809ebe4f","size":129301,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.12.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.12.2.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.12.2_1764676868155_0.6096655052994218"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-02T12:01:08.418Z","publish_time":1764676868418,"_source_registry_name":"default","_cnpm_publish_time":1764676868418},"0.12.1":{"name":"@mariozechner/pi-ai","version":"0.12.1","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.61.0","@google/genai":"^1.30.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"5.21.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.12.1","gitHead":"f480c98c80ab18d00934aa45884b6c09b163d348","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"d26cf8f402e71727d8badbc29c423a59c6b66e16","size":129301,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.12.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.12.1.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.12.1_1764675104946_0.22912255923907798"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-02T11:31:45.131Z","publish_time":1764675105131,"_source_registry_name":"default","_cnpm_publish_time":1764675105131},"0.12.0":{"name":"@mariozechner/pi-ai","version":"0.12.0","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.61.0","@google/genai":"^1.30.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"5.21.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.12.0","gitHead":"c4a65ad8b9aede2b6499972407f8644823a4a370","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"87285acc805769e1b8646f85b57f6ab03b7bb3de","size":129299,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.12.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.12.0.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.12.0_1764674355247_0.006430789722527086"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-02T11:19:15.458Z","publish_time":1764674355458,"_source_registry_name":"default","_cnpm_publish_time":1764674355458},"0.11.6":{"name":"@mariozechner/pi-ai","version":"0.11.6","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.61.0","@google/genai":"^1.30.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"5.21.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.11.6","gitHead":"c32ff608d38aeb6d161b3c2dfbefc1313f90251b","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"2c763b0660f57d18aa462c5848e55e8c5d2c6409","size":129326,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.11.6.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.11.6.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.11.6_1764664647887_0.8387360402076487"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-02T08:37:28.091Z","publish_time":1764664648091,"_source_registry_name":"default","_cnpm_publish_time":1764664648091},"0.11.5":{"name":"@mariozechner/pi-ai","version":"0.11.5","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.61.0","@google/genai":"^1.30.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"5.21.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.11.5","gitHead":"7a1884f85c0710b11c708503fc1ea928e6538e6b","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"fd724f246087ea796c68d492d86fcaf2ab97681d","size":129035,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.11.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.11.5.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.11.5_1764616971585_0.5515206299966815"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-01T19:22:51.791Z","publish_time":1764616971791,"_source_registry_name":"default","_cnpm_publish_time":1764616971791},"0.11.4":{"name":"@mariozechner/pi-ai","version":"0.11.4","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.61.0","@google/genai":"^1.30.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"5.21.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.11.4","gitHead":"e25420a4c8e5853debca7a0a55318f1a84fe33c0","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"fce068f035ef6e00428b974b0e627de5d21e69d3","size":128980,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.11.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.11.4.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.11.4_1764590746129_0.16032850612703808"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-01T12:05:46.314Z","publish_time":1764590746314,"_source_registry_name":"default","_cnpm_publish_time":1764590746314},"0.11.3":{"name":"@mariozechner/pi-ai","version":"0.11.3","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.61.0","@google/genai":"^1.30.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"5.21.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.11.3","gitHead":"285c657b70e7506788ff43ddfde06bd762dba6e6","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"6d0222916d5930fc673b538915a845c14f218856","size":128971,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.11.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.11.3.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.11.3_1764589846232_0.6243137758060828"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-01T11:50:46.427Z","publish_time":1764589846427,"_source_registry_name":"default","_cnpm_publish_time":1764589846427},"0.11.2":{"name":"@mariozechner/pi-ai","version":"0.11.2","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.61.0","@google/genai":"^1.30.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"5.21.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.11.2","gitHead":"d2b60f11ebe5e5ad7acc195ee0bc9ead0ab4114d","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"a22f7cfb51d4c28b2e977100104678bdbeff8a2a","size":128981,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.11.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.11.2.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.11.2_1764548487129_0.8011754322444637"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-12-01T00:21:27.315Z","publish_time":1764548487315,"_source_registry_name":"default","_cnpm_publish_time":1764548487315},"0.11.1":{"name":"@mariozechner/pi-ai","version":"0.11.1","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.61.0","@google/genai":"^1.30.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"5.21.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.11.1","gitHead":"5fa30b8add7a5cdd75630067fb381b60f0b3c77e","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"bed8fac656f1ed4bab7ff7ce4613f57dc0b5563d","size":128980,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.11.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.11.1.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.11.1_1764453980841_0.2728674395974009"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-11-29T22:06:21.068Z","publish_time":1764453981068,"_source_registry_name":"default","_cnpm_publish_time":1764453981068},"0.11.0":{"name":"@mariozechner/pi-ai","version":"0.11.0","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.61.0","@google/genai":"^1.30.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"5.21.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.11.0","gitHead":"532bb69ed63709191ae022979a979dfb7dddd942","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"ba5eea04d20668dfb50e8b6be238bac75544bd72","size":128953,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.11.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.11.0.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.11.0_1764374808412_0.5151408184727793"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-11-29T00:06:48.631Z","publish_time":1764374808631,"_source_registry_name":"default","_cnpm_publish_time":1764374808631},"0.10.2":{"name":"@mariozechner/pi-ai","version":"0.10.2","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.61.0","@google/genai":"^1.30.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"5.21.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.10.2","gitHead":"4830a9cf404f11d717c4261e493a0cd5877476ec","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"3de9c2cd24f60c6a43f955ced9930a9e79207880","size":128962,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.10.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.10.2.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.10.2_1764284388774_0.10560382055736639"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-11-27T22:59:49.013Z","publish_time":1764284389013,"_source_registry_name":"default","_cnpm_publish_time":1764284389013},"0.10.1":{"name":"@mariozechner/pi-ai","version":"0.10.1","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.61.0","@google/genai":"^1.30.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"5.21.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.10.1","gitHead":"0e95592eb7b8324b5648bcb5b78e0f2b8e129f0a","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"362475b9b071f0292eae7d43bfcc824d41e51ae3","size":128914,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.10.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.10.1.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.10.1_1764249546764_0.8096611584325826"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-11-27T13:19:06.975Z","publish_time":1764249546975,"_source_registry_name":"default","_cnpm_publish_time":1764249546975},"0.10.0":{"name":"@mariozechner/pi-ai","version":"0.10.0","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.61.0","@google/genai":"^1.30.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"5.21.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.10.0","gitHead":"932f48b0e9715aec8a26efe5cb4464338e4e55b9","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"0f875e8de87b86e775e45223b675568ea06a182b","size":128709,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.10.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.10.0.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.10.0_1764203662415_0.10828543104356969"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-11-27T00:34:22.669Z","publish_time":1764203662669,"_source_registry_name":"default","_cnpm_publish_time":1764203662669},"0.9.4":{"name":"@mariozechner/pi-ai","version":"0.9.4","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.61.0","@google/genai":"^1.30.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"5.21.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.9.4","gitHead":"a484330cd15e5844dfa42a4749594067128ea0c1","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"65b13246cb265e71c6181025ba1cfc48616fdb12","size":128592,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.9.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.9.4.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.9.4_1764118259554_0.507227349452688"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-11-26T00:50:59.739Z","publish_time":1764118259739,"_source_registry_name":"default","_cnpm_publish_time":1764118259739},"0.9.3":{"name":"@mariozechner/pi-ai","version":"0.9.3","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.61.0","@google/genai":"^1.30.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"5.21.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.9.3","gitHead":"fd7510efae7226d9a3ddd2a14f45a4e62f7a2bd7","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"e0361786491c44fea61515d53187874cebcb7810","size":128743,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.9.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.9.3.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.9.3_1764014637365_0.7681624575079122"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-11-24T20:03:57.562Z","publish_time":1764014637562,"_source_registry_name":"default","_cnpm_publish_time":1764014637562},"0.9.2":{"name":"@mariozechner/pi-ai","version":"0.9.2","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.61.0","@google/genai":"^1.30.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"5.21.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.9.2","gitHead":"a1fd400aea6a9cf1760a011525b489e22804c2da","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"203b226ca1db79eb4a863f1b1ce443bea4618bc0","size":128544,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.9.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.9.2.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.9.2_1764009211818_0.33037701449122014"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-11-24T18:33:32.029Z","publish_time":1764009212029,"_source_registry_name":"default","_cnpm_publish_time":1764009212029},"0.9.1":{"name":"@mariozechner/pi-ai","version":"0.9.1","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.61.0","@google/genai":"^1.30.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"5.21.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.9.1","gitHead":"7c2da943fcebbb193e977d7355146fad924f2285","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"d8a81ec1e20faed0ff88746c6ef6ef4ee1e27c4a","size":128350,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.9.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.9.1.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.9.1_1763760080764_0.20399006956608456"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-11-21T21:21:21.021Z","publish_time":1763760081021,"_source_registry_name":"default","_cnpm_publish_time":1763760081021},"0.9.0":{"name":"@mariozechner/pi-ai","version":"0.9.0","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.61.0","@google/genai":"^1.30.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"5.21.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.9.0","gitHead":"73f91c720eb1185447a8571059bd3bccd8f1688e","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"45d1a45e050ca67c779000929e32ecbd5dfd6ae7","size":128337,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.9.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.9.0.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.9.0_1763759022570_0.4736440727255149"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-11-21T21:03:42.782Z","publish_time":1763759022782,"_source_registry_name":"default","_cnpm_publish_time":1763759022782},"0.8.5":{"name":"@mariozechner/pi-ai","version":"0.8.5","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.61.0","@google/genai":"^1.30.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"5.21.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.8.5","gitHead":"ee990cee22b0b16df4d81a31e21d313bc234bef8","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"bd359943600fdad9ee5daa7b0482e62f8ce29b25","size":128351,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.8.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.8.5.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.8.5_1763725742869_0.8514679668434963"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-11-21T11:49:03.062Z","publish_time":1763725743062,"_source_registry_name":"default","_cnpm_publish_time":1763725743062},"0.8.4":{"name":"@mariozechner/pi-ai","version":"0.8.4","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.61.0","@google/genai":"^1.30.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"5.21.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.8.4","gitHead":"f660fdd18887f460a8f84e3e65253c5adef0d1f1","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"c3a4157150b6879c778ade923107ff43be429e6b","size":128351,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.8.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.8.4.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.8.4_1763698224745_0.48299048168203274"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-11-21T04:10:25.016Z","publish_time":1763698225016,"_source_registry_name":"default","_cnpm_publish_time":1763698225016},"0.8.3":{"name":"@mariozechner/pi-ai","version":"0.8.3","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.61.0","@google/genai":"^1.30.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"5.21.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.8.3","gitHead":"6fdde180ee50028bafe102ac006af867229b50f7","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"cb18b31aa4db6cfb74d004bb51b418c20ca606ff","size":128339,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.8.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.8.3.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.8.3_1763697602797_0.6279861854968645"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-11-21T04:00:03.032Z","publish_time":1763697603032,"_source_registry_name":"default","_cnpm_publish_time":1763697603032},"0.8.2":{"name":"@mariozechner/pi-ai","version":"0.8.2","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.61.0","@google/genai":"^1.30.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"5.21.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.8.2","gitHead":"45ffe0a0deff8c52f5e733148e44a3ca08592e14","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"32f7d9aa9e7d4df8b7f6aab993ffe6f64be46621","size":128351,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.8.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.8.2.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.8.2_1763691809512_0.6967839290234161"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-11-21T02:23:29.713Z","publish_time":1763691809713,"_source_registry_name":"default","_cnpm_publish_time":1763691809713},"0.8.1":{"name":"@mariozechner/pi-ai","version":"0.8.1","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.61.0","@google/genai":"^1.30.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"5.21.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.8.1","gitHead":"45ffe0a0deff8c52f5e733148e44a3ca08592e14","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"14e29775a894a8e7fb12372fd88e5e658825d198","size":128351,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.8.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.8.1.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.8.1_1763691739821_0.036695809506271715"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-11-21T02:22:20.322Z","publish_time":1763691740322,"_source_registry_name":"default","_cnpm_publish_time":1763691740322},"0.8.0":{"name":"@mariozechner/pi-ai","version":"0.8.0","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.61.0","@google/genai":"^1.30.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"5.21.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.8.0","gitHead":"45ffe0a0deff8c52f5e733148e44a3ca08592e14","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"18d6a257eeaaca273d538aa566cd09d7705122e6","size":128351,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.8.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.8.0.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.8.0_1763691455589_0.9686862834966528"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-11-21T02:17:35.794Z","publish_time":1763691455794,"_source_registry_name":"default","_cnpm_publish_time":1763691455794},"0.7.29":{"name":"@mariozechner/pi-ai","version":"0.7.29","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.61.0","@google/genai":"^1.30.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"5.21.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.7.29","gitHead":"15e260308b2b3d5a82f297b0fb73d9db8e17904f","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"503c0ab1f5e9ea664cb157a25235652f313f513e","size":128352,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.7.29.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.7.29.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.7.29_1763668149965_0.7831818569710185"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-11-20T19:49:10.175Z","publish_time":1763668150175,"_source_registry_name":"default","_cnpm_publish_time":1763668150175},"0.7.28":{"name":"@mariozechner/pi-ai","version":"0.7.28","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.61.0","@google/genai":"^1.30.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"5.21.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.7.28","gitHead":"7408ae3907fd7e6043fb691d56d5b5c9eb9ec95e","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"7aefa848fe0eadab6cf3fb4dc40f5c279256b43e","size":128352,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.7.28.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.7.28.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.7.28_1763667631426_0.8515851288208174"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-11-20T19:40:31.615Z","publish_time":1763667631615,"_source_registry_name":"default","_cnpm_publish_time":1763667631615},"0.7.27":{"name":"@mariozechner/pi-ai","version":"0.7.27","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.61.0","@google/genai":"^1.30.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"5.21.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.7.27","gitHead":"1889869e9e8cafa36f4b2568b8063f912eb5840f","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"75933b0607f4c36deedc4dd779623daff1ed8c1d","size":128352,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.7.27.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.7.27.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.7.27_1763661429950_0.3442999417211139"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-11-20T17:57:10.165Z","publish_time":1763661430165,"_source_registry_name":"default","_cnpm_publish_time":1763661430165},"0.7.26":{"name":"@mariozechner/pi-ai","version":"0.7.26","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.61.0","@google/genai":"^1.30.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"5.21.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.7.26","gitHead":"00142c5c768c5e0254711a0021dd2915c5f4d5f1","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"ece61322f072b637b565bef186a14b8bf8c3d10c","size":128259,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.7.26.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.7.26.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.7.26_1763656235769_0.9650790044203104"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-11-20T16:30:35.955Z","publish_time":1763656235955,"_source_registry_name":"default","_cnpm_publish_time":1763656235955},"0.7.25":{"name":"@mariozechner/pi-ai","version":"0.7.25","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.61.0","@google/genai":"^1.30.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"5.21.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.7.25","gitHead":"00decc263474ab90e3f06a1a09fcdbde59672b84","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"8a0840db1f55a96c191cc566fea650b656b3fdd5","size":127692,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.7.25.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.7.25.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.7.25_1763642547644_0.2079737240078332"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-11-20T12:42:27.823Z","publish_time":1763642547823,"_source_registry_name":"default","_cnpm_publish_time":1763642547823},"0.7.24":{"name":"@mariozechner/pi-ai","version":"0.7.24","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.61.0","@google/genai":"^1.30.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"5.21.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.7.24","gitHead":"a08d8f5f7ca64b70c6cb461ceebec310b078a681","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"7ae7bdd64250a1d340d74297fc96275719fda8dc","size":127692,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.7.24.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.7.24.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.7.24_1763639022096_0.11951120524945047"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-11-20T11:43:42.290Z","publish_time":1763639022290,"_source_registry_name":"default","_cnpm_publish_time":1763639022290},"0.7.23":{"name":"@mariozechner/pi-ai","version":"0.7.23","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.61.0","@google/genai":"^1.30.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"5.21.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.7.23","gitHead":"44b0f43eeb42b7f14ee547dc343caa7ac4d40b2d","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"e8a1620b5cc9a28eea82f03eaea78cff4f2a1b60","size":127692,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.7.23.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.7.23.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.7.23_1763636430869_0.6956771883057853"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-11-20T11:00:31.055Z","publish_time":1763636431055,"_source_registry_name":"default","_cnpm_publish_time":1763636431055},"0.7.22":{"name":"@mariozechner/pi-ai","version":"0.7.22","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.61.0","@google/genai":"^1.30.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"5.21.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.7.22","gitHead":"90cf028218b35841a9f761cdbb5c1f2b48d66469","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"9e85361580a670751f1db2be13605bb15ae268fb","size":127795,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.7.22.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.7.22.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.7.22_1763513514539_0.6630053035971695"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-11-19T00:51:54.736Z","publish_time":1763513514736,"_source_registry_name":"default","_cnpm_publish_time":1763513514736},"0.7.21":{"name":"@mariozechner/pi-ai","version":"0.7.21","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.61.0","@google/genai":"^1.30.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"5.21.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.7.21","gitHead":"f7279d6b47b0a30390ca4699608a141d4a705ca7","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"ad8eb17670101c84c5ce7e42349f0aced9223ddf","size":127796,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.7.21.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.7.21.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.7.21_1763510260406_0.01242373809558317"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-11-18T23:57:40.639Z","publish_time":1763510260639,"_source_registry_name":"default","_cnpm_publish_time":1763510260639},"0.7.20":{"name":"@mariozechner/pi-ai","version":"0.7.20","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.61.0","@google/genai":"^1.30.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"5.21.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.7.20","gitHead":"41f51bd93e6b5e7d9424d39a8219605e6ecf96d4","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"621a03ae7b6137cda15c53e18d69c92736d2e976","size":127915,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.7.20.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.7.20.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.7.20_1763502832367_0.4299416391126947"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-11-18T21:53:52.565Z","publish_time":1763502832565,"_source_registry_name":"default","_cnpm_publish_time":1763502832565},"0.7.19":{"name":"@mariozechner/pi-ai","version":"0.7.19","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.61.0","@google/genai":"^1.30.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"5.21.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.7.19","gitHead":"b30438f0941533cf87bf98956dc321ba74bb164d","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"d9532a4114ae8b4cfe9a786e0a8c63ce76595272","size":127916,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.7.19.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.7.19.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.7.19_1763502738293_0.6099855569274228"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-11-18T21:52:18.502Z","publish_time":1763502738502,"_source_registry_name":"default","_cnpm_publish_time":1763502738502},"0.7.18":{"name":"@mariozechner/pi-ai","version":"0.7.18","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.61.0","@google/genai":"^1.30.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"5.21.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.7.18","gitHead":"e1381ff21ddfd838b25bc2313650b4b2c6c7c3ea","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"7958868f669c20ec9d9b607c53cd69a1a4f6600c","size":127916,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.7.18.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.7.18.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.7.18_1763500401253_0.924246432674531"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-11-18T21:13:21.490Z","publish_time":1763500401490,"_source_registry_name":"default","_cnpm_publish_time":1763500401490},"0.7.17":{"name":"@mariozechner/pi-ai","version":"0.7.17","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.61.0","@google/genai":"^1.30.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"5.21.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.7.17","gitHead":"1fa7d1cd7324de022d8571eaeb0d7d5f524597f4","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"00cf39dab144b97064b1017b16122019b7ecdeb0","size":128040,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.7.17.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.7.17.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.7.17_1763484614911_0.78516322108103"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-11-18T16:50:15.133Z","publish_time":1763484615133,"_source_registry_name":"default","_cnpm_publish_time":1763484615133},"0.7.16":{"name":"@mariozechner/pi-ai","version":"0.7.16","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.61.0","@google/genai":"^1.17.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"5.21.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.7.16","gitHead":"f77dfbe173f4de69e4d886d106ff35256ea718b3","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"af7dd67b54b677d24eab7ba11b71cc8d592dc285","size":127395,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.7.16.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.7.16.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.7.16_1763385168649_0.056785745016115774"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-11-17T13:12:48.843Z","publish_time":1763385168843,"_source_registry_name":"default","_cnpm_publish_time":1763385168843},"0.7.15":{"name":"@mariozechner/pi-ai","version":"0.7.15","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.61.0","@google/genai":"^1.17.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"5.21.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.7.15","gitHead":"acfd1de53f4f9f7ea999e0bcc24e5ab7d00bf48d","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"97966698cd12a7e40b3d4a8e3007010888369fec","size":127395,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.7.15.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.7.15.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.7.15_1763380497079_0.9301184515888614"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-11-17T11:54:57.269Z","publish_time":1763380497269,"_source_registry_name":"default","_cnpm_publish_time":1763380497269},"0.7.13":{"name":"@mariozechner/pi-ai","version":"0.7.13","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.61.0","@google/genai":"^1.17.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"5.21.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.7.13","gitHead":"ed53fcec954b414bb40048d777dd8f1bf0f8c085","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"10881b25a114256791778845d699191caecdb090","size":127066,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.7.13.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.7.13.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.7.13_1763330983613_0.8397852456559936"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-11-16T22:09:43.802Z","publish_time":1763330983802,"_source_registry_name":"default","_cnpm_publish_time":1763330983802},"0.7.12":{"name":"@mariozechner/pi-ai","version":"0.7.12","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.61.0","@google/genai":"^1.17.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"5.21.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.7.12","gitHead":"b2491aac2332a6f8cbfce3167d523ae22e3e3b1e","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"509ffdf992859911eeb2ab6e72461409f6dc8c65","size":127066,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.7.12.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.7.12.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.7.12_1763330243951_0.4715392905507647"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-11-16T21:57:24.167Z","publish_time":1763330244167,"_source_registry_name":"default","_cnpm_publish_time":1763330244167},"0.7.11":{"name":"@mariozechner/pi-ai","version":"0.7.11","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.61.0","@google/genai":"^1.17.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"5.21.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.7.11","gitHead":"fd2b2ec7703d769be7df46d00c799ed2e7ffb3c0","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"6c897240dcf614bc8b6d50d7254964638089099f","size":126996,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.7.11.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.7.11.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.7.11_1763323329212_0.28433922813819734"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-11-16T20:02:09.456Z","publish_time":1763323329456,"_source_registry_name":"default","_cnpm_publish_time":1763323329456},"0.7.10":{"name":"@mariozechner/pi-ai","version":"0.7.10","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.61.0","@google/genai":"^1.17.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"5.21.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.7.10","gitHead":"1afe40efae28b22dace15a9525a863785a513b01","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"6901d7fbfba33558cbe8ed3d1387b3504e10a9df","size":126996,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.7.10.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.7.10.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.7.10_1763161019301_0.20221290886628496"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-11-14T22:56:59.556Z","publish_time":1763161019556,"_source_registry_name":"default","_cnpm_publish_time":1763161019556},"0.7.9":{"name":"@mariozechner/pi-ai","version":"0.7.9","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.61.0","@google/genai":"^1.17.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"5.21.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.7.9","gitHead":"6bed5a919f9ecf4c300409cc155108f0869718f4","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"d72a623e983eb1a506d906c361004c5244045cae","size":126994,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.7.9.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.7.9.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.7.9_1763158991537_0.49115627550044905"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-11-14T22:23:11.742Z","publish_time":1763158991742,"_source_registry_name":"default","_cnpm_publish_time":1763158991742},"0.7.8":{"name":"@mariozechner/pi-ai","version":"0.7.8","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.61.0","@google/genai":"^1.17.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"5.21.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.7.8","gitHead":"b35856d3191a95e836b5d1631d8b6a001754361c","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"f78e2daeb0ef453f791762a545547415be1d5d38","size":126951,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.7.8.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.7.8.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.7.8_1763074192696_0.16640337849534093"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-11-13T22:49:52.927Z","publish_time":1763074192927,"_source_registry_name":"default","_cnpm_publish_time":1763074192927},"0.7.7":{"name":"@mariozechner/pi-ai","version":"0.7.7","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.61.0","@google/genai":"^1.17.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"5.21.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.7.7","gitHead":"7b01b5b5a2ec2e1c7bef9e7283394a0ed64ebad8","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"62cbba44f354a328fc758f0f16fb5d293120625b","size":126952,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.7.7.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.7.7.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.7.7_1763073879967_0.41972086094894046"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-11-13T22:44:40.162Z","publish_time":1763073880162,"_source_registry_name":"default","_cnpm_publish_time":1763073880162},"0.7.5":{"name":"@mariozechner/pi-ai","version":"0.7.5","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.61.0","@google/genai":"^1.17.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"5.21.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.7.5","gitHead":"c3d8eaff68e8562d79812ede8600f8f22749048a","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"eee629ebaba87d07ae8a6b070c42b3767d08e89c","size":126664,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.7.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.7.5.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.7.5_1762993913957_0.5755525010967619"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-11-13T00:31:54.153Z","publish_time":1762993914153,"_source_registry_name":"default","_cnpm_publish_time":1762993914153},"0.7.4":{"name":"@mariozechner/pi-ai","version":"0.7.4","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.61.0","@google/genai":"^1.17.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"5.21.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.7.4","gitHead":"c8d762833a8424059463cde36582d7fccf4268a6","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"b0b85d2a43fd1694ba45bc21fdeb9010ba7cfc9f","size":126672,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.7.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.7.4.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.7.4_1762993860416_0.16817581249769908"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-11-13T00:31:00.629Z","publish_time":1762993860629,"_source_registry_name":"default","_cnpm_publish_time":1762993860629},"0.7.2":{"name":"@mariozechner/pi-ai","version":"0.7.2","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.61.0","@google/genai":"^1.17.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"5.21.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.7.2","gitHead":"39e22f1294638e9b9258c01ce46077018bdf58c2","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"f7d152ea5ff78624118fdbbfbad06db05b555dc9","size":126664,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.7.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.7.2.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.7.2_1762992039930_0.5366148686826797"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-11-13T00:00:40.148Z","publish_time":1762992040148,"_source_registry_name":"default","_cnpm_publish_time":1762992040148},"0.7.1":{"name":"@mariozechner/pi-ai","version":"0.7.1","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.61.0","@google/genai":"^1.17.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"5.21.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.7.1","gitHead":"4019acf1f083e66c091174bb9edb2609a6481a40","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"a2d3e6df82ed96592fb3379129b3a6d37ab4e71b","size":126672,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.7.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.7.1.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.7.1_1762988727102_0.5118613619241867"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-11-12T23:05:27.293Z","publish_time":1762988727293,"_source_registry_name":"default","_cnpm_publish_time":1762988727293},"0.7.0":{"name":"@mariozechner/pi-ai","version":"0.7.0","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.61.0","@google/genai":"^1.17.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"5.21.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.7.0","gitHead":"b1410ef903b69760a5d647fe46d0f715f9684649","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"a8b12c343497d5ea96367a6a41e688f60d61dae0","size":126671,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.7.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.7.0.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.7.0_1762988145392_0.22212027069368423"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-11-12T22:55:45.606Z","publish_time":1762988145606,"_source_registry_name":"default","_cnpm_publish_time":1762988145606},"0.6.2":{"name":"@mariozechner/pi-ai","version":"0.6.2","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsgo -p tsconfig.build.json","dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","dev:tsc":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write . && tsgo --noEmit","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.61.0","@google/genai":"^1.17.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"5.21.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.6.2","gitHead":"43a1c1ae44ef5b9487fef678ef749406d9518832","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"dfdc409e9de5e396b36d1821b458452ac21171d2","size":126661,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.6.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.6.2.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.6.2_1762987471352_0.10594705876290211"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-11-12T22:44:31.576Z","publish_time":1762987471576,"_source_registry_name":"default","_cnpm_publish_time":1762987471576},"0.5.48":{"name":"@mariozechner/pi-ai","version":"0.5.48","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsc -p tsconfig.build.json","dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write .","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.61.0","@google/genai":"^1.17.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"5.21.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.5.48","gitHead":"ec50ede6c22d37e1485b4b68d3bb02cdc6b22fcd","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"5c664a9b3b8c4ce3c078493766e0ae76330f0f7b","size":97728,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.5.48.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.5.48.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.5.48_1761510246898_0.3557569968546721"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-10-26T20:24:07.085Z","publish_time":1761510247085,"_source_registry_name":"default","_cnpm_publish_time":1761510247085},"0.5.47":{"name":"@mariozechner/pi-ai","version":"0.5.47","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsc -p tsconfig.build.json","dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write .","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.61.0","@google/genai":"^1.17.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"5.21.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.5.47","gitHead":"55dc0b6e086c9823376f756cf15c4bcab7ae757b","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"742ee247bc730587caae69f4c0e35f056a438fdd","size":97528,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.5.47.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.5.47.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.5.47_1761432326237_0.6484197378082364"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-10-25T22:45:26.443Z","publish_time":1761432326443,"_source_registry_name":"default","_cnpm_publish_time":1761432326443},"0.5.46":{"name":"@mariozechner/pi-ai","version":"0.5.46","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsc -p tsconfig.build.json","dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write .","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.61.0","@google/genai":"^1.17.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"5.21.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.5.46","gitHead":"ef09efaac941a71753c5f976e54d1cdb38a25016","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"ee92e654daa7dbe79d823427920c0479f09e6635","size":96694,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.5.46.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.5.46.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.5.46_1761131424400_0.637261473512454"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-10-22T11:10:24.616Z","publish_time":1761131424616,"_source_registry_name":"default","_cnpm_publish_time":1761131424616},"0.5.45":{"name":"@mariozechner/pi-ai","version":"0.5.45","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsc -p tsconfig.build.json","dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write .","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.61.0","@google/genai":"^1.17.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"5.21.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.5.45","gitHead":"368ffb66aa9473f91b93dd21953b0726c4d344d6","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"5d1570e41ee978281e3f8a99dec2e9cee751a54d","size":96694,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.5.45.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.5.45.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.5.45_1761131032862_0.14014903596163752"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-10-22T11:03:53.094Z","publish_time":1761131033094,"_source_registry_name":"default","_cnpm_publish_time":1761131033094},"0.5.44":{"name":"@mariozechner/pi-ai","version":"0.5.44","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsc -p tsconfig.build.json","dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","check":"biome check --write .","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.61.0","@google/genai":"^1.17.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"5.21.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.5.44","gitHead":"414a4eb8fd8e7f6a8461df747990c8bfa6d525da","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"b4fc29a9c5cca41930c0e8dbb23de30cd7060e36","size":92211,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.5.44.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.5.44.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.5.44_1759698133199_0.10032069918628372"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-10-05T21:02:13.397Z","publish_time":1759698133397,"_source_registry_name":"default","_cnpm_publish_time":1759698133397},"0.5.43":{"name":"@mariozechner/pi-ai","version":"0.5.43","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsc -p tsconfig.build.json","dev":"tsc -p tsconfig.build.json --watch","check":"biome check --write .","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.61.0","@google/genai":"^1.17.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"^5.20.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.5.43","gitHead":"c1185c7b95a1b70e37047e0291d13c3f50470370","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"b8ecacb7fbdd2724188d3b6ce93c166bbfecc9c5","size":88838,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.5.43.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.5.43.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.5.43_1758239412548_0.32726215499971434"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-09-18T23:50:12.744Z","publish_time":1758239412744,"_source_registry_name":"default","_cnpm_publish_time":1758239412744},"0.5.42":{"name":"@mariozechner/pi-ai","version":"0.5.42","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsc -p tsconfig.build.json","dev":"tsc -p tsconfig.build.json --watch","check":"biome check --write .","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.61.0","@google/genai":"^1.17.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"^5.20.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.5.42","gitHead":"0f7ed33ba5eae38ba6c34acc6f20fa9f7fcc92df","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"edbd6672883e3003d026b585b201a03dfdf9f87e","size":88861,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.5.42.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.5.42.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.5.42_1758233695971_0.7806292769263978"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-09-18T22:14:56.147Z","publish_time":1758233696147,"_source_registry_name":"default","_cnpm_publish_time":1758233696147},"0.5.41":{"name":"@mariozechner/pi-ai","version":"0.5.41","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsc -p tsconfig.build.json","dev":"tsc -p tsconfig.build.json --watch","check":"biome check --write .","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.61.0","@google/genai":"^1.17.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"^5.20.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.5.41","gitHead":"293a6e878d4bdc564d01e7df60dee57160ca4d52","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"2a4766f43ae2fafad65bf5de295c8aec15f94f05","size":87754,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.5.41.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.5.41.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.5.41_1758187122897_0.24732681560777348"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-09-18T09:18:43.141Z","publish_time":1758187123141,"_source_registry_name":"default","_cnpm_publish_time":1758187123141},"0.5.40":{"name":"@mariozechner/pi-ai","version":"0.5.40","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsc -p tsconfig.build.json","dev":"tsc -p tsconfig.build.json --watch","check":"biome check --write .","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.61.0","@google/genai":"^1.17.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"^5.20.0","partial-json":"^0.1.7","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.5.40","gitHead":"9c921049a6ec544a0f1d987302d99ddafad4f0d6","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"850b000db05c3779252398f30c177145f1692b1c","size":87453,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.5.40.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.5.40.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.5.40_1758018273671_0.09284523103555253"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-09-16T10:24:33.876Z","publish_time":1758018273876,"_source_registry_name":"default","_cnpm_publish_time":1758018273876},"0.5.39":{"name":"@mariozechner/pi-ai","version":"0.5.39","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsc -p tsconfig.build.json","dev":"tsc -p tsconfig.build.json --watch","check":"biome check --write .","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.61.0","@google/genai":"^1.17.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"^5.20.0","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.5.39","gitHead":"197259c88af5d27acabb4fd6c983e9110464cdc5","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"32ea5b98e2b939cf66ed11d249392f2b4984b537","size":85824,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.5.39.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.5.39.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.5.39_1757982032303_0.32344985705108664"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-09-16T00:20:32.528Z","publish_time":1757982032528,"_source_registry_name":"default","_cnpm_publish_time":1757982032528},"0.5.38":{"name":"@mariozechner/pi-ai","version":"0.5.38","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsc -p tsconfig.build.json","dev":"tsc -p tsconfig.build.json --watch","check":"biome check --write .","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.61.0","@google/genai":"^1.17.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"^5.20.0","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.5.38","gitHead":"e2d23a5abb58aa2c9e9a326b2c24000c01b7e352","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"ec77b970f57a05d929bca533def1e26461b7514e","size":85653,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.5.38.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.5.38.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.5.38_1757979207838_0.48558018005317405"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-09-15T23:33:28.038Z","publish_time":1757979208038,"_source_registry_name":"default","_cnpm_publish_time":1757979208038},"0.5.37":{"name":"@mariozechner/pi-ai","version":"0.5.37","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsc -p tsconfig.build.json","dev":"tsc -p tsconfig.build.json --watch","check":"biome check --write .","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.61.0","@google/genai":"^1.17.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"^5.20.0","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.5.37","gitHead":"e2d23a5abb58aa2c9e9a326b2c24000c01b7e352","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"14a7cfd0dfa73700415e211e1ae6c3a23c948d44","size":85660,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.5.37.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.5.37.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.5.37_1757979078763_0.6771404654020832"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-09-15T23:31:18.961Z","publish_time":1757979078961,"_source_registry_name":"default","_cnpm_publish_time":1757979078961},"0.5.36":{"name":"@mariozechner/pi-ai","version":"0.5.36","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsc -p tsconfig.build.json","dev":"tsc -p tsconfig.build.json --watch","check":"biome check --write .","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.61.0","@google/genai":"^1.17.0","@sinclair/typebox":"^0.34.41","ajv":"^8.17.1","ajv-formats":"^3.0.1","chalk":"^5.6.2","openai":"^5.20.0","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.5.36","gitHead":"365b9ec390c58e5c2d106ed775fd5c5859aad423","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"da420a6704251ac5b87ce19cce4921461e272b9d","size":85701,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.5.36.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.5.36.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.5.36_1757977923832_0.13706834334230944"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-09-15T23:12:04.073Z","publish_time":1757977924073,"_source_registry_name":"default","_cnpm_publish_time":1757977924073},"0.5.35":{"name":"@mariozechner/pi-ai","version":"0.5.35","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsc -p tsconfig.build.json","dev":"tsc -p tsconfig.build.json --watch","check":"biome check --write .","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.61.0","@google/genai":"^1.17.0","chalk":"^5.6.2","openai":"^5.20.0","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.5.35","gitHead":"f5ac1ef52159b318c78d7ab158936ad45b9197f1","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"481010b2da50b1b7650001c547f91e99c23df24d","size":84209,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.5.35.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.5.35.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.5.35_1757961208100_0.33000803429963543"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-09-15T18:33:28.332Z","publish_time":1757961208332,"_source_registry_name":"default","_cnpm_publish_time":1757961208332},"0.5.34":{"name":"@mariozechner/pi-ai","version":"0.5.34","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsc -p tsconfig.build.json","dev":"tsc -p tsconfig.build.json --watch","check":"biome check --write .","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.61.0","@google/genai":"^1.17.0","chalk":"^5.6.2","openai":"^5.20.0","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.5.34","gitHead":"1c9ab1ca240610162a6ce4042be79efa67f44429","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"7425963bd9978e88bf29a2c8ad4ca35867814faf","size":84027,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.5.34.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.5.34.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.5.34_1757889322450_0.7836330003647225"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-09-14T22:35:22.696Z","publish_time":1757889322696,"_source_registry_name":"default","_cnpm_publish_time":1757889322696},"0.5.32":{"name":"@mariozechner/pi-ai","version":"0.5.32","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsc -p tsconfig.build.json","dev":"tsc -p tsconfig.build.json --watch","check":"biome check --write .","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.61.0","@google/genai":"^1.17.0","chalk":"^5.6.2","openai":"^5.20.0","zod-to-json-schema":"^3.24.6"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.5.32","gitHead":"34a7344a7dea8bb20c551bb567269a6571481576","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"8fa7f62e11af188066661cb62bd7edc2051c892e","size":83223,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.5.32.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.5.32.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.5.32_1757422857640_0.680525820831601"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-09-09T13:00:57.849Z","publish_time":1757422857849,"_source_registry_name":"default","_cnpm_publish_time":1757422857849},"0.5.31":{"name":"@mariozechner/pi-ai","version":"0.5.31","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsc -p tsconfig.build.json","check":"biome check --write .","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.60.0","@google/genai":"^1.15.0","chalk":"^5.5.0","openai":"^5.15.0"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.5.31","gitHead":"2bdb87dfe779410e914f5777d942501d1e0fa18d","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"f2d9c16ae300788c59c0ff99aec08d6ccc439a15","size":65811,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.5.31.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.5.31.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.5.31_1757196631131_0.2130181844269854"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-09-06T22:10:31.312Z","publish_time":1757196631312,"_source_registry_name":"default","_cnpm_publish_time":1757196631312},"0.5.30":{"name":"@mariozechner/pi-ai","version":"0.5.30","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsc -p tsconfig.build.json","check":"biome check --write .","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.60.0","@google/genai":"^1.15.0","chalk":"^5.5.0","openai":"^5.15.0"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.5.30","gitHead":"9230b83d94a9f28f24b84e5ae33d2d1d9377f204","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"3de1780a1920a50cd76267821a4d24f9649a2e2a","size":64790,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.5.30.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.5.30.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.5.30_1756982567431_0.7422105293811674"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-09-04T10:42:47.699Z","publish_time":1756982567699,"_source_registry_name":"default","_cnpm_publish_time":1756982567699},"0.5.29":{"name":"@mariozechner/pi-ai","version":"0.5.29","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsc -p tsconfig.build.json","check":"biome check --write .","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.60.0","@google/genai":"^1.15.0","chalk":"^5.5.0","openai":"^5.15.0"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.5.29","gitHead":"7d1daac39ea9e025900d22f0a251240f4aa2972b","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"f64e9079e86eafd425d01aebd336e32507c37521","size":64476,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.5.29.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.5.29.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.5.29_1756955897732_0.32722832699587334"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-09-04T03:18:17.907Z","publish_time":1756955897907,"_source_registry_name":"default","_cnpm_publish_time":1756955897907},"0.5.28":{"name":"@mariozechner/pi-ai","version":"0.5.28","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsc -p tsconfig.build.json","check":"biome check --write .","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.60.0","@google/genai":"^1.15.0","chalk":"^5.5.0","openai":"^5.15.0"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.5.28","gitHead":"080bf673063b942ba0d183d6603ff0f4913bed05","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"85bd51e93f5929f9aa6e122d3bb4e5473d95c63f","size":64092,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.5.28.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.5.28.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.5.28_1756855600562_0.05087834218246634"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-09-02T23:26:40.760Z","publish_time":1756855600760,"_source_registry_name":"default","_cnpm_publish_time":1756855600760},"0.5.27":{"name":"@mariozechner/pi-ai","version":"0.5.27","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsc -p tsconfig.build.json","check":"biome check --write .","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.60.0","@google/genai":"^1.15.0","chalk":"^5.5.0","openai":"^5.15.0"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.5.27","gitHead":"0fbb0921bbfd2e0d55d202dea47058eb70292dcb","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"d1d1572bb3f1b2de382c581f9d52f177e50c4480","size":60570,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.5.27.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.5.27.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.5.27_1756769583562_0.45600666525258693"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-09-01T23:33:03.750Z","publish_time":1756769583750,"_source_registry_name":"default","_cnpm_publish_time":1756769583750},"0.5.26":{"name":"@mariozechner/pi-ai","version":"0.5.26","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsc -p tsconfig.build.json","check":"biome check --write .","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.60.0","@google/genai":"^1.15.0","chalk":"^5.5.0","openai":"^5.15.0"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.5.26","gitHead":"efaa5cdb39cccacaa22fbdb930ac0f1104abd258","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"70628eef029fe22b72720ed54e119fce2ab1ff08","size":60488,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.5.26.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.5.26.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.5.26_1756768780637_0.11754679312801986"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-09-01T23:19:40.841Z","publish_time":1756768780841,"_source_registry_name":"default","_cnpm_publish_time":1756768780841},"0.5.25":{"name":"@mariozechner/pi-ai","version":"0.5.25","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsc -p tsconfig.build.json","check":"biome check --write .","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.60.0","@google/genai":"^1.15.0","chalk":"^5.5.0","openai":"^5.15.0"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.5.25","gitHead":"f1c3d44602bf2c4123e328ec167a597152acf94c","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"216b71cb5b3af2b655015a8c00fde6d636368398","size":60571,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.5.25.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.5.25.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.5.25_1756765242113_0.060144953826665626"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-09-01T22:20:42.285Z","publish_time":1756765242285,"_source_registry_name":"default","_cnpm_publish_time":1756765242285},"0.5.24":{"name":"@mariozechner/pi-ai","version":"0.5.24","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsc -p tsconfig.build.json","check":"biome check --write .","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.60.0","@google/genai":"^1.15.0","chalk":"^5.5.0","openai":"^5.15.0"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.5.24","gitHead":"3007b7a5ac230aa82c1b9b33c25d820427eca684","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"05371079e8c2a5ffd6841e1c5202cd120c0d7938","size":58720,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.5.24.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.5.24.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.5.24_1756757401335_0.9819329112118953"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-09-01T20:10:01.523Z","publish_time":1756757401523,"_source_registry_name":"default","_cnpm_publish_time":1756757401523},"0.5.23":{"name":"@mariozechner/pi-ai","version":"0.5.23","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsc -p tsconfig.build.json","check":"biome check --write .","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.60.0","@google/genai":"^1.15.0","chalk":"^5.5.0","openai":"^5.15.0"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.5.23","gitHead":"14d93ca8c6adf851ac28ffa6e9002e92ce8b8f55","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"1098233f6498c6d3a6bc18fa695ae6779c234487","size":58480,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.5.23.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.5.23.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.5.23_1756757003565_0.12365871023794406"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-09-01T20:03:23.750Z","publish_time":1756757003750,"_source_registry_name":"default","_cnpm_publish_time":1756757003750},"0.5.22":{"name":"@mariozechner/pi-ai","version":"0.5.22","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsc -p tsconfig.build.json","check":"biome check --write .","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.60.0","@google/genai":"^1.15.0","chalk":"^5.5.0","openai":"^5.15.0"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.5.22","gitHead":"8324cd41922bb7d8593a33f584fa39e8fc2d9fdb","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"be1a9b54191651f2adf819ffe38e03e940b75744","size":58312,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.5.22.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.5.22.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.5.22_1756756587027_0.9318854375424419"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-09-01T19:56:27.230Z","publish_time":1756756587230,"_source_registry_name":"default","_cnpm_publish_time":1756756587230},"0.5.21":{"name":"@mariozechner/pi-ai","version":"0.5.21","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsc -p tsconfig.build.json","check":"biome check --write .","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.60.0","@google/genai":"^1.15.0","chalk":"^5.5.0","openai":"^5.15.0"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.5.21","gitHead":"3caa3af8fc39b8fd34812f8cc1f67a8eec41bf60","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"e6794622273b65acb196fd558291e575242432a0","size":58220,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.5.21.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.5.21.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.5.21_1756756016987_0.6231113426014907"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-09-01T19:46:57.161Z","publish_time":1756756017161,"_source_registry_name":"default","_cnpm_publish_time":1756756017161},"0.5.20":{"name":"@mariozechner/pi-ai","version":"0.5.20","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsc -p tsconfig.build.json","check":"biome check --write .","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.60.0","@google/genai":"^1.15.0","chalk":"^5.5.0","openai":"^5.15.0"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.5.20","gitHead":"add1b76b6cb80dba8e10dfcfeb7b426fde79c5fa","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"4e855b5b25eb2cf0cc5060aff6c7d96af362b4d7","size":58055,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.5.20.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.5.20.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.5.20_1756745070685_0.7383223467172366"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-09-01T16:44:30.877Z","publish_time":1756745070877,"_source_registry_name":"default","_cnpm_publish_time":1756745070877},"0.5.19":{"name":"@mariozechner/pi-ai","version":"0.5.19","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsc -p tsconfig.build.json","check":"biome check --write .","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.60.0","@google/genai":"^1.15.0","chalk":"^5.5.0","openai":"^5.15.0"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.5.19","gitHead":"5d5cd7955b4650e90926b6ade7ace934bc99a0d2","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"e510d62869dd595bc1fae68ff89fa7d073ae027f","size":55005,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.5.19.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.5.19.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.5.19_1756677445177_0.21963499120120322"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-08-31T21:57:25.366Z","publish_time":1756677445366,"_source_registry_name":"default","_cnpm_publish_time":1756677445366},"0.5.18":{"name":"@mariozechner/pi-ai","version":"0.5.18","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsc -p tsconfig.build.json","check":"biome check --write .","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.60.0","@google/genai":"^1.15.0","chalk":"^5.5.0","openai":"^5.15.0"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.5.18","gitHead":"f87ac359bbec221d8809aa6d907a9f76e439f273","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"0144be53ddae14141d8154b593493f4f8157b33b","size":54945,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.5.18.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.5.18.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.5.18_1756676996396_0.46231557951063174"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-08-31T21:49:56.585Z","publish_time":1756676996585,"_source_registry_name":"default","_cnpm_publish_time":1756676996585},"0.5.17":{"name":"@mariozechner/pi-ai","version":"0.5.17","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsc -p tsconfig.build.json","check":"biome check --write .","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.60.0","@google/genai":"^1.15.0","chalk":"^5.5.0","openai":"^5.15.0"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.5.17","gitHead":"683263ba2709ecca17344cf81dfd67f2a74ff7a2","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"e53ad32520593a7daaf597d5a9f35cb64c7c4dc7","size":37088,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.5.17.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.5.17.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.5.17_1756674600617_0.9252475808011291"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-08-31T21:10:00.835Z","publish_time":1756674600835,"_source_registry_name":"default","_cnpm_publish_time":1756674600835},"0.5.16":{"name":"@mariozechner/pi-ai","version":"0.5.16","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsc -p tsconfig.build.json","check":"biome check --write .","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.60.0","@google/genai":"^1.15.0","chalk":"^5.5.0","openai":"^5.15.0"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.5.16","gitHead":"8f4e96f2071bbab091c5f54e07e03e84883368ba","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"55c7c113d1eddc81ab048b2926a7671687ca6a69","size":37015,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.5.16.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.5.16.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.5.16_1756671481976_0.2858638354027587"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-08-31T20:18:02.235Z","publish_time":1756671482235,"_source_registry_name":"default","_cnpm_publish_time":1756671482235},"0.5.15":{"name":"@mariozechner/pi-ai","version":"0.5.15","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsc -p tsconfig.build.json","check":"biome check --write .","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.60.0","@google/genai":"^1.15.0","chalk":"^5.5.0","openai":"^5.15.0"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.5.15","gitHead":"0f2eaa70e932efd445ba3e0e553c341aed563de0","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"bcf71e2fe00f18b1902c936fd2f1cdcd48d0ef84","size":36499,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.5.15.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.5.15.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.5.15_1756671138640_0.16085038776373772"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-08-31T20:12:18.833Z","publish_time":1756671138833,"_source_registry_name":"default","_cnpm_publish_time":1756671138833},"0.5.14":{"name":"@mariozechner/pi-ai","version":"0.5.14","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsc -p tsconfig.build.json","check":"biome check --write .","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.60.0","@google/genai":"^1.15.0","chalk":"^5.5.0","openai":"^5.15.0"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.5.14","gitHead":"cff766d3e248ae430c8b9504d93729b7795a03a4","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"e86ecb507dbdfb702d9797f3f6cbc090d1ba07a1","size":35094,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.5.14.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.5.14.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.5.14_1756587370188_0.6419967881472814"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-08-30T20:56:10.402Z","publish_time":1756587370402,"_source_registry_name":"default","_cnpm_publish_time":1756587370402},"0.5.13":{"name":"@mariozechner/pi-ai","version":"0.5.13","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsc -p tsconfig.build.json","check":"biome check --write .","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.60.0","@google/genai":"^1.15.0","chalk":"^5.5.0","openai":"^5.15.0"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.5.13","gitHead":"2e90f8f8bcf625065fcaed6e726b34f0a64e9e9a","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"6f1b1c9e36a38425e8b64b296c7fa131574ce498","size":34922,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.5.13.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.5.13.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.5.13_1756585797108_0.1607077457965771"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-08-30T20:29:57.297Z","publish_time":1756585797297,"_source_registry_name":"default","_cnpm_publish_time":1756585797297},"0.5.12":{"name":"@mariozechner/pi-ai","version":"0.5.12","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsc -p tsconfig.build.json","check":"biome check --write .","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.60.0","@google/genai":"^1.15.0","chalk":"^5.5.0","openai":"^5.15.0"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.5.12","gitHead":"889208dccd8fd1618abd25688a431a1c8cd7076e","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"d9383f41f39b0bb15a5dbc7fe59e53e3868157a7","size":34887,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.5.12.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.5.12.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.5.12_1756583335090_0.4569244190002122"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-08-30T19:48:55.279Z","publish_time":1756583335279,"_source_registry_name":"default","_cnpm_publish_time":1756583335279},"0.5.11":{"name":"@mariozechner/pi-ai","version":"0.5.11","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsc -p tsconfig.build.json","check":"biome check --write .","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.60.0","@google/genai":"^1.15.0","chalk":"^5.5.0","openai":"^5.15.0"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.5.11","gitHead":"dae40167a368d94bbf9efc0ef32dd38c857ba6d5","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"ace5749db2ea0e67c4699b14d79b56060f78f57b","size":34888,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.5.11.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.5.11.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.5.11_1756583251004_0.2273381924418425"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-08-30T19:47:31.188Z","publish_time":1756583251188,"_source_registry_name":"default","_cnpm_publish_time":1756583251188},"0.5.10":{"name":"@mariozechner/pi-ai","version":"0.5.10","description":"Unified LLM API with automatic model discovery and provider configuration","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"clean":"rm -rf dist","generate-models":"npx tsx scripts/generate-models.ts","build":"npm run generate-models && tsc -p tsconfig.build.json","check":"biome check --write .","test":"vitest --run","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@anthropic-ai/sdk":"^0.60.0","@google/genai":"^1.15.0","chalk":"^5.5.0","openai":"^5.15.0"},"keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"engines":{"node":">=20.0.0"},"devDependencies":{"@types/node":"^24.3.0","canvas":"^3.2.0","vitest":"^3.2.4"},"_id":"@mariozechner/pi-ai@0.5.10","gitHead":"d46a98ec10d6dade7281012df4aee6ec2b1bf704","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"homepage":"https://github.com/badlogic/pi-mono#readme","_nodeVersion":"23.4.0","_npmVersion":"10.9.2","dist":{"shasum":"1be862b161bbdd2cd5dd064c7aaf0bfecfc90a7a","size":34365,"noattachment":false,"key":"/@mariozechner/pi-ai/-/@mariozechner/pi-ai-0.5.10.tgz","tarball":"http://registry.cnpm.dingdandao.com/@mariozechner/pi-ai/download/@mariozechner/pi-ai-0.5.10.tgz"},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.5.10_1756582920959_0.33014738623124296"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-08-30T19:42:01.139Z","publish_time":1756582921139,"_source_registry_name":"default","_cnpm_publish_time":1756582921139}},"readme":"# @mariozechner/pi-ai\n\nUnified LLM API with automatic model discovery, provider configuration, token and cost tracking, and simple context persistence and hand-off to other models mid-session.\n\n**Note**: This library only includes models that support tool calling (function calling), as this is essential for agentic workflows.\n\n## Table of Contents\n\n- [Supported Providers](#supported-providers)\n- [Installation](#installation)\n- [Quick Start](#quick-start)\n- [Tools](#tools)\n  - [Defining Tools](#defining-tools)\n  - [Handling Tool Calls](#handling-tool-calls)\n  - [Streaming Tool Calls with Partial JSON](#streaming-tool-calls-with-partial-json)\n  - [Validating Tool Arguments](#validating-tool-arguments)\n  - [Complete Event Reference](#complete-event-reference)\n- [Image Input](#image-input)\n- [Thinking/Reasoning](#thinkingreasoning)\n  - [Unified Interface](#unified-interface-streamsimplecompletesimple)\n  - [Provider-Specific Options](#provider-specific-options-streamcomplete)\n  - [Streaming Thinking Content](#streaming-thinking-content)\n- [Stop Reasons](#stop-reasons)\n- [Error Handling](#error-handling)\n  - [Aborting Requests](#aborting-requests)\n  - [Continuing After Abort](#continuing-after-abort)\n- [APIs, Models, and Providers](#apis-models-and-providers)\n  - [Providers and Models](#providers-and-models)\n  - [Querying Providers and Models](#querying-providers-and-models)\n  - [Custom Models](#custom-models)\n  - [OpenAI Compatibility Settings](#openai-compatibility-settings)\n  - [Type Safety](#type-safety)\n- [Cross-Provider Handoffs](#cross-provider-handoffs)\n- [Context Serialization](#context-serialization)\n- [Browser Usage](#browser-usage)\n  - [Browser Compatibility Notes](#browser-compatibility-notes)\n  - [Environment Variables](#environment-variables-nodejs-only)\n  - [Checking Environment Variables](#checking-environment-variables)\n- [OAuth Providers](#oauth-providers)\n  - [Vertex AI (ADC)](#vertex-ai-adc)\n  - [CLI Login](#cli-login)\n  - [Programmatic OAuth](#programmatic-oauth)\n  - [Login Flow Example](#login-flow-example)\n  - [Using OAuth Tokens](#using-oauth-tokens)\n  - [Provider Notes](#provider-notes)\n- [License](#license)\n\n## Supported Providers\n\n- **OpenAI**\n- **Azure OpenAI (Responses)**\n- **OpenAI Codex** (ChatGPT Plus/Pro subscription, requires OAuth, see below)\n- **Anthropic**\n- **Google**\n- **Vertex AI** (Gemini via Vertex AI)\n- **Mistral**\n- **Groq**\n- **Cerebras**\n- **xAI**\n- **OpenRouter**\n- **Vercel AI Gateway**\n- **MiniMax**\n- **GitHub Copilot** (requires OAuth, see below)\n- **Google Gemini CLI** (requires OAuth, see below)\n- **Antigravity** (requires OAuth, see below)\n- **Amazon Bedrock**\n- **OpenCode Zen**\n- **OpenCode Go**\n- **Kimi For Coding** (Moonshot AI, uses Anthropic-compatible API)\n- **Any OpenAI-compatible API**: Ollama, vLLM, LM Studio, etc.\n\n## Installation\n\n```bash\nnpm install @mariozechner/pi-ai\n```\n\nTypeBox exports are re-exported from `@mariozechner/pi-ai`: `Type`, `Static`, and `TSchema`.\n\n## Quick Start\n\n```typescript\nimport { Type, getModel, stream, complete, Context, Tool, StringEnum } from '@mariozechner/pi-ai';\n\n// Fully typed with auto-complete support for both providers and models\nconst model = getModel('openai', 'gpt-4o-mini');\n\n// Define tools with TypeBox schemas for type safety and validation\nconst tools: Tool[] = [{\n  name: 'get_time',\n  description: 'Get the current time',\n  parameters: Type.Object({\n    timezone: Type.Optional(Type.String({ description: 'Optional timezone (e.g., America/New_York)' }))\n  })\n}];\n\n// Build a conversation context (easily serializable and transferable between models)\nconst context: Context = {\n  systemPrompt: 'You are a helpful assistant.',\n  messages: [{ role: 'user', content: 'What time is it?' }],\n  tools\n};\n\n// Option 1: Streaming with all event types\nconst s = stream(model, context);\n\nfor await (const event of s) {\n  switch (event.type) {\n    case 'start':\n      console.log(`Starting with ${event.partial.model}`);\n      break;\n    case 'text_start':\n      console.log('\\n[Text started]');\n      break;\n    case 'text_delta':\n      process.stdout.write(event.delta);\n      break;\n    case 'text_end':\n      console.log('\\n[Text ended]');\n      break;\n    case 'thinking_start':\n      console.log('[Model is thinking...]');\n      break;\n    case 'thinking_delta':\n      process.stdout.write(event.delta);\n      break;\n    case 'thinking_end':\n      console.log('[Thinking complete]');\n      break;\n    case 'toolcall_start':\n      console.log(`\\n[Tool call started: index ${event.contentIndex}]`);\n      break;\n    case 'toolcall_delta':\n      // Partial tool arguments are being streamed\n      const partialCall = event.partial.content[event.contentIndex];\n      if (partialCall.type === 'toolCall') {\n        console.log(`[Streaming args for ${partialCall.name}]`);\n      }\n      break;\n    case 'toolcall_end':\n      console.log(`\\nTool called: ${event.toolCall.name}`);\n      console.log(`Arguments: ${JSON.stringify(event.toolCall.arguments)}`);\n      break;\n    case 'done':\n      console.log(`\\nFinished: ${event.reason}`);\n      break;\n    case 'error':\n      console.error(`Error: ${event.error}`);\n      break;\n  }\n}\n\n// Get the final message after streaming, add it to the context\nconst finalMessage = await s.result();\ncontext.messages.push(finalMessage);\n\n// Handle tool calls if any\nconst toolCalls = finalMessage.content.filter(b => b.type === 'toolCall');\nfor (const call of toolCalls) {\n  // Execute the tool\n  const result = call.name === 'get_time'\n    ? new Date().toLocaleString('en-US', {\n        timeZone: call.arguments.timezone || 'UTC',\n        dateStyle: 'full',\n        timeStyle: 'long'\n      })\n    : 'Unknown tool';\n\n  // Add tool result to context (supports text and images)\n  context.messages.push({\n    role: 'toolResult',\n    toolCallId: call.id,\n    toolName: call.name,\n    content: [{ type: 'text', text: result }],\n    isError: false,\n    timestamp: Date.now()\n  });\n}\n\n// Continue if there were tool calls\nif (toolCalls.length > 0) {\n  const continuation = await complete(model, context);\n  context.messages.push(continuation);\n  console.log('After tool execution:', continuation.content);\n}\n\nconsole.log(`Total tokens: ${finalMessage.usage.input} in, ${finalMessage.usage.output} out`);\nconsole.log(`Cost: $${finalMessage.usage.cost.total.toFixed(4)}`);\n\n// Option 2: Get complete response without streaming\nconst response = await complete(model, context);\n\nfor (const block of response.content) {\n  if (block.type === 'text') {\n    console.log(block.text);\n  } else if (block.type === 'toolCall') {\n    console.log(`Tool: ${block.name}(${JSON.stringify(block.arguments)})`);\n  }\n}\n```\n\n## Tools\n\nTools enable LLMs to interact with external systems. This library uses TypeBox schemas for type-safe tool definitions with automatic validation using AJV. TypeBox schemas can be serialized and deserialized as plain JSON, making them ideal for distributed systems.\n\n### Defining Tools\n\n```typescript\nimport { Type, Tool, StringEnum } from '@mariozechner/pi-ai';\n\n// Define tool parameters with TypeBox\nconst weatherTool: Tool = {\n  name: 'get_weather',\n  description: 'Get current weather for a location',\n  parameters: Type.Object({\n    location: Type.String({ description: 'City name or coordinates' }),\n    units: StringEnum(['celsius', 'fahrenheit'], { default: 'celsius' })\n  })\n};\n\n// Note: For Google API compatibility, use StringEnum helper instead of Type.Enum\n// Type.Enum generates anyOf/const patterns that Google doesn't support\n\nconst bookMeetingTool: Tool = {\n  name: 'book_meeting',\n  description: 'Schedule a meeting',\n  parameters: Type.Object({\n    title: Type.String({ minLength: 1 }),\n    startTime: Type.String({ format: 'date-time' }),\n    endTime: Type.String({ format: 'date-time' }),\n    attendees: Type.Array(Type.String({ format: 'email' }), { minItems: 1 })\n  })\n};\n```\n\n### Handling Tool Calls\n\nTool results use content blocks and can include both text and images:\n\n```typescript\nimport { readFileSync } from 'fs';\n\nconst context: Context = {\n  messages: [{ role: 'user', content: 'What is the weather in London?' }],\n  tools: [weatherTool]\n};\n\nconst response = await complete(model, context);\n\n// Check for tool calls in the response\nfor (const block of response.content) {\n  if (block.type === 'toolCall') {\n    // Execute your tool with the arguments\n    // See \"Validating Tool Arguments\" section for validation\n    const result = await executeWeatherApi(block.arguments);\n\n    // Add tool result with text content\n    context.messages.push({\n      role: 'toolResult',\n      toolCallId: block.id,\n      toolName: block.name,\n      content: [{ type: 'text', text: JSON.stringify(result) }],\n      isError: false,\n      timestamp: Date.now()\n    });\n  }\n}\n\n// Tool results can also include images (for vision-capable models)\nconst imageBuffer = readFileSync('chart.png');\ncontext.messages.push({\n  role: 'toolResult',\n  toolCallId: 'tool_xyz',\n  toolName: 'generate_chart',\n  content: [\n    { type: 'text', text: 'Generated chart showing temperature trends' },\n    { type: 'image', data: imageBuffer.toString('base64'), mimeType: 'image/png' }\n  ],\n  isError: false,\n  timestamp: Date.now()\n});\n```\n\n### Streaming Tool Calls with Partial JSON\n\nDuring streaming, tool call arguments are progressively parsed as they arrive. This enables real-time UI updates before the complete arguments are available:\n\n```typescript\nconst s = stream(model, context);\n\nfor await (const event of s) {\n  if (event.type === 'toolcall_delta') {\n    const toolCall = event.partial.content[event.contentIndex];\n\n    // toolCall.arguments contains partially parsed JSON during streaming\n    // This allows for progressive UI updates\n    if (toolCall.type === 'toolCall' && toolCall.arguments) {\n      // BE DEFENSIVE: arguments may be incomplete\n      // Example: Show file path being written even before content is complete\n      if (toolCall.name === 'write_file' && toolCall.arguments.path) {\n        console.log(`Writing to: ${toolCall.arguments.path}`);\n\n        // Content might be partial or missing\n        if (toolCall.arguments.content) {\n          console.log(`Content preview: ${toolCall.arguments.content.substring(0, 100)}...`);\n        }\n      }\n    }\n  }\n\n  if (event.type === 'toolcall_end') {\n    // Here toolCall.arguments is complete (but not yet validated)\n    const toolCall = event.toolCall;\n    console.log(`Tool completed: ${toolCall.name}`, toolCall.arguments);\n  }\n}\n```\n\n**Important notes about partial tool arguments:**\n- During `toolcall_delta` events, `arguments` contains the best-effort parse of partial JSON\n- Fields may be missing or incomplete - always check for existence before use\n- String values may be truncated mid-word\n- Arrays may be incomplete\n- Nested objects may be partially populated\n- At minimum, `arguments` will be an empty object `{}`, never `undefined`\n- The Google provider does not support function call streaming. Instead, you will receive a single `toolcall_delta` event with the full arguments.\n\n### Validating Tool Arguments\n\nWhen using `agentLoop`, tool arguments are automatically validated against your TypeBox schemas before execution. If validation fails, the error is returned to the model as a tool result, allowing it to retry.\n\nWhen implementing your own tool execution loop with `stream()` or `complete()`, use `validateToolCall` to validate arguments before passing them to your tools:\n\n```typescript\nimport { stream, validateToolCall, Tool } from '@mariozechner/pi-ai';\n\nconst tools: Tool[] = [weatherTool, calculatorTool];\nconst s = stream(model, { messages, tools });\n\nfor await (const event of s) {\n  if (event.type === 'toolcall_end') {\n    const toolCall = event.toolCall;\n\n    try {\n      // Validate arguments against the tool's schema (throws on invalid args)\n      const validatedArgs = validateToolCall(tools, toolCall);\n      const result = await executeMyTool(toolCall.name, validatedArgs);\n      // ... add tool result to context\n    } catch (error) {\n      // Validation failed - return error as tool result so model can retry\n      context.messages.push({\n        role: 'toolResult',\n        toolCallId: toolCall.id,\n        toolName: toolCall.name,\n        content: [{ type: 'text', text: error.message }],\n        isError: true,\n        timestamp: Date.now()\n      });\n    }\n  }\n}\n```\n\n### Complete Event Reference\n\nAll streaming events emitted during assistant message generation:\n\n| Event Type | Description | Key Properties |\n|------------|-------------|----------------|\n| `start` | Stream begins | `partial`: Initial assistant message structure |\n| `text_start` | Text block starts | `contentIndex`: Position in content array |\n| `text_delta` | Text chunk received | `delta`: New text, `contentIndex`: Position |\n| `text_end` | Text block complete | `content`: Full text, `contentIndex`: Position |\n| `thinking_start` | Thinking block starts | `contentIndex`: Position in content array |\n| `thinking_delta` | Thinking chunk received | `delta`: New text, `contentIndex`: Position |\n| `thinking_end` | Thinking block complete | `content`: Full thinking, `contentIndex`: Position |\n| `toolcall_start` | Tool call begins | `contentIndex`: Position in content array |\n| `toolcall_delta` | Tool arguments streaming | `delta`: JSON chunk, `partial.content[contentIndex].arguments`: Partial parsed args |\n| `toolcall_end` | Tool call complete | `toolCall`: Complete validated tool call with `id`, `name`, `arguments` |\n| `done` | Stream complete | `reason`: Stop reason (\"stop\", \"length\", \"toolUse\"), `message`: Final assistant message |\n| `error` | Error occurred | `reason`: Error type (\"error\" or \"aborted\"), `error`: AssistantMessage with partial content |\n\n## Image Input\n\nModels with vision capabilities can process images. You can check if a model supports images via the `input` property. If you pass images to a non-vision model, they are silently ignored.\n\n```typescript\nimport { readFileSync } from 'fs';\nimport { getModel, complete } from '@mariozechner/pi-ai';\n\nconst model = getModel('openai', 'gpt-4o-mini');\n\n// Check if model supports images\nif (model.input.includes('image')) {\n  console.log('Model supports vision');\n}\n\nconst imageBuffer = readFileSync('image.png');\nconst base64Image = imageBuffer.toString('base64');\n\nconst response = await complete(model, {\n  messages: [{\n    role: 'user',\n    content: [\n      { type: 'text', text: 'What is in this image?' },\n      { type: 'image', data: base64Image, mimeType: 'image/png' }\n    ]\n  }]\n});\n\n// Access the response\nfor (const block of response.content) {\n  if (block.type === 'text') {\n    console.log(block.text);\n  }\n}\n```\n\n## Thinking/Reasoning\n\nMany models support thinking/reasoning capabilities where they can show their internal thought process. You can check if a model supports reasoning via the `reasoning` property. If you pass reasoning options to a non-reasoning model, they are silently ignored.\n\n### Unified Interface (streamSimple/completeSimple)\n\n```typescript\nimport { getModel, streamSimple, completeSimple } from '@mariozechner/pi-ai';\n\n// Many models across providers support thinking/reasoning\nconst model = getModel('anthropic', 'claude-sonnet-4-20250514');\n// or getModel('openai', 'gpt-5-mini');\n// or getModel('google', 'gemini-2.5-flash');\n// or getModel('xai', 'grok-code-fast-1');\n// or getModel('groq', 'openai/gpt-oss-20b');\n// or getModel('cerebras', 'gpt-oss-120b');\n// or getModel('openrouter', 'z-ai/glm-4.5v');\n\n// Check if model supports reasoning\nif (model.reasoning) {\n  console.log('Model supports reasoning/thinking');\n}\n\n// Use the simplified reasoning option\nconst response = await completeSimple(model, {\n  messages: [{ role: 'user', content: 'Solve: 2x + 5 = 13' }]\n}, {\n  reasoning: 'medium'  // 'minimal' | 'low' | 'medium' | 'high' | 'xhigh' (xhigh maps to high on non-OpenAI providers)\n});\n\n// Access thinking and text blocks\nfor (const block of response.content) {\n  if (block.type === 'thinking') {\n    console.log('Thinking:', block.thinking);\n  } else if (block.type === 'text') {\n    console.log('Response:', block.text);\n  }\n}\n```\n\n### Provider-Specific Options (stream/complete)\n\nFor fine-grained control, use the provider-specific options:\n\n```typescript\nimport { getModel, complete } from '@mariozechner/pi-ai';\n\n// OpenAI Reasoning (o1, o3, gpt-5)\nconst openaiModel = getModel('openai', 'gpt-5-mini');\nawait complete(openaiModel, context, {\n  reasoningEffort: 'medium',\n  reasoningSummary: 'detailed'  // OpenAI Responses API only\n});\n\n// Anthropic Thinking (Claude Sonnet 4)\nconst anthropicModel = getModel('anthropic', 'claude-sonnet-4-20250514');\nawait complete(anthropicModel, context, {\n  thinkingEnabled: true,\n  thinkingBudgetTokens: 8192  // Optional token limit\n});\n\n// Google Gemini Thinking\nconst googleModel = getModel('google', 'gemini-2.5-flash');\nawait complete(googleModel, context, {\n  thinking: {\n    enabled: true,\n    budgetTokens: 8192  // -1 for dynamic, 0 to disable\n  }\n});\n```\n\n### Streaming Thinking Content\n\nWhen streaming, thinking content is delivered through specific events:\n\n```typescript\nconst s = streamSimple(model, context, { reasoning: 'high' });\n\nfor await (const event of s) {\n  switch (event.type) {\n    case 'thinking_start':\n      console.log('[Model started thinking]');\n      break;\n    case 'thinking_delta':\n      process.stdout.write(event.delta);  // Stream thinking content\n      break;\n    case 'thinking_end':\n      console.log('\\n[Thinking complete]');\n      break;\n  }\n}\n```\n\n## Stop Reasons\n\nEvery `AssistantMessage` includes a `stopReason` field that indicates how the generation ended:\n\n- `\"stop\"` - Normal completion, the model finished its response\n- `\"length\"` - Output hit the maximum token limit\n- `\"toolUse\"` - Model is calling tools and expects tool results\n- `\"error\"` - An error occurred during generation\n- `\"aborted\"` - Request was cancelled via abort signal\n\n## Error Handling\n\nWhen a request ends with an error (including aborts and tool call validation errors), the streaming API emits an error event:\n\n```typescript\n// In streaming\nfor await (const event of stream) {\n  if (event.type === 'error') {\n    // event.reason is either \"error\" or \"aborted\"\n    // event.error is the AssistantMessage with partial content\n    console.error(`Error (${event.reason}):`, event.error.errorMessage);\n    console.log('Partial content:', event.error.content);\n  }\n}\n\n// The final message will have the error details\nconst message = await stream.result();\nif (message.stopReason === 'error' || message.stopReason === 'aborted') {\n  console.error('Request failed:', message.errorMessage);\n  // message.content contains any partial content received before the error\n  // message.usage contains partial token counts and costs\n}\n```\n\n### Aborting Requests\n\nThe abort signal allows you to cancel in-progress requests. Aborted requests have `stopReason === 'aborted'`:\n\n```typescript\nimport { getModel, stream } from '@mariozechner/pi-ai';\n\nconst model = getModel('openai', 'gpt-4o-mini');\nconst controller = new AbortController();\n\n// Abort after 2 seconds\nsetTimeout(() => controller.abort(), 2000);\n\nconst s = stream(model, {\n  messages: [{ role: 'user', content: 'Write a long story' }]\n}, {\n  signal: controller.signal\n});\n\nfor await (const event of s) {\n  if (event.type === 'text_delta') {\n    process.stdout.write(event.delta);\n  } else if (event.type === 'error') {\n    // event.reason tells you if it was \"error\" or \"aborted\"\n    console.log(`${event.reason === 'aborted' ? 'Aborted' : 'Error'}:`, event.error.errorMessage);\n  }\n}\n\n// Get results (may be partial if aborted)\nconst response = await s.result();\nif (response.stopReason === 'aborted') {\n  console.log('Request was aborted:', response.errorMessage);\n  console.log('Partial content received:', response.content);\n  console.log('Tokens used:', response.usage);\n}\n```\n\n### Continuing After Abort\n\nAborted messages can be added to the conversation context and continued in subsequent requests:\n\n```typescript\nconst context = {\n  messages: [\n    { role: 'user', content: 'Explain quantum computing in detail' }\n  ]\n};\n\n// First request gets aborted after 2 seconds\nconst controller1 = new AbortController();\nsetTimeout(() => controller1.abort(), 2000);\n\nconst partial = await complete(model, context, { signal: controller1.signal });\n\n// Add the partial response to context\ncontext.messages.push(partial);\ncontext.messages.push({ role: 'user', content: 'Please continue' });\n\n// Continue the conversation\nconst continuation = await complete(model, context);\n```\n\n### Debugging Provider Payloads\n\nUse the `onPayload` callback to inspect the request payload sent to the provider. This is useful for debugging request formatting issues or provider validation errors.\n\n```typescript\nconst response = await complete(model, context, {\n  onPayload: (payload) => {\n    console.log('Provider payload:', JSON.stringify(payload, null, 2));\n  }\n});\n```\n\nThe callback is supported by `stream`, `complete`, `streamSimple`, and `completeSimple`.\n\n## APIs, Models, and Providers\n\nThe library uses a registry of API implementations. Built-in APIs include:\n\n- **`anthropic-messages`**: Anthropic Messages API (`streamAnthropic`, `AnthropicOptions`)\n- **`google-generative-ai`**: Google Generative AI API (`streamGoogle`, `GoogleOptions`)\n- **`google-gemini-cli`**: Google Cloud Code Assist API (`streamGoogleGeminiCli`, `GoogleGeminiCliOptions`)\n- **`google-vertex`**: Google Vertex AI API (`streamGoogleVertex`, `GoogleVertexOptions`)\n- **`openai-completions`**: OpenAI Chat Completions API (`streamOpenAICompletions`, `OpenAICompletionsOptions`)\n- **`openai-responses`**: OpenAI Responses API (`streamOpenAIResponses`, `OpenAIResponsesOptions`)\n- **`openai-codex-responses`**: OpenAI Codex Responses API (`streamOpenAICodexResponses`, `OpenAICodexResponsesOptions`)\n- **`azure-openai-responses`**: Azure OpenAI Responses API (`streamAzureOpenAIResponses`, `AzureOpenAIResponsesOptions`)\n- **`bedrock-converse-stream`**: Amazon Bedrock Converse API (`streamBedrock`, `BedrockOptions`)\n\n### Providers and Models\n\nA **provider** offers models through a specific API. For example:\n- **Anthropic** models use the `anthropic-messages` API\n- **Google** models use the `google-generative-ai` API\n- **OpenAI** models use the `openai-responses` API\n- **Mistral, xAI, Cerebras, Groq, etc.** models use the `openai-completions` API (OpenAI-compatible)\n\n### Querying Providers and Models\n\n```typescript\nimport { getProviders, getModels, getModel } from '@mariozechner/pi-ai';\n\n// Get all available providers\nconst providers = getProviders();\nconsole.log(providers); // ['openai', 'anthropic', 'google', 'xai', 'groq', ...]\n\n// Get all models from a provider (fully typed)\nconst anthropicModels = getModels('anthropic');\nfor (const model of anthropicModels) {\n  console.log(`${model.id}: ${model.name}`);\n  console.log(`  API: ${model.api}`); // 'anthropic-messages'\n  console.log(`  Context: ${model.contextWindow} tokens`);\n  console.log(`  Vision: ${model.input.includes('image')}`);\n  console.log(`  Reasoning: ${model.reasoning}`);\n}\n\n// Get a specific model (both provider and model ID are auto-completed in IDEs)\nconst model = getModel('openai', 'gpt-4o-mini');\nconsole.log(`Using ${model.name} via ${model.api} API`);\n```\n\n### Custom Models\n\nYou can create custom models for local inference servers or custom endpoints:\n\n```typescript\nimport { Model, stream } from '@mariozechner/pi-ai';\n\n// Example: Ollama using OpenAI-compatible API\nconst ollamaModel: Model<'openai-completions'> = {\n  id: 'llama-3.1-8b',\n  name: 'Llama 3.1 8B (Ollama)',\n  api: 'openai-completions',\n  provider: 'ollama',\n  baseUrl: 'http://localhost:11434/v1',\n  reasoning: false,\n  input: ['text'],\n  cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },\n  contextWindow: 128000,\n  maxTokens: 32000\n};\n\n// Example: LiteLLM proxy with explicit compat settings\nconst litellmModel: Model<'openai-completions'> = {\n  id: 'gpt-4o',\n  name: 'GPT-4o (via LiteLLM)',\n  api: 'openai-completions',\n  provider: 'litellm',\n  baseUrl: 'http://localhost:4000/v1',\n  reasoning: false,\n  input: ['text', 'image'],\n  cost: { input: 2.5, output: 10, cacheRead: 0, cacheWrite: 0 },\n  contextWindow: 128000,\n  maxTokens: 16384,\n  compat: {\n    supportsStore: false,  // LiteLLM doesn't support the store field\n  }\n};\n\n// Example: Custom endpoint with headers (bypassing Cloudflare bot detection)\nconst proxyModel: Model<'anthropic-messages'> = {\n  id: 'claude-sonnet-4',\n  name: 'Claude Sonnet 4 (Proxied)',\n  api: 'anthropic-messages',\n  provider: 'custom-proxy',\n  baseUrl: 'https://proxy.example.com/v1',\n  reasoning: true,\n  input: ['text', 'image'],\n  cost: { input: 3, output: 15, cacheRead: 0.3, cacheWrite: 3.75 },\n  contextWindow: 200000,\n  maxTokens: 8192,\n  headers: {\n    'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36',\n    'X-Custom-Auth': 'bearer-token-here'\n  }\n};\n\n// Use the custom model\nconst response = await stream(ollamaModel, context, {\n  apiKey: 'dummy' // Ollama doesn't need a real key\n});\n```\n\n### OpenAI Compatibility Settings\n\nThe `openai-completions` API is implemented by many providers with minor differences. By default, the library auto-detects compatibility settings based on `baseUrl` for known providers (Cerebras, xAI, Mistral, Chutes, etc.). For custom proxies or unknown endpoints, you can override these settings via the `compat` field. For `openai-responses` models, the compat field only supports Responses-specific flags.\n\n```typescript\ninterface OpenAICompletionsCompat {\n  supportsStore?: boolean;           // Whether provider supports the `store` field (default: true)\n  supportsDeveloperRole?: boolean;   // Whether provider supports `developer` role vs `system` (default: true)\n  supportsReasoningEffort?: boolean; // Whether provider supports `reasoning_effort` (default: true)\n  supportsUsageInStreaming?: boolean; // Whether provider supports `stream_options: { include_usage: true }` (default: true)\n  supportsStrictMode?: boolean;      // Whether provider supports `strict` in tool definitions (default: true)\n  maxTokensField?: 'max_completion_tokens' | 'max_tokens';  // Which field name to use (default: max_completion_tokens)\n  requiresToolResultName?: boolean;  // Whether tool results require the `name` field (default: false)\n  requiresAssistantAfterToolResult?: boolean; // Whether tool results must be followed by an assistant message (default: false)\n  requiresThinkingAsText?: boolean;  // Whether thinking blocks must be converted to text (default: false)\n  requiresMistralToolIds?: boolean;  // Whether tool call IDs must be normalized to Mistral format (default: false)\n  thinkingFormat?: 'openai' | 'zai' | 'qwen'; // Format for reasoning param: 'openai' uses reasoning_effort, 'zai' uses thinking: { type: \"enabled\" }, 'qwen' uses enable_thinking: boolean (default: openai)\n  openRouterRouting?: OpenRouterRouting; // OpenRouter routing preferences (default: {})\n  vercelGatewayRouting?: VercelGatewayRouting; // Vercel AI Gateway routing preferences (default: {})\n}\n\ninterface OpenAIResponsesCompat {\n  // Reserved for future use\n}\n```\n\nIf `compat` is not set, the library falls back to URL-based detection. If `compat` is partially set, unspecified fields use the detected defaults. This is useful for:\n\n- **LiteLLM proxies**: May not support `store` field\n- **Custom inference servers**: May use non-standard field names\n- **Self-hosted endpoints**: May have different feature support\n\n### Type Safety\n\nModels are typed by their API, which keeps the model metadata accurate. Provider-specific option types are enforced when you call the provider functions directly. The generic `stream` and `complete` functions accept `StreamOptions` with additional provider fields.\n\n```typescript\nimport { streamAnthropic, type AnthropicOptions } from '@mariozechner/pi-ai';\n\n// TypeScript knows this is an Anthropic model\nconst claude = getModel('anthropic', 'claude-sonnet-4-20250514');\n\nconst options: AnthropicOptions = {\n  thinkingEnabled: true,\n  thinkingBudgetTokens: 2048\n};\n\nawait streamAnthropic(claude, context, options);\n```\n\n## Cross-Provider Handoffs\n\nThe library supports seamless handoffs between different LLM providers within the same conversation. This allows you to switch models mid-conversation while preserving context, including thinking blocks, tool calls, and tool results.\n\n### How It Works\n\nWhen messages from one provider are sent to a different provider, the library automatically transforms them for compatibility:\n\n- **User and tool result messages** are passed through unchanged\n- **Assistant messages from the same provider/API** are preserved as-is\n- **Assistant messages from different providers** have their thinking blocks converted to text with `<thinking>` tags\n- **Tool calls and regular text** are preserved unchanged\n\n### Example: Multi-Provider Conversation\n\n```typescript\nimport { getModel, complete, Context } from '@mariozechner/pi-ai';\n\n// Start with Claude\nconst claude = getModel('anthropic', 'claude-sonnet-4-20250514');\nconst context: Context = {\n  messages: []\n};\n\ncontext.messages.push({ role: 'user', content: 'What is 25 * 18?' });\nconst claudeResponse = await complete(claude, context, {\n  thinkingEnabled: true\n});\ncontext.messages.push(claudeResponse);\n\n// Switch to GPT-5 - it will see Claude's thinking as <thinking> tagged text\nconst gpt5 = getModel('openai', 'gpt-5-mini');\ncontext.messages.push({ role: 'user', content: 'Is that calculation correct?' });\nconst gptResponse = await complete(gpt5, context);\ncontext.messages.push(gptResponse);\n\n// Switch to Gemini\nconst gemini = getModel('google', 'gemini-2.5-flash');\ncontext.messages.push({ role: 'user', content: 'What was the original question?' });\nconst geminiResponse = await complete(gemini, context);\n```\n\n### Provider Compatibility\n\nAll providers can handle messages from other providers, including:\n- Text content\n- Tool calls and tool results (including images in tool results)\n- Thinking/reasoning blocks (transformed to tagged text for cross-provider compatibility)\n- Aborted messages with partial content\n\nThis enables flexible workflows where you can:\n- Start with a fast model for initial responses\n- Switch to a more capable model for complex reasoning\n- Use specialized models for specific tasks\n- Maintain conversation continuity across provider outages\n\n## Context Serialization\n\nThe `Context` object can be easily serialized and deserialized using standard JSON methods, making it simple to persist conversations, implement chat history, or transfer contexts between services:\n\n```typescript\nimport { Context, getModel, complete } from '@mariozechner/pi-ai';\n\n// Create and use a context\nconst context: Context = {\n  systemPrompt: 'You are a helpful assistant.',\n  messages: [\n    { role: 'user', content: 'What is TypeScript?' }\n  ]\n};\n\nconst model = getModel('openai', 'gpt-4o-mini');\nconst response = await complete(model, context);\ncontext.messages.push(response);\n\n// Serialize the entire context\nconst serialized = JSON.stringify(context);\nconsole.log('Serialized context size:', serialized.length, 'bytes');\n\n// Save to database, localStorage, file, etc.\nlocalStorage.setItem('conversation', serialized);\n\n// Later: deserialize and continue the conversation\nconst restored: Context = JSON.parse(localStorage.getItem('conversation')!);\nrestored.messages.push({ role: 'user', content: 'Tell me more about its type system' });\n\n// Continue with any model\nconst newModel = getModel('anthropic', 'claude-3-5-haiku-20241022');\nconst continuation = await complete(newModel, restored);\n```\n\n> **Note**: If the context contains images (encoded as base64 as shown in the Image Input section), those will also be serialized.\n\n## Browser Usage\n\nThe library supports browser environments. You must pass the API key explicitly since environment variables are not available in browsers:\n\n```typescript\nimport { getModel, complete } from '@mariozechner/pi-ai';\n\n// API key must be passed explicitly in browser\nconst model = getModel('anthropic', 'claude-3-5-haiku-20241022');\n\nconst response = await complete(model, {\n  messages: [{ role: 'user', content: 'Hello!' }]\n}, {\n  apiKey: 'your-api-key'\n});\n```\n\n> **Security Warning**: Exposing API keys in frontend code is dangerous. Anyone can extract and abuse your keys. Only use this approach for internal tools or demos. For production applications, use a backend proxy that keeps your API keys secure.\n\n### Browser Compatibility Notes\n\n- Amazon Bedrock (`bedrock-converse-stream`) is not supported in browser environments.\n- OAuth login flows are not supported in browser environments. Use the `@mariozechner/pi-ai/oauth` entry point in Node.js.\n- In browser builds, Bedrock can still appear in model lists. Calls to Bedrock models fail at runtime.\n- Use a server-side proxy or backend service if you need Bedrock or OAuth-based auth from a web app.\n\n### Environment Variables (Node.js only)\n\nIn Node.js environments, you can set environment variables to avoid passing API keys:\n\n| Provider | Environment Variable(s) |\n|----------|------------------------|\n| OpenAI | `OPENAI_API_KEY` |\n| Azure OpenAI | `AZURE_OPENAI_API_KEY` + `AZURE_OPENAI_BASE_URL` or `AZURE_OPENAI_RESOURCE_NAME` (optional `AZURE_OPENAI_API_VERSION`, `AZURE_OPENAI_DEPLOYMENT_NAME_MAP` like `model=deployment,model2=deployment2`) |\n| Anthropic | `ANTHROPIC_API_KEY` or `ANTHROPIC_OAUTH_TOKEN` |\n| Google | `GEMINI_API_KEY` |\n| Vertex AI | `GOOGLE_CLOUD_PROJECT` (or `GCLOUD_PROJECT`) + `GOOGLE_CLOUD_LOCATION` + ADC |\n| Mistral | `MISTRAL_API_KEY` |\n| Groq | `GROQ_API_KEY` |\n| Cerebras | `CEREBRAS_API_KEY` |\n| xAI | `XAI_API_KEY` |\n| OpenRouter | `OPENROUTER_API_KEY` |\n| Vercel AI Gateway | `AI_GATEWAY_API_KEY` |\n| zAI | `ZAI_API_KEY` |\n| MiniMax | `MINIMAX_API_KEY` |\n| OpenCode Zen / OpenCode Go | `OPENCODE_API_KEY` |\n| Kimi For Coding | `KIMI_API_KEY` |\n| GitHub Copilot | `COPILOT_GITHUB_TOKEN` or `GH_TOKEN` or `GITHUB_TOKEN` |\n\nWhen set, the library automatically uses these keys:\n\n```typescript\n// Uses OPENAI_API_KEY from environment\nconst model = getModel('openai', 'gpt-4o-mini');\nconst response = await complete(model, context);\n\n// Or override with explicit key\nconst response = await complete(model, context, {\n  apiKey: 'sk-different-key'\n});\n```\n\n#### Antigravity Version Override\n\nSet `PI_AI_ANTIGRAVITY_VERSION` to override the Antigravity User-Agent version when Google updates their requirements:\n\n```bash\nexport PI_AI_ANTIGRAVITY_VERSION=\"1.23.0\"\n```\n\n#### Cache Retention\n\nSet `PI_CACHE_RETENTION=long` to extend prompt cache retention:\n\n| Provider | Default | With `PI_CACHE_RETENTION=long` |\n|----------|---------|-------------------------------|\n| Anthropic | 5 minutes | 1 hour |\n| OpenAI | in-memory | 24 hours |\n\nThis only affects direct API calls to `api.anthropic.com` and `api.openai.com`. Proxies and other providers are unaffected.\n\n> **Note**: Extended cache retention may increase costs for Anthropic (cache writes are charged at a higher rate). OpenAI's 24h retention has no additional cost.\n\n### Checking Environment Variables\n\n```typescript\nimport { getEnvApiKey } from '@mariozechner/pi-ai';\n\n// Check if an API key is set in environment variables\nconst key = getEnvApiKey('openai');  // checks OPENAI_API_KEY\n```\n\n## OAuth Providers\n\nSeveral providers require OAuth authentication instead of static API keys:\n\n- **Anthropic** (Claude Pro/Max subscription)\n- **OpenAI Codex** (ChatGPT Plus/Pro subscription, access to GPT-5.x Codex models)\n- **GitHub Copilot** (Copilot subscription)\n- **Google Gemini CLI** (Gemini 2.0/2.5 via Google Cloud Code Assist; free tier or paid subscription)\n- **Antigravity** (Free Gemini 3, Claude, GPT-OSS via Google Cloud)\n\nFor paid Cloud Code Assist subscriptions, set `GOOGLE_CLOUD_PROJECT` or `GOOGLE_CLOUD_PROJECT_ID` to your project ID.\n\n### Vertex AI (ADC)\n\nVertex AI models use Application Default Credentials (ADC):\n\n- **Local development**: Run `gcloud auth application-default login`\n- **CI/Production**: Set `GOOGLE_APPLICATION_CREDENTIALS` to point to a service account JSON key file\n\nAlso set `GOOGLE_CLOUD_PROJECT` (or `GCLOUD_PROJECT`) and `GOOGLE_CLOUD_LOCATION`. You can also pass `project`/`location` in the call options.\n\nExample:\n\n```bash\n# Local (uses your user credentials)\ngcloud auth application-default login\nexport GOOGLE_CLOUD_PROJECT=\"my-project\"\nexport GOOGLE_CLOUD_LOCATION=\"us-central1\"\n\n# CI/Production (service account key file)\nexport GOOGLE_APPLICATION_CREDENTIALS=\"/path/to/service-account.json\"\n```\n\n```typescript\nimport { getModel, complete } from '@mariozechner/pi-ai';\n\n(async () => {\n  const model = getModel('google-vertex', 'gemini-2.5-flash');\n  const response = await complete(model, {\n    messages: [{ role: 'user', content: 'Hello from Vertex AI' }]\n  });\n\n  for (const block of response.content) {\n    if (block.type === 'text') console.log(block.text);\n  }\n})().catch(console.error);\n```\n\nOfficial docs: [Application Default Credentials](https://cloud.google.com/docs/authentication/application-default-credentials)\n\n### CLI Login\n\nThe quickest way to authenticate:\n\n```bash\nnpx @mariozechner/pi-ai login              # interactive provider selection\nnpx @mariozechner/pi-ai login anthropic    # login to specific provider\nnpx @mariozechner/pi-ai list               # list available providers\n```\n\nCredentials are saved to `auth.json` in the current directory.\n\n### Programmatic OAuth\n\nThe library provides login and token refresh functions via the `@mariozechner/pi-ai/oauth` entry point. Credential storage is the caller's responsibility.\n\n```typescript\nimport {\n  // Login functions (return credentials, do not store)\n  loginAnthropic,\n  loginOpenAICodex,\n  loginGitHubCopilot,\n  loginGeminiCli,\n  loginAntigravity,\n\n  // Token management\n  refreshOAuthToken,   // (provider, credentials) => new credentials\n  getOAuthApiKey,      // (provider, credentialsMap) => { newCredentials, apiKey } | null\n\n  // Types\n  type OAuthProvider,  // 'anthropic' | 'openai-codex' | 'github-copilot' | 'google-gemini-cli' | 'google-antigravity'\n  type OAuthCredentials,\n} from '@mariozechner/pi-ai/oauth';\n```\n\n### Login Flow Example\n\n```typescript\nimport { loginGitHubCopilot } from '@mariozechner/pi-ai/oauth';\nimport { writeFileSync } from 'fs';\n\nconst credentials = await loginGitHubCopilot({\n  onAuth: (url, instructions) => {\n    console.log(`Open: ${url}`);\n    if (instructions) console.log(instructions);\n  },\n  onPrompt: async (prompt) => {\n    return await getUserInput(prompt.message);\n  },\n  onProgress: (message) => console.log(message)\n});\n\n// Store credentials yourself\nconst auth = { 'github-copilot': { type: 'oauth', ...credentials } };\nwriteFileSync('auth.json', JSON.stringify(auth, null, 2));\n```\n\n### Using OAuth Tokens\n\nUse `getOAuthApiKey()` to get an API key, automatically refreshing if expired:\n\n```typescript\nimport { getModel, complete } from '@mariozechner/pi-ai';\nimport { getOAuthApiKey } from '@mariozechner/pi-ai/oauth';\nimport { readFileSync, writeFileSync } from 'fs';\n\n// Load your stored credentials\nconst auth = JSON.parse(readFileSync('auth.json', 'utf-8'));\n\n// Get API key (refreshes if expired)\nconst result = await getOAuthApiKey('github-copilot', auth);\nif (!result) throw new Error('Not logged in');\n\n// Save refreshed credentials\nauth['github-copilot'] = { type: 'oauth', ...result.newCredentials };\nwriteFileSync('auth.json', JSON.stringify(auth, null, 2));\n\n// Use the API key\nconst model = getModel('github-copilot', 'gpt-4o');\nconst response = await complete(model, {\n  messages: [{ role: 'user', content: 'Hello!' }]\n}, { apiKey: result.apiKey });\n```\n\n### Provider Notes\n\n**OpenAI Codex**: Requires a ChatGPT Plus or Pro subscription. Provides access to GPT-5.x Codex models with extended context windows and reasoning capabilities. The library automatically handles session-based prompt caching when `sessionId` is provided in stream options. You can set `transport` in stream options to `\"sse\"`, `\"websocket\"`, or `\"auto\"` for Codex Responses transport selection. When using WebSocket with a `sessionId`, connections are reused per session and expire after 5 minutes of inactivity.\n\n**Azure OpenAI (Responses)**: Uses the Responses API only. Set `AZURE_OPENAI_API_KEY` and either `AZURE_OPENAI_BASE_URL` or `AZURE_OPENAI_RESOURCE_NAME`. Use `AZURE_OPENAI_API_VERSION` (defaults to `v1`) to override the API version if needed. Deployment names are treated as model IDs by default, override with `azureDeploymentName` or `AZURE_OPENAI_DEPLOYMENT_NAME_MAP` using comma-separated `model-id=deployment` pairs (for example `gpt-4o-mini=my-deployment,gpt-4o=prod`). Legacy deployment-based URLs are intentionally unsupported.\n\n**GitHub Copilot**: If you get \"The requested model is not supported\" error, enable the model manually in VS Code: open Copilot Chat, click the model selector, select the model (warning icon), and click \"Enable\".\n\n**Google Gemini CLI / Antigravity**: These use Google Cloud OAuth. The `apiKey` returned by `getOAuthApiKey()` is a JSON string containing both the token and project ID, which the library handles automatically.\n\n## Development\n\n### Adding a New Provider\n\nAdding a new LLM provider requires changes across multiple files. This checklist covers all necessary steps:\n\n#### 1. Core Types (`src/types.ts`)\n\n- Add the API identifier to `KnownApi` (for example `\"bedrock-converse-stream\"`)\n- Create an options interface extending `StreamOptions` (for example `BedrockOptions`)\n- Add the provider name to `KnownProvider` (for example `\"amazon-bedrock\"`)\n\n#### 2. Provider Implementation (`src/providers/`)\n\nCreate a new provider file (for example `amazon-bedrock.ts`) that exports:\n\n- `stream<Provider>()` function returning `AssistantMessageEventStream`\n- `streamSimple<Provider>()` for `SimpleStreamOptions` mapping\n- Provider-specific options interface\n- Message conversion functions to transform `Context` to provider format\n- Tool conversion if the provider supports tools\n- Response parsing to emit standardized events (`text`, `tool_call`, `thinking`, `usage`, `stop`)\n\n#### 3. API Registry Integration (`src/providers/register-builtins.ts`)\n\n- Register the API with `registerApiProvider()`\n- Add credential detection in `env-api-keys.ts` for the new provider\n- Ensure `streamSimple` handles auth lookup via `getEnvApiKey()` or provider-specific auth\n\n#### 4. Model Generation (`scripts/generate-models.ts`)\n\n- Add logic to fetch and parse models from the provider's source (e.g., models.dev API)\n- Map provider model data to the standardized `Model` interface\n- Handle provider-specific quirks (pricing format, capability flags, model ID transformations)\n\n#### 5. Tests (`test/`)\n\nCreate or update test files to cover the new provider:\n\n- `stream.test.ts` - Basic streaming and tool use\n- `tokens.test.ts` - Token usage reporting\n- `abort.test.ts` - Request cancellation\n- `empty.test.ts` - Empty message handling\n- `context-overflow.test.ts` - Context limit errors\n- `image-limits.test.ts` - Image support (if applicable)\n- `unicode-surrogate.test.ts` - Unicode handling\n- `tool-call-without-result.test.ts` - Orphaned tool calls\n- `image-tool-result.test.ts` - Images in tool results\n- `total-tokens.test.ts` - Token counting accuracy\n- `cross-provider-handoff.test.ts` - Cross-provider context replay\n\nFor `cross-provider-handoff.test.ts`, add at least one provider/model pair. If the provider exposes multiple model families (for example GPT and Claude), add at least one pair per family.\n\nFor providers with non-standard auth (AWS, Google Vertex), create a utility like `bedrock-utils.ts` with credential detection helpers.\n\n#### 6. Coding Agent Integration (`../coding-agent/`)\n\nUpdate `src/core/model-resolver.ts`:\n\n- Add a default model ID for the provider in `DEFAULT_MODELS`\n\nUpdate `src/cli/args.ts`:\n\n- Add environment variable documentation in the help text\n\nUpdate `README.md`:\n\n- Add the provider to the providers section with setup instructions\n\n#### 7. Documentation\n\nUpdate `packages/ai/README.md`:\n\n- Add to the Supported Providers table\n- Document any provider-specific options or authentication requirements\n- Add environment variable to the Environment Variables section\n\n#### 8. Changelog\n\nAdd an entry to `packages/ai/CHANGELOG.md` under `## [Unreleased]`:\n\n```markdown\n### Added\n- Added support for [Provider Name] provider ([#PR](link) by [@author](link))\n```\n\n## License\n\nMIT\n","_attachments":{},"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"license":"MIT"}