{"_id":"@elinpf/dsh-ops-access-ceph","_rev":"13-a3ab211990fc8ab1b61e2ec8ce2c3280","name":"@elinpf/dsh-ops-access-ceph","dist-tags":{"latest":"0.4.1"},"versions":{"0.1.0":{"name":"@elinpf/dsh-ops-access-ceph","version":"0.1.0","license":"MIT","_id":"@elinpf/dsh-ops-access-ceph@0.1.0","maintainers":[{"name":"elinpf","email":"365433079@qq.com"}],"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"df255cb922501bb738d45892f0dc843f753fe48c","tarball":"https://registry.npmjs.org/@elinpf/dsh-ops-access-ceph/-/dsh-ops-access-ceph-0.1.0.tgz","fileCount":11,"integrity":"sha512-zriqmeLs2XOFqRKZy0pA16xCmpgZrgTHQrqz9ZDyLv/qIFEyM9O8mDOA6X3NO4f9AxjI0b3sUDB849VxvsvEhA==","signatures":[{"sig":"MEYCIQDXQlI+pUgecMoQpm0zCWkqxsPmE4orCC1ojqqgIclWEQIhAOE2DZ9lPCRTrswGAYWD8owsQnZavduXf7zjz0rsiBBT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20592},"main":"lib/index.js","type":"module","_from":"file:elinpf-dsh-ops-access-ceph-0.1.0.tgz","types":"lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./types":{"types":"./lib/types.d.ts","default":"./lib/types.js"},"./invariant":{"types":"./lib/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit"},"_npmUser":{"name":"elinpf","email":"365433079@qq.com"},"_resolved":"/tmp/c9178d09f2de4dcb754493b292063c33/elinpf-dsh-ops-access-ceph-0.1.0.tgz","_integrity":"sha512-zriqmeLs2XOFqRKZy0pA16xCmpgZrgTHQrqz9ZDyLv/qIFEyM9O8mDOA6X3NO4f9AxjI0b3sUDB849VxvsvEhA==","_npmVersion":"10.9.8","description":"Ops access provider for Ceph — validates ceph registry entries and expands conf/keyring paths.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"zod":"^4.4.3","@deepseek-ai/schemastery":"^3.18.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.11","typescript":"^5.4.0","@types/node":"^22.0.0","@deepseek-ai/cordis":"4.0.1","@elinpf/dsh-ops-access":"0.1.0"},"peerDependencies":{"@deepseek-ai/cordis":"^4.0.1","@elinpf/dsh-ops-access":"^0.1.0","@deepseek-ai/dsh-invariants":"^0.0.1-rc.1"},"_npmOperationalInternal":{"tmp":"tmp/dsh-ops-access-ceph_0.1.0_1788320318459_0.0892998284182902","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@elinpf/dsh-ops-access-ceph","version":"0.1.1","license":"MIT","_id":"@elinpf/dsh-ops-access-ceph@0.1.1","maintainers":[{"name":"elinpf","email":"365433079@qq.com"}],"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"4a4091315a81bffbeb4775fed1a112c7a06aff81","tarball":"https://registry.npmjs.org/@elinpf/dsh-ops-access-ceph/-/dsh-ops-access-ceph-0.1.1.tgz","fileCount":11,"integrity":"sha512-BY7ZFgBDC6v3iLo9vCWNKGXmshQ87Ok/6tGzqv2VAd8wuVO9fbGQjq1eMuZXDvP0otPfoQxXLShRU+7PKfyARw==","signatures":[{"sig":"MEYCIQC75ucV+2dVYkXQueg+ZERs42QRXP+fLTun7CLIFReCKwIhAIpWKyuvBmjuWFZxQfhsDysQ2AVw5ete42BhUVETxFju","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20592},"main":"lib/index.js","type":"module","_from":"file:elinpf-dsh-ops-access-ceph-0.1.1.tgz","types":"lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./types":{"types":"./lib/types.d.ts","default":"./lib/types.js"},"./invariant":{"types":"./lib/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit"},"_npmUser":{"name":"elinpf","email":"365433079@qq.com"},"_resolved":"/tmp/6962a5816244cd51ffe5b2a6b7be5c03/elinpf-dsh-ops-access-ceph-0.1.1.tgz","_integrity":"sha512-BY7ZFgBDC6v3iLo9vCWNKGXmshQ87Ok/6tGzqv2VAd8wuVO9fbGQjq1eMuZXDvP0otPfoQxXLShRU+7PKfyARw==","_npmVersion":"10.9.8","description":"Ops access provider for Ceph — validates ceph registry entries and expands conf/keyring paths.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"zod":"^4.4.3","@deepseek-ai/schemastery":"^3.18.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.11","typescript":"^5.4.0","@types/node":"^22.0.0","@deepseek-ai/cordis":"4.0.1","@elinpf/dsh-ops-access":"0.1.1"},"peerDependencies":{"@deepseek-ai/cordis":"^4.0.1","@elinpf/dsh-ops-access":"^0.1.1","@deepseek-ai/dsh-invariants":"^0.0.1-rc.1"},"_npmOperationalInternal":{"tmp":"tmp/dsh-ops-access-ceph_0.1.1_1788321445327_0.7007402463640897","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@elinpf/dsh-ops-access-ceph","version":"0.1.2","license":"MIT","_id":"@elinpf/dsh-ops-access-ceph@0.1.2","maintainers":[{"name":"elinpf","email":"365433079@qq.com"}],"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"9fe90dbf086e019f3ba5c39b0770050ce4b2356f","tarball":"https://registry.npmjs.org/@elinpf/dsh-ops-access-ceph/-/dsh-ops-access-ceph-0.1.2.tgz","fileCount":11,"integrity":"sha512-NOClk1+tq8uUoSR3S4GDEt0MxN7IhMSces/1lvFMZtYpWAL51LCXZS/jrkYdagQkLtJh1KJf1aqv/jSP10WaDw==","signatures":[{"sig":"MEUCIAp0ahW4rRNkxfPW1GDMjNsEUvDFKSv/xxFF3fkNvwmwAiEAwS7efEX7huuJ8lBzp4kEDAOZWg/d2lAYavRMzRVrgxU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20592},"main":"lib/index.js","type":"module","_from":"file:elinpf-dsh-ops-access-ceph-0.1.2.tgz","types":"lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./types":{"types":"./lib/types.d.ts","default":"./lib/types.js"},"./invariant":{"types":"./lib/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit"},"_npmUser":{"name":"elinpf","email":"365433079@qq.com"},"_resolved":"/tmp/b79eead35c3b69c3be23e3de1afae71e/elinpf-dsh-ops-access-ceph-0.1.2.tgz","_integrity":"sha512-NOClk1+tq8uUoSR3S4GDEt0MxN7IhMSces/1lvFMZtYpWAL51LCXZS/jrkYdagQkLtJh1KJf1aqv/jSP10WaDw==","_npmVersion":"10.9.8","description":"Ops access provider for Ceph — validates ceph registry entries and expands conf/keyring paths.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"zod":"^4.4.3","@deepseek-ai/schemastery":"^3.18.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.11","typescript":"^5.4.0","@types/node":"^22.0.0","@deepseek-ai/cordis":"4.0.1","@elinpf/dsh-ops-access":"0.1.2"},"peerDependencies":{"@deepseek-ai/cordis":"^4.0.1","@elinpf/dsh-ops-access":"^0.1.2","@deepseek-ai/dsh-invariants":"^0.0.1-rc.1"},"_npmOperationalInternal":{"tmp":"tmp/dsh-ops-access-ceph_0.1.2_1788328451890_0.16007142600005198","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@elinpf/dsh-ops-access-ceph","version":"0.1.3","license":"MIT","_id":"@elinpf/dsh-ops-access-ceph@0.1.3","maintainers":[{"name":"elinpf","email":"365433079@qq.com"}],"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"89bdc7a6f0711de36681b37a19f16747294ab06f","tarball":"https://registry.npmjs.org/@elinpf/dsh-ops-access-ceph/-/dsh-ops-access-ceph-0.1.3.tgz","fileCount":11,"integrity":"sha512-WUanF8KiwGmkskioxMjQdTSML0YlvOY0VVaPy8FfMWCUcbllOG+QO5AnE1wvzQEvyfCX4ovP33Cppyxi0kRL5g==","signatures":[{"sig":"MEMCH0AADmMlZoOTVYZUCkebmfqvOveqp2SsfpmwGuQLwCECIHm50ptMG4lYDNjYxQ7pNGmEcQqjfayFgIJdsxHND/7U","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20592},"main":"lib/index.js","type":"module","_from":"file:elinpf-dsh-ops-access-ceph-0.1.3.tgz","types":"lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./types":{"types":"./lib/types.d.ts","default":"./lib/types.js"},"./invariant":{"types":"./lib/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit"},"_npmUser":{"name":"elinpf","email":"365433079@qq.com"},"_resolved":"/tmp/a5850645dfbd520a5aa441104f3cf8b5/elinpf-dsh-ops-access-ceph-0.1.3.tgz","_integrity":"sha512-WUanF8KiwGmkskioxMjQdTSML0YlvOY0VVaPy8FfMWCUcbllOG+QO5AnE1wvzQEvyfCX4ovP33Cppyxi0kRL5g==","_npmVersion":"10.9.8","description":"Ops access provider for Ceph — validates ceph registry entries and expands conf/keyring paths.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"zod":"^4.4.3","@deepseek-ai/schemastery":"^3.18.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.11","typescript":"^5.4.0","@types/node":"^22.0.0","@deepseek-ai/cordis":"4.0.1","@elinpf/dsh-ops-access":"0.1.3"},"peerDependencies":{"@deepseek-ai/cordis":"^4.0.1","@elinpf/dsh-ops-access":"^0.1.3","@deepseek-ai/dsh-invariants":"^0.1.0-rc.8"},"_npmOperationalInternal":{"tmp":"tmp/dsh-ops-access-ceph_0.1.3_1788334204214_0.7554940593908046","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@elinpf/dsh-ops-access-ceph","version":"0.1.4","license":"MIT","_id":"@elinpf/dsh-ops-access-ceph@0.1.4","maintainers":[{"name":"elinpf","email":"365433079@qq.com"}],"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"e80ed3bca2628f1d5eecce7030fd9cedd9d466b5","tarball":"https://registry.npmjs.org/@elinpf/dsh-ops-access-ceph/-/dsh-ops-access-ceph-0.1.4.tgz","fileCount":11,"integrity":"sha512-sf9yPOE3wMhTc/T8VT0/YbNrOkFJjbqqtodh8MnoBIfUQ6Aso9kJpPHX7vrUhS7FxS3p1ng0HbRUS8bo1MWXSA==","signatures":[{"sig":"MEUCIQDmdhGrHe0nNh+aPxRbGeQ4fxCZ8BrPirUlw3TYBspJtQIgTYPMQKdqIkwD2V++nEdGzFEmTpSoLH8DK6l+tWrEDqQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20592},"main":"lib/index.js","type":"module","_from":"file:elinpf-dsh-ops-access-ceph-0.1.4.tgz","types":"lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./types":{"types":"./lib/types.d.ts","default":"./lib/types.js"},"./invariant":{"types":"./lib/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit"},"_npmUser":{"name":"elinpf","email":"365433079@qq.com"},"_resolved":"/tmp/6b7fb62604a735b4820cdc58bf437a8a/elinpf-dsh-ops-access-ceph-0.1.4.tgz","_integrity":"sha512-sf9yPOE3wMhTc/T8VT0/YbNrOkFJjbqqtodh8MnoBIfUQ6Aso9kJpPHX7vrUhS7FxS3p1ng0HbRUS8bo1MWXSA==","_npmVersion":"10.9.8","description":"Ops access provider for Ceph — validates ceph registry entries and expands conf/keyring paths.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"zod":"^4.4.3","@deepseek-ai/schemastery":"^3.18.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.11","typescript":"^5.4.0","@types/node":"^22.0.0","@deepseek-ai/cordis":"4.0.1","@elinpf/dsh-ops-access":"0.1.4"},"peerDependencies":{"@deepseek-ai/cordis":"^4.0.1","@elinpf/dsh-ops-access":"^0.1.4","@deepseek-ai/dsh-invariants":"^0.1.0-rc.8"},"_npmOperationalInternal":{"tmp":"tmp/dsh-ops-access-ceph_0.1.4_1788335583100_0.9568457413169906","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@elinpf/dsh-ops-access-ceph","version":"0.1.5","license":"MIT","_id":"@elinpf/dsh-ops-access-ceph@0.1.5","maintainers":[{"name":"elinpf","email":"365433079@qq.com"}],"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"ebb0b4a8a575efbdc58d26cbf374900965885ad0","tarball":"https://registry.npmjs.org/@elinpf/dsh-ops-access-ceph/-/dsh-ops-access-ceph-0.1.5.tgz","fileCount":11,"integrity":"sha512-SvN6Ox/Llg9QpXmuy8G8fBU+sG36EhOXEhAX5xc1c1SOglTyMP2H8Gu0vfMj4TVAZgrVCPQmhsKewsec74XJbw==","signatures":[{"sig":"MEUCICs+uaSMHifcxV5KydqCm4L4mxm4PzJ4GyVvp0Jo02DoAiEAl5Uvsk3q643ruXDIIzME6Yo3sOzheuEwPpxbZiJzjh0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20592},"main":"lib/index.js","type":"module","_from":"file:elinpf-dsh-ops-access-ceph-0.1.5.tgz","types":"lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./types":{"types":"./lib/types.d.ts","default":"./lib/types.js"},"./invariant":{"types":"./lib/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit"},"_npmUser":{"name":"elinpf","email":"365433079@qq.com"},"_resolved":"/tmp/891e200adcd313cee5a8034ad44bb253/elinpf-dsh-ops-access-ceph-0.1.5.tgz","_integrity":"sha512-SvN6Ox/Llg9QpXmuy8G8fBU+sG36EhOXEhAX5xc1c1SOglTyMP2H8Gu0vfMj4TVAZgrVCPQmhsKewsec74XJbw==","_npmVersion":"10.9.8","description":"Ops access provider for Ceph — validates ceph registry entries and expands conf/keyring paths.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"zod":"^4.4.3","@deepseek-ai/schemastery":"^3.18.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.11","typescript":"^5.4.0","@types/node":"^22.0.0","@deepseek-ai/cordis":"4.0.1","@elinpf/dsh-ops-access":"0.1.5"},"peerDependencies":{"@deepseek-ai/cordis":"^4.0.1","@elinpf/dsh-ops-access":"^0.1.5","@deepseek-ai/dsh-invariants":"^0.1.0-rc.8"},"_npmOperationalInternal":{"tmp":"tmp/dsh-ops-access-ceph_0.1.5_1788335913245_0.8207195836608507","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@elinpf/dsh-ops-access-ceph","version":"0.1.6","license":"MIT","_id":"@elinpf/dsh-ops-access-ceph@0.1.6","maintainers":[{"name":"elinpf","email":"365433079@qq.com"}],"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"973e664a1e9453a89a15836c043bc1e1e6f99778","tarball":"https://registry.npmjs.org/@elinpf/dsh-ops-access-ceph/-/dsh-ops-access-ceph-0.1.6.tgz","fileCount":11,"integrity":"sha512-SnH113Pk9IFInomOZ28HLeCKnrJ7lm0x6+3+37k9q4aPsfN7sxUZSfSBIqu0exzK5CflMB+XXle/CdbrVMOG/g==","signatures":[{"sig":"MEQCIDG79S5X7zJEFmPstre7zHp6qXCD2pDxFL/sZ9rFnuXzAiAoe0aZvfVJKJwvLZyBTCcTjNE3wTDzEjazd/UMwU503Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20592},"main":"lib/index.js","type":"module","_from":"file:elinpf-dsh-ops-access-ceph-0.1.6.tgz","types":"lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./types":{"types":"./lib/types.d.ts","default":"./lib/types.js"},"./invariant":{"types":"./lib/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit"},"_npmUser":{"name":"elinpf","email":"365433079@qq.com"},"_resolved":"/tmp/9ecf6e4145cb2c816644f61ed0405062/elinpf-dsh-ops-access-ceph-0.1.6.tgz","_integrity":"sha512-SnH113Pk9IFInomOZ28HLeCKnrJ7lm0x6+3+37k9q4aPsfN7sxUZSfSBIqu0exzK5CflMB+XXle/CdbrVMOG/g==","_npmVersion":"10.9.8","description":"Ops access provider for Ceph — validates ceph registry entries and expands conf/keyring paths.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"zod":"^4.4.3","@deepseek-ai/schemastery":"^3.18.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.11","typescript":"^5.4.0","@types/node":"^22.0.0","@deepseek-ai/cordis":"4.0.1","@elinpf/dsh-ops-access":"0.1.6"},"peerDependencies":{"@deepseek-ai/cordis":"^4.0.1","@elinpf/dsh-ops-access":"^0.1.6","@deepseek-ai/dsh-invariants":"^0.1.0-rc.8"},"_npmOperationalInternal":{"tmp":"tmp/dsh-ops-access-ceph_0.1.6_1788491370164_0.04090503233089704","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@elinpf/dsh-ops-access-ceph","version":"0.1.7","license":"MIT","_id":"@elinpf/dsh-ops-access-ceph@0.1.7","maintainers":[{"name":"elinpf","email":"365433079@qq.com"}],"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"d78bf490ff1e8775767f958efdc6cee53a1b7bfd","tarball":"https://registry.npmjs.org/@elinpf/dsh-ops-access-ceph/-/dsh-ops-access-ceph-0.1.7.tgz","fileCount":11,"integrity":"sha512-OkJ0+OBJtD0iO73f9M1bCFmV9Q7rOagsc2GHkN9pk0f1r69P4AkpucHO/dwUYzQidCEuy5WmYsOqOK25ewHOyw==","signatures":[{"sig":"MEUCIEtURyNGJaSNWvyz3DlbXeeKdsnvFju2r2OMOdftjrv3AiEA6NL9CoewpL6DsZA/FxGqsSZrT6NFvbkmmOTMSZLfXvM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20592},"main":"lib/index.js","type":"module","_from":"file:elinpf-dsh-ops-access-ceph-0.1.7.tgz","types":"lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./types":{"types":"./lib/types.d.ts","default":"./lib/types.js"},"./invariant":{"types":"./lib/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit"},"_npmUser":{"name":"elinpf","email":"365433079@qq.com"},"_resolved":"/tmp/9dac84f8804d67c16ea55810c5616e92/elinpf-dsh-ops-access-ceph-0.1.7.tgz","_integrity":"sha512-OkJ0+OBJtD0iO73f9M1bCFmV9Q7rOagsc2GHkN9pk0f1r69P4AkpucHO/dwUYzQidCEuy5WmYsOqOK25ewHOyw==","_npmVersion":"10.9.8","description":"Ops access provider for Ceph — validates ceph registry entries and expands conf/keyring paths.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"zod":"^4.4.3","@deepseek-ai/schemastery":"^3.18.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.11","typescript":"^5.4.0","@types/node":"^22.0.0","@deepseek-ai/cordis":"4.0.1","@elinpf/dsh-ops-access":"0.1.7"},"peerDependencies":{"@deepseek-ai/cordis":"^4.0.1","@elinpf/dsh-ops-access":"^0.1.7","@deepseek-ai/dsh-invariants":"^0.1.0-rc.8"},"_npmOperationalInternal":{"tmp":"tmp/dsh-ops-access-ceph_0.1.7_1788768174252_0.9360704744369865","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@elinpf/dsh-ops-access-ceph","version":"0.2.0","license":"MIT","_id":"@elinpf/dsh-ops-access-ceph@0.2.0","maintainers":[{"name":"elinpf","email":"365433079@qq.com"}],"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"15a36ae5b4d8e20c74d8fdd86c531b6c7a13a77e","tarball":"https://registry.npmjs.org/@elinpf/dsh-ops-access-ceph/-/dsh-ops-access-ceph-0.2.0.tgz","fileCount":11,"integrity":"sha512-aAK76VW5akk4dNkkntV/+ohDASru9XYyv0/j89JUycoQAq3+QNfIAwr6dGdmgFNIM6TQLzMu63bTXvLCdJORlA==","signatures":[{"sig":"MEUCIQCxjsz0fQjJh4bUmToJdWhkL3Xd8RCSKexaf1nVrpiVSAIgcGPb9JCcFHAM6Phh9ytvNy5o2GjNtAMtnV5uVa2XKw4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20877},"main":"lib/index.js","type":"module","_from":"file:elinpf-dsh-ops-access-ceph-0.2.0.tgz","types":"lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./types":{"types":"./lib/types.d.ts","default":"./lib/types.js"},"./invariant":{"types":"./lib/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit"},"_npmUser":{"name":"elinpf","email":"365433079@qq.com"},"_resolved":"/tmp/c672277178e0ff379195c50d4dd692eb/elinpf-dsh-ops-access-ceph-0.2.0.tgz","_integrity":"sha512-aAK76VW5akk4dNkkntV/+ohDASru9XYyv0/j89JUycoQAq3+QNfIAwr6dGdmgFNIM6TQLzMu63bTXvLCdJORlA==","_npmVersion":"10.9.8","description":"Ops access provider for Ceph — validates ceph registry entries and expands conf/keyring paths.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"zod":"^4.4.3","@deepseek-ai/schemastery":"^3.18.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.11","typescript":"^5.4.0","@types/node":"^22.0.0","@deepseek-ai/cordis":"4.0.1","@elinpf/dsh-ops-access":"0.2.0"},"peerDependencies":{"@deepseek-ai/cordis":"^4.0.1","@elinpf/dsh-ops-access":"^0.2.0","@deepseek-ai/dsh-invariants":"^0.1.0-rc.8"},"_npmOperationalInternal":{"tmp":"tmp/dsh-ops-access-ceph_0.2.0_1789349540278_0.7789826836522831","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@elinpf/dsh-ops-access-ceph","version":"0.2.1","license":"MIT","_id":"@elinpf/dsh-ops-access-ceph@0.2.1","maintainers":[{"name":"elinpf","email":"365433079@qq.com"}],"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"71f977b465cd3bdccb27456afb3d221ca06171f6","tarball":"https://registry.npmjs.org/@elinpf/dsh-ops-access-ceph/-/dsh-ops-access-ceph-0.2.1.tgz","fileCount":11,"integrity":"sha512-jl/4msRHZrz7Yj1SWI3TTlQpQi0FOk0UQVcEcWtik9Od0wQ3Dk0Ix6/HMD5ORoj+MTOXvEHu3iin9/LODuvmOA==","signatures":[{"sig":"MEUCIAZUrc297tk/aEmOdhxe0X0X6xpaEUVNpeQ8oyMephZFAiEA2slrRr7/pxp4CezTDh1Rmy5uzWojG5yjgwJnlYjciLM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20877},"main":"lib/index.js","type":"module","_from":"file:elinpf-dsh-ops-access-ceph-0.2.1.tgz","types":"lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./types":{"types":"./lib/types.d.ts","default":"./lib/types.js"},"./invariant":{"types":"./lib/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit"},"_npmUser":{"name":"elinpf","email":"365433079@qq.com"},"_resolved":"/tmp/49b98943c37c02c5a6f29af4ff954fda/elinpf-dsh-ops-access-ceph-0.2.1.tgz","_integrity":"sha512-jl/4msRHZrz7Yj1SWI3TTlQpQi0FOk0UQVcEcWtik9Od0wQ3Dk0Ix6/HMD5ORoj+MTOXvEHu3iin9/LODuvmOA==","_npmVersion":"10.9.8","description":"Ops access provider for Ceph — validates ceph registry entries and expands conf/keyring paths.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"zod":"^4.4.3","@deepseek-ai/schemastery":"^3.18.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.11","typescript":"^5.4.0","@types/node":"^22.0.0","@deepseek-ai/cordis":"4.0.1","@elinpf/dsh-ops-access":"0.2.1"},"peerDependencies":{"@deepseek-ai/cordis":"^4.0.1","@elinpf/dsh-ops-access":"^0.2.1","@deepseek-ai/dsh-invariants":"^0.1.0-rc.8"},"_npmOperationalInternal":{"tmp":"tmp/dsh-ops-access-ceph_0.2.1_1789351348499_0.2883505956279475","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@elinpf/dsh-ops-access-ceph","version":"0.3.0","license":"MIT","_id":"@elinpf/dsh-ops-access-ceph@0.3.0","maintainers":[{"name":"elinpf","email":"365433079@qq.com"}],"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"59f2a8eea1645d7539a2b8e19e4281521446bfbb","tarball":"https://registry.npmjs.org/@elinpf/dsh-ops-access-ceph/-/dsh-ops-access-ceph-0.3.0.tgz","fileCount":11,"integrity":"sha512-CWTNwoAXEwYzHk0IxttEFKczyf3IFIBIQbhFJdq2lz1D1BR1A//XpBkL2l4xpWcizOcIOx9jR2qqekOnloSWtg==","signatures":[{"sig":"MEQCIDnbruxmbFi437mP0GsEbmjFjpVSd0QmPJSMYzvt58e5AiBvyoJykA2E5VBkbYezwe/S7VEysnNRutcMiobwF/UhLQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20877},"main":"lib/index.js","type":"module","_from":"file:elinpf-dsh-ops-access-ceph-0.3.0.tgz","types":"lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./types":{"types":"./lib/types.d.ts","default":"./lib/types.js"},"./invariant":{"types":"./lib/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit"},"_npmUser":{"name":"elinpf","email":"365433079@qq.com"},"_resolved":"/tmp/1a970eeeb48cb8b45edc31385932e59d/elinpf-dsh-ops-access-ceph-0.3.0.tgz","_integrity":"sha512-CWTNwoAXEwYzHk0IxttEFKczyf3IFIBIQbhFJdq2lz1D1BR1A//XpBkL2l4xpWcizOcIOx9jR2qqekOnloSWtg==","_npmVersion":"10.9.8","description":"Ops access provider for Ceph — validates ceph registry entries and expands conf/keyring paths.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"zod":"^4.4.3","@deepseek-ai/schemastery":"^3.18.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.11","typescript":"^5.4.0","@types/node":"^22.0.0","@deepseek-ai/cordis":"4.0.1","@elinpf/dsh-ops-access":"0.3.0"},"peerDependencies":{"@deepseek-ai/cordis":"^4.0.1","@elinpf/dsh-ops-access":"^0.3.0","@deepseek-ai/dsh-invariants":"^0.1.0-rc.8"},"_npmOperationalInternal":{"tmp":"tmp/dsh-ops-access-ceph_0.3.0_1789355868073_0.8343843559383368","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@elinpf/dsh-ops-access-ceph","version":"0.4.0","license":"MIT","_id":"@elinpf/dsh-ops-access-ceph@0.4.0","maintainers":[{"name":"elinpf","email":"365433079@qq.com"}],"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"495e08a3212195c1a4c8a9f14ef382105ee903db","tarball":"https://registry.npmjs.org/@elinpf/dsh-ops-access-ceph/-/dsh-ops-access-ceph-0.4.0.tgz","fileCount":11,"integrity":"sha512-s5pC6gdqWGZ4amWoIjvtgU/KVBU1W5z8xoN445lKfZ1iDkK/xx8EZ9BUDJyvPC4jpzrqIZtNFa7VMC/1SSqg3Q==","signatures":[{"sig":"MEUCIQC8Zw5Mru6M2jRPyH14R/ovyQtoPK61KSgBurcoAgNaCAIgeW69q9KZ9pI3CtsUQ9KWa/MG5VWWUD4gYs2nuqOB5TE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCjEkVEQ5Y/9ArjrvoYokN7a9VohLQ9ttC7sce4klmKvwIhAN/b0oPOv1XRk9KOcS9TCCwXIvkH63QuWfqbWn0eY+v5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20877},"main":"lib/index.js","type":"module","_from":"file:elinpf-dsh-ops-access-ceph-0.4.0.tgz","types":"lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./types":{"types":"./lib/types.d.ts","default":"./lib/types.js"},"./invariant":{"types":"./lib/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit"},"_npmUser":{"name":"elinpf","email":"365433079@qq.com"},"_resolved":"/tmp/ec35e9f26e45b76ea0d44925f4bca179/elinpf-dsh-ops-access-ceph-0.4.0.tgz","_integrity":"sha512-s5pC6gdqWGZ4amWoIjvtgU/KVBU1W5z8xoN445lKfZ1iDkK/xx8EZ9BUDJyvPC4jpzrqIZtNFa7VMC/1SSqg3Q==","_npmVersion":"10.9.8","description":"Ops access provider for Ceph — validates ceph registry entries and expands conf/keyring paths.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"zod":"^4.4.3","@deepseek-ai/schemastery":"^3.18.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.11","typescript":"^5.4.0","@types/node":"^22.0.0","@deepseek-ai/cordis":"4.0.1","@elinpf/dsh-ops-access":"0.4.0"},"peerDependencies":{"@deepseek-ai/cordis":"^4.0.1","@elinpf/dsh-ops-access":"^0.4.0","@deepseek-ai/dsh-invariants":"^0.1.0-rc.8"},"_npmOperationalInternal":{"tmp":"tmp/dsh-ops-access-ceph_0.4.0_1789542917195_0.6049745926449719","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"_id":"@elinpf/dsh-ops-access-ceph@0.4.1","dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"6f2ff72744b6129632f66e7749d6ac33429c5eea","tarball":"https://registry.npmjs.org/@elinpf/dsh-ops-access-ceph/-/dsh-ops-access-ceph-0.4.1.tgz","fileCount":11,"integrity":"sha512-4Obogvr6iRjeOEwTr8feHhwHbGOBAGYB8DCcly6bNIgF+ovM5Htsr80YoTsX4aiuMJj8nntqHXhhBTLlNGjukg==","signatures":[{"sig":"MEUCIQCJAeuFk3qIGTtEKhVMHgs5s7MPSW/UF/7NwqvezNMLHAIgWEj2FC4fzDeFL8fSTEkwrX+A1UNOkDQoDkhh9p6vceo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIH4lw3yS1p8UVvFPqLPZuOa4JDjXG5Qb2YG9GvR6Y4BlAiB1h4/elXFYiyU4P09M58y3rYmMiqtoluJi2l97CWg4ew=="}],"unpackedSize":20877},"main":"lib/index.js","name":"@elinpf/dsh-ops-access-ceph","type":"module","_from":"file:elinpf-dsh-ops-access-ceph-0.4.1.tgz","types":"lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./types":{"types":"./lib/types.d.ts","default":"./lib/types.js"},"./invariant":{"types":"./lib/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json"},"license":"MIT","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit"},"version":"0.4.1","_npmUser":{"name":"elinpf","email":"365433079@qq.com"},"_resolved":"/tmp/51a545b0253babd4a0ccb83a86449605/elinpf-dsh-ops-access-ceph-0.4.1.tgz","_integrity":"sha512-4Obogvr6iRjeOEwTr8feHhwHbGOBAGYB8DCcly6bNIgF+ovM5Htsr80YoTsX4aiuMJj8nntqHXhhBTLlNGjukg==","_npmVersion":"10.9.8","description":"Ops access provider for Ceph — validates ceph registry entries and expands conf/keyring paths.","directories":{},"maintainers":[{"name":"elinpf","email":"365433079@qq.com"}],"_nodeVersion":"22.23.2","dependencies":{"zod":"^4.4.3","@deepseek-ai/schemastery":"^3.18.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.11","typescript":"^5.4.0","@types/node":"^22.0.0","@deepseek-ai/cordis":"4.0.1","@elinpf/dsh-ops-access":"0.4.1"},"peerDependencies":{"@deepseek-ai/cordis":"^4.0.1","@elinpf/dsh-ops-access":"^0.4.1","@deepseek-ai/dsh-invariants":"^0.1.0-rc.8"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/dsh-ops-access-ceph_0.4.1_1789699603602_0.8109337574267608"}}},"time":{"created":"2026-09-02T03:38:38.311Z","modified":"2026-09-18T02:46:43.848Z","0.1.0":"2026-09-02T03:38:38.630Z","0.1.1":"2026-09-02T03:57:25.499Z","0.1.2":"2026-09-02T05:54:12.037Z","0.1.3":"2026-09-02T07:30:04.330Z","0.1.4":"2026-09-02T07:53:03.244Z","0.1.5":"2026-09-02T07:58:33.390Z","0.1.6":"2026-09-04T03:09:30.289Z","0.1.7":"2026-09-07T08:02:54.391Z","0.2.0":"2026-09-14T01:32:20.408Z","0.2.1":"2026-09-14T02:02:28.626Z","0.3.0":"2026-09-14T03:17:48.220Z","0.4.0":"2026-09-16T07:15:17.314Z","0.4.1":"2026-09-18T02:46:43.705Z"},"license":"MIT","description":"Ops access provider for Ceph — validates ceph registry entries and expands conf/keyring paths.","maintainers":[{"name":"elinpf","email":"365433079@qq.com"}],"readme":"# @elinpf/dsh-ops-access-ceph\n\n运维模式 Ceph 凭证 provider — 校验 `ceph` 注册表条目(ceph.conf + keyring)、展开路径,并在保存时用集群真实 cephx caps 探测声称的 ro/rw tier。\n\n## 功能\n\n按 ops-access 三角色拆分,一种凭证一个 provider:core 拥有注册表和 `ctx.opsAccess` 服务;本包只提供 ceph 这一种 — 一个 zod 条目 schema 加字段处理。\n\n- **条目 schema**:`{ conf, keyring, name? }` — 管理 UI 接受 ceph.conf 和 keyring 的内容;core 将其写入 `~/.dsh-ops/credentials/` 下的受管文件并存路径。`name` 是 cephx 实体(缺省 `client.admin`)。\n- **process**:展开两个路径开头的 `~`,供工具的 `--conf`/`--keyring` 参数使用。\n- **validateContent**:保存时的粘贴防护 — conf 必须有 `[global]` 和 `mon_host`;keyring 必须在 `[client.x]` 段下有缩进的严格 base64 `key =` 行。只查结构,不做连通性检查。\n- **能力探测**(ticket 10):保存时通过 `ceph auth get` 重读实体的 caps,与声称的 tier 对比。ro 只有在没有任何 cap 授予写权限时才通过(`rwx`/`wx` 这类权限束算写,`allow` 关键字本身不算,pool 限定符不影响判定)。失败降级为 `unverifiable` — 收紧的 ro 实体无法自读 caps 是正常现象,不是错误。\n- **derivationDoc**:ro 自助注册配方(`client.<id>-ro`,mon/osd/mds/mgr 均 `allow r`),通过 `list_access` 的 help 暴露。\n\n## 设计要点\n\n- 结构校验在 provider,连通性在探测:粘贴损坏在保存时就报错,而不是到连接时才冒出 \"cannot parse buffer: Malformed input\"。\n- 末尾换行归一化是 core 的职责(`normalizeTrailingNewline: true` 选择加入)— provider 不再因缺末尾换行而拒绝。\n- 探测的 stderr 只按子串分类、从不外泄:ceph 错误信息可能携带文件路径。\n\n## 配置\n\nSchemastery `Config`,一个字段:\n\n- `probeTimeoutMs`(数字,默认 `10000`)— 保存时 `ceph auth get` 调用的超时。慢集群可能需要调大。\n\n## 安装\n\nops preset 的 `agent.cordis.yml` 中的 provider 行:\n\n```yaml\n- id: ops-access-ceph\n  name: '@elinpf/dsh-ops-access-ceph'\n```\n\n注册走 `registerAccessProvider`(延迟 `ctx.inject` + effect 生命周期,HMR 可卸载)— 绝不静态 `inject` `opsAccess`,那会死锁加载器。\n\n## 测试\n\n```sh\nnpm run build      # tsc → lib/\nnpx vitest run     # schema、process、粘贴防护、探测分类、注册/HMR 卸载\n```\n\n无需集群:活体探测测试指向不存在的路径,断言结果降级为 `unverifiable` 且不泄露路径。\n","readmeFilename":"README.zh.md"}