{"_id":"@arcadiasystems/morse-cli","_rev":"14-e5d51bb9b21e050354f71a6bdcd0cdfd","name":"@arcadiasystems/morse-cli","dist-tags":{"latest":"0.10.1"},"versions":{"0.1.0":{"name":"@arcadiasystems/morse-cli","version":"0.1.0","keywords":["sui","walrus","seal","cms","cli","decentralized","blockchain"],"license":"MIT","_id":"@arcadiasystems/morse-cli@0.1.0","maintainers":[{"name":"thedivic","email":"divicnikola@gmail.com"},{"name":"0xandreja","email":"andreja.kojadinovic@gmail.com"},{"name":"manda21","email":"mandicnikola1989@gmail.com"}],"homepage":"https://github.com/arcadiasystems/morse-dcms/tree/main/morse-cli#readme","bugs":{"url":"https://github.com/arcadiasystems/morse-dcms/issues"},"bin":{"morse":"dist/index.js"},"dist":{"shasum":"376539b68624e89703f305f41835ac58d29de4b6","tarball":"https://registry.npmjs.org/@arcadiasystems/morse-cli/-/morse-cli-0.1.0.tgz","fileCount":6,"integrity":"sha512-ZusUcwT87MWScr97puJu0Jhi89zunx5ABsbR1GL1pmeiyZ0MKMMZAOW9Tenng6UCuY4WIudNMCKCz/myPALbAQ==","signatures":[{"sig":"MEUCIQD2Kuz3xLQDJJcyHAeyEYK0khk9SOjjeITGRxm0oo6SjgIgSVY2xpMjUKii1A9oKN0AvTTLLK76d1Zxu5IODTIhPCY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":99636},"type":"module","engines":{"bun":">=1.2.0","node":">=18"},"gitHead":"c54c0eb3b70a1e0bbc52f91524aa428e694e97a9","scripts":{"lint":"biome check .","test":"bun test","build":"bun build src/index.ts --target node --packages external --outfile dist/index.js","start":"bun src/index.ts","lint:fix":"biome check --write .","typecheck":"tsc --noEmit","test:coverage":"bun test --coverage","prepublishOnly":"tsc --noEmit && biome check . && bun test && bun run build"},"_npmUser":{"name":"0xandreja","email":"andreja.kojadinovic@gmail.com"},"repository":{"url":"git+https://github.com/arcadiasystems/morse-dcms.git","type":"git","directory":"morse-cli"},"_npmVersion":"10.9.2","description":"Command-line interface for the Morse decentralized CMS on Sui.","directories":{},"_nodeVersion":"22.16.0","dependencies":{"commander":"^14.0.3","@mysten/sui":"2.16.2","@mysten/seal":"1.1.3","@mysten/walrus":"1.1.6","@arcadiasystems/morse-sdk":"^0.1.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","typescript":"^5.6.0","@biomejs/biome":"2.4.7"},"_npmOperationalInternal":{"tmp":"tmp/morse-cli_0.1.0_1780058359749_0.9397418343243857","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@arcadiasystems/morse-cli","version":"0.2.0","keywords":["sui","walrus","seal","cms","cli","decentralized","blockchain"],"license":"MIT","_id":"@arcadiasystems/morse-cli@0.2.0","maintainers":[{"name":"thedivic","email":"divicnikola@gmail.com"},{"name":"0xandreja","email":"andreja.kojadinovic@gmail.com"},{"name":"manda21","email":"mandicnikola1989@gmail.com"}],"homepage":"https://github.com/arcadiasystems/morse-dcms/tree/main/morse-cli#readme","bugs":{"url":"https://github.com/arcadiasystems/morse-dcms/issues"},"bin":{"morse":"dist/index.js"},"dist":{"shasum":"7aea97392392baf70771d834ae4d96032ec07e9e","tarball":"https://registry.npmjs.org/@arcadiasystems/morse-cli/-/morse-cli-0.2.0.tgz","fileCount":6,"integrity":"sha512-kZ6raavYFXylq/00zT0kHYFLyN9/W8L/c6pZLIIivEjFsqH4QinAshe4jwBtqnRtsPBcWqglb2NOzodM22sYzg==","signatures":[{"sig":"MEUCIENPpT7HZIu3Uk7UXqqXGvwLPmCyNcO02Gp+nnwbDBKGAiEAnj6OeCHI21jrcUm9c3aWGWZxGu/bfk+J2RZJ5s8EXmo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":129418},"type":"module","engines":{"bun":">=1.2.0","node":">=18"},"gitHead":"435ed5465e04c34982bc3fd0fa546c21a0a38f44","scripts":{"lint":"biome check .","test":"bun test","build":"bun build src/index.ts --target node --packages external --outfile dist/index.js","check":"tsc --noEmit && biome check . && bun scripts/coverage-gate.ts","start":"bun src/index.ts","coverage":"bun scripts/coverage-gate.ts","lint:fix":"biome check --write .","test:cli":"bun test test/cli/","test:e2e":"MORSE_E2E=1 bun test test/e2e/","test:unit":"bun test test/*.test.ts","typecheck":"tsc --noEmit","test:coverage":"bun test --coverage","prepublishOnly":"bun run check && bun run build"},"_npmUser":{"name":"0xandreja","email":"andreja.kojadinovic@gmail.com"},"repository":{"url":"git+https://github.com/arcadiasystems/morse-dcms.git","type":"git","directory":"morse-cli"},"_npmVersion":"10.9.2","description":"Command-line interface for the Morse decentralized CMS on Sui.","directories":{},"_nodeVersion":"22.16.0","dependencies":{"commander":"^14.0.3","@mysten/sui":"2.16.2","@mysten/seal":"1.1.3","@mysten/walrus":"1.1.6","@arcadiasystems/morse-sdk":"^0.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","typescript":"^5.6.0","@biomejs/biome":"2.4.7"},"_npmOperationalInternal":{"tmp":"tmp/morse-cli_0.2.0_1780578992751_0.6622707935763574","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@arcadiasystems/morse-cli","version":"0.3.0","keywords":["sui","walrus","seal","cms","cli","decentralized","blockchain"],"license":"MIT","_id":"@arcadiasystems/morse-cli@0.3.0","maintainers":[{"name":"thedivic","email":"divicnikola@gmail.com"},{"name":"0xandreja","email":"andreja.kojadinovic@gmail.com"},{"name":"manda21","email":"mandicnikola1989@gmail.com"}],"homepage":"https://github.com/arcadiasystems/morse-dcms/tree/main/morse-cli#readme","bugs":{"url":"https://github.com/arcadiasystems/morse-dcms/issues"},"bin":{"morse":"dist/index.js"},"dist":{"shasum":"3afd4f0ba51488e36b88d3d582f2cbe4b804ed08","tarball":"https://registry.npmjs.org/@arcadiasystems/morse-cli/-/morse-cli-0.3.0.tgz","fileCount":6,"integrity":"sha512-eTgSqhsqAY6rw/zDuV93yfVaFPjlO6jZ3YxlogCYIiN1PbO/voxKU17zkZxcfKBA/YSdFCvPvf2CvH/iAeHVfg==","signatures":[{"sig":"MEUCIAnPQWFPP/Gn639svAT2Tf6b0o7b13DsJ8CC5ZcOrz2nAiEA8hI0GKnCF1lhqjPQY11F/y8bDtGtyal7EnaY3+dMV0E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":135867},"type":"module","engines":{"bun":">=1.2.0","node":">=18"},"gitHead":"ed534bb8cc98cedce3ec78935b34d7e4407071db","scripts":{"lint":"biome check .","test":"bun test","build":"bun build src/index.ts --target node --packages external --outfile dist/index.js","check":"tsc --noEmit && biome check . && bun scripts/coverage-gate.ts","start":"bun src/index.ts","coverage":"bun scripts/coverage-gate.ts","lint:fix":"biome check --write .","test:cli":"bun test test/cli/","test:e2e":"MORSE_E2E=1 bun test test/e2e/","test:unit":"bun test test/*.test.ts","typecheck":"tsc --noEmit","test:coverage":"bun test --coverage","prepublishOnly":"bun run check && bun run build"},"_npmUser":{"name":"0xandreja","email":"andreja.kojadinovic@gmail.com"},"repository":{"url":"git+https://github.com/arcadiasystems/morse-dcms.git","type":"git","directory":"morse-cli"},"_npmVersion":"10.9.2","description":"Command-line interface for the Morse decentralized CMS on Sui.","directories":{},"_nodeVersion":"22.16.0","dependencies":{"commander":"^14.0.3","@mysten/sui":"2.16.2","@mysten/seal":"1.1.3","@mysten/walrus":"1.1.6","@arcadiasystems/morse-sdk":"^0.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","typescript":"^5.6.0","@biomejs/biome":"2.4.7"},"_npmOperationalInternal":{"tmp":"tmp/morse-cli_0.3.0_1780594598628_0.7601498652390442","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@arcadiasystems/morse-cli","version":"0.4.0","keywords":["sui","walrus","seal","cms","cli","decentralized","blockchain"],"license":"MIT","_id":"@arcadiasystems/morse-cli@0.4.0","maintainers":[{"name":"thedivic","email":"divicnikola@gmail.com"},{"name":"0xandreja","email":"andreja.kojadinovic@gmail.com"},{"name":"manda21","email":"mandicnikola1989@gmail.com"}],"homepage":"https://github.com/arcadiasystems/morse-dcms/tree/main/morse-cli#readme","bugs":{"url":"https://github.com/arcadiasystems/morse-dcms/issues"},"bin":{"morse":"dist/index.js"},"dist":{"shasum":"eb95e9efcc3466c9dde4fc23d6b22ae4e24758cd","tarball":"https://registry.npmjs.org/@arcadiasystems/morse-cli/-/morse-cli-0.4.0.tgz","fileCount":6,"integrity":"sha512-tETafvRLhmqvDCwJ5RVfhGMhu9Cc3DAGYFgTJKf0UWr1ZQdJTpts3CmYF05B2Kmvt/lO2Eln2oMAU2kouchiXQ==","signatures":[{"sig":"MEYCIQCCn4K4Bo8S92VCB6Qc8mjqy6Ay9W1GYV2RPgHdrs6jtAIhAORcFHukEZYIHwWp59821IbekCHZhTzp9QZCsLbsADTm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":134653},"type":"module","engines":{"bun":">=1.2.0","node":">=18"},"gitHead":"aac760730dff983224ce5f9c8d2746a5f7c1e496","scripts":{"lint":"biome check .","test":"bun test","build":"bun build src/index.ts --target node --packages external --outfile dist/index.js","check":"tsc --noEmit && biome check . && bun scripts/coverage-gate.ts","start":"bun src/index.ts","coverage":"bun scripts/coverage-gate.ts","lint:fix":"biome check --write .","test:cli":"bun test test/cli/","test:e2e":"MORSE_E2E=1 bun test test/e2e/","test:unit":"bun test test/*.test.ts","typecheck":"tsc --noEmit","test:coverage":"bun test --coverage","prepublishOnly":"bun run check && bun run build"},"_npmUser":{"name":"0xandreja","email":"andreja.kojadinovic@gmail.com"},"repository":{"url":"git+https://github.com/arcadiasystems/morse-dcms.git","type":"git","directory":"morse-cli"},"_npmVersion":"10.9.2","description":"Command-line interface for the Morse decentralized CMS on Sui.","directories":{},"_nodeVersion":"22.16.0","dependencies":{"commander":"^14.0.3","@mysten/sui":"2.16.2","@mysten/seal":"1.1.3","@mysten/walrus":"1.1.6","@arcadiasystems/morse-sdk":"^0.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","typescript":"^5.6.0","@biomejs/biome":"2.4.7"},"_npmOperationalInternal":{"tmp":"tmp/morse-cli_0.4.0_1780605901327_0.7274222485739765","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@arcadiasystems/morse-cli","version":"0.4.1","keywords":["sui","walrus","seal","cms","cli","decentralized","blockchain"],"license":"MIT","_id":"@arcadiasystems/morse-cli@0.4.1","maintainers":[{"name":"thedivic","email":"divicnikola@gmail.com"},{"name":"0xandreja","email":"andreja.kojadinovic@gmail.com"},{"name":"manda21","email":"mandicnikola1989@gmail.com"}],"homepage":"https://github.com/arcadiasystems/morse-dcms/tree/main/morse-cli#readme","bugs":{"url":"https://github.com/arcadiasystems/morse-dcms/issues"},"bin":{"morse":"dist/index.js"},"dist":{"shasum":"37ae15c0f94ef52afb6a32417efa3de7e331eb76","tarball":"https://registry.npmjs.org/@arcadiasystems/morse-cli/-/morse-cli-0.4.1.tgz","fileCount":6,"integrity":"sha512-UtGMgT36NA+EDzzeuAnTYN2f3Ius0XDif9/qVuB3U8HSoCFJUugzJW3pwyJg0apG6o0Sl4GfJenYt4mk3AZ/GA==","signatures":[{"sig":"MEQCIBtEsB+yJiMmKjFIZ49xEzHKY6VKr9rja1QbZfDTDHGcAiAmMcYoWg/cWab9saAt4ANFiONw1wKW0doouxdodKMX8Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":135056},"type":"module","engines":{"bun":">=1.2.0","node":">=18"},"gitHead":"c8143700a3c63a8651e8e9df8b93d4d251b6f819","scripts":{"lint":"biome check .","test":"bun test","build":"bun build src/index.ts --target node --packages external --outfile dist/index.js","check":"tsc --noEmit && biome check . && bun scripts/coverage-gate.ts","start":"bun src/index.ts","coverage":"bun scripts/coverage-gate.ts","lint:fix":"biome check --write .","test:cli":"bun test test/cli/","test:e2e":"MORSE_E2E=1 bun test test/e2e/","test:unit":"bun test test/*.test.ts","typecheck":"tsc --noEmit","test:coverage":"bun test --coverage","prepublishOnly":"bun run check && bun run build"},"_npmUser":{"name":"0xandreja","email":"andreja.kojadinovic@gmail.com"},"repository":{"url":"git+https://github.com/arcadiasystems/morse-dcms.git","type":"git","directory":"morse-cli"},"_npmVersion":"10.9.2","description":"Command-line interface for the Morse decentralized CMS on Sui.","directories":{},"_nodeVersion":"22.16.0","dependencies":{"commander":"^14.0.3","@mysten/sui":"2.16.2","@mysten/seal":"1.1.3","@mysten/walrus":"1.1.6","@arcadiasystems/morse-sdk":"^0.4.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","typescript":"^5.6.0","@biomejs/biome":"2.4.7"},"_npmOperationalInternal":{"tmp":"tmp/morse-cli_0.4.1_1780647330224_0.19400378198936896","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"@arcadiasystems/morse-cli","version":"0.4.2","keywords":["sui","walrus","seal","cms","cli","decentralized","blockchain"],"license":"MIT","_id":"@arcadiasystems/morse-cli@0.4.2","maintainers":[{"name":"thedivic","email":"divicnikola@gmail.com"},{"name":"0xandreja","email":"andreja.kojadinovic@gmail.com"},{"name":"manda21","email":"mandicnikola1989@gmail.com"}],"homepage":"https://github.com/arcadiasystems/morse-dcms/tree/main/morse-cli#readme","bugs":{"url":"https://github.com/arcadiasystems/morse-dcms/issues"},"bin":{"morse":"dist/index.js"},"dist":{"shasum":"88845d31edf48e9dbfd8fd472bb9009721b82b9d","tarball":"https://registry.npmjs.org/@arcadiasystems/morse-cli/-/morse-cli-0.4.2.tgz","fileCount":6,"integrity":"sha512-LBnbOz62RMvjAmD/SZwy0vN8ntJNde8R/DQFX08qjWaLvsj/2aq/wShrTVa/Po2jDzXDlwGz4ZYl0PTjtXzPxQ==","signatures":[{"sig":"MEQCIBagzU39dzhUhxyz1aP2azdEg9mzC0+442OS/jq7L7EzAiA1ULXDlVOPVoLAdtZr9dd3mLEfbzhX7pUmhz7hJjCBlQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":135422},"type":"module","engines":{"bun":">=1.2.0","node":">=18"},"gitHead":"1eeac573c06a2be6e1fe0b22998e4e77dc733b95","scripts":{"lint":"biome check .","test":"bun test","build":"bun build src/index.ts --target node --packages external --outfile dist/index.js","check":"tsc --noEmit && biome check . && bun scripts/coverage-gate.ts","start":"bun src/index.ts","coverage":"bun scripts/coverage-gate.ts","lint:fix":"biome check --write .","test:cli":"bun test test/cli/","test:e2e":"MORSE_E2E=1 bun test test/e2e/","test:unit":"bun test test/*.test.ts","typecheck":"tsc --noEmit","test:coverage":"bun test --coverage","prepublishOnly":"bun run check && bun run build"},"_npmUser":{"name":"0xandreja","email":"andreja.kojadinovic@gmail.com"},"repository":{"url":"git+https://github.com/arcadiasystems/morse-dcms.git","type":"git","directory":"morse-cli"},"_npmVersion":"10.9.2","description":"Command-line interface for the Morse decentralized CMS on Sui.","directories":{},"_nodeVersion":"22.16.0","dependencies":{"commander":"^14.0.3","@mysten/sui":"2.16.2","@mysten/seal":"1.1.3","@mysten/walrus":"1.1.6","@arcadiasystems/morse-sdk":"^0.4.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","typescript":"^5.6.0","@biomejs/biome":"2.4.7"},"_npmOperationalInternal":{"tmp":"tmp/morse-cli_0.4.2_1780649275041_0.23312410449990972","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@arcadiasystems/morse-cli","version":"0.5.0","keywords":["sui","walrus","seal","cms","cli","decentralized","blockchain"],"license":"MIT","_id":"@arcadiasystems/morse-cli@0.5.0","maintainers":[{"name":"thedivic","email":"divicnikola@gmail.com"},{"name":"0xandreja","email":"andreja.kojadinovic@gmail.com"},{"name":"manda21","email":"mandicnikola1989@gmail.com"}],"homepage":"https://github.com/arcadiasystems/morse-dcms/tree/main/morse-cli#readme","bugs":{"url":"https://github.com/arcadiasystems/morse-dcms/issues"},"bin":{"morse":"dist/index.js"},"dist":{"shasum":"e2146ca9fd5137a98e89b81a0490796b261aff3b","tarball":"https://registry.npmjs.org/@arcadiasystems/morse-cli/-/morse-cli-0.5.0.tgz","fileCount":6,"integrity":"sha512-nR+vji0SyvqucuIX4yYaIsqWyi5zbGV+9DN0nvDucLXfmAf1soV33DsxudUoiOJYTn1pVqDC1cPSHBgbzPJ8NA==","signatures":[{"sig":"MEUCIQC2he/vs2I2XMOGazGHe/MmE5lshmAd9vT3PvOf581VcgIgT9feaNUwM51CrLGa6+LMmEJmKHFGDQ44s3XGZsDzGZk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":141918},"type":"module","engines":{"bun":">=1.2.0","node":">=18"},"gitHead":"80fc4054541dcbf2dab91ab0cf13cbc85d3a5b24","scripts":{"lint":"biome check .","test":"bun test","build":"bun build src/index.ts --target node --packages external --outfile dist/index.js","check":"tsc --noEmit && biome check . && bun scripts/coverage-gate.ts","start":"bun src/index.ts","coverage":"bun scripts/coverage-gate.ts","lint:fix":"biome check --write .","test:cli":"bun test test/cli/","test:e2e":"MORSE_E2E=1 bun test test/e2e/","test:unit":"bun test test/*.test.ts","typecheck":"tsc --noEmit","test:coverage":"bun test --coverage","prepublishOnly":"bun run check && bun run build"},"_npmUser":{"name":"0xandreja","email":"andreja.kojadinovic@gmail.com"},"repository":{"url":"git+https://github.com/arcadiasystems/morse-dcms.git","type":"git","directory":"morse-cli"},"_npmVersion":"10.9.2","description":"Command-line interface for the Morse decentralized CMS on Sui.","directories":{},"_nodeVersion":"22.16.0","dependencies":{"commander":"^14.0.3","@mysten/sui":"2.16.2","@mysten/seal":"1.1.3","@mysten/walrus":"1.1.6","@arcadiasystems/morse-sdk":"^0.4.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","typescript":"^5.6.0","@biomejs/biome":"2.4.7"},"_npmOperationalInternal":{"tmp":"tmp/morse-cli_0.5.0_1781010962167_0.985576367703735","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@arcadiasystems/morse-cli","version":"0.6.0","keywords":["sui","walrus","seal","cms","cli","decentralized","blockchain"],"license":"MIT","_id":"@arcadiasystems/morse-cli@0.6.0","maintainers":[{"name":"thedivic","email":"divicnikola@gmail.com"},{"name":"0xandreja","email":"andreja.kojadinovic@gmail.com"},{"name":"manda21","email":"mandicnikola1989@gmail.com"}],"homepage":"https://github.com/arcadiasystems/morse-dcms/tree/main/morse-cli#readme","bugs":{"url":"https://github.com/arcadiasystems/morse-dcms/issues"},"bin":{"morse":"dist/index.js"},"dist":{"shasum":"2240489b5a67f2cf922b780028809ce6411a1583","tarball":"https://registry.npmjs.org/@arcadiasystems/morse-cli/-/morse-cli-0.6.0.tgz","fileCount":6,"integrity":"sha512-Z9MOUcC770sGVnaC0kMuBfssPJOLsrkfkl6NlZguHajU4mZPxC3F+XIdHPgjki9YLCxtweMuEwmlz1JWSUKPdQ==","signatures":[{"sig":"MEUCIHHTZDpyXbLoPhQhnh8QkEGMmFihXwo8rfD1CV8SjQMCAiEApeJALphXDx8KtXIGz/FHvC+FDNV8KwNcE/LvzZc9UFo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":146748},"type":"module","engines":{"bun":">=1.2.0","node":">=18"},"gitHead":"b01678a1397caaf906157244e50248382ca06c2d","scripts":{"lint":"biome check .","test":"bun test","build":"bun build src/index.ts --target node --packages external --outfile dist/index.js","check":"tsc --noEmit && biome check . && bun scripts/coverage-gate.ts","start":"bun src/index.ts","coverage":"bun scripts/coverage-gate.ts","lint:fix":"biome check --write .","test:cli":"bun test test/cli/","test:e2e":"MORSE_E2E=1 bun test test/e2e/","test:unit":"bun test test/*.test.ts","typecheck":"tsc --noEmit","test:coverage":"bun test --coverage","prepublishOnly":"bun run check && bun run build"},"_npmUser":{"name":"0xandreja","email":"andreja.kojadinovic@gmail.com"},"repository":{"url":"git+https://github.com/arcadiasystems/morse-dcms.git","type":"git","directory":"morse-cli"},"_npmVersion":"10.9.2","description":"Command-line interface for the Morse decentralized CMS on Sui.","directories":{},"_nodeVersion":"22.16.0","dependencies":{"commander":"^14.0.3","@mysten/sui":"2.16.2","@mysten/seal":"1.1.3","@mysten/walrus":"1.1.6","@arcadiasystems/morse-sdk":"^0.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","typescript":"^5.6.0","@biomejs/biome":"2.4.7"},"_npmOperationalInternal":{"tmp":"tmp/morse-cli_0.6.0_1788967191924_0.644833193688054","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"@arcadiasystems/morse-cli","version":"0.6.1","keywords":["sui","walrus","seal","cms","cli","decentralized","blockchain"],"license":"MIT","_id":"@arcadiasystems/morse-cli@0.6.1","maintainers":[{"name":"thedivic","email":"divicnikola@gmail.com"},{"name":"0xandreja","email":"andreja.kojadinovic@gmail.com"},{"name":"manda21","email":"mandicnikola1989@gmail.com"}],"homepage":"https://github.com/arcadiasystems/morse-dcms/tree/main/morse-cli#readme","bugs":{"url":"https://github.com/arcadiasystems/morse-dcms/issues"},"bin":{"morse":"dist/index.js"},"dist":{"shasum":"6efde5deb46bdd9f2c396ae720f3dbe83b6d488e","tarball":"https://registry.npmjs.org/@arcadiasystems/morse-cli/-/morse-cli-0.6.1.tgz","fileCount":6,"integrity":"sha512-5fpDePt96Kc6/kNj3EqTvyJqY3CDj8/YjRKB8zON+7ijiOj6mXdoYZpVHHJsAmuBnwvgMw8a0UtWsaA3O9OSkA==","signatures":[{"sig":"MEQCIEAjtWaSdCg7KLkPD2Xt/vKF70zwgYFmvmwZYaLjNPvPAiAOl+5fnsUfnIGiTX+PjLmS5ZM/Vn+M5UJWYf0ErPdkmg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":151338},"type":"module","engines":{"bun":">=1.2.0","node":">=18"},"gitHead":"162251ec0fc6e360f86c2d2642bd79d0164d74d5","scripts":{"lint":"biome check .","test":"bun test","build":"bun build src/index.ts --target node --packages external --outfile dist/index.js","check":"tsc --noEmit && biome check . && bun scripts/coverage-gate.ts","start":"bun src/index.ts","coverage":"bun scripts/coverage-gate.ts","lint:fix":"biome check --write .","test:cli":"bun test test/cli/","test:e2e":"MORSE_E2E=1 bun test test/e2e/","test:unit":"bun test test/*.test.ts","typecheck":"tsc --noEmit","test:coverage":"bun test --coverage","prepublishOnly":"bun run check && bun run build"},"_npmUser":{"name":"0xandreja","email":"andreja.kojadinovic@gmail.com"},"repository":{"url":"git+https://github.com/arcadiasystems/morse-dcms.git","type":"git","directory":"morse-cli"},"_npmVersion":"10.9.2","description":"Command-line interface for the Morse decentralized CMS on Sui.","directories":{},"_nodeVersion":"22.16.0","dependencies":{"commander":"^14.0.3","@mysten/sui":"2.16.2","@mysten/seal":"1.1.3","@mysten/walrus":"1.1.6","@arcadiasystems/morse-sdk":"^0.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","typescript":"^5.6.0","@biomejs/biome":"2.4.7"},"_npmOperationalInternal":{"tmp":"tmp/morse-cli_0.6.1_1788973933917_0.08634273145146865","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@arcadiasystems/morse-cli","version":"0.7.0","keywords":["sui","walrus","seal","cms","cli","decentralized","blockchain"],"license":"MIT","_id":"@arcadiasystems/morse-cli@0.7.0","maintainers":[{"name":"thedivic","email":"divicnikola@gmail.com"},{"name":"0xandreja","email":"andreja.kojadinovic@gmail.com"},{"name":"manda21","email":"mandicnikola1989@gmail.com"}],"homepage":"https://github.com/arcadiasystems/morse-dcms/tree/main/morse-cli#readme","bugs":{"url":"https://github.com/arcadiasystems/morse-dcms/issues"},"bin":{"morse":"dist/index.js"},"dist":{"shasum":"3395ea935d385f619648fae90d37724d8f7f5e7c","tarball":"https://registry.npmjs.org/@arcadiasystems/morse-cli/-/morse-cli-0.7.0.tgz","fileCount":6,"integrity":"sha512-60UDp9B9qj53RUiV14NdzFLGc/q5b+BGsbL/P+Z3G1TY6sw/7kHoo2bSSYwmYfSo/URbSDvPfcGOKFWuULryfw==","signatures":[{"sig":"MEUCIQDx5Qly6V3C2G4hhKeC6bAbQEDwDfGs2F2JVEHUUhj0bQIgFCZsplyaA7+0o0P3Rlpf+/Z2REAqoqxVXPv2bvR+QbI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":157882},"type":"module","engines":{"bun":">=1.2.0","node":">=18"},"gitHead":"84d9630accd800f7b046b20b70a73454e2c9e89d","scripts":{"lint":"biome check .","test":"bun test","build":"bun build src/index.ts --target node --packages external --outfile dist/index.js","check":"tsc --noEmit && biome check . && bun scripts/coverage-gate.ts","start":"bun src/index.ts","coverage":"bun scripts/coverage-gate.ts","lint:fix":"biome check --write .","test:cli":"bun test test/cli/","test:e2e":"MORSE_E2E=1 bun test test/e2e/","test:unit":"bun test test/*.test.ts","typecheck":"tsc --noEmit","test:coverage":"bun test --coverage","prepublishOnly":"bun run check && bun run build"},"_npmUser":{"name":"0xandreja","email":"andreja.kojadinovic@gmail.com"},"repository":{"url":"git+https://github.com/arcadiasystems/morse-dcms.git","type":"git","directory":"morse-cli"},"_npmVersion":"10.9.2","description":"Command-line interface for the Morse decentralized CMS on Sui.","directories":{},"_nodeVersion":"22.16.0","dependencies":{"commander":"^14.0.3","@mysten/sui":"2.16.2","@mysten/seal":"1.1.3","@mysten/walrus":"1.1.6","@arcadiasystems/morse-sdk":"^0.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","typescript":"^5.6.0","@biomejs/biome":"2.4.7"},"_npmOperationalInternal":{"tmp":"tmp/morse-cli_0.7.0_1788976445108_0.6840424622149976","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@arcadiasystems/morse-cli","version":"0.8.0","keywords":["sui","walrus","seal","cms","cli","decentralized","blockchain"],"license":"MIT","_id":"@arcadiasystems/morse-cli@0.8.0","maintainers":[{"name":"thedivic","email":"divicnikola@gmail.com"},{"name":"0xandreja","email":"andreja.kojadinovic@gmail.com"},{"name":"manda21","email":"mandicnikola1989@gmail.com"}],"homepage":"https://github.com/arcadiasystems/morse-dcms/tree/main/morse-cli#readme","bugs":{"url":"https://github.com/arcadiasystems/morse-dcms/issues"},"bin":{"morse":"dist/index.js"},"dist":{"shasum":"75d39aa4def7542e3bb9293a3880663266cfbf74","tarball":"https://registry.npmjs.org/@arcadiasystems/morse-cli/-/morse-cli-0.8.0.tgz","fileCount":6,"integrity":"sha512-5aetol9eAv2tM0TGqbakjo5UFlQB8EeJDm3b6NKjs+tYx+iy++UcTmOlbSCRXxgfW4QVxZLDb8GzEeeviOExMg==","signatures":[{"sig":"MEQCIGcbD1hBoUhCiLre9SST3mAYnswXLFJtolLHKFBT75YlAiBHWZswxQRW3wa8AjMN26My0ijNLn1nZi77Bi7DqP+hMw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":161113},"type":"module","engines":{"bun":">=1.2.0","node":">=18"},"gitHead":"79d5b1f1b4288a7518127a6dd0cfa4915490189c","scripts":{"lint":"biome check .","test":"bun test","build":"bun build src/index.ts --target node --packages external --outfile dist/index.js","check":"tsc --noEmit && biome check . && bun scripts/coverage-gate.ts","start":"bun src/index.ts","coverage":"bun scripts/coverage-gate.ts","lint:fix":"biome check --write .","test:cli":"bun test test/cli/","test:e2e":"MORSE_E2E=1 bun test test/e2e/","test:unit":"bun test test/*.test.ts","typecheck":"tsc --noEmit","test:coverage":"bun test --coverage","prepublishOnly":"bun run check && bun run build"},"_npmUser":{"name":"0xandreja","email":"andreja.kojadinovic@gmail.com"},"repository":{"url":"git+https://github.com/arcadiasystems/morse-dcms.git","type":"git","directory":"morse-cli"},"_npmVersion":"10.9.2","description":"Command-line interface for the Morse decentralized CMS on Sui.","directories":{},"_nodeVersion":"22.16.0","dependencies":{"commander":"^14.0.3","@mysten/sui":"2.16.2","@mysten/seal":"1.1.3","@mysten/walrus":"1.1.6","@arcadiasystems/morse-sdk":"^0.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","typescript":"^5.6.0","@biomejs/biome":"2.4.7"},"_npmOperationalInternal":{"tmp":"tmp/morse-cli_0.8.0_1789018604060_0.3977707689132626","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"@arcadiasystems/morse-cli","version":"0.9.0","keywords":["sui","walrus","seal","cms","cli","decentralized","blockchain"],"license":"MIT","_id":"@arcadiasystems/morse-cli@0.9.0","maintainers":[{"name":"thedivic","email":"divicnikola@gmail.com"},{"name":"0xandreja","email":"andreja.kojadinovic@gmail.com"},{"name":"manda21","email":"mandicnikola1989@gmail.com"}],"homepage":"https://github.com/arcadiasystems/morse-dcms/tree/main/morse-cli#readme","bugs":{"url":"https://github.com/arcadiasystems/morse-dcms/issues"},"bin":{"morse":"dist/index.js"},"dist":{"shasum":"cc48b560f4342daddff8ac3f626d3ed2d19b3994","tarball":"https://registry.npmjs.org/@arcadiasystems/morse-cli/-/morse-cli-0.9.0.tgz","fileCount":6,"integrity":"sha512-qx52bWbL4M8ZBcptAYJXVIBEnwkXdpCFqW/vheVuxbSxuLiJFvH8kk/80CiI0TTvVJbup5+11Hm149LIGNb+pQ==","signatures":[{"sig":"MEUCIQCarhGK2vmMnlLqsVZYlQBnZJhnC/N3McxWBzXN6ImxdgIgUJG4viVhtoFSp3H+xzU2oM2vkuMXjomr7rtuEU2xsIA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":168634},"type":"module","engines":{"bun":">=1.2.0","node":">=18"},"gitHead":"dc3118b469007d320fb863408f249bbd980e7b8e","scripts":{"lint":"biome check .","test":"bun test","build":"bun build src/index.ts --target node --packages external --outfile dist/index.js","check":"tsc --noEmit && biome check . && bun scripts/coverage-gate.ts","start":"bun src/index.ts","coverage":"bun scripts/coverage-gate.ts","lint:fix":"biome check --write .","test:cli":"bun test test/cli/","test:e2e":"MORSE_E2E=1 bun test test/e2e/","test:unit":"bun test test/*.test.ts","typecheck":"tsc --noEmit","test:coverage":"bun test --coverage","prepublishOnly":"bun run check && bun run build"},"_npmUser":{"name":"0xandreja","email":"andreja.kojadinovic@gmail.com"},"repository":{"url":"git+https://github.com/arcadiasystems/morse-dcms.git","type":"git","directory":"morse-cli"},"_npmVersion":"10.9.2","description":"Command-line interface for the Morse decentralized CMS on Sui.","directories":{},"_nodeVersion":"22.16.0","dependencies":{"commander":"^14.0.3","@mysten/sui":"2.16.2","@mysten/seal":"1.1.3","@mysten/walrus":"1.1.6","@arcadiasystems/morse-sdk":"^0.8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","typescript":"^5.6.0","@biomejs/biome":"2.4.7"},"_npmOperationalInternal":{"tmp":"tmp/morse-cli_0.9.0_1789027985207_0.9258151622103479","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"@arcadiasystems/morse-cli","version":"0.10.0","keywords":["sui","walrus","seal","cms","cli","decentralized","blockchain"],"license":"MIT","_id":"@arcadiasystems/morse-cli@0.10.0","maintainers":[{"name":"thedivic","email":"divicnikola@gmail.com"},{"name":"0xandreja","email":"andreja.kojadinovic@gmail.com"},{"name":"manda21","email":"mandicnikola1989@gmail.com"}],"homepage":"https://github.com/arcadiasystems/morse-dcms/tree/main/morse-cli#readme","bugs":{"url":"https://github.com/arcadiasystems/morse-dcms/issues"},"bin":{"morse":"dist/index.js"},"dist":{"shasum":"611c49922a92744d382900b2496584018cb64cb6","tarball":"https://registry.npmjs.org/@arcadiasystems/morse-cli/-/morse-cli-0.10.0.tgz","fileCount":6,"integrity":"sha512-UmhrzN9ijoEzo2qdmdco9iIwu0DVv3kiV5XXvfJfUiBacydgx65gWjR4tHldUW8Es0Sh97PBGSEBGcploYQHgg==","signatures":[{"sig":"MEUCIQC+CkqWAA9DsKvOV3gbCAn8R83YYCgnHUKjkghM+EJFbwIgHaTzB3CbAWhzZHUA0GsJzZx7nJL9rxoulyX+lHoljEY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":174789},"type":"module","engines":{"bun":">=1.2.0","node":">=18"},"gitHead":"f5c79dd507e3057cbf7559f7f269ee84e9c7154e","scripts":{"lint":"biome check .","test":"bun test","build":"bun build src/index.ts --target node --packages external --outfile dist/index.js","check":"tsc --noEmit && biome check . && bun scripts/coverage-gate.ts","start":"bun src/index.ts","coverage":"bun scripts/coverage-gate.ts","lint:fix":"biome check --write .","test:cli":"bun test test/cli/","test:e2e":"MORSE_E2E=1 bun test test/e2e/","test:unit":"bun test test/*.test.ts","typecheck":"tsc --noEmit","test:coverage":"bun test --coverage","prepublishOnly":"bun run check && bun run build"},"_npmUser":{"name":"0xandreja","email":"andreja.kojadinovic@gmail.com"},"repository":{"url":"git+https://github.com/arcadiasystems/morse-dcms.git","type":"git","directory":"morse-cli"},"_npmVersion":"10.9.2","description":"Command-line interface for the Morse decentralized CMS on Sui.","directories":{},"_nodeVersion":"22.16.0","dependencies":{"commander":"^14.0.3","@mysten/sui":"2.16.2","@mysten/seal":"1.1.3","@mysten/walrus":"1.1.6","@arcadiasystems/morse-sdk":"^0.8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","typescript":"^5.6.0","@biomejs/biome":"2.4.7"},"_npmOperationalInternal":{"tmp":"tmp/morse-cli_0.10.0_1789032624615_0.39365687853488973","host":"s3://npm-registry-packages-npm-production"}},"0.10.1":{"name":"@arcadiasystems/morse-cli","version":"0.10.1","description":"Command-line interface for the Morse decentralized CMS on Sui.","license":"MIT","type":"module","publishConfig":{"access":"public"},"keywords":["sui","walrus","seal","cms","cli","decentralized","blockchain"],"repository":{"type":"git","url":"git+https://github.com/arcadiasystems/morse-dcms.git","directory":"morse-cli"},"homepage":"https://github.com/arcadiasystems/morse-dcms/tree/main/morse-cli#readme","bugs":{"url":"https://github.com/arcadiasystems/morse-dcms/issues"},"bin":{"morse":"dist/index.js"},"engines":{"node":">=18","bun":">=1.2.0"},"scripts":{"start":"bun src/index.ts","build":"bun build src/index.ts --target node --packages external --outfile dist/index.js","typecheck":"tsc --noEmit","docs-gate":"bun scripts/docs-gate.ts","lint":"biome check .","lint:fix":"biome check --write .","test":"bun test","test:unit":"bun test test/*.test.ts","test:cli":"bun test test/cli/","test:coverage":"bun test --coverage","test:e2e":"MORSE_E2E=1 bun test test/e2e/","coverage":"bun scripts/coverage-gate.ts","check":"tsc --noEmit && biome check . && bun scripts/docs-gate.ts && bun scripts/coverage-gate.ts","prepublishOnly":"bun run check && bun run build"},"dependencies":{"@arcadiasystems/morse-sdk":"^0.8.1","@mysten/seal":"1.1.3","@mysten/sui":"2.16.2","@mysten/walrus":"1.1.6","commander":"^14.0.3"},"devDependencies":{"@biomejs/biome":"2.4.7","@types/bun":"latest","typescript":"^5.6.0"},"_id":"@arcadiasystems/morse-cli@0.10.1","gitHead":"f2f548206ed7ea69a42a168130d07c7c37d225ca","_nodeVersion":"22.16.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-EDkQMfAzj+RaAeUMEBiwCoTQlTHuj29fzFHr5iPHo70mwJBnwSAC65Pd9FJ5AcMgH9v8JXMIDbrmH5n6EwXtJA==","shasum":"8930c077ba9caaad43eb06b0ed94f4b5b3ca83e4","tarball":"https://registry.npmjs.org/@arcadiasystems/morse-cli/-/morse-cli-0.10.1.tgz","fileCount":6,"unpackedSize":175350,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDo8Q7DFr1n4/cinx3XhbjQNMGPYVATcum6DLl9zHt8RQIhALZc1fcPVkng+wZvFlJAyT6SnLAtxXjFJXxr3kBio06p"}]},"_npmUser":{"name":"0xandreja","email":"andreja.kojadinovic@gmail.com"},"directories":{},"maintainers":[{"name":"thedivic","email":"divicnikola@gmail.com"},{"name":"0xandreja","email":"andreja.kojadinovic@gmail.com"},{"name":"manda21","email":"mandicnikola1989@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/morse-cli_0.10.1_1789033375153_0.6995563861229914"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-29T12:39:19.546Z","modified":"2026-09-10T09:42:55.496Z","0.1.0":"2026-05-29T12:39:19.898Z","0.2.0":"2026-06-04T13:16:32.883Z","0.3.0":"2026-06-04T17:36:38.814Z","0.4.0":"2026-06-04T20:45:01.473Z","0.4.1":"2026-06-05T08:15:30.366Z","0.4.2":"2026-06-05T08:47:55.192Z","0.5.0":"2026-06-09T13:16:02.338Z","0.6.0":"2026-09-09T15:19:52.055Z","0.6.1":"2026-09-09T17:12:14.072Z","0.7.0":"2026-09-09T17:54:05.250Z","0.8.0":"2026-09-10T05:36:44.196Z","0.9.0":"2026-09-10T08:13:05.367Z","0.10.0":"2026-09-10T09:30:24.750Z","0.10.1":"2026-09-10T09:42:55.280Z"},"bugs":{"url":"https://github.com/arcadiasystems/morse-dcms/issues"},"license":"MIT","homepage":"https://github.com/arcadiasystems/morse-dcms/tree/main/morse-cli#readme","keywords":["sui","walrus","seal","cms","cli","decentralized","blockchain"],"repository":{"type":"git","url":"git+https://github.com/arcadiasystems/morse-dcms.git","directory":"morse-cli"},"description":"Command-line interface for the Morse decentralized CMS on Sui.","maintainers":[{"name":"thedivic","email":"divicnikola@gmail.com"},{"name":"0xandreja","email":"andreja.kojadinovic@gmail.com"},{"name":"manda21","email":"mandicnikola1989@gmail.com"}],"readme":"# morse-cli\n\nCommand-line interface for the [Morse](https://github.com/arcadiasystems/morse-dcms)\ndecentralized CMS on Sui. Create and manage publications, collections, and\ncontent entries from your terminal, signing with a locally encrypted key.\nContent is stored on [Walrus](https://walrus.xyz); private entries are encrypted\nwith [Seal](https://github.com/MystenLabs/seal).\n\n> Status: v0.10.1. Mainnet and testnet are both supported for public content;\n> the command surface is stable.\n>\n> **Encrypted commands need Seal key servers.** Testnet has an open set, so\n> they work there out of the box. Mainnet has none, because every mainnet Seal\n> operator is commercial: supply your own credential via `MORSE_SEAL_API_KEY`\n> (see [Seal on mainnet](#seal-on-mainnet)), or these commands exit 2 with an\n> explanation.\n>\n> Everything that does not encrypt works on both networks, including\n> `file upload --public`, `file download` of a public file, and the whole\n> publication, collection and entry surface. All of that is verified against\n> live mainnet, including a public upload and download round trip.\n>\n> **The Move contracts are unaudited.** On mainnet, gas and Walrus storage cost\n> real SUI and WAL, there is no faucet, and deletions are irreversible. Nothing\n> selects mainnet for you: with no `--network`, `MORSE_NETWORK`, or profile\n> setting, the CLI targets testnet. Every command that spends gas prints the\n> network it used, and `--json` output carries a `network` field.\n\n## Requirements\n\n- [Node.js](https://nodejs.org) >= 18, or [Bun](https://bun.sh) >= 1.2. The\n  published CLI runs under either.\n- A funded Sui address for gas, and WAL for Walrus storage when adding content.\n  On testnet, get SUI from the [Sui faucet](https://faucet.sui.io/) and swap some\n  for WAL at [stake-wal.wal.app](https://stake-wal.wal.app/?network=testnet). On\n  mainnet there is no faucet: both have to be acquired, and every write spends\n  real value.\n\n## Install\n\n```sh\nnpm i -g @arcadiasystems/morse-cli   # or: bun add -g, pnpm add -g\nmorse --help\n```\n\nOr run without installing:\n\n```sh\nnpx @arcadiasystems/morse-cli --help   # or: bunx @arcadiasystems/morse-cli\n```\n\nFrom a clone (development), run the source with Bun:\n\n```sh\nbun morse-cli/src/index.ts --help\n```\n\n## Quick start\n\nA full, copy-pasteable walkthrough lives in [docs/QUICKSTART.md](./docs/QUICKSTART.md).\nThe short version:\n\n```sh\nmorse config add testnet --network testnet    # create a profile (becomes default)\nmorse account import                           # import a key (prompts for key + password)\nmorse publication create --name \"My Blog\" --slug my-blog   # becomes the active publication\nmorse collection create posts                  # becomes the active collection\nmorse entry add hello --file post.txt          # no ids needed\n```\n\n## Active context\n\nMost commands act on a publication and a collection. Rather than pasting a\n64-character object id every time, select an active publication and collection\nonce; commands then default to them. This mirrors how `kubectl`/`gh` use a\ncurrent context.\n\n```sh\nmorse use my-blog            # set the active publication (slug or id)\nmorse use my-blog posts      # set both publication and collection\nmorse status                 # show the active profile, account, publication, collection\nmorse use --clear            # clear the active publication and collection\n```\n\n- `publication create` selects the new publication automatically; `collection\n  create` selects the new collection. So the common flow needs no ids at all.\n- Override the context per command with `-P, --publication <slug|id>` and\n  `-C, --collection <name>`. Flags always win over the active context.\n- Slugs are resolved against publications owned by the active account (the\n  registry has no slug index). Pass an object id to address any publication.\n\n## Configuration\n\nSettings resolve with the precedence `flags > MORSE_* env > config file >\ndefaults`. The config file lives under `$XDG_CONFIG_HOME/morse` (default\n`~/.config/morse`); encrypted keystores live in `keystores/` beside it.\n\nManage profiles with `morse config`:\n\n```sh\nmorse config add testnet --network testnet     # create a profile (first becomes default)\nmorse config list                               # list profiles, * marks the default\nmorse config use testnet                        # change the default profile\nmorse config remove testnet                     # delete a profile\nmorse config path                               # print the config file path\n```\n\nEnvironment variables (override the config file, overridden by flags):\n\n| Variable | Overrides | Notes |\n| --- | --- | --- |\n| `MORSE_PROFILE` | `--profile` | Profile to use. |\n| `MORSE_NETWORK` | `--network` | `mainnet`, `testnet`, or `localnet`. |\n| `MORSE_WALRUS_UPLOAD_RELAY` | `--upload-relay` | Upload through a Walrus relay instead of the direct fanout. `auto` picks the canonical relay for the network. |\n| `MORSE_WALRUS_MAX_TIP` | `--max-tip` | Cap the relay's per-upload tip, in MIST. Defaults to 10000000 (0.01 SUI). |\n| `MORSE_SEAL_API_KEY` | (none) | Credential for Mysten's Seal committee, enabling encrypted commands on mainnet. |\n| `MORSE_SEAL_API_KEY_NAME` | (none) | Header name for that credential. Defaults to `X-API-Key`. |\n| `MORSE_SEAL_KEY_SERVERS` | (none) | JSON array of `{ objectId, weight }` for a non-committee Seal operator. Wins over `MORSE_SEAL_API_KEY`. |\n| `MORSE_RPC_URL` | `--rpc` | Sui RPC URL override. |\n| `MORSE_ADDRESS` | (no flag) | Active account address, selecting which keystore to use. |\n| `MORSE_PUBLICATION` | `-P, --publication` | Active publication id. |\n| `MORSE_COLLECTION` | `-C, --collection` | Active collection name. |\n| `MORSE_PRIVATE_KEY` | (no flag) | Raw Bech32 secret key. Highest-priority key source; never persisted. For CI. |\n| `MORSE_KEYSTORE_PASSWORD` | (no flag) | Keystore password for non-interactive unlock. For CI. |\n| `XDG_CONFIG_HOME` | (no flag) | Base config directory; defaults to `~/.config`. |\n\n## Security model\n\nPrivate keys are stored in an encrypted keystore (scrypt + AES-256-GCM) and\nunlocked by a password. Specifics:\n\n- Keys are never accepted as command-line flags (they would leak via `ps`,\n  `/proc/<pid>/cmdline`, and shell history). They come from an interactive hidden\n  prompt, the `MORSE_PRIVATE_KEY` env var, or the encrypted keystore.\n- Keystore files are written `chmod 600`; group- or world-readable key files are\n  refused on read.\n- Keys are never printed or logged, including under `--debug`. The sole exception\n  is `morse account export`, which deliberately reveals a key: it is\n  interactive-only, requires confirmation, and is unavailable in `--json` mode.\n- The key-source precedence is `MORSE_PRIVATE_KEY` (raw, ephemeral) > the active\n  account's keystore (password-unlocked).\n\n## Command reference\n\nGlobal options apply to every command and must appear before the subcommand\n(e.g. `morse --json publication list`).\n\n| Global option | Purpose |\n| --- | --- |\n| `--network <mainnet\\|testnet\\|localnet>` | Network to target (default: testnet). `localnet` needs a custom deployment. |\n| `-p, --profile <name>` | Config profile to use. |\n| `--rpc <url>` | Override the Sui RPC URL. |\n| `--upload-relay <url\\|auto>` | Upload Walrus blobs through a relay instead of the direct fanout. `auto` picks the canonical relay for the network. Costs a tip per upload. |\n| `--max-tip <mist>` | Cap the relay's per-upload tip, in MIST (default: 10000000). |\n| `--json` | Machine-readable JSON on stdout. |\n| `-q, --quiet` | Suppress progress and informational output. |\n| `-y, --yes` | Assume yes for confirmation prompts. |\n| `--debug` | Print stack traces on error. |\n| `-V, --version` | Print the version. |\n| `-h, --help` | Show help for any command. |\n\nCommands that act on a publication/collection take `-P, --publication <slug|id>`\nand `-C, --collection <name>`, both defaulting to the active context.\n\n### Context\n\n| Command | Purpose |\n| --- | --- |\n| `use <publication> [collection]` | Set the active publication (slug or id) and optional collection. Omitting the collection clears it. |\n| `use --clear` | Clear the active publication and collection. |\n| `status` | Show the active profile, network, account, publication, and collection. |\n\n### config\n\n| Command | Purpose |\n| --- | --- |\n| `config add <name> --network <net> [--rpc <url>] [--upload-relay <url\\|auto>]` | Create or update a profile. |\n| `config remove <name>` | Delete a profile. Also `config delete`. |\n| `config list` | List profiles; `*` marks the default. |\n| `config use <name>` | Set the default profile. |\n| `config path` | Print the config file path. |\n\n### account\n\n| Command | Purpose |\n| --- | --- |\n| `account import` | Import a key into an encrypted keystore (prompts for key + password). |\n| `account list` | List imported accounts; `*` marks the active one. |\n| `account show` | Print the active account address. |\n| `account use <address>` | Set the active account for the current profile. |\n| `account export <address>` | Reveal a decrypted key (interactive-only, dangerous). |\n\n### publication (alias: pub)\n\n| Command | Purpose |\n| --- | --- |\n| `publication get [publication]` | Fetch a publication (default: active). |\n| `publication list [address] [--ids-only]` | List publications owned by an address (default: active account); shows slug, id, and name. `--ids-only` skips the per-row reads. |\n| `publication create --name <name> --slug <slug>` | Create a publication and select it. |\n| `publication delete [publication] [--owner-cap <id>]` | Delete an empty publication (default: active). |\n| `publication transfer-ownership <recipient> [-P <slug\\|id>] [--owner-cap <id>]` | Transfer the OwnerCap. |\n\n### collection\n\n| Command | Purpose |\n| --- | --- |\n| `collection list [-P <slug\\|id>]` | List collections. |\n| `collection create <name> [--mode blob\\|quilt] [-P <slug\\|id>]` | Create a collection and select it. |\n| `collection delete <name> [-P <slug\\|id>] [--publisher-cap <id>]` | Delete an empty collection. |\n\n### entry\n\n| Command | Purpose |\n| --- | --- |\n| `entry get <entryId> [-P …] [-C …]` | Fetch a single entry's metadata. |\n| `entry read <entryId> [revisionIndex] [--out <path>] [--via-aggregator] [-P …] [-C …]` | Fetch a public entry's content to stdout or a file. |\n| `entry list [--drafts-only] [-P …] [-C …]` | List entries (paginated); `--drafts-only` shows just entries with a pending draft. |\n| `entry scan [--drafts-only] [-P …] [-C …]` | List every entry (auto-paginated). |\n| `entry add <name> --file <path> [-P …] [-C …]` | Upload content and add a new entry; prints a viewable link. |\n| `entry delete <entryId> [-P …] [-C …]` | Delete an entry. |\n| `entry add-encrypted <name> --file <path> [-P …] [-C …]` | Encrypt, upload, and add a new entry. |\n| `entry decrypt <entryId> [revisionIndex] [--out <path>] [--via-aggregator] [-P …] [-C …]` | Decrypt an encrypted revision. |\n\n`add`, `add-encrypted`, and the revision commands accept `--file <path>` (or `-`\nfor stdin), `--stdin`, and `--content-type <type>` (inferred from the file\nextension otherwise).\n\nThey also accept `--epochs <n>` (default 3): the number of Walrus storage epochs\nthe uploaded blob is paid to be stored for. More epochs means the content lives\nlonger before its storage registration expires, and costs more WAL up front.\nBlobs are always uploaded as deletable (the contract rejects non-deletable\nblobs), so that is not configurable. `--epochs` applies only to these upload\ncommands; pure on-chain commands (publication, collection, cap) have no epochs.\n\n### revision\n\n| Command | Purpose |\n| --- | --- |\n| `revision publish-direct <entryId> --file <path> [-P …] [-C …]` | Upload content and append a public revision. |\n| `revision append-draft <entryId> --file <path> [-P …] [-C …]` | Upload content and append a draft revision. |\n| `revision publish-from-draft <entryId> <draftRevisionId> [--file <path>] [-P …] [-C …]` | Publish a draft as a new revision. Reuses the draft's content by default; pass `--file`/`--stdin` to publish replacement content. |\n\n### cap\n\n| Command | Purpose |\n| --- | --- |\n| `cap list [address]` | List PublisherCaps held by an address. |\n| `cap issue <holder> [-P <slug\\|id>] [--owner-cap <id>]` | Issue a PublisherCap bound to an address. |\n| `cap revoke <publisherCapId> [-P <slug\\|id>] [--owner-cap <id>]` | Revoke a PublisherCap. |\n| `cap destroy <publisherCapId> [-P <slug\\|id>]` | Destroy a PublisherCap you hold. |\n| `cap transfer <publisherCapId> <recipient>` | Transfer a PublisherCap object. |\n\nOwnerCap and PublisherCap IDs are auto-resolved from the active account when the\n`--owner-cap` / `--publisher-cap` override is omitted. Destructive operations\n(`delete`, `revoke`, `destroy`, `transfer`) confirm interactively unless `--yes`.\n\n### file\n\nA `RecipientFile` is a single object that carries its own recipient list: the\naddresses allowed to decrypt it live inline on the file, managed by its owner.\nThere is no separate allowlist object.\n\n| Command | Purpose |\n| --- | --- |\n| `file upload <path> --name <n> (--public \\| --encrypt \\| -r <addr>...) [--content-type <m>] [--epochs <n>]` | Upload to Walrus and register. `--public` is world-readable; `--encrypt` (or supplying `-r`) encrypts, and the sender is always a recipient. One of the three is required. |\n| `file register --blob-id <id> --name <n> --content-type <m> --size <bytes> (--public \\| --encrypted --seal-prefix <hex>) [-r <addr>...] [--blob-object-id <id>]` | Register metadata for a blob already on Walrus. |\n| `file download [file] [--out <path>] [--share <s>] [--prefix <hex> --nonce <hex>] [--raw] [--via-aggregator]` | Download content; decrypts in place with a share string (or prefix + nonce). For an encrypted file with no decrypt input, it refuses unless `--raw` is given. |\n| `file list [--address <addr>] [--accessible] [--hydrate] [--limit <n>] [--indexer-url <url>]` | List files owned by (or, with `--accessible`, decryptable by) an address. |\n| `file get <file>` | Fetch a file's on-chain metadata and recipient list. |\n| `file update <file> --name <n> --content-type <m>` | Update name and MIME (owner only). |\n| `file transfer-ownership <file> <newOwner> [-y]` | Transfer ownership (not recipient access, which the list governs). |\n| `file delete <file> [-y]` | Delete the metadata record (the Walrus blob expires on its own lease). |\n| `file recipient add <file> <address>` | Allow an address to decrypt the file. |\n| `file recipient remove <file> <address>` | Revoke an address's access. |\n| `file recipient list <file>` | List the file's recipients. |\n\nAn encrypted `file upload` prints a **share string** (`mf1.<fileId>.<prefix>.<nonce>`)\nthat bundles the file id and the Seal prefix and nonce. The prefix and nonce are\nnot recoverable from the ciphertext, so save the share string: `file download\n--share <s>` needs it (plus being on the recipient list) to decrypt. `--json`\nalso returns the raw `sealIdPrefix` and `sealNonce` as hex, usable as `--prefix`\n/ `--nonce` if you prefer to pass them separately.\n\n`file list` reconstructs the file set from contract events. `RecipientFile`\nobjects have no on-chain owner index for the shared case, so listing is\nevent-derived, not a direct query. The command reads events from a Sui GraphQL\nendpoint, defaulting to the canonical Mysten one for the network. It used to use\n`suix_queryEvents` over JSON-RPC, which public fullnodes have since retired;\n`@mysten/sui`'s gRPC client exposes no event API, so GraphQL is the transport\nthat remains. Point `--indexer-url <url>` at a different GraphQL endpoint (a\nself-hosted indexer, a third-party endpoint) to stay in control. Results are\nbest-effort and eventually consistent (subject to indexer lag and retention). Summary rows omit `blobId`/`blobObjectId`; add `--hydrate`\nto fetch the full record per file (one read each) when you need them.\n\n## Output and scripting\n\n- Human-readable output goes to stdout; progress, warnings, and prompts go to\n  stderr. Redirecting stdout yields only the result.\n- `--json` emits a single JSON document on stdout (nothing else). `bigint` values\n  (e.g. `gasUsedMist`) are encoded as decimal strings and byte arrays (quilt patch\n  ids) as `0x`-hex. Encrypted uploads also return `sealIdPrefix` / `sealNonce` as\n  hex and a `share` string.\n- Color is emitted only to a TTY and honors `NO_COLOR` and `FORCE_COLOR`.\n\n## Exit codes\n\n| Code | Meaning |\n| --- | --- |\n| 0 | Success |\n| 1 | Generic error (contract abort, uncategorized) |\n| 2 | Usage error (bad or missing flags/arguments, invalid id/slug/address, declined confirmation) |\n| 3 | Not found |\n| 4 | Auth or permission failure (keystore unlock, unauthorized, no-access) |\n| 5 | Network or transport failure |\n\n## Examples\n\n- [docs/QUICKSTART.md](./docs/QUICKSTART.md): a full, copy-pasteable walkthrough.\n- Runnable shell recipes in [examples/](https://github.com/arcadiasystems/morse-dcms/tree/main/morse-cli/examples):\n  - [`lifecycle.sh`](https://github.com/arcadiasystems/morse-dcms/blob/main/morse-cli/examples/lifecycle.sh): create, add an entry, read, revise, tear down.\n  - [`content.sh`](https://github.com/arcadiasystems/morse-dcms/blob/main/morse-cli/examples/content.sh): upload an image and a post, publish a revision, fetch content back, get a link, remove a collection.\n  - [`encrypt-decrypt.sh`](https://github.com/arcadiasystems/morse-dcms/blob/main/morse-cli/examples/encrypt-decrypt.sh): encrypt with Seal and decrypt back.\n  - [`delegation.sh`](https://github.com/arcadiasystems/morse-dcms/blob/main/morse-cli/examples/delegation.sh): issue a PublisherCap to a delegate, then revoke it.\n  - [`ci-noninteractive.sh`](https://github.com/arcadiasystems/morse-dcms/blob/main/morse-cli/examples/ci-noninteractive.sh): env-var auth, `--yes`, and `--json` parsing.\n  - [`files.sh`](https://github.com/arcadiasystems/morse-dcms/blob/main/morse-cli/examples/files.sh): RecipientFile round-trip (upload an encrypted file, download/decrypt via its share string, manage recipients, plus a public file).\n\n## Limitations\n\n- A publication's `name` and `slug` are immutable on-chain (the slug is the\n  registry's unique key), so there is no rename command.\n- `entry read` serves public content to stdout or a file; encrypted entries are\n  retrieved with `entry decrypt`, not `entry read`. A shareable Walrus link is\n  printed by `entry add` (the `viewUrl` field), since the content id is known at\n  upload time.\n- `entry read` and `entry decrypt` default to reading from Walrus storage nodes,\n  which verifies the bytes against the on-chain blob id. Pass `--via-aggregator`\n  to read through the Walrus aggregator HTTP service instead: more reliable when\n  storage nodes are flaky (common on testnet), at the cost of trusting the\n  aggregator's bytes (no client-side verification).\n- Encrypted entries cannot be revised. The `revision` commands and `entry add`\n  only produce unencrypted content, so the CLI refuses to append to an entry that\n  already has encrypted revisions (to avoid a mixed-encryption entry). Use\n  `entry add-encrypted` for new encrypted entries.\n- `entry add` supports blob-mode collections only. Quilt collections can be\n  created but not yet populated through the CLI; `entry add` refuses them.\n- There is no command to query Walrus blob storage expiry; `--epochs` sets the\n  lease at upload time, but remaining lease time is not exposed by the SDK.\n- Encrypted commands do not work on mainnet, per the status note above. There\n  is no way to supply Seal key servers to the CLI; if you have credentials from\n  an operator, use the SDK directly for now.\n- `localnet` is accepted as a network but has no canonical deployment, so it\n  fails at startup unless you point the SDK at your own package and registry.\n- `file list` reads events from a Sui GraphQL endpoint, defaulting to the\n  canonical one for the network. `--indexer-url` points it at a different\n  GraphQL endpoint. There is no canonical endpoint for localnet, so listing\n  there requires the flag.\n\n## Command spellings\n\nSeveral commands accept two verbs for the same action, so whichever you reach\nfor works. These are aliases, not separate commands:\n\n| Canonical | Also accepts |\n| --- | --- |\n| `account show` | `account get` |\n| `publication get` | `publication show` |\n| `entry get` | `entry show` |\n| `file get` | `file show` |\n| `config remove` | `config delete` |\n| `cap transfer` | `cap transfer-ownership` |\n| `entry read` | `entry download` |\n| `file download` | `file read` |\n| `entry scan` | `entry list --all` |\n\n`publication` also answers to `pub`.\n\n## Seal on mainnet\n\nEncrypted commands need Seal key servers. Testnet pins an open set, so they\nwork there with no setup. Mainnet pins none: every mainnet Seal operator is\ncommercial, so you bring your own.\n\nThe usual route is a credential for Mysten's decentralized committee, which\nthe CLI already knows the object id and aggregator for:\n\n```sh\nexport MORSE_SEAL_API_KEY=your-key-here\nmorse --network mainnet file upload ./secret.pdf --encrypt -r 0xrecipient\n```\n\nFor an operator that is not the committee, give the servers directly:\n\n```sh\nexport MORSE_SEAL_KEY_SERVERS='[{\"objectId\":\"0x...\",\"weight\":1}]'\n```\n\nEntries may carry `aggregatorUrl`, `apiKeyName` and `apiKey`; Seal requires\n`aggregatorUrl` on a committee-mode server and forbids it on an independent\none. `MORSE_SEAL_KEY_SERVERS` takes precedence when both are set.\n\n**Neither is a flag, deliberately.** A credential in argv leaks through `ps`\nand shell history, the same reason the signing key is never a flag either.\n\nBefore encrypting anything, the CLI checks the credential against the operator\nand refuses if it comes back `401` or `403`. This matters more than it looks:\nSeal reads key-server public keys from chain but fetches key *shares* from the\noperator, so a bad credential would let encryption succeed and fail only at\ndecryption, leaving you paying to store content nobody can ever read. Any other\noutcome, including the check being offline, proceeds normally, because a flaky\ncheck must never block a working key.\n\n## When uploads fail: the upload relay\n\nA Walrus upload pushes slivers to every storage node in the committee at once,\n95 of them on mainnet. Networks that cannot sustain that burst fail with\n`NotEnoughBlobConfirmationsError` or \"Unable to connect\", **even when the nodes\nare healthy and far above write quorum**. If uploads fail while reads work, this\nis almost certainly why, and it is not a fault in your config.\n\nRoute the upload through a relay and one connection replaces ~95:\n\n```sh\nmorse --upload-relay auto file upload ./photo.jpg --public -n photo\n```\n\n`auto` resolves to Mysten's canonical relay for the selected network. Pass a URL\ninstead to use a different operator, or persist it on a profile:\n\n```sh\nmorse config add mainnet --network mainnet --upload-relay auto\n```\n\nThree things to know before reaching for it:\n\n- **It costs a tip per upload**, on top of WAL and gas. Mainnet prices it\n  linearly in encoded blob size; a small blob runs about 0.0026 SUI.\n- **The tip is capped** at `--max-tip` (default 10000000 MIST, 0.01 SUI). Over\n  the cap the upload is refused before anything is spent, rather than quietly\n  charging more than you expected.\n- **The relay sees your bytes.** Same trade as any hosted service; encrypt first\n  if that matters.\n\nIt is opt-in on purpose. The direct path is free and trustless, and most\nnetworks handle it fine.\n\n## Publishing\n\nPublished to the public npm registry as the scoped package\n`@arcadiasystems/morse-cli`. The `bin` entry exposes the `morse` command, so once\npublished users can:\n\n```sh\nbun add -g @arcadiasystems/morse-cli   # or: npm i -g @arcadiasystems/morse-cli\nbunx @arcadiasystems/morse-cli --help  # or: npx, run without installing\n```\n\nThe shipped `bin` is `dist/index.js`, a Node-targeted bundle (`bun run build`)\nwith a `#!/usr/bin/env node` shebang and external dependencies, so installs run\nunder Node or Bun. `prepublishOnly` runs typecheck, lint, tests, and the build,\nso the published `dist/` is always fresh.\n\nRelease steps: bump the version in `package.json`, stamp the CHANGELOG date,\nthen `npm publish` (the package is `publishConfig.access: public`). `npm publish`\nships `dist`, `docs`, `README.md`, `LICENSE`, and `CHANGELOG.md` (see the `files`\nallowlist). Publish the SDK first; the CLI depends on `@arcadiasystems/morse-sdk`.\n\n## Development\n\n| Command | What it does |\n| --- | --- |\n| `bun run test:unit` | In-process tests only (no subprocesses); ~2s, for a tight edit loop. |\n| `bun run test:cli` | Subprocess CLI-smoke tests (`test/cli/`); spawns the real bin. |\n| `bun test` | The full hermetic suite (unit + CLI smoke), no network. |\n| `bun run typecheck` | `tsc --noEmit`. |\n| `bun run lint` | Biome check. |\n| `bun run coverage` | Run the suite with coverage and enforce the floor. |\n| `bun run check` | Typecheck, lint, and the coverage gate (the CI gate). |\n| `bun run test:e2e` | Live testnet lifecycle. Opt-in: needs `MORSE_PRIVATE_KEY` (or `.env.testnet`) funded with testnet SUI and WAL. Set `MORSE_E2E_AGGREGATOR=1` to route the read steps through `--via-aggregator`. |\n\nThe test layering, coverage policy, and anti-flake rules are described in\n`CLAUDE.md`. CI runs `check` and `build` on every push and PR that touches the\npackage (`.github/workflows/cli-ci.yml`); the live e2e is excluded from CI.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}