{"_id":"@astra-spec/sdk","_rev":"10-fa224ef680403a09d2f9a66a66ec0f3b","name":"@astra-spec/sdk","dist-tags":{"latest":"0.1.2"},"versions":{"0.0.1":{"name":"@astra-spec/sdk","version":"0.0.1","keywords":["astra","research","reproducibility","schema","validation","linkml","scientific-computing"],"license":"BSD-3-Clause","_id":"@astra-spec/sdk@0.0.1","maintainers":[{"name":"eiffl","email":"fr.eiffel@gmail.com"}],"homepage":"https://astra-spec.org/","bugs":{"url":"https://github.com/LightconeResearch/astra-typescript/issues"},"dist":{"shasum":"6a7274425b34d2570ecfbf3d225f7504a45764a0","tarball":"https://registry.npmjs.org/@astra-spec/sdk/-/sdk-0.0.1.tgz","fileCount":43,"integrity":"sha512-6yy8DHAlHg53ql0xnVIQIkibChXvrqR6hwaXVm8YKPmPOMQTthtgwCPtdoSzSTNqSxIkQoCKUWE91ThVBu25Tg==","signatures":[{"sig":"MEUCIQCRJrGktuZXQKfOJjO7HTx3jP+KGWr2fOOX4nt4alFG1AIgc481bWF4nAzFE36ymjwrS0H5AFd+p3c8PKAFSn2irzU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":217682},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./schema":{"types":"./dist/schema/index.d.ts","import":"./dist/schema/index.js"}},"gitHead":"7947329ca232d27a2e0b284ece37edf2c0e7312a","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"eiffl","email":"fr.eiffel@gmail.com"},"repository":{"url":"git+https://github.com/LightconeResearch/astra-typescript.git","type":"git"},"_npmVersion":"11.12.1","description":"TypeScript SDK for ASTRA (Agentic Schema for Transparent Research Analysis): parse, validate, and inspect ASTRA analysis specifications.","directories":{},"_nodeVersion":"25.9.0","dependencies":{"ajv":"^8.17.1","yaml":"^2.6.1","ajv-formats":"^3.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.8","typescript":"^5.7.2","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.0.1_1778242582128_0.32317122291559386","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"@astra-spec/sdk","version":"0.0.3","keywords":["astra","research","reproducibility","schema","validation","linkml","scientific-computing"],"license":"BSD-3-Clause","_id":"@astra-spec/sdk@0.0.3","maintainers":[{"name":"eiffl","email":"fr.eiffel@gmail.com"}],"homepage":"https://astra-spec.org/","bugs":{"url":"https://github.com/LightconeResearch/astra-typescript/issues"},"dist":{"shasum":"4abc6deff34783c1e762b8dad6e548a92f6d300c","tarball":"https://registry.npmjs.org/@astra-spec/sdk/-/sdk-0.0.3.tgz","fileCount":43,"integrity":"sha512-WboQVD5v+520IFbTh7YWZwEDYe4vf7LW3ABpd+anXO1onjy0ibpsYI8Imi2rJonaEcERF8jwUDcWJlNODYN0hA==","signatures":[{"sig":"MEUCIHEBo2kHqpyuGx0pD3scESuZEMZL3Dl+rtlSRBKW0y+tAiEA6Nf/YWzBam4ElHHTVJT+MX6jAd34pB+Vu2cJn19ksHc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":206791},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./schema":{"types":"./dist/schema/index.d.ts","import":"./dist/schema/index.js"}},"gitHead":"bcc39e8091c9c7ff32dc2f89e4afe00fb42473ca","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6a438285-d4c4-49ed-9fa9-46f4a6a36894"}},"repository":{"url":"git+https://github.com/LightconeResearch/astra-typescript.git","type":"git"},"_npmVersion":"11.11.0","description":"TypeScript SDK for ASTRA (Agentic Schema for Transparent Research Analysis): parse, validate, and inspect ASTRA analysis specifications.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ajv":"^8.17.1","yaml":"^2.6.1","ajv-formats":"^3.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.8","typescript":"^5.7.2","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.0.3_1778247653594_0.43519562423266756","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"@astra-spec/sdk","version":"0.0.4","keywords":["astra","research","reproducibility","schema","validation","linkml","scientific-computing"],"license":"BSD-3-Clause","_id":"@astra-spec/sdk@0.0.4","maintainers":[{"name":"eiffl","email":"fr.eiffel@gmail.com"}],"homepage":"https://astra-spec.org/","bugs":{"url":"https://github.com/LightconeResearch/astra-typescript/issues"},"dist":{"shasum":"728b87f9fd93cb99d4a9758cb44734934451a661","tarball":"https://registry.npmjs.org/@astra-spec/sdk/-/sdk-0.0.4.tgz","fileCount":43,"integrity":"sha512-Lx/+mmqQbzOiTDfalRhCo9SlIXfDTjqLg4xv43q32oO9ZsqXobu3bCB2tsZyCy/0afnCERDsH9Yz2OBv/q/tiA==","signatures":[{"sig":"MEUCIFjEfc/9KXN6T4UNEFx7Lt4JlOv7EaUbG47Ulu0DqmIAAiEA+Jbzwlw3wSGPYojQmf2cyqfqYMHCSnueKEOFU+bcGBY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":206872},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./schema":{"types":"./dist/schema/index.d.ts","import":"./dist/schema/index.js"}},"gitHead":"3a676d5d2e53ad2e8e0c09bd2e998806be0b64e7","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6a438285-d4c4-49ed-9fa9-46f4a6a36894"}},"repository":{"url":"git+https://github.com/LightconeResearch/astra-typescript.git","type":"git"},"_npmVersion":"11.13.0","description":"TypeScript SDK for ASTRA (Agentic Schema for Transparent Research Analysis): parse, validate, and inspect ASTRA analysis specifications.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ajv":"^8.17.1","yaml":"^2.6.1","ajv-formats":"^3.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.8","typescript":"^5.7.2","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.0.4_1781016248188_0.8456738837726028","host":"s3://npm-registry-packages-npm-production"}},"0.0.5":{"name":"@astra-spec/sdk","version":"0.0.5","keywords":["astra","research","reproducibility","schema","validation","linkml","scientific-computing"],"license":"BSD-3-Clause","_id":"@astra-spec/sdk@0.0.5","maintainers":[{"name":"eiffl","email":"fr.eiffel@gmail.com"}],"homepage":"https://astra-spec.org/","bugs":{"url":"https://github.com/LightconeResearch/astra-typescript/issues"},"dist":{"shasum":"49a68b122b0f1d27e77b19a7b5f7cd88f2ea6bb4","tarball":"https://registry.npmjs.org/@astra-spec/sdk/-/sdk-0.0.5.tgz","fileCount":38,"integrity":"sha512-UgP+fx6ZK+7J9BtnRdX4NSyo5f71HfOZK0564BvBmVEdwKNcI1OqgQHgazeqjTuwg3bx1ayN5KsH8UOnCimr+w==","signatures":[{"sig":"MEUCIHg5oM9LizdAvSJ/7UI77qFYJSuBKNSeZizFuEqieFaeAiEA2Ua0A6BkK1EkDiUxNkAsFgzo76xxmj3eYBL5b99RKtM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":164408},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./schema":{"types":"./dist/schema/index.d.ts","import":"./dist/schema/index.js"}},"gitHead":"561843b364562833c8c29cc0f3a3067c3aeb5a3b","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6a438285-d4c4-49ed-9fa9-46f4a6a36894"}},"repository":{"url":"git+https://github.com/LightconeResearch/astra-typescript.git","type":"git"},"_npmVersion":"11.13.0","description":"TypeScript SDK for ASTRA (Agentic Schema for Transparent Research Analysis): parse, validate, and inspect ASTRA analysis specifications.","directories":{},"_nodeVersion":"24.17.0","dependencies":{"ajv":"^8.17.1","yaml":"^2.6.1","ajv-formats":"^3.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.8","typescript":"^5.7.2","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.0.5_1782766187085_0.0108397161753635","host":"s3://npm-registry-packages-npm-production"}},"0.0.6":{"name":"@astra-spec/sdk","version":"0.0.6","keywords":["astra","research","reproducibility","schema","validation","linkml","scientific-computing"],"license":"BSD-3-Clause","_id":"@astra-spec/sdk@0.0.6","maintainers":[{"name":"eiffl","email":"fr.eiffel@gmail.com"}],"homepage":"https://astra-spec.org/","bugs":{"url":"https://github.com/LightconeResearch/astra-typescript/issues"},"dist":{"shasum":"1d10c03144a84c0856c0c6223e11e9462e6fa533","tarball":"https://registry.npmjs.org/@astra-spec/sdk/-/sdk-0.0.6.tgz","fileCount":68,"integrity":"sha512-M1RFvAKJF1AK0/E2zkALRqOdc/A89WDNsfEU4tFSD4spva2bX0x+6s72MX8eB4J5Az7NRmAsD05cwtXSXcHfBA==","signatures":[{"sig":"MEUCIGqYyj7gpV25fQpk2Iok7EGyODGsxi8MqFLfwlu+FPyWAiEA6XrxCTU3m3Kk0o3DNyPO5A5RcokYGF50/c994sH9ntg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":346145},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./schema":{"types":"./dist/schema/index.d.ts","import":"./dist/schema/index.js"},"./view-model":{"types":"./dist/view-model/index.d.ts","import":"./dist/view-model/index.js"},"./view-model/node":{"types":"./dist/view-model/node.d.ts","import":"./dist/view-model/node.js"}},"gitHead":"4b56d5e6ab6b030a7606a091a82e3bf74621feff","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6a438285-d4c4-49ed-9fa9-46f4a6a36894"}},"repository":{"url":"git+https://github.com/LightconeResearch/astra-typescript.git","type":"git"},"_npmVersion":"11.17.0","description":"TypeScript SDK for ASTRA (Agentic Schema for Transparent Research Analysis): parse, validate, and inspect ASTRA analysis specifications.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ajv":"^8.17.1","yaml":"^2.6.1","ajv-formats":"^3.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.8","typescript":"^5.7.2","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.0.6_1787165242084_0.33052933670294005","host":"s3://npm-registry-packages-npm-production"}},"0.0.7":{"name":"@astra-spec/sdk","version":"0.0.7","keywords":["astra","research","reproducibility","schema","validation","linkml","scientific-computing"],"license":"BSD-3-Clause","_id":"@astra-spec/sdk@0.0.7","maintainers":[{"name":"eiffl","email":"fr.eiffel@gmail.com"}],"homepage":"https://astra-spec.org/","bugs":{"url":"https://github.com/LightconeResearch/astra-typescript/issues"},"dist":{"shasum":"7eb13849efff7c8e9ee505e459430f524fc121fc","tarball":"https://registry.npmjs.org/@astra-spec/sdk/-/sdk-0.0.7.tgz","fileCount":73,"integrity":"sha512-HnH3Bubul057rNxL50V4jk7jL8BxP2B0bu/5LCWt8QUeKmZkZ4HzHu5AiTbGVBAjj7xjKirCI9d8/xhIMWLhtg==","signatures":[{"sig":"MEQCIEvaJNPzJU7ggfPSBHBr9sYjZlp0cHCeDgFPZRbL8BQGAiAdTAGOdKGX0H9LwhRkYqmZbEZAB0f7gvXRNnIvSnf3fw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":366644},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./schema":{"types":"./dist/schema/index.d.ts","import":"./dist/schema/index.js"},"./view-model":{"types":"./dist/view-model/index.d.ts","import":"./dist/view-model/index.js"},"./view-model/node":{"types":"./dist/view-model/node.d.ts","import":"./dist/view-model/node.js"}},"gitHead":"19e376b07df24b40dfb1c0ddaf221823c28e44be","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6a438285-d4c4-49ed-9fa9-46f4a6a36894"}},"repository":{"url":"git+https://github.com/LightconeResearch/astra-typescript.git","type":"git"},"_npmVersion":"11.17.0","description":"TypeScript SDK for ASTRA (Agentic Schema for Transparent Research Analysis): parse, validate, and inspect ASTRA analysis specifications.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ajv":"^8.17.1","yaml":"^2.6.1","ajv-formats":"^3.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.8","typescript":"^5.7.2","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.0.7_1787663169490_0.4270567732419974","host":"s3://npm-registry-packages-npm-production"}},"0.0.8":{"name":"@astra-spec/sdk","version":"0.0.8","keywords":["astra","research","reproducibility","schema","validation","linkml","scientific-computing"],"license":"BSD-3-Clause","_id":"@astra-spec/sdk@0.0.8","maintainers":[{"name":"eiffl","email":"fr.eiffel@gmail.com"}],"homepage":"https://astra-spec.org/","bugs":{"url":"https://github.com/LightconeResearch/astra-typescript/issues"},"dist":{"shasum":"2cf2de7a41572157107ae06c7c53dc68f7e32cae","tarball":"https://registry.npmjs.org/@astra-spec/sdk/-/sdk-0.0.8.tgz","fileCount":78,"integrity":"sha512-hq/mpirKPch8m6DALqM9L/QsdEWTUDRVlymRBM1KKBZ0SY+RRIHF3S5dqcIR99BzlRyJVWfcS/azlko8l5wCPQ==","signatures":[{"sig":"MEQCICDuugOsnSbZ2oSl8r5IFPM0EjgwDLGp42THeLAzM/0UAiAo0r7Bek2mc09lazA66HhsNPPHS7r4u1esnw63GLfRNQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":545072},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./node":{"types":"./dist/node.d.ts","import":"./dist/node.js"},"./schema":{"types":"./dist/schema/index.d.ts","import":"./dist/schema/index.js"}},"gitHead":"bed07adeae4433aac586b45f80ffe66e76e07bb3","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest","schema:sync":"node scripts/sync-bundled-schema.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6a438285-d4c4-49ed-9fa9-46f4a6a36894"}},"repository":{"url":"git+https://github.com/LightconeResearch/astra-typescript.git","type":"git"},"_npmVersion":"11.17.0","description":"TypeScript SDK for ASTRA (Agentic Schema for Transparent Research Analysis): parse, validate, and inspect ASTRA analysis specifications.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ajv":"^8.17.1","yaml":"^2.6.1","ajv-formats":"^3.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.8","typescript":"^5.7.2","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.0.8_1787824446865_0.8152175484586146","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@astra-spec/sdk","version":"0.1.0","keywords":["astra","research","reproducibility","schema","validation","linkml","scientific-computing"],"license":"BSD-3-Clause","_id":"@astra-spec/sdk@0.1.0","maintainers":[{"name":"eiffl","email":"fr.eiffel@gmail.com"}],"homepage":"https://lightconeresearch.github.io/astra-typescript/","bugs":{"url":"https://github.com/LightconeResearch/astra-typescript/issues"},"dist":{"shasum":"3badfe35ea0f71d2cd61c3dc41e60e4818e4cfba","tarball":"https://registry.npmjs.org/@astra-spec/sdk/-/sdk-0.1.0.tgz","fileCount":25,"integrity":"sha512-LKb19QOZlI30bSujHK2MAY2wsAFSOBs1tZvQfk9OGh9Yvj1F58JaikxhTEerYER0uyXvzIBL6PZdUrjmZaDkYQ==","signatures":[{"sig":"MEYCIQC5vH0J8Bc8AlrUDB0IFBw22YBC4QTBAH0Izf5p2NApegIhAOneG0eOFIsNnL8ZMdjxV6Tb8lUN154AxhMgBb9uN2O7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":193141},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./node":{"types":"./dist/node.d.ts","import":"./dist/node.js"}},"gitHead":"6009c99df596cdc26fc0d3e0d6946e4d172f403c","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","prepack":"npm run clean && npm run build","typecheck":"tsc --noEmit","test:watch":"vitest","schema:sync":"node scripts/sync-bundled-schema.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6a438285-d4c4-49ed-9fa9-46f4a6a36894"}},"repository":{"url":"git+https://github.com/LightconeResearch/astra-typescript.git","type":"git"},"_npmVersion":"11.17.0","description":"TypeScript SDK for validating ASTRA projects and opening them as resolved data.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ajv":"^8.17.1","yaml":"^2.6.1","ajv-formats":"^3.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.8","typescript":"^5.7.2","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.1.0_1787842701652_0.6482089649013931","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@astra-spec/sdk","version":"0.1.1","keywords":["astra","research","reproducibility","schema","validation","linkml","scientific-computing"],"license":"BSD-3-Clause","_id":"@astra-spec/sdk@0.1.1","maintainers":[{"name":"eiffl","email":"fr.eiffel@gmail.com"}],"homepage":"https://lightconeresearch.github.io/astra-typescript/","bugs":{"url":"https://github.com/LightconeResearch/astra-typescript/issues"},"dist":{"shasum":"810527de1f023fe2aeebc97850bc57cf36f334cc","tarball":"https://registry.npmjs.org/@astra-spec/sdk/-/sdk-0.1.1.tgz","fileCount":25,"integrity":"sha512-kToCFe0LYNTCnPaZ7y65ROhFetqQLR1esXhBI6UNGBk5B1IK+lPQTE3HrFrhKzBL+cGjT5OIOJc+IIhqIA5YhA==","signatures":[{"sig":"MEUCIQC6/3f/qokkQAMnj8d8SgU7X3+GGmlwnYzJsFiZhkqWvwIgEnIa1y/YL8ZfBJovUstcLiR0ZZPHxgoTjSWCcSdfYpg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@astra-spec%2fsdk@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":194856},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./node":{"types":"./dist/node.d.ts","import":"./dist/node.js"}},"gitHead":"2472622f5777b3e647c40994381d41fee6ff2204","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","prepack":"npm run clean && npm run build","typecheck":"tsc --noEmit","test:watch":"vitest","schema:sync":"node scripts/sync-bundled-schema.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6a438285-d4c4-49ed-9fa9-46f4a6a36894"}},"repository":{"url":"git+https://github.com/LightconeResearch/astra-typescript.git","type":"git"},"_npmVersion":"11.17.0","description":"TypeScript SDK for validating ASTRA projects and opening them as resolved data.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ajv":"^8.17.1","yaml":"^2.6.1","ajv-formats":"^3.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.8","typescript":"^5.7.2","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.1.1_1787844265871_0.0034470014289413875","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@astra-spec/sdk","version":"0.1.2","description":"TypeScript SDK for validating ASTRA projects and opening them as resolved data.","type":"module","license":"BSD-3-Clause","publishConfig":{"access":"public"},"main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./node":{"types":"./dist/node.d.ts","import":"./dist/node.js","default":"./dist/node.js"}},"scripts":{"build":"tsc -p tsconfig.build.json","prepack":"npm run clean && npm run build","schema:sync":"node scripts/sync-bundled-schema.mjs","test":"vitest run","test:watch":"vitest","typecheck":"tsc --noEmit","clean":"rm -rf dist"},"engines":{"node":">=20"},"keywords":["astra","research","reproducibility","schema","validation","linkml","scientific-computing"],"homepage":"https://lightconeresearch.github.io/astra-typescript/","repository":{"type":"git","url":"git+https://github.com/LightconeResearch/astra-typescript.git"},"dependencies":{"ajv":"^8.17.1","ajv-formats":"^3.0.1","yaml":"^2.6.1"},"devDependencies":{"@types/node":"^22.10.0","typescript":"^5.7.2","vitest":"^2.1.8"},"gitHead":"00e0202302459246b9292b14bf7f4127fbab04e6","_id":"@astra-spec/sdk@0.1.2","bugs":{"url":"https://github.com/LightconeResearch/astra-typescript/issues"},"_nodeVersion":"24.19.0","_npmVersion":"11.17.0","dist":{"integrity":"sha512-XeDVTDi2Bu2iuKiKj797PaevZYo8nnNfvp4vRChyUT5MFPd8i29IIQGwBZL+qW7v0aIerNTug9BbCdYGjbwURQ==","shasum":"2fd26c27e6177cbb4a4190b7bab6e69a36230ed8","tarball":"https://registry.npmjs.org/@astra-spec/sdk/-/sdk-0.1.2.tgz","fileCount":27,"unpackedSize":216347,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@astra-spec%2fsdk@0.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIDTfrzpmN+GXn7M82ihwKYnHnROdCPoXZt1GPabcsO9BAiAzRN//cbEUKgfvAe/OfIVI4c07UvogSAfN+JAXPcuARA=="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6a438285-d4c4-49ed-9fa9-46f4a6a36894"}},"directories":{},"maintainers":[{"name":"eiffl","email":"fr.eiffel@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/sdk_0.1.2_1788007528085_0.5926560513354988"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-08T12:16:22.026Z","modified":"2026-08-29T12:45:28.531Z","0.0.1":"2026-05-08T12:16:22.266Z","0.0.3":"2026-05-08T13:40:53.726Z","0.0.4":"2026-06-09T14:44:08.319Z","0.0.5":"2026-06-29T20:49:47.320Z","0.0.6":"2026-08-19T18:47:22.241Z","0.0.7":"2026-08-25T13:06:09.632Z","0.0.8":"2026-08-27T09:54:06.993Z","0.1.0":"2026-08-27T14:58:21.796Z","0.1.1":"2026-08-27T15:24:26.027Z","0.1.2":"2026-08-29T12:45:28.213Z"},"bugs":{"url":"https://github.com/LightconeResearch/astra-typescript/issues"},"license":"BSD-3-Clause","homepage":"https://lightconeresearch.github.io/astra-typescript/","keywords":["astra","research","reproducibility","schema","validation","linkml","scientific-computing"],"repository":{"type":"git","url":"git+https://github.com/LightconeResearch/astra-typescript.git"},"description":"TypeScript SDK for validating ASTRA projects and opening them as resolved data.","maintainers":[{"name":"eiffl","email":"fr.eiffel@gmail.com"}],"readme":"# ASTRA TypeScript SDK - Agentic Schema for Transparent Research Analysis\n\n[![CI](https://github.com/LightconeResearch/astra-typescript/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/LightconeResearch/astra-typescript/actions/workflows/ci.yml)\n[![Documentation](https://github.com/LightconeResearch/astra-typescript/actions/workflows/docs-check.yml/badge.svg?branch=main)](https://github.com/LightconeResearch/astra-typescript/actions/workflows/docs-check.yml)\n[![npm](https://img.shields.io/npm/v/%40astra-spec%2Fsdk.svg)](https://www.npmjs.com/package/@astra-spec/sdk)\n[![Node.js >=20](https://img.shields.io/badge/Node.js-%3E%3D20-339933.svg?logo=nodedotjs&logoColor=white)](https://nodejs.org/)\n[![License](https://img.shields.io/badge/License-BSD_3--Clause-green.svg)](https://opensource.org/licenses/BSD-3-Clause)\n\nTypeScript SDK for validating and resolving ASTRA projects, published as\n`@astra-spec/sdk`.\n\n> For the schema, concepts, and authoring model, see the\n> [canonical ASTRA specification](https://astra-spec.org/latest/).\n\nThe SDK deliberately exposes two top-level project workflows:\n\n- `validateAnalysis()` answers whether an authored ASTRA project is valid and\n  returns structured issues.\n- `resolveAnalysis()` validates the project and opens it as one recursive,\n  serializable data structure for viewers and integrations.\n\nSee the [versioned SDK documentation](https://lightconeresearch.github.io/astra-typescript/)\nfor focused integration guides and the complete API reference.\n\n## Install\n\n```bash\nnpm install @astra-spec/sdk\n```\n\nBoth workflows read through the small, host-neutral `ProjectReader` interface.\nFor Node, create a reader rooted at the directory containing `astra.yaml`:\n\n```ts\nimport { createNodeProjectReader } from \"@astra-spec/sdk/node\";\n\nconst reader = createNodeProjectReader(\"/path/to/project\");\n```\n\n## Validate a project\n\n`validateAnalysis()` recursively checks the root `astra.yaml`, path-backed\nanalyses, and universe files. It applies the bundled structural schema and the\nproject-level semantic and reference checks in one operation. Every universe\nfile is parsed and reference-checked; configuration-dependent conditions and\nconstraints are evaluated from each root universe through the named child\nuniverses it selects.\n\n```ts\nimport { validateAnalysis } from \"@astra-spec/sdk\";\nimport { createNodeProjectReader } from \"@astra-spec/sdk/node\";\n\nconst reader = createNodeProjectReader(\"/path/to/project\");\nconst result = await validateAnalysis(reader);\n\nif (!result.valid) {\n  for (const issue of result.issues) {\n    const location = [issue.file, issue.path].filter(Boolean).join(\":\");\n    console.error(`${location}: ${issue.message}`);\n  }\n}\n```\n\nEach issue has a stable `code`, a human-readable `message`, the\nproject-relative `file`, and, when available, the authored field `path`.\nMalformed YAML and other authored project problems return\n`{ valid: false, issues }`. Reader failures and backend-enforced project-root\nescapes throw a `ProjectLoadError` because the project could not be read safely;\na lexical escape written in `Analysis.path` is an authored validation issue.\n\n## Resolve a project\n\n`resolveAnalysis()` runs the same complete validation internally, then resolves\naliases, conditions, decision selections, provenance, evidence links, and\nartifact bindings for one universe. There is no need to call\n`validateAnalysis()` first unless the caller specifically wants a validation\nresult instead of an exception.\n\n```ts\nimport { resolveAnalysis } from \"@astra-spec/sdk\";\nimport { createNodeProjectReader } from \"@astra-spec/sdk/node\";\n\nconst reader = createNodeProjectReader(\"/path/to/project\");\nconst bundle = await resolveAnalysis(reader, { universeId: \"baseline\" });\n\nconsole.log(bundle.document.analysis.outputs);\nconsole.log(bundle.bindings);\n```\n\n`bundle.document` is host-neutral JSON data containing the recursive resolved\nanalysis tree. `bundle.bindings` maps materialized output canonical paths to\nproject-relative artifact files and opaque cache tokens. A missing output\nartifact is not a project error: the output simply has no artifact descriptor\nor binding.\n\nOutput locations are derived without scanning `results/`. A root output lives\nat `results/<universe>/<output>.<format>`; an inline nested output lives at\n`results/<universe>/<analysis>.<output>.<format>` (with additional analysis IDs\njoined by dots). A path-backed analysis owns its own `results/` directory and\nstarts a fresh artifact namespace.\n\nThe resolver stats only these known paths. A binding is present when the file\nexists and carries an opaque cache token for downstream cache busting.\nThe token is SHA-256 over the project-relative path, integer modification time\nin milliseconds, and byte size. It is a cheap equality token, not an artifact\ncontent hash; consumers must not parse or order it.\n\nInvalid projects reject with `AnalysisValidationError`, whose `issues` use the\nsame shape returned by `validateAnalysis()`. Loading and storage failures reject\nwith `ProjectLoadError`; so does an explicitly requested root universe that does\nnot exist.\n\n### Decode a transported bundle\n\nTypeScript types do not validate data received through JSON, structured clone,\nstorage, or an API. Use the SDK's runtime decoder at that boundary before\npassing a resolved bundle to a viewer or integration:\n\n```ts\nimport {\n  parseResolvedAnalysisBundle,\n  ResolvedAnalysisBundleValidationError,\n} from \"@astra-spec/sdk\";\n\nconst candidate: unknown = JSON.parse(serializedBundle);\n\ntry {\n  const bundle = parseResolvedAnalysisBundle(candidate);\n  render(bundle.document, bundle.bindings);\n} catch (error) {\n  if (error instanceof ResolvedAnalysisBundleValidationError) {\n    console.error(error.issues);\n  }\n}\n```\n\nAlternatively, when diagnostics are not needed, use the boolean type guard:\n\n```ts\nimport { isResolvedAnalysisBundle } from \"@astra-spec/sdk\";\n\nif (isResolvedAnalysisBundle(candidate)) {\n  render(candidate.document, candidate.bindings);\n}\n```\n\nDespite its name, `parseResolvedAnalysisBundle()` does not call `JSON.parse`.\nIt accepts an already-deserialized `unknown`, checks the complete known shape\nand current resolved schema version, and returns the original object unchanged.\nIt performs no project I/O, reference checking, or semantic resolution. It\nrejects non-finite numeric fields and negative artifact byte sizes so accepted\nvalues remain safe to transport. Unknown additional fields are retained and\nignored so producers can add metadata without breaking consumers of the\ncurrent contract.\n\n### Derived lookups\n\nThe resolved document contains no lookup maps. Build them only when needed:\n\n```ts\nimport { indexAnalysis } from \"@astra-spec/sdk\";\n\nconst index = indexAnalysis(bundle.document);\nconst output = index.recordByPath.get(\"stage.outputs.figure\");\nconst owner = index.analysisByRecordPath.get(\"stage.outputs.figure\"); // the \"stage\" node\n```\n\nNormalized cited DOI lists are also derived rather than duplicated:\n\n```ts\nimport { collectCitedDois } from \"@astra-spec/sdk\";\n\nconst citedDois = collectCitedDois(bundle.document);\n```\n\n## Other hosts\n\nJupyterLab, editors, and browser-local integrations can implement the same\nread-only storage contract:\n\n```ts\ninterface ProjectReader {\n  readText(path: string): Promise<string>;\n  stat(path: string): Promise<ProjectEntry | undefined>;\n  readDirectory(path: string): Promise<ProjectDirectoryEntry[]>;\n}\n```\n\nThe contract is:\n\n- Paths are normalized POSIX paths relative to the chosen project root; `\"\"`\n  denotes the root. An adapter must prevent backend-specific escapes, such as\n  symbolic links, by throwing `ProjectPathError`.\n- `readText()` returns UTF-8 text for an existing file and rejects missing\n  paths, directories, decoding errors, and backend failures.\n- `stat()` returns `undefined` only for a missing path. A file entry contains a\n  non-negative safe-integer byte size and Unix modification time in\n  milliseconds; a directory entry needs only its type.\n- `readDirectory()` returns immediate children with bare names and rejects a\n  missing path, a non-directory, or a backend failure. Child order is not\n  significant.\n\nThe SDK validates adapter responses. Invalid responses and ordinary backend\nfailures become `ProjectLoadError` with `READ_FAILED`; `ProjectPathError`\nbecomes `PROJECT_PATH_ESCAPE`. The package exports `ProjectReader`,\n`ProjectEntry`, and `ProjectDirectoryEntry` for adapter implementations.\n\n`ASTRA_SPEC_VERSION` identifies the canonical schema bundled with this SDK.\n\n## Public API\n\nThis is the complete export inventory. Everything is imported from\n`@astra-spec/sdk` unless a different entry point is shown.\n\n### Project workflows and errors\n\n| Export | Kind | Purpose |\n| --- | --- | --- |\n| `validateAnalysis` | function | Validate one complete project through a `ProjectReader`. |\n| `resolveAnalysis` | function | Validate and resolve one project and selected universe. |\n| `ResolveAnalysisOptions` | interface | Options for `resolveAnalysis`; currently contains `universeId`. |\n| `AnalysisValidationResult` | interface | The `{ valid, issues }` result returned by validation. |\n| `ValidationIssue` | interface | One authored issue with a code, message, file, and optional field path. |\n| `AnalysisValidationError` | class | Error thrown by resolution when authored validation fails. |\n| `ProjectLoadError` | class | Error for reader, storage, root-boundary, and requested-universe failures. |\n| `ProjectLoadErrorCode` | type | Union of the stable `ProjectLoadError.code` values. |\n\n### Project access and path helpers\n\n| Export | Kind | Purpose |\n| --- | --- | --- |\n| `ProjectReader` | interface | Host-neutral read-only access to one project root. |\n| `ProjectEntry` | type | File or directory metadata returned by `ProjectReader.stat`. |\n| `ProjectDirectoryEntry` | interface | One immediate child returned by `ProjectReader.readDirectory`. |\n| `ProjectPathError` | class | Adapter signal that a backend path escapes the project root. |\n| `assertProjectPath` | function | Assert that a path is normalized, POSIX, and project-relative. |\n| `joinProjectPath` | function | Join project-relative paths while rejecting lexical root escapes. |\n| `projectDirname` | function | Return the parent of a normalized project-relative path. |\n\nThe Node adapter is a separate entry point:\n\n| Export | Entry point | Purpose |\n| --- | --- | --- |\n| `createNodeProjectReader` | `@astra-spec/sdk/node` | Create a filesystem-backed reader rooted at an ASTRA project directory. |\n\n### Version constants\n\n| Export | Kind | Purpose |\n| --- | --- | --- |\n| `ASTRA_SPEC_VERSION` | constant | Version of the canonical ASTRA schema bundled with the SDK. |\n| `RESOLVED_ANALYSIS_SCHEMA_VERSION` | constant | Version identifier for the resolved document contract. |\n\n### Resolved data model\n\n| Export | Kind | Purpose |\n| --- | --- | --- |\n| `ResolvedAnalysisBundle` | interface | Top-level result containing the document and artifact bindings. |\n| `ResolvedAnalysisDocument` | interface | Serializable resolved analysis plus universe metadata. |\n| `UniverseSelection` | interface | Effective universe, available universes, and selection source. |\n| `ResolvedRootAnalysis` | type | Root analysis with guaranteed `version` and `name`. |\n| `ResolvedAnalysisNode` | type | One recursive resolved analysis node. |\n| `ResolvedChildAnalysis` | type | A resolved child node with a guaranteed `id`. |\n| `ResolvedRecord` | type | Union of resolved inputs, outputs, decisions, and insights. |\n| `ResolvedRecordFields` | interface | Fields common to resolved records, currently `canonicalPath`. |\n| `ResolvedInput` | type | Input with its effective type and optional alias target. |\n| `ResolvedOutput` | type | Output with activity, provenance, alias, and artifact metadata. |\n| `ResolvedDecision` | type | Decision with normalized options, activity, and effective selection. |\n| `ResolvedOption` | type | Normalized option with resolved supporting-insight paths. |\n| `ResolvedInsight` | type | Finding or prior insight with resolved evidence. |\n| `ResolvedEvidence` | type | Evidence with an optional resolved output path. |\n| `OutputProvenance` | interface | Canonical input and decision dependencies of an output. |\n| `ArtifactDescriptor` | interface | Materialized artifact metadata attached to a resolved output. |\n| `ArtifactBinding` | interface | Output-to-file binding with its opaque cache token. |\n\n### Resolved bundle decoding\n\n| Export | Kind | Purpose |\n| --- | --- | --- |\n| `isResolvedAnalysisBundle` | function | Type guard for an already-deserialized resolved bundle. |\n| `parseResolvedAnalysisBundle` | function | Return a valid transported bundle unchanged or throw structured diagnostics. |\n| `ResolvedAnalysisBundleValidationError` | class | Error containing all structural issues found while decoding a bundle. |\n| `ResolvedAnalysisBundleValidationIssue` | interface | One decoder issue with a stable code, JavaScript-style path, and message. |\n| `ResolvedAnalysisBundleValidationIssueCode` | type | Union of decoder issue codes. |\n\n### Derived helpers\n\n| Export | Kind | Purpose |\n| --- | --- | --- |\n| `AnalysisIndex` | interface | Optional canonical-path lookup maps: analyses, records, and each record's declaring analysis. |\n| `indexAnalysis` | function | Derive analysis, record, and record-owner lookup maps from a resolved document. |\n| `walkAnalyses` | function | Iterate resolved analysis nodes depth-first in document order. |\n| `normalizeDoi` | function | Normalize common DOI spellings without validating them. |\n| `collectCitedDois` | function | Collect unique normalized DOIs in resolved document order. |\n\n### Authored ASTRA types\n\nThese are deliberately permissive TypeScript shapes for ASTRA source data;\nthey do not parse data or prove that it is valid. Use `validateAnalysis` or\n`resolveAnalysis` for the runtime contract.\n\n| Export | Kind | Purpose |\n| --- | --- | --- |\n| `Analysis` | interface | Recursive authored analysis node. |\n| `Input` | interface | Authored analysis input or input alias. |\n| `InputType` | type | Allowed authored input kinds. |\n| `Output` | interface | Authored output or output re-export. |\n| `OutputType` | type | Allowed authored output kinds. |\n| `Decision` | interface | Authored decision or inherited decision reference. |\n| `Option` | interface | Authored decision option. |\n| `Universe` | interface | Root universe document. |\n| `UniverseNode` | interface | Recursive child selection inside a universe. |\n| `DecisionSelection` | interface | Verbose decision-selection representation. |\n| `Insight` | interface | Authored prior insight or finding. |\n| `Evidence` | interface | Literature or artifact evidence for an insight. |\n| `TextQuoteSelector` | interface | Exact quote and optional surrounding text. |\n| `FragmentSelector` | interface | Fragment or page locator for evidence. |\n| `Recipe` | interface | Authored command, resources, and container for an output. |\n| `Resources` | interface | Authored compute resource requirements. |\n\n## Links\n\n- [SDK documentation](https://lightconeresearch.github.io/astra-typescript/)\n- [ASTRA specification](https://astra-spec.org/latest/)\n- [`@astra-spec/sdk` on npm](https://www.npmjs.com/package/@astra-spec/sdk)\n- [Releases](https://github.com/LightconeResearch/astra-typescript/releases)\n\n## License\n\nBSD-3-Clause. See [LICENSE](./LICENSE).\n","readmeFilename":"README.md"}