{"_id":"@mariozechner/pi-ai","_rev":"223-260f4f3b809e6337d18cd0b8008356a7","name":"@mariozechner/pi-ai","dist-tags":{"latest":"0.50.4"},"versions":{"0.5.10":{"name":"@mariozechner/pi-ai","version":"0.5.10","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.5.10","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"1be862b161bbdd2cd5dd064c7aaf0bfecfc90a7a","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.5.10.tgz","fileCount":34,"integrity":"sha512-+kiTWIFE/C8TnU668LvEeWmxF3CWiv4WQdRvEsdweyU6Q+bE6UqmSYWpyJks3T86xbxvhlZ98TtCyfBYZF1Slg==","signatures":[{"sig":"MEYCIQDAnBfAL0/jWDP5wrWNGHdQVDf1Wuja4GHkOF5f2bQb9AIhAPpzA+nFsW+omC7zByjcgtTwiBPndZQ8vKHNor9i+jL9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":373356},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"d46a98ec10d6dade7281012df4aee6ec2b1bf704","scripts":{"test":"vitest --run","build":"npm run generate-models && tsc -p tsconfig.build.json","check":"biome check --write .","clean":"rm -rf dist","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":{"chalk":"^5.5.0","openai":"^5.15.0","@google/genai":"^1.15.0","@anthropic-ai/sdk":"^0.60.0"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.5.10_1756582920959_0.33014738623124296","host":"s3://npm-registry-packages-npm-production"}},"0.5.11":{"name":"@mariozechner/pi-ai","version":"0.5.11","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.5.11","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"ace5749db2ea0e67c4699b14d79b56060f78f57b","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.5.11.tgz","fileCount":34,"integrity":"sha512-saW3ysWUjjwNaXiHoYpQ5ue2u1SArHHusdKjWlVKgmEzygLiVdJgVypTXWsqsy9oFr1nzspfOIWO0lSXOsIrSw==","signatures":[{"sig":"MEUCIQCSbDiLxRQV2ZgnRaNkTWvT0JhfwC1TKs/CNysm1ot/wwIgGxcob6HILzsyQBYdQfFLZkO3lMbCUBMNrR4/X2CTY4U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":375437},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"dae40167a368d94bbf9efc0ef32dd38c857ba6d5","scripts":{"test":"vitest --run","build":"npm run generate-models && tsc -p tsconfig.build.json","check":"biome check --write .","clean":"rm -rf dist","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":{"chalk":"^5.5.0","openai":"^5.15.0","@google/genai":"^1.15.0","@anthropic-ai/sdk":"^0.60.0"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.5.11_1756583251004_0.2273381924418425","host":"s3://npm-registry-packages-npm-production"}},"0.5.12":{"name":"@mariozechner/pi-ai","version":"0.5.12","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.5.12","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"d9383f41f39b0bb15a5dbc7fe59e53e3868157a7","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.5.12.tgz","fileCount":34,"integrity":"sha512-sqIg1tb4wp0AOnd6Ldr1SVbXETwjs6PYEZr9VqLnmk2ccN3n5D9SSXy4Kg63CE+5SNUTzp7eVwuTx11StI9dlw==","signatures":[{"sig":"MEQCIEOKPVC10UwT6WooBIDFQ7vXpX+Pb3pcZkHVmZc5x30FAiAv7X37/zmSr1oGGmYeRwZ/kIneAXaTSp6X/WfjU5q6Jg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":375437},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"889208dccd8fd1618abd25688a431a1c8cd7076e","scripts":{"test":"vitest --run","build":"npm run generate-models && tsc -p tsconfig.build.json","check":"biome check --write .","clean":"rm -rf dist","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":{"chalk":"^5.5.0","openai":"^5.15.0","@google/genai":"^1.15.0","@anthropic-ai/sdk":"^0.60.0"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.5.12_1756583335090_0.4569244190002122","host":"s3://npm-registry-packages-npm-production"}},"0.5.13":{"name":"@mariozechner/pi-ai","version":"0.5.13","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.5.13","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"6f1b1c9e36a38425e8b64b296c7fa131574ce498","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.5.13.tgz","fileCount":34,"integrity":"sha512-SXxaYTukgCJHIFB5wTp1fyiMdPIkley5ZDkkMRrgTMLWY722LrbgikDafN753w2XXblX10Xa/ZfPJKQBIBsawQ==","signatures":[{"sig":"MEQCICJlGIftnrrOaZzjhzNHOPeLhBKg8/b7FsclC/ecDS0WAiAfncM0Ss9At88wsq9WDCzd4rtTenwcfF61qi2CxFr3jQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":375543},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"2e90f8f8bcf625065fcaed6e726b34f0a64e9e9a","scripts":{"test":"vitest --run","build":"npm run generate-models && tsc -p tsconfig.build.json","check":"biome check --write .","clean":"rm -rf dist","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":{"chalk":"^5.5.0","openai":"^5.15.0","@google/genai":"^1.15.0","@anthropic-ai/sdk":"^0.60.0"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.5.13_1756585797108_0.1607077457965771","host":"s3://npm-registry-packages-npm-production"}},"0.5.14":{"name":"@mariozechner/pi-ai","version":"0.5.14","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.5.14","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"e86ecb507dbdfb702d9797f3f6cbc090d1ba07a1","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.5.14.tgz","fileCount":34,"integrity":"sha512-IHb8sj5jTXo5igvAuepuAG4A6a7oGCi1S8Rn99tICmv7QbbA1R6Bko8nXU19BfaTrKfbmkrcac9reuEecYykkQ==","signatures":[{"sig":"MEQCIEm2tmuBv77ToB6H1jDl9AHKy9fOGU4iGDatbcCDc8BDAiBMnQUm+YE2nPaBT1QmcYzkXhefsTw24jLkS5Et5dg5Pw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":376214},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"cff766d3e248ae430c8b9504d93729b7795a03a4","scripts":{"test":"vitest --run","build":"npm run generate-models && tsc -p tsconfig.build.json","check":"biome check --write .","clean":"rm -rf dist","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":{"chalk":"^5.5.0","openai":"^5.15.0","@google/genai":"^1.15.0","@anthropic-ai/sdk":"^0.60.0"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.5.14_1756587370188_0.6419967881472814","host":"s3://npm-registry-packages-npm-production"}},"0.5.15":{"name":"@mariozechner/pi-ai","version":"0.5.15","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.5.15","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"bcf71e2fe00f18b1902c936fd2f1cdcd48d0ef84","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.5.15.tgz","fileCount":34,"integrity":"sha512-rloZnKlFD++6lhOApo+qElYFzYZuUZySfwC7rygxMxVRL9Va68ZMGkg82+IOilJElel/h28NNPzb0t1bKef3UQ==","signatures":[{"sig":"MEYCIQCP+VmLEQDRvMVePG40mbKXmPKYdekqnhifAUCUECDXIgIhANFP42Ar2ckIZ48Z80nLvvGmPfp2MsYW7u8nFwyl2MkO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":395553},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"0f2eaa70e932efd445ba3e0e553c341aed563de0","scripts":{"test":"vitest --run","build":"npm run generate-models && tsc -p tsconfig.build.json","check":"biome check --write .","clean":"rm -rf dist","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":{"chalk":"^5.5.0","openai":"^5.15.0","@google/genai":"^1.15.0","@anthropic-ai/sdk":"^0.60.0"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.5.15_1756671138640_0.16085038776373772","host":"s3://npm-registry-packages-npm-production"}},"0.5.16":{"name":"@mariozechner/pi-ai","version":"0.5.16","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.5.16","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"55c7c113d1eddc81ab048b2926a7671687ca6a69","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.5.16.tgz","fileCount":34,"integrity":"sha512-8cyeLtGT3R5dvCc7kB8vfHg3rop0xqwBUDBFK77aFLfm1GmLiJbFyqa1fvEB4L2jMZg/KVRvSNjhuYGMVFQvyQ==","signatures":[{"sig":"MEUCIGEalOGxGdVkK1deJd4HD0yaefyfrNd3AVhvsKncqnhXAiEAmcxuVGUqN64y90Ofb4BUmS0iYlrFU9pLVOduUWG5VX8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":397161},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"8f4e96f2071bbab091c5f54e07e03e84883368ba","scripts":{"test":"vitest --run","build":"npm run generate-models && tsc -p tsconfig.build.json","check":"biome check --write .","clean":"rm -rf dist","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":{"chalk":"^5.5.0","openai":"^5.15.0","@google/genai":"^1.15.0","@anthropic-ai/sdk":"^0.60.0"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.5.16_1756671481976_0.2858638354027587","host":"s3://npm-registry-packages-npm-production"}},"0.5.17":{"name":"@mariozechner/pi-ai","version":"0.5.17","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.5.17","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"e53ad32520593a7daaf597d5a9f35cb64c7c4dc7","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.5.17.tgz","fileCount":34,"integrity":"sha512-IX2co5XchGuG5Z8KS97P4mxc57LRvqwU5sulCqtA37wNRUgfxRkRsRNYmBcgdJOl+fJxCOIw7yU8D0+2SHQyRw==","signatures":[{"sig":"MEUCIQCAokgqGkNDcvuIZ33yPeKiFfLaG1vPA5+/6rmnueJz6gIgcjoU/L6erjADARxlD7U5Mmru0Vdaw0tstdQadDUix44=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":399688},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"683263ba2709ecca17344cf81dfd67f2a74ff7a2","scripts":{"test":"vitest --run","build":"npm run generate-models && tsc -p tsconfig.build.json","check":"biome check --write .","clean":"rm -rf dist","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":{"chalk":"^5.5.0","openai":"^5.15.0","@google/genai":"^1.15.0","@anthropic-ai/sdk":"^0.60.0"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.5.17_1756674600617_0.9252475808011291","host":"s3://npm-registry-packages-npm-production"}},"0.5.18":{"name":"@mariozechner/pi-ai","version":"0.5.18","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.5.18","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"0144be53ddae14141d8154b593493f4f8157b33b","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.5.18.tgz","fileCount":34,"integrity":"sha512-YzDxeFT3xzwgdeZqMZcE+sj+O4BwZ7qxgBFKfd/EbPmKg126jMkBChW4dSmfNTAYwkyMuH/pozsy6IyhPAKUGw==","signatures":[{"sig":"MEYCIQDWNhYqWvT2BjjVeo04Co72Ivm4YTeA6r+XxPCZoDVW1gIhAPgMKq11tjCf0L4MWsJMyZiHYFnW0SaqOfdOYl8PWXAb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":550157},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"f87ac359bbec221d8809aa6d907a9f76e439f273","scripts":{"test":"vitest --run","build":"npm run generate-models && tsc -p tsconfig.build.json","check":"biome check --write .","clean":"rm -rf dist","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":{"chalk":"^5.5.0","openai":"^5.15.0","@google/genai":"^1.15.0","@anthropic-ai/sdk":"^0.60.0"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.5.18_1756676996396_0.46231557951063174","host":"s3://npm-registry-packages-npm-production"}},"0.5.19":{"name":"@mariozechner/pi-ai","version":"0.5.19","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.5.19","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"e510d62869dd595bc1fae68ff89fa7d073ae027f","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.5.19.tgz","fileCount":34,"integrity":"sha512-9xrG6/jJ2G04bvLHox815TfL6QyLMuV0k++xwAEtMQLiQfJA9PFcIZ14kcS2hcj4BZH2Eyln8nVBMmn+MgsNUw==","signatures":[{"sig":"MEQCIFfbEvXA5+uCsVgNoHby50VmZmSmfFhLgUdtlWIUfxirAiAEVNn9E+P6IGctEU7fwaUYceEz4L8hHpyzQOD6J3r3FA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":550441},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"5d5cd7955b4650e90926b6ade7ace934bc99a0d2","scripts":{"test":"vitest --run","build":"npm run generate-models && tsc -p tsconfig.build.json","check":"biome check --write .","clean":"rm -rf dist","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":{"chalk":"^5.5.0","openai":"^5.15.0","@google/genai":"^1.15.0","@anthropic-ai/sdk":"^0.60.0"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.5.19_1756677445177_0.21963499120120322","host":"s3://npm-registry-packages-npm-production"}},"0.5.20":{"name":"@mariozechner/pi-ai","version":"0.5.20","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.5.20","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"4e855b5b25eb2cf0cc5060aff6c7d96af362b4d7","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.5.20.tgz","fileCount":38,"integrity":"sha512-Z25jRZCGtzhy6Xuwh1F6VFCGgWRKCrSAKVkyd0EHDhoRUGQfwEKSCThkR56s4/2qPgm7pGndXy2bNY1Fbgy72Q==","signatures":[{"sig":"MEUCIDEGE4vwO3IOq1dBbTieBwZ5ajCm5WvdKNHPT43mhwNPAiEA4LgPTeoxCHMUdna0G20+pp2etDZWmDCGN8EwslYZEwc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":563977},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"add1b76b6cb80dba8e10dfcfeb7b426fde79c5fa","scripts":{"test":"vitest --run","build":"npm run generate-models && tsc -p tsconfig.build.json","check":"biome check --write .","clean":"rm -rf dist","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":{"chalk":"^5.5.0","openai":"^5.15.0","@google/genai":"^1.15.0","@anthropic-ai/sdk":"^0.60.0"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.5.20_1756745070685_0.7383223467172366","host":"s3://npm-registry-packages-npm-production"}},"0.5.21":{"name":"@mariozechner/pi-ai","version":"0.5.21","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.5.21","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"e6794622273b65acb196fd558291e575242432a0","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.5.21.tgz","fileCount":38,"integrity":"sha512-SmF4VRmSsTCDli1PwOxYdEhOCdhVyUYllIunjNu2ZWJPNiUb5i7jEPqyJXSsgNl/K2UDM90IEk+YDxWly8OWag==","signatures":[{"sig":"MEQCIEv0ccScDau0/ao9t7Urf+TBeDOQF0lKLDjdi9VPdj4GAiBbiNEElcDgjKYgQ3C3AkBRfRIOlBZj6Lh7c7WBTuXuuA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":564377},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"3caa3af8fc39b8fd34812f8cc1f67a8eec41bf60","scripts":{"test":"vitest --run","build":"npm run generate-models && tsc -p tsconfig.build.json","check":"biome check --write .","clean":"rm -rf dist","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":{"chalk":"^5.5.0","openai":"^5.15.0","@google/genai":"^1.15.0","@anthropic-ai/sdk":"^0.60.0"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.5.21_1756756016987_0.6231113426014907","host":"s3://npm-registry-packages-npm-production"}},"0.5.22":{"name":"@mariozechner/pi-ai","version":"0.5.22","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.5.22","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"be1a9b54191651f2adf819ffe38e03e940b75744","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.5.22.tgz","fileCount":38,"integrity":"sha512-ptKct3vlxAONCn+FIge0+tt9scEK3ka7FBiDmEf9sx0U0oOTXUoyp7s3DlZChdVEt0nMJ5pBmErnNR4z6wjZ4g==","signatures":[{"sig":"MEQCIHMuPv/lYFN5ivHDcnpM9ifiy2snEZ3+z9d5GAi0eH9CAiB/2jcVF0E0l3f8PQbsPrRF2cuE9uLUqmU2i8JjAEhfSw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":564699},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"8324cd41922bb7d8593a33f584fa39e8fc2d9fdb","scripts":{"test":"vitest --run","build":"npm run generate-models && tsc -p tsconfig.build.json","check":"biome check --write .","clean":"rm -rf dist","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":{"chalk":"^5.5.0","openai":"^5.15.0","@google/genai":"^1.15.0","@anthropic-ai/sdk":"^0.60.0"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.5.22_1756756587027_0.9318854375424419","host":"s3://npm-registry-packages-npm-production"}},"0.5.23":{"name":"@mariozechner/pi-ai","version":"0.5.23","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.5.23","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"1098233f6498c6d3a6bc18fa695ae6779c234487","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.5.23.tgz","fileCount":38,"integrity":"sha512-JM/ea+nSdp2qJuXelAsteeJrTgyWdDQNeCm3HJzWJpzrGpt2Sl4hzj7ldTzHu6EnL7TpMLDQHkm0D9OHPD7PkQ==","signatures":[{"sig":"MEQCIDChKOElhDauIowh9O+XmyJlVf3L7mwHQq2cDDR5NTxTAiAs8w57OO/WqFemdJhzOvnWlr9Ettr6cXZGx9zgReB/OA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":565466},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"14d93ca8c6adf851ac28ffa6e9002e92ce8b8f55","scripts":{"test":"vitest --run","build":"npm run generate-models && tsc -p tsconfig.build.json","check":"biome check --write .","clean":"rm -rf dist","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":{"chalk":"^5.5.0","openai":"^5.15.0","@google/genai":"^1.15.0","@anthropic-ai/sdk":"^0.60.0"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.5.23_1756757003565_0.12365871023794406","host":"s3://npm-registry-packages-npm-production"}},"0.5.24":{"name":"@mariozechner/pi-ai","version":"0.5.24","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.5.24","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"05371079e8c2a5ffd6841e1c5202cd120c0d7938","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.5.24.tgz","fileCount":38,"integrity":"sha512-fl8i0uQkwNP/JccZtXdbzNqh5uvYzYqlzMAg1FyiMGkmyr99j2ctahJ3w6U5ReOb3D9dYISaknuUCdEypkfYrA==","signatures":[{"sig":"MEYCIQC6JEoaz6m//VOAnoahvkrnFTXc+4IrkQkHMyuZZOVFdQIhANBaNIjoeFnkgjJbly96Bb+wx8kAlxX3kyZq4Oo1f8am","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":566177},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"3007b7a5ac230aa82c1b9b33c25d820427eca684","scripts":{"test":"vitest --run","build":"npm run generate-models && tsc -p tsconfig.build.json","check":"biome check --write .","clean":"rm -rf dist","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":{"chalk":"^5.5.0","openai":"^5.15.0","@google/genai":"^1.15.0","@anthropic-ai/sdk":"^0.60.0"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.5.24_1756757401335_0.9819329112118953","host":"s3://npm-registry-packages-npm-production"}},"0.5.25":{"name":"@mariozechner/pi-ai","version":"0.5.25","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.5.25","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"216b71cb5b3af2b655015a8c00fde6d636368398","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.5.25.tgz","fileCount":38,"integrity":"sha512-/h/Spb1N2/ZtwKdpegpZHWcRnJ/2ebssm12qPa0KRZIFfNfJV+Sq1y786sNuHHxPOSQjYQ3DMLTpMIGcGAT4og==","signatures":[{"sig":"MEUCICsAa3I0lMM5xQ3VZ4HMkqa4zsDRi3UebzMMnw27ku8qAiEAwFKnbSY8oLwMxh2sL1v9tZfpzIzJg/C4DI+JcHQukW4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":570124},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"f1c3d44602bf2c4123e328ec167a597152acf94c","scripts":{"test":"vitest --run","build":"npm run generate-models && tsc -p tsconfig.build.json","check":"biome check --write .","clean":"rm -rf dist","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":{"chalk":"^5.5.0","openai":"^5.15.0","@google/genai":"^1.15.0","@anthropic-ai/sdk":"^0.60.0"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.5.25_1756765242113_0.060144953826665626","host":"s3://npm-registry-packages-npm-production"}},"0.5.26":{"name":"@mariozechner/pi-ai","version":"0.5.26","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.5.26","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"70628eef029fe22b72720ed54e119fce2ab1ff08","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.5.26.tgz","fileCount":38,"integrity":"sha512-9UfBjG1Sd1y80fg04fdlvrzDdPSWk7R9U62p8FT+p8WG4lB4pPsQWv4RWN243R9d/jD13SEZH7joEjvjKU124g==","signatures":[{"sig":"MEUCIQCuEevjkkAKgXElMQOgYwQsy/MX9CH1nmkGtc1MlKGG3AIgED8Ew8sW/m+cxYnOgdd0/AKSsNoBQe5dsymcnSSSWLw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":544789},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"efaa5cdb39cccacaa22fbdb930ac0f1104abd258","scripts":{"test":"vitest --run","build":"npm run generate-models && tsc -p tsconfig.build.json","check":"biome check --write .","clean":"rm -rf dist","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":{"chalk":"^5.5.0","openai":"^5.15.0","@google/genai":"^1.15.0","@anthropic-ai/sdk":"^0.60.0"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.5.26_1756768780637_0.11754679312801986","host":"s3://npm-registry-packages-npm-production"}},"0.5.27":{"name":"@mariozechner/pi-ai","version":"0.5.27","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.5.27","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"d1d1572bb3f1b2de382c581f9d52f177e50c4480","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.5.27.tgz","fileCount":38,"integrity":"sha512-I40NhceLO4jXrjmgOHqAY+zaCFtpdAfKxX/22wpPOzY20A2Iv97mo2gM2HH2BTltKdCwZwfy3H1w2ftMx1QOFg==","signatures":[{"sig":"MEUCIFnIzUGIUxNwaWqrrjPjLvfv6WI+sp/dCFe4wU89bW6kAiEAwsKbe07Rx1tOJj+vg1aNfxO4M7sxUTvpyZQXwEC8D5w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":546527},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"0fbb0921bbfd2e0d55d202dea47058eb70292dcb","scripts":{"test":"vitest --run","build":"npm run generate-models && tsc -p tsconfig.build.json","check":"biome check --write .","clean":"rm -rf dist","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":{"chalk":"^5.5.0","openai":"^5.15.0","@google/genai":"^1.15.0","@anthropic-ai/sdk":"^0.60.0"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.5.27_1756769583562_0.45600666525258693","host":"s3://npm-registry-packages-npm-production"}},"0.5.28":{"name":"@mariozechner/pi-ai","version":"0.5.28","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.5.28","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"85bd51e93f5929f9aa6e122d3bb4e5473d95c63f","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.5.28.tgz","fileCount":42,"integrity":"sha512-yJqCJGoGV1Wv4HwvclzkaaY+RivchGzmzxkQ5J17fANB4yKWV2xSMZIXwkp8qRallZksBxlu1ueT+R8Lw192Vg==","signatures":[{"sig":"MEUCIAed5q4zXiTMbzYuU1mXM41Yz1EcMAFwM5B33RE5J8HGAiEAsKjjyk3eGf8k86WlYR7fjW+eRsekKcuf7VpKDHM46PQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587373},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"080bf673063b942ba0d183d6603ff0f4913bed05","scripts":{"test":"vitest --run","build":"npm run generate-models && tsc -p tsconfig.build.json","check":"biome check --write .","clean":"rm -rf dist","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":{"chalk":"^5.5.0","openai":"^5.15.0","@google/genai":"^1.15.0","@anthropic-ai/sdk":"^0.60.0"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.5.28_1756855600562_0.05087834218246634","host":"s3://npm-registry-packages-npm-production"}},"0.5.29":{"name":"@mariozechner/pi-ai","version":"0.5.29","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.5.29","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"f64e9079e86eafd425d01aebd336e32507c37521","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.5.29.tgz","fileCount":42,"integrity":"sha512-VfbOvLwIg9BSiMUphYZeBhGIem7bfZ4+exDjXXuaOLZ+jGYL7z4qVWwMtakuwHUlL7aweWe7cn5ZbodAuCVtAg==","signatures":[{"sig":"MEQCIA/kDDqSaoKgRfJ+vv9jX8Sy9E30NPOl4xqaKylu3K96AiBe7rAKjuHGpxnQ7RgBJHVZBmzUfJ5zFNQluvB2dhrHKg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":588125},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"7d1daac39ea9e025900d22f0a251240f4aa2972b","scripts":{"test":"vitest --run","build":"npm run generate-models && tsc -p tsconfig.build.json","check":"biome check --write .","clean":"rm -rf dist","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":{"chalk":"^5.5.0","openai":"^5.15.0","@google/genai":"^1.15.0","@anthropic-ai/sdk":"^0.60.0"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.5.29_1756955897732_0.32722832699587334","host":"s3://npm-registry-packages-npm-production"}},"0.5.30":{"name":"@mariozechner/pi-ai","version":"0.5.30","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.5.30","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"3de1780a1920a50cd76267821a4d24f9649a2e2a","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.5.30.tgz","fileCount":42,"integrity":"sha512-pHjFOdTSjsZAuUe1VjvDYclNddVh3YSqnXGKJwGg/zF78tUs5ZPut+U7MWXGUV2YKLkidSgEvFzLrZmMAPVnQw==","signatures":[{"sig":"MEUCIQDdohzwGZDenRgCTHUFEFMvHF6IoAaiwpMtL3OAw12D4gIgdJ9jO18zPIqrxsjIkn/L/yyXHGrf451AWX/9ePbI9+I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":589282},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"9230b83d94a9f28f24b84e5ae33d2d1d9377f204","scripts":{"test":"vitest --run","build":"npm run generate-models && tsc -p tsconfig.build.json","check":"biome check --write .","clean":"rm -rf dist","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":{"chalk":"^5.5.0","openai":"^5.15.0","@google/genai":"^1.15.0","@anthropic-ai/sdk":"^0.60.0"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.5.30_1756982567431_0.7422105293811674","host":"s3://npm-registry-packages-npm-production"}},"0.5.31":{"name":"@mariozechner/pi-ai","version":"0.5.31","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.5.31","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"f2d9c16ae300788c59c0ff99aec08d6ccc439a15","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.5.31.tgz","fileCount":42,"integrity":"sha512-q7/tgXu55sOpAGuydcLVRCwVg1teASjHf85SFyhaMJ21EQI/t06XCISgOO1bf17s8sbd5cblj9oEFA4IHgwasA==","signatures":[{"sig":"MEUCIDfDkdtd/3l2cOgNwLAJrZJy/fjYvg9ghS12o+9tItcEAiEAmXmGKjPQDLNOY48282/+gHpAtQh/A8MrPhxVsY8WxL4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":608181},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"2bdb87dfe779410e914f5777d942501d1e0fa18d","scripts":{"test":"vitest --run","build":"npm run generate-models && tsc -p tsconfig.build.json","check":"biome check --write .","clean":"rm -rf dist","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":{"chalk":"^5.5.0","openai":"^5.15.0","@google/genai":"^1.15.0","@anthropic-ai/sdk":"^0.60.0"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.5.31_1757196631131_0.2130181844269854","host":"s3://npm-registry-packages-npm-production"}},"0.5.32":{"name":"@mariozechner/pi-ai","version":"0.5.32","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.5.32","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"8fa7f62e11af188066661cb62bd7edc2051c892e","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.5.32.tgz","fileCount":74,"integrity":"sha512-g/RpzCHHLvMmmjtDoN+LS2vMtrMyd77vnFWRps0eSsoGE/lvxJ7VsxZE5e5Ks3ZL9b0rjPWSfJNKkHXTzQ8p9Q==","signatures":[{"sig":"MEYCIQDVSr77ebybMFoWCNrhEFBYo8+a5n1OM0juFqGaxx3MGgIhAJp84Vxo6Ats0AGAtL21XgMwSmzFIOL/gh5YDXaaQdFV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":675433},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"34a7344a7dea8bb20c551bb567269a6571481576","scripts":{"dev":"tsc -p tsconfig.build.json --watch","test":"vitest --run","build":"npm run generate-models && tsc -p tsconfig.build.json","check":"biome check --write .","clean":"rm -rf dist","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":{"chalk":"^5.6.2","openai":"^5.20.0","@google/genai":"^1.17.0","@anthropic-ai/sdk":"^0.61.0","zod-to-json-schema":"^3.24.6"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.5.32_1757422857640_0.680525820831601","host":"s3://npm-registry-packages-npm-production"}},"0.5.34":{"name":"@mariozechner/pi-ai","version":"0.5.34","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.5.34","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"7425963bd9978e88bf29a2c8ad4ca35867814faf","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.5.34.tgz","fileCount":74,"integrity":"sha512-PcEva1rLwMMituQE1LChntsSE7AoL0lnSANE6Fj8pmZm5a+wJBT1W+n/PVi+mnmkzWfziFwEq6YGI85Ol5devg==","signatures":[{"sig":"MEQCIBpYjarkRaqPUE6sWRhgE+MyirOG1rT2AqGowGPFfReTAiBUIsQhTAh4ngHV2ac8lIjii3fEMsV25RYS2wr87VuGpg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":688501},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"1c9ab1ca240610162a6ce4042be79efa67f44429","scripts":{"dev":"tsc -p tsconfig.build.json --watch","test":"vitest --run","build":"npm run generate-models && tsc -p tsconfig.build.json","check":"biome check --write .","clean":"rm -rf dist","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":{"chalk":"^5.6.2","openai":"^5.20.0","@google/genai":"^1.17.0","@anthropic-ai/sdk":"^0.61.0","zod-to-json-schema":"^3.24.6"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.5.34_1757889322450_0.7836330003647225","host":"s3://npm-registry-packages-npm-production"}},"0.5.35":{"name":"@mariozechner/pi-ai","version":"0.5.35","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.5.35","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"481010b2da50b1b7650001c547f91e99c23df24d","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.5.35.tgz","fileCount":74,"integrity":"sha512-R6V7Y74G6dI//rCN/3X6c4ViGSP7nh5g3wzEaTCByh0yZo28wMmGPux6nSULeOfdbVmHFR/LzTnOLrvEmrpX0Q==","signatures":[{"sig":"MEQCIHDqIrSj+YNRRG3kyVU4ci41w9E7nP1pe0rxXuaNa7XoAiAPxGWfEozNx4tk1MTsulXjsPSZNMzrHE4zQ4Dgm0dOYA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":689076},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"f5ac1ef52159b318c78d7ab158936ad45b9197f1","scripts":{"dev":"tsc -p tsconfig.build.json --watch","test":"vitest --run","build":"npm run generate-models && tsc -p tsconfig.build.json","check":"biome check --write .","clean":"rm -rf dist","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":{"chalk":"^5.6.2","openai":"^5.20.0","@google/genai":"^1.17.0","@anthropic-ai/sdk":"^0.61.0","zod-to-json-schema":"^3.24.6"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.5.35_1757961208100_0.33000803429963543","host":"s3://npm-registry-packages-npm-production"}},"0.5.36":{"name":"@mariozechner/pi-ai","version":"0.5.36","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.5.36","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"da420a6704251ac5b87ce19cce4921461e272b9d","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.5.36.tgz","fileCount":78,"integrity":"sha512-nPuYUNQjNMMCY1ngmatEUkenB7i6Dc8Ez2+dKczVHkjFWnF0sz2ajq0d+X/ZZQfZVsTAM7g2EkaIsIyxrurI6g==","signatures":[{"sig":"MEUCIQDos30+b78olVLz0xl+TrAZRoGpEP/ux+gJfzZejcS1VwIgVnIQFxlZ8PTnLnWwaeWydQhAWomCsxf9ONglTPxS6G0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":692678},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"365b9ec390c58e5c2d106ed775fd5c5859aad423","scripts":{"dev":"tsc -p tsconfig.build.json --watch","test":"vitest --run","build":"npm run generate-models && tsc -p tsconfig.build.json","check":"biome check --write .","clean":"rm -rf dist","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":"^5.20.0","ajv-formats":"^3.0.1","@google/genai":"^1.17.0","@anthropic-ai/sdk":"^0.61.0","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.5.36_1757977923832_0.13706834334230944","host":"s3://npm-registry-packages-npm-production"}},"0.5.37":{"name":"@mariozechner/pi-ai","version":"0.5.37","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.5.37","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"14a7cfd0dfa73700415e211e1ae6c3a23c948d44","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.5.37.tgz","fileCount":78,"integrity":"sha512-BSho01Rcoqbz8TqrrFQxYRSKN/Epm6+pEg97AP1CNdMmD7gG6IQIb9P43uwd6/AsAxFmKEenD/2GqOAP3lcqLg==","signatures":[{"sig":"MEUCIFnw9ql10fKmN2ewmwJjiPYz9uMsPwCqL3JxMav4tLF8AiEAuDe2kxfgfvdWeUuNL/NZYRM0l973HzFNAH9GnEuAH+U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":692422},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"e2d23a5abb58aa2c9e9a326b2c24000c01b7e352","scripts":{"dev":"tsc -p tsconfig.build.json --watch","test":"vitest --run","build":"npm run generate-models && tsc -p tsconfig.build.json","check":"biome check --write .","clean":"rm -rf dist","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":"^5.20.0","ajv-formats":"^3.0.1","@google/genai":"^1.17.0","@anthropic-ai/sdk":"^0.61.0","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.5.37_1757979078763_0.6771404654020832","host":"s3://npm-registry-packages-npm-production"}},"0.5.38":{"name":"@mariozechner/pi-ai","version":"0.5.38","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.5.38","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"ec77b970f57a05d929bca533def1e26461b7514e","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.5.38.tgz","fileCount":78,"integrity":"sha512-c94RnteQw3dTH+uf3BMREiq5HH0va1jLs+PyQwl4mqyNss9ZjPM67LGlOYzkPvpxwwKvQbVo8+YeV5HGl79l5A==","signatures":[{"sig":"MEYCIQDyvLo6eyjA1YN/ISKCrOQ1fWKycb3kPSH/+vuU7tBytwIhAJ55wifAyTOwNYMd4DGcSZ1v0t6OJgEpSjIMTao4GtqL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":692422},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"e2d23a5abb58aa2c9e9a326b2c24000c01b7e352","scripts":{"dev":"tsc -p tsconfig.build.json --watch","test":"vitest --run","build":"npm run generate-models && tsc -p tsconfig.build.json","check":"biome check --write .","clean":"rm -rf dist","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":"^5.20.0","ajv-formats":"^3.0.1","@google/genai":"^1.17.0","@anthropic-ai/sdk":"^0.61.0","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.5.38_1757979207838_0.48558018005317405","host":"s3://npm-registry-packages-npm-production"}},"0.5.39":{"name":"@mariozechner/pi-ai","version":"0.5.39","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.5.39","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"32ea5b98e2b939cf66ed11d249392f2b4984b537","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.5.39.tgz","fileCount":78,"integrity":"sha512-DQ24JGqypbUprf98LVcJxb6xYZ8G46dXw4Ff1REykMH/0t5N6t7Q8WXOs3k96cHXggen8rbsk+K6AMcizvM73A==","signatures":[{"sig":"MEUCIQDThyCjYYK99Z5HfgnhavfwqjchOH8hRVjZoI2HYNJM/AIge9K/qMwV7MC7ndBol7wfM2e4Ag8FiL/T2uxaRY0+ptM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":693155},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"197259c88af5d27acabb4fd6c983e9110464cdc5","scripts":{"dev":"tsc -p tsconfig.build.json --watch","test":"vitest --run","build":"npm run generate-models && tsc -p tsconfig.build.json","check":"biome check --write .","clean":"rm -rf dist","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":"^5.20.0","ajv-formats":"^3.0.1","@google/genai":"^1.17.0","@anthropic-ai/sdk":"^0.61.0","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.5.39_1757982032303_0.32344985705108664","host":"s3://npm-registry-packages-npm-production"}},"0.5.40":{"name":"@mariozechner/pi-ai","version":"0.5.40","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.5.40","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"850b000db05c3779252398f30c177145f1692b1c","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.5.40.tgz","fileCount":82,"integrity":"sha512-g0t8FzUSD0c2Iof06FmZWcGRoJPmu8+Ajt/muzX43eHoPms/W98ffV0abkP/yk0jkPMy33wxMvzWU4lNR1GAvw==","signatures":[{"sig":"MEUCIQDWmDiXt+b0deTaf/6QagSThO6kKVbKwVl6jKvyoYTQ/gIgTDLOuIxv3bVx5bUpR1GRpGQ8hGXW8QtfD2qIcdsOqn0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":698457},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"9c921049a6ec544a0f1d987302d99ddafad4f0d6","scripts":{"dev":"tsc -p tsconfig.build.json --watch","test":"vitest --run","build":"npm run generate-models && tsc -p tsconfig.build.json","check":"biome check --write .","clean":"rm -rf dist","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":"^5.20.0","ajv-formats":"^3.0.1","partial-json":"^0.1.7","@google/genai":"^1.17.0","@anthropic-ai/sdk":"^0.61.0","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.5.40_1758018273671_0.09284523103555253","host":"s3://npm-registry-packages-npm-production"}},"0.5.41":{"name":"@mariozechner/pi-ai","version":"0.5.41","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.5.41","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"2a4766f43ae2fafad65bf5de295c8aec15f94f05","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.5.41.tgz","fileCount":82,"integrity":"sha512-xCutuxfr5qoULgDVMycFlWfpqFXesNGdKWnJKqRflkIuM+6BPjOluTdkNjhphJHSVQJsMvB5d+SvRw0Hmr98zg==","signatures":[{"sig":"MEYCIQCnQiaDbTg+zWk8z5TnfGJXTbCOzsZIebA36mUo8YZa2gIhAIG2xDdJuy3wEzZqEKqKDkWOI/k71lgVreJFY6BJBJ5a","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":705708},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"293a6e878d4bdc564d01e7df60dee57160ca4d52","scripts":{"dev":"tsc -p tsconfig.build.json --watch","test":"vitest --run","build":"npm run generate-models && tsc -p tsconfig.build.json","check":"biome check --write .","clean":"rm -rf dist","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":"^5.20.0","ajv-formats":"^3.0.1","partial-json":"^0.1.7","@google/genai":"^1.17.0","@anthropic-ai/sdk":"^0.61.0","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.5.41_1758187122897_0.24732681560777348","host":"s3://npm-registry-packages-npm-production"}},"0.5.42":{"name":"@mariozechner/pi-ai","version":"0.5.42","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.5.42","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"edbd6672883e3003d026b585b201a03dfdf9f87e","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.5.42.tgz","fileCount":82,"integrity":"sha512-5/jLze6t1qZX1muVwwWmadp+r1ui9Kl7ZlUVrdook0RIgKNpT942UpUU6SrarMKKt67max53KNNjxdArlQ8QIg==","signatures":[{"sig":"MEQCIDXb3prI9GXwJRmNcO5o6nQ26voQjlFgMlLJBEzIw4j/AiBSd0bKFHBFuBBeqUKC1+Aa0mt18v9KBDMp8cL3qxcoxw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":712554},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"0f7ed33ba5eae38ba6c34acc6f20fa9f7fcc92df","scripts":{"dev":"tsc -p tsconfig.build.json --watch","test":"vitest --run","build":"npm run generate-models && tsc -p tsconfig.build.json","check":"biome check --write .","clean":"rm -rf dist","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":"^5.20.0","ajv-formats":"^3.0.1","partial-json":"^0.1.7","@google/genai":"^1.17.0","@anthropic-ai/sdk":"^0.61.0","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.5.42_1758233695971_0.7806292769263978","host":"s3://npm-registry-packages-npm-production"}},"0.5.43":{"name":"@mariozechner/pi-ai","version":"0.5.43","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.5.43","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"b8ecacb7fbdd2724188d3b6ce93c166bbfecc9c5","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.5.43.tgz","fileCount":82,"integrity":"sha512-22SmGd4mRR/BWOuN/ibBx1Myo1625a62Xz4rzWyDX2DdHpBiSabbo/vRU8IxKAD0NlKRrDt3Z6fRKJzScTCpOQ==","signatures":[{"sig":"MEUCIDaWxtDjBw6B8HhWXzknaWo1LkH5+KsFKq36ciq3Uj5SAiEAnZG/82HlGkLlo1SXSasrB24JuiVm2RLkKXfw7dLBoOY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":712110},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"c1185c7b95a1b70e37047e0291d13c3f50470370","scripts":{"dev":"tsc -p tsconfig.build.json --watch","test":"vitest --run","build":"npm run generate-models && tsc -p tsconfig.build.json","check":"biome check --write .","clean":"rm -rf dist","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":"^5.20.0","ajv-formats":"^3.0.1","partial-json":"^0.1.7","@google/genai":"^1.17.0","@anthropic-ai/sdk":"^0.61.0","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.5.43_1758239412548_0.32726215499971434","host":"s3://npm-registry-packages-npm-production"}},"0.5.44":{"name":"@mariozechner/pi-ai","version":"0.5.44","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.5.44","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"b4fc29a9c5cca41930c0e8dbb23de30cd7060e36","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.5.44.tgz","fileCount":82,"integrity":"sha512-qxwlrjtF28uRJYkQYG4k3tYt5gLAjfuw1lQHPm6YfK1ar6bd77ocnpmYjTY8qcLB1AxVaG3r2+Pb0YnhFTO54Q==","signatures":[{"sig":"MEUCIHaoVvcnc/8HBHN8fT4a8XVrDf//w3wIDsuXrdn67hGoAiEA9yPl/ITMd6NVZPl6ZZj5pPrclC331eVfWbPy3xnUl4M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":747353},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"414a4eb8fd8e7f6a8461df747990c8bfa6d525da","scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"npm run generate-models && tsc -p tsconfig.build.json","check":"biome check --write .","clean":"rm -rf dist","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":"5.21.0","ajv-formats":"^3.0.1","partial-json":"^0.1.7","@google/genai":"^1.17.0","@anthropic-ai/sdk":"^0.61.0","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.5.44_1759698133199_0.10032069918628372","host":"s3://npm-registry-packages-npm-production"}},"0.5.45":{"name":"@mariozechner/pi-ai","version":"0.5.45","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.5.45","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"5d1570e41ee978281e3f8a99dec2e9cee751a54d","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.5.45.tgz","fileCount":86,"integrity":"sha512-SFmNl72bpQmpwr4YuMdj7QNW4qF+rghgJ/oFgdl4l6LwbedFwxCsT/IpRDIstHGivtpTB5bGAdv1xfeb8vEsAw==","signatures":[{"sig":"MEUCIE5r2cGcjfD4clkB3kh+6le9klGXWJBK0s47NxvOyF/2AiEA6jR6J9avLhU+qjrTO+vvBKhg9LQI4fLBm7DJGxl3KIY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":806811},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"368ffb66aa9473f91b93dd21953b0726c4d344d6","scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"npm run generate-models && tsc -p tsconfig.build.json","check":"biome check --write .","clean":"rm -rf dist","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":"5.21.0","ajv-formats":"^3.0.1","partial-json":"^0.1.7","@google/genai":"^1.17.0","@anthropic-ai/sdk":"^0.61.0","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.5.45_1761131032862_0.14014903596163752","host":"s3://npm-registry-packages-npm-production"}},"0.5.46":{"name":"@mariozechner/pi-ai","version":"0.5.46","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.5.46","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"ee92e654daa7dbe79d823427920c0479f09e6635","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.5.46.tgz","fileCount":86,"integrity":"sha512-0zMOqeYfz0TPsx0Q1JCoiqE20+wsCi+jD+o0MrRwXdTU86yK5sBx6+TJnLQ5i5NctU7ptiLn13+jaEuDoIN67g==","signatures":[{"sig":"MEYCIQClPNjnNTAT80ebOzaUj9mW9g4sqeQ7ECDu/3otVn6+iwIhAKK3hKQTESaPh+0JNkMNa+lnGFt8AzEL9fDPJpEupzRm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":806811},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"ef09efaac941a71753c5f976e54d1cdb38a25016","scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"npm run generate-models && tsc -p tsconfig.build.json","check":"biome check --write .","clean":"rm -rf dist","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":"5.21.0","ajv-formats":"^3.0.1","partial-json":"^0.1.7","@google/genai":"^1.17.0","@anthropic-ai/sdk":"^0.61.0","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.5.46_1761131424400_0.637261473512454","host":"s3://npm-registry-packages-npm-production"}},"0.5.47":{"name":"@mariozechner/pi-ai","version":"0.5.47","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.5.47","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"742ee247bc730587caae69f4c0e35f056a438fdd","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.5.47.tgz","fileCount":86,"integrity":"sha512-0lLEmvtZ9AkctnkyNE7+0BvaYH6woVr1CPLKFv8+3paHdr1+b2zj1Y0lt17itJrt39IwHS0hf4re1M4hwT1aaQ==","signatures":[{"sig":"MEUCIQCkGYb2ayh0RC7G9rqCTkZKH3o6NlgwKBoB2dDo0QQtfgIgJkbEkkul561lMBsmnbmmBIcvzopcmdXXIwJYrEubERE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":819266},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"55dc0b6e086c9823376f756cf15c4bcab7ae757b","scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"npm run generate-models && tsc -p tsconfig.build.json","check":"biome check --write .","clean":"rm -rf dist","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":"5.21.0","ajv-formats":"^3.0.1","partial-json":"^0.1.7","@google/genai":"^1.17.0","@anthropic-ai/sdk":"^0.61.0","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.5.47_1761432326237_0.6484197378082364","host":"s3://npm-registry-packages-npm-production"}},"0.5.48":{"name":"@mariozechner/pi-ai","version":"0.5.48","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.5.48","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"5c664a9b3b8c4ce3c078493766e0ae76330f0f7b","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.5.48.tgz","fileCount":86,"integrity":"sha512-EbasC5UKLYD9S9jyurU0mWLIxt5crQJ6Gt73mdV1jB5pCpLre9ixSwTMraBhQYRm3oN0gHGuGf+lWxgKA1QQtQ==","signatures":[{"sig":"MEQCIDCdWyP/muXO4VdjBH/hcqMgS66p8ZMWrQLW6wyTLf7GAiAk0Nlk2TKrlek9FMgV5e+/etl1Ws4WH3ywWFmpSC4/pg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":821095},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"ec50ede6c22d37e1485b4b68d3bb02cdc6b22fcd","scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"npm run generate-models && tsc -p tsconfig.build.json","check":"biome check --write .","clean":"rm -rf dist","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":"5.21.0","ajv-formats":"^3.0.1","partial-json":"^0.1.7","@google/genai":"^1.17.0","@anthropic-ai/sdk":"^0.61.0","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.5.48_1761510246898_0.3557569968546721","host":"s3://npm-registry-packages-npm-production"}},"0.6.2":{"name":"@mariozechner/pi-ai","version":"0.6.2","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.6.2","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"dfdc409e9de5e396b36d1821b458452ac21171d2","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.6.2.tgz","fileCount":86,"integrity":"sha512-sVuNRo7j2AL+dk2RQrjVa6+j5Hf+5wFssJoRs0EpSbaVlLveiEAXOYx8ajryirTvzzpAPzbOX4S/UoJiqDh1vQ==","signatures":[{"sig":"MEYCIQDrzPlRzDHBgMG35YvIqOJNlsq1Xt3e7M6jB6DaK37m/QIhAPLx2cq0cYtjYAza8RoA8HyvRJ4bebrmHqkqc53+RUzO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1267958},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"43a1c1ae44ef5b9487fef678ef749406d9518832","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":"5.21.0","ajv-formats":"^3.0.1","partial-json":"^0.1.7","@google/genai":"^1.17.0","@anthropic-ai/sdk":"^0.61.0","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.6.2_1762987471352_0.10594705876290211","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@mariozechner/pi-ai","version":"0.7.0","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.7.0","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"a8b12c343497d5ea96367a6a41e688f60d61dae0","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.7.0.tgz","fileCount":86,"integrity":"sha512-xfLvb1k/H+dhh3PlbsxAG+Fi6s6xDQfql0UthQJFLQqK5WQ8QOMrYPWv8Ph89jhmfitLStNonl1T06bfHIApNQ==","signatures":[{"sig":"MEYCIQClq7kdvc4ZNAJ8Lm6cahYLkFss6BWcVbbo2wC6lJL5nQIhAKgmsahMVoQIZUnj8NgCfpSgNicC+Z4xuOaJTFQJIpvr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1267958},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"b1410ef903b69760a5d647fe46d0f715f9684649","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":"5.21.0","ajv-formats":"^3.0.1","partial-json":"^0.1.7","@google/genai":"^1.17.0","@anthropic-ai/sdk":"^0.61.0","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.7.0_1762988145392_0.22212027069368423","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"@mariozechner/pi-ai","version":"0.7.1","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.7.1","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"a2d3e6df82ed96592fb3379129b3a6d37ab4e71b","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.7.1.tgz","fileCount":86,"integrity":"sha512-O2kRldJZ1Bl2cTch8+yLxwozL4az9/DBM7ptFDLUCgg7R1XbuTk20sA/rFfvN3sLIjhPWpjz0leRQjQBF/aTOg==","signatures":[{"sig":"MEUCIEKlskA3DAxd0JpXFfd0eHMu444QiottcYlpRKEwMabDAiEAkOcq2qN4IM+SL/SocEMwO08O4+59Km5E5Oa5VvcZ53s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1267958},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"4019acf1f083e66c091174bb9edb2609a6481a40","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":"5.21.0","ajv-formats":"^3.0.1","partial-json":"^0.1.7","@google/genai":"^1.17.0","@anthropic-ai/sdk":"^0.61.0","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.7.1_1762988727102_0.5118613619241867","host":"s3://npm-registry-packages-npm-production"}},"0.7.2":{"name":"@mariozechner/pi-ai","version":"0.7.2","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.7.2","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"f7d152ea5ff78624118fdbbfbad06db05b555dc9","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.7.2.tgz","fileCount":86,"integrity":"sha512-ZfSZIYDR5EXc9TMMYJOZ2s4FeRXDS7h5SBKv9nDpeXXojKY93p3m+6Z2tlK0icLMeCSxUy14ZFHr/G/6MCmhYA==","signatures":[{"sig":"MEUCIQD2oXus8CW1+9IxL/pjOHsKAcb3o32azEYtiLmNCwQ/LQIgGbyiu63Xy0Fh4dO+oVx8R2sx9gDlFlzNubZt9j+fwJc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1267958},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"39e22f1294638e9b9258c01ce46077018bdf58c2","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":"5.21.0","ajv-formats":"^3.0.1","partial-json":"^0.1.7","@google/genai":"^1.17.0","@anthropic-ai/sdk":"^0.61.0","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.7.2_1762992039930_0.5366148686826797","host":"s3://npm-registry-packages-npm-production"}},"0.7.4":{"name":"@mariozechner/pi-ai","version":"0.7.4","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.7.4","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"b0b85d2a43fd1694ba45bc21fdeb9010ba7cfc9f","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.7.4.tgz","fileCount":86,"integrity":"sha512-ak2ZcUzp246PyOD0T+PnRSnEUxNa+/2TdWoeRAcQval8TYEmIQQuQOO8r+LXF/w99FRCHLlUxfCQAk8JZb5SgQ==","signatures":[{"sig":"MEUCIFVc33ynDaucQARJ2Rk9ZNb9qnHivYl2EUBYsyQMzjNdAiEAn08PgcOqIVpsmOfUG8jyXHwI2Gjg1LywP9va6U/7ceQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1267958},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"c8d762833a8424059463cde36582d7fccf4268a6","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":"5.21.0","ajv-formats":"^3.0.1","partial-json":"^0.1.7","@google/genai":"^1.17.0","@anthropic-ai/sdk":"^0.61.0","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.7.4_1762993860416_0.16817581249769908","host":"s3://npm-registry-packages-npm-production"}},"0.7.5":{"name":"@mariozechner/pi-ai","version":"0.7.5","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.7.5","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"eee629ebaba87d07ae8a6b070c42b3767d08e89c","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.7.5.tgz","fileCount":86,"integrity":"sha512-q8qBdWH+2+309YC63ia7lv0a8kpJ9qKB8zSK30GXXZZT6aC3L7Wtse/P1qWJEv/4m97rTZiHoOvhUjmUzAcNDw==","signatures":[{"sig":"MEQCIDldyamuwga011PhI4O9DR2Vp4mvKW1Oa5agkNAfU/KdAiAOQs9lsmFOXqVLfWujo1RcyS94VR77DhIuB4DH0+4IIA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1267958},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"c3d8eaff68e8562d79812ede8600f8f22749048a","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":"5.21.0","ajv-formats":"^3.0.1","partial-json":"^0.1.7","@google/genai":"^1.17.0","@anthropic-ai/sdk":"^0.61.0","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.7.5_1762993913957_0.5755525010967619","host":"s3://npm-registry-packages-npm-production"}},"0.7.7":{"name":"@mariozechner/pi-ai","version":"0.7.7","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.7.7","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"62cbba44f354a328fc758f0f16fb5d293120625b","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.7.7.tgz","fileCount":86,"integrity":"sha512-RJviCSg+raEXRb0rMZTKnYmpRwD/ZTxaHWZI3YLDQr9iEDL4HqBt0TZVa4MZ+EFeRwx9fZ3F0ji2qZ90OGrKaw==","signatures":[{"sig":"MEUCIQD8pKkgTJEpyoKj/nnO4q2hZuXBoc2eGIkioP2MNvEzagIgbV1GmQ3V3OYZikeh/oCbWNTb0dhglUVSXVBXdaPvmRM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1277416},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"7b01b5b5a2ec2e1c7bef9e7283394a0ed64ebad8","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":"5.21.0","ajv-formats":"^3.0.1","partial-json":"^0.1.7","@google/genai":"^1.17.0","@anthropic-ai/sdk":"^0.61.0","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.7.7_1763073879967_0.41972086094894046","host":"s3://npm-registry-packages-npm-production"}},"0.7.8":{"name":"@mariozechner/pi-ai","version":"0.7.8","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.7.8","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"f78e2daeb0ef453f791762a545547415be1d5d38","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.7.8.tgz","fileCount":86,"integrity":"sha512-IlgcxzK/ZJxRpY5Sqs24Prw7roL3thUt+96DMrEHQgz1CpFgxx0n3hqn5ijeRlLdv1usKTn+WXxBTrYmeu03/g==","signatures":[{"sig":"MEYCIQCZB8DQVxY9OkMWRDfziItgFfYB00FHNAVSoXOVK+a8CAIhAKJZ504+NkdF3N+m1MxdrZpmBbEZVYVmBcx2bH3Mo8MH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1277416},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"b35856d3191a95e836b5d1631d8b6a001754361c","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":"5.21.0","ajv-formats":"^3.0.1","partial-json":"^0.1.7","@google/genai":"^1.17.0","@anthropic-ai/sdk":"^0.61.0","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.7.8_1763074192696_0.16640337849534093","host":"s3://npm-registry-packages-npm-production"}},"0.7.9":{"name":"@mariozechner/pi-ai","version":"0.7.9","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.7.9","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"d72a623e983eb1a506d906c361004c5244045cae","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.7.9.tgz","fileCount":86,"integrity":"sha512-oGC6VzyNe1euaPvRkXMWT2GKYZKMPN7Fy00mIMLdZfbudZifpTB7L4x5Qp+UiMtNkxroYpchGWborz+JDiISGw==","signatures":[{"sig":"MEUCIDO/M6/Igq3vNrTkndJHAx5iF0n5GIW+CzelgIE4wlkvAiEAjxAoIy70fhBsSzgimZyOyVScU/WS2qvanMh5xhZZ4XI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1277511},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"6bed5a919f9ecf4c300409cc155108f0869718f4","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":"5.21.0","ajv-formats":"^3.0.1","partial-json":"^0.1.7","@google/genai":"^1.17.0","@anthropic-ai/sdk":"^0.61.0","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.7.9_1763158991537_0.49115627550044905","host":"s3://npm-registry-packages-npm-production"}},"0.7.10":{"name":"@mariozechner/pi-ai","version":"0.7.10","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.7.10","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"6901d7fbfba33558cbe8ed3d1387b3504e10a9df","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.7.10.tgz","fileCount":86,"integrity":"sha512-osdBnVQYhBXF+0qsI2AxXGkO3+578Df2DYsxon3zH6h86anCBym0sWD4zsxFTrMRQogKu0JNot1e3iHGZ5BR4A==","signatures":[{"sig":"MEYCIQDDosB0fndnv2MLwfU+UBlmw2ji9jGrUGOdoSX8GBvGMwIhANQ2rp2SQz2hp9ci1CkbOsQP0UVRBgY2Baj2al64mNvt","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1277512},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"1afe40efae28b22dace15a9525a863785a513b01","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":"5.21.0","ajv-formats":"^3.0.1","partial-json":"^0.1.7","@google/genai":"^1.17.0","@anthropic-ai/sdk":"^0.61.0","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.7.10_1763161019301_0.20221290886628496","host":"s3://npm-registry-packages-npm-production"}},"0.7.11":{"name":"@mariozechner/pi-ai","version":"0.7.11","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.7.11","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"6c897240dcf614bc8b6d50d7254964638089099f","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.7.11.tgz","fileCount":86,"integrity":"sha512-dXm1ODmFNcGpy1jXQyoX1GNCIFNusD4gVCkRTtGh1bICtoHcGU2LoJpzUxpsR2TW0F6F3mi3mdbOItFzWWPKZg==","signatures":[{"sig":"MEQCIF3Sg0iTz+9XGsppQDWbUBe10v4/XYATKTMiAMVCyXulAiAjs/I12AB8eKUCgmg1TOHFasYBJPdaK2+mIxwLxeMhYQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1272418},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"fd2b2ec7703d769be7df46d00c799ed2e7ffb3c0","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":"5.21.0","ajv-formats":"^3.0.1","partial-json":"^0.1.7","@google/genai":"^1.17.0","@anthropic-ai/sdk":"^0.61.0","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.7.11_1763323329212_0.28433922813819734","host":"s3://npm-registry-packages-npm-production"}},"0.7.12":{"name":"@mariozechner/pi-ai","version":"0.7.12","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.7.12","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"509ffdf992859911eeb2ab6e72461409f6dc8c65","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.7.12.tgz","fileCount":86,"integrity":"sha512-iu7lAohZ8RjI9C/8j3odFM7d8GIeigp/pNCLXmFDmTndslJUmXmQaXWMGBrRkz2ItCO6N2zIy9iatRddWbif2w==","signatures":[{"sig":"MEQCIAeuR78hJZRU+MHFAZCr1zM8FcaviqsbG7RZykeSXwdTAiB9UTpi9ibIZyP37V6qqTSsIJkoj5d6NPVibNe7No2atA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1274754},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"b2491aac2332a6f8cbfce3167d523ae22e3e3b1e","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":"5.21.0","ajv-formats":"^3.0.1","partial-json":"^0.1.7","@google/genai":"^1.17.0","@anthropic-ai/sdk":"^0.61.0","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.7.12_1763330243951_0.4715392905507647","host":"s3://npm-registry-packages-npm-production"}},"0.7.13":{"name":"@mariozechner/pi-ai","version":"0.7.13","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.7.13","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"10881b25a114256791778845d699191caecdb090","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.7.13.tgz","fileCount":86,"integrity":"sha512-IhFWjqhwRNK0dJw0dFAFMtsxafuj65P0iorOZ9lOzloEsCaj2exiRGwy0iHco3xpcJPszhadV4RkzXasmldh9A==","signatures":[{"sig":"MEQCIDAzCDlg/JJw1Sgzrooeyz5Wt4ObPB26XbomgIp1UUeqAiA155uOmvU/PzJB7/lSDu9P0uODhBaatf9VcHgVEs/KdA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1274754},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"ed53fcec954b414bb40048d777dd8f1bf0f8c085","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":"5.21.0","ajv-formats":"^3.0.1","partial-json":"^0.1.7","@google/genai":"^1.17.0","@anthropic-ai/sdk":"^0.61.0","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.7.13_1763330983613_0.8397852456559936","host":"s3://npm-registry-packages-npm-production"}},"0.7.15":{"name":"@mariozechner/pi-ai","version":"0.7.15","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.7.15","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"97966698cd12a7e40b3d4a8e3007010888369fec","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.7.15.tgz","fileCount":86,"integrity":"sha512-x5nxVMzr2WYWUgXnte/9uobSGsO1IbwBtlaBifZV5DktMwUssFZdpHKAFy0kqJoLcBd+JLN9XecF9WbfR4gbnQ==","signatures":[{"sig":"MEYCIQCyGedNt/Qe7Fn+2FL8jzkigyK67Hhs6uRjb/DaRTQ1EAIhANC/TAATAVhPZaSIVnOwsvuXARbSgchbyiCiEttD+Mpv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1281322},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"acfd1de53f4f9f7ea999e0bcc24e5ab7d00bf48d","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":"5.21.0","ajv-formats":"^3.0.1","partial-json":"^0.1.7","@google/genai":"^1.17.0","@anthropic-ai/sdk":"^0.61.0","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.7.15_1763380497079_0.9301184515888614","host":"s3://npm-registry-packages-npm-production"}},"0.7.16":{"name":"@mariozechner/pi-ai","version":"0.7.16","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.7.16","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"af7dd67b54b677d24eab7ba11b71cc8d592dc285","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.7.16.tgz","fileCount":86,"integrity":"sha512-GmymbznEEofoCQ9YLBoWXYEG6zFiJ8SjwDYCQIuG9IoUJ8oqrAuyLh6pqROE+/Cnc7uYFinGHWk28EeyI0XwAw==","signatures":[{"sig":"MEUCIBRzY9QZ5iQOGriQLw2JK6q3MtRdHwLoVSBz8Y6+qohhAiEA/u3bocuy5IMH38XPRsqX+kg+KMv26FBZ5mFEq4tIn44=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1281322},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"f77dfbe173f4de69e4d886d106ff35256ea718b3","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":"5.21.0","ajv-formats":"^3.0.1","partial-json":"^0.1.7","@google/genai":"^1.17.0","@anthropic-ai/sdk":"^0.61.0","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.7.16_1763385168649_0.056785745016115774","host":"s3://npm-registry-packages-npm-production"}},"0.7.17":{"name":"@mariozechner/pi-ai","version":"0.7.17","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.7.17","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"00cf39dab144b97064b1017b16122019b7ecdeb0","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.7.17.tgz","fileCount":86,"integrity":"sha512-p4oEIOMDvRSxNMQXA1FyyRrfLX+4pfNmPnHW3KN0ZvvA17tNj0vXPfK6AG3S3nY6sW3wy/osdRWNNWgXCkjIdw==","signatures":[{"sig":"MEUCIQDyheHvBf3bls45CQH6BPUPGlf7vl+ysbWyVXwCz1S+oQIgOIAU5E7Nny/SyX0ErJJUEs5youuXyZfC+mwFrmtxDcQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1286839},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"1fa7d1cd7324de022d8571eaeb0d7d5f524597f4","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":"5.21.0","ajv-formats":"^3.0.1","partial-json":"^0.1.7","@google/genai":"^1.30.0","@anthropic-ai/sdk":"^0.61.0","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.7.17_1763484614911_0.78516322108103","host":"s3://npm-registry-packages-npm-production"}},"0.7.18":{"name":"@mariozechner/pi-ai","version":"0.7.18","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.7.18","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"7958868f669c20ec9d9b607c53cd69a1a4f6600c","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.7.18.tgz","fileCount":86,"integrity":"sha512-FWSSxsAuo71dE53JwLRWyAAYE9hvpH4eb7ZRIF2earbM2BrAhBGoG1VUm3siLgYZ/JZ+kEGHnLVAxR1C69olGw==","signatures":[{"sig":"MEYCIQCRHE2VRugiNmY9cQvtICwYXsXS7fOG25vBC+g5jgwznAIhAKmKi6+23j3N27gPB3WSPezkFRSghcLfbLkOYrQ6g7zF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1284335},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"e1381ff21ddfd838b25bc2313650b4b2c6c7c3ea","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":"5.21.0","ajv-formats":"^3.0.1","partial-json":"^0.1.7","@google/genai":"^1.30.0","@anthropic-ai/sdk":"^0.61.0","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.7.18_1763500401253_0.924246432674531","host":"s3://npm-registry-packages-npm-production"}},"0.7.19":{"name":"@mariozechner/pi-ai","version":"0.7.19","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.7.19","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"d9532a4114ae8b4cfe9a786e0a8c63ce76595272","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.7.19.tgz","fileCount":86,"integrity":"sha512-gsjZKLetOFkNrWp0/ca1R1J7Em/wKw27bdTWWCWOVKzKZO9YHKx+D1qByqjHECvh0GvrOy3LTxrn866U1s3kbg==","signatures":[{"sig":"MEYCIQCU/BPDbN+nBAsuKKUl6Yo4Hf9jnRUbXIhjal45yeO0+gIhAI5SJ9Cu+mgWmTuvhF4kn1E0OaIC0tehi7YZcTxkB8QZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1284335},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"b30438f0941533cf87bf98956dc321ba74bb164d","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":"5.21.0","ajv-formats":"^3.0.1","partial-json":"^0.1.7","@google/genai":"^1.30.0","@anthropic-ai/sdk":"^0.61.0","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.7.19_1763502738293_0.6099855569274228","host":"s3://npm-registry-packages-npm-production"}},"0.7.20":{"name":"@mariozechner/pi-ai","version":"0.7.20","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.7.20","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"621a03ae7b6137cda15c53e18d69c92736d2e976","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.7.20.tgz","fileCount":86,"integrity":"sha512-bKrOqRpjeow7Z5+XS+FY0/tuBhQBLiwSGF29XyzKTZMJ+GPtYve+feUUi2ttf1EWXWKj8z0CzLid7ylu6VJksA==","signatures":[{"sig":"MEUCIAjtFRoyMGOCHfu3RKfTdAdeyLopAuR1DIBmatq1yMlXAiEA/6DCDpswTJcQ3fA+rAFzNiBqoHoOJYZQEISNKVL6AQg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1284335},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"41f51bd93e6b5e7d9424d39a8219605e6ecf96d4","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":"5.21.0","ajv-formats":"^3.0.1","partial-json":"^0.1.7","@google/genai":"^1.30.0","@anthropic-ai/sdk":"^0.61.0","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.7.20_1763502832367_0.4299416391126947","host":"s3://npm-registry-packages-npm-production"}},"0.7.21":{"name":"@mariozechner/pi-ai","version":"0.7.21","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.7.21","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"ad8eb17670101c84c5ce7e42349f0aced9223ddf","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.7.21.tgz","fileCount":86,"integrity":"sha512-08QAbRMQRWiBrUoaRpFQc+Ap8vtQWsDM9i2NIInC3JTS+RPNe/6Lo3VMhPVuIFBB3uRAJdwyK9mAJPDMrX2ZyQ==","signatures":[{"sig":"MEQCIAK3XrQg7Effpb8WxdvU90Ig99Q9GJPqrt24A95XxYnyAiAo9JbSu3il8BApolZI90E3iK3vH/skiHTyaD/je5pc1g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1281468},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"f7279d6b47b0a30390ca4699608a141d4a705ca7","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":"5.21.0","ajv-formats":"^3.0.1","partial-json":"^0.1.7","@google/genai":"^1.30.0","@anthropic-ai/sdk":"^0.61.0","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.7.21_1763510260406_0.01242373809558317","host":"s3://npm-registry-packages-npm-production"}},"0.7.22":{"name":"@mariozechner/pi-ai","version":"0.7.22","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.7.22","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"9e85361580a670751f1db2be13605bb15ae268fb","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.7.22.tgz","fileCount":86,"integrity":"sha512-bBngq1N6aAQ0K0+U7xtvYuqxQRS3t4WwY7ogzIaX80BXuroccsT5+qcxACWADvwdg+KHjjy9BHyKOVpKLhDHFQ==","signatures":[{"sig":"MEQCIBUaAX2d1qJjEXJS9iqcflh3qTUdea3dkTIwIWaedDgXAiAMAuMeLS0XTVtJt8ssDkEPTMzd45cFOoIeCJ0Ti6HRSw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1281468},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"90cf028218b35841a9f761cdbb5c1f2b48d66469","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":"5.21.0","ajv-formats":"^3.0.1","partial-json":"^0.1.7","@google/genai":"^1.30.0","@anthropic-ai/sdk":"^0.61.0","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.7.22_1763513514539_0.6630053035971695","host":"s3://npm-registry-packages-npm-production"}},"0.7.23":{"name":"@mariozechner/pi-ai","version":"0.7.23","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.7.23","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"e8a1620b5cc9a28eea82f03eaea78cff4f2a1b60","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.7.23.tgz","fileCount":86,"integrity":"sha512-29IQpbz+nS9GxDeRS9qIkkOQYDocDYcSYOOeJdyIBR3drLWS1WFI87PYILYfrISTmigL/EXSEFtOZSomFRz/Mg==","signatures":[{"sig":"MEUCIQCQ/GrvbgOwaML8qneMZ3HZCmWV1Qww0Io9rcqYDOywNAIgTtHWatLKakr8YHE0cfCm649s/y5yuh/Bl07CqQgYiXM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1283712},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"44b0f43eeb42b7f14ee547dc343caa7ac4d40b2d","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":"5.21.0","ajv-formats":"^3.0.1","partial-json":"^0.1.7","@google/genai":"^1.30.0","@anthropic-ai/sdk":"^0.61.0","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.7.23_1763636430869_0.6956771883057853","host":"s3://npm-registry-packages-npm-production"}},"0.7.24":{"name":"@mariozechner/pi-ai","version":"0.7.24","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.7.24","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"7ae7bdd64250a1d340d74297fc96275719fda8dc","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.7.24.tgz","fileCount":86,"integrity":"sha512-BL9JLp4Xg3YuUWQmdwnxjC0/DRj3FNhbcbLKJAOsd3Vz722IDgvz8FRWH+3UmP28W55pdXXeg9kyPdcVOrfq4Q==","signatures":[{"sig":"MEUCIE1HmkbAF1dNshmssZegBqlPfMvgsH4VlxMoNsUhFH9fAiEAsqLle9CVkYmi6kE3NoMrUc0gGTmYLmksXMh7+sH89Dw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1283712},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"a08d8f5f7ca64b70c6cb461ceebec310b078a681","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":"5.21.0","ajv-formats":"^3.0.1","partial-json":"^0.1.7","@google/genai":"^1.30.0","@anthropic-ai/sdk":"^0.61.0","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.7.24_1763639022096_0.11951120524945047","host":"s3://npm-registry-packages-npm-production"}},"0.7.25":{"name":"@mariozechner/pi-ai","version":"0.7.25","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.7.25","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"8a0840db1f55a96c191cc566fea650b656b3fdd5","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.7.25.tgz","fileCount":86,"integrity":"sha512-cgsMT/sdhgjPGx3ntP4O71QfxAvT/+QGPDahCkpc0m9QdwMjleX8ZLi1gb+p1SftWPhhCIsdFBhv5QbHJlXV0w==","signatures":[{"sig":"MEUCIQCmrQVN5HX4M9ASOIcG/5ajA773LyDH1GtJb/Pip4hgHgIgDIcx2YR7xFkwcN9AsYsXYKfFVhOYRVWkucwQ3yZxfaI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1283712},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"00decc263474ab90e3f06a1a09fcdbde59672b84","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":"5.21.0","ajv-formats":"^3.0.1","partial-json":"^0.1.7","@google/genai":"^1.30.0","@anthropic-ai/sdk":"^0.61.0","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.7.25_1763642547644_0.2079737240078332","host":"s3://npm-registry-packages-npm-production"}},"0.7.26":{"name":"@mariozechner/pi-ai","version":"0.7.26","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.7.26","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"ece61322f072b637b565bef186a14b8bf8c3d10c","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.7.26.tgz","fileCount":86,"integrity":"sha512-ScEri1deKv9c9VHCOzV/ezsxPzsmIGxhu/4Rxz6z5pC0A56u/1iQjrEtY5C/C9aCn1b0Ozt2xp/1cDaRpBrqgA==","signatures":[{"sig":"MEYCIQDubCsZTyv6bnS3taNkFiWFIsWn0J4p+p8+8POvhcb9hQIhAPl5W80Sp4MO2orvRNrEGo05uHHbzXlX9lr45DSoh61b","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1286269},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"00142c5c768c5e0254711a0021dd2915c5f4d5f1","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":"5.21.0","ajv-formats":"^3.0.1","partial-json":"^0.1.7","@google/genai":"^1.30.0","@anthropic-ai/sdk":"^0.61.0","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.7.26_1763656235769_0.9650790044203104","host":"s3://npm-registry-packages-npm-production"}},"0.7.27":{"name":"@mariozechner/pi-ai","version":"0.7.27","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.7.27","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"75933b0607f4c36deedc4dd779623daff1ed8c1d","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.7.27.tgz","fileCount":86,"integrity":"sha512-WokPp/nFC6795f1mPwOtwK8aAvECxCYLexxZ94k0pi2Vieh7EryZEJNEA+ndX0BZ4lHsmH9S6uLmrylmXR9+tw==","signatures":[{"sig":"MEUCIHvp3nbo9miUg9CXAQOtvmljd8u8Cc4kB8D208q3m6BDAiEAoH0bs7jTIGhyY/3lxxDYUKcfONrinb3DY8tJ51IXz2c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1288718},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"1889869e9e8cafa36f4b2568b8063f912eb5840f","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":"5.21.0","ajv-formats":"^3.0.1","partial-json":"^0.1.7","@google/genai":"^1.30.0","@anthropic-ai/sdk":"^0.61.0","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.7.27_1763661429950_0.3442999417211139","host":"s3://npm-registry-packages-npm-production"}},"0.7.28":{"name":"@mariozechner/pi-ai","version":"0.7.28","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.7.28","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"7aefa848fe0eadab6cf3fb4dc40f5c279256b43e","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.7.28.tgz","fileCount":86,"integrity":"sha512-9k2n65sSTWhjNa5K80mROU0cJ+40QK56R8rGA4+aZHInuF3ocGBG/Duurl6T1uFeThhwQlkWcWsMioWAjw5nWg==","signatures":[{"sig":"MEUCIQCBKhHLYAascV/kLcpNBZae4ZtaaHvvk2+GYbCETHMbFgIgIOPOT5zyhmvOwKIwdwtFam7zKXAhMIFcmR7aMJRy/w8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1288718},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"7408ae3907fd7e6043fb691d56d5b5c9eb9ec95e","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":"5.21.0","ajv-formats":"^3.0.1","partial-json":"^0.1.7","@google/genai":"^1.30.0","@anthropic-ai/sdk":"^0.61.0","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.7.28_1763667631426_0.8515851288208174","host":"s3://npm-registry-packages-npm-production"}},"0.7.29":{"name":"@mariozechner/pi-ai","version":"0.7.29","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.7.29","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"503c0ab1f5e9ea664cb157a25235652f313f513e","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.7.29.tgz","fileCount":86,"integrity":"sha512-CtYAyQikG4S2j22+8OBclCBASTMzmyfca32K9SMLIV2W88/1JdJL3B9TfZOdPrp/6WMFRe+TdprXh0UK/I/Ikw==","signatures":[{"sig":"MEUCIQDnxKTnYyPyaKs97oRNJIfIPK8loBMOiBf7gwJj2J6Z9wIgJRbXnVb+yrmYfVCNz9E4kJPLkeU6Zt2qKMryuy3kDAo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1288718},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"15e260308b2b3d5a82f297b0fb73d9db8e17904f","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":"5.21.0","ajv-formats":"^3.0.1","partial-json":"^0.1.7","@google/genai":"^1.30.0","@anthropic-ai/sdk":"^0.61.0","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.7.29_1763668149965_0.7831818569710185","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@mariozechner/pi-ai","version":"0.8.0","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.8.0","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"18d6a257eeaaca273d538aa566cd09d7705122e6","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.8.0.tgz","fileCount":86,"integrity":"sha512-B/pOFIjDxHDsk3/24h+ZIYTKxyblXuFTFudOyu/kP+HKM2rHdvWqQCC92aics/k62E0gLKoTSbshZ3/UtF+93Q==","signatures":[{"sig":"MEUCIHNJkASrQfWnnV1x3xKBYXUPubX2vyU/UwXxAT7E0flMAiEA9oKjUL+J48KTmrs0UXPfZwQTOs+JByVJuQkaydfZ/Q8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1288717},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"45ffe0a0deff8c52f5e733148e44a3ca08592e14","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":"5.21.0","ajv-formats":"^3.0.1","partial-json":"^0.1.7","@google/genai":"^1.30.0","@anthropic-ai/sdk":"^0.61.0","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.8.0_1763691455589_0.9686862834966528","host":"s3://npm-registry-packages-npm-production"}},"0.8.1":{"name":"@mariozechner/pi-ai","version":"0.8.1","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.8.1","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"14e29775a894a8e7fb12372fd88e5e658825d198","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.8.1.tgz","fileCount":86,"integrity":"sha512-TUm/DRn6a/jjPZGc+i4GRsmYputbIAIUQ2GsvKCyPj8lxUGY7Y1D9T1T9db6Acocdg+yK9NTRkMLENdDVQb3yw==","signatures":[{"sig":"MEYCIQDTHOarMRhqSlD0FeQ9WSp4AnJhktN8EbFMioBw8h6hCQIhAKEDwdrJaLfJxh0ahnWTWe4J1QjMvVCs9/+IDI2D6+Tq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1288717},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"45ffe0a0deff8c52f5e733148e44a3ca08592e14","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":"5.21.0","ajv-formats":"^3.0.1","partial-json":"^0.1.7","@google/genai":"^1.30.0","@anthropic-ai/sdk":"^0.61.0","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.8.1_1763691739821_0.036695809506271715","host":"s3://npm-registry-packages-npm-production"}},"0.8.2":{"name":"@mariozechner/pi-ai","version":"0.8.2","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.8.2","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"32f7d9aa9e7d4df8b7f6aab993ffe6f64be46621","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.8.2.tgz","fileCount":86,"integrity":"sha512-T0fGelUeQ9Q5Ea3MtAcLfzlUYeJC7JgMU3oxlihtuO56U5z91cR3dHI3ANq0gSQxgc6nYNkQ51rC2gGzGYguJQ==","signatures":[{"sig":"MEUCIHdMY5FzEN8llTp7mJcEgBGsxgS14+4KI+FZkPAztu8kAiEArzBCon+XAb0f4w3Rm2o52SlIZ5Q7Jsr/W4agAbVviBU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1288717},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"45ffe0a0deff8c52f5e733148e44a3ca08592e14","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":"5.21.0","ajv-formats":"^3.0.1","partial-json":"^0.1.7","@google/genai":"^1.30.0","@anthropic-ai/sdk":"^0.61.0","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.8.2_1763691809512_0.6967839290234161","host":"s3://npm-registry-packages-npm-production"}},"0.8.3":{"name":"@mariozechner/pi-ai","version":"0.8.3","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.8.3","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"cb18b31aa4db6cfb74d004bb51b418c20ca606ff","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.8.3.tgz","fileCount":86,"integrity":"sha512-HZgxSVayrqycG/2xXkZTBg6WCI9yxnTzYnpnAXvJNk6hJwK1VeT5FFNgMyVOUrMh4PjyL6y/tzELera9KNI98Q==","signatures":[{"sig":"MEUCIQClYO7A3TlBh/HB7vv9EZr7oRIfD/RfmcudxE/+pmLeFwIgLZN+M1RPyWl6rrY6Nu6C2RAvJMy6u7RjlXgcV7ZR7tc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1288717},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"6fdde180ee50028bafe102ac006af867229b50f7","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":"5.21.0","ajv-formats":"^3.0.1","partial-json":"^0.1.7","@google/genai":"^1.30.0","@anthropic-ai/sdk":"^0.61.0","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.8.3_1763697602797_0.6279861854968645","host":"s3://npm-registry-packages-npm-production"}},"0.8.4":{"name":"@mariozechner/pi-ai","version":"0.8.4","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.8.4","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"c3a4157150b6879c778ade923107ff43be429e6b","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.8.4.tgz","fileCount":86,"integrity":"sha512-2swngPCskxLVjr/OytGuRkPgfQuDT+GaQ5WDvyJ2tI0sV1ICxpeYurfXqi+FxrL1EDlnGE8Hf0sTmNUlKcFoaw==","signatures":[{"sig":"MEUCIQDQFNP5I5XK/D+tBrEm8xLKWxRS+FEHrIEwQTViosGrawIgWfIIyFL7B2KIX3pUKQapYS1L4lD4xjrWWdMNGlcb1FM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1288717},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"f660fdd18887f460a8f84e3e65253c5adef0d1f1","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":"5.21.0","ajv-formats":"^3.0.1","partial-json":"^0.1.7","@google/genai":"^1.30.0","@anthropic-ai/sdk":"^0.61.0","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.8.4_1763698224745_0.48299048168203274","host":"s3://npm-registry-packages-npm-production"}},"0.8.5":{"name":"@mariozechner/pi-ai","version":"0.8.5","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.8.5","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"bd359943600fdad9ee5daa7b0482e62f8ce29b25","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.8.5.tgz","fileCount":86,"integrity":"sha512-13ZYEaS/V5EFoISPyB5oZomSsJSCVhTKUaUeiwXlzBzpbLOaBOfOwQmfQ7hRniE2S0OlQFFp4af1ljMhnrsQzQ==","signatures":[{"sig":"MEQCH3fGYowumJjHBXpXXwSo+aJAyyF3QQbqxbRM22CUHakCIQC95Si/Aq/lztiFV2dRUnjBjoJ9Wvz9BIj3it2Vf5uyOg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1288717},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"ee990cee22b0b16df4d81a31e21d313bc234bef8","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":"5.21.0","ajv-formats":"^3.0.1","partial-json":"^0.1.7","@google/genai":"^1.30.0","@anthropic-ai/sdk":"^0.61.0","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.8.5_1763725742869_0.8514679668434963","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"@mariozechner/pi-ai","version":"0.9.0","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.9.0","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"45d1a45e050ca67c779000929e32ecbd5dfd6ae7","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.9.0.tgz","fileCount":86,"integrity":"sha512-6dalyEP17DFFBUdISKka/jmqpFZFc0o7GsTT3ImRe/vU8ObOV12IZa3QHizrd5pD6wUW8751mlWgBcXLbIk29Q==","signatures":[{"sig":"MEUCIA9UbgniBX6M+d1KMmcbq6mlMBPIKUKgdpAVHojqmEwRAiEA05NkvF2r60/4X0XoY1jSYhXF5WdmhMAFhUFuH+/uqvk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1288666},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"73f91c720eb1185447a8571059bd3bccd8f1688e","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":"5.21.0","ajv-formats":"^3.0.1","partial-json":"^0.1.7","@google/genai":"^1.30.0","@anthropic-ai/sdk":"^0.61.0","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.9.0_1763759022570_0.4736440727255149","host":"s3://npm-registry-packages-npm-production"}},"0.9.1":{"name":"@mariozechner/pi-ai","version":"0.9.1","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.9.1","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"d8a81ec1e20faed0ff88746c6ef6ef4ee1e27c4a","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.9.1.tgz","fileCount":86,"integrity":"sha512-2GHEoDg7gEruMQ2h/u0xwol5Y2PqhYQoAqbhzzwhQQPA7rjIkOFnoQgwm4n17WR/GZ4eNnPKZ0HPWzV9GEsHuQ==","signatures":[{"sig":"MEYCIQCxlp5i9etg6ca5ur1EFleG2kchLxJ/rhgbNP1drcpDdwIhANpaaBabqyi5vmJmo9zhGnE+gahX4i3As8Of0i0ulED4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1288666},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"7c2da943fcebbb193e977d7355146fad924f2285","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":"5.21.0","ajv-formats":"^3.0.1","partial-json":"^0.1.7","@google/genai":"^1.30.0","@anthropic-ai/sdk":"^0.61.0","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.9.1_1763760080764_0.20399006956608456","host":"s3://npm-registry-packages-npm-production"}},"0.9.2":{"name":"@mariozechner/pi-ai","version":"0.9.2","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.9.2","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"203b226ca1db79eb4a863f1b1ce443bea4618bc0","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.9.2.tgz","fileCount":86,"integrity":"sha512-GYOxVPaylzJjSrHLldpUyy57UPFoA+POndesC7yqn3Ow3v+f+qcvoXoS0/4dWQ1n7slDmt7wgAZK3N/KclAVfQ==","signatures":[{"sig":"MEQCIHhxYhv51ZCpUaGPZ6U0symouxmEjQtBeKpW0GNmmqP5AiA5Rx+Z5cDe/rMkQIaHBKFE4W0DS0uJm+GJhUggX1TcpA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1288988},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"a1fd400aea6a9cf1760a011525b489e22804c2da","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":"5.21.0","ajv-formats":"^3.0.1","partial-json":"^0.1.7","@google/genai":"^1.30.0","@anthropic-ai/sdk":"^0.61.0","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.9.2_1764009211818_0.33037701449122014","host":"s3://npm-registry-packages-npm-production"}},"0.9.3":{"name":"@mariozechner/pi-ai","version":"0.9.3","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.9.3","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"e0361786491c44fea61515d53187874cebcb7810","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.9.3.tgz","fileCount":86,"integrity":"sha512-XDM39ZUYktg6Fl8uufAJ6u2SQqscEkEflf6Vdlr7zW5NcZsxOVi3971WyB3Yc8e7I/CARd3b2T2KyHsDfjLYwQ==","signatures":[{"sig":"MEYCIQDm80ux+eiZsQNFhbsYWbIKmltDKF1gNLB5D/LQQ0x8owIhALy5YKCMnlRh6Tstzo6xRBcfoaIKoreqfDTBJkkxVyxZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1293840},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"fd7510efae7226d9a3ddd2a14f45a4e62f7a2bd7","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":"5.21.0","ajv-formats":"^3.0.1","partial-json":"^0.1.7","@google/genai":"^1.30.0","@anthropic-ai/sdk":"^0.61.0","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.9.3_1764014637365_0.7681624575079122","host":"s3://npm-registry-packages-npm-production"}},"0.9.4":{"name":"@mariozechner/pi-ai","version":"0.9.4","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.9.4","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"65b13246cb265e71c6181025ba1cfc48616fdb12","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.9.4.tgz","fileCount":86,"integrity":"sha512-xI2bnh0LgNBSszDqzXxM3aMPB23hhM5r5xtJaj1KNPVpDP17fTGPcpfO3/4xOIlDYGOvc+OC4778suGRYwwbsg==","signatures":[{"sig":"MEUCIH9pupYL12aAZ8MkDW5w6BCAgr1FMTSE2MCfLZJ4BlVZAiEAyqVKLaJRX2rXFpH+URagLwHfRSvLQiuG92LzAacZRqI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1289123},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"a484330cd15e5844dfa42a4749594067128ea0c1","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":"5.21.0","ajv-formats":"^3.0.1","partial-json":"^0.1.7","@google/genai":"^1.30.0","@anthropic-ai/sdk":"^0.61.0","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.9.4_1764118259554_0.507227349452688","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"@mariozechner/pi-ai","version":"0.10.0","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.10.0","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"0f875e8de87b86e775e45223b675568ea06a182b","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.10.0.tgz","fileCount":86,"integrity":"sha512-RFgsGtbiByphATWqPjtAFmtfPX9VL75hW2rR+0t5A1czIOtHwwK81VwmP4gJWKxw/j+LPgj5h8I4PzJyTGUMmA==","signatures":[{"sig":"MEQCIHLR++PeSqGUK0hSti0S8gyqIs5Q3UththhOs8xHIWs9AiACM5f+4HIggHQ3SFvhriF7u4jIp7U6mF9iYLcM5CHu2A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1288811},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"932f48b0e9715aec8a26efe5cb4464338e4e55b9","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":"5.21.0","ajv-formats":"^3.0.1","partial-json":"^0.1.7","@google/genai":"^1.30.0","@anthropic-ai/sdk":"^0.61.0","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.10.0_1764203662415_0.10828543104356969","host":"s3://npm-registry-packages-npm-production"}},"0.10.1":{"name":"@mariozechner/pi-ai","version":"0.10.1","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.10.1","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"362475b9b071f0292eae7d43bfcc824d41e51ae3","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.10.1.tgz","fileCount":86,"integrity":"sha512-Pa9oVxYAsSnit8/zmWNHp9GXQncoj/bWKe/faJ3Vz6l/czaJt+0nPHWkgiZ86VsgpW5LZzPyTSP3iNmbp29yOQ==","signatures":[{"sig":"MEUCIQDWGXJ+tNCKpahz5UYCNjg6Ymt4ZWf8De/mgjRM7Zi4LgIgVjU1qD2WuC/GazJJIVxLWPDOD4M4C6mYiM03ynt9p/M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1291309},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"0e95592eb7b8324b5648bcb5b78e0f2b8e129f0a","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":"5.21.0","ajv-formats":"^3.0.1","partial-json":"^0.1.7","@google/genai":"^1.30.0","@anthropic-ai/sdk":"^0.61.0","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.10.1_1764249546764_0.8096611584325826","host":"s3://npm-registry-packages-npm-production"}},"0.10.2":{"name":"@mariozechner/pi-ai","version":"0.10.2","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.10.2","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"3de9c2cd24f60c6a43f955ced9930a9e79207880","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.10.2.tgz","fileCount":86,"integrity":"sha512-GbdvHU7jIH33izIDxCORXMGERW9p+C7dTn8r0kZfCejzyAlhFJZ1pWs24Wa3DlcE7PwcHB7o1NjXLM+Ts2Dprg==","signatures":[{"sig":"MEUCIQCITAcNtutLIffSRFa8SxelzmMWYQZwX9Uej3Gp6JJJIgIgEz1HGoCAlwBJYyZNcvDtQ9hYgHuadVINXcLGZI0rFOg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1293739},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"4830a9cf404f11d717c4261e493a0cd5877476ec","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":"5.21.0","ajv-formats":"^3.0.1","partial-json":"^0.1.7","@google/genai":"^1.30.0","@anthropic-ai/sdk":"^0.61.0","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.10.2_1764284388774_0.10560382055736639","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"@mariozechner/pi-ai","version":"0.11.0","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.11.0","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"ba5eea04d20668dfb50e8b6be238bac75544bd72","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.11.0.tgz","fileCount":86,"integrity":"sha512-wUVK9KvkPdnJ/k8fKax7oOdH8aksz2XqTKHvQMv5u6OoVBdwQfRNyMQPc8CTxbIp286UnpemWnM0xfSKu1JubQ==","signatures":[{"sig":"MEQCIEvR4gxNmyT7DGfxOoFdYuVJTK7jbouFvXXUuWlGhDJdAiBhfpgwmX/bnLHT2NkO1nF3c+86EDe46EuZ/h1NwBNWbA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1293679},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"532bb69ed63709191ae022979a979dfb7dddd942","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":"5.21.0","ajv-formats":"^3.0.1","partial-json":"^0.1.7","@google/genai":"^1.30.0","@anthropic-ai/sdk":"^0.61.0","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.11.0_1764374808412_0.5151408184727793","host":"s3://npm-registry-packages-npm-production"}},"0.11.1":{"name":"@mariozechner/pi-ai","version":"0.11.1","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.11.1","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"bed8fac656f1ed4bab7ff7ce4613f57dc0b5563d","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.11.1.tgz","fileCount":86,"integrity":"sha512-v6nU9MPW9+T7UHZgJ0ryX3+MQJjb4X7lyFSHyIXDfQrI17ZtxlgTcw5WLg+3GI1PqyvaogSHyWOR45Y6ShOkbQ==","signatures":[{"sig":"MEYCIQDNUlTyr8cJVkCnZ0v3Ix/3jD+uVbHgaJzmbOhHLfhsCgIhAKx42bEqEO1wry3WGEDDflkIb7DCg86tloIzz03n8yhp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1293696},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"5fa30b8add7a5cdd75630067fb381b60f0b3c77e","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":"5.21.0","ajv-formats":"^3.0.1","partial-json":"^0.1.7","@google/genai":"^1.30.0","@anthropic-ai/sdk":"^0.61.0","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.11.1_1764453980841_0.2728674395974009","host":"s3://npm-registry-packages-npm-production"}},"0.11.2":{"name":"@mariozechner/pi-ai","version":"0.11.2","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.11.2","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"a22f7cfb51d4c28b2e977100104678bdbeff8a2a","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.11.2.tgz","fileCount":86,"integrity":"sha512-Tv6xNdjms7rCC7KmTTYkJZ9Cqs1W+UVdXCK3NdI3xRJLvZSgqIr09LDEVZhkhQosiKHo7ATbrygA4N6lj50cJA==","signatures":[{"sig":"MEUCIQC2lKjUl5c22GP2kQo4TOS6lPXOOFB7HuskCUkDk/LA/wIgY4j9+QrnwS9Dh35DiaOMA9FpPdq6U9QZ9MhGKHLz89s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1293696},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"d2b60f11ebe5e5ad7acc195ee0bc9ead0ab4114d","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":"5.21.0","ajv-formats":"^3.0.1","partial-json":"^0.1.7","@google/genai":"^1.30.0","@anthropic-ai/sdk":"^0.61.0","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.11.2_1764548487129_0.8011754322444637","host":"s3://npm-registry-packages-npm-production"}},"0.11.3":{"name":"@mariozechner/pi-ai","version":"0.11.3","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.11.3","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"6d0222916d5930fc673b538915a845c14f218856","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.11.3.tgz","fileCount":86,"integrity":"sha512-//0nH7nP8qyVyYvXtEvvqR+8sr9qzB0GsLOK49gosRTVeB65yXYnvRQPypa4caU/DR6hfNz2BvyeCmAb4otY7Q==","signatures":[{"sig":"MEUCIBPDg7SXaoQKjRwc7kUhDTfD0WH2HABgcm0auW70u0saAiEA2yLTeStHSQ0jItdh8b3gTXhlT+n67ZLzqa01ER4C06A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1293696},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"285c657b70e7506788ff43ddfde06bd762dba6e6","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":"5.21.0","ajv-formats":"^3.0.1","partial-json":"^0.1.7","@google/genai":"^1.30.0","@anthropic-ai/sdk":"^0.61.0","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.11.3_1764589846232_0.6243137758060828","host":"s3://npm-registry-packages-npm-production"}},"0.11.4":{"name":"@mariozechner/pi-ai","version":"0.11.4","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.11.4","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"fce068f035ef6e00428b974b0e627de5d21e69d3","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.11.4.tgz","fileCount":86,"integrity":"sha512-rRqHU4BGfJ1LMc6foMazBdbpse75FFQnt/kLQa2tnyvPznqBueNDWsrfV9KNQ/ym8XtM1nbdQTXsIta8LHXd/Q==","signatures":[{"sig":"MEUCIQCIhU/2z92cy6KCDl9ZBKasUqR1OTK2HuXrCHe8rvwCTgIgMLY9N1QZ0IHLoBolnEjspXLuzqoz6JhSuKC8QL6/TCY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1293696},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"e25420a4c8e5853debca7a0a55318f1a84fe33c0","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":"5.21.0","ajv-formats":"^3.0.1","partial-json":"^0.1.7","@google/genai":"^1.30.0","@anthropic-ai/sdk":"^0.61.0","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.11.4_1764590746129_0.16032850612703808","host":"s3://npm-registry-packages-npm-production"}},"0.11.5":{"name":"@mariozechner/pi-ai","version":"0.11.5","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.11.5","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"fd724f246087ea796c68d492d86fcaf2ab97681d","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.11.5.tgz","fileCount":86,"integrity":"sha512-Scf91FDbeewNBYlrgv4HGMgOMPzg8QiifNqQcUhWXhC2RGDZLq2kJ9tTEABAc6S0bqAd6T23d+UHksH6lrNxig==","signatures":[{"sig":"MEUCIQDzXvat8m/TIjxw1FyKMbZm/Ns1oJ54gGG2SCtRfYCKJgIgGHGQzV609MLGiyYwFaZKbpf65tu8J2KJ0jRW7lEyKts=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1296106},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"7a1884f85c0710b11c708503fc1ea928e6538e6b","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":"5.21.0","ajv-formats":"^3.0.1","partial-json":"^0.1.7","@google/genai":"^1.30.0","@anthropic-ai/sdk":"^0.61.0","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.11.5_1764616971585_0.5515206299966815","host":"s3://npm-registry-packages-npm-production"}},"0.11.6":{"name":"@mariozechner/pi-ai","version":"0.11.6","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.11.6","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"2c763b0660f57d18aa462c5848e55e8c5d2c6409","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.11.6.tgz","fileCount":86,"integrity":"sha512-E96GATRiarbLtvukx69VruA8E2szGkmNbT86SHTFnOg1Nl1Y78hVcYggUFhTTHuuOZznbwG68iBzK6roKybysw==","signatures":[{"sig":"MEQCICHfLhzFQrQY8QmfePlmORldLiPRZE8/HiEanIFkSyADAiAhzRZVexG+4B4QhUwb6Di9GI2Kg8QdEqsPEBT00w9Upw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1301033},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"c32ff608d38aeb6d161b3c2dfbefc1313f90251b","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":"5.21.0","ajv-formats":"^3.0.1","partial-json":"^0.1.7","@google/genai":"^1.30.0","@anthropic-ai/sdk":"^0.61.0","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.11.6_1764664647887_0.8387360402076487","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"@mariozechner/pi-ai","version":"0.12.0","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.12.0","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"87285acc805769e1b8646f85b57f6ab03b7bb3de","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.12.0.tgz","fileCount":86,"integrity":"sha512-VkAgGRes7spg4owXcRtsmo2wU1mqWJrRLX7v92LDk7LD3mMTFF/3S3RL/1HiesBaNCiciVqk6+5XXUFtgWdprA==","signatures":[{"sig":"MEYCIQDIhVnIXPMRRgd2aEDvoZpNJ4ClEfjbVo9Z9+1Pwm5nMgIhAMWDM8ppEZEG9ZWW5vs5+dxlTCa0BIxl+C5RbY6ctPUm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1301033},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"c4a65ad8b9aede2b6499972407f8644823a4a370","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":"5.21.0","ajv-formats":"^3.0.1","partial-json":"^0.1.7","@google/genai":"^1.30.0","@anthropic-ai/sdk":"^0.61.0","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.12.0_1764674355247_0.006430789722527086","host":"s3://npm-registry-packages-npm-production"}},"0.12.1":{"name":"@mariozechner/pi-ai","version":"0.12.1","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.12.1","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"d26cf8f402e71727d8badbc29c423a59c6b66e16","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.12.1.tgz","fileCount":86,"integrity":"sha512-KJLSPi6uVcABO4gWF1oD1BbSbSQjSym2nN7FjXQ+dfmVIzcm4Pt1QfRroMt+RfPdeLE/3HaaD4/ud7/IrX643g==","signatures":[{"sig":"MEYCIQCVeEPQ2P3N+KnEW1rjCUkTsNrHfhMyu1dqxzBVzmBn9gIhAIS7EtSDSezDLgPaQsqhwDMn3XzHDD/KRG7SxthITkaJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1301033},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"f480c98c80ab18d00934aa45884b6c09b163d348","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":"5.21.0","ajv-formats":"^3.0.1","partial-json":"^0.1.7","@google/genai":"^1.30.0","@anthropic-ai/sdk":"^0.61.0","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.12.1_1764675104946_0.22912255923907798","host":"s3://npm-registry-packages-npm-production"}},"0.12.2":{"name":"@mariozechner/pi-ai","version":"0.12.2","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.12.2","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"e3204d4c4fef9cd750bb36f97b008255809ebe4f","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.12.2.tgz","fileCount":86,"integrity":"sha512-T3ozWjoCTR2vppk8s45oxUX8bl8hjR/lvYoQmr7KXaJneCb2rr6CSzyQJ2htvSatbHse8Q8XHYR3ju9rtmyf3g==","signatures":[{"sig":"MEYCIQDY0h02Aixj1VSVKmuLonhtOYuNsF5MOHwtrYufHEkX9QIhAOsLHW0EnhLr+7+dX0tsoTNuTFa6+RB88ByVM6gA+u3u","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1301033},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"0d905ec5d925d43574b8c220547f787e6d99eac8","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":"5.21.0","ajv-formats":"^3.0.1","partial-json":"^0.1.7","@google/genai":"^1.30.0","@anthropic-ai/sdk":"^0.61.0","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.12.2_1764676868155_0.6096655052994218","host":"s3://npm-registry-packages-npm-production"}},"0.12.3":{"name":"@mariozechner/pi-ai","version":"0.12.3","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.12.3","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"bf1b2e98ebca17bc5f4d2c82440277812cb84447","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.12.3.tgz","fileCount":86,"integrity":"sha512-2XiExSSGUHaXhHDmY//egswR/m31yhCltVIEpCEPwrSzsB/SBULea+rA8V03rq+585413REPQFbItKF8xMOyMA==","signatures":[{"sig":"MEYCIQClrwrHiGWP4h0Lc9QOeqs7ovZcSkdSZBvqlKD1qR+6SwIhAJRYKJpZEgIF19MoyI6omGnXeu40nWh5RGW7NHGkW/Ov","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1301033},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"858d041a5b972b570da50eed7723295bf8d1c52b","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":"5.21.0","ajv-formats":"^3.0.1","partial-json":"^0.1.7","@google/genai":"^1.30.0","@anthropic-ai/sdk":"^0.61.0","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.12.3_1764677456513_0.8530278960474189","host":"s3://npm-registry-packages-npm-production"}},"0.12.4":{"name":"@mariozechner/pi-ai","version":"0.12.4","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.12.4","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"1c05354263cbe8936973b1dd4033dbb7ff5aa04b","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.12.4.tgz","fileCount":86,"integrity":"sha512-wth30zkSGGS3hXET7eTM9TzhyOXIrO9qe4D21fNvJkOjWCtQQfi4D3NkdbXD1PrKxVQu8WjOIsUQBOcCLJi5QA==","signatures":[{"sig":"MEUCIQCIUpheMmA+ESCmuzjiFPIyCw+5DDEonBiOyZBNXBjTuwIgfS9K0fbAhFnPU7IUp4kQambUpeiQEhBW6YtqFFmcW6o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1301033},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"30f69c5f83e16ae278f58bd9942e61fa56dead83","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":"5.21.0","ajv-formats":"^3.0.1","partial-json":"^0.1.7","@google/genai":"^1.30.0","@anthropic-ai/sdk":"^0.61.0","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.12.4_1764678440308_0.2145193448025804","host":"s3://npm-registry-packages-npm-production"}},"0.12.5":{"name":"@mariozechner/pi-ai","version":"0.12.5","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.12.5","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"1341416a7c056499f417ec514c5503681e01ce32","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.12.5.tgz","fileCount":86,"integrity":"sha512-+8I4BKCfP3Gm+lWiJzZDkJsG6HoM8aGzWfrQJV0BdF5uUCwlPcErft5khfa06ys4a64X6LitDT5ja+RoDHnwsQ==","signatures":[{"sig":"MEQCIBRZwFkCuN/fVy+jN7Bvdb3PBRwhHRPdk/SaV9tfXkM3AiAdlazqI/sPTGYBT/5wjOHMEvhaAOPxmfz++XDozTAWBg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1306050},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"d4d5051940fbf8bdf4d5f9c452919ce59ef6df4f","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":"5.21.0","ajv-formats":"^3.0.1","partial-json":"^0.1.7","@google/genai":"^1.30.0","@anthropic-ai/sdk":"^0.61.0","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.12.5_1764775313795_0.007436438396723144","host":"s3://npm-registry-packages-npm-production"}},"0.12.6":{"name":"@mariozechner/pi-ai","version":"0.12.6","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.12.6","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"9fba7d4dcc2f7f1ed9f448b298ed077a1fe5fb36","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.12.6.tgz","fileCount":86,"integrity":"sha512-qc/dqghEJbX8L9ftq8By/9LRX39LH15TobMKYdZiuev2TCDYFfFTvVEPFoNvgxkNJ06b4zaE8N4ezO0b2Pxpmw==","signatures":[{"sig":"MEUCIQDdlStncHL+rL3EAMrm0uw1/u3Ty5g57UMxCYCGD3TnNAIgfz4u5L/AYyc2iNIHitFAa6p5BedDb3hMiOlKz919fnc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1307213},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"1517e64869c8624dc76c4900b948e9bf5224f047","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":"5.21.0","ajv-formats":"^3.0.1","partial-json":"^0.1.7","@google/genai":"^1.30.0","@anthropic-ai/sdk":"^0.61.0","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.12.6_1764778375832_0.3635160443618157","host":"s3://npm-registry-packages-npm-production"}},"0.12.7":{"name":"@mariozechner/pi-ai","version":"0.12.7","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.12.7","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"ee36169f079e1009ca64ef6e24e4bd7a6d6de83a","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.12.7.tgz","fileCount":86,"integrity":"sha512-/cZRg59DTTrIgIuEIjgK3TzwOSNEavgDDEgxNikOI1YyNF5SIC37yrIrmo8Gag+0BoG87WaBS+pGo0O/hqSu7A==","signatures":[{"sig":"MEQCIDYvabgz7se+MuPdfSDkdXVmLRljtuo5vkB8qZMV99FQAiBEXvHAO4Tl/ART8PQerkQm13gWFvISEzIa6V1GqwiJHw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1307286},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"cfa9dbfc03fe3e3fab0509a54e8e549d66a1d5c4","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":"5.21.0","ajv-formats":"^3.0.1","partial-json":"^0.1.7","@google/genai":"^1.30.0","@anthropic-ai/sdk":"^0.61.0","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.12.7_1764814292592_0.3166509910598909","host":"s3://npm-registry-packages-npm-production"}},"0.12.8":{"name":"@mariozechner/pi-ai","version":"0.12.8","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.12.8","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"46879576f59f9ed00a8945e58748e6cadcfd0448","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.12.8.tgz","fileCount":86,"integrity":"sha512-jwb3E/49Vkc0BexCuamVY7TmzhGO1ylGj5fMbk2l33+Tha9FWC20JVFClmysayVlDy5Le5ZKHK78yCoEQW7ESg==","signatures":[{"sig":"MEUCIAq+Gwe7ma3RcXOTQ+RG7THrGiRc7usRru1gcfHggTEfAiEAhHMbER2YNXKN6cQ6GOTuUT1KaqHTAmtg/aU/Uy1qoQA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1307286},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"db6d655ee91209478fb8ed11867b107a4ef4b056","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":"5.21.0","ajv-formats":"^3.0.1","partial-json":"^0.1.7","@google/genai":"^1.30.0","@anthropic-ai/sdk":"^0.61.0","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.12.8_1764817189973_0.06970652289686985","host":"s3://npm-registry-packages-npm-production"}},"0.12.9":{"name":"@mariozechner/pi-ai","version":"0.12.9","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.12.9","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"c12bbb792ebfa9c1409bdc1408e8a4c09193ef62","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.12.9.tgz","fileCount":86,"integrity":"sha512-c/GPNrS6RYq8b9gkGyxwDVmWMzt6ezVVpUFOxtMhvjSsg/v9G2ZQD3U47Zp0rVpqd4WnXVxs4lw0Z6D720oz2g==","signatures":[{"sig":"MEQCIAbtTXALQxPOKs81pPKYbsR20aw9+9wlKF6DfsndaitfAiBm3n3887NNl2pEceYZjuficiq87eZDFlJbCK+/4WmIwA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1307216},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"47bb3021557fd204114bf6061484515dd8255836","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":"5.21.0","ajv-formats":"^3.0.1","partial-json":"^0.1.7","@google/genai":"^1.30.0","@anthropic-ai/sdk":"^0.61.0","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.12.9_1764851003631_0.4511097996747606","host":"s3://npm-registry-packages-npm-production"}},"0.12.10":{"name":"@mariozechner/pi-ai","version":"0.12.10","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.12.10","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"0bde6a8dc9d80b844a9c6698645b9c2864c1958b","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.12.10.tgz","fileCount":86,"integrity":"sha512-RDbO2Oav7TAXuwMevI6d+RcTBdpNsK1dpB7RnJ8L7SYGI8Nd+ZIay7aDvK+pVl6IVrG5Bm5Q7skrfr1QJhiC+g==","signatures":[{"sig":"MEQCIA1gG4swY0Mckv850Mguv4RdLLwFulyMbVVQWdwjuJSPAiAVmhKSi/i6bGztCJmNWmyCZR+P4XdKPDy99WJNzOAbFQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1297336},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"c7585e37c9346048eac0646b342e11b36a806b0f","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":"5.21.0","ajv-formats":"^3.0.1","partial-json":"^0.1.7","@google/genai":"^1.30.0","@anthropic-ai/sdk":"^0.61.0","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.12.10_1764877957814_0.5030285221684594","host":"s3://npm-registry-packages-npm-production"}},"0.12.11":{"name":"@mariozechner/pi-ai","version":"0.12.11","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.12.11","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"5d63d38f8f0cd5f1058429a6fa29eaf3b7832987","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.12.11.tgz","fileCount":86,"integrity":"sha512-oJCwl4NoZXLUkdNXU3fpi3AKEnbY7bEe1DNFnYglp8IzsUtks9ODV+I6yJmZVVTtPB/x0/gUHnSJiLvuLiiKnQ==","signatures":[{"sig":"MEYCIQD+VDA0zYyNFPHQdk48GXONkYGHdIkwSb9Ly8Gf8MB+bQIhAK2fJCX8aniR8U74QAxOdfTYMKed+VrsVWANK9evevlJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1304951},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"b193560ab0b120ed49937cb2cfbd302cfe04524b","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":"5.21.0","ajv-formats":"^3.0.1","partial-json":"^0.1.7","@google/genai":"^1.30.0","@anthropic-ai/sdk":"^0.61.0","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.12.11_1764933610318_0.7786308703182816","host":"s3://npm-registry-packages-npm-production"}},"0.12.12":{"name":"@mariozechner/pi-ai","version":"0.12.12","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.12.12","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"5948e808d88bf22974dd19a0fd69b8f50b9aad03","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.12.12.tgz","fileCount":86,"integrity":"sha512-UCQv6McvT+4AeTd4yo/UT1r3p/j1Z6M2B5/qt1znjFO1Yy5nxYSXE/VBpBYweQs6Jbokv92UdrO2RDfcCsAVxw==","signatures":[{"sig":"MEUCICE9ffbX1z6zyOiqjFFHfY5C5f2qQGXXzjfhyOvFceQ6AiEAjtedAVXP+LdnrQyM5cEMBvaigPAkpwmARCHMEMfWvoA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1309783},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"ddf09720ccefc18020619f90c423128d6dc70ed1","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":"5.21.0","ajv-formats":"^3.0.1","partial-json":"^0.1.7","@google/genai":"^1.30.0","@anthropic-ai/sdk":"^0.61.0","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.12.12_1764972079320_0.23250274032441154","host":"s3://npm-registry-packages-npm-production"}},"0.12.13":{"name":"@mariozechner/pi-ai","version":"0.12.13","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.12.13","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"bbf4587255937c22c205f317e2f940e8ee675ec9","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.12.13.tgz","fileCount":86,"integrity":"sha512-ZcUWQhScJF9Sy7TVUID1bVentAhw/BpZIL0dg5KJTdcBt5JdX33UY+QmL2S4kZR4nwqR3XlQw6i73K7LuMqHnQ==","signatures":[{"sig":"MEUCIFAN3IEag87J4yytF3HXiIAazJPvjup1M7AnaD09VpBEAiEA/3RA+mWtS0BYGVzM3jB+uU8V0vSRB5+xVc8JbYh6naA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1309783},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"05849258b5e34a4677d6b22b3b4a6f138c735121","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":"5.21.0","ajv-formats":"^3.0.1","partial-json":"^0.1.7","@google/genai":"^1.30.0","@anthropic-ai/sdk":"^0.61.0","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.12.13_1764974340615_0.9980529006026446","host":"s3://npm-registry-packages-npm-production"}},"0.12.14":{"name":"@mariozechner/pi-ai","version":"0.12.14","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.12.14","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"294d3cc03bf3ef386ecf7963ac59aeea140077ad","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.12.14.tgz","fileCount":86,"integrity":"sha512-hNFP3z7HJwBe/mV1A0o0Tb/v8TgckXTYbudlyRZcPslMszW9L5QjwPZgBQX7htDl/oZwbWP1n5F1UMAuSLntdA==","signatures":[{"sig":"MEYCIQDGt7E9RqRgVhNLrXq5M2VzhLsG/eww77Z1z+MXB1Vo4AIhAKDQ43TYwXZDdF0v4/R5IJA0SUE4qAkdTD6a07XIBbdD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1309783},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"4a972fbe6cde8b2d4ca6e07ba5250bfceed2cb5d","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":"5.21.0","ajv-formats":"^3.0.1","partial-json":"^0.1.7","@google/genai":"^1.30.0","@anthropic-ai/sdk":"^0.61.0","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.12.14_1764978450004_0.44546633586626516","host":"s3://npm-registry-packages-npm-production"}},"0.12.15":{"name":"@mariozechner/pi-ai","version":"0.12.15","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.12.15","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"8aea61e3955e928ed3d835a887e19d0b8d5e9ba0","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.12.15.tgz","fileCount":90,"integrity":"sha512-wKawXBKDJS+TaCjJsoxyrOCCgE0nVb1C1CYsMH+w1AsIGS/e72Cmhp1Htu9QFVj/96uoZoYnRBwvlCsbNhQ/Kg==","signatures":[{"sig":"MEUCIGFtnmaQngsqhFbyD9Y93/I/X7kmG6481Ga0+51Rez3+AiEAo5OdXaVylKXHFZV0K6qCJnRo97xdE45TWo42GTkOarQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1329060},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"301c6ba11fe3608d9b20b6453e898dc53184c1e6","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":"5.21.0","ajv-formats":"^3.0.1","partial-json":"^0.1.7","@google/genai":"^1.30.0","@anthropic-ai/sdk":"^0.61.0","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.12.15_1765052974164_0.3341202050244172","host":"s3://npm-registry-packages-npm-production"}},"0.13.0":{"name":"@mariozechner/pi-ai","version":"0.13.0","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.13.0","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"8e0856b1e1b399064b19138ce1bd09f5ad48ea66","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.13.0.tgz","fileCount":90,"integrity":"sha512-YGz8k9ZqFTcKlNmt0n01LEC6TAUD79rARwsHuS/aJPfd8s/kF5KkrniDjRiGtvZlMTFXOWQhN/ytEh0C0KnGNw==","signatures":[{"sig":"MEYCIQDxvfdWP0xheamnZ4NulcqIsogvLOLKqwMUwB42euCJ1wIhAOmi0O4Mrpe+fFHTzA2eXPezVNfe5Db1ghq5KAUIHGio","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1332887},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"ecdbd88f5d63ed2de6cc57c9346c0293013111f0","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":"5.21.0","ajv-formats":"^3.0.1","partial-json":"^0.1.7","@google/genai":"^1.30.0","@anthropic-ai/sdk":"^0.61.0","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.13.0_1765057759607_0.8256524244781229","host":"s3://npm-registry-packages-npm-production"}},"0.13.1":{"name":"@mariozechner/pi-ai","version":"0.13.1","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.13.1","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"e7c8a28de22fc26849e9b840a1230381024ed06d","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.13.1.tgz","fileCount":90,"integrity":"sha512-tqPvN2PZGcDf2DGqHFrfZXxikv8tQEPoV+VehSbtzZL/F/k+UtpVIK0WrSiXATLUByra9RvnQJDWwFKurto9BA==","signatures":[{"sig":"MEQCIC1tz/ijSuodt4bgasFJfZ4Fezj8Fx6aoa3yHhl7YJ9rAiA2vvjNN8XmVvye4dGoTPQ311i1Fq4CT3Rq6nJxXXJvKQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1332887},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"95eadb9ed7f45e1c1267a71658b55df645414406","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":"5.21.0","ajv-formats":"^3.0.1","partial-json":"^0.1.7","@google/genai":"^1.30.0","@anthropic-ai/sdk":"^0.61.0","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.13.1_1765059190282_0.24512143685939458","host":"s3://npm-registry-packages-npm-production"}},"0.13.2":{"name":"@mariozechner/pi-ai","version":"0.13.2","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.13.2","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"5bb54bca1711b7e15616c826e333cd83c7b3fd52","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.13.2.tgz","fileCount":90,"integrity":"sha512-KGBXI2lD1nF6nvJShsF5QgXoZJ2rVOO+NAsY4JP2HxVgoKZKeXUq5wj6/ZWS+0PHt5V0qh8i3CgCS/VObKBPbw==","signatures":[{"sig":"MEUCICZ7uy6ke3HGYBPCM0Tz5W0FKuO9kTeFrdyWEIAxvFTdAiEA+5+po1Dy+yk6Z/a4Oaa5g9+BC41S4kBORXMbPOBBDqE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1332887},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"a0bbc292015d3ae0f5b8aaa07d6b5e00c15adedb","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":"5.21.0","ajv-formats":"^3.0.1","partial-json":"^0.1.7","@google/genai":"^1.30.0","@anthropic-ai/sdk":"^0.61.0","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.13.2_1765067155049_0.9501629555658586","host":"s3://npm-registry-packages-npm-production"}},"0.14.1":{"name":"@mariozechner/pi-ai","version":"0.14.1","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.14.1","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"8dd90a190ab8ce7b67070ee3f00e2a0da50e12d2","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.14.1.tgz","fileCount":90,"integrity":"sha512-TUHD0z1V+EDUqrD4xTodduadZpB/KxXoSbkZUHAIGR3E/MDdAWSCftDMFmz7AkmBG0c8EKsZDzm7rf0ZGHW7vg==","signatures":[{"sig":"MEYCIQDOY65HOTJc81wN1Gf1JeUoMnE6lv4ZAtJJhFivpHcblAIhAJRHCEyGM1CwbGogFIuWLDT4jNiZMDTjgCPZbQZoAaWC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1342934},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"a054fecd1114aecc6d98ab4d4d6e6de60002f7b5","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"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.14.1_1765231216095_0.30613034622001556","host":"s3://npm-registry-packages-npm-production"}},"0.14.2":{"name":"@mariozechner/pi-ai","version":"0.14.2","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.14.2","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"33462a39cd59d56534d3bc05d085a2ffafbd9385","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.14.2.tgz","fileCount":90,"integrity":"sha512-ssmccxlksT/EJv89Bw7yzLsznTpNqrZASKKFASA/mQOB93kcncOCLr9xWLYr0bnqNWuYjvBu72d8SMwhapibMw==","signatures":[{"sig":"MEUCIQDNQ2DymsNzOmTvReJHsRM7Pkg599gK6hVCVWbzWZGv4wIgFvxZjjQGnjcxt1ccSAdGH21UPETb2WMZmLlVm7BmDPU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1342934},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"33a2bcf2031f732a1305b19721b97c69e9bf2c02","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"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.14.2_1765232976814_0.11087047543408102","host":"s3://npm-registry-packages-npm-production"}},"0.15.0":{"name":"@mariozechner/pi-ai","version":"0.15.0","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.15.0","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"13f05578511a9eb5aa20daa13ead593fad155a72","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.15.0.tgz","fileCount":90,"integrity":"sha512-vCwDfL4DtIZ73+gnWngFDpi6e7yTzHnX21sWTkpWHOT86BRLVu9gWhUo9lEvQbwA8R15qO5rjRR5J6MRu34Tjw==","signatures":[{"sig":"MEYCIQCxnwn59ou//caeo4NZrsaBLqqwcK1OY5VaP/EnIYvnKAIhAIbQ0pEu7Yz3QjgckUy2+PlBX3QvByTMq5G6qaqPjfh6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1345444},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"dbd6e5c50027ad2b4d36b77eb22572722e1f8727","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"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.15.0_1765284271618_0.44466354654946527","host":"s3://npm-registry-packages-npm-production"}},"0.16.0":{"name":"@mariozechner/pi-ai","version":"0.16.0","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.16.0","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"f3727b0a6f68f59378a3fdfab760de7f6458d0c8","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.16.0.tgz","fileCount":90,"integrity":"sha512-gcH2KX9OcgWE6ZQ1gD3F17Nf/TOerEoWkTytbHqG5Jnx2gg4JbQL3rSW5c9wfjrPnMjFJUqoldxmhBybEmGNLw==","signatures":[{"sig":"MEQCIDWBu4gwXklOo5GdwfCD+p1VwY1kmWkc2X51J9JDOoj5AiAK2u4E0R0q/gxcwTNV0/2O9sJDDpZV7uUt8mIEUISd4g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1345514},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"796112f40fe2002293cbdf514cb139631d2bd1a3","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"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.16.0_1765291446288_0.4418796427857552","host":"s3://npm-registry-packages-npm-production"}},"0.17.0":{"name":"@mariozechner/pi-ai","version":"0.17.0","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.17.0","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"3786ea7eeb2b701644949342b4e3e9b5c62387af","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.17.0.tgz","fileCount":90,"integrity":"sha512-oVG41WHImio+3fKgvj0BUCzrMWIUTnI9OBC4/ZHkE/SEaTDmHDCWvxCKUfJAFRyho3upVzca1hWd8s+pp5Wolw==","signatures":[{"sig":"MEUCIQDQNOGqlusy4a0LYNKHrclCKgLfoI+dYkm0befw9oOR5gIgIYVcZ6CD9qz21Ra6hbKux8CRsJicdHiRc6FJTVvfcyA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1354621},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"2d9ecd17503078a82b2675e1687c5df6b6c18bc6","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"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.17.0_1765313428800_0.3585022953077155","host":"s3://npm-registry-packages-npm-production"}},"0.18.0":{"name":"@mariozechner/pi-ai","version":"0.18.0","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.18.0","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"849ce8de21ae6f2b2279c92963a510fdf9eff52c","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.18.0.tgz","fileCount":90,"integrity":"sha512-B6tmiAyiCCNpc5innhe2/GncvVfhAp0QdEyEozjJYgrFwhpUg7omrx6lNOBSRPaFZBel6Z6lsUXuz2Nh2aEaqA==","signatures":[{"sig":"MEUCIHMGrKTrYNkmY3aiepq8i3Ug3TwKmOn0PdZtwwWmTrFrAiEAs6d+hHBwZJ8RIoK9ncrDuVNe82huG8JA90z+YM99QO0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1354682},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"7785b7c93fb569477c3a7bbf9d8ea7e39b2dff97","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"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.18.0_1765326178492_0.4029536722500733","host":"s3://npm-registry-packages-npm-production"}},"0.18.1":{"name":"@mariozechner/pi-ai","version":"0.18.1","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.18.1","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"86eb7354475db33ef7342908fcda4baf56cf8b38","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.18.1.tgz","fileCount":90,"integrity":"sha512-EigCyA5Gl9tcTljG6YxA8tBqSxcs2GprMQ5EIz81NuH8WSamZrfAqoWdQUdSGiXg6YhMXgXf7mMV6Ggm7zkRtw==","signatures":[{"sig":"MEUCICWCQQt57wcnhP64EV9Ep3HTuK7kcM8tlgMRaT9KqchbAiEAuKw64xFLcUooBC9/jChNhmqSJdTpvOvz4h+N4Esl/6M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1424710},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"f931c57726c7284bb09b8271382fac25a273ec80","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.18.1_1765399193953_0.33775710565452965","host":"s3://npm-registry-packages-npm-production"}},"0.18.2":{"name":"@mariozechner/pi-ai","version":"0.18.2","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.18.2","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"127583a46fa812bf0aed9886ec08ad6c1554cb67","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.18.2.tgz","fileCount":90,"integrity":"sha512-dTf0S/vT+2TNyU1M8AzyU4fyUomSrU2NxqFHdScy9xVLKxseT0dt1eajzQ7e4/qzfS2hMesfMpcPpkJkX/Pl9g==","signatures":[{"sig":"MEUCIQCQMpnMV7FPR6icchSRZEknwbpeY1vAXNfekypc0HKjUgIgPp4fEhMS90vmqwiKD+QjpzBaFOQ/BdXDRY7vcR/R+qE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1430113},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"b40ecf0ee129acd8f700426555b2d405e25c20b5","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.18.2_1765406389914_0.6114405157768941","host":"s3://npm-registry-packages-npm-production"}},"0.18.3":{"name":"@mariozechner/pi-ai","version":"0.18.3","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.18.3","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"8d2e12cedc838fb5c166d8e1b98c1c9d2a994d9d","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.18.3.tgz","fileCount":90,"integrity":"sha512-+MFCxzDUlTQsTwIVQ+NjbbeoRZuMlqhJOWmpFMGIE0kCplDFgvDxX2iJcWzSkwEvgA9kPOscUv5Z7sGaRU5/7w==","signatures":[{"sig":"MEUCIQCZFq2ki/K2U5/MJAVQpVM+dwKS/n07ARQV7Q2NGG+6fwIgDUnbosNtkMqYmrk2qXhBjZzgdCOj54KsQqj7DghbRp0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1447958},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"a13c8c34f55e59f2b85c2705a279bae3bb85b4bb","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.18.3_1765481681490_0.5967846334536437","host":"s3://npm-registry-packages-npm-production"}},"0.18.4":{"name":"@mariozechner/pi-ai","version":"0.18.4","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.18.4","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"5b61f50a7863a22088ab0421e93ab4be8908ca14","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.18.4.tgz","fileCount":90,"integrity":"sha512-42ZMgtfUFMprowwHSHlZei0NU6IosAZfRiD2GZXM772SbZRd/DMwfgOQzSfPwDmN33bs2LzDJYfLEiUjZrbgLA==","signatures":[{"sig":"MEQCICgFIHos5C5mD3mLugCx5EftgnrExg1R2GI5uGV8r1SBAiB+RtDdK2j1ArjFLPVyALZJNLCPhOROC3K7cqbTl1hVXw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1447958},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"652ac0fa366d93ee15c201f86a2d71eaf831981e","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.18.4_1765494044063_0.5782129341959017","host":"s3://npm-registry-packages-npm-production"}},"0.18.5":{"name":"@mariozechner/pi-ai","version":"0.18.5","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.18.5","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"782ff54e4b6f976ee535e5b64a8c722248a5fd20","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.18.5.tgz","fileCount":90,"integrity":"sha512-hssDamVh8kX1Eapn5n+0WjldX7l177Xiwy6wkWbVmfNmRppAFVFTbjAGpLhXjQxLznsoWVb7AsHxCRPXj8qziw==","signatures":[{"sig":"MEUCICFQW2uwSd7O+IYXDydgKysmyedMDhp9mUtB1OsLlJ20AiEArksv2mMV8bMWCNeC/QH9RSGtMp1FDGg+Wx178dvJCBE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1448000},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"44e9b1c8e93c264f53a0b46c10aafcaed7025376","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.18.5_1765530093567_0.12119099617109774","host":"s3://npm-registry-packages-npm-production"}},"0.18.6":{"name":"@mariozechner/pi-ai","version":"0.18.6","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.18.6","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"aef0629a400727304e2a665b330779867c959fc5","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.18.6.tgz","fileCount":90,"integrity":"sha512-9WrshgVf3eeMgoO3ioJYt2oDJmtOmVM0M7Nmhipxat81UWLS3uOKLY3DS6Ov645Pug+4eFKE4OcPvs03QtxFfA==","signatures":[{"sig":"MEYCIQDjKLITTz0rOg1tk7FtkYz/q1gjR/55FxF6LLknaRGJsgIhAPMQA15R7HDu/3tg/LN/Q6+IPN4AzN6GQM5qdXPPpRVJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1448000},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"dba267468126651a075ba1eb8376f08a65ae8781","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.18.6_1765533264766_0.35535533870335034","host":"s3://npm-registry-packages-npm-production"}},"0.18.7":{"name":"@mariozechner/pi-ai","version":"0.18.7","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.18.7","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"d31551a0abdec86a45bbdd52a7b304e6ddd97429","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.18.7.tgz","fileCount":90,"integrity":"sha512-q3goZdWqUjU30PqY6SnDdq9iaXUvbH88lkCzSInbmXovIcFuBOP1T0RMxnXcfluu9RozTRkZBI3E14/od60l0w==","signatures":[{"sig":"MEYCIQCCrfoN26z+kPXEvpd9m0PZSbe1oDzABHsLcUl7gdufOwIhAM9VQ3MUXxfnttP0og9f3ofTGN1xTu4906Cn034dzMs8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1448000},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"80a04fb1aa499d26c27b025105d267e09ae3ff55","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.18.7_1765534558171_0.11736903615502126","host":"s3://npm-registry-packages-npm-production"}},"0.18.8":{"name":"@mariozechner/pi-ai","version":"0.18.8","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.18.8","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"bb093a011fdcfef52fb297d50d328e092bc50611","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.18.8.tgz","fileCount":90,"integrity":"sha512-ztgmYAD3hKLnSBmXQ8Eb+3m81kpRgQBgac+ahowaKotEQ1ALQ8I/4Md40XU2oM9jxha818/RLEMOMK5SaqAmDg==","signatures":[{"sig":"MEYCIQCUtQinGx2ZA6mXONLX+s11N13g9LNsG7bEEp5rwfMAnQIhAJRmilnONA5jzN3gwJKo1/zOeJIQUv6Ti9fbjqoqSQtJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1448000},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"c6a4c1da95c2b0309429fc6e8769528711acf236","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.18.8_1765535439014_0.4064279372237636","host":"s3://npm-registry-packages-npm-production"}},"0.19.0":{"name":"@mariozechner/pi-ai","version":"0.19.0","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.19.0","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"4a2b8b4f40194efc73d54d97d13b69874afc4d0a","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.19.0.tgz","fileCount":90,"integrity":"sha512-h/wCzG1/L3yXqam5X76axiz1kVaKF1UB+fE11FTo7r85T+8U1o4VUX6sKsXheZd+OQXFe2gW0vYmdhDs5rqYBg==","signatures":[{"sig":"MEUCIQC17EGqOpsN6+1ExDCbBiTaqvV3WPm/UHHR+9B5aq3XaQIgcMCcwm2QHwZKLhn3M5qABWFqK8iRO/JonF/GsHHt1kI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1448003},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"e3dadeb4e7c50bfac9cfe6c916ed229fb4fb8381","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":"11.6.3","description":"Unified LLM API with automatic model discovery and provider configuration","directories":{},"_nodeVersion":"24.11.1","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.0_1765560928262_0.7377569162487221","host":"s3://npm-registry-packages-npm-production"}},"0.19.1":{"name":"@mariozechner/pi-ai","version":"0.19.1","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.19.1","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"b585eeb98e70213916400aafd2ccf34a898670de","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.19.1.tgz","fileCount":90,"integrity":"sha512-Z0UaIyPTkgGy8Ox0RMOSAWUM3VbB+CFKKglfjb5RZnsNsN9bDbgPDxC2haIML43UyiiJPRs4ahYgtV5JdNcfrQ==","signatures":[{"sig":"MEUCIQCS8vMng6moFANVJO9X2v0gzCbqRAANXFX5l9/PvprLIAIgYI8G2eH5FvxjyAbCpygHARjR9LjfkLEW7LbP2DpYcqc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1448003},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"948b4115c1839345bb3df918c02a9d76754ba3cf","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":"11.6.3","description":"Unified LLM API with automatic model discovery and provider configuration","directories":{},"_nodeVersion":"24.11.1","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.1_1765562152236_0.1539237446739996","host":"s3://npm-registry-packages-npm-production"}},"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":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"0a43b6df8d554210424169886ebf5fbc3a2e525a","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.19.2.tgz","fileCount":90,"integrity":"sha512-odpf5F0u83YsY4sspDWXg3kvviJRZlFhNPDqnjmSJmGSJswdMObry7I94/Vj8BJfYJuf5/8uhQVO3lnP3FEdwA==","signatures":[{"sig":"MEUCIQC1x2r8vn8fhjYHp2LBafIbJNIR9TaiI6DcQqbnhJI+bgIgJS1zPqwE621G0P5v8bTJgK/d43VEji8EJFaZC0WOFiE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1445520},"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"}},"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":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"b3bbd34ffc413a7654320ccda48053c7f43d7f31","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.20.0.tgz","fileCount":90,"integrity":"sha512-ZfiHstVFdc18OeYM0UP2+YgvQokZtufstLaKR0vsaERDpFEEEzI7QZGWz/7aHoiKZFKu9Buw5fgZkaSmAetQfQ==","signatures":[{"sig":"MEUCIQC/js62SOtrTtJNRtUn31kBBHRJkw4jQrsz5JUcJC+k/wIgbQ0AAmu2V8xYOVnvyeJmXnrm16KqzCR6qhO7zBMY1HY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1445520},"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"}},"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":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"6c540b4bf796e67bbbfbfc43b910259f18375b1e","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.20.1.tgz","fileCount":90,"integrity":"sha512-nJhHRXyJHeYCjjInrlpdmtwRoOQOrKtKOmQDb3T/+9e8/+W7xd1apUezVLacywvvMeH6VcnqN6iX5YccTQLmVA==","signatures":[{"sig":"MEUCID3WmMQ03RxoLnO1dNXT99MczCX98DHSwOY5qCzTCu5CAiEAiDH8Yb55KdAzxFPdLkPo9dF86TVDkViajic4aeYq98w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1445520},"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"}},"0.20.2":{"name":"@mariozechner/pi-ai","version":"0.20.2","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.20.2","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"2fae2003ffa3bd3cb34941c91c644b4a97647f52","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.20.2.tgz","fileCount":90,"integrity":"sha512-bfWkkC1mKPjuZV51Oy6WSeIe1uhPhjVwcAMLLivYi+6FOm9SowscCX+gKJfEbW75TuDP0mCu80jYaqa3Xamcdw==","signatures":[{"sig":"MEQCIBp6261ORVOSLNXe89GkXPrueV5hyIuKNNWwCcZUsrClAiBzaDz4XmHYBCx6HjzwQPxYf3olzTb8M9WLkzGG7r9wsg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1445520},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"aed17da04477cbd4ab657b734c634ce26714a3d3","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.2_1765584730165_0.9261442070805022","host":"s3://npm-registry-packages-npm-production"}},"0.21.0":{"name":"@mariozechner/pi-ai","version":"0.21.0","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.21.0","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"376e70e7a83b226e4d2d8cf320a40e2b937b880d","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.21.0.tgz","fileCount":90,"integrity":"sha512-ZzlzuJiJ2e7iI5gjQgg9yRIUEMDWGo72YLSjBWe40q+nebBP870ZT0rYpAHh5lrE2CTV49pkxBUCSZsHwc4nmA==","signatures":[{"sig":"MEQCIEZGkt5/ObTlXHz7RjvmYkoO/h2VMO9dDz1qOKHtvLoqAiAgeODcmvVMuDBvUqGj7omHl3uszhYBZKVybYZ16vtosw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1450155},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"3b440bb13b6408be44580cc88ba432be4eb3f5fa","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.21.0_1765666569707_0.09514872623641146","host":"s3://npm-registry-packages-npm-production"}},"0.22.0":{"name":"@mariozechner/pi-ai","version":"0.22.0","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.22.0","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"8aa92e2563e2e95d7469686dcc0018d3cefe5cd6","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.22.0.tgz","fileCount":90,"integrity":"sha512-zwywq27HWUoaH0F02XRZIu1laPbjQjdVQoHiFJWM5v6DeGd/V/zXvZa+3y298APkgn/IknBSc0jnscJn2fxCVw==","signatures":[{"sig":"MEUCIQDoyQutPaNKXa3zUO3Rhhwrzdnn+QwnBASgJQnVxtV21AIgL74tKahkHaR7PnUichu2h1Y5QRbFaWLeBokabifw0f8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1528055},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"04058d5812ca76051ce29a423cf078d87b7b7d1d","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.22.0_1765826099102_0.24282137616051958","host":"s3://npm-registry-packages-npm-production"}},"0.22.1":{"name":"@mariozechner/pi-ai","version":"0.22.1","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.22.1","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"b6d13ac4acf5e9800e01fe30522aebdc2395f535","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.22.1.tgz","fileCount":90,"integrity":"sha512-NC2kiSpjBfEp8TLHjRRj+98NuYxhblH5pOxAuuCyA1uQ6NcQ0XXHb2fp13yEFDKPWnPwbAbxcOvnP8jfXcwIPQ==","signatures":[{"sig":"MEYCIQD71XeJFg+7zJZ2/42VgUSH6rDumOxcmQJDDmKyQZ29VgIhANphU6mOf88h5ujB237Z2/l/Zeu7LNuljZc+PW/0x9NZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1528247},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"a7e3b8625b6edfcd900e4392b1bb107b7fb97272","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.22.1_1765832048815_0.6934132013605394","host":"s3://npm-registry-packages-npm-production"}},"0.22.2":{"name":"@mariozechner/pi-ai","version":"0.22.2","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.22.2","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"87177ffd36c8088fd3d6b39bc8677bc6095b95dc","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.22.2.tgz","fileCount":90,"integrity":"sha512-4wwcRavwCAxiCXnJos3e2Nf4FVYdsRcK6ZBmtTcJgP8BDbYRv42j3aFnv7ikKiaYSRSHz9D8hHPzvWTrJD4M5g==","signatures":[{"sig":"MEQCIBXDt2KlyuYdrd9ywg6/UsYfrpcXL+xNCI16xPO0mm5jAiATQWJFO9LHknPCJLXLIeByVFYejkSMahKhf7zu/73dGg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1529029},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"fd5134f88c473b87b044fa6dff5d890646bfc13e","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.22.2_1765832984822_0.5694473152142117","host":"s3://npm-registry-packages-npm-production"}},"0.22.3":{"name":"@mariozechner/pi-ai","version":"0.22.3","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.22.3","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"fdd1c29efb087f0741e22f0c6e85fefd8b1e63c1","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.22.3.tgz","fileCount":90,"integrity":"sha512-dvaTP8gmAhdNJrp+2PPDyqY7Z5UBDZIpSIyoxeQCYsIE1Z4pRGlxYBBA4Bq6pnPjWadwj+ahgapkH3+/rokfoA==","signatures":[{"sig":"MEQCID31ySTd4zhDNfQB4sj5+Eu8e4wb5F5AxS6/746VxWHNAiBx1ykN3+5qnRMQO+rb2rlhdLQPlEmaKeM1eWCdbVGGNw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1543378},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"deee1c2952416ed34fd79ff1e1bc4a95647ae75a","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.22.3_1765912004959_0.7369193756198569","host":"s3://npm-registry-packages-npm-production"}},"0.22.4":{"name":"@mariozechner/pi-ai","version":"0.22.4","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.22.4","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"1e031bd7d8806e04fdfe507a5a4b9fa3b5adff7a","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.22.4.tgz","fileCount":90,"integrity":"sha512-SUYMOgu49lp6p2nu51dolTGZpNN8kXUUygovvjzqP0/NUsuS7n/DCdQAtGWP/S734JJmQi5BB6OqyS6IW2ZfqQ==","signatures":[{"sig":"MEQCIHb5A3RyPJok/DcEw8NEhL3sANcqSyZBCK/Mv47jhOyzAiB375ePqHHeJ11dy95xSgkMZChfHibdJpkKfbfOQD/KZw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1543378},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"03b061773c35d69d01fdb3ae5a566b24d6c10c77","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.22.4_1765928390457_0.9246958312755988","host":"s3://npm-registry-packages-npm-production"}},"0.22.5":{"name":"@mariozechner/pi-ai","version":"0.22.5","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.22.5","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"d4e80011e37348284dfb1fc9a249960fdbb8e243","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.22.5.tgz","fileCount":90,"integrity":"sha512-60lSRKdXEV51w9zJnodJoq3fbkULkP14zKFXIrryd6mONYiMJuBhz187oRNeTNPaYiuEiSskQ8zOWucOMzO3Iw==","signatures":[{"sig":"MEQCIG7gr40q3zFCbb18jFjpfg3SH05tldUHPCqIgzCUvIGeAiBQqhbPt4xi1HjQnvvu+wavgh8NR52Xi4jq7sw03cOYWg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1543378},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"295f51b53fa8193636fff7835724cf8f947c1869","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.22.5_1765930966457_0.2619423953643847","host":"s3://npm-registry-packages-npm-production"}},"0.23.0":{"name":"@mariozechner/pi-ai","version":"0.23.0","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.23.0","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"78ca82bdd06dcb469c2a6dec7af16e289deeebd2","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.23.0.tgz","fileCount":90,"integrity":"sha512-SZ2LFG6TzVtOV5jkDrbvUqhIv6ZknsEli2y3k1V1ogfuJ+SmiLf1WPe7taPd+pVWq3IZ0peYQc55gbBiup8Qzg==","signatures":[{"sig":"MEUCIQDawIB0V9hw80JEu+4GOUnjvLbAuQFsDUz0G4lOEo7K0gIgVzhYcuWM6VuQ4K69fX7AeI5rxFjr3h+6YVPGFIKNdz8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1543311},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"67b73d018fb4d5fb8d40993318192486ae750ca7","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.23.0_1765984449028_0.38651508366362797","host":"s3://npm-registry-packages-npm-production"}},"0.23.1":{"name":"@mariozechner/pi-ai","version":"0.23.1","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.23.1","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"696ab19ef56742b6c5b664def50524a6d3506ddd","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.23.1.tgz","fileCount":90,"integrity":"sha512-VEr5tGMtHhBbN7JcXsmw7thr/dzu9H9MEXL/3mLd0WZP6WnHoTn4MfnPxpAC36rkTJb7KVkexTyQMYZjEf6xmw==","signatures":[{"sig":"MEUCIQCZXplVcd2YhyfN+CGsi6QAuJihHoO1uWAmSyuXCl//zAIgWr4sHgO79xdyHY8ff06hVRb8B7G7BcshEHVRCKeH114=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1543311},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"46ba48a35dee49beed1c2d9d0d63078a13c0980e","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.23.1_1765986225115_0.4755839129549333","host":"s3://npm-registry-packages-npm-production"}},"0.23.2":{"name":"@mariozechner/pi-ai","version":"0.23.2","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.23.2","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"50b2e33354284f24c53c3601b62d0ac4c5cf1cd5","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.23.2.tgz","fileCount":90,"integrity":"sha512-/YTSdbuvL5GIIJzDWGIwbcSAmVAC2wJFMvmKXvBUA3Zc88g0Y+Bb0IqT1wA1e9DWZBzvScjBePLjihWmsD/GkQ==","signatures":[{"sig":"MEQCIAPUZSAkX+arldZVi5Bs2w32fxNi/60VymyPun/Oa8ZFAiBKB+bqXd6uqQ/K+C/ZcI+zPaNE0M6+jd0n39DOHTRy9Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1549369},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"4894fa411c5fb035f264a480f119923f867d8097","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.23.2_1765990604784_0.34744209677495963","host":"s3://npm-registry-packages-npm-production"}},"0.23.3":{"name":"@mariozechner/pi-ai","version":"0.23.3","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.23.3","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"ced2569a80874e8e69b6c6a93b1c56fe6582fe51","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.23.3.tgz","fileCount":90,"integrity":"sha512-JyFR64crXrRTZGqEkX+LMVv81Lfe58Ub8rofWLAajAk/ip9begppz6vtnau3v0ptCp/cSBLpDo/6mYSCSKK3ug==","signatures":[{"sig":"MEUCIGUM8VMOcg4t51c67Y4hhcDRa+9PWtO9Uh/itXcBDKD9AiEAmgkH5bm6svEvvzd79aRZ2khfjz6cQxcv+OUqk2d7wFc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1546868},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"00851369fcb172be9b2d9a21374a671495cf5bc9","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.23.3_1766007030117_0.07760023170723751","host":"s3://npm-registry-packages-npm-production"}},"0.23.4":{"name":"@mariozechner/pi-ai","version":"0.23.4","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.23.4","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"c7ddc564fa5b7d6165addca9acd66902232c662f","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.23.4.tgz","fileCount":90,"integrity":"sha512-5yiqx012zt+TRwNsHYmanRCJWnEs3aUqB1kWzYFyC8CvOnr2jEGIiieOlW8nEB/vC7X7o8ajn8qUrk0YNAcKsA==","signatures":[{"sig":"MEUCIAgbX/BtIVbGwvs9OuAHvJdoJCRzt/7GM5y55fEvPsgkAiEA16ik8mEyou4Sz6ahPfHUmsDwwyBfJePlslrcbzi3Wgo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1555776},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"2f86c8bc3c43b17a3cf95de9c768e6599dc16c07","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.34.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.23.4_1766073459803_0.8974364178168448","host":"s3://npm-registry-packages-npm-production"}},"0.23.5":{"name":"@mariozechner/pi-ai","version":"0.23.5","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.23.5","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"d5a5cfc3991532aee1a0bee181ce8644436e8c42","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.23.5.tgz","fileCount":90,"integrity":"sha512-V9pzT739XFXB6IFR3w4AL3BALbO/aBQ22VVLRNWXXffUQX+sDVGh/UBBrM6RwfSLHzdK+bvNlND1W/oRI5WSNg==","signatures":[{"sig":"MEYCIQDvY9trwHWzjCKgbV8Y/rUu/N8HUlRq5yviIvpqker6+AIhAKKud9XTRsG3enL59uEEB7iIPn7f/LkzLlhMiRE4KrkU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1567842},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"f92147ffe8fe10da818041448c4dbb4b660b7f33","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.34.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.23.5_1766117767131_0.41942218568873035","host":"s3://npm-registry-packages-npm-production"}},"0.24.0":{"name":"@mariozechner/pi-ai","version":"0.24.0","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.24.0","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"3b94167d744695356fd4d0c883cf3e27d3a3435a","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.24.0.tgz","fileCount":90,"integrity":"sha512-nk56a2hFF8fZadgg63OmboaK8Qx905IiSXYPnsn3M4X2nOyzvI0mQzR0ewvauVKTJArfeLoF+PXI9ZPNuz98zA==","signatures":[{"sig":"MEUCIGRB0JSUKzPxW8LFkORYYdQEaXtoKNwLC1H0Bkgm9cmmAiEAypOoL4B3sauytGziNgi+TFkYEmSoSGhvRDsVha10vAk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1567842},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"16685a36ecd6b5c070ba5d7d4a0a081f02b6df3d","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.34.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.24.0_1766118113996_0.21630265307363428","host":"s3://npm-registry-packages-npm-production"}},"0.24.1":{"name":"@mariozechner/pi-ai","version":"0.24.1","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.24.1","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"f122e19e264a7626458b01ae5010af2f150274d6","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.24.1.tgz","fileCount":90,"integrity":"sha512-KOxImIdSqbBsycMhqvGqNL3XXmbnf6e3d3YWt/2/OZvzfOgijX3wjw4evFchlgZjWC5j7g2dslDuNMa6/6SqUw==","signatures":[{"sig":"MEUCIEzA29DIxIMwErGTI0oS+qgn/2RLT7bNy52qHgFWFm5wAiEA3uYGgGnN4aaOOoBgVtSaXT+GNuur1YAiWCUQ0dhxSR0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1570188},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"50b055f3ae37b0332167ccb2ad26bc50f88b1ede","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.34.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.24.1_1766173935755_0.40948228908109385","host":"s3://npm-registry-packages-npm-production"}},"0.24.2":{"name":"@mariozechner/pi-ai","version":"0.24.2","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.24.2","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"8072b8055da5cfe2ccaaa12b070c188be4a02008","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.24.2.tgz","fileCount":90,"integrity":"sha512-2oEuxFfDKErKSspkpN5RjUDfCTKFi2q9HMz5Qh2oiE15D+1OWxjq2IJv3k+3v7oioyNVq2BM1QR5y2yE+QS/Dw==","signatures":[{"sig":"MEYCIQCo2s/7G3zHjQh+yQmDpHZUrTkCBKua/4k5wjbSPxpEZwIhAMaahPIHwdWdjOzXjBT6Nw5ORo8OFAtZvg/cCzxS2JD3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1570188},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"5095b4eb024b81d2baf1fec5c38f63b308deba91","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.34.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.24.2_1766175200965_0.36716930973727857","host":"s3://npm-registry-packages-npm-production"}},"0.24.3":{"name":"@mariozechner/pi-ai","version":"0.24.3","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.24.3","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"6654f229065038efc9b4f037d9c4eb00aa0f87cd","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.24.3.tgz","fileCount":90,"integrity":"sha512-241xMscusM6DFWNQIp5XnXdyESDp9nPIWrhGvOJy7f7F4Yz659aI+RHRs/Pgok00dZ1kP+u3QASApo8NOKMeGA==","signatures":[{"sig":"MEQCIAs5qaxxEaQ28ctHctskvWmT8YXDgi3HuW0r2dOsR2zDAiAqCSk2T9CVP3i6fjjAssFqthh7OGrMS7k8tDuZpKVvQg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1570188},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"ad4eb3afa61739311667fee36c1cb0b118eef97b","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.34.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.24.3_1766176604077_0.7858673905305136","host":"s3://npm-registry-packages-npm-production"}},"0.24.4":{"name":"@mariozechner/pi-ai","version":"0.24.4","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.24.4","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"88f9f8aff5d46a3f025ec1416f4fe383fc1874bc","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.24.4.tgz","fileCount":90,"integrity":"sha512-LbE06iUHiULIDOT0RRuM+lreXh/jGzSaJyydg6Mi2DG78yJ5UDoJzNxAuDIdQFnMuX0gue+lmOGA67FvLzSAag==","signatures":[{"sig":"MEUCIANlWwGj7KpSs1DL74KXktFrOZmfyC04INzwxkheNzJ6AiEA5ykkUG3rbR5ykOeYezSfT/rsnXuv1YefAknmTQn36wY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1570188},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"f377c3c9c328bf87faaeffdff80c1521c2a5aa61","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.34.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.24.4_1766177710357_0.4179811713502557","host":"s3://npm-registry-packages-npm-production"}},"0.24.5":{"name":"@mariozechner/pi-ai","version":"0.24.5","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.24.5","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"aea5f976db152de420690bbff7e6565cd49d7be3","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.24.5.tgz","fileCount":90,"integrity":"sha512-7DKydy/xgOwDr3uZgFl41jAc3CNLsZebW0Z19bNQ9iI0Y1f5UmYTTELuirwaAa0vlKeS0+HoHU2t0e5TFo/I6g==","signatures":[{"sig":"MEUCIQC/IVxSM1a0EY33Jr2Zfy+LAKFHtl7JLAiPdzKPXoMibAIgetNdUk5r86AQuHCpDS5GBDPXjMbaGiR5+zwjK8GARGE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1570188},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"085294b764699802c3c09d7dd9f0c77b3f8f516d","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.34.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.24.5_1766178603488_0.6606940726068722","host":"s3://npm-registry-packages-npm-production"}},"0.25.0":{"name":"@mariozechner/pi-ai","version":"0.25.0","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.25.0","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"d43e97ed1b5a86e1986bd07aedb2c4058addf87f","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.25.0.tgz","fileCount":122,"integrity":"sha512-N3INs/PNIEYx/U8tM6NaV75Gpx263o4b+YYxsD1Ag9ratdzz+JxL2ATYENi+Ma+BjsMaowPCMO2oeotHdsr/cA==","signatures":[{"sig":"MEUCIQCE9uYdFDU6Rf3uBSGQTBlzCKfbVOtzte1dFfbUQ2mzjwIgGnhuL2m2MKjpA82vu6NykIin9/nWsY0zdYt/HIJ66lA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1877818},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"df07a74ad5bc6219eedfafce2ce918497488c5f2","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.34.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.25.0_1766264601489_0.765979333261652","host":"s3://npm-registry-packages-npm-production"}},"0.25.1":{"name":"@mariozechner/pi-ai","version":"0.25.1","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.25.1","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"59aae3ec8f1f195db6e8f8635d78f6f63d26bcde","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.25.1.tgz","fileCount":122,"integrity":"sha512-MNJ8tsDfzXon89K643GxmtbH71qAao8o/GyWAZTdWjBzgNu2+XYm1m+K4nAPx/OTtJdw25OVFgrs4Kx9EYiAUA==","signatures":[{"sig":"MEUCIEL4XlelyxRnYBZ+isVP1LSEgCEMhC425BhZzpAgnlRzAiEArSGjt4MB4C2fFzySn7ywbA+s2jDJo1Pn2nQqfMGigMc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1881764},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"c97702cf914493b6f0d059a25045a95c23cd7cb5","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.34.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.25.1_1766281678091_0.06874006767988416","host":"s3://npm-registry-packages-npm-production"}},"0.25.2":{"name":"@mariozechner/pi-ai","version":"0.25.2","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.25.2","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"389f24576633bea9053120eea58104e10912ad25","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.25.2.tgz","fileCount":122,"integrity":"sha512-UJN+lfil5vx9OaJtkrOGb3QZBEWJEHH9cVn1NE0x8a0BVzR2M5A+6HPCwDPVJsG1I6FaiPkDOmVc32khFShTBA==","signatures":[{"sig":"MEQCIDhNRfHRgSyNxbXLfshNlGZqVfuUXjlBZt3d9YGkX+Z/AiBEsTdqr/IOIyGCb5oP5jzEvYpenodtYKCfAw/miBt0BA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1881764},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"299986f06b5517a94bf6bbd6468edb4cb0591efa","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.34.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.25.2_1766282372795_0.5973679966943777","host":"s3://npm-registry-packages-npm-production"}},"0.25.3":{"name":"@mariozechner/pi-ai","version":"0.25.3","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.25.3","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"af90ccc6bafef59c10891cef898deb38c99072a4","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.25.3.tgz","fileCount":122,"integrity":"sha512-b7V/7VHEIVUhK29MYlj/6voo1KUeH2qV1Og3+YQ0YKo3U45FzSulZv1F2Ak8gIqhxjdPN8KS9O352ldiA6pQyw==","signatures":[{"sig":"MEUCIQC39Ap4Vr4jbm2U/qzg+fOhsIa+KV3IDHI24RSMSBhLdQIgdJBGWzjXWTzcZ0MHr7O4RIj8Dy33DE2bTUF6IrX7sD8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1893285},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"9c18439c4decca1bbbbfb9ab0eb5125b61917363","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.34.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.25.3_1766347313198_0.003001260008047346","host":"s3://npm-registry-packages-npm-production"}},"0.25.4":{"name":"@mariozechner/pi-ai","version":"0.25.4","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.25.4","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"e0048344958dc69814a58a7f2c6e1286932a2257","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.25.4.tgz","fileCount":122,"integrity":"sha512-sLH1mq+5JWOlJl8n9JQvZt0gDAEqrP1sEWVyRu8DjVFbV9b3pCuz+NAa3NivOuoyd7S0iN5XZZtoMC+yBsFk3Q==","signatures":[{"sig":"MEUCIFAheMdZvFEAWLwDBQrrQTnA+Twl6b8Nl+WGxfAMNI+JAiEAny/wCgdkMncMdU1vq95YM1RJQUCuxVlAScAiD+Y/VZo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1892496},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"11e743373da727b5e6802bc5663fc6d31c4193f2","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.34.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.25.4_1766359413018_0.4124634410539634","host":"s3://npm-registry-packages-npm-production"}},"0.26.0":{"name":"@mariozechner/pi-ai","version":"0.26.0","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.26.0","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"9161ccfc3670fe83f9405d29f747bc10ddfa18ea","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.26.0.tgz","fileCount":122,"integrity":"sha512-pr37MRUt+5Bcc8+3GmZadNkpA5tLhplqDqrA13WqIoBIpGi0sBhrkVFPHahQknS4KEBg8gtZ6L1Uo60DkaA3FA==","signatures":[{"sig":"MEUCIQDjbI9P/i3EVYNlmocpyqpVaHt0anDdihsaw6v4mWnT5AIgWLNIegY6qiAADDyTAyQNWo5dOC3zHsr+cujugfAACy8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1892547},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"42bc368e70afdfe590ad225d8dff9976db322e19","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.34.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.26.0_1766404468209_0.32641687574274414","host":"s3://npm-registry-packages-npm-production"}},"0.26.1":{"name":"@mariozechner/pi-ai","version":"0.26.1","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.26.1","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"b03f9be9e301300dcb6f1c452d99a7679cd11a24","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.26.1.tgz","fileCount":122,"integrity":"sha512-VEH9kwQoo0N1KtBQnAHDZaIwe0nLwikGytNvjCV3RltQirywwUUsw0xQ/2YUXaN3vl3nqDO/VY1qgdSnVZE5iA==","signatures":[{"sig":"MEUCIQDNw1aeZkSpk0TKwx+zRFyg0F2+RZ5ypvTS73OVM6OTUQIgYBILS0BICB26HYVo9Wg0kB2R6CMkAGdio0Yv8V5BmU8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1892547},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"7e1b632596563a0d301638fbd0c166dca86abd4b","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.34.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.26.1_1766416799107_0.9836823102452557","host":"s3://npm-registry-packages-npm-production"}},"0.27.0":{"name":"@mariozechner/pi-ai","version":"0.27.0","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.27.0","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"b27bda0d14d262ac8bf4d672c37bd72b37859816","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.27.0.tgz","fileCount":122,"integrity":"sha512-A0ohqL7Ib9WQnC8kcqNsxrHlaF6nA9jQCgpoXpNmAoh797z60uvsKnJFl4Yy9dxOLAqXQnsUW2bBp+Xm593B+g==","signatures":[{"sig":"MEUCIQDidShm1ngzd6jMFkj8rx9gQsrnqxfwdUOp1K6bCl+ZMQIgdC5VZqHnao0hKR4To2hfMC11T+FT5W0On3giUQNkWxg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1894772},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"b9b44f4cf4ce34072b10d4408dab756d732f3790","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.34.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.27.0_1766424045856_0.5472181722112714","host":"s3://npm-registry-packages-npm-production"}},"0.27.1":{"name":"@mariozechner/pi-ai","version":"0.27.1","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.27.1","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"c5920cc81c8468bfb02476012a740172b9f63280","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.27.1.tgz","fileCount":122,"integrity":"sha512-Y9eMs1vdHCIzpVZdg4MBMWlz9LKsyXlGDZVShPoSXgYU8Kg3/3DbkBVwBsEA7mTedKS6FDueWv9TYsFPydWMww==","signatures":[{"sig":"MEUCIQCOCfvjKWTZwFJd4TzUJ188KRL6ggFmKq4pz9/RuQ51cwIgbPdSCLMQ+R1abSw3UW15R62d/Xy/O6+Yj2/d7Q4xVnU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1897071},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"4492a3f3040fe277f13132a0cf111e161082994f","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.34.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.27.1_1766428137839_0.8273298167023733","host":"s3://npm-registry-packages-npm-production"}},"0.27.2":{"name":"@mariozechner/pi-ai","version":"0.27.2","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.27.2","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"a093a599fe09817157a3b4206ffe863ae236b4fa","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.27.2.tgz","fileCount":122,"integrity":"sha512-7J6ASXMRYHDTGNajTOH3dCd4e15LmTxoysfMgOYWzMYrRuXtgqR/3II+jsEzT3/gngzeGLyXTP+ue1BF4CTVtw==","signatures":[{"sig":"MEUCIBFhVs/GjVLanbUW8XUs/igElwPX6OMgQCrmFcSzeOigAiEAvFwXkKft9E349BHqUCBbGE0Gs3AkBd8afVRIyccvPxs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1899382},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"c57ed89110b0d250454510bf07cbca22e983c935","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.34.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.27.2_1766458206851_0.7587229604594306","host":"s3://npm-registry-packages-npm-production"}},"0.27.3":{"name":"@mariozechner/pi-ai","version":"0.27.3","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.27.3","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"49fc765a11567980ca3a4bbd4f7c4feda239be81","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.27.3.tgz","fileCount":122,"integrity":"sha512-42Eg+BdTBT3xSl/EvjC7pKSFFg+jo2I7OoeVGw3zCjF5bBomxUJ+ZrXUEEiDdKwEBZWWvH4jydriReWWvzHwVQ==","signatures":[{"sig":"MEUCIBEtXp5NNanZRb8gvqLOpHoCwI4btTFTfGT4Gz0QHR9ZAiEApvdhSuyipQAXRQhT1t6HPhe8px8Rs+aKCA5AwCfWaQw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1904397},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"f8619c1564c603d9a32386ff2bf68847b06dd3c5","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.34.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.27.3_1766540812390_0.11226458423462393","host":"s3://npm-registry-packages-npm-production"}},"0.27.4":{"name":"@mariozechner/pi-ai","version":"0.27.4","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.27.4","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"93192eec6cf56185dcb3e8d88fb8bb8518e09cc9","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.27.4.tgz","fileCount":122,"integrity":"sha512-vHSDgU9mWbeHLfxFTlZOPaB9nwngd3ae2Bchu7fjdDYX8FrDr8U7ZMUVCUv7FppoPaHxCucDGsPvPIonqLLPCQ==","signatures":[{"sig":"MEUCIQD+XzLYOR4jC77P5Da/WxkL6skpcOONS4mQPRwdTSpPKwIgBO5qo6pUUfDppojZ8QsO4i1iG2oHvafx7RznmY0dYkM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1904397},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"20b24cf5a44c470bcece46111a5fb0a9c1b8d538","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.34.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.27.4_1766543602316_0.3005598842565331","host":"s3://npm-registry-packages-npm-production"}},"0.27.5":{"name":"@mariozechner/pi-ai","version":"0.27.5","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.27.5","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"e95295f64d86f184adb2ec5f915052770f2e5acf","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.27.5.tgz","fileCount":122,"integrity":"sha512-lTVM3t9jQG69bwyr8qVu/fsoL2o1cO87JTZP/B55BWP65TmD0lbRuCrwnkG4dUtZJF4xg5Sv8in6tsCNgHVVXg==","signatures":[{"sig":"MEUCIQD0B7Nk6yrRvauRGSaJ7pG6xflIFyFLI4yj27LKeNNg1gIgYLYVPknDAkBKaSZezY1uBtgq9MoASrSq+aSBdNXlC5Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1904397},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"bf313d2713e492c1a626422c22cc9d092610d7d4","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.34.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.27.5_1766575159300_0.24689538346946915","host":"s3://npm-registry-packages-npm-production"}},"0.27.6":{"name":"@mariozechner/pi-ai","version":"0.27.6","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.27.6","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"ccbd5c220d6db833d62d3064b0cb2e8a6b7cd67a","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.27.6.tgz","fileCount":122,"integrity":"sha512-3y/87W6ZVCDVKyRXxChPPkC5/vniJNykzGsO58bEtsKxIN/cbuM3FFxZpP28G7MTOkY3+J6VL8FqOTD7e1zEvA==","signatures":[{"sig":"MEUCIQDDj/RIanNAzx/FU5TI3qsgO/ppL5BUaJ2QT3zgfwerqwIgZZUIAzghCSHftFCxyCHZ8YaIZktZr66N7xSdBM3V/kE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1904397},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"3eb460ee5043fd760296b61e21df6cee9ec73923","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.34.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.27.6_1766581177868_0.29914339890680197","host":"s3://npm-registry-packages-npm-production"}},"0.27.7":{"name":"@mariozechner/pi-ai","version":"0.27.7","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.27.7","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"f4353626f582177bdfb9b86bfee9b50132402dfd","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.27.7.tgz","fileCount":122,"integrity":"sha512-3owJHj89x03DsatT2sfn+xXFKLfrzFysxRk1cB65a1IFYlUSC5bLrcZ3par/d5k+AbOF7PtayNmU+t7MNGYMOA==","signatures":[{"sig":"MEYCIQCfQ3oNeUXjM8UHuEYgRE7ZSGgzy4EfdGXy0+pTHCH65AIhALtSHiPUhGeoV2cUIqaP7SDJBnBAtI5XDwGCkcWobT5I","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1904638},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"60768b90f37b9654ba56b4cc098d7ed95ba20b29","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.34.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.27.7_1766597589082_0.9952828680373058","host":"s3://npm-registry-packages-npm-production"}},"0.27.8":{"name":"@mariozechner/pi-ai","version":"0.27.8","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.27.8","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"0c72aac5c95cdfedc9c6b038838ac22361316887","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.27.8.tgz","fileCount":122,"integrity":"sha512-ClbAQoakk8J3LZQ8E3USNW3ERMxhmpp7F1+vQ27q+xbVL6nvYFrdIzPiB5qniXeWfjMs6UpPEb0z2EHkPrAmHw==","signatures":[{"sig":"MEUCIQDZzGn1yuI2R1brysBkv2ED4iyIh75RwcL2zKbrdQlSJgIgdeNGoX28Z/q74lmKm3BhXkWyBy5ZH07UDx/zoaWJ4+Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1904638},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"a965b6f160b45d09cabf6543787792006a940f0c","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.34.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.27.8_1766605975726_0.9813859962153881","host":"s3://npm-registry-packages-npm-production"}},"0.27.9":{"name":"@mariozechner/pi-ai","version":"0.27.9","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.27.9","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"dist":{"shasum":"256b668105b5257af2cc65b1758b5fa564931e36","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.27.9.tgz","fileCount":122,"integrity":"sha512-+w7xrIsOcOjjNzQbwkGqKoNEpzVdgyQO3F10671NafPoHZAex9GSharn6gOPRmlPX+MximT9tio0K3MHVRYnAg==","signatures":[{"sig":"MEUCIAgrGftJ+/0XcCoQeXUSpoqanwWGDuB1lMZiPWfmiO8kAiEAjV9qn4kU68Pn61VGv4bgBxd3xUbTKICrzLLQ2T3WBRg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1904638},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"8fdd77b65253ad4cfc1dd2de1aa98444c947ab69","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.34.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.27.9_1766607949863_0.6463232032272239","host":"s3://npm-registry-packages-npm-production"}},"0.28.0":{"name":"@mariozechner/pi-ai","version":"0.28.0","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.28.0","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"bin":{"pi-ai":"dist/cli.js"},"dist":{"shasum":"9a4bde3c31c7502b238c1872add0a1afeefc8038","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.28.0.tgz","fileCount":126,"integrity":"sha512-ioGR46z3bk2cQn2oIl8AlrLQ4fdGeJx0bTAy8IVrpNi1c4EpdOhe6QEQ/1ICj4CGdqQbK4vkaO6BVibYQtz3CQ==","signatures":[{"sig":"MEUCIQCfIKe/RsAOtzdyA7ob64eL42bvZxQ6RqTwe551wzJJugIgNvpqpteWQnNvyGL4mleflAJpGsahUOQjnHkb5S2qab8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1892644},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"fa716246ea42a36a3d4744170977330050f171e4","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"npm run generate-models && tsgo -p tsconfig.build.json","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.34.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.28.0_1766631491394_0.777112485264893","host":"s3://npm-registry-packages-npm-production"}},"0.29.0":{"name":"@mariozechner/pi-ai","version":"0.29.0","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.29.0","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"bin":{"pi-ai":"dist/cli.js"},"dist":{"shasum":"56e550fa8f7d97c4033c0d813264699c22b65b31","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.29.0.tgz","fileCount":126,"integrity":"sha512-J5yoP/BW72tDM94J0BfXwD7F0Y4ODFT1IRoYtUdHZ9GuJORVC0KNAp9qJsrTMYKecyZzDgjIzhzI87o0AWmbGw==","signatures":[{"sig":"MEUCIQDpRV1QSSAL6p8pVu8onzZT6Hi8zyMfxf21Zj64QTuGhwIgUsTyrpKwfxc/oj1Tf6kXJozcCaQOZ/nMcHLLjHPSeG0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1892644},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"b48a0c9328aabc4cdf8d2e9bb9030355c182b6aa","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"npm run generate-models && tsgo -p tsconfig.build.json","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.34.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.29.0_1766632632807_0.19640666539332652","host":"s3://npm-registry-packages-npm-production"}},"0.29.1":{"name":"@mariozechner/pi-ai","version":"0.29.1","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.29.1","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"bin":{"pi-ai":"dist/cli.js"},"dist":{"shasum":"615ae078b15ae37d1c19e95216a5ab7c310a8eef","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.29.1.tgz","fileCount":126,"integrity":"sha512-2Llldao6wH96NvB39suLxSybaJWeNpnAFvT3II7e2NR4BtKw/OSdSfLi23wqHSn8r3UopjnCAL6fkzetkVYh4g==","signatures":[{"sig":"MEYCIQDWpGkovhppxVwvYwUrp1kxbhL3WkDshm9vH+DGTamxDgIhAPp7CNW3GThgmq7GQC9EWBXe3q001spk52dYMEvFV6dT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1892644},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"19dde0a9882d73562d21d49082c6faee1eb2a172","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"npm run generate-models && tsgo -p tsconfig.build.json","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.34.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.29.1_1766682645998_0.5009381845608711","host":"s3://npm-registry-packages-npm-production"}},"0.30.0":{"name":"@mariozechner/pi-ai","version":"0.30.0","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.30.0","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"bin":{"pi-ai":"dist/cli.js"},"dist":{"shasum":"06d5117dab47af864d2ccb65bffa02211ec8fe21","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.30.0.tgz","fileCount":126,"integrity":"sha512-lGlTtm3X/aUHUEI89Qj4yxtghu3+91Y7IOTaVOkXB0UqjeMViRCOr6hM0yc5qVx0EOfWwHHBWSk8clOragfcyQ==","signatures":[{"sig":"MEUCIQCUaFv4gxUGd9UtVVcZFDO2HJCE6NrpEd7rGETIHIk2bAIgIlDhKspWw9clO9vT6QjMLZL636l9VAwJFtX9+YVXkxY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1892644},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"6d97d212d5b5b2927cdcd8e668af05f51e157ddd","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"npm run generate-models && tsgo -p tsconfig.build.json","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.34.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.30.0_1766691340701_0.8397650048813257","host":"s3://npm-registry-packages-npm-production"}},"0.30.1":{"name":"@mariozechner/pi-ai","version":"0.30.1","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.30.1","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"bin":{"pi-ai":"dist/cli.js"},"dist":{"shasum":"b8aa4546fd2765fb486350b48d317f5955027ba6","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.30.1.tgz","fileCount":126,"integrity":"sha512-rT1ru1wmb7uoBF0eMUHTzb2A64vx4BWawPfgDJb569T3cnGyJBfrABiKbg9uWZ10HeATfAAe+rEWqj/NKS+/rA==","signatures":[{"sig":"MEQCICNIMw//NdSCLOc+fEdPW3V3+o9L89pmZRr+QJ3Ux1WSAiASP7+7A7Q6RGI0ZRbmbRJChWjxeFLEOZsu7t37B+31bA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1894331},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"9dcb0bdba42bc3222074c2385c5898d7f8971681","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"npm run generate-models && tsgo -p tsconfig.build.json","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.34.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.30.1_1766715246795_0.7019773318027069","host":"s3://npm-registry-packages-npm-production"}},"0.30.2":{"name":"@mariozechner/pi-ai","version":"0.30.2","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.30.2","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"bin":{"pi-ai":"dist/cli.js"},"dist":{"shasum":"19c70d295e8ee4554d60ded9e7ca97980a49f9cc","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.30.2.tgz","fileCount":126,"integrity":"sha512-+8JlLRW1xMHDrgHbRxLMbJ7/LL/c2evZetKAjEEJJtOc/hbax9Dfw+7OSRiZn9oSkT0S12/qy44a76gpRpghhQ==","signatures":[{"sig":"MEUCIH54jCrZRF0uVDPr0Dwg8xtRBKFoesZuxiCRH79oxM74AiEA3XpKIbXpQe71lBfHH8cEoNuRuhHTFA/AaI/9itrafTk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1894331},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"0e8173af008f9543ef444a724f322912e769aee5","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"npm run generate-models && tsgo -p tsconfig.build.json","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.34.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.30.2_1766715987731_0.7114295475018926","host":"s3://npm-registry-packages-npm-production"}},"0.31.0":{"name":"@mariozechner/pi-ai","version":"0.31.0","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.31.0","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"bin":{"pi-ai":"dist/cli.js"},"dist":{"shasum":"66c298d04d7b79dab6d0c057e592dc1be750c97a","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.31.0.tgz","fileCount":106,"integrity":"sha512-LyNkEUHV7T9LsIkoOTJGe36VHRTsfZYw4JSX5yWPam/rPyrn0i7VqUx3mufJwdcQulnvYzJhOOyBuGcJsyFU9A==","signatures":[{"sig":"MEQCIDYzlt75DSCnkXE6ItFmNQUxPQMPczHL2ziNSbxnoiUeAiAEgX7lcabZAOTRzLweseuVGrL0fOIkBTE6dP5VxXwr4g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1814548},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"3caf359402473dfd120602e617832693d6febd7d","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"npm run generate-models && tsgo -p tsconfig.build.json","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.34.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.31.0_1767315619842_0.24912565426645195","host":"s3://npm-registry-packages-npm-production"}},"0.31.1":{"name":"@mariozechner/pi-ai","version":"0.31.1","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.31.1","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"bin":{"pi-ai":"dist/cli.js"},"dist":{"shasum":"4113dad5dd9f3b92443d7b89e990f2c89ced6244","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.31.1.tgz","fileCount":106,"integrity":"sha512-mqqitu/69ofLPmQEj7m04SvPQZEX+uacLHU9oQxz1c1khclsjw2S7G/v5P/3jK4hZjoZfHkPJRwPMFvEbo3wAA==","signatures":[{"sig":"MEUCIATiyA1seC/7TWcKpZO0Isrz4hoDSKd0+WiMnqEU1JV9AiEAox+FMTu2sFMGWv6cx33LFgoD/FGWkNt786woOs1MSJI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1814548},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"d78a245cc85bc956ac7134a8262b352ffcd8c883","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"npm run generate-models && tsgo -p tsconfig.build.json","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.34.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.31.1_1767346766409_0.017924529908939002","host":"s3://npm-registry-packages-npm-production"}},"0.32.0":{"name":"@mariozechner/pi-ai","version":"0.32.0","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.32.0","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"bin":{"pi-ai":"dist/cli.js"},"dist":{"shasum":"f16191be245aef3e73b1b29c945ed69483b955bc","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.32.0.tgz","fileCount":110,"integrity":"sha512-ZPQwRUTY+IR0G2AzdAnywffEmxau5HgMsOFySnWlgghd/ScyXSqe0+vTJE+JNorJArHLhgzPYp8ppyJQhnkXvw==","signatures":[{"sig":"MEUCIQDCTjrsQQsb7odmskUu8p83DQb1rAJK3j46yjP5jucU7wIgDhbVjK5PrLr9oh4Yhy1XeUjWLGvOFQTFpsTlw7VUPQA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1921263},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"42a19ea81dea05aa15e610eac4df1043ad34de02","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"npm run generate-models && tsgo -p tsconfig.build.json","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.34.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.32.0_1767404923836_0.9299020869163419","host":"s3://npm-registry-packages-npm-production"}},"0.32.1":{"name":"@mariozechner/pi-ai","version":"0.32.1","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.32.1","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"bin":{"pi-ai":"dist/cli.js"},"dist":{"shasum":"b1c14ad2433c79231755bd74be023e4c10971841","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.32.1.tgz","fileCount":110,"integrity":"sha512-owE3QrsJ5g4iS9d2qKbG6dJqcAXZEISWH5VbWovf3Y8frJIg9hCMbCFW9nqOgBZLE7ICu1jUBq/8rHBrKkOalw==","signatures":[{"sig":"MEYCIQCGsy28y+OBjObcrfxwcMUOETzLV4qeT/2hpi5cIXywygIhAMFfZpFV2ksK4IUnpm1kOc8sjzVbF87Ke9r0eiUloCqC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1921263},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"b783a3f50f543ab1f837b17f19252b0165c81afe","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"npm run generate-models && tsgo -p tsconfig.build.json","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.34.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.32.1_1767410778364_0.5072565466572743","host":"s3://npm-registry-packages-npm-production"}},"0.32.2":{"name":"@mariozechner/pi-ai","version":"0.32.2","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.32.2","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"bin":{"pi-ai":"dist/cli.js"},"dist":{"shasum":"9856cd83e94404fb5a82263768a58f14cdbf6424","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.32.2.tgz","fileCount":110,"integrity":"sha512-OncRRxvAvUadplxUpPyNzQeGfNig6lZuSu5sp8vRTTOiGJPMUtuOeS2amL7iBStV0lp7K9WlZWJTzjjw/LNXgA==","signatures":[{"sig":"MEYCIQCx97gWoR5i6tddIvGLv+RZdgjHiyF9ivPCCbdGVnpITwIhALb7uZzfMyr1KgnioRx2dnk5nDV0mKWXWsTADcesGNtH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1921263},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"113713d3808b0ebda9b24ce52deaf711da27695a","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"npm run generate-models && tsgo -p tsconfig.build.json","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.34.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.32.2_1767452912807_0.9860728988882221","host":"s3://npm-registry-packages-npm-production"}},"0.32.3":{"name":"@mariozechner/pi-ai","version":"0.32.3","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.32.3","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"bin":{"pi-ai":"dist/cli.js"},"dist":{"shasum":"b11ddfe9e9cc4392d95f5c900e16a60a61bf41a2","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.32.3.tgz","fileCount":110,"integrity":"sha512-njaa4/pN7U1TbjI1PKqII3M/W1CQ/obPAu5A4KHsX74e8sKjDEiEELUWzLTa5xOj+l1OXp/FtzI0hfJDq682rQ==","signatures":[{"sig":"MEQCIDHpyTiLXoFDEjqfhzLRvO/Ty117vXSKysiSCuLv5z4RAiA16rZZ1dFSY11ou1r/8dXFgVqVj6kyFQg6t+OcGUPzgg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1922040},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"db829e73f9cfd9a987e468f3cd46f892fd6d9d4d","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"npm run generate-models && tsgo -p tsconfig.build.json","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.34.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.32.3_1767456583231_0.29953544692616263","host":"s3://npm-registry-packages-npm-production"}},"0.33.0":{"name":"@mariozechner/pi-ai","version":"0.33.0","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.33.0","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"bin":{"pi-ai":"dist/cli.js"},"dist":{"shasum":"c7463e529f61bbd105bdf5a4895f5f1e218bd235","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.33.0.tgz","fileCount":110,"integrity":"sha512-hdwb1onhoTsZD4cuqEf9at1b/nS5W3PeaSzdmnXsmNJPR+EhAQNshUajG8XFbRraqFTXmVRzFEit9J6Ee7ZC0g==","signatures":[{"sig":"MEUCIAinI/z74NpzkIBSM5HQ3u2sKmhwvcV9f7c+hJeuv31rAiEA/HUSxLll714h+Ox87LVdMjSNWMmLf5Tln/a/ftBl+J0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1922040},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"faa10b9a7e522afbc9a98dbc683a681f7d0d3e5c","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"npm run generate-models && tsgo -p tsconfig.build.json","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":"11.6.2","description":"Unified LLM API with automatic model discovery and provider configuration","directories":{},"_nodeVersion":"25.2.1","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.34.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.33.0_1767485270433_0.08322638006481364","host":"s3://npm-registry-packages-npm-production"}},"0.34.0":{"name":"@mariozechner/pi-ai","version":"0.34.0","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.34.0","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"bin":{"pi-ai":"dist/cli.js"},"dist":{"shasum":"2ac3f5a38ca69f25e9ceca56eccd4977c1e75756","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.34.0.tgz","fileCount":110,"integrity":"sha512-/ezhtGx0akvb5bIL/Jf22jjnuv9fJe1Y7QyNTWY+WitQCdluLt8anl1zwaZJGX3riOSao8cTuz+rxYyGbNywXA==","signatures":[{"sig":"MEUCIQDj7WuPETqtQbW6PWv3f0yQdfpfgioZT1SxR3PlulBMpgIgaEKkkiHzVTGrMguKb+J3x1gU7VE/zvZcZtLl8XahHQ8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1923460},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"dc2f5d43cc8ff7d949e69e7af4e5e3ec6279f10f","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"npm run generate-models && tsgo -p tsconfig.build.json","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":"11.6.2","description":"Unified LLM API with automatic model discovery and provider configuration","directories":{},"_nodeVersion":"25.2.1","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.34.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.34.0_1767555013681_0.6664353205636531","host":"s3://npm-registry-packages-npm-production"}},"0.34.1":{"name":"@mariozechner/pi-ai","version":"0.34.1","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.34.1","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"bin":{"pi-ai":"dist/cli.js"},"dist":{"shasum":"a9e2ccfe4d93a87b7e81678c57c6b6fd1b4d248d","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.34.1.tgz","fileCount":110,"integrity":"sha512-IfcKLPCLBDwzfJ+9FNN8COCLJ+Hg7LpiqxgqFNORacSXPqsQF7qAhN22TtF+ivC7BYlDbegrlFIVZsd4mgiPKQ==","signatures":[{"sig":"MEUCIQCkv2JLT4tA2IMjcrB6+jCoh32R76eCtEFoiRmOCu+isAIgRzuSRzRa7KYLtcNlIiOm7D8mp6IrGkEEoKXToDqKmXE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1923460},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"de92eeda1f444e71407cd70728c7fd10ef0ec762","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"npm run generate-models && tsgo -p tsconfig.build.json","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":"11.6.2","description":"Unified LLM API with automatic model discovery and provider configuration","directories":{},"_nodeVersion":"25.2.1","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.34.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.34.1_1767556635894_0.09875142864878694","host":"s3://npm-registry-packages-npm-production"}},"0.34.2":{"name":"@mariozechner/pi-ai","version":"0.34.2","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.34.2","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"bin":{"pi-ai":"dist/cli.js"},"dist":{"shasum":"7149898cdeca43f0f2fc27d7f87af563519abb90","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.34.2.tgz","fileCount":110,"integrity":"sha512-E2/D+AJUpG4afdE7xZXHQOReGuOhnKx27e3ihoK7b5YAFd/rl40y7OrFSoR7j6aXqg7Ne7o6KwKzWcO8IKz/3w==","signatures":[{"sig":"MEUCIHyGY5/iKN9BreJQY6bBsMwb3E8TRmpnGQXqPQzdWborAiEAzsHAbge7sDv9/au442Z38ZjPHuOIwZj8UmzGCP4yfZQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1923460},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"71c978e2f96ebc5d9771c7e4e1509d0ab524591e","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"npm run generate-models && tsgo -p tsconfig.build.json","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":"11.6.2","description":"Unified LLM API with automatic model discovery and provider configuration","directories":{},"_nodeVersion":"25.2.1","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.34.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.34.2_1767557189424_0.3486035732805468","host":"s3://npm-registry-packages-npm-production"}},"0.35.0":{"name":"@mariozechner/pi-ai","version":"0.35.0","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.35.0","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"bin":{"pi-ai":"dist/cli.js"},"dist":{"shasum":"b9e41f6cb97fa325c2a25a160467bb79ec0148cc","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.35.0.tgz","fileCount":110,"integrity":"sha512-hGsQUDogpXQz/QMBy7zHZ5RcgGdKMpO7ckHYx1qQNznXA7ZILl0ByNdICxAc1mcqJN+0ODMcSNyp9Kul574uAA==","signatures":[{"sig":"MEUCIHr6igzlfYIJiRveJtwpBNo5n4RB1ANw2a0bQePjAZFGAiEAxOlmnXN0V85a/NM6TGORZzwV3Di8ZjQFqZWY3nccXkc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1923460},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"78d0b88f7d34e2459db0b8088e722bfd68a8847a","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"npm run generate-models && tsgo -p tsconfig.build.json","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":"11.6.2","description":"Unified LLM API with automatic model discovery and provider configuration","directories":{},"_nodeVersion":"25.2.1","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.34.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.35.0_1767580906685_0.0903409117312779","host":"s3://npm-registry-packages-npm-production"}},"0.36.0":{"name":"@mariozechner/pi-ai","version":"0.36.0","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.36.0","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"bin":{"pi-ai":"dist/cli.js"},"dist":{"shasum":"bca0ea4b6734e706a1342aa7738557aae77df92e","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.36.0.tgz","fileCount":139,"integrity":"sha512-xkzTgvdMzAZ/L/TgMH8z9Zi+aH0EWc54l5ygiafwvCgDk7xvfbylQG6pa9yn5zEn9T4NF9byJNk+nMHnycZvMQ==","signatures":[{"sig":"MEUCIQCB3GcqgCWZQIQkcDmtB2IbE528XwtnzvefazNMWZ+oDwIgLHeKKP7k/ZOVs24X4M1OBBSIVHnTo+X4QcexjTcIbX4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2259962},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"435cd5d61feede5120af8d813511af9f0e3ffb4e","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"npm run generate-models && tsgo -p tsconfig.build.json && node scripts/copy-assets.js","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":"11.6.2","description":"Unified LLM API with automatic model discovery and provider configuration","directories":{},"_nodeVersion":"25.2.1","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.34.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.36.0_1767590207553_0.26305280545559406","host":"s3://npm-registry-packages-npm-production"}},"0.37.0":{"name":"@mariozechner/pi-ai","version":"0.37.0","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.37.0","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"bin":{"pi-ai":"dist/cli.js"},"dist":{"shasum":"69b22475180bd068ee1fce082e5553f60f89082a","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.37.0.tgz","fileCount":139,"integrity":"sha512-obDsqHziJ0D1LEgi+BwUkhkPol0ZcwAHM5frW3VOd3R9Zx7hA/OCCqq4B6nEYzChFvj6pFqwSw6Mb856VXsIWw==","signatures":[{"sig":"MEQCIE5MHXtlw1tE/kZQALoTkDWA/uR/s/KtMSigiAOCbwDgAiA6FE3L7DQ0QIPpHKktsIMvFO/utuNevi+xY56cghwKBw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2236575},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"d3d53392e8ef39fff427d1233f2a89db517160d0","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"npm run generate-models && tsgo -p tsconfig.build.json && node scripts/copy-assets.js","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":"11.6.2","description":"Unified LLM API with automatic model discovery and provider configuration","directories":{},"_nodeVersion":"25.2.1","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.34.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.37.0_1767654457830_0.536029845370299","host":"s3://npm-registry-packages-npm-production"}},"0.37.1":{"name":"@mariozechner/pi-ai","version":"0.37.1","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.37.1","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"bin":{"pi-ai":"dist/cli.js"},"dist":{"shasum":"cee1978df6fa8a0b8d5d36b7233f45697ae26896","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.37.1.tgz","fileCount":139,"integrity":"sha512-JKEj5Ofh9miizbqqWNCxrqBojYYAcHwcoKmqAp9uWjwWSc0xSQt4IYkutko6yXxtDeK9gVkozOjcJ+VA/Y1DDQ==","signatures":[{"sig":"MEYCIQC3mUcCJ2AR0aE9Fq1E+nH/hJUqkjkPiieVy2BLyRHI+gIhAKZJ5Yu82clIfhxmwVGReRGRZo1l3CQ3VPDJjptB6zB9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2236575},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"a20112f45fde62ff413458c9e9a7a0b169f8b6e8","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"npm run generate-models && tsgo -p tsconfig.build.json && node scripts/copy-assets.js","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":"11.6.2","description":"Unified LLM API with automatic model discovery and provider configuration","directories":{},"_nodeVersion":"25.2.1","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.34.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.37.1_1767655955057_0.8303333555878367","host":"s3://npm-registry-packages-npm-production"}},"0.37.2":{"name":"@mariozechner/pi-ai","version":"0.37.2","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.37.2","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"bin":{"pi-ai":"dist/cli.js"},"dist":{"shasum":"2312b5ed1a8b75690ba0246b211e5b4e5dd156a3","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.37.2.tgz","fileCount":139,"integrity":"sha512-IhhvlPrgkdrlbS7QnV+qJPmlzKyae/aI1kenclG18/dXCypxUU50OuzGoVwrXvXw/RIHRwodhd7w4IH38Z7W4Q==","signatures":[{"sig":"MEUCIQDa8htXtOA+5sTNIeCwaiX8XtArYBwcikYVPkeZhjQVTQIgDqkhD6HhaumPG+r6A0lIzqDDcRmGoWvzlslHIgleukw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2237079},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"6f4d16d76fab0a7597e33a4f647f4dba6f13afe9","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"npm run generate-models && tsgo -p tsconfig.build.json && node scripts/copy-assets.js","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":"11.6.2","description":"Unified LLM API with automatic model discovery and provider configuration","directories":{},"_nodeVersion":"25.2.1","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.34.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.37.2_1767657220461_0.7436646362189185","host":"s3://npm-registry-packages-npm-production"}},"0.37.3":{"name":"@mariozechner/pi-ai","version":"0.37.3","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.37.3","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"bin":{"pi-ai":"dist/cli.js"},"dist":{"shasum":"897cf61fe3f71d09805887d5cad09adb544132ae","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.37.3.tgz","fileCount":143,"integrity":"sha512-KK00ZK9uS+1L/jjbdj/mO8J+3GeIW1/eBbb1zPLzwDlQuPGjjxFzpButH9Gb54IFLMIdPDIfwPbyDhS+FT8WGw==","signatures":[{"sig":"MEQCIG6ofsrRUfTNLdWZcy7d7Di4gBi+BZN7XQXkdLITTQBTAiAaqVVwPxqcbdpsj+2TkXUDO1b8TMHYyEWnR+UNKjCgFw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2236785},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"86fea6379c77bc6e3a382e7245c00bdb26eba979","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"npm run generate-models && tsgo -p tsconfig.build.json && node scripts/copy-assets.js","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":"11.6.2","description":"Unified LLM API with automatic model discovery and provider configuration","directories":{},"_nodeVersion":"25.2.1","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.34.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.37.3_1767703449214_0.2887848076093844","host":"s3://npm-registry-packages-npm-production"}},"0.37.4":{"name":"@mariozechner/pi-ai","version":"0.37.4","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.37.4","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"bin":{"pi-ai":"dist/cli.js"},"dist":{"shasum":"c98be7bbd87e3e6c0af2d8896f94eb40990ff2c8","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.37.4.tgz","fileCount":143,"integrity":"sha512-uRvay2Niah67Tckcm2uS8zNGTGA5PngzKrOxzo7OM6bKbwIuwIIE4ZXI2U0db9K8dh6L6AUNRAL9epDwnlJPlw==","signatures":[{"sig":"MEUCIDjBRX38eQ2x25JmTml1chANxkcybuJAKydKibSJ0ES6AiEAxP+olBu4bUuVL9AVVAdsDXgw2zO9GxkoCDeD44zQEFI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2238018},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"b08a6b22ce1a1c90fb85bc2b5f7cd197db273bfb","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"npm run generate-models && tsgo -p tsconfig.build.json && node scripts/copy-assets.js","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":"11.6.2","description":"Unified LLM API with automatic model discovery and provider configuration","directories":{},"_nodeVersion":"25.2.1","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.34.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.37.4_1767731324904_0.9781508320256287","host":"s3://npm-registry-packages-npm-production"}},"0.37.5":{"name":"@mariozechner/pi-ai","version":"0.37.5","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.37.5","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"bin":{"pi-ai":"dist/cli.js"},"dist":{"shasum":"be1ac72e6173ca29984286e72ad61cc165e38ff7","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.37.5.tgz","fileCount":143,"integrity":"sha512-LhUtOih1UnEZjWR86geVX6PkmoGwz3dpKEQFSHb1UvCA3M9Z0xVwR8OmRFTLtfCY7mMYT/mrzH5vWi2qsTmE+Q==","signatures":[{"sig":"MEYCIQD4Nn96M8Wxa7Su+n4JS2pa/M0u359sVZUyYZWsl+4ktgIhALhxHS2onKa7piVJ/LN8rNFNl00TAcEZa7aSKLDqddiY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2238018},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"fe95983dcffa60ffb30809c8bcc1b9ed30fcc196","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"npm run generate-models && tsgo -p tsconfig.build.json && node scripts/copy-assets.js","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":"11.6.2","description":"Unified LLM API with automatic model discovery and provider configuration","directories":{},"_nodeVersion":"25.2.1","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.34.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.37.5_1767738334476_0.5789622877760303","host":"s3://npm-registry-packages-npm-production"}},"0.37.6":{"name":"@mariozechner/pi-ai","version":"0.37.6","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.37.6","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"bin":{"pi-ai":"dist/cli.js"},"dist":{"shasum":"b1f101c70971562e1f4e7bc4aae81bfda384ee15","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.37.6.tgz","fileCount":147,"integrity":"sha512-TM9Piq+A36ZHsJBxJOkY1xC/niRFiOXA8o12XYrRTIAwaIobshAqALuVAsvRgbj4cFzgnW8xpT1TgG7Tspwnvw==","signatures":[{"sig":"MEUCIQCT3aTdWjWW3PfCtfz3NcXa7rvE9UZNPicwkj5WF+bOugIgVDj7NOuaRfynjqVtr6WX6bbiX/C1S0GCGmnhCnMIeRc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2240370},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"befbeb30e4e52ad4079713b17a981163ad455cdb","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"npm run generate-models && tsgo -p tsconfig.build.json && node scripts/copy-assets.js","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":"11.6.2","description":"Unified LLM API with automatic model discovery and provider configuration","directories":{},"_nodeVersion":"25.2.1","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.34.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.37.6_1767742986526_0.507315215551436","host":"s3://npm-registry-packages-npm-production"}},"0.37.7":{"name":"@mariozechner/pi-ai","version":"0.37.7","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.37.7","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"bin":{"pi-ai":"dist/cli.js"},"dist":{"shasum":"9ac0a064c173b96d35df17ed09577e0ff812427b","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.37.7.tgz","fileCount":147,"integrity":"sha512-MHaDFCSXW7Ezp0M3pzbrg13LLcj33lv4CSzUcklEh4ZomG3oDZWeetqr1JAuTwPaYbopJzEViM6I1o/paL1sBA==","signatures":[{"sig":"MEUCIF3CFkwqcSKYmK+Bl6jGfB9B5kHryUglBNNL+6OfIKtsAiEAhBMhSVfd97vO9pS8Zr8to0NLweP5im9ttzuyEEMRM5A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2240370},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"a4f2bb5c2714faa57e5da7c0a8061ce18c5b45d6","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"npm run generate-models && tsgo -p tsconfig.build.json && node scripts/copy-assets.js","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":"11.6.2","description":"Unified LLM API with automatic model discovery and provider configuration","directories":{},"_nodeVersion":"25.2.1","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.34.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.37.7_1767744135751_0.3144768042333803","host":"s3://npm-registry-packages-npm-production"}},"0.37.8":{"name":"@mariozechner/pi-ai","version":"0.37.8","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.37.8","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"bin":{"pi-ai":"dist/cli.js"},"dist":{"shasum":"5d9e1c2caac5b1dff452da7531646019b327e798","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.37.8.tgz","fileCount":147,"integrity":"sha512-wKHP3xhpZ+ZpFl9JXXkf3OS1HqS1Nfxxbwr06h0uHf55sQ0AY3e7CmFXm0izU29GhBRrBfLfuTAMq7MgnduQVA==","signatures":[{"sig":"MEUCIQDggwXBa0M81wPQ8H6JllhziJCNYi7QjM2dCWYGyifHswIgWEceI8we+vcBOWSyKaf4gKnpZkdwp/tELqGVobZBnVk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2240370},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"5514d4ffdbc5c679f1f1817867e9d53125a53969","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"npm run generate-models && tsgo -p tsconfig.build.json && node scripts/copy-assets.js","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":"11.6.2","description":"Unified LLM API with automatic model discovery and provider configuration","directories":{},"_nodeVersion":"25.2.1","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.34.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.37.8_1767745994956_0.45061088191255405","host":"s3://npm-registry-packages-npm-production"}},"0.38.0":{"name":"@mariozechner/pi-ai","version":"0.38.0","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.38.0","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"bin":{"pi-ai":"dist/cli.js"},"dist":{"shasum":"42e3e04e024953dee4389d2001e8ed8b5ee0783c","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.38.0.tgz","fileCount":147,"integrity":"sha512-AOH5LIsC6EgaTiYe0er9trZhuba/lk62xDlTxVNxskrF+wiNhuBWue7MQ9BQIyzWDh8sEVvNhnbXIKBX7LYdbw==","signatures":[{"sig":"MEQCIERAMzB3KxWJd5PEPP0mCXWCv+5lh8AbvtqUP6Y9FhQHAiA0RWp8pnhjQ1LTAP54/okpVFmLgmYIqczf1KQQBEgz9A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2215708},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"4b084d0f9db70ac0ad5de2a37d6ef795f3c67f49","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"npm run generate-models && tsgo -p tsconfig.build.json && node scripts/copy-assets.js","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":"11.6.2","description":"Unified LLM API with automatic model discovery and provider configuration","directories":{},"_nodeVersion":"25.2.1","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.34.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.38.0_1767844407418_0.8761024656617531","host":"s3://npm-registry-packages-npm-production"}},"0.39.0":{"name":"@mariozechner/pi-ai","version":"0.39.0","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.39.0","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"bin":{"pi-ai":"dist/cli.js"},"dist":{"shasum":"67e44c7b17feefd24ca79b0812740999ac6f3095","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.39.0.tgz","fileCount":147,"integrity":"sha512-iYAzJHzxL/Qo5+PSixpx+eAyK9cBJHD1SDd7Paird4vXM8XiuyPFRNcj7abqhb99mIXglP7HXA4wAenU9eC2eg==","signatures":[{"sig":"MEUCIQDS5BeLfJT3tB/7MEGPFUGW1VAfvTWF5Yfqheu6Bl5TiQIgZrQS5I1WZ3RPFtH/HtCegDONd12YQPckv3IJaB5L1+4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2250404},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"c25f1eab640350ddb9fc5abbfc90f99fbd0ec374","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"npm run generate-models && tsgo -p tsconfig.build.json && node scripts/copy-assets.js","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":"11.6.2","description":"Unified LLM API with automatic model discovery and provider configuration","directories":{},"_nodeVersion":"25.2.1","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.34.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.39.0_1767913822053_0.598970625071392","host":"s3://npm-registry-packages-npm-production"}},"0.39.1":{"name":"@mariozechner/pi-ai","version":"0.39.1","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.39.1","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"bin":{"pi-ai":"dist/cli.js"},"dist":{"shasum":"e66f19a8dcbf8cea5c643a0f7e4cc95ac50c64f4","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.39.1.tgz","fileCount":147,"integrity":"sha512-Lo4FbhpC5B1ohOCZE5Ea33o3H6ejAsvAXl6F/EOHxYaTTbHmHQId5kdCvuumRAOGNL+EqUmx90ardHmo1PVIQA==","signatures":[{"sig":"MEUCIGsPSENaEZ58huezAWkybXg22h14scCLUb23aQwa1vYMAiEArkRlNrfWZPbu6sigCkCWht5OZK35F+cDvXN2xYVidmY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2250404},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"39bfbb125c0b244e3f0aff55100ff6782c750e60","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"npm run generate-models && tsgo -p tsconfig.build.json && node scripts/copy-assets.js","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":"11.6.2","description":"Unified LLM API with automatic model discovery and provider configuration","directories":{},"_nodeVersion":"25.2.1","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.34.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.39.1_1767915241017_0.19727250566749976","host":"s3://npm-registry-packages-npm-production"}},"0.40.0":{"name":"@mariozechner/pi-ai","version":"0.40.0","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.40.0","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"bin":{"pi-ai":"dist/cli.js"},"dist":{"shasum":"08fd72591666d6acb9d7fcb31e5a6025de4da934","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.40.0.tgz","fileCount":147,"integrity":"sha512-OiE6ir7bVEFVnXY/Jd4uIDMTOTdXpDlMpmJ8qXhlp5SlVzjiZkuPEJS3Hki8j4DnwdkPGMWyOX4kZi8FCrtBUA==","signatures":[{"sig":"MEYCIQCLqzp+pOw7q2l8fkuOloOnGoloXe4vbfh208/bRZ0AzgIhAI0oi1R7y5jyMlv0sBX5p//ysEJ5vvASNNQ0jSSK56UU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2250404},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"070ef9c771ddfa625c5df438479deea00f9be708","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"npm run generate-models && tsgo -p tsconfig.build.json && node scripts/copy-assets.js","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":"11.6.2","description":"Unified LLM API with automatic model discovery and provider configuration","directories":{},"_nodeVersion":"25.2.1","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.34.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.40.0_1767915836478_0.5492577391874591","host":"s3://npm-registry-packages-npm-production"}},"0.40.1":{"name":"@mariozechner/pi-ai","version":"0.40.1","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.40.1","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"bin":{"pi-ai":"dist/cli.js"},"dist":{"shasum":"f3869071a52bc6a263ac8bbc6b6b5101fd206312","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.40.1.tgz","fileCount":143,"integrity":"sha512-F0oC6mBhTjszHTSdAy+b9d2HUvUSsIpw712UPVBWPbZ4b4N3bI63xQLPAFJNLTXpiiT/Ho+msp7OWpJzvYERtQ==","signatures":[{"sig":"MEUCIQDWZKoIEFwf9HRZocTeci1A2AgQL1YXyT+CHlW3Bk/hSwIgCQN7SJ4/o3cOzgFM0PjvaT1MVLcNnEEfQwXbR4IQ6k4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2234549},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"ebd661fe13d3f3484191c244f5cd9b61e3973a19","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"npm run generate-models && tsgo -p tsconfig.build.json && node scripts/copy-assets.js","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":"11.6.2","description":"Unified LLM API with automatic model discovery and provider configuration","directories":{},"_nodeVersion":"25.2.1","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.34.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.40.1_1767931947911_0.8479960296040938","host":"s3://npm-registry-packages-npm-production"}},"0.41.0":{"name":"@mariozechner/pi-ai","version":"0.41.0","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.41.0","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"bin":{"pi-ai":"dist/cli.js"},"dist":{"shasum":"752cdf6e9d6456d0852a72411513d41cadeb4c8a","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.41.0.tgz","fileCount":147,"integrity":"sha512-ZcI+lFMbf35kQvppHa4hy5tu34GiH5WYwWxPD7BHm7AiYxPcytdP+0NiaJdLIRGSLZqKklXDDejbb6/QvOwI3w==","signatures":[{"sig":"MEQCIBHuO0euKrlXdVLO1imtbdv7U3Lo/O2PE8csiCzUzx5yAiB9TO+r55LfrRhdtiwL0AgLajki2At5d/fUqY4gGC4mow==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2251970},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"ec9def84efb27e6622d7070b8ca80cb0ac01d862","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"npm run generate-models && tsgo -p tsconfig.build.json && node scripts/copy-assets.js","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":"11.6.2","description":"Unified LLM API with automatic model discovery and provider configuration","directories":{},"_nodeVersion":"25.2.1","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.34.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.41.0_1767935236174_0.19820009610004918","host":"s3://npm-registry-packages-npm-production"}},"0.42.0":{"name":"@mariozechner/pi-ai","version":"0.42.0","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.42.0","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"bin":{"pi-ai":"dist/cli.js"},"dist":{"shasum":"e4f9877edd0ce1cb7a843b9c9e6aae4cb6246c99","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.42.0.tgz","fileCount":147,"integrity":"sha512-zCSXbGM0wLMvmYBZgYTTx+j1UwMRXRpPi6jRxznztvE9bwalUwdJFO2IexOUKL50csSq1CqOLPVFDpv9ieZjXg==","signatures":[{"sig":"MEQCIBXaq24ND9cUmHK1Kr5Z+WMdlc88I0OAST53YFLVEe32AiAqCbwWzrUIpNRNgciLhtDpilly//ncuISdUuPVddwtrQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2312317},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"075299542410a572a36561ef02061554cb9995e6","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"npm run generate-models && tsgo -p tsconfig.build.json && node scripts/copy-assets.js","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":"11.6.2","description":"Unified LLM API with automatic model discovery and provider configuration","directories":{},"_nodeVersion":"25.2.1","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.34.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.42.0_1767938388965_0.628726505502635","host":"s3://npm-registry-packages-npm-production"}},"0.42.1":{"name":"@mariozechner/pi-ai","version":"0.42.1","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.42.1","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"bin":{"pi-ai":"dist/cli.js"},"dist":{"shasum":"439af0a291f5d5086cd331852c0bc3b734cc6928","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.42.1.tgz","fileCount":147,"integrity":"sha512-uRiH+s7EPDz9Q7hjQJ4Mm8lU4e4/C8pB4rnqGds73B5/0rqZb8DeSBukKU6uOwMNkXol/tYgnkEqXy7qEoHLJQ==","signatures":[{"sig":"MEUCIAnd1e1tdtOvvJGec5nLh9oQPvQag32bSIqP1X+EWmx9AiEAv52sBlb5BwFVXhAcMg0zUGixTc8ERUBpeBvfT9Gt7/k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2314906},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"d856bb097c6a62108582210a71ce814a9d784806","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"npm run generate-models && tsgo -p tsconfig.build.json && node scripts/copy-assets.js","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":"11.6.2","description":"Unified LLM API with automatic model discovery and provider configuration","directories":{},"_nodeVersion":"25.2.1","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.34.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.42.1_1767986670974_0.8029959858682478","host":"s3://npm-registry-packages-npm-production"}},"0.42.2":{"name":"@mariozechner/pi-ai","version":"0.42.2","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.42.2","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"bin":{"pi-ai":"dist/cli.js"},"dist":{"shasum":"eee326a52f4b7080af4d7eb7a2214ed179388592","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.42.2.tgz","fileCount":147,"integrity":"sha512-uIPfOCGSWm8Uo4kJ0nWKClJlIhBFxDasBbbAzzEgR9NrsyZMHuFYn4Y2XsbNKHmc4KnoS6DZvaO6IP+/+IS9rw==","signatures":[{"sig":"MEQCIHl7/Vej7ZbEnbON8X81HRBHtHCpOCSVEPC/ClPUvoK4AiBBonSn6bwqRccsrMLBYhB+zinUUIYixcrfDiBbDhWTyA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2332478},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"0c02f5c053227ca47e822db8ca55bfe3c92cf114","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"npm run generate-models && tsgo -p tsconfig.build.json && node scripts/copy-assets.js","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":"11.6.2","description":"Unified LLM API with automatic model discovery and provider configuration","directories":{},"_nodeVersion":"25.2.1","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.34.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.42.2_1768005789407_0.40625609740358093","host":"s3://npm-registry-packages-npm-production"}},"0.42.3":{"name":"@mariozechner/pi-ai","version":"0.42.3","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.42.3","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"bin":{"pi-ai":"dist/cli.js"},"dist":{"shasum":"369e7feeccdba675b3b9eeb5c582d715eb807e98","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.42.3.tgz","fileCount":146,"integrity":"sha512-/X0vaLHusRGgW4hLvTRv4KZLrFmnKhsmla3E3Qc0wPl3KBvmQRWj6gutKOq6MtuK1/F7RyY8c7y4Q0NM5CNTUA==","signatures":[{"sig":"MEUCIA2DAPTfa30Yn0zE3AGM1fTVz9wZlQAhzu03UD0RMEyMAiEArSEjJBQyQe59e/RUoDtENTJprX7GnLUb+08TGzWz5YQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2398466},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"2a04b0fb28922fe7fb452da6898a710715bfcee3","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"npm run generate-models && tsgo -p tsconfig.build.json","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":"11.6.2","description":"Unified LLM API with automatic model discovery and provider configuration","directories":{},"_nodeVersion":"25.2.1","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.34.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.42.3_1768048070157_0.8266636603002351","host":"s3://npm-registry-packages-npm-production"}},"0.42.4":{"name":"@mariozechner/pi-ai","version":"0.42.4","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.42.4","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"bin":{"pi-ai":"dist/cli.js"},"dist":{"shasum":"24b0473fe5343f66f3fbe4d316ddcf0fdc9e6b2a","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.42.4.tgz","fileCount":146,"integrity":"sha512-myzh/h0SkBBEKpzu98EhiE5YCnVEbf6rtm4LiQOCOYg1jE8/sXLcPdFpK8YxtAJGiX+nPfCGfJWXfimSIodAnQ==","signatures":[{"sig":"MEUCIQDNKcaIYt3yhHAIOkanhbvz3wAqDrnFVHTAKJCd39kfcQIgSqXu5Mf2aM9jlg29NSFOEwt3BEs0lRhehVIMepkhWno=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2399146},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"345de5983324e5bf9f8a657ee973786c18aebd71","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"npm run generate-models && tsgo -p tsconfig.build.json","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":"11.6.2","description":"Unified LLM API with automatic model discovery and provider configuration","directories":{},"_nodeVersion":"25.2.1","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.34.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.42.4_1768049793822_0.354566849149176","host":"s3://npm-registry-packages-npm-production"}},"0.42.5":{"name":"@mariozechner/pi-ai","version":"0.42.5","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.42.5","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"bin":{"pi-ai":"dist/cli.js"},"dist":{"shasum":"098ce2cfc79523a6166239f124526c2d22ff3d4d","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.42.5.tgz","fileCount":146,"integrity":"sha512-/3NqKOSDXJge7RpDMXgK4vHm2qFMjol7CNwM3Dd477RE4I+tsQtL+xcpnB5I94phjsPUw83QSLHp5QzJb5fkpQ==","signatures":[{"sig":"MEUCIAY62hGcL1RKE6whrMNaoyJrvvL4JLQEzCzHZopM0OonAiEA+qZRz3Fbk9z11cmPeT8QlABoF5g1JW3aYbVMlxd87BM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2399146},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"31fe16f2e79154f0423d290c87e4944bc1a41f80","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"npm run generate-models && tsgo -p tsconfig.build.json","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":"11.6.2","description":"Unified LLM API with automatic model discovery and provider configuration","directories":{},"_nodeVersion":"25.2.1","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.34.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.42.5_1768101074417_0.531525579515471","host":"s3://npm-registry-packages-npm-production"}},"0.43.0":{"name":"@mariozechner/pi-ai","version":"0.43.0","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.43.0","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"bin":{"pi-ai":"dist/cli.js"},"dist":{"shasum":"423a91cee6300dd27c0425f0f54e982d296c16af","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.43.0.tgz","fileCount":146,"integrity":"sha512-kDcAe3WINSQN41GnUmqY2hxfRvLIg8+RXNq9WLB4QNILOI5//0CXvWpS3iMooNI7ptD8IVIgzdIiSDoCRwZW9g==","signatures":[{"sig":"MEYCIQDj7QjaPxaibLwcUdw9kDUNiTbOHC8v0xMW+hYlPQVbcgIhAOktah5J06v1BRNPa0EX/SS072hYAQGq08IliWBYMXVq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2399289},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"8ac130c729c696788be5698bacce01b5d1ec9071","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"npm run generate-models && tsgo -p tsconfig.build.json","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":"11.6.2","description":"Unified LLM API with automatic model discovery and provider configuration","directories":{},"_nodeVersion":"25.2.1","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.34.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.43.0_1768176002019_0.22464473115320627","host":"s3://npm-registry-packages-npm-production"}},"0.44.0":{"name":"@mariozechner/pi-ai","version":"0.44.0","keywords":["ai","llm","openai","anthropic","gemini","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.44.0","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"bin":{"pi-ai":"dist/cli.js"},"dist":{"shasum":"fd97cac5606fc447ac43d294d41d868c34c34fc4","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.44.0.tgz","fileCount":146,"integrity":"sha512-EFJB4vz0ZizGhuTpB/5/V+y4AmTwfXejIy/QxarBFl0dWq0JRb3rOq1bCnL8TpUN+6myoGStWH0iJQU+2v+7pQ==","signatures":[{"sig":"MEUCIEKigUe24PGseZQSgPHzo28uTfx8jjejOasBlzEJRiMZAiEAmYSpdnZ5nafgUcP4AWpcyyGHhW5Cy1s8xoihyiF5s8Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2401897},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"477c263838b3cd295543e9ad0b2f603b3e2b51a7","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"npm run generate-models && tsgo -p tsconfig.build.json","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":"11.6.2","description":"Unified LLM API with automatic model discovery and provider configuration","directories":{},"_nodeVersion":"25.2.1","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.34.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.44.0_1768241089561_0.395609589230814","host":"s3://npm-registry-packages-npm-production"}},"0.45.0":{"name":"@mariozechner/pi-ai","version":"0.45.0","keywords":["ai","llm","openai","anthropic","gemini","bedrock","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.45.0","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"bin":{"pi-ai":"dist/cli.js"},"dist":{"shasum":"fd51896a9a1074f291db0b09ca563f3118e53094","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.45.0.tgz","fileCount":150,"integrity":"sha512-hc+ktBVG3ZB/nPrh7/L7cOZIkmbd4qB6yIppRVtu04CtQwDaCAHu9i0IBlGtbaQx7EpqCXcGAhkZUrTWiDS8OA==","signatures":[{"sig":"MEQCICyVl3z5akR3Qb5D8TZYKNR+o4345LN/glG2Dq0EXQWSAiAEL+eoFrXb2IqRmokKDqfLns/Z8+3Xkihf9Tp5LeSBgw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2665285},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"e22feba494667b511364c2a45a23d05d6404187e","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"npm run generate-models && tsgo -p tsconfig.build.json","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":"11.6.2","description":"Unified LLM API with automatic model discovery and provider configuration","directories":{},"_nodeVersion":"25.2.1","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.34.0","@anthropic-ai/sdk":"0.71.2","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6","@mistralai/mistralai":"1.10.0","@aws-sdk/client-bedrock-runtime":"^3.966.0"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.45.0_1768268519350_0.07015761732199688","host":"s3://npm-registry-packages-npm-production"}},"0.45.1":{"name":"@mariozechner/pi-ai","version":"0.45.1","keywords":["ai","llm","openai","anthropic","gemini","bedrock","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.45.1","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"bin":{"pi-ai":"dist/cli.js"},"dist":{"shasum":"62b3556252564be228b91e5f38b5ff808d380efa","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.45.1.tgz","fileCount":150,"integrity":"sha512-JTzhr5WXCzQ+9BB+ZAbZtzxUl0XnjgN1pncuA7D0eczrvLLTro9f8XKInbDImFb6vjhDVKmtnbxaEvgD6MpVpw==","signatures":[{"sig":"MEYCIQDnthqe+mAh1qqEFowXwA12ujdfbibjd51WB0MuglZ1NwIhAMm1G1Lv+OHMuKtKuUUQ0joGHpv9LD1aQbWTmtdpvRre","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2665285},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"e4a98d8381a4eb20ba5058120921130d4f508d32","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"npm run generate-models && tsgo -p tsconfig.build.json","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":"11.6.2","description":"Unified LLM API with automatic model discovery and provider configuration","directories":{},"_nodeVersion":"25.2.1","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.34.0","@anthropic-ai/sdk":"0.71.2","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6","@mistralai/mistralai":"1.10.0","@aws-sdk/client-bedrock-runtime":"^3.966.0"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.45.1_1768270028692_0.278787320979075","host":"s3://npm-registry-packages-npm-production"}},"0.45.2":{"name":"@mariozechner/pi-ai","version":"0.45.2","keywords":["ai","llm","openai","anthropic","gemini","bedrock","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.45.2","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"bin":{"pi-ai":"dist/cli.js"},"dist":{"shasum":"523cee37b5d8ea8b5700eaa83f3a48303d347d89","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.45.2.tgz","fileCount":150,"integrity":"sha512-BVuk5kmPvqWA9yqFGsocJljLYIPVluliNMPCUTQj5MmrCa/eKt5ahtHrUEFwRz3wsVNIocDZ/tCSS2Dqiz6ZIA==","signatures":[{"sig":"MEUCIQDdpjlSs7Er9kPro0ZcEX+0+vHyuTEa8B3xbJIRi1XUzgIgTZtF3HYtFQmw+awqudhdYqt8UETr5ApI2ytQoDfMvGQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2665285},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"c55082bb668d9ef65f4ffc1ce96056d305450fd5","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"npm run generate-models && tsgo -p tsconfig.build.json","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":"11.6.2","description":"Unified LLM API with automatic model discovery and provider configuration","directories":{},"_nodeVersion":"25.2.1","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.34.0","@anthropic-ai/sdk":"0.71.2","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6","@mistralai/mistralai":"1.10.0","@aws-sdk/client-bedrock-runtime":"^3.966.0"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.45.2_1768271299791_0.30891553834703633","host":"s3://npm-registry-packages-npm-production"}},"0.45.3":{"name":"@mariozechner/pi-ai","version":"0.45.3","keywords":["ai","llm","openai","anthropic","gemini","bedrock","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.45.3","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"bin":{"pi-ai":"dist/cli.js"},"dist":{"shasum":"5b1f10fcc725a66d862533c5c1d8a8f10a0bf214","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.45.3.tgz","fileCount":150,"integrity":"sha512-PVL4xrDfP24v86ZZBAw+3HMqqDjq/RyIpQc+0c/QKp2Ldu4SlX7zYqzDDeXR1PWNvxVPdHwIihMnoXOh/361iA==","signatures":[{"sig":"MEYCIQDxRVGvcXSOPRqI8eihAjXlbSxmqqwBJOnuLaRvQFFU+QIhAKbPDFcxsjOggqUNo4oCwn9BEoMmYtB2YN912plMysAT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2666901},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"2090599e4b4154e43ebc9d4f7799d4cbd128dec0","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"npm run generate-models && tsgo -p tsconfig.build.json","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":"11.6.2","description":"Unified LLM API with automatic model discovery and provider configuration","directories":{},"_nodeVersion":"25.2.1","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.34.0","@anthropic-ai/sdk":"0.71.2","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6","@mistralai/mistralai":"1.10.0","@aws-sdk/client-bedrock-runtime":"^3.966.0"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.45.3_1768276623796_0.5884621358478563","host":"s3://npm-registry-packages-npm-production"}},"0.45.4":{"name":"@mariozechner/pi-ai","version":"0.45.4","keywords":["ai","llm","openai","anthropic","gemini","bedrock","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.45.4","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"bin":{"pi-ai":"dist/cli.js"},"dist":{"shasum":"359c5dca91c80f645a566d1677e70cc1145f2a06","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.45.4.tgz","fileCount":150,"integrity":"sha512-p3lPbQ57q7wPRzYZ2+MV+bHxbjhyPI1ogvW7FNBVMSA02Fup8hIXIHq73XUXgYYy+QzBEg26BITAO08Vhr/2vg==","signatures":[{"sig":"MEYCIQCP0RlAZ435h1s7/S99ijLjCGxWU5XiK+j8TWgKVFfsXQIhALpXMJLk83RgWEYpoC60UV/e5LKhguoZx9ubtxLn74M5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2982427},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"bb0ba88b97c92e71017de957e1c479907d724a9b","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"npm run generate-models && tsgo -p tsconfig.build.json","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":"11.6.2","description":"Unified LLM API with automatic model discovery and provider configuration","directories":{},"_nodeVersion":"25.2.1","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.34.0","@anthropic-ai/sdk":"0.71.2","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6","@mistralai/mistralai":"1.10.0","@aws-sdk/client-bedrock-runtime":"^3.966.0"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.45.4_1768336635029_0.7342635931040036","host":"s3://npm-registry-packages-npm-production"}},"0.45.5":{"name":"@mariozechner/pi-ai","version":"0.45.5","keywords":["ai","llm","openai","anthropic","gemini","bedrock","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.45.5","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"bin":{"pi-ai":"dist/cli.js"},"dist":{"shasum":"bf503b88109d1903dc3562fd65417d5011b06e6f","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.45.5.tgz","fileCount":150,"integrity":"sha512-uSakc2jQ6EFeXH6fr2ViBMvKJs5lbLE3tYYRKG9yya0scE/3FtwNM0sZfDsvdKJtS/+cYg9wKXmNE/y1cmyZLQ==","signatures":[{"sig":"MEQCIC0yhhpTz2u8TrPx9U1kw9fruAV/LL57MGD7F2u9lqKEAiAeIk9J4O9au2xQvlc2moLeZFZ06KIfPmXcPln6YZ4jKw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2982427},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"9a08bb0d1e2e2d10373f612b8e57055c8f829afa","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"npm run generate-models && tsgo -p tsconfig.build.json","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":"11.6.2","description":"Unified LLM API with automatic model discovery and provider configuration","directories":{},"_nodeVersion":"25.2.1","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.34.0","@anthropic-ai/sdk":"0.71.2","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6","@mistralai/mistralai":"1.10.0","@aws-sdk/client-bedrock-runtime":"^3.966.0"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.45.5_1768337239559_0.010251075919074815","host":"s3://npm-registry-packages-npm-production"}},"0.45.6":{"name":"@mariozechner/pi-ai","version":"0.45.6","keywords":["ai","llm","openai","anthropic","gemini","bedrock","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.45.6","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"bin":{"pi-ai":"dist/cli.js"},"dist":{"shasum":"1885d00962347da63655fe55ef956192448b1a3c","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.45.6.tgz","fileCount":150,"integrity":"sha512-AtKx0XUjd2cJPucrDTd/GbCNzCYW612SpGanFD5gzFvMBKBlT4Br4tW+E0rOocFO0oydvWyACaKLGamQqUCfdQ==","signatures":[{"sig":"MEQCIDFzGF6M/H3bCNnsCygOlQ9q+raWfodSVuahyPfFBC/2AiBH218mhNjii/4nH6rPA8r5DrBCYhVExUk/yN84sQffFA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2982635},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"f8dc72d24f82b0dfd64e5686bf72838aebd63e9b","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"npm run generate-models && tsgo -p tsconfig.build.json","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":"11.6.2","description":"Unified LLM API with automatic model discovery and provider configuration","directories":{},"_nodeVersion":"25.2.1","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.34.0","@anthropic-ai/sdk":"0.71.2","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6","@mistralai/mistralai":"1.10.0","@aws-sdk/client-bedrock-runtime":"^3.966.0"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.45.6_1768340908248_0.3441635179334559","host":"s3://npm-registry-packages-npm-production"}},"0.45.7":{"name":"@mariozechner/pi-ai","version":"0.45.7","keywords":["ai","llm","openai","anthropic","gemini","bedrock","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.45.7","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"bin":{"pi-ai":"dist/cli.js"},"dist":{"shasum":"d35187201f0fe2505f4c5ccd52bc5da8b3d5d520","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.45.7.tgz","fileCount":150,"integrity":"sha512-RsOLVYdR3gpREx35cDPIIM3z2KyJb/4NOWSN/CP+HRUJ4sJR+W4yo6k/6mpmDncSM+eB8NJZ8wi+WYFJVEbUVw==","signatures":[{"sig":"MEUCIQCTX3DUc0DRSRBGRy3hbk3dfRWdfeG3zwQqMWfOCLBi3AIgZv/ffUHgQyy/l4HtiUdPHrtHRlWtNKG80lRQMCH+3+E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2983298},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"d08821cc4abd260390c40e4a9388da1bc7f8ad5d","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"npm run generate-models && tsgo -p tsconfig.build.json","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":"11.6.2","description":"Unified LLM API with automatic model discovery and provider configuration","directories":{},"_nodeVersion":"25.2.1","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.34.0","@anthropic-ai/sdk":"0.71.2","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6","@mistralai/mistralai":"1.10.0","@aws-sdk/client-bedrock-runtime":"^3.966.0"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.45.7_1768345875954_0.6337837608067758","host":"s3://npm-registry-packages-npm-production"}},"0.46.0":{"name":"@mariozechner/pi-ai","version":"0.46.0","keywords":["ai","llm","openai","anthropic","gemini","bedrock","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.46.0","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"bin":{"pi-ai":"dist/cli.js"},"dist":{"shasum":"3d23527b816da52a7302036afe1692ef6895711d","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.46.0.tgz","fileCount":150,"integrity":"sha512-RwcOODZJv8sxZ6/aJsRRdEPx2KaZ8OCcfPlUt2nejntxh3SZfQnJyImibH2xFPlXhlJYhglSSgp2/cUIZhjzAg==","signatures":[{"sig":"MEUCIQC72tPkh8BO+M7SypMRgwA36tdvk92AU3gBdQDNdd9C9AIgfII7frK+5LUcuz3evcsMubTRuLvObPf0XJSJcyIzat4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2999706},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"0aaa4ef5e4f58615334799664107367fa537ade4","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"npm run generate-models && tsgo -p tsconfig.build.json","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":"11.6.2","description":"Unified LLM API with automatic model discovery and provider configuration","directories":{},"_nodeVersion":"25.2.1","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.34.0","@anthropic-ai/sdk":"0.71.2","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6","@mistralai/mistralai":"1.10.0","@aws-sdk/client-bedrock-runtime":"^3.966.0"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.46.0_1768494977364_0.270096875285631","host":"s3://npm-registry-packages-npm-production"}},"0.47.0":{"name":"@mariozechner/pi-ai","version":"0.47.0","keywords":["ai","llm","openai","anthropic","gemini","bedrock","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.47.0","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"bin":{"pi-ai":"dist/cli.js"},"dist":{"shasum":"d8793a220add3f0df29cf567def55b49989cecc4","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.47.0.tgz","fileCount":126,"integrity":"sha512-SbAQDhuE3brX28q4eoKClB4FsauKgCbCb9lFTg14uMGZ5U60TO4zVMPO60V2Z9Jx1gtuc+Zj9Czbpd3SuTtpAA==","signatures":[{"sig":"MEUCIB538Cf0ULWC+uLGEwPgXT0wSXOfBOXY7Lkioo0/7+7hAiEAuq2rORAT6Gyds1P72wxfNnHTinELAAWDNlBNTTzVWFw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2813953},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"6248d86ff6742ab9cb03fc463f3a6cbd4a634ae7","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"npm run generate-models && tsgo -p tsconfig.build.json","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":"11.6.2","description":"Unified LLM API with automatic model discovery and provider configuration","directories":{},"_nodeVersion":"25.2.1","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.34.0","@anthropic-ai/sdk":"0.71.2","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6","@mistralai/mistralai":"1.10.0","@aws-sdk/client-bedrock-runtime":"^3.966.0"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.47.0_1768534887480_0.19680099220866953","host":"s3://npm-registry-packages-npm-production"}},"0.48.0":{"name":"@mariozechner/pi-ai","version":"0.48.0","keywords":["ai","llm","openai","anthropic","gemini","bedrock","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.48.0","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"bin":{"pi-ai":"dist/cli.js"},"dist":{"shasum":"9de7a43338112194bf2306f0804f00b8a786f8e6","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.48.0.tgz","fileCount":126,"integrity":"sha512-M1eRoYdBV3eyVBPtvDB30vEhau1SAcrgbcsmnjumqQTTGCeiIGWMVSCxRPR8YU2PywPXTLewrEY20Cs6FZhQSw==","signatures":[{"sig":"MEUCIAe6tbrUkibV6zOCpaA5gTzj8WbiLanj6b698eD4J61iAiEA6fc8oQRnb1CWuSwcnaB9X33sb9ikfRKBC/ONpopRNXM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2840869},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"91be338e391563797c33b0e68fa4fd212bc3d067","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"npm run generate-models && tsgo -p tsconfig.build.json","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":"11.6.2","description":"Unified LLM API with automatic model discovery and provider configuration","directories":{},"_nodeVersion":"25.2.1","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.34.0","@anthropic-ai/sdk":"0.71.2","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6","@mistralai/mistralai":"1.10.0","@aws-sdk/client-bedrock-runtime":"^3.966.0"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.48.0_1768606356232_0.21581556108429578","host":"s3://npm-registry-packages-npm-production"}},"0.49.0":{"name":"@mariozechner/pi-ai","version":"0.49.0","keywords":["ai","llm","openai","anthropic","gemini","bedrock","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.49.0","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"bin":{"pi-ai":"dist/cli.js"},"dist":{"shasum":"ca4404ae8994ee6ea9a771da81b7818190976a23","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.49.0.tgz","fileCount":122,"integrity":"sha512-1+gcz00ccY3ZicViazFU38aZ5ow5Igfymsb2pp4qYaOVHyPv7QIonjtpQ799wV01yAJS5CoR1vtMcGVZLZb4SA==","signatures":[{"sig":"MEUCIGDMTTKuIylGStyF7jUAbV9LBL6xRAuAhb4cOmlr3v8AAiEArRO+xhGvOFDl7szgJRF4RzkQv/qiiaNtRvA1/vf6usE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2841024},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"3e6ae39083b08a237890ee291d8a60a648793366","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"npm run generate-models && tsgo -p tsconfig.build.json","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":"11.6.2","description":"Unified LLM API with automatic model discovery and provider configuration","directories":{},"_nodeVersion":"25.2.1","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.34.0","@anthropic-ai/sdk":"0.71.2","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6","@mistralai/mistralai":"1.10.0","@aws-sdk/client-bedrock-runtime":"^3.966.0"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.49.0_1768683759663_0.6715276349950423","host":"s3://npm-registry-packages-npm-production"}},"0.49.1":{"name":"@mariozechner/pi-ai","version":"0.49.1","keywords":["ai","llm","openai","anthropic","gemini","bedrock","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.49.1","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"bin":{"pi-ai":"dist/cli.js"},"dist":{"shasum":"d0d932ead89da39a0a2c796b52ead2f0c1635eff","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.49.1.tgz","fileCount":122,"integrity":"sha512-eRhpIvMvo64tEZVa5k/E9C5uWgQu97cNjZes6EW7OlUymr9G6QMpF+hwDEOPR+xibNHV5gyZJ1n9nK+ney2vwQ==","signatures":[{"sig":"MEUCIQDzQcYBT5AcWsD8UJb4qfpQD+6XEbqLfmS1bHK0QBy0DQIgBWJP1hH8a7TeMEslTMo3FrkAsxd525j9hf0zAfyTtqQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2852680},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"15a04c585a361e6c69754fee1ff525989aa35ac0","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"npm run generate-models && tsgo -p tsconfig.build.json","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":"11.6.2","description":"Unified LLM API with automatic model discovery and provider configuration","directories":{},"_nodeVersion":"25.2.1","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.34.0","@anthropic-ai/sdk":"0.71.2","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6","@mistralai/mistralai":"1.10.0","@aws-sdk/client-bedrock-runtime":"^3.966.0"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.49.1_1768778615409_0.9255912474849004","host":"s3://npm-registry-packages-npm-production"}},"0.49.2":{"name":"@mariozechner/pi-ai","version":"0.49.2","keywords":["ai","llm","openai","anthropic","gemini","bedrock","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.49.2","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"bin":{"pi-ai":"dist/cli.js"},"dist":{"shasum":"069be7eeb7caaab2927cf44f7a16f16c28db87c3","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.49.2.tgz","fileCount":122,"integrity":"sha512-YgonNYIR0u8RtohT2kxKJYr6ir59GqEQwRwaIgBq6U6VnkxqaoUz8TOQSjS+Dy0pXb+Jd8XBPj1/aZVsSbDbbQ==","signatures":[{"sig":"MEYCIQCO1eVzT+i5U0KrEeOz8ontCW/20rt6Yd9l9bckBN1QPAIhAIxwfWCRpLo7FBR9Ammns534cOPRqrg9VOrMbFkA6TVi","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2848072},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"17a37bd1746e79c05b8385c9a1e5c315c14ae9c3","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"npm run generate-models && tsgo -p tsconfig.build.json","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":"11.6.2","description":"Unified LLM API with automatic model discovery and provider configuration","directories":{},"_nodeVersion":"25.2.1","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.34.0","@anthropic-ai/sdk":"0.71.2","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6","@mistralai/mistralai":"1.10.0","@aws-sdk/client-bedrock-runtime":"^3.966.0"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.49.2_1768835669689_0.7431171283392952","host":"s3://npm-registry-packages-npm-production"}},"0.49.3":{"name":"@mariozechner/pi-ai","version":"0.49.3","keywords":["ai","llm","openai","anthropic","gemini","bedrock","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.49.3","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"bin":{"pi-ai":"dist/cli.js"},"dist":{"shasum":"2e7b280f8f0e77c456e8a823b6730389af565d44","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.49.3.tgz","fileCount":122,"integrity":"sha512-FYck4TPrF7ps3WBKxLnBQdda9OXUWN6rukni0LgK8m/GpMAXGienHouDrWPn0XIgTwrz5r7SGI3sfsEYslCICA==","signatures":[{"sig":"MEYCIQC/vEmfUpR2IyHhHoBU65lLM4AYwXj4APZ+irPXR0Vz+gIhAPAME+4+NzpX7vKc3rfu47LjbFh5Qd0wJliJX8V4AOE3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2862869},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"34d28a47b51a6a72b0eb321f4b23ead132ff9107","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"npm run generate-models && tsgo -p tsconfig.build.json","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":"11.6.2","description":"Unified LLM API with automatic model discovery and provider configuration","directories":{},"_nodeVersion":"25.2.1","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.34.0","@anthropic-ai/sdk":"0.71.2","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6","@mistralai/mistralai":"1.10.0","@aws-sdk/client-bedrock-runtime":"^3.966.0"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.49.3_1769042586164_0.1730873767339225","host":"s3://npm-registry-packages-npm-production"}},"0.50.0":{"name":"@mariozechner/pi-ai","version":"0.50.0","keywords":["ai","llm","openai","anthropic","gemini","bedrock","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.50.0","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"bin":{"pi-ai":"dist/cli.js"},"dist":{"shasum":"b1f44139e894cd9f6218a49b6d6b7a1a2f1c17a4","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.50.0.tgz","fileCount":146,"integrity":"sha512-FN+XyYXDmuoIq3gbC/mvW/hRe5VHICxjYy89xXfclxxeaBDyBVopRG1evGCO/hHzwroM8afPAu4MvEXlI9JVoA==","signatures":[{"sig":"MEUCIQC7VdftRn0PikulCiB/tH1tZNA7JVkhasq0cQgAXaTumAIgUqLLCYDuvCRnLjjpwRCQLqOMi4Wyiu3rHDqplP1yP6Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2979049},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"453e104d3a32c02c5f586d1652636ca8b71d6d05","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"npm run generate-models && tsgo -p tsconfig.build.json","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":"11.6.2","description":"Unified LLM API with automatic model discovery and provider configuration","directories":{},"_nodeVersion":"25.2.1","dependencies":{"ajv":"^8.17.1","chalk":"^5.6.2","openai":"6.10.0","undici":"^7.19.1","ajv-formats":"^3.0.1","proxy-agent":"^6.5.0","partial-json":"^0.1.7","@google/genai":"1.34.0","@anthropic-ai/sdk":"0.71.2","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6","@mistralai/mistralai":"1.10.0","@aws-sdk/client-bedrock-runtime":"^3.966.0"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.50.0_1769442901779_0.3504741107779987","host":"s3://npm-registry-packages-npm-production"}},"0.50.1":{"name":"@mariozechner/pi-ai","version":"0.50.1","keywords":["ai","llm","openai","anthropic","gemini","bedrock","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.50.1","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"bin":{"pi-ai":"dist/cli.js"},"dist":{"shasum":"5581beee9f836ddfe62e8e89f581ac80704d26fc","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.50.1.tgz","fileCount":146,"integrity":"sha512-t8qUHHqz3tgK4r3f/msRKK2QbhvlDjBCjOJlTn7iJDwVAWABO8EYwf0BzkB0RGrGkiIOKhDwEVbB4jD3VxaKnA==","signatures":[{"sig":"MEYCIQDKlrNasgigd7t5yelM0RHgH/xD/y+suA4h9ME3Y4TtaQIhAIpbHsAFosTKg08UJ7wKiTSmZpavcXs+1HnD1k8eN/Yc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2972271},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"29c59d79bae5795f88eb3aec641974b1d6712f11","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"npm run generate-models && tsgo -p tsconfig.build.json","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":"11.6.2","description":"Unified LLM API with automatic model discovery and provider configuration","directories":{},"_nodeVersion":"25.2.1","dependencies":{"ajv":"^8.17.1","chalk":"^5.6.2","openai":"6.10.0","undici":"^7.19.1","ajv-formats":"^3.0.1","proxy-agent":"^6.5.0","partial-json":"^0.1.7","@google/genai":"1.34.0","@anthropic-ai/sdk":"0.71.2","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6","@mistralai/mistralai":"1.10.0","@aws-sdk/client-bedrock-runtime":"^3.966.0"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.50.1_1769469321603_0.7350574858636798","host":"s3://npm-registry-packages-npm-production"}},"0.50.2":{"name":"@mariozechner/pi-ai","version":"0.50.2","keywords":["ai","llm","openai","anthropic","gemini","bedrock","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.50.2","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"bin":{"pi-ai":"dist/cli.js"},"dist":{"shasum":"942944718a2515f2f591f9962d28d11e7a2e97b1","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.50.2.tgz","fileCount":146,"integrity":"sha512-NIztRDwMqwqoOpKqTy1WPx19quuEJqSUa71qnP7p7NjNwjJxUxpQCsL+z8NdfJkhfhdAXIYBK7E/YFrT+39MoQ==","signatures":[{"sig":"MEYCIQCWh2UmWAg4VM+SV3Ngv0L6+dyCDNR8akIUt626pY5E7gIhAPmS4XUAR3YpKMU90LncTNa7DI8zS3uH7pf1xfCYeROE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3040663},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"9bb627a5246f2cbddb881d697af4d4cf727afe86","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"npm run generate-models && tsgo -p tsconfig.build.json","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":"11.6.2","description":"Unified LLM API with automatic model discovery and provider configuration","directories":{},"_nodeVersion":"25.2.1","dependencies":{"ajv":"^8.17.1","chalk":"^5.6.2","openai":"6.10.0","undici":"^7.19.1","ajv-formats":"^3.0.1","proxy-agent":"^6.5.0","partial-json":"^0.1.7","@google/genai":"1.34.0","@anthropic-ai/sdk":"0.71.2","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6","@mistralai/mistralai":"1.10.0","@aws-sdk/client-bedrock-runtime":"^3.966.0"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.50.2_1769653448887_0.2729811176358852","host":"s3://npm-registry-packages-npm-production"}},"0.50.3":{"name":"@mariozechner/pi-ai","version":"0.50.3","keywords":["ai","llm","openai","anthropic","gemini","bedrock","unified","api"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@mariozechner/pi-ai@0.50.3","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"homepage":"https://github.com/badlogic/pi-mono#readme","bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"bin":{"pi-ai":"dist/cli.js"},"dist":{"shasum":"5f160599ccb2b4afef660206bd41908f95a942dd","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.50.3.tgz","fileCount":146,"integrity":"sha512-IfA/rn+RuBHxZ1PMlH+pqMr3D7X/r6ArSS9TWprNQ/BEypH1aNXvr5u44/Nzs1X3hKyhWiLCcwbx7Hvl3s5qWg==","signatures":[{"sig":"MEQCIB0xDPkiQ1MJPHxcxKEaY5iJafhP1p/dUONd++biX9axAiAOw/XKnxduPi304sW2EvTfg2tElqrzG1c7tWDUAfLFaQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3046412},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"df667b510a301f7ad4b7dc42991999601bd24ad3","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"npm run generate-models && tsgo -p tsconfig.build.json","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":"11.6.2","description":"Unified LLM API with automatic model discovery and provider configuration","directories":{},"_nodeVersion":"25.2.1","dependencies":{"ajv":"^8.17.1","chalk":"^5.6.2","openai":"6.10.0","undici":"^7.19.1","ajv-formats":"^3.0.1","proxy-agent":"^6.5.0","partial-json":"^0.1.7","@google/genai":"1.34.0","@anthropic-ai/sdk":"0.71.2","@sinclair/typebox":"^0.34.41","zod-to-json-schema":"^3.24.6","@mistralai/mistralai":"1.10.0","@aws-sdk/client-bedrock-runtime":"^3.966.0"},"_hasShrinkwrap":false,"devDependencies":{"canvas":"^3.2.0","vitest":"^3.2.4","@types/node":"^24.3.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-ai_0.50.3_1769656769549_0.5299934368277961","host":"s3://npm-registry-packages-npm-production"}},"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":{"integrity":"sha512-v7dj8/DM4gJ4If4wzzNrszRscM8qRCQO+FKNNll5ddhKRSzGEZ6JEcNqKtSQFQU+QxEegliLWz06MXhc8Zyvqw==","shasum":"e3c6708a01508e7e7249ce645066623e73023cff","tarball":"https://registry.npmjs.org/@mariozechner/pi-ai/-/pi-ai-0.50.4.tgz","fileCount":146,"unpackedSize":3050173,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIDXLfG5dnAQz0aXp78mW2nT+xBvgOSxEb0VuOyd1inFUAiA95EkcyJD2JlJK3iOAIPV7J7dGtvD5u6+O/1pyg2OG0Q=="}]},"_npmUser":{"name":"badlogic","email":"mario@badlogicgames.com"},"directories":{},"maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-ai_0.50.4_1769740006554_0.2942816230981171"},"_hasShrinkwrap":false}},"time":{"created":"2025-08-30T19:42:00.888Z","modified":"2026-01-30T02:26:46.953Z","0.5.10":"2025-08-30T19:42:01.139Z","0.5.11":"2025-08-30T19:47:31.188Z","0.5.12":"2025-08-30T19:48:55.279Z","0.5.13":"2025-08-30T20:29:57.297Z","0.5.14":"2025-08-30T20:56:10.402Z","0.5.15":"2025-08-31T20:12:18.833Z","0.5.16":"2025-08-31T20:18:02.235Z","0.5.17":"2025-08-31T21:10:00.835Z","0.5.18":"2025-08-31T21:49:56.585Z","0.5.19":"2025-08-31T21:57:25.366Z","0.5.20":"2025-09-01T16:44:30.877Z","0.5.21":"2025-09-01T19:46:57.161Z","0.5.22":"2025-09-01T19:56:27.230Z","0.5.23":"2025-09-01T20:03:23.750Z","0.5.24":"2025-09-01T20:10:01.523Z","0.5.25":"2025-09-01T22:20:42.285Z","0.5.26":"2025-09-01T23:19:40.841Z","0.5.27":"2025-09-01T23:33:03.750Z","0.5.28":"2025-09-02T23:26:40.760Z","0.5.29":"2025-09-04T03:18:17.907Z","0.5.30":"2025-09-04T10:42:47.699Z","0.5.31":"2025-09-06T22:10:31.312Z","0.5.32":"2025-09-09T13:00:57.849Z","0.5.34":"2025-09-14T22:35:22.696Z","0.5.35":"2025-09-15T18:33:28.332Z","0.5.36":"2025-09-15T23:12:04.073Z","0.5.37":"2025-09-15T23:31:18.961Z","0.5.38":"2025-09-15T23:33:28.038Z","0.5.39":"2025-09-16T00:20:32.528Z","0.5.40":"2025-09-16T10:24:33.876Z","0.5.41":"2025-09-18T09:18:43.141Z","0.5.42":"2025-09-18T22:14:56.147Z","0.5.43":"2025-09-18T23:50:12.744Z","0.5.44":"2025-10-05T21:02:13.397Z","0.5.45":"2025-10-22T11:03:53.094Z","0.5.46":"2025-10-22T11:10:24.616Z","0.5.47":"2025-10-25T22:45:26.443Z","0.5.48":"2025-10-26T20:24:07.085Z","0.6.2":"2025-11-12T22:44:31.576Z","0.7.0":"2025-11-12T22:55:45.606Z","0.7.1":"2025-11-12T23:05:27.293Z","0.7.2":"2025-11-13T00:00:40.148Z","0.7.4":"2025-11-13T00:31:00.629Z","0.7.5":"2025-11-13T00:31:54.153Z","0.7.7":"2025-11-13T22:44:40.162Z","0.7.8":"2025-11-13T22:49:52.927Z","0.7.9":"2025-11-14T22:23:11.742Z","0.7.10":"2025-11-14T22:56:59.556Z","0.7.11":"2025-11-16T20:02:09.456Z","0.7.12":"2025-11-16T21:57:24.167Z","0.7.13":"2025-11-16T22:09:43.802Z","0.7.15":"2025-11-17T11:54:57.269Z","0.7.16":"2025-11-17T13:12:48.843Z","0.7.17":"2025-11-18T16:50:15.133Z","0.7.18":"2025-11-18T21:13:21.490Z","0.7.19":"2025-11-18T21:52:18.502Z","0.7.20":"2025-11-18T21:53:52.565Z","0.7.21":"2025-11-18T23:57:40.639Z","0.7.22":"2025-11-19T00:51:54.736Z","0.7.23":"2025-11-20T11:00:31.055Z","0.7.24":"2025-11-20T11:43:42.290Z","0.7.25":"2025-11-20T12:42:27.823Z","0.7.26":"2025-11-20T16:30:35.955Z","0.7.27":"2025-11-20T17:57:10.165Z","0.7.28":"2025-11-20T19:40:31.615Z","0.7.29":"2025-11-20T19:49:10.175Z","0.8.0":"2025-11-21T02:17:35.794Z","0.8.1":"2025-11-21T02:22:20.322Z","0.8.2":"2025-11-21T02:23:29.713Z","0.8.3":"2025-11-21T04:00:03.032Z","0.8.4":"2025-11-21T04:10:25.016Z","0.8.5":"2025-11-21T11:49:03.062Z","0.9.0":"2025-11-21T21:03:42.782Z","0.9.1":"2025-11-21T21:21:21.021Z","0.9.2":"2025-11-24T18:33:32.029Z","0.9.3":"2025-11-24T20:03:57.562Z","0.9.4":"2025-11-26T00:50:59.739Z","0.10.0":"2025-11-27T00:34:22.669Z","0.10.1":"2025-11-27T13:19:06.975Z","0.10.2":"2025-11-27T22:59:49.013Z","0.11.0":"2025-11-29T00:06:48.631Z","0.11.1":"2025-11-29T22:06:21.068Z","0.11.2":"2025-12-01T00:21:27.315Z","0.11.3":"2025-12-01T11:50:46.427Z","0.11.4":"2025-12-01T12:05:46.314Z","0.11.5":"2025-12-01T19:22:51.791Z","0.11.6":"2025-12-02T08:37:28.091Z","0.12.0":"2025-12-02T11:19:15.458Z","0.12.1":"2025-12-02T11:31:45.131Z","0.12.2":"2025-12-02T12:01:08.418Z","0.12.3":"2025-12-02T12:10:56.761Z","0.12.4":"2025-12-02T12:27:20.490Z","0.12.5":"2025-12-03T15:21:53.991Z","0.12.6":"2025-12-03T16:12:56.018Z","0.12.7":"2025-12-04T02:11:32.896Z","0.12.8":"2025-12-04T02:59:50.123Z","0.12.9":"2025-12-04T12:23:23.798Z","0.12.10":"2025-12-04T19:52:38.010Z","0.12.11":"2025-12-05T11:20:10.478Z","0.12.12":"2025-12-05T22:01:19.473Z","0.12.13":"2025-12-05T22:39:00.780Z","0.12.14":"2025-12-05T23:47:30.176Z","0.12.15":"2025-12-06T20:29:34.324Z","0.13.0":"2025-12-06T21:49:19.801Z","0.13.1":"2025-12-06T22:13:10.448Z","0.13.2":"2025-12-07T00:25:55.257Z","0.14.1":"2025-12-08T22:00:16.365Z","0.14.2":"2025-12-08T22:29:37.013Z","0.15.0":"2025-12-09T12:44:31.791Z","0.16.0":"2025-12-09T14:44:06.483Z","0.17.0":"2025-12-09T20:50:28.987Z","0.18.0":"2025-12-10T00:22:58.643Z","0.18.1":"2025-12-10T20:39:54.115Z","0.18.2":"2025-12-10T22:39:50.139Z","0.18.3":"2025-12-11T19:34:41.684Z","0.18.4":"2025-12-11T23:00:44.284Z","0.18.5":"2025-12-12T09:01:33.819Z","0.18.6":"2025-12-12T09:54:24.980Z","0.18.7":"2025-12-12T10:15:58.352Z","0.18.8":"2025-12-12T10:30:39.158Z","0.19.0":"2025-12-12T17:35:28.462Z","0.19.1":"2025-12-12T17:55:52.418Z","0.19.2":"2025-12-12T22:03:37.244Z","0.20.0":"2025-12-12T22:25:34.480Z","0.20.1":"2025-12-12T23:57:45.546Z","0.20.2":"2025-12-13T00:12:10.415Z","0.21.0":"2025-12-13T22:56:09.864Z","0.22.0":"2025-12-15T19:14:59.292Z","0.22.1":"2025-12-15T20:54:08.980Z","0.22.2":"2025-12-15T21:09:45.033Z","0.22.3":"2025-12-16T19:06:45.145Z","0.22.4":"2025-12-16T23:39:50.629Z","0.22.5":"2025-12-17T00:22:46.648Z","0.23.0":"2025-12-17T15:14:09.215Z","0.23.1":"2025-12-17T15:43:45.314Z","0.23.2":"2025-12-17T16:56:44.982Z","0.23.3":"2025-12-17T21:30:30.301Z","0.23.4":"2025-12-18T15:57:39.966Z","0.23.5":"2025-12-19T04:16:07.309Z","0.24.0":"2025-12-19T04:21:54.208Z","0.24.1":"2025-12-19T19:52:15.937Z","0.24.2":"2025-12-19T20:13:21.151Z","0.24.3":"2025-12-19T20:36:44.243Z","0.24.4":"2025-12-19T20:55:10.530Z","0.24.5":"2025-12-19T21:10:03.681Z","0.25.0":"2025-12-20T21:03:21.648Z","0.25.1":"2025-12-21T01:47:58.291Z","0.25.2":"2025-12-21T01:59:33.019Z","0.25.3":"2025-12-21T20:01:53.371Z","0.25.4":"2025-12-21T23:23:33.229Z","0.26.0":"2025-12-22T11:54:28.392Z","0.26.1":"2025-12-22T15:19:59.258Z","0.27.0":"2025-12-22T17:20:46.055Z","0.27.1":"2025-12-22T18:28:58.008Z","0.27.2":"2025-12-23T02:50:07.003Z","0.27.3":"2025-12-24T01:46:52.566Z","0.27.4":"2025-12-24T02:33:22.480Z","0.27.5":"2025-12-24T11:19:19.476Z","0.27.6":"2025-12-24T12:59:38.029Z","0.27.7":"2025-12-24T17:33:09.233Z","0.27.8":"2025-12-24T19:52:55.898Z","0.27.9":"2025-12-24T20:25:50.068Z","0.28.0":"2025-12-25T02:58:11.596Z","0.29.0":"2025-12-25T03:17:12.995Z","0.29.1":"2025-12-25T17:10:46.159Z","0.30.0":"2025-12-25T19:35:40.892Z","0.30.1":"2025-12-26T02:14:07.026Z","0.30.2":"2025-12-26T02:26:27.904Z","0.31.0":"2026-01-02T01:00:20.013Z","0.31.1":"2026-01-02T09:39:26.616Z","0.32.0":"2026-01-03T01:48:43.982Z","0.32.1":"2026-01-03T03:26:18.556Z","0.32.2":"2026-01-03T15:08:33.032Z","0.32.3":"2026-01-03T16:09:43.491Z","0.33.0":"2026-01-04T00:07:50.657Z","0.34.0":"2026-01-04T19:30:13.849Z","0.34.1":"2026-01-04T19:57:16.080Z","0.34.2":"2026-01-04T20:06:29.625Z","0.35.0":"2026-01-05T02:41:46.856Z","0.36.0":"2026-01-05T05:16:47.757Z","0.37.0":"2026-01-05T23:07:38.041Z","0.37.1":"2026-01-05T23:32:35.264Z","0.37.2":"2026-01-05T23:53:40.694Z","0.37.3":"2026-01-06T12:44:09.411Z","0.37.4":"2026-01-06T20:28:45.071Z","0.37.5":"2026-01-06T22:25:34.661Z","0.37.6":"2026-01-06T23:43:06.739Z","0.37.7":"2026-01-07T00:02:15.946Z","0.37.8":"2026-01-07T00:33:15.130Z","0.38.0":"2026-01-08T03:53:27.624Z","0.39.0":"2026-01-08T23:10:22.293Z","0.39.1":"2026-01-08T23:34:01.446Z","0.40.0":"2026-01-08T23:43:56.669Z","0.40.1":"2026-01-09T04:12:28.119Z","0.41.0":"2026-01-09T05:07:16.366Z","0.42.0":"2026-01-09T05:59:49.166Z","0.42.1":"2026-01-09T19:24:31.159Z","0.42.2":"2026-01-10T00:43:09.644Z","0.42.3":"2026-01-10T12:27:50.328Z","0.42.4":"2026-01-10T12:56:34.016Z","0.42.5":"2026-01-11T03:11:14.632Z","0.43.0":"2026-01-12T00:00:02.208Z","0.44.0":"2026-01-12T18:04:49.767Z","0.45.0":"2026-01-13T01:41:59.502Z","0.45.1":"2026-01-13T02:07:08.950Z","0.45.2":"2026-01-13T02:28:20.053Z","0.45.3":"2026-01-13T03:57:04.022Z","0.45.4":"2026-01-13T20:37:15.182Z","0.45.5":"2026-01-13T20:47:19.770Z","0.45.6":"2026-01-13T21:48:28.426Z","0.45.7":"2026-01-13T23:11:16.101Z","0.46.0":"2026-01-15T16:36:17.744Z","0.47.0":"2026-01-16T03:41:27.638Z","0.48.0":"2026-01-16T23:32:36.411Z","0.49.0":"2026-01-17T21:02:39.880Z","0.49.1":"2026-01-18T23:23:35.624Z","0.49.2":"2026-01-19T15:14:29.876Z","0.49.3":"2026-01-22T00:43:06.385Z","0.50.0":"2026-01-26T15:55:01.987Z","0.50.1":"2026-01-26T23:15:21.754Z","0.50.2":"2026-01-29T02:24:09.104Z","0.50.3":"2026-01-29T03:19:29.733Z","0.50.4":"2026-01-30T02:26:46.795Z"},"bugs":{"url":"https://github.com/badlogic/pi-mono/issues"},"author":{"name":"Mario Zechner"},"license":"MIT","homepage":"https://github.com/badlogic/pi-mono#readme","keywords":["ai","llm","openai","anthropic","gemini","bedrock","unified","api"],"repository":{"type":"git","url":"git+https://github.com/badlogic/pi-mono.git","directory":"packages/ai"},"description":"Unified LLM API with automatic model discovery and provider configuration","maintainers":[{"name":"badlogic","email":"mario@badlogicgames.com"}],"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 - [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- **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\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 maxTokensField?: 'max_completion_tokens' | 'max_tokens'; // Which field name to use (default: max_completion_tokens)\n thinkingFormat?: 'openai' | 'zai'; // Format for reasoning param: 'openai' uses reasoning_effort, 'zai' uses thinking: { type: \"enabled\" } (default: openai)\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 `` 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 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### 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| 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#### 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. 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';\n```\n\n### Login Flow Example\n\n```typescript\nimport { loginGitHubCopilot } from '@mariozechner/pi-ai';\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, getOAuthApiKey } from '@mariozechner/pi-ai';\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.\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()` function returning `AssistantMessageEventStream`\n- `streamSimple()` 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","readmeFilename":"README.md"}