{"_id":"@absolutejs/sync-capacitor","_rev":"12-da480969828595fb20105d4e41ca4bec","name":"@absolutejs/sync-capacitor","dist-tags":{"latest":"0.9.2"},"versions":{"0.1.0":{"name":"@absolutejs/sync-capacitor","version":"0.1.0","keywords":["absolutejs","sync","capacitor","sqlite","offline","mobile"],"author":{"name":"Alex Kahn"},"license":"Apache-2.0","_id":"@absolutejs/sync-capacitor@0.1.0","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"homepage":"https://github.com/absolutejs/sync-adapters/tree/main/capacitor","bugs":{"url":"https://github.com/absolutejs/sync-adapters/issues"},"dist":{"shasum":"0562a166f3ae9fe5417e3f5df837c7d4e4400526","tarball":"https://registry.npmjs.org/@absolutejs/sync-capacitor/-/sync-capacitor-0.1.0.tgz","fileCount":6,"integrity":"sha512-GsabxhRXD3rMHHVVjbQEyngHtLl6oYAbYvyULgz2Ap6GsSipKK23wPaS1GZ+1N1mc6y33BBAMw3PwglU99r53w==","signatures":[{"sig":"MEYCIQDwO/xT0rQH99b0PCp0BBJPpr1Nqd/kAuyfLov90JbPKQIhANF5/bAJVGUH277Y9B7qOnPqtQPz77F4MxgBXfqoZpoZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":38779},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"3c9a1e4a24a26dd45402d6f4be9b314aa3491574","scripts":{"test":"bun test","build":"rm -rf dist && bun build src/index.ts --outdir dist --sourcemap --target=browser --external @absolutejs/sync --external @absolutejs/devices --external @capacitor-community/sqlite && tsc --project tsconfig.build.json","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run typecheck && bun test && bun run build && npm publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"repository":{"url":"git+https://github.com/absolutejs/sync-adapters.git","type":"git","directory":"capacitor"},"_npmVersion":"10.9.2","description":"Transactional Capacitor SQLite local store and native lifecycle adapter for @absolutejs/sync","directories":{},"_nodeVersion":"22.14.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"3.5.3","@types/bun":"1.3.14","typescript":"5.9.3","@absolutejs/sync":"2.20.0","@absolutejs/devices":"0.0.2","@capacitor-community/sqlite":"8.1.1"},"peerDependencies":{"@absolutejs/sync":">=2.20.0 <3","@absolutejs/devices":">=0.0.2 <0.1.0","@capacitor-community/sqlite":">=8.1.1 <9"},"_npmOperationalInternal":{"tmp":"tmp/sync-capacitor_0.1.0_1787635576143_0.8283640461744632","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@absolutejs/sync-capacitor","version":"0.2.0","keywords":["absolutejs","sync","capacitor","sqlite","offline","mobile"],"author":"Alex Kahn","license":"Apache-2.0","_id":"@absolutejs/sync-capacitor@0.2.0","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"homepage":"https://github.com/absolutejs/sync-adapters/tree/main/capacitor","bugs":{"url":"https://github.com/absolutejs/sync-adapters/issues"},"dist":{"shasum":"50a2a2fcb59cd64d2e8e7ba09341954888142d82","tarball":"https://registry.npmjs.org/@absolutejs/sync-capacitor/-/sync-capacitor-0.2.0.tgz","fileCount":6,"integrity":"sha512-iouRGpxhTyDIt9QLirb/S+zdcdjX1vjlJV6DQXmy53p01ubFLVdZEeIxScLIGsDIwfcKtpXW9EZhzoDm4xxGyA==","signatures":[{"sig":"MEQCIEc0L7RK7qmC2eB/nam+qoPBsuD9M5bZAJftAiX3Ub4aAiA1ttvoptqe1LTHgCmCmz7B1EESbauUYUrDULr7Zp2qbg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":40497},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"50a2a2fcb59cd64d2e8e7ba09341954888142d82","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"test":"bun test","build":"rm -rf dist && bun build src/index.ts --outdir dist --sourcemap --target=browser --external @absolutejs/sync --external @absolutejs/devices --external @capacitor-community/sqlite && tsc --project tsconfig.build.json","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run typecheck && bun test && bun run build && npm publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"_integrity":"sha512-iouRGpxhTyDIt9QLirb/S+zdcdjX1vjlJV6DQXmy53p01ubFLVdZEeIxScLIGsDIwfcKtpXW9EZhzoDm4xxGyA==","repository":{"url":"https://github.com/absolutejs/sync-adapters.git","type":"git","directory":"capacitor"},"_npmVersion":"10.8.3","description":"Transactional Capacitor SQLite local store and native lifecycle adapter for @absolutejs/sync","directories":{},"_nodeVersion":"24.3.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"3.5.3","@types/bun":"1.3.14","typescript":"5.9.3","@absolutejs/sync":"2.22.0","@absolutejs/devices":"0.0.2","@capacitor-community/sqlite":"8.1.1"},"peerDependencies":{"@absolutejs/sync":">=2.22.0 <3","@absolutejs/devices":">=0.0.2 <0.1.0","@capacitor-community/sqlite":">=8.1.1 <9"},"_npmOperationalInternal":{"tmp":"tmp/sync-capacitor_0.2.0_1787641760989_0.47762921739539466","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@absolutejs/sync-capacitor","version":"0.3.0","keywords":["absolutejs","sync","capacitor","sqlite","offline","mobile"],"author":"Alex Kahn","license":"Apache-2.0","_id":"@absolutejs/sync-capacitor@0.3.0","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"homepage":"https://github.com/absolutejs/sync-adapters/tree/main/capacitor","bugs":{"url":"https://github.com/absolutejs/sync-adapters/issues"},"dist":{"shasum":"a3d77e6b746ed3ae45bb8659feb1c2ca2e9c1f13","tarball":"https://registry.npmjs.org/@absolutejs/sync-capacitor/-/sync-capacitor-0.3.0.tgz","fileCount":16,"integrity":"sha512-cQwYKj40txOJSWpuTKj7abPCXya671u2vwFNBfzTIPKwGXkSE1nGhbUBxa0LLlL5Pl8wf9oyAphZwuOZDFE7ZQ==","signatures":[{"sig":"MEUCIQDaWxDXL/5Woin8O/KyxtH2KhSHekaR96q3FPVOSbHjdAIgSAjSG2jvSXToXYsWH/OijQcptiRBZImu/QoOU0baDtk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":92291},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"a3d77e6b746ed3ae45bb8659feb1c2ca2e9c1f13","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"test":"bun test","build":"rm -rf dist && bun build src/index.ts --outdir dist --sourcemap --target=browser --external @absolutejs/sync --external @absolutejs/devices --external @capacitor/core --external @capacitor-community/sqlite && tsc --project tsconfig.build.json","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run typecheck && bun test && bun run build && npm publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"_integrity":"sha512-cQwYKj40txOJSWpuTKj7abPCXya671u2vwFNBfzTIPKwGXkSE1nGhbUBxa0LLlL5Pl8wf9oyAphZwuOZDFE7ZQ==","repository":{"url":"https://github.com/absolutejs/sync-adapters.git","type":"git","directory":"capacitor"},"_npmVersion":"10.8.3","description":"Transactional Capacitor SQLite local store and native lifecycle adapter for @absolutejs/sync","directories":{},"_nodeVersion":"24.3.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"3.5.3","@types/bun":"1.3.14","typescript":"5.9.3","@capacitor/core":"8.5.0","@absolutejs/sync":"2.23.0","@absolutejs/devices":"0.0.3","@capacitor-community/sqlite":"8.1.1","@absolutejs/devices-capacitor":"0.1.3"},"peerDependencies":{"@capacitor/core":">=8 <9","@absolutejs/sync":">=2.23.0 <3","@absolutejs/devices":">=0.0.3 <0.1.0","@capacitor-community/sqlite":">=8.1.1 <9","@absolutejs/devices-capacitor":">=0.1.3 <0.2.0"},"_npmOperationalInternal":{"tmp":"tmp/sync-capacitor_0.3.0_1787679324857_0.9994198359043567","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@absolutejs/sync-capacitor","version":"0.4.0","keywords":["absolutejs","sync","capacitor","sqlite","offline","mobile"],"author":"Alex Kahn","license":"Apache-2.0","_id":"@absolutejs/sync-capacitor@0.4.0","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"homepage":"https://github.com/absolutejs/sync-adapters/tree/main/capacitor","bugs":{"url":"https://github.com/absolutejs/sync-adapters/issues"},"dist":{"shasum":"b8ab8a1f07fee83c40441393dd1c01cdcd5af96a","tarball":"https://registry.npmjs.org/@absolutejs/sync-capacitor/-/sync-capacitor-0.4.0.tgz","fileCount":16,"integrity":"sha512-/f9Zs8dN31OR7JiKA8VanRm19KMFaCh6fSl7voUfKytqkUdN89sYnLUUEndO5vKhl1iiLh2tzvRkZQCe4cdi7w==","signatures":[{"sig":"MEYCIQDbtmEAM0PoRt3vZrfsYIzEJHOSR5IBzDcuktUYEieKMwIhANbWmZf239jSG/zNHAHbIrplFwe4d5A7IicQpYaymHf3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":94198},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"b8ab8a1f07fee83c40441393dd1c01cdcd5af96a","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"test":"bun test","build":"rm -rf dist && bun build src/index.ts --outdir dist --sourcemap --target=browser --external @absolutejs/sync --external @absolutejs/devices --external @capacitor/core --external @capacitor-community/sqlite && tsc --project tsconfig.build.json","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run typecheck && bun test && bun run build && npm publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"_integrity":"sha512-/f9Zs8dN31OR7JiKA8VanRm19KMFaCh6fSl7voUfKytqkUdN89sYnLUUEndO5vKhl1iiLh2tzvRkZQCe4cdi7w==","repository":{"url":"https://github.com/absolutejs/sync-adapters.git","type":"git","directory":"capacitor"},"_npmVersion":"10.8.3","description":"Transactional Capacitor SQLite local store and native lifecycle adapter for @absolutejs/sync","directories":{},"_nodeVersion":"24.3.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"3.5.3","@types/bun":"1.3.14","typescript":"5.9.3","@capacitor/core":"8.5.0","@absolutejs/sync":"2.24.0","@absolutejs/devices":"0.0.3","@capacitor-community/sqlite":"8.1.1","@absolutejs/devices-capacitor":"0.1.3"},"peerDependencies":{"@capacitor/core":">=8 <9","@absolutejs/sync":">=2.24.0 <3","@absolutejs/devices":">=0.0.3 <0.1.0","@capacitor-community/sqlite":">=8.1.1 <9","@absolutejs/devices-capacitor":">=0.1.3 <0.2.0"},"_npmOperationalInternal":{"tmp":"tmp/sync-capacitor_0.4.0_1787685312789_0.3774133891651381","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@absolutejs/sync-capacitor","version":"0.5.0","keywords":["absolutejs","sync","capacitor","sqlite","offline","mobile"],"author":{"name":"Alex Kahn"},"license":"Apache-2.0","_id":"@absolutejs/sync-capacitor@0.5.0","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"homepage":"https://github.com/absolutejs/sync-adapters/tree/main/capacitor","bugs":{"url":"https://github.com/absolutejs/sync-adapters/issues"},"dist":{"shasum":"78fceb08858a9513e08e7dd7cead90950eaa34f7","tarball":"https://registry.npmjs.org/@absolutejs/sync-capacitor/-/sync-capacitor-0.5.0.tgz","fileCount":16,"integrity":"sha512-/kADmbA3P2bpMe8gYmT6kXGITzYkQ8IlaPEgIMN9WaehyI2uj6dY2bZDW6oRRR9d0cp2zHPwaXzKp9Ka2kckCg==","signatures":[{"sig":"MEUCIQDh5oDPCPHCaO1X0PPVm+qGScHM0g/SYC/jPRcPDt34SAIgKajoLgjNptegRE6nzEJLW9/unkJeL8TuQF0VIUb5Fo4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":107066},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"10002bc2f09dfedf9ec5b06de1d0353e50a3bad7","scripts":{"test":"bun test","build":"rm -rf dist && bun build src/index.ts --outdir dist --sourcemap --target=browser --external @absolutejs/sync --external @absolutejs/devices --external @capacitor/core --external @capacitor-community/sqlite && tsc --project tsconfig.build.json","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run typecheck && bun test && bun run build && npm publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"repository":{"url":"git+https://github.com/absolutejs/sync-adapters.git","type":"git","directory":"capacitor"},"_npmVersion":"10.9.2","description":"Transactional Capacitor SQLite local store and native lifecycle adapter for @absolutejs/sync","directories":{},"_nodeVersion":"22.14.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"3.5.3","@types/bun":"1.3.14","typescript":"5.9.3","@capacitor/core":"8.5.0","@absolutejs/sync":"2.25.0","@absolutejs/devices":"0.0.3","@capacitor-community/sqlite":"8.1.1","@absolutejs/devices-capacitor":"0.1.3"},"peerDependencies":{"@capacitor/core":">=8 <9","@absolutejs/sync":">=2.25.0 <3","@absolutejs/devices":">=0.0.3 <0.1.0","@capacitor-community/sqlite":">=8.1.1 <9","@absolutejs/devices-capacitor":">=0.1.3 <0.2.0"},"_npmOperationalInternal":{"tmp":"tmp/sync-capacitor_0.5.0_1787708216498_0.07639437380661929","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@absolutejs/sync-capacitor","version":"0.6.0","keywords":["absolutejs","sync","capacitor","sqlite","offline","mobile"],"author":{"name":"Alex Kahn"},"license":"Apache-2.0","_id":"@absolutejs/sync-capacitor@0.6.0","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"homepage":"https://github.com/absolutejs/sync-adapters/tree/main/capacitor","bugs":{"url":"https://github.com/absolutejs/sync-adapters/issues"},"dist":{"shasum":"8dc7d2a0b84642d4bb133b326bd0059297439d82","tarball":"https://registry.npmjs.org/@absolutejs/sync-capacitor/-/sync-capacitor-0.6.0.tgz","fileCount":16,"integrity":"sha512-qLCHBI6uYR3fG4yD8P7AU/GP4KDl0keDYt4IBOeDZhfN8KoeX65FFvx3I08LsLJMXH/HX/Pkqk4ICiGCnli9Gg==","signatures":[{"sig":"MEQCIEDTGiBcJOobKNpdFtz43ZCn/KGrAbjb2+TyG/vtg4RfAiA3xpJ8PjKZW5FoXJ2dXX1lH9UwFDm6CzV9NDsME1BK0A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":110449},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"4cf6c36e0838f86d57ec12cb25659743df20dd90","scripts":{"test":"bun test","build":"rm -rf dist && bun build src/index.ts --outdir dist --sourcemap --target=browser --external @absolutejs/sync --external @absolutejs/devices --external @capacitor/core --external @capacitor-community/sqlite && tsc --project tsconfig.build.json","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run typecheck && bun test && bun run build && npm publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"repository":{"url":"git+https://github.com/absolutejs/sync-adapters.git","type":"git","directory":"capacitor"},"_npmVersion":"10.9.2","description":"Transactional Capacitor SQLite local store and native lifecycle adapter for @absolutejs/sync","directories":{},"_nodeVersion":"22.14.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"3.5.3","@types/bun":"1.3.14","typescript":"5.9.3","@capacitor/core":"8.5.0","@absolutejs/sync":"2.26.0","@absolutejs/devices":"0.0.3","@capacitor-community/sqlite":"8.1.1","@absolutejs/devices-capacitor":"0.1.3"},"peerDependencies":{"@capacitor/core":">=8 <9","@absolutejs/sync":">=2.26.0 <3","@absolutejs/devices":">=0.0.3 <0.1.0","@capacitor-community/sqlite":">=8.1.1 <9","@absolutejs/devices-capacitor":">=0.1.3 <0.2.0"},"_npmOperationalInternal":{"tmp":"tmp/sync-capacitor_0.6.0_1787710889401_0.2610027441205045","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"@absolutejs/sync-capacitor","version":"0.6.1","keywords":["absolutejs","sync","capacitor","sqlite","offline","mobile"],"author":{"name":"Alex Kahn"},"license":"Apache-2.0","_id":"@absolutejs/sync-capacitor@0.6.1","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"homepage":"https://github.com/absolutejs/sync-adapters/tree/main/capacitor","bugs":{"url":"https://github.com/absolutejs/sync-adapters/issues"},"dist":{"shasum":"aa315cb4cf5afe9269f4cc3e5df8b39b22ad1320","tarball":"https://registry.npmjs.org/@absolutejs/sync-capacitor/-/sync-capacitor-0.6.1.tgz","fileCount":16,"integrity":"sha512-NC24hNGPbUfUL7LayBcUcr4/iIDTnm7hwjeTAYeLzfjzMZdloX/E59GK9evVIvoQF5HzgSbvu4/vpTvJpmMZvQ==","signatures":[{"sig":"MEQCIC4OOHRFzpa5KxmAb2pKLUHov9hcG6ZsNnkes8tvbHwOAiBibNyvI7Om+7YheD2Gz3hqgsUgVx89G4LSMA6i+i3HaQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":110449},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"bd83668cf817ab892e875c9343aaba642c8dcea3","scripts":{"test":"bun test","build":"rm -rf dist && bun build src/index.ts --outdir dist --sourcemap --target=browser --external @absolutejs/sync --external @absolutejs/devices --external @capacitor/core --external @capacitor-community/sqlite && tsc --project tsconfig.build.json","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run typecheck && bun test && bun run build && npm publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"repository":{"url":"git+https://github.com/absolutejs/sync-adapters.git","type":"git","directory":"capacitor"},"_npmVersion":"10.9.2","description":"Transactional Capacitor SQLite local store and native lifecycle adapter for @absolutejs/sync","directories":{},"_nodeVersion":"22.14.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"3.5.3","@types/bun":"1.3.14","typescript":"5.9.3","@capacitor/core":"8.5.0","@absolutejs/sync":"2.26.1","@absolutejs/devices":"0.0.3","@capacitor-community/sqlite":"8.1.1","@absolutejs/devices-capacitor":"0.1.3"},"peerDependencies":{"@capacitor/core":">=8 <9","@absolutejs/sync":">=2.26.1 <3","@absolutejs/devices":">=0.0.3 <0.1.0","@capacitor-community/sqlite":">=8.1.1 <9","@absolutejs/devices-capacitor":">=0.1.3 <0.2.0"},"_npmOperationalInternal":{"tmp":"tmp/sync-capacitor_0.6.1_1787711566429_0.5183675389240112","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@absolutejs/sync-capacitor","version":"0.7.0","keywords":["absolutejs","sync","capacitor","sqlite","offline","mobile"],"author":{"name":"Alex Kahn"},"license":"Apache-2.0","_id":"@absolutejs/sync-capacitor@0.7.0","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"homepage":"https://github.com/absolutejs/sync-adapters/tree/main/capacitor","bugs":{"url":"https://github.com/absolutejs/sync-adapters/issues"},"dist":{"shasum":"8186dc991b721adcc749a8070b1f137d7e46ee73","tarball":"https://registry.npmjs.org/@absolutejs/sync-capacitor/-/sync-capacitor-0.7.0.tgz","fileCount":16,"integrity":"sha512-SjKM0o0FR7h/yshkOueVIAOkF2l/8cX8HRIPqrCNhuHq+loZvnAuYmpviKT0MjzYo6lN+NXB0QGvkeGryvTuDg==","signatures":[{"sig":"MEYCIQDeCBZZVOA4FR9f1ChG33mUzYf3w3ylu6qLoPQu+yvLMQIhAJ0PtKDg+9KRhTl9LMnAaojvTNFaCtP12ab8edQakPBH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":296132},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"768b02ce7531c1aa12683796f233e91f3a01bd5f","scripts":{"test":"bun test","build":"rm -rf dist && bun build src/index.ts --outdir dist --sourcemap --target=browser --external @absolutejs/sync --external @absolutejs/devices --external @absolutejs/devices-capacitor --external @capacitor/core --external @capacitor-community/sqlite && tsc --project tsconfig.build.json","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run typecheck && bun test && bun run build && npm publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"repository":{"url":"git+https://github.com/absolutejs/sync-adapters.git","type":"git","directory":"capacitor"},"_npmVersion":"10.9.2","description":"Transactional Capacitor SQLite local store and native lifecycle adapter for @absolutejs/sync","directories":{},"_nodeVersion":"22.14.0","dependencies":{"@noble/ciphers":"^2.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"3.5.3","@types/bun":"1.3.14","typescript":"5.9.3","@capacitor/core":"8.5.0","@absolutejs/sync":"2.27.0","@absolutejs/devices":"0.0.3","@capacitor-community/sqlite":"8.1.1","@absolutejs/devices-capacitor":"0.1.3"},"peerDependencies":{"@capacitor/core":">=8 <9","@absolutejs/sync":">=2.27.0 <3","@absolutejs/devices":">=0.0.3 <0.1.0","@capacitor-community/sqlite":">=8.1.1 <9","@absolutejs/devices-capacitor":">=0.1.3 <0.2.0"},"_npmOperationalInternal":{"tmp":"tmp/sync-capacitor_0.7.0_1787718381931_0.1228963577604607","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@absolutejs/sync-capacitor","version":"0.8.0","keywords":["absolutejs","sync","capacitor","sqlite","offline","mobile"],"author":{"name":"Alex Kahn"},"license":"Apache-2.0","_id":"@absolutejs/sync-capacitor@0.8.0","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"homepage":"https://github.com/absolutejs/sync-adapters/tree/main/capacitor","bugs":{"url":"https://github.com/absolutejs/sync-adapters/issues"},"dist":{"shasum":"0d7e2ad488d9ad1386db68379b95ecf0d85aaf16","tarball":"https://registry.npmjs.org/@absolutejs/sync-capacitor/-/sync-capacitor-0.8.0.tgz","fileCount":16,"integrity":"sha512-AWueS8E4frQ2t+7Q4GQ2ynT7one2jc62qeObyZ0kSzkQ+N8pXL41PGv0TU3w2ad1wpdC5dpCXJoI9cQa+aGzgQ==","signatures":[{"sig":"MEYCIQDCfNnAD1iGnYYEz7zGpwXVDeIpLCiZCLuVZztcmfwEZAIhAPSJrSItxlTspTW7bw9uUoXqjoEQpmQxN9Z5gtb64Bd1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":298379},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"1032bcf0b0953ac111f97cb1180bc538ed4ed995","scripts":{"test":"bun test","build":"rm -rf dist && bun build src/index.ts --outdir dist --sourcemap --target=browser --external @absolutejs/sync --external @absolutejs/devices --external @absolutejs/devices-capacitor --external @capacitor/core --external @capacitor-community/sqlite && tsc --project tsconfig.build.json","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run typecheck && bun test && bun run build && npm publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"repository":{"url":"git+https://github.com/absolutejs/sync-adapters.git","type":"git","directory":"capacitor"},"_npmVersion":"10.9.2","description":"Transactional Capacitor SQLite local store and native lifecycle adapter for @absolutejs/sync","directories":{},"_nodeVersion":"22.14.0","dependencies":{"@noble/ciphers":"^2.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"3.5.3","@types/bun":"1.3.14","typescript":"5.9.3","@capacitor/core":"8.5.0","@absolutejs/sync":"2.29.0","@absolutejs/devices":"0.0.3","@capacitor-community/sqlite":"8.1.1","@absolutejs/devices-capacitor":"0.1.3"},"peerDependencies":{"@capacitor/core":">=8 <9","@absolutejs/sync":">=2.29.0 <3","@absolutejs/devices":">=0.0.3 <0.1.0","@capacitor-community/sqlite":">=8.1.1 <9","@absolutejs/devices-capacitor":">=0.1.3 <0.2.0"},"_npmOperationalInternal":{"tmp":"tmp/sync-capacitor_0.8.0_1787724386010_0.5171956751153999","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"@absolutejs/sync-capacitor","version":"0.9.0","keywords":["absolutejs","sync","capacitor","sqlite","offline","mobile"],"author":{"name":"Alex Kahn"},"license":"Apache-2.0","_id":"@absolutejs/sync-capacitor@0.9.0","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"homepage":"https://github.com/absolutejs/sync-adapters/tree/main/capacitor","bugs":{"url":"https://github.com/absolutejs/sync-adapters/issues"},"dist":{"shasum":"b0969652e6c653b65325380e359438e330230eee","tarball":"https://registry.npmjs.org/@absolutejs/sync-capacitor/-/sync-capacitor-0.9.0.tgz","fileCount":16,"integrity":"sha512-OigV6E2RylhtTg6167BrOgTWIhMog0kRKWUn/qzgk7LhzmvkR4LM0TDxitfcCDyK08syDbyl4oaqJqJyTSHBMw==","signatures":[{"sig":"MEUCIGXl/bR8f0c9fnq43akSkPI4XPiR5IyoKAH4r11JZlQnAiEAhoEMMrU7F72tWe7uLd73VHv3hxNvqIFPCYifl26jF9s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":298379},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"0aeef1d1158ceeb157c00f3542f6ddcba867064f","scripts":{"test":"bun test","build":"rm -rf dist && bun build src/index.ts --outdir dist --sourcemap --target=browser --external @absolutejs/sync --external @absolutejs/devices --external @absolutejs/devices-capacitor --external @capacitor/core --external @capacitor-community/sqlite && tsc --project tsconfig.build.json","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run typecheck && bun test && bun run build && npm publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"repository":{"url":"git+https://github.com/absolutejs/sync-adapters.git","type":"git","directory":"capacitor"},"_npmVersion":"10.9.2","description":"Transactional Capacitor SQLite local store and native lifecycle adapter for @absolutejs/sync","directories":{},"_nodeVersion":"22.14.0","dependencies":{"@noble/ciphers":"^2.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"3.5.3","@types/bun":"1.3.14","typescript":"5.9.3","@capacitor/core":"8.5.0","@absolutejs/sync":"2.29.0","@absolutejs/devices":"0.2.0","@capacitor-community/sqlite":"8.1.1","@absolutejs/devices-capacitor":"0.3.1"},"peerDependencies":{"@capacitor/core":">=8 <9","@absolutejs/sync":">=2.29.0 <3","@absolutejs/devices":">=0.2.0 <0.3.0","@capacitor-community/sqlite":">=8.1.1 <9","@absolutejs/devices-capacitor":">=0.3.1 <0.4.0"},"_npmOperationalInternal":{"tmp":"tmp/sync-capacitor_0.9.0_1787735275415_0.24397641126289304","host":"s3://npm-registry-packages-npm-production"}},"0.9.1":{"name":"@absolutejs/sync-capacitor","version":"0.9.1","keywords":["absolutejs","sync","capacitor","sqlite","offline","mobile"],"author":"Alex Kahn","license":"Apache-2.0","_id":"@absolutejs/sync-capacitor@0.9.1","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"homepage":"https://github.com/absolutejs/sync-adapters/tree/main/capacitor","bugs":{"url":"https://github.com/absolutejs/sync-adapters/issues"},"dist":{"shasum":"e53b3111f7be32551816acfbf93448b7c929a8f3","tarball":"https://registry.npmjs.org/@absolutejs/sync-capacitor/-/sync-capacitor-0.9.1.tgz","fileCount":16,"integrity":"sha512-qZC93WNxcv2fZ9gR7sLklp/vPHL7wN9wRgYfQnqFWIv4f6W6HHTdn+uaoE3Iq6JXZaLo8pXGyB+56zJldrX2BA==","signatures":[{"sig":"MEYCIQCoV/j1km8YSnRaPNBGMVjvtvCybT5ef1UX+S6zTnU8EQIhALjecGXetQFiyDpMbJxI5H0KHNYCL2By9I/UMINKMtI2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":298379},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"e53b3111f7be32551816acfbf93448b7c929a8f3","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"test":"bun test","build":"rm -rf dist && bun build src/index.ts --outdir dist --sourcemap --target=browser --external @absolutejs/sync --external @absolutejs/devices --external @absolutejs/devices-capacitor --external @capacitor/core --external @capacitor-community/sqlite && tsc --project tsconfig.build.json","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run typecheck && bun test && bun run build && npm publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"_integrity":"sha512-qZC93WNxcv2fZ9gR7sLklp/vPHL7wN9wRgYfQnqFWIv4f6W6HHTdn+uaoE3Iq6JXZaLo8pXGyB+56zJldrX2BA==","repository":{"url":"https://github.com/absolutejs/sync-adapters.git","type":"git","directory":"capacitor"},"_npmVersion":"10.8.3","description":"Transactional Capacitor SQLite local store and native lifecycle adapter for @absolutejs/sync","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@noble/ciphers":"^2.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"3.5.3","@types/bun":"1.3.14","typescript":"5.9.3","@capacitor/core":"8.5.0","@absolutejs/sync":"2.29.0","@absolutejs/devices":"0.3.0","@capacitor-community/sqlite":"8.1.1","@absolutejs/devices-capacitor":"0.4.0"},"peerDependencies":{"@capacitor/core":">=8 <9","@absolutejs/sync":">=2.29.0 <3","@absolutejs/devices":">=0.2.0 <0.4.0","@capacitor-community/sqlite":">=8.1.1 <9","@absolutejs/devices-capacitor":">=0.3.1 <0.5.0"},"_npmOperationalInternal":{"tmp":"tmp/sync-capacitor_0.9.1_1787753165508_0.2857060395391895","host":"s3://npm-registry-packages-npm-production"}},"0.9.2":{"name":"@absolutejs/sync-capacitor","version":"0.9.2","description":"Transactional Capacitor SQLite local store and native lifecycle adapter for @absolutejs/sync","repository":{"type":"git","url":"git+https://github.com/absolutejs/sync-adapters.git","directory":"capacitor"},"homepage":"https://github.com/absolutejs/sync-adapters/tree/main/capacitor","bugs":{"url":"https://github.com/absolutejs/sync-adapters/issues"},"main":"./dist/index.js","module":"./dist/index.js","types":"./dist/index.d.ts","type":"module","license":"Apache-2.0","author":{"name":"Alex Kahn"},"publishConfig":{"access":"public"},"keywords":["absolutejs","sync","capacitor","sqlite","offline","mobile"],"scripts":{"build":"rm -rf dist && bun build src/index.ts --outdir dist --sourcemap --target=browser --external @absolutejs/sync --external @absolutejs/devices --external @absolutejs/devices-capacitor --external @capacitor/core --external @capacitor-community/sqlite && tsc --project tsconfig.build.json","test":"bun test","typecheck":"tsc --noEmit","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run typecheck && bun test && bun run build && npm publish"},"peerDependencies":{"@absolutejs/devices":">=0.2.0 <0.4.0","@absolutejs/devices-capacitor":">=0.3.1 <0.5.0","@absolutejs/sync":">=2.29.0 <3","@capacitor/core":">=8 <9","@capacitor-community/sqlite":">=8.1.1 <9"},"devDependencies":{"@absolutejs/devices":"0.3.0","@absolutejs/devices-capacitor":"0.4.0","@absolutejs/sync":"2.29.0","@capacitor/core":"8.5.0","@capacitor-community/sqlite":"8.1.1","@types/bun":"1.3.14","prettier":"3.5.3","typescript":"5.9.3"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"capacitor":{"android":{"src":"android"},"ios":{"src":"ios"}},"dependencies":{"@noble/ciphers":"^2.3.0"},"_id":"@absolutejs/sync-capacitor@0.9.2","gitHead":"2880d5d76cc0cd757b9393c1d72016a59854641e","_nodeVersion":"22.14.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-S6PXXWmDgr+gOTxKd9qAx3Uoj2OTt8m/m4TumY3M/Cpz8kTw4xzWnRfT0CpvL5fjwMshOtwhI7v7slzqCrKY7Q==","shasum":"db680d9cb9d673317afa27b8540d47645ded9154","tarball":"https://registry.npmjs.org/@absolutejs/sync-capacitor/-/sync-capacitor-0.9.2.tgz","fileCount":16,"unpackedSize":298561,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCICX9mfIuKw3Edn0lJu+ws6d/nOQHyOkSFuDNEBmqq/vbAiBnIhzH2mwCC7nm2WLpcjj0M3ljijJMyPy2KSDjmFevew=="}]},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"directories":{},"maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/sync-capacitor_0.9.2_1787873668525_0.65985687253813"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-25T05:26:15.980Z","modified":"2026-08-27T23:34:28.826Z","0.1.0":"2026-08-25T05:26:16.363Z","0.2.0":"2026-08-25T07:09:21.132Z","0.3.0":"2026-08-25T17:35:25.001Z","0.4.0":"2026-08-25T19:15:12.928Z","0.5.0":"2026-08-26T01:36:56.674Z","0.6.0":"2026-08-26T02:21:29.544Z","0.6.1":"2026-08-26T02:32:46.573Z","0.7.0":"2026-08-26T04:26:22.077Z","0.8.0":"2026-08-26T06:06:26.178Z","0.9.0":"2026-08-26T09:07:55.543Z","0.9.1":"2026-08-26T14:06:05.664Z","0.9.2":"2026-08-27T23:34:28.663Z"},"bugs":{"url":"https://github.com/absolutejs/sync-adapters/issues"},"author":{"name":"Alex Kahn"},"license":"Apache-2.0","homepage":"https://github.com/absolutejs/sync-adapters/tree/main/capacitor","keywords":["absolutejs","sync","capacitor","sqlite","offline","mobile"],"repository":{"type":"git","url":"git+https://github.com/absolutejs/sync-adapters.git","directory":"capacitor"},"description":"Transactional Capacitor SQLite local store and native lifecycle adapter for @absolutejs/sync","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"readme":"# @absolutejs/sync-capacitor\n\nNative persistence and lifecycle wiring for `@absolutejs/sync` applications\nrunning in Capacitor. It stores confirmed rows, cursors, installation identity,\nand the durable mutation outbox in one principal-partitioned SQLite database.\nIt also exposes namespace-scoped collection discovery so finite native workers\ncan resume safe `id`-keyed pulls without application-authored worker code.\n\nAbsoluteJS provisions this automatically when Mobile, Sync, and Auth are enabled.\nDirect Capacitor applications can opt in explicitly:\n\n```ts\nimport { createSyncClient } from '@absolutejs/sync/client';\nimport { lifecycle, network } from '@absolutejs/devices';\nimport {\n\tcreateCapacitorSyncLocalStore,\n\tcreateCapacitorSyncProtection,\n\tinstallCapacitorSyncLifecycle\n} from '@absolutejs/sync-capacitor';\n\nconst client = createSyncClient({\n\turl: 'wss://app.example.com/sync/ws',\n\tdurable: {\n\t\tstore: createCapacitorSyncLocalStore({\n\t\t\tprotection: createCapacitorSyncProtection()\n\t\t}),\n\t\tnamespace: authenticatedPrincipalNamespace\n\t}\n});\n\nconst removeLifecycle = await installCapacitorSyncLifecycle({\n\tclient,\n\tlifecycle,\n\tnetwork\n});\n```\n\nResume and restored-connectivity events refresh the Auth-backed socket and ask\nthe client to flush within a finite ten-second budget. Explicitly retryable\nfailures obey the client's delivery ceiling; conflicts and permanent failures\nremain in the principal's dead-letter partition for explicit remediation rather\nthan replaying forever.\n\nGenerated mutation conflict policies are captured inside each encrypted outbox\nrecord. The TypeScript foreground/headless runner and the Android WorkManager or\niOS BGProcessingTask runner therefore make the same bounded decision: manual\nconflicts become dead letters, `server-wins` discards the rejected local intent,\nand `client-wins` retries the unchanged operation ID up to its declared ceiling.\nAn explicit argument-changing rebase is left to the foreground remediation API\nand creates a new traceable intent.\n\nThe namespace must come from a verified Auth principal, never from an untrusted\nroute or form value. AbsoluteJS derives an opaque namespace from the verified\nissuer, public client ID, and subject. Signing out locks that partition by\nremoving it from the active runtime; it does not silently destroy offline data.\nSigning back in as the same verified principal unlocks the same partition.\n\n## Installed-data upgrades\n\n`storageSchema` accepts the same generated `SyncLocalStoreSchema` or\ncomponent bundle used by\n`createIndexedDbSyncLocalStore`. Before any foreground transaction begins, the\nadapter migrates every principal's collections, durable mutations, and logical\nschema marker inside one SQLite transaction. A transform failure or process\ndeath rolls back the entire upgrade; a runtime older than the stored schema\nfails closed.\n\nMigration callbacks are synchronous and deterministic. They may replace or\ndelete persisted records, but cannot change a mutation's stable operation ID.\nAbsoluteJS will generate and provision the plan for ordinary applications;\ndirect Capacitor integrations can pass it explicitly:\n\n```ts\nconst store = createCapacitorSyncLocalStore({\n\tstorageSchema: {\n\t\tversion: 2,\n\t\tmigrations: [\n\t\t\t{\n\t\t\t\ttoVersion: 2,\n\t\t\t\tmigrateCollection(record) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...record,\n\t\t\t\t\t\trows: record.rows.map((row) => ({\n\t\t\t\t\t\t\t...(row as object),\n\t\t\t\t\t\t\tarchived: false\n\t\t\t\t\t\t}))\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\t\t]\n\t}\n});\n```\n\nAbsolute composes the app schema and every installed Sync pack into a\ndeterministic component bundle. SQLite tracks each component independently,\nkeeps removed-pack ledgers as orphan diagnostics, and migrates all records and\nledger updates in one transaction.\n\n## Protected local data and quotas\n\nAbsoluteJS automatically installs `createCapacitorSyncProtection()`. It creates\none random AES-256-GCM data key, seals that key in the existing iOS Keychain or\nAndroid Keystore vault, and writes only authenticated ciphertext envelopes to\nSQLite. Namespace, record kind, and collection/mutation name are authenticated\nas associated data. The foreground adapter and both finite native workers use\nthe same versioned format; a missing key, changed identity, or modified record\nfails closed. Direct Capacitor integrations opt in as shown above.\n\nThe generated `localData` policy also enforces memory-only records,\nwhole-projection expiry, deterministic eviction priority, and a logical\nper-principal byte ceiling. Pending mutations are never evicted. When protected\ndata declares a memory-only fallback, browsers without an audited key provider\nremain usable without writing that data to disk.\n\n## Managed native background Sync\n\nAbsoluteJS also configures `AbsoluteBackgroundSync` when the application uses\nboth `@absolutejs/auth` and `@absolutejs/sync`. The native worker is deliberately\nfinite: Android WorkManager or iOS `BGProcessingTask` wakes it, it refreshes a\nshort-lived access token, pushes a bounded durable outbox batch, pulls the\nforeground client's persisted collection descriptors, commits the response to\nthe same SQLite database, and exits. Foreground/resume Sync remains the\ncorrectness path because neither operating system guarantees when background\nwork will run.\n\nThe worker does not run application JavaScript and does not expose Capacitor\nAPIs to a background WebView. Its credential and network boundary is fixed:\n\n- the OAuth refresh token is read from the shared native Keychain/Keystore\n  vault and sent only to the issuer-advertised HTTPS token endpoint;\n- the resulting bearer token, mutation arguments, and collection parameters\n  are sent only to the configured same-origin AbsoluteJS endpoint;\n- redirects fail closed, and response bodies are bounded before parsing;\n- a rotated refresh token is written back to the vault, while returned Sync\n  data is written only to the principal's SQLite partition.\n\nDirect Capacitor applications can configure the worker after resolving a\nverified principal:\n\n```ts\nimport { configureCapacitorBackgroundSync } from '@absolutejs/sync-capacitor';\n\nawait configureCapacitorBackgroundSync({\n\tissuer: 'https://app.example.com',\n\tclientId: 'mobile-public-client',\n\tendpoint: 'https://app.example.com/__absolute/sync/background',\n\tnamespace: authenticatedPrincipalNamespace\n});\n```\n\nCall `AbsoluteBackgroundSync.clear()` on sign-out. On iOS, register\n`AbsoluteBackgroundSyncPlugin.registerBackgroundTask()` during application\nlaunch and list `<bundle-id>.absolutejs.background-sync` in\n`BGTaskSchedulerPermittedIdentifiers`; the AbsoluteJS mobile CLI owns those\ngenerated regions. Android scheduling is registered by the plugin.\n\n## Platform notes\n\n- AbsoluteJS protects record payloads with AES-256-GCM rather than claiming the\n  default SQLite connection is SQLCipher-encrypted. SQLite keys, namespaces,\n  and ordering columns remain metadata; sensitive row and mutation payloads are\n  ciphertext. Review platform encryption-export requirements before shipping.\n- Web/PWA builds should use `createIndexedDbSyncLocalStore` from\n  `@absolutejs/sync/client`; they do not need the plugin's WASM/web component.\n- The adapter serializes transactions so an app cannot overlap two explicit\n  transactions on the same Capacitor connection.\n- The native iOS worker currently targets the SQLite plugin's default Documents\n  location. Applications that override `CapacitorSQLite.iosDatabaseLocation`\n  must keep foreground and background database locations aligned before\n  enabling managed background Sync.\n\n## License\n\nApache-2.0.\n","readmeFilename":"README.md"}