{"_id":"@ubox-tools/deploy-xperience","_rev":"26-3408589873181fc924d65dbc9e2663f5","name":"@ubox-tools/deploy-xperience","dist-tags":{"latest":"1.1.25"},"versions":{"1.0.0":{"name":"@ubox-tools/deploy-xperience","version":"1.0.0","_id":"@ubox-tools/deploy-xperience@1.0.0","maintainers":[{"name":"alves.reme","email":"alves.reme@pm.me"}],"bin":{"deploy-xperience":"deploy.js"},"dist":{"shasum":"b69c862b0fe526ddb1cb06b49f020ebbeb40aa99","tarball":"https://registry.npmjs.org/@ubox-tools/deploy-xperience/-/deploy-xperience-1.0.0.tgz","fileCount":3,"integrity":"sha512-2RPSjmRotBa4ZT9I44TdGtGInIOsedtS+6toIMY5uOhA5ZtEQ8MBCnKKAAsLiXMSgBrk5vp1f3trqrcE+W34/Q==","signatures":[{"sig":"MEYCIQDCUUfNT1Pxq+Vmpym5RUOW7pz/lMCgfcPGS1fZ2dVbFwIhALWsfcg2g41fO7PhTXXPM77GB9uo1YixlP6v7s45BtHV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47463},"engines":{"node":">=18"},"gitHead":"ee196f07d9b04cccb62f8407a41e528d3feb111f","_npmUser":{"name":"alves.reme","email":"alves.reme@pm.me"},"_npmVersion":"10.9.4","description":"Deploy a Ubox experience to studio.ubox.world","directories":{},"_nodeVersion":"22.22.0","dependencies":{"puppeteer":"*"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/deploy-xperience_1.0.0_1772623556177_0.7050658500233014","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@ubox-tools/deploy-xperience","version":"1.1.0","_id":"@ubox-tools/deploy-xperience@1.1.0","maintainers":[{"name":"alves.reme","email":"alves.reme@pm.me"}],"bin":{"deploy-xperience":"deploy.js"},"dist":{"shasum":"8ee887b344ad2785eca64ef73ae9af518705fa02","tarball":"https://registry.npmjs.org/@ubox-tools/deploy-xperience/-/deploy-xperience-1.1.0.tgz","fileCount":3,"integrity":"sha512-FopUsivK8Avz8LDfLqyk2UBLxviziyHPiF63Kdo6JekKX2bcZIk5+ggQxBEemNoinpCqjB/A/Y/YhDykg952pA==","signatures":[{"sig":"MEQCIA8iqJU6m03WAkReC+tDzk/Fm8aY3IopJkHk0X9YHHa/AiAY0vAfTtgBdsqgGH8F+goLARSsWOgxcqh59eATCY/OWg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":49338},"engines":{"node":">=18"},"gitHead":"3930b37028f78f77ce59a9e3bebd6bc8aec856f6","_npmUser":{"name":"alves.reme","email":"alves.reme@pm.me"},"_npmVersion":"10.9.4","description":"Deploy a Ubox experience to studio.ubox.world","directories":{},"_nodeVersion":"22.22.0","dependencies":{"puppeteer":"*"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/deploy-xperience_1.1.0_1772628254862_0.27737669431016565","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@ubox-tools/deploy-xperience","version":"1.1.1","_id":"@ubox-tools/deploy-xperience@1.1.1","maintainers":[{"name":"alves.reme","email":"alves.reme@pm.me"}],"bin":{"deploy-xperience":"deploy.js"},"dist":{"shasum":"346d31eb63153df66ef72749696f9f6c89c4b148","tarball":"https://registry.npmjs.org/@ubox-tools/deploy-xperience/-/deploy-xperience-1.1.1.tgz","fileCount":3,"integrity":"sha512-1GGb6k9HBG0KFHQXBZjcl9Lv+7OnYBHUDMxM9udkMXJSq3sFqnxwmbiavt/84KFYKZM/VHdOprgFVCQMiTxi7Q==","signatures":[{"sig":"MEUCIQD0ptlP6S24l0uxFb77yJ8bBe+iGzUIkgt9T+G/FYJgPQIgP711Wd1zwVvOJXmcFyReBK8cfAX2V+2bQLa2SSohFEQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":49358},"engines":{"node":">=18"},"gitHead":"3930b37028f78f77ce59a9e3bebd6bc8aec856f6","_npmUser":{"name":"alves.reme","email":"alves.reme@pm.me"},"_npmVersion":"10.9.4","description":"Deploy a Ubox experience to studio.ubox.world","directories":{},"_nodeVersion":"22.22.0","dependencies":{"puppeteer":"*"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/deploy-xperience_1.1.1_1772630648401_0.11617539449715686","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"@ubox-tools/deploy-xperience","version":"1.1.2","_id":"@ubox-tools/deploy-xperience@1.1.2","maintainers":[{"name":"alves.reme","email":"alves.reme@pm.me"}],"bin":{"deploy-xperience":"deploy.js"},"dist":{"shasum":"736f566cc5552cac53597754a3a5bcab6759f2fd","tarball":"https://registry.npmjs.org/@ubox-tools/deploy-xperience/-/deploy-xperience-1.1.2.tgz","fileCount":3,"integrity":"sha512-Tp2V3J0k36jBB/gtIPq9b9Z5LU4cPNOtrMvOkQi2JiwrrAQlya8aKesHPECbunU/6e0eETwy3GcRKHbAVk4rQw==","signatures":[{"sig":"MEQCIE96Vfvq1cgIsSISbIw+KrW1raexmCs4+n6KOsqtAgzXAiBj6Z+JsibF0ICMgaAkCFEckVsz4BqSHbWWZ6B68nK2OA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":49718},"engines":{"node":">=18"},"gitHead":"3930b37028f78f77ce59a9e3bebd6bc8aec856f6","_npmUser":{"name":"alves.reme","email":"alves.reme@pm.me"},"_npmVersion":"10.9.4","description":"Deploy a Ubox experience to studio.ubox.world","directories":{},"_nodeVersion":"22.22.0","dependencies":{"puppeteer":"*"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/deploy-xperience_1.1.2_1772632061430_0.9669841927898382","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"@ubox-tools/deploy-xperience","version":"1.1.3","_id":"@ubox-tools/deploy-xperience@1.1.3","maintainers":[{"name":"alves.reme","email":"alves.reme@pm.me"}],"bin":{"deploy-xperience":"deploy.js"},"dist":{"shasum":"a6e0fa8f10a2a0656ed014d75a83e97bbb6d1402","tarball":"https://registry.npmjs.org/@ubox-tools/deploy-xperience/-/deploy-xperience-1.1.3.tgz","fileCount":3,"integrity":"sha512-Ac0Zd32bNUJblyz/dsvMy4G5AHuH+4sOOKXzKBHxlTsIpjLUqfXaL6k6CHqiq9DOQ6TBPBBUpp3y7LIZvs2WTA==","signatures":[{"sig":"MEYCIQCVBXWh8AEot1N1vymyH75erlkzwrbILBcSXlRotnp64wIhAOBoxluWMdMx5sKT5Faim0CeReLEHEVxPTuHcSo7yGek","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":50888},"engines":{"node":">=18"},"gitHead":"3930b37028f78f77ce59a9e3bebd6bc8aec856f6","_npmUser":{"name":"alves.reme","email":"alves.reme@pm.me"},"_npmVersion":"10.9.4","description":"Deploy a Ubox experience to studio.ubox.world","directories":{},"_nodeVersion":"22.22.0","dependencies":{"puppeteer":"*"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/deploy-xperience_1.1.3_1772632501829_0.33733701330050847","host":"s3://npm-registry-packages-npm-production"}},"1.1.4":{"name":"@ubox-tools/deploy-xperience","version":"1.1.4","_id":"@ubox-tools/deploy-xperience@1.1.4","maintainers":[{"name":"alves.reme","email":"alves.reme@pm.me"}],"bin":{"deploy-xperience":"deploy.js"},"dist":{"shasum":"f27d91b4e848546f9df7bbae6098f7c205eba71c","tarball":"https://registry.npmjs.org/@ubox-tools/deploy-xperience/-/deploy-xperience-1.1.4.tgz","fileCount":3,"integrity":"sha512-tiedxM0QE6gW5IXfo10nRXW/G/0K7SOefJbhjrtGFDUcL1/s1vibQRjhne78CdYRdh2L1p6QnwVMYypczWGj1A==","signatures":[{"sig":"MEUCIHeuL/FfACVG5bBJ08ueC+9WoGeySKS14E/r4ajCEjqiAiEAmEavFdrDjsvRlwKKwbO7SBaBujDixtVCYFdKjU4Jz1c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":51088},"engines":{"node":">=18"},"gitHead":"3930b37028f78f77ce59a9e3bebd6bc8aec856f6","_npmUser":{"name":"alves.reme","email":"alves.reme@pm.me"},"_npmVersion":"10.9.4","description":"Deploy a Ubox experience to studio.ubox.world","directories":{},"_nodeVersion":"22.22.0","dependencies":{"puppeteer":"*"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/deploy-xperience_1.1.4_1772633693761_0.601586487833748","host":"s3://npm-registry-packages-npm-production"}},"1.1.5":{"name":"@ubox-tools/deploy-xperience","version":"1.1.5","_id":"@ubox-tools/deploy-xperience@1.1.5","maintainers":[{"name":"alves.reme","email":"alves.reme@pm.me"}],"bin":{"deploy-xperience":"deploy.js"},"dist":{"shasum":"2201f5325579a239641b45b0c8d835d940bdcdc7","tarball":"https://registry.npmjs.org/@ubox-tools/deploy-xperience/-/deploy-xperience-1.1.5.tgz","fileCount":3,"integrity":"sha512-JUc1J3maFrKUnKGj5x2zR3dnmN4oO/8gG+AHQPOvuMgoLn24htM82Ku43QUnwdB/25ZMrvMnwgCbRs7O9xua6Q==","signatures":[{"sig":"MEQCIEz0v9L/UY6nHvL9S0q3uylALmvd1moUvs+h4RFyYx37AiBKAMdP+uA0VsU4W2UtKeO7U18+j41wXL6N06QoLeyk5A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":51782},"engines":{"node":">=18"},"gitHead":"d9c491302b341b6eedf11098b1a69af47a295328","_npmUser":{"name":"alves.reme","email":"alves.reme@pm.me"},"_npmVersion":"10.9.4","description":"Deploy a Ubox experience to studio.ubox.world","directories":{},"_nodeVersion":"22.22.0","dependencies":{"puppeteer":"*"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/deploy-xperience_1.1.5_1772710670140_0.4743074407636765","host":"s3://npm-registry-packages-npm-production"}},"1.1.6":{"name":"@ubox-tools/deploy-xperience","version":"1.1.6","_id":"@ubox-tools/deploy-xperience@1.1.6","maintainers":[{"name":"alves.reme","email":"alves.reme@pm.me"}],"bin":{"deploy-xperience":"deploy.js"},"dist":{"shasum":"4ed829816e6d14db82a0d667e74884aa338db2b6","tarball":"https://registry.npmjs.org/@ubox-tools/deploy-xperience/-/deploy-xperience-1.1.6.tgz","fileCount":3,"integrity":"sha512-IAL/HsryOE9OMsds+y9b2ZMbbxGBg7zMb/SOVdSMEWVr3ROhgdq62FuRHIzv637an8K9/3uWA/u5Li31CgWZ5g==","signatures":[{"sig":"MEUCIQDaCfYWCuT0R+TJg/1MuO2mtllZQ+I1h7qc9CIKKiVeTgIgZcmUXDL+egZZQLUyLPkKFjX2pCwJ80hbJ6Hg7wqbtio=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":51782},"engines":{"node":">=18"},"gitHead":"d9c491302b341b6eedf11098b1a69af47a295328","_npmUser":{"name":"alves.reme","email":"alves.reme@pm.me"},"_npmVersion":"10.9.4","description":"Deploy a Ubox experience to studio.ubox.world","directories":{},"_nodeVersion":"22.22.0","dependencies":{"puppeteer":"*"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/deploy-xperience_1.1.6_1772711245916_0.4365021730647596","host":"s3://npm-registry-packages-npm-production"}},"1.1.7":{"name":"@ubox-tools/deploy-xperience","version":"1.1.7","_id":"@ubox-tools/deploy-xperience@1.1.7","maintainers":[{"name":"alves.reme","email":"alves.reme@pm.me"}],"bin":{"deploy-xperience":"deploy.js"},"dist":{"shasum":"d6d0404b96c345c83d503030cbc44f12ef5db2ab","tarball":"https://registry.npmjs.org/@ubox-tools/deploy-xperience/-/deploy-xperience-1.1.7.tgz","fileCount":3,"integrity":"sha512-hrSkyEZj4sTsIEum9ufmArwwqKtk6n3h2HDHxFoXBdb3aPBcuf6Ib/hRAZyvWLDlbJNCBFZiCPoZno14iUmuug==","signatures":[{"sig":"MEQCIC5YXfONTQllDJ5WUKCpURceGhxJEpeHerFWmKu/C6AhAiAyF2yRDSCQegNAJu3GVuYxoiQ3DxVLtoVEaMPcjCm4hw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":51961},"engines":{"node":">=18"},"gitHead":"47487cc67d53dc4472b0ff77509c24d8ce6e29dc","_npmUser":{"name":"alves.reme","email":"alves.reme@pm.me"},"_npmVersion":"10.9.4","description":"Deploy a Ubox experience to studio.ubox.world","directories":{},"_nodeVersion":"22.22.0","dependencies":{"puppeteer":"*"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/deploy-xperience_1.1.7_1772718353955_0.6852759422625141","host":"s3://npm-registry-packages-npm-production"}},"1.1.8":{"name":"@ubox-tools/deploy-xperience","version":"1.1.8","_id":"@ubox-tools/deploy-xperience@1.1.8","maintainers":[{"name":"alves.reme","email":"alves.reme@pm.me"}],"bin":{"deploy-xperience":"deploy.js"},"dist":{"shasum":"dea3f200e2199e3c8a01f736d4ae7d212c46054d","tarball":"https://registry.npmjs.org/@ubox-tools/deploy-xperience/-/deploy-xperience-1.1.8.tgz","fileCount":3,"integrity":"sha512-0S267yULN4B3XZ1JB5Tmuk+ERrWPdJW2isVCNC26eBEaSZgcfQOH7ZEfvHMg4hPzPI52oZWUkJ964B9ozwXCEg==","signatures":[{"sig":"MEUCIQDkvgMkwZeOWgdwNSO/cyZFK4t8iz3rrhHs65LzUs92kwIgOKhQLOJ7SlMM3PWcVWcq39MlSymAe/2/25WjSpl2j3Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":51977},"engines":{"node":">=18"},"gitHead":"4270ce486577924cdec7165829eef8244b8b45fc","_npmUser":{"name":"alves.reme","email":"alves.reme@pm.me"},"_npmVersion":"10.9.4","description":"Deploy a Ubox experience to studio.ubox.world","directories":{},"_nodeVersion":"22.22.0","dependencies":{"puppeteer":"*"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/deploy-xperience_1.1.8_1772733163788_0.9957030189455123","host":"s3://npm-registry-packages-npm-production"}},"1.1.9":{"name":"@ubox-tools/deploy-xperience","version":"1.1.9","_id":"@ubox-tools/deploy-xperience@1.1.9","maintainers":[{"name":"alves.reme","email":"alves.reme@pm.me"}],"bin":{"deploy-xperience":"deploy.js"},"dist":{"shasum":"d57484788c8f752e585847a30de9df20cf95e4d7","tarball":"https://registry.npmjs.org/@ubox-tools/deploy-xperience/-/deploy-xperience-1.1.9.tgz","fileCount":3,"integrity":"sha512-M+oRqe/UplCb0dc0dlw8JStAMyYL9i5/kyEW5OGpnD/v/JF53AcSPYNXZdwvPx2P9V+A52SftC3aOdW65JL6mw==","signatures":[{"sig":"MEYCIQDC/A8P44ef0/9zO86K/MZnXs7Ih0Bw3DESCYW2qLvzMAIhAPWRDebFshHDQrOde/5hu6y2SfJxEJ7OI7bcjLgooSHF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":52514},"engines":{"node":">=18"},"gitHead":"11666837981b3c6ae782963227358512fcc65222","_npmUser":{"name":"alves.reme","email":"alves.reme@pm.me"},"_npmVersion":"10.9.4","description":"Deploy a Ubox experience to studio.ubox.world","directories":{},"_nodeVersion":"22.22.0","dependencies":{"puppeteer":"*"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/deploy-xperience_1.1.9_1773143796110_0.265032901771735","host":"s3://npm-registry-packages-npm-production"}},"1.1.10":{"name":"@ubox-tools/deploy-xperience","version":"1.1.10","_id":"@ubox-tools/deploy-xperience@1.1.10","maintainers":[{"name":"alves.reme","email":"alves.reme@pm.me"}],"bin":{"deploy-xperience":"deploy.js"},"dist":{"shasum":"8e655992b30d260f9f6633c830476907f13b973f","tarball":"https://registry.npmjs.org/@ubox-tools/deploy-xperience/-/deploy-xperience-1.1.10.tgz","fileCount":3,"integrity":"sha512-YFE4K43/t7iMBVO/Sk29VbW4VthW2pXbwjF7VBlcyG1IARbgRPMStK2Z9KFxGoe/wT6uIJnNtwN23MNDRZIHxQ==","signatures":[{"sig":"MEUCIQDShFt7TQcaZBVP8/3++dsd0JFNr0T1gbUgN3OFlQgTtgIgHMnXXAX3fcgdnB1aw3lDyYxhDMS8EFT+cf7zU2aSEOs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":53752},"engines":{"node":">=18"},"gitHead":"db4b327916485713b9b2e8926a28ae1ad751fa8c","_npmUser":{"name":"alves.reme","email":"alves.reme@pm.me"},"_npmVersion":"10.9.4","description":"Deploy a Ubox experience to studio.ubox.world","directories":{},"_nodeVersion":"22.22.0","dependencies":{"puppeteer":"*"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/deploy-xperience_1.1.10_1773163637559_0.3763506986171141","host":"s3://npm-registry-packages-npm-production"}},"1.1.11":{"name":"@ubox-tools/deploy-xperience","version":"1.1.11","_id":"@ubox-tools/deploy-xperience@1.1.11","maintainers":[{"name":"alves.reme","email":"alves.reme@pm.me"}],"bin":{"deploy-xperience":"deploy.js"},"dist":{"shasum":"ec79a61b598a4e24b02e23ae3fd498fc1efebe7c","tarball":"https://registry.npmjs.org/@ubox-tools/deploy-xperience/-/deploy-xperience-1.1.11.tgz","fileCount":3,"integrity":"sha512-ZRQA6h0CA8a2hKNPWBv58Jbor3fxvMDDuNzRCQIRsitCigPtEtfEvq/LtVoEm3ksQA62RtEZ8CSt0H+6sm2ohw==","signatures":[{"sig":"MEYCIQDkD8Wo7dgVRmVrk7adT8JhcBCAxyiyyqpGcupA5TKzUAIhALOtN+OV2GZWdBQVJZs4HvObPjzgzxcIAOwLwoOCtYZb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":53937},"engines":{"node":">=18"},"gitHead":"d7914f6beb89f7e75a0bbe05bb3c9f826a4c7d9e","_npmUser":{"name":"alves.reme","email":"alves.reme@pm.me"},"_npmVersion":"10.9.4","description":"Deploy a Ubox experience to studio.ubox.world","directories":{},"_nodeVersion":"22.22.0","dependencies":{"puppeteer":"*"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/deploy-xperience_1.1.11_1773328626429_0.6645015849170173","host":"s3://npm-registry-packages-npm-production"}},"1.1.12":{"name":"@ubox-tools/deploy-xperience","version":"1.1.12","_id":"@ubox-tools/deploy-xperience@1.1.12","maintainers":[{"name":"alves.reme","email":"alves.reme@pm.me"}],"bin":{"deploy-xperience":"deploy.js"},"dist":{"shasum":"a46b92546035b566c74c7dcc777f7c7c2ac58454","tarball":"https://registry.npmjs.org/@ubox-tools/deploy-xperience/-/deploy-xperience-1.1.12.tgz","fileCount":3,"integrity":"sha512-6EZ5N7gAXjjROAb1wtfXZbqV1hTOhfelAFqs3nqqnIx5Dr5P7G3bGownfPiq0mCr+Fw50j7aTO47yIr4uuA96Q==","signatures":[{"sig":"MEUCIE+0FXhs3C2fa5kecWo+fTX1rnKjR6TPhRWx9MudvuTIAiEA+JchbWwb8gyZz5zXtydfCxnIhlDZesRiXeGtV2cDGxI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":54277},"engines":{"node":">=18"},"gitHead":"0f055cae8b826813360bad59f0d9ec7869701dcf","_npmUser":{"name":"alves.reme","email":"alves.reme@pm.me"},"_npmVersion":"10.9.4","description":"Deploy a Ubox experience to studio.ubox.world","directories":{},"_nodeVersion":"22.22.0","dependencies":{"puppeteer":"*"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/deploy-xperience_1.1.12_1773331054409_0.2873707196344164","host":"s3://npm-registry-packages-npm-production"}},"1.1.13":{"name":"@ubox-tools/deploy-xperience","version":"1.1.13","_id":"@ubox-tools/deploy-xperience@1.1.13","maintainers":[{"name":"alves.reme","email":"alves.reme@pm.me"}],"bin":{"deploy-xperience":"deploy.js"},"dist":{"shasum":"bffc253a28a04bfd380345e2617f3ff7e8f0ce3f","tarball":"https://registry.npmjs.org/@ubox-tools/deploy-xperience/-/deploy-xperience-1.1.13.tgz","fileCount":3,"integrity":"sha512-htyxV1I0kRFyD5HROw95Fn2rt/9XvBH0v97wck4CgdXKA4agRbvCRQKI1r/vhs8a+OtwYuFv3ttktIXq1l2UeQ==","signatures":[{"sig":"MEQCIHEW034uJg1ssV/QS9hiE3G6ZGqVqXKu5kAuDVdB1j3dAiBpqoN8WWPo1gD6i5erV3eSyCdSZ9QX4+Gu9Yd1X/7obQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":54236},"engines":{"node":">=18"},"gitHead":"3a28de9c70361b94ba534f64c103ca6d5f8f631f","_npmUser":{"name":"alves.reme","email":"alves.reme@pm.me"},"_npmVersion":"10.9.4","description":"Deploy a Ubox experience to studio.ubox.world","directories":{},"_nodeVersion":"22.22.0","dependencies":{"puppeteer":"*"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/deploy-xperience_1.1.13_1773331290603_0.201260039986205","host":"s3://npm-registry-packages-npm-production"}},"1.1.14":{"name":"@ubox-tools/deploy-xperience","version":"1.1.14","_id":"@ubox-tools/deploy-xperience@1.1.14","maintainers":[{"name":"alves.reme","email":"alves.reme@pm.me"}],"bin":{"deploy-xperience":"deploy.js"},"dist":{"shasum":"79073e42cf8f6ee37c4f5b3140e7ac8784a93f62","tarball":"https://registry.npmjs.org/@ubox-tools/deploy-xperience/-/deploy-xperience-1.1.14.tgz","fileCount":3,"integrity":"sha512-H0cl+pI+v5Kg3O8oUiJb9HBN8ApYjU3K2v7zLhT3wxgfGB9Tz/oY2ZnvQe3K6sFojkUGAsD7H+Em7pbdRx2kuA==","signatures":[{"sig":"MEQCIGxDRxwIglv+QTluJ7TRQFmKarM0wpucximyEtflNtT/AiAEh4AhabLezLr6cE4cHUnwBheq50zm1k1HMsi22Nyb/Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":53860},"engines":{"node":">=18"},"gitHead":"739e745fb5dd86592c8fbf093fc838cc33c92451","_npmUser":{"name":"alves.reme","email":"alves.reme@pm.me"},"_npmVersion":"10.9.4","description":"Deploy a Ubox experience to studio.ubox.world","directories":{},"_nodeVersion":"22.22.0","dependencies":{"puppeteer":"*"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/deploy-xperience_1.1.14_1773335942106_0.3347374547634787","host":"s3://npm-registry-packages-npm-production"}},"1.1.15":{"name":"@ubox-tools/deploy-xperience","version":"1.1.15","_id":"@ubox-tools/deploy-xperience@1.1.15","maintainers":[{"name":"alves.reme","email":"alves.reme@pm.me"}],"bin":{"deploy-xperience":"deploy.js"},"dist":{"shasum":"ce5ea497a60ae3a9cecf8585a0ccf492f5146af0","tarball":"https://registry.npmjs.org/@ubox-tools/deploy-xperience/-/deploy-xperience-1.1.15.tgz","fileCount":3,"integrity":"sha512-qIPFdTx1Q2yWe3iCdYahXSscN7V/E9JsMF4RinUZ9NMhgqrXT1Hw0yn7GZvLyWzOGAX7+n4UI55g5NHG8rVLhg==","signatures":[{"sig":"MEQCIHZ5i8/j2a9NSraErJd/oRonscBSkqzU2fc0gCXjz0L/AiAjMDCKZmVOtRbY1Fu6+ZntVRw6rk+8/CQwmkUhgvWVFQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":53890},"engines":{"node":">=18"},"gitHead":"739e745fb5dd86592c8fbf093fc838cc33c92451","_npmUser":{"name":"alves.reme","email":"alves.reme@pm.me"},"_npmVersion":"10.9.4","description":"Deploy a Ubox experience to studio.ubox.world","directories":{},"_nodeVersion":"22.22.0","dependencies":{"puppeteer":"*"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/deploy-xperience_1.1.15_1773777988569_0.9464564016837083","host":"s3://npm-registry-packages-npm-production"}},"1.1.16":{"name":"@ubox-tools/deploy-xperience","version":"1.1.16","_id":"@ubox-tools/deploy-xperience@1.1.16","maintainers":[{"name":"alves.reme","email":"alves.reme@pm.me"}],"bin":{"deploy-xperience":"deploy.js"},"dist":{"shasum":"fc7dbec5cad0145b01671529a2a1b4003459d2bc","tarball":"https://registry.npmjs.org/@ubox-tools/deploy-xperience/-/deploy-xperience-1.1.16.tgz","fileCount":3,"integrity":"sha512-3c5laLO/lg/UGJU+Haa+k6bIPLMD7IfwuqbpBYGDvPUWX5/wgNpYVZWu2lRvafMwk2YFPo/xEiedl1I7TZhlNQ==","signatures":[{"sig":"MEQCIFrcRXGjTHXRZkILBDjRNpy5gRAQvq8xcHo/z7I0+3OmAiB9TKuHorsBB4FFUQWkSIHH9NTHPxSitVMsLzVFdAWv6g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":54114},"engines":{"node":">=18"},"gitHead":"739e745fb5dd86592c8fbf093fc838cc33c92451","_npmUser":{"name":"alves.reme","email":"alves.reme@pm.me"},"_npmVersion":"10.9.4","description":"Deploy a Ubox experience to studio.ubox.world","directories":{},"_nodeVersion":"22.22.0","dependencies":{"puppeteer":"*"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/deploy-xperience_1.1.16_1773779153320_0.46855943845144754","host":"s3://npm-registry-packages-npm-production"}},"1.1.18":{"name":"@ubox-tools/deploy-xperience","version":"1.1.18","_id":"@ubox-tools/deploy-xperience@1.1.18","maintainers":[{"name":"alves.reme","email":"alves.reme@pm.me"}],"bin":{"deploy-xperience":"deploy.js"},"dist":{"shasum":"dfa61db6824f8c39f0678dbbc982b703eb9b2b52","tarball":"https://registry.npmjs.org/@ubox-tools/deploy-xperience/-/deploy-xperience-1.1.18.tgz","fileCount":3,"integrity":"sha512-b2jC1kIqwgyNryLGA0USDiHVe2nujsNHSENdBkXCOHnrBIb70cJwzxGb4eD8bhlPIwvaqoLQDP7j62XqR0AZ8A==","signatures":[{"sig":"MEYCIQD/OCpr6twl1HpqOz5tEzazf3FI8uC1gt4vLw0CbKMozAIhANL7c+bO6TwPDIBAqyyHrzklSOeCFD+0JI8CzwDPkItO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":54346},"engines":{"node":">=18"},"gitHead":"739e745fb5dd86592c8fbf093fc838cc33c92451","_npmUser":{"name":"alves.reme","email":"alves.reme@pm.me"},"_npmVersion":"10.9.4","description":"Deploy a Ubox experience to studio.ubox.world","directories":{},"_nodeVersion":"22.22.0","dependencies":{"puppeteer":"*"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/deploy-xperience_1.1.18_1773780056983_0.6904445650161288","host":"s3://npm-registry-packages-npm-production"}},"1.1.19":{"name":"@ubox-tools/deploy-xperience","version":"1.1.19","_id":"@ubox-tools/deploy-xperience@1.1.19","maintainers":[{"name":"alves.reme","email":"alves.reme@pm.me"}],"bin":{"deploy-xperience":"deploy.js"},"dist":{"shasum":"c0b0ca1182919027ef8a3a43d6b19201eb41a209","tarball":"https://registry.npmjs.org/@ubox-tools/deploy-xperience/-/deploy-xperience-1.1.19.tgz","fileCount":3,"integrity":"sha512-Ghpyi68aoKPNPOqoLkTES7fOyYFMfkv+5Jmh1GYZxUsKtIQ47i5OeEi+4tV7j025QG1Z8nuucd3DnK7lYg9M6g==","signatures":[{"sig":"MEUCIQCMeWcN8OFpL6YSYF0yzkXU7ND5SBzhFVgaRH0T/mrNtQIgZgExm0IBDdp449pP/dE8oRfLdgNI092QNeaEiPV8kFg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":54897},"engines":{"node":">=18"},"gitHead":"739e745fb5dd86592c8fbf093fc838cc33c92451","_npmUser":{"name":"alves.reme","email":"alves.reme@pm.me"},"_npmVersion":"10.9.4","description":"Deploy a Ubox experience to studio.ubox.world","directories":{},"_nodeVersion":"22.22.0","dependencies":{"puppeteer":"*"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/deploy-xperience_1.1.19_1773780674000_0.27003789286305","host":"s3://npm-registry-packages-npm-production"}},"1.1.20":{"name":"@ubox-tools/deploy-xperience","version":"1.1.20","_id":"@ubox-tools/deploy-xperience@1.1.20","maintainers":[{"name":"alves.reme","email":"alves.reme@pm.me"}],"bin":{"deploy-xperience":"deploy.js"},"dist":{"shasum":"c4137b3ae055f212c8397ed4bbd19b8dda6bb22f","tarball":"https://registry.npmjs.org/@ubox-tools/deploy-xperience/-/deploy-xperience-1.1.20.tgz","fileCount":3,"integrity":"sha512-JruDWb8jzoUUjhkJMDL1jvMheKFULML1J2xWdaEONMbldosst52y7ObAohnG4Pc0GwGYFTAzqbwkbWaHCUluFw==","signatures":[{"sig":"MEYCIQDE9QBUNSTNzli8kUM1n3zZ55pr951uaRHd0ok9ZibXbgIhAO0hM+JimchHDR8u8NIbVHDJxDul80b/Pv+kt21eV5WO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":53752},"engines":{"node":">=18"},"gitHead":"739e745fb5dd86592c8fbf093fc838cc33c92451","_npmUser":{"name":"alves.reme","email":"alves.reme@pm.me"},"_npmVersion":"10.9.4","description":"Deploy a Ubox experience to studio.ubox.world","directories":{},"_nodeVersion":"22.22.0","dependencies":{"puppeteer":"*"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/deploy-xperience_1.1.20_1773781252223_0.307061448411057","host":"s3://npm-registry-packages-npm-production"}},"1.1.21":{"name":"@ubox-tools/deploy-xperience","version":"1.1.21","_id":"@ubox-tools/deploy-xperience@1.1.21","maintainers":[{"name":"alves.reme","email":"alves.reme@pm.me"}],"bin":{"deploy-xperience":"deploy.js"},"dist":{"shasum":"045ca52bef02253b3d1baa3140b3a34f2a32ebc6","tarball":"https://registry.npmjs.org/@ubox-tools/deploy-xperience/-/deploy-xperience-1.1.21.tgz","fileCount":3,"integrity":"sha512-YO4Gt+qV3Ijmi/6aiwzFofX24mmscfkGvgWOTFWWjZ2cSPpqcL0FPX91or0exEIwwmLX/fUjehxuNwvtpeZpww==","signatures":[{"sig":"MEYCIQCVSknvxOGVK/z27h7TrfPTWrMEJk0/uEzwt0QHwgWFngIhAN6UBrdkASwG+jNtdIRCr56SMaOA4LzJpCdp1e+0w0OK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":55045},"engines":{"node":">=18"},"gitHead":"739e745fb5dd86592c8fbf093fc838cc33c92451","_npmUser":{"name":"alves.reme","email":"alves.reme@pm.me"},"_npmVersion":"10.9.4","description":"Deploy a Ubox experience to studio.ubox.world","directories":{},"_nodeVersion":"22.22.0","dependencies":{"puppeteer":"*"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/deploy-xperience_1.1.21_1773784605628_0.7872597779426909","host":"s3://npm-registry-packages-npm-production"}},"1.1.22":{"name":"@ubox-tools/deploy-xperience","version":"1.1.22","_id":"@ubox-tools/deploy-xperience@1.1.22","maintainers":[{"name":"alves.reme","email":"alves.reme@pm.me"}],"bin":{"deploy-xperience":"deploy.js"},"dist":{"shasum":"eb6572cfa177ae4349b638c147956ac162bbaa21","tarball":"https://registry.npmjs.org/@ubox-tools/deploy-xperience/-/deploy-xperience-1.1.22.tgz","fileCount":3,"integrity":"sha512-QLILjKby+6tm7xWQrFM8Ako9C5leOQnolgJEaeyIwpMTzC9ARgNp6qLiisuhuxehU15I+/YytzcSiPNX6N4TzQ==","signatures":[{"sig":"MEQCIDS20KTuYlT781JT+iwEynZnc4Q8eXbLrYyIYBs6FhPQAiBh4JZS4+hIj/NOWYnl6IbNTC2gl5hvdq2gGLnoaxZn4g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":54125},"engines":{"node":">=18"},"gitHead":"739e745fb5dd86592c8fbf093fc838cc33c92451","_npmUser":{"name":"alves.reme","email":"alves.reme@pm.me"},"_npmVersion":"10.9.4","description":"Deploy a Ubox experience to studio.ubox.world","directories":{},"_nodeVersion":"22.22.0","dependencies":{"puppeteer":"*"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/deploy-xperience_1.1.22_1773785085460_0.3915263704777254","host":"s3://npm-registry-packages-npm-production"}},"1.1.23":{"name":"@ubox-tools/deploy-xperience","version":"1.1.23","_id":"@ubox-tools/deploy-xperience@1.1.23","maintainers":[{"name":"alves.reme","email":"alves.reme@pm.me"}],"bin":{"deploy-xperience":"deploy.js"},"dist":{"shasum":"6faf9017655d993396933965db3f663d4cad5ea7","tarball":"https://registry.npmjs.org/@ubox-tools/deploy-xperience/-/deploy-xperience-1.1.23.tgz","fileCount":3,"integrity":"sha512-YZJ2PC40JdX22xRWxVR8TAICyrCc34zJrTG2VyFcIyEBR0EKCP8j7CQtO1MVcMmEfSE7fLUc+4E9IzRdHBqjAg==","signatures":[{"sig":"MEUCIQDyV7p/aGz1V65w4Jn1J0shbRTR7fOO7V7ZtLmVxBnPtAIgGhTRrbKCOb+J1kCT4KCyGR+vrW+029ymydoXDxppeKU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":53823},"engines":{"node":">=18"},"gitHead":"ca8c5119536072b120b55afe71f2e6bf0dbf9dac","_npmUser":{"name":"alves.reme","email":"alves.reme@pm.me"},"_npmVersion":"10.9.4","description":"Deploy a Ubox experience to studio.ubox.world","directories":{},"_nodeVersion":"22.22.0","dependencies":{"puppeteer":"*"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/deploy-xperience_1.1.23_1773838428697_0.32489058730951026","host":"s3://npm-registry-packages-npm-production"}},"1.1.24":{"name":"@ubox-tools/deploy-xperience","version":"1.1.24","_id":"@ubox-tools/deploy-xperience@1.1.24","maintainers":[{"name":"alves.reme","email":"alves.reme@pm.me"}],"bin":{"deploy-xperience":"deploy.js"},"dist":{"shasum":"cebb9fedc41bbe8afea57d66eafaa16b8f69f3c7","tarball":"https://registry.npmjs.org/@ubox-tools/deploy-xperience/-/deploy-xperience-1.1.24.tgz","fileCount":3,"integrity":"sha512-Py7tSCQL69NtAf/jYnSEd6bT3lC5ZM8WH8fV7sS2sgMko2Plc2WKKf3f4uovsOUP3fzwHV8uRsSW+pyTpLWR0Q==","signatures":[{"sig":"MEUCIQDmq+8bTXChiUZt1ZavLVf1/s046B49MN81WCed4czhxQIgBy/6vy1TI1eNSTWHfjpNq6eHcF/PeZQ8OOCHiYBo6Mw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":54594},"engines":{"node":">=18"},"gitHead":"48476c39ec79936d38d8f5b258c482e0a81519ca","_npmUser":{"name":"alves.reme","email":"alves.reme@pm.me"},"_npmVersion":"10.9.4","description":"Deploy a Ubox experience to studio.ubox.world","directories":{},"_nodeVersion":"22.22.0","dependencies":{"puppeteer":"*"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/deploy-xperience_1.1.24_1775056663678_0.7135360404059019","host":"s3://npm-registry-packages-npm-production"}},"1.1.25":{"name":"@ubox-tools/deploy-xperience","version":"1.1.25","description":"Deploy a Ubox experience to studio.ubox.world","bin":{"deploy-xperience":"deploy.js"},"dependencies":{"puppeteer":"*"},"engines":{"node":">=18"},"_id":"@ubox-tools/deploy-xperience@1.1.25","gitHead":"71d2ecf093d6499d20a33da426bb180ce9eb4075","_nodeVersion":"22.22.0","_npmVersion":"10.9.4","dist":{"integrity":"sha512-xLfkgJkl3ihMAXUZCQts0+H0tG0IDzXPrbfOxOtoR8hBEVzKR54CK/cUfGjyq+KBSmJahS1axrtrliJHdGfg3w==","shasum":"e57666df0c4ff79d92394e5722c7974fdc2989b1","tarball":"https://registry.npmjs.org/@ubox-tools/deploy-xperience/-/deploy-xperience-1.1.25.tgz","fileCount":3,"unpackedSize":54563,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIFhuJLj4VSSWSrTeBJyDg5wy4Z/c6FtfHjCoKOZyuj5yAiBWN9w+PwqC0C3Nq10qIHo+TXwRwox2MHI/xp8dJRPNpg=="}]},"_npmUser":{"name":"alves.reme","email":"alves.reme@pm.me"},"directories":{},"maintainers":[{"name":"alves.reme","email":"alves.reme@pm.me"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/deploy-xperience_1.1.25_1775058380500_0.6549985583512186"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-04T11:25:56.094Z","modified":"2026-04-01T15:46:20.761Z","1.0.0":"2026-03-04T11:25:56.326Z","1.1.0":"2026-03-04T12:44:15.036Z","1.1.1":"2026-03-04T13:24:08.547Z","1.1.2":"2026-03-04T13:47:41.567Z","1.1.3":"2026-03-04T13:55:01.965Z","1.1.4":"2026-03-04T14:14:53.902Z","1.1.5":"2026-03-05T11:37:50.316Z","1.1.6":"2026-03-05T11:47:26.078Z","1.1.7":"2026-03-05T13:45:54.074Z","1.1.8":"2026-03-05T17:52:43.954Z","1.1.9":"2026-03-10T11:56:36.234Z","1.1.10":"2026-03-10T17:27:17.707Z","1.1.11":"2026-03-12T15:17:06.561Z","1.1.12":"2026-03-12T15:57:34.545Z","1.1.13":"2026-03-12T16:01:30.733Z","1.1.14":"2026-03-12T17:19:02.254Z","1.1.15":"2026-03-17T20:06:28.717Z","1.1.16":"2026-03-17T20:25:53.445Z","1.1.18":"2026-03-17T20:40:57.131Z","1.1.19":"2026-03-17T20:51:14.161Z","1.1.20":"2026-03-17T21:00:52.339Z","1.1.21":"2026-03-17T21:56:45.778Z","1.1.22":"2026-03-17T22:04:45.627Z","1.1.23":"2026-03-18T12:53:48.857Z","1.1.24":"2026-04-01T15:17:43.812Z","1.1.25":"2026-04-01T15:46:20.633Z"},"description":"Deploy a Ubox experience to studio.ubox.world","maintainers":[{"name":"alves.reme","email":"alves.reme@pm.me"}],"readme":"# deploy.js\n\nAutomated deployment script for Ubox experiences. Uses Puppeteer to drive the Ubox Studio web interface and deploy apps and Uboxes without manual browser interaction.\n\n> **Run from the project root.** Always invoke `npx @ubox-tools/deploy-xperience` from the experience directory (the one containing `apps/` and `assets/`).\n\n## Requirements\n\n- Node.js 18+\n- A clipboard utility — only needed when the Monaco/CodeMirror editor API is unavailable:\n  - **macOS**: `pbcopy` (built-in)\n  - **Windows**: PowerShell `Set-Clipboard` or `clip.exe` (both built-in)\n  - **Linux**: `wl-copy` (Wayland), `xclip` (X11), or `xsel` (X11)\n\n## Usage\n\n```\nnpx @ubox-tools/deploy-xperience [app1 app2 ...] [options]\n```\n\n## Options\n\n| Flag | Description |\n|---|---|\n| `--email <email>` | Ubox Studio login email (or `UBOX_EMAIL` env var) |\n| `--password <pass>` | Ubox Studio password (or `UBOX_PASSWORD` env var) |\n| `--project-name <name>` | Override the project name (default: parent directory name) |\n| `--noassets` | Skip uploading assets (images, fonts, files) |\n| `--nosource` | Skip source injection entirely |\n| `--nosource <files>` | Skip specific files (comma-separated, e.g. `ubox.js,logic.js`) |\n| `--noplayer` | Skip Phase 3 — deploy apps only, do not create/update Uboxes |\n| `--ubox-id <id>` | Use a pre-existing Ubox by ID — skips search/create (single-app deployments) |\n| `--ubox-id <app>:<id>` | Scoped form for multi-app deployments (repeatable) |\n| `--xpace <name>` | Xpace (place) to assign the Ubox to — case-insensitive match; defaults to the first available xpace if omitted or not found |\n| `--show` | Show the browser window (default: headless) |\n| `--help` | Print usage and exit |\n\nCredentials are resolved in this order:\n\n1. CLI flags (`--email`, `--password`)\n2. Environment variables (`UBOX_EMAIL`, `UBOX_PASSWORD`)\n3. `ubox-credentials.json` in the project root\n4. Interactive prompt (if the terminal is interactive)\n\n**`ubox-credentials.json`** (place in the experience project root):\n\n```json\n{\n  \"email\": \"me@example.com\",\n  \"password\": \"secret\"\n}\n```\n\n**Environment variables:**\n\n```\nUBOX_EMAIL=me@example.com UBOX_PASSWORD=secret npx @ubox-tools/deploy-xperience\n```\n\nIf a credential is provided by a higher-priority source, the file value for that field is ignored.\n\n## Examples\n\n```bash\nnpx @ubox-tools/deploy-xperience                        # Deploy all apps (headless)\nnpx @ubox-tools/deploy-xperience --show                 # Deploy all apps, show browser\nnpx @ubox-tools/deploy-xperience mobile                 # Deploy only the mobile app\nnpx @ubox-tools/deploy-xperience main --noassets        # Deploy main app, skip asset uploads\nnpx @ubox-tools/deploy-xperience --nosource             # Deploy without re-injecting source\nnpx @ubox-tools/deploy-xperience --nosource ubox.js    # Skip only ubox.js injection\nnpx @ubox-tools/deploy-xperience --noplayer             # Deploy apps only, skip Uboxes\nnpx @ubox-tools/deploy-xperience --project-name \"MyProject\"\nnpx @ubox-tools/deploy-xperience mobile --ubox-id 42   # Use existing Ubox #42 for mobile\nnpx @ubox-tools/deploy-xperience --ubox-id mobile:42 --ubox-id main:99\nnpx @ubox-tools/deploy-xperience --xpace workshop    # Assign Ubox to \"Workshop\" xpace\n```\n\n## Deployment Phases\n\n### Phase 1 — Login\n\nNavigates to `studio.ubox.world` and signs in. Skipped automatically if a session is already active.\n\n### Phase 2 — Application Deployment\n\nRuns once per app (always `mobile` before `main`):\n\n1. **Find or create** the application card by its full name (`<ProjectName> <appName>`).\n2. **Upload resources** — groups assets by type (Images / Fonts / Files), deletes any existing file with the same name first, then uploads via CDP (bypasses the OS file picker dialog).\n3. **Configure parameters** — reads `apps/<appName>/parameters.json`; only creates parameters that don't already exist.\n4. **Inject source** — opens the Source editor, iterates the tab list (`HTML`, `CSS`, `Ubox Events`, `Workflow`, `Business logic`, `Data source`) and sets each file's content via the Monaco or CodeMirror API, or via clipboard paste as a fallback.\n\n### Phase 3 — Ubox Deployment\n\nRuns once per app:\n\n1. **Find or create** the Ubox by its full name. Handles the Terms & Conditions modal on first creation.\n2. **Check \"Make public\"** — enables the public checkbox if not already checked.\n3. **Install app** — switches to the \"Available applications\" tab, searches for the app card, and clicks Install.\n4. **Mobile virtual link** — for the `mobile` app, clicks \"Open Virtual Ubox Link\" and captures the URL from the newly opened tab.\n5. **Set `mobileLink` parameter** — for the `main` Ubox (if the app defines a `mobileLink` parameter), opens \"Change params\" and writes the captured mobile virtual link.\n\nIf the Ubox already exists, installation and parameter changes are skipped; the mobile virtual link is still retrieved so the main Ubox can use it.\n\nWhen `--ubox-id` is provided, the search/create step is skipped entirely and the script navigates directly to `https://studio.ubox.world/#/ubox/<id>`. The same \"already exists\" logic then applies.\n\n## Proxy / Source Transformation\n\nBefore injecting source files, `generateProxy()` applies transforms to each file:\n\n| Transform | Applies to | What it does |\n|---|---|---|\n| Asset path substitution | JS, CSS, HTML | Replaces `assets/file.ext` references with `{resources:type/file.ext}` tokens |\n| Emoji escaping | JS | Converts non-ASCII characters to `\\uXXXX` Unicode escape sequences |\n| Local tag stripping | HTML | Removes local `<link href>` and `<script src>` tags (CDN URLs are kept) |\n\nAsset references are resolved by their actual relative path, so both a root-level shared folder and a per-app folder work:\n\n| Reference in source | Resolved from |\n|---|---|\n| `../../assets/logo.png` | `<project-root>/assets/logo.png` |\n| `assets/logo.png` | `apps/<appName>/assets/logo.png` |\n\nFiles inside subdirectories (e.g. `assets/img/logo.png`) are supported — the token uses only the filename: `{resources:images/logo.png}`.\n\n> **Parameter tokens are embedded at authoring time** — `data.js` uses inline `{parameter:key}` tokens with local fallbacks. No deploy-time regex substitution is performed.\n\n## Project Layout Expected\n\n```\n<project-root>/\n  apps/\n    mobile/\n      index.html\n      style.css\n      ubox.js\n      workflow.js\n      logic.js\n      data.js\n      parameters.json   (optional)\n    main/\n      ...same files...\n      assets/               (optional, app-specific assets)\n        *.jpg / *.png / ...\n  assets/                   (shared across all apps)\n    *.jpg / *.png / *.woff2 / ...\n  deploy.js\n```\n\nThe project name defaults to the directory name of `<project-root>`. App full names are formed as `\"<projectName> <appName>\"` (e.g. `\"Claude - Slide Puzzle mobile\"`).\n\n## Error Handling\n\nOn any unhandled error the script:\n1. Prints the error message.\n2. Saves a screenshot to `deploy_error.png` in the project root.\n3. Exits with code 1.\n\nThe browser is kept open after both success and failure so you can inspect the final state. Press `Ctrl+C` to close it.\n","readmeFilename":"README.md"}