{"_id":"@terreno/ai","_rev":"76-a2bd88c93a45b52a80e91a14cf68421a","name":"@terreno/ai","dist-tags":{"beta":"57.0.0-beta.1","latest":"57.8.0"},"versions":{"0.3.2":{"name":"@terreno/ai","version":"0.3.2","keywords":["ai","gpt","mongoose","express"],"author":{"name":"Josh Gachnang"},"license":"Apache-2.0","_id":"@terreno/ai@0.3.2","maintainers":[{"name":"servercobra","email":"josh@nang.io"}],"homepage":"https://github.com/FlourishHealth/terreno#readme","bugs":{"url":"https://github.com/FlourishHealth/terreno/issues"},"dist":{"shasum":"0b5d575850e8ab229bf028aad6c2fa8b8e618218","tarball":"https://registry.npmjs.org/@terreno/ai/-/ai-0.3.2.tgz","fileCount":81,"integrity":"sha512-ONoYUrw1Os1moUwsLnWPPZ7ToK266k2i0SB1V1ejKcn0HxO6RGzDAwcac0oEzVBM/CwnnwZdgD7AKw8ljsvs/Q==","signatures":[{"sig":"MEYCIQCaxG2MAy5bDUS2RKysPTvR9uOUcmJ9z5FWgaLG+nVVcgIhAPy2BHU56jMg8BC7mVv2JRZqtRAeoIvYxJ03w3H5XAKT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":354526},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"dev":"bun tsc -w","lint":"biome check ./src","test":"bun test --preload ./src/tests/bunSetup.ts","compile":"bun tsc","test:ci":"bun test --preload ./src/tests/bunSetup.ts","lint:fix":"biome check --write ./src","lint:unsafefix":"biome check --fix --unsafe ./src"},"_npmUser":{"name":"servercobra","email":"josh@nang.io"},"repository":{"url":"git+ssh://git@github.com/FlourishHealth/terreno.git","type":"git"},"_npmVersion":"10.9.4","description":"AI service layer for Terreno apps - GPT chat, request logging, and admin tools.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ai":"^6.0.97","multer":"^1.4.5-lts.1","@ai-sdk/mcp":"^1.0.21","@terreno/api":"0.3.2","@google-cloud/storage":"^7.15.0"},"_hasShrinkwrap":false,"devDependencies":{"winston":"^3.18.3","supertest":"^7.0.0","@types/bun":"^1.2.4","typescript":"5.8.2","@types/multer":"^1.4.12","@biomejs/biome":"^2.3.6","@types/express":"^4.17.21","@types/supertest":"^6.0.2","passport-local-mongoose":"^9.0.1","@types/passport-local-mongoose":"^6.1.5"},"peerDependencies":{"mongoose":"^8.0.0","@terreno/api":"0.3.2"},"_npmOperationalInternal":{"tmp":"tmp/ai_0.3.2_1772255751088_0.3799216627895641","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"@terreno/ai","version":"0.4.2","keywords":["ai","gpt","mongoose","express"],"author":{"name":"Josh Gachnang"},"license":"Apache-2.0","_id":"@terreno/ai@0.4.2","maintainers":[{"name":"servercobra","email":"josh@nang.io"}],"homepage":"https://github.com/FlourishHealth/terreno#readme","bugs":{"url":"https://github.com/FlourishHealth/terreno/issues"},"dist":{"shasum":"269bdfd3e00546445a46e5d9fab7de49a43051c9","tarball":"https://registry.npmjs.org/@terreno/ai/-/ai-0.4.2.tgz","fileCount":91,"integrity":"sha512-ZveIXka0sKjb6eIlQRc4aAGC0TNkchplHjge4LXRQOlxTRby8o1DEEAu+wQbFQfhR5BrZKXGSHmDhSATMIrPqw==","signatures":[{"sig":"MEUCIQCOFAokyKeINL2Lnb4h08y1jpJvdiXKyi/wdwc3u4t0JgIgKYnWag6h4IdOaCuetkwPrnhzwblTTg1iY1jEr/iZio4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":402313},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"ef11e0ce6c9a8688e8bc055ddeb0d222de5beec5","scripts":{"dev":"bun tsc -w","lint":"biome check ./src","test":"bun test --preload ./src/tests/bunSetup.ts","compile":"bun tsc","test:ci":"bun test --preload ./src/tests/bunSetup.ts","lint:fix":"biome check --write ./src","lint:unsafefix":"biome check --fix --unsafe ./src"},"_npmUser":{"name":"servercobra","email":"josh@nang.io"},"repository":{"url":"git+ssh://git@github.com/FlourishHealth/terreno.git","type":"git"},"_npmVersion":"10.9.4","description":"AI service layer for Terreno apps - GPT chat, request logging, and admin tools.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ai":"^6.0.97","multer":"^1.4.5-lts.1","@ai-sdk/mcp":"^1.0.21","@terreno/api":"0.4.2","@google-cloud/storage":"^7.15.0"},"_hasShrinkwrap":false,"devDependencies":{"winston":"^3.18.3","supertest":"^7.0.0","@types/bun":"^1.2.4","typescript":"5.8.2","@types/multer":"^1.4.12","@biomejs/biome":"^2.3.6","@types/express":"^5.0.6","@types/supertest":"^6.0.2","passport-local-mongoose":"^9.0.1","@types/passport-local-mongoose":"^6.1.5"},"peerDependencies":{"mongoose":"^9.0.0","@terreno/api":"0.4.2"},"_npmOperationalInternal":{"tmp":"tmp/ai_0.4.2_1773285482343_0.8807365131614446","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@terreno/ai","version":"0.5.0","keywords":["ai","gpt","mongoose","express"],"author":{"name":"Josh Gachnang"},"license":"Apache-2.0","_id":"@terreno/ai@0.5.0","maintainers":[{"name":"servercobra","email":"josh@nang.io"}],"homepage":"https://github.com/FlourishHealth/terreno#readme","bugs":{"url":"https://github.com/FlourishHealth/terreno/issues"},"dist":{"shasum":"2beed6498fb7b2696a87ac574aace977b79acc6b","tarball":"https://registry.npmjs.org/@terreno/ai/-/ai-0.5.0.tgz","fileCount":91,"integrity":"sha512-+YskRbaPzh99QEb0Faab7eHEuO4zqT6WAK7f76wL1gJVrzB0Vof49ZAVxfLz3XHa7rY4mBOmeGx6K6Y9bkY3TA==","signatures":[{"sig":"MEQCIB9iqXeBTvNGyTagZClmjg9mQPZvsoH9RLeuQ7fHUJsyAiA1u/w1aDfkgMn4DMWjL8agreAiz3vNQfiVyDXedim/qQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":402313},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"0ceaa1bb2bbb0bacb94ea1211ff84dd7214a1e97","scripts":{"dev":"bun tsc -w","lint":"biome check ./src","test":"bun test --preload ./src/tests/bunSetup.ts","compile":"bun tsc","test:ci":"bun test --preload ./src/tests/bunSetup.ts","lint:fix":"biome check --write ./src","lint:unsafefix":"biome check --fix --unsafe ./src"},"_npmUser":{"name":"servercobra","email":"josh@nang.io"},"repository":{"url":"git+ssh://git@github.com/FlourishHealth/terreno.git","type":"git"},"_npmVersion":"10.9.4","description":"AI service layer for Terreno apps - GPT chat, request logging, and admin tools.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ai":"^6.0.97","multer":"^1.4.5-lts.1","@ai-sdk/mcp":"^1.0.21","@terreno/api":"0.5.0","@google-cloud/storage":"^7.15.0"},"_hasShrinkwrap":false,"devDependencies":{"winston":"^3.18.3","supertest":"^7.0.0","@types/bun":"^1.2.4","typescript":"5.8.2","@types/multer":"^1.4.12","@biomejs/biome":"^2.3.6","@types/express":"^5.0.6","@types/supertest":"^6.0.2","passport-local-mongoose":"^9.0.1","@types/passport-local-mongoose":"^6.1.5"},"peerDependencies":{"mongoose":"^9.0.0","@terreno/api":"0.5.0"},"_npmOperationalInternal":{"tmp":"tmp/ai_0.5.0_1773346909602_0.16138565581646902","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@terreno/ai","version":"0.6.0","keywords":["ai","gpt","mongoose","express"],"author":{"name":"Josh Gachnang"},"license":"Apache-2.0","_id":"@terreno/ai@0.6.0","maintainers":[{"name":"servercobra","email":"josh@nang.io"}],"homepage":"https://github.com/FlourishHealth/terreno#readme","bugs":{"url":"https://github.com/FlourishHealth/terreno/issues"},"dist":{"shasum":"579846875e656209607509fa9897e2d6972ec642","tarball":"https://registry.npmjs.org/@terreno/ai/-/ai-0.6.0.tgz","fileCount":91,"integrity":"sha512-/CMrNUboN4pJDfWSlXKWaaFZ878XZ91fZpOlQqYwKqxkPPqInLBeJuDJTYYm+NTKG5Y0VlQ0sbAkLJpbFXHMFw==","signatures":[{"sig":"MEYCIQChO1ueAc1RM8NZEwSmILO5FIXRcpSbzSQXwpky0mQvVwIhAIRqK3VEq2ZTB5Mnf/lM6JSq/bv9MEhvRK3/1YJDLNBm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":402404},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"d6b33917d44b72b6a6bb310da65ccbf74214df3e","scripts":{"dev":"bun tsc -w","lint":"biome check ./src","test":"bun test --preload ./src/tests/bunSetup.ts","compile":"bun tsc","test:ci":"bun test --preload ./src/tests/bunSetup.ts","lint:fix":"biome check --write ./src","lint:unsafefix":"biome check --fix --unsafe ./src"},"_npmUser":{"name":"servercobra","email":"josh@nang.io"},"repository":{"url":"git+ssh://git@github.com/FlourishHealth/terreno.git","type":"git"},"_npmVersion":"10.9.4","description":"AI service layer for Terreno apps - GPT chat, request logging, and admin tools.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"ai":"^6.0.97","multer":"^1.4.5-lts.1","@ai-sdk/mcp":"^1.0.21","@terreno/api":"0.6.0","@google-cloud/storage":"^7.15.0"},"_hasShrinkwrap":false,"devDependencies":{"winston":"^3.18.3","supertest":"^7.0.0","@types/bun":"^1.2.4","typescript":"5.8.2","@types/multer":"^1.4.12","@biomejs/biome":"^2.3.6","@types/express":"^5.0.6","@types/supertest":"^6.0.2","passport-local-mongoose":"^9.0.1","@types/passport-local-mongoose":"^6.1.5"},"peerDependencies":{"mongoose":"^8.0.0","@terreno/api":"0.6.0"},"_npmOperationalInternal":{"tmp":"tmp/ai_0.6.0_1773411132021_0.5863098610806885","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@terreno/ai","version":"0.7.0","keywords":["ai","gpt","mongoose","express"],"author":{"name":"Josh Gachnang"},"license":"Apache-2.0","_id":"@terreno/ai@0.7.0","maintainers":[{"name":"servercobra","email":"josh@nang.io"}],"homepage":"https://github.com/FlourishHealth/terreno#readme","bugs":{"url":"https://github.com/FlourishHealth/terreno/issues"},"dist":{"shasum":"e896918c2f7bcfad6fe5667ab2fad35a0fff7c5f","tarball":"https://registry.npmjs.org/@terreno/ai/-/ai-0.7.0.tgz","fileCount":118,"integrity":"sha512-drTPDRwFOm8IMoTQQ7YX3fmBxiwv/k12MoejgrjVnRAyHvxcLqXG3GZveMU1H1/EdnIKZKwGb5S4eQ1pZtgIyQ==","signatures":[{"sig":"MEQCIGMycTME80FdwtYs/LaSzmWNlESw6gyWEsDpBFg8+pe4AiBsp6TCtavJQRQe7pc+4JBgeF+a7PXbjI0uHO/nht6XaA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":427441},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"6227acc1cc230acc5d596f904209b1baf21dad71","scripts":{"dev":"bun tsc -w","lint":"biome check ./src","test":"bun test --preload ./src/tests/bunSetup.ts","compile":"bun tsc","test:ci":"bun test --preload ./src/tests/bunSetup.ts","lint:fix":"biome check --write ./src","compile:watch":"bun tsc -w","lint:unsafefix":"biome check --fix --unsafe ./src"},"_npmUser":{"name":"servercobra","email":"josh@nang.io"},"repository":{"url":"git+ssh://git@github.com/FlourishHealth/terreno.git","type":"git"},"_npmVersion":"10.9.4","description":"AI service layer for Terreno apps - GPT chat, request logging, and admin tools.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"ai":"^6.0.97","multer":"^1.4.5-lts.1","langfuse":"^3.38.6","@ai-sdk/mcp":"^1.0.21","@terreno/api":"0.7.0","langfuse-core":"^3.38.6","@langfuse/otel":"^4.6.1","@opentelemetry/api":"^1.9.0","@google-cloud/storage":"^7.15.0","@opentelemetry/sdk-node":"^0.213.0"},"_hasShrinkwrap":false,"devDependencies":{"winston":"^3.18.3","supertest":"^7.0.0","@types/bun":"^1.2.4","typescript":"5.8.2","@types/luxon":"^3.7.1","@types/multer":"^1.4.12","@biomejs/biome":"^2.3.6","@types/express":"^5.0.6","@types/supertest":"^6.0.2","passport-local-mongoose":"^9.0.1","@types/passport-local-mongoose":"^6.1.5"},"peerDependencies":{"mongoose":"^8.0.0","@terreno/api":"0.7.0"},"_npmOperationalInternal":{"tmp":"tmp/ai_0.7.0_1773756469275_0.5420571776002001","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"@terreno/ai","version":"0.7.1","keywords":["ai","gpt","mongoose","express"],"author":{"name":"Josh Gachnang"},"license":"Apache-2.0","_id":"@terreno/ai@0.7.1","maintainers":[{"name":"servercobra","email":"josh@nang.io"}],"homepage":"https://github.com/FlourishHealth/terreno#readme","bugs":{"url":"https://github.com/FlourishHealth/terreno/issues"},"dist":{"shasum":"4b1a7958952231bd0b7f796cf440e5e95de02384","tarball":"https://registry.npmjs.org/@terreno/ai/-/ai-0.7.1.tgz","fileCount":118,"integrity":"sha512-vbLNVW15GJUYPYE8sHa88bM0k8o50KBcmuP/YbYd/iZNetoj/APrbSr3I0DKGcR6HPx/EMIYERUfsjZ+cPLX4g==","signatures":[{"sig":"MEUCIQCm5fkTVfCGgyadlV4aU2C1MQdCF9tIJbPaAnrKsPVXJgIgPmG6FC8YdKz9jn7FFr3jsI8O9MFXEIJCRoUIlS4TRrc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":427441},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"a5c9a88fc4dd398087e64fab145bd9f0845b7cbb","scripts":{"dev":"bun tsc -w","lint":"biome check ./src","test":"bun test --preload ./src/tests/bunSetup.ts","compile":"bun tsc","test:ci":"bun test --preload ./src/tests/bunSetup.ts","lint:fix":"biome check --write ./src","compile:watch":"bun tsc -w","lint:unsafefix":"biome check --fix --unsafe ./src"},"_npmUser":{"name":"servercobra","email":"josh@nang.io"},"repository":{"url":"git+ssh://git@github.com/FlourishHealth/terreno.git","type":"git"},"_npmVersion":"10.9.4","description":"AI service layer for Terreno apps - GPT chat, request logging, and admin tools.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"ai":"^6.0.97","multer":"^1.4.5-lts.1","langfuse":"^3.38.6","@ai-sdk/mcp":"^1.0.21","@terreno/api":"0.7.1","langfuse-core":"^3.38.6","@langfuse/otel":"^4.6.1","@opentelemetry/api":"^1.9.0","@google-cloud/storage":"^7.15.0","@opentelemetry/sdk-node":"^0.213.0"},"_hasShrinkwrap":false,"devDependencies":{"winston":"^3.18.3","supertest":"^7.0.0","@types/bun":"^1.2.4","typescript":"5.8.2","@types/luxon":"^3.7.1","@types/multer":"^1.4.12","@biomejs/biome":"^2.3.6","@types/express":"^5.0.6","@types/supertest":"^6.0.2","passport-local-mongoose":"^9.0.1","@types/passport-local-mongoose":"^6.1.5"},"peerDependencies":{"mongoose":"^8.0.0","@terreno/api":"0.7.1"},"_npmOperationalInternal":{"tmp":"tmp/ai_0.7.1_1774560459455_0.25993824937108534","host":"s3://npm-registry-packages-npm-production"}},"0.7.2":{"name":"@terreno/ai","version":"0.7.2","keywords":["ai","gpt","mongoose","express"],"author":{"name":"Josh Gachnang"},"license":"Apache-2.0","_id":"@terreno/ai@0.7.2","maintainers":[{"name":"servercobra","email":"josh@nang.io"}],"homepage":"https://github.com/FlourishHealth/terreno#readme","bugs":{"url":"https://github.com/FlourishHealth/terreno/issues"},"dist":{"shasum":"fb561fbce20162e8859430076a2e8bb2dd81e116","tarball":"https://registry.npmjs.org/@terreno/ai/-/ai-0.7.2.tgz","fileCount":118,"integrity":"sha512-eKCmEbH3NVnjXyDYA6YDeeSjaY4RDHY6XQ1N/DkgOGF0bGD/web7XX92yCrC8csARJZPx3wdCuo4zkREFYsXBA==","signatures":[{"sig":"MEYCIQDIHekWBXQiZvqFgNNjZsVxSipb4uGflcNirgjEfsVFYQIhAL0ajEfSVZekkiKmnp9ySuqUABO/jXp5ZiuGUueKMtYe","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":427441},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"d29067cf59b9042ed4793c568bf76369e8cc9106","scripts":{"dev":"bun tsc -w","lint":"biome check ./src","test":"bun test --preload ./src/tests/bunSetup.ts","compile":"bun tsc","test:ci":"bun test --preload ./src/tests/bunSetup.ts","lint:fix":"biome check --write ./src","compile:watch":"bun tsc -w","lint:unsafefix":"biome check --fix --unsafe ./src"},"_npmUser":{"name":"servercobra","email":"josh@nang.io"},"repository":{"url":"git+ssh://git@github.com/FlourishHealth/terreno.git","type":"git"},"_npmVersion":"10.9.4","description":"AI service layer for Terreno apps - GPT chat, request logging, and admin tools.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"ai":"^6.0.97","multer":"^1.4.5-lts.1","langfuse":"^3.38.6","@ai-sdk/mcp":"^1.0.21","@terreno/api":"0.7.2","langfuse-core":"^3.38.6","@langfuse/otel":"^4.6.1","@opentelemetry/api":"^1.9.0","@google-cloud/storage":"^7.15.0","@opentelemetry/sdk-node":"^0.213.0"},"_hasShrinkwrap":false,"devDependencies":{"winston":"^3.18.3","supertest":"^7.0.0","@types/bun":"^1.2.4","typescript":"5.8.2","@types/luxon":"^3.7.1","@types/multer":"^1.4.12","@biomejs/biome":"^2.3.6","@types/express":"^5.0.6","@types/supertest":"^6.0.2","passport-local-mongoose":"^9.0.1","@types/passport-local-mongoose":"^6.1.5"},"peerDependencies":{"mongoose":"^8.0.0","@terreno/api":"0.7.2"},"_npmOperationalInternal":{"tmp":"tmp/ai_0.7.2_1774581401459_0.010082242318635748","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@terreno/ai","version":"0.8.0","keywords":["ai","gpt","mongoose","express"],"author":{"name":"Josh Gachnang"},"license":"Apache-2.0","_id":"@terreno/ai@0.8.0","maintainers":[{"name":"servercobra","email":"josh@nang.io"}],"homepage":"https://github.com/FlourishHealth/terreno#readme","bugs":{"url":"https://github.com/FlourishHealth/terreno/issues"},"dist":{"shasum":"fcb7cc293c532d759ee2984abe275ae28031d722","tarball":"https://registry.npmjs.org/@terreno/ai/-/ai-0.8.0.tgz","fileCount":118,"integrity":"sha512-SUggJSHTmofuGteFW3CiTYwF+ei6/scEtb7z3Bsaffv8MN2lAsP7Q8Sd1C/GY0/4mAtUyGvRhmvBFg4+FJkCIQ==","signatures":[{"sig":"MEYCIQCUd0BGVPh/mvWUXXa1HFL/+C2j1d3qjW74zJspcaVNsAIhAI9IAPtVWOjJDFBKmh47/ncM2r9G+4zAkZ1YBUeNpLh+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":425311},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"4240eb2d4d3f70182a0893fe6596b1b05a9c9170","scripts":{"dev":"bun tsc -w","lint":"biome check ./src","test":"bun test --preload ./src/tests/bunSetup.ts","compile":"bun tsc","test:ci":"bun test --preload ./src/tests/bunSetup.ts","lint:fix":"biome check --write ./src","compile:watch":"bun tsc -w","lint:unsafefix":"biome check --fix --unsafe ./src"},"_npmUser":{"name":"servercobra","email":"josh@nang.io"},"repository":{"url":"git+ssh://git@github.com/FlourishHealth/terreno.git","type":"git"},"_npmVersion":"10.9.4","description":"AI service layer for Terreno apps - GPT chat, request logging, and admin tools.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"ai":"^6.0.97","multer":"^1.4.5-lts.1","@ai-sdk/mcp":"^1.0.21","@terreno/api":"0.8.0","@langfuse/otel":"^5.0.1","@langfuse/client":"^5.0.1","@opentelemetry/api":"^1.9.0","@google-cloud/storage":"^7.15.0","@opentelemetry/sdk-node":"^0.213.0"},"_hasShrinkwrap":false,"devDependencies":{"winston":"^3.18.3","supertest":"^7.0.0","@types/bun":"^1.2.4","typescript":"5.8.2","@types/luxon":"^3.7.1","@types/multer":"^1.4.12","@biomejs/biome":"^2.3.6","@types/express":"^5.0.6","@types/supertest":"^6.0.2","passport-local-mongoose":"^9.0.1","@types/passport-local-mongoose":"^6.1.5"},"peerDependencies":{"mongoose":"^8.0.0","@terreno/api":"0.8.0"},"_npmOperationalInternal":{"tmp":"tmp/ai_0.8.0_1774988028991_0.7686911498420148","host":"s3://npm-registry-packages-npm-production"}},"0.8.1":{"name":"@terreno/ai","version":"0.8.1","keywords":["ai","gpt","mongoose","express"],"author":{"name":"Josh Gachnang"},"license":"Apache-2.0","_id":"@terreno/ai@0.8.1","maintainers":[{"name":"servercobra","email":"josh@nang.io"}],"homepage":"https://github.com/FlourishHealth/terreno#readme","bugs":{"url":"https://github.com/FlourishHealth/terreno/issues"},"dist":{"shasum":"cd761ed3236001fa9f529f771b083124c13dbd73","tarball":"https://registry.npmjs.org/@terreno/ai/-/ai-0.8.1.tgz","fileCount":118,"integrity":"sha512-/4mMRHpPaievRnyWl4eADgpA6Hg9pfUoFh5aQr4t+GTYV0gWhjgBCASoUJiyXdO+a6YFgMcoH5Cy/KJsfNyq/w==","signatures":[{"sig":"MEUCIH2HvdgVaMg6fcbJ/AKDClUtHBMFBBxsEeKVX2eKHUeDAiEAwUuTSJp/0+N1eMqjfWZRGwFd4A/BlSCVWYCP+0sa6I0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":425311},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"e59b09d19b972d6dbed2023db677bb296432c23a","scripts":{"dev":"bun tsc -w","lint":"biome check ./src","test":"bun test --preload ./src/tests/bunSetup.ts","compile":"bun tsc","test:ci":"bun test --preload ./src/tests/bunSetup.ts","lint:fix":"biome check --write ./src","compile:watch":"bun tsc -w","lint:unsafefix":"biome check --fix --unsafe ./src"},"_npmUser":{"name":"servercobra","email":"josh@nang.io"},"repository":{"url":"git+ssh://git@github.com/FlourishHealth/terreno.git","type":"git"},"_npmVersion":"10.9.4","description":"AI service layer for Terreno apps - GPT chat, request logging, and admin tools.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"ai":"^6.0.97","multer":"^1.4.5-lts.1","@ai-sdk/mcp":"^1.0.21","@terreno/api":"0.8.1","@langfuse/otel":"^5.0.1","@langfuse/client":"^5.0.1","@opentelemetry/api":"^1.9.0","@google-cloud/storage":"^7.15.0","@opentelemetry/sdk-node":"^0.213.0"},"_hasShrinkwrap":false,"devDependencies":{"winston":"^3.18.3","supertest":"^7.0.0","@types/bun":"^1.2.4","typescript":"5.8.2","@types/luxon":"^3.7.1","@types/multer":"^1.4.12","@biomejs/biome":"^2.3.6","@types/express":"^5.0.6","@types/supertest":"^6.0.2","passport-local-mongoose":"^9.0.1","@types/passport-local-mongoose":"^6.1.5"},"peerDependencies":{"mongoose":"^8.0.0","@terreno/api":"0.8.1"},"_npmOperationalInternal":{"tmp":"tmp/ai_0.8.1_1775077756666_0.6793986029989947","host":"s3://npm-registry-packages-npm-production"}},"0.8.2":{"name":"@terreno/ai","version":"0.8.2","keywords":["ai","gpt","mongoose","express"],"author":{"name":"Josh Gachnang"},"license":"Apache-2.0","_id":"@terreno/ai@0.8.2","maintainers":[{"name":"servercobra","email":"josh@nang.io"}],"homepage":"https://github.com/FlourishHealth/terreno#readme","bugs":{"url":"https://github.com/FlourishHealth/terreno/issues"},"dist":{"shasum":"d8b2a247dcba38cef9ed6dc19160919ca740b681","tarball":"https://registry.npmjs.org/@terreno/ai/-/ai-0.8.2.tgz","fileCount":118,"integrity":"sha512-yNy0uqTgkwFwNxd2VzxcCOpFhzpIgyo6SnGMrGXymPNZA6uGUQgwvb7T1tMzAIH8caUeQe9zw18qcfpDD6TqpQ==","signatures":[{"sig":"MEUCIBuy3N+tZRAz7kmGH/ndo4QH124fk7pGigPCHmt4vGflAiEA16ANjq9XRVNbnJr5n2FVxyNOu+LR+houFEO2DqwEsU4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":425311},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"68035f72e3f025762756221c9b370687206a46c2","scripts":{"dev":"bun tsc -w","lint":"biome check ./src","test":"bun test --preload ./src/tests/bunSetup.ts","compile":"bun tsc","test:ci":"bun test --preload ./src/tests/bunSetup.ts","lint:fix":"biome check --write ./src","compile:watch":"bun tsc -w","lint:unsafefix":"biome check --fix --unsafe ./src"},"_npmUser":{"name":"servercobra","email":"josh@nang.io"},"repository":{"url":"git+ssh://git@github.com/FlourishHealth/terreno.git","type":"git"},"_npmVersion":"10.9.4","description":"AI service layer for Terreno apps - GPT chat, request logging, and admin tools.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"ai":"^6.0.97","multer":"^1.4.5-lts.1","@ai-sdk/mcp":"^1.0.21","@terreno/api":"0.8.2","@langfuse/otel":"^5.0.1","@langfuse/client":"^5.0.1","@opentelemetry/api":"^1.9.0","@google-cloud/storage":"^7.15.0","@opentelemetry/sdk-node":"^0.213.0"},"_hasShrinkwrap":false,"devDependencies":{"winston":"^3.18.3","supertest":"^7.0.0","@types/bun":"^1.2.4","typescript":"5.8.2","@types/luxon":"^3.7.1","@types/multer":"^1.4.12","@biomejs/biome":"^2.3.6","@types/express":"^5.0.6","@types/supertest":"^6.0.2","passport-local-mongoose":"^9.0.1","@types/passport-local-mongoose":"^6.1.5"},"peerDependencies":{"mongoose":"^8.0.0","@terreno/api":"0.8.2"},"_npmOperationalInternal":{"tmp":"tmp/ai_0.8.2_1775079970832_0.8272501652446762","host":"s3://npm-registry-packages-npm-production"}},"0.8.3":{"name":"@terreno/ai","version":"0.8.3","keywords":["ai","gpt","mongoose","express"],"author":{"name":"Josh Gachnang"},"license":"Apache-2.0","_id":"@terreno/ai@0.8.3","maintainers":[{"name":"servercobra","email":"josh@nang.io"}],"homepage":"https://github.com/FlourishHealth/terreno#readme","bugs":{"url":"https://github.com/FlourishHealth/terreno/issues"},"dist":{"shasum":"3d936eba1065e80df986b1045424c551d3e1a799","tarball":"https://registry.npmjs.org/@terreno/ai/-/ai-0.8.3.tgz","fileCount":118,"integrity":"sha512-wFSvOfsswviiKreAcEjgKN0glxrGHiPkf0SCIR1GBRrhiaf19UafA6LRJRuDPTzbh3TwLzlcTghes+CiPmclcQ==","signatures":[{"sig":"MEQCIFkh4neSkTTbtw1KK/nNVYrqtRHLKQt9/jlJ7BEoELtjAiAIWJaVdEdXjg1zcmmt9wgytcOBbYtbpa3G/1/3KgZXSA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":425311},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"36eee10f74d5d5157e075adf4bcb8164447d32ad","scripts":{"dev":"bun tsc -w","lint":"biome check ./src","test":"bun test --preload ./src/tests/bunSetup.ts","compile":"bun tsc","test:ci":"bun test --preload ./src/tests/bunSetup.ts","lint:fix":"biome check --write ./src","compile:watch":"bun tsc -w","lint:unsafefix":"biome check --fix --unsafe ./src"},"_npmUser":{"name":"servercobra","email":"josh@nang.io"},"repository":{"url":"git+ssh://git@github.com/FlourishHealth/terreno.git","type":"git"},"_npmVersion":"10.9.7","description":"AI service layer for Terreno apps - GPT chat, request logging, and admin tools.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"ai":"^6.0.97","multer":"^1.4.5-lts.1","@ai-sdk/mcp":"^1.0.21","@terreno/api":"0.8.3","@langfuse/otel":"^5.0.1","@langfuse/client":"^5.0.1","@opentelemetry/api":"^1.9.0","@google-cloud/storage":"^7.15.0","@opentelemetry/sdk-node":"^0.213.0"},"_hasShrinkwrap":false,"devDependencies":{"winston":"^3.18.3","supertest":"^7.0.0","@types/bun":"^1.2.4","typescript":"5.8.2","@types/luxon":"^3.7.1","@types/multer":"^1.4.12","@biomejs/biome":"^2.3.6","@types/express":"^5.0.6","@types/supertest":"^6.0.2","passport-local-mongoose":"^9.0.1","@types/passport-local-mongoose":"^6.1.5"},"peerDependencies":{"mongoose":"^8.0.0","@terreno/api":"0.8.3"},"_npmOperationalInternal":{"tmp":"tmp/ai_0.8.3_1775145113700_0.2696179490807282","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"@terreno/ai","version":"0.9.0","keywords":["ai","gpt","mongoose","express"],"author":{"name":"Josh Gachnang"},"license":"Apache-2.0","_id":"@terreno/ai@0.9.0","maintainers":[{"name":"servercobra","email":"josh@nang.io"}],"homepage":"https://github.com/FlourishHealth/terreno#readme","bugs":{"url":"https://github.com/FlourishHealth/terreno/issues"},"dist":{"shasum":"0969f85e232ec23be83f3b0bf7a535ba0fb10960","tarball":"https://registry.npmjs.org/@terreno/ai/-/ai-0.9.0.tgz","fileCount":118,"integrity":"sha512-a5uxJysXhkrFoNR9Bc1xdAclN1bSVTpbh8Fo21VubU4ieLYrzjCS6z8dYoSKso8PHIpW+YUwhz2a0ntEF8TLcg==","signatures":[{"sig":"MEUCIQCJajZGlMjbs0+ZUMLrCDkbSnInjCZFs1bF6YIG7NuE+wIgPZCJqY9P2ew2k2AQDNvjs5aG1R6tQ9IQWHIwHcDFqV0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":425311},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"d5ef0f1f4981d9b246213203d5e6884409c4f5bf","scripts":{"dev":"bun tsc -w","lint":"biome check ./src","test":"bun test --preload ./src/tests/bunSetup.ts","compile":"bun tsc","test:ci":"bun test --preload ./src/tests/bunSetup.ts","lint:fix":"biome check --write ./src","compile:watch":"bun tsc -w","lint:unsafefix":"biome check --fix --unsafe ./src"},"_npmUser":{"name":"servercobra","email":"josh@nang.io"},"repository":{"url":"git+ssh://git@github.com/FlourishHealth/terreno.git","type":"git"},"_npmVersion":"10.9.4","description":"AI service layer for Terreno apps - GPT chat, request logging, and admin tools.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"ai":"^6.0.97","multer":"^1.4.5-lts.1","@ai-sdk/mcp":"^1.0.21","@terreno/api":"0.9.0","@langfuse/otel":"^5.0.1","@langfuse/client":"^5.0.1","@opentelemetry/api":"^1.9.0","@google-cloud/storage":"^7.15.0","@opentelemetry/sdk-node":"^0.213.0"},"_hasShrinkwrap":false,"devDependencies":{"winston":"^3.18.3","supertest":"^7.0.0","@types/bun":"^1.2.4","typescript":"5.8.2","@types/luxon":"^3.7.1","@types/multer":"^1.4.12","@biomejs/biome":"^2.3.6","@types/express":"^5.0.6","@types/supertest":"^6.0.2","passport-local-mongoose":"^9.0.1","@types/passport-local-mongoose":"^6.1.5"},"peerDependencies":{"mongoose":"^8.0.0","@terreno/api":"0.9.0"},"_npmOperationalInternal":{"tmp":"tmp/ai_0.9.0_1775158568806_0.6371343806199119","host":"s3://npm-registry-packages-npm-production"}},"0.9.1":{"name":"@terreno/ai","version":"0.9.1","keywords":["ai","gpt","mongoose","express"],"author":{"name":"Josh Gachnang"},"license":"Apache-2.0","_id":"@terreno/ai@0.9.1","maintainers":[{"name":"servercobra","email":"josh@nang.io"}],"homepage":"https://github.com/FlourishHealth/terreno#readme","bugs":{"url":"https://github.com/FlourishHealth/terreno/issues"},"dist":{"shasum":"db2d260518b94d1323814658c4d238413a10a9c4","tarball":"https://registry.npmjs.org/@terreno/ai/-/ai-0.9.1.tgz","fileCount":118,"integrity":"sha512-y9zcSb6U8B8UaZ+zzy2lkafAQ2Vv2uPgeldxU8uaEY4R2qq6rAmJanxoi8fUvrdvGpKGlDeKd94q4/H55qIcow==","signatures":[{"sig":"MEUCIQCjDWm8V05jrPeVMtn78MUuo0HgcULokiUi9Upm2iOmaAIgTZDZV8gJNfSUDp8U5K0Z3qGRbt5m8PT75PH1XAGahBI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":425311},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"8833edb584caa0e29966bf0679b4395a2ae73bea","scripts":{"dev":"bun tsc -w","lint":"biome check ./src","test":"bun test --preload ./src/tests/bunSetup.ts","compile":"bun tsc","test:ci":"bun test --preload ./src/tests/bunSetup.ts","lint:fix":"biome check --write ./src","compile:watch":"bun tsc -w","lint:unsafefix":"biome check --fix --unsafe ./src"},"_npmUser":{"name":"servercobra","email":"josh@nang.io"},"repository":{"url":"git+ssh://git@github.com/FlourishHealth/terreno.git","type":"git"},"_npmVersion":"10.9.7","description":"AI service layer for Terreno apps - GPT chat, request logging, and admin tools.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"ai":"^6.0.97","multer":"^1.4.5-lts.1","@ai-sdk/mcp":"^1.0.21","@terreno/api":"0.9.1","@langfuse/otel":"^5.0.1","@langfuse/client":"^5.0.1","@opentelemetry/api":"^1.9.0","@google-cloud/storage":"^7.15.0","@opentelemetry/sdk-node":"^0.213.0"},"_hasShrinkwrap":false,"devDependencies":{"winston":"^3.18.3","supertest":"^7.0.0","@types/bun":"^1.2.4","typescript":"5.8.2","@types/luxon":"^3.7.1","@types/multer":"^1.4.12","@biomejs/biome":"^2.3.6","@types/express":"^5.0.6","@types/supertest":"^6.0.2","passport-local-mongoose":"^9.0.1","@types/passport-local-mongoose":"^6.1.5"},"peerDependencies":{"mongoose":"^8.0.0","@terreno/api":"0.9.1"},"_npmOperationalInternal":{"tmp":"tmp/ai_0.9.1_1775770138982_0.2091228982593596","host":"s3://npm-registry-packages-npm-production"}},"0.9.2":{"name":"@terreno/ai","version":"0.9.2","keywords":["ai","gpt","mongoose","express"],"author":{"name":"Josh Gachnang"},"license":"Apache-2.0","_id":"@terreno/ai@0.9.2","maintainers":[{"name":"ashflourishing","email":"ashutosh@flourish.health"},{"name":"servercobra","email":"josh@nang.io"}],"homepage":"https://github.com/FlourishHealth/terreno#readme","bugs":{"url":"https://github.com/FlourishHealth/terreno/issues"},"dist":{"shasum":"6d355b4581a5a13a9c5657f75d3fd3654eeb0723","tarball":"https://registry.npmjs.org/@terreno/ai/-/ai-0.9.2.tgz","fileCount":118,"integrity":"sha512-zIcflMnKKmkOOIlu+AE0HlKCcvT9Wwq9YXfpv1Qo4uPBAOw9ncpqSJVQFBBj7buYxVwPE55xdgLETPozonrQTQ==","signatures":[{"sig":"MEUCIGkAqX6VgDdgkhQtQV1c/jgwZr1xGtwbSpTzJSo9oavoAiEApuXS932OGVwwuTG+niNjMPiy059C13FG8c3KOb2FBsM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":425311},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"d3c2f81687d3f16ca42d073a0ec665e25b8ece4b","scripts":{"dev":"bun tsc -w","lint":"biome check ./src","test":"bun test --preload ./src/tests/bunSetup.ts","compile":"bun tsc","test:ci":"bun test --preload ./src/tests/bunSetup.ts","lint:fix":"biome check --write ./src","compile:watch":"bun tsc -w","lint:unsafefix":"biome check --fix --unsafe ./src"},"_npmUser":{"name":"servercobra","email":"josh@nang.io"},"repository":{"url":"git+ssh://git@github.com/FlourishHealth/terreno.git","type":"git"},"_npmVersion":"10.9.7","description":"AI service layer for Terreno apps - GPT chat, request logging, and admin tools.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"ai":"^6.0.97","multer":"^1.4.5-lts.1","@ai-sdk/mcp":"^1.0.21","@terreno/api":"0.9.2","@langfuse/otel":"^5.0.1","@langfuse/client":"^5.0.1","@opentelemetry/api":"^1.9.0","@google-cloud/storage":"^7.15.0","@opentelemetry/sdk-node":"^0.213.0"},"_hasShrinkwrap":false,"devDependencies":{"winston":"^3.18.3","supertest":"^7.0.0","@types/bun":"^1.2.4","typescript":"5.8.2","@types/luxon":"^3.7.1","@types/multer":"^1.4.12","@biomejs/biome":"^2.3.6","@types/express":"^5.0.6","@types/supertest":"^6.0.2","passport-local-mongoose":"^9.0.1","@types/passport-local-mongoose":"^6.1.5"},"peerDependencies":{"mongoose":"^8.0.0","@terreno/api":"0.9.2"},"_npmOperationalInternal":{"tmp":"tmp/ai_0.9.2_1775771187752_0.07189971811172868","host":"s3://npm-registry-packages-npm-production"}},"0.9.3":{"name":"@terreno/ai","version":"0.9.3","keywords":["ai","gpt","mongoose","express"],"author":{"name":"Josh Gachnang"},"license":"Apache-2.0","_id":"@terreno/ai@0.9.3","maintainers":[{"name":"ashflourishing","email":"ashutosh@flourish.health"},{"name":"servercobra","email":"josh@nang.io"}],"homepage":"https://github.com/FlourishHealth/terreno#readme","bugs":{"url":"https://github.com/FlourishHealth/terreno/issues"},"dist":{"shasum":"881847637454b68427522fab60999102121fc9f9","tarball":"https://registry.npmjs.org/@terreno/ai/-/ai-0.9.3.tgz","fileCount":119,"integrity":"sha512-zLOW1L4DGN2NqCLXRrUiRiUkdDpbi2EfP7kBq1c/P8PxyLQEMKGwKZxRyTPSNfUzDA1QlUtTuEJY2JxG8vuPlA==","signatures":[{"sig":"MEUCIC8oM50SoU1vjBJ/Qz9AxZN0CTtO5NJJDbf0POwN/+2+AiEAjf0m5eJiQ6zjayhmjWZ/KuKJa+NLi+E2rfuw8FxGHGo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":429927},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"374b5de585ff4095d25ebb5a590ad215f1c59f55","scripts":{"dev":"bun tsc -w","lint":"biome check ./src","test":"bun test --preload ./src/tests/bunSetup.ts","compile":"bun tsc","test:ci":"bun test --preload ./src/tests/bunSetup.ts","lint:fix":"biome check --write ./src","compile:watch":"bun tsc -w","lint:unsafefix":"biome check --fix --unsafe ./src"},"_npmUser":{"name":"servercobra","email":"josh@nang.io"},"repository":{"url":"git+ssh://git@github.com/FlourishHealth/terreno.git","type":"git"},"_npmVersion":"10.9.7","description":"AI service layer for Terreno apps - GPT chat, request logging, and admin tools.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"ai":"^6.0.97","multer":"^1.4.5-lts.1","@ai-sdk/mcp":"^1.0.21","@terreno/api":"0.9.3","@langfuse/otel":"^5.0.1","@langfuse/client":"^5.0.1","@opentelemetry/api":"^1.9.0","@google-cloud/storage":"^7.15.0","@opentelemetry/sdk-node":"^0.213.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"winston":"^3.18.3","supertest":"^7.0.0","@types/bun":"^1.2.4","typescript":"5.8.2","@types/luxon":"^3.7.1","@types/multer":"^1.4.12","@biomejs/biome":"^2.3.6","@types/express":"^5.0.6","@types/supertest":"^6.0.2","passport-local-mongoose":"^9.0.1","@types/passport-local-mongoose":"^6.1.5"},"peerDependencies":{"mongoose":"^8.0.0","@terreno/api":"0.9.3"},"_npmOperationalInternal":{"tmp":"tmp/ai_0.9.3_1775841162126_0.9813005776742172","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"@terreno/ai","version":"0.10.0","keywords":["ai","gpt","mongoose","express"],"author":{"name":"Josh Gachnang"},"license":"Apache-2.0","_id":"@terreno/ai@0.10.0","maintainers":[{"name":"ashflourishing","email":"ashutosh@flourish.health"},{"name":"servercobra","email":"josh@nang.io"}],"homepage":"https://github.com/FlourishHealth/terreno#readme","bugs":{"url":"https://github.com/FlourishHealth/terreno/issues"},"dist":{"shasum":"8592e123e29b24d168185346ca73b9e326e60c35","tarball":"https://registry.npmjs.org/@terreno/ai/-/ai-0.10.0.tgz","fileCount":120,"integrity":"sha512-Ax2U4deWum9FH06l45yU2YjkhtXTa8FIlX08iwLVlreXjddDV+4Ymt3LUlKk/+xo/VQzNR6fw4M14wMDyMY7kw==","signatures":[{"sig":"MEUCIBGQ+IzExzsf9LsPcS4zr2TleZ+JIJW+wsXQGgFXoDzGAiEAtZIODDnw9R2H9FKiGwVjiS1q1P/6wvpT4ZO0c2U8iT0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":433783},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"babe3e37aea738bd8644966d3cf54f8c8f903487","scripts":{"dev":"bun tsc -w","lint":"biome check ./src","test":"bun test --preload ./src/tests/bunSetup.ts","compile":"bun tsc","test:ci":"bun test --preload ./src/tests/bunSetup.ts","lint:fix":"biome check --write ./src","compile:watch":"bun tsc -w","lint:unsafefix":"biome check --fix --unsafe ./src"},"_npmUser":{"name":"servercobra","email":"josh@nang.io"},"repository":{"url":"git+ssh://git@github.com/FlourishHealth/terreno.git","type":"git"},"_npmVersion":"10.9.7","description":"AI service layer for Terreno apps - GPT chat, request logging, and admin tools.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"ai":"^6.0.97","multer":"^1.4.5-lts.1","@ai-sdk/mcp":"^1.0.21","@terreno/api":"0.10.0","@langfuse/otel":"^5.0.1","@langfuse/client":"^5.0.1","@opentelemetry/api":"^1.9.0","@google-cloud/storage":"^7.15.0","@opentelemetry/sdk-node":"^0.213.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"winston":"^3.18.3","supertest":"^7.0.0","@types/bun":"^1.2.4","typescript":"5.8.2","@types/luxon":"^3.7.1","@types/multer":"^1.4.12","@biomejs/biome":"^2.3.6","@types/express":"^5.0.6","@types/supertest":"^6.0.2","passport-local-mongoose":"^9.0.1","@types/passport-local-mongoose":"^6.1.5"},"peerDependencies":{"mongoose":"^8.0.0","@terreno/api":"0.10.0"},"_npmOperationalInternal":{"tmp":"tmp/ai_0.10.0_1776359514963_0.1911928417246862","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"@terreno/ai","version":"0.11.0","keywords":["ai","gpt","mongoose","express"],"author":{"name":"Josh Gachnang"},"license":"Apache-2.0","_id":"@terreno/ai@0.11.0","maintainers":[{"name":"ashflourishing","email":"ashutosh@flourish.health"},{"name":"servercobra","email":"josh@nang.io"}],"homepage":"https://github.com/FlourishHealth/terreno#readme","bugs":{"url":"https://github.com/FlourishHealth/terreno/issues"},"dist":{"shasum":"f03e220ac053efd401eb8608a612cf0bd861d332","tarball":"https://registry.npmjs.org/@terreno/ai/-/ai-0.11.0.tgz","fileCount":130,"integrity":"sha512-7FB/ayxpLxLHac1TJIua0JldNjz3sEBNFzDq3Fj8exZc6JAE/VZm1kDMpBnAXkRjVxWSS+IEM+vrLJhLaQ0IUA==","signatures":[{"sig":"MEUCICa7BGNYLoB9iHzTGh99DS75ji/RHxvsY7VEFyKF6NnPAiEAndnT7xoDW9SBfjUgpEioXZfMyISt5Fi6mFxruLSWTmw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":524052},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"ef5bf1d905f80d54a2909c749759917769537c86","scripts":{"dev":"bun tsc -w","lint":"biome check ./src","test":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","compile":"bun tsc","test:ci":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","lint:fix":"biome check --write ./src","compile:watch":"bun tsc -w","test:coverage":"bun run ../scripts/check-coverage.ts","lint:unsafefix":"biome check --fix --unsafe ./src"},"_npmUser":{"name":"servercobra","email":"josh@nang.io"},"repository":{"url":"git+ssh://git@github.com/FlourishHealth/terreno.git","type":"git"},"_npmVersion":"10.9.7","description":"AI service layer for Terreno apps - GPT chat, request logging, and admin tools.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"ai":"^6.0.97","multer":"^1.4.5-lts.1","@ai-sdk/mcp":"^1.0.21","@terreno/api":"0.11.0","@langfuse/otel":"^5.0.1","@langfuse/client":"^5.0.1","@opentelemetry/api":"^1.9.0","@google-cloud/storage":"^7.15.0","@opentelemetry/sdk-node":"^0.213.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"winston":"^3.18.3","supertest":"^7.0.0","@types/bun":"^1.2.4","typescript":"5.8.2","@types/luxon":"^3.7.1","@types/multer":"^1.4.12","@biomejs/biome":"^2.3.6","@types/express":"^5.0.6","@types/supertest":"^6.0.2","passport-local-mongoose":"^9.0.1","@types/passport-local-mongoose":"^6.1.5"},"peerDependencies":{"mongoose":"^8.0.0","@terreno/api":"0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/ai_0.11.0_1777241430643_0.3238915013025847","host":"s3://npm-registry-packages-npm-production"}},"0.11.1":{"name":"@terreno/ai","version":"0.11.1","keywords":["ai","gpt","mongoose","express"],"author":{"name":"Josh Gachnang"},"license":"Apache-2.0","_id":"@terreno/ai@0.11.1","maintainers":[{"name":"ashflourishing","email":"ashutosh@flourish.health"},{"name":"servercobra","email":"josh@nang.io"}],"homepage":"https://github.com/FlourishHealth/terreno#readme","bugs":{"url":"https://github.com/FlourishHealth/terreno/issues"},"dist":{"shasum":"f9c872c269103ec7fe15f7189835ea9ed775f87c","tarball":"https://registry.npmjs.org/@terreno/ai/-/ai-0.11.1.tgz","fileCount":130,"integrity":"sha512-4MXkRMkchCPWdyEvsGY8pGNSZWsGtg1ND/rsF8/I4cSDXdWFYIajW88Bqtf87yeSlXawelFAjgIxbigZrPkOEQ==","signatures":[{"sig":"MEQCIBZcmKvCBMc9SGVBala0Rx7bmEXfhwMvvoV14E06ZEu3AiBRIi6NUYkPCPjg8OedS2IDdgnMJiRlh7CEo5gmpNsOnw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":524052},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"2f157ca382bd6f979334bcce1b6103bb7a4d844c","scripts":{"dev":"bun tsc -w","lint":"biome check ./src","test":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","compile":"bun tsc","test:ci":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","lint:fix":"biome check --write ./src","compile:watch":"bun tsc -w","test:coverage":"bun run ../scripts/check-coverage.ts","lint:unsafefix":"biome check --fix --unsafe ./src"},"_npmUser":{"name":"servercobra","email":"josh@nang.io"},"repository":{"url":"git+ssh://git@github.com/FlourishHealth/terreno.git","type":"git"},"_npmVersion":"10.9.7","description":"AI service layer for Terreno apps - GPT chat, request logging, and admin tools.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"ai":"^6.0.97","multer":"^1.4.5-lts.1","@ai-sdk/mcp":"^1.0.21","@terreno/api":"0.11.1","@langfuse/otel":"^5.0.1","@langfuse/client":"^5.0.1","@opentelemetry/api":"^1.9.0","@google-cloud/storage":"^7.15.0","@opentelemetry/sdk-node":"^0.213.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"winston":"^3.18.3","supertest":"^7.0.0","@types/bun":"^1.2.4","typescript":"5.8.2","@types/luxon":"^3.7.1","@types/multer":"^1.4.12","@biomejs/biome":"^2.3.6","@types/express":"^5.0.6","@types/supertest":"^6.0.2","passport-local-mongoose":"^9.0.1","@types/passport-local-mongoose":"^6.1.5"},"peerDependencies":{"mongoose":"^8.0.0","@terreno/api":"0.11.1"},"_npmOperationalInternal":{"tmp":"tmp/ai_0.11.1_1777329446075_0.07417773139812889","host":"s3://npm-registry-packages-npm-production"}},"0.11.2":{"name":"@terreno/ai","version":"0.11.2","keywords":["ai","gpt","mongoose","express"],"author":{"name":"Josh Gachnang"},"license":"Apache-2.0","_id":"@terreno/ai@0.11.2","maintainers":[{"name":"ashflourishing","email":"ashutosh@flourish.health"},{"name":"servercobra","email":"josh@nang.io"}],"homepage":"https://github.com/FlourishHealth/terreno#readme","bugs":{"url":"https://github.com/FlourishHealth/terreno/issues"},"dist":{"shasum":"2989b7a6973fd1eba2e77e5828701fabe168fbe3","tarball":"https://registry.npmjs.org/@terreno/ai/-/ai-0.11.2.tgz","fileCount":131,"integrity":"sha512-N9JaLddwztOuUYSNvePLyjpZ5nkJGw39kAWhnBE+akJ/flCqnk9xSn6M7nuPJyyFx8k44ZJE+kHm8Z7EW2UOYA==","signatures":[{"sig":"MEYCIQCez0PLjd6jVn7T4D9DStqCiVznbjauQRATcEhUw2M1CwIhAOoTepDL05o5V2NlPfxt4kff/Qz57pMu3lCDcWUOzL8D","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":526341},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./langfuseApp":{"types":"./dist/langfuseApp.d.ts","default":"./dist/langfuseApp.js"},"./langfuseClient":{"types":"./dist/langfuseClient.d.ts","default":"./dist/langfuseClient.js"}},"gitHead":"db8af2f893e7f552b69ae3648963d2d3f77d8c59","scripts":{"dev":"bun tsc -w","lint":"biome check ./src","test":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","compile":"bun tsc","test:ci":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","lint:fix":"biome check --write ./src","compile:watch":"bun tsc -w","test:coverage":"bun run ../scripts/check-coverage.ts","lint:unsafefix":"biome check --fix --unsafe ./src"},"_npmUser":{"name":"servercobra","email":"josh@nang.io"},"repository":{"url":"git+ssh://git@github.com/FlourishHealth/terreno.git","type":"git"},"_npmVersion":"10.9.7","description":"AI service layer for Terreno apps - GPT chat, request logging, and admin tools.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"ai":"^6.0.97","multer":"^1.4.5-lts.1","@ai-sdk/mcp":"^1.0.21","@terreno/api":"0.11.2","@langfuse/otel":"^5.0.1","@langfuse/client":"^5.0.1","@opentelemetry/api":"^1.9.0","@google-cloud/storage":"^7.15.0","@opentelemetry/sdk-node":"^0.213.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"winston":"^3.18.3","supertest":"^7.0.0","@types/bun":"^1.2.4","typescript":"5.8.2","@types/luxon":"^3.7.1","@types/multer":"^1.4.12","@biomejs/biome":"^2.3.6","@types/express":"^5.0.6","@types/supertest":"^6.0.2","passport-local-mongoose":"^9.0.1","@types/passport-local-mongoose":"^6.1.5"},"peerDependencies":{"mongoose":"^8.0.0","@terreno/api":"0.11.2"},"_npmOperationalInternal":{"tmp":"tmp/ai_0.11.2_1777478507776_0.5861221396904199","host":"s3://npm-registry-packages-npm-production"}},"0.11.3":{"name":"@terreno/ai","version":"0.11.3","keywords":["ai","gpt","mongoose","express"],"author":{"name":"Josh Gachnang"},"license":"Apache-2.0","_id":"@terreno/ai@0.11.3","maintainers":[{"name":"ashflourishing","email":"ashutosh@flourish.health"},{"name":"servercobra","email":"josh@nang.io"}],"homepage":"https://github.com/FlourishHealth/terreno#readme","bugs":{"url":"https://github.com/FlourishHealth/terreno/issues"},"dist":{"shasum":"25a89db3a53a7e3649fd262f78385e471c19163a","tarball":"https://registry.npmjs.org/@terreno/ai/-/ai-0.11.3.tgz","fileCount":130,"integrity":"sha512-ngqhR5fsvzjq+7xRd8yzs9nvXu9tjfZcU5YMucWFaMdrK+RLSt2nfUzq66OAbGdSD7MnRzP7iBsUDiv/BtpxLw==","signatures":[{"sig":"MEYCIQDEfFUjyG6piMoFRD731RNmqGiaV8UW2MdVUAo6jslipQIhAJNWgTHd/PcMwTZI9Kf30yBGAlsm0m4VrBW2vFlH3VQo","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":524530},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.js"},"./langfuseApp":{"types":"./dist/langfuseApp.d.ts","import":"./dist/langfuseApp.js","default":"./dist/langfuseApp.js","require":"./dist/langfuseApp.js"},"./langfuseClient":{"types":"./dist/langfuseClient.d.ts","import":"./dist/langfuseClient.js","default":"./dist/langfuseClient.js","require":"./dist/langfuseClient.js"}},"gitHead":"64795102ff49b7d0fb8134b276ebf81ef76dd460","scripts":{"dev":"bun tsc -w","lint":"biome check ./src","test":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","compile":"bun tsc","test:ci":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","lint:fix":"biome check --write ./src","compile:watch":"bun tsc -w","test:coverage":"bun run ../scripts/check-coverage.ts","lint:unsafefix":"biome check --fix --unsafe ./src"},"_npmUser":{"name":"servercobra","email":"josh@nang.io"},"repository":{"url":"git+ssh://git@github.com/FlourishHealth/terreno.git","type":"git"},"_npmVersion":"10.9.7","description":"AI service layer for Terreno apps - GPT chat, request logging, and admin tools.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"ai":"^6.0.97","multer":"^1.4.5-lts.1","@ai-sdk/mcp":"^1.0.21","@terreno/api":"0.11.3","@langfuse/otel":"^5.0.1","@langfuse/client":"^5.0.1","@opentelemetry/api":"^1.9.0","@google-cloud/storage":"^7.15.0","@opentelemetry/sdk-node":"^0.213.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"winston":"^3.18.3","supertest":"^7.0.0","@types/bun":"^1.2.4","typescript":"5.8.2","@types/luxon":"^3.7.1","@types/multer":"^1.4.12","@biomejs/biome":"^2.3.6","@types/express":"^5.0.6","@types/supertest":"^6.0.2","passport-local-mongoose":"^9.0.1","@types/passport-local-mongoose":"^6.1.5"},"peerDependencies":{"mongoose":"^8.0.0","@terreno/api":"0.11.3"},"_npmOperationalInternal":{"tmp":"tmp/ai_0.11.3_1777481570475_0.9908991622449144","host":"s3://npm-registry-packages-npm-production"}},"0.11.4-beta.2":{"name":"@terreno/ai","version":"0.11.4-beta.2","keywords":["ai","gpt","mongoose","express"],"author":{"name":"Josh Gachnang"},"license":"Apache-2.0","_id":"@terreno/ai@0.11.4-beta.2","maintainers":[{"name":"ashflourishing","email":"ashutosh@flourish.health"},{"name":"servercobra","email":"josh@nang.io"}],"homepage":"https://github.com/FlourishHealth/terreno#readme","bugs":{"url":"https://github.com/FlourishHealth/terreno/issues"},"dist":{"shasum":"37946865b64ba4fdef9c62fd76886ebb17117a14","tarball":"https://registry.npmjs.org/@terreno/ai/-/ai-0.11.4-beta.2.tgz","fileCount":130,"integrity":"sha512-sphPHo01CHyBmVOsQQQM0QrCH4DqcrMdg1gZBQZ1CTWi1QKEqhs3629qJANodFHP1K+V9cG70hGP1h8CFwFjSw==","signatures":[{"sig":"MEUCIHJkhL6X8aY02TxHUXoRDRKYYcX0eFmh674wQ4K733DkAiEAg2iAAcxmb9dDFIB8m30TGekwmFRUdrstxS1pP8RgKAs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":524551},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.js"},"./langfuseApp":{"types":"./dist/langfuseApp.d.ts","import":"./dist/langfuseApp.js","default":"./dist/langfuseApp.js","require":"./dist/langfuseApp.js"},"./langfuseClient":{"types":"./dist/langfuseClient.d.ts","import":"./dist/langfuseClient.js","default":"./dist/langfuseClient.js","require":"./dist/langfuseClient.js"}},"gitHead":"64795102ff49b7d0fb8134b276ebf81ef76dd460","scripts":{"dev":"bun tsc -w","lint":"biome check ./src","test":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","compile":"bun tsc","test:ci":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","lint:fix":"biome check --write ./src","compile:watch":"bun tsc -w","test:coverage":"bun run ../scripts/check-coverage.ts","lint:unsafefix":"biome check --fix --unsafe ./src"},"_npmUser":{"name":"servercobra","email":"josh@nang.io"},"repository":{"url":"git+ssh://git@github.com/FlourishHealth/terreno.git","type":"git"},"_npmVersion":"10.9.7","description":"AI service layer for Terreno apps - GPT chat, request logging, and admin tools.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"ai":"^6.0.97","multer":"^1.4.5-lts.1","@ai-sdk/mcp":"^1.0.21","@terreno/api":"0.11.4-beta.2","@langfuse/otel":"^5.0.1","@langfuse/client":"^5.0.1","@opentelemetry/api":"^1.9.0","@google-cloud/storage":"^7.15.0","@opentelemetry/sdk-node":"^0.213.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"winston":"^3.18.3","supertest":"^7.0.0","@types/bun":"^1.2.4","typescript":"5.8.2","@types/luxon":"^3.7.1","@types/multer":"^1.4.12","@biomejs/biome":"^2.3.6","@types/express":"^5.0.6","@types/supertest":"^6.0.2","passport-local-mongoose":"^9.0.1","@types/passport-local-mongoose":"^6.1.5"},"peerDependencies":{"mongoose":"^8.0.0","@terreno/api":"0.11.4-beta.2"},"_npmOperationalInternal":{"tmp":"tmp/ai_0.11.4-beta.2_1777495796768_0.8970718365584587","host":"s3://npm-registry-packages-npm-production"}},"0.11.4-beta.3":{"name":"@terreno/ai","version":"0.11.4-beta.3","keywords":["ai","gpt","mongoose","express"],"author":{"name":"Josh Gachnang"},"license":"Apache-2.0","_id":"@terreno/ai@0.11.4-beta.3","maintainers":[{"name":"ashflourishing","email":"ashutosh@flourish.health"},{"name":"servercobra","email":"josh@nang.io"}],"homepage":"https://github.com/FlourishHealth/terreno#readme","bugs":{"url":"https://github.com/FlourishHealth/terreno/issues"},"dist":{"shasum":"85090981c34ec0eebc4fbc1b34270b68c9eb56fa","tarball":"https://registry.npmjs.org/@terreno/ai/-/ai-0.11.4-beta.3.tgz","fileCount":130,"integrity":"sha512-nqEqSHPazA4HE1BFuQs5LdMQ17+SapBDQ2gB2BbHhZ2iedPCWujpJZKoX9P/vGqvszjHhjFZ0DZ6KMlAqbmFAA==","signatures":[{"sig":"MEQCIGYvd+06iUd+f9eNrU6F8qX5DExxxNsi13sdNKa80y9pAiBDPlzdi0RxLlwY53Mq0DtmSfxPOFV7bjg5r95UW4KvAw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":524551},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.js"},"./langfuseApp":{"types":"./dist/langfuseApp.d.ts","import":"./dist/langfuseApp.js","default":"./dist/langfuseApp.js","require":"./dist/langfuseApp.js"},"./langfuseClient":{"types":"./dist/langfuseClient.d.ts","import":"./dist/langfuseClient.js","default":"./dist/langfuseClient.js","require":"./dist/langfuseClient.js"}},"gitHead":"2ec762ef56b7e8ca1c875199e899dbdbf42810cb","scripts":{"dev":"bun tsc -w","lint":"biome check ./src","test":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","compile":"bun tsc","test:ci":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","lint:fix":"biome check --write ./src","compile:watch":"bun tsc -w","test:coverage":"bun run ../scripts/check-coverage.ts","lint:unsafefix":"biome check --fix --unsafe ./src"},"_npmUser":{"name":"servercobra","email":"josh@nang.io"},"repository":{"url":"git+ssh://git@github.com/FlourishHealth/terreno.git","type":"git"},"_npmVersion":"10.9.7","description":"AI service layer for Terreno apps - GPT chat, request logging, and admin tools.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"ai":"^6.0.97","multer":"^1.4.5-lts.1","@ai-sdk/mcp":"^1.0.21","@terreno/api":"0.11.4-beta.3","@langfuse/otel":"^5.0.1","@langfuse/client":"^5.0.1","@opentelemetry/api":"^1.9.0","@google-cloud/storage":"^7.15.0","@opentelemetry/sdk-node":"^0.213.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"winston":"^3.18.3","supertest":"^7.0.0","@types/bun":"^1.2.4","typescript":"5.8.2","@types/luxon":"^3.7.1","@types/multer":"^1.4.12","@biomejs/biome":"^2.3.6","@types/express":"^5.0.6","@types/supertest":"^6.0.2","passport-local-mongoose":"^9.0.1","@types/passport-local-mongoose":"^6.1.5"},"peerDependencies":{"mongoose":"^8.0.0","@terreno/api":"0.11.4-beta.3"},"_npmOperationalInternal":{"tmp":"tmp/ai_0.11.4-beta.3_1777664220526_0.0703351091186466","host":"s3://npm-registry-packages-npm-production"}},"0.11.4-beta.4":{"name":"@terreno/ai","version":"0.11.4-beta.4","keywords":["ai","gpt","mongoose","express"],"author":{"name":"Josh Gachnang"},"license":"Apache-2.0","_id":"@terreno/ai@0.11.4-beta.4","maintainers":[{"name":"ashflourishing","email":"ashutosh@flourish.health"},{"name":"servercobra","email":"josh@nang.io"}],"homepage":"https://github.com/FlourishHealth/terreno#readme","bugs":{"url":"https://github.com/FlourishHealth/terreno/issues"},"dist":{"shasum":"230543d5a6b7e4a2e2daa4435c5d6536fbfa477b","tarball":"https://registry.npmjs.org/@terreno/ai/-/ai-0.11.4-beta.4.tgz","fileCount":130,"integrity":"sha512-yhMsf4vJPpxHhuFRGSSB4aB2TccOMqTrFEkm3k3fwsiP0DsNePCyacrMjiEpWdn1uDNDayBYL4fAGVQ63QNYQw==","signatures":[{"sig":"MEYCIQCN6femAjEtCAnzSzwiluzQ/M7a8W0K3Jl9g2fnaHz5fwIhAOE48JtuOt5vC8n1iCJx6WSuFHg2nX9L6QMa3tx1P+El","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":524490},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.js"},"./langfuseApp":{"types":"./dist/langfuseApp.d.ts","import":"./dist/langfuseApp.js","default":"./dist/langfuseApp.js","require":"./dist/langfuseApp.js"},"./langfuseClient":{"types":"./dist/langfuseClient.d.ts","import":"./dist/langfuseClient.js","default":"./dist/langfuseClient.js","require":"./dist/langfuseClient.js"}},"gitHead":"d80415be1dc109a0cda630750046e2d81be84f6d","scripts":{"dev":"bun tsc -w","lint":"biome check ./src","test":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","compile":"bun tsc","test:ci":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","lint:fix":"biome check --write ./src","compile:watch":"bun tsc -w","test:coverage":"bun run ../scripts/check-coverage.ts","lint:unsafefix":"biome check --fix --unsafe ./src"},"_npmUser":{"name":"servercobra","email":"josh@nang.io"},"repository":{"url":"git+ssh://git@github.com/FlourishHealth/terreno.git","type":"git"},"_npmVersion":"10.9.7","description":"AI service layer for Terreno apps - GPT chat, request logging, and admin tools.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"ai":"^6.0.97","multer":"^1.4.5-lts.1","@ai-sdk/mcp":"^1.0.21","@terreno/api":"0.11.4-beta.4","@langfuse/otel":"^5.0.1","@langfuse/client":"^5.0.1","@opentelemetry/api":"^1.9.0","@google-cloud/storage":"^7.15.0","@opentelemetry/sdk-node":"^0.213.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"winston":"^3.18.3","supertest":"^7.0.0","@types/bun":"^1.2.4","typescript":"5.8.2","@types/luxon":"^3.7.1","@types/multer":"^1.4.12","@biomejs/biome":"^2.3.6","@types/express":"^5.0.6","@types/supertest":"^6.0.2","passport-local-mongoose":"^9.0.1","@types/passport-local-mongoose":"^6.1.5"},"peerDependencies":{"mongoose":"^8.0.0","@terreno/api":"0.11.4-beta.4"},"_npmOperationalInternal":{"tmp":"tmp/ai_0.11.4-beta.4_1777664854240_0.764266351431881","host":"s3://npm-registry-packages-npm-production"}},"0.11.4-beta.6":{"name":"@terreno/ai","version":"0.11.4-beta.6","keywords":["ai","gpt","mongoose","express"],"author":{"name":"Josh Gachnang"},"license":"Apache-2.0","_id":"@terreno/ai@0.11.4-beta.6","maintainers":[{"name":"ashflourishing","email":"ashutosh@flourish.health"},{"name":"servercobra","email":"josh@nang.io"}],"homepage":"https://github.com/FlourishHealth/terreno#readme","bugs":{"url":"https://github.com/FlourishHealth/terreno/issues"},"dist":{"shasum":"a8e914ab0937305cb44af50b0cffb85689942481","tarball":"https://registry.npmjs.org/@terreno/ai/-/ai-0.11.4-beta.6.tgz","fileCount":130,"integrity":"sha512-Xn3iFfTlrc3KmMvxNb5A7pq3oDA6/M1yODa0dDrT0F+GkhORKvo6pTivIKeOV6mUaG+p+tExGghJpRsiaxfodQ==","signatures":[{"sig":"MEUCIDepl//O8HJokxSGu5BkCu1K4JKyImh1oKcbTdoHjcpsAiEAh/nEXVeccVLHhpRPdGEfJNQy4S0862qtHJAtJSxn9l4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":524490},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.js"},"./langfuseApp":{"types":"./dist/langfuseApp.d.ts","import":"./dist/langfuseApp.js","default":"./dist/langfuseApp.js","require":"./dist/langfuseApp.js"},"./langfuseClient":{"types":"./dist/langfuseClient.d.ts","import":"./dist/langfuseClient.js","default":"./dist/langfuseClient.js","require":"./dist/langfuseClient.js"}},"gitHead":"2b2b1f2dc5c6a1f9b1258d7eb6a18c661e1e32fa","scripts":{"dev":"bun tsc -w","lint":"biome check ./src","test":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","compile":"bun tsc","test:ci":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","lint:fix":"biome check --write ./src","compile:watch":"bun tsc -w","test:coverage":"bun run ../scripts/check-coverage.ts","lint:unsafefix":"biome check --fix --unsafe ./src"},"_npmUser":{"name":"servercobra","email":"josh@nang.io"},"repository":{"url":"git+ssh://git@github.com/FlourishHealth/terreno.git","type":"git"},"_npmVersion":"10.9.7","description":"AI service layer for Terreno apps - GPT chat, request logging, and admin tools.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"ai":"^6.0.97","multer":"^1.4.5-lts.1","@ai-sdk/mcp":"^1.0.21","@terreno/api":"0.11.4-beta.6","@langfuse/otel":"^5.0.1","@langfuse/client":"^5.0.1","@opentelemetry/api":"^1.9.0","@google-cloud/storage":"^7.15.0","@opentelemetry/sdk-node":"^0.213.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"winston":"^3.18.3","supertest":"^7.0.0","@types/bun":"^1.2.4","typescript":"5.8.2","@types/luxon":"^3.7.1","@types/multer":"^1.4.12","@biomejs/biome":"^2.3.6","@types/express":"^5.0.6","@types/supertest":"^6.0.2","passport-local-mongoose":"^9.0.1","@types/passport-local-mongoose":"^6.1.5"},"peerDependencies":{"mongoose":"^8.0.0","@terreno/api":"0.11.4-beta.6"},"_npmOperationalInternal":{"tmp":"tmp/ai_0.11.4-beta.6_1777915970253_0.6097193260353311","host":"s3://npm-registry-packages-npm-production"}},"0.11.5":{"name":"@terreno/ai","version":"0.11.5","keywords":["ai","gpt","mongoose","express"],"author":{"name":"Josh Gachnang"},"license":"Apache-2.0","_id":"@terreno/ai@0.11.5","maintainers":[{"name":"ashflourishing","email":"ashutosh@flourish.health"},{"name":"servercobra","email":"josh@nang.io"}],"homepage":"https://github.com/FlourishHealth/terreno#readme","bugs":{"url":"https://github.com/FlourishHealth/terreno/issues"},"dist":{"shasum":"e656dd0aec436f7e727d65e91848eca90a3623b1","tarball":"https://registry.npmjs.org/@terreno/ai/-/ai-0.11.5.tgz","fileCount":131,"integrity":"sha512-c7SfNt2SF5v74IIXPFxUifduOhIqL8rc7TafqdNOhN53Xyr/tJA3in9earNgPU+3tK8qSc74h8zZRvzm91Xw1A==","signatures":[{"sig":"MEUCIAM/L3O7FyKbN7BPPrAVrbHHVbY5jMOpWYz9Rb9iZGoxAiEArbEHRmen+jOV1VJrcG0cil3atPr7kYId0zYOUNUTvBM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":529958},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.js"},"./langfuseApp":{"types":"./dist/langfuseApp.d.ts","import":"./dist/langfuseApp.js","default":"./dist/langfuseApp.js","require":"./dist/langfuseApp.js"},"./langfuseClient":{"types":"./dist/langfuseClient.d.ts","import":"./dist/langfuseClient.js","default":"./dist/langfuseClient.js","require":"./dist/langfuseClient.js"}},"gitHead":"47c4e6f2cca3b1d5f3c204c7a333b603f83fa29a","scripts":{"dev":"bun tsc -w","lint":"biome check ./src","test":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","compile":"bun tsc","test:ci":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","lint:fix":"biome check --write ./src","compile:watch":"bun tsc -w","test:coverage":"bun run ../scripts/check-coverage.ts","lint:unsafefix":"biome check --fix --unsafe ./src"},"_npmUser":{"name":"servercobra","email":"josh@nang.io"},"repository":{"url":"git+ssh://git@github.com/FlourishHealth/terreno.git","type":"git"},"_npmVersion":"10.9.7","description":"AI service layer for Terreno apps - GPT chat, request logging, and admin tools.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"ai":"^6.0.97","multer":"^1.4.5-lts.1","@ai-sdk/mcp":"^1.0.21","@langfuse/otel":"^5.0.1","@langfuse/client":"^5.0.1","@opentelemetry/api":"^1.9.0","@google-cloud/storage":"^7.15.0","@opentelemetry/sdk-node":"^0.213.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"winston":"^3.18.3","mongoose":"8.23.0","supertest":"^7.0.0","@types/bun":"^1.2.4","typescript":"5.8.2","@terreno/api":"0.11.5","@types/luxon":"^3.7.1","@types/multer":"^1.4.12","@biomejs/biome":"^2.3.6","@types/express":"^5.0.6","@types/supertest":"^6.0.2","passport-local-mongoose":"^9.0.1","@types/passport-local-mongoose":"^6.1.5"},"peerDependencies":{"mongoose":"^8.0.0","@terreno/api":"0.11.5"},"_npmOperationalInternal":{"tmp":"tmp/ai_0.11.5_1777959228147_0.7650866160531631","host":"s3://npm-registry-packages-npm-production"}},"0.11.4-beta.7":{"name":"@terreno/ai","version":"0.11.4-beta.7","keywords":["ai","gpt","mongoose","express"],"author":{"name":"Josh Gachnang"},"license":"Apache-2.0","_id":"@terreno/ai@0.11.4-beta.7","maintainers":[{"name":"ashflourishing","email":"ashutosh@flourish.health"},{"name":"servercobra","email":"josh@nang.io"}],"homepage":"https://github.com/FlourishHealth/terreno#readme","bugs":{"url":"https://github.com/FlourishHealth/terreno/issues"},"dist":{"shasum":"f2168e8ef258539c6f417235a35363255e036ec2","tarball":"https://registry.npmjs.org/@terreno/ai/-/ai-0.11.4-beta.7.tgz","fileCount":130,"integrity":"sha512-JoztWfhatvWX93S/6mgbo1haxyp3QIbx+h/kIigQ6XJn184B83RWcOUxnPOIMnu3sGQG3YksZvk5K4UzhvzIzA==","signatures":[{"sig":"MEYCIQDnOo1GQXGBbjCtc7jOF4SkVbfMGa6ePk2ZRktFA2aKnQIhAP0BpoQ3Wwq1OmIrqx4B7VxmzCH6e/k15qxMryJPRkY/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":524490},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.js"},"./langfuseApp":{"types":"./dist/langfuseApp.d.ts","import":"./dist/langfuseApp.js","default":"./dist/langfuseApp.js","require":"./dist/langfuseApp.js"},"./langfuseClient":{"types":"./dist/langfuseClient.d.ts","import":"./dist/langfuseClient.js","default":"./dist/langfuseClient.js","require":"./dist/langfuseClient.js"}},"gitHead":"2b2b1f2dc5c6a1f9b1258d7eb6a18c661e1e32fa","scripts":{"dev":"bun tsc -w","lint":"biome check ./src","test":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","compile":"bun tsc","test:ci":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","lint:fix":"biome check --write ./src","compile:watch":"bun tsc -w","test:coverage":"bun run ../scripts/check-coverage.ts","lint:unsafefix":"biome check --fix --unsafe ./src"},"_npmUser":{"name":"servercobra","email":"josh@nang.io"},"repository":{"url":"git+ssh://git@github.com/FlourishHealth/terreno.git","type":"git"},"_npmVersion":"10.9.7","description":"AI service layer for Terreno apps - GPT chat, request logging, and admin tools.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"ai":"^6.0.97","multer":"^1.4.5-lts.1","@ai-sdk/mcp":"^1.0.21","@terreno/api":"0.11.4-beta.7","@langfuse/otel":"^5.0.1","@langfuse/client":"^5.0.1","@opentelemetry/api":"^1.9.0","@google-cloud/storage":"^7.15.0","@opentelemetry/sdk-node":"^0.213.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"winston":"^3.18.3","supertest":"^7.0.0","@types/bun":"^1.2.4","typescript":"5.8.2","@types/luxon":"^3.7.1","@types/multer":"^1.4.12","@biomejs/biome":"^2.3.6","@types/express":"^5.0.6","@types/supertest":"^6.0.2","passport-local-mongoose":"^9.0.1","@types/passport-local-mongoose":"^6.1.5"},"peerDependencies":{"mongoose":"^8.0.0","@terreno/api":"0.11.4-beta.7"},"_npmOperationalInternal":{"tmp":"tmp/ai_0.11.4-beta.7_1777966730161_0.7062346635729158","host":"s3://npm-registry-packages-npm-production"}},"0.11.4-beta.8":{"name":"@terreno/ai","version":"0.11.4-beta.8","keywords":["ai","gpt","mongoose","express"],"author":{"name":"Josh Gachnang"},"license":"Apache-2.0","_id":"@terreno/ai@0.11.4-beta.8","maintainers":[{"name":"ashflourishing","email":"ashutosh@flourish.health"},{"name":"servercobra","email":"josh@nang.io"}],"homepage":"https://github.com/FlourishHealth/terreno#readme","bugs":{"url":"https://github.com/FlourishHealth/terreno/issues"},"dist":{"shasum":"e7f3ec2ada72a5dafd5190f64a0bb0a06cfa8ba7","tarball":"https://registry.npmjs.org/@terreno/ai/-/ai-0.11.4-beta.8.tgz","fileCount":130,"integrity":"sha512-63PrPyOh4SB0S59b9yRHLrR27YyX/JoxMTn8SPkfo1p7KxmUGAahYQjox3u2HSkUw5eUCtOqeh15eOK8aoTMQA==","signatures":[{"sig":"MEUCIQCD0VvW6503k5/PHLpzSZMeSdbWPHIH5LzNBspTF4th3wIgJsNOShV0hSslZAGN8KiymH4u9xoO/+chJomuv9eLCpc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":524490},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.js"},"./langfuseApp":{"types":"./dist/langfuseApp.d.ts","import":"./dist/langfuseApp.js","default":"./dist/langfuseApp.js","require":"./dist/langfuseApp.js"},"./langfuseClient":{"types":"./dist/langfuseClient.d.ts","import":"./dist/langfuseClient.js","default":"./dist/langfuseClient.js","require":"./dist/langfuseClient.js"}},"gitHead":"7cad2fa28a9130398dd1fd150bafcbf4c02d5cde","scripts":{"dev":"bun tsc -w","lint":"biome check ./src","test":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","compile":"bun tsc","test:ci":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","lint:fix":"biome check --write ./src","compile:watch":"bun tsc -w","test:coverage":"bun run ../scripts/check-coverage.ts","lint:unsafefix":"biome check --fix --unsafe ./src"},"_npmUser":{"name":"servercobra","email":"josh@nang.io"},"repository":{"url":"git+ssh://git@github.com/FlourishHealth/terreno.git","type":"git"},"_npmVersion":"10.9.7","description":"AI service layer for Terreno apps - GPT chat, request logging, and admin tools.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"ai":"^6.0.97","multer":"^1.4.5-lts.1","@ai-sdk/mcp":"^1.0.21","@terreno/api":"0.11.4-beta.8","@langfuse/otel":"^5.0.1","@langfuse/client":"^5.0.1","@opentelemetry/api":"^1.9.0","@google-cloud/storage":"^7.15.0","@opentelemetry/sdk-node":"^0.213.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"winston":"^3.18.3","supertest":"^7.0.0","@types/bun":"^1.2.4","typescript":"5.8.2","@types/luxon":"^3.7.1","@types/multer":"^1.4.12","@biomejs/biome":"^2.3.6","@types/express":"^5.0.6","@types/supertest":"^6.0.2","passport-local-mongoose":"^9.0.1","@types/passport-local-mongoose":"^6.1.5"},"peerDependencies":{"mongoose":"^8.0.0","@terreno/api":"0.11.4-beta.8"},"_npmOperationalInternal":{"tmp":"tmp/ai_0.11.4-beta.8_1777994101384_0.016336228765745142","host":"s3://npm-registry-packages-npm-production"}},"0.11.6":{"name":"@terreno/ai","version":"0.11.6","keywords":["ai","gpt","mongoose","express"],"author":{"name":"Josh Gachnang"},"license":"Apache-2.0","_id":"@terreno/ai@0.11.6","maintainers":[{"name":"ashflourishing","email":"ashutosh@flourish.health"},{"name":"servercobra","email":"josh@nang.io"}],"homepage":"https://github.com/FlourishHealth/terreno#readme","bugs":{"url":"https://github.com/FlourishHealth/terreno/issues"},"dist":{"shasum":"755887a748469d7038e13e53b0c1401f1792ec4a","tarball":"https://registry.npmjs.org/@terreno/ai/-/ai-0.11.6.tgz","fileCount":131,"integrity":"sha512-KDriBg7TEKdLY6Vicj4wO5G3B4SBJiOdyejD01B4dq8XdMg2cR6SbknDnHbGXwIarJ4VtIgxPIzwy+1jbt4Zbw==","signatures":[{"sig":"MEQCIFloJ3YdP22y8Rwp5giVuPr6RcYB1SNCMPLkGQKQvpV4AiA6g5NxmwFh2BYTcFrp3a++JZXJIR5mZKcn0LaPOof+zw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":529897},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.js"},"./langfuseApp":{"types":"./dist/langfuseApp.d.ts","import":"./dist/langfuseApp.js","default":"./dist/langfuseApp.js","require":"./dist/langfuseApp.js"},"./langfuseClient":{"types":"./dist/langfuseClient.d.ts","import":"./dist/langfuseClient.js","default":"./dist/langfuseClient.js","require":"./dist/langfuseClient.js"}},"gitHead":"3bf7b5dc840dd0d9d31c8f8832c764f0b306e448","scripts":{"dev":"bun tsc -w","lint":"biome check ./src","test":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","compile":"bun tsc","test:ci":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","lint:fix":"biome check --write ./src","compile:watch":"bun tsc -w","test:coverage":"bun run ../scripts/check-coverage.ts","lint:unsafefix":"biome check --fix --unsafe ./src"},"_npmUser":{"name":"servercobra","email":"josh@nang.io"},"repository":{"url":"git+ssh://git@github.com/FlourishHealth/terreno.git","type":"git"},"_npmVersion":"10.9.7","description":"AI service layer for Terreno apps - GPT chat, request logging, and admin tools.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"ai":"^6.0.97","multer":"^1.4.5-lts.1","@ai-sdk/mcp":"^1.0.21","@langfuse/otel":"^5.0.1","@langfuse/client":"^5.0.1","@opentelemetry/api":"^1.9.0","@google-cloud/storage":"^7.15.0","@opentelemetry/sdk-node":"^0.213.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"winston":"^3.18.3","mongoose":"8.23.0","supertest":"^7.0.0","@types/bun":"^1.2.4","typescript":"5.8.2","@terreno/api":"0.11.6","@types/luxon":"^3.7.1","@types/multer":"^1.4.12","@biomejs/biome":"^2.3.6","@types/express":"^5.0.6","@types/supertest":"^6.0.2","passport-local-mongoose":"^9.0.1","@types/passport-local-mongoose":"^6.1.5"},"peerDependencies":{"mongoose":"^8.0.0","@terreno/api":"0.11.6"},"_npmOperationalInternal":{"tmp":"tmp/ai_0.11.6_1778005655054_0.326900731625813","host":"s3://npm-registry-packages-npm-production"}},"0.11.7":{"name":"@terreno/ai","version":"0.11.7","keywords":["ai","gpt","mongoose","express"],"author":{"name":"Josh Gachnang"},"license":"Apache-2.0","_id":"@terreno/ai@0.11.7","maintainers":[{"name":"ashflourishing","email":"ashutosh@flourish.health"},{"name":"servercobra","email":"josh@nang.io"}],"homepage":"https://github.com/FlourishHealth/terreno#readme","bugs":{"url":"https://github.com/FlourishHealth/terreno/issues"},"dist":{"shasum":"0779b9a51dc615e2a606fde2e2983cdad0dfdaef","tarball":"https://registry.npmjs.org/@terreno/ai/-/ai-0.11.7.tgz","fileCount":131,"integrity":"sha512-65h7jYsQKikkt3woW9hkivIhOiyliprXtrKMai/dwG0bkz6qbrnLCgqyWEtJ+ABeNM2hD/m6SuxwGU4IS8Mtvg==","signatures":[{"sig":"MEUCICD8MU/wqZ76zBAqq0yCkDpFfq/AKlximOdEVXKtx4o/AiEAyVBtkwO278LklWrZT/d4A+hYQuE+ppej4mFpISo/GTk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":529897},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.js"},"./langfuseApp":{"types":"./dist/langfuseApp.d.ts","import":"./dist/langfuseApp.js","default":"./dist/langfuseApp.js","require":"./dist/langfuseApp.js"},"./langfuseClient":{"types":"./dist/langfuseClient.d.ts","import":"./dist/langfuseClient.js","default":"./dist/langfuseClient.js","require":"./dist/langfuseClient.js"}},"gitHead":"bc4bb236412d6f51a99a73e39038983d35ad629a","scripts":{"dev":"bun tsc -w","lint":"biome check ./src","test":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","compile":"bun tsc","test:ci":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","lint:fix":"biome check --write ./src","compile:watch":"bun tsc -w","test:coverage":"bun run ../scripts/check-coverage.ts","lint:unsafefix":"biome check --fix --unsafe ./src"},"_npmUser":{"name":"servercobra","email":"josh@nang.io"},"repository":{"url":"git+ssh://git@github.com/FlourishHealth/terreno.git","type":"git"},"_npmVersion":"10.9.7","description":"AI service layer for Terreno apps - GPT chat, request logging, and admin tools.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"ai":"^6.0.97","multer":"^1.4.5-lts.1","@ai-sdk/mcp":"^1.0.21","@langfuse/otel":"^5.0.1","@langfuse/client":"^5.0.1","@opentelemetry/api":"^1.9.0","@google-cloud/storage":"^7.15.0","@opentelemetry/sdk-node":"^0.213.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"winston":"^3.18.3","mongoose":"8.23.0","supertest":"^7.0.0","@types/bun":"^1.2.4","typescript":"5.8.2","@terreno/api":"0.11.7","@types/luxon":"^3.7.1","@types/multer":"^1.4.12","@biomejs/biome":"^2.3.6","@types/express":"^5.0.6","@types/supertest":"^6.0.2","passport-local-mongoose":"^9.0.1","@types/passport-local-mongoose":"^6.1.5"},"peerDependencies":{"mongoose":"^8.0.0","@terreno/api":"0.11.7"},"_npmOperationalInternal":{"tmp":"tmp/ai_0.11.7_1778034686810_0.627489555132134","host":"s3://npm-registry-packages-npm-production"}},"0.11.8":{"name":"@terreno/ai","version":"0.11.8","keywords":["ai","gpt","mongoose","express"],"author":{"name":"Josh Gachnang"},"license":"Apache-2.0","_id":"@terreno/ai@0.11.8","maintainers":[{"name":"ashflourishing","email":"ashutosh@flourish.health"},{"name":"servercobra","email":"josh@nang.io"}],"homepage":"https://github.com/FlourishHealth/terreno#readme","bugs":{"url":"https://github.com/FlourishHealth/terreno/issues"},"dist":{"shasum":"ad2ee806b066dce6b8f84870e3d82789284d9367","tarball":"https://registry.npmjs.org/@terreno/ai/-/ai-0.11.8.tgz","fileCount":131,"integrity":"sha512-Hw4Xg/5K/9HqMyqOW/I8zgH99XqnQaxPlvJFrLSZwAHeJ88oDMX3B1rf6/wNv6sdmks3baDxNjR7Sjz0c2NZ2Q==","signatures":[{"sig":"MEUCIEpPmNuepYofnIJJABtxIm1Ng6mnXoHtIkGo8qb5RKGhAiEA0BJDQunb/sk8/h/XQALeG9z67AxrimXk2MA3PGPDp2Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":530742},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.js"},"./langfuseApp":{"types":"./dist/langfuseApp.d.ts","import":"./dist/langfuseApp.js","default":"./dist/langfuseApp.js","require":"./dist/langfuseApp.js"},"./langfuseClient":{"types":"./dist/langfuseClient.d.ts","import":"./dist/langfuseClient.js","default":"./dist/langfuseClient.js","require":"./dist/langfuseClient.js"}},"gitHead":"6b37b2460c9a81dbbeda7feee310e241256168b2","scripts":{"dev":"bun tsc -w","lint":"biome check ./src","test":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","compile":"bun tsc","test:ci":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","lint:fix":"biome check --write ./src","compile:watch":"bun tsc -w","test:coverage":"bun run ../scripts/check-coverage.ts","lint:unsafefix":"biome check --fix --unsafe ./src"},"_npmUser":{"name":"servercobra","email":"josh@nang.io"},"repository":{"url":"git+ssh://git@github.com/FlourishHealth/terreno.git","type":"git"},"_npmVersion":"10.9.7","description":"AI service layer for Terreno apps - GPT chat, request logging, and admin tools.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"ai":"^6.0.97","multer":"^1.4.5-lts.1","@ai-sdk/mcp":"^1.0.21","@langfuse/otel":"^5.0.1","@langfuse/client":"^5.0.1","@opentelemetry/api":"^1.9.0","@google-cloud/storage":"^7.15.0","@opentelemetry/sdk-node":"^0.213.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"winston":"^3.18.3","mongoose":"8.23.0","supertest":"^7.0.0","@types/bun":"^1.2.4","typescript":"5.8.2","@terreno/api":"0.11.8","@types/luxon":"^3.7.1","@types/multer":"^1.4.12","@biomejs/biome":"^2.3.6","@types/express":"^5.0.6","@types/supertest":"^6.0.2","passport-local-mongoose":"^9.0.1","@types/passport-local-mongoose":"^6.1.5"},"peerDependencies":{"mongoose":"^8.0.0","@terreno/api":"0.11.8"},"_npmOperationalInternal":{"tmp":"tmp/ai_0.11.8_1778134403158_0.1906695932167901","host":"s3://npm-registry-packages-npm-production"}},"0.11.9":{"name":"@terreno/ai","version":"0.11.9","keywords":["ai","gpt","mongoose","express"],"author":{"name":"Josh Gachnang"},"license":"Apache-2.0","_id":"@terreno/ai@0.11.9","maintainers":[{"name":"ashflourishing","email":"ashutosh@flourish.health"},{"name":"servercobra","email":"josh@nang.io"}],"homepage":"https://github.com/FlourishHealth/terreno#readme","bugs":{"url":"https://github.com/FlourishHealth/terreno/issues"},"dist":{"shasum":"25d1d7d67948c6b574eed38655e7d9225e02cce9","tarball":"https://registry.npmjs.org/@terreno/ai/-/ai-0.11.9.tgz","fileCount":131,"integrity":"sha512-7xLXGJxiMXai0FrdxmZFbdvueeFKbagyLVc+5QQUFA+Q/MIsZxXLrDhgTjDE6eOSC0PnUxaCGZxnx4bMptyuDA==","signatures":[{"sig":"MEUCIQC5KNY7tiOVhuBK/xe2vLru7xnlTOWa5flRK4SaBv9A8AIgM3P0NyUStCJTK33bq5Xc4+I+5QiK3xxCizP8f1V1alM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":532822},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.js"},"./langfuseApp":{"types":"./dist/langfuseApp.d.ts","import":"./dist/langfuseApp.js","default":"./dist/langfuseApp.js","require":"./dist/langfuseApp.js"},"./langfuseClient":{"types":"./dist/langfuseClient.d.ts","import":"./dist/langfuseClient.js","default":"./dist/langfuseClient.js","require":"./dist/langfuseClient.js"}},"gitHead":"02aaec363974dbedab235a3b1dd7cdee20ecfed7","scripts":{"dev":"bun tsc -w","lint":"biome check ./src","test":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","compile":"bun tsc","test:ci":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","lint:fix":"biome check --write ./src","compile:watch":"bun tsc -w","test:coverage":"bun run ../scripts/check-coverage.ts","lint:unsafefix":"biome check --fix --unsafe ./src"},"_npmUser":{"name":"servercobra","email":"josh@nang.io"},"repository":{"url":"git+ssh://git@github.com/FlourishHealth/terreno.git","type":"git"},"_npmVersion":"10.9.7","description":"AI service layer for Terreno apps - GPT chat, request logging, and admin tools.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"ai":"^6.0.97","multer":"^1.4.5-lts.1","@ai-sdk/mcp":"^1.0.21","@langfuse/otel":"^5.0.1","@langfuse/client":"^5.0.1","@opentelemetry/api":"^1.9.0","@google-cloud/storage":"^7.15.0","@opentelemetry/sdk-node":"^0.213.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"winston":"^3.18.3","mongoose":"8.23.0","supertest":"^7.0.0","@types/bun":"^1.2.4","typescript":"5.8.2","@terreno/api":"0.11.9","@types/luxon":"^3.7.1","@types/multer":"^1.4.12","@biomejs/biome":"^2.3.6","@types/express":"^5.0.6","@types/supertest":"^6.0.2","passport-local-mongoose":"^9.0.1","@types/passport-local-mongoose":"^6.1.5"},"peerDependencies":{"mongoose":"^8.0.0","@terreno/api":"0.11.9"},"_npmOperationalInternal":{"tmp":"tmp/ai_0.11.9_1778301674252_0.5473916677952546","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"@terreno/ai","version":"0.12.0","keywords":["ai","gpt","mongoose","express"],"author":{"name":"Josh Gachnang"},"license":"Apache-2.0","_id":"@terreno/ai@0.12.0","maintainers":[{"name":"ashflourishing","email":"ashutosh@flourish.health"},{"name":"servercobra","email":"josh@nang.io"}],"homepage":"https://github.com/FlourishHealth/terreno#readme","bugs":{"url":"https://github.com/FlourishHealth/terreno/issues"},"dist":{"shasum":"64d602a584073b8123a28172241fd8057b757980","tarball":"https://registry.npmjs.org/@terreno/ai/-/ai-0.12.0.tgz","fileCount":131,"integrity":"sha512-sXFDPq1jOrmn4P77Ef7zbU/GP7KK4xEI7FQl/U+klbEU6qiMowolqlhn9ZRDZ24rUuzmN3vbhBc591f8loRnTg==","signatures":[{"sig":"MEQCID0C04KygvIllIiMSrBqPgSNoH3o1vaJ9Z6gAQZcVvG1AiAkgBwLvcvLXseCJNBLeQ7jM9u5o1E0aXVhMaBMG6RKaA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":532822},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.js"},"./langfuseApp":{"types":"./dist/langfuseApp.d.ts","import":"./dist/langfuseApp.js","default":"./dist/langfuseApp.js","require":"./dist/langfuseApp.js"},"./langfuseClient":{"types":"./dist/langfuseClient.d.ts","import":"./dist/langfuseClient.js","default":"./dist/langfuseClient.js","require":"./dist/langfuseClient.js"}},"gitHead":"b7261cf14d82303314859e9c0a48175bf5262d79","scripts":{"dev":"bun tsc -w","lint":"biome check ./src","test":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","compile":"bun tsc","test:ci":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","lint:fix":"biome check --write ./src","compile:watch":"bun tsc -w","test:coverage":"bun run ../scripts/check-coverage.ts","lint:unsafefix":"biome check --fix --unsafe ./src"},"_npmUser":{"name":"servercobra","email":"josh@nang.io"},"repository":{"url":"git+ssh://git@github.com/FlourishHealth/terreno.git","type":"git"},"_npmVersion":"10.9.7","description":"AI service layer for Terreno apps - GPT chat, request logging, and admin tools.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"ai":"^6.0.97","multer":"^1.4.5-lts.1","@ai-sdk/mcp":"^1.0.21","@langfuse/otel":"^5.0.1","@langfuse/client":"^5.0.1","@opentelemetry/api":"^1.9.0","@google-cloud/storage":"^7.15.0","@opentelemetry/sdk-node":"^0.213.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"winston":"^3.18.3","mongoose":"8.23.0","supertest":"^7.0.0","@types/bun":"^1.2.4","typescript":"5.8.2","@terreno/api":"0.12.0","@types/luxon":"^3.7.1","@types/multer":"^1.4.12","@biomejs/biome":"^2.3.6","@types/express":"^5.0.6","@types/supertest":"^6.0.2","passport-local-mongoose":"^9.0.1","@types/passport-local-mongoose":"^6.1.5"},"peerDependencies":{"mongoose":"^8.0.0","@terreno/api":"0.12.0"},"_npmOperationalInternal":{"tmp":"tmp/ai_0.12.0_1778434549584_0.6501158690155449","host":"s3://npm-registry-packages-npm-production"}},"0.12.1":{"name":"@terreno/ai","version":"0.12.1","keywords":["ai","gpt","mongoose","express"],"author":{"name":"Josh Gachnang"},"license":"Apache-2.0","_id":"@terreno/ai@0.12.1","maintainers":[{"name":"ashflourishing","email":"ashutosh@flourish.health"},{"name":"servercobra","email":"josh@nang.io"}],"homepage":"https://github.com/FlourishHealth/terreno#readme","bugs":{"url":"https://github.com/FlourishHealth/terreno/issues"},"dist":{"shasum":"20b1b242cfc50b9a5abe43b6a254151ec2eaf027","tarball":"https://registry.npmjs.org/@terreno/ai/-/ai-0.12.1.tgz","fileCount":131,"integrity":"sha512-H0j5wOuwEFDDZ7y5hcVe76F/bRLHpD9GGo1iqpYCzZyRU3DYR6Li6NJwu8glG+VptO5kBeVwGrH5kQFVckwMCg==","signatures":[{"sig":"MEQCIA8hyYegcqE7F7ZIeKC97CvwrnqkDsznwuWE5HkqhWQqAiAzMWb/3n9Sm6t5p0qXLUf1WnJLpc3kZXBUlVo5myTHNQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":536048},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.js"},"./langfuseApp":{"types":"./dist/langfuseApp.d.ts","import":"./dist/langfuseApp.js","default":"./dist/langfuseApp.js","require":"./dist/langfuseApp.js"},"./langfuseClient":{"types":"./dist/langfuseClient.d.ts","import":"./dist/langfuseClient.js","default":"./dist/langfuseClient.js","require":"./dist/langfuseClient.js"}},"gitHead":"fa5cd98d13fea11903a87f904c4754700e911580","scripts":{"dev":"bun tsc -w","lint":"biome check ./src","test":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","compile":"bun tsc","test:ci":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","lint:fix":"biome check --write ./src","compile:watch":"bun tsc -w","test:coverage":"bun run ../scripts/check-coverage.ts","lint:unsafefix":"biome check --fix --unsafe ./src"},"_npmUser":{"name":"servercobra","email":"josh@nang.io"},"repository":{"url":"git+ssh://git@github.com/FlourishHealth/terreno.git","type":"git"},"_npmVersion":"10.9.7","description":"AI service layer for Terreno apps - GPT chat, request logging, and admin tools.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"ai":"^6.0.97","multer":"^1.4.5-lts.1","@ai-sdk/mcp":"^1.0.21","@langfuse/otel":"^5.0.1","@langfuse/client":"^5.0.1","@opentelemetry/api":"^1.9.0","@google-cloud/storage":"^7.15.0","@opentelemetry/sdk-node":"^0.213.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"winston":"^3.18.3","mongoose":"8.23.0","supertest":"^7.0.0","@types/bun":"^1.2.4","typescript":"5.8.2","@terreno/api":"0.12.1","@types/luxon":"^3.7.1","@types/multer":"^1.4.12","@biomejs/biome":"^2.3.6","@types/express":"^5.0.6","@types/supertest":"^6.0.2","passport-local-mongoose":"^9.0.1","@types/passport-local-mongoose":"^6.1.5"},"peerDependencies":{"mongoose":"^8.0.0","@terreno/api":"0.12.1"},"_npmOperationalInternal":{"tmp":"tmp/ai_0.12.1_1778528182840_0.9487614855765654","host":"s3://npm-registry-packages-npm-production"}},"0.12.2":{"name":"@terreno/ai","version":"0.12.2","keywords":["ai","gpt","mongoose","express"],"author":{"name":"Josh Gachnang"},"license":"Apache-2.0","_id":"@terreno/ai@0.12.2","maintainers":[{"name":"ashflourishing","email":"ashutosh@flourish.health"},{"name":"servercobra","email":"josh@nang.io"}],"homepage":"https://github.com/FlourishHealth/terreno#readme","bugs":{"url":"https://github.com/FlourishHealth/terreno/issues"},"dist":{"shasum":"d0d302edf9c00f11ef4f724e1331284485c97aaa","tarball":"https://registry.npmjs.org/@terreno/ai/-/ai-0.12.2.tgz","fileCount":131,"integrity":"sha512-5ujdx96cq5U9/Ye+8/1TxHR7/vBPUMqZ7q+KCow2lEKLNOEYAaZawvX7iD0khjP9peIovaaLaoFZAIkFS4ABlA==","signatures":[{"sig":"MEUCIQC0kCM//oMuluABQUN5YA3EBfKOHYf1X6UoiPZYcWP10QIgPOktW/R4IjIhXKvyzA8oF2n1nOUNTUbWX3ocSGlSa4I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":536048},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.js"},"./langfuseApp":{"types":"./dist/langfuseApp.d.ts","import":"./dist/langfuseApp.js","default":"./dist/langfuseApp.js","require":"./dist/langfuseApp.js"},"./langfuseClient":{"types":"./dist/langfuseClient.d.ts","import":"./dist/langfuseClient.js","default":"./dist/langfuseClient.js","require":"./dist/langfuseClient.js"}},"gitHead":"e53b2c6251fd58ed3bb4df3efa7e39776155f7b7","scripts":{"dev":"bun tsc -w","lint":"biome check ./src","test":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","compile":"bun tsc","test:ci":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","lint:fix":"biome check --write ./src","compile:watch":"bun tsc -w","test:coverage":"bun run ../scripts/check-coverage.ts","lint:unsafefix":"biome check --fix --unsafe ./src"},"_npmUser":{"name":"servercobra","email":"josh@nang.io"},"repository":{"url":"git+ssh://git@github.com/FlourishHealth/terreno.git","type":"git"},"_npmVersion":"10.9.7","description":"AI service layer for Terreno apps - GPT chat, request logging, and admin tools.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"ai":"^6.0.97","multer":"^1.4.5-lts.1","@ai-sdk/mcp":"^1.0.21","@langfuse/otel":"^5.0.1","@langfuse/client":"^5.0.1","@opentelemetry/api":"^1.9.0","@google-cloud/storage":"^7.15.0","@opentelemetry/sdk-node":"^0.213.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"winston":"^3.18.3","mongoose":"8.23.0","supertest":"^7.0.0","@types/bun":"^1.2.4","typescript":"5.8.2","@terreno/api":"0.12.2","@types/luxon":"^3.7.1","@types/multer":"^1.4.12","@biomejs/biome":"^2.3.6","@types/express":"^5.0.6","@types/supertest":"^6.0.2","passport-local-mongoose":"^9.0.1","@types/passport-local-mongoose":"^6.1.5"},"peerDependencies":{"mongoose":"^8.0.0","@terreno/api":"0.12.2"},"_npmOperationalInternal":{"tmp":"tmp/ai_0.12.2_1778540960627_0.22788102163635315","host":"s3://npm-registry-packages-npm-production"}},"0.13.0":{"name":"@terreno/ai","version":"0.13.0","keywords":["ai","gpt","mongoose","express"],"author":{"name":"Josh Gachnang"},"license":"Apache-2.0","_id":"@terreno/ai@0.13.0","maintainers":[{"name":"ashflourishing","email":"ashutosh@flourish.health"},{"name":"servercobra","email":"josh@nang.io"}],"homepage":"https://github.com/FlourishHealth/terreno#readme","bugs":{"url":"https://github.com/FlourishHealth/terreno/issues"},"dist":{"shasum":"2cfdfa653e00e9b686f76aae8de1cf9d6da57df9","tarball":"https://registry.npmjs.org/@terreno/ai/-/ai-0.13.0.tgz","fileCount":131,"integrity":"sha512-HK41e7WzvtwfxUmx7mSx0cYMkhwiUE7QmBZZXasSCzJerr2xlQQVaJZDcIJZ3/aRrOrtONrbFmVJleW0dRwbfg==","signatures":[{"sig":"MEUCIEdvCmoQSq7aCXKFJyuvHqxm50wx1S6LAU+TIa9tFy4zAiEAgAppG8e2f/UBRK2u/smg8+HhIov6S2WXDgKthPVi1+M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":536047},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.js"},"./langfuseApp":{"types":"./dist/langfuseApp.d.ts","import":"./dist/langfuseApp.js","default":"./dist/langfuseApp.js","require":"./dist/langfuseApp.js"},"./langfuseClient":{"types":"./dist/langfuseClient.d.ts","import":"./dist/langfuseClient.js","default":"./dist/langfuseClient.js","require":"./dist/langfuseClient.js"}},"gitHead":"aa0919502e50b9c4fb9093e549ccffcf9e69af00","scripts":{"dev":"bun tsc -w","lint":"biome check ./src","test":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","compile":"bun tsc","test:ci":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","lint:fix":"biome check --write ./src","compile:watch":"bun tsc -w","test:coverage":"bun run ../scripts/check-coverage.ts","lint:unsafefix":"biome check --fix --unsafe ./src"},"_npmUser":{"name":"servercobra","email":"josh@nang.io"},"repository":{"url":"git+ssh://git@github.com/FlourishHealth/terreno.git","type":"git"},"_npmVersion":"10.9.7","description":"AI service layer for Terreno apps - GPT chat, request logging, and admin tools.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"ai":"^6.0.97","multer":"^1.4.5-lts.1","@ai-sdk/mcp":"^1.0.21","@langfuse/otel":"^5.0.1","@langfuse/client":"^5.0.1","@opentelemetry/api":"^1.9.0","@google-cloud/storage":"^7.15.0","@opentelemetry/sdk-node":"0.213.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"winston":"^3.18.3","mongoose":"8.23.0","supertest":"^7.0.0","@types/bun":"^1.2.4","typescript":"5.8.2","@terreno/api":"0.13.0","@types/luxon":"^3.7.1","@types/multer":"^1.4.12","@biomejs/biome":"^2.3.6","@types/express":"^5.0.6","@types/supertest":"^6.0.2","passport-local-mongoose":"^9.0.1","@types/passport-local-mongoose":"^6.1.5"},"peerDependencies":{"mongoose":"^8.0.0","@terreno/api":"0.13.0"},"_npmOperationalInternal":{"tmp":"tmp/ai_0.13.0_1778557047468_0.8289012576777659","host":"s3://npm-registry-packages-npm-production"}},"0.13.1":{"name":"@terreno/ai","version":"0.13.1","keywords":["ai","gpt","mongoose","express"],"author":{"name":"Josh Gachnang"},"license":"Apache-2.0","_id":"@terreno/ai@0.13.1","maintainers":[{"name":"ashflourishing","email":"ashutosh@flourish.health"},{"name":"servercobra","email":"josh@nang.io"}],"homepage":"https://github.com/FlourishHealth/terreno#readme","bugs":{"url":"https://github.com/FlourishHealth/terreno/issues"},"dist":{"shasum":"cb722fc8316194633e4c05ed4782fee76f5ec5ea","tarball":"https://registry.npmjs.org/@terreno/ai/-/ai-0.13.1.tgz","fileCount":131,"integrity":"sha512-rcKEFt/D7a9cJDKxIDmkzEdmODtBcQTmVZ5kwi1rWxGPGRt3z+930leqoYcCs3XJlCde5u7IpAclTT7iz/Wdgg==","signatures":[{"sig":"MEQCICSWLv4ePl2MEmsA/TrYDcg3DDwlcRAlteXKYwXR2mqxAiADzBC0Lg0ZC+bErWLDTt0Evf9biUmjbwZ4i3k3/F1PYA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":540066},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.js"},"./langfuseApp":{"types":"./dist/langfuseApp.d.ts","import":"./dist/langfuseApp.js","default":"./dist/langfuseApp.js","require":"./dist/langfuseApp.js"},"./langfuseClient":{"types":"./dist/langfuseClient.d.ts","import":"./dist/langfuseClient.js","default":"./dist/langfuseClient.js","require":"./dist/langfuseClient.js"}},"gitHead":"ac201ae15e753894ae4d88230debdd2d77c55dc7","scripts":{"dev":"bun tsc -w","lint":"biome check ./src","test":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","compile":"bun tsc","test:ci":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","lint:fix":"biome check --write ./src","compile:watch":"bun tsc -w","test:coverage":"bun run ../scripts/check-coverage.ts","lint:unsafefix":"biome check --fix --unsafe ./src"},"_npmUser":{"name":"servercobra","email":"josh@nang.io"},"repository":{"url":"git+ssh://git@github.com/FlourishHealth/terreno.git","type":"git"},"_npmVersion":"10.9.7","description":"AI service layer for Terreno apps - GPT chat, request logging, and admin tools.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"ai":"^6.0.97","multer":"^1.4.5-lts.1","@ai-sdk/mcp":"^1.0.21","@langfuse/otel":"^5.0.1","@langfuse/client":"^5.0.1","@opentelemetry/api":"^1.9.0","@google-cloud/storage":"^7.15.0","@opentelemetry/sdk-node":"0.213.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"winston":"^3.18.3","mongoose":"8.23.0","supertest":"^7.0.0","@types/bun":"^1.2.4","typescript":"5.8.2","@terreno/api":"0.13.1","@types/luxon":"^3.7.1","@types/multer":"^1.4.12","@biomejs/biome":"^2.3.6","@types/express":"^5.0.6","@types/supertest":"^6.0.2","passport-local-mongoose":"^9.0.1","@types/passport-local-mongoose":"^6.1.5"},"peerDependencies":{"mongoose":"^8.0.0","@terreno/api":"0.13.1"},"_npmOperationalInternal":{"tmp":"tmp/ai_0.13.1_1778802477568_0.03012331015979508","host":"s3://npm-registry-packages-npm-production"}},"0.13.3":{"name":"@terreno/ai","version":"0.13.3","keywords":["ai","gpt","mongoose","express"],"author":{"name":"Josh Gachnang"},"license":"Apache-2.0","_id":"@terreno/ai@0.13.3","maintainers":[{"name":"ashflourishing","email":"ashutosh@flourish.health"},{"name":"servercobra","email":"josh@nang.io"}],"homepage":"https://github.com/FlourishHealth/terreno#readme","bugs":{"url":"https://github.com/FlourishHealth/terreno/issues"},"dist":{"shasum":"1b94df40336d65791fd5dd35d0721ccd7a8ecf59","tarball":"https://registry.npmjs.org/@terreno/ai/-/ai-0.13.3.tgz","fileCount":131,"integrity":"sha512-TQHYdGtQ3UaCRGxhI4ZlXraAN1RX/vkngz4jve4JeBSthk95OnPN43VUa5bWxz8/CqXhcsh1hLULxyZVgSNLXQ==","signatures":[{"sig":"MEUCIGq0WoT3vMW8f1rS6wfYcHe1XYwTkxtLAUtf/O4mA42HAiEAvZXH5zprL7XBxkW5SSaq7y/znjS3KTZHpEduPQnchBY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":542446},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.js"},"./langfuseApp":{"types":"./dist/langfuseApp.d.ts","import":"./dist/langfuseApp.js","default":"./dist/langfuseApp.js","require":"./dist/langfuseApp.js"},"./langfuseClient":{"types":"./dist/langfuseClient.d.ts","import":"./dist/langfuseClient.js","default":"./dist/langfuseClient.js","require":"./dist/langfuseClient.js"}},"gitHead":"6357e406ac64e5ea7e8c723fcfad719de5f5c50b","scripts":{"dev":"bun tsc -w","lint":"biome check ./src","test":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","compile":"bun tsc","test:ci":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","lint:fix":"biome check --write ./src","compile:watch":"bun tsc -w","test:coverage":"bun run ../scripts/check-coverage.ts","lint:unsafefix":"biome check --fix --unsafe ./src"},"_npmUser":{"name":"servercobra","email":"josh@nang.io"},"repository":{"url":"git+ssh://git@github.com/FlourishHealth/terreno.git","type":"git"},"_npmVersion":"10.9.7","description":"AI service layer for Terreno apps - GPT chat, request logging, and admin tools.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"ai":"^6.0.97","multer":"^1.4.5-lts.1","@ai-sdk/mcp":"^1.0.21","@langfuse/otel":"^5.0.1","@langfuse/client":"^5.0.1","@opentelemetry/api":"^1.9.0","@google-cloud/storage":"^7.15.0","@opentelemetry/sdk-node":"0.213.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"winston":"^3.18.3","mongoose":"8.23.0","supertest":"^7.0.0","@types/bun":"^1.2.4","typescript":"5.8.2","@terreno/api":"0.13.3","@types/luxon":"^3.7.1","@types/multer":"^1.4.12","@biomejs/biome":"^2.3.6","@types/express":"^5.0.6","@types/supertest":"^6.0.2","passport-local-mongoose":"^9.0.1","@types/passport-local-mongoose":"^6.1.5"},"peerDependencies":{"mongoose":"^8.0.0","@terreno/api":"0.13.3"},"_npmOperationalInternal":{"tmp":"tmp/ai_0.13.3_1778882374506_0.8006727248638685","host":"s3://npm-registry-packages-npm-production"}},"0.14.0":{"name":"@terreno/ai","version":"0.14.0","keywords":["ai","gpt","mongoose","express"],"author":{"name":"Josh Gachnang"},"license":"Apache-2.0","_id":"@terreno/ai@0.14.0","maintainers":[{"name":"ashflourishing","email":"ashutosh@flourish.health"},{"name":"servercobra","email":"josh@nang.io"}],"homepage":"https://github.com/FlourishHealth/terreno#readme","bugs":{"url":"https://github.com/FlourishHealth/terreno/issues"},"dist":{"shasum":"eb82ed66c0170f16fa92d8a396672387420f0ffd","tarball":"https://registry.npmjs.org/@terreno/ai/-/ai-0.14.0.tgz","fileCount":131,"integrity":"sha512-IdcBTOug8dpVQXPE7OmVkIs9he+ThgrIrm0zBIT4yf23wsBaNwlUGfEBtGXJuF/9hf1Je4s1lHJQ2ui4yBzsqg==","signatures":[{"sig":"MEUCIQC924r4LwDd72MfziOKpnn7fLL5BLyZOTCY4gD8ChnA5gIgD/5gn0gBdoxfXU5TuSCqJLPwDNyQyjKQwk1zR7xqei8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":551239},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.js"},"./langfuseApp":{"types":"./dist/langfuseApp.d.ts","import":"./dist/langfuseApp.js","default":"./dist/langfuseApp.js","require":"./dist/langfuseApp.js"},"./langfuseClient":{"types":"./dist/langfuseClient.d.ts","import":"./dist/langfuseClient.js","default":"./dist/langfuseClient.js","require":"./dist/langfuseClient.js"}},"gitHead":"fade3aada395ebc04183d421d65d487d7d81b4ab","scripts":{"dev":"bun tsc -w","lint":"biome check ./src","test":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","compile":"bun tsc","test:ci":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","lint:fix":"biome check --write ./src","compile:watch":"bun tsc -w","test:coverage":"bun run ../scripts/check-coverage.ts","lint:unsafefix":"biome check --fix --unsafe ./src"},"_npmUser":{"name":"servercobra","email":"josh@nang.io"},"repository":{"url":"git+ssh://git@github.com/FlourishHealth/terreno.git","type":"git"},"_npmVersion":"10.9.8","description":"AI service layer for Terreno apps - GPT chat, request logging, and admin tools.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"ai":"^6.0.97","luxon":"^3.7.2","multer":"^1.4.5-lts.1","@ai-sdk/mcp":"^1.0.21","@langfuse/otel":"^5.0.1","@langfuse/client":"^5.0.1","@opentelemetry/api":"^1.9.0","@google-cloud/storage":"^7.15.0","@opentelemetry/sdk-node":"0.213.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"winston":"^3.18.3","mongoose":"8.23.0","supertest":"^7.0.0","@types/bun":"^1.2.4","typescript":"5.8.2","@terreno/api":"0.14.0","@types/luxon":"^3.7.1","@types/multer":"^1.4.12","@biomejs/biome":"^2.3.6","@types/express":"^5.0.6","@types/supertest":"^6.0.2","passport-local-mongoose":"^9.0.1","@types/passport-local-mongoose":"^6.1.5"},"peerDependencies":{"mongoose":"^8.0.0","@terreno/api":"0.14.0"},"_npmOperationalInternal":{"tmp":"tmp/ai_0.14.0_1779926728310_0.21811325347641364","host":"s3://npm-registry-packages-npm-production"}},"0.14.1":{"name":"@terreno/ai","version":"0.14.1","keywords":["ai","gpt","mongoose","express"],"author":{"name":"Josh Gachnang"},"license":"Apache-2.0","_id":"@terreno/ai@0.14.1","maintainers":[{"name":"ashflourishing","email":"ashutosh@flourish.health"},{"name":"servercobra","email":"josh@nang.io"}],"homepage":"https://github.com/FlourishHealth/terreno#readme","bugs":{"url":"https://github.com/FlourishHealth/terreno/issues"},"dist":{"shasum":"1af8bdcc18f9ebf3de31ff4dfa011599899c94a3","tarball":"https://registry.npmjs.org/@terreno/ai/-/ai-0.14.1.tgz","fileCount":131,"integrity":"sha512-SHkTBh3PKqte819qSTGCVF0IoVdqRKlBbmWU6ByrDTtuBPEDqB8MUep/y5kDTUewzC1ddostVfZmFfKhHV+ipA==","signatures":[{"sig":"MEQCIHiITed5+RLWRxH2ZRpahH3YndOUgI7Hsv+GcMI3xvyLAiAUW4ID4dQX8IDvuVWEj6VCz5IPZQpO7rxjOkoWWDoHpA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":555625},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.js"},"./langfuseApp":{"types":"./dist/langfuseApp.d.ts","import":"./dist/langfuseApp.js","default":"./dist/langfuseApp.js","require":"./dist/langfuseApp.js"},"./langfuseClient":{"types":"./dist/langfuseClient.d.ts","import":"./dist/langfuseClient.js","default":"./dist/langfuseClient.js","require":"./dist/langfuseClient.js"}},"gitHead":"86988b2a2e51d7b07ff6778996eb14f569b09eda","scripts":{"dev":"bun tsc -w","lint":"biome check ./src","test":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","compile":"bun tsc","test:ci":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","lint:fix":"biome check --write ./src","compile:watch":"bun tsc -w","test:coverage":"bun run ../scripts/check-coverage.ts","lint:unsafefix":"biome check --fix --unsafe ./src"},"_npmUser":{"name":"servercobra","email":"josh@nang.io"},"repository":{"url":"git+ssh://git@github.com/FlourishHealth/terreno.git","type":"git"},"_npmVersion":"10.9.8","description":"AI service layer for Terreno apps - GPT chat, request logging, and admin tools.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"ai":"^6.0.97","luxon":"^3.7.2","multer":"^1.4.5-lts.1","@ai-sdk/mcp":"^1.0.21","@langfuse/otel":"^5.0.1","@langfuse/client":"^5.0.1","@opentelemetry/api":"^1.9.0","@google-cloud/storage":"^7.15.0","@opentelemetry/sdk-node":"0.213.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"winston":"^3.18.3","mongoose":"8.23.0","supertest":"^7.0.0","@types/bun":"^1.2.4","typescript":"5.8.2","@terreno/api":"0.14.1","@types/luxon":"^3.7.1","@types/multer":"^1.4.12","@biomejs/biome":"^2.3.6","@types/express":"^5.0.6","@types/supertest":"^6.0.2","passport-local-mongoose":"^9.0.1","@types/passport-local-mongoose":"^6.1.5"},"peerDependencies":{"mongoose":"^8.0.0","@terreno/api":"0.14.1"},"_npmOperationalInternal":{"tmp":"tmp/ai_0.14.1_1779980647324_0.38092695579298685","host":"s3://npm-registry-packages-npm-production"}},"0.14.2":{"name":"@terreno/ai","version":"0.14.2","keywords":["ai","gpt","mongoose","express"],"author":{"name":"Josh Gachnang"},"license":"Apache-2.0","_id":"@terreno/ai@0.14.2","maintainers":[{"name":"ashflourishing","email":"ashutosh@flourish.health"},{"name":"servercobra","email":"josh@nang.io"}],"homepage":"https://github.com/FlourishHealth/terreno#readme","bugs":{"url":"https://github.com/FlourishHealth/terreno/issues"},"dist":{"shasum":"51403c123a2f651ae43872e15ff793338027c22f","tarball":"https://registry.npmjs.org/@terreno/ai/-/ai-0.14.2.tgz","fileCount":131,"integrity":"sha512-uHyYSZ/2+UqcK+0OwDppf/VhCBqYKsFYAjelJ9E0DfBEI1ZscOjIVy9+UaRDlPP3n4x0lrU5GhICfqTYH6pxDg==","signatures":[{"sig":"MEQCIAuxFQvtan1aDGiynrSHjDAsPiLUcXIYgRu3MmcMVAoqAiBF3U4UeRWkCsvmdzHqu1ItJ1sSEAz93h/oC1LKUzUICQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":555625},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.js"},"./langfuseApp":{"types":"./dist/langfuseApp.d.ts","import":"./dist/langfuseApp.js","default":"./dist/langfuseApp.js","require":"./dist/langfuseApp.js"},"./langfuseClient":{"types":"./dist/langfuseClient.d.ts","import":"./dist/langfuseClient.js","default":"./dist/langfuseClient.js","require":"./dist/langfuseClient.js"}},"gitHead":"a63e7dd022040847e3530c2618b1d7b623b0cf19","scripts":{"dev":"bun tsc -w","lint":"biome check ./src","test":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","compile":"bun tsc","test:ci":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","lint:fix":"biome check --write ./src","compile:watch":"bun tsc -w","test:coverage":"bun run ../scripts/check-coverage.ts","lint:unsafefix":"biome check --fix --unsafe ./src"},"_npmUser":{"name":"servercobra","email":"josh@nang.io"},"repository":{"url":"git+ssh://git@github.com/FlourishHealth/terreno.git","type":"git"},"_npmVersion":"10.9.8","description":"AI service layer for Terreno apps - GPT chat, request logging, and admin tools.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"ai":"^6.0.97","luxon":"^3.7.2","multer":"^1.4.5-lts.1","@ai-sdk/mcp":"^1.0.21","@langfuse/otel":"^5.0.1","@langfuse/client":"^5.0.1","@opentelemetry/api":"^1.9.0","@google-cloud/storage":"^7.15.0","@opentelemetry/sdk-node":"0.213.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"winston":"^3.18.3","mongoose":"8.23.0","supertest":"^7.0.0","@types/bun":"^1.2.4","typescript":"5.8.2","@terreno/api":"0.14.2","@types/luxon":"^3.7.1","@types/multer":"^1.4.12","@biomejs/biome":"^2.3.6","@types/express":"^5.0.6","@types/supertest":"^6.0.2","passport-local-mongoose":"^9.0.1","@types/passport-local-mongoose":"^6.1.5"},"peerDependencies":{"mongoose":"^8.0.0","@terreno/api":"0.14.2"},"_npmOperationalInternal":{"tmp":"tmp/ai_0.14.2_1780081354027_0.8784986295789825","host":"s3://npm-registry-packages-npm-production"}},"0.15.0":{"name":"@terreno/ai","version":"0.15.0","keywords":["ai","gpt","mongoose","express"],"author":{"name":"Josh Gachnang"},"license":"Apache-2.0","_id":"@terreno/ai@0.15.0","maintainers":[{"name":"ashflourishing","email":"ashutosh@flourish.health"},{"name":"servercobra","email":"josh@nang.io"}],"homepage":"https://github.com/FlourishHealth/terreno#readme","bugs":{"url":"https://github.com/FlourishHealth/terreno/issues"},"dist":{"shasum":"fb6c56c1b579a17ea836846ba443313e4b1075a0","tarball":"https://registry.npmjs.org/@terreno/ai/-/ai-0.15.0.tgz","fileCount":131,"integrity":"sha512-1KkHDGReYjpWPqlSOcNwXjep2csqMWQx5nHcbjQCndcy7PCN/yxv3wE329i87yH2xMYKyAcWy/wRnTASvoIXGA==","signatures":[{"sig":"MEUCIQDXMPUJVnd1GBxbu0qq/+ceGKtIlbDQj2llGWzWpDHF8AIgSjWuENbV23rBGR5ltYrmR2iZIxCSXgLgqXjz0yRn6Zk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":555625},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.js"},"./langfuseApp":{"types":"./dist/langfuseApp.d.ts","import":"./dist/langfuseApp.js","default":"./dist/langfuseApp.js","require":"./dist/langfuseApp.js"},"./langfuseClient":{"types":"./dist/langfuseClient.d.ts","import":"./dist/langfuseClient.js","default":"./dist/langfuseClient.js","require":"./dist/langfuseClient.js"}},"gitHead":"78e8b0e7848c5bbe7f19f053e9775ff898474900","scripts":{"dev":"bun tsc -w","lint":"biome check ./src","test":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","compile":"bun tsc","test:ci":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","lint:fix":"biome check --write ./src","compile:watch":"bun tsc -w","test:coverage":"bun run ../scripts/check-coverage.ts","lint:unsafefix":"biome check --fix --unsafe ./src"},"_npmUser":{"name":"servercobra","email":"josh@nang.io"},"repository":{"url":"git+ssh://git@github.com/FlourishHealth/terreno.git","type":"git"},"_npmVersion":"10.9.8","description":"AI service layer for Terreno apps - GPT chat, request logging, and admin tools.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"ai":"^6.0.97","luxon":"^3.7.2","multer":"^1.4.5-lts.1","@ai-sdk/mcp":"^1.0.21","@langfuse/otel":"^5.0.1","@langfuse/client":"^5.0.1","@opentelemetry/api":"^1.9.0","@google-cloud/storage":"^7.15.0","@opentelemetry/sdk-node":"0.213.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"winston":"^3.18.3","mongoose":"8.23.0","supertest":"^7.0.0","@types/bun":"^1.2.4","typescript":"5.8.2","@terreno/api":"0.15.0","@types/luxon":"^3.7.1","@types/multer":"^1.4.12","@biomejs/biome":"^2.3.6","@types/express":"^5.0.6","@types/supertest":"^6.0.2","passport-local-mongoose":"^9.0.1","@types/passport-local-mongoose":"^6.1.5"},"peerDependencies":{"mongoose":"^8.0.0","@terreno/api":"0.15.0"},"_npmOperationalInternal":{"tmp":"tmp/ai_0.15.0_1780289698411_0.9510268298166484","host":"s3://npm-registry-packages-npm-production"}},"0.15.1":{"name":"@terreno/ai","version":"0.15.1","keywords":["ai","gpt","mongoose","express"],"author":{"name":"Josh Gachnang"},"license":"Apache-2.0","_id":"@terreno/ai@0.15.1","maintainers":[{"name":"ashflourishing","email":"ashutosh@flourish.health"},{"name":"servercobra","email":"josh@nang.io"}],"homepage":"https://github.com/FlourishHealth/terreno#readme","bugs":{"url":"https://github.com/FlourishHealth/terreno/issues"},"dist":{"shasum":"a3f347e36bda98828f0f8bc5bb3bf9565f22319d","tarball":"https://registry.npmjs.org/@terreno/ai/-/ai-0.15.1.tgz","fileCount":131,"integrity":"sha512-wzBuKfIfdGzRPoIkHPpwdCT6qKSYXJQDobP4rXpjM54yQuodivF7ii28IeTqbABMaCp0qghTTae3e4FxcoNeag==","signatures":[{"sig":"MEUCIEZ3teHM4E29OPtZVPelAJR+s5k6KVd+/dnJa8xrZnQeAiEAsJe6edyH0nKmOQLlzsHiHSMkJ9D0FS+8NeoGFzwpo5E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":555625},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.js"},"./langfuseApp":{"types":"./dist/langfuseApp.d.ts","import":"./dist/langfuseApp.js","default":"./dist/langfuseApp.js","require":"./dist/langfuseApp.js"},"./langfuseClient":{"types":"./dist/langfuseClient.d.ts","import":"./dist/langfuseClient.js","default":"./dist/langfuseClient.js","require":"./dist/langfuseClient.js"}},"gitHead":"bd46b73de2b12f70b9e9dc977ac86aac533d9754","scripts":{"dev":"bun tsc -w","lint":"biome check ./src","test":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","compile":"bun tsc","test:ci":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","lint:fix":"biome check --write ./src","compile:watch":"bun tsc -w","test:coverage":"bun run ../scripts/check-coverage.ts","lint:unsafefix":"biome check --fix --unsafe ./src"},"_npmUser":{"name":"servercobra","email":"josh@nang.io"},"repository":{"url":"git+ssh://git@github.com/FlourishHealth/terreno.git","type":"git"},"_npmVersion":"10.9.8","description":"AI service layer for Terreno apps - GPT chat, request logging, and admin tools.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"ai":"^6.0.97","luxon":"^3.7.2","multer":"^1.4.5-lts.1","@ai-sdk/mcp":"^1.0.21","@langfuse/otel":"^5.0.1","@langfuse/client":"^5.0.1","@opentelemetry/api":"^1.9.0","@google-cloud/storage":"^7.15.0","@opentelemetry/sdk-node":"0.213.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"winston":"^3.18.3","mongoose":"8.23.0","supertest":"^7.0.0","@types/bun":"^1.2.4","typescript":"5.8.2","@terreno/api":"0.15.1","@types/luxon":"^3.7.1","@types/multer":"^1.4.12","@biomejs/biome":"^2.3.6","@types/express":"^5.0.6","@types/supertest":"^6.0.2","passport-local-mongoose":"^9.0.1","@types/passport-local-mongoose":"^6.1.5"},"peerDependencies":{"mongoose":"^8.0.0","@terreno/api":"0.15.1"},"_npmOperationalInternal":{"tmp":"tmp/ai_0.15.1_1780344276063_0.3857436684743145","host":"s3://npm-registry-packages-npm-production"}},"0.15.2":{"name":"@terreno/ai","version":"0.15.2","keywords":["ai","gpt","mongoose","express"],"author":{"name":"Josh Gachnang"},"license":"Apache-2.0","_id":"@terreno/ai@0.15.2","maintainers":[{"name":"ashflourishing","email":"ashutosh@flourish.health"},{"name":"servercobra","email":"josh@nang.io"}],"homepage":"https://github.com/FlourishHealth/terreno#readme","bugs":{"url":"https://github.com/FlourishHealth/terreno/issues"},"dist":{"shasum":"ef2e032e2a79add4a1d65efb3cd27e602453d936","tarball":"https://registry.npmjs.org/@terreno/ai/-/ai-0.15.2.tgz","fileCount":131,"integrity":"sha512-MVA4m+fr2ooNnzxJht5+QwYfw0E0zOUkmDozvtf8fzCijBjb0Ut8FU6DwqJFv27a2b7NND1nvyQMIfsNs1wUlg==","signatures":[{"sig":"MEUCIQCTiwoDlipxCnaMIQZuLCwxggv7t29BbC6clfCYqPDEvAIgcCjp1L5/w7J0jcR+flMuai+jAl/H+OoceNEsMpuFIao=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":555625},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.js"},"./langfuseApp":{"types":"./dist/langfuseApp.d.ts","import":"./dist/langfuseApp.js","default":"./dist/langfuseApp.js","require":"./dist/langfuseApp.js"},"./langfuseClient":{"types":"./dist/langfuseClient.d.ts","import":"./dist/langfuseClient.js","default":"./dist/langfuseClient.js","require":"./dist/langfuseClient.js"}},"gitHead":"3defd1a215881fcf99b6f795bcd9f3e8655d80f7","scripts":{"dev":"bun tsc -w","lint":"biome check ./src","test":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","compile":"bun tsc","test:ci":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","lint:fix":"biome check --write ./src","compile:watch":"bun tsc -w","test:coverage":"bun run ../scripts/check-coverage.ts","lint:unsafefix":"biome check --fix --unsafe ./src"},"_npmUser":{"name":"servercobra","email":"josh@nang.io"},"repository":{"url":"git+ssh://git@github.com/FlourishHealth/terreno.git","type":"git"},"_npmVersion":"10.9.8","description":"AI service layer for Terreno apps - GPT chat, request logging, and admin tools.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"ai":"^6.0.97","luxon":"^3.7.2","multer":"^1.4.5-lts.1","@ai-sdk/mcp":"^1.0.21","@langfuse/otel":"^5.0.1","@langfuse/client":"^5.0.1","@opentelemetry/api":"^1.9.0","@google-cloud/storage":"^7.15.0","@opentelemetry/sdk-node":"0.213.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"winston":"^3.18.3","mongoose":"8.23.0","supertest":"^7.0.0","@types/bun":"^1.2.4","typescript":"5.8.2","@terreno/api":"0.15.2","@types/luxon":"^3.7.1","@types/multer":"^1.4.12","@biomejs/biome":"^2.3.6","@types/express":"^5.0.6","@types/supertest":"^6.0.2","passport-local-mongoose":"^9.0.1","@types/passport-local-mongoose":"^6.1.5"},"peerDependencies":{"mongoose":"^8.0.0","@terreno/api":"0.15.2"},"_npmOperationalInternal":{"tmp":"tmp/ai_0.15.2_1780419652670_0.5474300097426748","host":"s3://npm-registry-packages-npm-production"}},"0.16.1":{"name":"@terreno/ai","version":"0.16.1","keywords":["ai","gpt","mongoose","express"],"author":{"name":"Josh Gachnang"},"license":"Apache-2.0","_id":"@terreno/ai@0.16.1","maintainers":[{"name":"ashflourishing","email":"ashutosh@flourish.health"},{"name":"servercobra","email":"josh@nang.io"}],"homepage":"https://github.com/FlourishHealth/terreno#readme","bugs":{"url":"https://github.com/FlourishHealth/terreno/issues"},"dist":{"shasum":"b31fc58009443bc6a4bbc49b836e7d3c18181522","tarball":"https://registry.npmjs.org/@terreno/ai/-/ai-0.16.1.tgz","fileCount":131,"integrity":"sha512-cUIRvZ8QMlovZfYSPSMQQohdEVFWza+/BxMpDuyb+CLMoe+iY906Rg9JYOne6wyyeeQbYLWdWxlIFVNEnCzDaA==","signatures":[{"sig":"MEQCIB0u1WeT0s05Pzi1LZWXY9uTHR0UUV6DfCJpUyj5Mni4AiBgR9GpG6qXjHxqgh/6QeRdG56r2RRPFTkaOKqvIZwqvA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":555625},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.js"},"./langfuseApp":{"types":"./dist/langfuseApp.d.ts","import":"./dist/langfuseApp.js","default":"./dist/langfuseApp.js","require":"./dist/langfuseApp.js"},"./langfuseClient":{"types":"./dist/langfuseClient.d.ts","import":"./dist/langfuseClient.js","default":"./dist/langfuseClient.js","require":"./dist/langfuseClient.js"}},"gitHead":"c8978e8888587deaf035bb99d11e8420020b3447","scripts":{"dev":"bun tsc -w","lint":"biome check ./src","test":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","compile":"bun tsc","test:ci":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","lint:fix":"biome check --write ./src","compile:watch":"bun tsc -w","test:coverage":"bun run ../scripts/check-coverage.ts","lint:unsafefix":"biome check --fix --unsafe ./src"},"_npmUser":{"name":"servercobra","email":"josh@nang.io"},"repository":{"url":"git+ssh://git@github.com/FlourishHealth/terreno.git","type":"git"},"_npmVersion":"10.9.8","description":"AI service layer for Terreno apps - GPT chat, request logging, and admin tools.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"ai":"^6.0.97","luxon":"^3.7.2","multer":"^1.4.5-lts.1","@ai-sdk/mcp":"^1.0.21","@langfuse/otel":"^5.0.1","@langfuse/client":"^5.0.1","@opentelemetry/api":"^1.9.0","@google-cloud/storage":"^7.15.0","@opentelemetry/sdk-node":"0.213.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"winston":"^3.18.3","mongoose":"8.23.0","supertest":"^7.0.0","@types/bun":"^1.2.4","typescript":"5.8.2","@terreno/api":"0.16.1","@types/luxon":"^3.7.1","@types/multer":"^1.4.12","@biomejs/biome":"^2.3.6","@types/express":"^5.0.6","@types/supertest":"^6.0.2","passport-local-mongoose":"^9.0.1","@types/passport-local-mongoose":"^6.1.5"},"peerDependencies":{"mongoose":"^8.0.0","@terreno/api":"0.16.1"},"_npmOperationalInternal":{"tmp":"tmp/ai_0.16.1_1780442494533_0.18492846427639242","host":"s3://npm-registry-packages-npm-production"}},"0.17.0":{"name":"@terreno/ai","version":"0.17.0","keywords":["ai","gpt","mongoose","express"],"author":{"name":"Josh Gachnang"},"license":"Apache-2.0","_id":"@terreno/ai@0.17.0","maintainers":[{"name":"ashflourishing","email":"ashutosh@flourish.health"},{"name":"servercobra","email":"josh@nang.io"}],"homepage":"https://github.com/FlourishHealth/terreno#readme","bugs":{"url":"https://github.com/FlourishHealth/terreno/issues"},"dist":{"shasum":"4065bcc1b13fe7b54c2eab30f1e25e435fbf5903","tarball":"https://registry.npmjs.org/@terreno/ai/-/ai-0.17.0.tgz","fileCount":139,"integrity":"sha512-QHfjffbCxAqGSGk58rp+cc3uabNVplMWbmIAPQA1aEtbcZZDUolIwY7srah4hvdSL91MOWyMh2QmNpB1SRUXQA==","signatures":[{"sig":"MEYCIQDZpAOQ0jaBZmQWXJFOUv6s7Wru23d0NBfjFmhJx1HthQIhAJqABOw02qtNJCtAKMH6S8Kwvg43lEguMr0zPjfpd5O/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":623195},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.js"},"./langfuseApp":{"types":"./dist/langfuseApp.d.ts","import":"./dist/langfuseApp.js","default":"./dist/langfuseApp.js","require":"./dist/langfuseApp.js"},"./langfuseClient":{"types":"./dist/langfuseClient.d.ts","import":"./dist/langfuseClient.js","default":"./dist/langfuseClient.js","require":"./dist/langfuseClient.js"}},"gitHead":"22f08353c4c3491a3a1cdfe0dd06915910776610","scripts":{"dev":"bun tsc -w","lint":"biome check ./src","test":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","compile":"bun tsc","test:ci":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","lint:fix":"biome check --write ./src","compile:watch":"bun tsc -w","test:coverage":"bun run ../scripts/check-coverage.ts","lint:unsafefix":"biome check --fix --unsafe ./src"},"_npmUser":{"name":"servercobra","email":"josh@nang.io"},"repository":{"url":"git+ssh://git@github.com/FlourishHealth/terreno.git","type":"git"},"_npmVersion":"10.9.8","description":"AI service layer for Terreno apps - GPT chat, request logging, and admin tools.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"ai":"^6.0.97","luxon":"^3.7.2","multer":"^1.4.5-lts.1","@ai-sdk/mcp":"^1.0.21","@langfuse/otel":"^5.0.1","@langfuse/client":"^5.0.1","@opentelemetry/api":"^1.9.0","google-auth-library":"^10.5.0","@google-cloud/storage":"^7.15.0","@opentelemetry/sdk-node":"0.213.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"winston":"^3.18.3","mongoose":"8.23.0","supertest":"^7.0.0","@types/bun":"^1.2.4","typescript":"5.8.2","@terreno/api":"0.17.0","@types/luxon":"^3.7.1","@types/multer":"^1.4.12","@biomejs/biome":"^2.3.6","@types/express":"^5.0.6","@types/supertest":"^6.0.2","passport-local-mongoose":"^9.0.1","@types/passport-local-mongoose":"^6.1.5"},"peerDependencies":{"mongoose":"^8.0.0","@terreno/api":"0.17.0"},"_npmOperationalInternal":{"tmp":"tmp/ai_0.17.0_1780598514600_0.7613306005442984","host":"s3://npm-registry-packages-npm-production"}},"0.18.0":{"name":"@terreno/ai","version":"0.18.0","keywords":["ai","gpt","mongoose","express"],"author":{"name":"Josh Gachnang"},"license":"Apache-2.0","_id":"@terreno/ai@0.18.0","maintainers":[{"name":"ashflourishing","email":"ashutosh@flourish.health"},{"name":"servercobra","email":"josh@nang.io"}],"homepage":"https://github.com/FlourishHealth/terreno#readme","bugs":{"url":"https://github.com/FlourishHealth/terreno/issues"},"dist":{"shasum":"c301f3c31df581b91703a46af015bd08d09b0f9f","tarball":"https://registry.npmjs.org/@terreno/ai/-/ai-0.18.0.tgz","fileCount":139,"integrity":"sha512-qrTOrQhnLb0khcxri88PdFZrhj51L6MOOCLtP8BJqSK9155hGuQqKKg8q5oft8WEn/p3HiKwgbk3exlzAO2wag==","signatures":[{"sig":"MEQCIDT9cY49H8nDoV1/e4qcBSY3EpZ7oW6bbqfvPSRyz0R5AiAz7l+Bh/LOilHv850+wb0HUEDAz0Ag2M4b90WC9PF/ng==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":623195},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.js"},"./langfuseApp":{"types":"./dist/langfuseApp.d.ts","import":"./dist/langfuseApp.js","default":"./dist/langfuseApp.js","require":"./dist/langfuseApp.js"},"./langfuseClient":{"types":"./dist/langfuseClient.d.ts","import":"./dist/langfuseClient.js","default":"./dist/langfuseClient.js","require":"./dist/langfuseClient.js"}},"gitHead":"ca900ce19a816bc48e2076c03b99c91b0d983eb2","scripts":{"dev":"bun tsc -w","lint":"biome check ./src","test":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","compile":"bun tsc","test:ci":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","lint:fix":"biome check --write ./src","compile:watch":"bun tsc -w","test:coverage":"bun run ../scripts/check-coverage.ts","lint:unsafefix":"biome check --fix --unsafe ./src"},"_npmUser":{"name":"servercobra","email":"josh@nang.io"},"repository":{"url":"git+ssh://git@github.com/FlourishHealth/terreno.git","type":"git"},"_npmVersion":"10.9.8","description":"AI service layer for Terreno apps - GPT chat, request logging, and admin tools.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"ai":"^6.0.97","luxon":"^3.7.2","multer":"^1.4.5-lts.1","@ai-sdk/mcp":"^1.0.21","@langfuse/otel":"^5.0.1","@langfuse/client":"^5.0.1","@opentelemetry/api":"^1.9.0","google-auth-library":"^10.5.0","@google-cloud/storage":"^7.15.0","@opentelemetry/sdk-node":"0.213.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"winston":"^3.18.3","mongoose":"8.23.0","supertest":"^7.0.0","@types/bun":"^1.2.4","typescript":"5.8.2","@terreno/api":"0.18.0","@types/luxon":"^3.7.1","@types/multer":"^1.4.12","@biomejs/biome":"^2.3.6","@types/express":"^5.0.6","@types/supertest":"^6.0.2","passport-local-mongoose":"^9.0.1","@types/passport-local-mongoose":"^6.1.5"},"peerDependencies":{"mongoose":"^8.0.0","@terreno/api":"0.18.0"},"_npmOperationalInternal":{"tmp":"tmp/ai_0.18.0_1781154613064_0.577661585549273","host":"s3://npm-registry-packages-npm-production"}},"0.19.0":{"name":"@terreno/ai","version":"0.19.0","keywords":["ai","gpt","mongoose","express"],"author":{"name":"Josh Gachnang"},"license":"Apache-2.0","_id":"@terreno/ai@0.19.0","maintainers":[{"name":"ashflourishing","email":"ashutosh@flourish.health"},{"name":"servercobra","email":"josh@nang.io"}],"homepage":"https://github.com/FlourishHealth/terreno#readme","bugs":{"url":"https://github.com/FlourishHealth/terreno/issues"},"dist":{"shasum":"959fec463a45b20f41e5edefdb3c455bcc9d2d06","tarball":"https://registry.npmjs.org/@terreno/ai/-/ai-0.19.0.tgz","fileCount":143,"integrity":"sha512-jDYuxbl4P7DI1mZ5DedEYvqGCE9vvM7o5L/KxFGk975LrnHChR+iWbM7uXZfOWAB52rtL/RuZyTCqPfSbNLasg==","signatures":[{"sig":"MEYCIQDCHImHtqakoPBUSNh7Bs41IguE3TLmgl2JbG0NcbAhZwIhANU14DZKLMi4xk7ISZFV16HBzeoUwqBNBx6towfo2d0a","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":678020},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.js"},"./langfuseApp":{"types":"./dist/langfuseApp.d.ts","import":"./dist/langfuseApp.js","default":"./dist/langfuseApp.js","require":"./dist/langfuseApp.js"},"./langfuseClient":{"types":"./dist/langfuseClient.d.ts","import":"./dist/langfuseClient.js","default":"./dist/langfuseClient.js","require":"./dist/langfuseClient.js"}},"gitHead":"b8fdcd19bac1e62be35e6c03cb02112c69f527be","scripts":{"dev":"bun tsc -w","lint":"biome check ./src","test":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","compile":"bun tsc","test:ci":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","lint:fix":"biome check --write ./src","compile:watch":"bun tsc -w","test:coverage":"bun run ../scripts/check-coverage.ts","lint:unsafefix":"biome check --fix --unsafe ./src"},"_npmUser":{"name":"servercobra","email":"josh@nang.io"},"repository":{"url":"git+ssh://git@github.com/FlourishHealth/terreno.git","type":"git"},"_npmVersion":"10.9.8","description":"AI service layer for Terreno apps - GPT chat, request logging, and admin tools.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"ai":"^6.0.97","luxon":"^3.7.2","multer":"^1.4.5-lts.1","@ai-sdk/mcp":"^1.0.21","@langfuse/otel":"^5.0.1","@langfuse/client":"^5.0.1","@opentelemetry/api":"^1.9.0","google-auth-library":"^10.5.0","@google-cloud/storage":"^7.15.0","@opentelemetry/sdk-node":"0.213.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"winston":"^3.18.3","mongoose":"8.23.0","supertest":"^7.0.0","@types/bun":"^1.2.4","typescript":"5.8.2","@terreno/api":"0.19.0","@types/luxon":"^3.7.1","@types/multer":"^1.4.12","@biomejs/biome":"^2.3.6","@types/express":"^5.0.6","@types/supertest":"^6.0.2","passport-local-mongoose":"^9.0.1","@types/passport-local-mongoose":"^6.1.5"},"peerDependencies":{"mongoose":"^8.0.0","@terreno/api":"0.19.0"},"_npmOperationalInternal":{"tmp":"tmp/ai_0.19.0_1781459715782_0.8375676255806366","host":"s3://npm-registry-packages-npm-production"}},"0.20.0":{"name":"@terreno/ai","version":"0.20.0","keywords":["ai","gpt","mongoose","express"],"author":{"name":"Josh Gachnang"},"license":"Apache-2.0","_id":"@terreno/ai@0.20.0","maintainers":[{"name":"ashflourishing","email":"ashutosh@flourish.health"},{"name":"servercobra","email":"josh@nang.io"}],"homepage":"https://github.com/FlourishHealth/terreno#readme","bugs":{"url":"https://github.com/FlourishHealth/terreno/issues"},"dist":{"shasum":"b23ff1b57d22de4f3f5ff4a0804d6296ebf33ed7","tarball":"https://registry.npmjs.org/@terreno/ai/-/ai-0.20.0.tgz","fileCount":143,"integrity":"sha512-bOFtm58QcXvi6dNr8Ao0uRfICJUhjMWxOvq3KOhULrBjhKS178N3UhaeC1x5MpBdLRpDLL2cuBUvaJWElBiNIw==","signatures":[{"sig":"MEUCIQDhAJKDH2pfmSXVrdzVCbz9N+rNX/ZLvuq9YUGJ6twrKgIgFgE3AGtxBRCPkyXUdcSS7FXFv7m9LQMV/uer3s2X/4Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":678020},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.js"},"./langfuseApp":{"types":"./dist/langfuseApp.d.ts","import":"./dist/langfuseApp.js","default":"./dist/langfuseApp.js","require":"./dist/langfuseApp.js"},"./langfuseClient":{"types":"./dist/langfuseClient.d.ts","import":"./dist/langfuseClient.js","default":"./dist/langfuseClient.js","require":"./dist/langfuseClient.js"}},"gitHead":"bb3fe04947d8a7a8da37ce4637b9d87ef4dee6bd","scripts":{"dev":"bun tsc -w","lint":"biome check ./src","test":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","compile":"bun tsc","test:ci":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","lint:fix":"biome check --write ./src","compile:watch":"bun tsc -w","test:coverage":"bun run ../scripts/check-coverage.ts","lint:unsafefix":"biome check --fix --unsafe ./src"},"_npmUser":{"name":"servercobra","email":"josh@nang.io"},"repository":{"url":"git+ssh://git@github.com/FlourishHealth/terreno.git","type":"git"},"_npmVersion":"10.9.8","description":"AI service layer for Terreno apps - GPT chat, request logging, and admin tools.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"ai":"^6.0.97","luxon":"^3.7.2","multer":"^1.4.5-lts.1","@ai-sdk/mcp":"^1.0.21","@langfuse/otel":"^5.0.1","@langfuse/client":"^5.0.1","@opentelemetry/api":"^1.9.0","google-auth-library":"^10.5.0","@google-cloud/storage":"^7.15.0","@opentelemetry/sdk-node":"0.213.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"winston":"^3.18.3","mongoose":"8.23.0","supertest":"^7.0.0","@types/bun":"^1.2.4","typescript":"5.8.2","@terreno/api":"0.20.0","@types/luxon":"^3.7.1","@types/multer":"^1.4.12","@biomejs/biome":"^2.3.6","@types/express":"^5.0.6","@types/supertest":"^6.0.2","passport-local-mongoose":"^9.0.1","@types/passport-local-mongoose":"^6.1.5"},"peerDependencies":{"mongoose":"^8.0.0","@terreno/api":"0.20.0"},"_npmOperationalInternal":{"tmp":"tmp/ai_0.20.0_1781472796118_0.42028229770237147","host":"s3://npm-registry-packages-npm-production"}},"0.20.1":{"name":"@terreno/ai","version":"0.20.1","keywords":["ai","gpt","mongoose","express"],"author":{"name":"Josh Gachnang"},"license":"Apache-2.0","_id":"@terreno/ai@0.20.1","maintainers":[{"name":"ashflourishing","email":"ashutosh@flourish.health"},{"name":"servercobra","email":"josh@nang.io"}],"homepage":"https://github.com/FlourishHealth/terreno#readme","bugs":{"url":"https://github.com/FlourishHealth/terreno/issues"},"dist":{"shasum":"d2ea193fe5f4a5dbcc5e6cb043d81be27821a903","tarball":"https://registry.npmjs.org/@terreno/ai/-/ai-0.20.1.tgz","fileCount":143,"integrity":"sha512-+DMeqp2CFcBYUnrsrbDTuU7sR8Q6RjyDZLu9Cg0+Z0NhX+OPnDQHtmQ+zbZYZnrM2J6Fga525h7Ej9n6PD982g==","signatures":[{"sig":"MEUCIQCvTKoEE/gwbXrzbLYyfWQABCnfDMoI0uGrpqex5JttJQIgLzOqOpTL6G5v6SsnhI4NB4YKKw7vh/RTyty6cpEAc4s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":678248},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.js"},"./langfuseApp":{"types":"./dist/langfuseApp.d.ts","import":"./dist/langfuseApp.js","default":"./dist/langfuseApp.js","require":"./dist/langfuseApp.js"},"./parseAiJson":{"types":"./dist/service/parseAiJson.d.ts","import":"./dist/service/parseAiJson.js","default":"./dist/service/parseAiJson.js","require":"./dist/service/parseAiJson.js"},"./langfuseClient":{"types":"./dist/langfuseClient.d.ts","import":"./dist/langfuseClient.js","default":"./dist/langfuseClient.js","require":"./dist/langfuseClient.js"}},"gitHead":"4e2998b8a6d46c8ac7549e131917e20ba16face2","scripts":{"dev":"bun tsc -w","lint":"biome check ./src","test":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","compile":"bun tsc","test:ci":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","lint:fix":"biome check --write ./src","compile:watch":"bun tsc -w","test:coverage":"bun run ../scripts/check-coverage.ts","lint:unsafefix":"biome check --fix --unsafe ./src"},"_npmUser":{"name":"servercobra","email":"josh@nang.io"},"repository":{"url":"git+ssh://git@github.com/FlourishHealth/terreno.git","type":"git"},"_npmVersion":"10.9.8","description":"AI service layer for Terreno apps - GPT chat, request logging, and admin tools.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"ai":"^6.0.97","luxon":"^3.7.2","multer":"^1.4.5-lts.1","@ai-sdk/mcp":"^1.0.21","@langfuse/otel":"^5.0.1","@langfuse/client":"^5.0.1","@opentelemetry/api":"^1.9.0","google-auth-library":"^10.5.0","@google-cloud/storage":"^7.15.0","@opentelemetry/sdk-node":"0.213.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"winston":"^3.18.3","mongoose":"8.23.0","supertest":"^7.0.0","@types/bun":"^1.2.4","typescript":"5.8.2","@terreno/api":"0.20.1","@types/luxon":"^3.7.1","@types/multer":"^1.4.12","@biomejs/biome":"^2.3.6","@types/express":"^5.0.6","@types/supertest":"^6.0.2","passport-local-mongoose":"^9.0.1","@types/passport-local-mongoose":"^6.1.5"},"peerDependencies":{"mongoose":"^8.0.0","@terreno/api":"0.20.1"},"_npmOperationalInternal":{"tmp":"tmp/ai_0.20.1_1781651628649_0.3197537766556324","host":"s3://npm-registry-packages-npm-production"}},"0.20.2":{"name":"@terreno/ai","version":"0.20.2","keywords":["ai","gpt","mongoose","express"],"author":{"name":"Josh Gachnang"},"license":"Apache-2.0","_id":"@terreno/ai@0.20.2","maintainers":[{"name":"ashflourishing","email":"ashutosh@flourish.health"},{"name":"servercobra","email":"josh@nang.io"}],"homepage":"https://github.com/FlourishHealth/terreno#readme","bugs":{"url":"https://github.com/FlourishHealth/terreno/issues"},"dist":{"shasum":"13a99f6809fb70754bf083955f41d4f83731f6ea","tarball":"https://registry.npmjs.org/@terreno/ai/-/ai-0.20.2.tgz","fileCount":143,"integrity":"sha512-wVvrcn2RbnY279n2mJiuqinUFzePEHIfXCvGq5iLw5RFJD+LRhLMDdaUN5QymNZCDa8QVxdSatIMtOa9RjJQfQ==","signatures":[{"sig":"MEUCIH7GRRs0gWqB8H/AwFSdy72/alMeZgTYIwYlBKIY97Y/AiEA+fqfRqs2HvWvzMnwtjh6XxLg4A8zCHKio+Azv6t3m4o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":678248},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.js"},"./langfuseApp":{"types":"./dist/langfuseApp.d.ts","import":"./dist/langfuseApp.js","default":"./dist/langfuseApp.js","require":"./dist/langfuseApp.js"},"./parseAiJson":{"types":"./dist/service/parseAiJson.d.ts","import":"./dist/service/parseAiJson.js","default":"./dist/service/parseAiJson.js","require":"./dist/service/parseAiJson.js"},"./langfuseClient":{"types":"./dist/langfuseClient.d.ts","import":"./dist/langfuseClient.js","default":"./dist/langfuseClient.js","require":"./dist/langfuseClient.js"}},"gitHead":"0b2360f603a4abf406adbc84bff4c7f67a117e12","scripts":{"dev":"bun tsc -w","lint":"biome check ./src","test":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","compile":"bun tsc","test:ci":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","lint:fix":"biome check --write ./src","compile:watch":"bun tsc -w","test:coverage":"bun run ../scripts/check-coverage.ts","lint:unsafefix":"biome check --fix --unsafe ./src"},"_npmUser":{"name":"servercobra","email":"josh@nang.io"},"repository":{"url":"git+ssh://git@github.com/FlourishHealth/terreno.git","type":"git"},"_npmVersion":"10.9.8","description":"AI service layer for Terreno apps - GPT chat, request logging, and admin tools.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"ai":"^6.0.97","luxon":"^3.7.2","multer":"^1.4.5-lts.1","@ai-sdk/mcp":"^1.0.21","@langfuse/otel":"^5.0.1","@langfuse/client":"^5.0.1","@opentelemetry/api":"^1.9.0","google-auth-library":"^10.5.0","@google-cloud/storage":"^7.15.0","@opentelemetry/sdk-node":"0.213.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"winston":"^3.18.3","mongoose":"8.23.0","supertest":"^7.0.0","@types/bun":"^1.2.4","typescript":"5.8.2","@terreno/api":"0.20.2","@types/luxon":"^3.7.1","@types/multer":"^1.4.12","@biomejs/biome":"^2.3.6","@types/express":"^5.0.6","@types/supertest":"^6.0.2","passport-local-mongoose":"^9.0.1","@types/passport-local-mongoose":"^6.1.5"},"peerDependencies":{"mongoose":"^8.0.0","@terreno/api":"0.20.2"},"_npmOperationalInternal":{"tmp":"tmp/ai_0.20.2_1781732357527_0.08485868321175594","host":"s3://npm-registry-packages-npm-production"}},"0.21.0":{"name":"@terreno/ai","version":"0.21.0","keywords":["ai","gpt","mongoose","express"],"author":{"name":"Josh Gachnang"},"license":"Apache-2.0","_id":"@terreno/ai@0.21.0","maintainers":[{"name":"ashflourishing","email":"ashutosh@flourish.health"},{"name":"servercobra","email":"josh@nang.io"}],"homepage":"https://github.com/FlourishHealth/terreno#readme","bugs":{"url":"https://github.com/FlourishHealth/terreno/issues"},"dist":{"shasum":"e6553bd7e3cbdf1a4d60be1f7aa27c727fcad276","tarball":"https://registry.npmjs.org/@terreno/ai/-/ai-0.21.0.tgz","fileCount":143,"integrity":"sha512-tkc7MT3WvSYrFY4GXPgUZu6GPaOetcO/TjtrOgxqOsuBfnPTN9TtxX8piixLNRccQljsJmfHvhLoO6puLqgVww==","signatures":[{"sig":"MEUCIQDzqW9ssRGG+xJTUhooT69L/jpPw8mFaY95cqSfM7hClwIgF4gZTVeqxADGedKqK+li18SLT1XRJUJFRQW/h2LwDO8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":689959},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.js"},"./langfuseApp":{"types":"./dist/langfuseApp.d.ts","import":"./dist/langfuseApp.js","default":"./dist/langfuseApp.js","require":"./dist/langfuseApp.js"},"./parseAiJson":{"types":"./dist/service/parseAiJson.d.ts","import":"./dist/service/parseAiJson.js","default":"./dist/service/parseAiJson.js","require":"./dist/service/parseAiJson.js"},"./langfuseClient":{"types":"./dist/langfuseClient.d.ts","import":"./dist/langfuseClient.js","default":"./dist/langfuseClient.js","require":"./dist/langfuseClient.js"}},"gitHead":"8870614c7fff4934ee332f4718ecfa721faa18ae","scripts":{"dev":"bun tsc -w","lint":"biome check ./src","test":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","compile":"bun tsc","test:ci":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","lint:fix":"biome check --write ./src","compile:watch":"bun tsc -w","test:coverage":"bun run ../scripts/check-coverage.ts","lint:unsafefix":"biome check --fix --unsafe ./src"},"_npmUser":{"name":"servercobra","email":"josh@nang.io"},"repository":{"url":"git+ssh://git@github.com/FlourishHealth/terreno.git","type":"git"},"_npmVersion":"10.9.8","description":"AI service layer for Terreno apps - GPT chat, request logging, and admin tools.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"ai":"^6.0.97","luxon":"^3.7.2","multer":"2.2.0","@ai-sdk/mcp":"^1.0.21","@langfuse/otel":"^5.0.1","@langfuse/client":"^5.0.1","@opentelemetry/api":"^1.9.0","google-auth-library":"^10.5.0","@google-cloud/storage":"^7.15.0","@opentelemetry/sdk-node":"0.213.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"winston":"^3.18.3","mongoose":"8.23.0","supertest":"^7.0.0","@types/bun":"^1.2.4","typescript":"5.8.2","@terreno/api":"0.21.0","@types/luxon":"^3.7.1","@types/multer":"^1.4.12","@biomejs/biome":"^2.3.6","@types/express":"^5.0.6","@types/supertest":"^6.0.2","passport-local-mongoose":"^9.0.1","@types/passport-local-mongoose":"^6.1.5"},"peerDependencies":{"mongoose":"^8.0.0","@terreno/api":"0.21.0"},"_npmOperationalInternal":{"tmp":"tmp/ai_0.21.0_1782171844443_0.00862801348585629","host":"s3://npm-registry-packages-npm-production"}},"0.22.1":{"name":"@terreno/ai","version":"0.22.1","keywords":["ai","gpt","mongoose","express"],"author":{"name":"Josh Gachnang"},"license":"Apache-2.0","_id":"@terreno/ai@0.22.1","maintainers":[{"name":"ashflourishing","email":"ashutosh@flourish.health"},{"name":"servercobra","email":"josh@nang.io"}],"homepage":"https://github.com/FlourishHealth/terreno#readme","bugs":{"url":"https://github.com/FlourishHealth/terreno/issues"},"dist":{"shasum":"d160cb8cae72eb9402c0449e78051414719e942f","tarball":"https://registry.npmjs.org/@terreno/ai/-/ai-0.22.1.tgz","fileCount":144,"integrity":"sha512-S9rqYCxxTkGuElvOEjmBezf1oXs7E8/l/QSWQxG8DgIZVLLb5XM1acF7dAeqEUAxLtyCOW2K0ZOAu4jmmtXCaQ==","signatures":[{"sig":"MEUCIAXJFOuq+wl+T5Z5l9iGXYFAP9qajvnmPz2wcxNtz31eAiEA7Ew/Xkx+Uu7tUOfV8QB+9sczD2Ewv8YoUMWqTC+qwIA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":680569},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.js"},"./langfuseApp":{"types":"./dist/langfuseApp.d.ts","import":"./dist/langfuseApp.js","default":"./dist/langfuseApp.js","require":"./dist/langfuseApp.js"},"./parseAiJson":{"types":"./dist/service/parseAiJson.d.ts","import":"./dist/service/parseAiJson.js","default":"./dist/service/parseAiJson.js","require":"./dist/service/parseAiJson.js"},"./langfuseClient":{"types":"./dist/langfuseClient.d.ts","import":"./dist/langfuseClient.js","default":"./dist/langfuseClient.js","require":"./dist/langfuseClient.js"}},"gitHead":"21d2c0d3374a2e5c51e5894462de5a0a3626c1b9","scripts":{"dev":"bun tsc -w","lint":"biome check ./src","test":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","compile":"bun tsc","test:ci":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","lint:fix":"biome check --write ./src","compile:watch":"bun tsc -w","test:coverage":"bun run ../scripts/check-coverage.ts","lint:unsafefix":"biome check --fix --unsafe ./src"},"_npmUser":{"name":"servercobra","email":"josh@nang.io"},"repository":{"url":"git+ssh://git@github.com/FlourishHealth/terreno.git","type":"git"},"_npmVersion":"10.9.8","description":"AI service layer for Terreno apps - GPT chat, request logging, and admin tools.","directories":{},"_nodeVersion":"22.23.0","dependencies":{"ai":"^6.0.97","luxon":"^3.7.2","multer":"2.2.0","@ai-sdk/mcp":"^1.0.21","@langfuse/otel":"^5.0.1","@langfuse/client":"^5.0.1","@opentelemetry/api":"^1.9.0","google-auth-library":"^10.5.0","@google-cloud/storage":"^7.15.0","@opentelemetry/sdk-node":"0.213.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"winston":"^3.18.3","mongoose":"8.23.0","supertest":"^7.0.0","@types/bun":"^1.2.4","typescript":"5.8.2","@terreno/api":"0.22.1","@types/luxon":"^3.7.1","@terreno/test":"0.22.1","@types/multer":"^1.4.12","@biomejs/biome":"^2.3.6","@types/express":"^5.0.6","@types/supertest":"^6.0.2","passport-local-mongoose":"^9.0.1","@types/passport-local-mongoose":"^6.1.5"},"peerDependencies":{"mongoose":"^8.0.0","@terreno/api":"0.22.1"},"_npmOperationalInternal":{"tmp":"tmp/ai_0.22.1_1782339690443_0.6863675451119469","host":"s3://npm-registry-packages-npm-production"}},"0.22.2":{"name":"@terreno/ai","version":"0.22.2","keywords":["ai","gpt","mongoose","express"],"author":{"name":"Josh Gachnang"},"license":"Apache-2.0","_id":"@terreno/ai@0.22.2","maintainers":[{"name":"ashflourishing","email":"ashutosh@flourish.health"},{"name":"servercobra","email":"josh@nang.io"}],"homepage":"https://github.com/FlourishHealth/terreno#readme","bugs":{"url":"https://github.com/FlourishHealth/terreno/issues"},"dist":{"shasum":"973cac5520cdc9fee632317698ca321ccc56decd","tarball":"https://registry.npmjs.org/@terreno/ai/-/ai-0.22.2.tgz","fileCount":144,"integrity":"sha512-08REIrjpZoiSY6UYzJKo/fTZY8zilGbv7hLEpA0G2vubllsNdsPb7A/Fa5eHHJAbBxCSC4iI9ztAeO7P5Syz9A==","signatures":[{"sig":"MEUCIQCLdYzkK/0cYENfx3oEF4Ci1iTAgf6W+SAnXGOa3IEeYgIgO1sZJjwXznBZa7Vule5jy8Q/+obGgydXkV/FCsa94gk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":680569},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.js"},"./langfuseApp":{"types":"./dist/langfuseApp.d.ts","import":"./dist/langfuseApp.js","default":"./dist/langfuseApp.js","require":"./dist/langfuseApp.js"},"./parseAiJson":{"types":"./dist/service/parseAiJson.d.ts","import":"./dist/service/parseAiJson.js","default":"./dist/service/parseAiJson.js","require":"./dist/service/parseAiJson.js"},"./langfuseClient":{"types":"./dist/langfuseClient.d.ts","import":"./dist/langfuseClient.js","default":"./dist/langfuseClient.js","require":"./dist/langfuseClient.js"}},"gitHead":"e1dece3bfe19b58b43f49d186db28c6a21fe4c65","scripts":{"dev":"bun tsc -w","lint":"biome check ./src","test":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","compile":"bun tsc","test:ci":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","lint:fix":"biome check --write ./src","compile:watch":"bun tsc -w","test:coverage":"bun run ../scripts/check-coverage.ts","lint:unsafefix":"biome check --fix --unsafe ./src"},"_npmUser":{"name":"servercobra","email":"josh@nang.io"},"repository":{"url":"git+ssh://git@github.com/FlourishHealth/terreno.git","type":"git"},"_npmVersion":"10.9.8","description":"AI service layer for Terreno apps - GPT chat, request logging, and admin tools.","directories":{},"_nodeVersion":"22.23.0","dependencies":{"ai":"^6.0.97","luxon":"^3.7.2","multer":"2.2.0","@ai-sdk/mcp":"^1.0.21","@langfuse/otel":"^5.0.1","@langfuse/client":"^5.0.1","@opentelemetry/api":"^1.9.0","google-auth-library":"^10.5.0","@google-cloud/storage":"^7.15.0","@opentelemetry/sdk-node":"0.213.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"winston":"^3.18.3","mongoose":"8.23.0","supertest":"^7.0.0","@types/bun":"^1.2.4","typescript":"5.8.2","@terreno/api":"0.22.2","@types/luxon":"^3.7.1","@terreno/test":"0.22.2","@types/multer":"^1.4.12","@biomejs/biome":"^2.3.6","@types/express":"^5.0.6","@types/supertest":"^6.0.2","passport-local-mongoose":"^9.0.1","@types/passport-local-mongoose":"^6.1.5"},"peerDependencies":{"mongoose":"^8.0.0","@terreno/api":"0.22.2"},"_npmOperationalInternal":{"tmp":"tmp/ai_0.22.2_1782342715309_0.57088872867604","host":"s3://npm-registry-packages-npm-production"}},"0.23.0":{"name":"@terreno/ai","version":"0.23.0","keywords":["ai","gpt","mongoose","express"],"author":{"name":"Josh Gachnang"},"license":"Apache-2.0","_id":"@terreno/ai@0.23.0","maintainers":[{"name":"ashflourishing","email":"ashutosh@flourish.health"},{"name":"servercobra","email":"josh@nang.io"}],"homepage":"https://github.com/FlourishHealth/terreno#readme","bugs":{"url":"https://github.com/FlourishHealth/terreno/issues"},"dist":{"shasum":"6e6ea7b0ef0a5d0c48fd904e1985cda7affec9dd","tarball":"https://registry.npmjs.org/@terreno/ai/-/ai-0.23.0.tgz","fileCount":144,"integrity":"sha512-qQp62XCjWWpbJS2SZloL0JNYSOUhg44u8LUKaJyDzd6PnutqaporcO0T57hae61oRmbh6cOtuc/4cnBUF1U3ag==","signatures":[{"sig":"MEQCIH7MJVvMYLXV1GZQ8CdK8eMV5DY0RQBdBvp/z3e/gdFqAiA2d5sFuC+yjIF36oa8dXGusfa7zaWhttoKzHMMbIWK6A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":680569},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.js"},"./langfuseApp":{"types":"./dist/langfuseApp.d.ts","import":"./dist/langfuseApp.js","default":"./dist/langfuseApp.js","require":"./dist/langfuseApp.js"},"./parseAiJson":{"types":"./dist/service/parseAiJson.d.ts","import":"./dist/service/parseAiJson.js","default":"./dist/service/parseAiJson.js","require":"./dist/service/parseAiJson.js"},"./langfuseClient":{"types":"./dist/langfuseClient.d.ts","import":"./dist/langfuseClient.js","default":"./dist/langfuseClient.js","require":"./dist/langfuseClient.js"}},"gitHead":"a0d55ab7c9663636444da31b78cee84a63c05736","scripts":{"dev":"bun tsc -w","lint":"biome check ./src","test":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","compile":"bun tsc","test:ci":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","lint:fix":"biome check --write ./src","compile:watch":"bun tsc -w","test:coverage":"bun run ../scripts/check-coverage.ts","lint:unsafefix":"biome check --fix --unsafe ./src"},"_npmUser":{"name":"servercobra","email":"josh@nang.io"},"repository":{"url":"git+ssh://git@github.com/FlourishHealth/terreno.git","type":"git"},"_npmVersion":"10.9.8","description":"AI service layer for Terreno apps - GPT chat, request logging, and admin tools.","directories":{},"_nodeVersion":"22.23.0","dependencies":{"ai":"^6.0.97","luxon":"^3.7.2","multer":"2.2.0","@ai-sdk/mcp":"^1.0.21","@langfuse/otel":"^5.0.1","@langfuse/client":"^5.0.1","@opentelemetry/api":"^1.9.0","google-auth-library":"^10.5.0","@google-cloud/storage":"^7.15.0","@opentelemetry/sdk-node":"0.213.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"winston":"^3.18.3","mongoose":"8.23.0","supertest":"^7.0.0","@types/bun":"^1.2.4","typescript":"5.8.2","@terreno/api":"0.23.0","@types/luxon":"^3.7.1","@terreno/test":"0.23.0","@types/multer":"^1.4.12","@biomejs/biome":"^2.3.6","@types/express":"^5.0.6","@types/supertest":"^6.0.2","passport-local-mongoose":"^9.0.1","@types/passport-local-mongoose":"^6.1.5"},"peerDependencies":{"mongoose":"^8.0.0","@terreno/api":"0.23.0"},"_npmOperationalInternal":{"tmp":"tmp/ai_0.23.0_1782501382032_0.5109820828781011","host":"s3://npm-registry-packages-npm-production"}},"0.23.1":{"name":"@terreno/ai","version":"0.23.1","keywords":["ai","gpt","mongoose","express"],"author":{"name":"Josh Gachnang"},"license":"Apache-2.0","_id":"@terreno/ai@0.23.1","maintainers":[{"name":"ashflourishing","email":"ashutosh@flourish.health"},{"name":"servercobra","email":"josh@nang.io"}],"homepage":"https://github.com/FlourishHealth/terreno#readme","bugs":{"url":"https://github.com/FlourishHealth/terreno/issues"},"dist":{"shasum":"e2509c8673f7103b2bda2822baa3ed7ae4add112","tarball":"https://registry.npmjs.org/@terreno/ai/-/ai-0.23.1.tgz","fileCount":144,"integrity":"sha512-oaNpGCUYEU/5OuXn+andaxkvmOtIKe8j57N0SqHdo0Ug1aVieWA+GMtHrqdmopffVtEZL98KyqCnV6pCm5a7BQ==","signatures":[{"sig":"MEYCIQDw4f4mY1UAgkNA9tMF9iTVL5T6n5EmvXH25M6AHM8tSwIhAJw3byi+tQzenY20CsRUg/kWi2StFTjkBHNlXdYa7RLr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":680570},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.js"},"./langfuseApp":{"types":"./dist/langfuseApp.d.ts","import":"./dist/langfuseApp.js","default":"./dist/langfuseApp.js","require":"./dist/langfuseApp.js"},"./parseAiJson":{"types":"./dist/service/parseAiJson.d.ts","import":"./dist/service/parseAiJson.js","default":"./dist/service/parseAiJson.js","require":"./dist/service/parseAiJson.js"},"./langfuseClient":{"types":"./dist/langfuseClient.d.ts","import":"./dist/langfuseClient.js","default":"./dist/langfuseClient.js","require":"./dist/langfuseClient.js"}},"gitHead":"1d6d53b9967287be12dec6c805fe69f2428dc546","scripts":{"dev":"bun tsc -w","lint":"biome check ./src","test":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","compile":"bun tsc","test:ci":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","lint:fix":"biome check --write ./src","compile:watch":"bun tsc -w","test:coverage":"bun run ../scripts/check-coverage.ts","lint:unsafefix":"biome check --fix --unsafe ./src"},"_npmUser":{"name":"servercobra","email":"josh@nang.io"},"repository":{"url":"git+ssh://git@github.com/FlourishHealth/terreno.git","type":"git"},"_npmVersion":"10.9.8","description":"AI service layer for Terreno apps - GPT chat, request logging, and admin tools.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"ai":"^6.0.97","luxon":"^3.7.2","multer":"2.2.0","@ai-sdk/mcp":"^1.0.21","@langfuse/otel":"^5.0.1","@langfuse/client":"^5.0.1","@opentelemetry/api":"^1.9.0","google-auth-library":"^10.5.0","@google-cloud/storage":"^7.15.0","@opentelemetry/sdk-node":"0.217.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"winston":"^3.18.3","mongoose":"8.23.0","supertest":"^7.2.2","@types/bun":"^1.3.8","typescript":"~5.9.2","@terreno/api":"0.23.1","@types/luxon":"^3.7.1","@terreno/test":"0.23.1","@types/multer":"^1.4.12","@biomejs/biome":"^2.3.6","@types/express":"^5.0.6","@types/supertest":"^7.2.0","passport-local-mongoose":"^9.0.1","@types/passport-local-mongoose":"^6.1.5"},"peerDependencies":{"mongoose":"^8.0.0","@terreno/api":"0.23.1"},"_npmOperationalInternal":{"tmp":"tmp/ai_0.23.1_1783036547052_0.037940651561372496","host":"s3://npm-registry-packages-npm-production"}},"0.24.0":{"name":"@terreno/ai","version":"0.24.0","keywords":["ai","gpt","mongoose","express"],"author":{"name":"Josh Gachnang"},"license":"Apache-2.0","_id":"@terreno/ai@0.24.0","maintainers":[{"name":"ashflourishing","email":"ashutosh@flourish.health"},{"name":"servercobra","email":"josh@nang.io"}],"homepage":"https://github.com/FlourishHealth/terreno#readme","bugs":{"url":"https://github.com/FlourishHealth/terreno/issues"},"dist":{"shasum":"cdf0f33c4ecf8590977ff6e82c46913fb9985e24","tarball":"https://registry.npmjs.org/@terreno/ai/-/ai-0.24.0.tgz","fileCount":144,"integrity":"sha512-eg9dHG+F56nBaJJjw9cC3y4L0j9jyksjbgOkKgJ8CdY115Eg0j9XvU4YdrKqvgftdYc0vgUNBrQtfBkW1NKakg==","signatures":[{"sig":"MEUCIQCTgRnUZg8ufnt3o3anCH630G5GdF3BwKHlG46/c2sKCAIgcbeY2LCRsLbzSB2kOz5yk8FLUbgrPjISaB4Y4O7Sz+w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":682272},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.js"},"./langfuseApp":{"types":"./dist/langfuseApp.d.ts","import":"./dist/langfuseApp.js","default":"./dist/langfuseApp.js","require":"./dist/langfuseApp.js"},"./parseAiJson":{"types":"./dist/service/parseAiJson.d.ts","import":"./dist/service/parseAiJson.js","default":"./dist/service/parseAiJson.js","require":"./dist/service/parseAiJson.js"},"./langfuseClient":{"types":"./dist/langfuseClient.d.ts","import":"./dist/langfuseClient.js","default":"./dist/langfuseClient.js","require":"./dist/langfuseClient.js"}},"gitHead":"04ade5cbdce942009e7ac5d61c77e367e92a9759","scripts":{"dev":"bun tsc -w","lint":"biome check ./src","test":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","compile":"bun tsc","test:ci":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","lint:fix":"biome check --write ./src","compile:watch":"bun tsc -w","test:coverage":"bun run ../scripts/check-coverage.ts","lint:unsafefix":"biome check --fix --unsafe ./src"},"_npmUser":{"name":"servercobra","email":"josh@nang.io"},"repository":{"url":"git+ssh://git@github.com/FlourishHealth/terreno.git","type":"git"},"_npmVersion":"10.9.8","description":"AI service layer for Terreno apps - GPT chat, request logging, and admin tools.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"ai":"^6.0.97","luxon":"^3.7.2","multer":"2.2.0","@ai-sdk/mcp":"^1.0.21","@langfuse/otel":"^5.0.1","@langfuse/client":"^5.0.1","@opentelemetry/api":"^1.9.0","google-auth-library":"^10.5.0","@google-cloud/storage":"^7.15.0","@opentelemetry/sdk-node":"0.217.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"winston":"^3.18.3","mongoose":"8.23.0","supertest":"^7.2.2","@types/bun":"^1.3.8","typescript":"~5.9.2","@terreno/api":"0.24.0","@types/luxon":"^3.7.1","@terreno/test":"0.24.0","@types/multer":"^1.4.12","@biomejs/biome":"^2.3.6","@types/express":"^5.0.6","@types/supertest":"^7.2.0","passport-local-mongoose":"^9.0.1","@types/passport-local-mongoose":"^6.1.5"},"peerDependencies":{"mongoose":"^8.0.0","@terreno/api":"0.24.0"},"_npmOperationalInternal":{"tmp":"tmp/ai_0.24.0_1783114706126_0.8413757248942548","host":"s3://npm-registry-packages-npm-production"}},"0.25.0":{"name":"@terreno/ai","version":"0.25.0","keywords":["ai","gpt","mongoose","express"],"author":{"name":"Josh Gachnang"},"license":"Apache-2.0","_id":"@terreno/ai@0.25.0","maintainers":[{"name":"ashflourishing","email":"ashutosh@flourish.health"},{"name":"servercobra","email":"josh@nang.io"}],"homepage":"https://github.com/FlourishHealth/terreno#readme","bugs":{"url":"https://github.com/FlourishHealth/terreno/issues"},"dist":{"shasum":"1689d2e55495abc191a8e412490f2fa74d6a2066","tarball":"https://registry.npmjs.org/@terreno/ai/-/ai-0.25.0.tgz","fileCount":145,"integrity":"sha512-xRhpFf0WWbCqQyun/m+K5Qc6TvtftN5GPlSgjJQ/n9SqE+pS+4JliPSaK/VZ/lthJdW7z0MnnGVbf8cQLZXHmw==","signatures":[{"sig":"MEUCIDwgWbs99ryah2rKnztJaTGb9KymninjSGM8jbo2ffZKAiEAiu25faPld1AiVpSagfI1fd2rdEDvfYmRMtZxB7hZ+mg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":689778},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.js"},"./langfuseApp":{"types":"./dist/langfuseApp.d.ts","import":"./dist/langfuseApp.js","default":"./dist/langfuseApp.js","require":"./dist/langfuseApp.js"},"./parseAiJson":{"types":"./dist/service/parseAiJson.d.ts","import":"./dist/service/parseAiJson.js","default":"./dist/service/parseAiJson.js","require":"./dist/service/parseAiJson.js"},"./langfuseClient":{"types":"./dist/langfuseClient.d.ts","import":"./dist/langfuseClient.js","default":"./dist/langfuseClient.js","require":"./dist/langfuseClient.js"}},"gitHead":"d6a620f0a8a580a83de5f58e2a99290887ac9f49","scripts":{"dev":"bun tsc -w","lint":"biome check ./src","test":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","compile":"bun tsc","test:ci":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","lint:fix":"biome check --write ./src","compile:watch":"bun tsc -w","test:coverage":"bun run ../scripts/check-coverage.ts","lint:unsafefix":"biome check --fix --unsafe ./src"},"_npmUser":{"name":"servercobra","email":"josh@nang.io"},"repository":{"url":"git+ssh://git@github.com/FlourishHealth/terreno.git","type":"git"},"_npmVersion":"10.9.8","description":"AI service layer for Terreno apps - GPT chat, request logging, and admin tools.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"ai":"^6.0.97","luxon":"^3.7.2","multer":"2.2.0","@ai-sdk/mcp":"^1.0.21","@langfuse/otel":"^5.0.1","@langfuse/client":"^5.0.1","@opentelemetry/api":"^1.9.0","google-auth-library":"^10.5.0","@google-cloud/storage":"^7.15.0","@opentelemetry/sdk-node":"0.217.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"winston":"^3.18.3","mongoose":"8.23.0","supertest":"^7.2.2","@types/bun":"^1.3.8","typescript":"~5.9.2","@terreno/api":"0.25.0","@types/luxon":"^3.7.1","@terreno/test":"0.25.0","@types/multer":"^1.4.12","@biomejs/biome":"^2.3.6","@types/express":"^5.0.6","@types/supertest":"^7.2.0","passport-local-mongoose":"^9.0.1","@types/passport-local-mongoose":"^6.1.5"},"peerDependencies":{"mongoose":"^8.0.0","@terreno/api":"0.25.0"},"_npmOperationalInternal":{"tmp":"tmp/ai_0.25.0_1783899302757_0.39738106930259565","host":"s3://npm-registry-packages-npm-production"}},"0.26.0":{"name":"@terreno/ai","version":"0.26.0","keywords":["ai","gpt","mongoose","express"],"author":{"name":"Josh Gachnang"},"license":"Apache-2.0","_id":"@terreno/ai@0.26.0","maintainers":[{"name":"ashflourishing","email":"ashutosh@flourish.health"},{"name":"servercobra","email":"josh@nang.io"}],"homepage":"https://github.com/FlourishHealth/terreno#readme","bugs":{"url":"https://github.com/FlourishHealth/terreno/issues"},"dist":{"shasum":"39623a62cfb4330836c4f87cccbfb6ed38027662","tarball":"https://registry.npmjs.org/@terreno/ai/-/ai-0.26.0.tgz","fileCount":137,"integrity":"sha512-RzJKcUa0yug4iodWNFJKEnX6UAoQqHvo8Zm+TdX23QfwqvJi3F+bxzm0VaLud8Pj2dkD+XTZb6SCOtXyyitMWA==","signatures":[{"sig":"MEYCIQD3BJp5grpl1EnE9AXy6hew6YruMdGeKOx9zl1kIWRKAQIhAOxBqLmzjfPo9gNEZoSTAw3D27gppTGcn8ldshelt+2x","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":692617},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.js"},"./langfuseApp":{"types":"./dist/langfuseApp.d.ts","import":"./dist/langfuseApp.js","default":"./dist/langfuseApp.js","require":"./dist/langfuseApp.js"},"./parseAiJson":{"types":"./dist/service/parseAiJson.d.ts","import":"./dist/service/parseAiJson.js","default":"./dist/service/parseAiJson.js","require":"./dist/service/parseAiJson.js"},"./langfuseClient":{"types":"./dist/langfuseClient.d.ts","import":"./dist/langfuseClient.js","default":"./dist/langfuseClient.js","require":"./dist/langfuseClient.js"}},"gitHead":"c707efe572d979c76c376213e54e39f37f55f737","scripts":{"dev":"bun tsc -w","lint":"biome check ./src","test":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","compile":"bun tsc","test:ci":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","lint:fix":"biome check --write ./src","compile:watch":"bun tsc -w","test:coverage":"bun run ../scripts/check-coverage.ts","lint:unsafefix":"biome check --fix --unsafe ./src"},"_npmUser":{"name":"servercobra","email":"josh@nang.io"},"repository":{"url":"git+ssh://git@github.com/FlourishHealth/terreno.git","type":"git"},"_npmVersion":"10.9.8","description":"AI service layer for Terreno apps - GPT chat, request logging, and admin tools.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"ai":"^6.0.97","luxon":"^3.7.2","multer":"2.2.0","@ai-sdk/mcp":"^1.0.21","@langfuse/otel":"^5.0.1","@langfuse/client":"^5.0.1","@opentelemetry/api":"^1.9.0","google-auth-library":"^10.5.0","@google-cloud/storage":"^7.15.0","@opentelemetry/sdk-node":"0.217.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"winston":"^3.18.3","mongoose":"8.23.0","supertest":"^7.2.2","@types/bun":"^1.3.8","typescript":"~5.9.2","@terreno/api":"0.26.0","@types/luxon":"^3.7.1","@terreno/test":"0.26.0","@types/multer":"^1.4.12","@biomejs/biome":"^2.3.6","@types/express":"^5.0.6","@types/supertest":"^7.2.0","passport-local-mongoose":"^9.0.1","@types/passport-local-mongoose":"^6.1.5"},"peerDependencies":{"mongoose":"^8.0.0","@terreno/api":"0.26.0"},"_npmOperationalInternal":{"tmp":"tmp/ai_0.26.0_1784152772990_0.464626911920786","host":"s3://npm-registry-packages-npm-production"}},"0.27.0":{"name":"@terreno/ai","version":"0.27.0","keywords":["ai","gpt","mongoose","express"],"author":{"name":"Josh Gachnang"},"license":"Apache-2.0","_id":"@terreno/ai@0.27.0","maintainers":[{"name":"ashflourishing","email":"ashutosh@flourish.health"},{"name":"servercobra","email":"josh@nang.io"}],"homepage":"https://github.com/FlourishHealth/terreno#readme","bugs":{"url":"https://github.com/FlourishHealth/terreno/issues"},"dist":{"shasum":"50a302544497126ba043252c3b7720a00a8d30cf","tarball":"https://registry.npmjs.org/@terreno/ai/-/ai-0.27.0.tgz","fileCount":137,"integrity":"sha512-IkYPeS97CScwO4HGfhb+wxPcR8u/rr/0bEW3Nt/V0Hq/ecRzQj4fRhr4ndf//O9DAiLgnDd7BGlCvoOVZ0KYMA==","signatures":[{"sig":"MEQCIA3g3t8DLCAue9KC+GSf/eVP7y2D01qKPf+2Q+6s6+QaAiAjntqgJlNWty7Pdyf22AZ+gmvbO+xRfz11wapTqWZzBw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":692882},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.js"},"./langfuseApp":{"types":"./dist/langfuseApp.d.ts","import":"./dist/langfuseApp.js","default":"./dist/langfuseApp.js","require":"./dist/langfuseApp.js"},"./parseAiJson":{"types":"./dist/service/parseAiJson.d.ts","import":"./dist/service/parseAiJson.js","default":"./dist/service/parseAiJson.js","require":"./dist/service/parseAiJson.js"},"./langfuseClient":{"types":"./dist/langfuseClient.d.ts","import":"./dist/langfuseClient.js","default":"./dist/langfuseClient.js","require":"./dist/langfuseClient.js"}},"gitHead":"83c74a20563bb9d70faef897ccaa246551585ae1","scripts":{"dev":"bun tsc -w","lint":"biome check ./src","test":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","compile":"bun tsc","test:ci":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","lint:fix":"biome check --write ./src","compile:watch":"bun tsc -w","test:coverage":"bun run ../scripts/check-coverage.ts","lint:unsafefix":"biome check --fix --unsafe ./src"},"_npmUser":{"name":"servercobra","email":"josh@nang.io"},"repository":{"url":"git+ssh://git@github.com/FlourishHealth/terreno.git","type":"git"},"_npmVersion":"10.9.8","description":"AI service layer for Terreno apps - GPT chat, request logging, and admin tools.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"ai":"^6.0.97","luxon":"^3.7.2","multer":"2.2.0","@ai-sdk/mcp":"^1.0.21","@langfuse/otel":"^5.0.1","@langfuse/client":"^5.0.1","@opentelemetry/api":"^1.9.0","google-auth-library":"^10.5.0","@google-cloud/storage":"^7.15.0","@opentelemetry/sdk-node":"0.217.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"winston":"^3.18.3","mongoose":"8.23.0","supertest":"^7.2.2","@types/bun":"^1.3.8","typescript":"~5.9.2","@terreno/api":"0.27.0","@types/luxon":"^3.7.1","@terreno/test":"0.27.0","@types/multer":"^1.4.12","@biomejs/biome":"^2.3.6","@types/express":"^5.0.6","@types/supertest":"^7.2.0","passport-local-mongoose":"^9.0.1","@types/passport-local-mongoose":"^6.1.5"},"peerDependencies":{"mongoose":"^8.0.0","@terreno/api":"0.27.0"},"_npmOperationalInternal":{"tmp":"tmp/ai_0.27.0_1785291054064_0.009718288947640152","host":"s3://npm-registry-packages-npm-production"}},"0.28.0":{"name":"@terreno/ai","version":"0.28.0","keywords":["ai","gpt","mongoose","express"],"author":{"name":"Josh Gachnang"},"license":"Apache-2.0","_id":"@terreno/ai@0.28.0","maintainers":[{"name":"ashflourishing","email":"ashutosh@flourish.health"},{"name":"servercobra","email":"josh@nang.io"}],"homepage":"https://github.com/FlourishHealth/terreno#readme","bugs":{"url":"https://github.com/FlourishHealth/terreno/issues"},"dist":{"shasum":"51205af34a4fc8346d96048e2602a60f5c50532e","tarball":"https://registry.npmjs.org/@terreno/ai/-/ai-0.28.0.tgz","fileCount":137,"integrity":"sha512-a8Piw54l2vDvm84v7CqQ3X6JlLl68XzaWB4pSiC8BZlAPtiMg9rguXNPJqGG31riT1Xn7nDyz/R9Nr4r0jPWKA==","signatures":[{"sig":"MEQCIFeqZsepYD6eiPHpMfty0g6E8lqaCm4ikLN4qZ6ZteiJAiBRa9lGCgJksntMw5TBsGaBk1ai2TJe7M5QTksv+RDEsA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":692888},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.js"},"./langfuseApp":{"types":"./dist/langfuseApp.d.ts","import":"./dist/langfuseApp.js","default":"./dist/langfuseApp.js","require":"./dist/langfuseApp.js"},"./parseAiJson":{"types":"./dist/service/parseAiJson.d.ts","import":"./dist/service/parseAiJson.js","default":"./dist/service/parseAiJson.js","require":"./dist/service/parseAiJson.js"},"./langfuseClient":{"types":"./dist/langfuseClient.d.ts","import":"./dist/langfuseClient.js","default":"./dist/langfuseClient.js","require":"./dist/langfuseClient.js"}},"gitHead":"adde07d43c1b431216513eb21f54c6d644af7cd9","scripts":{"dev":"bun tsc -w","lint":"biome check ./src","test":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","compile":"bun tsc","test:ci":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","lint:fix":"biome check --write ./src","compile:watch":"bun tsc -w","test:coverage":"bun run ../scripts/check-coverage.ts","lint:unsafefix":"biome check --fix --unsafe ./src"},"_npmUser":{"name":"servercobra","email":"josh@nang.io"},"repository":{"url":"git+ssh://git@github.com/FlourishHealth/terreno.git","type":"git"},"_npmVersion":"10.9.8","description":"AI service layer for Terreno apps - GPT chat, request logging, and admin tools.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"ai":"^6.0.97","luxon":"^3.7.2","multer":"2.2.0","@ai-sdk/mcp":"^1.0.21","@langfuse/otel":"^5.0.1","@langfuse/client":"^5.0.1","@opentelemetry/api":"^1.9.0","google-auth-library":"^10.5.0","@google-cloud/storage":"^7.15.0","@opentelemetry/sdk-node":"0.217.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"winston":"^3.18.3","mongoose":"8.23.0","supertest":"^7.2.2","@types/bun":"^1.3.8","typescript":"~5.9.2","@terreno/api":"0.28.0","@types/luxon":"^3.7.1","@terreno/test":"0.28.0","@types/multer":"^1.4.12","@biomejs/biome":"^2.3.6","@types/express":"^5.0.6","@types/supertest":"^7.2.0","passport-local-mongoose":"^9.0.1","@types/passport-local-mongoose":"^6.1.5"},"peerDependencies":{"mongoose":"^8.0.0","@terreno/api":"0.28.0"},"_npmOperationalInternal":{"tmp":"tmp/ai_0.28.0_1785444278488_0.21776362075957434","host":"s3://npm-registry-packages-npm-production"}},"0.29.0":{"name":"@terreno/ai","version":"0.29.0","keywords":["ai","gpt","mongoose","express"],"author":{"name":"Josh Gachnang"},"license":"Apache-2.0","_id":"@terreno/ai@0.29.0","maintainers":[{"name":"ashflourishing","email":"ashutosh@flourish.health"},{"name":"servercobra","email":"josh@nang.io"}],"homepage":"https://github.com/FlourishHealth/terreno#readme","bugs":{"url":"https://github.com/FlourishHealth/terreno/issues"},"dist":{"shasum":"c9f1d8453de99f65058a6b449cb78dd9f27672e3","tarball":"https://registry.npmjs.org/@terreno/ai/-/ai-0.29.0.tgz","fileCount":137,"integrity":"sha512-+o2qH79VO3rR2P6bHKUTBxdpQm07zYBpDxT4vDoUeeLFNT5Q9FNEqKztmYHar82jCXy7nfPnb5KsnL/BFDMF1Q==","signatures":[{"sig":"MEUCIGI6gDgD221u4F3wq2C3snnlwRYAO6PT4YOsi2P4OS9VAiEA9J3x93bc8vJ2QU2jXDj4WjlfEtJ/8zeTiEXfWdCKCr0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":692888},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.js"},"./langfuseApp":{"types":"./dist/langfuseApp.d.ts","import":"./dist/langfuseApp.js","default":"./dist/langfuseApp.js","require":"./dist/langfuseApp.js"},"./parseAiJson":{"types":"./dist/service/parseAiJson.d.ts","import":"./dist/service/parseAiJson.js","default":"./dist/service/parseAiJson.js","require":"./dist/service/parseAiJson.js"},"./langfuseClient":{"types":"./dist/langfuseClient.d.ts","import":"./dist/langfuseClient.js","default":"./dist/langfuseClient.js","require":"./dist/langfuseClient.js"}},"gitHead":"6a79485108e2de22d90b6351b73605e82d73d6cf","scripts":{"dev":"bun tsc -w","lint":"biome check ./src","test":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","compile":"bun tsc","test:ci":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","lint:fix":"biome check --write ./src","compile:watch":"bun tsc -w","test:coverage":"bun run ../scripts/check-coverage.ts","lint:unsafefix":"biome check --fix --unsafe ./src"},"_npmUser":{"name":"servercobra","email":"josh@nang.io"},"repository":{"url":"git+ssh://git@github.com/FlourishHealth/terreno.git","type":"git"},"_npmVersion":"10.9.8","description":"AI service layer for Terreno apps - GPT chat, request logging, and admin tools.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"ai":"^6.0.97","luxon":"^3.7.2","multer":"2.2.0","@ai-sdk/mcp":"^1.0.21","@langfuse/otel":"^5.0.1","@langfuse/client":"^5.0.1","@opentelemetry/api":"^1.9.0","google-auth-library":"^10.5.0","@google-cloud/storage":"^7.15.0","@opentelemetry/sdk-node":"0.217.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"winston":"^3.18.3","mongoose":"8.23.0","supertest":"^7.2.2","@types/bun":"^1.3.8","typescript":"~5.9.2","@terreno/api":"0.29.0","@types/luxon":"^3.7.1","@terreno/test":"0.29.0","@types/multer":"^1.4.12","@biomejs/biome":"^2.3.6","@types/express":"^5.0.6","@types/supertest":"^7.2.0","passport-local-mongoose":"^9.0.1","@types/passport-local-mongoose":"^6.1.5"},"peerDependencies":{"mongoose":"^8.0.0","@terreno/api":"0.29.0"},"_npmOperationalInternal":{"tmp":"tmp/ai_0.29.0_1785479674057_0.2741634040645444","host":"s3://npm-registry-packages-npm-production"}},"0.30.0":{"name":"@terreno/ai","version":"0.30.0","keywords":["ai","gpt","mongoose","express"],"author":{"name":"Josh Gachnang"},"license":"Apache-2.0","_id":"@terreno/ai@0.30.0","maintainers":[{"name":"ashflourishing","email":"ashutosh@flourish.health"},{"name":"servercobra","email":"josh@nang.io"}],"homepage":"https://github.com/FlourishHealth/terreno#readme","bugs":{"url":"https://github.com/FlourishHealth/terreno/issues"},"dist":{"shasum":"37935283baa9c93e781d4c57267bfed5c5c3ae99","tarball":"https://registry.npmjs.org/@terreno/ai/-/ai-0.30.0.tgz","fileCount":138,"integrity":"sha512-lixuZ/dkQRJ7euKTEFdFtxUmzZwE4Okx0J3dnYDACbP0CQi48g0brSPIecpV6u1FnTnJ0NiYoQDS3SoF5XwCvw==","signatures":[{"sig":"MEYCIQC/1G01KWq4dc+wReLxSNIQQl0zuVjg7h6WXrURC30wUQIhAPT84thMEQ0UQbvBLX21iGVd2scnW80PBZcsT5XeQ1Hb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":695632},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.js"},"./langfuseApp":{"types":"./dist/langfuseApp.d.ts","import":"./dist/langfuseApp.js","default":"./dist/langfuseApp.js","require":"./dist/langfuseApp.js"},"./parseAiJson":{"types":"./dist/service/parseAiJson.d.ts","import":"./dist/service/parseAiJson.js","default":"./dist/service/parseAiJson.js","require":"./dist/service/parseAiJson.js"},"./langfuseClient":{"types":"./dist/langfuseClient.d.ts","import":"./dist/langfuseClient.js","default":"./dist/langfuseClient.js","require":"./dist/langfuseClient.js"}},"gitHead":"de4a319ecbaf3199e0ef38ddb5f0dde3a7efcf24","scripts":{"dev":"bun tsc -w","lint":"biome check ./src","test":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","compile":"bun tsc","test:ci":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","lint:fix":"biome check --write ./src","compile:watch":"bun tsc -w","test:coverage":"bun run ../scripts/check-coverage.ts","lint:unsafefix":"biome check --fix --unsafe ./src"},"_npmUser":{"name":"servercobra","email":"josh@nang.io"},"repository":{"url":"git+ssh://git@github.com/FlourishHealth/terreno.git","type":"git"},"_npmVersion":"10.9.8","description":"AI service layer for Terreno apps - GPT chat, request logging, and admin tools.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"ai":"^6.0.97","luxon":"^3.7.2","multer":"2.2.0","@ai-sdk/mcp":"^1.0.21","@langfuse/otel":"^5.0.1","@langfuse/client":"^5.0.1","@opentelemetry/api":"^1.9.0","google-auth-library":"^10.5.0","@google-cloud/storage":"^7.15.0","@opentelemetry/sdk-node":"0.217.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"winston":"^3.18.3","mongoose":"8.23.0","supertest":"^7.2.2","@types/bun":"^1.3.8","typescript":"~5.9.2","@terreno/api":"0.30.0","@types/luxon":"^3.7.1","@terreno/test":"0.30.0","@types/multer":"^1.4.12","@biomejs/biome":"^2.3.6","@types/express":"^5.0.6","@types/supertest":"^7.2.0","passport-local-mongoose":"^9.0.1","@types/passport-local-mongoose":"^6.1.5"},"peerDependencies":{"mongoose":"^8.0.0","@terreno/api":"0.30.0"},"_npmOperationalInternal":{"tmp":"tmp/ai_0.30.0_1785789146254_0.10045837635834576","host":"s3://npm-registry-packages-npm-production"}},"0.31.0":{"name":"@terreno/ai","version":"0.31.0","keywords":["ai","gpt","mongoose","express"],"author":{"name":"Josh Gachnang"},"license":"MIT","_id":"@terreno/ai@0.31.0","maintainers":[{"name":"ashflourishing","email":"ashutosh@flourish.health"},{"name":"servercobra","email":"josh@nang.io"}],"homepage":"https://github.com/FlourishHealth/terreno#readme","bugs":{"url":"https://github.com/FlourishHealth/terreno/issues"},"dist":{"shasum":"01cb1bfb2bf632ca97c5189e137a5ce2d3433568","tarball":"https://registry.npmjs.org/@terreno/ai/-/ai-0.31.0.tgz","fileCount":139,"integrity":"sha512-/acV3OoIttnbXchdkPVD/5PfCUYpqvIK+qw0H1e1UCHdn9CjZt7s48Kd92jJMfsWTWs1oMdqryOOcufWyboCwQ==","signatures":[{"sig":"MEUCIDQI+qLYAo8vBRzfRx9d8z6KBuTa6SwyRco9X4O+lpkVAiEAqrkjeQWQM4L/Rc3vBnpZpnymRqFJZ52FqJYICVu+yyk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":698336},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.js"},"./langfuseApp":{"types":"./dist/langfuseApp.d.ts","import":"./dist/langfuseApp.js","default":"./dist/langfuseApp.js","require":"./dist/langfuseApp.js"},"./parseAiJson":{"types":"./dist/service/parseAiJson.d.ts","import":"./dist/service/parseAiJson.js","default":"./dist/service/parseAiJson.js","require":"./dist/service/parseAiJson.js"},"./langfuseClient":{"types":"./dist/langfuseClient.d.ts","import":"./dist/langfuseClient.js","default":"./dist/langfuseClient.js","require":"./dist/langfuseClient.js"}},"gitHead":"6543745be4a4f95eed1afe18724bf4cf97ad252b","scripts":{"dev":"bun tsc -w","lint":"biome check ./src","test":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","compile":"bun tsc","test:ci":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","lint:fix":"biome check --write ./src","compile:watch":"bun tsc -w","test:coverage":"bun run ../scripts/check-coverage.ts","lint:unsafefix":"biome check --fix --unsafe ./src"},"_npmUser":{"name":"servercobra","email":"josh@nang.io"},"repository":{"url":"git+ssh://git@github.com/FlourishHealth/terreno.git","type":"git"},"_npmVersion":"10.9.8","description":"AI service layer for Terreno apps - GPT chat, request logging, and admin tools.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"ai":"^6.0.97","luxon":"^3.7.2","multer":"2.2.0","@ai-sdk/mcp":"^1.0.21","@langfuse/otel":"^5.0.1","@langfuse/client":"^5.0.1","@opentelemetry/api":"^1.9.0","google-auth-library":"^10.5.0","@google-cloud/storage":"^7.15.0","@opentelemetry/sdk-node":"0.217.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"winston":"^3.18.3","mongoose":"9.7.4","supertest":"^7.2.2","@types/bun":"^1.3.8","typescript":"~5.9.2","@terreno/api":"0.31.0","@types/luxon":"^3.7.1","@terreno/test":"0.31.0","@types/multer":"^1.4.12","@biomejs/biome":"^2.3.6","@types/express":"^5.0.6","@types/supertest":"^7.2.0","passport-local-mongoose":"^9.0.1"},"peerDependencies":{"mongoose":"^8.0.0 || ^9.0.0","@terreno/api":"0.31.0"},"_npmOperationalInternal":{"tmp":"tmp/ai_0.31.0_1786472950249_0.20951848775398596","host":"s3://npm-registry-packages-npm-production"}},"56.0.0-beta.0":{"name":"@terreno/ai","version":"56.0.0-beta.0","keywords":["ai","gpt","mongoose","express"],"author":{"name":"Josh Gachnang"},"license":"Apache-2.0","_id":"@terreno/ai@56.0.0-beta.0","maintainers":[{"name":"ashflourishing","email":"ashutosh@flourish.health"},{"name":"servercobra","email":"josh@nang.io"}],"homepage":"https://github.com/FlourishHealth/terreno#readme","bugs":{"url":"https://github.com/FlourishHealth/terreno/issues"},"dist":{"shasum":"ad68c929cc5660bb3e6675cb91d2acccdb39235b","tarball":"https://registry.npmjs.org/@terreno/ai/-/ai-56.0.0-beta.0.tgz","fileCount":138,"integrity":"sha512-KnJNDfdaszW3jduYPbypjDxDdWlYcYiZtI2DvrdLoS4RLqPg7qCX6acK9SI/qWlBlVf4n55b/iouB+h5GrqVgQ==","signatures":[{"sig":"MEYCIQCw25TwlAUXlpr5pm4RZGyxkVUFE34tt1rhop8LKVSXrwIhAOB2thxegvb1izYDXweZzPAO0czjY7xRM8C9MzkgXpW6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":696535},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.js"},"./langfuseApp":{"types":"./dist/langfuseApp.d.ts","import":"./dist/langfuseApp.js","default":"./dist/langfuseApp.js","require":"./dist/langfuseApp.js"},"./parseAiJson":{"types":"./dist/service/parseAiJson.d.ts","import":"./dist/service/parseAiJson.js","default":"./dist/service/parseAiJson.js","require":"./dist/service/parseAiJson.js"},"./langfuseClient":{"types":"./dist/langfuseClient.d.ts","import":"./dist/langfuseClient.js","default":"./dist/langfuseClient.js","require":"./dist/langfuseClient.js"}},"gitHead":"6efef200ad34d57838847b167bb84974ec4047c9","scripts":{"dev":"bun tsc -w","lint":"biome check ./src","test":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","compile":"bun tsc","test:ci":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","lint:fix":"biome check --write ./src","compile:watch":"bun tsc -w","test:coverage":"bun run ../scripts/check-coverage.ts","lint:unsafefix":"biome check --fix --unsafe ./src"},"_npmUser":{"name":"servercobra","email":"josh@nang.io"},"repository":{"url":"git+ssh://git@github.com/FlourishHealth/terreno.git","type":"git"},"_npmVersion":"10.9.8","description":"AI service layer for Terreno apps - GPT chat, request logging, and admin tools.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"ai":"^6.0.97","luxon":"^3.7.2","multer":"2.2.0","@ai-sdk/mcp":"^1.0.21","@langfuse/otel":"^5.0.1","@langfuse/client":"^5.0.1","@opentelemetry/api":"^1.9.0","google-auth-library":"^10.5.0","@google-cloud/storage":"^7.15.0","@opentelemetry/sdk-node":"0.217.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"winston":"^3.18.3","mongoose":"8.23.0","supertest":"^7.2.2","@types/bun":"^1.3.8","typescript":"~6.0.3","@terreno/api":"56.0.0-beta.0","@types/luxon":"^3.7.1","@terreno/test":"56.0.0-beta.0","@types/multer":"^1.4.12","@biomejs/biome":"^2.3.6","@types/express":"^5.0.6","@types/supertest":"^7.2.0","passport-local-mongoose":"^9.0.1","@types/passport-local-mongoose":"^6.1.5"},"peerDependencies":{"mongoose":"^8.0.0","@terreno/api":"56.0.0-beta.0"},"_npmOperationalInternal":{"tmp":"tmp/ai_56.0.0-beta.0_1786580781446_0.13590210611043818","host":"s3://npm-registry-packages-npm-production"}},"56.0.0-beta.2":{"name":"@terreno/ai","version":"56.0.0-beta.2","keywords":["ai","gpt","mongoose","express"],"author":{"name":"Josh Gachnang"},"license":"MIT","_id":"@terreno/ai@56.0.0-beta.2","maintainers":[{"name":"ashflourishing","email":"ashutosh@flourish.health"},{"name":"servercobra","email":"josh@nang.io"}],"homepage":"https://github.com/FlourishHealth/terreno#readme","bugs":{"url":"https://github.com/FlourishHealth/terreno/issues"},"dist":{"shasum":"d1a39433eefbf2897106b18eee01cf34cd2d6619","tarball":"https://registry.npmjs.org/@terreno/ai/-/ai-56.0.0-beta.2.tgz","fileCount":139,"integrity":"sha512-KFMfOtJBM7S9Ap3RmNS4UnWIlEWsaynXnACtsSAaixCyEW+OqzjUqJ8A3kvgbrxXNp7+TLzY38JEDzr2x01c/Q==","signatures":[{"sig":"MEYCIQDYhowIJ4InZmFx5B4g+cEck248F5AO6xgzV4N7+qGyqwIhAKLdTE+LXcETOukIU2w4vUq8emqzmU+If2WPNgqOQam/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":698733},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.js"},"./langfuseApp":{"types":"./dist/langfuseApp.d.ts","import":"./dist/langfuseApp.js","default":"./dist/langfuseApp.js","require":"./dist/langfuseApp.js"},"./parseAiJson":{"types":"./dist/service/parseAiJson.d.ts","import":"./dist/service/parseAiJson.js","default":"./dist/service/parseAiJson.js","require":"./dist/service/parseAiJson.js"},"./langfuseClient":{"types":"./dist/langfuseClient.d.ts","import":"./dist/langfuseClient.js","default":"./dist/langfuseClient.js","require":"./dist/langfuseClient.js"}},"gitHead":"cbe77c94804508fc383b1dccd250d235d95ec77c","scripts":{"dev":"bun tsc -w","lint":"biome check ./src","test":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","compile":"bun tsc","test:ci":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","lint:fix":"biome check --write ./src","compile:watch":"bun tsc -w","test:coverage":"bun run ../scripts/check-coverage.ts","lint:unsafefix":"biome check --fix --unsafe ./src"},"_npmUser":{"name":"servercobra","email":"josh@nang.io"},"repository":{"url":"git+ssh://git@github.com/FlourishHealth/terreno.git","type":"git"},"_npmVersion":"10.9.8","description":"AI service layer for Terreno apps - GPT chat, request logging, and admin tools.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"ai":"^6.0.97","luxon":"^3.7.2","multer":"2.2.0","@ai-sdk/mcp":"^1.0.21","@langfuse/otel":"^5.0.1","@langfuse/client":"^5.0.1","@opentelemetry/api":"^1.9.0","google-auth-library":"^10.5.0","@google-cloud/storage":"^7.15.0","@opentelemetry/sdk-node":"0.217.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"winston":"^3.18.3","mongoose":"9.7.4","supertest":"^7.2.2","@types/bun":"^1.3.8","typescript":"~6.0.3","@terreno/api":"56.0.0-beta.2","@types/luxon":"^3.7.1","@terreno/test":"56.0.0-beta.2","@types/multer":"^1.4.12","@biomejs/biome":"^2.3.6","@types/express":"^5.0.6","@types/supertest":"^7.2.0","passport-local-mongoose":"^9.0.1"},"peerDependencies":{"mongoose":"^8.0.0 || ^9.0.0","@terreno/api":"56.0.0-beta.2"},"_npmOperationalInternal":{"tmp":"tmp/ai_56.0.0-beta.2_1787006745741_0.7524486140046618","host":"s3://npm-registry-packages-npm-production"}},"57.0.0-beta.1":{"name":"@terreno/ai","version":"57.0.0-beta.1","keywords":["ai","gpt","mongoose","express"],"author":{"name":"Josh Gachnang"},"license":"MIT","_id":"@terreno/ai@57.0.0-beta.1","maintainers":[{"name":"ashflourishing","email":"ashutosh@flourish.health"},{"name":"servercobra","email":"josh@nang.io"}],"homepage":"https://github.com/FlourishHealth/terreno#readme","bugs":{"url":"https://github.com/FlourishHealth/terreno/issues"},"dist":{"shasum":"e2275ddfceb81334766072c68ce17f0865d6ee75","tarball":"https://registry.npmjs.org/@terreno/ai/-/ai-57.0.0-beta.1.tgz","fileCount":139,"integrity":"sha512-Vzp5VvkFvIyS445u/49V8hxDNBXSWvvLUNSK08HTEA+dLiPOtQRU5sttTfh7BYRuYjLuGJdSw+yPfnPiIf53Ig==","signatures":[{"sig":"MEYCIQD+RIS1LnzqngOBcsZ+nA/Bro6iq2G0KEjjuMYg3GFiJAIhAJdi4Tew0cEtK/c2TEA8iYG8pEPewaTJgOjloLJ545Ed","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":698733},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.js"},"./langfuseApp":{"types":"./dist/langfuseApp.d.ts","import":"./dist/langfuseApp.js","default":"./dist/langfuseApp.js","require":"./dist/langfuseApp.js"},"./parseAiJson":{"types":"./dist/service/parseAiJson.d.ts","import":"./dist/service/parseAiJson.js","default":"./dist/service/parseAiJson.js","require":"./dist/service/parseAiJson.js"},"./langfuseClient":{"types":"./dist/langfuseClient.d.ts","import":"./dist/langfuseClient.js","default":"./dist/langfuseClient.js","require":"./dist/langfuseClient.js"}},"gitHead":"c4f619568af291f1177717422d2b3c30f140cb64","scripts":{"dev":"bun tsc -w","lint":"biome check ./src","test":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","compile":"bun tsc","test:ci":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","lint:fix":"biome check --write ./src","compile:watch":"bun tsc -w","test:coverage":"bun run ../scripts/check-coverage.ts","lint:unsafefix":"biome check --fix --unsafe ./src"},"_npmUser":{"name":"servercobra","email":"josh@nang.io"},"repository":{"url":"git+ssh://git@github.com/FlourishHealth/terreno.git","type":"git"},"_npmVersion":"10.9.8","description":"AI service layer for Terreno apps - GPT chat, request logging, and admin tools.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"ai":"^6.0.97","luxon":"^3.7.2","multer":"2.2.0","@ai-sdk/mcp":"^1.0.21","@langfuse/otel":"^5.0.1","@langfuse/client":"^5.0.1","@opentelemetry/api":"^1.9.0","google-auth-library":"^10.5.0","@google-cloud/storage":"^7.15.0","@opentelemetry/sdk-node":"0.217.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"winston":"^3.18.3","mongoose":"9.7.4","supertest":"^7.2.2","@types/bun":"^1.3.8","typescript":"~6.0.3","@terreno/api":"57.0.0-beta.1","@types/luxon":"^3.7.1","@terreno/test":"57.0.0-beta.1","@types/multer":"^1.4.12","@biomejs/biome":"^2.3.6","@types/express":"^5.0.6","@types/supertest":"^7.2.0","passport-local-mongoose":"^9.0.1"},"peerDependencies":{"mongoose":"^8.0.0 || ^9.0.0","@terreno/api":"57.0.0-beta.1"},"_npmOperationalInternal":{"tmp":"tmp/ai_57.0.0-beta.1_1787193140282_0.7772321735195293","host":"s3://npm-registry-packages-npm-production"}},"57.0.0":{"name":"@terreno/ai","version":"57.0.0","keywords":["ai","gpt","mongoose","express"],"author":{"name":"Josh Gachnang"},"license":"MIT","_id":"@terreno/ai@57.0.0","maintainers":[{"name":"ashflourishing","email":"ashutosh@flourish.health"},{"name":"servercobra","email":"josh@nang.io"}],"homepage":"https://github.com/FlourishHealth/terreno#readme","bugs":{"url":"https://github.com/FlourishHealth/terreno/issues"},"dist":{"shasum":"80111ba358d42ca5e601dbe44ab13a9fb0910e08","tarball":"https://registry.npmjs.org/@terreno/ai/-/ai-57.0.0.tgz","fileCount":139,"integrity":"sha512-TMK9EeJ+oPOG+7RMBdLgRlpO3J2lRjKmSVKhaxP53JIIC3n/IzqsDyE/H28CR5TI7f6cmXuwzemmapclRz5DEg==","signatures":[{"sig":"MEYCIQDybHxqYZJmnRrYUq6VtdggFnSPzGbKSF+eEa30W9oK3AIhAPjPM7pN0B43/VfRgfV60sciczhlzUTkmjF/cZfgtAr6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":698705},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.js"},"./langfuseApp":{"types":"./dist/langfuseApp.d.ts","import":"./dist/langfuseApp.js","default":"./dist/langfuseApp.js","require":"./dist/langfuseApp.js"},"./parseAiJson":{"types":"./dist/service/parseAiJson.d.ts","import":"./dist/service/parseAiJson.js","default":"./dist/service/parseAiJson.js","require":"./dist/service/parseAiJson.js"},"./langfuseClient":{"types":"./dist/langfuseClient.d.ts","import":"./dist/langfuseClient.js","default":"./dist/langfuseClient.js","require":"./dist/langfuseClient.js"}},"gitHead":"fd48a40ac9047a0781187e70764232dc2f6e16ad","scripts":{"dev":"bun tsc -w","lint":"biome check ./src","test":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","compile":"bun tsc","test:ci":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","lint:fix":"biome check --write ./src","compile:watch":"bun tsc -w","test:coverage":"bun run ../scripts/check-coverage.ts","lint:unsafefix":"biome check --fix --unsafe ./src"},"_npmUser":{"name":"servercobra","email":"josh@nang.io"},"repository":{"url":"git+ssh://git@github.com/FlourishHealth/terreno.git","type":"git"},"_npmVersion":"10.9.8","description":"AI service layer for Terreno apps - GPT chat, request logging, and admin tools.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"ai":"^6.0.97","luxon":"^3.7.2","multer":"2.2.0","@ai-sdk/mcp":"^1.0.21","@langfuse/otel":"^5.0.1","@langfuse/client":"^5.0.1","@opentelemetry/api":"^1.9.0","google-auth-library":"^10.5.0","@google-cloud/storage":"^7.15.0","@opentelemetry/sdk-node":"0.217.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"winston":"^3.18.3","mongoose":"9.7.4","supertest":"^7.2.2","@types/bun":"^1.3.8","typescript":"~6.0.3","@terreno/api":"57.0.0","@types/luxon":"^3.7.1","@terreno/test":"57.0.0","@types/multer":"^1.4.12","@biomejs/biome":"^2.3.6","@types/express":"^5.0.6","@types/supertest":"^7.2.0","passport-local-mongoose":"^9.0.1"},"peerDependencies":{"mongoose":"^8.0.0 || ^9.0.0","@terreno/api":"57.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ai_57.0.0_1787201485744_0.15635242186285025","host":"s3://npm-registry-packages-npm-production"}},"57.1.0":{"name":"@terreno/ai","version":"57.1.0","keywords":["ai","gpt","mongoose","express"],"author":{"name":"Josh Gachnang"},"license":"MIT","_id":"@terreno/ai@57.1.0","maintainers":[{"name":"ashflourishing","email":"ashutosh@flourish.health"},{"name":"servercobra","email":"josh@nang.io"}],"homepage":"https://github.com/FlourishHealth/terreno#readme","bugs":{"url":"https://github.com/FlourishHealth/terreno/issues"},"dist":{"shasum":"b2789ad81cb489a51297e8af9941d3ded3c1455a","tarball":"https://registry.npmjs.org/@terreno/ai/-/ai-57.1.0.tgz","fileCount":147,"integrity":"sha512-gI6pVM8yHcpgaXzTs/Wj3bPwG1enUIoa72ZNLZrj+Zx8bFXgbyfvp+8Z0biVohGnv1454JrdsoejUq4I9eLX2A==","signatures":[{"sig":"MEYCIQDC8SHxpkc0Odae6eqVqD1ibyTvCmP500fNgoEeUN/P6wIhAOeY+PNX1odP63wzh/89ug3Hz+MUGQ4jpGLxHbY8fRPn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":712862},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.js"},"./langfuseApp":{"types":"./dist/langfuseApp.d.ts","import":"./dist/langfuseApp.js","default":"./dist/langfuseApp.js","require":"./dist/langfuseApp.js"},"./parseAiJson":{"types":"./dist/service/parseAiJson.d.ts","import":"./dist/service/parseAiJson.js","default":"./dist/service/parseAiJson.js","require":"./dist/service/parseAiJson.js"},"./langfuseClient":{"types":"./dist/langfuseClient.d.ts","import":"./dist/langfuseClient.js","default":"./dist/langfuseClient.js","require":"./dist/langfuseClient.js"}},"gitHead":"7fa6a6d7e3a8c7fbe248355801067ece3ca7ac22","scripts":{"dev":"bun tsc -w","lint":"biome check ./src","test":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","compile":"bun tsc","test:ci":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","lint:fix":"biome check --write ./src","test:agent":"AGENT=1 bun test --only-failures --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do AGENT=1 bun test --only-failures --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","compile:watch":"bun tsc -w","test:coverage":"bun run ../scripts/check-coverage.ts","lint:unsafefix":"biome check --fix --unsafe ./src"},"_npmUser":{"name":"servercobra","email":"josh@nang.io"},"repository":{"url":"git+ssh://git@github.com/FlourishHealth/terreno.git","type":"git"},"_npmVersion":"10.9.8","description":"AI service layer for Terreno apps - GPT chat, request logging, and admin tools.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"ai":"^6.0.97","luxon":"^3.7.2","multer":"2.2.0","@ai-sdk/mcp":"^1.0.21","@langfuse/otel":"^5.0.1","@langfuse/client":"^5.0.1","@opentelemetry/api":"^1.9.0","google-auth-library":"^10.5.0","@google-cloud/storage":"^7.15.0","@opentelemetry/sdk-node":"0.217.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"winston":"^3.18.3","mongoose":"9.7.4","supertest":"^7.2.2","@types/bun":"^1.3.8","typescript":"~6.0.3","@terreno/api":"57.1.0","@types/luxon":"^3.7.1","@terreno/test":"57.1.0","@types/multer":"^1.4.12","@biomejs/biome":"^2.3.6","@types/express":"^5.0.6","@types/supertest":"^7.2.0","passport-local-mongoose":"^9.0.1"},"peerDependencies":{"mongoose":"^8.0.0 || ^9.0.0","@terreno/api":"57.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ai_57.1.0_1787446709478_0.9728893511597436","host":"s3://npm-registry-packages-npm-production"}},"57.2.0":{"name":"@terreno/ai","version":"57.2.0","keywords":["ai","gpt","mongoose","express"],"author":{"name":"Josh Gachnang"},"license":"MIT","_id":"@terreno/ai@57.2.0","maintainers":[{"name":"ashflourishing","email":"ashutosh@flourish.health"},{"name":"servercobra","email":"josh@nang.io"}],"homepage":"https://github.com/FlourishHealth/terreno#readme","bugs":{"url":"https://github.com/FlourishHealth/terreno/issues"},"dist":{"shasum":"24fadee4cfefcae66a50d9f6b4b897a90e523401","tarball":"https://registry.npmjs.org/@terreno/ai/-/ai-57.2.0.tgz","fileCount":147,"integrity":"sha512-n+/SB0+LKgnyIu6iAL8Otc3bBLhUFGSpTELLFp4W4xXc9FOQe/7cgd1LBkBpsz9jFiG4rpu57aI+TMs7U1hH4A==","signatures":[{"sig":"MEUCIQDKV9ktaAFwsXRPL8AB09/uPzQvRNN3PqLxSKBxDsn44AIgITf68S8GYmCM0h1tbkcMTflzHUMdq0PwfphW8f8iH3g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":712862},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.js"},"./langfuseApp":{"types":"./dist/langfuseApp.d.ts","import":"./dist/langfuseApp.js","default":"./dist/langfuseApp.js","require":"./dist/langfuseApp.js"},"./parseAiJson":{"types":"./dist/service/parseAiJson.d.ts","import":"./dist/service/parseAiJson.js","default":"./dist/service/parseAiJson.js","require":"./dist/service/parseAiJson.js"},"./langfuseClient":{"types":"./dist/langfuseClient.d.ts","import":"./dist/langfuseClient.js","default":"./dist/langfuseClient.js","require":"./dist/langfuseClient.js"}},"gitHead":"3caddf6f21e294db4e14ef19ea822f4a2dd9dd07","scripts":{"dev":"bun tsc -w","lint":"biome check ./src","test":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","compile":"bun tsc","test:ci":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","lint:fix":"biome check --write ./src","test:agent":"AGENT=1 bun test --only-failures --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do AGENT=1 bun test --only-failures --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","compile:watch":"bun tsc -w","test:coverage":"bun run ../scripts/check-coverage.ts","lint:unsafefix":"biome check --fix --unsafe ./src"},"_npmUser":{"name":"servercobra","email":"josh@nang.io"},"repository":{"url":"git+ssh://git@github.com/FlourishHealth/terreno.git","type":"git"},"_npmVersion":"10.9.8","description":"AI service layer for Terreno apps - GPT chat, request logging, and admin tools.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"ai":"^6.0.97","luxon":"^3.7.2","multer":"2.2.0","@ai-sdk/mcp":"^1.0.21","@langfuse/otel":"^5.0.1","@langfuse/client":"^5.0.1","@opentelemetry/api":"^1.9.0","google-auth-library":"^10.5.0","@google-cloud/storage":"^7.15.0","@opentelemetry/sdk-node":"0.217.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"winston":"^3.18.3","mongoose":"9.7.4","supertest":"^7.2.2","@types/bun":"^1.4.0","typescript":"~6.0.3","@terreno/api":"57.2.0","@types/luxon":"^3.7.1","@terreno/test":"57.2.0","@types/multer":"^1.4.12","@biomejs/biome":"^2.3.6","@types/express":"^5.0.6","@types/supertest":"^7.2.0","passport-local-mongoose":"^9.0.1"},"peerDependencies":{"mongoose":"^8.0.0 || ^9.0.0","@terreno/api":"57.2.0"},"_npmOperationalInternal":{"tmp":"tmp/ai_57.2.0_1787546193420_0.519104478604226","host":"s3://npm-registry-packages-npm-production"}},"57.3.0":{"name":"@terreno/ai","version":"57.3.0","keywords":["ai","gpt","mongoose","express"],"author":{"name":"Josh Gachnang"},"license":"MIT","_id":"@terreno/ai@57.3.0","maintainers":[{"name":"ashflourishing","email":"ashutosh@flourish.health"},{"name":"servercobra","email":"josh@nang.io"}],"homepage":"https://github.com/FlourishHealth/terreno#readme","bugs":{"url":"https://github.com/FlourishHealth/terreno/issues"},"dist":{"shasum":"3b633a1b823723017e31a073f3356e9a0c06079e","tarball":"https://registry.npmjs.org/@terreno/ai/-/ai-57.3.0.tgz","fileCount":149,"integrity":"sha512-ThmyxyQgfCc/v/TdwrgEWbnk088NZVqb3sxAnhY77okSm/pQALD0iHSN9uB3nLxObiCdLSYCSS9zmFLfAca+xw==","signatures":[{"sig":"MEUCIQCVOnWn41xgM70cKH6jMcGIAJiMmIuCLwhKUpT9BO9yLgIge3ekObReG+Xb2wL3e2qBYutXonvCRQhbqK3CJ3qKN80=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":724186},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.js"},"./langfuseApp":{"types":"./dist/langfuseApp.d.ts","import":"./dist/langfuseApp.js","default":"./dist/langfuseApp.js","require":"./dist/langfuseApp.js"},"./parseAiJson":{"types":"./dist/service/parseAiJson.d.ts","import":"./dist/service/parseAiJson.js","default":"./dist/service/parseAiJson.js","require":"./dist/service/parseAiJson.js"},"./langfuseClient":{"types":"./dist/langfuseClient.d.ts","import":"./dist/langfuseClient.js","default":"./dist/langfuseClient.js","require":"./dist/langfuseClient.js"}},"gitHead":"fadb8fba85094e66e6c64d2f0532f650d338293f","scripts":{"dev":"bun tsc -w","lint":"biome check ./src","test":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","compile":"bun tsc","test:ci":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","lint:fix":"biome check --write ./src","test:agent":"AGENT=1 bun test --only-failures --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do AGENT=1 bun test --only-failures --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","compile:watch":"bun tsc -w","test:coverage":"bun run ../scripts/check-coverage.ts","lint:unsafefix":"biome check --fix --unsafe ./src"},"_npmUser":{"name":"servercobra","email":"josh@nang.io"},"repository":{"url":"git+ssh://git@github.com/FlourishHealth/terreno.git","type":"git"},"_npmVersion":"10.9.0","description":"Provider-agnostic AI service with streaming chat, request logging, and admin tools — part of Terreno, the batteries-included TypeScript framework for universal apps.","directories":{},"_nodeVersion":"22.11.0","dependencies":{"ai":"^6.0.97","luxon":"^3.7.2","multer":"2.2.0","@ai-sdk/mcp":"^1.0.21","@langfuse/otel":"^5.0.1","@langfuse/client":"^5.0.1","@opentelemetry/api":"^1.9.0","google-auth-library":"^10.5.0","@google-cloud/storage":"^7.15.0","@opentelemetry/sdk-node":"0.217.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"winston":"^3.18.3","mongoose":"9.7.4","supertest":"^7.2.2","@types/bun":"^1.4.0","typescript":"~6.0.3","@terreno/api":"57.3.0","@types/luxon":"^3.7.1","@terreno/test":"57.3.0","@types/multer":"^1.4.12","@biomejs/biome":"^2.3.6","@types/express":"^5.0.6","@types/supertest":"^7.2.0","passport-local-mongoose":"^9.0.1"},"peerDependencies":{"mongoose":"^8.0.0 || ^9.0.0","@terreno/api":"57.3.0"},"_npmOperationalInternal":{"tmp":"tmp/ai_57.3.0_1788999282770_0.814913624179255","host":"s3://npm-registry-packages-npm-production"}},"57.4.0":{"name":"@terreno/ai","version":"57.4.0","keywords":["ai","gpt","mongoose","express"],"author":{"name":"Josh Gachnang"},"license":"MIT","_id":"@terreno/ai@57.4.0","maintainers":[{"name":"ashflourishing","email":"ashutosh@flourish.health"},{"name":"servercobra","email":"josh@nang.io"}],"homepage":"https://github.com/FlourishHealth/terreno#readme","bugs":{"url":"https://github.com/FlourishHealth/terreno/issues"},"dist":{"shasum":"6941dabed12a9166f5b6b38693fe7f5833f8a2ba","tarball":"https://registry.npmjs.org/@terreno/ai/-/ai-57.4.0.tgz","fileCount":149,"integrity":"sha512-IhYq135et+fL6vRmieEidbWwBn77EqcRkTxhaEWHwrpudMzJrwiqM+u/1MLHKxXG0ZaGcIg0V5ErDhiwzTrlzA==","signatures":[{"sig":"MEUCIFBHWMZayoMNtbpNNPp3NYxOSMdVJQpT5/nL1uABIhlyAiEAmORxbRrheRQyChIqKxm6AATgk+dtbhB0eH7KVCFIwKw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIAetagIhRMydq9jpmvmN41ikRUbvLf6xNZWGBeuBmeUgAiBU6ThL0uE1U3A0z09x8/S2JvPRl6pf3AKB7m0e1FTivQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":724642},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.js"},"./langfuseApp":{"types":"./dist/langfuseApp.d.ts","import":"./dist/langfuseApp.js","default":"./dist/langfuseApp.js","require":"./dist/langfuseApp.js"},"./parseAiJson":{"types":"./dist/service/parseAiJson.d.ts","import":"./dist/service/parseAiJson.js","default":"./dist/service/parseAiJson.js","require":"./dist/service/parseAiJson.js"},"./langfuseClient":{"types":"./dist/langfuseClient.d.ts","import":"./dist/langfuseClient.js","default":"./dist/langfuseClient.js","require":"./dist/langfuseClient.js"}},"gitHead":"6a6a66b55b5fe62619c3bcbaac6c14adc4a7fd3f","scripts":{"dev":"bun tsc -w","lint":"biome check ./src","test":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","compile":"bun tsc","test:ci":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","lint:fix":"biome check --write ./src","test:agent":"AGENT=1 bun test --only-failures --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do AGENT=1 bun test --only-failures --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","compile:watch":"bun tsc -w","test:coverage":"bun run ../scripts/check-coverage.ts","lint:unsafefix":"biome check --fix --unsafe ./src"},"_npmUser":{"name":"servercobra","email":"josh@nang.io"},"repository":{"url":"git+ssh://git@github.com/FlourishHealth/terreno.git","type":"git"},"_npmVersion":"10.9.0","description":"Provider-agnostic AI service with streaming chat, request logging, and admin tools — part of Terreno, the batteries-included TypeScript framework for universal apps.","directories":{},"_nodeVersion":"22.11.0","dependencies":{"ai":"^6.0.97","luxon":"^3.7.2","multer":"2.2.0","@ai-sdk/mcp":"^1.0.21","@langfuse/otel":"^5.0.1","@langfuse/client":"^5.0.1","@opentelemetry/api":"^1.9.0","google-auth-library":"^10.5.0","@google-cloud/storage":"^7.15.0","@opentelemetry/sdk-node":"0.217.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"express":"^5.2.1","mongoose":"9.7.4","supertest":"^7.2.2","@types/bun":"^1.4.0","typescript":"~6.0.3","@terreno/api":"57.4.0","@types/luxon":"^3.7.1","@terreno/test":"57.4.0","@types/multer":"^1.4.12","@biomejs/biome":"^2.3.6","@types/express":"^5.0.6","@types/supertest":"^7.2.0","passport-local-mongoose":"^9.0.1"},"peerDependencies":{"mongoose":"^8.0.0 || ^9.0.0","@terreno/api":"57.4.0","@ai-sdk/google-vertex":"^4.0.142"},"peerDependenciesMeta":{"@ai-sdk/google-vertex":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ai_57.4.0_1790100101311_0.33245934566471536","host":"s3://npm-registry-packages-npm-production"}},"57.6.0":{"name":"@terreno/ai","version":"57.6.0","keywords":["ai","gpt","mongoose","express"],"author":{"name":"Josh Gachnang"},"license":"MIT","_id":"@terreno/ai@57.6.0","maintainers":[{"name":"ashflourishing","email":"ashutosh@flourish.health"},{"name":"servercobra","email":"josh@nang.io"}],"homepage":"https://github.com/TerrenoLabs/terreno#readme","bugs":{"url":"https://github.com/TerrenoLabs/terreno/issues"},"dist":{"shasum":"f50e1f48a8702cfdf37390f982c41e2085659e09","tarball":"https://registry.npmjs.org/@terreno/ai/-/ai-57.6.0.tgz","fileCount":149,"integrity":"sha512-0/0vRURD1pRfgwBxLsdh0IHha1qO9BT6ug9jlrFNnpqV+T+rOfYndwysxn/TU48orN2RSZcmeUOsn6Ge4BB9Tw==","signatures":[{"sig":"MEQCIGAPxt7OJ/WkGYepDu3bleOazToOuXzNpZZRKBvcL5e1AiBSo3yn9piPn/VAdRp5WJmfeqNtZa8pI7hYtWHPSsXp4w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCsDG3ORBoinRh5ft11A6lKh7YWC9Jx3f7jJHf4N4woZQIgHHhb88KvfwfR4dZXUgDE62fUwO9QG69mmwoQ8ZwAH40=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587187},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.js"},"./langfuseApp":{"types":"./dist/langfuseApp.d.ts","import":"./dist/langfuseApp.js","default":"./dist/langfuseApp.js","require":"./dist/langfuseApp.js"},"./parseAiJson":{"types":"./dist/service/parseAiJson.d.ts","import":"./dist/service/parseAiJson.js","default":"./dist/service/parseAiJson.js","require":"./dist/service/parseAiJson.js"},"./langfuseClient":{"types":"./dist/langfuseClient.d.ts","import":"./dist/langfuseClient.js","default":"./dist/langfuseClient.js","require":"./dist/langfuseClient.js"}},"gitHead":"1fb4e144aa5ab69584fe37cdc4e06473ce36276c","scripts":{"dev":"bun tsc -w","lint":"biome check ./src","test":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","compile":"bun tsc","test:ci":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","lint:fix":"biome check --write ./src","test:agent":"AGENT=1 bun test --only-failures --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do AGENT=1 bun test --only-failures --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","compile:watch":"bun tsc -w","test:coverage":"bun run ../scripts/check-coverage.ts","lint:unsafefix":"biome check --fix --unsafe ./src"},"_npmUser":{"name":"servercobra","email":"josh@nang.io"},"repository":{"url":"git+ssh://git@github.com/TerrenoLabs/terreno.git","type":"git"},"_npmVersion":"10.9.0","description":"Provider-agnostic AI service with streaming chat, request logging, and admin tools — part of Terreno, the batteries-included TypeScript framework for universal apps.","directories":{},"_nodeVersion":"22.11.0","dependencies":{"ai":"^6.0.97","luxon":"^3.7.2","multer":"2.2.0","@ai-sdk/mcp":"^1.0.21","@langfuse/otel":"^5.0.1","@langfuse/client":"^5.0.1","@opentelemetry/api":"^1.9.0","google-auth-library":"^10.5.0","@google-cloud/storage":"^7.15.0","@opentelemetry/sdk-node":"0.217.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"express":"^5.2.1","mongoose":"9.7.4","supertest":"^7.2.2","@types/bun":"^1.4.0","typescript":"~6.0.3","@terreno/api":"57.6.0","@types/luxon":"^3.7.1","@terreno/test":"57.6.0","@types/multer":"^1.4.12","@biomejs/biome":"^2.3.6","@types/express":"^5.0.6","@types/supertest":"^7.2.0","passport-local-mongoose":"^9.0.1"},"peerDependencies":{"mongoose":"^8.0.0 || ^9.0.0","@terreno/api":"57.6.0","@ai-sdk/google-vertex":"^4.0.142"},"peerDependenciesMeta":{"@ai-sdk/google-vertex":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ai_57.6.0_1790227744555_0.15370554173727258","host":"s3://npm-registry-packages-npm-production"}},"57.6.1":{"name":"@terreno/ai","version":"57.6.1","keywords":["ai","gpt","mongoose","express"],"author":{"name":"Josh Gachnang"},"license":"MIT","_id":"@terreno/ai@57.6.1","maintainers":[{"name":"ashflourishing","email":"ashutosh@flourish.health"},{"name":"servercobra","email":"josh@nang.io"}],"homepage":"https://github.com/TerrenoLabs/terreno#readme","bugs":{"url":"https://github.com/TerrenoLabs/terreno/issues"},"dist":{"shasum":"3a565f95bbcdda7d5782de2891147068c14a1f5b","tarball":"https://registry.npmjs.org/@terreno/ai/-/ai-57.6.1.tgz","fileCount":149,"integrity":"sha512-seBkGiAWoWBJxFGQsbY0xBodq21yYa8LbhCfDfsqdC8AFp90j1txCrJVVERUSK7o8VjSlX9itRVEiZ7FSaJH/A==","signatures":[{"sig":"MEYCIQDVZOmE5+Pg5f1WkXC1keiak1vyNjj8rdk3oLoKQ4m5qgIhAMNC/MhPVhKn1D+TGRT06XasTtXVWHtNj+Xdj5tKki9h","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIEU+aTwIhqubev/xmZuUNjvDAR/JgmygQeFQMUrXVFFyAiEAuSFTINFiwOdFUhYGandb6aoNKAgO0z4/FG/M1qazKrU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587187},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.js"},"./langfuseApp":{"types":"./dist/langfuseApp.d.ts","import":"./dist/langfuseApp.js","default":"./dist/langfuseApp.js","require":"./dist/langfuseApp.js"},"./parseAiJson":{"types":"./dist/service/parseAiJson.d.ts","import":"./dist/service/parseAiJson.js","default":"./dist/service/parseAiJson.js","require":"./dist/service/parseAiJson.js"},"./langfuseClient":{"types":"./dist/langfuseClient.d.ts","import":"./dist/langfuseClient.js","default":"./dist/langfuseClient.js","require":"./dist/langfuseClient.js"}},"gitHead":"8a9e61f0e28e67b1add287e7b69fa61f7f8c6185","scripts":{"dev":"bun tsc -w","lint":"biome check ./src","test":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","compile":"bun tsc","test:ci":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","lint:fix":"biome check --write ./src","test:agent":"AGENT=1 bun test --only-failures --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do AGENT=1 bun test --only-failures --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","compile:watch":"bun tsc -w","test:coverage":"bun run ../scripts/check-coverage.ts","lint:unsafefix":"biome check --fix --unsafe ./src"},"_npmUser":{"name":"servercobra","email":"josh@nang.io"},"repository":{"url":"git+ssh://git@github.com/TerrenoLabs/terreno.git","type":"git"},"_npmVersion":"10.9.0","description":"Provider-agnostic AI service with streaming chat, request logging, and admin tools — part of Terreno, the batteries-included TypeScript framework for universal apps.","directories":{},"_nodeVersion":"22.11.0","dependencies":{"ai":"^6.0.97","luxon":"^3.7.2","multer":"2.2.0","@ai-sdk/mcp":"^1.0.21","@langfuse/otel":"^5.0.1","@langfuse/client":"^5.0.1","@opentelemetry/api":"^1.9.0","google-auth-library":"^10.5.0","@google-cloud/storage":"^7.15.0","@opentelemetry/sdk-node":"0.217.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"express":"^5.2.1","mongoose":"9.7.4","supertest":"^7.2.2","@types/bun":"^1.4.0","typescript":"~6.0.3","@terreno/api":"57.6.1","@types/luxon":"^3.7.1","@terreno/test":"57.6.1","@types/multer":"^1.4.12","@biomejs/biome":"^2.3.6","@types/express":"^5.0.6","@types/supertest":"^7.2.0","passport-local-mongoose":"^9.0.1"},"peerDependencies":{"mongoose":"^8.0.0 || ^9.0.0","@terreno/api":"57.6.1","@ai-sdk/google-vertex":"^4.0.142"},"peerDependenciesMeta":{"@ai-sdk/google-vertex":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ai_57.6.1_1790364953817_0.7641313064484259","host":"s3://npm-registry-packages-npm-production"}},"57.7.0":{"name":"@terreno/ai","version":"57.7.0","keywords":["ai","gpt","mongoose","express"],"author":{"name":"Josh Gachnang"},"license":"MIT","_id":"@terreno/ai@57.7.0","maintainers":[{"name":"ashflourishing","email":"ashutosh@flourish.health"},{"name":"servercobra","email":"josh@nang.io"}],"homepage":"https://github.com/TerrenoLabs/terreno#readme","bugs":{"url":"https://github.com/TerrenoLabs/terreno/issues"},"dist":{"shasum":"6500378130316dc320b01cd4c0e8091616a977ba","tarball":"https://registry.npmjs.org/@terreno/ai/-/ai-57.7.0.tgz","fileCount":149,"integrity":"sha512-gmEt4qd5M6Vl8KarM0dXyfGrF5oChkZqnGK4JXFaQ6IAqT2nkMm2KecVa5xiCtDVI65deeiq/IP8qOBij5Fz4A==","signatures":[{"sig":"MEQCICKfG6L3j4Xi4SDSUS/NXezw5CDx3RBcmhXx82Y/pUjwAiBicPjIa6P3fdf2nCgbDIHpcdWMs90WuxMwbHNgU7M5cQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIEpVLHUVsZailKzeB3OCtoXJkL2tENgFzihEJ0f3y1NBAiEA/eula529e1uGrfveqQJz1GbDhmd9hRdmVDO0VhuNjYE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587187},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.js"},"./langfuseApp":{"types":"./dist/langfuseApp.d.ts","import":"./dist/langfuseApp.js","default":"./dist/langfuseApp.js","require":"./dist/langfuseApp.js"},"./parseAiJson":{"types":"./dist/service/parseAiJson.d.ts","import":"./dist/service/parseAiJson.js","default":"./dist/service/parseAiJson.js","require":"./dist/service/parseAiJson.js"},"./langfuseClient":{"types":"./dist/langfuseClient.d.ts","import":"./dist/langfuseClient.js","default":"./dist/langfuseClient.js","require":"./dist/langfuseClient.js"}},"gitHead":"9c86da95ac663fe5f2b2c212fa25d01ab8e55060","scripts":{"dev":"bun tsc -w","lint":"biome check ./src","test":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","compile":"bun tsc","test:ci":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","lint:fix":"biome check --write ./src","test:agent":"AGENT=1 bun test --only-failures --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do AGENT=1 bun test --only-failures --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","compile:watch":"bun tsc -w","test:coverage":"bun run ../scripts/check-coverage.ts","lint:unsafefix":"biome check --fix --unsafe ./src"},"_npmUser":{"name":"servercobra","email":"josh@nang.io"},"repository":{"url":"git+ssh://git@github.com/TerrenoLabs/terreno.git","type":"git"},"_npmVersion":"10.9.0","description":"Provider-agnostic AI service with streaming chat, request logging, and admin tools — part of Terreno, the batteries-included TypeScript framework for universal apps.","directories":{},"_nodeVersion":"22.11.0","dependencies":{"ai":"^6.0.97","luxon":"^3.7.2","multer":"2.2.0","@ai-sdk/mcp":"^1.0.21","@langfuse/otel":"^5.0.1","@langfuse/client":"^5.0.1","@opentelemetry/api":"^1.9.0","google-auth-library":"^10.5.0","@google-cloud/storage":"^7.15.0","@opentelemetry/sdk-node":"0.217.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"express":"^5.2.1","mongoose":"9.7.4","supertest":"^7.2.2","@types/bun":"^1.4.0","typescript":"~6.0.3","@terreno/api":"57.7.0","@types/luxon":"^3.7.1","@terreno/test":"57.7.0","@types/multer":"^1.4.12","@biomejs/biome":"^2.3.6","@types/express":"^5.0.6","@types/supertest":"^7.2.0","passport-local-mongoose":"^9.0.1"},"peerDependencies":{"mongoose":"^8.0.0 || ^9.0.0","@terreno/api":"57.7.0","@ai-sdk/google-vertex":"^4.0.142"},"peerDependenciesMeta":{"@ai-sdk/google-vertex":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ai_57.7.0_1790638503309_0.20242129501272688","host":"s3://npm-registry-packages-npm-production"}},"57.8.0":{"_id":"@terreno/ai@57.8.0","bugs":{"url":"https://github.com/TerrenoLabs/terreno/issues"},"dist":{"shasum":"4179fb326f16e4e4b526d48af5394ccb4cce9a59","tarball":"https://registry.npmjs.org/@terreno/ai/-/ai-57.8.0.tgz","fileCount":149,"integrity":"sha512-W9OsvKhkBoCJ0MVWOUt9PNLwdyaMypvHuCqDAqU6lPiLFuEnAIb4O3AIw2uxjhrmeKaaz2NrqTFcLlniDYGR8w==","signatures":[{"sig":"MEQCICXMa38t69//7o82S7kI8Hnj/muKOI9oRU/GSP+qNUhbAiAMatp8HnvRSvqHAEpkJGwpex3JJdudoT/jgLazDLrgBA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCICYkHrik4HEky8UbrL+WFt0o4x39CRFKYn562bYOJ/edAiEAufWF6jn2WBHiSLWYNDaci1K30R/zJt1fGV9e05JG3xc="}],"unpackedSize":591142},"main":"dist/index.js","name":"@terreno/ai","types":"dist/index.d.ts","author":{"name":"Josh Gachnang"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.js"},"./langfuseApp":{"types":"./dist/langfuseApp.d.ts","import":"./dist/langfuseApp.js","default":"./dist/langfuseApp.js","require":"./dist/langfuseApp.js"},"./parseAiJson":{"types":"./dist/service/parseAiJson.d.ts","import":"./dist/service/parseAiJson.js","default":"./dist/service/parseAiJson.js","require":"./dist/service/parseAiJson.js"},"./langfuseClient":{"types":"./dist/langfuseClient.d.ts","import":"./dist/langfuseClient.js","default":"./dist/langfuseClient.js","require":"./dist/langfuseClient.js"}},"gitHead":"4bc435714274d98408f92700811c3a8a8b77fe17","license":"MIT","scripts":{"dev":"bun tsc -w","lint":"biome check ./src","test":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","compile":"bun tsc","test:ci":"bun test --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do bun test --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","lint:fix":"biome check --write ./src","test:agent":"AGENT=1 bun test --only-failures --preload ./src/tests/bunSetup.ts && for f in ./src/isolated/*.isolated.ts; do AGENT=1 bun test --only-failures --preload ./src/tests/bunSetup.ts \"$f\" || exit 1; done","compile:watch":"bun tsc -w","test:coverage":"bun run ../scripts/check-coverage.ts","lint:unsafefix":"biome check --fix --unsafe ./src"},"version":"57.8.0","_npmUser":{"name":"servercobra","email":"josh@nang.io"},"homepage":"https://github.com/TerrenoLabs/terreno#readme","keywords":["ai","gpt","mongoose","express"],"repository":{"url":"git+ssh://git@github.com/TerrenoLabs/terreno.git","type":"git"},"_npmVersion":"10.9.0","description":"Provider-agnostic AI service with streaming chat, request logging, and admin tools — part of Terreno, the batteries-included TypeScript framework for universal apps.","directories":{},"maintainers":[{"name":"ashflourishing","email":"ashutosh@flourish.health"},{"name":"servercobra","email":"josh@nang.io"}],"_nodeVersion":"22.11.0","dependencies":{"ai":"^6.0.97","luxon":"^3.7.2","multer":"2.2.0","@ai-sdk/mcp":"^1.0.21","@langfuse/otel":"^5.0.1","@langfuse/client":"^5.0.1","@opentelemetry/api":"^1.9.0","google-auth-library":"^10.5.0","@google-cloud/storage":"^7.15.0","@opentelemetry/sdk-node":"0.217.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"express":"^5.2.1","mongoose":"9.7.4","supertest":"^7.2.2","@types/bun":"^1.4.0","typescript":"~6.0.3","@terreno/api":"57.8.0","@types/luxon":"^3.7.1","@terreno/test":"57.8.0","@types/multer":"^1.4.12","@biomejs/biome":"^2.3.6","@types/express":"^5.0.6","@types/supertest":"^7.2.0","passport-local-mongoose":"^9.0.1"},"peerDependencies":{"mongoose":"^8.0.0 || ^9.0.0","@terreno/api":"57.8.0","@ai-sdk/google-vertex":"^4.0.142"},"peerDependenciesMeta":{"@ai-sdk/google-vertex":{"optional":true}},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ai_57.8.0_1790971237951_0.5170667438672369"}}},"time":{"created":"2026-02-28T05:15:50.946Z","modified":"2026-10-02T20:00:38.203Z","0.3.2":"2026-02-28T05:15:51.358Z","0.4.2":"2026-03-12T03:18:02.498Z","0.5.0":"2026-03-12T20:21:50.512Z","0.6.0":"2026-03-13T14:12:12.167Z","0.7.0":"2026-03-17T14:07:49.467Z","0.7.1":"2026-03-26T21:27:39.627Z","0.7.2":"2026-03-27T03:16:41.604Z","0.8.0":"2026-03-31T20:13:49.133Z","0.8.1":"2026-04-01T21:09:16.878Z","0.8.2":"2026-04-01T21:46:10.974Z","0.8.3":"2026-04-02T15:51:53.867Z","0.9.0":"2026-04-02T19:36:08.985Z","0.9.1":"2026-04-09T21:28:59.165Z","0.9.2":"2026-04-09T21:46:27.893Z","0.9.3":"2026-04-10T17:12:42.312Z","0.10.0":"2026-04-16T17:11:55.116Z","0.11.0":"2026-04-26T22:10:30.779Z","0.11.1":"2026-04-27T22:37:26.222Z","0.11.2":"2026-04-29T16:01:47.922Z","0.11.3":"2026-04-29T16:52:50.680Z","0.11.4-beta.2":"2026-04-29T20:49:56.917Z","0.11.4-beta.3":"2026-05-01T19:37:00.681Z","0.11.4-beta.4":"2026-05-01T19:47:34.375Z","0.11.4-beta.6":"2026-05-04T17:32:50.405Z","0.11.5":"2026-05-05T05:33:48.335Z","0.11.4-beta.7":"2026-05-05T07:38:50.362Z","0.11.4-beta.8":"2026-05-05T15:15:01.550Z","0.11.6":"2026-05-05T18:27:35.233Z","0.11.7":"2026-05-06T02:31:27.009Z","0.11.8":"2026-05-07T06:13:23.353Z","0.11.9":"2026-05-09T04:41:14.408Z","0.12.0":"2026-05-10T17:35:49.744Z","0.12.1":"2026-05-11T19:36:22.979Z","0.12.2":"2026-05-11T23:09:20.899Z","0.13.0":"2026-05-12T03:37:27.611Z","0.13.1":"2026-05-14T23:47:57.730Z","0.13.3":"2026-05-15T21:59:34.655Z","0.14.0":"2026-05-28T00:05:28.495Z","0.14.1":"2026-05-28T15:04:07.462Z","0.14.2":"2026-05-29T19:02:34.204Z","0.15.0":"2026-06-01T04:54:58.612Z","0.15.1":"2026-06-01T20:04:36.394Z","0.15.2":"2026-06-02T17:00:52.937Z","0.16.1":"2026-06-02T23:21:34.706Z","0.17.0":"2026-06-04T18:41:54.741Z","0.18.0":"2026-06-11T05:10:13.188Z","0.19.0":"2026-06-14T17:55:15.933Z","0.20.0":"2026-06-14T21:33:16.255Z","0.20.1":"2026-06-16T23:13:48.801Z","0.20.2":"2026-06-17T21:39:17.679Z","0.21.0":"2026-06-22T23:44:04.585Z","0.22.1":"2026-06-24T22:21:30.581Z","0.22.2":"2026-06-24T23:11:55.521Z","0.23.0":"2026-06-26T19:16:22.233Z","0.23.1":"2026-07-02T23:55:47.236Z","0.24.0":"2026-07-03T21:38:26.268Z","0.25.0":"2026-07-12T23:35:02.918Z","0.26.0":"2026-07-15T21:59:33.146Z","0.27.0":"2026-07-29T02:10:54.233Z","0.28.0":"2026-07-30T20:44:38.634Z","0.29.0":"2026-07-31T06:34:34.219Z","0.30.0":"2026-08-03T20:32:26.432Z","0.31.0":"2026-08-11T18:29:10.398Z","56.0.0-beta.0":"2026-08-13T00:26:21.596Z","56.0.0-beta.2":"2026-08-17T22:45:45.903Z","57.0.0-beta.1":"2026-08-20T02:32:20.465Z","57.0.0":"2026-08-20T04:51:25.898Z","57.1.0":"2026-08-23T00:58:29.622Z","57.2.0":"2026-08-24T04:36:33.575Z","57.3.0":"2026-09-10T00:14:42.984Z","57.4.0":"2026-09-22T18:01:41.440Z","57.6.0":"2026-09-24T05:29:04.689Z","57.6.1":"2026-09-25T19:35:53.914Z","57.7.0":"2026-09-28T23:35:03.398Z","57.8.0":"2026-10-02T20:00:38.045Z"},"bugs":{"url":"https://github.com/TerrenoLabs/terreno/issues"},"author":{"name":"Josh Gachnang"},"license":"MIT","homepage":"https://github.com/TerrenoLabs/terreno#readme","keywords":["ai","gpt","mongoose","express"],"repository":{"url":"git+ssh://git@github.com/TerrenoLabs/terreno.git","type":"git"},"description":"Provider-agnostic AI service with streaming chat, request logging, and admin tools — part of Terreno, the batteries-included TypeScript framework for universal apps.","maintainers":[{"name":"ashflourishing","email":"ashutosh@flourish.health"},{"name":"servercobra","email":"josh@nang.io"}],"readme":"# @terreno/ai\n\nAI service layer for Terreno apps - GPT chat, request logging, and admin tools.\n\nAI service layer for Terreno backends — provider-agnostic chat, request logging, GPT history, projects, file uploads, MCP tools, and optional Langfuse integration.\n\n## Install\n\n```bash\nbun add @terreno/ai @terreno/api mongoose\n```\n\nAlso install a Vercel AI SDK provider in your app (e.g. `bun add @ai-sdk/google`).\n\n## Quick start\n\n```typescript\nimport {TerrenoApp} from \"@terreno/api\";\nimport {AiApp, AIService} from \"@terreno/ai\";\nimport {google} from \"@ai-sdk/google\";\nimport {User} from \"./models/user\";\n\nconst aiService = new AIService({model: google(\"gemini-2.5-flash\")});\n\nnew TerrenoApp({userModel: User})\n  .register(new AiApp({aiService}))\n  .start();\n```\n\nThis mounts GPT chat (`POST /gpt/prompt`), history CRUD (`/gpt/histories`), projects, and the admin AI request explorer. Add `LangfuseApp`, `FileStorageService`, and `MCPService` when you need those features.\n\n## What's included\n\n- `AIService` — text, streaming, structured JSON, remix, summary, and translation helpers\n- `AiApp` — TerrenoPlugin that registers all AI routes in one call\n- Mongoose models: `AIRequest`, `GptHistory`, `Project`, `FileAttachment`\n- Route registrars: `addGptRoutes`, `addGptHistoryRoutes`, `addProjectRoutes`, `addFileRoutes`, `addMcpRoutes`, `addAiRequestsExplorerRoutes`\n- `LangfuseApp` — optional Langfuse tracing and admin UI routes\n- `FileStorageService` — GCS uploads with signed URLs\n- `MCPService` — SSE MCP client for tool calling\n- `getMCPTools` — wrap registered `modelRouter` MCP tools as Vercel AI SDK tools for in-process `streamText` / `generateText`\n- Gemini and Vertex helpers: `listGeminiApiModels`, `createVertexProvider`\n\n## Documentation\n\nFull API reference: [docs/reference/ai.md](https://github.com/TerrenoLabs/terreno/blob/master/docs/reference/ai.md)\n\n## License and Contributing\n\nLicensed under the [MIT License](https://github.com/TerrenoLabs/terreno/blob/master/LICENSE). See [CONTRIBUTING.md](https://github.com/TerrenoLabs/terreno/blob/master/CONTRIBUTING.md) for contribution guidelines.\n","readmeFilename":"README.md"}