{"_id":"@apito-io/js-admin-sdk","_rev":"10-b4dbdf81a5ca4e335c34573ef7bb519d","name":"@apito-io/js-admin-sdk","dist-tags":{"latest":"3.5.0"},"versions":{"2.0.0":{"name":"@apito-io/js-admin-sdk","version":"2.0.0","keywords":["apito","sdk","graphql","api","javascript","typescript","headless-cms","backend"],"author":{"name":"Apito Team"},"license":"MIT","_id":"@apito-io/js-admin-sdk@2.0.0","maintainers":[{"name":"sh0umik","email":"fahim.shoumik@gmail.com"}],"homepage":"https://docs.apito.io","bugs":{"url":"https://github.com/apito-io/js-admin-sdk/issues"},"dist":{"shasum":"e260ff99b40fcc6da69722016d1b03cb4aa21d43","tarball":"https://registry.npmjs.org/@apito-io/js-admin-sdk/-/js-admin-sdk-2.0.0.tgz","fileCount":15,"integrity":"sha512-fQeP+Yn+ZouLoNdUPieGPwpswj5PrE4v7553hMG8SX52S2KTH3Y7kX2jwGWf26yaEdM7ZBhWGeld+biGPKwnQA==","signatures":[{"sig":"MEYCIQDP3Z8wuuyYRO2zqznaD/mxWQQ3c30EUlFkKG6n7xIzKQIhAP7smXhcg/rhXDvK04ENghDp7m3EzdkLprvN60j6xFnE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":129144},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"db6d1a4be31eaf2971001fe041b143dc570019d3","scripts":{"lint":"eslint src --ext .ts","size":"size-limit","test":"jest --passWithNoTests","build":"tsup","start":"tsup --watch","analyze":"size-limit --why","prepare":"tsup"},"_npmUser":{"name":"sh0umik","email":"fahim.shoumik@gmail.com"},"repository":{"url":"git+https://github.com/apito-io/js-admin-sdk.git","type":"git"},"size-limit":[{"path":"dist/index.js","limit":"50 KB"},{"path":"dist/index.mjs","limit":"50 KB"}],"_npmVersion":"10.9.4","description":"Admin JavaScript SDK for Apito GraphQL API (mirrors go-internal-sdk)","directories":{},"_nodeVersion":"22.22.0","dependencies":{"axios":"^1.14.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.3.0","tsup":"^8.5.1","eslint":"^8.57.1","ts-jest":"^29.4.9","prettier":"^3.8.1","size-limit":"^12.0.1","typescript":"~5.9.3","@types/jest":"^30.0.0","@types/node":"^22.19.3","eslint-config-prettier":"^9.1.2","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^7.18.0","@typescript-eslint/eslint-plugin":"^7.18.0"},"_npmOperationalInternal":{"tmp":"tmp/js-admin-sdk_2.0.0_1775106213788_0.9267043953396288","host":"s3://npm-registry-packages-npm-production"}},"2.1.1":{"name":"@apito-io/js-admin-sdk","version":"2.1.1","keywords":["apito","sdk","graphql","api","javascript","typescript","headless-cms","backend"],"author":{"name":"Apito Team"},"license":"MIT","_id":"@apito-io/js-admin-sdk@2.1.1","maintainers":[{"name":"sh0umik","email":"fahim.shoumik@gmail.com"}],"homepage":"https://docs.apito.io","bugs":{"url":"https://github.com/apito-io/js-admin-sdk/issues"},"dist":{"shasum":"576f51e5a5f0fa817d915e695bb37b96b8e34ffd","tarball":"https://registry.npmjs.org/@apito-io/js-admin-sdk/-/js-admin-sdk-2.1.1.tgz","fileCount":15,"integrity":"sha512-OwyOqpkk3KYRhQ1p76PZKUcwGS/tbsZHCU5NsOC6vTzNwpOQYAul/M/Gw68A7ioTMozAQ8hC78nZIPgiokqN6w==","signatures":[{"sig":"MEUCIGZuIPyQ5Ubs/ujNrOPJY4riDVsrKti9tgYA+gTvoR1wAiEAv1WuVx1Htd7z3ILbCQMoxWtf5eb6VTdd14AyRmsZMbU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":130920},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"470c6dabcdb4e8740e9050c384b6903d5bf50833","scripts":{"lint":"eslint src --ext .ts","size":"size-limit","test":"jest --passWithNoTests","build":"tsup","start":"tsup --watch","analyze":"size-limit --why","prepare":"tsup"},"_npmUser":{"name":"sh0umik","email":"fahim.shoumik@gmail.com"},"repository":{"url":"git+https://github.com/apito-io/js-admin-sdk.git","type":"git"},"size-limit":[{"path":"dist/index.js","limit":"50 KB"},{"path":"dist/index.mjs","limit":"50 KB"}],"_npmVersion":"10.9.4","description":"Admin JavaScript SDK for Apito GraphQL API (mirrors go-internal-sdk)","directories":{},"_nodeVersion":"22.22.1","dependencies":{"axios":"^1.14.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.3.0","tsup":"^8.5.1","eslint":"^10.1.0","ts-jest":"^29.4.9","prettier":"^3.8.1","size-limit":"^12.0.1","typescript":"~6.0.2","@types/jest":"^30.0.0","@types/node":"^25.5.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.58.0","@typescript-eslint/eslint-plugin":"^8.58.0"},"_npmOperationalInternal":{"tmp":"tmp/js-admin-sdk_2.1.1_1775191282259_0.4101627745665337","host":"s3://npm-registry-packages-npm-production"}},"2.1.2":{"name":"@apito-io/js-admin-sdk","version":"2.1.2","keywords":["apito","sdk","graphql","api","javascript","typescript","headless-cms","backend"],"author":{"name":"Apito Team"},"license":"MIT","_id":"@apito-io/js-admin-sdk@2.1.2","maintainers":[{"name":"sh0umik","email":"fahim.shoumik@gmail.com"}],"homepage":"https://docs.apito.io","bugs":{"url":"https://github.com/apito-io/js-admin-sdk/issues"},"dist":{"shasum":"0eb1e15dad5e5dbdb37755453ab7d24039d1e236","tarball":"https://registry.npmjs.org/@apito-io/js-admin-sdk/-/js-admin-sdk-2.1.2.tgz","fileCount":15,"integrity":"sha512-1u+9Xbr3zJusxmqvY50FjJTOQFZdhT6Iq6FuOp1XmO8gnIc4s1mX0/ErJvaRIM0u3fjHsn3EhJn5xV/37hsKHA==","signatures":[{"sig":"MEUCIQDHZcp1g0TDjL5Zu8VVWpRKfAwgL7pc15gkBepDyphfiQIgeVPtzUgIk89dIGbwHYI0VzgF4U/WXNJa3SO3mh61H2w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":133733},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"7c2eedf8468d20abae9511e49a631fbd76889ca8","scripts":{"lint":"eslint src --ext .ts","size":"size-limit","test":"jest --passWithNoTests","build":"tsup","start":"tsup --watch","analyze":"size-limit --why","prepare":"tsup"},"_npmUser":{"name":"sh0umik","email":"fahim.shoumik@gmail.com"},"repository":{"url":"git+https://github.com/apito-io/js-admin-sdk.git","type":"git"},"size-limit":[{"path":"dist/index.js","limit":"50 KB"},{"path":"dist/index.mjs","limit":"50 KB"}],"_npmVersion":"10.9.7","description":"Admin JavaScript SDK for Apito GraphQL API (mirrors go-internal-sdk)","directories":{},"_nodeVersion":"22.22.2","dependencies":{"axios":"^1.14.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.3.0","tsup":"^8.5.1","eslint":"^10.1.0","ts-jest":"^29.4.9","prettier":"^3.8.1","size-limit":"^12.0.1","typescript":"~6.0.2","@types/jest":"^30.0.0","@types/node":"^25.5.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.58.0","@typescript-eslint/eslint-plugin":"^8.58.0"},"_npmOperationalInternal":{"tmp":"tmp/js-admin-sdk_2.1.2_1776503491783_0.01839798140858262","host":"s3://npm-registry-packages-npm-production"}},"2.5.0":{"name":"@apito-io/js-admin-sdk","version":"2.5.0","keywords":["apito","sdk","graphql","api","javascript","typescript","headless-cms","backend"],"author":{"name":"Apito Team"},"license":"MIT","_id":"@apito-io/js-admin-sdk@2.5.0","maintainers":[{"name":"sh0umik","email":"fahim.shoumik@gmail.com"}],"homepage":"https://docs.apito.io","bugs":{"url":"https://github.com/apito-io/js-admin-sdk/issues"},"dist":{"shasum":"656bbaa29ed9524e0e5fafa0cc547228b587e764","tarball":"https://registry.npmjs.org/@apito-io/js-admin-sdk/-/js-admin-sdk-2.5.0.tgz","fileCount":15,"integrity":"sha512-bAAv3T2gryjrDh41lUPURNpnTxYM50RD8pcFtCBZPpwdztI28vNJDzoa23VMguEsMusQxXJON9KDFGy4OZCctg==","signatures":[{"sig":"MEUCIQDvZoPpQbqVyhBKgfYpRneGsVhmYPmcgavjA5lhwsFhoQIgDSpLk5jG6jQ8KOrQMoaAUPy4AzeFSUydsaQuvgxdPQk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":176942},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"78f04cad36581b9fe48d6d5515b2a491c25ed1f7","scripts":{"lint":"eslint src --ext .ts","size":"size-limit","test":"jest --passWithNoTests","build":"tsup","start":"tsup --watch","analyze":"size-limit --why","prepare":"tsup"},"_npmUser":{"name":"sh0umik","email":"fahim.shoumik@gmail.com"},"repository":{"url":"git+https://github.com/apito-io/js-admin-sdk.git","type":"git"},"size-limit":[{"path":"dist/index.js","limit":"50 KB"},{"path":"dist/index.mjs","limit":"50 KB"}],"_npmVersion":"10.9.7","description":"Admin JavaScript SDK for Apito GraphQL API (mirrors go-internal-sdk)","directories":{},"_nodeVersion":"22.22.2","dependencies":{"axios":"^1.14.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.3.0","tsup":"^8.5.1","eslint":"^10.1.0","ts-jest":"^29.4.9","prettier":"^3.8.1","size-limit":"^12.0.1","typescript":"~6.0.2","@types/jest":"^30.0.0","@types/node":"^25.5.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.58.0","@typescript-eslint/eslint-plugin":"^8.58.0"},"_npmOperationalInternal":{"tmp":"tmp/js-admin-sdk_2.5.0_1778616187366_0.8517832470160052","host":"s3://npm-registry-packages-npm-production"}},"2.7.0":{"name":"@apito-io/js-admin-sdk","version":"2.7.0","keywords":["apito","sdk","graphql","api","javascript","typescript","headless-cms","backend"],"author":{"name":"Apito Team"},"license":"MIT","_id":"@apito-io/js-admin-sdk@2.7.0","maintainers":[{"name":"sh0umik","email":"fahim.shoumik@gmail.com"}],"homepage":"https://docs.apito.io","bugs":{"url":"https://github.com/apito-io/js-admin-sdk/issues"},"dist":{"shasum":"875fe1ecb83d17662dbfc07afef82db3605b7cb1","tarball":"https://registry.npmjs.org/@apito-io/js-admin-sdk/-/js-admin-sdk-2.7.0.tgz","fileCount":15,"integrity":"sha512-GcL/dVpf8l6365378eonT7c+BL15zMtsOlPWHVwnmTOGc0u/YatUEw2rOdshvSS0GbF576DJABCXgrsYlbhZHw==","signatures":[{"sig":"MEUCIQDU8dr1eJOyNEUWgvXHjDAFEGuaeyIuFFH9jsCMEwra+QIgZAFLNQmMW0u6pUATKn0T+dKTxetgN5/1Aa1fq2e/cPk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":203630},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"d0c52943bb27de328cb1219480daacef1942aa02","scripts":{"lint":"eslint src --ext .ts","size":"size-limit","test":"jest --passWithNoTests","build":"tsup","start":"tsup --watch","analyze":"size-limit --why","prepare":"tsup"},"_npmUser":{"name":"sh0umik","email":"fahim.shoumik@gmail.com"},"repository":{"url":"git+https://github.com/apito-io/js-admin-sdk.git","type":"git"},"size-limit":[{"path":"dist/index.js","limit":"50 KB"},{"path":"dist/index.mjs","limit":"50 KB"}],"_npmVersion":"10.9.7","description":"Admin JavaScript SDK for Apito GraphQL API (mirrors go-internal-sdk)","directories":{},"_nodeVersion":"22.22.2","dependencies":{"axios":"^1.14.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.3.0","tsup":"^8.5.1","eslint":"^10.1.0","ts-jest":"^29.4.9","prettier":"^3.8.1","size-limit":"^12.0.1","typescript":"~6.0.2","@types/jest":"^30.0.0","@types/node":"^25.5.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.58.0","@typescript-eslint/eslint-plugin":"^8.58.0"},"_npmOperationalInternal":{"tmp":"tmp/js-admin-sdk_2.7.0_1778874176915_0.5899054600256948","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"@apito-io/js-admin-sdk","version":"3.0.0","keywords":["apito","sdk","graphql","api","javascript","typescript","headless-cms","backend"],"author":{"name":"Apito Team"},"license":"MIT","_id":"@apito-io/js-admin-sdk@3.0.0","maintainers":[{"name":"sh0umik","email":"fahim.shoumik@gmail.com"}],"homepage":"https://docs.apito.io","bugs":{"url":"https://github.com/apito-io/js-admin-sdk/issues"},"dist":{"shasum":"e04467dcca5cc860ce6c815cec0eff4e0d11c36d","tarball":"https://registry.npmjs.org/@apito-io/js-admin-sdk/-/js-admin-sdk-3.0.0.tgz","fileCount":15,"integrity":"sha512-iCbbMNOL0Z4gnF1i2cnLZb8exaEAtDDh2zqRMG3R6Vg+j5WbYxQVFtUqlEiT+4LRfx6o1uDXIm3Y5E02TnT9Ag==","signatures":[{"sig":"MEUCIEZ9HdKgb84nELOF+zPfBYVesUvAKm2vAdPgF9XaTJhMAiEAxMRa4aKsE3ngljSgmUmjV6W4h9zZ4Qadn8wpNbP3pX4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":247107},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"2ccc60fbe499ee66dfc5a2f14fa378e3325cd122","scripts":{"lint":"eslint src --ext .ts","size":"size-limit","test":"jest --passWithNoTests","build":"tsup","start":"tsup --watch","analyze":"size-limit --why","prepare":"tsup"},"_npmUser":{"name":"sh0umik","email":"fahim.shoumik@gmail.com"},"repository":{"url":"git+https://github.com/apito-io/js-admin-sdk.git","type":"git"},"size-limit":[{"path":"dist/index.js","limit":"50 KB"},{"path":"dist/index.mjs","limit":"50 KB"}],"_npmVersion":"10.9.7","description":"Admin JavaScript SDK for Apito GraphQL API (mirrors go-internal-sdk)","directories":{},"_nodeVersion":"22.22.2","dependencies":{"axios":"^1.14.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.3.0","tsup":"^8.5.1","eslint":"^10.1.0","ts-jest":"^29.4.9","prettier":"^3.8.1","size-limit":"^12.0.1","typescript":"~6.0.2","@types/jest":"^30.0.0","@types/node":"^25.5.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.58.0","@typescript-eslint/eslint-plugin":"^8.58.0"},"_npmOperationalInternal":{"tmp":"tmp/js-admin-sdk_3.0.0_1779046094846_0.2978229972427964","host":"s3://npm-registry-packages-npm-production"}},"3.1.0":{"name":"@apito-io/js-admin-sdk","version":"3.1.0","keywords":["apito","sdk","graphql","api","javascript","typescript","headless-cms","backend"],"author":{"name":"Apito Team"},"license":"MIT","_id":"@apito-io/js-admin-sdk@3.1.0","maintainers":[{"name":"sh0umik","email":"fahim.shoumik@gmail.com"}],"homepage":"https://docs.apito.io","bugs":{"url":"https://github.com/apito-io/js-admin-sdk/issues"},"dist":{"shasum":"8285290fd46c1e35c4fbc739fbc64a3942907e7f","tarball":"https://registry.npmjs.org/@apito-io/js-admin-sdk/-/js-admin-sdk-3.1.0.tgz","fileCount":15,"integrity":"sha512-cC6qfGViOQ92fI5de+6yotBB497QGSMx3xkYCnRu7ViRlfn+MaPl/M5C1eAYC//jeYQlAT/BWwffxcChdjjRng==","signatures":[{"sig":"MEYCIQDAiNgwxYmjBNJvMqxsM3e6gxRvpyDjEcJAiuMXRsZ1wQIhAI6SxPqQbv/gEC8ixbCWKsL08nS7IeJGY5h3C74vGB5q","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":232531},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"763165f7b74b37c88c517b0cd4ff7a9f5f62fe59","scripts":{"lint":"eslint src --ext .ts","size":"size-limit","test":"jest --passWithNoTests","build":"tsup","start":"tsup --watch","analyze":"size-limit --why","prepare":"tsup"},"_npmUser":{"name":"sh0umik","email":"fahim.shoumik@gmail.com"},"repository":{"url":"git+https://github.com/apito-io/js-admin-sdk.git","type":"git"},"size-limit":[{"path":"dist/index.js","limit":"50 KB"},{"path":"dist/index.mjs","limit":"50 KB"}],"_npmVersion":"10.9.7","description":"Admin JavaScript SDK for Apito GraphQL API (mirrors go-internal-sdk)","directories":{},"_nodeVersion":"22.22.2","dependencies":{"axios":"^1.14.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.3.0","tsup":"^8.5.1","eslint":"^10.1.0","ts-jest":"^29.4.9","prettier":"^3.8.1","size-limit":"^12.0.1","typescript":"~6.0.2","@types/jest":"^30.0.0","@types/node":"^25.5.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.58.0","@typescript-eslint/eslint-plugin":"^8.58.0"},"_npmOperationalInternal":{"tmp":"tmp/js-admin-sdk_3.1.0_1779046827974_0.6114969787425795","host":"s3://npm-registry-packages-npm-production"}},"3.2.0":{"name":"@apito-io/js-admin-sdk","version":"3.2.0","keywords":["apito","sdk","graphql","api","javascript","typescript","headless-cms","backend"],"author":{"name":"Apito Team"},"license":"MIT","_id":"@apito-io/js-admin-sdk@3.2.0","maintainers":[{"name":"sh0umik","email":"fahim.shoumik@gmail.com"}],"homepage":"https://docs.apito.io","bugs":{"url":"https://github.com/apito-io/js-admin-sdk/issues"},"dist":{"shasum":"46f2e44c6d589457c866bdf541df09962d9409da","tarball":"https://registry.npmjs.org/@apito-io/js-admin-sdk/-/js-admin-sdk-3.2.0.tgz","fileCount":14,"integrity":"sha512-RZqGyS4xyR6G82qoB5zAniXm4kpP2hHNhwf4ilTpwssSVPteN+gpN1J4XQoA3pGTe6eX7kgmveVu51vgaouIXQ==","signatures":[{"sig":"MEYCIQDCBfmTUh75fSZ+qPsWeJf0/eUa9tIKekHXFdcZhTPwewIhANK/h+qriPCibIaKUzLHTV4+Wk3KkxV0oLe4ygwEde4Y","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":443046},"main":"./dist/index.mjs","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","worker":"./dist/index.mjs","browser":"./dist/index.mjs","default":"./dist/index.mjs","require":"./dist/index.js","workerd":"./dist/index.mjs"}},"gitHead":"d70a44aba703cc4c735a9a0f5e455db6ec5f1145","scripts":{"lint":"eslint src --ext .ts","size":"size-limit","test":"jest --passWithNoTests","build":"tsup && cp dist/index.d.mts dist/index.d.ts","start":"tsup --watch","analyze":"size-limit --why","prepare":"tsup"},"_npmUser":{"name":"sh0umik","email":"fahim.shoumik@gmail.com"},"repository":{"url":"git+https://github.com/apito-io/js-admin-sdk.git","type":"git"},"size-limit":[{"path":"dist/index.js","limit":"50 KB"},{"path":"dist/index.mjs","limit":"120 KB"}],"_npmVersion":"10.9.7","description":"Admin JavaScript SDK for Apito GraphQL API (mirrors go-internal-sdk)","directories":{},"_nodeVersion":"22.22.2","dependencies":{"axios":"^1.14.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.3.0","tsup":"^8.5.1","eslint":"^10.1.0","ts-jest":"^29.4.9","prettier":"^3.8.1","size-limit":"^12.0.1","typescript":"~6.0.2","@types/jest":"^30.0.0","@types/node":"^25.5.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.58.0","@typescript-eslint/eslint-plugin":"^8.58.0"},"_npmOperationalInternal":{"tmp":"tmp/js-admin-sdk_3.2.0_1779089378354_0.5367085114719581","host":"s3://npm-registry-packages-npm-production"}},"3.3.0":{"name":"@apito-io/js-admin-sdk","version":"3.3.0","keywords":["apito","sdk","graphql","api","javascript","typescript","headless-cms","backend"],"author":{"name":"Apito Team"},"license":"MIT","_id":"@apito-io/js-admin-sdk@3.3.0","maintainers":[{"name":"sh0umik","email":"fahim.shoumik@gmail.com"}],"homepage":"https://docs.apito.io","bugs":{"url":"https://github.com/apito-io/js-admin-sdk/issues"},"dist":{"shasum":"c69b6f8c171f8a1a10f8c4e990cf409baec6e492","tarball":"https://registry.npmjs.org/@apito-io/js-admin-sdk/-/js-admin-sdk-3.3.0.tgz","fileCount":15,"integrity":"sha512-X5LDdAScLVv+D7E1kU8YYiAxCijaGnElJ2jUlK5UPCXJqeC5K7NWuaEijjjEzzZHev9FCPdwKAvdOmFcI/LTQw==","signatures":[{"sig":"MEYCIQC5Vfbn6+dG82Tm7jmXAm2+O5Z3VwKyAxc7KUdY77wodAIhANGw+Vsij1QJE0quh/qhI+QGkAk1PkCb4MaDJ/g5ebYD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":446752},"main":"./dist/index.mjs","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","worker":"./dist/index.mjs","browser":"./dist/index.mjs","default":"./dist/index.mjs","require":"./dist/index.js","workerd":"./dist/index.mjs"}},"gitHead":"58a23316a0fab0797ac8c9fc0608d4928c345684","scripts":{"lint":"eslint src --ext .ts","size":"size-limit","test":"jest --passWithNoTests","build":"tsup && cp dist/index.d.mts dist/index.d.ts","start":"tsup --watch","analyze":"size-limit --why","prepare":"tsup"},"_npmUser":{"name":"sh0umik","email":"fahim.shoumik@gmail.com"},"repository":{"url":"git+https://github.com/apito-io/js-admin-sdk.git","type":"git"},"size-limit":[{"path":"dist/index.js","limit":"50 KB"},{"path":"dist/index.mjs","limit":"120 KB"}],"_npmVersion":"10.9.8","description":"Admin JavaScript SDK for Apito GraphQL API (mirrors go-internal-sdk)","directories":{},"_nodeVersion":"22.22.3","dependencies":{"axios":"^1.14.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.3.0","tsup":"^8.5.1","eslint":"^10.1.0","ts-jest":"^29.4.9","prettier":"^3.8.1","size-limit":"^12.0.1","typescript":"~6.0.2","@types/jest":"^30.0.0","@types/node":"^25.5.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@typescript-eslint/parser":"^8.58.0","@typescript-eslint/eslint-plugin":"^8.58.0"},"_npmOperationalInternal":{"tmp":"tmp/js-admin-sdk_3.3.0_1779987257099_0.30955601729582183","host":"s3://npm-registry-packages-npm-production"}},"3.5.0":{"name":"@apito-io/js-admin-sdk","version":"3.5.0","description":"Admin JavaScript SDK for Apito GraphQL API (mirrors go-internal-sdk)","main":"./dist/index.mjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","workerd":"./dist/index.mjs","worker":"./dist/index.mjs","browser":"./dist/index.mjs","import":"./dist/index.mjs","require":"./dist/index.js","default":"./dist/index.mjs"}},"engines":{"node":">=18"},"scripts":{"start":"tsup --watch","build":"tsup && cp dist/index.d.mts dist/index.d.ts","test":"jest --passWithNoTests","lint":"eslint src --ext .ts","prepare":"tsup","size":"size-limit","analyze":"size-limit --why","gen:operations":"tsx scripts/gen-operations.ts","gen:types":"graphql-codegen --config codegen.ts","gen":"npm run gen:operations && npm run gen:types"},"peerDependencies":{"@tanstack/react-query":"^5.0.0"},"peerDependenciesMeta":{"@tanstack/react-query":{"optional":true}},"keywords":["apito","sdk","graphql","api","javascript","typescript","headless-cms","backend"],"author":{"name":"Apito Team"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/apito-io/js-admin-sdk.git"},"bugs":{"url":"https://github.com/apito-io/js-admin-sdk/issues"},"homepage":"https://docs.apito.io","dependencies":{"axios":"^1.14.0"},"devDependencies":{"@graphql-codegen/cli":"^5.0.7","@graphql-codegen/typescript":"^4.1.6","@graphql-codegen/typescript-generic-sdk":"^4.0.3","@graphql-codegen/typescript-operations":"^4.6.1","@graphql-codegen/typescript-react-query":"^6.1.1","@tanstack/react-query":"^5.90.2","@types/jest":"^30.0.0","@types/node":"^25.5.0","@typescript-eslint/eslint-plugin":"^8.58.0","@typescript-eslint/parser":"^8.58.0","eslint":"^10.1.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","jest":"^30.3.0","prettier":"^3.8.1","size-limit":"^12.0.1","ts-jest":"^29.4.9","tsup":"^8.5.1","tsx":"^4.20.5","typescript":"~6.0.2","inflection":"^3.0.0"},"size-limit":[{"path":"dist/index.js","limit":"50 KB"},{"path":"dist/index.mjs","limit":"120 KB"}],"publishConfig":{"access":"public"},"_id":"@apito-io/js-admin-sdk@3.5.0","gitHead":"bde70c53cf14737b69f9ed2004f2bf249b0e782d","_nodeVersion":"22.22.3","_npmVersion":"10.9.8","dist":{"integrity":"sha512-L6boHwWeOz1OGNyQSvNoENELSbKueH+oqAABo8O3fkxdXElSgZ9jDi6vtsuTxGkYBUI+QKpUqJwI8J6zr5tnzg==","shasum":"0061df38fd9d8dbb69d703bd8dbe8efdb5eea4ec","tarball":"https://registry.npmjs.org/@apito-io/js-admin-sdk/-/js-admin-sdk-3.5.0.tgz","fileCount":25,"unpackedSize":695320,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDjq2TDXn3hbLtFHXm7jpVOtuYXMt1KYoLx6gp1cPe5SgIhALeOJXTO6GSf4+H229aKWL8mnB9eAgni0s+7/6Re4AVb"}]},"_npmUser":{"name":"sh0umik","email":"fahim.shoumik@gmail.com"},"directories":{},"maintainers":[{"name":"sh0umik","email":"fahim.shoumik@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/js-admin-sdk_3.5.0_1780850005276_0.7661750547463764"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-02T05:03:33.702Z","modified":"2026-06-07T16:33:25.630Z","2.0.0":"2026-04-02T05:03:33.931Z","2.1.1":"2026-04-03T04:41:22.418Z","2.1.2":"2026-04-18T09:11:31.950Z","2.5.0":"2026-05-12T20:03:07.535Z","2.7.0":"2026-05-15T19:42:57.101Z","3.0.0":"2026-05-17T19:28:15.000Z","3.1.0":"2026-05-17T19:40:28.136Z","3.2.0":"2026-05-18T07:29:38.511Z","3.3.0":"2026-05-28T16:54:17.276Z","3.5.0":"2026-06-07T16:33:25.514Z"},"bugs":{"url":"https://github.com/apito-io/js-admin-sdk/issues"},"author":{"name":"Apito Team"},"license":"MIT","homepage":"https://docs.apito.io","keywords":["apito","sdk","graphql","api","javascript","typescript","headless-cms","backend"],"repository":{"type":"git","url":"git+https://github.com/apito-io/js-admin-sdk.git"},"description":"Admin JavaScript SDK for Apito GraphQL API (mirrors go-internal-sdk)","maintainers":[{"name":"sh0umik","email":"fahim.shoumik@gmail.com"}],"readme":"# Apito Admin JavaScript SDK\n\n[![npm version](https://badge.fury.io/js/%40apito-io%2Fjs-admin-sdk.svg)](https://badge.fury.io/js/%40apito-io%2Fjs-admin-sdk)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\nA comprehensive JavaScript SDK for communicating with Apito GraphQL API endpoints. This SDK provides both type-safe and flexible interfaces for interacting with Apito's backend services.\n\n## 🚀 Features\n\n- ✅ **Complete SDK Implementation**: Full implementation matching the Go SDK\n- ✅ **Type-Safe Operations**: Generic typed methods for better development experience\n- ✅ **GraphQL-Based**: Native GraphQL communication with Apito backend\n- ✅ **Authentication Ready**: API key and tenant-based authentication\n- ✅ **Promise-Based**: Modern async/await support\n- ✅ **Comprehensive Error Handling**: Detailed error responses and GraphQL error support\n- ✅ **Plugin-Ready**: Perfect for Node.js applications and microservices\n- ✅ **Production Ready**: Battle-tested patterns and error handling\n\n## 📦 Installation\n\n```bash\nnpm install @apito-io/js-admin-sdk\n```\n\nor\n\n```bash\nyarn add @apito-io/js-admin-sdk\n```\n\n### Astro / Cloudflare Workers\n\nAPI routes and middleware run in **workerd**, which has no Node `require`. Use the SDK as **ESM only**:\n\n```typescript\nimport { ApitoClient } from '@apito-io/js-admin-sdk';\n```\n\nFrom **v3.2.0**, `dist/index.mjs` bundles axios for browser/worker runtimes so you do not pull axios’s Node CJS build (`require is not defined`).\n\n**Tips if a bundler still resolves the wrong build:**\n\n- Do **not** add `@apito-io/js-admin-sdk` to `vite.ssr.noExternal` (that can force the CJS entry).\n- Optional Vite aliases in `astro.config.mjs`:\n\n```javascript\nimport path from 'node:path';\n\nexport default defineConfig({\n  vite: {\n    resolve: {\n      alias: {\n        '@apito-io/js-admin-sdk': path.resolve(\n          'node_modules/@apito-io/js-admin-sdk/dist/index.mjs'\n        ),\n      },\n    },\n    optimizeDeps: { exclude: ['@apito-io/js-admin-sdk'] },\n  },\n});\n```\n\nNode scripts can still use `require('@apito-io/js-admin-sdk')` (CJS build, axios as peer dependency).\n\n## 🎯 Quick Start\n\n```javascript\nimport { ApitoClient } from '@apito-io/js-admin-sdk';\n\n// Create a new client\nconst client = new ApitoClient({\n  baseURL: 'https://api.apito.io/graphql',\n  apiKey: 'your-api-key-here',\n  timeout: 30000,\n});\n\n// Create a new todo\nasync function createTodo() {\n  const todoData = {\n    title: 'Learn Apito SDK',\n    description: 'Complete the SDK tutorial',\n    status: 'todo',\n    priority: 'high',\n  };\n\n  const request = {\n    model: 'todos',\n    payload: todoData,\n  };\n\n  const todo = await client.createNewResource(request);\n  console.log('Created todo:', todo.id);\n}\n```\n\n## 📚 API Reference\n\n### Client Configuration\n\n```javascript\nconst client = new ApitoClient({\n  baseURL: 'https://api.apito.io/graphql',  // Your Apito GraphQL endpoint\n  apiKey: 'your-api-key-here',             // X-APITO-KEY header value\n  timeout: 30000,                          // Request timeout in milliseconds\n  tenantId: 'your-tenant-id',              // Optional tenant ID\n  httpClient: {                            // Optional axios configuration\n    maxRedirects: 5,\n    // ... other axios config\n  },\n});\n```\n\n### Core Methods\n\n#### `getSingleResource(model, id, singlePageData?)`\nGet a single resource by model and ID.\n\n```javascript\nconst todo = await client.getSingleResource('todos', '123');\nconsole.log(todo.data.title);\n```\n\n#### `searchResources(model, filter?, aggregate?)`\nSearch resources in a model with filtering. Only these `filter` fields are sent to GraphQL (same as the Go internal SDK): `_key`, `page`, `limit`, `where`, `search`. The `aggregate` argument is reserved for a future schema option and is not sent today.\n\n```javascript\nconst results = await client.searchResources('todos', {\n  where: { status: 'todo' },\n  limit: 10,\n  page: 1,\n});\nconsole.log(`Found ${results.count} todos`);\n```\n\n#### `createNewResource(request)`\nCreate a new resource.\n\n```javascript\nconst newTodo = await client.createNewResource({\n  model: 'todos',\n  payload: {\n    title: 'New Task',\n    status: 'todo',\n  },\n  connect: { user: 'user-123' }, // Optional relations\n});\n```\n\n#### `updateResource(request)`\nUpdate an existing resource.\n\n```javascript\nconst updatedTodo = await client.updateResource({\n  model: 'todos',\n  id: '123',\n  payload: {\n    status: 'completed',\n    completed_at: new Date().toISOString(),\n  },\n  connect: { tags: ['urgent'] }, // Add relations\n  disconnect: { tags: ['low-priority'] }, // Remove relations\n});\n```\n\n#### `deleteResource(model, id)`\nDelete a resource.\n\n```javascript\nawait client.deleteResource('todos', '123');\n```\n\n#### `getRelationDocuments(id, connection)`\nGet related documents.\n\n```javascript\nconst relatedUsers = await client.getRelationDocuments('todo-123', {\n  model: 'users',\n  field: 'assigned_to',\n});\n```\n\n### Project users (system GraphQL)\n\nThese calls use the admin client and system GraphQL endpoint. They mirror the Go SDK. Pass `projectId`; on Pro/SaaS engines each user may include `tenant_id`.\n\n| Method | Description |\n|--------|-------------|\n| `searchUsers(projectId, limit?, offset?)` | List project end-users (`email`, `phone`, optional `tenant_id`). |\n| `searchTenantsByDomain(projectId, domain)` | Exact domain lookup in project scope; returns `{ tenant }` (null if no match). |\n| `createUser(projectId, params)` | Create a local-password user; `params`: `{ password, role?, email?, phone? }`. |\n| `loginUser(params)` | General: `{ projectId, password, email? or phone? }`. Google OAuth: **`googleOAuthState(projectId)`** then **`loginUser({ projectId, authMethod: 'google', code, state })`**. Native mobile: **`loginUser({ projectId, authMethod: 'google_id_token', idToken })`**. |\n| `googleOAuthState(projectId)` | Returns **`{ state }`** for the Google authorize URL. |\n| `updateUser(userId, params)` | Mutate `email`, `phone`, and/or `role` only. |\n| `resetUserPassword(userId, password)` | Admin password reset. |\n| `deleteUser(userId)` | Remove a project user. |\n\n### Files (REST)\n\nREST base is derived from `baseURL` by stripping `/graphql` (when GraphQL is `/system/graphql`, defaults to **`/secured`**), or set `restBaseURL` explicitly (e.g. `http://host:5050/secured`).\n\nFile **metadata** is stored in the **project database** `files` table (not the system DB). On Pro/SaaS engines, pass `tenantId` on the client or `X-Apito-Tenant-ID` so list/upload/delete target the tenant project DB. Default `restBaseURL` resolves to `/secured` when GraphQL uses `/system/graphql`; full URLs are `/secured/files/upload`, `/secured/files/list`, and `/secured/files/delete`.\n\n| Method | Description |\n|--------|-------------|\n| `uploadFile(params)` | POST `/files/upload` (multipart). |\n| `listFiles(fileType?, limit?, offset?)` | GET `/files/list`. |\n| `deleteFiles(ids)` | POST `/files/delete`. |\n\nPath constants: `FILES_UPLOAD_PATH`, `FILES_LIST_PATH`, `FILES_DELETE_PATH`.\n\nOn the engine system GraphQL API, `createTenant` accepts an optional `domain`; when set, the domain must be unused in the project (otherwise the mutation fails). `updateTenant` enforces the same when setting `domain` to a non-empty value. Call those mutations via `executeGraphQL` if needed.\n\n```javascript\nconst projectId = 'your-project-id';\n\nconst { users, count } = await client.searchUsers(projectId, 50, 0);\nconsole.log(\n  'users:',\n  count,\n  users.map((u) => u.email || u.phone || u.id),\n);\n\nconst login = await client.loginUser({\n  projectId,\n  password: 'your-password',\n  email: 'user@example.com', // use phone: '+15551234567' when project is phone mode\n});\nif (login.token) {\n  console.log('tenant-scoped token:', login.token);\n}\n```\n\nRunnable samples: `examples/users`, `examples/files` (set `APITO_BASE_URL`, `APITO_API_KEY`, `APITO_PROJECT_ID`).\n\n### Typed Operations\n\nFor type-safe operations, use the `TypedOperations` class:\n\n```javascript\nimport { TypedOperations } from '@apito-io/js-admin-sdk';\n\nconst typed = new TypedOperations(client);\n\n// Define your types\ninterface Todo {\n  id: string;\n  title: string;\n  description: string;\n  status: 'todo' | 'in_progress' | 'completed';\n  priority: 'low' | 'medium' | 'high';\n}\n\n// Type-safe operations\nconst typedTodo = await typed.createNewResourceTyped<Todo>({\n  model: 'todos',\n  payload: {\n    title: 'Type-safe todo',\n    status: 'todo',\n    priority: 'high',\n  },\n});\n\n// TypeScript will infer the correct type\nconsole.log(typedTodo.data.title); // string\nconsole.log(typedTodo.data.status); // 'todo' | 'in_progress' | 'completed'\n```\n\n### Error Handling\n\nThe SDK provides comprehensive error handling:\n\n```javascript\nimport { ApitoError, ValidationError, GraphQLError } from '@apito-io/js-admin-sdk';\n\ntry {\n  const result = await client.getSingleResource('todos', 'invalid-id');\n} catch (error) {\n  if (error instanceof ValidationError) {\n    console.error('Validation error:', error.message);\n  } else if (error instanceof GraphQLError) {\n    console.error('GraphQL error:', error.graphQLErrors);\n  } else if (error instanceof ApitoError) {\n    console.error('API error:', error.statusCode, error.message);\n  } else {\n    console.error('Unknown error:', error);\n  }\n}\n```\n\n### Environment Variables\n\nYou can configure the client using environment variables:\n\n```bash\n# Required\nAPITO_BASE_URL=https://api.apito.io/graphql\nAPITO_API_KEY=your-production-api-key\n\n# Optional\nAPITO_TENANT_ID=your-tenant-id\nAPITO_TIMEOUT=30000\n```\n\n```javascript\nimport { ApitoClient } from '@apito-io/js-admin-sdk';\n\nconst client = new ApitoClient({\n  baseURL: process.env.APITO_BASE_URL,\n  apiKey: process.env.APITO_API_KEY,\n  tenantId: process.env.APITO_TENANT_ID,\n  timeout: parseInt(process.env.APITO_TIMEOUT || '30000'),\n});\n```\n\n## 🧪 Examples\n\n### Basic CRUD Operations\n\n```javascript\nimport { ApitoClient } from '@apito-io/js-admin-sdk';\n\nconst client = new ApitoClient({\n  baseURL: 'https://api.apito.io/graphql',\n  apiKey: 'your-api-key',\n});\n\n// Create\nconst user = await client.createNewResource({\n  model: 'users',\n  payload: {\n    name: 'John Doe',\n    email: 'john@example.com',\n  },\n});\n\n// Read\nconst fetchedUser = await client.getSingleResource('users', user.id);\n\n// Update\nconst updatedUser = await client.updateResource({\n  model: 'users',\n  id: user.id,\n  payload: {\n    name: 'John Updated',\n  },\n});\n\n// Delete\nawait client.deleteResource('users', user.id);\n```\n\n### Advanced Filtering\n\n```javascript\n// Complex search with multiple filters\nconst results = await client.searchResources('products', {\n  where: {\n    AND: [\n      { price: { gte: 100 } },\n      { category: { in: ['electronics', 'books'] } },\n      { status: 'active' },\n    ],\n  },\n  search: 'laptop',\n  limit: 20,\n  page: 1,\n});\n```\n\n### Batch Operations\n\n```javascript\n// Create multiple records\nconst todos = [\n  { title: 'Task 1', status: 'todo' },\n  { title: 'Task 2', status: 'todo' },\n  { title: 'Task 3', status: 'todo' },\n];\n\nconst createdTodos = await Promise.all(\n  todos.map(todo => client.createNewResource({\n    model: 'todos',\n    payload: todo,\n  }))\n);\n```\n\n## Parity with the Go internal SDK\n\nThis client mirrors the Go `go-internal-sdk` package and the `InternalSDKOperation` interface from `github.com/apito-io/types`.\n\n- **Tenant header:** In Go, set `context.WithValue(ctx, \"tenant_id\", id)` before calls. In JavaScript, set `tenantId` on `ClientConfig`, or pass `{ tenantId }` to `executeGraphQL` options where relevant.\n- **`generateTenantToken(tenantId, duration?, role?)`:** Matches engine `generateTenantToken` — `tenant_id`, `duration` (`YYYY-MM-DD`; omit for default one year ahead in UTC), optional `role` (omit for engine default `admin`). Sends `X-Apito-Tenant-ID` for the mutation. Auth uses the client `apiKey`.\n- **GraphQL errors:** The Go client returns `(response, err)` when the response includes `errors`. This SDK throws `GraphQLError` with `graphQLErrors` and the full payload on `response`; use `error.partialData` to read `data` when the server returns partial success.\n- **`searchResources` filter:** Only `_key`, `page`, `limit`, `where`, and `search` are forwarded. Extra keys are ignored so unknown GraphQL variables cannot break the request.\n- **`TypedOperations`:** `data` is deep-cloned via `JSON.parse(JSON.stringify(...))`, matching the Go SDK’s marshal/unmarshal approach for typed document `data`.\n\n## 🏗️ Development\n\n### GraphQL codegen (v3.4.0+)\n\nThe SDK can emit **per-model GraphQL documents** and **TanStack Query v5 hooks** from a checked-in engine introspection snapshot.\n\n```bash\n# 1. Refresh schema/apito_introspection.json from your engine (introspection query + X-Apito-Key)\n# 2. Regenerate operations + types\nnpm run gen          # gen:operations + gen:types\n# or separately:\nnpm run gen:operations   # → codegen/operations/*.graphql, codegen/schema.graphql\nnpm run gen:types        # → src/generated/types.ts, sdk.ts, hooks.ts\n```\n\n**Exports:** `getSdk`, `createApitoFetcher`, `useApitoFetcher`, generated hooks, and naming helpers (`apitoGraphQLComposedTypeName`, `DocumentBuilder`, …) from the package root.\n\n**Optional peer:** `@tanstack/react-query` ^5 (for generated hooks only; core `ApitoClient` does not require React).\n\nSee [CONTRACT.md](CONTRACT.md) for the cross-SDK naming/operation contract shared with Flutter and Go admin SDKs.\n\n### Building from Source\n\n```bash\ngit clone https://github.com/apito-io/js-admin-sdk.git\ncd js-admin-sdk\nnpm install\nnpm run build\n```\n\n### Running Tests\n\n```bash\nnpm test\n```\n\n### Running Examples\n\n```bash\ncd examples/basic\nnpm install\nnpm start\n```\n\nPro tenant-user listing (optional `APITO_TENANT_EMAIL` / `APITO_TENANT_PHONE` + `APITO_TENANT_PASSWORD` for login):\n\n```bash\ncd examples/users\nnpm install\nAPITO_BASE_URL=http://localhost:5050/system/graphql APITO_API_KEY=... APITO_PROJECT_ID=... npm start\n```\n\n## 📄 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## 🔗 Links\n\n- [Apito Documentation](https://docs.apito.io)\n- [npm Package](https://www.npmjs.com/package/@apito-io/js-admin-sdk)\n- [GitHub Repository](https://github.com/apito-io/js-admin-sdk)\n- [Issues](https://github.com/apito-io/js-admin-sdk/issues)\n\n## 🆘 Support\n\n- 📧 Email: support@apito.io\n- 💬 Discord: [Join our community](https://discord.gg/apito)\n- 📖 Documentation: [docs.apito.io](https://docs.apito.io)\n- 🐛 Bug Reports: [GitHub Issues](https://github.com/apito-io/js-admin-sdk/issues)\n","readmeFilename":"README.md"}