{"_id":"openclaw-workspace-sync","_rev":"30-00e7e83976ecfa05ab158fbda6036a04","name":"openclaw-workspace-sync","dist-tags":{"latest":"2.4.0"},"versions":{"1.0.0":{"name":"openclaw-workspace-sync","version":"1.0.0","keywords":["openclaw","openclaw-plugin","workspace","sync","rclone","dropbox","google-drive","s3","cloud-storage","backup"],"author":{"name":"ashbrener"},"license":"MIT","_id":"openclaw-workspace-sync@1.0.0","maintainers":[{"name":"ashleybrener","email":"ashley@frisb.com"}],"homepage":"https://github.com/ashbrener/openclaw-workspace-sync#readme","bugs":{"url":"https://github.com/ashbrener/openclaw-workspace-sync/issues"},"dist":{"shasum":"458bbf7d882d8662dd1936464c47822c30131226","tarball":"https://registry.npmjs.org/openclaw-workspace-sync/-/openclaw-workspace-sync-1.0.0.tgz","fileCount":28,"integrity":"sha512-wz3d0SbpyfLnO6Q/DLEZENbEK20iNf+uzQgvH3HyGETi+2Kc1D7ocx1sJt/m1hF3etiXyvLjKjHZD7661YSd/g==","signatures":[{"sig":"MEUCIQDkSXvV2ilpZLYF+9zmGZPahw4DwUVw9zUXJ+XsD9ArVAIgTgL27+a+rPoW7bUah1Xf1FJDuohhzqluF7Mrx91FsSs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":124959},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"4736bcfdba82b9d0f0ddd7b001dba581d2e51033","scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"ashleybrener","email":"ashley@frisb.com"},"openclaw":{"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/ashbrener/openclaw-workspace-sync.git","type":"git"},"_npmVersion":"10.9.4","description":"Bidirectional workspace cloud sync via rclone (Dropbox, Google Drive, S3, OneDrive, 70+ providers)","directories":{},"_nodeVersion":"22.22.0","dependencies":{"@clack/prompts":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","openclaw":"latest","typescript":"5.7"},"peerDependencies":{"openclaw":">=2026.1.0"},"_npmOperationalInternal":{"tmp":"tmp/openclaw-workspace-sync_1.0.0_1771438261384_0.43807858834026936","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"openclaw-workspace-sync","version":"1.0.1","keywords":["openclaw","openclaw-plugin","workspace","sync","rclone","dropbox","google-drive","s3","cloud-storage","backup"],"author":{"name":"ashbrener"},"license":"MIT","_id":"openclaw-workspace-sync@1.0.1","maintainers":[{"name":"ashleybrener","email":"ashley@frisb.com"}],"homepage":"https://github.com/ashbrener/openclaw-workspace-sync#readme","bugs":{"url":"https://github.com/ashbrener/openclaw-workspace-sync/issues"},"dist":{"shasum":"3b6a5934e6f5c578d05ee10da221d30f4581421d","tarball":"https://registry.npmjs.org/openclaw-workspace-sync/-/openclaw-workspace-sync-1.0.1.tgz","fileCount":28,"integrity":"sha512-IDWBnUfY5rlHuomHrl5cNJLVyd8m4gXPPdJcb3/Iz8s04A/K8A2zvAulY2L23i9+deDD46BZC1c7jof3h/F9AA==","signatures":[{"sig":"MEYCIQC1z8T9zHX43FetBc98ONjEyawLLJpLP24i22hg79OgpgIhAMyt072OJZYbp1UHcZL/NzvmY3ZhYoNS8Tel6m5hdumS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":125324},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"4736bcfdba82b9d0f0ddd7b001dba581d2e51033","scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"ashleybrener","email":"ashley@frisb.com"},"openclaw":{"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/ashbrener/openclaw-workspace-sync.git","type":"git"},"_npmVersion":"10.9.4","description":"Bidirectional workspace cloud sync via rclone (Dropbox, Google Drive, S3, OneDrive, 70+ providers)","directories":{},"_nodeVersion":"22.22.0","dependencies":{"@clack/prompts":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","openclaw":"latest","typescript":"5.7"},"peerDependencies":{"openclaw":">=2026.1.0"},"_npmOperationalInternal":{"tmp":"tmp/openclaw-workspace-sync_1.0.1_1771444957516_0.9025857831065851","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"openclaw-workspace-sync","version":"1.0.2","keywords":["openclaw","openclaw-plugin","workspace","sync","rclone","dropbox","google-drive","s3","cloud-storage","backup"],"author":{"name":"ashbrener"},"license":"MIT","_id":"openclaw-workspace-sync@1.0.2","maintainers":[{"name":"ashleybrener","email":"ashley@frisb.com"}],"homepage":"https://github.com/ashbrener/openclaw-workspace-sync#readme","bugs":{"url":"https://github.com/ashbrener/openclaw-workspace-sync/issues"},"dist":{"shasum":"b2708fc46d62b2fa1c915cbdae11d2107f784823","tarball":"https://registry.npmjs.org/openclaw-workspace-sync/-/openclaw-workspace-sync-1.0.2.tgz","fileCount":44,"integrity":"sha512-c61CW6FRtenY1uQVuJdzJUFY1e8IvWp2yRF2qochAdG6B9E6qqGddfvCEAbMQEo3Nl5rKumFI9t98Zw+rNtMSA==","signatures":[{"sig":"MEYCIQDnx3ixiC/CeM2kRhzFYUDw2iYB3nnO2AsfbmqnTaEIvwIhALOJr+ytUHhhIA2aRv5XZW5mItxUKPhtwndFnKBSc915","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":223845},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"b4f468f0cd8c687ca45added39c73dd7f9228485","scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"ashleybrener","email":"ashley@frisb.com"},"openclaw":{"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/ashbrener/openclaw-workspace-sync.git","type":"git"},"_npmVersion":"10.9.4","description":"Bidirectional workspace cloud sync via rclone (Dropbox, Google Drive, S3, OneDrive, 70+ providers)","directories":{},"_nodeVersion":"22.22.0","dependencies":{"@clack/prompts":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","openclaw":"latest","typescript":"5.7"},"peerDependencies":{"openclaw":">=2026.1.0"},"_npmOperationalInternal":{"tmp":"tmp/openclaw-workspace-sync_1.0.2_1771451479411_0.5367595994637371","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"openclaw-workspace-sync","version":"1.0.3","keywords":["openclaw","openclaw-plugin","workspace","sync","rclone","dropbox","google-drive","s3","cloud-storage","backup"],"author":{"name":"ashbrener"},"license":"MIT","_id":"openclaw-workspace-sync@1.0.3","maintainers":[{"name":"ashleybrener","email":"ashley@frisb.com"}],"homepage":"https://github.com/ashbrener/openclaw-workspace-sync#readme","bugs":{"url":"https://github.com/ashbrener/openclaw-workspace-sync/issues"},"dist":{"shasum":"990e39ead7b0a6a34434deb863641daa257cda34","tarball":"https://registry.npmjs.org/openclaw-workspace-sync/-/openclaw-workspace-sync-1.0.3.tgz","fileCount":24,"integrity":"sha512-DqmFGV/S8Pu45/xAbqtq917iAtS29SGDiJgHsbZNs100wJKTxqhvAINwvI2WPU5tNbOa1tdQX6WizmkYoeT7eg==","signatures":[{"sig":"MEYCIQDR3dzF1xwUDyMkFVSv2mgBbigZiXK2daRTJOCTBHnNZgIhAIF5DyuXMByUNfy4n1mD78Je38/1HQCySjfXFUk3C+PA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":124617},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"73ed3de221d2ce183138c13f2d715dd40882fe78","scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"ashleybrener","email":"ashley@frisb.com"},"openclaw":{"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/ashbrener/openclaw-workspace-sync.git","type":"git"},"_npmVersion":"10.9.3","description":"Bidirectional workspace cloud sync via rclone (Dropbox, Google Drive, S3, OneDrive, 70+ providers)","directories":{},"_nodeVersion":"22.18.0","dependencies":{"@clack/prompts":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","openclaw":"latest","typescript":"5.7"},"peerDependencies":{"openclaw":">=2026.1.0"},"_npmOperationalInternal":{"tmp":"tmp/openclaw-workspace-sync_1.0.3_1771452009356_0.8443255600209671","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"openclaw-workspace-sync","version":"1.1.0","keywords":["openclaw","openclaw-plugin","workspace","sync","rclone","dropbox","google-drive","s3","cloud-storage","backup"],"author":{"name":"ashbrener"},"license":"MIT","_id":"openclaw-workspace-sync@1.1.0","maintainers":[{"name":"ashleybrener","email":"ashley@frisb.com"}],"homepage":"https://github.com/ashbrener/openclaw-workspace-sync#readme","bugs":{"url":"https://github.com/ashbrener/openclaw-workspace-sync/issues"},"dist":{"shasum":"f528925a1ee13a50ac8a7aaab0b40295e186a63f","tarball":"https://registry.npmjs.org/openclaw-workspace-sync/-/openclaw-workspace-sync-1.1.0.tgz","fileCount":24,"integrity":"sha512-KsG0SxKKJ/dQAX57poRDLahxotULBekq3Q5hk0LkUTqcJRGuqAcgL595jLfQyQ6z4NvmNAiKZqm1LfKpanpJMw==","signatures":[{"sig":"MEUCIGMtILcKAQhZJzc6KcprsaQQMLORNuCRSTn5rh1WVDv4AiEAuRltJE+N4r+V0Tlme2wl3I3xkuZx0ps0lfvP5P54WtI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":134547},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"78b9557c46816b20731964dcabeb23a710b2f8a7","scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"ashleybrener","email":"ashley@frisb.com"},"openclaw":{"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/ashbrener/openclaw-workspace-sync.git","type":"git"},"_npmVersion":"10.9.3","description":"Bidirectional workspace cloud sync via rclone (Dropbox, Google Drive, S3, OneDrive, 70+ providers)","directories":{},"_nodeVersion":"22.18.0","dependencies":{"@clack/prompts":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","openclaw":"latest","typescript":"5.7"},"peerDependencies":{"openclaw":">=2026.1.0"},"_npmOperationalInternal":{"tmp":"tmp/openclaw-workspace-sync_1.1.0_1771452572137_0.8719999555242139","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"openclaw-workspace-sync","version":"1.1.1","keywords":["openclaw","openclaw-plugin","workspace","sync","rclone","dropbox","google-drive","s3","cloud-storage","backup"],"author":{"name":"ashbrener"},"license":"MIT","_id":"openclaw-workspace-sync@1.1.1","maintainers":[{"name":"ashleybrener","email":"ashley@frisb.com"}],"homepage":"https://github.com/ashbrener/openclaw-workspace-sync#readme","bugs":{"url":"https://github.com/ashbrener/openclaw-workspace-sync/issues"},"dist":{"shasum":"32e09023d52bc3fbd04aada08cb5b5e3b59833bf","tarball":"https://registry.npmjs.org/openclaw-workspace-sync/-/openclaw-workspace-sync-1.1.1.tgz","fileCount":24,"integrity":"sha512-rDcvBugfBYqT/ry7qrMmaKObz5sh7aT0uMjv3hkkc2TBKTkITJLmvmNwXwnN/ncEswU/FY8USSnPpql7eL/vWw==","signatures":[{"sig":"MEUCIQChsMCZX+rtzTNDNe5OYdmWHwI1FrP0ONq/3gL2LH+ylwIgO471/CGVqlPLHJ2uDR7F5uKVdvPnepOHdYqKn0xzjNc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":136029},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"f7adc044f7e0e05b25779c69fd0a4959ecf54eb9","scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"ashleybrener","email":"ashley@frisb.com"},"openclaw":{"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/ashbrener/openclaw-workspace-sync.git","type":"git"},"_npmVersion":"10.9.3","description":"Bidirectional workspace cloud sync via rclone (Dropbox, Google Drive, S3, OneDrive, 70+ providers)","directories":{},"_nodeVersion":"22.18.0","dependencies":{"@clack/prompts":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","openclaw":"latest","typescript":"5.7"},"peerDependencies":{"openclaw":">=2026.1.0"},"_npmOperationalInternal":{"tmp":"tmp/openclaw-workspace-sync_1.1.1_1771453059250_0.17261762790786817","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"openclaw-workspace-sync","version":"1.2.0","keywords":["openclaw","openclaw-plugin","workspace","sync","rclone","dropbox","google-drive","s3","cloud-storage","backup"],"author":{"name":"ashbrener"},"license":"MIT","_id":"openclaw-workspace-sync@1.2.0","maintainers":[{"name":"ashleybrener","email":"ashley@frisb.com"}],"homepage":"https://github.com/ashbrener/openclaw-workspace-sync#readme","bugs":{"url":"https://github.com/ashbrener/openclaw-workspace-sync/issues"},"dist":{"shasum":"aa2f34186913ff1f07693b025d239f62d9db29e8","tarball":"https://registry.npmjs.org/openclaw-workspace-sync/-/openclaw-workspace-sync-1.2.0.tgz","fileCount":24,"integrity":"sha512-p68mrM1Ym9dXI8jfd24bkSxZsfwnORfpnjyceHIVEQo1jfRKk5rJD5ER7Wd8+TBLpbBOvXp4Ep3Grn7NvL+M2w==","signatures":[{"sig":"MEYCIQDhDEYQGa1tw0FiJgoTCf1OROvXkdOVXa4kSSRAkzj8dQIhAI1lmmid51WSs/n99SND1XpbOBgG36o3ofBPscBmBBvR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":136111},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"8326070824112c311ad3aea1ada471cd66f6719d","scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"ashleybrener","email":"ashley@frisb.com"},"openclaw":{"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/ashbrener/openclaw-workspace-sync.git","type":"git"},"_npmVersion":"10.9.4","description":"Bidirectional workspace cloud sync via rclone (Dropbox, Google Drive, S3, OneDrive, 70+ providers)","directories":{},"_nodeVersion":"22.22.0","dependencies":{"@types/node":"^25.2.3","@clack/prompts":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","openclaw":"latest","typescript":"5.7"},"peerDependencies":{"openclaw":">=2026.1.0"},"_npmOperationalInternal":{"tmp":"tmp/openclaw-workspace-sync_1.2.0_1771453567188_0.3924512843396528","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"openclaw-workspace-sync","version":"1.2.1","keywords":["openclaw","openclaw-plugin","workspace","sync","rclone","dropbox","google-drive","s3","cloud-storage","backup"],"author":{"name":"ashbrener"},"license":"MIT","_id":"openclaw-workspace-sync@1.2.1","maintainers":[{"name":"ashleybrener","email":"ashley@frisb.com"}],"homepage":"https://github.com/ashbrener/openclaw-workspace-sync#readme","bugs":{"url":"https://github.com/ashbrener/openclaw-workspace-sync/issues"},"dist":{"shasum":"10815b0ec1b248d03799049f67f56c1c90749bed","tarball":"https://registry.npmjs.org/openclaw-workspace-sync/-/openclaw-workspace-sync-1.2.1.tgz","fileCount":24,"integrity":"sha512-dlbyMTX4p0q8v+KRF+tTMIK2t9HKjG0Is5BbB83aGyut9QNdZVsJHlCmOx70DFvYm2brnB/SpwHjzt/jcQUX7g==","signatures":[{"sig":"MEUCIGzF1SbRzEZz+k/nGCh7+gxH979UekHXSoEjK9qdHkjvAiEA2+b8xfJYh4/f6ea9P62/D2rQDCNLVMElm1Sx8nfO5vU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":133846},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"1165f8d7f774e6c45a73dcd75784b581fffab310","scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"ashleybrener","email":"ashley@frisb.com"},"openclaw":{"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/ashbrener/openclaw-workspace-sync.git","type":"git"},"_npmVersion":"10.9.3","description":"Bidirectional workspace cloud sync via rclone (Dropbox, Google Drive, S3, OneDrive, 70+ providers)","directories":{},"_nodeVersion":"22.18.0","dependencies":{"@clack/prompts":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","openclaw":"latest","typescript":"5.7"},"peerDependencies":{"openclaw":">=2026.1.0"},"_npmOperationalInternal":{"tmp":"tmp/openclaw-workspace-sync_1.2.1_1771453632212_0.08889869930444028","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"name":"openclaw-workspace-sync","version":"1.2.2","keywords":["openclaw","openclaw-plugin","workspace","sync","rclone","dropbox","google-drive","s3","cloud-storage","backup"],"author":{"name":"ashbrener"},"license":"MIT","_id":"openclaw-workspace-sync@1.2.2","maintainers":[{"name":"ashleybrener","email":"ashley@frisb.com"}],"homepage":"https://github.com/ashbrener/openclaw-workspace-sync#readme","bugs":{"url":"https://github.com/ashbrener/openclaw-workspace-sync/issues"},"dist":{"shasum":"8f37ddab2258967804642d21dddbb0ee000df26e","tarball":"https://registry.npmjs.org/openclaw-workspace-sync/-/openclaw-workspace-sync-1.2.2.tgz","fileCount":24,"integrity":"sha512-pry8TdeTq77gdSsxG/+Uech7pZK9yNNORZVHhEvqsl2O35z6Jm8ImHF9nZhWYd/7ynbyr45HsuGjyEtUtLU9yg==","signatures":[{"sig":"MEUCICZeczLlHKQC8KUFOLZ243O8roCDwIg2XTaaHmHkjmSpAiEA58GNuQAgtqvTR2OZZtzj8kkJa19LPqni60yN20wagAc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":133876},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"c39cc5fe83dda244b6b0baea471355664f1a0fa4","scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"ashleybrener","email":"ashley@frisb.com"},"openclaw":{"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/ashbrener/openclaw-workspace-sync.git","type":"git"},"_npmVersion":"10.9.3","description":"Bidirectional workspace cloud sync via rclone (Dropbox, Google Drive, S3, OneDrive, 70+ providers)","directories":{},"_nodeVersion":"22.18.0","dependencies":{"@clack/prompts":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","openclaw":"latest","typescript":"5.7","@types/node":"^22.0.0"},"peerDependencies":{"openclaw":">=2026.1.0"},"_npmOperationalInternal":{"tmp":"tmp/openclaw-workspace-sync_1.2.2_1771453819638_0.5864225385838151","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"openclaw-workspace-sync","version":"1.3.0","keywords":["openclaw","openclaw-plugin","workspace","sync","rclone","dropbox","google-drive","s3","cloud-storage","backup"],"author":{"name":"ashbrener"},"license":"MIT","_id":"openclaw-workspace-sync@1.3.0","maintainers":[{"name":"ashleybrener","email":"ashley@frisb.com"}],"homepage":"https://github.com/ashbrener/openclaw-workspace-sync#readme","bugs":{"url":"https://github.com/ashbrener/openclaw-workspace-sync/issues"},"dist":{"shasum":"666ed94c99f99f63281e6f4252fd2a0169dc324d","tarball":"https://registry.npmjs.org/openclaw-workspace-sync/-/openclaw-workspace-sync-1.3.0.tgz","fileCount":24,"integrity":"sha512-7Dy4p6WhZ3dIVek/PD22YghRuTeVCixRSGOc9ngtJarVwlhd6OSplGIv1OYSOR6hwWeSlJxL3TluV4YsnU2Ezg==","signatures":[{"sig":"MEUCID51sHELG6zpCjy73+HzB9/GCiFGMX/tmRr4TlP5hwPbAiEAgk5Tad+8dEqunVK/Kv8GhcdDcT/ZHpY3SV4HsEqhUdk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":133908},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"c926bc8e2f2e7c93bdcf2ae60fdfc4d89cab06de","scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"ashleybrener","email":"ashley@frisb.com"},"openclaw":{"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/ashbrener/openclaw-workspace-sync.git","type":"git"},"_npmVersion":"10.9.3","description":"Bidirectional workspace cloud sync via rclone (Dropbox, Google Drive, S3, OneDrive, 70+ providers)","directories":{},"_nodeVersion":"22.18.0","dependencies":{"@clack/prompts":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","openclaw":"latest","typescript":"5.7","@types/node":"^22.0.0"},"peerDependencies":{"openclaw":">=2026.1.0"},"_npmOperationalInternal":{"tmp":"tmp/openclaw-workspace-sync_1.3.0_1771454054000_0.7953750555504431","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"openclaw-workspace-sync","version":"1.3.1","keywords":["openclaw","openclaw-plugin","workspace","sync","rclone","dropbox","google-drive","s3","cloud-storage","backup"],"author":{"name":"ashbrener"},"license":"MIT","_id":"openclaw-workspace-sync@1.3.1","maintainers":[{"name":"ashleybrener","email":"ashley@frisb.com"}],"homepage":"https://github.com/ashbrener/openclaw-workspace-sync#readme","bugs":{"url":"https://github.com/ashbrener/openclaw-workspace-sync/issues"},"dist":{"shasum":"54dc5b5f353914deca1dc94610cedafff685beef","tarball":"https://registry.npmjs.org/openclaw-workspace-sync/-/openclaw-workspace-sync-1.3.1.tgz","fileCount":24,"integrity":"sha512-KWO8J6l/273QSOWjwNuSoxbYkSLyFxujGehi3plnSIby5HfLsvJqWPsbbBTvZacEbYl0otetXpltZd4pL6R5Tg==","signatures":[{"sig":"MEYCIQDoqGt6FI/U5Z9AJfY+naTxRzPj4TlfdXc+2r6mFnX3uAIhAIjpie4PGETMV5iCBSaKC4XeVqkOFPL7ChgPV8M8tFXq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":133962},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"24aee7a85009d9322465124392cff6308e22f106","scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"ashleybrener","email":"ashley@frisb.com"},"openclaw":{"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/ashbrener/openclaw-workspace-sync.git","type":"git"},"_npmVersion":"10.9.3","description":"Bidirectional workspace cloud sync via rclone (Dropbox, Google Drive, S3, OneDrive, 70+ providers)","directories":{},"_nodeVersion":"22.18.0","dependencies":{"@clack/prompts":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","typescript":"5.7","@types/node":"^22.0.0"},"peerDependencies":{"openclaw":">=2026.1.0"},"peerDependenciesMeta":{"openclaw":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/openclaw-workspace-sync_1.3.1_1771454675510_0.24355283863069","host":"s3://npm-registry-packages-npm-production"}},"1.3.2":{"name":"openclaw-workspace-sync","version":"1.3.2","keywords":["openclaw","openclaw-plugin","workspace","sync","rclone","dropbox","google-drive","s3","cloud-storage","backup"],"author":{"name":"ashbrener"},"license":"MIT","_id":"openclaw-workspace-sync@1.3.2","maintainers":[{"name":"ashleybrener","email":"ashley@frisb.com"}],"homepage":"https://github.com/ashbrener/openclaw-workspace-sync#readme","bugs":{"url":"https://github.com/ashbrener/openclaw-workspace-sync/issues"},"dist":{"shasum":"fad89dd298f10a672c90139160be36bdac92c2bd","tarball":"https://registry.npmjs.org/openclaw-workspace-sync/-/openclaw-workspace-sync-1.3.2.tgz","fileCount":24,"integrity":"sha512-lrPoxYFb0YU3Jc/vWNarpLBhr2kyhLWwLWjddwo6OeX6b5tTi6uhpzxaE5yBpnt2Bsy5P+rlv6SQ4qWIqEu87Q==","signatures":[{"sig":"MEQCIG+w/ETqotDnusY627H6JICV5emImmIftiX5r9KKrlhCAiA7VlgVF8er6Kf5eEXup05A9Toq8v8LccUoZU/+JNRA3A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":133825},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"24aee7a85009d9322465124392cff6308e22f106","scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"ashleybrener","email":"ashley@frisb.com"},"openclaw":{"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/ashbrener/openclaw-workspace-sync.git","type":"git"},"_npmVersion":"10.9.4","description":"Bidirectional workspace cloud sync via rclone (Dropbox, Google Drive, S3, OneDrive, 70+ providers)","directories":{},"_nodeVersion":"22.22.0","dependencies":{"@clack/prompts":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","typescript":"5.7","@types/node":"^22.19.11"},"_npmOperationalInternal":{"tmp":"tmp/openclaw-workspace-sync_1.3.2_1771454944737_0.33403787173658883","host":"s3://npm-registry-packages-npm-production"}},"1.3.3":{"name":"openclaw-workspace-sync","version":"1.3.3","keywords":["openclaw","openclaw-plugin","workspace","sync","rclone","dropbox","google-drive","s3","cloud-storage","backup"],"author":{"name":"ashbrener"},"license":"MIT","_id":"openclaw-workspace-sync@1.3.3","maintainers":[{"name":"ashleybrener","email":"ashley@frisb.com"}],"homepage":"https://github.com/ashbrener/openclaw-workspace-sync#readme","bugs":{"url":"https://github.com/ashbrener/openclaw-workspace-sync/issues"},"dist":{"shasum":"14383d3bfdb12f5ff0efb8f2cd45ba4da5ce61da","tarball":"https://registry.npmjs.org/openclaw-workspace-sync/-/openclaw-workspace-sync-1.3.3.tgz","fileCount":24,"integrity":"sha512-5LcRZYJ+pStspHETwkgNawDOYfMYH+SqbDPpcgyCuXw7LA3xhkz51iIWIdUtssSyox/yY1f0rn4SIV6jz+Rb5g==","signatures":[{"sig":"MEUCIQCTql3WO7q+Y0Dz+eyiK1sdxbz7Sh3teWNAkoW+gClcrwIgfo3mPWFK1YzYCjRkDa2TzQaKF3t30BCdWneuQPGoRnI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":134385},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"5bd6a3432177c6e09de1050b6f16568af0cb17e1","scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"ashleybrener","email":"ashley@frisb.com"},"openclaw":{"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/ashbrener/openclaw-workspace-sync.git","type":"git"},"_npmVersion":"10.9.3","description":"Bidirectional workspace cloud sync via rclone (Dropbox, Google Drive, S3, OneDrive, 70+ providers)","directories":{},"_nodeVersion":"22.18.0","dependencies":{"@clack/prompts":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","typescript":"5.7","@types/node":"^22.19.11"},"_npmOperationalInternal":{"tmp":"tmp/openclaw-workspace-sync_1.3.3_1772107540756_0.809557138586986","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"openclaw-workspace-sync","version":"1.4.0","keywords":["openclaw","openclaw-plugin","workspace","sync","rclone","dropbox","google-drive","s3","cloud-storage","backup"],"author":{"name":"ashbrener"},"license":"MIT","_id":"openclaw-workspace-sync@1.4.0","maintainers":[{"name":"ashleybrener","email":"ashley@frisb.com"}],"homepage":"https://github.com/ashbrener/openclaw-workspace-sync#readme","bugs":{"url":"https://github.com/ashbrener/openclaw-workspace-sync/issues"},"dist":{"shasum":"6e3c08320446adeb0756024e782e3fd194008f7f","tarball":"https://registry.npmjs.org/openclaw-workspace-sync/-/openclaw-workspace-sync-1.4.0.tgz","fileCount":24,"integrity":"sha512-9B2/m/u7Xh+39weGLDnlGVpeo+zrsMcLqHWF1uVWkd7Hx32/tMx9Q/6s3IRvX/S88cK25I75R3M71ZAMBhV5zQ==","signatures":[{"sig":"MEUCICbKpaqg4WPVlhynE3iFym4xXb89VKNIKG68bZXoqFawAiEA0EzoL+o1Bv4kSL/m1FTyZVdKhIVudefp2stKzJ1nDDg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":134614},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"0e3806696010d16bdf0c761b7268b18839e3b3c0","scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"ashleybrener","email":"ashley@frisb.com"},"openclaw":{"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/ashbrener/openclaw-workspace-sync.git","type":"git"},"_npmVersion":"10.9.3","description":"Bidirectional workspace cloud sync via rclone (Dropbox, Google Drive, S3, OneDrive, 70+ providers)","directories":{},"_nodeVersion":"22.18.0","dependencies":{"@clack/prompts":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","typescript":"5.7","@types/node":"^22.19.11"},"_npmOperationalInternal":{"tmp":"tmp/openclaw-workspace-sync_1.4.0_1772393322110_0.16987332963668744","host":"s3://npm-registry-packages-npm-production"}},"1.4.1":{"name":"openclaw-workspace-sync","version":"1.4.1","keywords":["openclaw","openclaw-plugin","workspace","sync","rclone","dropbox","google-drive","s3","cloud-storage","backup"],"author":{"name":"ashbrener"},"license":"MIT","_id":"openclaw-workspace-sync@1.4.1","maintainers":[{"name":"ashleybrener","email":"ashley@frisb.com"}],"homepage":"https://github.com/ashbrener/openclaw-workspace-sync#readme","bugs":{"url":"https://github.com/ashbrener/openclaw-workspace-sync/issues"},"dist":{"shasum":"a4435ac75e8348304e02bb08a012b097b06a8590","tarball":"https://registry.npmjs.org/openclaw-workspace-sync/-/openclaw-workspace-sync-1.4.1.tgz","fileCount":24,"integrity":"sha512-UPeRSfDFrwtuHJpbPwm1D6I5cg2HjYj85Dy/dt7yfiXcPn5dizzHAtvir/dOuVmXTGSO5NUrDWQ5EMsdYdYPQQ==","signatures":[{"sig":"MEYCIQDLYVIe+3mqZWdNZLczA2fbWiazMmEHWQXJZHIOEnsu5AIhANvJrgPXI6/v0Xy+HhsHepALECAyuTzceTJnko/PHUxV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":134516},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"a8ce86321eca794659abb8fecddd00acd8eb6fe1","scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"ashleybrener","email":"ashley@frisb.com"},"openclaw":{"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/ashbrener/openclaw-workspace-sync.git","type":"git"},"_npmVersion":"10.9.3","description":"Bidirectional workspace cloud sync via rclone (Dropbox, Google Drive, S3, OneDrive, 70+ providers)","directories":{},"_nodeVersion":"22.18.0","dependencies":{"@clack/prompts":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","typescript":"5.7","@types/node":"^22.19.11"},"_npmOperationalInternal":{"tmp":"tmp/openclaw-workspace-sync_1.4.1_1772428389696_0.9215720394278588","host":"s3://npm-registry-packages-npm-production"}},"1.4.2":{"name":"openclaw-workspace-sync","version":"1.4.2","keywords":["openclaw","openclaw-plugin","workspace","sync","rclone","dropbox","google-drive","s3","cloud-storage","backup"],"author":{"name":"ashbrener"},"license":"MIT","_id":"openclaw-workspace-sync@1.4.2","maintainers":[{"name":"ashleybrener","email":"ashley@frisb.com"}],"homepage":"https://github.com/ashbrener/openclaw-workspace-sync#readme","bugs":{"url":"https://github.com/ashbrener/openclaw-workspace-sync/issues"},"dist":{"shasum":"d2aa56687ef2a1db821dc9be4097bdf3407abbd5","tarball":"https://registry.npmjs.org/openclaw-workspace-sync/-/openclaw-workspace-sync-1.4.2.tgz","fileCount":24,"integrity":"sha512-qpQg89j6k4cCyeiguZp1yWLsMRZ3QWyQPVJ70fTh52KObcSQT+4Jr4F0VybSi19TAefDzIhIuhL1IOzx1CZSkw==","signatures":[{"sig":"MEYCIQD++0d71Xes1BjOAQcVXDGnX0zDnKZnPDLVL9OeiSg95AIhAJtkJcSaMgpry9T+QSlXMt6+cMnylqGqrtw7uznm0oV7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":138341},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"a6d2e4d73b2baefe47991cf343a47834a50da8da","scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"ashleybrener","email":"ashley@frisb.com"},"openclaw":{"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/ashbrener/openclaw-workspace-sync.git","type":"git"},"_npmVersion":"10.9.3","description":"Bidirectional workspace cloud sync via rclone (Dropbox, Google Drive, S3, OneDrive, 70+ providers)","directories":{},"_nodeVersion":"22.18.0","dependencies":{"@clack/prompts":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","typescript":"5.7","@types/node":"^22.19.11"},"_npmOperationalInternal":{"tmp":"tmp/openclaw-workspace-sync_1.4.2_1772430424563_0.4886901414779985","host":"s3://npm-registry-packages-npm-production"}},"1.4.3":{"name":"openclaw-workspace-sync","version":"1.4.3","keywords":["openclaw","openclaw-plugin","workspace","sync","rclone","dropbox","google-drive","s3","cloud-storage","backup"],"author":{"name":"ashbrener"},"license":"MIT","_id":"openclaw-workspace-sync@1.4.3","maintainers":[{"name":"ashleybrener","email":"ashley@frisb.com"}],"homepage":"https://github.com/ashbrener/openclaw-workspace-sync#readme","bugs":{"url":"https://github.com/ashbrener/openclaw-workspace-sync/issues"},"dist":{"shasum":"7ec3a9d898e973734ffb67450bb930096705bb5d","tarball":"https://registry.npmjs.org/openclaw-workspace-sync/-/openclaw-workspace-sync-1.4.3.tgz","fileCount":24,"integrity":"sha512-K3W+wXq7y324nDykThxsUinqJ9nO0m1O127PQrU5BoM77N8rJLvEONYNSQrGaYCbEnS3qQOMN3+8cAiPTLLsMw==","signatures":[{"sig":"MEYCIQCHzcIIyDIcdRqkG6QtR0yffzPMsQ9qsOTq0Pg6lIz6kQIhAKwWeELbTG+odWotNTgu8D6pDBHrrxRJqbgsza32tczz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":138629},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"3a86b6ab8656cc04897b549d362f7977f5813f71","scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"ashleybrener","email":"ashley@frisb.com"},"openclaw":{"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/ashbrener/openclaw-workspace-sync.git","type":"git"},"_npmVersion":"10.9.3","description":"Bidirectional workspace cloud sync via rclone (Dropbox, Google Drive, S3, OneDrive, 70+ providers)","directories":{},"_nodeVersion":"22.18.0","dependencies":{"@clack/prompts":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","typescript":"5.7","@types/node":"^22.19.11"},"_npmOperationalInternal":{"tmp":"tmp/openclaw-workspace-sync_1.4.3_1772431168336_0.7178644160704315","host":"s3://npm-registry-packages-npm-production"}},"1.4.4":{"name":"openclaw-workspace-sync","version":"1.4.4","keywords":["openclaw","openclaw-plugin","workspace","sync","rclone","dropbox","google-drive","s3","cloud-storage","backup"],"author":{"name":"ashbrener"},"license":"MIT","_id":"openclaw-workspace-sync@1.4.4","maintainers":[{"name":"ashleybrener","email":"ashley@frisb.com"}],"homepage":"https://github.com/ashbrener/openclaw-workspace-sync#readme","bugs":{"url":"https://github.com/ashbrener/openclaw-workspace-sync/issues"},"dist":{"shasum":"aa2ed303efef603d5a887ea1ff620dad8b6ed47e","tarball":"https://registry.npmjs.org/openclaw-workspace-sync/-/openclaw-workspace-sync-1.4.4.tgz","fileCount":24,"integrity":"sha512-tXBSdglyWcivjqrTkp194l4oVbBD1+4VWUNtaIEBeB7BSllVO0gVvvn/UtZth97M6I/9kzMnb4VYB590Q4T7tg==","signatures":[{"sig":"MEYCIQC7et2vdlJhZr/SAFZ3P/3MCnNpdhCjx2SIXeRtsi/ZpQIhAKPPVcnUMd/wOKj8GfB+EaL44s2awttnAB4YE9YH0HC2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":143920},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"45fc0dfa2e9567a181bb13e15993dfb465463f31","scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"ashleybrener","email":"ashley@frisb.com"},"openclaw":{"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/ashbrener/openclaw-workspace-sync.git","type":"git"},"_npmVersion":"10.9.3","description":"Bidirectional workspace cloud sync via rclone (Dropbox, Google Drive, S3, OneDrive, 70+ providers)","directories":{},"_nodeVersion":"22.18.0","dependencies":{"@clack/prompts":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","typescript":"5.7","@types/node":"^22.19.11"},"_npmOperationalInternal":{"tmp":"tmp/openclaw-workspace-sync_1.4.4_1772432033039_0.7186155788329667","host":"s3://npm-registry-packages-npm-production"}},"1.4.5":{"name":"openclaw-workspace-sync","version":"1.4.5","keywords":["openclaw","openclaw-plugin","workspace","sync","rclone","dropbox","google-drive","s3","cloud-storage","backup"],"author":{"name":"ashbrener"},"license":"MIT","_id":"openclaw-workspace-sync@1.4.5","maintainers":[{"name":"ashleybrener","email":"ashley@frisb.com"}],"homepage":"https://github.com/ashbrener/openclaw-workspace-sync#readme","bugs":{"url":"https://github.com/ashbrener/openclaw-workspace-sync/issues"},"dist":{"shasum":"39f986de0220ae9bc5d566656eb37ec0cc0ebd78","tarball":"https://registry.npmjs.org/openclaw-workspace-sync/-/openclaw-workspace-sync-1.4.5.tgz","fileCount":24,"integrity":"sha512-d4fnFINgZgC4bX2JTJJwJzJ++XOV7xylOep8/X05FYdR7tHcWtPjyRAcEm53WogyMsI/FE3grvQjrWYWlL+UBw==","signatures":[{"sig":"MEUCIBLL2SJawIGK5Lg1AJ1UdYVG6/XrJacVQTHp5uRYlTXuAiEA9ys/rZvbcTgOIiFiXeT4TY9Two33VythzTQCSb5lNx4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":143778},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"45fc0dfa2e9567a181bb13e15993dfb465463f31","scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"ashleybrener","email":"ashley@frisb.com"},"openclaw":{"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/ashbrener/openclaw-workspace-sync.git","type":"git"},"_npmVersion":"10.9.3","description":"Bidirectional workspace cloud sync via rclone (Dropbox, Google Drive, S3, OneDrive, 70+ providers)","directories":{},"_nodeVersion":"22.18.0","dependencies":{"@clack/prompts":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","typescript":"5.7","@types/node":"^22.19.11"},"_npmOperationalInternal":{"tmp":"tmp/openclaw-workspace-sync_1.4.5_1772433242340_0.23340097077407984","host":"s3://npm-registry-packages-npm-production"}},"1.4.6":{"name":"openclaw-workspace-sync","version":"1.4.6","keywords":["openclaw","openclaw-plugin","workspace","sync","rclone","dropbox","google-drive","s3","cloud-storage","backup"],"author":{"name":"ashbrener"},"license":"MIT","_id":"openclaw-workspace-sync@1.4.6","maintainers":[{"name":"ashleybrener","email":"ashley@frisb.com"}],"homepage":"https://github.com/ashbrener/openclaw-workspace-sync#readme","bugs":{"url":"https://github.com/ashbrener/openclaw-workspace-sync/issues"},"dist":{"shasum":"478cfb57c4e66d85f5dfaaef1e8e59554b2cbeb1","tarball":"https://registry.npmjs.org/openclaw-workspace-sync/-/openclaw-workspace-sync-1.4.6.tgz","fileCount":24,"integrity":"sha512-PNUXY0xC2CDrf16BFtLZZpKzoMfBqvvbhkWUnlyJv9QIEF4gcKOeIJgFMzN2SakmMZdAYhxkLYqgFiDlW7W1uQ==","signatures":[{"sig":"MEUCIEpMz7ae/igFYaT88zojWW93+wteCSwQ4o+T6PjKOQstAiEA/ZAuEJW+tIPEwZrnhjdomA/SE7S9ymhQwJ0OaIkn0ls=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":145433},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"f9aba88db72806190f006c693a276e6aa6b69724","scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"ashleybrener","email":"ashley@frisb.com"},"openclaw":{"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/ashbrener/openclaw-workspace-sync.git","type":"git"},"_npmVersion":"10.9.3","description":"Bidirectional workspace cloud sync via rclone (Dropbox, Google Drive, S3, OneDrive, 70+ providers)","directories":{},"_nodeVersion":"22.18.0","dependencies":{"@clack/prompts":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","typescript":"5.7","@types/node":"^22.19.11"},"_npmOperationalInternal":{"tmp":"tmp/openclaw-workspace-sync_1.4.6_1772441757885_0.07385304634757239","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"openclaw-workspace-sync","version":"2.0.0","keywords":["openclaw","openclaw-plugin","workspace","sync","rclone","dropbox","google-drive","s3","cloud-storage","backup"],"author":{"name":"ashbrener"},"license":"MIT","_id":"openclaw-workspace-sync@2.0.0","maintainers":[{"name":"ashleybrener","email":"ashley@frisb.com"}],"homepage":"https://github.com/ashbrener/openclaw-workspace-sync#readme","bugs":{"url":"https://github.com/ashbrener/openclaw-workspace-sync/issues"},"dist":{"shasum":"4793733e170349b50785fd962589007ef0efa09d","tarball":"https://registry.npmjs.org/openclaw-workspace-sync/-/openclaw-workspace-sync-2.0.0.tgz","fileCount":24,"integrity":"sha512-Gdg2epLsqMh2UwBtIhSnlZTXJLHyqjeuim1+rFRo8+Ls4AkUas95njiwCg7fen/Eay1s/0v47dEl3RGvgj1b6Q==","signatures":[{"sig":"MEUCIEP5srrOXdjHY3SU6C8Lx1qolnJ+MzsaAqtyZqgf207iAiEA7rKyVSxcSMVkd9I8Jhso25E0iOeB1BQ+a1fZVcVe1po=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":159521},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"c0158c15253fedae7aba3d02cbc395cf66697fea","scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"ashleybrener","email":"ashley@frisb.com"},"openclaw":{"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/ashbrener/openclaw-workspace-sync.git","type":"git"},"_npmVersion":"10.9.3","description":"Workspace cloud sync via rclone — mirror (remote→local) or bisync (Dropbox, Google Drive, S3, OneDrive, 70+ providers)","directories":{},"_nodeVersion":"22.18.0","dependencies":{"@clack/prompts":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","typescript":"5.7","@types/node":"^22.19.11"},"_npmOperationalInternal":{"tmp":"tmp/openclaw-workspace-sync_2.0.0_1772630714100_0.7376583217876997","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"openclaw-workspace-sync","version":"2.1.0","keywords":["openclaw","openclaw-plugin","workspace","sync","rclone","dropbox","google-drive","s3","cloud-storage","backup"],"author":{"name":"ashbrener"},"license":"MIT","_id":"openclaw-workspace-sync@2.1.0","maintainers":[{"name":"ashleybrener","email":"ashley@frisb.com"}],"homepage":"https://github.com/ashbrener/openclaw-workspace-sync#readme","bugs":{"url":"https://github.com/ashbrener/openclaw-workspace-sync/issues"},"dist":{"shasum":"45ba0fa78ceb01047db91aa628f79c6e7d0871e3","tarball":"https://registry.npmjs.org/openclaw-workspace-sync/-/openclaw-workspace-sync-2.1.0.tgz","fileCount":24,"integrity":"sha512-KnawJeMGttKiOIjnqpMm6j4i0TuYD/vgI0N9UAz6IQTMdPt+QApf4Z8mOKPdGZJImZ/YCw8aRtgYmmQ06NPepQ==","signatures":[{"sig":"MEQCIEtQetAlHNUjYMco1j4BNNlOrqVp4XvSZ3k5H21ncUzpAiBP7yCB4OBlKTTbGe8r32fVD3UZkJlDjsKsAD1jatlxaw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":181840},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"9dd45a624236f5e0e5d93014c71c8fede8d465af","scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"ashleybrener","email":"ashley@frisb.com"},"openclaw":{"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/ashbrener/openclaw-workspace-sync.git","type":"git"},"_npmVersion":"10.9.3","description":"Workspace cloud sync via rclone — mailbox (inbox/outbox), mirror, or bisync (Dropbox, Google Drive, S3, OneDrive, 70+ providers)","directories":{},"_nodeVersion":"22.18.0","dependencies":{"@clack/prompts":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","typescript":"5.7","@types/node":"^22.19.11"},"_npmOperationalInternal":{"tmp":"tmp/openclaw-workspace-sync_2.1.0_1772905004408_0.5371484114578657","host":"s3://npm-registry-packages-npm-production"}},"2.1.1":{"name":"openclaw-workspace-sync","version":"2.1.1","keywords":["openclaw","openclaw-plugin","workspace","sync","rclone","dropbox","google-drive","s3","cloud-storage","backup"],"author":{"name":"ashbrener"},"license":"MIT","_id":"openclaw-workspace-sync@2.1.1","maintainers":[{"name":"ashleybrener","email":"ashley@frisb.com"}],"homepage":"https://github.com/ashbrener/openclaw-workspace-sync#readme","bugs":{"url":"https://github.com/ashbrener/openclaw-workspace-sync/issues"},"dist":{"shasum":"235b6725afcdc1e81c28e4b5aa201357768c5f17","tarball":"https://registry.npmjs.org/openclaw-workspace-sync/-/openclaw-workspace-sync-2.1.1.tgz","fileCount":29,"integrity":"sha512-NLLBpeJwm82C/Pl8LbkteCfCMvCX0i5iGztAJ9vd+DGN6t8Y9ZP7doExxyYn1i1/pPLlKWu0tu0hbyzA2ag0HQ==","signatures":[{"sig":"MEQCIGPZLHUPnRDR0jPEBY7yrcQdqefgvAa+f9nFHPnIfCsbAiBDE8NyDGlgT1LIFoTjXp2jPGNcutv3NwZ8zRZJW/QeeQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":824979},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"5e30a8847c050b1a7016fb0f177f7fadefdf7e75","scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","postpublish":"git checkout README.md","prepublishOnly":"node scripts/render-mermaid.js && npm run build"},"_npmUser":{"name":"ashleybrener","email":"ashley@frisb.com"},"openclaw":{"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/ashbrener/openclaw-workspace-sync.git","type":"git"},"_npmVersion":"10.9.3","description":"Workspace cloud sync via rclone — mailbox (inbox/outbox), mirror, or bisync (Dropbox, Google Drive, S3, OneDrive, 70+ providers)","directories":{},"_nodeVersion":"22.18.0","dependencies":{"@clack/prompts":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","typescript":"5.7","@types/node":"^22.19.11","@mermaid-js/mermaid-cli":"^11.12.0"},"_npmOperationalInternal":{"tmp":"tmp/openclaw-workspace-sync_2.1.1_1772964704683_0.07164498454512058","host":"s3://npm-registry-packages-npm-production"}},"2.1.2":{"name":"openclaw-workspace-sync","version":"2.1.2","keywords":["openclaw","openclaw-plugin","workspace","sync","rclone","dropbox","google-drive","s3","cloud-storage","backup"],"author":{"name":"ashbrener"},"license":"MIT","_id":"openclaw-workspace-sync@2.1.2","maintainers":[{"name":"ashleybrener","email":"ashley@frisb.com"}],"homepage":"https://github.com/ashbrener/openclaw-workspace-sync#readme","bugs":{"url":"https://github.com/ashbrener/openclaw-workspace-sync/issues"},"dist":{"shasum":"9f34f2306307da706ca28d6431397e84535a06a0","tarball":"https://registry.npmjs.org/openclaw-workspace-sync/-/openclaw-workspace-sync-2.1.2.tgz","fileCount":29,"integrity":"sha512-Z3idNTXEwdOG2b+MbwDsUGZ9m4/ZfM8ij0qR6nEHkhCiJ1/c7GitxwCVWOY1tbmYmxAsp26XL0TXHOtg2vDrsQ==","signatures":[{"sig":"MEYCIQDtL2ln84GQz71uSi/07Jn45x0liuPMYk16AA/AzCCQEwIhAIEoSIk+Pimy0IbKPA8uTKguL3I4/o6idX5mWd/eM86F","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":825192},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"4c08a5a69d49ff21c3d856d481436e391625372f","scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","postpublish":"git checkout README.md","prepublishOnly":"node scripts/render-mermaid.js && npm run build"},"_npmUser":{"name":"ashleybrener","email":"ashley@frisb.com"},"openclaw":{"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/ashbrener/openclaw-workspace-sync.git","type":"git"},"_npmVersion":"10.9.3","description":"Workspace cloud sync via rclone — mailbox (inbox/outbox), mirror, or bisync (Dropbox, Google Drive, S3, OneDrive, 70+ providers)","directories":{},"_nodeVersion":"22.18.0","dependencies":{"@clack/prompts":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","typescript":"5.7","@types/node":"^22.19.11","@mermaid-js/mermaid-cli":"^11.12.0"},"_npmOperationalInternal":{"tmp":"tmp/openclaw-workspace-sync_2.1.2_1772964829911_0.8529917262919966","host":"s3://npm-registry-packages-npm-production"}},"2.1.3":{"name":"openclaw-workspace-sync","version":"2.1.3","keywords":["openclaw","openclaw-plugin","workspace","sync","rclone","dropbox","google-drive","s3","cloud-storage","backup"],"author":{"name":"ashbrener"},"license":"MIT","_id":"openclaw-workspace-sync@2.1.3","maintainers":[{"name":"ashleybrener","email":"ashley@frisb.com"}],"homepage":"https://github.com/ashbrener/openclaw-workspace-sync#readme","bugs":{"url":"https://github.com/ashbrener/openclaw-workspace-sync/issues"},"dist":{"shasum":"47a50a6d8757a8f0005351a4035432a4145a59cb","tarball":"https://registry.npmjs.org/openclaw-workspace-sync/-/openclaw-workspace-sync-2.1.3.tgz","fileCount":30,"integrity":"sha512-I1yqvEcKhtHeo9L+5sUlPlD9EVQXfUKP18jxSdeMLJyke1t8his5v4MbNA8KeeTXU0myARTZ17vTc1nmu5caSQ==","signatures":[{"sig":"MEUCIGkK3O3svY1oX0iR5CXoYc67RCKPHB6PfckqJzogWPPsAiEA/FVScy0fPJRDZ4MNawfwms+vuxkIWZ+GOinRE122wV8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/openclaw-workspace-sync@2.1.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":846527},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"763d2c78f09692eb98f7633ad0d7d9d611b0cd06","scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","render-readme":"node scripts/render-mermaid.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:026435e3-04e4-45dd-bae2-033073440042"}},"openclaw":{"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/ashbrener/openclaw-workspace-sync.git","type":"git"},"_npmVersion":"11.11.0","description":"Workspace cloud sync via rclone — mailbox (inbox/outbox), mirror, or bisync (Dropbox, Google Drive, S3, OneDrive, 70+ providers)","directories":{},"_nodeVersion":"22.22.0","dependencies":{"@clack/prompts":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","typescript":"5.7","@types/node":"^22.19.11","@mermaid-js/mermaid-cli":"^11.12.0"},"_npmOperationalInternal":{"tmp":"tmp/openclaw-workspace-sync_2.1.3_1773002580690_0.5556345686727155","host":"s3://npm-registry-packages-npm-production"}},"2.1.4":{"name":"openclaw-workspace-sync","version":"2.1.4","keywords":["openclaw","openclaw-plugin","workspace","sync","rclone","dropbox","google-drive","s3","cloud-storage","backup"],"author":{"name":"ashbrener"},"license":"MIT","_id":"openclaw-workspace-sync@2.1.4","maintainers":[{"name":"ashleybrener","email":"ashley@frisb.com"}],"homepage":"https://github.com/ashbrener/openclaw-workspace-sync#readme","bugs":{"url":"https://github.com/ashbrener/openclaw-workspace-sync/issues"},"dist":{"shasum":"92ff4bdf7ae7f3003313c164ddcadc53c0db30e4","tarball":"https://registry.npmjs.org/openclaw-workspace-sync/-/openclaw-workspace-sync-2.1.4.tgz","fileCount":31,"integrity":"sha512-j8vph3xbhfMNOCSKmFHCioTgcJ8HgZIVarZd2p0A/fJ8Yln4LgWEnlNwaJeoR10f7SKuNNhprPBRmZf90XM2Zw==","signatures":[{"sig":"MEQCIHCUrcxl5eQSfIcEREHoZubH8RJ2nhbLNga1w2wV6+M9AiARAutRCtXYOEvEc1i388oqtXL6CxLXuqZPlE5za1n/vA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/openclaw-workspace-sync@2.1.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":858168},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"b2c641c75d53827af59142af6fb776113cbcc20f","scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","render-readme":"node scripts/render-mermaid.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:026435e3-04e4-45dd-bae2-033073440042"}},"openclaw":{"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/ashbrener/openclaw-workspace-sync.git","type":"git"},"_npmVersion":"11.11.0","description":"Workspace cloud sync via rclone — mailbox (inbox/outbox), mirror, or bisync (Dropbox, Google Drive, S3, OneDrive, 70+ providers)","directories":{},"_nodeVersion":"22.22.0","dependencies":{"@clack/prompts":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","typescript":"5.7","@types/node":"^22.19.11","@mermaid-js/mermaid-cli":"^11.12.0"},"_npmOperationalInternal":{"tmp":"tmp/openclaw-workspace-sync_2.1.4_1773080189660_0.7310315328671908","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"openclaw-workspace-sync","version":"2.2.0","keywords":["openclaw","openclaw-plugin","workspace","sync","rclone","dropbox","google-drive","s3","cloud-storage","backup"],"author":{"name":"ashbrener"},"license":"MIT","_id":"openclaw-workspace-sync@2.2.0","maintainers":[{"name":"ashleybrener","email":"ashley@frisb.com"}],"homepage":"https://github.com/ashbrener/openclaw-workspace-sync#readme","bugs":{"url":"https://github.com/ashbrener/openclaw-workspace-sync/issues"},"dist":{"shasum":"7cd1503f7b2c2e70ad28d46ff99bbaec0f478c57","tarball":"https://registry.npmjs.org/openclaw-workspace-sync/-/openclaw-workspace-sync-2.2.0.tgz","fileCount":31,"integrity":"sha512-v1XoyXJMiL6+4itH60LMC2dl/kvl/+YSl/dqkEGG5L3jHZo35oz8DQgiczafIOswBFXhr3RSEHpGbmvjUZiO8Q==","signatures":[{"sig":"MEUCIHvxYscStt6rrZbzA21I8djU5MUpRnozZGkZtvQCNpXwAiEAwkFbGmSxHGOgCp0x0gJasQH1rBbF1jeO1un/JDrZrfE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/openclaw-workspace-sync@2.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":867747},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"9bd5c32e961a97802d31936badebd9af695db8db","scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","render-readme":"node scripts/render-mermaid.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:026435e3-04e4-45dd-bae2-033073440042"}},"openclaw":{"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/ashbrener/openclaw-workspace-sync.git","type":"git"},"_npmVersion":"11.11.0","description":"Workspace cloud sync via rclone — mailbox (inbox/outbox), mirror, or bisync (Dropbox, Google Drive, S3, OneDrive, 70+ providers)","directories":{},"_nodeVersion":"22.22.0","dependencies":{"@clack/prompts":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","typescript":"5.7","@types/node":"^22.19.11","@mermaid-js/mermaid-cli":"^11.12.0"},"_npmOperationalInternal":{"tmp":"tmp/openclaw-workspace-sync_2.2.0_1773084618374_0.40556459867330186","host":"s3://npm-registry-packages-npm-production"}},"2.3.0":{"name":"openclaw-workspace-sync","version":"2.3.0","keywords":["openclaw","openclaw-plugin","workspace","sync","rclone","dropbox","google-drive","s3","cloud-storage","backup"],"author":{"name":"ashbrener"},"license":"MIT","_id":"openclaw-workspace-sync@2.3.0","maintainers":[{"name":"ashleybrener","email":"ashley@frisb.com"}],"homepage":"https://github.com/ashbrener/openclaw-workspace-sync#readme","bugs":{"url":"https://github.com/ashbrener/openclaw-workspace-sync/issues"},"dist":{"shasum":"c8420d6fb67a19b9fbbdb5a1c147fea2d88ab24a","tarball":"https://registry.npmjs.org/openclaw-workspace-sync/-/openclaw-workspace-sync-2.3.0.tgz","fileCount":36,"integrity":"sha512-rcTND/5gO6QUSRPfA0ICH318EN+dRUS3J64vGArrUdLMcfcDrWHivgLnXayc+XQJ7trgEM26pqMwW9s0pFsvMw==","signatures":[{"sig":"MEQCIHcf3yFzIe871g9nQS/yWJ7UTlIun2IUIA9gYZz1NdZVAiAZ2XlqEVTm4V29rzJQ0oEW8hjPDlcq5wgRVpnQFk9Iuw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/openclaw-workspace-sync@2.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":970804},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"1e2bbe4a24b6ca3e4466c698932e19124045f370","scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","render-readme":"node scripts/render-mermaid.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:026435e3-04e4-45dd-bae2-033073440042"}},"openclaw":{"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/ashbrener/openclaw-workspace-sync.git","type":"git"},"_npmVersion":"11.11.1","description":"Workspace cloud sync via rclone — mailbox (inbox/outbox), mirror, or bisync (Dropbox, Google Drive, S3, OneDrive, 70+ providers)","directories":{},"_nodeVersion":"22.22.0","dependencies":{"@clack/prompts":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","typescript":"5.7","@types/node":"^22.19.11","@mermaid-js/mermaid-cli":"^11.12.0"},"_npmOperationalInternal":{"tmp":"tmp/openclaw-workspace-sync_2.3.0_1773588394940_0.5647472609778339","host":"s3://npm-registry-packages-npm-production"}},"2.3.1":{"name":"openclaw-workspace-sync","version":"2.3.1","keywords":["openclaw","openclaw-plugin","workspace","sync","rclone","dropbox","google-drive","s3","cloud-storage","backup"],"author":{"name":"ashbrener"},"license":"MIT","_id":"openclaw-workspace-sync@2.3.1","maintainers":[{"name":"ashleybrener","email":"ashley@frisb.com"}],"homepage":"https://github.com/ashbrener/openclaw-workspace-sync#readme","bugs":{"url":"https://github.com/ashbrener/openclaw-workspace-sync/issues"},"dist":{"shasum":"e3476389a68ae70f05143cd1499da5c7b81acb09","tarball":"https://registry.npmjs.org/openclaw-workspace-sync/-/openclaw-workspace-sync-2.3.1.tgz","fileCount":36,"integrity":"sha512-HuRNqZhbC7E34SBOoBVxaEbRb3PcdWEpKhB73LpDy2AZKQly7rEQ7xCmIee6m0Rq0rFRrMHlzZEvvhM6hBi5Jw==","signatures":[{"sig":"MEQCIGG+OvRLsfXs7CvS2XbGlvx/kwesfhdi+5DoLo8AqPGLAiAiInpCNLkQc0b3W1IMxXR1wB9j/PiJ8U0UmWtw2wUfsA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/openclaw-workspace-sync@2.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":974184},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"ebd6ab719eb266d4d7d1a2489ba9cd8928977d36","scripts":{"test":"vitest run","build":"tsc","test:watch":"vitest","render-readme":"node scripts/render-mermaid.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:026435e3-04e4-45dd-bae2-033073440042"}},"openclaw":{"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/ashbrener/openclaw-workspace-sync.git","type":"git"},"_npmVersion":"11.11.1","description":"Workspace cloud sync & encrypted backup via rclone — mailbox, mirror, bisync + AES-256 snapshots (Dropbox, S3, R2, 70+ providers)","directories":{},"_nodeVersion":"22.22.1","dependencies":{"@clack/prompts":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","typescript":"5.7","@types/node":"^22.19.11","@mermaid-js/mermaid-cli":"^11.12.0"},"_npmOperationalInternal":{"tmp":"tmp/openclaw-workspace-sync_2.3.1_1773637013550_0.4813202955559175","host":"s3://npm-registry-packages-npm-production"}},"2.4.0":{"name":"openclaw-workspace-sync","version":"2.4.0","description":"Workspace cloud sync & encrypted backup via rclone — mailbox, mirror, bisync + AES-256 snapshots (Dropbox, S3, R2, 70+ providers)","type":"module","main":"dist/index.js","types":"dist/index.d.ts","license":"MIT","author":{"name":"ashbrener"},"repository":{"type":"git","url":"git+https://github.com/ashbrener/openclaw-workspace-sync.git"},"keywords":["openclaw","openclaw-plugin","workspace","sync","rclone","dropbox","google-drive","s3","cloud-storage","backup"],"dependencies":{"@clack/prompts":"^1.0.1"},"devDependencies":{"@mermaid-js/mermaid-cli":"^11.12.0","@types/node":"^22.19.11","typescript":"5.7","vitest":"^3.2.4"},"openclaw":{"extensions":["./dist/index.js"]},"scripts":{"build":"tsc","prepublishOnly":"npm run build","render-readme":"node scripts/render-mermaid.js","test":"vitest run","test:watch":"vitest"},"gitHead":"167db8dc0813512cd6ff461cfbfa39a0765d1fae","_id":"openclaw-workspace-sync@2.4.0","bugs":{"url":"https://github.com/ashbrener/openclaw-workspace-sync/issues"},"homepage":"https://github.com/ashbrener/openclaw-workspace-sync#readme","_nodeVersion":"22.22.1","_npmVersion":"11.11.1","dist":{"integrity":"sha512-Yd5AzJ4quHWK2KBWMg0fB3Q7C23ITNi0qvrPVaGgJWj39hn/AYKi8x6MVMV+jcObE/7bR2bEGEXkBd0C/XzUkw==","shasum":"32ba177e47b2984994f2ae4ab13713f6ee3b6b83","tarball":"https://registry.npmjs.org/openclaw-workspace-sync/-/openclaw-workspace-sync-2.4.0.tgz","fileCount":36,"unpackedSize":975448,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/openclaw-workspace-sync@2.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIDXOyWLuUJ2P1piCqTipmOGstBHwGsrtPEbSPk2ekGzIAiBc5AHhmOwRkeVNFPeY5LKd2/0Y1HMthA9V2X8Q3y4b5Q=="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:026435e3-04e4-45dd-bae2-033073440042"}},"directories":{},"maintainers":[{"name":"ashleybrener","email":"ashley@frisb.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/openclaw-workspace-sync_2.4.0_1773733779970_0.20097825859417728"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-18T18:11:01.236Z","modified":"2026-03-17T07:49:40.701Z","1.0.0":"2026-02-18T18:11:01.545Z","1.0.1":"2026-02-18T20:02:37.702Z","1.0.2":"2026-02-18T21:51:19.571Z","1.0.3":"2026-02-18T22:00:09.493Z","1.1.0":"2026-02-18T22:09:32.319Z","1.1.1":"2026-02-18T22:17:39.413Z","1.2.0":"2026-02-18T22:26:07.324Z","1.2.1":"2026-02-18T22:27:12.363Z","1.2.2":"2026-02-18T22:30:19.783Z","1.3.0":"2026-02-18T22:34:14.168Z","1.3.1":"2026-02-18T22:44:35.658Z","1.3.2":"2026-02-18T22:49:04.893Z","1.3.3":"2026-02-26T12:05:40.903Z","1.4.0":"2026-03-01T19:28:42.252Z","1.4.1":"2026-03-02T05:13:09.857Z","1.4.2":"2026-03-02T05:47:04.711Z","1.4.3":"2026-03-02T05:59:28.480Z","1.4.4":"2026-03-02T06:13:53.179Z","1.4.5":"2026-03-02T06:34:02.488Z","1.4.6":"2026-03-02T08:55:58.018Z","2.0.0":"2026-03-04T13:25:14.245Z","2.1.0":"2026-03-07T17:36:44.570Z","2.1.1":"2026-03-08T10:11:44.918Z","2.1.2":"2026-03-08T10:13:50.142Z","2.1.3":"2026-03-08T20:43:00.899Z","2.1.4":"2026-03-09T18:16:29.901Z","2.2.0":"2026-03-09T19:30:18.632Z","2.3.0":"2026-03-15T15:26:35.113Z","2.3.1":"2026-03-16T04:56:53.718Z","2.4.0":"2026-03-17T07:49:40.115Z"},"bugs":{"url":"https://github.com/ashbrener/openclaw-workspace-sync/issues"},"author":{"name":"ashbrener"},"license":"MIT","homepage":"https://github.com/ashbrener/openclaw-workspace-sync#readme","keywords":["openclaw","openclaw-plugin","workspace","sync","rclone","dropbox","google-drive","s3","cloud-storage","backup"],"repository":{"type":"git","url":"git+https://github.com/ashbrener/openclaw-workspace-sync.git"},"description":"Workspace cloud sync & encrypted backup via rclone — mailbox, mirror, bisync + AES-256 snapshots (Dropbox, S3, R2, 70+ providers)","maintainers":[{"name":"ashleybrener","email":"ashley@frisb.com"}],"readme":"# OpenClaw Workspace Sync & Backup Plugin\n\nSync and back up your OpenClaw agent workspace to cloud storage via [rclone](https://rclone.org/).\n\n**Sync** your workspace to Dropbox, Google Drive, OneDrive, S3, or [70+ providers](https://rclone.org/overview/) with mailbox, mirror, or bisync modes. **Back up** your entire agent system — workspace, config, sessions, memory — as encrypted snapshots to S3, R2, B2, or any rclone backend.\n\n## What's included\n\n| Feature | What it does | Cost |\n|---------|-------------|------|\n| [**Sync**](#sync) | Live mirror of your workspace to/from cloud storage. Three modes: mailbox (safest), mirror, bisync. | Zero LLM cost — pure file ops |\n| [**Encrypted Backup**](#encrypted-backups) | Streaming encrypted snapshots of your entire agent system to your own bucket. Automatic retention. | Zero LLM cost, zero extra disk |\n\nBoth features use rclone under the hood and share provider credentials. You can use sync alone, backup alone, or both together with different providers — e.g. sync to Dropbox for daily access, backup to R2 for disaster recovery.\n\n## Install\n\n```bash\nopenclaw plugins install openclaw-workspace-sync\n```\n\nOr clone into your extensions directory:\n\n```bash\ncd ~/.openclaw/extensions\ngit clone https://github.com/ashbrener/openclaw-workspace-sync workspace-sync\ncd workspace-sync && npm install --omit=dev\n```\n\n## Quick start\n\n```bash\n# Interactive setup wizard (recommended)\nopenclaw workspace-sync setup\n```\n\nThe setup wizard guides you through:\n1. Checking/installing rclone\n2. Selecting cloud provider\n3. Choosing sync mode\n4. Dropbox app folder option (for scoped access)\n5. Background sync interval\n6. OAuth authorization\n7. First sync\n\nOr configure manually — see [Configuration](#configuration) below.\n\n## Configuration\n\nAdd to your `openclaw.json`. The `sync` and `backup` blocks are independent — use one or both:\n\n```json\n{\n  \"plugins\": {\n    \"entries\": {\n      \"openclaw-workspace-sync\": {\n        \"enabled\": true,\n        \"config\": {\n          \"sync\": {\n            \"provider\": \"dropbox\",\n            \"mode\": \"mailbox\",\n            \"remotePath\": \"\",\n            \"interval\": 180,\n            \"onSessionStart\": true,\n            \"exclude\": [\".git/**\", \"node_modules/**\", \"*.log\"]\n          },\n          \"backup\": {\n            \"enabled\": true,\n            \"provider\": \"s3\",\n            \"bucket\": \"my-backups\",\n            \"prefix\": \"habibi/\",\n            \"interval\": 86400,\n            \"encrypt\": true,\n            \"passphrase\": \"${BACKUP_PASSPHRASE}\",\n            \"include\": [\"workspace\", \"config\", \"cron\", \"memory\"],\n            \"retain\": 7\n          }\n        }\n      }\n    }\n  }\n}\n```\n\n> **Flat format still works.** Putting `provider`, `mode`, etc. at the config root (without `sync`) is supported for backwards compatibility. The nested `{ sync, backup }` format is recommended for clarity.\n\n---\n\n## Sync\n\nLive workspace mirroring via rclone. The remote gateway workspace is the **source of truth**. Changes made by the agent flow down to your local machine through cloud storage. You can send files to the agent through an optional inbox.\n\n<p align=\"center\">\n  <img src=\"https://raw.githubusercontent.com/ashbrener/openclaw-workspace-sync/main/docs/how-it-works.png\" alt=\"How it works — Local Machine syncs to Cloud Provider syncs to Remote Gateway\" width=\"600\" />\n</p>\n\n<p align=\"center\">\n  <img src=\"https://raw.githubusercontent.com/ashbrener/openclaw-workspace-sync/main/docs/architecture.png\" alt=\"Plugin architecture — CLI, Hooks, and Sync Manager feed into rclone wrapper\" width=\"600\" />\n</p>\n\n### Sync modes (breaking change in v2.0)\n\n**`mode` is now required.** Previous versions used bidirectional bisync implicitly. Starting with v2.0, you must explicitly set `\"mode\"` in your config. The plugin will refuse to start and log an error until `mode` is set. This prevents accidental data loss from an unexpected sync direction.\n\n| Mode | Direction | Description |\n|------|-----------|-------------|\n| `mailbox` | Push + inbox/outbox | Workspace pushes to cloud; users drop files in `_outbox` to send them to the agent. **Safest.** |\n| `mirror` | Remote → Local | One-way sync: workspace mirrors down to local. Safe — local can never overwrite remote. |\n| `bisync` | Bidirectional | Full two-way sync. Powerful but requires careful setup. |\n\n**Upgrading from a previous version?** If you were using bisync before, add `\"mode\": \"bisync\"` to your config to preserve the existing behavior. For the safest option, use `\"mode\": \"mailbox\"`.\n\n#### `mailbox` mode (recommended)\n\nThe agent workspace is the source of truth. Each sync cycle:\n\n1. **Push**: `rclone sync` pushes the workspace to the cloud (excluding `_inbox/` and `_outbox/`)\n2. **Drain**: `rclone move` pulls files from the cloud `_outbox/` into the workspace `_inbox/`, deleting them from the cloud after transfer\n\n```mermaid\nflowchart LR\n    subgraph GW[\"Gateway (source of truth)\"]\n        WS[\"/workspace\"]\n        INBOX[\"_inbox/\"]\n    end\n    subgraph CLOUD[\"Cloud Provider\"]\n        CF[\"workspace files\"]\n        OUTBOX_C[\"_outbox/\"]\n    end\n    subgraph LOCAL[\"Your Machine\"]\n        LM[\"local mirror\"]\n        OUTBOX_L[\"_outbox/ (drop files here)\"]\n    end\n    WS -- \"1. rclone sync (push)\" --> CF\n    CF -. \"desktop app (auto)\" .-> LM\n    OUTBOX_L -. \"desktop app (auto)\" .-> OUTBOX_C\n    OUTBOX_C -- \"2. rclone move (drain)\" --> INBOX\n```\n\nThis creates a clean separation:\n\n- **Your local machine** gets a live mirror of the workspace via your cloud provider's desktop app (e.g., Dropbox). You also see an `_outbox/` folder — drop files there to send them to the agent.\n- **The agent workspace** has an `_inbox/` folder where incoming files land. The agent (or a skill) can process them from there.\n\nOn startup, the plugin bootstraps both directories:\n- `rclone mkdir cloud:_outbox` — ensures the cloud `_outbox` exists so your desktop app creates the local folder\n- `mkdir -p <workspace>/_inbox` — ensures the agent's landing zone exists\n\nBecause the push explicitly excludes `_inbox/**` and `_outbox/**`, there is no risk of sync loops or accidental overwrites. Files only flow in one direction through each channel.\n\n##### Inbox notifications (optional)\n\nBy default, mailbox mode is silent — files land in `_inbox` without waking the agent. This keeps costs at zero.\n\nIf you want the agent to react when files arrive, set `\"notifyOnInbox\": true`. After each drain that moves files, the plugin injects a system event like:\n\n> `[workspace-sync] New files in _inbox: report.pdf, data.csv`\n\nThis wakes the agent on its next heartbeat. The agent sees the message and can process the files — for example, reading, summarizing, or filing them.\n\n**This costs credits.** Each notification triggers an agent turn. Only enable it if you want the agent to actively respond to incoming files.\n\n```json\n{\n  \"mode\": \"mailbox\",\n  \"provider\": \"dropbox\",\n  \"remotePath\": \"\",\n  \"interval\": 180,\n  \"notifyOnInbox\": true\n}\n```\n\n#### `mirror` mode\n\nThe agent workspace is the source of truth. Every sync cycle copies the latest workspace state down to your local folder. Local files outside the workspace are never sent up.\n\n```mermaid\nflowchart LR\n    subgraph CLOUD[\"Cloud Provider\"]\n        CF[\"workspace files\"]\n    end\n    subgraph LOCAL[\"Your Machine\"]\n        LM[\"local copy (read-only)\"]\n    end\n    subgraph GW[\"Gateway (source of truth)\"]\n        WS[\"/workspace\"]\n        NOTE[\"agent writes here\"]\n    end\n    CF -- \"rclone sync (pull)\" --> LM\n    WS -. \"rclone sync (push)\" .-> CF\n```\n\nThis is safe: even if something goes wrong, only your local copy is affected — the workspace stays untouched.\n\n##### `ingest` option (mirror mode only)\n\nWant to send files to the agent while using mirror mode? Enable the `ingest` option. This creates a local `inbox/` folder (sibling to the sync folder) that syncs one-way **up** to the workspace. Drop a file in the inbox — it appears on the remote workspace. The inbox is separate from the mirror, so there is no risk of overwriting workspace files.\n\n```json\n{\n  \"mode\": \"mirror\",\n  \"ingest\": true,\n  \"ingestPath\": \"inbox\"\n}\n```\n\nWhen enabled, a local `inbox/` folder syncs its contents to `<remotePath>/inbox/` on the workspace. This is additive only — files are copied up, never deleted from the remote side.\n\n> For a more robust file-exchange pattern, consider `mailbox` mode instead. Mailbox uses `rclone move` to drain files (deleting from the source after transfer), which prevents duplicates and is easier to reason about.\n\n#### `bisync` mode (advanced)\n\nFull bidirectional sync using rclone bisync. Changes on either side propagate to the other.\n\n```mermaid\nflowchart LR\n    subgraph GW[\"Gateway\"]\n        WS[\"/workspace\"]\n    end\n    subgraph CLOUD[\"Cloud Provider\"]\n        CF[\"workspace files\"]\n    end\n    subgraph LOCAL[\"Your Machine\"]\n        LM[\"local copy\"]\n    end\n    WS -- \"rclone bisync\" --> CF\n    CF -- \"rclone bisync\" --> WS\n    CF -. \"desktop app\" .-> LM\n    LM -. \"desktop app\" .-> CF\n```\n\nUse this only if you understand the trade-offs:\n\n- Both sides must be in a known-good state before starting\n- A `--resync` is required once to establish the baseline — and it copies **everything**\n- If bisync state is lost (e.g., after a deploy that wipes ephemeral storage), you must `--resync` again\n- Deleted files can reappear if the other side still has them during a resync\n- On container platforms (Fly.io, Railway), bisync state lives in ephemeral storage and is lost on every deploy\n\nIf you are running on a container platform, `mailbox` mode is strongly recommended.\n\n### Sync config reference\n\n| Key | Type | Default | Description |\n|-----|------|---------|-------------|\n| `provider` | string | `\"off\"` | `dropbox` \\| `gdrive` \\| `onedrive` \\| `s3` \\| `custom` \\| `off` |\n| `mode` | string | **required** | `mailbox` \\| `mirror` \\| `bisync` — see [Sync modes](#sync-modes-breaking-change-in-v20) |\n| `ingest` | boolean | `false` | Enable local inbox for sending files to the agent (mirror mode only) |\n| `ingestPath` | string | `\"inbox\"` | Local subfolder name for ingestion (relative to `localPath`) |\n| `notifyOnInbox` | boolean | `false` | Wake the agent when files arrive in `_inbox` (mailbox mode). Off by default — enabling this costs LLM credits per notification. |\n| `remotePath` | string | `\"openclaw-share\"` | Folder name in cloud storage |\n| `localPath` | string | `\"\"` (workspace root) | Relative subfolder within the workspace to sync. Defaults to the workspace root (e.g. `/data/workspace`). Must be a relative path — absolute paths like `\"/\"` are rejected. Set to a subfolder name like `\"shared\"` to sync only that directory. |\n| `interval` | number | `0` | Background sync interval in seconds (0 = manual only, min 60) |\n| `timeout` | number | `1800` | Max seconds for a single rclone sync operation (min 60) |\n| `onSessionStart` | boolean | `false` | Sync when an agent session begins |\n| `onSessionEnd` | boolean | `false` | Sync when an agent session ends |\n| `remoteName` | string | `\"cloud\"` | rclone remote name |\n| `configPath` | string | auto | Path to rclone.conf |\n| `conflictResolve` | string | `\"newer\"` | `newer` \\| `local` \\| `remote` (bisync only) |\n| `exclude` | string[] | see below | Glob patterns to exclude |\n| `copySymlinks` | boolean | `false` | Follow symlinks during sync |\n\nDefault excludes: `**/.DS_Store`\n\n### Sync CLI commands\n\n```bash\n# Interactive setup wizard\nopenclaw workspace-sync setup\n\n# Check sync status\nopenclaw workspace-sync status\n\n# Sync (behavior depends on mode)\nopenclaw workspace-sync sync\n\n# Preview changes without syncing\nopenclaw workspace-sync sync --dry-run\n\n# One-way sync (explicit, overrides mode for this run)\nopenclaw workspace-sync sync --direction pull   # remote -> local\nopenclaw workspace-sync sync --direction push   # local -> remote\n\n# Force re-establish bisync baseline (bisync mode only)\nopenclaw workspace-sync sync --resync\n\n# Authorize with cloud provider\nopenclaw workspace-sync authorize\nopenclaw workspace-sync authorize --provider gdrive\n\n# List remote files\nopenclaw workspace-sync list\n```\n\n### Auto-sync\n\n#### Session hooks\n\nSync automatically when sessions start or end. These run during existing agent activity and incur zero LLM cost:\n\n```json\n{\n  \"onSessionStart\": true,\n  \"onSessionEnd\": false\n}\n```\n\n#### Periodic background sync\n\nSet `interval` to enable automatic background sync (in seconds):\n\n```json\n{\n  \"interval\": 300,\n  \"timeout\": 3600\n}\n```\n\nThe gateway runs sync in the background at this interval. Minimum interval is 60 seconds. The `timeout` controls how long each sync operation is allowed to run (default: 1800s / 30 min). Increase this for large workspaces or slow connections.\n\nIn `mailbox` mode, periodic sync pushes the workspace to the cloud and drains the `_outbox`. In `mirror` mode, periodic sync pulls the latest workspace state down to local. In `bisync` mode, it runs a full bidirectional sync.\n\n#### External cron (alternative)\n\n```bash\n# Add to crontab (crontab -e)\n*/5 * * * * openclaw workspace-sync sync >> /var/log/openclaw-sync.log 2>&1\n```\n\n### Before your first sync\n\nGetting the initial state right prevents data loss. Each mode has different requirements:\n\n#### `mailbox` mode — starting state\n\nThe first sync **pushes** your local workspace to the cloud. This means rclone makes cloud match local exactly — any files on cloud that don't exist locally will be **deleted**.\n\n**Recommended starting state:** Local workspace is the source of truth (the agent has been writing here), or local and remote are already identical.\n\n**If remote is the source of truth** (e.g. you've been syncing manually or switching from another mode), pull first:\n\n```bash\nrclone sync <remote>:<path> /data/workspace/ --config <config-path> \\\n  --exclude '**/.DS_Store' --exclude '**/.git/**' \\\n  --exclude '**/__pycache__/**' --exclude '**/node_modules/**' \\\n  --verbose\n```\n\nThen verify local matches remote before enabling the plugin.\n\n#### `mirror` mode — starting state\n\nThe first sync **pulls** from cloud to local. Local can be empty, stale, or corrupted — the pull simply overwrites it. **No preparation needed.**\n\n#### `bisync` mode — starting state\n\nThe first sync requires `--resync`, which copies everything from both sides to the other. Any stale or unwanted files on either side will propagate.\n\n**Recommended starting state:** Both sides are identical, or one side is empty and the other has the data you want. Verify both before running `--resync`.\n\n#### General first-sync checklist\n\n1. Run a `--dry-run` first to see what would happen: `openclaw workspace-sync sync --dry-run`\n2. Check the output for unexpected deletions\n3. If everything looks right, run the actual sync\n4. Only then enable periodic sync (`interval` in config)\n\n> For maintenance, recovery, and common problems, see [TROUBLESHOOTING.md](./TROUBLESHOOTING.md).\n\n### Sync safety\n\nCloud sync involves two copies of your data. When things go wrong, one side can overwrite the other. Here is what to keep in mind:\n\n**Mailbox mode is the safest.** The workspace pushes to the cloud; users send files via `_outbox`. The two streams never overlap. Even if your local folder is wiped, the next push re-creates everything. Even if the `_outbox` has stale files, they just land in `_inbox` for the agent to handle.\n\n**Mirror mode is safe by design.** The remote workspace is the authority. Local is a read-only copy. Even if your local folder is empty, stale, or corrupted, the next sync just re-downloads the workspace. The agent's work is never affected by local state.\n\n**Bisync requires both sides to agree.** Bisync tracks what changed since the last sync. If that tracking state is lost (deploy, disk wipe, moving to a new machine), rclone does not know what changed and requires a `--resync`. A resync copies everything from both sides — if one side has stale or unwanted files, they propagate to the other.\n\n**Common pitfalls to avoid:**\n- Setting `localPath` to an absolute path like `\"/\"` — this syncs your entire filesystem, not your workspace. The plugin now rejects absolute paths with a clear error. Use `\"\"` for the workspace root or a relative subfolder like `\"shared\"`.\n- Changing `remotePath` or `localPath` while periodic sync is enabled\n- Running `--resync` without checking both sides first\n- Using `bisync` on container platforms where state is ephemeral\n- Syncing very large directories (use `exclude` patterns liberally)\n\n**If in doubt, use `mailbox` mode.** It gives you a live local mirror of the workspace and a clean way to send files to the agent, with no risk of data loss.\n\n> For recovery procedures, mode switching, and maintenance tips, see [TROUBLESHOOTING.md](./TROUBLESHOOTING.md).\n\n#### Important: `--resync` is destructive (bisync only)\n\n**Never use `--resync` unless you know exactly what it does.** The `--resync` flag tells rclone to throw away its knowledge of what has changed and do a full reconciliation — it copies every file that exists on either side to the other side. This means:\n\n- Files you deleted remotely will come back from local (and vice versa)\n- It transfers your **entire** sync scope, not just recent changes\n- On a large Dropbox, this can take 30+ minutes and fill your disk\n\nNormal bisync (without `--resync`) only transfers files that changed since the last sync. The plugin **never** auto-resyncs. If bisync's internal state gets corrupted, it will log a message telling you to run `--resync` manually — but only do this after confirming both sides are in the state you want.\n\n```bash\n# Only when you explicitly need to re-establish the baseline:\nopenclaw workspace-sync sync --resync\n```\n\n### Sync troubleshooting\n\n#### Token expired\n\n```bash\nopenclaw workspace-sync authorize\n```\n\n#### Conflicts (bisync only)\n\nFiles modified on both sides get a `.conflict` suffix. The winner is determined by `conflictResolve` (default: `newer`). To find conflict files:\n\n```bash\nfind <workspace>/shared -name \"*.conflict\"\n```\n\n#### Stale lock files\n\nThe plugin automatically handles stale rclone lock files. If a sync is interrupted (timeout, crash, kill), the next run detects the stale lock, clears it, and retries. Lock files older than 15 minutes are treated as expired by rclone's `--max-lock` flag.\n\nIf you still see lock errors, you can manually clear them:\n\n```bash\nrclone deletefile ~/.cache/rclone/bisync/<lockfile>.lck\n```\n\n#### Sync times out\n\nIncrease the `timeout` config (in seconds). The default is 1800 (30 min). For large workspaces:\n\n```json\n{\n  \"timeout\": 3600\n}\n```\n\n#### Permission errors\n\n```bash\nchmod -R 755 <workspace>/shared\n```\n\n#### Dropbox rate limiting\n\nDropbox enforces API rate limits (`too_many_requests`). If your workspace has many files (10k+), each sync cycle can consume a large number of API calls just for checking. To avoid hitting limits:\n\n- **Set `interval` high enough** for the sync to complete between cycles. A workspace with ~40k files takes ~2 minutes to scan. An `interval` of 180 (3 min) is the minimum; 300 (5 min) is safer.\n- **Use `exclude` patterns liberally** — skip `node_modules`, `.git`, `__pycache__`, build output, and anything you don't need synced. Fewer files = fewer API calls.\n- **If you see `too_many_requests` errors** in the logs, increase the interval and add more excludes.\n\n---\n\n## Encrypted backups\n\nBack up your entire agent system — workspace, config, cron jobs, memory, sessions — as encrypted snapshots to your own cloud storage. Your bucket, your encryption key, zero monthly fees.\n\n### How it works\n\n```mermaid\nflowchart TD\n    subgraph GW[\"Gateway\"]\n        WS[\"/workspace\"]\n        CFG[\"config / cron / memory\"]\n    end\n    TAR[\"tar cz\"]\n    ENC[\"openssl enc\\n(AES-256)\"]\n    RCAT[\"rclone rcat\"]\n    subgraph REMOTE[\"Your Bucket (S3 / R2 / B2)\"]\n        SNAP[\"backup-2026…Z.tar.gz.enc\"]\n        OLD[\"older snapshots\"]\n    end\n    WS --> TAR\n    CFG --> TAR\n    TAR -- \"pipe\" --> ENC\n    ENC -- \"pipe\" --> RCAT\n    RCAT --> SNAP\n    SNAP -. \"retention prune\" .-> OLD\n```\n\n1. **Streams directly** — `tar | [openssl enc] | rclone rcat` piped straight to the remote. Zero local temp files, zero extra disk needed. A 10 GB workspace on a 1 GB free volume? No problem.\n2. Optionally encrypts with AES-256 (client-side, before upload) via `openssl`\n3. Uploads via rclone to any supported provider (S3, R2, Backblaze B2, Dropbox, etc.)\n4. Prunes old snapshots based on your retention policy\n\n> **Disk-constrained?** Because backups stream directly, you don't need any free disk space for the backup itself. Only the restore downloads to a staging directory.\n\n### Backup config reference\n\n| Key | Type | Default | Description |\n|-----|------|---------|-------------|\n| `enabled` | boolean | `false` | Enable scheduled backups |\n| `provider` | string | parent provider | Cloud provider for backup storage |\n| `bucket` | string | — | S3/R2 bucket name |\n| `prefix` | string | `\"\"` | Path prefix within the bucket (e.g., `habibi/`) |\n| `interval` | number | `86400` | Backup interval in seconds (86400 = daily; clamped to min 300) |\n| `encrypt` | boolean | `false` | Encrypt snapshots with AES-256 before upload |\n| `passphrase` | string | — | Encryption passphrase (use `${BACKUP_PASSPHRASE}` env var) |\n| `include` | string[] | see below | What to back up |\n| `retain` | number or object | `7` | Retention: `7` = keep 7 latest, or `{ daily: 7, weekly: 4 }` |\n| `exclude` | string[] | parent excludes | Glob patterns to exclude from workspace backup |\n\n### Include options\n\n| Item | What gets backed up |\n|------|---------------------|\n| `workspace` | The workspace directory (agent files, projects, etc.) |\n| `config` | `openclaw.json` |\n| `cron` | Cron job schedules and state |\n| `memory` | Memory files (MEMORY.md, etc.) |\n| `sessions` | Session metadata and store |\n| `credentials` | Auth profile credentials |\n| `skills` | Skill files |\n| `hooks` | Webhook configurations and state (Gmail watch, custom hooks) |\n| `extensions` | Installed plugins/extensions (for reproducible restores) |\n| `env` | Environment variables file (`.env`) |\n| `agents` | Multi-agent state (per-agent sessions, subagent registry) |\n| `pages` | Custom pages served by the gateway |\n| `transcripts` | Full conversation logs (JSONL session transcripts) |\n\nDefault: `[\"workspace\", \"config\", \"cron\", \"memory\"]`\n\n### Backup CLI commands\n\n```bash\n# Create a backup now\nopenclaw workspace-sync backup now\n\n# List available snapshots\nopenclaw workspace-sync backup list\n\n# Restore the latest snapshot\nopenclaw workspace-sync backup restore\n\n# Restore a specific snapshot\nopenclaw workspace-sync backup restore --snapshot backup-20260310T020000Z.tar.gz.enc\n\n# Restore to a specific directory (safe — doesn't overwrite live data)\nopenclaw workspace-sync backup restore --to /tmp/restore-test\n\n# Check backup service status\nopenclaw workspace-sync backup status\n```\n\n### Restore safety\n\nBy default, `restore` extracts to a staging directory (`~/.openclaw/.backup-restore/`), not directly over your live workspace. This lets you inspect the contents before copying them into place. Use `--to` to control where files land.\n\n### Backup provider examples\n\n**Cloudflare R2 (free tier: 10GB):**\n\n```json\n{\n  \"backup\": {\n    \"enabled\": true,\n    \"provider\": \"s3\",\n    \"encrypt\": true,\n    \"passphrase\": \"${BACKUP_PASSPHRASE}\",\n    \"s3\": {\n      \"endpoint\": \"https://<account-id>.r2.cloudflarestorage.com\",\n      \"bucket\": \"openclaw-backups\",\n      \"region\": \"auto\",\n      \"accessKeyId\": \"${R2_ACCESS_KEY}\",\n      \"secretAccessKey\": \"${R2_SECRET_KEY}\"\n    }\n  }\n}\n```\n\n**AWS S3:**\n\n```json\n{\n  \"backup\": {\n    \"enabled\": true,\n    \"provider\": \"s3\",\n    \"encrypt\": true,\n    \"passphrase\": \"${BACKUP_PASSPHRASE}\",\n    \"s3\": {\n      \"bucket\": \"my-openclaw-backups\",\n      \"region\": \"us-east-1\",\n      \"accessKeyId\": \"${AWS_ACCESS_KEY_ID}\",\n      \"secretAccessKey\": \"${AWS_SECRET_ACCESS_KEY}\"\n    }\n  }\n}\n```\n\n**Backblaze B2:**\n\n```json\n{\n  \"backup\": {\n    \"enabled\": true,\n    \"provider\": \"s3\",\n    \"encrypt\": true,\n    \"passphrase\": \"${BACKUP_PASSPHRASE}\",\n    \"s3\": {\n      \"endpoint\": \"https://s3.us-west-002.backblazeb2.com\",\n      \"bucket\": \"openclaw-backups\",\n      \"region\": \"us-west-002\",\n      \"accessKeyId\": \"${B2_KEY_ID}\",\n      \"secretAccessKey\": \"${B2_APP_KEY}\"\n    }\n  }\n}\n```\n\n---\n\n## Provider-specific options\n\nThese provider blocks work for both sync and backup. Place them inside the `sync` or `backup` config block as needed.\n\n**Dropbox with app folder (recommended for security):**\n\n```json\n{\n  \"provider\": \"dropbox\",\n  \"remotePath\": \"\",\n  \"dropbox\": {\n    \"appFolder\": true,\n    \"appKey\": \"your-app-key\",\n    \"appSecret\": \"your-app-secret\",\n    \"token\": \"{\\\"access_token\\\":\\\"...\\\"}\"\n  }\n}\n```\n\nWith `appFolder: true`, set `remotePath` to `\"\"`. The app folder root is your sync root — do not repeat the app folder name in `remotePath` or rclone will fail with \"directory not found.\"\n\n**Google Drive:**\n\n```json\n{\n  \"provider\": \"gdrive\",\n  \"remotePath\": \"openclaw-sync\",\n  \"gdrive\": {\n    \"token\": \"{\\\"access_token\\\":\\\"...\\\"}\",\n    \"teamDrive\": \"0ABcDeFgHiJ\",\n    \"rootFolderId\": \"folder-id\"\n  }\n}\n```\n\n`teamDrive` and `rootFolderId` are optional — omit them for personal Google Drive.\n\n**OneDrive:**\n\n```json\n{\n  \"provider\": \"onedrive\",\n  \"remotePath\": \"openclaw-sync\",\n  \"onedrive\": {\n    \"token\": \"{\\\"access_token\\\":\\\"...\\\"}\",\n    \"driveId\": \"drive-id\",\n    \"driveType\": \"business\"\n  }\n}\n```\n\n`driveType` can be `personal`, `business`, or `sharepoint`. Both fields are optional.\n\n**S3 / Cloudflare R2 / Minio:**\n\n```json\n{\n  \"provider\": \"s3\",\n  \"remotePath\": \"openclaw-sync\",\n  \"s3\": {\n    \"endpoint\": \"https://s3.us-east-1.amazonaws.com\",\n    \"bucket\": \"your-bucket\",\n    \"region\": \"us-east-1\",\n    \"accessKeyId\": \"AKID...\",\n    \"secretAccessKey\": \"SECRET...\"\n  }\n}\n```\n\n**Any rclone backend (SFTP, B2, Mega, pCloud, etc.):**\n\n```json\n{\n  \"provider\": \"custom\",\n  \"remotePath\": \"openclaw-sync\",\n  \"custom\": {\n    \"rcloneType\": \"sftp\",\n    \"rcloneOptions\": {\n      \"host\": \"example.com\",\n      \"user\": \"deploy\",\n      \"key_file\": \"/path/to/key\"\n    }\n  }\n}\n```\n\nThe `custom` provider accepts any [rclone backend type](https://rclone.org/overview/) and passes `rcloneOptions` directly to the rclone config. This gives you config-driven access to all 70+ providers without manually editing `rclone.conf`.\n\n### Supported providers\n\n| Provider | Config value | Auth method | Config-driven |\n|----------|-------------|-------------|---------------|\n| Dropbox | `dropbox` | OAuth token | Full (token, appKey, appSecret, appFolder) |\n| Google Drive | `gdrive` | OAuth token | Full (token, teamDrive, rootFolderId) |\n| OneDrive | `onedrive` | OAuth token | Full (token, driveId, driveType) |\n| S3/R2/Minio | `s3` | Access keys | Full (endpoint, bucket, region, credentials) |\n| Any rclone backend | `custom` | Varies | Full (rcloneType + rcloneOptions) |\n\nAll providers are fully config-driven — no manual `rclone.conf` editing needed. The `custom` provider gives access to all [70+ rclone backends](https://rclone.org/overview/) (SFTP, B2, Mega, pCloud, Azure Blob, etc.).\n\n### Dropbox app folder access (recommended)\n\nFor better security, create a scoped Dropbox app that only accesses a single folder:\n\n1. Go to [Dropbox App Console](https://www.dropbox.com/developers/apps)\n2. Click **Create app** > **Scoped access** > **App folder**\n3. Name it (e.g., `openclaw-sync`)\n4. In **Settings** tab, add a **Redirect URI**: `http://localhost:53682/`\n   - This is required for rclone's OAuth flow to work. Without it, Dropbox returns \"Invalid redirect_uri\" during authorization.\n5. In **Permissions** tab, enable:\n   - `files.metadata.read` / `files.metadata.write`\n   - `files.content.read` / `files.content.write`\n6. Copy **App key** and **App secret** from Settings\n\n> **Important:** When using an app folder scoped app, set `\"remotePath\": \"\"` (empty string) in your config. The app folder **is** the root — rclone sees it as `/`. If you set `remotePath` to your app folder name (e.g., `\"openclaw-sync\"`), rclone will look for a subfolder *inside* the app folder with that name and fail with \"directory not found.\"\n\nBenefits:\n- Token only accesses one folder, not your entire Dropbox\n- If token is compromised, blast radius is limited\n- Clean separation — sync folder lives under `Apps/<your-app-name>/`\n\n---\n\n## Deployment recommendations\n\nIf you are running OpenClaw on a cloud container (Fly.io, Railway, Render) or a VPS:\n\n- **Use a separate persistent volume for the workspace.** Container root filesystems are ephemeral — a redeploy wipes everything. Mount a dedicated volume (e.g., Fly.io volumes, EBS, DigitalOcean block storage) at your workspace path so data survives deploys and restarts.\n- **Enable daily volume snapshots.** Most cloud providers offer automated snapshots (Fly.io does this by default with 5-day retention). If something goes wrong — a bad sync, accidental deletion, or a failed reorganization — a recent snapshot lets you restore in minutes instead of rebuilding from scratch.\n- **Test your restore process.** A backup you have never restored is a backup you do not have. Create a volume from a snapshot at least once to confirm the process works and you know the steps.\n- **Use encrypted backups for off-site disaster recovery.** Volume snapshots protect against accidental deletes, but not against provider outages or account issues. Streaming encrypted backups to a separate provider (e.g., R2, B2) gives you a fully independent recovery path.\n\n## Security notes\n\n- **Token storage**: rclone tokens are stored in `rclone.conf` with `0600` permissions\n- **Sensitive files**: Don't sync secrets, API keys, or credentials\n- **Encryption**: Backups support AES-256 client-side encryption. For sync, consider [rclone crypt](https://rclone.org/crypt/) for sensitive data.\n- **App folder**: Use Dropbox app folder access for minimal permissions\n- **Passphrase safety**: Use environment variables (`${BACKUP_PASSPHRASE}`) — never hardcode passphrases in config files\n\n## Development\n\n```bash\n# Install dependencies\nnpm install\n\n# Run tests\nnpm test\n\n# Type check\nnpx tsc --noEmit\n```\n\n## License\n\nMIT\n","readmeFilename":"README.src.md"}