{"_id":"tstlai","_rev":"40-382c39e8eae49f9d2e9babd18280e31e","name":"tstlai","dist-tags":{"latest":"1.3.0"},"versions":{"0.7.2":{"name":"tstlai","version":"0.7.2","keywords":["ai","typescript","assistant","module"],"author":{"name":"Stig"},"license":"MIT","_id":"tstlai@0.7.2","maintainers":[{"name":"zaguan","email":"stig@zaguanai.com"}],"dist":{"shasum":"094aad172e37fcfadfc861ba298cf64e8222140d","tarball":"https://registry.npmjs.org/tstlai/-/tstlai-0.7.2.tgz","fileCount":67,"integrity":"sha512-wwXCxSuAlclQBhyu57zuaRk14QJwoUFJBMtnCDAHWNh0/GebRzdi9LzSlvM7EQm9+wjFlKmZa8f7mYqx5eQF0A==","signatures":[{"sig":"MEUCIEmXS5CImwuV7XrPLn2B7tC6VeKK15/qy97YySIClCCdAiEAi9zbH8Z4ckQdZapjN667B8q6jgfyHc91Kdv7vNN042o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":80577},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./next":"./dist/integrations/next.js","./client":"./dist/integrations/next-client.js","./integrations/next-intl":"./dist/integrations/next-intl.js"},"gitHead":"03aa7be31e369eda04fbb9aa57c8d4feef101bbc","scripts":{"dev":"tsc --watch","lint":"eslint 'src/**/*.{ts,tsx}'","test":"jest --passWithNoTests","build":"tsc","format":"prettier --write 'src/**/*.{ts,tsx,json,md}'","prepare":"husky","lint:fix":"eslint 'src/**/*.{ts,tsx}' --fix","check-types":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"zaguan","email":"stig@zaguanai.com"},"_npmVersion":"10.8.2","description":"A TypeScript AI assistant module that can be easily added to projects","directories":{},"lint-staged":{"*.{json,md}":["prettier --write"],"src/**/*.{ts,tsx}":["eslint --fix","prettier --write"]},"_nodeVersion":"20.19.5","dependencies":{"openai":"^4.104.0","ioredis":"^5.8.2","node-html-parser":"^7.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","husky":"^9.1.7","react":"^19.2.0","eslint":"^8.57.1","ts-jest":"^29.0.0","ts-node":"^10.9.2","prettier":"^3.7.1","typescript":"^5.9.3","@types/jest":"^29.0.0","@types/node":"^24.10.1","lint-staged":"^16.2.7","@types/react":"^19.2.7","eslint-plugin-react":"^7.37.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.48.0","eslint-plugin-react-hooks":"^7.0.1","@typescript-eslint/eslint-plugin":"^8.48.0"},"_npmOperationalInternal":{"tmp":"tmp/tstlai_0.7.2_1764275975061_0.23682429798559212","host":"s3://npm-registry-packages-npm-production"}},"0.7.4":{"name":"tstlai","version":"0.7.4","keywords":["ai","typescript","assistant","module"],"author":{"name":"Stig"},"license":"MIT","_id":"tstlai@0.7.4","maintainers":[{"name":"zaguan","email":"stig@zaguanai.com"}],"dist":{"shasum":"5e34de3e47299ac64149e3a4b1e4a35e0ad811d2","tarball":"https://registry.npmjs.org/tstlai/-/tstlai-0.7.4.tgz","fileCount":67,"integrity":"sha512-iAl3li5I/eVFqLNr4kCprAHqnga8IwjqonTRt+wVBEDzcrybt0VMCHloR3rf5/M8N+SVGAw0my7MsYH5jtDBTA==","signatures":[{"sig":"MEQCIAg5eJbI9/d50sH2H7go/OHNYwzpySvoIpmtmXapqF5oAiAaI0W1062b3H/Remfpt0cGd5aWKIbCt7RStM3SCdY1iA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":83881},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./next":"./dist/integrations/next.js","./client":"./dist/integrations/next-client.js","./integrations/next-intl":"./dist/integrations/next-intl.js"},"gitHead":"2ab98993bfe84adcaa54b45981c3330f96b4ce9a","scripts":{"dev":"tsc --watch","lint":"eslint 'src/**/*.{ts,tsx}'","test":"jest --passWithNoTests","build":"tsc","format":"prettier --write 'src/**/*.{ts,tsx,json,md}'","prepare":"husky","lint:fix":"eslint 'src/**/*.{ts,tsx}' --fix","check-types":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"zaguan","email":"stig@zaguanai.com"},"_npmVersion":"10.8.2","description":"A TypeScript AI assistant module that can be easily added to projects","directories":{},"lint-staged":{"*.{json,md}":["prettier --write"],"src/**/*.{ts,tsx}":["eslint --fix","prettier --write"]},"_nodeVersion":"20.19.5","dependencies":{"openai":"^4.104.0","ioredis":"^5.8.2","node-html-parser":"^7.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","husky":"^9.1.7","react":"^19.2.0","eslint":"^8.57.1","ts-jest":"^29.0.0","ts-node":"^10.9.2","prettier":"^3.7.1","typescript":"^5.9.3","@types/jest":"^29.0.0","@types/node":"^24.10.1","lint-staged":"^16.2.7","@types/react":"^19.2.7","eslint-plugin-react":"^7.37.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.48.0","eslint-plugin-react-hooks":"^7.0.1","@typescript-eslint/eslint-plugin":"^8.48.0"},"_npmOperationalInternal":{"tmp":"tmp/tstlai_0.7.4_1764277257300_0.6356137102706252","host":"s3://npm-registry-packages-npm-production"}},"0.7.6":{"name":"tstlai","version":"0.7.6","keywords":["ai","typescript","assistant","module"],"author":{"name":"Stig"},"license":"MIT","_id":"tstlai@0.7.6","maintainers":[{"name":"zaguan","email":"stig@zaguanai.com"}],"dist":{"shasum":"b0afa7c23ee5ad0e96dd0abfc97aad3e5669e8a8","tarball":"https://registry.npmjs.org/tstlai/-/tstlai-0.7.6.tgz","fileCount":67,"integrity":"sha512-KmKAD9O2FV1+KI9xblDVJFLQSA8072ew3DqpWtMxfi4lM5tQjFuZBkNttzTtk3oroEo5xDFaIj6SkTi/mHpbmA==","signatures":[{"sig":"MEQCIC8GlUSyLskUiG/i0dbx5Bxij8g68uQeJKAnLUxOsjWUAiANgAogOOPj/pCLg1Yo7hIuKKdNbNI/ry8PYRzzT+pU4w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":84280},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./next":"./dist/integrations/next.js","./client":"./dist/integrations/next-client.js","./integrations/next-intl":"./dist/integrations/next-intl.js"},"gitHead":"4d991255e4d1e3214c2975cacd36c35099489b56","scripts":{"dev":"tsc --watch","lint":"eslint 'src/**/*.{ts,tsx}'","test":"jest --passWithNoTests","build":"tsc","format":"prettier --write 'src/**/*.{ts,tsx,json,md}'","prepare":"husky","lint:fix":"eslint 'src/**/*.{ts,tsx}' --fix","check-types":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"zaguan","email":"stig@zaguanai.com"},"_npmVersion":"10.8.2","description":"A TypeScript AI assistant module that can be easily added to projects","directories":{},"lint-staged":{"*.{json,md}":["prettier --write"],"src/**/*.{ts,tsx}":["eslint --fix","prettier --write"]},"_nodeVersion":"20.19.5","dependencies":{"openai":"^4.104.0","ioredis":"^5.8.2","node-html-parser":"^7.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","husky":"^9.1.7","react":"^19.2.0","eslint":"^8.57.1","ts-jest":"^29.0.0","ts-node":"^10.9.2","prettier":"^3.7.1","typescript":"^5.9.3","@types/jest":"^29.0.0","@types/node":"^24.10.1","lint-staged":"^16.2.7","@types/react":"^19.2.7","eslint-plugin-react":"^7.37.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.48.0","eslint-plugin-react-hooks":"^7.0.1","@typescript-eslint/eslint-plugin":"^8.48.0"},"_npmOperationalInternal":{"tmp":"tmp/tstlai_0.7.6_1764282295143_0.5875557720586528","host":"s3://npm-registry-packages-npm-production"}},"0.7.7":{"name":"tstlai","version":"0.7.7","keywords":["ai","typescript","assistant","module"],"author":{"name":"Stig"},"license":"MIT","_id":"tstlai@0.7.7","maintainers":[{"name":"zaguan","email":"stig@zaguanai.com"}],"dist":{"shasum":"5df0685f836200858b219bd7ff65ff3d2554670b","tarball":"https://registry.npmjs.org/tstlai/-/tstlai-0.7.7.tgz","fileCount":67,"integrity":"sha512-KHmnsYcc3ezGuuYS0bNTRWp7lZjHN4ZPSJ55JJS/p6EB1yJViJZlMAmkyOSQ+TSlGMWTV8Td+Ong74G380x23A==","signatures":[{"sig":"MEQCIDEmtQMa40vh96Yl30wVivFkkr9izWff/9GYYTmhLDCaAiBC43FVwiu+kkLNAXEWdtk47LHiEdhqpmInw8hu8wGW3A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":84336},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./next":"./dist/integrations/next.js","./client":"./dist/integrations/next-client.js","./integrations/next-intl":"./dist/integrations/next-intl.js"},"gitHead":"5c0e581b674fff9a0de77e5dafe7b977b1a09f63","scripts":{"dev":"tsc --watch","lint":"eslint 'src/**/*.{ts,tsx}'","test":"jest --passWithNoTests","build":"tsc","format":"prettier --write 'src/**/*.{ts,tsx,json,md}'","prepare":"husky","lint:fix":"eslint 'src/**/*.{ts,tsx}' --fix","check-types":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"zaguan","email":"stig@zaguanai.com"},"_npmVersion":"10.8.2","description":"A TypeScript AI assistant module that can be easily added to projects","directories":{},"lint-staged":{"*.{json,md}":["prettier --write"],"src/**/*.{ts,tsx}":["eslint --fix","prettier --write"]},"_nodeVersion":"20.19.5","dependencies":{"openai":"^4.104.0","ioredis":"^5.8.2","node-html-parser":"^7.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","husky":"^9.1.7","react":"^19.2.0","eslint":"^8.57.1","ts-jest":"^29.0.0","ts-node":"^10.9.2","prettier":"^3.7.1","typescript":"^5.9.3","@types/jest":"^29.0.0","@types/node":"^24.10.1","lint-staged":"^16.2.7","@types/react":"^19.2.7","eslint-plugin-react":"^7.37.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.48.0","eslint-plugin-react-hooks":"^7.0.1","@typescript-eslint/eslint-plugin":"^8.48.0"},"_npmOperationalInternal":{"tmp":"tmp/tstlai_0.7.7_1764312468523_0.1628240283173079","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"tstlai","version":"0.8.0","keywords":["i18n","translation","localization","ai","nextjs","typescript"],"author":{"name":"Stig"},"license":"MIT","_id":"tstlai@0.8.0","maintainers":[{"name":"zaguan","email":"stig@zaguanai.com"}],"dist":{"shasum":"96c6759a1f1fdb62c4f997c7210b5cae50293650","tarball":"https://registry.npmjs.org/tstlai/-/tstlai-0.8.0.tgz","fileCount":71,"integrity":"sha512-JQxcDhT4QI6HRHB90GDzEyjHum6ttyVdYb0z5ZgjvGenHV1/FhGnwRkllyVuOdDZAyDpeK1EaWocwvz8L6uyMQ==","signatures":[{"sig":"MEUCIQD9fJ/kFdyllpWOTHMSPCAPMCJdUf45XdIEXpCOQnpc+QIgA5qUHP2HQv7L4Lk7pcu/gws3ZVmEyfg2G21NsPzTm3c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":100414},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./next":"./dist/integrations/next.js","./client":"./dist/integrations/next-client.js","./integrations":"./dist/integrations/index.js","./integrations/next-intl":"./dist/integrations/next-intl.js"},"gitHead":"afd66c6d7f1c2d7ad7048cc0469e4b4b517eab74","scripts":{"dev":"tsc --watch","lint":"eslint 'src/**/*.{ts,tsx}'","test":"jest --passWithNoTests","build":"tsc","format":"prettier --write 'src/**/*.{ts,tsx,json,md}'","prepare":"husky","lint:fix":"eslint 'src/**/*.{ts,tsx}' --fix","check-types":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"zaguan","email":"stig@zaguanai.com"},"_npmVersion":"10.8.2","description":"Just-In-Time AI localization engine with intelligent caching","directories":{},"lint-staged":{"*.{json,md}":["prettier --write"],"src/**/*.{ts,tsx}":["eslint --fix","prettier --write"]},"_nodeVersion":"20.19.5","dependencies":{"openai":"^4.104.0","ioredis":"^5.8.2","node-html-parser":"^7.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","husky":"^9.1.7","react":"^19.2.0","eslint":"^8.57.1","ts-jest":"^29.0.0","ts-node":"^10.9.2","prettier":"^3.7.1","typescript":"^5.9.3","@types/jest":"^29.0.0","@types/node":"^24.10.1","lint-staged":"^16.2.7","@types/react":"^19.2.7","eslint-plugin-react":"^7.37.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.48.0","eslint-plugin-react-hooks":"^7.0.1","@typescript-eslint/eslint-plugin":"^8.48.0"},"_npmOperationalInternal":{"tmp":"tmp/tstlai_0.8.0_1764327283675_0.3037373282430209","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"tstlai","version":"0.9.0","keywords":["i18n","translation","localization","ai","nextjs","typescript"],"author":{"name":"Stig"},"license":"MIT","_id":"tstlai@0.9.0","maintainers":[{"name":"zaguan","email":"stig@zaguanai.com"}],"dist":{"shasum":"ddf71106da9a78fa738789e7dd51f3a768e0fbb5","tarball":"https://registry.npmjs.org/tstlai/-/tstlai-0.9.0.tgz","fileCount":71,"integrity":"sha512-8Va81Nym2th4keb9XPchH3piy6hsj8HQw8a0lgqg2Vra6It37QecIpwYJDQtSaRhOTpAibO4GQlZjkRMROFIug==","signatures":[{"sig":"MEQCIA6uBh1ECGp8DQhGaNCL+Rj8KPFtUYkc98CQ/yo/lz01AiACKi/V/+c0Um6c9la/hTXs8bbNT2Bzk67pTU0mle+B/A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":100537},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./next":"./dist/integrations/next.js","./client":"./dist/integrations/next-client.js","./integrations":"./dist/integrations/index.js","./integrations/next-intl":"./dist/integrations/next-intl.js"},"gitHead":"551e7d3179b3ae479a02bfa7bd4aaf28a5f7e67e","scripts":{"dev":"tsc --watch","lint":"eslint 'src/**/*.{ts,tsx}'","test":"jest --passWithNoTests","build":"tsc","format":"prettier --write 'src/**/*.{ts,tsx,json,md}'","prepare":"husky","lint:fix":"eslint 'src/**/*.{ts,tsx}' --fix","check-types":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"zaguan","email":"stig@zaguanai.com"},"_npmVersion":"10.8.2","description":"Just-In-Time AI localization engine with intelligent caching","directories":{},"lint-staged":{"*.{json,md}":["prettier --write"],"src/**/*.{ts,tsx}":["eslint --fix","prettier --write"]},"_nodeVersion":"20.19.5","dependencies":{"openai":"^4.104.0","ioredis":"^5.8.2","node-html-parser":"^7.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","husky":"^9.1.7","react":"^19.2.0","eslint":"^8.57.1","ts-jest":"^29.0.0","ts-node":"^10.9.2","prettier":"^3.7.1","typescript":"^5.9.3","@types/jest":"^29.0.0","@types/node":"^24.10.1","lint-staged":"^16.2.7","@types/react":"^19.2.7","eslint-plugin-react":"^7.37.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.48.0","eslint-plugin-react-hooks":"^7.0.1","@typescript-eslint/eslint-plugin":"^8.48.0"},"_npmOperationalInternal":{"tmp":"tmp/tstlai_0.9.0_1764331210864_0.15780422930584925","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"tstlai","version":"0.10.0","keywords":["i18n","translation","localization","ai","nextjs","typescript"],"author":{"name":"Stig"},"license":"MIT","_id":"tstlai@0.10.0","maintainers":[{"name":"zaguan","email":"stig@zaguanai.com"}],"dist":{"shasum":"745ab88934d6bf55546118b4490748034d188e75","tarball":"https://registry.npmjs.org/tstlai/-/tstlai-0.10.0.tgz","fileCount":71,"integrity":"sha512-jEYSKWa+Bkpk6OEjtULsL7LQMmlvnNFriycyZl/lomF2J+0Dp2tdgSHnGoIruBzYay2B8DVF1p3Lhd6iXI6Y0Q==","signatures":[{"sig":"MEUCIBo6XRKRpFOJr2rd6E6qMKFVJPxxtDkXpV4IQNflHxe/AiEAnSBfrYyRj2xXmX8/QPOLRIMj8aUudgbUBRshaoGmusQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":110966},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./next":{"types":"./dist/integrations/next.d.ts","default":"./dist/integrations/next.js"},"./client":{"types":"./dist/integrations/next-client.d.ts","default":"./dist/integrations/next-client.js"},"./integrations":{"types":"./dist/integrations/index.d.ts","default":"./dist/integrations/index.js"},"./integrations/next-intl":{"types":"./dist/integrations/next-intl.d.ts","default":"./dist/integrations/next-intl.js"}},"gitHead":"faad50bdb174044b1eacb41454163e15f2fc6dff","scripts":{"dev":"tsc --watch","lint":"eslint 'src/**/*.{ts,tsx}'","test":"jest --passWithNoTests","build":"tsc","format":"prettier --write 'src/**/*.{ts,tsx,json,md}'","prepare":"husky","lint:fix":"eslint 'src/**/*.{ts,tsx}' --fix","check-types":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"zaguan","email":"stig@zaguanai.com"},"_npmVersion":"10.8.2","description":"Just-In-Time AI localization engine with intelligent caching","directories":{},"lint-staged":{"*.{json,md}":["prettier --write"],"src/**/*.{ts,tsx}":["eslint --fix","prettier --write"]},"_nodeVersion":"20.19.5","dependencies":{"openai":"^4.104.0","ioredis":"^5.8.2","node-html-parser":"^7.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","husky":"^9.1.7","react":"^19.2.0","eslint":"^8.57.1","ts-jest":"^29.0.0","ts-node":"^10.9.2","prettier":"^3.7.1","typescript":"^5.9.3","@types/jest":"^29.0.0","@types/node":"^24.10.1","lint-staged":"^16.2.7","@types/react":"^19.2.7","eslint-plugin-react":"^7.37.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.48.0","eslint-plugin-react-hooks":"^7.0.1","@typescript-eslint/eslint-plugin":"^8.48.0"},"_npmOperationalInternal":{"tmp":"tmp/tstlai_0.10.0_1764335910390_0.29667222117200254","host":"s3://npm-registry-packages-npm-production"}},"0.11.1":{"name":"tstlai","version":"0.11.1","keywords":["i18n","translation","localization","ai","nextjs","typescript"],"author":{"name":"Stig"},"license":"MIT","_id":"tstlai@0.11.1","maintainers":[{"name":"zaguan","email":"stig@zaguanai.com"}],"dist":{"shasum":"00d0bdcc9b0348a0834b95688df6eb40a20e3519","tarball":"https://registry.npmjs.org/tstlai/-/tstlai-0.11.1.tgz","fileCount":75,"integrity":"sha512-WHmp+ormxmH5igUf7nat75Ara0ZnUN/FUcoy0K+pY0R47WgI0kqHo9puM3ViKsAmEw9/ONqyp+aA8/2pXTc+Nw==","signatures":[{"sig":"MEUCIQD9ulVHNx3zZ3+rQEDyBcludK1W+kE96QZ03zaRbi7X5AIgYPBDDcneIh1xkiDQDkqNVpWZpXZf/BsFjqYWOmVOtgI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":118695},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./next":{"types":"./dist/integrations/next.d.ts","default":"./dist/integrations/next.js"},"./client":{"types":"./dist/integrations/next-client.d.ts","default":"./dist/integrations/next-client.js"},"./integrations":{"types":"./dist/integrations/index.d.ts","default":"./dist/integrations/index.js"},"./integrations/next-intl":{"types":"./dist/integrations/next-intl.d.ts","default":"./dist/integrations/next-intl.js"}},"gitHead":"b816a92243a6e6bf4ad633b940a4c64b04790d37","scripts":{"dev":"tsc --watch","lint":"eslint 'src/**/*.{ts,tsx}'","test":"jest --passWithNoTests","build":"tsc","format":"prettier --write 'src/**/*.{ts,tsx,json,md}'","prepare":"husky","lint:fix":"eslint 'src/**/*.{ts,tsx}' --fix","check-types":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"zaguan","email":"stig@zaguanai.com"},"_npmVersion":"10.8.2","description":"Just-In-Time AI localization engine with intelligent caching","directories":{},"lint-staged":{"*.{json,md}":["prettier --write"],"src/**/*.{ts,tsx}":["eslint --fix","prettier --write"]},"_nodeVersion":"20.19.5","dependencies":{"openai":"^4.104.0","ioredis":"^5.8.2","node-html-parser":"^7.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","husky":"^9.1.7","react":"^19.2.0","eslint":"^8.57.1","ts-jest":"^29.0.0","ts-node":"^10.9.2","prettier":"^3.7.1","typescript":"^5.9.3","@types/jest":"^29.0.0","@types/node":"^24.10.1","lint-staged":"^16.2.7","@types/react":"^19.2.7","@types/react-dom":"^19.2.3","eslint-plugin-react":"^7.37.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.48.0","eslint-plugin-react-hooks":"^7.0.1","@typescript-eslint/eslint-plugin":"^8.48.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tstlai_0.11.1_1764337183675_0.21231421219288849","host":"s3://npm-registry-packages-npm-production"}},"0.11.2":{"name":"tstlai","version":"0.11.2","keywords":["i18n","translation","localization","ai","nextjs","typescript"],"author":{"name":"Stig"},"license":"MIT","_id":"tstlai@0.11.2","maintainers":[{"name":"zaguan","email":"stig@zaguanai.com"}],"dist":{"shasum":"813e73028b12f7bab5574b1c415faaf3fd5bd965","tarball":"https://registry.npmjs.org/tstlai/-/tstlai-0.11.2.tgz","fileCount":79,"integrity":"sha512-PAMRzKUBHQZcdv6fLvZAb93gzUJ/1H/MQHKCuGfmWh8R9UpplJ2ec9SYt5XNI/+334mUirgth9IIHskiOvv5DQ==","signatures":[{"sig":"MEYCIQDQtONPLM9dTDIBUq5f8KqVA/8VEhKdtU7zsCL9/gjxMQIhAJvkTsFl/ND34AAU6UsxBeZqvZYl50mgXTlh+Q+YMbrG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":123350},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./next":{"types":"./dist/integrations/next.d.ts","default":"./dist/integrations/next.js"},"./client":{"types":"./dist/integrations/next-client.d.ts","default":"./dist/integrations/next-client.js"},"./integrations":{"types":"./dist/integrations/index.d.ts","default":"./dist/integrations/index.js"},"./integrations/next-intl":{"types":"./dist/integrations/next-intl.d.ts","default":"./dist/integrations/next-intl.js"}},"gitHead":"a2c3e1fbdc30b383a6ced91f25207a2044140aa7","scripts":{"dev":"tsc --watch","lint":"eslint 'src/**/*.{ts,tsx}'","test":"jest --passWithNoTests","build":"tsc","format":"prettier --write 'src/**/*.{ts,tsx,json,md}'","prepare":"husky","lint:fix":"eslint 'src/**/*.{ts,tsx}' --fix","check-types":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"zaguan","email":"stig@zaguanai.com"},"_npmVersion":"10.8.2","description":"Just-In-Time AI localization engine with intelligent caching","directories":{},"lint-staged":{"*.{json,md}":["prettier --write"],"src/**/*.{ts,tsx}":["eslint --fix","prettier --write"]},"_nodeVersion":"20.19.5","dependencies":{"openai":"^4.104.0","ioredis":"^5.8.2","node-html-parser":"^7.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","husky":"^9.1.7","react":"^19.2.0","eslint":"^8.57.1","ts-jest":"^29.0.0","ts-node":"^10.9.2","prettier":"^3.7.1","typescript":"^5.9.3","@types/jest":"^29.0.0","@types/node":"^24.10.1","lint-staged":"^16.2.7","@types/react":"^19.2.7","@types/react-dom":"^19.2.3","eslint-plugin-react":"^7.37.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.48.0","eslint-plugin-react-hooks":"^7.0.1","@typescript-eslint/eslint-plugin":"^8.48.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tstlai_0.11.2_1764338645569_0.22164124870509272","host":"s3://npm-registry-packages-npm-production"}},"0.11.3":{"name":"tstlai","version":"0.11.3","keywords":["i18n","translation","localization","ai","nextjs","typescript"],"author":{"name":"Stig"},"license":"MIT","_id":"tstlai@0.11.3","maintainers":[{"name":"zaguan","email":"stig@zaguanai.com"}],"dist":{"shasum":"0e7c093dd3aa81cc699aed182211aaa93c2e91ba","tarball":"https://registry.npmjs.org/tstlai/-/tstlai-0.11.3.tgz","fileCount":79,"integrity":"sha512-4eUwkjQOGjxdXS7m0R1zGKpthLS9ICDU2P4JvrTHRY+41YJBvYjQcG2fR3YTfKCJlVwFgw+6AkiQjR5VixG47Q==","signatures":[{"sig":"MEUCIGE3DhJj3WSb3k8cq0zd0MOt5Oz/uxnhjrPXljwLBn0kAiEA0qe7WMq+XL5oWlnYSXd9290w9phAai6VVLMqSWisTYo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":122201},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./next":{"types":"./dist/integrations/next.d.ts","default":"./dist/integrations/next.js"},"./client":{"types":"./dist/integrations/next-client.d.ts","default":"./dist/integrations/next-client.js"},"./integrations":{"types":"./dist/integrations/index.d.ts","default":"./dist/integrations/index.js"},"./integrations/next-intl":{"types":"./dist/integrations/next-intl.d.ts","default":"./dist/integrations/next-intl.js"}},"gitHead":"d0742d9b9bb2ddc756edf8c8baa1ff72d9c67b29","scripts":{"dev":"tsc --watch","lint":"eslint 'src/**/*.{ts,tsx}'","test":"jest --passWithNoTests","build":"tsc","format":"prettier --write 'src/**/*.{ts,tsx,json,md}'","prepare":"husky","lint:fix":"eslint 'src/**/*.{ts,tsx}' --fix","check-types":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"zaguan","email":"stig@zaguanai.com"},"_npmVersion":"10.8.2","description":"Just-In-Time AI localization engine with intelligent caching","directories":{},"lint-staged":{"*.{json,md}":["prettier --write"],"src/**/*.{ts,tsx}":["eslint --fix","prettier --write"]},"_nodeVersion":"20.19.5","dependencies":{"openai":"^4.104.0","ioredis":"^5.8.2","node-html-parser":"^7.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","husky":"^9.1.7","react":"^19.2.0","eslint":"^8.57.1","ts-jest":"^29.0.0","ts-node":"^10.9.2","prettier":"^3.7.1","typescript":"^5.9.3","@types/jest":"^29.0.0","@types/node":"^24.10.1","lint-staged":"^16.2.7","@types/react":"^19.2.7","@types/react-dom":"^19.2.3","eslint-plugin-react":"^7.37.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.48.0","eslint-plugin-react-hooks":"^7.0.1","@typescript-eslint/eslint-plugin":"^8.48.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tstlai_0.11.3_1764338993636_0.3354486468460127","host":"s3://npm-registry-packages-npm-production"}},"0.11.4":{"name":"tstlai","version":"0.11.4","keywords":["i18n","translation","localization","ai","nextjs","typescript"],"author":{"name":"Stig"},"license":"MIT","_id":"tstlai@0.11.4","maintainers":[{"name":"zaguan","email":"stig@zaguanai.com"}],"dist":{"shasum":"ffc155d49766b27d33fad8d6b7effadb5f5d9628","tarball":"https://registry.npmjs.org/tstlai/-/tstlai-0.11.4.tgz","fileCount":79,"integrity":"sha512-cXu0uZlD3lwTbSvy38gJNdx5zTbGriGEuYg9/8lrWF10AimRTu06woknBP2aGruj30nq1oI4uBZeOBY1f6lxjA==","signatures":[{"sig":"MEUCIDC+W78l0qNaPTq4Mbx48ZfESD4gZCUwGGZskmDQIrRIAiEAzlbrmIL7oQFsYKTT3gpjrAN48tN5gZp32FUJOJ1wZKA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":119472},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./next":{"types":"./dist/integrations/next.d.ts","default":"./dist/integrations/next.js"},"./client":{"types":"./dist/integrations/next-client.d.ts","default":"./dist/integrations/next-client.js"},"./integrations":{"types":"./dist/integrations/index.d.ts","default":"./dist/integrations/index.js"},"./integrations/next-intl":{"types":"./dist/integrations/next-intl.d.ts","default":"./dist/integrations/next-intl.js"}},"gitHead":"e314ef09b340a35abaabb341ad39ba42e7965ae1","scripts":{"dev":"tsc --watch","lint":"eslint 'src/**/*.{ts,tsx}'","test":"jest --passWithNoTests","build":"tsc","format":"prettier --write 'src/**/*.{ts,tsx,json,md}'","prepare":"husky","lint:fix":"eslint 'src/**/*.{ts,tsx}' --fix","check-types":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"zaguan","email":"stig@zaguanai.com"},"_npmVersion":"10.8.2","description":"Just-In-Time AI localization engine with intelligent caching","directories":{},"lint-staged":{"*.{json,md}":["prettier --write"],"src/**/*.{ts,tsx}":["eslint --fix","prettier --write"]},"_nodeVersion":"20.19.5","dependencies":{"openai":"^4.104.0","ioredis":"^5.8.2","node-html-parser":"^7.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","husky":"^9.1.7","react":"^19.2.0","eslint":"^8.57.1","ts-jest":"^29.0.0","ts-node":"^10.9.2","prettier":"^3.7.1","typescript":"^5.9.3","@types/jest":"^29.0.0","@types/node":"^24.10.1","lint-staged":"^16.2.7","@types/react":"^19.2.7","@types/react-dom":"^19.2.3","eslint-plugin-react":"^7.37.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.48.0","eslint-plugin-react-hooks":"^7.0.1","@typescript-eslint/eslint-plugin":"^8.48.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tstlai_0.11.4_1764339392698_0.5845268740830327","host":"s3://npm-registry-packages-npm-production"}},"0.11.5":{"name":"tstlai","version":"0.11.5","keywords":["i18n","translation","localization","ai","nextjs","typescript"],"author":{"name":"Stig"},"license":"MIT","_id":"tstlai@0.11.5","maintainers":[{"name":"zaguan","email":"stig@zaguanai.com"}],"dist":{"shasum":"4dffceb233e37984640e4bda294d967c90644fbd","tarball":"https://registry.npmjs.org/tstlai/-/tstlai-0.11.5.tgz","fileCount":79,"integrity":"sha512-808GE1SCO0V/H9kSrWX23SDDjbeaJiY04wFdR8B0qQQLD4uK5h8QTDEBZ7VkDk9R97wcVMdKy9Czh531ZMT8DQ==","signatures":[{"sig":"MEMCHyqAvMRm4CoL7y/dgQ8VnOedCkREpZQ4D0zCj0YHwdECIB8dTqPCkzujH9N6ZmSNz3MVQPOS5lsq9TqvyOlJFu+U","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":119146},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./next":{"types":"./dist/integrations/next.d.ts","default":"./dist/integrations/next.js"},"./client":{"types":"./dist/integrations/next-client.d.ts","default":"./dist/integrations/next-client.js"},"./integrations":{"types":"./dist/integrations/index.d.ts","default":"./dist/integrations/index.js"},"./integrations/next-intl":{"types":"./dist/integrations/next-intl.d.ts","default":"./dist/integrations/next-intl.js"}},"gitHead":"ea6f6368470c4c4f14aa23d8878b1ff03d922db8","scripts":{"dev":"tsc --watch","lint":"eslint 'src/**/*.{ts,tsx}'","test":"jest --passWithNoTests","build":"tsc","format":"prettier --write 'src/**/*.{ts,tsx,json,md}'","prepare":"husky","lint:fix":"eslint 'src/**/*.{ts,tsx}' --fix","check-types":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"zaguan","email":"stig@zaguanai.com"},"_npmVersion":"10.8.2","description":"Just-In-Time AI localization engine with intelligent caching","directories":{},"lint-staged":{"*.{json,md}":["prettier --write"],"src/**/*.{ts,tsx}":["eslint --fix","prettier --write"]},"_nodeVersion":"20.19.5","dependencies":{"openai":"^4.104.0","ioredis":"^5.8.2","node-html-parser":"^7.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","husky":"^9.1.7","react":"^19.2.0","eslint":"^8.57.1","ts-jest":"^29.0.0","ts-node":"^10.9.2","prettier":"^3.7.1","typescript":"^5.9.3","@types/jest":"^29.0.0","@types/node":"^24.10.1","lint-staged":"^16.2.7","@types/react":"^19.2.7","@types/react-dom":"^19.2.3","eslint-plugin-react":"^7.37.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.48.0","eslint-plugin-react-hooks":"^7.0.1","@typescript-eslint/eslint-plugin":"^8.48.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tstlai_0.11.5_1764339719922_0.40814185609860565","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"tstlai","version":"0.12.0","keywords":["i18n","translation","localization","ai","nextjs","typescript"],"author":{"name":"Stig"},"license":"MIT","_id":"tstlai@0.12.0","maintainers":[{"name":"zaguan","email":"stig@zaguanai.com"}],"dist":{"shasum":"fc46fee7d25f2f1c1ed075ef4ba5a8407bb72ae8","tarball":"https://registry.npmjs.org/tstlai/-/tstlai-0.12.0.tgz","fileCount":71,"integrity":"sha512-XIbVu0HZsoeYMAE068tJX5fsUd5K5y6JRHd5YGK3vHvZOOFeRgs2f6X4JkAtNQINgg7P8yUYtDqmg6E4cMM50Q==","signatures":[{"sig":"MEYCIQDspgSxzsKNAA9o0bwqRe9R0qoNZPIbTLgkt2Yvx2RpDQIhAOVNhUxuqM6UMDC3wkFMZYB3UpW/VNYd3cZDrvMFBuaP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":109936},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./next":{"types":"./dist/integrations/next.d.ts","default":"./dist/integrations/next.js"},"./client":{"types":"./dist/integrations/next-client.d.ts","default":"./dist/integrations/next-client.js"},"./integrations":{"types":"./dist/integrations/index.d.ts","default":"./dist/integrations/index.js"},"./integrations/next-intl":{"types":"./dist/integrations/next-intl.d.ts","default":"./dist/integrations/next-intl.js"}},"gitHead":"9fe19e2d1abbbfa8bf702f200f9b0b0fa888a9a8","scripts":{"dev":"tsc --watch","lint":"eslint 'src/**/*.{ts,tsx}'","test":"jest --passWithNoTests","build":"tsc","format":"prettier --write 'src/**/*.{ts,tsx,json,md}'","prepare":"husky","lint:fix":"eslint 'src/**/*.{ts,tsx}' --fix","check-types":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"zaguan","email":"stig@zaguanai.com"},"_npmVersion":"10.8.2","description":"Just-In-Time AI localization engine with intelligent caching","directories":{},"lint-staged":{"*.{json,md}":["prettier --write"],"src/**/*.{ts,tsx}":["eslint --fix","prettier --write"]},"_nodeVersion":"20.19.5","dependencies":{"openai":"^4.104.0","ioredis":"^5.8.2","node-html-parser":"^7.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","husky":"^9.1.7","react":"^19.2.0","eslint":"^8.57.1","ts-jest":"^29.0.0","ts-node":"^10.9.2","prettier":"^3.7.1","typescript":"^5.9.3","@types/jest":"^29.0.0","@types/node":"^24.10.1","lint-staged":"^16.2.7","@types/react":"^19.2.7","@types/react-dom":"^19.2.3","eslint-plugin-react":"^7.37.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.48.0","eslint-plugin-react-hooks":"^7.0.1","@typescript-eslint/eslint-plugin":"^8.48.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tstlai_0.12.0_1764340734525_0.1150801772856842","host":"s3://npm-registry-packages-npm-production"}},"0.13.0":{"name":"tstlai","version":"0.13.0","keywords":["i18n","translation","localization","ai","nextjs","typescript"],"author":{"name":"Stig"},"license":"MIT","_id":"tstlai@0.13.0","maintainers":[{"name":"zaguan","email":"stig@zaguanai.com"}],"dist":{"shasum":"338b9f93e61f6538c5a79d5f2fc423c0fff16c86","tarball":"https://registry.npmjs.org/tstlai/-/tstlai-0.13.0.tgz","fileCount":71,"integrity":"sha512-wjXw/ekKC1RI3hoKEaLtWkhj5vCps39DZm3Eg0pDZNI86MxPwnbU9GH39gwPP8osVZ072ju/XNNB+cfdh2ZC0Q==","signatures":[{"sig":"MEQCIEU/ThTKvpVXmZCx01P0HDPGBWvRf8RWTTW8ufydynb8AiBx/sycRUUeV96oQjwoKjRQ9xDyE1MRDiRO7ys/Z7DvYQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":132799},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./next":{"types":"./dist/integrations/next.d.ts","default":"./dist/integrations/next.js"},"./client":{"types":"./dist/integrations/next-client.d.ts","default":"./dist/integrations/next-client.js"},"./integrations":{"types":"./dist/integrations/index.d.ts","default":"./dist/integrations/index.js"},"./integrations/next-intl":{"types":"./dist/integrations/next-intl.d.ts","default":"./dist/integrations/next-intl.js"}},"gitHead":"dc1465f0809a63c4b9e67ecc1ec12c745ca3ae9f","scripts":{"dev":"tsc --watch","lint":"eslint 'src/**/*.{ts,tsx}'","test":"jest --passWithNoTests","build":"tsc","format":"prettier --write 'src/**/*.{ts,tsx,json,md}'","prepare":"husky","lint:fix":"eslint 'src/**/*.{ts,tsx}' --fix","check-types":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"zaguan","email":"stig@zaguanai.com"},"_npmVersion":"10.8.2","description":"Just-In-Time AI localization engine with intelligent caching","directories":{},"lint-staged":{"*.{json,md}":["prettier --write"],"src/**/*.{ts,tsx}":["eslint --fix","prettier --write"]},"_nodeVersion":"20.19.5","dependencies":{"openai":"^4.104.0","ioredis":"^5.8.2","node-html-parser":"^7.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","husky":"^9.1.7","react":"^19.2.0","eslint":"^8.57.1","ts-jest":"^29.0.0","ts-node":"^10.9.2","prettier":"^3.7.1","typescript":"^5.9.3","@types/jest":"^29.0.0","@types/node":"^24.10.1","lint-staged":"^16.2.7","@types/react":"^19.2.7","@types/react-dom":"^19.2.3","eslint-plugin-react":"^7.37.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.48.0","eslint-plugin-react-hooks":"^7.0.1","@typescript-eslint/eslint-plugin":"^8.48.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tstlai_0.13.0_1764353925219_0.33845344355596163","host":"s3://npm-registry-packages-npm-production"}},"0.13.1":{"name":"tstlai","version":"0.13.1","keywords":["i18n","translation","localization","ai","nextjs","typescript"],"author":{"name":"Stig"},"license":"MIT","_id":"tstlai@0.13.1","maintainers":[{"name":"zaguan","email":"stig@zaguanai.com"}],"dist":{"shasum":"980d25a01f104c2d2fb849cca746e673d18583c4","tarball":"https://registry.npmjs.org/tstlai/-/tstlai-0.13.1.tgz","fileCount":71,"integrity":"sha512-mv7CY1NeCFC8y/9EfKmLcz8AUvw09H2aJzYLrbR/uUK2xiDjUELVS6mLY/EDAjlY7hYspm97PilCaIsgpSj2Ew==","signatures":[{"sig":"MEQCIHtWAlDjXHOhMe+wc3usWOAKGDiwXWov2yoC8b8b1plxAiBamQcgyRugqioYzf8nVCv+7Em/wMcHOWzjB8YPd9kN2A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":135897},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./next":{"types":"./dist/integrations/next.d.ts","default":"./dist/integrations/next.js"},"./client":{"types":"./dist/integrations/next-client.d.ts","default":"./dist/integrations/next-client.js"},"./integrations":{"types":"./dist/integrations/index.d.ts","default":"./dist/integrations/index.js"},"./integrations/next-intl":{"types":"./dist/integrations/next-intl.d.ts","default":"./dist/integrations/next-intl.js"}},"gitHead":"c8336da481062ba6e79b627e9569fb7a2831c450","scripts":{"dev":"tsc --watch","lint":"eslint 'src/**/*.{ts,tsx}'","test":"jest --passWithNoTests","build":"tsc","format":"prettier --write 'src/**/*.{ts,tsx,json,md}'","prepare":"husky","lint:fix":"eslint 'src/**/*.{ts,tsx}' --fix","check-types":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"zaguan","email":"stig@zaguanai.com"},"_npmVersion":"10.8.2","description":"Just-In-Time AI localization engine with intelligent caching","directories":{},"lint-staged":{"*.{json,md}":["prettier --write"],"src/**/*.{ts,tsx}":["eslint --fix","prettier --write"]},"_nodeVersion":"20.19.5","dependencies":{"openai":"^4.104.0","ioredis":"^5.8.2","node-html-parser":"^7.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","husky":"^9.1.7","react":"^19.2.0","eslint":"^8.57.1","ts-jest":"^29.0.0","ts-node":"^10.9.2","prettier":"^3.7.1","typescript":"^5.9.3","@types/jest":"^29.0.0","@types/node":"^24.10.1","lint-staged":"^16.2.7","@types/react":"^19.2.7","@types/react-dom":"^19.2.3","eslint-plugin-react":"^7.37.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.48.0","eslint-plugin-react-hooks":"^7.0.1","@typescript-eslint/eslint-plugin":"^8.48.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tstlai_0.13.1_1764354405083_0.41607412792627074","host":"s3://npm-registry-packages-npm-production"}},"0.14.0":{"name":"tstlai","version":"0.14.0","keywords":["i18n","translation","localization","ai","nextjs","typescript"],"author":{"name":"Stig"},"license":"MIT","_id":"tstlai@0.14.0","maintainers":[{"name":"zaguan","email":"stig@zaguanai.com"}],"dist":{"shasum":"d2b0c3d5bf9668bd04fc93c8d7be72f2a4000c7e","tarball":"https://registry.npmjs.org/tstlai/-/tstlai-0.14.0.tgz","fileCount":71,"integrity":"sha512-CoB9dYkVSNyiTOKn76kIYJeR79DlMOeVYh1F9NURoRmN63m2Iv+HoZMhWG0DZ4TcX2dYDlXTZpdKQikwVzTAaQ==","signatures":[{"sig":"MEQCIDbNVNd46d3BvUxjltBPHcr9e927FqPIPKoNi+FihQk+AiBQsY2VfJAkO8DZbLy1/c+6+k05z2Vlw2GlxFusM85i7g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":149748},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./next":{"types":"./dist/integrations/next.d.ts","default":"./dist/integrations/next.js"},"./client":{"types":"./dist/integrations/next-client.d.ts","default":"./dist/integrations/next-client.js"},"./integrations":{"types":"./dist/integrations/index.d.ts","default":"./dist/integrations/index.js"},"./integrations/next-intl":{"types":"./dist/integrations/next-intl.d.ts","default":"./dist/integrations/next-intl.js"}},"gitHead":"0f731c5505e404278dbb494f7e4270acf8e66b2d","scripts":{"dev":"tsc --watch","lint":"eslint 'src/**/*.{ts,tsx}'","test":"jest --passWithNoTests","build":"tsc","format":"prettier --write 'src/**/*.{ts,tsx,json,md}'","prepare":"husky","lint:fix":"eslint 'src/**/*.{ts,tsx}' --fix","check-types":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"zaguan","email":"stig@zaguanai.com"},"_npmVersion":"10.8.2","description":"Just-In-Time AI localization engine with intelligent caching","directories":{},"lint-staged":{"*.{json,md}":["prettier --write"],"src/**/*.{ts,tsx}":["eslint --fix","prettier --write"]},"_nodeVersion":"20.19.5","dependencies":{"openai":"^4.104.0","ioredis":"^5.8.2","node-html-parser":"^7.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","husky":"^9.1.7","react":"^19.2.0","eslint":"^8.57.1","ts-jest":"^29.0.0","ts-node":"^10.9.2","prettier":"^3.7.1","typescript":"^5.9.3","@types/jest":"^29.0.0","@types/node":"^24.10.1","lint-staged":"^16.2.7","@types/react":"^19.2.7","@types/react-dom":"^19.2.3","eslint-plugin-react":"^7.37.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.48.0","eslint-plugin-react-hooks":"^7.0.1","@typescript-eslint/eslint-plugin":"^8.48.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tstlai_0.14.0_1764355069683_0.6939903611882792","host":"s3://npm-registry-packages-npm-production"}},"0.14.1":{"name":"tstlai","version":"0.14.1","keywords":["i18n","translation","localization","ai","nextjs","typescript"],"author":{"name":"Stig"},"license":"MIT","_id":"tstlai@0.14.1","maintainers":[{"name":"zaguan","email":"stig@zaguanai.com"}],"dist":{"shasum":"d757a7ca8974397280a26058c6d5a6e63d613143","tarball":"https://registry.npmjs.org/tstlai/-/tstlai-0.14.1.tgz","fileCount":71,"integrity":"sha512-tuTDEPON1TkFfhfP7RgH1rYRx+NH58tvvkSh415kysTnZbrr5qzK4nZExyiAnJz59O/zR6BxnhwlaHgvGIDb8w==","signatures":[{"sig":"MEUCIQDa7MTcPrjT7yU/o/Q3wDwAsnXYM5E7xE4p9gMGs4q5OQIgNxLg7FcfCNQoxDpf4Ot5eGU12CJ33MmIKEcxDsOVYjM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":150477},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./next":{"types":"./dist/integrations/next.d.ts","default":"./dist/integrations/next.js"},"./client":{"types":"./dist/integrations/next-client.d.ts","default":"./dist/integrations/next-client.js"},"./integrations":{"types":"./dist/integrations/index.d.ts","default":"./dist/integrations/index.js"},"./integrations/next-intl":{"types":"./dist/integrations/next-intl.d.ts","default":"./dist/integrations/next-intl.js"}},"gitHead":"08751c76d02eeb294c0a96d7402f34395bf22f89","scripts":{"dev":"tsc --watch","lint":"eslint 'src/**/*.{ts,tsx}'","test":"jest --passWithNoTests","build":"tsc","format":"prettier --write 'src/**/*.{ts,tsx,json,md}'","prepare":"husky","lint:fix":"eslint 'src/**/*.{ts,tsx}' --fix","check-types":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"zaguan","email":"stig@zaguanai.com"},"_npmVersion":"10.8.2","description":"Just-In-Time AI localization engine with intelligent caching","directories":{},"lint-staged":{"*.{json,md}":["prettier --write"],"src/**/*.{ts,tsx}":["eslint --fix","prettier --write"]},"_nodeVersion":"20.19.5","dependencies":{"openai":"^4.104.0","ioredis":"^5.8.2","node-html-parser":"^7.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","husky":"^9.1.7","react":"^19.2.0","eslint":"^8.57.1","ts-jest":"^29.0.0","ts-node":"^10.9.2","prettier":"^3.7.1","typescript":"^5.9.3","@types/jest":"^29.0.0","@types/node":"^24.10.1","lint-staged":"^16.2.7","@types/react":"^19.2.7","@types/react-dom":"^19.2.3","eslint-plugin-react":"^7.37.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.48.0","eslint-plugin-react-hooks":"^7.0.1","@typescript-eslint/eslint-plugin":"^8.48.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tstlai_0.14.1_1764355685334_0.19323980635485127","host":"s3://npm-registry-packages-npm-production"}},"0.15.0":{"name":"tstlai","version":"0.15.0","keywords":["i18n","translation","localization","ai","nextjs","typescript"],"author":{"name":"Stig"},"license":"MIT","_id":"tstlai@0.15.0","maintainers":[{"name":"zaguan","email":"stig@zaguanai.com"}],"dist":{"shasum":"8037d2122dca6c1797c619de6554bfe5a09dcca8","tarball":"https://registry.npmjs.org/tstlai/-/tstlai-0.15.0.tgz","fileCount":71,"integrity":"sha512-y1YWA69bQoVSXZTHTfwKBy4YcqnJaRNM/jFKNUqQ939hIaeQMJwyAIsgxAmhiGl2OqKKAowQHoKm4hO30f6MLA==","signatures":[{"sig":"MEYCIQDOrCxNXUNgGW+L9oAlHmC9cc80p80DOUojib94jEgYXwIhANsdsLxo+mXUiXDccgSk5ZfZWpfkVVVRizyuOou2/kQh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":166423},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./next":{"types":"./dist/integrations/next.d.ts","default":"./dist/integrations/next.js"},"./client":{"types":"./dist/integrations/next-client.d.ts","default":"./dist/integrations/next-client.js"},"./integrations":{"types":"./dist/integrations/index.d.ts","default":"./dist/integrations/index.js"},"./integrations/next-intl":{"types":"./dist/integrations/next-intl.d.ts","default":"./dist/integrations/next-intl.js"}},"gitHead":"01cce6f6b32005f5ac7b718641b696ea34573bfa","scripts":{"dev":"tsc --watch","lint":"eslint 'src/**/*.{ts,tsx}'","test":"jest --passWithNoTests","build":"tsc","format":"prettier --write 'src/**/*.{ts,tsx,json,md}'","prepare":"husky","lint:fix":"eslint 'src/**/*.{ts,tsx}' --fix","check-types":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"zaguan","email":"stig@zaguanai.com"},"_npmVersion":"10.8.2","description":"Just-In-Time AI localization engine with intelligent caching","directories":{},"lint-staged":{"*.{json,md}":["prettier --write"],"src/**/*.{ts,tsx}":["eslint --fix","prettier --write"]},"_nodeVersion":"20.19.5","dependencies":{"openai":"^4.104.0","ioredis":"^5.8.2","node-html-parser":"^7.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","husky":"^9.1.7","react":"^19.2.0","eslint":"^8.57.1","ts-jest":"^29.0.0","ts-node":"^10.9.2","prettier":"^3.7.1","typescript":"^5.9.3","@types/jest":"^29.0.0","@types/node":"^24.10.1","lint-staged":"^16.2.7","@types/react":"^19.2.7","@types/react-dom":"^19.2.3","eslint-plugin-react":"^7.37.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.48.0","eslint-plugin-react-hooks":"^7.0.1","@typescript-eslint/eslint-plugin":"^8.48.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tstlai_0.15.0_1764356418933_0.6580201011649884","host":"s3://npm-registry-packages-npm-production"}},"0.15.1":{"name":"tstlai","version":"0.15.1","keywords":["i18n","translation","localization","ai","nextjs","typescript"],"author":{"name":"Stig"},"license":"MIT","_id":"tstlai@0.15.1","maintainers":[{"name":"zaguan","email":"stig@zaguanai.com"}],"dist":{"shasum":"ba56b5766c3ee0cfc2e3cd26a8625a4d40d12ab5","tarball":"https://registry.npmjs.org/tstlai/-/tstlai-0.15.1.tgz","fileCount":71,"integrity":"sha512-a5LUgUYkACvWz37fAiGwcV6Qx9wRrGLFWEM8ou4pZKEeS6D6gpE6jOeGAZSCKFSuxMonFCtgacTLdxKVl4aDtA==","signatures":[{"sig":"MEUCIQDKAr7NvcJVykTOoQtLk2Qm+Vg++0zjXRZ6ceLkvF72mgIgTn8SKnZTmnmpj1FxVRESjofhRg5dA069jXk4ZY7TvX0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":165970},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./next":{"types":"./dist/integrations/next.d.ts","default":"./dist/integrations/next.js"},"./client":{"types":"./dist/integrations/next-client.d.ts","default":"./dist/integrations/next-client.js"},"./integrations":{"types":"./dist/integrations/index.d.ts","default":"./dist/integrations/index.js"},"./integrations/next-intl":{"types":"./dist/integrations/next-intl.d.ts","default":"./dist/integrations/next-intl.js"}},"gitHead":"f98b0f38fcae3982c492a8704175948d5e849d3a","scripts":{"dev":"tsc --watch","lint":"eslint 'src/**/*.{ts,tsx}'","test":"jest --passWithNoTests","build":"tsc","format":"prettier --write 'src/**/*.{ts,tsx,json,md}'","prepare":"husky","lint:fix":"eslint 'src/**/*.{ts,tsx}' --fix","check-types":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"zaguan","email":"stig@zaguanai.com"},"_npmVersion":"10.8.2","description":"Just-In-Time AI localization engine with intelligent caching","directories":{},"lint-staged":{"*.{json,md}":["prettier --write"],"src/**/*.{ts,tsx}":["eslint --fix","prettier --write"]},"_nodeVersion":"20.19.5","dependencies":{"openai":"^4.104.0","ioredis":"^5.8.2","node-html-parser":"^7.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","husky":"^9.1.7","react":"^19.2.0","eslint":"^8.57.1","ts-jest":"^29.0.0","ts-node":"^10.9.2","prettier":"^3.7.1","typescript":"^5.9.3","@types/jest":"^29.0.0","@types/node":"^24.10.1","lint-staged":"^16.2.7","@types/react":"^19.2.7","@types/react-dom":"^19.2.3","eslint-plugin-react":"^7.37.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.48.0","eslint-plugin-react-hooks":"^7.0.1","@typescript-eslint/eslint-plugin":"^8.48.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tstlai_0.15.1_1764356815106_0.052502371436565776","host":"s3://npm-registry-packages-npm-production"}},"0.16.0":{"name":"tstlai","version":"0.16.0","keywords":["i18n","translation","localization","ai","nextjs","typescript"],"author":{"name":"Stig"},"license":"MIT","_id":"tstlai@0.16.0","maintainers":[{"name":"zaguan","email":"stig@zaguanai.com"}],"dist":{"shasum":"712727f570dbaafae7088634ddf864df2e4f6d73","tarball":"https://registry.npmjs.org/tstlai/-/tstlai-0.16.0.tgz","fileCount":75,"integrity":"sha512-+8+njdAKjO8ljNAqnZt2VNPT4R1cbQ1lEbV/5M4TNkqLorEqE45ccUOOQPPvAnhvbQTeTZUq37paHQUpEjBOiw==","signatures":[{"sig":"MEYCIQDKj5YfAdGodbdytWJqwrWnKMdO6zdmmsI+FSqLXXErjAIhAJ1ceUpFKGmAiWI6EF0/D3NXiJ5WyXgPRTP102G62QwJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":186760},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./next":{"types":"./dist/integrations/next.d.ts","default":"./dist/integrations/next.js"},"./client":{"types":"./dist/integrations/next-client.d.ts","default":"./dist/integrations/next-client.js"},"./integrations":{"types":"./dist/integrations/index.d.ts","default":"./dist/integrations/index.js"},"./integrations/next-intl":{"types":"./dist/integrations/next-intl.d.ts","default":"./dist/integrations/next-intl.js"}},"gitHead":"ceee05f9d84a195c70085f95d67d488956722a27","scripts":{"dev":"tsc --watch","lint":"eslint 'src/**/*.{ts,tsx}'","test":"jest --passWithNoTests","build":"tsc","format":"prettier --write 'src/**/*.{ts,tsx,json,md}'","prepare":"husky","lint:fix":"eslint 'src/**/*.{ts,tsx}' --fix","check-types":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"zaguan","email":"stig@zaguanai.com"},"_npmVersion":"10.8.2","description":"Just-In-Time AI localization engine with intelligent caching","directories":{},"lint-staged":{"*.{json,md}":["prettier --write"],"src/**/*.{ts,tsx}":["eslint --fix","prettier --write"]},"_nodeVersion":"20.19.5","dependencies":{"openai":"^4.104.0","ioredis":"^5.8.2","node-html-parser":"^7.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","husky":"^9.1.7","react":"^19.2.0","eslint":"^8.57.1","ts-jest":"^29.0.0","ts-node":"^10.9.2","prettier":"^3.7.1","typescript":"^5.9.3","@types/jest":"^29.0.0","@types/node":"^24.10.1","lint-staged":"^16.2.7","@types/react":"^19.2.7","@types/react-dom":"^19.2.3","eslint-plugin-react":"^7.37.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.48.0","eslint-plugin-react-hooks":"^7.0.1","@typescript-eslint/eslint-plugin":"^8.48.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tstlai_0.16.0_1764363024493_0.06678760881684287","host":"s3://npm-registry-packages-npm-production"}},"0.16.1":{"name":"tstlai","version":"0.16.1","keywords":["i18n","translation","localization","ai","nextjs","typescript"],"author":{"name":"Stig"},"license":"MIT","_id":"tstlai@0.16.1","maintainers":[{"name":"zaguan","email":"stig@zaguanai.com"}],"dist":{"shasum":"ccf43b597342f7072ede13b67a2626d285dfd3ae","tarball":"https://registry.npmjs.org/tstlai/-/tstlai-0.16.1.tgz","fileCount":75,"integrity":"sha512-8x12SGG48lQUK4GclwyybBt24Bk7nKsrMZLkyJcv08HT1ySQuRDRMfVB9bqQA61AEVZ82kogw2WbqWgHt0kngw==","signatures":[{"sig":"MEYCIQDQxSWeeJ73Axc5NsVntQvWfdQ/h2K/uFFmieESNeYa9wIhAO1MByyXRVKFB3NL3BdXCq+1NhhqWAtmQhAPzwih7fH6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":189853},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./next":{"types":"./dist/integrations/next.d.ts","default":"./dist/integrations/next.js"},"./client":{"types":"./dist/integrations/next-client.d.ts","default":"./dist/integrations/next-client.js"},"./integrations":{"types":"./dist/integrations/index.d.ts","default":"./dist/integrations/index.js"},"./integrations/next-intl":{"types":"./dist/integrations/next-intl.d.ts","default":"./dist/integrations/next-intl.js"}},"gitHead":"4d18218cf98e0b8d9083d0174c7d40056b88258e","scripts":{"dev":"tsc --watch","lint":"eslint 'src/**/*.{ts,tsx}'","test":"jest --passWithNoTests","build":"tsc","format":"prettier --write 'src/**/*.{ts,tsx,json,md}'","prepare":"husky","lint:fix":"eslint 'src/**/*.{ts,tsx}' --fix","check-types":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"zaguan","email":"stig@zaguanai.com"},"_npmVersion":"10.8.2","description":"Just-In-Time AI localization engine with intelligent caching","directories":{},"lint-staged":{"*.{json,md}":["prettier --write"],"src/**/*.{ts,tsx}":["eslint --fix","prettier --write"]},"_nodeVersion":"20.19.5","dependencies":{"openai":"^4.104.0","ioredis":"^5.8.2","node-html-parser":"^7.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","husky":"^9.1.7","react":"^19.2.0","eslint":"^8.57.1","ts-jest":"^29.0.0","ts-node":"^10.9.2","prettier":"^3.7.1","typescript":"^5.9.3","@types/jest":"^29.0.0","@types/node":"^24.10.1","lint-staged":"^16.2.7","@types/react":"^19.2.7","@types/react-dom":"^19.2.3","eslint-plugin-react":"^7.37.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.48.0","eslint-plugin-react-hooks":"^7.0.1","@typescript-eslint/eslint-plugin":"^8.48.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tstlai_0.16.1_1764364283559_0.6235119874917192","host":"s3://npm-registry-packages-npm-production"}},"0.17.0":{"name":"tstlai","version":"0.17.0","keywords":["i18n","translation","localization","ai","nextjs","typescript"],"author":{"name":"Zaguán AI"},"license":"MIT","_id":"tstlai@0.17.0","maintainers":[{"name":"zaguan","email":"stig@zaguanai.com"}],"homepage":"https://labs.zaguanai.com/en/experiments/tstlai","bugs":{"url":"https://github.com/ZaguanLabs/tstlai/issues"},"bin":{"tstlai":"dist/cli/index.js"},"dist":{"shasum":"4772e92dea1cfb3355a9f8b1c742ad70010bbfbd","tarball":"https://registry.npmjs.org/tstlai/-/tstlai-0.17.0.tgz","fileCount":83,"integrity":"sha512-TotiW28CYkwECfj0buiUcairQfMv5Qg3fdjjOThYrgjQW0swvQCEn9MFiBRfJA2DzPmts4z7rNk265SL/Ru4uw==","signatures":[{"sig":"MEUCIQC5hU4vi6iXVoCr6iId8gTPZLUytEgNhszs3SYWC5x2EAIgHFpLwuP4XHnqPLcuZcV398eEA4qWrSvXlt/drEMiRx0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":221228},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","default":"./dist/cli/index.js"},"./next":{"types":"./dist/integrations/next.d.ts","default":"./dist/integrations/next.js"},"./client":{"types":"./dist/integrations/next-client.d.ts","default":"./dist/integrations/next-client.js"},"./integrations":{"types":"./dist/integrations/index.d.ts","default":"./dist/integrations/index.js"},"./integrations/next-intl":{"types":"./dist/integrations/next-intl.d.ts","default":"./dist/integrations/next-intl.js"}},"gitHead":"309dc4e0987ee5803743755e7af7302d269f9712","scripts":{"dev":"tsc --watch","lint":"eslint 'src/**/*.{ts,tsx}'","test":"jest --passWithNoTests","build":"tsc","format":"prettier --write 'src/**/*.{ts,tsx,json,md}'","prepare":"husky","lint:fix":"eslint 'src/**/*.{ts,tsx}' --fix","check-types":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"zaguan","email":"stig@zaguanai.com"},"repository":{"url":"git+https://github.com/ZaguanLabs/tstlai.git","type":"git"},"_npmVersion":"10.8.2","description":"Just-In-Time AI localization engine with intelligent caching","directories":{},"lint-staged":{"*.{json,md}":["prettier --write"],"src/**/*.{ts,tsx}":["eslint --fix","prettier --write"]},"_nodeVersion":"20.19.5","dependencies":{"openai":"^4.104.0","ioredis":"^5.8.2","node-html-parser":"^7.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","husky":"^9.1.7","react":"^19.2.0","eslint":"^8.57.1","ts-jest":"^29.0.0","ts-node":"^10.9.2","prettier":"^3.7.1","typescript":"^5.9.3","@types/jest":"^29.0.0","@types/node":"^24.10.1","lint-staged":"^16.2.7","@types/react":"^19.2.7","@types/react-dom":"^19.2.3","eslint-plugin-react":"^7.37.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.48.0","eslint-plugin-react-hooks":"^7.0.1","@typescript-eslint/eslint-plugin":"^8.48.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tstlai_0.17.0_1764414090923_0.8517330433166816","host":"s3://npm-registry-packages-npm-production"}},"0.17.1":{"name":"tstlai","version":"0.17.1","keywords":["i18n","translation","localization","ai","nextjs","typescript"],"author":{"name":"Zaguán AI"},"license":"MIT","_id":"tstlai@0.17.1","maintainers":[{"name":"zaguan","email":"stig@zaguanai.com"}],"homepage":"https://labs.zaguanai.com/en/experiments/tstlai","bugs":{"url":"https://github.com/ZaguanLabs/tstlai/issues"},"bin":{"tstlai":"dist/cli/index.js"},"dist":{"shasum":"ca100db8d06a64a37714c1042c717d70ce4148fd","tarball":"https://registry.npmjs.org/tstlai/-/tstlai-0.17.1.tgz","fileCount":83,"integrity":"sha512-PR1MQmqDuBdc2BTjcf0sj52jYlbdbU6Kk8Np5tMz3NbUlxLBtjzvrMCw9IFWfgMtKvFqMph3gT8iGi6Ufap/TA==","signatures":[{"sig":"MEUCID+8IwedEzOLvQU2U7CYLDOvi6cah9WpJXR/BKEUgEG3AiEA1+Ztl/KnmOEINJjd8mUkhyv8Md18gpa56I6bRUIctos=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":223619},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","default":"./dist/cli/index.js"},"./next":{"types":"./dist/integrations/next.d.ts","default":"./dist/integrations/next.js"},"./client":{"types":"./dist/integrations/next-client.d.ts","default":"./dist/integrations/next-client.js"},"./integrations":{"types":"./dist/integrations/index.d.ts","default":"./dist/integrations/index.js"},"./integrations/next-intl":{"types":"./dist/integrations/next-intl.d.ts","default":"./dist/integrations/next-intl.js"}},"gitHead":"5c090f8169912cd192ad7df7c8112424786eeaef","scripts":{"dev":"tsc --watch","lint":"eslint 'src/**/*.{ts,tsx}'","test":"jest --passWithNoTests","build":"tsc","format":"prettier --write 'src/**/*.{ts,tsx,json,md}'","prepare":"husky","lint:fix":"eslint 'src/**/*.{ts,tsx}' --fix","check-types":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"zaguan","email":"stig@zaguanai.com"},"repository":{"url":"git+https://github.com/ZaguanLabs/tstlai.git","type":"git"},"_npmVersion":"10.8.2","description":"Just-In-Time AI localization engine with intelligent caching","directories":{},"lint-staged":{"*.{json,md}":["prettier --write"],"src/**/*.{ts,tsx}":["eslint --fix","prettier --write"]},"_nodeVersion":"20.19.5","dependencies":{"openai":"^4.104.0","ioredis":"^5.8.2","node-html-parser":"^7.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","husky":"^9.1.7","react":"^19.2.0","eslint":"^8.57.1","ts-jest":"^29.0.0","ts-node":"^10.9.2","prettier":"^3.7.1","typescript":"^5.9.3","@types/jest":"^29.0.0","@types/node":"^24.10.1","lint-staged":"^16.2.7","@types/react":"^19.2.7","@types/react-dom":"^19.2.3","eslint-plugin-react":"^7.37.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.48.0","eslint-plugin-react-hooks":"^7.0.1","@typescript-eslint/eslint-plugin":"^8.48.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tstlai_0.17.1_1764414751785_0.7569453885589199","host":"s3://npm-registry-packages-npm-production"}},"0.18.0":{"name":"tstlai","version":"0.18.0","keywords":["i18n","translation","localization","ai","nextjs","typescript"],"author":{"name":"Zaguán AI"},"license":"MIT","_id":"tstlai@0.18.0","maintainers":[{"name":"zaguan","email":"stig@zaguanai.com"}],"homepage":"https://labs.zaguanai.com/en/experiments/tstlai","bugs":{"url":"https://github.com/ZaguanLabs/tstlai/issues"},"bin":{"tstlai":"dist/cli/index.js"},"dist":{"shasum":"1bcf293d1c67afabfdc4523ce9f08cea30b0e237","tarball":"https://registry.npmjs.org/tstlai/-/tstlai-0.18.0.tgz","fileCount":83,"integrity":"sha512-IzLl9HN/kclOOjkzvudMe0b9QD3WUkmhdgrwshSYq1t6EzXkl8qV5l0y2Y0TEecCjLbF3Io1AdzysME644Ui9A==","signatures":[{"sig":"MEUCICqwOmHWBBmpR2jPSr3FIs6UdYC0hiFLbkpS+6KUMjzfAiEAqYvrhbPYPI/9Vl+GGhSSbjbcGAAerWuOueQwIo3ebSs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":223726},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","default":"./dist/cli/index.js"},"./next":{"types":"./dist/integrations/next.d.ts","default":"./dist/integrations/next.js"},"./client":{"types":"./dist/integrations/next-client.d.ts","default":"./dist/integrations/next-client.js"},"./languages":{"types":"./dist/languages.d.ts","default":"./dist/languages.js"},"./integrations":{"types":"./dist/integrations/index.d.ts","default":"./dist/integrations/index.js"},"./integrations/next-intl":{"types":"./dist/integrations/next-intl.d.ts","default":"./dist/integrations/next-intl.js"}},"gitHead":"d6a34f622b914c68c5a72e96e72f9c18743b50c2","scripts":{"dev":"tsc --watch","lint":"eslint 'src/**/*.{ts,tsx}'","test":"jest --passWithNoTests","build":"tsc","format":"prettier --write 'src/**/*.{ts,tsx,json,md}'","prepare":"husky","lint:fix":"eslint 'src/**/*.{ts,tsx}' --fix","check-types":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"zaguan","email":"stig@zaguanai.com"},"repository":{"url":"git+https://github.com/ZaguanLabs/tstlai.git","type":"git"},"_npmVersion":"10.8.2","description":"Just-In-Time AI localization engine with intelligent caching","directories":{},"lint-staged":{"*.{json,md}":["prettier --write"],"src/**/*.{ts,tsx}":["eslint --fix","prettier --write"]},"_nodeVersion":"20.19.5","dependencies":{"openai":"^4.104.0","ioredis":"^5.8.2","node-html-parser":"^7.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","husky":"^9.1.7","react":"^19.2.0","eslint":"^8.57.1","ts-jest":"^29.0.0","ts-node":"^10.9.2","prettier":"^3.7.1","typescript":"^5.9.3","@types/jest":"^29.0.0","@types/node":"^24.10.1","lint-staged":"^16.2.7","@types/react":"^19.2.7","@types/react-dom":"^19.2.3","eslint-plugin-react":"^7.37.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.48.0","eslint-plugin-react-hooks":"^7.0.1","@typescript-eslint/eslint-plugin":"^8.48.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tstlai_0.18.0_1764449237026_0.16598928347356678","host":"s3://npm-registry-packages-npm-production"}},"0.18.1":{"name":"tstlai","version":"0.18.1","keywords":["i18n","translation","localization","ai","nextjs","typescript"],"author":{"name":"Zaguán AI"},"license":"MIT","_id":"tstlai@0.18.1","maintainers":[{"name":"zaguan","email":"stig@zaguanai.com"}],"homepage":"https://labs.zaguanai.com/en/experiments/tstlai","bugs":{"url":"https://github.com/ZaguanLabs/tstlai/issues"},"bin":{"tstlai":"dist/cli/index.js"},"dist":{"shasum":"4540be46174ba748a7938c49a1970d3b10369d90","tarball":"https://registry.npmjs.org/tstlai/-/tstlai-0.18.1.tgz","fileCount":83,"integrity":"sha512-8In+pmgnIQ23juU+ZOI4hhKf1BgAfYdrGjuRWso6a4XMIAy5O5tzq4hETzIxTBlF7J3WsVXDPuoCMOCFtx5AyA==","signatures":[{"sig":"MEUCIQCYjkZkR/jR3Io53APr4DVoCXryKYzpiC2M/dGVKQXZ9wIgYmzd4VnITnJ19o+Sgs+7JUpYOLBWUbZrmiR9hgFMybk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":224333},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","default":"./dist/cli/index.js"},"./next":{"types":"./dist/integrations/next.d.ts","default":"./dist/integrations/next.js"},"./client":{"types":"./dist/integrations/next-client.d.ts","default":"./dist/integrations/next-client.js"},"./languages":{"types":"./dist/languages.d.ts","default":"./dist/languages.js"},"./integrations":{"types":"./dist/integrations/index.d.ts","default":"./dist/integrations/index.js"},"./integrations/next-intl":{"types":"./dist/integrations/next-intl.d.ts","default":"./dist/integrations/next-intl.js"}},"gitHead":"a7da5fb4946ac7a9e62e2b4f4e3be6b14d718ae5","scripts":{"dev":"tsc --watch","lint":"eslint 'src/**/*.{ts,tsx}'","test":"jest --passWithNoTests","build":"tsc","format":"prettier --write 'src/**/*.{ts,tsx,json,md}'","prepare":"husky","lint:fix":"eslint 'src/**/*.{ts,tsx}' --fix","check-types":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"zaguan","email":"stig@zaguanai.com"},"repository":{"url":"git+https://github.com/ZaguanLabs/tstlai.git","type":"git"},"_npmVersion":"10.8.2","description":"Just-In-Time AI localization engine with intelligent caching","directories":{},"lint-staged":{"*.{json,md}":["prettier --write"],"src/**/*.{ts,tsx}":["eslint --fix","prettier --write"]},"_nodeVersion":"20.19.5","dependencies":{"openai":"^4.104.0","ioredis":"^5.8.2","node-html-parser":"^7.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","husky":"^9.1.7","react":"^19.2.0","eslint":"^8.57.1","ts-jest":"^29.0.0","ts-node":"^10.9.2","prettier":"^3.7.1","typescript":"^5.9.3","@types/jest":"^29.0.0","@types/node":"^24.10.1","lint-staged":"^16.2.7","@types/react":"^19.2.7","@types/react-dom":"^19.2.3","eslint-plugin-react":"^7.37.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.48.0","eslint-plugin-react-hooks":"^7.0.1","@typescript-eslint/eslint-plugin":"^8.48.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tstlai_0.18.1_1764455814256_0.10566849601107386","host":"s3://npm-registry-packages-npm-production"}},"0.19.0":{"name":"tstlai","version":"0.19.0","keywords":["i18n","translation","localization","ai","nextjs","typescript"],"author":{"name":"Zaguán AI"},"license":"MIT","_id":"tstlai@0.19.0","maintainers":[{"name":"zaguan","email":"stig@zaguanai.com"}],"homepage":"https://labs.zaguanai.com/en/experiments/tstlai","bugs":{"url":"https://github.com/ZaguanLabs/tstlai/issues"},"bin":{"tstlai":"dist/cli/index.js"},"dist":{"shasum":"6588ec62021c1dc13a9f7d406de268a9ade4cc1a","tarball":"https://registry.npmjs.org/tstlai/-/tstlai-0.19.0.tgz","fileCount":83,"integrity":"sha512-yfQV4D+upEAoXh7OpwpJdcohUd+BYrZcUaPa4mVEMd/zKO/a5bApch1KZ0XNVOyOXXFCTsBJHEj/Kpgrm5X0UQ==","signatures":[{"sig":"MEUCIDHAceh14JhSiSPLAcjk3N8P1Z/UHRmPg11CyNgiUcowAiEAy7dvqs0KhPka5mLNJ90ehdKwM3IGm8igV4n+F3Gtoq0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":226692},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","default":"./dist/cli/index.js"},"./next":{"types":"./dist/integrations/next.d.ts","default":"./dist/integrations/next.js"},"./client":{"types":"./dist/integrations/next-client.d.ts","default":"./dist/integrations/next-client.js"},"./languages":{"types":"./dist/languages.d.ts","default":"./dist/languages.js"},"./integrations":{"types":"./dist/integrations/index.d.ts","default":"./dist/integrations/index.js"},"./integrations/next-intl":{"types":"./dist/integrations/next-intl.d.ts","default":"./dist/integrations/next-intl.js"}},"gitHead":"f60a60c6aadc87d54c54ad838196b1bcfe66d108","scripts":{"dev":"tsc --watch","lint":"eslint 'src/**/*.{ts,tsx}'","test":"jest --passWithNoTests","build":"tsc","format":"prettier --write 'src/**/*.{ts,tsx,json,md}'","prepare":"husky","lint:fix":"eslint 'src/**/*.{ts,tsx}' --fix","check-types":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"zaguan","email":"stig@zaguanai.com"},"repository":{"url":"git+https://github.com/ZaguanLabs/tstlai.git","type":"git"},"_npmVersion":"10.8.2","description":"Just-In-Time AI localization engine with intelligent caching","directories":{},"lint-staged":{"*.{json,md}":["prettier --write"],"src/**/*.{ts,tsx}":["eslint --fix","prettier --write"]},"_nodeVersion":"20.19.5","dependencies":{"openai":"^4.104.0","ioredis":"^5.8.2","node-html-parser":"^7.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","husky":"^9.1.7","react":"^19.2.0","eslint":"^8.57.1","ts-jest":"^29.0.0","ts-node":"^10.9.2","prettier":"^3.7.1","typescript":"^5.9.3","@types/jest":"^29.0.0","@types/node":"^24.10.1","lint-staged":"^16.2.7","@types/react":"^19.2.7","@types/react-dom":"^19.2.3","eslint-plugin-react":"^7.37.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.48.0","eslint-plugin-react-hooks":"^7.0.1","@typescript-eslint/eslint-plugin":"^8.48.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tstlai_0.19.0_1764456497850_0.762105909415769","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"tstlai","version":"1.0.0","keywords":["i18n","translation","localization","ai","nextjs","typescript"],"author":{"name":"Zaguán AI"},"license":"MIT","_id":"tstlai@1.0.0","maintainers":[{"name":"zaguan","email":"stig@zaguanai.com"}],"homepage":"https://labs.zaguanai.com/en/experiments/tstlai","bugs":{"url":"https://github.com/ZaguanLabs/tstlai/issues"},"bin":{"tstlai":"dist/cli/index.js"},"dist":{"shasum":"d268dfcdf897ec9460aec6561cfa32cfc63b1ae2","tarball":"https://registry.npmjs.org/tstlai/-/tstlai-1.0.0.tgz","fileCount":83,"integrity":"sha512-+0l6DRdn1wM9tucDNHc8SavINqR9ysNrBLB0uF45CB/QkV8nYwtFsx8PbBccVUcY//TJsgObxe3+L2ERylWLew==","signatures":[{"sig":"MEYCIQDjX2zf3U0L3jgA0VL/2AffuWEhciM8KY4wpRBAQBLK7wIhAN5SvQr64i9IVY3s9IO4RGDQ63wyHqoUE5BU7jA+VBnf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":218061},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","default":"./dist/cli/index.js"},"./next":{"types":"./dist/integrations/next.d.ts","default":"./dist/integrations/next.js"},"./client":{"types":"./dist/integrations/next-client.d.ts","default":"./dist/integrations/next-client.js"},"./languages":{"types":"./dist/languages.d.ts","default":"./dist/languages.js"},"./integrations":{"types":"./dist/integrations/index.d.ts","default":"./dist/integrations/index.js"},"./integrations/next-intl":{"types":"./dist/integrations/next-intl.d.ts","default":"./dist/integrations/next-intl.js"}},"gitHead":"46bbb1b1aa753592cc22b29c346cee825fa68a85","scripts":{"dev":"tsc --watch","lint":"eslint 'src/**/*.{ts,tsx}'","test":"jest --passWithNoTests","build":"tsc","format":"prettier --write 'src/**/*.{ts,tsx,json,md}'","prepare":"husky","lint:fix":"eslint 'src/**/*.{ts,tsx}' --fix","check-types":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"zaguan","email":"stig@zaguanai.com"},"repository":{"url":"git+https://github.com/ZaguanLabs/tstlai.git","type":"git"},"_npmVersion":"10.8.2","description":"Just-In-Time AI localization engine with intelligent caching","directories":{},"lint-staged":{"*.{json,md}":["prettier --write"],"src/**/*.{ts,tsx}":["eslint --fix","prettier --write"]},"_nodeVersion":"20.19.5","dependencies":{"openai":"^4.104.0","ioredis":"^5.8.2","node-html-parser":"^7.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","husky":"^9.1.7","react":"^19.2.0","eslint":"^8.57.1","ts-jest":"^29.0.0","ts-node":"^10.9.2","prettier":"^3.7.1","typescript":"^5.9.3","@types/jest":"^29.0.0","@types/node":"^24.10.1","lint-staged":"^16.2.7","@types/react":"^19.2.7","@types/react-dom":"^19.2.3","eslint-plugin-react":"^7.37.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.48.0","eslint-plugin-react-hooks":"^7.0.1","@typescript-eslint/eslint-plugin":"^8.48.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tstlai_1.0.0_1764526564050_0.14892687600250487","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"tstlai","version":"1.0.1","keywords":["i18n","translation","localization","ai","nextjs","typescript"],"author":{"name":"Zaguán AI"},"license":"MIT","_id":"tstlai@1.0.1","maintainers":[{"name":"zaguan","email":"stig@zaguanai.com"}],"homepage":"https://labs.zaguanai.com/en/experiments/tstlai","bugs":{"url":"https://github.com/ZaguanLabs/tstlai/issues"},"bin":{"tstlai":"dist/cli/index.js"},"dist":{"shasum":"72546753365b0b339a93cf6dabfe3b00ae40b7ff","tarball":"https://registry.npmjs.org/tstlai/-/tstlai-1.0.1.tgz","fileCount":83,"integrity":"sha512-XS/0NGUW3bYD9UauOVEHbN8t43NWm7OKGLWJeuNgYpezXLb/UfYNUKT5treaAVLk6cg3TD+39V7dYynsoGwgKw==","signatures":[{"sig":"MEQCIEMPMshdwaP9ISpaUGe9CM71ZwWFI+sfMvpQ1TKUSpwxAiAjbi/O8rQxwck6Er6OH2bfpjQlmt1dnIfDlrdAz9zw/Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":223549},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","default":"./dist/cli/index.js"},"./next":{"types":"./dist/integrations/next.d.ts","default":"./dist/integrations/next.js"},"./client":{"types":"./dist/integrations/next-client.d.ts","default":"./dist/integrations/next-client.js"},"./languages":{"types":"./dist/languages.d.ts","default":"./dist/languages.js"},"./integrations":{"types":"./dist/integrations/index.d.ts","default":"./dist/integrations/index.js"},"./integrations/next-intl":{"types":"./dist/integrations/next-intl.d.ts","default":"./dist/integrations/next-intl.js"}},"gitHead":"68a42842e878b267aab07fbabd64e495382d7900","scripts":{"dev":"tsc --watch","lint":"eslint 'src/**/*.{ts,tsx}'","test":"jest --passWithNoTests","build":"tsc","format":"prettier --write 'src/**/*.{ts,tsx,json,md}'","prepare":"husky","lint:fix":"eslint 'src/**/*.{ts,tsx}' --fix","check-types":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"zaguan","email":"stig@zaguanai.com"},"repository":{"url":"git+https://github.com/ZaguanLabs/tstlai.git","type":"git"},"_npmVersion":"10.8.2","description":"Just-In-Time AI localization engine with intelligent caching","directories":{},"lint-staged":{"*.{json,md}":["prettier --write"],"src/**/*.{ts,tsx}":["eslint --fix","prettier --write"]},"_nodeVersion":"20.19.5","dependencies":{"openai":"^4.104.0","ioredis":"^5.8.2","node-html-parser":"^7.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","husky":"^9.1.7","react":"^19.2.0","eslint":"^8.57.1","ts-jest":"^29.0.0","ts-node":"^10.9.2","prettier":"^3.7.1","typescript":"^5.9.3","@types/jest":"^29.0.0","@types/node":"^24.10.1","lint-staged":"^16.2.7","@types/react":"^19.2.7","@types/react-dom":"^19.2.3","eslint-plugin-react":"^7.37.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.48.0","eslint-plugin-react-hooks":"^7.0.1","@typescript-eslint/eslint-plugin":"^8.48.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tstlai_1.0.1_1764712431840_0.6807105424507469","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"tstlai","version":"1.0.2","keywords":["i18n","translation","localization","ai","nextjs","typescript"],"author":{"name":"Zaguán AI"},"license":"MIT","_id":"tstlai@1.0.2","maintainers":[{"name":"zaguan","email":"stig@zaguanai.com"}],"homepage":"https://labs.zaguanai.com/en/experiments/tstlai","bugs":{"url":"https://github.com/ZaguanLabs/tstlai/issues"},"bin":{"tstlai":"dist/cli/index.js"},"dist":{"shasum":"96ffda5b3ea81fa52703652453bd21e73de8f209","tarball":"https://registry.npmjs.org/tstlai/-/tstlai-1.0.2.tgz","fileCount":83,"integrity":"sha512-O4spCotrmg5Z3HkCP2pN4P0/b8fgkDaV+ruI/gu32j5xSxh1gXDWOGAgvLEr0YB0REwZQ4Xmly+0qD6KBYd5GA==","signatures":[{"sig":"MEUCIQDvl9hCkv++Y7xd4T96MXj7UNVyyiF0ygTMy3n9VVK6XwIgPGkA75WN9NUM2u+hWQwjzfooy1fa3IorN5W9+McYkro=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":226953},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","default":"./dist/cli/index.js"},"./next":{"types":"./dist/integrations/next.d.ts","default":"./dist/integrations/next.js"},"./client":{"types":"./dist/integrations/next-client.d.ts","default":"./dist/integrations/next-client.js"},"./languages":{"types":"./dist/languages.d.ts","default":"./dist/languages.js"},"./integrations":{"types":"./dist/integrations/index.d.ts","default":"./dist/integrations/index.js"},"./integrations/next-intl":{"types":"./dist/integrations/next-intl.d.ts","default":"./dist/integrations/next-intl.js"}},"gitHead":"ce23e7eac6aab1689f46b2c0d7f03b9a1a38ce56","scripts":{"dev":"tsc --watch","lint":"eslint 'src/**/*.{ts,tsx}'","test":"jest --passWithNoTests","build":"tsc","format":"prettier --write 'src/**/*.{ts,tsx,json,md}'","prepare":"husky","lint:fix":"eslint 'src/**/*.{ts,tsx}' --fix","check-types":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"zaguan","email":"stig@zaguanai.com"},"repository":{"url":"git+https://github.com/ZaguanLabs/tstlai.git","type":"git"},"_npmVersion":"10.8.2","description":"Just-In-Time AI localization engine with intelligent caching","directories":{},"lint-staged":{"*.{json,md}":["prettier --write"],"src/**/*.{ts,tsx}":["eslint --fix","prettier --write"]},"_nodeVersion":"20.19.6","dependencies":{"openai":"^4.104.0","ioredis":"^5.8.2","node-html-parser":"^7.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","husky":"^9.1.7","react":"^19.2.0","eslint":"^8.57.1","ts-jest":"^29.0.0","ts-node":"^10.9.2","prettier":"^3.7.1","typescript":"^5.9.3","@types/jest":"^29.0.0","@types/node":"^24.10.1","lint-staged":"^16.2.7","@types/react":"^19.2.7","@types/react-dom":"^19.2.3","eslint-plugin-react":"^7.37.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.48.0","eslint-plugin-react-hooks":"^7.0.1","@typescript-eslint/eslint-plugin":"^8.48.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tstlai_1.0.2_1765968310985_0.03819768748070773","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"tstlai","version":"1.1.1","keywords":["i18n","translation","localization","ai","nextjs","typescript"],"author":{"name":"Zaguán AI"},"license":"MIT","_id":"tstlai@1.1.1","maintainers":[{"name":"zaguan","email":"stig@zaguanai.com"}],"homepage":"https://labs.zaguanai.com/en/experiments/tstlai","bugs":{"url":"https://github.com/ZaguanLabs/tstlai/issues"},"bin":{"tstlai":"dist/cli/index.js"},"dist":{"shasum":"e396dd59b19cfe9f5247075d9d709685f37f1e9c","tarball":"https://registry.npmjs.org/tstlai/-/tstlai-1.1.1.tgz","fileCount":83,"integrity":"sha512-nY4YYhOoO6AGxM1maCwq/JnLVGRS4P80L4RB1oD76DCdQOKAvTnJ37jdFArXXI1utDsS0rtcNVPY4LPivMswkA==","signatures":[{"sig":"MEYCIQD/JVyEMyO6u25uUzhqEcrwNpIDxUQvyTKybHX7lIhtxAIhAM990PsAdcz/ZV3LSCHgbv6WFSwFMxUdol9f0EEL3RLS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":227016},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","default":"./dist/cli/index.js"},"./next":{"types":"./dist/integrations/next.d.ts","default":"./dist/integrations/next.js"},"./client":{"types":"./dist/integrations/next-client.d.ts","default":"./dist/integrations/next-client.js"},"./languages":{"types":"./dist/languages.d.ts","default":"./dist/languages.js"},"./integrations":{"types":"./dist/integrations/index.d.ts","default":"./dist/integrations/index.js"},"./integrations/next-intl":{"types":"./dist/integrations/next-intl.d.ts","default":"./dist/integrations/next-intl.js"}},"gitHead":"a56ea4804c53400d61db3a4cece5bfee881047dc","scripts":{"dev":"tsc --watch","lint":"eslint 'src/**/*.{ts,tsx}'","test":"jest --passWithNoTests","build":"tsc","format":"prettier --write 'src/**/*.{ts,tsx,json,md}'","prepare":"husky","lint:fix":"eslint 'src/**/*.{ts,tsx}' --fix","check-types":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"zaguan","email":"stig@zaguanai.com"},"repository":{"url":"git+https://github.com/ZaguanLabs/tstlai.git","type":"git"},"_npmVersion":"10.8.2","description":"Just-In-Time AI localization engine with intelligent caching","directories":{},"lint-staged":{"*.{json,md}":["prettier --write"],"src/**/*.{ts,tsx}":["eslint --fix","prettier --write"]},"_nodeVersion":"20.19.6","dependencies":{"openai":"^6.14.0","ioredis":"^5.8.2","node-html-parser":"^7.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","husky":"^9.1.7","react":"^19.2.3","eslint":"^9.39.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.7.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^25.0.3","lint-staged":"^16.2.7","@types/react":"^19.2.7","@types/react-dom":"^19.2.3","typescript-eslint":"^8.50.0","eslint-plugin-react":"^7.37.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.50.0","eslint-plugin-react-hooks":"^7.0.1","@typescript-eslint/eslint-plugin":"^8.50.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tstlai_1.1.1_1765969135556_0.24524501687870282","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"tstlai","version":"1.1.2","keywords":["i18n","translation","localization","ai","nextjs","typescript"],"author":{"name":"Zaguán AI"},"license":"MIT","_id":"tstlai@1.1.2","maintainers":[{"name":"zaguan","email":"stig@zaguanai.com"}],"homepage":"https://labs.zaguanai.com/en/experiments/tstlai","bugs":{"url":"https://github.com/ZaguanLabs/tstlai/issues"},"bin":{"tstlai":"dist/cli/index.js"},"dist":{"shasum":"e7ddea92d73294d757819dd6eaa26e98f492d433","tarball":"https://registry.npmjs.org/tstlai/-/tstlai-1.1.2.tgz","fileCount":83,"integrity":"sha512-VKWdXghJiJ2yhcKbyBp/gFy4v8A6nt1XexE+h0yAF9KjaURqVVMmtDrnt0nxhgMd99I7oyr2csCuAMex8CX4mw==","signatures":[{"sig":"MEQCIAIxp2wdvdCGOfDuLaUCLBXL487xCz1p/+NafmFdkPGVAiBgI2wVxwq7hGM84iqEq8ruXTbYXQ2FDrVy6S7jFWvoPw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":223112},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","default":"./dist/cli/index.js"},"./next":{"types":"./dist/integrations/next.d.ts","default":"./dist/integrations/next.js"},"./client":{"types":"./dist/integrations/next-client.d.ts","default":"./dist/integrations/next-client.js"},"./languages":{"types":"./dist/languages.d.ts","default":"./dist/languages.js"},"./integrations":{"types":"./dist/integrations/index.d.ts","default":"./dist/integrations/index.js"},"./integrations/next-intl":{"types":"./dist/integrations/next-intl.d.ts","default":"./dist/integrations/next-intl.js"}},"gitHead":"cb151114bddeb2d6bc767d13b3c505642b02e633","scripts":{"dev":"tsc --watch","lint":"eslint 'src/**/*.{ts,tsx}'","test":"jest --passWithNoTests","build":"tsc","format":"prettier --write 'src/**/*.{ts,tsx,json,md}'","prepare":"husky","lint:fix":"eslint 'src/**/*.{ts,tsx}' --fix","check-types":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"zaguan","email":"stig@zaguanai.com"},"repository":{"url":"git+https://github.com/ZaguanLabs/tstlai.git","type":"git"},"_npmVersion":"10.8.2","description":"Just-In-Time AI localization engine with intelligent caching","directories":{},"lint-staged":{"*.{json,md}":["prettier --write"],"src/**/*.{ts,tsx}":["eslint --fix","prettier --write"]},"_nodeVersion":"20.19.6","dependencies":{"openai":"^6.14.0","ioredis":"^5.8.2","node-html-parser":"^7.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","husky":"^9.1.7","react":"^19.2.3","eslint":"^9.39.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.7.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^25.0.3","lint-staged":"^16.2.7","@types/react":"^19.2.7","@types/react-dom":"^19.2.3","typescript-eslint":"^8.50.0","eslint-plugin-react":"^7.37.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.50.0","eslint-plugin-react-hooks":"^7.0.1","@typescript-eslint/eslint-plugin":"^8.50.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tstlai_1.1.2_1765975475592_0.9810874064636901","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"tstlai","version":"1.2.0","keywords":["i18n","translation","localization","ai","nextjs","typescript"],"author":{"name":"Zaguán AI"},"license":"MIT","_id":"tstlai@1.2.0","maintainers":[{"name":"zaguan","email":"stig@zaguanai.com"}],"homepage":"https://labs.zaguanai.com/en/experiments/tstlai","bugs":{"url":"https://github.com/ZaguanLabs/tstlai/issues"},"bin":{"tstlai":"dist/cli/index.js"},"dist":{"shasum":"f3921c8e32fdc200ef397e1ea53dfe4948e91073","tarball":"https://registry.npmjs.org/tstlai/-/tstlai-1.2.0.tgz","fileCount":83,"integrity":"sha512-jCmC9z3rjN7mRObGNYZTBse0otSbB5SjUUQECqWW+mmvI0jqKcFw85fO00YOZBL8GY50Ke0eAmRMVujyFMwQOQ==","signatures":[{"sig":"MEQCIAdwiyYCDmdBxQulXzdmQDnIGtpHWB8vrTuITMthtb8aAiBoK3gc/K40vCBA4D5nbq/HQtPLloj42byS2yfvRtwMBQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":227946},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","default":"./dist/cli/index.js"},"./next":{"types":"./dist/integrations/next.d.ts","default":"./dist/integrations/next.js"},"./client":{"types":"./dist/integrations/next-client.d.ts","default":"./dist/integrations/next-client.js"},"./languages":{"types":"./dist/languages.d.ts","default":"./dist/languages.js"},"./integrations":{"types":"./dist/integrations/index.d.ts","default":"./dist/integrations/index.js"},"./integrations/next-intl":{"types":"./dist/integrations/next-intl.d.ts","default":"./dist/integrations/next-intl.js"}},"gitHead":"7595fbe53cea23bcb0de5ba95bb9e7805357ae89","scripts":{"dev":"tsc --watch","lint":"eslint 'src/**/*.{ts,tsx}'","test":"jest --passWithNoTests","build":"tsc","format":"prettier --write 'src/**/*.{ts,tsx,json,md}'","prepare":"husky","lint:fix":"eslint 'src/**/*.{ts,tsx}' --fix","check-types":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"zaguan","email":"stig@zaguanai.com"},"repository":{"url":"git+https://github.com/ZaguanLabs/tstlai.git","type":"git"},"_npmVersion":"10.8.2","description":"Just-In-Time AI localization engine with intelligent caching","directories":{},"lint-staged":{"*.{json,md}":["prettier --write"],"src/**/*.{ts,tsx}":["eslint --fix","prettier --write"]},"_nodeVersion":"20.19.6","dependencies":{"openai":"^6.14.0","ioredis":"^5.8.2","node-html-parser":"^7.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","husky":"^9.1.7","react":"^19.2.3","eslint":"^9.39.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.7.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^25.0.3","lint-staged":"^16.2.7","@types/react":"^19.2.7","@types/react-dom":"^19.2.3","typescript-eslint":"^8.50.0","eslint-plugin-react":"^7.37.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.50.0","eslint-plugin-react-hooks":"^7.0.1","@typescript-eslint/eslint-plugin":"^8.50.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tstlai_1.2.0_1765999528785_0.7181044054599268","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"tstlai","version":"1.2.1","keywords":["i18n","translation","localization","ai","nextjs","typescript"],"author":{"name":"Zaguán AI"},"license":"MIT","_id":"tstlai@1.2.1","maintainers":[{"name":"zaguan","email":"stig@zaguanai.com"}],"homepage":"https://labs.zaguanai.com/en/experiments/tstlai","bugs":{"url":"https://github.com/ZaguanLabs/tstlai/issues"},"bin":{"tstlai":"dist/cli/index.js"},"dist":{"shasum":"81d15ab45075656ed37f65096dd5b98039ae2ff7","tarball":"https://registry.npmjs.org/tstlai/-/tstlai-1.2.1.tgz","fileCount":83,"integrity":"sha512-9+xxAxUu8zKh5DriHiYqFSZTWJ4/x6Rxdov9b+QMDsfFavsatdsctelrfYWSasDHPYEAtEiijOFcALMhcnJm1A==","signatures":[{"sig":"MEYCIQCa5uc5VXgjPXrFMLjKhNAs+8iwB16/oBdYuCYOqZiGvAIhAIb7KKyWVCUz5LxlrqADqWUgIjk0RW5oRMoXkbYBHFZs","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":228087},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","default":"./dist/cli/index.js"},"./next":{"types":"./dist/integrations/next.d.ts","default":"./dist/integrations/next.js"},"./client":{"types":"./dist/integrations/next-client.d.ts","default":"./dist/integrations/next-client.js"},"./languages":{"types":"./dist/languages.d.ts","default":"./dist/languages.js"},"./integrations":{"types":"./dist/integrations/index.d.ts","default":"./dist/integrations/index.js"},"./integrations/next-intl":{"types":"./dist/integrations/next-intl.d.ts","default":"./dist/integrations/next-intl.js"}},"gitHead":"22692dd2089bfc4fd2f284be523f1451a6240597","scripts":{"dev":"tsc --watch","lint":"eslint 'src/**/*.{ts,tsx}'","test":"jest --passWithNoTests","build":"tsc","format":"prettier --write 'src/**/*.{ts,tsx,json,md}'","prepare":"husky","lint:fix":"eslint 'src/**/*.{ts,tsx}' --fix","check-types":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"zaguan","email":"stig@zaguanai.com"},"repository":{"url":"git+https://github.com/ZaguanLabs/tstlai.git","type":"git"},"_npmVersion":"10.8.2","description":"Just-In-Time AI localization engine with intelligent caching","directories":{},"lint-staged":{"*.{json,md}":["prettier --write"],"src/**/*.{ts,tsx}":["eslint --fix","prettier --write"]},"_nodeVersion":"20.19.6","dependencies":{"openai":"^6.14.0","ioredis":"^5.8.2","node-html-parser":"^7.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","husky":"^9.1.7","react":"^19.2.3","eslint":"^9.39.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.7.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^25.0.3","lint-staged":"^16.2.7","@types/react":"^19.2.7","@types/react-dom":"^19.2.3","typescript-eslint":"^8.50.0","eslint-plugin-react":"^7.37.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.50.0","eslint-plugin-react-hooks":"^7.0.1","@typescript-eslint/eslint-plugin":"^8.50.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tstlai_1.2.1_1766055065611_0.5181608024256401","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"name":"tstlai","version":"1.2.2","keywords":["i18n","translation","localization","ai","nextjs","typescript"],"author":{"name":"Zaguán AI"},"license":"MIT","_id":"tstlai@1.2.2","maintainers":[{"name":"zaguan","email":"stig@zaguanai.com"}],"homepage":"https://labs.zaguanai.com/en/experiments/tstlai","bugs":{"url":"https://github.com/ZaguanLabs/tstlai/issues"},"bin":{"tstlai":"dist/cli/index.js"},"dist":{"shasum":"1cff31e24e80b015484714fd5dee08567313ba83","tarball":"https://registry.npmjs.org/tstlai/-/tstlai-1.2.2.tgz","fileCount":83,"integrity":"sha512-lUQudBY97JmGXpI1tIXqZYoBRAzreh+omK9URhzMJsgeBJdLC/h4Y8/3qNIk+SisFig2/sthzUicjttm5o0HXg==","signatures":[{"sig":"MEUCIHSAKpuNLGOE0HsYXw8BBKb1nkZM+R/GJy14GxBpQSDbAiEA9/otWWqNSlyTPEo5mKCzwgsGaLQhQXLPc/JDK0MCu30=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":228088},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","default":"./dist/cli/index.js"},"./next":{"types":"./dist/integrations/next.d.ts","default":"./dist/integrations/next.js"},"./client":{"types":"./dist/integrations/next-client.d.ts","default":"./dist/integrations/next-client.js"},"./languages":{"types":"./dist/languages.d.ts","default":"./dist/languages.js"},"./integrations":{"types":"./dist/integrations/index.d.ts","default":"./dist/integrations/index.js"},"./integrations/next-intl":{"types":"./dist/integrations/next-intl.d.ts","default":"./dist/integrations/next-intl.js"}},"gitHead":"cb4956196b4ecec7fef17c67912b4f99247ea6fc","scripts":{"dev":"tsc --watch","lint":"eslint 'src/**/*.{ts,tsx}'","test":"jest --passWithNoTests","build":"tsc","format":"prettier --write 'src/**/*.{ts,tsx,json,md}'","prepare":"husky","lint:fix":"eslint 'src/**/*.{ts,tsx}' --fix","check-types":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"zaguan","email":"stig@zaguanai.com"},"repository":{"url":"git+https://github.com/ZaguanLabs/tstlai.git","type":"git"},"_npmVersion":"10.8.2","description":"Just-In-Time AI localization engine with intelligent caching","directories":{},"lint-staged":{"*.{json,md}":["prettier --write"],"src/**/*.{ts,tsx}":["eslint --fix","prettier --write"]},"_nodeVersion":"20.19.6","dependencies":{"openai":"^6.14.0","ioredis":"^5.8.2","node-html-parser":"^7.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","husky":"^9.1.7","react":"^19.2.3","eslint":"^9.39.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.7.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^25.0.3","lint-staged":"^16.2.7","@types/react":"^19.2.7","@types/react-dom":"^19.2.3","typescript-eslint":"^8.50.0","eslint-plugin-react":"^7.37.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.50.0","eslint-plugin-react-hooks":"^7.0.1","@typescript-eslint/eslint-plugin":"^8.50.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tstlai_1.2.2_1766056436563_0.7100554572778877","host":"s3://npm-registry-packages-npm-production"}},"1.2.3":{"name":"tstlai","version":"1.2.3","keywords":["i18n","translation","localization","ai","nextjs","typescript"],"author":{"name":"Zaguán AI"},"license":"MIT","_id":"tstlai@1.2.3","maintainers":[{"name":"zaguan","email":"stig@zaguanai.com"}],"homepage":"https://labs.zaguanai.com/en/experiments/tstlai","bugs":{"url":"https://github.com/ZaguanLabs/tstlai/issues"},"bin":{"tstlai":"dist/cli/index.js"},"dist":{"shasum":"da18577778923cad2090f46c7652da01979ca071","tarball":"https://registry.npmjs.org/tstlai/-/tstlai-1.2.3.tgz","fileCount":83,"integrity":"sha512-ZX4/3Xv5BF7W7gTW2EXA4ymE908J120MyPfcj6pGoEyokmx0Jjn1pA961/N7nhxhhHlRh+U04RjGW8SkHBa/wA==","signatures":[{"sig":"MEUCIDxXzlTUep3HJ7MYFTHqa93+hUNS/QjjCHf+HuTcVngrAiEAkujwQ5V3aVeW/dVQJoApNjljQbAs3znO/eFdep8ANIM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":232511},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","default":"./dist/cli/index.js"},"./next":{"types":"./dist/integrations/next.d.ts","default":"./dist/integrations/next.js"},"./client":{"types":"./dist/integrations/next-client.d.ts","default":"./dist/integrations/next-client.js"},"./languages":{"types":"./dist/languages.d.ts","default":"./dist/languages.js"},"./integrations":{"types":"./dist/integrations/index.d.ts","default":"./dist/integrations/index.js"},"./integrations/next-intl":{"types":"./dist/integrations/next-intl.d.ts","default":"./dist/integrations/next-intl.js"}},"gitHead":"6dfda93dcc9403ef5685ffde810969b4e557d485","scripts":{"dev":"tsc --watch","lint":"eslint 'src/**/*.{ts,tsx}'","test":"jest --passWithNoTests","build":"tsc","format":"prettier --write 'src/**/*.{ts,tsx,json,md}'","prepare":"husky","lint:fix":"eslint 'src/**/*.{ts,tsx}' --fix","check-types":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"zaguan","email":"stig@zaguanai.com"},"repository":{"url":"git+https://github.com/ZaguanLabs/tstlai.git","type":"git"},"_npmVersion":"10.8.2","description":"Just-In-Time AI localization engine with intelligent caching","directories":{},"lint-staged":{"*.{json,md}":["prettier --write"],"src/**/*.{ts,tsx}":["eslint --fix","prettier --write"]},"_nodeVersion":"20.19.6","dependencies":{"openai":"^6.14.0","ioredis":"^5.8.2","node-html-parser":"^7.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","husky":"^9.1.7","react":"^19.2.3","eslint":"^9.39.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.7.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^25.0.3","lint-staged":"^16.2.7","@types/react":"^19.2.7","@types/react-dom":"^19.2.3","typescript-eslint":"^8.50.0","eslint-plugin-react":"^7.37.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.50.0","eslint-plugin-react-hooks":"^7.0.1","@typescript-eslint/eslint-plugin":"^8.50.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tstlai_1.2.3_1766065056716_0.9186231816844559","host":"s3://npm-registry-packages-npm-production"}},"1.2.4":{"name":"tstlai","version":"1.2.4","keywords":["i18n","translation","localization","ai","nextjs","typescript"],"author":{"name":"Zaguán AI"},"license":"MIT","_id":"tstlai@1.2.4","maintainers":[{"name":"zaguan","email":"stig@zaguanai.com"}],"homepage":"https://labs.zaguanai.com/en/experiments/tstlai","bugs":{"url":"https://github.com/ZaguanLabs/tstlai/issues"},"bin":{"tstlai":"dist/cli/index.js"},"dist":{"shasum":"1494236d4b47f17eb5fdb8495e6d382b352f6be5","tarball":"https://registry.npmjs.org/tstlai/-/tstlai-1.2.4.tgz","fileCount":83,"integrity":"sha512-zEpC35PDf5X93it4xCFKhCC42lUhcEWmZfRFeMOgF7GTUf/GBzSKx90qPAIeIJutQoEqDRvKdjkRh/sTC04J+g==","signatures":[{"sig":"MEYCIQC1nNcfzxIqX9/pD6H8EOZPqsWTON46rU8JaQlL/cjwkQIhANaz60UyfV2z3iMV4/bqC7IP/s6TWA43Y5rZkehxhyVe","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":232781},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","default":"./dist/cli/index.js"},"./next":{"types":"./dist/integrations/next.d.ts","default":"./dist/integrations/next.js"},"./client":{"types":"./dist/integrations/next-client.d.ts","default":"./dist/integrations/next-client.js"},"./languages":{"types":"./dist/languages.d.ts","default":"./dist/languages.js"},"./integrations":{"types":"./dist/integrations/index.d.ts","default":"./dist/integrations/index.js"},"./integrations/next-intl":{"types":"./dist/integrations/next-intl.d.ts","default":"./dist/integrations/next-intl.js"}},"gitHead":"7a4e29317ff05417425b07279a7898f753bd869e","scripts":{"dev":"tsc --watch","lint":"eslint 'src/**/*.{ts,tsx}'","test":"jest --passWithNoTests","build":"tsc","format":"prettier --write 'src/**/*.{ts,tsx,json,md}'","prepare":"husky","lint:fix":"eslint 'src/**/*.{ts,tsx}' --fix","check-types":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"zaguan","email":"stig@zaguanai.com"},"repository":{"url":"git+https://github.com/ZaguanLabs/tstlai.git","type":"git"},"_npmVersion":"10.8.2","description":"Just-In-Time AI localization engine with intelligent caching","directories":{},"lint-staged":{"*.{json,md}":["prettier --write"],"src/**/*.{ts,tsx}":["eslint --fix","prettier --write"]},"_nodeVersion":"20.19.6","dependencies":{"openai":"^6.14.0","ioredis":"^5.8.2","node-html-parser":"^7.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","husky":"^9.1.7","react":"^19.2.3","eslint":"^9.39.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.7.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^25.0.3","lint-staged":"^16.2.7","@types/react":"^19.2.7","@types/react-dom":"^19.2.3","typescript-eslint":"^8.50.0","eslint-plugin-react":"^7.37.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.50.0","eslint-plugin-react-hooks":"^7.0.1","@typescript-eslint/eslint-plugin":"^8.50.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tstlai_1.2.4_1766065818377_0.7459509151164179","host":"s3://npm-registry-packages-npm-production"}},"1.2.5":{"name":"tstlai","version":"1.2.5","keywords":["i18n","translation","localization","ai","nextjs","typescript"],"author":{"name":"Zaguán AI"},"license":"MIT","_id":"tstlai@1.2.5","maintainers":[{"name":"zaguan","email":"stig@zaguanai.com"}],"homepage":"https://labs.zaguanai.com/en/experiments/tstlai","bugs":{"url":"https://github.com/ZaguanLabs/tstlai/issues"},"bin":{"tstlai":"dist/cli/index.js"},"dist":{"shasum":"3a9c2f9bb803fa907d6c362b9c903b2e71c09389","tarball":"https://registry.npmjs.org/tstlai/-/tstlai-1.2.5.tgz","fileCount":83,"integrity":"sha512-+gDgMfiFtmWvdP4kK/2SQgIo7+4eyJA/PRXSrv8y4HvqFljGWrVBRbQL2xAoU2S7RG8b27KNhOST0UT5dInkSA==","signatures":[{"sig":"MEUCIA3oijo8GUDpeH6rb8PxQXaRfvbXDOd0N+D5Unop76oeAiEA0hx4Bq2Yuh174pQbwj8AEh/GFy6QdaV78vK7SBvFYqs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":232525},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","default":"./dist/cli/index.js"},"./next":{"types":"./dist/integrations/next.d.ts","default":"./dist/integrations/next.js"},"./client":{"types":"./dist/integrations/next-client.d.ts","default":"./dist/integrations/next-client.js"},"./languages":{"types":"./dist/languages.d.ts","default":"./dist/languages.js"},"./integrations":{"types":"./dist/integrations/index.d.ts","default":"./dist/integrations/index.js"},"./integrations/next-intl":{"types":"./dist/integrations/next-intl.d.ts","default":"./dist/integrations/next-intl.js"}},"gitHead":"af3950e17bdd36ae9e68365a1df69d5f4672c617","scripts":{"dev":"tsc --watch","lint":"eslint 'src/**/*.{ts,tsx}'","test":"jest --passWithNoTests","build":"tsc","format":"prettier --write 'src/**/*.{ts,tsx,json,md}'","prepare":"husky","lint:fix":"eslint 'src/**/*.{ts,tsx}' --fix","check-types":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"zaguan","email":"stig@zaguanai.com"},"repository":{"url":"git+https://github.com/ZaguanLabs/tstlai.git","type":"git"},"_npmVersion":"10.8.2","description":"Just-In-Time AI localization engine with intelligent caching","directories":{},"lint-staged":{"*.{json,md}":["prettier --write"],"src/**/*.{ts,tsx}":["eslint --fix","prettier --write"]},"_nodeVersion":"20.19.6","dependencies":{"openai":"^6.14.0","ioredis":"^5.8.2","node-html-parser":"^7.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","husky":"^9.1.7","react":"^19.2.3","eslint":"^9.39.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.7.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^25.0.3","lint-staged":"^16.2.7","@types/react":"^19.2.7","@types/react-dom":"^19.2.3","typescript-eslint":"^8.50.0","eslint-plugin-react":"^7.37.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.50.0","eslint-plugin-react-hooks":"^7.0.1","@typescript-eslint/eslint-plugin":"^8.50.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tstlai_1.2.5_1766068032953_0.7146156843734164","host":"s3://npm-registry-packages-npm-production"}},"1.2.6":{"name":"tstlai","version":"1.2.6","keywords":["i18n","translation","localization","ai","nextjs","typescript"],"author":{"name":"Zaguán AI"},"license":"MIT","_id":"tstlai@1.2.6","maintainers":[{"name":"zaguan","email":"stig@zaguanai.com"}],"homepage":"https://labs.zaguanai.com/en/experiments/tstlai","bugs":{"url":"https://github.com/ZaguanLabs/tstlai/issues"},"bin":{"tstlai":"dist/cli/index.js"},"dist":{"shasum":"c400efad2f4726cc6ef6e9c5867eb98735494f84","tarball":"https://registry.npmjs.org/tstlai/-/tstlai-1.2.6.tgz","fileCount":83,"integrity":"sha512-LkvYHQuu1Q0iyT1MOcRkrahewJGOFAALc5zvxu9EOW6CZvDauoq9hhkZAVHlxZcz/y+BDDcCLTt7w4bL2Pj4Mg==","signatures":[{"sig":"MEYCIQC+SvE/cY51JxJPSb5vYEu8J+MjNj+BcU97+M22xuP38QIhAJHsPE7CU0Os04yVThZSVDL22tWepsW6eHiBQ9ay9KXI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":232692},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","default":"./dist/cli/index.js"},"./next":{"types":"./dist/integrations/next.d.ts","default":"./dist/integrations/next.js"},"./client":{"types":"./dist/integrations/next-client.d.ts","default":"./dist/integrations/next-client.js"},"./languages":{"types":"./dist/languages.d.ts","default":"./dist/languages.js"},"./integrations":{"types":"./dist/integrations/index.d.ts","default":"./dist/integrations/index.js"},"./integrations/next-intl":{"types":"./dist/integrations/next-intl.d.ts","default":"./dist/integrations/next-intl.js"}},"gitHead":"f6346502cf19f1d1e4304e4b00faf742069ab8e6","scripts":{"dev":"tsc --watch","lint":"eslint 'src/**/*.{ts,tsx}'","test":"jest --passWithNoTests","build":"tsc","format":"prettier --write 'src/**/*.{ts,tsx,json,md}'","prepare":"husky","lint:fix":"eslint 'src/**/*.{ts,tsx}' --fix","check-types":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"zaguan","email":"stig@zaguanai.com"},"repository":{"url":"git+https://github.com/ZaguanLabs/tstlai.git","type":"git"},"_npmVersion":"10.8.2","description":"Just-In-Time AI localization engine with intelligent caching","directories":{},"lint-staged":{"*.{json,md}":["prettier --write"],"src/**/*.{ts,tsx}":["eslint --fix","prettier --write"]},"_nodeVersion":"20.19.6","dependencies":{"openai":"^6.14.0","ioredis":"^5.8.2","node-html-parser":"^7.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","husky":"^9.1.7","react":"^19.2.3","eslint":"^9.39.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.7.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^25.0.3","lint-staged":"^16.2.7","@types/react":"^19.2.7","@types/react-dom":"^19.2.3","typescript-eslint":"^8.50.0","eslint-plugin-react":"^7.37.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.50.0","eslint-plugin-react-hooks":"^7.0.1","@typescript-eslint/eslint-plugin":"^8.50.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tstlai_1.2.6_1766069275865_0.03186665891906948","host":"s3://npm-registry-packages-npm-production"}},"1.2.8":{"name":"tstlai","version":"1.2.8","keywords":["i18n","translation","localization","ai","nextjs","typescript"],"author":{"name":"Zaguán AI"},"license":"MIT","_id":"tstlai@1.2.8","maintainers":[{"name":"zaguan","email":"stig@zaguanai.com"}],"homepage":"https://labs.zaguanai.com/en/experiments/tstlai","bugs":{"url":"https://github.com/ZaguanLabs/tstlai/issues"},"bin":{"tstlai":"dist/cli/index.js"},"dist":{"shasum":"f9808c842e44b76a7c8ed0f5fe0fa5a976bd3425","tarball":"https://registry.npmjs.org/tstlai/-/tstlai-1.2.8.tgz","fileCount":83,"integrity":"sha512-4kxjFDY5S0I7tQO0rSoMdgrTAtnAoDhB7Djr3xgYBvPWTSPuZqciieiUZd8xI3xrHyJxUVEZKl1WnwWHrcvmmA==","signatures":[{"sig":"MEQCIHDWp0b8BXNBH2ZLgWunb3yqHl/nVgu2Q2IhEHMqPJZhAiAGrZBTxkXEmMB0EK5isGez8aDMHXaDsMsdzs03FgipbQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":237840},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./cli":{"types":"./dist/cli/index.d.ts","default":"./dist/cli/index.js"},"./next":{"types":"./dist/integrations/next.d.ts","default":"./dist/integrations/next.js"},"./client":{"types":"./dist/integrations/next-client.d.ts","default":"./dist/integrations/next-client.js"},"./languages":{"types":"./dist/languages.d.ts","default":"./dist/languages.js"},"./integrations":{"types":"./dist/integrations/index.d.ts","default":"./dist/integrations/index.js"},"./integrations/next-intl":{"types":"./dist/integrations/next-intl.d.ts","default":"./dist/integrations/next-intl.js"}},"gitHead":"f71ba587012bd19f2dcebbbdebf00e470fc7cdfc","scripts":{"dev":"tsc --watch","lint":"eslint 'src/**/*.{ts,tsx}'","test":"jest --passWithNoTests","build":"tsc","format":"prettier --write 'src/**/*.{ts,tsx,json,md}'","prepare":"husky","lint:fix":"eslint 'src/**/*.{ts,tsx}' --fix","check-types":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"zaguan","email":"stig@zaguanai.com"},"repository":{"url":"git+https://github.com/ZaguanLabs/tstlai.git","type":"git"},"_npmVersion":"10.8.2","description":"Just-In-Time AI localization engine with intelligent caching","directories":{},"lint-staged":{"*.{json,md}":["prettier --write"],"src/**/*.{ts,tsx}":["eslint --fix","prettier --write"]},"_nodeVersion":"20.20.2","dependencies":{"openai":"^6.14.0","ioredis":"^5.8.2","node-html-parser":"^7.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","husky":"^9.1.7","react":"^19.2.3","eslint":"^9.39.2","ts-jest":"^29.4.6","ts-node":"^10.9.2","prettier":"^3.7.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^25.0.3","lint-staged":"^16.2.7","@types/react":"^19.2.7","@types/react-dom":"^19.2.3","typescript-eslint":"^8.50.0","eslint-plugin-react":"^7.37.5","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.50.0","eslint-plugin-react-hooks":"^7.0.1","@typescript-eslint/eslint-plugin":"^8.50.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/tstlai_1.2.8_1788978639196_0.8082819347570709","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"tstlai","version":"1.3.0","description":"Just-In-Time AI localization engine with intelligent caching","main":"dist/index.js","types":"dist/index.d.ts","bin":{"tstlai":"dist/cli/index.js"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./client":{"types":"./dist/integrations/next-client.d.ts","default":"./dist/integrations/next-client.js"},"./next":{"types":"./dist/integrations/next.d.ts","default":"./dist/integrations/next.js"},"./integrations":{"types":"./dist/integrations/index.d.ts","default":"./dist/integrations/index.js"},"./integrations/next-intl":{"types":"./dist/integrations/next-intl.d.ts","default":"./dist/integrations/next-intl.js"},"./cli":{"types":"./dist/cli/index.d.ts","default":"./dist/cli/index.js"},"./languages":{"types":"./dist/languages.d.ts","default":"./dist/languages.js"},"./server":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./express":{"types":"./dist/integrations/express.d.ts","default":"./dist/integrations/express.js"},"./fastify":{"types":"./dist/integrations/fastify.d.ts","default":"./dist/integrations/fastify.js"},"./astro":{"types":"./dist/integrations/astro.d.ts","default":"./dist/integrations/astro.js"},"./remix":{"types":"./dist/integrations/remix.d.ts","default":"./dist/integrations/remix.js"},"./package.json":"./package.json","./core":{"types":"./dist/core/index.d.ts","default":"./dist/core/index.js"}},"scripts":{"build":"tsc","dev":"tsc --watch","test":"jest","lint":"eslint 'src/**/*.{ts,tsx}' --max-warnings=0","lint:fix":"eslint 'src/**/*.{ts,tsx}' --fix","format":"prettier --write 'src/**/*.{ts,tsx,json,md}'","check-types":"tsc --noEmit","prepublishOnly":"npm run build","prepare":"husky","test:package":"npm run build && node scripts/check-package.cjs","validate":"npm run check-types && npm run lint && npm test -- --runInBand && npm run test:package","prepack":"npm run build"},"keywords":["i18n","translation","localization","ai","nextjs","typescript"],"author":{"name":"Zaguán AI"},"license":"MIT","homepage":"https://labs.zaguanai.com/en/experiments/tstlai","repository":{"type":"git","url":"git+https://github.com/ZaguanLabs/tstlai.git"},"bugs":{"url":"https://github.com/ZaguanLabs/tstlai/issues"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"devDependencies":{"@eslint/js":"^9.39.5","@types/jest":"^30.0.0","@types/node":"22.20.2","@types/react":"^19.3.0","@types/react-dom":"^19.3.0","eslint":"^9.39.5","eslint-config-prettier":"^10.1.8","eslint-plugin-react":"^7.37.5","eslint-plugin-react-hooks":"^7.1.1","husky":"^9.1.7","jest":"^30.5.1","jsdom":"26.1.0","lint-staged":"^16.4.0","prettier":"^3.9.6","react":"19.3.0","react-dom":"19.3.0","ts-jest":"^29.4.12","ts-node":"^10.9.2","typescript":"^5.9.3","typescript-eslint":"^8.70.0"},"dependencies":{"ioredis":"^5.11.1","node-html-parser":"^7.1.0","openai":"^6.49.0"},"lint-staged":{"src/**/*.{ts,tsx}":["eslint --fix","prettier --write"],"*.{json,md}":["prettier --write"]},"engines":{"node":">=20"},"sideEffects":false,"gitHead":"d4a6f53c2611fb7ea67296593ed0b318de38401b","_id":"tstlai@1.3.0","_nodeVersion":"24.20.0","_npmVersion":"11.19.1","dist":{"integrity":"sha512-xziekuffuDXlpSsUiYIcQflj/4jGCgtttZFWtFOSzTwAsVYm99ZG1SxtjEEAHbkbhWWYaObtdn46r3/NsuytsA==","shasum":"d7811c908c7b9609016b86c96ccc96a2b77967d2","tarball":"https://registry.npmjs.org/tstlai/-/tstlai-1.3.0.tgz","fileCount":123,"unpackedSize":318369,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/tstlai@1.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDZr5S63SNH2LdNcqIhWNFJnxDPEt2vcRUmULU4vHtanQIhAMxDPp3KQoEL6WJgKyMMnu2elEa1D1lYnlzy95zcWeCk"}]},"_npmUser":{"name":"zaguan","email":"stig@zaguanai.com"},"directories":{},"maintainers":[{"name":"zaguan","email":"stig@zaguanai.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/tstlai_1.3.0_1788986186122_0.3744787608840785"},"_hasShrinkwrap":false}},"time":{"created":"2025-11-27T20:39:35.061Z","modified":"2026-09-09T20:36:26.675Z","0.7.2":"2025-11-27T20:39:35.259Z","0.7.4":"2025-11-27T21:00:57.495Z","0.7.6":"2025-11-27T22:24:55.323Z","0.7.7":"2025-11-28T06:47:48.728Z","0.8.0":"2025-11-28T10:54:43.863Z","0.9.0":"2025-11-28T12:00:11.051Z","0.10.0":"2025-11-28T13:18:30.590Z","0.11.1":"2025-11-28T13:39:43.921Z","0.11.2":"2025-11-28T14:04:05.775Z","0.11.3":"2025-11-28T14:09:53.815Z","0.11.4":"2025-11-28T14:16:32.887Z","0.11.5":"2025-11-28T14:22:00.134Z","0.12.0":"2025-11-28T14:38:54.766Z","0.13.0":"2025-11-28T18:18:45.407Z","0.13.1":"2025-11-28T18:26:45.325Z","0.14.0":"2025-11-28T18:37:49.868Z","0.14.1":"2025-11-28T18:48:05.524Z","0.15.0":"2025-11-28T19:00:19.119Z","0.15.1":"2025-11-28T19:06:55.308Z","0.16.0":"2025-11-28T20:50:24.681Z","0.16.1":"2025-11-28T21:11:23.793Z","0.17.0":"2025-11-29T11:01:31.154Z","0.17.1":"2025-11-29T11:12:32.053Z","0.18.0":"2025-11-29T20:47:17.221Z","0.18.1":"2025-11-29T22:36:54.454Z","0.19.0":"2025-11-29T22:48:18.040Z","1.0.0":"2025-11-30T18:16:04.256Z","1.0.1":"2025-12-02T21:53:52.036Z","1.0.2":"2025-12-17T10:45:11.136Z","1.1.1":"2025-12-17T10:58:55.693Z","1.1.2":"2025-12-17T12:44:35.741Z","1.2.0":"2025-12-17T19:25:28.944Z","1.2.1":"2025-12-18T10:51:05.752Z","1.2.2":"2025-12-18T11:13:56.715Z","1.2.3":"2025-12-18T13:37:36.870Z","1.2.4":"2025-12-18T13:50:18.510Z","1.2.5":"2025-12-18T14:27:13.105Z","1.2.6":"2025-12-18T14:47:56.002Z","1.2.8":"2026-09-09T18:30:39.347Z","1.3.0":"2026-09-09T20:36:26.318Z"},"bugs":{"url":"https://github.com/ZaguanLabs/tstlai/issues"},"author":{"name":"Zaguán AI"},"license":"MIT","homepage":"https://labs.zaguanai.com/en/experiments/tstlai","keywords":["i18n","translation","localization","ai","nextjs","typescript"],"repository":{"type":"git","url":"git+https://github.com/ZaguanLabs/tstlai.git"},"description":"Just-In-Time AI localization engine with intelligent caching","maintainers":[{"name":"zaguan","email":"stig@zaguanai.com"}],"readme":"# tstlai: Just-In-Time AI Localization\n\n**tstlai** is middleware for **Just-In-Time AI localization** with intelligent caching to minimize costs and latency.\n\n## Why tstlai?\n\nTraditional i18n requires maintaining separate JSON files for each language - extracting strings, syncing changes across files, and coordinating with translators. As your app grows, this becomes a maintenance burden that slows down development.\n\ntstlai takes a different approach:\n\n- **One source of truth** - Maintain a single JSON file or write inline. Either way, you never sync multiple language files.\n- **Add languages instantly** - One line of config. No translation workflow, no waiting on translators.\n- **Context-aware accuracy** - Unlike standard auto-translation, AI understands context. \"Save\" translates correctly whether it's a button, a discount, or a rescue mission.\n- **Pay once per string** - Intelligent caching means each unique string is translated only once.\n\n## How It Works\n\n1. You write your app in your source language\n2. tstlai intercepts text at render time (or build time)\n3. New strings are translated via AI and cached\n4. Cached translations are served instantly on subsequent requests\n\nThe result: your app supports any language without changing your development workflow.\n\n## Features\n\n- **HTML-Safe** - Only text nodes are translated; structure, classes, and attributes stay intact\n- **RTL Support** - Automatic `dir` and `lang` attributes for Arabic, Hebrew, Persian, etc.\n- **Flexible Caching** - Redis for production, in-memory for development\n- **Multiple Integration Modes** - Auto-translate, server-side, or CLI generation at build time\n- **Framework Support** - Next.js, Express, Fastify, Astro, Remix\n\n## Installation\n\n```bash\nnpm install tstlai\n```\n\nUse Node 20 or newer; maintained Node LTS versions are recommended. React is\noptional for server usage. For explicit entry points:\n\n```typescript\nimport { Tstlai, createNextRouteHandler } from 'tstlai/server';\nimport { AutoTranslate, TstlaiStreamingProvider } from 'tstlai/client';\n```\n\nThe root `tstlai` import and existing integration paths remain available. See\n[package entry points and maintenance](docs/guides/maintenance.md) for compatibility\nchecks, custom imports, and the release workflow.\n\n## Quick Start\n\n```typescript\nimport { Tstlai } from 'tstlai';\n\nconst translator = new Tstlai({\n  targetLang: 'es',\n  provider: { type: 'openai', apiKey: process.env.OPENAI_API_KEY },\n  cache: { type: 'memory' },\n});\n\n// Translate text\nconst translated = await translator.translateText('Hello, world!');\n\n// Or process full HTML\nconst result = await translator.process('<h1>Hello</h1>');\nconsole.log(result.html); // <h1>Hola</h1>\n```\n\n## Documentation\n\n| Guide                                                        | Description                                |\n| :----------------------------------------------------------- | :----------------------------------------- |\n| **[Quick Start](docs/getting-started/quick-start.md)**       | 5 minutes to a translated app              |\n| **[Configuration](docs/api/configuration.md)**               | All options, env vars, caching             |\n| **[Next.js Integration](docs/guides/nextjs-integration.md)** | Auto-translate, SSR, `next-intl` migration |\n| **[CLI Generate](docs/guides/cli-generate.md)**              | Static file generation for CI/CD           |\n| **[Frameworks](docs/guides/frameworks.md)**                  | Express, Fastify, Astro, Remix             |\n| **[Caching](docs/guides/caching.md)**                        | Redis setup, multi-language keys           |\n\n## Integration Methods\n\n| Method                | Best For                   | Setup                 |\n| :-------------------- | :------------------------- | :-------------------- |\n| **Auto-Translate**    | Legacy apps, fastest setup | Drop-in component     |\n| **Page Translations** | New projects               | List strings upfront  |\n| **JSON Adapter**      | `next-intl` migration      | Use existing JSON     |\n| **CLI Generate**      | Static sites, mobile apps  | Build-time generation |\n\n## Environment Variables\n\n| Variable          | Description      | Default                     |\n| :---------------- | :--------------- | :-------------------------- |\n| `OPENAI_API_KEY`  | OpenAI API Key   | —                           |\n| `OPENAI_MODEL`    | Model ID         | `gpt-5.2-mini`              |\n| `OPENAI_BASE_URL` | Custom endpoint  | `https://api.openai.com/v1` |\n| `REDIS_URL`       | Redis connection | `redis://localhost:6379`    |\n\n## CLI\n\n```bash\n# Generate Spanish and French from English source\nnpx tstlai generate -i locales/en.json -o locales/ -l es,fr\n\n# With context for better quality\nnpx tstlai generate -i en.json -l de,ja -c \"E-commerce website\"\n```\n\n## Preventing Translation\n\n```html\n<span data-no-translate>BrandName™</span>\n```\n\nOr use `excludedTerms` in config for global exclusions.\n\n## Security\n\ntstlai includes built-in protections and provides guidance for secure deployments:\n\n### Built-in Protections\n\n- **XSS Safe** - Translations are applied via `textContent`, not `innerHTML`\n- **Request Limits** - Route handlers enforce default limits (100 texts, 100K chars per request)\n- **Production Warnings** - Console warnings alert you to add rate limiting\n\n### Safest Option: Server-Side Only\n\nUse `createPageTranslations` or `CLI generate` to avoid exposing any public endpoint:\n\n```typescript\n// No public API needed—runs entirely on your server\nconst t = await createPageTranslations(translator, ['Welcome', 'About us']);\nreturn <h1>{t('Welcome')}</h1>;\n```\n\n### If Using Client-Side Translation\n\nWhen exposing translation endpoints (e.g., for `AutoTranslate`), you **must** implement:\n\n- **Rate limiting** - Prevent API abuse and cost overruns\n- **Origin validation** - Restrict access to your domains\n- **Monitoring** - Track usage and set billing alerts with your AI provider\n\n```typescript\n// Example: Customize limits\nexport const POST = createNextRouteHandler(translator, {\n  maxTexts: 50, // Stricter limit\n  maxTotalChars: 25000,\n});\n```\n\n> ⚠️ **Without rate limiting, your endpoint is exploitable.** An attacker can use your AI credits for free translations.\n\n📖 **[Full Security Guide](docs/guides/security.md)** - Rate limiting examples, origin validation, complete protected route implementation.\n\n## License\n\nMIT\n\n---\n\n_tstlai is developed by [Zaguán AI](https://zaguanai.com/), a 100% OpenAI-compatible API that makes it easy to switch between models._\n","readmeFilename":"README.md"}