{"_id":"@lorion-org/descriptor-discovery","_rev":"9-275c4e12484daf2c226952af0382b75e","name":"@lorion-org/descriptor-discovery","dist-tags":{"beta":"1.0.0-beta.5","latest":"1.0.0-beta.8"},"versions":{"1.0.0-beta.0":{"name":"@lorion-org/descriptor-discovery","version":"1.0.0-beta.0","keywords":["descriptor","discovery","filesystem","typescript"],"license":"MIT","_id":"@lorion-org/descriptor-discovery@1.0.0-beta.0","maintainers":[{"name":"davewww","email":"david@dampfer.net"}],"homepage":"https://github.com/lorion-org/lorion/tree/main/packages/descriptor-discovery#readme","bugs":{"url":"https://github.com/lorion-org/lorion/issues"},"dist":{"shasum":"49925d7fbf59033e0c80a8c33b125403fd750d0b","tarball":"https://registry.npmjs.org/@lorion-org/descriptor-discovery/-/descriptor-discovery-1.0.0-beta.0.tgz","fileCount":12,"integrity":"sha512-/Peg3v/ErC39uo+KG4sjZzJWmexaAGZEDC57QvbBm5vcI39weg2wfYT2Nbnn8Eb2p9ywnNmFFJ6dbV/bLPfxIA==","signatures":[{"sig":"MEUCIFpux/ATV0hg0ev+omgMJ2DNNb5QIuKmaiB0OV82/d/uAiEA41hZirT37GB3rhiM+YoCJVlmdjcJS+BVKeMtfjz+zEM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":30485},"main":"./dist/index.cjs","type":"module","_from":"file:lorion-org-descriptor-discovery-1.0.0-beta.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":"^20.19.0 || >=22.12.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./schema":{"import":{"types":"./dist/schema.d.ts","default":"./dist/schema.js"},"require":{"types":"./dist/schema.d.cts","default":"./dist/schema.cjs"}}},"scripts":{"lint":"eslint src --ext .ts","test":"vitest run --root ../.. --config vitest.config.mts packages/descriptor-discovery/src/index.spec.ts","build":"tsup src/index.ts src/schema.ts --format esm,cjs --dts","clean":"rimraf coverage dist tsconfig.tsbuildinfo","typecheck":"tsc -p tsconfig.json --noEmit","package:check":"pnpm build && pnpm pack --dry-run && publint"},"_npmUser":{"name":"davewww","email":"david@dampfer.net"},"_resolved":"C:\\Users\\david\\AppData\\Local\\Temp\\dec7736d5f214928a9419053a574d30f\\lorion-org-descriptor-discovery-1.0.0-beta.0.tgz","_integrity":"sha512-/Peg3v/ErC39uo+KG4sjZzJWmexaAGZEDC57QvbBm5vcI39weg2wfYT2Nbnn8Eb2p9ywnNmFFJ6dbV/bLPfxIA==","repository":{"url":"git+https://github.com/lorion-org/lorion.git","type":"git","directory":"packages/descriptor-discovery"},"_npmVersion":"10.9.2","description":"Node-based descriptor discovery and normalization helpers.","directories":{},"sideEffects":false,"_nodeVersion":"22.17.1","dependencies":{"ajv":"^8.17.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@lorion-org/composition-graph":"1.0.0-beta.0"},"peerDependencies":{"@lorion-org/composition-graph":"^1.0.0-beta.0"},"_npmOperationalInternal":{"tmp":"tmp/descriptor-discovery_1.0.0-beta.0_1777463990520_0.3748132824261079","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.1":{"name":"@lorion-org/descriptor-discovery","version":"1.0.0-beta.1","keywords":["descriptor","discovery","filesystem","typescript"],"license":"MIT","_id":"@lorion-org/descriptor-discovery@1.0.0-beta.1","maintainers":[{"name":"davewww","email":"david@dampfer.net"}],"homepage":"https://github.com/lorion-org/lorion/tree/main/packages/descriptor-discovery#readme","bugs":{"url":"https://github.com/lorion-org/lorion/issues"},"dist":{"shasum":"1a1443b3df8b8a061590d62ab2c4d234d346ca03","tarball":"https://registry.npmjs.org/@lorion-org/descriptor-discovery/-/descriptor-discovery-1.0.0-beta.1.tgz","fileCount":12,"integrity":"sha512-8rhGUTZfsKSpYl/q8kkJ6lLqS09+lziMLNwWLLSuxq2+x9PcldOovr/RXc3+67sA5A5DHhwHTF1t/Isd1lMvbg==","signatures":[{"sig":"MEYCIQCRy1aMu8JaZPTHQE9TUCi3ombumkFrwKf/jLU/k8XhSAIhANhrgcS+Ob6P7FMF4Mkvu4W1Z433Bf3Im3GYlNZmX2/0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":30597},"main":"./dist/index.cjs","type":"module","_from":"file:lorion-org-descriptor-discovery-1.0.0-beta.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":"^20.19.0 || >=22.12.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./schema":{"import":{"types":"./dist/schema.d.ts","default":"./dist/schema.js"},"require":{"types":"./dist/schema.d.cts","default":"./dist/schema.cjs"}}},"scripts":{"lint":"eslint src --ext .ts","test":"vitest run --root ../.. --config vitest.config.mts packages/descriptor-discovery/src/index.spec.ts","build":"tsup src/index.ts src/schema.ts --format esm,cjs --dts","clean":"rimraf coverage dist tsconfig.tsbuildinfo","typecheck":"tsc -p tsconfig.json --noEmit","package:check":"pnpm build && pnpm pack --dry-run && publint"},"_npmUser":{"name":"davewww","email":"david@dampfer.net"},"_resolved":"C:\\Users\\david\\AppData\\Local\\Temp\\7abce7b5d58eca26ac3a9edf793b70ff\\lorion-org-descriptor-discovery-1.0.0-beta.1.tgz","_integrity":"sha512-8rhGUTZfsKSpYl/q8kkJ6lLqS09+lziMLNwWLLSuxq2+x9PcldOovr/RXc3+67sA5A5DHhwHTF1t/Isd1lMvbg==","repository":{"url":"git+https://github.com/lorion-org/lorion.git","type":"git","directory":"packages/descriptor-discovery"},"_npmVersion":"10.9.3","description":"Node-based descriptor discovery and normalization helpers.","directories":{},"sideEffects":false,"_nodeVersion":"22.18.0","dependencies":{"ajv":"^8.17.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"@lorion-org/composition-graph":"1.0.0-beta.1"},"peerDependencies":{"@lorion-org/composition-graph":"^1.0.0-beta.1"},"_npmOperationalInternal":{"tmp":"tmp/descriptor-discovery_1.0.0-beta.1_1777572807567_0.49262500397664577","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.2":{"name":"@lorion-org/descriptor-discovery","version":"1.0.0-beta.2","keywords":["descriptor","discovery","filesystem","typescript"],"license":"MIT","_id":"@lorion-org/descriptor-discovery@1.0.0-beta.2","maintainers":[{"name":"davewww","email":"david@dampfer.net"}],"homepage":"https://github.com/lorion-org/lorion/tree/main/packages/descriptor-discovery#readme","bugs":{"url":"https://github.com/lorion-org/lorion/issues"},"dist":{"shasum":"13a6ad96d0ceabcf567067ccfda7a733805503d2","tarball":"https://registry.npmjs.org/@lorion-org/descriptor-discovery/-/descriptor-discovery-1.0.0-beta.2.tgz","fileCount":15,"integrity":"sha512-rs9RcewQqFGH+bus6PNqvMvYOz554bGv9zHMLCR/4JLaF2AqDxdkowZox5IYudou9i5FzBlWWSGAj4CXseNC1g==","signatures":[{"sig":"MEUCIFumnkhdedDyjoNnvJ+CInqfbaeLLOcy8T5co5DUEtPLAiEAqaA8MkM1ilmiS+I2DjGoocR1U21p5ToTf+LUBuaqMUY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@lorion-org%2fdescriptor-discovery@1.0.0-beta.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":44028},"main":"./dist/index.cjs","type":"module","_from":"file:lorion-org-descriptor-discovery-1.0.0-beta.2.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":"^20.19.0 || >=22.12.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"},"lorion-source":{"types":"./src/index.ts","default":"./src/index.ts"}},"./schema":{"import":{"types":"./dist/schema.d.ts","default":"./dist/schema.js"},"require":{"types":"./dist/schema.d.cts","default":"./dist/schema.cjs"},"lorion-source":{"types":"./src/schema.ts","default":"./src/schema.ts"}}},"scripts":{"lint":"eslint src --ext .ts","test":"vitest run --root ../.. --config vitest.config.mts packages/descriptor-discovery/src/index.spec.ts","build":"tsup src/index.ts src/schema.ts --format esm,cjs --dts","clean":"rimraf coverage dist tsconfig.tsbuildinfo","typecheck":"tsc -p tsconfig.json --noEmit","package:check":"pnpm build && pnpm pack --dry-run && publint"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ee5e99cc-ddff-42ac-9510-5b97a988ca6b"}},"_resolved":"/tmp/e554e6164551871688a24d226f92babd/lorion-org-descriptor-discovery-1.0.0-beta.2.tgz","_integrity":"sha512-rs9RcewQqFGH+bus6PNqvMvYOz554bGv9zHMLCR/4JLaF2AqDxdkowZox5IYudou9i5FzBlWWSGAj4CXseNC1g==","repository":{"url":"git+https://github.com/lorion-org/lorion.git","type":"git","directory":"packages/descriptor-discovery"},"_npmVersion":"11.11.0","description":"Node-based descriptor discovery and normalization helpers.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","dependencies":{"ajv":"^8.17.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@lorion-org/composition-graph":"1.0.0-beta.2"},"peerDependencies":{"@lorion-org/composition-graph":"^1.0.0-beta.2"},"_npmOperationalInternal":{"tmp":"tmp/descriptor-discovery_1.0.0-beta.2_1777894985364_0.5299884062369924","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.3":{"name":"@lorion-org/descriptor-discovery","version":"1.0.0-beta.3","keywords":["descriptor","discovery","filesystem","typescript"],"license":"MIT","_id":"@lorion-org/descriptor-discovery@1.0.0-beta.3","maintainers":[{"name":"davewww","email":"david@dampfer.net"}],"homepage":"https://github.com/lorion-org/lorion/tree/main/packages/descriptor-discovery#readme","bugs":{"url":"https://github.com/lorion-org/lorion/issues"},"dist":{"shasum":"2c7f40782d2a95c36efdbda940470e4852da96a4","tarball":"https://registry.npmjs.org/@lorion-org/descriptor-discovery/-/descriptor-discovery-1.0.0-beta.3.tgz","fileCount":15,"integrity":"sha512-wi6GP73PNTTFhQvokikrev/Kc3cYokfSWV5G/azWZWNvSHDi6FB4gPA9ongM2YzfnIt7YVvQMzIqlT5TZV7gog==","signatures":[{"sig":"MEUCIGySgOmAvhKoNodyt7K2cJ789gTKU7pG/47gaO2gw2vdAiEA/4ujf5a/FscDij1fYK55b+HhlBNRRXvqyspbBpapgqo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@lorion-org%2fdescriptor-discovery@1.0.0-beta.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":45389},"main":"./dist/index.cjs","type":"module","_from":"file:lorion-org-descriptor-discovery-1.0.0-beta.3.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":"^20.19.0 || >=22.12.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"},"lorion-source":{"types":"./src/index.ts","default":"./src/index.ts"}},"./schema":{"import":{"types":"./dist/schema.d.ts","default":"./dist/schema.js"},"require":{"types":"./dist/schema.d.cts","default":"./dist/schema.cjs"},"lorion-source":{"types":"./src/schema.ts","default":"./src/schema.ts"}}},"scripts":{"lint":"eslint src --ext .ts","test":"vitest run --root ../.. --config vitest.config.mts packages/descriptor-discovery/src/index.spec.ts","build":"tsup src/index.ts src/schema.ts --format esm,cjs --dts","clean":"rimraf coverage dist tsconfig.tsbuildinfo","typecheck":"tsc -p tsconfig.json --noEmit","package:check":"pnpm build && pnpm pack --dry-run && publint"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ee5e99cc-ddff-42ac-9510-5b97a988ca6b"}},"_resolved":"/tmp/f154c1b7cd8aa0cd0ebc644eb77254df/lorion-org-descriptor-discovery-1.0.0-beta.3.tgz","_integrity":"sha512-wi6GP73PNTTFhQvokikrev/Kc3cYokfSWV5G/azWZWNvSHDi6FB4gPA9ongM2YzfnIt7YVvQMzIqlT5TZV7gog==","repository":{"url":"git+https://github.com/lorion-org/lorion.git","type":"git","directory":"packages/descriptor-discovery"},"_npmVersion":"11.16.0","description":"Node-based descriptor discovery and normalization helpers.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"ajv":"^8.17.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@lorion-org/composition-graph":"1.0.0-beta.2"},"peerDependencies":{"@lorion-org/composition-graph":"^1.0.0-beta.2"},"_npmOperationalInternal":{"tmp":"tmp/descriptor-discovery_1.0.0-beta.3_1784535409472_0.970834343387796","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.5":{"name":"@lorion-org/descriptor-discovery","version":"1.0.0-beta.5","keywords":["descriptor","discovery","filesystem","typescript"],"license":"MIT","_id":"@lorion-org/descriptor-discovery@1.0.0-beta.5","maintainers":[{"name":"davewww","email":"david@dampfer.net"}],"homepage":"https://github.com/lorion-org/lorion/tree/main/packages/descriptor-discovery#readme","bugs":{"url":"https://github.com/lorion-org/lorion/issues"},"dist":{"shasum":"6d6c4c97773cf17f2cd024797c5e4b4228a838aa","tarball":"https://registry.npmjs.org/@lorion-org/descriptor-discovery/-/descriptor-discovery-1.0.0-beta.5.tgz","fileCount":15,"integrity":"sha512-BUqr3GROjcgGtazKQU9POpnr5vI4mCFNQMS3hHbpVcaRmnmLmHHq98zHLnljJBBA6y6n1kA/0xovodn7GntHNA==","signatures":[{"sig":"MEUCIQCYpAK3olMgS7KWB8CSutI5/2Ot0eI7b2L+D5BRH/h9OAIgDkZVCE2pP59mNQvrdLXD8SoVw8Ihu0QkW8/ZMVywmE4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@lorion-org%2fdescriptor-discovery@1.0.0-beta.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":45389},"main":"./dist/index.cjs","type":"module","_from":"file:lorion-org-descriptor-discovery-1.0.0-beta.5.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":"^20.19.0 || >=22.12.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"},"lorion-source":{"types":"./src/index.ts","default":"./src/index.ts"}},"./schema":{"import":{"types":"./dist/schema.d.ts","default":"./dist/schema.js"},"require":{"types":"./dist/schema.d.cts","default":"./dist/schema.cjs"},"lorion-source":{"types":"./src/schema.ts","default":"./src/schema.ts"}}},"scripts":{"lint":"eslint src --ext .ts","test":"vitest run --root ../.. --config vitest.config.mts packages/descriptor-discovery/src/index.spec.ts","build":"tsup src/index.ts src/schema.ts --format esm,cjs --dts","clean":"rimraf coverage dist tsconfig.tsbuildinfo","typecheck":"tsc -p tsconfig.json --noEmit","package:check":"pnpm build && pnpm pack --dry-run && publint"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ee5e99cc-ddff-42ac-9510-5b97a988ca6b"}},"_resolved":"/tmp/2cf25368d1330d15229dda3fc1edf790/lorion-org-descriptor-discovery-1.0.0-beta.5.tgz","_integrity":"sha512-BUqr3GROjcgGtazKQU9POpnr5vI4mCFNQMS3hHbpVcaRmnmLmHHq98zHLnljJBBA6y6n1kA/0xovodn7GntHNA==","repository":{"url":"git+https://github.com/lorion-org/lorion.git","type":"git","directory":"packages/descriptor-discovery"},"_npmVersion":"11.16.0","description":"Node-based descriptor discovery and normalization helpers.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"ajv":"^8.17.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@lorion-org/composition-graph":"1.0.0-beta.5"},"peerDependencies":{"@lorion-org/composition-graph":"^1.0.0-beta.5"},"_npmOperationalInternal":{"tmp":"tmp/descriptor-discovery_1.0.0-beta.5_1784540012875_0.8906420560127124","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.6":{"name":"@lorion-org/descriptor-discovery","version":"1.0.0-beta.6","keywords":["descriptor","discovery","filesystem","typescript"],"license":"MIT","_id":"@lorion-org/descriptor-discovery@1.0.0-beta.6","maintainers":[{"name":"davewww","email":"david@dampfer.net"}],"homepage":"https://github.com/lorion-org/lorion/tree/main/packages/descriptor-discovery#readme","bugs":{"url":"https://github.com/lorion-org/lorion/issues"},"dist":{"shasum":"d3e4c42f911a7c28ae0644325f8725409ce995be","tarball":"https://registry.npmjs.org/@lorion-org/descriptor-discovery/-/descriptor-discovery-1.0.0-beta.6.tgz","fileCount":15,"integrity":"sha512-aDV7W/9bgi54hxH7XPPXAxFIQnWO9FfgCJ4zx2vzuZWkopDF0C8HEZZbhlTXtRZFWWTKaWfKsD1l7hZDOuEiGA==","signatures":[{"sig":"MEYCIQDx5uk9ZWzy5dD93DYyd8/s9jrmBbEtPnh7KlSgSq2F2wIhAJ2JpfoRsGqrrZJlEkioSSnyRs8uVXmGbWu6F9gS0oEv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@lorion-org%2fdescriptor-discovery@1.0.0-beta.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":57982},"main":"./dist/index.cjs","type":"module","_from":"file:lorion-org-descriptor-discovery-1.0.0-beta.6.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":"^20.19.0 || >=22.12.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"},"lorion-source":{"types":"./src/index.ts","default":"./src/index.ts"}},"./schema":{"import":{"types":"./dist/schema.d.ts","default":"./dist/schema.js"},"require":{"types":"./dist/schema.d.cts","default":"./dist/schema.cjs"},"lorion-source":{"types":"./src/schema.ts","default":"./src/schema.ts"}}},"scripts":{"lint":"eslint src --ext .ts","test":"vitest run --root ../.. --config vitest.config.mts packages/descriptor-discovery/src/index.spec.ts","build":"tsup src/index.ts src/schema.ts --format esm,cjs --dts","clean":"rimraf coverage dist tsconfig.tsbuildinfo","typecheck":"tsc -p tsconfig.json --noEmit","package:check":"pnpm build && pnpm pack --dry-run && publint"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ee5e99cc-ddff-42ac-9510-5b97a988ca6b"}},"_resolved":"/tmp/c4a92cfc1343bd8684c33f1578f81133/lorion-org-descriptor-discovery-1.0.0-beta.6.tgz","_integrity":"sha512-aDV7W/9bgi54hxH7XPPXAxFIQnWO9FfgCJ4zx2vzuZWkopDF0C8HEZZbhlTXtRZFWWTKaWfKsD1l7hZDOuEiGA==","repository":{"url":"git+https://github.com/lorion-org/lorion.git","type":"git","directory":"packages/descriptor-discovery"},"_npmVersion":"11.16.0","description":"Node-based descriptor discovery and normalization helpers.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"ajv":"^8.17.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@lorion-org/composition-graph":"1.0.0-beta.6"},"peerDependencies":{"@lorion-org/composition-graph":"^1.0.0-beta.6"},"_npmOperationalInternal":{"tmp":"tmp/descriptor-discovery_1.0.0-beta.6_1784831541177_0.41629438372713756","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.7":{"name":"@lorion-org/descriptor-discovery","version":"1.0.0-beta.7","keywords":["descriptor","discovery","filesystem","typescript"],"license":"MIT","_id":"@lorion-org/descriptor-discovery@1.0.0-beta.7","maintainers":[{"name":"davewww","email":"david@dampfer.net"}],"homepage":"https://github.com/lorion-org/lorion/tree/main/packages/descriptor-discovery#readme","bugs":{"url":"https://github.com/lorion-org/lorion/issues"},"dist":{"shasum":"c0350732d0d0e4600283b494b3c73298f9e1f513","tarball":"https://registry.npmjs.org/@lorion-org/descriptor-discovery/-/descriptor-discovery-1.0.0-beta.7.tgz","fileCount":17,"integrity":"sha512-YEKd6MMdAWwEszYRr9ti1bf3e8zIUgsocQVSDmS4nsV8KTID76lvErtgvNs29rKmcMKrCkLWaP+E8bbV82YOqQ==","signatures":[{"sig":"MEUCIQCQsVkKi9V74nJcqN4ulS+RFMlPMMQRVlQAF1lL1MYmcAIgcSwq0OMaQ09a8CzQxh0dUWIJfD3XjB2ryjjcUWqenvg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@lorion-org%2fdescriptor-discovery@1.0.0-beta.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":70429},"main":"./dist/index.cjs","type":"module","_from":"file:lorion-org-descriptor-discovery-1.0.0-beta.7.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":"^20.19.0 || >=22.12.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"},"lorion-source":{"types":"./src/index.ts","default":"./src/index.ts"}},"./schema":{"import":{"types":"./dist/schema.d.ts","default":"./dist/schema.js"},"require":{"types":"./dist/schema.d.cts","default":"./dist/schema.cjs"},"lorion-source":{"types":"./src/schema.ts","default":"./src/schema.ts"}}},"scripts":{"lint":"eslint src --ext .ts","test":"vitest run --root ../.. --config vitest.config.mts packages/descriptor-discovery/src/index.spec.ts","build":"tsup src/index.ts src/schema.ts --format esm,cjs --dts","clean":"rimraf coverage dist tsconfig.tsbuildinfo","typecheck":"tsc -p tsconfig.json --noEmit","package:check":"pnpm build && pnpm pack --dry-run && publint"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ee5e99cc-ddff-42ac-9510-5b97a988ca6b"}},"_resolved":"/tmp/e3cc84331e4a31ae1b3082c89993e22d/lorion-org-descriptor-discovery-1.0.0-beta.7.tgz","_integrity":"sha512-YEKd6MMdAWwEszYRr9ti1bf3e8zIUgsocQVSDmS4nsV8KTID76lvErtgvNs29rKmcMKrCkLWaP+E8bbV82YOqQ==","repository":{"url":"git+https://github.com/lorion-org/lorion.git","type":"git","directory":"packages/descriptor-discovery"},"_npmVersion":"11.16.0","description":"Node-based descriptor discovery and normalization helpers.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"ajv":"^8.17.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@lorion-org/runtime-config":"^1.0.0-beta.7","@lorion-org/composition-graph":"1.0.0-beta.7"},"peerDependencies":{"@lorion-org/runtime-config":"^1.0.0-beta.7","@lorion-org/composition-graph":"^1.0.0-beta.7"},"_npmOperationalInternal":{"tmp":"tmp/descriptor-discovery_1.0.0-beta.7_1785089201729_0.9223304595518143","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.8":{"name":"@lorion-org/descriptor-discovery","version":"1.0.0-beta.8","description":"Node-based descriptor discovery and normalization helpers.","license":"MIT","repository":{"type":"git","url":"git+https://github.com/lorion-org/lorion.git","directory":"packages/descriptor-discovery"},"homepage":"https://github.com/lorion-org/lorion/tree/main/packages/descriptor-discovery#readme","bugs":{"url":"https://github.com/lorion-org/lorion/issues"},"type":"module","sideEffects":false,"publishConfig":{"access":"public"},"main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"lorion-source":{"types":"./src/index.ts","default":"./src/index.ts"},"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./schema":{"lorion-source":{"types":"./src/schema.ts","default":"./src/schema.ts"},"import":{"types":"./dist/schema.d.ts","default":"./dist/schema.js"},"require":{"types":"./dist/schema.d.cts","default":"./dist/schema.cjs"}}},"keywords":["descriptor","discovery","filesystem","typescript"],"engines":{"node":"^20.19.0 || >=22.12.0"},"peerDependencies":{"@lorion-org/composition-graph":"^1.0.0-beta.8","@lorion-org/runtime-config":"^1.0.0-beta.8"},"dependencies":{"ajv":"^8.17.1"},"devDependencies":{"@lorion-org/composition-graph":"1.0.0-beta.8","@lorion-org/runtime-config":"^1.0.0-beta.8"},"scripts":{"build":"tsup src/index.ts src/schema.ts --format esm,cjs --dts","clean":"rimraf coverage dist tsconfig.tsbuildinfo","lint":"eslint src --ext .ts","package:check":"pnpm build && pnpm pack --dry-run && publint","test":"vitest run --root ../.. --config vitest.config.mts packages/descriptor-discovery/src/index.spec.ts","typecheck":"tsc -p tsconfig.json --noEmit"},"_id":"@lorion-org/descriptor-discovery@1.0.0-beta.8","_integrity":"sha512-PNiykF3iOt4RbLbnK2V+0GL3dPm+CUWbQwJq+5HVIrl/iRcOjbBTuWyVX8hPRQy1dTB4FjnSk7tpJ6wTR7g/Vw==","_resolved":"/tmp/5ce10190d2817beb7fea94efecc6dc5f/lorion-org-descriptor-discovery-1.0.0-beta.8.tgz","_from":"file:lorion-org-descriptor-discovery-1.0.0-beta.8.tgz","_nodeVersion":"24.18.0","_npmVersion":"11.16.0","dist":{"integrity":"sha512-PNiykF3iOt4RbLbnK2V+0GL3dPm+CUWbQwJq+5HVIrl/iRcOjbBTuWyVX8hPRQy1dTB4FjnSk7tpJ6wTR7g/Vw==","shasum":"f3fc48008e3210b88b56487d4315a036c170bb9d","tarball":"https://registry.npmjs.org/@lorion-org/descriptor-discovery/-/descriptor-discovery-1.0.0-beta.8.tgz","fileCount":17,"unpackedSize":69823,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@lorion-org%2fdescriptor-discovery@1.0.0-beta.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQC9WKsaEeAs8qk4HF8+fusBqUoD9zCeVMAYmiXA9KQDaQIhAJPlTBV0g28wEN9TxXgTfauzNR1i93S/zGfitmrocBZX"}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ee5e99cc-ddff-42ac-9510-5b97a988ca6b"}},"directories":{},"maintainers":[{"name":"davewww","email":"david@dampfer.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/descriptor-discovery_1.0.0-beta.8_1785770492448_0.8879946129461136"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-29T11:59:50.419Z","modified":"2026-08-03T15:21:32.966Z","1.0.0-beta.0":"2026-04-29T11:59:50.664Z","1.0.0-beta.1":"2026-04-30T18:13:27.708Z","1.0.0-beta.2":"2026-05-04T11:43:05.541Z","1.0.0-beta.3":"2026-07-20T08:16:49.603Z","1.0.0-beta.5":"2026-07-20T09:33:33.010Z","1.0.0-beta.6":"2026-07-23T18:32:21.314Z","1.0.0-beta.7":"2026-07-26T18:06:41.846Z","1.0.0-beta.8":"2026-08-03T15:21:32.590Z"},"bugs":{"url":"https://github.com/lorion-org/lorion/issues"},"license":"MIT","homepage":"https://github.com/lorion-org/lorion/tree/main/packages/descriptor-discovery#readme","keywords":["descriptor","discovery","filesystem","typescript"],"repository":{"type":"git","url":"git+https://github.com/lorion-org/lorion.git","directory":"packages/descriptor-discovery"},"description":"Node-based descriptor discovery and normalization helpers.","maintainers":[{"name":"davewww","email":"david@dampfer.net"}],"readme":"# @lorion-org/descriptor-discovery\n\nDisk-based discovery and normalization helpers for descriptor files.\n\nThis package is the Node-side companion to `@lorion-org/composition-graph`.\nIt is responsible for reading descriptor documents from disk and flattening\noptional nested descriptor authoring into the flat `Descriptor[]` shape that\nthe graph core expects.\n\n## Install\n\n```shell\npnpm add @lorion-org/descriptor-discovery @lorion-org/composition-graph @lorion-org/runtime-config\n```\n\n## What it is\n\n- a Node-side descriptor file discovery helper\n- a normalization layer for descriptor ids and versions\n- a small flattening helper for one level of nested descriptor authoring\n- a bridge from files on disk to `@lorion-org/composition-graph`\n\n## What it is not\n\n- not a graph builder\n- not a package manager\n- not a framework adapter\n- not a recursive schema language\n- not a watcher or live reload system\n\n## Directory shape\n\n```text\nlayer-extensions/\n  checkout/\n    extension.json\n  shops/\n    extension.json\n```\n\n## Basic example\n\n```ts\nimport { discoverDescriptors } from '@lorion-org/descriptor-discovery';\n\nconst discovered = discoverDescriptors({\n  cwd: '.',\n  descriptorPaths: ['layer-extensions/*/extension.json'],\n});\n\nconst descriptors = discovered.map((entry) => entry.descriptor);\n```\n\n`discoverDescriptors()` scans each direct child directory below every root and\nloads a descriptor file when it exists. The directory name is used as a fallback\nid when the descriptor does not define one.\n\n## Example: custom descriptor fields\n\n```ts\nimport { discoverDescriptors } from '@lorion-org/descriptor-discovery';\n\nconst discovered = discoverDescriptors({\n  cwd: '.',\n  descriptorPaths: ['layer-extensions/*/extension.json'],\n  nestedField: 'bundles',\n});\n\ndiscovered.map((entry) => entry.id);\n```\n\nNested descriptors are flattened into the same output list as their parent.\nOnly one nesting level is supported so the resulting graph input stays explicit.\n\n## Example: use with composition graph\n\n```ts\nimport { createDescriptorCatalog } from '@lorion-org/composition-graph';\nimport { discoverDescriptors } from '@lorion-org/descriptor-discovery';\n\nconst discovered = discoverDescriptors({\n  cwd: '.',\n  descriptorPaths: ['layer-extensions/*/extension.json'],\n  nestedField: 'bundles',\n});\n\nconst catalog = createDescriptorCatalog({\n  descriptors: discovered.map((entry) => entry.descriptor),\n});\n\ncatalog.resolveSelection({\n  selected: ['default'],\n});\n```\n\n## Example: bundle manifest\n\n```jsonc\n// bundles.json — `bundles` is a nested list of ordinary descriptors (same shape as\n// any capability's descriptor). A manifest declares descriptors and nothing else:\n// any other top-level key is rejected. `$schema` is allowed, for editor support.\n{\n  \"$schema\": \"https://lorion.dev/schemas/bundles.schema.json\",\n  \"bundles\": [\n    { \"id\": \"base\", \"version\": \"0.0.0\", \"dependencies\": { \"ui\": \"^1.0.0\", \"auth\": \"^1.0.0\" } },\n    {\n      \"id\": \"shop\",\n      \"version\": \"0.0.0\",\n      \"dependencies\": { \"catalog\": \"^1.0.0\", \"checkout\": \"^1.0.0\" },\n    },\n  ],\n}\n```\n\n```ts\nimport { loadBundleManifest } from '@lorion-org/descriptor-discovery';\n\nconst virtualDescriptors = loadBundleManifest({ cwd: appDir });\n```\n\n`loadBundleManifest()` walks up from `cwd` to find a `bundles.json` (override with\n`fileName`) and reads its `bundles` list as virtual descriptors. Each bundle is\nvalidated against the same `descriptorSchema` a capability's descriptor is held to, so\na malformed grouping fails fast. This is the filesystem-free way to define grouping\nbundles: a host declares them in data — no bespoke format, just descriptors — and\nfeeds them to composition, without one package per bundle. `bundleManifestSchema`\nstates the wrapper's shape, and `SchemaDescriptor` is the descriptor as\n`descriptorSchema` describes it: the graph fields plus `runtimeConfig` and\n`publicRuntimeConfig`. `DescriptorField` names every declared field and is held to\nthe JSON schema at compile time, in both directions.\n\nA manifest is a grouping file, so it declares descriptors on a package and feature\nbasis and carries no run-wide keys. Which grouping is the always-on base and which is\nthe default selection belongs to a run, so the host names both in its seed\n(`baseDescriptors`, `defaultSelection`) and one manifest serves runs that seed it\ndifferently.\n\n`virtualDescriptorDirectory(workspaceRoot, id)` (and the `VIRTUAL_DESCRIPTOR_DIR`\nsegment it uses) is the one shared convention for where a virtual descriptor is\naddressed on disk: a synthetic path that never exists, so surface markers never\nmatch and no `package.json` is read. Both the runtime and build-time hosts resolve\nvirtual descriptors through it instead of each hard-coding the segment.\n\n## Local commands\n\n```shell\ncd packages/descriptor-discovery\npnpm build\npnpm test\npnpm typecheck\npnpm package:check\n```\n","readmeFilename":"README.md"}