{"_id":"@smile-digital-health/crl","_rev":"51-48a3583fce2f186ea26d31b37b645007","name":"@smile-digital-health/crl","dist-tags":{"latest":"6.4.33"},"versions":{"0.7.0":{"name":"@smile-digital-health/crl","version":"0.7.0","keywords":["clinical","practice","guideline","language","parser","validator"],"author":{"name":"CQIS"},"license":"MIT","_id":"@smile-digital-health/crl@0.7.0","maintainers":[{"name":"jpercival","email":"jonathan.i.percival@gmail.com"},{"name":"rob_reynolds","email":"rob.reynolds@smiledigitalhealth.com"},{"name":"dejawu","email":"npm@dejawu.me"}],"dist":{"shasum":"80c131bbada3529c69583fc8666ce89d4e3baac4","tarball":"https://registry.npmjs.org/@smile-digital-health/crl/-/crl-0.7.0.tgz","fileCount":107,"integrity":"sha512-NHr7QZCXrE2YEWeF+cwhpxFHIXwVLtRI9sThuD5KkVT2kluI0TorHdBqWdOqr8Q+Brp7FmTBRgALM8gG3N5ing==","signatures":[{"sig":"MEQCIB9zn+LDNpUpnVMYagGFriurS7K99HSPJQQfr3qxj75qAiB4c0mcu7wiosMAFE8w+vB5ZyBXVN6yPtM1EOxhTRCGGQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":535561},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"32e1777f78cc6a1292d6cc6fe24e49b2b3faae9d","scripts":{"lint":"eslint 'src/**/*.ts' --quiet","test":"jest src/lexer/tests/index.test.ts src/parser/tests/index.test.ts src/ast/tests/index.test.ts src/validator/tests/index.test.ts src/tests/index.test.ts","build":"tsc","clean":"rimraf dist","start":"npm run build && node dist/index.js","watch":"onchange -i \"src/**/*.ts\" -- npm run build","format":"prettier --write 'src/**/*.ts'","cli:ast":"ts-node src/cli/run-ast.ts","compile":"tsc --noEmit","prepare":"npm run build","generate":"antlr4ts -Xforce-atn src/grammar/CRLLexer.g4 && antlr4ts -Xforce-atn -visitor src/grammar/CRLParser.g4 && npm run move-generated-files && npm run extract-types","lint:fix":"eslint src/**/*.ts --fix","prebuild":"rimraf dist && shx mkdir -p dist && npm run generate && cpx \"src/grammar/generated/types/*.json\" dist/grammar/generated/types/ && node scripts/checkGrammarJsonFiles.js","cli:lexer":"ts-node src/cli/run-lexer.ts","cli:parser":"ts-node src/cli/run-parser.ts","prerelease":"node scripts/prereleaseGithub.js","test:watch":"jest --watch","git:unmerged":"ts-node scripts/unmerged-branches.ts","cli:validator":"ts-node src/cli/run-validator.ts","extract-types":"node scripts/extractActivityTypes.js && node scripts/extractConceptTypes.js && node scripts/extractConceptValueTypes.js","test:coverage":"jest --coverage","util:clonefsh":"npx ts-node scripts/clone-fsh-repo.ts","cli:ast:pretty":"ts-node src/cli/run-ast.ts --pretty","test:regression":"jest src/tests/index.test.ts --verbose --no-cache --colors --forceExit --detectOpenHandles --watchAll=false","cli:lexer:pretty":"ts-node src/cli/run-lexer.ts --pretty","cli:parser:pretty":"ts-node src/cli/run-parser.ts --pretty","cli:validator:pretty":"ts-node src/cli/run-validator.ts --pretty","move-generated-files":"node scripts/moveGeneratedFiles.js","cli:transformer:fsh-to-crl":"ts-node src/cli/run-transformer-fsh-to-crl.ts"},"_npmUser":{"name":"rob_reynolds","email":"rob.reynolds@smiledigitalhealth.com"},"_npmVersion":"10.8.2","description":"Clinical Reasoning Language (CRL) parser and validator","directories":{},"sideEffects":false,"_nodeVersion":"18.20.8","dependencies":{"cpx":"^1.2.1","prompts":"^2.4.2","antlr4ts":"^0.5.0-alpha.4","fsh-sushi":"^3.15.0"},"publishConfig":{"access":"restricted"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","jest":"^29.7.0","eslint":"^8.57.1","rimraf":"^5.0.5","ts-jest":"^29.1.2","ts-node":"^10.9.2","onchange":"^7.1.0","prettier":"^3.5.3","typescript":"^5.3.3","@types/jest":"^29.5.12","@types/node":"^20.11.19","antlr4ts-cli":"^0.5.0-alpha.4","eslint-plugin-import":"^2.31.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.31.0","@typescript-eslint/eslint-plugin":"^8.31.0","eslint-import-resolver-typescript":"^4.3.4"},"_npmOperationalInternal":{"tmp":"tmp/crl_0.7.0_1746049444483_0.20361328986385496","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@smile-digital-health/crl","version":"1.0.0","keywords":["clinical","practice","guideline","language","parser","validator"],"author":{"name":"CQIS"},"license":"MIT","_id":"@smile-digital-health/crl@1.0.0","maintainers":[{"name":"jpercival","email":"jonathan.i.percival@gmail.com"},{"name":"rob_reynolds","email":"rob.reynolds@smiledigitalhealth.com"},{"name":"dejawu","email":"npm@dejawu.me"},{"name":"aodahl-smile","email":"alexander.dahl@smiledigitalhealth.com"}],"dist":{"shasum":"b2b5c349fd92a745cf096a8ae32b4669e1fbeec4","tarball":"https://registry.npmjs.org/@smile-digital-health/crl/-/crl-1.0.0.tgz","fileCount":111,"integrity":"sha512-Q8DcpTozn1rI1tv+CD1JbwK1e1AsXPOi7iaJ2btRBOM53ml1LJXy9lll6rvC6VZ9zjsn+iIIASSYqnghCSBz3w==","signatures":[{"sig":"MEQCIGXejrg5pxyeVs/afcmaNy1B9gpqk7NMB5EN2ibp+6POAiBV6LTfCwOH9uXXltJQsYp55qPFtCLu6fIO0D1UBaWXpQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":534729},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"86c9035466d9e455129d66192b6cde571413eb38","scripts":{"lint":"eslint 'src/**/*.ts' --quiet","test":"jest src/tests/index.test.ts","build":"tsc","clean":"rimraf dist","start":"npm run build && node dist/index.js","watch":"onchange -i \"src/**/*.ts\" -- npm run build","format":"prettier --write 'src/**/*.ts'","cli:ast":"ts-node src/cli/run-ast.ts","compile":"tsc --noEmit","prepare":"npm run build","generate":"antlr4ts -Xforce-atn src/grammar/CRLLexer.g4 && antlr4ts -Xforce-atn -visitor src/grammar/CRLParser.g4 && npm run move-generated-files && npm run extract-types","lint:fix":"eslint src/**/*.ts --fix","prebuild":"rimraf dist && shx mkdir -p dist && npm run generate && cpx \"src/grammar/generated/types/*.json\" dist/grammar/generated/types/ && node scripts/checkGrammarJsonFiles.js","cli:lexer":"ts-node src/cli/run-lexer.ts","cli:parser":"ts-node src/cli/run-parser.ts","prerelease":"node scripts/prereleaseGithub.js","test:watch":"jest --watch","git:unmerged":"ts-node scripts/unmerged-branches.ts","cli:validator":"ts-node src/cli/run-validator.ts","extract-types":"node scripts/extractActivityTypes.js && node scripts/extractConceptTypes.js && node scripts/extractConceptValueTypes.js","test:coverage":"jest --coverage","util:clonefsh":"npx ts-node scripts/clone-fsh-repo.ts","cli:ast:pretty":"ts-node src/cli/run-ast.ts --pretty","test:regression":"jest src/tests/index.test.ts --verbose --no-cache --colors --forceExit --detectOpenHandles --watchAll=false","cli:lexer:pretty":"ts-node src/cli/run-lexer.ts --pretty","cli:parser:pretty":"ts-node src/cli/run-parser.ts --pretty","package:extension":"cd extension && vsce package","cli:validator:pretty":"ts-node src/cli/run-validator.ts --pretty","move-generated-files":"node scripts/moveGeneratedFiles.js","cli:transformer:fsh-to-crl":"ts-node src/cli/run-transformer-fsh-to-crl.ts"},"_npmUser":{"name":"rob_reynolds","email":"rob.reynolds@smiledigitalhealth.com"},"_npmVersion":"10.8.2","description":"Clinical Reasoning Language (CRL) parser and validator","directories":{},"sideEffects":false,"_nodeVersion":"18.20.8","dependencies":{"cpx":"^1.2.1","prompts":"^2.4.2","antlr4ts":"^0.5.0-alpha.4","fsh-sushi":"^3.15.0"},"publishConfig":{"access":"restricted"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","jest":"^29.7.0","eslint":"^8.57.1","rimraf":"^5.0.5","ts-jest":"^29.1.2","ts-node":"^10.9.2","onchange":"^7.1.0","prettier":"^3.5.3","typescript":"^5.3.3","@types/jest":"^29.5.12","@types/node":"^20.11.19","antlr4ts-cli":"^0.5.0-alpha.4","eslint-plugin-import":"^2.31.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.31.0","@typescript-eslint/eslint-plugin":"^8.31.0","eslint-import-resolver-typescript":"^4.3.4"},"_npmOperationalInternal":{"tmp":"tmp/crl_1.0.0_1747611753918_0.8047676674511908","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@smile-digital-health/crl","version":"1.1.0","keywords":["clinical","practice","guideline","language","parser","validator"],"author":{"name":"CQIS"},"license":"MIT","_id":"@smile-digital-health/crl@1.1.0","maintainers":[{"name":"jpercival","email":"jonathan.i.percival@gmail.com"},{"name":"rob_reynolds","email":"rob.reynolds@smiledigitalhealth.com"},{"name":"dejawu","email":"npm@dejawu.me"},{"name":"aodahl-smile","email":"alexander.dahl@smiledigitalhealth.com"}],"dist":{"shasum":"2c1b17bfedca658d0d84a3116f9fdf4730ea8c4b","tarball":"https://registry.npmjs.org/@smile-digital-health/crl/-/crl-1.1.0.tgz","fileCount":111,"integrity":"sha512-tnsuc0WwuH51frnlocum/DoSXqpIy4Z2p42aO5zo51NDDgvXimebU2v/4rLBzW6jVLDxOwope7ZWOANDH7nusg==","signatures":[{"sig":"MEYCIQCGS7AtrJoF2kqkqIRx2wlKZyrZi3MLDBSRThapnmti7gIhAOxczxE2rmytyx0JCHl3fjUveaIGweCLenJzb1GTYkM4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":573107},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"2e3c4368de1151b6a2ef6f3e5d46448eb8999e04","scripts":{"lint":"eslint 'src/**/*.ts' --quiet","test":"jest src/tests/index.test.ts","build":"tsc","clean":"rimraf dist","start":"npm run build && node dist/index.js","watch":"onchange -i \"src/**/*.ts\" -- npm run build","format":"prettier --write 'src/**/*.ts'","cli:ast":"ts-node src/cli/run-ast.ts","compile":"tsc --noEmit","prepare":"npm run build","generate":"antlr4ts -Xforce-atn src/grammar/CRLLexer.g4 && antlr4ts -Xforce-atn -visitor src/grammar/CRLParser.g4 && npm run move-generated-files && npm run extract-types","lint:fix":"eslint src/**/*.ts --fix","prebuild":"rimraf dist && shx mkdir -p dist && npm run generate && cpx \"src/grammar/generated/types/*.json\" dist/grammar/generated/types/ && node scripts/checkGrammarJsonFiles.js","cli:lexer":"ts-node src/cli/run-lexer.ts","cli:parser":"ts-node src/cli/run-parser.ts","prerelease":"node scripts/prereleaseGithub.js","test:watch":"jest --watch","git:unmerged":"ts-node scripts/unmerged-branches.ts","cli:validator":"ts-node src/cli/run-validator.ts","extract-types":"node scripts/extractActivityTypes.js && node scripts/extractConceptTypes.js && node scripts/extractConceptValueTypes.js","test:coverage":"jest --coverage","util:clonefsh":"npx ts-node scripts/clone-fsh-repo.ts","cli:ast:pretty":"ts-node src/cli/run-ast.ts --pretty","test:regression":"jest src/tests/index.test.ts --verbose --no-cache --colors --forceExit --detectOpenHandles --watchAll=false","cli:lexer:pretty":"ts-node src/cli/run-lexer.ts --pretty","cli:parser:pretty":"ts-node src/cli/run-parser.ts --pretty","package:extension":"cd extension && vsce package","cli:validator:pretty":"ts-node src/cli/run-validator.ts --pretty","move-generated-files":"node scripts/moveGeneratedFiles.js","cli:transformer:fsh-to-crl":"ts-node src/cli/run-transformer-fsh-to-crl.ts"},"_npmUser":{"name":"rob_reynolds","email":"rob.reynolds@smiledigitalhealth.com"},"_npmVersion":"10.8.2","description":"Clinical Reasoning Language (CRL) parser and validator","directories":{},"sideEffects":false,"_nodeVersion":"18.20.8","dependencies":{"cpx":"^1.2.1","prompts":"^2.4.2","antlr4ts":"^0.5.0-alpha.4","fsh-sushi":"^3.15.0"},"publishConfig":{"access":"restricted"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","jest":"^29.7.0","eslint":"^8.57.1","rimraf":"^5.0.5","ts-jest":"^29.1.2","ts-node":"^10.9.2","onchange":"^7.1.0","prettier":"^3.5.3","typescript":"^5.3.3","@types/jest":"^29.5.12","@types/node":"^20.11.19","antlr4ts-cli":"^0.5.0-alpha.4","eslint-plugin-import":"^2.31.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.31.0","@typescript-eslint/eslint-plugin":"^8.31.0","eslint-import-resolver-typescript":"^4.3.4"},"_npmOperationalInternal":{"tmp":"tmp/crl_1.1.0_1747698076538_0.6892625364761726","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@smile-digital-health/crl","version":"1.1.1","keywords":["clinical","practice","guideline","language","parser","validator"],"author":{"name":"CQIS"},"license":"MIT","_id":"@smile-digital-health/crl@1.1.1","maintainers":[{"name":"jpercival","email":"jonathan.i.percival@gmail.com"},{"name":"rob_reynolds","email":"rob.reynolds@smiledigitalhealth.com"},{"name":"dejawu","email":"npm@dejawu.me"},{"name":"aodahl-smile","email":"alexander.dahl@smiledigitalhealth.com"}],"dist":{"shasum":"eb663c111eff990bda62ad45846475c73dbb3c22","tarball":"https://registry.npmjs.org/@smile-digital-health/crl/-/crl-1.1.1.tgz","fileCount":111,"integrity":"sha512-Pp9bGkPMDfmGnPaFWoaoS1Gez951M283+yt5OBNVmumRIqNzyGkUmDLyvt486c+59O6bXMs408JNuDlXaUR38g==","signatures":[{"sig":"MEQCIA1MyGI45oceZkikKtiE3uS2CVrHFM+d4rPYa4hDvZCgAiADQDYWGUbdX5aHXcZiIfnePdALiGJ+eU2uX85U2KDeEQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":574510},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"b04dee166ad4df8ef789f32509bebfa3fb304b61","scripts":{"lint":"eslint 'src/**/*.ts' --quiet","test":"jest src/tests/index.test.ts","build":"tsc","clean":"rimraf dist","start":"npm run build && node dist/index.js","watch":"onchange -i \"src/**/*.ts\" -- npm run build","format":"prettier --write 'src/**/*.ts'","cli:ast":"ts-node src/cli/run-ast.ts","compile":"tsc --noEmit","prepare":"npm run build","generate":"antlr4ts -Xforce-atn src/grammar/CRLLexer.g4 && antlr4ts -Xforce-atn -visitor src/grammar/CRLParser.g4 && npm run move-generated-files && npm run extract-types","lint:fix":"eslint src/**/*.ts --fix","prebuild":"rimraf dist && shx mkdir -p dist && npm run generate && cpx \"src/grammar/generated/types/*.json\" dist/grammar/generated/types/ && node scripts/checkGrammarJsonFiles.js","cli:lexer":"ts-node src/cli/run-lexer.ts","cli:parser":"ts-node src/cli/run-parser.ts","prerelease":"node scripts/prereleaseGithub.js","test:watch":"jest --watch","git:unmerged":"ts-node scripts/unmerged-branches.ts","cli:validator":"ts-node src/cli/run-validator.ts","extract-types":"node scripts/extractActivityTypes.js && node scripts/extractConceptTypes.js && node scripts/extractConceptValueTypes.js","test:coverage":"jest --coverage","util:clonefsh":"npx ts-node scripts/clone-fsh-repo.ts","cli:ast:pretty":"ts-node src/cli/run-ast.ts --pretty","test:regression":"jest src/tests/index.test.ts --verbose --no-cache --colors --forceExit --detectOpenHandles --watchAll=false","cli:lexer:pretty":"ts-node src/cli/run-lexer.ts --pretty","cli:parser:pretty":"ts-node src/cli/run-parser.ts --pretty","package:extension":"cd extension && vsce package","cli:validator:pretty":"ts-node src/cli/run-validator.ts --pretty","move-generated-files":"node scripts/moveGeneratedFiles.js","cli:transformer:fsh-to-crl":"ts-node src/cli/run-transformer-fsh-to-crl.ts"},"_npmUser":{"name":"rob_reynolds","email":"rob.reynolds@smiledigitalhealth.com"},"_npmVersion":"10.8.2","description":"Clinical Reasoning Language (CRL) parser and validator","directories":{},"sideEffects":false,"_nodeVersion":"18.20.8","dependencies":{"cpx":"^1.2.1","prompts":"^2.4.2","antlr4ts":"^0.5.0-alpha.4","fsh-sushi":"^3.15.0"},"publishConfig":{"access":"restricted"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","jest":"^29.7.0","eslint":"^8.57.1","rimraf":"^5.0.5","ts-jest":"^29.1.2","ts-node":"^10.9.2","onchange":"^7.1.0","prettier":"^3.5.3","typescript":"^5.3.3","@types/jest":"^29.5.12","@types/node":"^20.11.19","antlr4ts-cli":"^0.5.0-alpha.4","eslint-plugin-import":"^2.31.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.31.0","@typescript-eslint/eslint-plugin":"^8.31.0","eslint-import-resolver-typescript":"^4.3.4"},"_npmOperationalInternal":{"tmp":"tmp/crl_1.1.1_1747762809948_0.5468335120593031","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"@smile-digital-health/crl","version":"1.2.1","keywords":["clinical","practice","guideline","language","parser","validator"],"author":{"name":"CQIS"},"license":"MIT","_id":"@smile-digital-health/crl@1.2.1","maintainers":[{"name":"jpercival","email":"jonathan.i.percival@gmail.com"},{"name":"rob_reynolds","email":"rob.reynolds@smiledigitalhealth.com"},{"name":"dejawu","email":"npm@dejawu.me"},{"name":"aodahl-smile","email":"alexander.dahl@smiledigitalhealth.com"},{"name":"subashgandyer-smile","email":"subash.gandyer@smiledigitalhealth.com"}],"dist":{"shasum":"a1a2bf276d303aa8fdbbe36b9388c3971987c92f","tarball":"https://registry.npmjs.org/@smile-digital-health/crl/-/crl-1.2.1.tgz","fileCount":174,"integrity":"sha512-n9l05Enu6oQl0FPALT+j18DfLJNkbtdXonEfIA7xgE2xPngxzcAyibdTJQxXFv/oCHRG+Hyh5gj6Y0udM4G4SA==","signatures":[{"sig":"MEYCIQDukNYq5sjo2wZ6QzDniq1U0/WiUMRnLktKZu/zZg5R0QIhAM+n0GRKuHLDnnwqjggdTzCcb1mLitKwTNdCy4hDNrKc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":844288},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"244ec1e709ac5cef36b6106b5fa0a11f0fdcf0c2","scripts":{"lint":"eslint 'src/**/*.ts' --quiet","test":"jest tests/index.test.ts","build":"tsc","clean":"rimraf dist","start":"npm run build && node dist/index.js","watch":"onchange -i \"src/**/*.ts\" -- npm run build","format":"prettier --write 'src/**/*.ts'","cli:ast":"ts-node src/cli/run-ast.ts","compile":"tsc --noEmit","prepare":"npm run build","generate":"antlr4ts -Xforce-atn src/grammar/CRLLexer.g4 && antlr4ts -Xforce-atn -visitor src/grammar/CRLParser.g4 && npm run move-generated-files && npm run extract-types","lint:fix":"eslint src/**/*.ts --fix","prebuild":"rimraf dist && shx mkdir -p dist && npm run generate && cpx \"src/grammar/generated/types/*.json\" dist/grammar/generated/types/ && node scripts/checkGrammarJsonFiles.js","cli:lexer":"ts-node src/cli/run-lexer.ts","cli:parser":"ts-node src/cli/run-parser.ts","prerelease":"node ../../scripts/prereleaseGithub.mjs","test:watch":"jest --watch","cli:validator":"ts-node src/cli/run-validator.ts","extract-types":"node scripts/extractActivityTypes.js && node scripts/extractConceptTypes.js && node scripts/extractConceptValueTypes.js","test:coverage":"jest --coverage","util:clonefsh":"npx ts-node scripts/clone-fsh-repo.ts","cli:ast:pretty":"ts-node src/cli/run-ast.ts --pretty","test:regression":"jest tests/regression/index.test.ts --verbose --no-cache --colors --forceExit --detectOpenHandles --watchAll=false","cli:lexer:pretty":"ts-node src/cli/run-lexer.ts --pretty","cli:parser:pretty":"ts-node src/cli/run-parser.ts --pretty","cli:validator:pretty":"ts-node src/cli/run-validator.ts --pretty","move-generated-files":"node scripts/moveGeneratedFiles.js","cli:transformer:fsh-to-crl":"ts-node src/cli/run-transformer-fsh-to-crl.ts"},"_npmUser":{"name":"rob_reynolds","actor":{"name":"rob_reynolds","type":"user","email":"rob.reynolds@smiledigitalhealth.com"},"email":"rob.reynolds@smiledigitalhealth.com"},"_npmVersion":"10.8.2","description":"Clinical Reasoning Language (CRL) parser and validator","directories":{},"sideEffects":false,"_nodeVersion":"18.20.8","dependencies":{"cpx":"^1.2.1","antlr4ts":"^0.5.0-alpha.4","fsh-sushi":"^3.15.0"},"publishConfig":{"access":"restricted"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","jest":"^29.7.0","eslint":"^8.57.1","rimraf":"^5.0.5","ts-jest":"^29.1.2","ts-node":"^10.9.2","onchange":"^7.1.0","prettier":"^3.5.3","typescript":"^5.3.3","@types/jest":"^29.5.12","@types/node":"^20.11.19","antlr4ts-cli":"^0.5.0-alpha.4","eslint-plugin-import":"^2.31.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.31.0","@typescript-eslint/eslint-plugin":"^8.31.0","eslint-import-resolver-typescript":"^4.3.4"},"_npmOperationalInternal":{"tmp":"tmp/crl_1.2.1_1751416235785_0.7109647289219017","host":"s3://npm-registry-packages-npm-production"}},"4.47.0":{"name":"@smile-digital-health/crl","version":"4.47.0","keywords":["clinical","practice","guideline","language","parser","validator"],"author":{"name":"CQIS"},"license":"Apache-2.0","_id":"@smile-digital-health/crl@4.47.0","maintainers":[{"name":"subashgandyer-smile","email":"subash.gandyer@smiledigitalhealth.com"},{"name":"jpercival","email":"jonathan.i.percival@gmail.com"},{"name":"rob_reynolds","email":"rob.reynolds@smiledigitalhealth.com"},{"name":"seenafa","email":"seena.farzaneh@smiledigitalhealth.com"},{"name":"aodahl-smile","email":"alexander.dahl@smiledigitalhealth.com"},{"name":"megan.weatherston","email":"megan.weatherston@smiledigitalhealth.com"},{"name":"zackaustin","email":"zack.austin@smiledigitalhealth.com"},{"name":"dejawu","email":"npm@dejawu.me"},{"name":"jreyno77","email":"jreysteven1@gmail.com"},{"name":"antvaset","email":"antvaset@gmail.com"}],"bin":{"crl-ast":"dist/cli/run-ast.js","crl-lex":"dist/cli/run-lexer.js","crl-mcp":"dist/cli/run-mcp-server.js","crl-emit":"dist/cli/run-emitter.js","crl-parse":"dist/cli/run-parser.js","crl-validate":"dist/cli/run-validator.js","crl-template-match":"dist/cli/run-template-match.js","crl-canonicalize-source":"dist/cli/run-canonicalize-source.js","crl-generate-provenance":"dist/cli/run-generate-provenance.js","crl-validate-provenance":"dist/cli/run-validate-provenance.js"},"dist":{"shasum":"12ce0bfaa76597373d72305195c5f0a06cfecf53","tarball":"https://registry.npmjs.org/@smile-digital-health/crl/-/crl-4.47.0.tgz","fileCount":493,"integrity":"sha512-Wc6Ru6rHsXFfZxeu0AmWc2xv2IfYLXMTFJmBCfpODdeqXa0+LevDEZeFsBKSveOYVwZZbOV5S3LX0KpG5qdIFw==","signatures":[{"sig":"MEUCICD+c5bzsAHyawyZgam0e2QfuahIbHqcSUMadRvrp7QFAiEAly3ocht4eikHFEkEUNooJDcRUDV1Dw9QvXTzwZyhC50=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2861387},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./mcp":{"types":"./dist/mcp/index.d.ts","import":"./dist/mcp/index.js","require":"./dist/mcp/index.js"},"./provenance":{"types":"./dist/provenance/index.d.ts","import":"./dist/provenance/index.js","require":"./dist/provenance/index.js"},"./language-services":{"types":"./dist/language-services/index.d.ts","import":"./dist/language-services/index.js","require":"./dist/language-services/index.js"}},"gitHead":"8ea73148946a34f4f9df1ba7a64b50852dc15901","scripts":{"lint":"eslint 'src/**/*.ts' --quiet","test":"jest src/tests/index.test.ts","build":"tsc && node scripts/copy-catalog.mjs","clean":"rimraf dist","start":"npm run build && node dist/index.js","watch":"onchange -i \"src/**/*.ts\" -- npm run build","format":"prettier --write 'src/**/*.ts'","cli:ast":"ts-node src/cli/run-ast.ts","cli:mcp":"ts-node src/cli/run-mcp-server.ts","compile":"tsc --noEmit","prepack":"npm run build","generate":"antlr4ts -Xforce-atn src/grammar/CRLLexer.g4 && antlr4ts -Xforce-atn -visitor src/grammar/CRLParser.g4 && antlr4ts -Xforce-atn src/grammar/CELLexer.g4 && antlr4ts -Xforce-atn -visitor src/grammar/CELParser.g4 && npm run move-generated-files && npm run extract-types","lint:fix":"eslint src/**/*.ts --fix","prebuild":"rimraf dist && shx mkdir -p dist && npm run generate && cpx \"src/grammar/generated/types/*.json\" dist/grammar/generated/types/ && node scripts/checkGrammarJsonFiles.js","test:mcp":"node src/cli/tests/run-mcp-server.test.mjs","cli:lexer":"ts-node src/cli/run-lexer.ts","cli:parser":"ts-node src/cli/run-parser.ts","prerelease":"node scripts/prereleaseGithub.js","test:watch":"jest --watch","cli:emitter":"ts-node src/cli/run-emitter.ts","pretest:mcp":"npm run build","git:unmerged":"ts-node scripts/unmerged-branches.ts","cli:validator":"ts-node src/cli/run-validator.ts","extract-types":"node scripts/extractActivityTypes.js && node scripts/extractConceptTypes.js && node scripts/extractConceptValueTypes.js && node scripts/extractParameterTypes.js","test:coverage":"jest --coverage","util:clonefsh":"npx ts-node scripts/clone-fsh-repo.ts","cli:ast:pretty":"ts-node src/cli/run-ast.ts --pretty","test:regression":"jest src/tests/index.test.ts --verbose --no-cache --colors --forceExit --detectOpenHandles --watchAll=false","cli:lexer:pretty":"ts-node src/cli/run-lexer.ts --pretty","cli:parser:pretty":"ts-node src/cli/run-parser.ts --pretty","cli:template-match":"ts-node src/cli/run-template-match.ts","cli:validator:pretty":"ts-node src/cli/run-validator.ts --pretty","move-generated-files":"node scripts/moveGeneratedFiles.js","cli:transformer:fsh-to-crl":"ts-node src/cli/run-transformer-fsh-to-crl.ts"},"_npmUser":{"name":"rob_reynolds","email":"rob.reynolds@smiledigitalhealth.com"},"_npmVersion":"11.6.2","description":"Clinical Reasoning Language (CRL) parser and validator","directories":{},"sideEffects":false,"_nodeVersion":"22.21.0","dependencies":{"cpx":"^1.2.1","zod":"^4.4.3","prompts":"^2.4.2","antlr4ts":"^0.5.0-alpha.4","fsh-sushi":"^3.15.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","jest":"^29.7.0","eslint":"^8.57.1","rimraf":"^5.0.5","ts-jest":"^29.1.2","ts-node":"^10.9.2","onchange":"^7.1.0","prettier":"^3.5.3","typescript":"^5.3.3","@types/jest":"^29.5.12","@types/node":"^20.11.19","antlr4ts-cli":"^0.5.0-alpha.4","eslint-plugin-import":"^2.31.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.31.0","@typescript-eslint/eslint-plugin":"^8.31.0","eslint-import-resolver-typescript":"^4.3.4"},"_npmOperationalInternal":{"tmp":"tmp/crl_4.47.0_1783362651230_0.1449008684840758","host":"s3://npm-registry-packages-npm-production"}},"4.92.1":{"name":"@smile-digital-health/crl","version":"4.92.1","keywords":["clinical","practice","guideline","language","parser","validator"],"author":{"name":"CQIS"},"license":"Apache-2.0","_id":"@smile-digital-health/crl@4.92.1","maintainers":[{"name":"subashgandyer-smile","email":"subash.gandyer@smiledigitalhealth.com"},{"name":"jpercival","email":"jonathan.i.percival@gmail.com"},{"name":"rob_reynolds","email":"rob.reynolds@smiledigitalhealth.com"},{"name":"seenafa","email":"seena.farzaneh@smiledigitalhealth.com"},{"name":"aodahl-smile","email":"alexander.dahl@smiledigitalhealth.com"},{"name":"megan.weatherston","email":"megan.weatherston@smiledigitalhealth.com"},{"name":"zackaustin","email":"zack.austin@smiledigitalhealth.com"},{"name":"dejawu","email":"npm@dejawu.me"},{"name":"jreyno77","email":"jreysteven1@gmail.com"},{"name":"antvaset","email":"antvaset@gmail.com"}],"bin":{"crl-ast":"dist/cli/run-ast.js","crl-lex":"dist/cli/run-lexer.js","crl-mcp":"dist/cli/run-mcp-server.js","crl-emit":"dist/cli/run-emitter.js","crl-parse":"dist/cli/run-parser.js","crl-validate":"dist/cli/run-validator.js","crl-template-match":"dist/cli/run-template-match.js","crl-canonicalize-source":"dist/cli/run-canonicalize-source.js","crl-generate-provenance":"dist/cli/run-generate-provenance.js","crl-validate-provenance":"dist/cli/run-validate-provenance.js"},"dist":{"shasum":"451062b2d495fb28b483d19b9244085847e6e2f6","tarball":"https://registry.npmjs.org/@smile-digital-health/crl/-/crl-4.92.1.tgz","fileCount":535,"integrity":"sha512-oieFp9gmDW5zusNHTTROzJBdfdIORfGfmdcr4TEFek8JIbpxo1DdIzuKKx2OQybtWG+Ap32rWjIPKcnin8g55A==","signatures":[{"sig":"MEUCICsHJMpahvqG2UwJR2P69S85s60rt8aj3Ppwu4nLh/2qAiEAjkawTjvFosSXgBj6BotmAb6SRaMQoSZlVlJwRo38dzQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3053883},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./mcp":{"types":"./dist/mcp/index.d.ts","import":"./dist/mcp/index.js","require":"./dist/mcp/index.js"},"./provenance":{"types":"./dist/provenance/index.d.ts","import":"./dist/provenance/index.js","require":"./dist/provenance/index.js"},"./language-services":{"types":"./dist/language-services/index.d.ts","import":"./dist/language-services/index.js","require":"./dist/language-services/index.js"}},"gitHead":"59a899f71b9372d53a46e797a859b97112f460e1","scripts":{"lint":"eslint 'src/**/*.ts' --quiet","test":"vitest run --root ../.. --project crl --no-file-parallelism","build":"tsc && node scripts/copy-catalog.mjs","clean":"rimraf dist","start":"npm run build && node dist/index.js","watch":"onchange -i \"src/**/*.ts\" -- npm run build","format":"prettier --write 'src/**/*.ts'","cli:ast":"ts-node src/cli/run-ast.ts","cli:mcp":"ts-node src/cli/run-mcp-server.ts","compile":"tsc --noEmit","prepack":"npm run build","generate":"antlr4ts -Xforce-atn src/grammar/CRLLexer.g4 && antlr4ts -Xforce-atn -visitor src/grammar/CRLParser.g4 && antlr4ts -Xforce-atn src/grammar/CELLexer.g4 && antlr4ts -Xforce-atn -visitor src/grammar/CELParser.g4 && npm run move-generated-files && npm run extract-types","lint:fix":"eslint src/**/*.ts --fix","prebuild":"rimraf dist && shx mkdir -p dist && npm run generate && cpx \"src/grammar/generated/types/*.json\" dist/grammar/generated/types/ && node scripts/checkGrammarJsonFiles.js","test:mcp":"node src/cli/tests/run-mcp-server.test.mjs","cli:lexer":"ts-node src/cli/run-lexer.ts","cli:parser":"ts-node src/cli/run-parser.ts","prerelease":"node scripts/prereleaseGithub.js","test:watch":"vitest --root ../.. --project crl --no-file-parallelism","cli:emitter":"ts-node src/cli/run-emitter.ts","pretest:mcp":"npm run build","git:unmerged":"ts-node scripts/unmerged-branches.ts","cli:validator":"ts-node src/cli/run-validator.ts","extract-types":"node scripts/extractActivityTypes.js && node scripts/extractConceptTypes.js && node scripts/extractConceptValueTypes.js && node scripts/extractParameterTypes.js && node scripts/generateMetadataRegistry.js","test:coverage":"vitest run --root ../.. --project crl --no-file-parallelism --coverage","util:clonefsh":"npx ts-node scripts/clone-fsh-repo.ts","cli:ast:pretty":"ts-node src/cli/run-ast.ts --pretty","test:regression":"vitest run --root ../.. --project crl --no-file-parallelism --reporter=verbose","cli:lexer:pretty":"ts-node src/cli/run-lexer.ts --pretty","cli:parser:pretty":"ts-node src/cli/run-parser.ts --pretty","cli:template-match":"ts-node src/cli/run-template-match.ts","cli:validator:pretty":"ts-node src/cli/run-validator.ts --pretty","move-generated-files":"node scripts/moveGeneratedFiles.js","cli:transformer:fsh-to-crl":"ts-node src/cli/run-transformer-fsh-to-crl.ts"},"_npmUser":{"name":"rob_reynolds","email":"rob.reynolds@smiledigitalhealth.com"},"_npmVersion":"10.9.8","description":"Clinical Reasoning Language (CRL) parser and validator","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"cpx":"^1.2.1","zod":"^4.4.3","prompts":"^2.4.2","antlr4ts":"^0.5.0-alpha.4","fsh-sushi":"^3.15.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","eslint":"^8.57.1","rimraf":"^5.0.5","ts-node":"^10.9.2","onchange":"^7.1.0","prettier":"^3.5.3","typescript":"^5.3.3","@types/node":"^20.11.19","antlr4ts-cli":"^0.5.0-alpha.4","eslint-plugin-import":"^2.31.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.31.0","@typescript-eslint/eslint-plugin":"^8.31.0","eslint-import-resolver-typescript":"^4.3.4"},"_npmOperationalInternal":{"tmp":"tmp/crl_4.92.1_1784076932857_0.3478101130418658","host":"s3://npm-registry-packages-npm-production"}},"4.107.0":{"name":"@smile-digital-health/crl","version":"4.107.0","keywords":["clinical","practice","guideline","language","parser","validator"],"author":{"name":"CQIS"},"license":"Apache-2.0","_id":"@smile-digital-health/crl@4.107.0","maintainers":[{"name":"subashgandyer-smile","email":"subash.gandyer@smiledigitalhealth.com"},{"name":"jpercival","email":"jonathan.i.percival@gmail.com"},{"name":"rob_reynolds","email":"rob.reynolds@smiledigitalhealth.com"},{"name":"seenafa","email":"seena.farzaneh@smiledigitalhealth.com"},{"name":"aodahl-smile","email":"alexander.dahl@smiledigitalhealth.com"},{"name":"megan.weatherston","email":"megan.weatherston@smiledigitalhealth.com"},{"name":"zackaustin","email":"zack.austin@smiledigitalhealth.com"},{"name":"dejawu","email":"npm@dejawu.me"},{"name":"jreyno77","email":"jreysteven1@gmail.com"},{"name":"antvaset","email":"antvaset@gmail.com"}],"bin":{"crl-ast":"dist/cli/run-ast.js","crl-lex":"dist/cli/run-lexer.js","crl-mcp":"dist/cli/run-mcp-server.js","crl-emit":"dist/cli/run-emitter.js","crl-parse":"dist/cli/run-parser.js","crl-validate":"dist/cli/run-validator.js","crl-template-match":"dist/cli/run-template-match.js","crl-canonicalize-source":"dist/cli/run-canonicalize-source.js","crl-generate-provenance":"dist/cli/run-generate-provenance.js","crl-validate-provenance":"dist/cli/run-validate-provenance.js"},"dist":{"shasum":"d93c2cc79f3b7e38a04b54623611b58a645270ac","tarball":"https://registry.npmjs.org/@smile-digital-health/crl/-/crl-4.107.0.tgz","fileCount":556,"integrity":"sha512-pQB+/t6BNRnWJPVPkfpNHnwIS8k3v8k5uQU5mi6AnyRdZwAS0bTW8n/2csbk+Ro0iq1vUAxikujbpB19PI3/dg==","signatures":[{"sig":"MEYCIQCbLvWh+sKkM5ONYzG+Q6ANXiW/96IxUuSARK3L21fUQwIhAOX74pOldVuHe9sxjSBEl+IKCjvPXYcJAFnXD2CcL7tL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3337030},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./mcp":{"types":"./dist/mcp/index.d.ts","import":"./dist/mcp/index.js","require":"./dist/mcp/index.js"},"./provenance":{"types":"./dist/provenance/index.d.ts","import":"./dist/provenance/index.js","require":"./dist/provenance/index.js"},"./language-services":{"types":"./dist/language-services/index.d.ts","import":"./dist/language-services/index.js","require":"./dist/language-services/index.js"}},"gitHead":"88a5da02a3c6f300b1f8b9cc7d646105dfe04278","scripts":{"lint":"eslint 'src/**/*.ts' --quiet","test":"vitest run --root ../.. --project crl --no-file-parallelism","build":"tsc && node scripts/copy-catalog.mjs","clean":"rimraf dist","start":"npm run build && node dist/index.js","watch":"onchange -i \"src/**/*.ts\" -- npm run build","format":"prettier --write 'src/**/*.ts'","cli:ast":"ts-node src/cli/run-ast.ts","cli:mcp":"ts-node src/cli/run-mcp-server.ts","compile":"tsc --noEmit","prepack":"npm run build","generate":"antlr4ts -Xforce-atn src/grammar/CRLLexer.g4 && antlr4ts -Xforce-atn -visitor src/grammar/CRLParser.g4 && antlr4ts -Xforce-atn src/grammar/CELLexer.g4 && antlr4ts -Xforce-atn -visitor src/grammar/CELParser.g4 && npm run move-generated-files && npm run extract-types","lint:fix":"eslint src/**/*.ts --fix","prebuild":"rimraf dist && shx mkdir -p dist && npm run generate && cpx \"src/grammar/generated/types/*.json\" dist/grammar/generated/types/ && node scripts/checkGrammarJsonFiles.js","test:mcp":"node src/cli/tests/run-mcp-server.test.mjs","cli:lexer":"ts-node src/cli/run-lexer.ts","cli:parser":"ts-node src/cli/run-parser.ts","prerelease":"node scripts/prereleaseGithub.js","test:watch":"vitest --root ../.. --project crl --no-file-parallelism","cli:emitter":"ts-node src/cli/run-emitter.ts","pretest:mcp":"npm run build","git:unmerged":"ts-node scripts/unmerged-branches.ts","cli:validator":"ts-node src/cli/run-validator.ts","extract-types":"node scripts/extractActivityTypes.js && node scripts/extractConceptTypes.js && node scripts/extractConceptValueTypes.js && node scripts/extractParameterTypes.js && node scripts/generateMetadataRegistry.js","test:coverage":"vitest run --root ../.. --project crl --no-file-parallelism --coverage","util:clonefsh":"npx ts-node scripts/clone-fsh-repo.ts","cli:ast:pretty":"ts-node src/cli/run-ast.ts --pretty","test:regression":"vitest run --root ../.. --project crl --no-file-parallelism --reporter=verbose","cli:lexer:pretty":"ts-node src/cli/run-lexer.ts --pretty","cli:parser:pretty":"ts-node src/cli/run-parser.ts --pretty","cli:template-match":"ts-node src/cli/run-template-match.ts","cli:validator:pretty":"ts-node src/cli/run-validator.ts --pretty","move-generated-files":"node scripts/moveGeneratedFiles.js","cli:transformer:fsh-to-crl":"ts-node src/cli/run-transformer-fsh-to-crl.ts"},"_npmUser":{"name":"rob_reynolds","email":"rob.reynolds@smiledigitalhealth.com"},"_npmVersion":"10.9.8","description":"Clinical Reasoning Language (CRL) parser and validator","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"cpx":"^1.2.1","zod":"^4.4.3","prompts":"^2.4.2","antlr4ts":"^0.5.0-alpha.4","fsh-sushi":"^3.15.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","eslint":"^8.57.1","rimraf":"^5.0.5","ts-node":"^10.9.2","onchange":"^7.1.0","prettier":"^3.5.3","typescript":"^5.3.3","@types/node":"^20.11.19","antlr4ts-cli":"^0.5.0-alpha.4","eslint-plugin-import":"^2.31.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.31.0","@typescript-eslint/eslint-plugin":"^8.31.0","eslint-import-resolver-typescript":"^4.3.4"},"_npmOperationalInternal":{"tmp":"tmp/crl_4.107.0_1785787728908_0.2295680841128096","host":"s3://npm-registry-packages-npm-production"}},"4.108.0":{"name":"@smile-digital-health/crl","version":"4.108.0","keywords":["clinical","practice","guideline","language","parser","validator"],"author":{"name":"CQIS"},"license":"Apache-2.0","_id":"@smile-digital-health/crl@4.108.0","maintainers":[{"name":"subashgandyer-smile","email":"subash.gandyer@smiledigitalhealth.com"},{"name":"jpercival","email":"jonathan.i.percival@gmail.com"},{"name":"rob_reynolds","email":"rob.reynolds@smiledigitalhealth.com"},{"name":"seenafa","email":"seena.farzaneh@smiledigitalhealth.com"},{"name":"aodahl-smile","email":"alexander.dahl@smiledigitalhealth.com"},{"name":"megan.weatherston","email":"megan.weatherston@smiledigitalhealth.com"},{"name":"zackaustin","email":"zack.austin@smiledigitalhealth.com"},{"name":"dejawu","email":"npm@dejawu.me"},{"name":"jreyno77","email":"jreysteven1@gmail.com"},{"name":"antvaset","email":"antvaset@gmail.com"}],"bin":{"crl-ast":"dist/cli/run-ast.js","crl-lex":"dist/cli/run-lexer.js","crl-mcp":"dist/cli/run-mcp-server.js","crl-emit":"dist/cli/run-emitter.js","crl-parse":"dist/cli/run-parser.js","crl-validate":"dist/cli/run-validator.js","crl-template-match":"dist/cli/run-template-match.js","crl-canonicalize-source":"dist/cli/run-canonicalize-source.js","crl-generate-provenance":"dist/cli/run-generate-provenance.js","crl-validate-provenance":"dist/cli/run-validate-provenance.js","crl-normalize-provenance":"dist/cli/run-normalize-provenance.js"},"dist":{"shasum":"8ba2d986a12e0b6e969eaecaec0ec7082409f612","tarball":"https://registry.npmjs.org/@smile-digital-health/crl/-/crl-4.108.0.tgz","fileCount":580,"integrity":"sha512-P1zEmHB4XjhKyk5SzEf+kOyMtlb3JLfNq2VHqITFlmx3asfggw+u81f/LsLi7k0VmAZm9Vsrv5Pb8g0z1K6Njw==","signatures":[{"sig":"MEUCIQCzZykzZ2qcllhN8h7xAcrsQF93WmIT+nQr462VtrpRbAIgGLBq5hpcbfy6tWokaaXD+AaZWKgUA30qsC8IYjywkF8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3469965},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./mcp":{"types":"./dist/mcp/index.d.ts","import":"./dist/mcp/index.js","require":"./dist/mcp/index.js"},"./provenance":{"types":"./dist/provenance/index.d.ts","import":"./dist/provenance/index.js","require":"./dist/provenance/index.js"},"./language-services":{"types":"./dist/language-services/index.d.ts","import":"./dist/language-services/index.js","require":"./dist/language-services/index.js"}},"gitHead":"29b021509343fcadf6ad04d294794429199e3fe5","scripts":{"lint":"eslint 'src/**/*.ts' --quiet","test":"vitest run --root ../.. --project crl --no-file-parallelism","build":"tsc && node scripts/copy-catalog.mjs","clean":"rimraf dist","start":"npm run build && node dist/index.js","watch":"onchange -i \"src/**/*.ts\" -- npm run build","format":"prettier --write 'src/**/*.ts'","cli:ast":"ts-node src/cli/run-ast.ts","cli:mcp":"ts-node src/cli/run-mcp-server.ts","compile":"tsc --noEmit","prepack":"npm run build","generate":"antlr4ts -Xforce-atn src/grammar/CRLLexer.g4 && antlr4ts -Xforce-atn -visitor src/grammar/CRLParser.g4 && antlr4ts -Xforce-atn src/grammar/CELLexer.g4 && antlr4ts -Xforce-atn -visitor src/grammar/CELParser.g4 && npm run move-generated-files && npm run extract-types","lint:fix":"eslint src/**/*.ts --fix","prebuild":"rimraf dist && shx mkdir -p dist && npm run generate && cpx \"src/grammar/generated/types/*.json\" dist/grammar/generated/types/ && node scripts/checkGrammarJsonFiles.js","test:mcp":"node src/cli/tests/run-mcp-server.test.mjs","cli:lexer":"ts-node src/cli/run-lexer.ts","cli:parser":"ts-node src/cli/run-parser.ts","prerelease":"node scripts/prereleaseGithub.js","test:watch":"vitest --root ../.. --project crl --no-file-parallelism","cli:emitter":"ts-node src/cli/run-emitter.ts","pretest:mcp":"npm run build","git:unmerged":"ts-node scripts/unmerged-branches.ts","cli:validator":"ts-node src/cli/run-validator.ts","extract-types":"node scripts/extractActivityTypes.js && node scripts/extractConceptTypes.js && node scripts/extractConceptValueTypes.js && node scripts/extractParameterTypes.js && node scripts/generateMetadataRegistry.js","test:coverage":"vitest run --root ../.. --project crl --no-file-parallelism --coverage","util:clonefsh":"npx ts-node scripts/clone-fsh-repo.ts","cli:ast:pretty":"ts-node src/cli/run-ast.ts --pretty","test:regression":"vitest run --root ../.. --project crl --no-file-parallelism --reporter=verbose","cli:lexer:pretty":"ts-node src/cli/run-lexer.ts --pretty","cli:parser:pretty":"ts-node src/cli/run-parser.ts --pretty","cli:template-match":"ts-node src/cli/run-template-match.ts","cli:validator:pretty":"ts-node src/cli/run-validator.ts --pretty","move-generated-files":"node scripts/moveGeneratedFiles.js","cli:transformer:fsh-to-crl":"ts-node src/cli/run-transformer-fsh-to-crl.ts"},"_npmUser":{"name":"rob_reynolds","email":"rob.reynolds@smiledigitalhealth.com"},"_npmVersion":"10.9.8","description":"Clinical Reasoning Language (CRL) parser and validator","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"cpx":"^1.2.1","zod":"^4.4.3","prompts":"^2.4.2","antlr4ts":"^0.5.0-alpha.4","fsh-sushi":"^3.15.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","eslint":"^8.57.1","rimraf":"^5.0.5","ts-node":"^10.9.2","onchange":"^7.1.0","prettier":"^3.5.3","typescript":"^5.3.3","@types/node":"^20.11.19","antlr4ts-cli":"^0.5.0-alpha.4","eslint-plugin-import":"^2.31.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.31.0","@typescript-eslint/eslint-plugin":"^8.31.0","eslint-import-resolver-typescript":"^4.3.4"},"_npmOperationalInternal":{"tmp":"tmp/crl_4.108.0_1785894113841_0.6955734366687258","host":"s3://npm-registry-packages-npm-production"}},"4.109.0":{"name":"@smile-digital-health/crl","version":"4.109.0","keywords":["clinical","practice","guideline","language","parser","validator"],"author":{"name":"CQIS"},"license":"Apache-2.0","_id":"@smile-digital-health/crl@4.109.0","maintainers":[{"name":"subashgandyer-smile","email":"subash.gandyer@smiledigitalhealth.com"},{"name":"jpercival","email":"jonathan.i.percival@gmail.com"},{"name":"rob_reynolds","email":"rob.reynolds@smiledigitalhealth.com"},{"name":"seenafa","email":"seena.farzaneh@smiledigitalhealth.com"},{"name":"aodahl-smile","email":"alexander.dahl@smiledigitalhealth.com"},{"name":"megan.weatherston","email":"megan.weatherston@smiledigitalhealth.com"},{"name":"zackaustin","email":"zack.austin@smiledigitalhealth.com"},{"name":"dejawu","email":"npm@dejawu.me"},{"name":"jreyno77","email":"jreysteven1@gmail.com"},{"name":"antvaset","email":"antvaset@gmail.com"}],"bin":{"crl-ast":"dist/cli/run-ast.js","crl-lex":"dist/cli/run-lexer.js","crl-mcp":"dist/cli/run-mcp-server.js","crl-emit":"dist/cli/run-emitter.js","crl-parse":"dist/cli/run-parser.js","crl-validate":"dist/cli/run-validator.js","crl-check-fhir-ids":"dist/cli/run-check-fhir-ids.js","crl-template-match":"dist/cli/run-template-match.js","crl-canonicalize-source":"dist/cli/run-canonicalize-source.js","crl-generate-provenance":"dist/cli/run-generate-provenance.js","crl-validate-provenance":"dist/cli/run-validate-provenance.js","crl-normalize-provenance":"dist/cli/run-normalize-provenance.js"},"dist":{"shasum":"af06b1a7c5905df95e1a9a3211d7c69c602f45fa","tarball":"https://registry.npmjs.org/@smile-digital-health/crl/-/crl-4.109.0.tgz","fileCount":589,"integrity":"sha512-ifSLHlcl89oL8Yb7yOnXY3PJj3W6AD7GX2ScOdBfv2H5hkZutm4PmSyZ/FuttLFgascFvkjKexGgtrMISDoEFQ==","signatures":[{"sig":"MEUCIQDk0avNmqj5i2wCrDqFa2PQnjCzMFkcDcGxK8FcwryvDgIgej3be9aWp+penfjwxe737+CwYrOvCuhr0OgErX8QCMc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3510098},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./mcp":{"types":"./dist/mcp/index.d.ts","import":"./dist/mcp/index.js","require":"./dist/mcp/index.js"},"./provenance":{"types":"./dist/provenance/index.d.ts","import":"./dist/provenance/index.js","require":"./dist/provenance/index.js"},"./language-services":{"types":"./dist/language-services/index.d.ts","import":"./dist/language-services/index.js","require":"./dist/language-services/index.js"}},"gitHead":"056687dd61e1506ae39053cf49812b989adc0b1d","scripts":{"lint":"eslint 'src/**/*.ts' --quiet","test":"vitest run --root ../.. --project crl --no-file-parallelism","build":"tsc && node scripts/copy-catalog.mjs","clean":"rimraf dist","start":"npm run build && node dist/index.js","watch":"onchange -i \"src/**/*.ts\" -- npm run build","format":"prettier --write 'src/**/*.ts'","cli:ast":"ts-node src/cli/run-ast.ts","cli:mcp":"ts-node src/cli/run-mcp-server.ts","compile":"tsc --noEmit","prepack":"npm run build","generate":"antlr4ts -Xforce-atn src/grammar/CRLLexer.g4 && antlr4ts -Xforce-atn -visitor src/grammar/CRLParser.g4 && antlr4ts -Xforce-atn src/grammar/CELLexer.g4 && antlr4ts -Xforce-atn -visitor src/grammar/CELParser.g4 && npm run move-generated-files && npm run extract-types","lint:fix":"eslint src/**/*.ts --fix","prebuild":"rimraf dist && shx mkdir -p dist && npm run generate && cpx \"src/grammar/generated/types/*.json\" dist/grammar/generated/types/ && node scripts/checkGrammarJsonFiles.js","test:mcp":"node src/cli/tests/run-mcp-server.test.mjs","cli:lexer":"ts-node src/cli/run-lexer.ts","cli:parser":"ts-node src/cli/run-parser.ts","prerelease":"node scripts/prereleaseGithub.js","test:watch":"vitest --root ../.. --project crl --no-file-parallelism","cli:emitter":"ts-node src/cli/run-emitter.ts","pretest:mcp":"npm run build","git:unmerged":"ts-node scripts/unmerged-branches.ts","cli:validator":"ts-node src/cli/run-validator.ts","extract-types":"node scripts/extractActivityTypes.js && node scripts/extractConceptTypes.js && node scripts/extractConceptValueTypes.js && node scripts/extractParameterTypes.js && node scripts/generateMetadataRegistry.js","test:coverage":"vitest run --root ../.. --project crl --no-file-parallelism --coverage","util:clonefsh":"npx ts-node scripts/clone-fsh-repo.ts","cli:ast:pretty":"ts-node src/cli/run-ast.ts --pretty","test:regression":"vitest run --root ../.. --project crl --no-file-parallelism --reporter=verbose","cli:lexer:pretty":"ts-node src/cli/run-lexer.ts --pretty","cli:parser:pretty":"ts-node src/cli/run-parser.ts --pretty","cli:template-match":"ts-node src/cli/run-template-match.ts","cli:validator:pretty":"ts-node src/cli/run-validator.ts --pretty","move-generated-files":"node scripts/moveGeneratedFiles.js","cli:transformer:fsh-to-crl":"ts-node src/cli/run-transformer-fsh-to-crl.ts"},"_npmUser":{"name":"rob_reynolds","email":"rob.reynolds@smiledigitalhealth.com"},"_npmVersion":"10.9.8","description":"Clinical Reasoning Language (CRL) parser and validator","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"cpx":"^1.2.1","zod":"^4.4.3","prompts":"^2.4.2","antlr4ts":"^0.5.0-alpha.4","fsh-sushi":"^3.15.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","eslint":"^8.57.1","rimraf":"^5.0.5","ts-node":"^10.9.2","onchange":"^7.1.0","prettier":"^3.5.3","typescript":"^5.3.3","@types/node":"^20.11.19","antlr4ts-cli":"^0.5.0-alpha.4","eslint-plugin-import":"^2.31.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.31.0","@typescript-eslint/eslint-plugin":"^8.31.0","eslint-import-resolver-typescript":"^4.3.4"},"_npmOperationalInternal":{"tmp":"tmp/crl_4.109.0_1785938090277_0.5323769858273482","host":"s3://npm-registry-packages-npm-production"}},"4.112.0":{"name":"@smile-digital-health/crl","version":"4.112.0","keywords":["clinical","practice","guideline","language","parser","validator"],"author":{"name":"CQIS"},"license":"Apache-2.0","_id":"@smile-digital-health/crl@4.112.0","maintainers":[{"name":"subashgandyer-smile","email":"subash.gandyer@smiledigitalhealth.com"},{"name":"jpercival","email":"jonathan.i.percival@gmail.com"},{"name":"rob_reynolds","email":"rob.reynolds@smiledigitalhealth.com"},{"name":"seenafa","email":"seena.farzaneh@smiledigitalhealth.com"},{"name":"aodahl-smile","email":"alexander.dahl@smiledigitalhealth.com"},{"name":"megan.weatherston","email":"megan.weatherston@smiledigitalhealth.com"},{"name":"zackaustin","email":"zack.austin@smiledigitalhealth.com"},{"name":"guptava","email":"vaibhav.gupta@smiledigitalhealth.com"},{"name":"dejawu","email":"npm@dejawu.me"},{"name":"jreyno77","email":"jreysteven1@gmail.com"},{"name":"antvaset","email":"antvaset@gmail.com"}],"bin":{"crl-ast":"dist/cli/run-ast.js","crl-lex":"dist/cli/run-lexer.js","crl-mcp":"dist/cli/run-mcp-server.js","crl-emit":"dist/cli/run-emitter.js","crl-parse":"dist/cli/run-parser.js","crl-validate":"dist/cli/run-validator.js","crl-check-fhir-ids":"dist/cli/run-check-fhir-ids.js","crl-template-match":"dist/cli/run-template-match.js","crl-canonicalize-source":"dist/cli/run-canonicalize-source.js","crl-generate-provenance":"dist/cli/run-generate-provenance.js","crl-validate-provenance":"dist/cli/run-validate-provenance.js","crl-normalize-provenance":"dist/cli/run-normalize-provenance.js"},"dist":{"shasum":"0d43ae294b3ea00a50dd0dc33d27724fc84d5883","tarball":"https://registry.npmjs.org/@smile-digital-health/crl/-/crl-4.112.0.tgz","fileCount":734,"integrity":"sha512-UEhdXmAHcu11TE0tYoalqkpPJskjP1qFIxbs9w1oL4AKP6j98uPaBDb8P5TnyQbasUMMp9dajFYnKTdiXirGnw==","signatures":[{"sig":"MEUCIQD/BUR/didiHwY6cnvfTUqqCSOY6Rn/bYXJ+SpAtnteUgIgB8u+GLPZP45zGe565hf0rR40MJHTVqYhoY/rfJiK9yg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4742999},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./mcp":{"types":"./dist/mcp/index.d.ts","import":"./dist/mcp/index.js","require":"./dist/mcp/index.js"},"./provenance":{"types":"./dist/provenance/index.d.ts","import":"./dist/provenance/index.js","require":"./dist/provenance/index.js"},"./language-services":{"types":"./dist/language-services/index.d.ts","import":"./dist/language-services/index.js","require":"./dist/language-services/index.js"}},"gitHead":"e19ba0af67dc16e61abb9bfc8786abc8feb692cf","scripts":{"lint":"eslint 'src/**/*.ts' --quiet","test":"vitest run --root ../.. --project crl --no-file-parallelism","build":"tsc && node scripts/copy-catalog.mjs","clean":"rimraf dist","start":"npm run build && node dist/index.js","watch":"onchange -i \"src/**/*.ts\" -- npm run build","format":"prettier --write 'src/**/*.ts'","cli:ast":"ts-node src/cli/run-ast.ts","cli:mcp":"ts-node src/cli/run-mcp-server.ts","compile":"tsc --noEmit","prepack":"npm run build","generate":"antlr4ts -Xforce-atn src/grammar/CRLLexer.g4 && antlr4ts -Xforce-atn -visitor src/grammar/CRLParser.g4 && antlr4ts -Xforce-atn src/grammar/CELLexer.g4 && antlr4ts -Xforce-atn -visitor src/grammar/CELParser.g4 && npm run move-generated-files && npm run extract-types","lint:fix":"eslint src/**/*.ts --fix","prebuild":"rimraf dist && shx mkdir -p dist && npm run generate && cpx \"src/grammar/generated/types/*.json\" dist/grammar/generated/types/ && node scripts/checkGrammarJsonFiles.js","test:mcp":"node src/cli/tests/run-mcp-server.test.mjs","cli:lexer":"ts-node src/cli/run-lexer.ts","cli:parser":"ts-node src/cli/run-parser.ts","prerelease":"node scripts/prereleaseGithub.js","test:watch":"vitest --root ../.. --project crl --no-file-parallelism","cli:emitter":"ts-node src/cli/run-emitter.ts","pretest:mcp":"npm run build","git:unmerged":"ts-node scripts/unmerged-branches.ts","cli:validator":"ts-node src/cli/run-validator.ts","extract-types":"node scripts/extractActivityTypes.js && node scripts/extractConceptTypes.js && node scripts/extractConceptValueTypes.js && node scripts/extractConceptShapes.js && node scripts/extractParameterTypes.js && node scripts/generateMetadataRegistry.js","test:coverage":"vitest run --root ../.. --project crl --no-file-parallelism --coverage","util:clonefsh":"npx ts-node scripts/clone-fsh-repo.ts","cli:ast:pretty":"ts-node src/cli/run-ast.ts --pretty","test:regression":"vitest run --root ../.. --project crl --no-file-parallelism --reporter=verbose","cli:lexer:pretty":"ts-node src/cli/run-lexer.ts --pretty","cli:parser:pretty":"ts-node src/cli/run-parser.ts --pretty","cli:template-match":"ts-node src/cli/run-template-match.ts","cli:validator:pretty":"ts-node src/cli/run-validator.ts --pretty","move-generated-files":"node scripts/moveGeneratedFiles.js","cli:transformer:fsh-to-crl":"ts-node src/cli/run-transformer-fsh-to-crl.ts"},"_npmUser":{"name":"rob_reynolds","email":"rob.reynolds@smiledigitalhealth.com"},"_npmVersion":"10.9.8","description":"Clinical Reasoning Language (CRL) parser and validator","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"cpx":"^1.2.1","zod":"^4.4.3","prompts":"^2.4.2","antlr4ts":"^0.5.0-alpha.4","fsh-sushi":"^3.15.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","eslint":"^8.57.1","rimraf":"^5.0.5","ts-node":"^10.9.2","onchange":"^7.1.0","prettier":"^3.5.3","typescript":"^5.3.3","@types/node":"^20.11.19","antlr4ts-cli":"^0.5.0-alpha.4","eslint-plugin-import":"^2.31.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.31.0","@typescript-eslint/eslint-plugin":"^8.31.0","eslint-import-resolver-typescript":"^4.3.4"},"_npmOperationalInternal":{"tmp":"tmp/crl_4.112.0_1788402713360_0.1214992623054112","host":"s3://npm-registry-packages-npm-production"}},"4.113.0":{"name":"@smile-digital-health/crl","version":"4.113.0","keywords":["clinical","practice","guideline","language","parser","validator"],"author":{"name":"CQIS"},"license":"Apache-2.0","_id":"@smile-digital-health/crl@4.113.0","maintainers":[{"name":"subashgandyer-smile","email":"subash.gandyer@smiledigitalhealth.com"},{"name":"jpercival","email":"jonathan.i.percival@gmail.com"},{"name":"rob_reynolds","email":"rob.reynolds@smiledigitalhealth.com"},{"name":"seenafa","email":"seena.farzaneh@smiledigitalhealth.com"},{"name":"aodahl-smile","email":"alexander.dahl@smiledigitalhealth.com"},{"name":"megan.weatherston","email":"megan.weatherston@smiledigitalhealth.com"},{"name":"zackaustin","email":"zack.austin@smiledigitalhealth.com"},{"name":"guptava","email":"vaibhav.gupta@smiledigitalhealth.com"},{"name":"dejawu","email":"npm@dejawu.me"},{"name":"jreyno77","email":"jreysteven1@gmail.com"},{"name":"antvaset","email":"antvaset@gmail.com"}],"bin":{"crl-ast":"dist/cli/run-ast.js","crl-lex":"dist/cli/run-lexer.js","crl-mcp":"dist/cli/run-mcp-server.js","crl-emit":"dist/cli/run-emitter.js","crl-parse":"dist/cli/run-parser.js","crl-validate":"dist/cli/run-validator.js","crl-emit-results":"dist/cli/run-emit-results.js","crl-check-fhir-ids":"dist/cli/run-check-fhir-ids.js","crl-template-match":"dist/cli/run-template-match.js","crl-canonicalize-source":"dist/cli/run-canonicalize-source.js","crl-generate-provenance":"dist/cli/run-generate-provenance.js","crl-validate-provenance":"dist/cli/run-validate-provenance.js","crl-normalize-provenance":"dist/cli/run-normalize-provenance.js"},"dist":{"shasum":"ebd361033fc29f3fbedcfaa3c568cac14eb2f416","tarball":"https://registry.npmjs.org/@smile-digital-health/crl/-/crl-4.113.0.tgz","fileCount":755,"integrity":"sha512-eSS+30vgFytg4m9xtm7xPT/45z0JKMjGkOY/aUMqOFA0xXONGxYkt2KwTpj9hruA8k9QocE2GSC5m39vSQbLcg==","signatures":[{"sig":"MEQCIGbWe2PxK+udRIjf3tKYNQcO9mgT5NRG0J58MovfCgQdAiAnAEYY3xPSNutnDtwszpwH5xjTwL9iwlW3Z2GDsKzSRg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4808459},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./mcp":{"types":"./dist/mcp/index.d.ts","import":"./dist/mcp/index.js","require":"./dist/mcp/index.js"},"./provenance":{"types":"./dist/provenance/index.d.ts","import":"./dist/provenance/index.js","require":"./dist/provenance/index.js"},"./language-services":{"types":"./dist/language-services/index.d.ts","import":"./dist/language-services/index.js","require":"./dist/language-services/index.js"}},"gitHead":"1801a72af81c93ed09c572f2259cd06865990687","scripts":{"lint":"eslint \"src/**/*.ts\" --quiet","test":"vitest run --root ../.. --project crl --no-file-parallelism","build":"tsc && node scripts/copy-catalog.mjs","clean":"rimraf dist","start":"npm run build && node dist/index.js","watch":"onchange -i \"src/**/*.ts\" -- npm run build","format":"prettier --write 'src/**/*.ts'","cli:ast":"ts-node src/cli/run-ast.ts","cli:mcp":"ts-node src/cli/run-mcp-server.ts","compile":"tsc --noEmit","prepack":"npm run build","generate":"antlr4ts -Xforce-atn src/grammar/CRLLexer.g4 && antlr4ts -Xforce-atn -visitor src/grammar/CRLParser.g4 && antlr4ts -Xforce-atn src/grammar/CELLexer.g4 && antlr4ts -Xforce-atn -visitor src/grammar/CELParser.g4 && npm run move-generated-files && npm run extract-types","lint:fix":"eslint src/**/*.ts --fix","prebuild":"rimraf dist && shx mkdir -p dist && npm run generate && cpx \"src/grammar/generated/types/*.json\" dist/grammar/generated/types/ && node scripts/checkGrammarJsonFiles.js","test:mcp":"node src/cli/tests/run-mcp-server.test.mjs","cli:lexer":"ts-node src/cli/run-lexer.ts","cli:parser":"ts-node src/cli/run-parser.ts","prerelease":"node scripts/prereleaseGithub.js","test:watch":"vitest --root ../.. --project crl --no-file-parallelism","cli:emitter":"ts-node src/cli/run-emitter.ts","pretest:mcp":"npm run build","git:unmerged":"ts-node scripts/unmerged-branches.ts","cli:validator":"ts-node src/cli/run-validator.ts","extract-types":"node scripts/extractActivityTypes.js && node scripts/extractConceptTypes.js && node scripts/extractConceptValueTypes.js && node scripts/extractConceptShapes.js && node scripts/extractParameterTypes.js && node scripts/generateMetadataRegistry.js","test:coverage":"vitest run --root ../.. --project crl --no-file-parallelism --coverage","util:clonefsh":"npx ts-node scripts/clone-fsh-repo.ts","cli:ast:pretty":"ts-node src/cli/run-ast.ts --pretty","test:regression":"vitest run --root ../.. --project crl --no-file-parallelism --reporter=verbose","cli:lexer:pretty":"ts-node src/cli/run-lexer.ts --pretty","cli:parser:pretty":"ts-node src/cli/run-parser.ts --pretty","cli:template-match":"ts-node src/cli/run-template-match.ts","cli:validator:pretty":"ts-node src/cli/run-validator.ts --pretty","move-generated-files":"node scripts/moveGeneratedFiles.js","cli:transformer:fsh-to-crl":"ts-node src/cli/run-transformer-fsh-to-crl.ts"},"_npmUser":{"name":"rob_reynolds","email":"rob.reynolds@smiledigitalhealth.com"},"_npmVersion":"10.9.8","description":"Clinical Reasoning Language (CRL) parser and validator","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"cpx":"^1.2.1","zod":"^4.4.3","prompts":"^2.4.2","antlr4ts":"^0.5.0-alpha.4","fsh-sushi":"^3.15.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","eslint":"^8.57.1","rimraf":"^5.0.5","ts-node":"^10.9.2","onchange":"^7.1.0","prettier":"^3.5.3","typescript":"^5.3.3","@types/node":"^20.11.19","antlr4ts-cli":"^0.5.0-alpha.4","eslint-plugin-import":"^2.31.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.31.0","@typescript-eslint/eslint-plugin":"^8.31.0","eslint-import-resolver-typescript":"^4.3.4"},"_npmOperationalInternal":{"tmp":"tmp/crl_4.113.0_1788464638454_0.582040204862242","host":"s3://npm-registry-packages-npm-production"}},"4.114.0":{"name":"@smile-digital-health/crl","version":"4.114.0","keywords":["clinical","practice","guideline","language","parser","validator"],"author":{"name":"CQIS"},"license":"Apache-2.0","_id":"@smile-digital-health/crl@4.114.0","maintainers":[{"name":"subashgandyer-smile","email":"subash.gandyer@smiledigitalhealth.com"},{"name":"jpercival","email":"jonathan.i.percival@gmail.com"},{"name":"rob_reynolds","email":"rob.reynolds@smiledigitalhealth.com"},{"name":"seenafa","email":"seena.farzaneh@smiledigitalhealth.com"},{"name":"aodahl-smile","email":"alexander.dahl@smiledigitalhealth.com"},{"name":"megan.weatherston","email":"megan.weatherston@smiledigitalhealth.com"},{"name":"zackaustin","email":"zack.austin@smiledigitalhealth.com"},{"name":"guptava","email":"vaibhav.gupta@smiledigitalhealth.com"},{"name":"dejawu","email":"npm@dejawu.me"},{"name":"jreyno77","email":"jreysteven1@gmail.com"},{"name":"antvaset","email":"antvaset@gmail.com"}],"bin":{"crl-ast":"dist/cli/run-ast.js","crl-lex":"dist/cli/run-lexer.js","crl-mcp":"dist/cli/run-mcp-server.js","crl-emit":"dist/cli/run-emitter.js","crl-parse":"dist/cli/run-parser.js","crl-validate":"dist/cli/run-validator.js","crl-emit-results":"dist/cli/run-emit-results.js","crl-check-fhir-ids":"dist/cli/run-check-fhir-ids.js","crl-template-match":"dist/cli/run-template-match.js","crl-canonicalize-source":"dist/cli/run-canonicalize-source.js","crl-generate-provenance":"dist/cli/run-generate-provenance.js","crl-validate-provenance":"dist/cli/run-validate-provenance.js","crl-normalize-provenance":"dist/cli/run-normalize-provenance.js"},"dist":{"shasum":"a8f814c6641f5078e6e7b4dd6fb98121a107c381","tarball":"https://registry.npmjs.org/@smile-digital-health/crl/-/crl-4.114.0.tgz","fileCount":758,"integrity":"sha512-Ip7jFpN4lqW8th7hkQqyXySpDYLRW7VRVfk/rVvAPHpIntrD0fITRs0flP8Wktau0PRKeWYnvPNa7Crxmj7keA==","signatures":[{"sig":"MEUCIQD1UDmD10uR5q2eYT8X8DBfJjgPJazHsqilhnksMYAVfwIgTwUCgOIRiF+/faKeViK1DeSb/XVoMV4EQFI/GS7SY/U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4829162},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./mcp":{"types":"./dist/mcp/index.d.ts","import":"./dist/mcp/index.js","require":"./dist/mcp/index.js"},"./provenance":{"types":"./dist/provenance/index.d.ts","import":"./dist/provenance/index.js","require":"./dist/provenance/index.js"},"./language-services":{"types":"./dist/language-services/index.d.ts","import":"./dist/language-services/index.js","require":"./dist/language-services/index.js"}},"gitHead":"bf45cbcb0646b6832bb4a283aa55e20dbb012a7a","scripts":{"lint":"eslint \"src/**/*.ts\" --quiet","test":"vitest run --root ../.. --project crl --no-file-parallelism","build":"tsc && node scripts/copy-catalog.mjs","clean":"rimraf dist","start":"npm run build && node dist/index.js","watch":"onchange -i \"src/**/*.ts\" -- npm run build","format":"prettier --write 'src/**/*.ts'","cli:ast":"ts-node src/cli/run-ast.ts","cli:mcp":"ts-node src/cli/run-mcp-server.ts","compile":"tsc --noEmit","prepack":"npm run build","generate":"antlr4ts -Xforce-atn src/grammar/CRLLexer.g4 && antlr4ts -Xforce-atn -visitor src/grammar/CRLParser.g4 && antlr4ts -Xforce-atn src/grammar/CELLexer.g4 && antlr4ts -Xforce-atn -visitor src/grammar/CELParser.g4 && npm run move-generated-files && npm run extract-types","lint:fix":"eslint src/**/*.ts --fix","prebuild":"rimraf dist && shx mkdir -p dist && npm run generate && cpx \"src/grammar/generated/types/*.json\" dist/grammar/generated/types/ && node scripts/checkGrammarJsonFiles.js","test:mcp":"node src/cli/tests/run-mcp-server.test.mjs","cli:lexer":"ts-node src/cli/run-lexer.ts","cli:parser":"ts-node src/cli/run-parser.ts","prerelease":"node scripts/prereleaseGithub.js","test:watch":"vitest --root ../.. --project crl --no-file-parallelism","cli:emitter":"ts-node src/cli/run-emitter.ts","pretest:mcp":"npm run build","git:unmerged":"ts-node scripts/unmerged-branches.ts","cli:validator":"ts-node src/cli/run-validator.ts","extract-types":"node scripts/extractActivityTypes.js && node scripts/extractConceptTypes.js && node scripts/extractConceptValueTypes.js && node scripts/extractConceptShapes.js && node scripts/extractParameterTypes.js && node scripts/generateMetadataRegistry.js","test:coverage":"vitest run --root ../.. --project crl --no-file-parallelism --coverage","util:clonefsh":"npx ts-node scripts/clone-fsh-repo.ts","cli:ast:pretty":"ts-node src/cli/run-ast.ts --pretty","test:regression":"vitest run --root ../.. --project crl --no-file-parallelism --reporter=verbose","cli:lexer:pretty":"ts-node src/cli/run-lexer.ts --pretty","cli:parser:pretty":"ts-node src/cli/run-parser.ts --pretty","cli:template-match":"ts-node src/cli/run-template-match.ts","cli:validator:pretty":"ts-node src/cli/run-validator.ts --pretty","move-generated-files":"node scripts/moveGeneratedFiles.js","cli:transformer:fsh-to-crl":"ts-node src/cli/run-transformer-fsh-to-crl.ts"},"_npmUser":{"name":"rob_reynolds","email":"rob.reynolds@smiledigitalhealth.com"},"_npmVersion":"10.9.8","description":"Clinical Reasoning Language (CRL) parser and validator","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"cpx":"^1.2.1","zod":"^4.4.3","prompts":"^2.4.2","antlr4ts":"^0.5.0-alpha.4","fsh-sushi":"^3.15.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","eslint":"^8.57.1","rimraf":"^5.0.5","ts-node":"^10.9.2","onchange":"^7.1.0","prettier":"^3.5.3","typescript":"^5.3.3","@types/node":"^20.11.19","antlr4ts-cli":"^0.5.0-alpha.4","eslint-plugin-import":"^2.31.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.31.0","@typescript-eslint/eslint-plugin":"^8.31.0","eslint-import-resolver-typescript":"^4.3.4"},"_npmOperationalInternal":{"tmp":"tmp/crl_4.114.0_1788477226437_0.5477118544084933","host":"s3://npm-registry-packages-npm-production"}},"4.115.0":{"name":"@smile-digital-health/crl","version":"4.115.0","keywords":["clinical","practice","guideline","language","parser","validator"],"author":{"name":"CQIS"},"license":"Apache-2.0","_id":"@smile-digital-health/crl@4.115.0","maintainers":[{"name":"subashgandyer-smile","email":"subash.gandyer@smiledigitalhealth.com"},{"name":"jpercival","email":"jonathan.i.percival@gmail.com"},{"name":"rob_reynolds","email":"rob.reynolds@smiledigitalhealth.com"},{"name":"seenafa","email":"seena.farzaneh@smiledigitalhealth.com"},{"name":"aodahl-smile","email":"alexander.dahl@smiledigitalhealth.com"},{"name":"megan.weatherston","email":"megan.weatherston@smiledigitalhealth.com"},{"name":"zackaustin","email":"zack.austin@smiledigitalhealth.com"},{"name":"guptava","email":"vaibhav.gupta@smiledigitalhealth.com"},{"name":"dejawu","email":"npm@dejawu.me"},{"name":"jreyno77","email":"jreysteven1@gmail.com"},{"name":"antvaset","email":"antvaset@gmail.com"}],"bin":{"crl-ast":"dist/cli/run-ast.js","crl-lex":"dist/cli/run-lexer.js","crl-mcp":"dist/cli/run-mcp-server.js","crl-emit":"dist/cli/run-emitter.js","crl-parse":"dist/cli/run-parser.js","crl-validate":"dist/cli/run-validator.js","crl-emit-results":"dist/cli/run-emit-results.js","crl-check-fhir-ids":"dist/cli/run-check-fhir-ids.js","crl-template-match":"dist/cli/run-template-match.js","crl-canonicalize-source":"dist/cli/run-canonicalize-source.js","crl-generate-provenance":"dist/cli/run-generate-provenance.js","crl-validate-provenance":"dist/cli/run-validate-provenance.js","crl-normalize-provenance":"dist/cli/run-normalize-provenance.js"},"dist":{"shasum":"3e99fcadbbf1fc4b9d9e7b51498610d8268d275e","tarball":"https://registry.npmjs.org/@smile-digital-health/crl/-/crl-4.115.0.tgz","fileCount":763,"integrity":"sha512-MVBrfycNrEgwTOWWZnTPEGn4dvJrAA4Nqz0Rqf7+L0jM4gMZrS7Gw43Rv1wnRnIk+Y1Y4dMu4hidy1uI5cUWNQ==","signatures":[{"sig":"MEQCIF6xpFzx1MlpWLzW16b57XJESQQ0FjxsdNUgL6qwm7kXAiArISO3qkjlV6Zd0VAuhrywAR865yhLr5AOqUTPuIjVdw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4844082},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./mcp":{"types":"./dist/mcp/index.d.ts","import":"./dist/mcp/index.js","require":"./dist/mcp/index.js"},"./provenance":{"types":"./dist/provenance/index.d.ts","import":"./dist/provenance/index.js","require":"./dist/provenance/index.js"},"./language-services":{"types":"./dist/language-services/index.d.ts","import":"./dist/language-services/index.js","require":"./dist/language-services/index.js"}},"gitHead":"ac341fbd488fd6ddfa9c601800ff698a8f101b87","scripts":{"lint":"eslint \"src/**/*.ts\" --quiet","test":"vitest run --root ../.. --project crl --no-file-parallelism && npm run test:mcp","build":"tsc && node scripts/copy-catalog.mjs","clean":"rimraf dist","start":"npm run build && node dist/index.js","watch":"onchange -i \"src/**/*.ts\" -- npm run build","format":"prettier --write 'src/**/*.ts'","cli:ast":"ts-node src/cli/run-ast.ts","cli:mcp":"ts-node src/cli/run-mcp-server.ts","compile":"tsc --noEmit","prepack":"npm run build","generate":"antlr4ts -Xforce-atn src/grammar/CRLLexer.g4 && antlr4ts -Xforce-atn -visitor src/grammar/CRLParser.g4 && antlr4ts -Xforce-atn src/grammar/CELLexer.g4 && antlr4ts -Xforce-atn -visitor src/grammar/CELParser.g4 && npm run move-generated-files && npm run extract-types","lint:fix":"eslint src/**/*.ts --fix","prebuild":"rimraf dist && shx mkdir -p dist && npm run generate && cpx \"src/grammar/generated/types/*.json\" dist/grammar/generated/types/ && node scripts/checkGrammarJsonFiles.js","test:mcp":"node src/cli/tests/run-mcp-server.test.mjs","cli:lexer":"ts-node src/cli/run-lexer.ts","cli:parser":"ts-node src/cli/run-parser.ts","prerelease":"node scripts/prereleaseGithub.js","test:watch":"vitest --root ../.. --project crl --no-file-parallelism","cli:emitter":"ts-node src/cli/run-emitter.ts","pretest:mcp":"npm run build","git:unmerged":"ts-node scripts/unmerged-branches.ts","cli:validator":"ts-node src/cli/run-validator.ts","extract-types":"node scripts/extractActivityTypes.js && node scripts/extractConceptTypes.js && node scripts/extractConceptValueTypes.js && node scripts/extractConceptShapes.js && node scripts/extractParameterTypes.js && node scripts/generateMetadataRegistry.js","test:coverage":"vitest run --root ../.. --project crl --no-file-parallelism --coverage","util:clonefsh":"npx ts-node scripts/clone-fsh-repo.ts","cli:ast:pretty":"ts-node src/cli/run-ast.ts --pretty","test:regression":"vitest run --root ../.. --project crl --no-file-parallelism --reporter=verbose","cli:lexer:pretty":"ts-node src/cli/run-lexer.ts --pretty","cli:parser:pretty":"ts-node src/cli/run-parser.ts --pretty","cli:template-match":"ts-node src/cli/run-template-match.ts","cli:validator:pretty":"ts-node src/cli/run-validator.ts --pretty","move-generated-files":"node scripts/moveGeneratedFiles.js","cli:transformer:fsh-to-crl":"ts-node src/cli/run-transformer-fsh-to-crl.ts"},"_npmUser":{"name":"rob_reynolds","email":"rob.reynolds@smiledigitalhealth.com"},"_npmVersion":"10.9.8","description":"Clinical Reasoning Language (CRL) parser and validator","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"cpx":"^1.2.1","zod":"^4.4.3","prompts":"^2.4.2","antlr4ts":"^0.5.0-alpha.4","fsh-sushi":"^3.15.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","eslint":"^8.57.1","rimraf":"^5.0.5","ts-node":"^10.9.2","onchange":"^7.1.0","prettier":"^3.5.3","typescript":"^5.3.3","@types/node":"^20.11.19","antlr4ts-cli":"^0.5.0-alpha.4","eslint-plugin-import":"^2.31.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.31.0","@typescript-eslint/eslint-plugin":"^8.31.0","eslint-import-resolver-typescript":"^4.3.4"},"_npmOperationalInternal":{"tmp":"tmp/crl_4.115.0_1788495214413_0.6207750026289913","host":"s3://npm-registry-packages-npm-production"}},"4.116.0":{"name":"@smile-digital-health/crl","version":"4.116.0","keywords":["clinical","practice","guideline","language","parser","validator"],"author":{"name":"CQIS"},"license":"Apache-2.0","_id":"@smile-digital-health/crl@4.116.0","maintainers":[{"name":"subashgandyer-smile","email":"subash.gandyer@smiledigitalhealth.com"},{"name":"jpercival","email":"jonathan.i.percival@gmail.com"},{"name":"rob_reynolds","email":"rob.reynolds@smiledigitalhealth.com"},{"name":"seenafa","email":"seena.farzaneh@smiledigitalhealth.com"},{"name":"aodahl-smile","email":"alexander.dahl@smiledigitalhealth.com"},{"name":"megan.weatherston","email":"megan.weatherston@smiledigitalhealth.com"},{"name":"zackaustin","email":"zack.austin@smiledigitalhealth.com"},{"name":"guptava","email":"vaibhav.gupta@smiledigitalhealth.com"},{"name":"dejawu","email":"npm@dejawu.me"},{"name":"jreyno77","email":"jreysteven1@gmail.com"},{"name":"antvaset","email":"antvaset@gmail.com"}],"bin":{"crl-ast":"dist/cli/run-ast.js","crl-lex":"dist/cli/run-lexer.js","crl-mcp":"dist/cli/run-mcp-server.js","crl-emit":"dist/cli/run-emitter.js","crl-parse":"dist/cli/run-parser.js","crl-validate":"dist/cli/run-validator.js","crl-emit-results":"dist/cli/run-emit-results.js","crl-check-fhir-ids":"dist/cli/run-check-fhir-ids.js","crl-template-match":"dist/cli/run-template-match.js","crl-canonicalize-source":"dist/cli/run-canonicalize-source.js","crl-generate-provenance":"dist/cli/run-generate-provenance.js","crl-validate-provenance":"dist/cli/run-validate-provenance.js","crl-normalize-provenance":"dist/cli/run-normalize-provenance.js"},"dist":{"shasum":"c72c6b5533f1c0360017d2fc0446890c165694d9","tarball":"https://registry.npmjs.org/@smile-digital-health/crl/-/crl-4.116.0.tgz","fileCount":766,"integrity":"sha512-b5LBtyuN6KfC5PJKiUdASdkEhsYRb9nTunX7VRvVztIOPCV/gxH+Taxfi3tNeO0w7lZy+xZJko/QN+8IiWcFLQ==","signatures":[{"sig":"MEUCIQCKIonVc9ptbPlDNmsQQbCF7dJzclCw3FnkwpErToUIggIgf5QATCKxu+pfvM1AJpsf4+li1VOKpKOflu5ywgqT9xA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4858837},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./mcp":{"types":"./dist/mcp/index.d.ts","import":"./dist/mcp/index.js","require":"./dist/mcp/index.js"},"./provenance":{"types":"./dist/provenance/index.d.ts","import":"./dist/provenance/index.js","require":"./dist/provenance/index.js"},"./language-services":{"types":"./dist/language-services/index.d.ts","import":"./dist/language-services/index.js","require":"./dist/language-services/index.js"}},"gitHead":"c01f39f8ac623b66d11804965ecc6107fe25a984","scripts":{"lint":"eslint \"src/**/*.ts\" --quiet","test":"vitest run --root ../.. --project crl --no-file-parallelism && npm run test:mcp","build":"tsc && node scripts/copy-catalog.mjs","clean":"rimraf dist","start":"npm run build && node dist/index.js","watch":"onchange -i \"src/**/*.ts\" -- npm run build","format":"prettier --write 'src/**/*.ts'","cli:ast":"ts-node src/cli/run-ast.ts","cli:mcp":"ts-node src/cli/run-mcp-server.ts","compile":"tsc --noEmit","prepack":"npm run build","generate":"antlr4ts -Xforce-atn src/grammar/CRLLexer.g4 && antlr4ts -Xforce-atn -visitor src/grammar/CRLParser.g4 && antlr4ts -Xforce-atn src/grammar/CELLexer.g4 && antlr4ts -Xforce-atn -visitor src/grammar/CELParser.g4 && npm run move-generated-files && npm run extract-types","lint:fix":"eslint src/**/*.ts --fix","prebuild":"rimraf dist && shx mkdir -p dist && npm run generate && cpx \"src/grammar/generated/types/*.json\" dist/grammar/generated/types/ && node scripts/checkGrammarJsonFiles.js","test:mcp":"node src/cli/tests/run-mcp-server.test.mjs","cli:lexer":"ts-node src/cli/run-lexer.ts","cli:parser":"ts-node src/cli/run-parser.ts","prerelease":"node scripts/prereleaseGithub.js","test:watch":"vitest --root ../.. --project crl --no-file-parallelism","cli:emitter":"ts-node src/cli/run-emitter.ts","pretest:mcp":"npm run build","git:unmerged":"ts-node scripts/unmerged-branches.ts","cli:validator":"ts-node src/cli/run-validator.ts","extract-types":"node scripts/extractActivityTypes.js && node scripts/extractConceptTypes.js && node scripts/extractConceptValueTypes.js && node scripts/extractConceptShapes.js && node scripts/extractParameterTypes.js && node scripts/generateMetadataRegistry.js","test:coverage":"vitest run --root ../.. --project crl --no-file-parallelism --coverage","util:clonefsh":"npx ts-node scripts/clone-fsh-repo.ts","cli:ast:pretty":"ts-node src/cli/run-ast.ts --pretty","test:regression":"vitest run --root ../.. --project crl --no-file-parallelism --reporter=verbose","cli:lexer:pretty":"ts-node src/cli/run-lexer.ts --pretty","cli:parser:pretty":"ts-node src/cli/run-parser.ts --pretty","cli:template-match":"ts-node src/cli/run-template-match.ts","cli:validator:pretty":"ts-node src/cli/run-validator.ts --pretty","move-generated-files":"node scripts/moveGeneratedFiles.js","cli:transformer:fsh-to-crl":"ts-node src/cli/run-transformer-fsh-to-crl.ts"},"_npmUser":{"name":"rob_reynolds","email":"rob.reynolds@smiledigitalhealth.com"},"_npmVersion":"10.9.8","description":"Clinical Reasoning Language (CRL) parser and validator","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"cpx":"^1.2.1","zod":"^4.4.3","prompts":"^2.4.2","antlr4ts":"^0.5.0-alpha.4","fsh-sushi":"^3.15.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","eslint":"^8.57.1","rimraf":"^5.0.5","ts-node":"^10.9.2","onchange":"^7.1.0","prettier":"^3.5.3","typescript":"^5.3.3","@types/node":"^20.11.19","antlr4ts-cli":"^0.5.0-alpha.4","eslint-plugin-import":"^2.31.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.31.0","@typescript-eslint/eslint-plugin":"^8.31.0","eslint-import-resolver-typescript":"^4.3.4"},"_npmOperationalInternal":{"tmp":"tmp/crl_4.116.0_1788501088380_0.7339902265268514","host":"s3://npm-registry-packages-npm-production"}},"4.117.0":{"name":"@smile-digital-health/crl","version":"4.117.0","keywords":["clinical","practice","guideline","language","parser","validator"],"author":{"name":"CQIS"},"license":"Apache-2.0","_id":"@smile-digital-health/crl@4.117.0","maintainers":[{"name":"subashgandyer-smile","email":"subash.gandyer@smiledigitalhealth.com"},{"name":"jpercival","email":"jonathan.i.percival@gmail.com"},{"name":"rob_reynolds","email":"rob.reynolds@smiledigitalhealth.com"},{"name":"seenafa","email":"seena.farzaneh@smiledigitalhealth.com"},{"name":"aodahl-smile","email":"alexander.dahl@smiledigitalhealth.com"},{"name":"megan.weatherston","email":"megan.weatherston@smiledigitalhealth.com"},{"name":"zackaustin","email":"zack.austin@smiledigitalhealth.com"},{"name":"guptava","email":"vaibhav.gupta@smiledigitalhealth.com"},{"name":"dejawu","email":"npm@dejawu.me"},{"name":"jreyno77","email":"jreysteven1@gmail.com"},{"name":"antvaset","email":"antvaset@gmail.com"}],"bin":{"crl-ast":"dist/cli/run-ast.js","crl-lex":"dist/cli/run-lexer.js","crl-mcp":"dist/cli/run-mcp-server.js","crl-emit":"dist/cli/run-emitter.js","crl-parse":"dist/cli/run-parser.js","crl-validate":"dist/cli/run-validator.js","crl-emit-results":"dist/cli/run-emit-results.js","crl-check-fhir-ids":"dist/cli/run-check-fhir-ids.js","crl-template-match":"dist/cli/run-template-match.js","crl-canonicalize-source":"dist/cli/run-canonicalize-source.js","crl-generate-provenance":"dist/cli/run-generate-provenance.js","crl-validate-provenance":"dist/cli/run-validate-provenance.js","crl-normalize-provenance":"dist/cli/run-normalize-provenance.js"},"dist":{"shasum":"a48256c5257683ec9c099e0f06f108160bd8057c","tarball":"https://registry.npmjs.org/@smile-digital-health/crl/-/crl-4.117.0.tgz","fileCount":766,"integrity":"sha512-xtgmvA5hvkFc3n/djJZZELkkG/7HB6wMn2E1fIMNP3OoEEFfvKRn8zz34hMMhMQm2vnm598M3JHlsPYk7fdYoQ==","signatures":[{"sig":"MEUCIQDoglvmeA2G64ue/y2Bf8a5MrqAsHopbd2xF0A0whcsKQIgSJs1eK2G9ePQjmFLq9sbbVp2wb8R0H/RsAnACPFqtJE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4861601},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./mcp":{"types":"./dist/mcp/index.d.ts","import":"./dist/mcp/index.js","require":"./dist/mcp/index.js"},"./provenance":{"types":"./dist/provenance/index.d.ts","import":"./dist/provenance/index.js","require":"./dist/provenance/index.js"},"./language-services":{"types":"./dist/language-services/index.d.ts","import":"./dist/language-services/index.js","require":"./dist/language-services/index.js"}},"gitHead":"9f61648d28106b9e8127976eb32ce21b4646d1e1","scripts":{"lint":"eslint \"src/**/*.ts\" --quiet","test":"vitest run --root ../.. --project crl --no-file-parallelism && npm run test:mcp","build":"tsc && node scripts/copy-catalog.mjs","clean":"rimraf dist","start":"npm run build && node dist/index.js","watch":"onchange -i \"src/**/*.ts\" -- npm run build","format":"prettier --write 'src/**/*.ts'","cli:ast":"ts-node src/cli/run-ast.ts","cli:mcp":"ts-node src/cli/run-mcp-server.ts","compile":"tsc --noEmit","prepack":"npm run build","generate":"antlr4ts -Xforce-atn src/grammar/CRLLexer.g4 && antlr4ts -Xforce-atn -visitor src/grammar/CRLParser.g4 && antlr4ts -Xforce-atn src/grammar/CELLexer.g4 && antlr4ts -Xforce-atn -visitor src/grammar/CELParser.g4 && npm run move-generated-files && npm run extract-types","lint:fix":"eslint src/**/*.ts --fix","prebuild":"rimraf dist && shx mkdir -p dist && npm run generate && cpx \"src/grammar/generated/types/*.json\" dist/grammar/generated/types/ && node scripts/checkGrammarJsonFiles.js","test:mcp":"node src/cli/tests/run-mcp-server.test.mjs","cli:lexer":"ts-node src/cli/run-lexer.ts","cli:parser":"ts-node src/cli/run-parser.ts","prerelease":"node scripts/prereleaseGithub.js","test:watch":"vitest --root ../.. --project crl --no-file-parallelism","cli:emitter":"ts-node src/cli/run-emitter.ts","pretest:mcp":"npm run build","git:unmerged":"ts-node scripts/unmerged-branches.ts","cli:validator":"ts-node src/cli/run-validator.ts","extract-types":"node scripts/extractActivityTypes.js && node scripts/extractConceptTypes.js && node scripts/extractConceptValueTypes.js && node scripts/extractConceptShapes.js && node scripts/extractParameterTypes.js && node scripts/generateMetadataRegistry.js","test:coverage":"vitest run --root ../.. --project crl --no-file-parallelism --coverage","util:clonefsh":"npx ts-node scripts/clone-fsh-repo.ts","cli:ast:pretty":"ts-node src/cli/run-ast.ts --pretty","test:regression":"vitest run --root ../.. --project crl --no-file-parallelism --reporter=verbose","cli:lexer:pretty":"ts-node src/cli/run-lexer.ts --pretty","cli:parser:pretty":"ts-node src/cli/run-parser.ts --pretty","cli:template-match":"ts-node src/cli/run-template-match.ts","cli:validator:pretty":"ts-node src/cli/run-validator.ts --pretty","move-generated-files":"node scripts/moveGeneratedFiles.js","cli:transformer:fsh-to-crl":"ts-node src/cli/run-transformer-fsh-to-crl.ts"},"_npmUser":{"name":"rob_reynolds","email":"rob.reynolds@smiledigitalhealth.com"},"_npmVersion":"10.9.8","description":"Clinical Reasoning Language (CRL) parser and validator","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"cpx":"^1.2.1","zod":"^4.4.3","prompts":"^2.4.2","antlr4ts":"^0.5.0-alpha.4","fsh-sushi":"^3.15.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","eslint":"^8.57.1","rimraf":"^5.0.5","ts-node":"^10.9.2","onchange":"^7.1.0","prettier":"^3.5.3","typescript":"^5.3.3","@types/node":"^20.11.19","antlr4ts-cli":"^0.5.0-alpha.4","eslint-plugin-import":"^2.31.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.31.0","@typescript-eslint/eslint-plugin":"^8.31.0","eslint-import-resolver-typescript":"^4.3.4"},"_npmOperationalInternal":{"tmp":"tmp/crl_4.117.0_1788503047703_0.2520686079048535","host":"s3://npm-registry-packages-npm-production"}},"4.118.0":{"name":"@smile-digital-health/crl","version":"4.118.0","keywords":["clinical","practice","guideline","language","parser","validator"],"author":{"name":"CQIS"},"license":"Apache-2.0","_id":"@smile-digital-health/crl@4.118.0","maintainers":[{"name":"subashgandyer-smile","email":"subash.gandyer@smiledigitalhealth.com"},{"name":"jpercival","email":"jonathan.i.percival@gmail.com"},{"name":"rob_reynolds","email":"rob.reynolds@smiledigitalhealth.com"},{"name":"seenafa","email":"seena.farzaneh@smiledigitalhealth.com"},{"name":"aodahl-smile","email":"alexander.dahl@smiledigitalhealth.com"},{"name":"megan.weatherston","email":"megan.weatherston@smiledigitalhealth.com"},{"name":"zackaustin","email":"zack.austin@smiledigitalhealth.com"},{"name":"guptava","email":"vaibhav.gupta@smiledigitalhealth.com"},{"name":"dejawu","email":"npm@dejawu.me"},{"name":"jreyno77","email":"jreysteven1@gmail.com"},{"name":"antvaset","email":"antvaset@gmail.com"}],"bin":{"crl-ast":"dist/cli/run-ast.js","crl-lex":"dist/cli/run-lexer.js","crl-mcp":"dist/cli/run-mcp-server.js","crl-emit":"dist/cli/run-emitter.js","crl-parse":"dist/cli/run-parser.js","crl-validate":"dist/cli/run-validator.js","crl-emit-results":"dist/cli/run-emit-results.js","crl-check-fhir-ids":"dist/cli/run-check-fhir-ids.js","crl-template-match":"dist/cli/run-template-match.js","crl-canonicalize-source":"dist/cli/run-canonicalize-source.js","crl-generate-provenance":"dist/cli/run-generate-provenance.js","crl-validate-provenance":"dist/cli/run-validate-provenance.js","crl-normalize-provenance":"dist/cli/run-normalize-provenance.js"},"dist":{"shasum":"5783faf8b0c48995d80e50a8d7f8274b0909f4d2","tarball":"https://registry.npmjs.org/@smile-digital-health/crl/-/crl-4.118.0.tgz","fileCount":766,"integrity":"sha512-epZBJ6vHnf6Ad+IGoPW6yuEbfl9CFBulIw2g//5pvPDi11PjkIpvLnwuOPYo9/56ZnI0MkJPuitMEBKkN2oiCQ==","signatures":[{"sig":"MEUCIGmUbBF93Il4Vz4k7LjZNus8jTB4yyKkhxdxgBnAgc/HAiEAxKpKqv/8vNvy0SWi4nzwnx75HMR20Mu8XbVbQO9vzRo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4866164},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./mcp":{"types":"./dist/mcp/index.d.ts","import":"./dist/mcp/index.js","require":"./dist/mcp/index.js"},"./provenance":{"types":"./dist/provenance/index.d.ts","import":"./dist/provenance/index.js","require":"./dist/provenance/index.js"},"./language-services":{"types":"./dist/language-services/index.d.ts","import":"./dist/language-services/index.js","require":"./dist/language-services/index.js"}},"gitHead":"68137a3963aba37cc26cf7c432fcf857272ea460","scripts":{"lint":"eslint \"src/**/*.ts\" --quiet","test":"vitest run --root ../.. --project crl --no-file-parallelism && npm run test:mcp","build":"tsc && node scripts/copy-catalog.mjs","clean":"rimraf dist","start":"npm run build && node dist/index.js","watch":"onchange -i \"src/**/*.ts\" -- npm run build","format":"prettier --write 'src/**/*.ts'","cli:ast":"ts-node src/cli/run-ast.ts","cli:mcp":"ts-node src/cli/run-mcp-server.ts","compile":"tsc --noEmit","prepack":"npm run build","generate":"antlr4ts -Xforce-atn src/grammar/CRLLexer.g4 && antlr4ts -Xforce-atn -visitor src/grammar/CRLParser.g4 && antlr4ts -Xforce-atn src/grammar/CELLexer.g4 && antlr4ts -Xforce-atn -visitor src/grammar/CELParser.g4 && npm run move-generated-files && npm run extract-types","lint:fix":"eslint src/**/*.ts --fix","prebuild":"rimraf dist && shx mkdir -p dist && npm run generate && cpx \"src/grammar/generated/types/*.json\" dist/grammar/generated/types/ && node scripts/checkGrammarJsonFiles.js","test:mcp":"node src/cli/tests/run-mcp-server.test.mjs","cli:lexer":"ts-node src/cli/run-lexer.ts","cli:parser":"ts-node src/cli/run-parser.ts","prerelease":"node scripts/prereleaseGithub.js","test:watch":"vitest --root ../.. --project crl --no-file-parallelism","cli:emitter":"ts-node src/cli/run-emitter.ts","pretest:mcp":"npm run build","git:unmerged":"ts-node scripts/unmerged-branches.ts","cli:validator":"ts-node src/cli/run-validator.ts","extract-types":"node scripts/extractActivityTypes.js && node scripts/extractConceptTypes.js && node scripts/extractConceptValueTypes.js && node scripts/extractConceptShapes.js && node scripts/extractParameterTypes.js && node scripts/generateMetadataRegistry.js","test:coverage":"vitest run --root ../.. --project crl --no-file-parallelism --coverage","util:clonefsh":"npx ts-node scripts/clone-fsh-repo.ts","cli:ast:pretty":"ts-node src/cli/run-ast.ts --pretty","test:regression":"vitest run --root ../.. --project crl --no-file-parallelism --reporter=verbose","cli:lexer:pretty":"ts-node src/cli/run-lexer.ts --pretty","cli:parser:pretty":"ts-node src/cli/run-parser.ts --pretty","cli:template-match":"ts-node src/cli/run-template-match.ts","cli:validator:pretty":"ts-node src/cli/run-validator.ts --pretty","move-generated-files":"node scripts/moveGeneratedFiles.js","cli:transformer:fsh-to-crl":"ts-node src/cli/run-transformer-fsh-to-crl.ts"},"_npmUser":{"name":"rob_reynolds","email":"rob.reynolds@smiledigitalhealth.com"},"_npmVersion":"10.9.8","description":"Clinical Reasoning Language (CRL) parser and validator","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"cpx":"^1.2.1","zod":"^4.4.3","prompts":"^2.4.2","antlr4ts":"^0.5.0-alpha.4","fsh-sushi":"^3.15.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","eslint":"^8.57.1","rimraf":"^5.0.5","ts-node":"^10.9.2","onchange":"^7.1.0","prettier":"^3.5.3","typescript":"^5.3.3","@types/node":"^20.11.19","antlr4ts-cli":"^0.5.0-alpha.4","eslint-plugin-import":"^2.31.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.31.0","@typescript-eslint/eslint-plugin":"^8.31.0","eslint-import-resolver-typescript":"^4.3.4"},"_npmOperationalInternal":{"tmp":"tmp/crl_4.118.0_1788505036825_0.27557358331554016","host":"s3://npm-registry-packages-npm-production"}},"4.119.0":{"name":"@smile-digital-health/crl","version":"4.119.0","keywords":["clinical","practice","guideline","language","parser","validator"],"author":{"name":"CQIS"},"license":"Apache-2.0","_id":"@smile-digital-health/crl@4.119.0","maintainers":[{"name":"subashgandyer-smile","email":"subash.gandyer@smiledigitalhealth.com"},{"name":"jpercival","email":"jonathan.i.percival@gmail.com"},{"name":"rob_reynolds","email":"rob.reynolds@smiledigitalhealth.com"},{"name":"seenafa","email":"seena.farzaneh@smiledigitalhealth.com"},{"name":"aodahl-smile","email":"alexander.dahl@smiledigitalhealth.com"},{"name":"megan.weatherston","email":"megan.weatherston@smiledigitalhealth.com"},{"name":"zackaustin","email":"zack.austin@smiledigitalhealth.com"},{"name":"guptava","email":"vaibhav.gupta@smiledigitalhealth.com"},{"name":"dejawu","email":"npm@dejawu.me"},{"name":"jreyno77","email":"jreysteven1@gmail.com"},{"name":"antvaset","email":"antvaset@gmail.com"}],"bin":{"crl-ast":"dist/cli/run-ast.js","crl-lex":"dist/cli/run-lexer.js","crl-mcp":"dist/cli/run-mcp-server.js","crl-emit":"dist/cli/run-emitter.js","crl-parse":"dist/cli/run-parser.js","crl-validate":"dist/cli/run-validator.js","crl-emit-results":"dist/cli/run-emit-results.js","crl-check-fhir-ids":"dist/cli/run-check-fhir-ids.js","crl-template-match":"dist/cli/run-template-match.js","crl-canonicalize-source":"dist/cli/run-canonicalize-source.js","crl-generate-provenance":"dist/cli/run-generate-provenance.js","crl-validate-provenance":"dist/cli/run-validate-provenance.js","crl-normalize-provenance":"dist/cli/run-normalize-provenance.js"},"dist":{"shasum":"014c6ea6fa942de6b784c22472d69042e8f65822","tarball":"https://registry.npmjs.org/@smile-digital-health/crl/-/crl-4.119.0.tgz","fileCount":766,"integrity":"sha512-8NvF3RoRfPtVmk5MXWOtD/QviHCPWHn8Pg7LXp1cflUVS9hmRTf7CHNk242dpQfE2MP0gpIp2To7EvILXAYJhw==","signatures":[{"sig":"MEUCIQC/kSHY/gkhPGy/kXH8XIZgwHPASk/QXmyumPThSGuyngIgXG3Q29IzyldzTx4SwMXR64sHaALJzg0dsAbq7sNKgA8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4873103},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./mcp":{"types":"./dist/mcp/index.d.ts","import":"./dist/mcp/index.js","require":"./dist/mcp/index.js"},"./provenance":{"types":"./dist/provenance/index.d.ts","import":"./dist/provenance/index.js","require":"./dist/provenance/index.js"},"./language-services":{"types":"./dist/language-services/index.d.ts","import":"./dist/language-services/index.js","require":"./dist/language-services/index.js"}},"gitHead":"f6ee75693a4219934c6c33aebb9fd61ac51f0c72","scripts":{"lint":"eslint \"src/**/*.ts\" --quiet","test":"vitest run --root ../.. --project crl --no-file-parallelism && npm run test:mcp","build":"tsc && node scripts/copy-catalog.mjs","clean":"rimraf dist","start":"npm run build && node dist/index.js","watch":"onchange -i \"src/**/*.ts\" -- npm run build","format":"prettier --write 'src/**/*.ts'","cli:ast":"ts-node src/cli/run-ast.ts","cli:mcp":"ts-node src/cli/run-mcp-server.ts","compile":"tsc --noEmit","prepack":"npm run build","generate":"antlr4ts -Xforce-atn src/grammar/CRLLexer.g4 && antlr4ts -Xforce-atn -visitor src/grammar/CRLParser.g4 && antlr4ts -Xforce-atn src/grammar/CELLexer.g4 && antlr4ts -Xforce-atn -visitor src/grammar/CELParser.g4 && npm run move-generated-files && npm run extract-types","lint:fix":"eslint src/**/*.ts --fix","prebuild":"rimraf dist && shx mkdir -p dist && npm run generate && cpx \"src/grammar/generated/types/*.json\" dist/grammar/generated/types/ && node scripts/checkGrammarJsonFiles.js","test:mcp":"node src/cli/tests/run-mcp-server.test.mjs","cli:lexer":"ts-node src/cli/run-lexer.ts","cli:parser":"ts-node src/cli/run-parser.ts","prerelease":"node scripts/prereleaseGithub.js","test:watch":"vitest --root ../.. --project crl --no-file-parallelism","cli:emitter":"ts-node src/cli/run-emitter.ts","pretest:mcp":"npm run build","git:unmerged":"ts-node scripts/unmerged-branches.ts","cli:validator":"ts-node src/cli/run-validator.ts","extract-types":"node scripts/extractActivityTypes.js && node scripts/extractConceptTypes.js && node scripts/extractConceptValueTypes.js && node scripts/extractConceptShapes.js && node scripts/extractParameterTypes.js && node scripts/generateMetadataRegistry.js","test:coverage":"vitest run --root ../.. --project crl --no-file-parallelism --coverage","util:clonefsh":"npx ts-node scripts/clone-fsh-repo.ts","cli:ast:pretty":"ts-node src/cli/run-ast.ts --pretty","test:regression":"vitest run --root ../.. --project crl --no-file-parallelism --reporter=verbose","cli:lexer:pretty":"ts-node src/cli/run-lexer.ts --pretty","cli:parser:pretty":"ts-node src/cli/run-parser.ts --pretty","cli:template-match":"ts-node src/cli/run-template-match.ts","cli:validator:pretty":"ts-node src/cli/run-validator.ts --pretty","move-generated-files":"node scripts/moveGeneratedFiles.js","cli:transformer:fsh-to-crl":"ts-node src/cli/run-transformer-fsh-to-crl.ts"},"_npmUser":{"name":"rob_reynolds","email":"rob.reynolds@smiledigitalhealth.com"},"_npmVersion":"10.9.8","description":"Clinical Reasoning Language (CRL) parser and validator","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"cpx":"^1.2.1","zod":"^4.4.3","prompts":"^2.4.2","antlr4ts":"^0.5.0-alpha.4","fsh-sushi":"^3.15.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","eslint":"^8.57.1","rimraf":"^5.0.5","ts-node":"^10.9.2","onchange":"^7.1.0","prettier":"^3.5.3","typescript":"^5.3.3","@types/node":"^20.11.19","antlr4ts-cli":"^0.5.0-alpha.4","eslint-plugin-import":"^2.31.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.31.0","@typescript-eslint/eslint-plugin":"^8.31.0","eslint-import-resolver-typescript":"^4.3.4"},"_npmOperationalInternal":{"tmp":"tmp/crl_4.119.0_1788509543879_0.35684220451405446","host":"s3://npm-registry-packages-npm-production"}},"4.120.0":{"name":"@smile-digital-health/crl","version":"4.120.0","keywords":["clinical","practice","guideline","language","parser","validator"],"author":{"name":"CQIS"},"license":"Apache-2.0","_id":"@smile-digital-health/crl@4.120.0","maintainers":[{"name":"subashgandyer-smile","email":"subash.gandyer@smiledigitalhealth.com"},{"name":"jpercival","email":"jonathan.i.percival@gmail.com"},{"name":"rob_reynolds","email":"rob.reynolds@smiledigitalhealth.com"},{"name":"seenafa","email":"seena.farzaneh@smiledigitalhealth.com"},{"name":"aodahl-smile","email":"alexander.dahl@smiledigitalhealth.com"},{"name":"megan.weatherston","email":"megan.weatherston@smiledigitalhealth.com"},{"name":"zackaustin","email":"zack.austin@smiledigitalhealth.com"},{"name":"guptava","email":"vaibhav.gupta@smiledigitalhealth.com"},{"name":"dejawu","email":"npm@dejawu.me"},{"name":"jreyno77","email":"jreysteven1@gmail.com"},{"name":"antvaset","email":"antvaset@gmail.com"}],"bin":{"crl-ast":"dist/cli/run-ast.js","crl-lex":"dist/cli/run-lexer.js","crl-mcp":"dist/cli/run-mcp-server.js","crl-emit":"dist/cli/run-emitter.js","crl-parse":"dist/cli/run-parser.js","crl-validate":"dist/cli/run-validator.js","crl-emit-results":"dist/cli/run-emit-results.js","crl-check-fhir-ids":"dist/cli/run-check-fhir-ids.js","crl-template-match":"dist/cli/run-template-match.js","crl-canonicalize-source":"dist/cli/run-canonicalize-source.js","crl-generate-provenance":"dist/cli/run-generate-provenance.js","crl-validate-provenance":"dist/cli/run-validate-provenance.js","crl-normalize-provenance":"dist/cli/run-normalize-provenance.js"},"dist":{"shasum":"c00a6fc2ad974fc5dd95f267eb7f8e26ac96eb32","tarball":"https://registry.npmjs.org/@smile-digital-health/crl/-/crl-4.120.0.tgz","fileCount":766,"integrity":"sha512-j0QrpR0NZuMpTRxo+E96llR6veLAvOJfJECbwuE3dKs4er33zL5xyl2y7u/vYYi6tYkA9sUy4xOqsFYhE6ulHw==","signatures":[{"sig":"MEYCIQDdpXyaxFIhU/DYhbbTsnuxmgLOK4xGHId7JBdCKEtkHQIhAMHhu//qD0yaBD73F2VcPfMzeDGhgxsyuf+ofZpwTrl0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4878737},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./mcp":{"types":"./dist/mcp/index.d.ts","import":"./dist/mcp/index.js","require":"./dist/mcp/index.js"},"./provenance":{"types":"./dist/provenance/index.d.ts","import":"./dist/provenance/index.js","require":"./dist/provenance/index.js"},"./language-services":{"types":"./dist/language-services/index.d.ts","import":"./dist/language-services/index.js","require":"./dist/language-services/index.js"}},"gitHead":"d0693cc3d365c0d7801abdfc29fc53c9053d9006","scripts":{"lint":"eslint \"src/**/*.ts\" --quiet","test":"vitest run --root ../.. --project crl --no-file-parallelism && npm run test:mcp","build":"tsc && node scripts/copy-catalog.mjs","clean":"rimraf dist","start":"npm run build && node dist/index.js","watch":"onchange -i \"src/**/*.ts\" -- npm run build","format":"prettier --write 'src/**/*.ts'","cli:ast":"ts-node src/cli/run-ast.ts","cli:mcp":"ts-node src/cli/run-mcp-server.ts","compile":"tsc --noEmit","prepack":"npm run build","generate":"antlr4ts -Xforce-atn src/grammar/CRLLexer.g4 && antlr4ts -Xforce-atn -visitor src/grammar/CRLParser.g4 && antlr4ts -Xforce-atn src/grammar/CELLexer.g4 && antlr4ts -Xforce-atn -visitor src/grammar/CELParser.g4 && npm run move-generated-files && npm run extract-types","lint:fix":"eslint src/**/*.ts --fix","prebuild":"rimraf dist && shx mkdir -p dist && npm run generate && cpx \"src/grammar/generated/types/*.json\" dist/grammar/generated/types/ && node scripts/checkGrammarJsonFiles.js","test:mcp":"node src/cli/tests/run-mcp-server.test.mjs","cli:lexer":"ts-node src/cli/run-lexer.ts","cli:parser":"ts-node src/cli/run-parser.ts","prerelease":"node scripts/prereleaseGithub.js","test:watch":"vitest --root ../.. --project crl --no-file-parallelism","cli:emitter":"ts-node src/cli/run-emitter.ts","pretest:mcp":"npm run build","git:unmerged":"ts-node scripts/unmerged-branches.ts","cli:validator":"ts-node src/cli/run-validator.ts","extract-types":"node scripts/extractActivityTypes.js && node scripts/extractConceptTypes.js && node scripts/extractConceptValueTypes.js && node scripts/extractConceptShapes.js && node scripts/extractParameterTypes.js && node scripts/generateMetadataRegistry.js","test:coverage":"vitest run --root ../.. --project crl --no-file-parallelism --coverage","util:clonefsh":"npx ts-node scripts/clone-fsh-repo.ts","cli:ast:pretty":"ts-node src/cli/run-ast.ts --pretty","test:regression":"vitest run --root ../.. --project crl --no-file-parallelism --reporter=verbose","cli:lexer:pretty":"ts-node src/cli/run-lexer.ts --pretty","cli:parser:pretty":"ts-node src/cli/run-parser.ts --pretty","cli:template-match":"ts-node src/cli/run-template-match.ts","cli:validator:pretty":"ts-node src/cli/run-validator.ts --pretty","move-generated-files":"node scripts/moveGeneratedFiles.js","cli:transformer:fsh-to-crl":"ts-node src/cli/run-transformer-fsh-to-crl.ts"},"_npmUser":{"name":"rob_reynolds","email":"rob.reynolds@smiledigitalhealth.com"},"_npmVersion":"10.9.8","description":"Clinical Reasoning Language (CRL) parser and validator","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"cpx":"^1.2.1","zod":"^4.4.3","prompts":"^2.4.2","antlr4ts":"^0.5.0-alpha.4","fsh-sushi":"^3.15.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","eslint":"^8.57.1","rimraf":"^5.0.5","ts-node":"^10.9.2","onchange":"^7.1.0","prettier":"^3.5.3","typescript":"^5.3.3","@types/node":"^20.11.19","antlr4ts-cli":"^0.5.0-alpha.4","eslint-plugin-import":"^2.31.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.31.0","@typescript-eslint/eslint-plugin":"^8.31.0","eslint-import-resolver-typescript":"^4.3.4"},"_npmOperationalInternal":{"tmp":"tmp/crl_4.120.0_1788524977278_0.4912874686384099","host":"s3://npm-registry-packages-npm-production"}},"4.121.0":{"name":"@smile-digital-health/crl","version":"4.121.0","keywords":["clinical","practice","guideline","language","parser","validator"],"author":{"name":"CQIS"},"license":"Apache-2.0","_id":"@smile-digital-health/crl@4.121.0","maintainers":[{"name":"subashgandyer-smile","email":"subash.gandyer@smiledigitalhealth.com"},{"name":"jpercival","email":"jonathan.i.percival@gmail.com"},{"name":"rob_reynolds","email":"rob.reynolds@smiledigitalhealth.com"},{"name":"seenafa","email":"seena.farzaneh@smiledigitalhealth.com"},{"name":"aodahl-smile","email":"alexander.dahl@smiledigitalhealth.com"},{"name":"megan.weatherston","email":"megan.weatherston@smiledigitalhealth.com"},{"name":"zackaustin","email":"zack.austin@smiledigitalhealth.com"},{"name":"guptava","email":"vaibhav.gupta@smiledigitalhealth.com"},{"name":"dejawu","email":"npm@dejawu.me"},{"name":"jreyno77","email":"jreysteven1@gmail.com"},{"name":"antvaset","email":"antvaset@gmail.com"}],"bin":{"crl-ast":"dist/cli/run-ast.js","crl-lex":"dist/cli/run-lexer.js","crl-mcp":"dist/cli/run-mcp-server.js","crl-emit":"dist/cli/run-emitter.js","crl-parse":"dist/cli/run-parser.js","crl-validate":"dist/cli/run-validator.js","crl-emit-results":"dist/cli/run-emit-results.js","crl-check-fhir-ids":"dist/cli/run-check-fhir-ids.js","crl-template-match":"dist/cli/run-template-match.js","crl-canonicalize-source":"dist/cli/run-canonicalize-source.js","crl-generate-provenance":"dist/cli/run-generate-provenance.js","crl-validate-provenance":"dist/cli/run-validate-provenance.js","crl-normalize-provenance":"dist/cli/run-normalize-provenance.js"},"dist":{"shasum":"65200a85bc614c134d4e22a38fa0bf9a9a2ba316","tarball":"https://registry.npmjs.org/@smile-digital-health/crl/-/crl-4.121.0.tgz","fileCount":769,"integrity":"sha512-a/U4grsOwH2e1b7lzmV2zXDYnLPtwUkWe929g8uSu0Cf3fa7yPopY50vLr1YR6MLABM0Y9/uuWSoXPx1CeVF2w==","signatures":[{"sig":"MEYCIQCKKvbIejSASY5yZYAVKO8u1e3M8Uv+1L8HyGxwkcMuuQIhAKlNl5+FXoFySrIp7gw8V4fcuA+9ZBJ4SKjYrryBQJV0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4896898},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./mcp":{"types":"./dist/mcp/index.d.ts","import":"./dist/mcp/index.js","require":"./dist/mcp/index.js"},"./provenance":{"types":"./dist/provenance/index.d.ts","import":"./dist/provenance/index.js","require":"./dist/provenance/index.js"},"./language-services":{"types":"./dist/language-services/index.d.ts","import":"./dist/language-services/index.js","require":"./dist/language-services/index.js"}},"gitHead":"16b9ec96b5ee47e19625cf886e00895478977f3a","scripts":{"lint":"eslint \"src/**/*.ts\" --quiet","test":"vitest run --root ../.. --project crl --no-file-parallelism && npm run test:mcp","build":"tsc && node scripts/copy-catalog.mjs","clean":"rimraf dist","start":"npm run build && node dist/index.js","watch":"onchange -i \"src/**/*.ts\" -- npm run build","format":"prettier --write 'src/**/*.ts'","cli:ast":"ts-node src/cli/run-ast.ts","cli:mcp":"ts-node src/cli/run-mcp-server.ts","compile":"tsc --noEmit","prepack":"npm run build","generate":"antlr4ts -Xforce-atn src/grammar/CRLLexer.g4 && antlr4ts -Xforce-atn -visitor src/grammar/CRLParser.g4 && antlr4ts -Xforce-atn src/grammar/CELLexer.g4 && antlr4ts -Xforce-atn -visitor src/grammar/CELParser.g4 && npm run move-generated-files && npm run extract-types","lint:fix":"eslint src/**/*.ts --fix","prebuild":"rimraf dist && shx mkdir -p dist && npm run generate && cpx \"src/grammar/generated/types/*.json\" dist/grammar/generated/types/ && node scripts/checkGrammarJsonFiles.js","test:mcp":"node src/cli/tests/run-mcp-server.test.mjs","cli:lexer":"ts-node src/cli/run-lexer.ts","cli:parser":"ts-node src/cli/run-parser.ts","prerelease":"node scripts/prereleaseGithub.js","test:watch":"vitest --root ../.. --project crl --no-file-parallelism","cli:emitter":"ts-node src/cli/run-emitter.ts","pretest:mcp":"npm run build","git:unmerged":"ts-node scripts/unmerged-branches.ts","cli:validator":"ts-node src/cli/run-validator.ts","extract-types":"node scripts/extractActivityTypes.js && node scripts/extractConceptTypes.js && node scripts/extractConceptValueTypes.js && node scripts/extractConceptShapes.js && node scripts/extractParameterTypes.js && node scripts/generateMetadataRegistry.js","test:coverage":"vitest run --root ../.. --project crl --no-file-parallelism --coverage","util:clonefsh":"npx ts-node scripts/clone-fsh-repo.ts","cli:ast:pretty":"ts-node src/cli/run-ast.ts --pretty","test:regression":"vitest run --root ../.. --project crl --no-file-parallelism --reporter=verbose","cli:lexer:pretty":"ts-node src/cli/run-lexer.ts --pretty","cli:parser:pretty":"ts-node src/cli/run-parser.ts --pretty","cli:template-match":"ts-node src/cli/run-template-match.ts","cli:validator:pretty":"ts-node src/cli/run-validator.ts --pretty","move-generated-files":"node scripts/moveGeneratedFiles.js","cli:transformer:fsh-to-crl":"ts-node src/cli/run-transformer-fsh-to-crl.ts"},"_npmUser":{"name":"rob_reynolds","email":"rob.reynolds@smiledigitalhealth.com"},"_npmVersion":"10.9.8","description":"Clinical Reasoning Language (CRL) parser and validator","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"cpx":"^1.2.1","zod":"^4.4.3","prompts":"^2.4.2","antlr4ts":"^0.5.0-alpha.4","fsh-sushi":"^3.15.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","eslint":"^8.57.1","rimraf":"^5.0.5","ts-node":"^10.9.2","onchange":"^7.1.0","prettier":"^3.5.3","typescript":"^5.3.3","@types/node":"^20.11.19","antlr4ts-cli":"^0.5.0-alpha.4","eslint-plugin-import":"^2.31.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.31.0","@typescript-eslint/eslint-plugin":"^8.31.0","eslint-import-resolver-typescript":"^4.3.4"},"_npmOperationalInternal":{"tmp":"tmp/crl_4.121.0_1788648523646_0.10407675447914055","host":"s3://npm-registry-packages-npm-production"}},"4.122.0":{"name":"@smile-digital-health/crl","version":"4.122.0","keywords":["clinical","practice","guideline","language","parser","validator"],"author":{"name":"CQIS"},"license":"Apache-2.0","_id":"@smile-digital-health/crl@4.122.0","maintainers":[{"name":"subashgandyer-smile","email":"subash.gandyer@smiledigitalhealth.com"},{"name":"jpercival","email":"jonathan.i.percival@gmail.com"},{"name":"rob_reynolds","email":"rob.reynolds@smiledigitalhealth.com"},{"name":"seenafa","email":"seena.farzaneh@smiledigitalhealth.com"},{"name":"aodahl-smile","email":"alexander.dahl@smiledigitalhealth.com"},{"name":"megan.weatherston","email":"megan.weatherston@smiledigitalhealth.com"},{"name":"zackaustin","email":"zack.austin@smiledigitalhealth.com"},{"name":"guptava","email":"vaibhav.gupta@smiledigitalhealth.com"},{"name":"dejawu","email":"npm@dejawu.me"},{"name":"jreyno77","email":"jreysteven1@gmail.com"},{"name":"antvaset","email":"antvaset@gmail.com"}],"bin":{"crl-ast":"dist/cli/run-ast.js","crl-lex":"dist/cli/run-lexer.js","crl-mcp":"dist/cli/run-mcp-server.js","crl-emit":"dist/cli/run-emitter.js","crl-parse":"dist/cli/run-parser.js","crl-validate":"dist/cli/run-validator.js","crl-emit-results":"dist/cli/run-emit-results.js","crl-check-fhir-ids":"dist/cli/run-check-fhir-ids.js","crl-template-match":"dist/cli/run-template-match.js","crl-canonicalize-source":"dist/cli/run-canonicalize-source.js","crl-generate-provenance":"dist/cli/run-generate-provenance.js","crl-validate-provenance":"dist/cli/run-validate-provenance.js","crl-normalize-provenance":"dist/cli/run-normalize-provenance.js"},"dist":{"shasum":"96ac89a3bef374cbbab43ca86a9191714b640381","tarball":"https://registry.npmjs.org/@smile-digital-health/crl/-/crl-4.122.0.tgz","fileCount":832,"integrity":"sha512-ATEuYFF+6dbFK47jVirYlyVjwwDDLXdU9jeBQuWgSgMKog89s4vCQAG+7mXstFS2S+dwnHeHrMeHTBgCdThguw==","signatures":[{"sig":"MEYCIQD+V6VfmDKsZRz+ev65kIthaZ6WllhvbGLjjz7LeGlfRwIhALFdse5Fe66m+TDGfSaAAWU30Kr+vcGaySnbQpRG2gTE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5421201},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./mcp":{"types":"./dist/mcp/index.d.ts","import":"./dist/mcp/index.js","require":"./dist/mcp/index.js"},"./provenance":{"types":"./dist/provenance/index.d.ts","import":"./dist/provenance/index.js","require":"./dist/provenance/index.js"},"./language-services":{"types":"./dist/language-services/index.d.ts","import":"./dist/language-services/index.js","require":"./dist/language-services/index.js"}},"gitHead":"9100b742e509cb7315190d89fdd3f9ae7675ae6f","scripts":{"lint":"eslint \"src/**/*.ts\" --quiet","test":"vitest run --root ../.. --project crl --no-file-parallelism && npm run test:mcp","build":"tsc && node scripts/copy-catalog.mjs","clean":"rimraf dist","start":"npm run build && node dist/index.js","watch":"onchange -i \"src/**/*.ts\" -- npm run build","format":"prettier --write 'src/**/*.ts'","cli:ast":"ts-node src/cli/run-ast.ts","cli:mcp":"ts-node src/cli/run-mcp-server.ts","compile":"tsc --noEmit","prepack":"npm run build","generate":"antlr4ts -Xforce-atn src/grammar/CRLLexer.g4 && antlr4ts -Xforce-atn -visitor src/grammar/CRLParser.g4 && antlr4ts -Xforce-atn src/grammar/CELLexer.g4 && antlr4ts -Xforce-atn -visitor src/grammar/CELParser.g4 && npm run move-generated-files && npm run extract-types","lint:fix":"eslint src/**/*.ts --fix","prebuild":"rimraf dist && shx mkdir -p dist && npm run generate && cpx \"src/grammar/generated/types/*.json\" dist/grammar/generated/types/ && node scripts/checkGrammarJsonFiles.js","test:mcp":"node src/cli/tests/run-mcp-server.test.mjs","cli:lexer":"ts-node src/cli/run-lexer.ts","cli:parser":"ts-node src/cli/run-parser.ts","prerelease":"node scripts/prereleaseGithub.js","test:watch":"vitest --root ../.. --project crl --no-file-parallelism","cli:emitter":"ts-node src/cli/run-emitter.ts","pretest:mcp":"npm run build","git:unmerged":"ts-node scripts/unmerged-branches.ts","cli:validator":"ts-node src/cli/run-validator.ts","extract-types":"node scripts/extractActivityTypes.js && node scripts/extractConceptTypes.js && node scripts/extractConceptValueTypes.js && node scripts/extractConceptShapes.js && node scripts/extractParameterTypes.js && node scripts/generateMetadataRegistry.js","test:coverage":"vitest run --root ../.. --project crl --no-file-parallelism --coverage","util:clonefsh":"npx ts-node scripts/clone-fsh-repo.ts","cli:ast:pretty":"ts-node src/cli/run-ast.ts --pretty","test:regression":"vitest run --root ../.. --project crl --no-file-parallelism --reporter=verbose","cli:lexer:pretty":"ts-node src/cli/run-lexer.ts --pretty","cli:parser:pretty":"ts-node src/cli/run-parser.ts --pretty","cli:template-match":"ts-node src/cli/run-template-match.ts","cli:validator:pretty":"ts-node src/cli/run-validator.ts --pretty","move-generated-files":"node scripts/moveGeneratedFiles.js","cli:transformer:fsh-to-crl":"ts-node src/cli/run-transformer-fsh-to-crl.ts"},"_npmUser":{"name":"rob_reynolds","email":"rob.reynolds@smiledigitalhealth.com"},"_npmVersion":"10.9.8","description":"Clinical Reasoning Language (CRL) parser and validator","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"cpx":"^1.2.1","zod":"^4.4.3","prompts":"^2.4.2","antlr4ts":"^0.5.0-alpha.4","fsh-sushi":"^3.15.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","eslint":"^8.57.1","rimraf":"^5.0.5","ts-node":"^10.9.2","onchange":"^7.1.0","prettier":"^3.5.3","typescript":"^5.3.3","@types/node":"^20.11.19","antlr4ts-cli":"^0.5.0-alpha.4","eslint-plugin-import":"^2.31.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.31.0","@typescript-eslint/eslint-plugin":"^8.31.0","eslint-import-resolver-typescript":"^4.3.4"},"_npmOperationalInternal":{"tmp":"tmp/crl_4.122.0_1788863471181_0.02927540591271338","host":"s3://npm-registry-packages-npm-production"}},"4.123.0":{"name":"@smile-digital-health/crl","version":"4.123.0","keywords":["clinical","practice","guideline","language","parser","validator"],"author":{"name":"CQIS"},"license":"Apache-2.0","_id":"@smile-digital-health/crl@4.123.0","maintainers":[{"name":"subashgandyer-smile","email":"subash.gandyer@smiledigitalhealth.com"},{"name":"jpercival","email":"jonathan.i.percival@gmail.com"},{"name":"rob_reynolds","email":"rob.reynolds@smiledigitalhealth.com"},{"name":"seenafa","email":"seena.farzaneh@smiledigitalhealth.com"},{"name":"aodahl-smile","email":"alexander.dahl@smiledigitalhealth.com"},{"name":"megan.weatherston","email":"megan.weatherston@smiledigitalhealth.com"},{"name":"zackaustin","email":"zack.austin@smiledigitalhealth.com"},{"name":"guptava","email":"vaibhav.gupta@smiledigitalhealth.com"},{"name":"dejawu","email":"npm@dejawu.me"},{"name":"jreyno77","email":"jreysteven1@gmail.com"},{"name":"antvaset","email":"antvaset@gmail.com"}],"bin":{"crl-ast":"dist/cli/run-ast.js","crl-lex":"dist/cli/run-lexer.js","crl-mcp":"dist/cli/run-mcp-server.js","crl-emit":"dist/cli/run-emitter.js","crl-parse":"dist/cli/run-parser.js","crl-validate":"dist/cli/run-validator.js","crl-emit-results":"dist/cli/run-emit-results.js","crl-check-fhir-ids":"dist/cli/run-check-fhir-ids.js","crl-template-match":"dist/cli/run-template-match.js","crl-canonicalize-source":"dist/cli/run-canonicalize-source.js","crl-generate-provenance":"dist/cli/run-generate-provenance.js","crl-validate-provenance":"dist/cli/run-validate-provenance.js","crl-normalize-provenance":"dist/cli/run-normalize-provenance.js"},"dist":{"shasum":"6ae36195a8583dec91a0927903bb74b50aed8382","tarball":"https://registry.npmjs.org/@smile-digital-health/crl/-/crl-4.123.0.tgz","fileCount":841,"integrity":"sha512-np3w6h53c/ofgZ2cf9qkItD2yrn93/OUeMBZBxVLacJxgFfzieM3b2j4uIGK9wgTHfv0yxxBoV2fQFLc7ZLrEA==","signatures":[{"sig":"MEYCIQCmmQxQ3LXAeEuqv4KIYwggqE94Hp6rN4Thyw3pkhToWAIhAIJPInMqFk1wSVtGKTzXJEYjNF378mPjl3/ibGoLHEFb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5490855},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./mcp":{"types":"./dist/mcp/index.d.ts","import":"./dist/mcp/index.js","require":"./dist/mcp/index.js"},"./provenance":{"types":"./dist/provenance/index.d.ts","import":"./dist/provenance/index.js","require":"./dist/provenance/index.js"},"./language-services":{"types":"./dist/language-services/index.d.ts","import":"./dist/language-services/index.js","require":"./dist/language-services/index.js"}},"gitHead":"8f62a14a99aa3823fc3c54fb47a2d5fa4009604c","scripts":{"lint":"eslint \"src/**/*.ts\" --quiet","test":"vitest run --root ../.. --project crl --no-file-parallelism && npm run test:mcp","build":"tsc && node scripts/copy-catalog.mjs","clean":"rimraf dist","start":"npm run build && node dist/index.js","watch":"onchange -i \"src/**/*.ts\" -- npm run build","format":"prettier --write 'src/**/*.ts'","cli:ast":"ts-node src/cli/run-ast.ts","cli:mcp":"ts-node src/cli/run-mcp-server.ts","compile":"tsc --noEmit","prepack":"npm run build","generate":"antlr4ts -Xforce-atn src/grammar/CRLLexer.g4 && antlr4ts -Xforce-atn -visitor src/grammar/CRLParser.g4 && antlr4ts -Xforce-atn src/grammar/CELLexer.g4 && antlr4ts -Xforce-atn -visitor src/grammar/CELParser.g4 && npm run move-generated-files && npm run extract-types","lint:fix":"eslint src/**/*.ts --fix","prebuild":"rimraf dist && shx mkdir -p dist && npm run generate && cpx \"src/grammar/generated/types/*.json\" dist/grammar/generated/types/ && node scripts/checkGrammarJsonFiles.js","test:mcp":"node src/cli/tests/run-mcp-server.test.mjs","cli:lexer":"ts-node src/cli/run-lexer.ts","cli:parser":"ts-node src/cli/run-parser.ts","prerelease":"node scripts/prereleaseGithub.js","test:watch":"vitest --root ../.. --project crl --no-file-parallelism","cli:emitter":"ts-node src/cli/run-emitter.ts","pretest:mcp":"npm run build","git:unmerged":"ts-node scripts/unmerged-branches.ts","cli:validator":"ts-node src/cli/run-validator.ts","extract-types":"node scripts/extractActivityTypes.js && node scripts/extractConceptTypes.js && node scripts/extractConceptValueTypes.js && node scripts/extractConceptShapes.js && node scripts/extractParameterTypes.js && node scripts/generateMetadataRegistry.js","test:coverage":"vitest run --root ../.. --project crl --no-file-parallelism --coverage","util:clonefsh":"npx ts-node scripts/clone-fsh-repo.ts","cli:ast:pretty":"ts-node src/cli/run-ast.ts --pretty","test:regression":"vitest run --root ../.. --project crl --no-file-parallelism --reporter=verbose","cli:lexer:pretty":"ts-node src/cli/run-lexer.ts --pretty","cli:parser:pretty":"ts-node src/cli/run-parser.ts --pretty","cli:template-match":"ts-node src/cli/run-template-match.ts","cli:validator:pretty":"ts-node src/cli/run-validator.ts --pretty","move-generated-files":"node scripts/moveGeneratedFiles.js","cli:transformer:fsh-to-crl":"ts-node src/cli/run-transformer-fsh-to-crl.ts"},"_npmUser":{"name":"rob_reynolds","email":"rob.reynolds@smiledigitalhealth.com"},"_npmVersion":"10.9.8","description":"Clinical Reasoning Language (CRL) parser and validator","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"cpx":"^1.2.1","zod":"^4.4.3","prompts":"^2.4.2","antlr4ts":"^0.5.0-alpha.4","fsh-sushi":"^3.15.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","eslint":"^8.57.1","rimraf":"^5.0.5","ts-node":"^10.9.2","onchange":"^7.1.0","prettier":"^3.5.3","typescript":"^5.3.3","@types/node":"^20.11.19","antlr4ts-cli":"^0.5.0-alpha.4","eslint-plugin-import":"^2.31.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.31.0","@typescript-eslint/eslint-plugin":"^8.31.0","eslint-import-resolver-typescript":"^4.3.4"},"_npmOperationalInternal":{"tmp":"tmp/crl_4.123.0_1788888355984_0.8618583976944916","host":"s3://npm-registry-packages-npm-production"}},"5.0.0":{"name":"@smile-digital-health/crl","version":"5.0.0","keywords":["clinical","practice","guideline","language","parser","validator"],"author":{"name":"CQIS"},"license":"Apache-2.0","_id":"@smile-digital-health/crl@5.0.0","maintainers":[{"name":"subashgandyer-smile","email":"subash.gandyer@smiledigitalhealth.com"},{"name":"jpercival","email":"jonathan.i.percival@gmail.com"},{"name":"rob_reynolds","email":"rob.reynolds@smiledigitalhealth.com"},{"name":"seenafa","email":"seena.farzaneh@smiledigitalhealth.com"},{"name":"aodahl-smile","email":"alexander.dahl@smiledigitalhealth.com"},{"name":"megan.weatherston","email":"megan.weatherston@smiledigitalhealth.com"},{"name":"zackaustin","email":"zack.austin@smiledigitalhealth.com"},{"name":"guptava","email":"vaibhav.gupta@smiledigitalhealth.com"},{"name":"dejawu","email":"npm@dejawu.me"},{"name":"jreyno77","email":"jreysteven1@gmail.com"},{"name":"antvaset","email":"antvaset@gmail.com"}],"bin":{"crl-ast":"dist/cli/run-ast.js","crl-lex":"dist/cli/run-lexer.js","crl-mcp":"dist/cli/run-mcp-server.js","crl-emit":"dist/cli/run-emitter.js","crl-parse":"dist/cli/run-parser.js","crl-validate":"dist/cli/run-validator.js","crl-emit-results":"dist/cli/run-emit-results.js","crl-check-fhir-ids":"dist/cli/run-check-fhir-ids.js","crl-template-match":"dist/cli/run-template-match.js","crl-canonicalize-source":"dist/cli/run-canonicalize-source.js","crl-generate-provenance":"dist/cli/run-generate-provenance.js","crl-validate-provenance":"dist/cli/run-validate-provenance.js","crl-normalize-provenance":"dist/cli/run-normalize-provenance.js"},"dist":{"shasum":"5f44b61bc85cb0e1c5a268c89e9f5e31603b475c","tarball":"https://registry.npmjs.org/@smile-digital-health/crl/-/crl-5.0.0.tgz","fileCount":853,"integrity":"sha512-DpY6Ee7cBzKzkzlUFqgtciBZpAfRUoPhpyRvXdC08PcMIAKSIAJZKOUqU2zyt4lZUTKsTrpvdh01brCSgZWzew==","signatures":[{"sig":"MEQCICkswtV/+z1FiAMe7ooq0sds+CHtREx9QNQXp56YJxdVAiB1OCg+wXbxxM2inBSWWYUsQuKoccRb5qiP4kt4dptUSQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5433073},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./mcp":{"types":"./dist/mcp/index.d.ts","import":"./dist/mcp/index.js","require":"./dist/mcp/index.js"},"./provenance":{"types":"./dist/provenance/index.d.ts","import":"./dist/provenance/index.js","require":"./dist/provenance/index.js"},"./language-services":{"types":"./dist/language-services/index.d.ts","import":"./dist/language-services/index.js","require":"./dist/language-services/index.js"}},"gitHead":"345af5782c61188b11de87b788aecf0276421f1a","scripts":{"lint":"eslint \"src/**/*.ts\" --quiet","test":"vitest run --root ../.. --project crl --no-file-parallelism && npm run test:mcp","build":"tsc && node scripts/copy-catalog.mjs","clean":"rimraf dist","start":"npm run build && node dist/index.js","watch":"onchange -i \"src/**/*.ts\" -- npm run build","format":"prettier --write 'src/**/*.ts'","cli:ast":"ts-node src/cli/run-ast.ts","cli:mcp":"ts-node src/cli/run-mcp-server.ts","compile":"tsc --noEmit","prepack":"npm run build","generate":"antlr4ts -Xforce-atn src/grammar/CRLLexer.g4 && antlr4ts -Xforce-atn -visitor src/grammar/CRLParser.g4 && antlr4ts -Xforce-atn src/grammar/CELLexer.g4 && antlr4ts -Xforce-atn -visitor src/grammar/CELParser.g4 && npm run move-generated-files && npm run extract-types","lint:fix":"eslint src/**/*.ts --fix","prebuild":"rimraf dist && shx mkdir -p dist && npm run generate && cpx \"src/grammar/generated/types/*.json\" dist/grammar/generated/types/ && node scripts/checkGrammarJsonFiles.js","test:mcp":"node src/cli/tests/run-mcp-server.test.mjs","cli:lexer":"ts-node src/cli/run-lexer.ts","cli:parser":"ts-node src/cli/run-parser.ts","prerelease":"node scripts/prereleaseGithub.js","test:watch":"vitest --root ../.. --project crl --no-file-parallelism","cli:emitter":"ts-node src/cli/run-emitter.ts","pretest:mcp":"npm run build","git:unmerged":"ts-node scripts/unmerged-branches.ts","cli:validator":"ts-node src/cli/run-validator.ts","extract-types":"node scripts/extractActivityTypes.js && node scripts/extractConceptTypes.js && node scripts/extractConceptValueTypes.js && node scripts/extractConceptShapes.js && node scripts/extractParameterTypes.js && node scripts/generateMetadataRegistry.js","test:coverage":"vitest run --root ../.. --project crl --no-file-parallelism --coverage","util:clonefsh":"npx ts-node scripts/clone-fsh-repo.ts","cli:ast:pretty":"ts-node src/cli/run-ast.ts --pretty","test:regression":"vitest run --root ../.. --project crl --no-file-parallelism --reporter=verbose","cli:lexer:pretty":"ts-node src/cli/run-lexer.ts --pretty","cli:parser:pretty":"ts-node src/cli/run-parser.ts --pretty","cli:template-match":"ts-node src/cli/run-template-match.ts","cli:validator:pretty":"ts-node src/cli/run-validator.ts --pretty","move-generated-files":"node scripts/moveGeneratedFiles.js","cli:transformer:fsh-to-crl":"ts-node src/cli/run-transformer-fsh-to-crl.ts"},"_npmUser":{"name":"rob_reynolds","email":"rob.reynolds@smiledigitalhealth.com"},"_npmVersion":"10.9.8","description":"Clinical Reasoning Language (CRL) parser and validator","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"cpx":"^1.2.1","zod":"^4.4.3","prompts":"^2.4.2","antlr4ts":"^0.5.0-alpha.4","fsh-sushi":"^3.15.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","eslint":"^8.57.1","rimraf":"^5.0.5","ts-node":"^10.9.2","onchange":"^7.1.0","prettier":"^3.5.3","typescript":"^5.3.3","@types/node":"^20.11.19","antlr4ts-cli":"^0.5.0-alpha.4","eslint-plugin-import":"^2.31.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.31.0","@typescript-eslint/eslint-plugin":"^8.31.0","eslint-import-resolver-typescript":"^4.3.4"},"_npmOperationalInternal":{"tmp":"tmp/crl_5.0.0_1788911537507_0.10411069030863862","host":"s3://npm-registry-packages-npm-production"}},"5.1.0":{"name":"@smile-digital-health/crl","version":"5.1.0","keywords":["clinical","practice","guideline","language","parser","validator"],"author":{"name":"CQIS"},"license":"Apache-2.0","_id":"@smile-digital-health/crl@5.1.0","maintainers":[{"name":"subashgandyer-smile","email":"subash.gandyer@smiledigitalhealth.com"},{"name":"jpercival","email":"jonathan.i.percival@gmail.com"},{"name":"rob_reynolds","email":"rob.reynolds@smiledigitalhealth.com"},{"name":"seenafa","email":"seena.farzaneh@smiledigitalhealth.com"},{"name":"aodahl-smile","email":"alexander.dahl@smiledigitalhealth.com"},{"name":"megan.weatherston","email":"megan.weatherston@smiledigitalhealth.com"},{"name":"zackaustin","email":"zack.austin@smiledigitalhealth.com"},{"name":"guptava","email":"vaibhav.gupta@smiledigitalhealth.com"},{"name":"dejawu","email":"npm@dejawu.me"},{"name":"jreyno77","email":"jreysteven1@gmail.com"},{"name":"antvaset","email":"antvaset@gmail.com"}],"bin":{"crl-ast":"dist/cli/run-ast.js","crl-lex":"dist/cli/run-lexer.js","crl-mcp":"dist/cli/run-mcp-server.js","crl-emit":"dist/cli/run-emitter.js","crl-parse":"dist/cli/run-parser.js","crl-validate":"dist/cli/run-validator.js","crl-emit-results":"dist/cli/run-emit-results.js","crl-check-fhir-ids":"dist/cli/run-check-fhir-ids.js","crl-template-match":"dist/cli/run-template-match.js","crl-canonicalize-source":"dist/cli/run-canonicalize-source.js","crl-generate-provenance":"dist/cli/run-generate-provenance.js","crl-validate-provenance":"dist/cli/run-validate-provenance.js","crl-normalize-provenance":"dist/cli/run-normalize-provenance.js"},"dist":{"shasum":"f9ebe754d5e0414368d0f7b5339ed66b90411aab","tarball":"https://registry.npmjs.org/@smile-digital-health/crl/-/crl-5.1.0.tgz","fileCount":866,"integrity":"sha512-lEbWQ0REjRyLb4s4rJOa/Cq8LfjJov00wg+C8UneJNXs1Pgma41I6Uphd2wxprEhw3eVUKrxRTN793xk8+NGQw==","signatures":[{"sig":"MEYCIQDWkxerVXC3LdhMkpTRgEsHmBCGMt2xvlce0NlgneyZ0QIhAKIlOdzs6/4X5w0kszd+sejU0WhnMzvkPQur9wEn1Cob","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5478562},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./mcp":{"types":"./dist/mcp/index.d.ts","import":"./dist/mcp/index.js","require":"./dist/mcp/index.js"},"./provenance":{"types":"./dist/provenance/index.d.ts","import":"./dist/provenance/index.js","require":"./dist/provenance/index.js"},"./language-services":{"types":"./dist/language-services/index.d.ts","import":"./dist/language-services/index.js","require":"./dist/language-services/index.js"}},"gitHead":"6ef4357a80f99a0e91a4ddb1639faad791889bef","scripts":{"lint":"eslint \"src/**/*.ts\" --quiet","test":"vitest run --root ../.. --project crl --no-file-parallelism && npm run test:mcp","build":"tsc && node scripts/copy-catalog.mjs","clean":"rimraf dist","start":"npm run build && node dist/index.js","watch":"onchange -i \"src/**/*.ts\" -- npm run build","format":"prettier --write 'src/**/*.ts'","cli:ast":"ts-node src/cli/run-ast.ts","cli:mcp":"ts-node src/cli/run-mcp-server.ts","compile":"tsc --noEmit","prepack":"npm run build","generate":"antlr4ts -Xforce-atn src/grammar/CRLLexer.g4 && antlr4ts -Xforce-atn -visitor src/grammar/CRLParser.g4 && antlr4ts -Xforce-atn src/grammar/CELLexer.g4 && antlr4ts -Xforce-atn -visitor src/grammar/CELParser.g4 && npm run move-generated-files && npm run extract-types","lint:fix":"eslint src/**/*.ts --fix","prebuild":"rimraf dist && shx mkdir -p dist && npm run generate && cpx \"src/grammar/generated/types/*.json\" dist/grammar/generated/types/ && node scripts/checkGrammarJsonFiles.js","test:mcp":"node src/cli/tests/run-mcp-server.test.mjs","cli:lexer":"ts-node src/cli/run-lexer.ts","cli:parser":"ts-node src/cli/run-parser.ts","prerelease":"node scripts/prereleaseGithub.js","test:watch":"vitest --root ../.. --project crl --no-file-parallelism","cli:emitter":"ts-node src/cli/run-emitter.ts","pretest:mcp":"npm run build","git:unmerged":"ts-node scripts/unmerged-branches.ts","cli:validator":"ts-node src/cli/run-validator.ts","extract-types":"node scripts/extractActivityTypes.js && node scripts/extractConceptTypes.js && node scripts/extractConceptValueTypes.js && node scripts/extractConceptShapes.js && node scripts/extractParameterTypes.js && node scripts/generateMetadataRegistry.js","test:coverage":"vitest run --root ../.. --project crl --no-file-parallelism --coverage","util:clonefsh":"npx ts-node scripts/clone-fsh-repo.ts","cli:ast:pretty":"ts-node src/cli/run-ast.ts --pretty","test:regression":"vitest run --root ../.. --project crl --no-file-parallelism --reporter=verbose","cli:lexer:pretty":"ts-node src/cli/run-lexer.ts --pretty","cli:parser:pretty":"ts-node src/cli/run-parser.ts --pretty","cli:template-match":"ts-node src/cli/run-template-match.ts","cli:validator:pretty":"ts-node src/cli/run-validator.ts --pretty","move-generated-files":"node scripts/moveGeneratedFiles.js","cli:transformer:fsh-to-crl":"ts-node src/cli/run-transformer-fsh-to-crl.ts"},"_npmUser":{"name":"rob_reynolds","email":"rob.reynolds@smiledigitalhealth.com"},"_npmVersion":"10.9.8","description":"Clinical Reasoning Language (CRL) parser and validator","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"cpx":"^1.2.1","zod":"^4.4.3","prompts":"^2.4.2","antlr4ts":"^0.5.0-alpha.4","fsh-sushi":"^3.15.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","eslint":"^8.57.1","rimraf":"^5.0.5","ts-node":"^10.9.2","onchange":"^7.1.0","prettier":"^3.5.3","typescript":"^5.3.3","@types/node":"^20.11.19","markdown-it":"14.2.0","antlr4ts-cli":"^0.5.0-alpha.4","eslint-plugin-import":"^2.31.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.31.0","@typescript-eslint/eslint-plugin":"^8.31.0","eslint-import-resolver-typescript":"^4.3.4"},"_npmOperationalInternal":{"tmp":"tmp/crl_5.1.0_1788960538405_0.8146270017592037","host":"s3://npm-registry-packages-npm-production"}},"5.1.1":{"name":"@smile-digital-health/crl","version":"5.1.1","keywords":["clinical","practice","guideline","language","parser","validator"],"author":{"name":"CQIS"},"license":"Apache-2.0","_id":"@smile-digital-health/crl@5.1.1","maintainers":[{"name":"subashgandyer-smile","email":"subash.gandyer@smiledigitalhealth.com"},{"name":"jpercival","email":"jonathan.i.percival@gmail.com"},{"name":"rob_reynolds","email":"rob.reynolds@smiledigitalhealth.com"},{"name":"seenafa","email":"seena.farzaneh@smiledigitalhealth.com"},{"name":"aodahl-smile","email":"alexander.dahl@smiledigitalhealth.com"},{"name":"megan.weatherston","email":"megan.weatherston@smiledigitalhealth.com"},{"name":"zackaustin","email":"zack.austin@smiledigitalhealth.com"},{"name":"guptava","email":"vaibhav.gupta@smiledigitalhealth.com"},{"name":"dejawu","email":"npm@dejawu.me"},{"name":"jreyno77","email":"jreysteven1@gmail.com"},{"name":"antvaset","email":"antvaset@gmail.com"}],"bin":{"crl-ast":"dist/cli/run-ast.js","crl-lex":"dist/cli/run-lexer.js","crl-mcp":"dist/cli/run-mcp-server.js","crl-emit":"dist/cli/run-emitter.js","crl-parse":"dist/cli/run-parser.js","crl-validate":"dist/cli/run-validator.js","crl-emit-results":"dist/cli/run-emit-results.js","crl-check-fhir-ids":"dist/cli/run-check-fhir-ids.js","crl-template-match":"dist/cli/run-template-match.js","crl-canonicalize-source":"dist/cli/run-canonicalize-source.js","crl-generate-provenance":"dist/cli/run-generate-provenance.js","crl-validate-provenance":"dist/cli/run-validate-provenance.js","crl-normalize-provenance":"dist/cli/run-normalize-provenance.js"},"dist":{"shasum":"316216ad386f03f3f41cecd15bae4c169c4204fa","tarball":"https://registry.npmjs.org/@smile-digital-health/crl/-/crl-5.1.1.tgz","fileCount":866,"integrity":"sha512-zBx13MhV9vlqsc1Gci/rGQIoOvDmecM/t+XpIg+fu3it0d9xXUBG4HVFn/bOI4C0eficgaoWz+DLMrSkZSSXpg==","signatures":[{"sig":"MEQCICYu2jkgi6+Qm4ozILZBKb23gUehVydSF6jhPKqOEsLrAiBfGsFZyWxj7fQ5QGclkp4Wh5oLGNAA1FAy6N30Mbvfyw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5481520},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./mcp":{"types":"./dist/mcp/index.d.ts","import":"./dist/mcp/index.js","require":"./dist/mcp/index.js"},"./provenance":{"types":"./dist/provenance/index.d.ts","import":"./dist/provenance/index.js","require":"./dist/provenance/index.js"},"./language-services":{"types":"./dist/language-services/index.d.ts","import":"./dist/language-services/index.js","require":"./dist/language-services/index.js"}},"gitHead":"6d3e06831ee3e75a666a08651cc9832e22f080da","scripts":{"lint":"eslint \"src/**/*.ts\" --quiet","test":"vitest run --root ../.. --project crl --no-file-parallelism && npm run test:mcp","build":"tsc && node scripts/copy-catalog.mjs","clean":"rimraf dist","start":"npm run build && node dist/index.js","watch":"onchange -i \"src/**/*.ts\" -- npm run build","format":"prettier --write 'src/**/*.ts'","cli:ast":"ts-node src/cli/run-ast.ts","cli:mcp":"ts-node src/cli/run-mcp-server.ts","compile":"tsc --noEmit","prepack":"npm run build","generate":"antlr4ts -Xforce-atn src/grammar/CRLLexer.g4 && antlr4ts -Xforce-atn -visitor src/grammar/CRLParser.g4 && antlr4ts -Xforce-atn src/grammar/CELLexer.g4 && antlr4ts -Xforce-atn -visitor src/grammar/CELParser.g4 && npm run move-generated-files && npm run extract-types","lint:fix":"eslint src/**/*.ts --fix","prebuild":"rimraf dist && shx mkdir -p dist && npm run generate && cpx \"src/grammar/generated/types/*.json\" dist/grammar/generated/types/ && node scripts/checkGrammarJsonFiles.js","test:mcp":"node src/cli/tests/run-mcp-server.test.mjs","cli:lexer":"ts-node src/cli/run-lexer.ts","cli:parser":"ts-node src/cli/run-parser.ts","prerelease":"node scripts/prereleaseGithub.js","test:watch":"vitest --root ../.. --project crl --no-file-parallelism","cli:emitter":"ts-node src/cli/run-emitter.ts","pretest:mcp":"npm run build","git:unmerged":"ts-node scripts/unmerged-branches.ts","cli:validator":"ts-node src/cli/run-validator.ts","extract-types":"node scripts/extractActivityTypes.js && node scripts/extractConceptTypes.js && node scripts/extractConceptValueTypes.js && node scripts/extractConceptShapes.js && node scripts/extractParameterTypes.js && node scripts/generateMetadataRegistry.js","test:coverage":"vitest run --root ../.. --project crl --no-file-parallelism --coverage","util:clonefsh":"npx ts-node scripts/clone-fsh-repo.ts","cli:ast:pretty":"ts-node src/cli/run-ast.ts --pretty","test:regression":"vitest run --root ../.. --project crl --no-file-parallelism --reporter=verbose","cli:lexer:pretty":"ts-node src/cli/run-lexer.ts --pretty","cli:parser:pretty":"ts-node src/cli/run-parser.ts --pretty","cli:template-match":"ts-node src/cli/run-template-match.ts","cli:validator:pretty":"ts-node src/cli/run-validator.ts --pretty","move-generated-files":"node scripts/moveGeneratedFiles.js","cli:transformer:fsh-to-crl":"ts-node src/cli/run-transformer-fsh-to-crl.ts"},"_npmUser":{"name":"rob_reynolds","email":"rob.reynolds@smiledigitalhealth.com"},"_npmVersion":"10.9.8","description":"Clinical Reasoning Language (CRL) parser and validator","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"cpx":"^1.2.1","zod":"^4.4.3","prompts":"^2.4.2","antlr4ts":"^0.5.0-alpha.4","fsh-sushi":"^3.15.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","eslint":"^8.57.1","rimraf":"^5.0.5","ts-node":"^10.9.2","onchange":"^7.1.0","prettier":"^3.5.3","typescript":"^5.3.3","@types/node":"^20.11.19","markdown-it":"14.2.0","antlr4ts-cli":"^0.5.0-alpha.4","eslint-plugin-import":"^2.31.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.31.0","@typescript-eslint/eslint-plugin":"^8.31.0","eslint-import-resolver-typescript":"^4.3.4"},"_npmOperationalInternal":{"tmp":"tmp/crl_5.1.1_1788963634500_0.39713445008600323","host":"s3://npm-registry-packages-npm-production"}},"5.2.0":{"name":"@smile-digital-health/crl","version":"5.2.0","keywords":["clinical","practice","guideline","language","parser","validator"],"author":{"name":"CQIS"},"license":"Apache-2.0","_id":"@smile-digital-health/crl@5.2.0","maintainers":[{"name":"subashgandyer-smile","email":"subash.gandyer@smiledigitalhealth.com"},{"name":"jpercival","email":"jonathan.i.percival@gmail.com"},{"name":"rob_reynolds","email":"rob.reynolds@smiledigitalhealth.com"},{"name":"seenafa","email":"seena.farzaneh@smiledigitalhealth.com"},{"name":"aodahl-smile","email":"alexander.dahl@smiledigitalhealth.com"},{"name":"megan.weatherston","email":"megan.weatherston@smiledigitalhealth.com"},{"name":"zackaustin","email":"zack.austin@smiledigitalhealth.com"},{"name":"guptava","email":"vaibhav.gupta@smiledigitalhealth.com"},{"name":"dejawu","email":"npm@dejawu.me"},{"name":"jreyno77","email":"jreysteven1@gmail.com"},{"name":"antvaset","email":"antvaset@gmail.com"}],"bin":{"crl-ast":"dist/cli/run-ast.js","crl-lex":"dist/cli/run-lexer.js","crl-mcp":"dist/cli/run-mcp-server.js","crl-emit":"dist/cli/run-emitter.js","crl-parse":"dist/cli/run-parser.js","crl-validate":"dist/cli/run-validator.js","crl-emit-results":"dist/cli/run-emit-results.js","crl-check-fhir-ids":"dist/cli/run-check-fhir-ids.js","crl-template-match":"dist/cli/run-template-match.js","crl-canonicalize-source":"dist/cli/run-canonicalize-source.js","crl-generate-provenance":"dist/cli/run-generate-provenance.js","crl-validate-provenance":"dist/cli/run-validate-provenance.js","crl-normalize-provenance":"dist/cli/run-normalize-provenance.js"},"dist":{"shasum":"b838c7b1b367ea06a5b81777f94b07f5de26e0a8","tarball":"https://registry.npmjs.org/@smile-digital-health/crl/-/crl-5.2.0.tgz","fileCount":866,"integrity":"sha512-IRRM2xMJSDQ1+74kyWMBRYWDgUppD3RO+s9L+Ye7faChePiNLyJL6GN3JEau6dNUfRlRdhV8ut7H0RCY6HtM9Q==","signatures":[{"sig":"MEQCICEMEgLhmtIqNHXQpoid/B8cZcWx7JxbaBdsT4WURG/xAiALUp/hnxHN701eXXlZaAcq/eRXJ9dfAuvyZkx7twXcwA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5503030},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./mcp":{"types":"./dist/mcp/index.d.ts","import":"./dist/mcp/index.js","require":"./dist/mcp/index.js"},"./provenance":{"types":"./dist/provenance/index.d.ts","import":"./dist/provenance/index.js","require":"./dist/provenance/index.js"},"./language-services":{"types":"./dist/language-services/index.d.ts","import":"./dist/language-services/index.js","require":"./dist/language-services/index.js"}},"gitHead":"6e62075c57ca81b984f243435f389d37ae1dc4af","scripts":{"lint":"eslint \"src/**/*.ts\" --quiet","test":"vitest run --root ../.. --project crl --no-file-parallelism && npm run test:mcp","build":"tsc && node scripts/copy-catalog.mjs","clean":"rimraf dist","start":"npm run build && node dist/index.js","watch":"onchange -i \"src/**/*.ts\" -- npm run build","format":"prettier --write 'src/**/*.ts'","cli:ast":"ts-node src/cli/run-ast.ts","cli:mcp":"ts-node src/cli/run-mcp-server.ts","compile":"tsc --noEmit","prepack":"npm run build","generate":"antlr4ts -Xforce-atn src/grammar/CRLLexer.g4 && antlr4ts -Xforce-atn -visitor src/grammar/CRLParser.g4 && antlr4ts -Xforce-atn src/grammar/CELLexer.g4 && antlr4ts -Xforce-atn -visitor src/grammar/CELParser.g4 && npm run move-generated-files && npm run extract-types","lint:fix":"eslint src/**/*.ts --fix","prebuild":"rimraf dist && shx mkdir -p dist && npm run generate && cpx \"src/grammar/generated/types/*.json\" dist/grammar/generated/types/ && node scripts/checkGrammarJsonFiles.js","test:mcp":"node src/cli/tests/run-mcp-server.test.mjs","cli:lexer":"ts-node src/cli/run-lexer.ts","cli:parser":"ts-node src/cli/run-parser.ts","prerelease":"node scripts/prereleaseGithub.js","test:watch":"vitest --root ../.. --project crl --no-file-parallelism","cli:emitter":"ts-node src/cli/run-emitter.ts","pretest:mcp":"npm run build","git:unmerged":"ts-node scripts/unmerged-branches.ts","cli:validator":"ts-node src/cli/run-validator.ts","extract-types":"node scripts/extractActivityTypes.js && node scripts/extractConceptTypes.js && node scripts/extractConceptValueTypes.js && node scripts/extractConceptShapes.js && node scripts/extractParameterTypes.js && node scripts/generateMetadataRegistry.js","test:coverage":"vitest run --root ../.. --project crl --no-file-parallelism --coverage","util:clonefsh":"npx ts-node scripts/clone-fsh-repo.ts","cli:ast:pretty":"ts-node src/cli/run-ast.ts --pretty","test:regression":"vitest run --root ../.. --project crl --no-file-parallelism --reporter=verbose","cli:lexer:pretty":"ts-node src/cli/run-lexer.ts --pretty","cli:parser:pretty":"ts-node src/cli/run-parser.ts --pretty","cli:template-match":"ts-node src/cli/run-template-match.ts","cli:validator:pretty":"ts-node src/cli/run-validator.ts --pretty","move-generated-files":"node scripts/moveGeneratedFiles.js","cli:transformer:fsh-to-crl":"ts-node src/cli/run-transformer-fsh-to-crl.ts"},"_npmUser":{"name":"rob_reynolds","email":"rob.reynolds@smiledigitalhealth.com"},"_npmVersion":"10.9.8","description":"Clinical Reasoning Language (CRL) parser and validator","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"cpx":"^1.2.1","zod":"^4.4.3","prompts":"^2.4.2","antlr4ts":"^0.5.0-alpha.4","fsh-sushi":"^3.15.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","eslint":"^8.57.1","rimraf":"^5.0.5","ts-node":"^10.9.2","onchange":"^7.1.0","prettier":"^3.5.3","typescript":"^5.3.3","@types/node":"^20.11.19","markdown-it":"14.2.0","antlr4ts-cli":"^0.5.0-alpha.4","eslint-plugin-import":"^2.31.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.31.0","@typescript-eslint/eslint-plugin":"^8.31.0","eslint-import-resolver-typescript":"^4.3.4"},"_npmOperationalInternal":{"tmp":"tmp/crl_5.2.0_1789037203802_0.34107567154562557","host":"s3://npm-registry-packages-npm-production"}},"5.3.0":{"name":"@smile-digital-health/crl","version":"5.3.0","keywords":["clinical","practice","guideline","language","parser","validator"],"author":{"name":"CQIS"},"license":"Apache-2.0","_id":"@smile-digital-health/crl@5.3.0","maintainers":[{"name":"subashgandyer-smile","email":"subash.gandyer@smiledigitalhealth.com"},{"name":"jpercival","email":"jonathan.i.percival@gmail.com"},{"name":"rob_reynolds","email":"rob.reynolds@smiledigitalhealth.com"},{"name":"seenafa","email":"seena.farzaneh@smiledigitalhealth.com"},{"name":"aodahl-smile","email":"alexander.dahl@smiledigitalhealth.com"},{"name":"megan.weatherston","email":"megan.weatherston@smiledigitalhealth.com"},{"name":"zackaustin","email":"zack.austin@smiledigitalhealth.com"},{"name":"guptava","email":"vaibhav.gupta@smiledigitalhealth.com"},{"name":"dejawu","email":"npm@dejawu.me"},{"name":"jreyno77","email":"jreysteven1@gmail.com"},{"name":"antvaset","email":"antvaset@gmail.com"}],"bin":{"crl-ast":"dist/cli/run-ast.js","crl-lex":"dist/cli/run-lexer.js","crl-mcp":"dist/cli/run-mcp-server.js","crl-emit":"dist/cli/run-emitter.js","crl-parse":"dist/cli/run-parser.js","crl-validate":"dist/cli/run-validator.js","crl-emit-results":"dist/cli/run-emit-results.js","crl-check-fhir-ids":"dist/cli/run-check-fhir-ids.js","crl-template-match":"dist/cli/run-template-match.js","crl-canonicalize-source":"dist/cli/run-canonicalize-source.js","crl-generate-provenance":"dist/cli/run-generate-provenance.js","crl-validate-provenance":"dist/cli/run-validate-provenance.js","crl-normalize-provenance":"dist/cli/run-normalize-provenance.js"},"dist":{"shasum":"ff10277f43be254ea854c472a16edc1cb5f65dee","tarball":"https://registry.npmjs.org/@smile-digital-health/crl/-/crl-5.3.0.tgz","fileCount":866,"integrity":"sha512-Tk6OjWZxKr3c34fJ8n0hq+Tu0n+JvAgk3UMf26tjVuiQXT0c7nOP0kzxGiDC9rra75oPG3xEEb4gFtoqBzCKbg==","signatures":[{"sig":"MEYCIQDruOyv+zCW0RQlCz/6Uiswk9JNaD6DtQPfx4UpQIwqIwIhAJj3Qg+Xcb2dHldR0TMbfkJx1wd1pSQKrBZC4/M92QX8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIDITYT7jhfZxf8KuFyQfIBkZhQbhvGk391k8T9Q60NuCAiBALKHYUyEq4QoN+hjn8qrecfrbW3ZfRvn0+mr7NqT46w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5515494},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./mcp":{"types":"./dist/mcp/index.d.ts","import":"./dist/mcp/index.js","require":"./dist/mcp/index.js"},"./provenance":{"types":"./dist/provenance/index.d.ts","import":"./dist/provenance/index.js","require":"./dist/provenance/index.js"},"./language-services":{"types":"./dist/language-services/index.d.ts","import":"./dist/language-services/index.js","require":"./dist/language-services/index.js"}},"gitHead":"11004de8c03f6d8781f19756bc54b80e37a2d209","scripts":{"lint":"eslint \"src/**/*.ts\" --quiet","test":"vitest run --root ../.. --project crl --no-file-parallelism && npm run test:mcp","build":"tsc && node scripts/copy-catalog.mjs","clean":"rimraf dist","start":"npm run build && node dist/index.js","watch":"onchange -i \"src/**/*.ts\" -- npm run build","format":"prettier --write 'src/**/*.ts'","cli:ast":"ts-node src/cli/run-ast.ts","cli:mcp":"ts-node src/cli/run-mcp-server.ts","compile":"tsc --noEmit","prepack":"npm run build","generate":"antlr4ts -Xforce-atn src/grammar/CRLLexer.g4 && antlr4ts -Xforce-atn -visitor src/grammar/CRLParser.g4 && antlr4ts -Xforce-atn src/grammar/CELLexer.g4 && antlr4ts -Xforce-atn -visitor src/grammar/CELParser.g4 && npm run move-generated-files && npm run extract-types","lint:fix":"eslint src/**/*.ts --fix","prebuild":"rimraf dist && shx mkdir -p dist && npm run generate && cpx \"src/grammar/generated/types/*.json\" dist/grammar/generated/types/ && node scripts/checkGrammarJsonFiles.js","test:mcp":"node src/cli/tests/run-mcp-server.test.mjs","cli:lexer":"ts-node src/cli/run-lexer.ts","cli:parser":"ts-node src/cli/run-parser.ts","prerelease":"node scripts/prereleaseGithub.js","test:watch":"vitest --root ../.. --project crl --no-file-parallelism","cli:emitter":"ts-node src/cli/run-emitter.ts","pretest:mcp":"npm run build","git:unmerged":"ts-node scripts/unmerged-branches.ts","cli:validator":"ts-node src/cli/run-validator.ts","extract-types":"node scripts/extractActivityTypes.js && node scripts/extractConceptTypes.js && node scripts/extractConceptValueTypes.js && node scripts/extractConceptShapes.js && node scripts/extractParameterTypes.js && node scripts/generateMetadataRegistry.js","test:coverage":"vitest run --root ../.. --project crl --no-file-parallelism --coverage","util:clonefsh":"npx ts-node scripts/clone-fsh-repo.ts","cli:ast:pretty":"ts-node src/cli/run-ast.ts --pretty","test:regression":"vitest run --root ../.. --project crl --no-file-parallelism --reporter=verbose","cli:lexer:pretty":"ts-node src/cli/run-lexer.ts --pretty","cli:parser:pretty":"ts-node src/cli/run-parser.ts --pretty","cli:template-match":"ts-node src/cli/run-template-match.ts","cli:validator:pretty":"ts-node src/cli/run-validator.ts --pretty","move-generated-files":"node scripts/moveGeneratedFiles.js","cli:transformer:fsh-to-crl":"ts-node src/cli/run-transformer-fsh-to-crl.ts"},"_npmUser":{"name":"rob_reynolds","email":"rob.reynolds@smiledigitalhealth.com"},"_npmVersion":"10.9.8","description":"Clinical Reasoning Language (CRL) parser and validator","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"cpx":"^1.2.1","zod":"^4.4.3","prompts":"^2.4.2","antlr4ts":"^0.5.0-alpha.4","fsh-sushi":"^3.15.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","eslint":"^8.57.1","rimraf":"^5.0.5","ts-node":"^10.9.2","onchange":"^7.1.0","prettier":"^3.5.3","typescript":"^5.3.3","@types/node":"^20.11.19","markdown-it":"14.2.0","antlr4ts-cli":"^0.5.0-alpha.4","eslint-plugin-import":"^2.31.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.31.0","@typescript-eslint/eslint-plugin":"^8.31.0","eslint-import-resolver-typescript":"^4.3.4"},"_npmOperationalInternal":{"tmp":"tmp/crl_5.3.0_1789320581445_0.6472827020099063","host":"s3://npm-registry-packages-npm-production"}},"5.4.0":{"name":"@smile-digital-health/crl","version":"5.4.0","keywords":["clinical","practice","guideline","language","parser","validator"],"author":{"name":"CQIS"},"license":"Apache-2.0","_id":"@smile-digital-health/crl@5.4.0","maintainers":[{"name":"subashgandyer-smile","email":"subash.gandyer@smiledigitalhealth.com"},{"name":"jpercival","email":"jonathan.i.percival@gmail.com"},{"name":"rob_reynolds","email":"rob.reynolds@smiledigitalhealth.com"},{"name":"seenafa","email":"seena.farzaneh@smiledigitalhealth.com"},{"name":"aodahl-smile","email":"alexander.dahl@smiledigitalhealth.com"},{"name":"megan.weatherston","email":"megan.weatherston@smiledigitalhealth.com"},{"name":"zackaustin","email":"zack.austin@smiledigitalhealth.com"},{"name":"guptava","email":"vaibhav.gupta@smiledigitalhealth.com"},{"name":"dejawu","email":"npm@dejawu.me"},{"name":"jreyno77","email":"jreysteven1@gmail.com"},{"name":"antvaset","email":"antvaset@gmail.com"}],"bin":{"crl-ast":"dist/cli/run-ast.js","crl-lex":"dist/cli/run-lexer.js","crl-mcp":"dist/cli/run-mcp-server.js","crl-emit":"dist/cli/run-emitter.js","crl-parse":"dist/cli/run-parser.js","crl-validate":"dist/cli/run-validator.js","crl-emit-results":"dist/cli/run-emit-results.js","crl-check-fhir-ids":"dist/cli/run-check-fhir-ids.js","crl-run-regression":"dist/cli/run-regression.js","crl-template-match":"dist/cli/run-template-match.js","crl-canonicalize-source":"dist/cli/run-canonicalize-source.js","crl-generate-provenance":"dist/cli/run-generate-provenance.js","crl-validate-provenance":"dist/cli/run-validate-provenance.js","crl-normalize-provenance":"dist/cli/run-normalize-provenance.js"},"dist":{"shasum":"2c09f4cf236fd034651e00ecefca7ecf93b1aa2c","tarball":"https://registry.npmjs.org/@smile-digital-health/crl/-/crl-5.4.0.tgz","fileCount":890,"integrity":"sha512-0HMf1olAp8ggznBQKsS6x7i6JMu9j7H5pQI1fcy/KFOt8icm/AxYDjP1PptHFfTq2GEQ4+MvVLHG7/bDyq6iMQ==","signatures":[{"sig":"MEYCIQC3VWRhu69CIIZ+P/QcuCVQn7viBQNINvi/yXbyRk/15AIhANjPdQvmkP8L/GuDKDl92eyJkdLfSYDrZZlfU8zz+Ew/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIGWuWGLKM403uMPa3H9viIeo3ChKvRtjWtmmzcfCSj/JAiBcRz+IXe7Wa98RtpPHtA/lwAa+qaIbae+jd0ah4IfYzg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5597872},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./mcp":{"types":"./dist/mcp/index.d.ts","import":"./dist/mcp/index.js","require":"./dist/mcp/index.js"},"./provenance":{"types":"./dist/provenance/index.d.ts","import":"./dist/provenance/index.js","require":"./dist/provenance/index.js"},"./language-services":{"types":"./dist/language-services/index.d.ts","import":"./dist/language-services/index.js","require":"./dist/language-services/index.js"}},"gitHead":"4cf33cd5671b956d42dbb40934f263a05e39eb53","scripts":{"lint":"eslint \"src/**/*.ts\" --quiet","test":"vitest run --root ../.. --project crl --no-file-parallelism && npm run test:mcp","build":"tsc && node scripts/copy-catalog.mjs","clean":"rimraf dist","start":"npm run build && node dist/index.js","watch":"onchange -i \"src/**/*.ts\" -- npm run build","format":"prettier --write 'src/**/*.ts'","cli:ast":"ts-node src/cli/run-ast.ts","cli:mcp":"ts-node src/cli/run-mcp-server.ts","compile":"tsc --noEmit","prepack":"npm run build","generate":"antlr4ts -Xforce-atn src/grammar/CRLLexer.g4 && antlr4ts -Xforce-atn -visitor src/grammar/CRLParser.g4 && antlr4ts -Xforce-atn src/grammar/CELLexer.g4 && antlr4ts -Xforce-atn -visitor src/grammar/CELParser.g4 && npm run move-generated-files && npm run extract-types","lint:fix":"eslint src/**/*.ts --fix","prebuild":"rimraf dist && shx mkdir -p dist && npm run generate && cpx \"src/grammar/generated/types/*.json\" dist/grammar/generated/types/ && node scripts/checkGrammarJsonFiles.js","test:mcp":"node src/cli/tests/run-mcp-server.test.mjs","cli:lexer":"ts-node src/cli/run-lexer.ts","cli:parser":"ts-node src/cli/run-parser.ts","prerelease":"node scripts/prereleaseGithub.js","test:watch":"vitest --root ../.. --project crl --no-file-parallelism","cli:emitter":"ts-node src/cli/run-emitter.ts","pretest:mcp":"npm run build","git:unmerged":"ts-node scripts/unmerged-branches.ts","cli:validator":"ts-node src/cli/run-validator.ts","extract-types":"node scripts/extractActivityTypes.js && node scripts/extractConceptTypes.js && node scripts/extractConceptValueTypes.js && node scripts/extractConceptShapes.js && node scripts/extractParameterTypes.js && node scripts/generateMetadataRegistry.js","test:coverage":"vitest run --root ../.. --project crl --no-file-parallelism --coverage","util:clonefsh":"npx ts-node scripts/clone-fsh-repo.ts","cli:ast:pretty":"ts-node src/cli/run-ast.ts --pretty","test:regression":"vitest run --root ../.. --project crl --no-file-parallelism --reporter=verbose","cli:lexer:pretty":"ts-node src/cli/run-lexer.ts --pretty","cli:parser:pretty":"ts-node src/cli/run-parser.ts --pretty","cli:template-match":"ts-node src/cli/run-template-match.ts","cli:validator:pretty":"ts-node src/cli/run-validator.ts --pretty","move-generated-files":"node scripts/moveGeneratedFiles.js","cli:transformer:fsh-to-crl":"ts-node src/cli/run-transformer-fsh-to-crl.ts"},"_npmUser":{"name":"rob_reynolds","email":"rob.reynolds@smiledigitalhealth.com"},"_npmVersion":"10.9.8","description":"Clinical Reasoning Language (CRL) parser and validator","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"cpx":"^1.2.1","zod":"^4.4.3","prompts":"^2.4.2","antlr4ts":"^0.5.0-alpha.4","fsh-sushi":"^3.15.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","eslint":"^8.57.1","rimraf":"^5.0.5","ts-node":"^10.9.2","onchange":"^7.1.0","prettier":"^3.5.3","typescript":"^5.3.3","@types/node":"^20.11.19","markdown-it":"14.2.0","antlr4ts-cli":"^0.5.0-alpha.4","eslint-plugin-import":"^2.31.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.31.0","@typescript-eslint/eslint-plugin":"^8.31.0","eslint-import-resolver-typescript":"^4.3.4"},"_npmOperationalInternal":{"tmp":"tmp/crl_5.4.0_1789338960585_0.04615869862143396","host":"s3://npm-registry-packages-npm-production"}},"5.4.1":{"name":"@smile-digital-health/crl","version":"5.4.1","keywords":["clinical","practice","guideline","language","parser","validator"],"author":{"name":"CQIS"},"license":"Apache-2.0","_id":"@smile-digital-health/crl@5.4.1","maintainers":[{"name":"subashgandyer-smile","email":"subash.gandyer@smiledigitalhealth.com"},{"name":"jpercival","email":"jonathan.i.percival@gmail.com"},{"name":"rob_reynolds","email":"rob.reynolds@smiledigitalhealth.com"},{"name":"seenafa","email":"seena.farzaneh@smiledigitalhealth.com"},{"name":"aodahl-smile","email":"alexander.dahl@smiledigitalhealth.com"},{"name":"megan.weatherston","email":"megan.weatherston@smiledigitalhealth.com"},{"name":"zackaustin","email":"zack.austin@smiledigitalhealth.com"},{"name":"guptava","email":"vaibhav.gupta@smiledigitalhealth.com"},{"name":"dejawu","email":"npm@dejawu.me"},{"name":"jreyno77","email":"jreysteven1@gmail.com"},{"name":"antvaset","email":"antvaset@gmail.com"}],"bin":{"crl-ast":"dist/cli/run-ast.js","crl-lex":"dist/cli/run-lexer.js","crl-mcp":"dist/cli/run-mcp-server.js","crl-emit":"dist/cli/run-emitter.js","crl-parse":"dist/cli/run-parser.js","crl-validate":"dist/cli/run-validator.js","crl-emit-results":"dist/cli/run-emit-results.js","crl-check-fhir-ids":"dist/cli/run-check-fhir-ids.js","crl-run-regression":"dist/cli/run-regression.js","crl-template-match":"dist/cli/run-template-match.js","crl-canonicalize-source":"dist/cli/run-canonicalize-source.js","crl-generate-provenance":"dist/cli/run-generate-provenance.js","crl-validate-provenance":"dist/cli/run-validate-provenance.js","crl-normalize-provenance":"dist/cli/run-normalize-provenance.js"},"dist":{"shasum":"5b0db9a6293ebd7f8f7254f2d7f6a827393f9d1f","tarball":"https://registry.npmjs.org/@smile-digital-health/crl/-/crl-5.4.1.tgz","fileCount":893,"integrity":"sha512-L0/gNJxM6KPS5UXrbua+CuNpTaDqP4MfZca9Qxm0BSZLukGvQodZmww3PeByXcHFHXQKh+Bwt3BUZCAcdghXLw==","signatures":[{"sig":"MEUCIE0/JE69YCGuw6jNNzIA0kSa5eOy0lrih6NzYNN/6PfuAiEApxHzxRtGHq1bvzPOmiYPLexSXOCo5JrGGLxq3jmbje8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCNU3I3HoYP9vQ2pJ3xRPe8Nu5RSjneksF8PLlGGiWp7AIgM/lb8sO7F9bbld/SKsuVIi7xmpt/bOtYeNk601D08S0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5633758},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./mcp":{"types":"./dist/mcp/index.d.ts","import":"./dist/mcp/index.js","require":"./dist/mcp/index.js"},"./provenance":{"types":"./dist/provenance/index.d.ts","import":"./dist/provenance/index.js","require":"./dist/provenance/index.js"},"./language-services":{"types":"./dist/language-services/index.d.ts","import":"./dist/language-services/index.js","require":"./dist/language-services/index.js"}},"gitHead":"9c79702388d07f458eb6bfb513b5a1a2dcb04f15","scripts":{"lint":"eslint \"src/**/*.ts\" --quiet","test":"vitest run --root ../.. --project crl --no-file-parallelism && npm run test:mcp","build":"tsc && node scripts/copy-catalog.mjs","clean":"rimraf dist","start":"npm run build && node dist/index.js","watch":"onchange -i \"src/**/*.ts\" -- npm run build","format":"prettier --write 'src/**/*.ts'","cli:ast":"ts-node src/cli/run-ast.ts","cli:mcp":"ts-node src/cli/run-mcp-server.ts","compile":"tsc --noEmit","prepack":"npm run build","generate":"antlr4ts -Xforce-atn src/grammar/CRLLexer.g4 && antlr4ts -Xforce-atn -visitor src/grammar/CRLParser.g4 && antlr4ts -Xforce-atn src/grammar/CELLexer.g4 && antlr4ts -Xforce-atn -visitor src/grammar/CELParser.g4 && npm run move-generated-files && npm run extract-types","lint:fix":"eslint src/**/*.ts --fix","prebuild":"rimraf dist && shx mkdir -p dist && npm run generate && cpx \"src/grammar/generated/types/*.json\" dist/grammar/generated/types/ && node scripts/checkGrammarJsonFiles.js","test:mcp":"node src/cli/tests/run-mcp-server.test.mjs","cli:lexer":"ts-node src/cli/run-lexer.ts","cli:parser":"ts-node src/cli/run-parser.ts","prerelease":"node scripts/prereleaseGithub.js","test:watch":"vitest --root ../.. --project crl --no-file-parallelism","cli:emitter":"ts-node src/cli/run-emitter.ts","pretest:mcp":"npm run build","git:unmerged":"ts-node scripts/unmerged-branches.ts","cli:validator":"ts-node src/cli/run-validator.ts","extract-types":"node scripts/extractActivityTypes.js && node scripts/extractConceptTypes.js && node scripts/extractConceptValueTypes.js && node scripts/extractConceptShapes.js && node scripts/extractParameterTypes.js && node scripts/generateMetadataRegistry.js","test:coverage":"vitest run --root ../.. --project crl --no-file-parallelism --coverage","util:clonefsh":"npx ts-node scripts/clone-fsh-repo.ts","cli:ast:pretty":"ts-node src/cli/run-ast.ts --pretty","test:regression":"vitest run --root ../.. --project crl --no-file-parallelism --reporter=verbose","cli:lexer:pretty":"ts-node src/cli/run-lexer.ts --pretty","cli:parser:pretty":"ts-node src/cli/run-parser.ts --pretty","cli:template-match":"ts-node src/cli/run-template-match.ts","cli:validator:pretty":"ts-node src/cli/run-validator.ts --pretty","move-generated-files":"node scripts/moveGeneratedFiles.js","cli:transformer:fsh-to-crl":"ts-node src/cli/run-transformer-fsh-to-crl.ts"},"_npmUser":{"name":"rob_reynolds","email":"rob.reynolds@smiledigitalhealth.com"},"_npmVersion":"10.9.8","description":"Clinical Reasoning Language (CRL) parser and validator","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"cpx":"^1.2.1","zod":"^4.4.3","prompts":"^2.4.2","antlr4ts":"^0.5.0-alpha.4","fsh-sushi":"^3.15.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","eslint":"^8.57.1","rimraf":"^5.0.5","ts-node":"^10.9.2","onchange":"^7.1.0","prettier":"^3.5.3","typescript":"^5.3.3","@types/node":"^20.11.19","markdown-it":"14.2.0","antlr4ts-cli":"^0.5.0-alpha.4","eslint-plugin-import":"^2.31.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.31.0","@typescript-eslint/eslint-plugin":"^8.31.0","eslint-import-resolver-typescript":"^4.3.4"},"_npmOperationalInternal":{"tmp":"tmp/crl_5.4.1_1789401677112_0.9926280571494213","host":"s3://npm-registry-packages-npm-production"}},"5.4.2":{"name":"@smile-digital-health/crl","version":"5.4.2","keywords":["clinical","practice","guideline","language","parser","validator"],"author":{"name":"CQIS"},"license":"Apache-2.0","_id":"@smile-digital-health/crl@5.4.2","maintainers":[{"name":"subashgandyer-smile","email":"subash.gandyer@smiledigitalhealth.com"},{"name":"jpercival","email":"jonathan.i.percival@gmail.com"},{"name":"rob_reynolds","email":"rob.reynolds@smiledigitalhealth.com"},{"name":"seenafa","email":"seena.farzaneh@smiledigitalhealth.com"},{"name":"aodahl-smile","email":"alexander.dahl@smiledigitalhealth.com"},{"name":"megan.weatherston","email":"megan.weatherston@smiledigitalhealth.com"},{"name":"zackaustin","email":"zack.austin@smiledigitalhealth.com"},{"name":"guptava","email":"vaibhav.gupta@smiledigitalhealth.com"},{"name":"dejawu","email":"npm@dejawu.me"},{"name":"jreyno77","email":"jreysteven1@gmail.com"},{"name":"antvaset","email":"antvaset@gmail.com"}],"bin":{"crl-ast":"dist/cli/run-ast.js","crl-lex":"dist/cli/run-lexer.js","crl-mcp":"dist/cli/run-mcp-server.js","crl-emit":"dist/cli/run-emitter.js","crl-parse":"dist/cli/run-parser.js","crl-validate":"dist/cli/run-validator.js","crl-emit-results":"dist/cli/run-emit-results.js","crl-check-fhir-ids":"dist/cli/run-check-fhir-ids.js","crl-run-regression":"dist/cli/run-regression.js","crl-template-match":"dist/cli/run-template-match.js","crl-canonicalize-source":"dist/cli/run-canonicalize-source.js","crl-generate-provenance":"dist/cli/run-generate-provenance.js","crl-validate-provenance":"dist/cli/run-validate-provenance.js","crl-normalize-provenance":"dist/cli/run-normalize-provenance.js"},"dist":{"shasum":"42a6cc631fe033ad82c9a7dda01cbdd6054da78a","tarball":"https://registry.npmjs.org/@smile-digital-health/crl/-/crl-5.4.2.tgz","fileCount":893,"integrity":"sha512-41I3NV5SMJIfJ3nNvz8bZF5pVlVP1g5Bt82NMGf6QjlCMQmLx4O5S+228KtaLirHfjw/d1hjcb3Utfj8V/fX8A==","signatures":[{"sig":"MEQCIH5Ae6aRd4bqJ7bs7q+Vgvq7l6NGl5TU81PSCDNj2wVAAiBI1jiu7DworZdg+mjwZBE0Kw7T+RamcYt/wdChA86udA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDeJZ5e1Uq3sZuH4QdzelS7ZW1TeKAdelQRZPpWJtm7HwIgfmEh1GENq9JZN5f2NFyPLEe5YgIwX55l9DKj73Kh4AI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5633483},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./mcp":{"types":"./dist/mcp/index.d.ts","import":"./dist/mcp/index.js","require":"./dist/mcp/index.js"},"./provenance":{"types":"./dist/provenance/index.d.ts","import":"./dist/provenance/index.js","require":"./dist/provenance/index.js"},"./language-services":{"types":"./dist/language-services/index.d.ts","import":"./dist/language-services/index.js","require":"./dist/language-services/index.js"}},"gitHead":"e7b3afd8199f035126f464978c69d7a61a3bd032","scripts":{"lint":"eslint \"src/**/*.ts\" --quiet","test":"vitest run --root ../.. --project crl --no-file-parallelism && npm run test:mcp","build":"tsc && node scripts/copy-catalog.mjs","clean":"rimraf dist","start":"npm run build && node dist/index.js","watch":"onchange -i \"src/**/*.ts\" -- npm run build","format":"prettier --write 'src/**/*.ts'","cli:ast":"ts-node src/cli/run-ast.ts","cli:mcp":"ts-node src/cli/run-mcp-server.ts","compile":"tsc --noEmit","prepack":"npm run build","generate":"antlr4ts -Xforce-atn src/grammar/CRLLexer.g4 && antlr4ts -Xforce-atn -visitor src/grammar/CRLParser.g4 && antlr4ts -Xforce-atn src/grammar/CELLexer.g4 && antlr4ts -Xforce-atn -visitor src/grammar/CELParser.g4 && npm run move-generated-files && npm run extract-types","lint:fix":"eslint src/**/*.ts --fix","prebuild":"rimraf dist && shx mkdir -p dist && npm run generate && cpx \"src/grammar/generated/types/*.json\" dist/grammar/generated/types/ && node scripts/checkGrammarJsonFiles.js","test:mcp":"node src/cli/tests/run-mcp-server.test.mjs","cli:lexer":"ts-node src/cli/run-lexer.ts","cli:parser":"ts-node src/cli/run-parser.ts","prerelease":"node scripts/prereleaseGithub.js","test:watch":"vitest --root ../.. --project crl --no-file-parallelism","cli:emitter":"ts-node src/cli/run-emitter.ts","pretest:mcp":"npm run build","git:unmerged":"ts-node scripts/unmerged-branches.ts","cli:validator":"ts-node src/cli/run-validator.ts","extract-types":"node scripts/extractActivityTypes.js && node scripts/extractConceptTypes.js && node scripts/extractConceptValueTypes.js && node scripts/extractConceptShapes.js && node scripts/extractParameterTypes.js && node scripts/generateMetadataRegistry.js","test:coverage":"vitest run --root ../.. --project crl --no-file-parallelism --coverage","util:clonefsh":"npx ts-node scripts/clone-fsh-repo.ts","cli:ast:pretty":"ts-node src/cli/run-ast.ts --pretty","test:regression":"vitest run --root ../.. --project crl --no-file-parallelism --reporter=verbose","cli:lexer:pretty":"ts-node src/cli/run-lexer.ts --pretty","cli:parser:pretty":"ts-node src/cli/run-parser.ts --pretty","cli:template-match":"ts-node src/cli/run-template-match.ts","cli:validator:pretty":"ts-node src/cli/run-validator.ts --pretty","move-generated-files":"node scripts/moveGeneratedFiles.js","cli:transformer:fsh-to-crl":"ts-node src/cli/run-transformer-fsh-to-crl.ts"},"_npmUser":{"name":"rob_reynolds","email":"rob.reynolds@smiledigitalhealth.com"},"_npmVersion":"10.9.8","description":"Clinical Reasoning Language (CRL) parser and validator","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"cpx":"^1.2.1","zod":"^4.4.3","prompts":"^2.4.2","antlr4ts":"^0.5.0-alpha.4","fsh-sushi":"^3.15.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","eslint":"^8.57.1","rimraf":"^5.0.5","ts-node":"^10.9.2","onchange":"^7.1.0","prettier":"^3.5.3","typescript":"^5.3.3","@types/node":"^20.11.19","markdown-it":"14.2.0","antlr4ts-cli":"^0.5.0-alpha.4","eslint-plugin-import":"^2.31.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.31.0","@typescript-eslint/eslint-plugin":"^8.31.0","eslint-import-resolver-typescript":"^4.3.4"},"_npmOperationalInternal":{"tmp":"tmp/crl_5.4.2_1789433657498_0.6628658712549502","host":"s3://npm-registry-packages-npm-production"}},"6.0.0":{"name":"@smile-digital-health/crl","version":"6.0.0","keywords":["clinical","practice","guideline","language","parser","validator"],"author":{"name":"CQIS"},"license":"Apache-2.0","_id":"@smile-digital-health/crl@6.0.0","maintainers":[{"name":"subashgandyer-smile","email":"subash.gandyer@smiledigitalhealth.com"},{"name":"jpercival","email":"jonathan.i.percival@gmail.com"},{"name":"rob_reynolds","email":"rob.reynolds@smiledigitalhealth.com"},{"name":"seenafa","email":"seena.farzaneh@smiledigitalhealth.com"},{"name":"aodahl-smile","email":"alexander.dahl@smiledigitalhealth.com"},{"name":"megan.weatherston","email":"megan.weatherston@smiledigitalhealth.com"},{"name":"zackaustin","email":"zack.austin@smiledigitalhealth.com"},{"name":"guptava","email":"vaibhav.gupta@smiledigitalhealth.com"},{"name":"dejawu","email":"npm@dejawu.me"},{"name":"jreyno77","email":"jreysteven1@gmail.com"},{"name":"antvaset","email":"antvaset@gmail.com"}],"bin":{"crl-ast":"dist/cli/run-ast.js","crl-lex":"dist/cli/run-lexer.js","crl-mcp":"dist/cli/run-mcp-server.js","crl-emit":"dist/cli/run-emitter.js","crl-parse":"dist/cli/run-parser.js","crl-validate":"dist/cli/run-validator.js","crl-emit-results":"dist/cli/run-emit-results.js","crl-check-fhir-ids":"dist/cli/run-check-fhir-ids.js","crl-run-regression":"dist/cli/run-regression.js","crl-template-match":"dist/cli/run-template-match.js","crl-canonicalize-source":"dist/cli/run-canonicalize-source.js","crl-generate-provenance":"dist/cli/run-generate-provenance.js","crl-validate-provenance":"dist/cli/run-validate-provenance.js","crl-normalize-provenance":"dist/cli/run-normalize-provenance.js"},"dist":{"shasum":"2203b6cddf7e0c746adaebc7b92c81efd2dca7e8","tarball":"https://registry.npmjs.org/@smile-digital-health/crl/-/crl-6.0.0.tgz","fileCount":909,"integrity":"sha512-lvlwSOJmpZvWhrPjHcLasu8yknE1KyCbP84u+6qZNH7gXvllCP9gNqvkQpxOtA1O8yOHqkyq2kFGrhlb7oRF1w==","signatures":[{"sig":"MEYCIQCt317aSeyzf2ef03wzrSy6BPTlsaJigRT9AynSeGphkQIhAJzMlGTrESuCkM12P69xAcJFQzqvtVBSrqBnW1qaOf3Y","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDGdVTGRoVa9M5uyCymDBTJOGpclBaAKo3y7Do82gzKygIhALkilhzF/lgvVlxFDNmToJnB+WoODmY29C2zM5bqAUX5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5717185},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./mcp":{"types":"./dist/mcp/index.d.ts","import":"./dist/mcp/index.js","require":"./dist/mcp/index.js"},"./provenance":{"types":"./dist/provenance/index.d.ts","import":"./dist/provenance/index.js","require":"./dist/provenance/index.js"},"./language-services":{"types":"./dist/language-services/index.d.ts","import":"./dist/language-services/index.js","require":"./dist/language-services/index.js"}},"gitHead":"9a2dcd6b1664a23fa161b6561d9efdb56b5449a3","scripts":{"lint":"eslint \"src/**/*.ts\" --quiet","test":"vitest run --root ../.. --project crl --no-file-parallelism && npm run test:mcp","build":"tsc && node scripts/copy-catalog.mjs","clean":"rimraf dist","start":"npm run build && node dist/index.js","watch":"onchange -i \"src/**/*.ts\" -- npm run build","format":"prettier --write 'src/**/*.ts'","cli:ast":"ts-node src/cli/run-ast.ts","cli:mcp":"ts-node src/cli/run-mcp-server.ts","compile":"tsc --noEmit","prepack":"npm run build","generate":"antlr4ts -Xforce-atn src/grammar/CRLLexer.g4 && antlr4ts -Xforce-atn -visitor src/grammar/CRLParser.g4 && antlr4ts -Xforce-atn src/grammar/CELLexer.g4 && antlr4ts -Xforce-atn -visitor src/grammar/CELParser.g4 && npm run move-generated-files && npm run extract-types","lint:fix":"eslint src/**/*.ts --fix","prebuild":"rimraf dist && shx mkdir -p dist && npm run generate && cpx \"src/grammar/generated/types/*.json\" dist/grammar/generated/types/ && node scripts/checkGrammarJsonFiles.js","test:mcp":"node src/cli/tests/run-mcp-server.test.mjs","cli:lexer":"ts-node src/cli/run-lexer.ts","cli:parser":"ts-node src/cli/run-parser.ts","prerelease":"node scripts/prereleaseGithub.js","test:watch":"vitest --root ../.. --project crl --no-file-parallelism","cli:emitter":"ts-node src/cli/run-emitter.ts","pretest:mcp":"npm run build","git:unmerged":"ts-node scripts/unmerged-branches.ts","cli:validator":"ts-node src/cli/run-validator.ts","extract-types":"node scripts/extractActivityTypes.js && node scripts/extractConceptTypes.js && node scripts/extractConceptValueTypes.js && node scripts/extractConceptShapes.js && node scripts/extractParameterTypes.js && node scripts/generateMetadataRegistry.js","test:coverage":"vitest run --root ../.. --project crl --no-file-parallelism --coverage","util:clonefsh":"npx ts-node scripts/clone-fsh-repo.ts","cli:ast:pretty":"ts-node src/cli/run-ast.ts --pretty","test:regression":"vitest run --root ../.. --project crl --no-file-parallelism --reporter=verbose","cli:lexer:pretty":"ts-node src/cli/run-lexer.ts --pretty","cli:parser:pretty":"ts-node src/cli/run-parser.ts --pretty","cli:template-match":"ts-node src/cli/run-template-match.ts","cli:validator:pretty":"ts-node src/cli/run-validator.ts --pretty","move-generated-files":"node scripts/moveGeneratedFiles.js","cli:transformer:fsh-to-crl":"ts-node src/cli/run-transformer-fsh-to-crl.ts"},"_npmUser":{"name":"rob_reynolds","email":"rob.reynolds@smiledigitalhealth.com"},"_npmVersion":"10.9.8","description":"Clinical Reasoning Language (CRL) parser and validator","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"cpx":"^1.2.1","zod":"^4.4.3","prompts":"^2.4.2","antlr4ts":"^0.5.0-alpha.4","fsh-sushi":"^3.15.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","eslint":"^8.57.1","rimraf":"^5.0.5","ts-node":"^10.9.2","onchange":"^7.1.0","prettier":"^3.5.3","typescript":"^5.3.3","@types/node":"^20.11.19","markdown-it":"14.2.0","antlr4ts-cli":"^0.5.0-alpha.4","eslint-plugin-import":"^2.31.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.31.0","@typescript-eslint/eslint-plugin":"^8.31.0","eslint-import-resolver-typescript":"^4.3.4"},"_npmOperationalInternal":{"tmp":"tmp/crl_6.0.0_1789599753089_0.8021104378947521","host":"s3://npm-registry-packages-npm-production"}},"6.3.0":{"name":"@smile-digital-health/crl","version":"6.3.0","keywords":["clinical","practice","guideline","language","parser","validator"],"author":{"name":"CQIS"},"license":"Apache-2.0","_id":"@smile-digital-health/crl@6.3.0","maintainers":[{"name":"subashgandyer-smile","email":"subash.gandyer@smiledigitalhealth.com"},{"name":"jpercival","email":"jonathan.i.percival@gmail.com"},{"name":"rob_reynolds","email":"rob.reynolds@smiledigitalhealth.com"},{"name":"seenafa","email":"seena.farzaneh@smiledigitalhealth.com"},{"name":"aodahl-smile","email":"alexander.dahl@smiledigitalhealth.com"},{"name":"megan.weatherston","email":"megan.weatherston@smiledigitalhealth.com"},{"name":"zackaustin","email":"zack.austin@smiledigitalhealth.com"},{"name":"guptava","email":"vaibhav.gupta@smiledigitalhealth.com"},{"name":"dejawu","email":"npm@dejawu.me"},{"name":"jreyno77","email":"jreysteven1@gmail.com"},{"name":"antvaset","email":"antvaset@gmail.com"}],"bin":{"crl-ast":"dist/cli/run-ast.js","crl-lex":"dist/cli/run-lexer.js","crl-mcp":"dist/cli/run-mcp-server.js","crl-emit":"dist/cli/run-emitter.js","crl-parse":"dist/cli/run-parser.js","crl-validate":"dist/cli/run-validator.js","crl-emit-results":"dist/cli/run-emit-results.js","crl-check-fhir-ids":"dist/cli/run-check-fhir-ids.js","crl-run-regression":"dist/cli/run-regression.js","crl-template-match":"dist/cli/run-template-match.js","crl-canonicalize-source":"dist/cli/run-canonicalize-source.js","crl-generate-provenance":"dist/cli/run-generate-provenance.js","crl-validate-provenance":"dist/cli/run-validate-provenance.js","crl-normalize-provenance":"dist/cli/run-normalize-provenance.js"},"dist":{"shasum":"dd632b883df9e32cd84c64e58769aa789c74b406","tarball":"https://registry.npmjs.org/@smile-digital-health/crl/-/crl-6.3.0.tgz","fileCount":918,"integrity":"sha512-q8RoAwa1Gf74exBBK4Gkg0AqC3lj4EmsrrBbV0ZQRJ2wAdBAF1mj5f36P/2+QmVwRkT45bV6SW/lzkiXANPf0A==","signatures":[{"sig":"MEUCIQCK/bWpoTu9+LeLGRxq2sPVO0i8f4UN19WaFtnHedf/WgIgPPf0dehrbB2vnmhEezcfhDWCHVlPtDyjDY61PDFZTGI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDDNWiU8uOeV0vhYxrtmOVA/maghbUqCDkBPrXx6U2fxQIhAOK+H8LSi0Ms6RfAGrgDWDGc7gM4YviLGf2l+lVAKgGV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5767037},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./mcp":{"types":"./dist/mcp/index.d.ts","import":"./dist/mcp/index.js","require":"./dist/mcp/index.js"},"./provenance":{"types":"./dist/provenance/index.d.ts","import":"./dist/provenance/index.js","require":"./dist/provenance/index.js"},"./language-services":{"types":"./dist/language-services/index.d.ts","import":"./dist/language-services/index.js","require":"./dist/language-services/index.js"}},"gitHead":"46102010de434b9e89c02159c4c796c813bf80c2","scripts":{"lint":"eslint \"src/**/*.ts\" --quiet","test":"vitest run --root ../.. --project crl --no-file-parallelism && npm run test:mcp","build":"tsc && node scripts/copy-catalog.mjs","clean":"rimraf dist","start":"npm run build && node dist/index.js","watch":"onchange -i \"src/**/*.ts\" -- npm run build","format":"prettier --write 'src/**/*.ts'","cli:ast":"ts-node src/cli/run-ast.ts","cli:mcp":"ts-node src/cli/run-mcp-server.ts","compile":"tsc --noEmit","prepack":"npm run build","generate":"antlr4ts -Xforce-atn src/grammar/CRLLexer.g4 && antlr4ts -Xforce-atn -visitor src/grammar/CRLParser.g4 && antlr4ts -Xforce-atn src/grammar/CELLexer.g4 && antlr4ts -Xforce-atn -visitor src/grammar/CELParser.g4 && npm run move-generated-files && npm run extract-types","lint:fix":"eslint src/**/*.ts --fix","prebuild":"rimraf dist && shx mkdir -p dist && npm run generate && cpx \"src/grammar/generated/types/*.json\" dist/grammar/generated/types/ && node scripts/checkGrammarJsonFiles.js","test:mcp":"node src/cli/tests/run-mcp-server.test.mjs","cli:lexer":"ts-node src/cli/run-lexer.ts","cli:parser":"ts-node src/cli/run-parser.ts","prerelease":"node scripts/prereleaseGithub.js","test:watch":"vitest --root ../.. --project crl --no-file-parallelism","cli:emitter":"ts-node src/cli/run-emitter.ts","pretest:mcp":"npm run build","git:unmerged":"ts-node scripts/unmerged-branches.ts","cli:validator":"ts-node src/cli/run-validator.ts","extract-types":"node scripts/extractActivityTypes.js && node scripts/extractConceptTypes.js && node scripts/extractConceptValueTypes.js && node scripts/extractConceptShapes.js && node scripts/extractParameterTypes.js && node scripts/generateMetadataRegistry.js","test:coverage":"vitest run --root ../.. --project crl --no-file-parallelism --coverage","util:clonefsh":"npx ts-node scripts/clone-fsh-repo.ts","cli:ast:pretty":"ts-node src/cli/run-ast.ts --pretty","test:regression":"vitest run --root ../.. --project crl --no-file-parallelism --reporter=verbose","cli:lexer:pretty":"ts-node src/cli/run-lexer.ts --pretty","cli:parser:pretty":"ts-node src/cli/run-parser.ts --pretty","cli:template-match":"ts-node src/cli/run-template-match.ts","cli:validator:pretty":"ts-node src/cli/run-validator.ts --pretty","move-generated-files":"node scripts/moveGeneratedFiles.js","cli:transformer:fsh-to-crl":"ts-node src/cli/run-transformer-fsh-to-crl.ts"},"_npmUser":{"name":"rob_reynolds","email":"rob.reynolds@smiledigitalhealth.com"},"_npmVersion":"10.9.8","description":"Clinical Reasoning Language (CRL) parser and validator","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"cpx":"^1.2.1","zod":"^4.4.3","prompts":"^2.4.2","antlr4ts":"^0.5.0-alpha.4","fsh-sushi":"^3.15.0","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","eslint":"^8.57.1","rimraf":"^5.0.5","ts-node":"^10.9.2","onchange":"^7.1.0","prettier":"^3.5.3","typescript":"^5.3.3","@types/node":"^20.11.19","markdown-it":"14.2.0","antlr4ts-cli":"^0.5.0-alpha.4","eslint-plugin-import":"^2.31.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.31.0","@typescript-eslint/eslint-plugin":"^8.31.0","eslint-import-resolver-typescript":"^4.3.4"},"_npmOperationalInternal":{"tmp":"tmp/crl_6.3.0_1789737063409_0.2187276100644424","host":"s3://npm-registry-packages-npm-production"}},"6.4.6":{"name":"@smile-digital-health/crl","version":"6.4.6","keywords":["clinical","practice","guideline","language","parser","validator"],"author":{"name":"CQIS"},"license":"Apache-2.0","_id":"@smile-digital-health/crl@6.4.6","maintainers":[{"name":"subashgandyer-smile","email":"subash.gandyer@smiledigitalhealth.com"},{"name":"jpercival","email":"jonathan.i.percival@gmail.com"},{"name":"rob_reynolds","email":"rob.reynolds@smiledigitalhealth.com"},{"name":"seenafa","email":"seena.farzaneh@smiledigitalhealth.com"},{"name":"aodahl-smile","email":"alexander.dahl@smiledigitalhealth.com"},{"name":"megan.weatherston","email":"megan.weatherston@smiledigitalhealth.com"},{"name":"zackaustin","email":"zack.austin@smiledigitalhealth.com"},{"name":"guptava","email":"vaibhav.gupta@smiledigitalhealth.com"},{"name":"dejawu","email":"npm@dejawu.me"},{"name":"jreyno77","email":"jreysteven1@gmail.com"},{"name":"antvaset","email":"antvaset@gmail.com"}],"bin":{"crl-ast":"dist/cli/run-ast.js","crl-lex":"dist/cli/run-lexer.js","crl-mcp":"dist/cli/run-mcp-server.js","crl-emit":"dist/cli/run-emitter.js","crl-parse":"dist/cli/run-parser.js","crl-validate":"dist/cli/run-validator.js","crl-emit-results":"dist/cli/run-emit-results.js","crl-package-fhir":"dist/cli/run-package-fhir.js","crl-apply-session":"dist/cli/run-apply-session.js","crl-check-fhir-ids":"dist/cli/run-check-fhir-ids.js","crl-run-regression":"dist/cli/run-regression.js","crl-template-match":"dist/cli/run-template-match.js","crl-canonicalize-source":"dist/cli/run-canonicalize-source.js","crl-generate-provenance":"dist/cli/run-generate-provenance.js","crl-validate-provenance":"dist/cli/run-validate-provenance.js","crl-normalize-provenance":"dist/cli/run-normalize-provenance.js"},"dist":{"shasum":"144bc1093d207494c37d58d511ebbb86a6add736","tarball":"https://registry.npmjs.org/@smile-digital-health/crl/-/crl-6.4.6.tgz","fileCount":969,"integrity":"sha512-9NqIa4R2Qw82HWp5qTIogHfJ6hwHNcU1a0Uc16d7zrOKZMRtiWKr9guVtbZTpkDx9GsJD/7+KSPpcpFLTUp0NA==","signatures":[{"sig":"MEQCIA+wKs74rBvFzwRdcgR3BVAySeDghvrGMBoCmcmgH762AiBmjh8Cktc7eNtd0cNQhXCggd9q5K3HxalRGI0RffPuqg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDSwkosezFy4iU/RXZ2ksE2KziizRkFH/5/DDg1vwqEdwIhAMFd0AasFXX4VfsUwVoKnBXBJLXwvae1/VEIaNnLBvXt","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6051162},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./mcp":{"types":"./dist/mcp/index.d.ts","import":"./dist/mcp/index.js","require":"./dist/mcp/index.js"},"./session":{"types":"./dist/results/session.d.ts","import":"./dist/results/session.js","require":"./dist/results/session.js"},"./provenance":{"types":"./dist/provenance/index.d.ts","import":"./dist/provenance/index.js","require":"./dist/provenance/index.js"},"./language-services":{"types":"./dist/language-services/index.d.ts","import":"./dist/language-services/index.js","require":"./dist/language-services/index.js"}},"gitHead":"46f0ea942e5fe3a52f367c8560a26aa02b423177","scripts":{"lint":"eslint \"src/**/*.ts\" --quiet","test":"vitest run --root ../.. --project crl --no-file-parallelism && npm run test:mcp","build":"tsc && node scripts/copy-catalog.mjs","clean":"rimraf dist","start":"npm run build && node dist/index.js","watch":"onchange -i \"src/**/*.ts\" -- npm run build","format":"prettier --write 'src/**/*.ts'","cli:ast":"ts-node src/cli/run-ast.ts","cli:mcp":"ts-node src/cli/run-mcp-server.ts","compile":"tsc --noEmit","prepack":"npm run build","generate":"antlr4ts -Xforce-atn src/grammar/CRLLexer.g4 && antlr4ts -Xforce-atn -visitor src/grammar/CRLParser.g4 && antlr4ts -Xforce-atn src/grammar/CELLexer.g4 && antlr4ts -Xforce-atn -visitor src/grammar/CELParser.g4 && npm run move-generated-files && npm run extract-types","lint:fix":"eslint src/**/*.ts --fix","prebuild":"rimraf dist && shx mkdir -p dist && npm run generate && cpx \"src/grammar/generated/types/*.json\" dist/grammar/generated/types/ && node scripts/checkGrammarJsonFiles.js","test:mcp":"node src/cli/tests/run-mcp-server.test.mjs","cli:lexer":"ts-node src/cli/run-lexer.ts","cli:parser":"ts-node src/cli/run-parser.ts","prerelease":"node scripts/prereleaseGithub.js","test:watch":"vitest --root ../.. --project crl --no-file-parallelism","cli:emitter":"ts-node src/cli/run-emitter.ts","pretest:mcp":"npm run build","git:unmerged":"ts-node scripts/unmerged-branches.ts","cli:validator":"ts-node src/cli/run-validator.ts","extract-types":"node scripts/extractActivityTypes.js && node scripts/extractConceptTypes.js && node scripts/extractConceptValueTypes.js && node scripts/extractConceptShapes.js && node scripts/extractParameterTypes.js && node scripts/generateMetadataRegistry.js","test:coverage":"vitest run --root ../.. --project crl --no-file-parallelism --coverage","util:clonefsh":"npx ts-node scripts/clone-fsh-repo.ts","cli:ast:pretty":"ts-node src/cli/run-ast.ts --pretty","test:regression":"vitest run --root ../.. --project crl --no-file-parallelism --reporter=verbose","cli:lexer:pretty":"ts-node src/cli/run-lexer.ts --pretty","cli:parser:pretty":"ts-node src/cli/run-parser.ts --pretty","cli:template-match":"ts-node src/cli/run-template-match.ts","cli:validator:pretty":"ts-node src/cli/run-validator.ts --pretty","move-generated-files":"node scripts/moveGeneratedFiles.js","cli:transformer:fsh-to-crl":"ts-node src/cli/run-transformer-fsh-to-crl.ts"},"_npmUser":{"name":"rob_reynolds","email":"rob.reynolds@smiledigitalhealth.com"},"_npmVersion":"10.9.8","description":"Clinical Reasoning Language (CRL) parser and validator","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"cpx":"^1.2.1","tar":"7.5.22","zod":"^4.4.3","prompts":"^2.4.2","antlr4ts":"^0.5.0-alpha.4","fsh-sushi":"^3.15.0","jsonc-parser":"3.3.1","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","eslint":"^8.57.1","rimraf":"^5.0.5","ts-node":"^10.9.2","onchange":"^7.1.0","prettier":"^3.5.3","typescript":"^5.3.3","@types/node":"^20.11.19","markdown-it":"14.2.0","antlr4ts-cli":"^0.5.0-alpha.4","eslint-plugin-import":"^2.31.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.31.0","@typescript-eslint/eslint-plugin":"^8.31.0","eslint-import-resolver-typescript":"^4.3.4"},"_npmOperationalInternal":{"tmp":"tmp/crl_6.4.6_1790010117223_0.27940899028814936","host":"s3://npm-registry-packages-npm-production"}},"6.4.7":{"name":"@smile-digital-health/crl","version":"6.4.7","keywords":["clinical","practice","guideline","language","parser","validator"],"author":{"name":"CQIS"},"license":"Apache-2.0","_id":"@smile-digital-health/crl@6.4.7","maintainers":[{"name":"subashgandyer-smile","email":"subash.gandyer@smiledigitalhealth.com"},{"name":"jpercival","email":"jonathan.i.percival@gmail.com"},{"name":"rob_reynolds","email":"rob.reynolds@smiledigitalhealth.com"},{"name":"seenafa","email":"seena.farzaneh@smiledigitalhealth.com"},{"name":"aodahl-smile","email":"alexander.dahl@smiledigitalhealth.com"},{"name":"megan.weatherston","email":"megan.weatherston@smiledigitalhealth.com"},{"name":"zackaustin","email":"zack.austin@smiledigitalhealth.com"},{"name":"guptava","email":"vaibhav.gupta@smiledigitalhealth.com"},{"name":"dejawu","email":"npm@dejawu.me"},{"name":"jreyno77","email":"jreysteven1@gmail.com"},{"name":"antvaset","email":"antvaset@gmail.com"}],"bin":{"crl-ast":"dist/cli/run-ast.js","crl-lex":"dist/cli/run-lexer.js","crl-mcp":"dist/cli/run-mcp-server.js","crl-emit":"dist/cli/run-emitter.js","crl-parse":"dist/cli/run-parser.js","crl-validate":"dist/cli/run-validator.js","crl-emit-results":"dist/cli/run-emit-results.js","crl-package-fhir":"dist/cli/run-package-fhir.js","crl-apply-session":"dist/cli/run-apply-session.js","crl-check-fhir-ids":"dist/cli/run-check-fhir-ids.js","crl-run-regression":"dist/cli/run-regression.js","crl-template-match":"dist/cli/run-template-match.js","crl-canonicalize-source":"dist/cli/run-canonicalize-source.js","crl-generate-provenance":"dist/cli/run-generate-provenance.js","crl-validate-provenance":"dist/cli/run-validate-provenance.js","crl-normalize-provenance":"dist/cli/run-normalize-provenance.js"},"dist":{"shasum":"b0cb2a8ef371081d0731abddf26f94faf3cc107a","tarball":"https://registry.npmjs.org/@smile-digital-health/crl/-/crl-6.4.7.tgz","fileCount":969,"integrity":"sha512-8+SxQa6Cxq3u2lVc7gKvoBnzZbQ8vn1ETTe/8N5MRpJnz01AT+ydnlKaNG4l6O0M9mTwFJfAnOx0fjdqIhmIUg==","signatures":[{"sig":"MEUCICnT1FsfQTQsFw9AZ8FZuj0lhJehwqXE4tk+s1nREtXqAiEA/oWgVp3cbzweeOoh/gAylrfHCHXpVK4R4OQoXQK/W4c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIC8Xm4KeVcTk1wGooLIp1qnFGxV3LwDa0itvK/4wsm4KAiEA0KeYXqMMoQ544oWL2/luQDul1YLXXC/VWNCsB3yNie4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6051211},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./mcp":{"types":"./dist/mcp/index.d.ts","import":"./dist/mcp/index.js","require":"./dist/mcp/index.js"},"./session":{"types":"./dist/results/session.d.ts","import":"./dist/results/session.js","require":"./dist/results/session.js"},"./provenance":{"types":"./dist/provenance/index.d.ts","import":"./dist/provenance/index.js","require":"./dist/provenance/index.js"},"./language-services":{"types":"./dist/language-services/index.d.ts","import":"./dist/language-services/index.js","require":"./dist/language-services/index.js"}},"gitHead":"853d68062811bfc2e8c68fecfca575f26bd25444","scripts":{"lint":"eslint \"src/**/*.ts\" --quiet","test":"vitest run --root ../.. --project crl --no-file-parallelism && npm run test:mcp","build":"tsc && node scripts/copy-catalog.mjs","clean":"rimraf dist","start":"npm run build && node dist/index.js","watch":"onchange -i \"src/**/*.ts\" -- npm run build","format":"prettier --write 'src/**/*.ts'","cli:ast":"ts-node src/cli/run-ast.ts","cli:mcp":"ts-node src/cli/run-mcp-server.ts","compile":"tsc --noEmit","prepack":"npm run build","generate":"antlr4ts -Xforce-atn src/grammar/CRLLexer.g4 && antlr4ts -Xforce-atn -visitor src/grammar/CRLParser.g4 && antlr4ts -Xforce-atn src/grammar/CELLexer.g4 && antlr4ts -Xforce-atn -visitor src/grammar/CELParser.g4 && npm run move-generated-files && npm run extract-types","lint:fix":"eslint src/**/*.ts --fix","prebuild":"rimraf dist && shx mkdir -p dist && npm run generate && cpx \"src/grammar/generated/types/*.json\" dist/grammar/generated/types/ && node scripts/checkGrammarJsonFiles.js","test:mcp":"node src/cli/tests/run-mcp-server.test.mjs","cli:lexer":"ts-node src/cli/run-lexer.ts","cli:parser":"ts-node src/cli/run-parser.ts","prerelease":"node scripts/prereleaseGithub.js","test:watch":"vitest --root ../.. --project crl --no-file-parallelism","cli:emitter":"ts-node src/cli/run-emitter.ts","pretest:mcp":"npm run build","git:unmerged":"ts-node scripts/unmerged-branches.ts","cli:validator":"ts-node src/cli/run-validator.ts","extract-types":"node scripts/extractActivityTypes.js && node scripts/extractConceptTypes.js && node scripts/extractConceptValueTypes.js && node scripts/extractConceptShapes.js && node scripts/extractParameterTypes.js && node scripts/generateMetadataRegistry.js","test:coverage":"vitest run --root ../.. --project crl --no-file-parallelism --coverage","util:clonefsh":"npx ts-node scripts/clone-fsh-repo.ts","cli:ast:pretty":"ts-node src/cli/run-ast.ts --pretty","test:regression":"vitest run --root ../.. --project crl --no-file-parallelism --reporter=verbose","cli:lexer:pretty":"ts-node src/cli/run-lexer.ts --pretty","cli:parser:pretty":"ts-node src/cli/run-parser.ts --pretty","cli:template-match":"ts-node src/cli/run-template-match.ts","cli:validator:pretty":"ts-node src/cli/run-validator.ts --pretty","move-generated-files":"node scripts/moveGeneratedFiles.js","cli:transformer:fsh-to-crl":"ts-node src/cli/run-transformer-fsh-to-crl.ts"},"_npmUser":{"name":"rob_reynolds","email":"rob.reynolds@smiledigitalhealth.com"},"_npmVersion":"10.9.8","description":"Clinical Reasoning Language (CRL) parser and validator","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"cpx":"^1.2.1","tar":"7.5.22","zod":"^4.4.3","prompts":"^2.4.2","antlr4ts":"^0.5.0-alpha.4","fsh-sushi":"^3.15.0","jsonc-parser":"3.3.1","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","eslint":"^8.57.1","rimraf":"^5.0.5","ts-node":"^10.9.2","onchange":"^7.1.0","prettier":"^3.5.3","typescript":"^5.3.3","@types/node":"^20.11.19","markdown-it":"14.2.0","antlr4ts-cli":"^0.5.0-alpha.4","eslint-plugin-import":"^2.31.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.31.0","@typescript-eslint/eslint-plugin":"^8.31.0","eslint-import-resolver-typescript":"^4.3.4"},"_npmOperationalInternal":{"tmp":"tmp/crl_6.4.7_1790016702348_0.8956239756505802","host":"s3://npm-registry-packages-npm-production"}},"6.4.8":{"name":"@smile-digital-health/crl","version":"6.4.8","keywords":["clinical","practice","guideline","language","parser","validator"],"author":{"name":"CQIS"},"license":"Apache-2.0","_id":"@smile-digital-health/crl@6.4.8","maintainers":[{"name":"subashgandyer-smile","email":"subash.gandyer@smiledigitalhealth.com"},{"name":"jpercival","email":"jonathan.i.percival@gmail.com"},{"name":"rob_reynolds","email":"rob.reynolds@smiledigitalhealth.com"},{"name":"seenafa","email":"seena.farzaneh@smiledigitalhealth.com"},{"name":"aodahl-smile","email":"alexander.dahl@smiledigitalhealth.com"},{"name":"megan.weatherston","email":"megan.weatherston@smiledigitalhealth.com"},{"name":"zackaustin","email":"zack.austin@smiledigitalhealth.com"},{"name":"guptava","email":"vaibhav.gupta@smiledigitalhealth.com"},{"name":"dejawu","email":"npm@dejawu.me"},{"name":"jreyno77","email":"jreysteven1@gmail.com"},{"name":"antvaset","email":"antvaset@gmail.com"}],"bin":{"crl-ast":"dist/cli/run-ast.js","crl-lex":"dist/cli/run-lexer.js","crl-mcp":"dist/cli/run-mcp-server.js","crl-emit":"dist/cli/run-emitter.js","crl-parse":"dist/cli/run-parser.js","crl-validate":"dist/cli/run-validator.js","crl-emit-results":"dist/cli/run-emit-results.js","crl-package-fhir":"dist/cli/run-package-fhir.js","crl-apply-session":"dist/cli/run-apply-session.js","crl-check-fhir-ids":"dist/cli/run-check-fhir-ids.js","crl-run-regression":"dist/cli/run-regression.js","crl-template-match":"dist/cli/run-template-match.js","crl-canonicalize-source":"dist/cli/run-canonicalize-source.js","crl-generate-provenance":"dist/cli/run-generate-provenance.js","crl-validate-provenance":"dist/cli/run-validate-provenance.js","crl-normalize-provenance":"dist/cli/run-normalize-provenance.js"},"dist":{"shasum":"b8f3645dda60a7140394584a5c65d82474d3a96c","tarball":"https://registry.npmjs.org/@smile-digital-health/crl/-/crl-6.4.8.tgz","fileCount":969,"integrity":"sha512-Hx8y18UqfGLre1tEBJhdJYKoLwaRrEq/SlrlCPFFzvEPttR66iUyQwtTQEW8L+IHQvMKLdHPrLEoyV/N9Z+rgw==","signatures":[{"sig":"MEUCIQDvn6RK1jf+ExOPk7IOgi1jeyvdAl+/LPr7cXJHyzM4hwIgfwft+QVN9sQr9SUGpxBAg3iU9qK2mLUvigq7DHflhxo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCLLHTUr3dKhVPsPaTRST9vYnKJKDbOrEBOz4TOG3SZ1AIgaUWTfMAOcIayDjL7ciq363eAhovuF+lfiM5kAuG+uFY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6051609},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./mcp":{"types":"./dist/mcp/index.d.ts","import":"./dist/mcp/index.js","require":"./dist/mcp/index.js"},"./session":{"types":"./dist/results/session.d.ts","import":"./dist/results/session.js","require":"./dist/results/session.js"},"./provenance":{"types":"./dist/provenance/index.d.ts","import":"./dist/provenance/index.js","require":"./dist/provenance/index.js"},"./language-services":{"types":"./dist/language-services/index.d.ts","import":"./dist/language-services/index.js","require":"./dist/language-services/index.js"}},"gitHead":"5d7b610c5cc7e9e8b909c06cae5b708dc989f2c8","scripts":{"lint":"eslint \"src/**/*.ts\" --quiet","test":"vitest run --root ../.. --project crl --no-file-parallelism && npm run test:mcp","build":"tsc && node scripts/copy-catalog.mjs","clean":"rimraf dist","start":"npm run build && node dist/index.js","watch":"onchange -i \"src/**/*.ts\" -- npm run build","format":"prettier --write 'src/**/*.ts'","cli:ast":"ts-node src/cli/run-ast.ts","cli:mcp":"ts-node src/cli/run-mcp-server.ts","compile":"tsc --noEmit","prepack":"npm run build","generate":"antlr4ts -Xforce-atn src/grammar/CRLLexer.g4 && antlr4ts -Xforce-atn -visitor src/grammar/CRLParser.g4 && antlr4ts -Xforce-atn src/grammar/CELLexer.g4 && antlr4ts -Xforce-atn -visitor src/grammar/CELParser.g4 && npm run move-generated-files && npm run extract-types","lint:fix":"eslint src/**/*.ts --fix","prebuild":"rimraf dist && shx mkdir -p dist && npm run generate && cpx \"src/grammar/generated/types/*.json\" dist/grammar/generated/types/ && node scripts/checkGrammarJsonFiles.js","test:mcp":"node src/cli/tests/run-mcp-server.test.mjs","cli:lexer":"ts-node src/cli/run-lexer.ts","cli:parser":"ts-node src/cli/run-parser.ts","prerelease":"node scripts/prereleaseGithub.js","test:watch":"vitest --root ../.. --project crl --no-file-parallelism","cli:emitter":"ts-node src/cli/run-emitter.ts","pretest:mcp":"npm run build","git:unmerged":"ts-node scripts/unmerged-branches.ts","cli:validator":"ts-node src/cli/run-validator.ts","extract-types":"node scripts/extractActivityTypes.js && node scripts/extractConceptTypes.js && node scripts/extractConceptValueTypes.js && node scripts/extractConceptShapes.js && node scripts/extractParameterTypes.js && node scripts/generateMetadataRegistry.js","test:coverage":"vitest run --root ../.. --project crl --no-file-parallelism --coverage","util:clonefsh":"npx ts-node scripts/clone-fsh-repo.ts","cli:ast:pretty":"ts-node src/cli/run-ast.ts --pretty","test:regression":"vitest run --root ../.. --project crl --no-file-parallelism --reporter=verbose","cli:lexer:pretty":"ts-node src/cli/run-lexer.ts --pretty","cli:parser:pretty":"ts-node src/cli/run-parser.ts --pretty","cli:template-match":"ts-node src/cli/run-template-match.ts","cli:validator:pretty":"ts-node src/cli/run-validator.ts --pretty","move-generated-files":"node scripts/moveGeneratedFiles.js","cli:transformer:fsh-to-crl":"ts-node src/cli/run-transformer-fsh-to-crl.ts"},"_npmUser":{"name":"rob_reynolds","email":"rob.reynolds@smiledigitalhealth.com"},"_npmVersion":"10.9.8","description":"Clinical Reasoning Language (CRL) parser and validator","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"cpx":"^1.2.1","tar":"7.5.22","zod":"^4.4.3","prompts":"^2.4.2","antlr4ts":"^0.5.0-alpha.4","fsh-sushi":"^3.15.0","jsonc-parser":"3.3.1","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","eslint":"^8.57.1","rimraf":"^5.0.5","ts-node":"^10.9.2","onchange":"^7.1.0","prettier":"^3.5.3","typescript":"^5.3.3","@types/node":"^20.11.19","markdown-it":"14.2.0","antlr4ts-cli":"^0.5.0-alpha.4","eslint-plugin-import":"^2.31.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.31.0","@typescript-eslint/eslint-plugin":"^8.31.0","eslint-import-resolver-typescript":"^4.3.4"},"_npmOperationalInternal":{"tmp":"tmp/crl_6.4.8_1790038283741_0.06632232790889336","host":"s3://npm-registry-packages-npm-production"}},"6.4.9":{"name":"@smile-digital-health/crl","version":"6.4.9","keywords":["clinical","practice","guideline","language","parser","validator"],"author":{"name":"CQIS"},"license":"Apache-2.0","_id":"@smile-digital-health/crl@6.4.9","maintainers":[{"name":"subashgandyer-smile","email":"subash.gandyer@smiledigitalhealth.com"},{"name":"jpercival","email":"jonathan.i.percival@gmail.com"},{"name":"rob_reynolds","email":"rob.reynolds@smiledigitalhealth.com"},{"name":"seenafa","email":"seena.farzaneh@smiledigitalhealth.com"},{"name":"aodahl-smile","email":"alexander.dahl@smiledigitalhealth.com"},{"name":"megan.weatherston","email":"megan.weatherston@smiledigitalhealth.com"},{"name":"zackaustin","email":"zack.austin@smiledigitalhealth.com"},{"name":"guptava","email":"vaibhav.gupta@smiledigitalhealth.com"},{"name":"dejawu","email":"npm@dejawu.me"},{"name":"jreyno77","email":"jreysteven1@gmail.com"},{"name":"antvaset","email":"antvaset@gmail.com"}],"bin":{"crl-ast":"dist/cli/run-ast.js","crl-lex":"dist/cli/run-lexer.js","crl-mcp":"dist/cli/run-mcp-server.js","crl-emit":"dist/cli/run-emitter.js","crl-parse":"dist/cli/run-parser.js","crl-validate":"dist/cli/run-validator.js","crl-emit-results":"dist/cli/run-emit-results.js","crl-package-fhir":"dist/cli/run-package-fhir.js","crl-apply-session":"dist/cli/run-apply-session.js","crl-check-fhir-ids":"dist/cli/run-check-fhir-ids.js","crl-run-regression":"dist/cli/run-regression.js","crl-template-match":"dist/cli/run-template-match.js","crl-canonicalize-source":"dist/cli/run-canonicalize-source.js","crl-generate-provenance":"dist/cli/run-generate-provenance.js","crl-validate-provenance":"dist/cli/run-validate-provenance.js","crl-normalize-provenance":"dist/cli/run-normalize-provenance.js"},"dist":{"shasum":"38de55b807f1844dc0fb6e978759181ca8c3e57e","tarball":"https://registry.npmjs.org/@smile-digital-health/crl/-/crl-6.4.9.tgz","fileCount":969,"integrity":"sha512-Zz1d3ovJ/MHtZdMfpTj9puwtlPe7OIHf0zARsIF6E3GFXpaOUFMyY+veLYU8isz8OsfPgXsNVTOXk1Z292kSTg==","signatures":[{"sig":"MEQCIGTbI0xBMePxT/GFz9v11A2la4VMLaN3v160MuO2884lAiA6bffmgKJPUs0l4o1K71767s7N0AxGibDYhYlqNh/POg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCsk2gXdy9HL+lDtIHn9UA0WS/PJD3dZKCj53frZUfXiQIhAK7xMyqEmG0BExIl0vNcbwvOfHqE9F2zzsfkvgtabTWn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6051907},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./mcp":{"types":"./dist/mcp/index.d.ts","import":"./dist/mcp/index.js","require":"./dist/mcp/index.js"},"./session":{"types":"./dist/results/session.d.ts","import":"./dist/results/session.js","require":"./dist/results/session.js"},"./provenance":{"types":"./dist/provenance/index.d.ts","import":"./dist/provenance/index.js","require":"./dist/provenance/index.js"},"./language-services":{"types":"./dist/language-services/index.d.ts","import":"./dist/language-services/index.js","require":"./dist/language-services/index.js"}},"gitHead":"4c445d26d9e491aa820d586c31d359f82b278510","scripts":{"lint":"eslint \"src/**/*.ts\" --quiet","test":"vitest run --root ../.. --project crl --no-file-parallelism && npm run test:mcp","build":"tsc && node scripts/copy-catalog.mjs","clean":"rimraf dist","start":"npm run build && node dist/index.js","watch":"onchange -i \"src/**/*.ts\" -- npm run build","format":"prettier --write 'src/**/*.ts'","cli:ast":"ts-node src/cli/run-ast.ts","cli:mcp":"ts-node src/cli/run-mcp-server.ts","compile":"tsc --noEmit","prepack":"npm run build","generate":"antlr4ts -Xforce-atn src/grammar/CRLLexer.g4 && antlr4ts -Xforce-atn -visitor src/grammar/CRLParser.g4 && antlr4ts -Xforce-atn src/grammar/CELLexer.g4 && antlr4ts -Xforce-atn -visitor src/grammar/CELParser.g4 && npm run move-generated-files && npm run extract-types","lint:fix":"eslint src/**/*.ts --fix","prebuild":"rimraf dist && shx mkdir -p dist && npm run generate && cpx \"src/grammar/generated/types/*.json\" dist/grammar/generated/types/ && node scripts/checkGrammarJsonFiles.js","test:mcp":"node src/cli/tests/run-mcp-server.test.mjs","cli:lexer":"ts-node src/cli/run-lexer.ts","cli:parser":"ts-node src/cli/run-parser.ts","prerelease":"node scripts/prereleaseGithub.js","test:watch":"vitest --root ../.. --project crl --no-file-parallelism","cli:emitter":"ts-node src/cli/run-emitter.ts","pretest:mcp":"npm run build","git:unmerged":"ts-node scripts/unmerged-branches.ts","cli:validator":"ts-node src/cli/run-validator.ts","extract-types":"node scripts/extractActivityTypes.js && node scripts/extractConceptTypes.js && node scripts/extractConceptValueTypes.js && node scripts/extractConceptShapes.js && node scripts/extractParameterTypes.js && node scripts/generateMetadataRegistry.js","test:coverage":"vitest run --root ../.. --project crl --no-file-parallelism --coverage","util:clonefsh":"npx ts-node scripts/clone-fsh-repo.ts","cli:ast:pretty":"ts-node src/cli/run-ast.ts --pretty","test:regression":"vitest run --root ../.. --project crl --no-file-parallelism --reporter=verbose","cli:lexer:pretty":"ts-node src/cli/run-lexer.ts --pretty","cli:parser:pretty":"ts-node src/cli/run-parser.ts --pretty","cli:template-match":"ts-node src/cli/run-template-match.ts","cli:validator:pretty":"ts-node src/cli/run-validator.ts --pretty","move-generated-files":"node scripts/moveGeneratedFiles.js","cli:transformer:fsh-to-crl":"ts-node src/cli/run-transformer-fsh-to-crl.ts"},"_npmUser":{"name":"rob_reynolds","email":"rob.reynolds@smiledigitalhealth.com"},"_npmVersion":"10.9.8","description":"Clinical Reasoning Language (CRL) parser and validator","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"cpx":"^1.2.1","tar":"7.5.22","zod":"^4.4.3","prompts":"^2.4.2","antlr4ts":"^0.5.0-alpha.4","fsh-sushi":"^3.15.0","jsonc-parser":"3.3.1","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","eslint":"^8.57.1","rimraf":"^5.0.5","ts-node":"^10.9.2","onchange":"^7.1.0","prettier":"^3.5.3","typescript":"^5.3.3","@types/node":"^20.11.19","markdown-it":"14.2.0","antlr4ts-cli":"^0.5.0-alpha.4","eslint-plugin-import":"^2.31.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.31.0","@typescript-eslint/eslint-plugin":"^8.31.0","eslint-import-resolver-typescript":"^4.3.4"},"_npmOperationalInternal":{"tmp":"tmp/crl_6.4.9_1790277270523_0.47819348471114287","host":"s3://npm-registry-packages-npm-production"}},"6.4.26":{"name":"@smile-digital-health/crl","version":"6.4.26","keywords":["clinical","practice","guideline","language","parser","validator"],"author":{"name":"CQIS"},"license":"Apache-2.0","_id":"@smile-digital-health/crl@6.4.26","maintainers":[{"name":"subashgandyer-smile","email":"subash.gandyer@smiledigitalhealth.com"},{"name":"jpercival","email":"jonathan.i.percival@gmail.com"},{"name":"rob_reynolds","email":"rob.reynolds@smiledigitalhealth.com"},{"name":"seenafa","email":"seena.farzaneh@smiledigitalhealth.com"},{"name":"aodahl-smile","email":"alexander.dahl@smiledigitalhealth.com"},{"name":"megan.weatherston","email":"megan.weatherston@smiledigitalhealth.com"},{"name":"zackaustin","email":"zack.austin@smiledigitalhealth.com"},{"name":"guptava","email":"vaibhav.gupta@smiledigitalhealth.com"},{"name":"dejawu","email":"npm@dejawu.me"},{"name":"jreyno77","email":"jreysteven1@gmail.com"},{"name":"antvaset","email":"antvaset@gmail.com"}],"bin":{"crl-ast":"dist/cli/run-ast.js","crl-lex":"dist/cli/run-lexer.js","crl-mcp":"dist/cli/run-mcp-server.js","crl-emit":"dist/cli/run-emitter.js","crl-parse":"dist/cli/run-parser.js","crl-validate":"dist/cli/run-validator.js","crl-emit-results":"dist/cli/run-emit-results.js","crl-package-fhir":"dist/cli/run-package-fhir.js","crl-apply-session":"dist/cli/run-apply-session.js","crl-check-fhir-ids":"dist/cli/run-check-fhir-ids.js","crl-run-regression":"dist/cli/run-regression.js","crl-template-match":"dist/cli/run-template-match.js","crl-canonicalize-source":"dist/cli/run-canonicalize-source.js","crl-generate-provenance":"dist/cli/run-generate-provenance.js","crl-validate-provenance":"dist/cli/run-validate-provenance.js","crl-normalize-provenance":"dist/cli/run-normalize-provenance.js"},"dist":{"shasum":"de114ccf560f669346bf5ef907bdba3f8d3ab627","tarball":"https://registry.npmjs.org/@smile-digital-health/crl/-/crl-6.4.26.tgz","fileCount":981,"integrity":"sha512-9iW2VTP99rJaxcu9ENNKEnmsjmA+zX3L9LYHmd2ZZLT7epr06fLJFALgm4lsJ1RH7XTr0kK6LI0EcA9RUwikMA==","signatures":[{"sig":"MEUCIQDQo5Ne1f4Pc5kJNM/SgkC99uAabN6LS90VCGeKEb1CJQIgT8qT4OYTPpSdIGV7IQ+POGkZoC9qiygeJR9kk7gLu8M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQD+by/7ujsBxq965IBySTJwbdot5fdQB7vkGx7W9JUrBwIgC4MtnlF6nx9VKcJDXzHUBMhXsQj+BSUgHO4z/uH4hME=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6127008},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./mcp":{"types":"./dist/mcp/index.d.ts","import":"./dist/mcp/index.js","require":"./dist/mcp/index.js"},"./session":{"types":"./dist/results/session.d.ts","import":"./dist/results/session.js","require":"./dist/results/session.js"},"./provenance":{"types":"./dist/provenance/index.d.ts","import":"./dist/provenance/index.js","require":"./dist/provenance/index.js"},"./language-services":{"types":"./dist/language-services/index.d.ts","import":"./dist/language-services/index.js","require":"./dist/language-services/index.js"}},"gitHead":"10977b9033c3be8365ad56fc50ba670c9002e0ef","scripts":{"lint":"eslint \"src/**/*.ts\" --quiet","test":"vitest run --root ../.. --project crl --no-file-parallelism && npm run test:mcp","build":"tsc && node scripts/copy-catalog.mjs","clean":"rimraf dist","start":"npm run build && node dist/index.js","watch":"onchange -i \"src/**/*.ts\" -- npm run build","format":"prettier --write 'src/**/*.ts'","cli:ast":"ts-node src/cli/run-ast.ts","cli:mcp":"ts-node src/cli/run-mcp-server.ts","compile":"tsc --noEmit","prepack":"npm run build","generate":"antlr4ts -Xforce-atn src/grammar/CRLLexer.g4 && antlr4ts -Xforce-atn -visitor src/grammar/CRLParser.g4 && antlr4ts -Xforce-atn src/grammar/CELLexer.g4 && antlr4ts -Xforce-atn -visitor src/grammar/CELParser.g4 && npm run move-generated-files && npm run extract-types","lint:fix":"eslint src/**/*.ts --fix","prebuild":"rimraf dist && shx mkdir -p dist && npm run generate && cpx \"src/grammar/generated/types/*.json\" dist/grammar/generated/types/ && node scripts/checkGrammarJsonFiles.js","test:mcp":"node src/cli/tests/run-mcp-server.test.mjs","cli:lexer":"ts-node src/cli/run-lexer.ts","cli:parser":"ts-node src/cli/run-parser.ts","prerelease":"node scripts/prereleaseGithub.js","test:watch":"vitest --root ../.. --project crl --no-file-parallelism","cli:emitter":"ts-node src/cli/run-emitter.ts","pretest:mcp":"npm run build","git:unmerged":"ts-node scripts/unmerged-branches.ts","cli:validator":"ts-node src/cli/run-validator.ts","extract-types":"node scripts/extractActivityTypes.js && node scripts/extractConceptTypes.js && node scripts/extractConceptValueTypes.js && node scripts/extractConceptShapes.js && node scripts/extractParameterTypes.js && node scripts/generateMetadataRegistry.js","test:coverage":"vitest run --root ../.. --project crl --no-file-parallelism --coverage","util:clonefsh":"npx ts-node scripts/clone-fsh-repo.ts","cli:ast:pretty":"ts-node src/cli/run-ast.ts --pretty","test:regression":"vitest run --root ../.. --project crl --no-file-parallelism --reporter=verbose","cli:lexer:pretty":"ts-node src/cli/run-lexer.ts --pretty","cli:parser:pretty":"ts-node src/cli/run-parser.ts --pretty","cli:template-match":"ts-node src/cli/run-template-match.ts","cli:validator:pretty":"ts-node src/cli/run-validator.ts --pretty","move-generated-files":"node scripts/moveGeneratedFiles.js","cli:transformer:fsh-to-crl":"ts-node src/cli/run-transformer-fsh-to-crl.ts"},"_npmUser":{"name":"rob_reynolds","email":"rob.reynolds@smiledigitalhealth.com"},"_npmVersion":"10.9.9","description":"Clinical Reasoning Language (CRL) parser and validator","directories":{},"sideEffects":false,"_nodeVersion":"22.23.3","dependencies":{"cpx":"^1.2.1","tar":"7.5.22","zod":"^4.4.3","prompts":"^2.4.2","antlr4ts":"^0.5.0-alpha.4","fsh-sushi":"^3.15.0","jsonc-parser":"3.3.1","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","eslint":"^8.57.1","rimraf":"^5.0.5","ts-node":"^10.9.2","onchange":"^7.1.0","prettier":"^3.5.3","typescript":"^5.3.3","@types/node":"^20.11.19","markdown-it":"14.2.0","antlr4ts-cli":"^0.5.0-alpha.4","eslint-plugin-import":"^2.31.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.31.0","@typescript-eslint/eslint-plugin":"^8.31.0","eslint-import-resolver-typescript":"^4.3.4"},"_npmOperationalInternal":{"tmp":"tmp/crl_6.4.26_1790893627402_0.037622018617120556","host":"s3://npm-registry-packages-npm-production"}},"6.4.27":{"name":"@smile-digital-health/crl","version":"6.4.27","keywords":["clinical","practice","guideline","language","parser","validator"],"author":{"name":"CQIS"},"license":"Apache-2.0","_id":"@smile-digital-health/crl@6.4.27","maintainers":[{"name":"subashgandyer-smile","email":"subash.gandyer@smiledigitalhealth.com"},{"name":"jpercival","email":"jonathan.i.percival@gmail.com"},{"name":"rob_reynolds","email":"rob.reynolds@smiledigitalhealth.com"},{"name":"seenafa","email":"seena.farzaneh@smiledigitalhealth.com"},{"name":"aodahl-smile","email":"alexander.dahl@smiledigitalhealth.com"},{"name":"megan.weatherston","email":"megan.weatherston@smiledigitalhealth.com"},{"name":"zackaustin","email":"zack.austin@smiledigitalhealth.com"},{"name":"guptava","email":"vaibhav.gupta@smiledigitalhealth.com"},{"name":"dejawu","email":"npm@dejawu.me"},{"name":"jreyno77","email":"jreysteven1@gmail.com"},{"name":"antvaset","email":"antvaset@gmail.com"}],"bin":{"crl-ast":"dist/cli/run-ast.js","crl-lex":"dist/cli/run-lexer.js","crl-mcp":"dist/cli/run-mcp-server.js","crl-emit":"dist/cli/run-emitter.js","crl-parse":"dist/cli/run-parser.js","crl-validate":"dist/cli/run-validator.js","crl-emit-results":"dist/cli/run-emit-results.js","crl-package-fhir":"dist/cli/run-package-fhir.js","crl-apply-session":"dist/cli/run-apply-session.js","crl-check-fhir-ids":"dist/cli/run-check-fhir-ids.js","crl-run-regression":"dist/cli/run-regression.js","crl-template-match":"dist/cli/run-template-match.js","crl-canonicalize-source":"dist/cli/run-canonicalize-source.js","crl-generate-provenance":"dist/cli/run-generate-provenance.js","crl-validate-provenance":"dist/cli/run-validate-provenance.js","crl-normalize-provenance":"dist/cli/run-normalize-provenance.js"},"dist":{"shasum":"fa34ea4fa73fa15161740232c3666da0696290d3","tarball":"https://registry.npmjs.org/@smile-digital-health/crl/-/crl-6.4.27.tgz","fileCount":981,"integrity":"sha512-ygTGluS9a3IimIQbGzHXPwHiIzjgowcNDGzE4TFgs5NCdsDao3QqVvaTC9qnrzICR76x0/o6EUiyK8hSUByCvg==","signatures":[{"sig":"MEUCIQCRqTeqBZ4QmGO83Z7OrKVtLp+B9hvykPpLw9Vv1uOrgAIgFODzXzNDokgbXbGyQqHRPIw+RXCASCM53ygAejZA7LM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDaF+ZG4wHa2RLnD6phkOl+NLVks3ku3sYiRd1Y+f3INgIgLR3AqBJ77wLqJLqVrPNEjPzTXCK3gixN/V2dL2xp/zk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6126997},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./mcp":{"types":"./dist/mcp/index.d.ts","import":"./dist/mcp/index.js","require":"./dist/mcp/index.js"},"./session":{"types":"./dist/results/session.d.ts","import":"./dist/results/session.js","require":"./dist/results/session.js"},"./provenance":{"types":"./dist/provenance/index.d.ts","import":"./dist/provenance/index.js","require":"./dist/provenance/index.js"},"./language-services":{"types":"./dist/language-services/index.d.ts","import":"./dist/language-services/index.js","require":"./dist/language-services/index.js"}},"gitHead":"bb3a7646a82d9418c0d49837a46b5d353d4a3c01","scripts":{"lint":"eslint \"src/**/*.ts\" --quiet","test":"vitest run --root ../.. --project crl --no-file-parallelism && npm run test:mcp","build":"tsc && node scripts/copy-catalog.mjs","clean":"rimraf dist","start":"npm run build && node dist/index.js","watch":"onchange -i \"src/**/*.ts\" -- npm run build","format":"prettier --write 'src/**/*.ts'","cli:ast":"ts-node src/cli/run-ast.ts","cli:mcp":"ts-node src/cli/run-mcp-server.ts","compile":"tsc --noEmit","prepack":"npm run build","generate":"antlr4ts -Xforce-atn src/grammar/CRLLexer.g4 && antlr4ts -Xforce-atn -visitor src/grammar/CRLParser.g4 && antlr4ts -Xforce-atn src/grammar/CELLexer.g4 && antlr4ts -Xforce-atn -visitor src/grammar/CELParser.g4 && npm run move-generated-files && npm run extract-types","lint:fix":"eslint src/**/*.ts --fix","prebuild":"rimraf dist && shx mkdir -p dist && npm run generate && cpx \"src/grammar/generated/types/*.json\" dist/grammar/generated/types/ && node scripts/checkGrammarJsonFiles.js","test:mcp":"node src/cli/tests/run-mcp-server.test.mjs","cli:lexer":"ts-node src/cli/run-lexer.ts","cli:parser":"ts-node src/cli/run-parser.ts","prerelease":"node scripts/prereleaseGithub.js","test:watch":"vitest --root ../.. --project crl --no-file-parallelism","cli:emitter":"ts-node src/cli/run-emitter.ts","pretest:mcp":"npm run build","git:unmerged":"ts-node scripts/unmerged-branches.ts","cli:validator":"ts-node src/cli/run-validator.ts","extract-types":"node scripts/extractActivityTypes.js && node scripts/extractConceptTypes.js && node scripts/extractConceptValueTypes.js && node scripts/extractConceptShapes.js && node scripts/extractParameterTypes.js && node scripts/generateMetadataRegistry.js","test:coverage":"vitest run --root ../.. --project crl --no-file-parallelism --coverage","util:clonefsh":"npx ts-node scripts/clone-fsh-repo.ts","cli:ast:pretty":"ts-node src/cli/run-ast.ts --pretty","test:regression":"vitest run --root ../.. --project crl --no-file-parallelism --reporter=verbose","cli:lexer:pretty":"ts-node src/cli/run-lexer.ts --pretty","cli:parser:pretty":"ts-node src/cli/run-parser.ts --pretty","cli:template-match":"ts-node src/cli/run-template-match.ts","cli:validator:pretty":"ts-node src/cli/run-validator.ts --pretty","move-generated-files":"node scripts/moveGeneratedFiles.js","cli:transformer:fsh-to-crl":"ts-node src/cli/run-transformer-fsh-to-crl.ts"},"_npmUser":{"name":"rob_reynolds","email":"rob.reynolds@smiledigitalhealth.com"},"_npmVersion":"10.9.9","description":"Clinical Reasoning Language (CRL) parser and validator","directories":{},"sideEffects":false,"_nodeVersion":"22.23.3","dependencies":{"cpx":"^1.2.1","tar":"7.5.22","zod":"^4.4.3","prompts":"^2.4.2","antlr4ts":"^0.5.0-alpha.4","fsh-sushi":"^3.15.0","jsonc-parser":"3.3.1","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","eslint":"^8.57.1","rimraf":"^5.0.5","ts-node":"^10.9.2","onchange":"^7.1.0","prettier":"^3.5.3","typescript":"^5.3.3","@types/node":"^20.11.19","markdown-it":"14.2.0","antlr4ts-cli":"^0.5.0-alpha.4","eslint-plugin-import":"^2.31.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.31.0","@typescript-eslint/eslint-plugin":"^8.31.0","eslint-import-resolver-typescript":"^4.3.4"},"_npmOperationalInternal":{"tmp":"tmp/crl_6.4.27_1790972708905_0.3651836883442745","host":"s3://npm-registry-packages-npm-production"}},"6.4.28":{"name":"@smile-digital-health/crl","version":"6.4.28","keywords":["clinical","practice","guideline","language","parser","validator"],"author":{"name":"CQIS"},"license":"Apache-2.0","_id":"@smile-digital-health/crl@6.4.28","maintainers":[{"name":"subashgandyer-smile","email":"subash.gandyer@smiledigitalhealth.com"},{"name":"jpercival","email":"jonathan.i.percival@gmail.com"},{"name":"rob_reynolds","email":"rob.reynolds@smiledigitalhealth.com"},{"name":"seenafa","email":"seena.farzaneh@smiledigitalhealth.com"},{"name":"aodahl-smile","email":"alexander.dahl@smiledigitalhealth.com"},{"name":"megan.weatherston","email":"megan.weatherston@smiledigitalhealth.com"},{"name":"zackaustin","email":"zack.austin@smiledigitalhealth.com"},{"name":"guptava","email":"vaibhav.gupta@smiledigitalhealth.com"},{"name":"dejawu","email":"npm@dejawu.me"},{"name":"jreyno77","email":"jreysteven1@gmail.com"},{"name":"antvaset","email":"antvaset@gmail.com"}],"bin":{"crl-ast":"dist/cli/run-ast.js","crl-lex":"dist/cli/run-lexer.js","crl-mcp":"dist/cli/run-mcp-server.js","crl-emit":"dist/cli/run-emitter.js","crl-parse":"dist/cli/run-parser.js","crl-validate":"dist/cli/run-validator.js","crl-emit-results":"dist/cli/run-emit-results.js","crl-package-fhir":"dist/cli/run-package-fhir.js","crl-apply-session":"dist/cli/run-apply-session.js","crl-check-fhir-ids":"dist/cli/run-check-fhir-ids.js","crl-run-regression":"dist/cli/run-regression.js","crl-template-match":"dist/cli/run-template-match.js","crl-canonicalize-source":"dist/cli/run-canonicalize-source.js","crl-generate-provenance":"dist/cli/run-generate-provenance.js","crl-validate-provenance":"dist/cli/run-validate-provenance.js","crl-normalize-provenance":"dist/cli/run-normalize-provenance.js"},"dist":{"shasum":"09bb838a62c409c35779fd45162c4914bc669381","tarball":"https://registry.npmjs.org/@smile-digital-health/crl/-/crl-6.4.28.tgz","fileCount":981,"integrity":"sha512-eDzFoVZNpWVx8cmU7UEApu69VkpZvlFeLmU08FfRlt2wWWIRLGeTCIpxyJovY7Vix+4ykv01rpHxoR4XZ4kwCw==","signatures":[{"sig":"MEYCIQDy78iW37TCol73rQf8YpY9YLQz2Cm4GUev1/VqopmnZgIhAJHhptN0cXbKPnNuxg4Bwfc3sLQQEW7/gAydi3fzHz/7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIG+yW/fnzKj6Pel25MUwWHlB5FQcmZANGRAVg/7LY5/mAiEAwTd66iAtAmB6OWLsGtQXF6ue3NVKvwiURSlrX1nQzig=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6127465},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./mcp":{"types":"./dist/mcp/index.d.ts","import":"./dist/mcp/index.js","require":"./dist/mcp/index.js"},"./session":{"types":"./dist/results/session.d.ts","import":"./dist/results/session.js","require":"./dist/results/session.js"},"./provenance":{"types":"./dist/provenance/index.d.ts","import":"./dist/provenance/index.js","require":"./dist/provenance/index.js"},"./language-services":{"types":"./dist/language-services/index.d.ts","import":"./dist/language-services/index.js","require":"./dist/language-services/index.js"}},"gitHead":"0f1fa4f2d9b3bd5f212604b1cb6b8be025663fc8","scripts":{"lint":"eslint \"src/**/*.ts\" --quiet","test":"vitest run --root ../.. --project crl --no-file-parallelism && npm run test:mcp","build":"tsc && node scripts/copy-catalog.mjs","clean":"rimraf dist","start":"npm run build && node dist/index.js","watch":"onchange -i \"src/**/*.ts\" -- npm run build","format":"prettier --write 'src/**/*.ts'","cli:ast":"ts-node src/cli/run-ast.ts","cli:mcp":"ts-node src/cli/run-mcp-server.ts","compile":"tsc --noEmit","prepack":"npm run build","generate":"antlr4ts -Xforce-atn src/grammar/CRLLexer.g4 && antlr4ts -Xforce-atn -visitor src/grammar/CRLParser.g4 && antlr4ts -Xforce-atn src/grammar/CELLexer.g4 && antlr4ts -Xforce-atn -visitor src/grammar/CELParser.g4 && npm run move-generated-files && npm run extract-types","lint:fix":"eslint src/**/*.ts --fix","prebuild":"rimraf dist && shx mkdir -p dist && npm run generate && cpx \"src/grammar/generated/types/*.json\" dist/grammar/generated/types/ && node scripts/checkGrammarJsonFiles.js","test:mcp":"node src/cli/tests/run-mcp-server.test.mjs","cli:lexer":"ts-node src/cli/run-lexer.ts","cli:parser":"ts-node src/cli/run-parser.ts","prerelease":"node scripts/prereleaseGithub.js","test:watch":"vitest --root ../.. --project crl --no-file-parallelism","cli:emitter":"ts-node src/cli/run-emitter.ts","pretest:mcp":"npm run build","git:unmerged":"ts-node scripts/unmerged-branches.ts","cli:validator":"ts-node src/cli/run-validator.ts","extract-types":"node scripts/extractActivityTypes.js && node scripts/extractConceptTypes.js && node scripts/extractConceptValueTypes.js && node scripts/extractConceptShapes.js && node scripts/extractParameterTypes.js && node scripts/generateMetadataRegistry.js","test:coverage":"vitest run --root ../.. --project crl --no-file-parallelism --coverage","util:clonefsh":"npx ts-node scripts/clone-fsh-repo.ts","cli:ast:pretty":"ts-node src/cli/run-ast.ts --pretty","test:regression":"vitest run --root ../.. --project crl --no-file-parallelism --reporter=verbose","cli:lexer:pretty":"ts-node src/cli/run-lexer.ts --pretty","cli:parser:pretty":"ts-node src/cli/run-parser.ts --pretty","cli:template-match":"ts-node src/cli/run-template-match.ts","cli:validator:pretty":"ts-node src/cli/run-validator.ts --pretty","move-generated-files":"node scripts/moveGeneratedFiles.js","cli:transformer:fsh-to-crl":"ts-node src/cli/run-transformer-fsh-to-crl.ts"},"_npmUser":{"name":"rob_reynolds","email":"rob.reynolds@smiledigitalhealth.com"},"_npmVersion":"10.9.9","description":"Clinical Reasoning Language (CRL) parser and validator","directories":{},"sideEffects":false,"_nodeVersion":"22.23.3","dependencies":{"cpx":"^1.2.1","tar":"7.5.22","zod":"^4.4.3","prompts":"^2.4.2","antlr4ts":"^0.5.0-alpha.4","fsh-sushi":"^3.15.0","jsonc-parser":"3.3.1","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","eslint":"^8.57.1","rimraf":"^5.0.5","ts-node":"^10.9.2","onchange":"^7.1.0","prettier":"^3.5.3","typescript":"^5.3.3","@types/node":"^20.11.19","markdown-it":"14.2.0","antlr4ts-cli":"^0.5.0-alpha.4","eslint-plugin-import":"^2.31.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.31.0","@typescript-eslint/eslint-plugin":"^8.31.0","eslint-import-resolver-typescript":"^4.3.4"},"_npmOperationalInternal":{"tmp":"tmp/crl_6.4.28_1791047915194_0.311721861538655","host":"s3://npm-registry-packages-npm-production"}},"6.4.31":{"name":"@smile-digital-health/crl","version":"6.4.31","keywords":["clinical","practice","guideline","language","parser","validator"],"author":{"name":"CQIS"},"license":"Apache-2.0","_id":"@smile-digital-health/crl@6.4.31","maintainers":[{"name":"subashgandyer-smile","email":"subash.gandyer@smiledigitalhealth.com"},{"name":"jpercival","email":"jonathan.i.percival@gmail.com"},{"name":"rob_reynolds","email":"rob.reynolds@smiledigitalhealth.com"},{"name":"seenafa","email":"seena.farzaneh@smiledigitalhealth.com"},{"name":"aodahl-smile","email":"alexander.dahl@smiledigitalhealth.com"},{"name":"megan.weatherston","email":"megan.weatherston@smiledigitalhealth.com"},{"name":"zackaustin","email":"zack.austin@smiledigitalhealth.com"},{"name":"guptava","email":"vaibhav.gupta@smiledigitalhealth.com"},{"name":"dejawu","email":"npm@dejawu.me"},{"name":"jreyno77","email":"jreysteven1@gmail.com"},{"name":"antvaset","email":"antvaset@gmail.com"}],"bin":{"crl-ast":"dist/cli/run-ast.js","crl-lex":"dist/cli/run-lexer.js","crl-mcp":"dist/cli/run-mcp-server.js","crl-emit":"dist/cli/run-emitter.js","crl-parse":"dist/cli/run-parser.js","crl-validate":"dist/cli/run-validator.js","crl-emit-results":"dist/cli/run-emit-results.js","crl-package-fhir":"dist/cli/run-package-fhir.js","crl-apply-session":"dist/cli/run-apply-session.js","crl-check-fhir-ids":"dist/cli/run-check-fhir-ids.js","crl-run-regression":"dist/cli/run-regression.js","crl-template-match":"dist/cli/run-template-match.js","crl-canonicalize-source":"dist/cli/run-canonicalize-source.js","crl-generate-provenance":"dist/cli/run-generate-provenance.js","crl-validate-provenance":"dist/cli/run-validate-provenance.js","crl-normalize-provenance":"dist/cli/run-normalize-provenance.js"},"dist":{"shasum":"f9328e4a68423fb536284d667fc681ff4e17b8d1","tarball":"https://registry.npmjs.org/@smile-digital-health/crl/-/crl-6.4.31.tgz","fileCount":984,"integrity":"sha512-R0xYxjlhjJJ3nbQFyoCdqAWAOboHEkYCDNep7E6bSJTGjOfB0+5aD+zvKJbO/BQ5NaIq9h1e0NZy4qNnIihCIw==","signatures":[{"sig":"MEQCICrufhtI3B0GVq6ipTUHde/PcLW5sLFfJLzRUUQbdZlTAiA2CydBVa/RjiFTwiFDUAimzvGUBZxG4m9oOxUTn6hHug==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDOfkpDaCZ+5c/rLtd8j90IREGM21QlPT89UdoNSmevFgIhAPFUfSBkt944c0vOAz7MWq7jPVkIKZZ/yhUbXPSovWVR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6149801},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./mcp":{"types":"./dist/mcp/index.d.ts","import":"./dist/mcp/index.js","require":"./dist/mcp/index.js"},"./session":{"types":"./dist/results/session.d.ts","import":"./dist/results/session.js","require":"./dist/results/session.js"},"./provenance":{"types":"./dist/provenance/index.d.ts","import":"./dist/provenance/index.js","require":"./dist/provenance/index.js"},"./language-services":{"types":"./dist/language-services/index.d.ts","import":"./dist/language-services/index.js","require":"./dist/language-services/index.js"}},"gitHead":"9a968025c74c4f1433f665d19701eeaa36fd1f59","scripts":{"lint":"eslint \"src/**/*.ts\" --quiet","test":"vitest run --root ../.. --project crl --no-file-parallelism && npm run test:mcp","build":"tsc && node scripts/copy-catalog.mjs","clean":"rimraf dist","start":"npm run build && node dist/index.js","watch":"onchange -i \"src/**/*.ts\" -- npm run build","format":"prettier --write 'src/**/*.ts'","cli:ast":"ts-node src/cli/run-ast.ts","cli:mcp":"ts-node src/cli/run-mcp-server.ts","compile":"tsc --noEmit","prepack":"npm run build","generate":"antlr4ts -Xforce-atn src/grammar/CRLLexer.g4 && antlr4ts -Xforce-atn -visitor src/grammar/CRLParser.g4 && antlr4ts -Xforce-atn src/grammar/CELLexer.g4 && antlr4ts -Xforce-atn -visitor src/grammar/CELParser.g4 && npm run move-generated-files && npm run extract-types","lint:fix":"eslint src/**/*.ts --fix","prebuild":"rimraf dist && shx mkdir -p dist && npm run generate && cpx \"src/grammar/generated/types/*.json\" dist/grammar/generated/types/ && node scripts/checkGrammarJsonFiles.js","test:mcp":"node src/cli/tests/run-mcp-server.test.mjs","cli:lexer":"ts-node src/cli/run-lexer.ts","cli:parser":"ts-node src/cli/run-parser.ts","prerelease":"node scripts/prereleaseGithub.js","test:watch":"vitest --root ../.. --project crl --no-file-parallelism","cli:emitter":"ts-node src/cli/run-emitter.ts","pretest:mcp":"npm run build","git:unmerged":"ts-node scripts/unmerged-branches.ts","cli:validator":"ts-node src/cli/run-validator.ts","extract-types":"node scripts/extractActivityTypes.js && node scripts/extractConceptTypes.js && node scripts/extractConceptValueTypes.js && node scripts/extractConceptShapes.js && node scripts/extractParameterTypes.js && node scripts/generateMetadataRegistry.js","test:coverage":"vitest run --root ../.. --project crl --no-file-parallelism --coverage","util:clonefsh":"npx ts-node scripts/clone-fsh-repo.ts","cli:ast:pretty":"ts-node src/cli/run-ast.ts --pretty","test:regression":"vitest run --root ../.. --project crl --no-file-parallelism --reporter=verbose","cli:lexer:pretty":"ts-node src/cli/run-lexer.ts --pretty","cli:parser:pretty":"ts-node src/cli/run-parser.ts --pretty","cli:template-match":"ts-node src/cli/run-template-match.ts","cli:validator:pretty":"ts-node src/cli/run-validator.ts --pretty","move-generated-files":"node scripts/moveGeneratedFiles.js","cli:transformer:fsh-to-crl":"ts-node src/cli/run-transformer-fsh-to-crl.ts"},"_npmUser":{"name":"rob_reynolds","email":"rob.reynolds@smiledigitalhealth.com"},"_npmVersion":"10.9.9","description":"Clinical Reasoning Language (CRL) parser and validator","directories":{},"sideEffects":false,"_nodeVersion":"22.23.3","dependencies":{"cpx":"^1.2.1","tar":"7.5.22","zod":"^4.4.3","prompts":"^2.4.2","antlr4ts":"^0.5.0-alpha.4","fsh-sushi":"^3.15.0","jsonc-parser":"3.3.1","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","eslint":"^8.57.1","rimraf":"^5.0.5","ts-node":"^10.9.2","onchange":"^7.1.0","prettier":"^3.5.3","typescript":"^5.3.3","@types/node":"^20.11.19","markdown-it":"14.2.0","antlr4ts-cli":"^0.5.0-alpha.4","eslint-plugin-import":"^2.31.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.31.0","@typescript-eslint/eslint-plugin":"^8.31.0","eslint-import-resolver-typescript":"^4.3.4"},"_npmOperationalInternal":{"tmp":"tmp/crl_6.4.31_1791097708179_0.7602127897686146","host":"s3://npm-registry-packages-npm-production"}},"6.4.32":{"name":"@smile-digital-health/crl","version":"6.4.32","keywords":["clinical","practice","guideline","language","parser","validator"],"author":{"name":"CQIS"},"license":"Apache-2.0","_id":"@smile-digital-health/crl@6.4.32","maintainers":[{"name":"subashgandyer-smile","email":"subash.gandyer@smiledigitalhealth.com"},{"name":"jpercival","email":"jonathan.i.percival@gmail.com"},{"name":"rob_reynolds","email":"rob.reynolds@smiledigitalhealth.com"},{"name":"seenafa","email":"seena.farzaneh@smiledigitalhealth.com"},{"name":"aodahl-smile","email":"alexander.dahl@smiledigitalhealth.com"},{"name":"megan.weatherston","email":"megan.weatherston@smiledigitalhealth.com"},{"name":"zackaustin","email":"zack.austin@smiledigitalhealth.com"},{"name":"guptava","email":"vaibhav.gupta@smiledigitalhealth.com"},{"name":"dejawu","email":"npm@dejawu.me"},{"name":"jreyno77","email":"jreysteven1@gmail.com"},{"name":"antvaset","email":"antvaset@gmail.com"}],"bin":{"crl-ast":"dist/cli/run-ast.js","crl-lex":"dist/cli/run-lexer.js","crl-mcp":"dist/cli/run-mcp-server.js","crl-emit":"dist/cli/run-emitter.js","crl-parse":"dist/cli/run-parser.js","crl-validate":"dist/cli/run-validator.js","crl-emit-results":"dist/cli/run-emit-results.js","crl-package-fhir":"dist/cli/run-package-fhir.js","crl-apply-session":"dist/cli/run-apply-session.js","crl-check-fhir-ids":"dist/cli/run-check-fhir-ids.js","crl-run-regression":"dist/cli/run-regression.js","crl-template-match":"dist/cli/run-template-match.js","crl-canonicalize-source":"dist/cli/run-canonicalize-source.js","crl-generate-provenance":"dist/cli/run-generate-provenance.js","crl-validate-provenance":"dist/cli/run-validate-provenance.js","crl-normalize-provenance":"dist/cli/run-normalize-provenance.js"},"dist":{"shasum":"ca0c35c099a4d71d610eac8813f97af6f662d0ac","tarball":"https://registry.npmjs.org/@smile-digital-health/crl/-/crl-6.4.32.tgz","fileCount":984,"integrity":"sha512-UJyn5YAemucFEvUVx42mcR+TUAbKsXGvQGKeKI7AbUciUcAuRuEHTr7Gmt5YlotWAOQyP+ZoR241eWxK6SRYig==","signatures":[{"sig":"MEYCIQCByPS6sYn1DELY43hx+qNf1wuAQNjED5VzpyIagXVzSgIhAL1D7LfL1D7T+Ba/Ueva04m/FoJMJLhnMUiCfjr8QL61","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIDdacrWiuWug+6dwrv7okcAYtWxrIzMDfdZhS3QPjdsdAiEAskKXRxZ7WZNXbM+tjgVhO/iwAltSnLfXxxHpm1A4oiI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6152251},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./mcp":{"types":"./dist/mcp/index.d.ts","import":"./dist/mcp/index.js","require":"./dist/mcp/index.js"},"./session":{"types":"./dist/results/session.d.ts","import":"./dist/results/session.js","require":"./dist/results/session.js"},"./provenance":{"types":"./dist/provenance/index.d.ts","import":"./dist/provenance/index.js","require":"./dist/provenance/index.js"},"./language-services":{"types":"./dist/language-services/index.d.ts","import":"./dist/language-services/index.js","require":"./dist/language-services/index.js"}},"gitHead":"67bfa8cd8ffdc1f6a856694bd02d2f021e1053c3","scripts":{"lint":"eslint \"src/**/*.ts\" --quiet","test":"vitest run --root ../.. --project crl --no-file-parallelism && npm run test:mcp","build":"tsc && node scripts/copy-catalog.mjs","clean":"rimraf dist","start":"npm run build && node dist/index.js","watch":"onchange -i \"src/**/*.ts\" -- npm run build","format":"prettier --write 'src/**/*.ts'","cli:ast":"ts-node src/cli/run-ast.ts","cli:mcp":"ts-node src/cli/run-mcp-server.ts","compile":"tsc --noEmit","prepack":"npm run build","generate":"antlr4ts -Xforce-atn src/grammar/CRLLexer.g4 && antlr4ts -Xforce-atn -visitor src/grammar/CRLParser.g4 && antlr4ts -Xforce-atn src/grammar/CELLexer.g4 && antlr4ts -Xforce-atn -visitor src/grammar/CELParser.g4 && npm run move-generated-files && npm run extract-types","lint:fix":"eslint src/**/*.ts --fix","prebuild":"rimraf dist && shx mkdir -p dist && npm run generate && cpx \"src/grammar/generated/types/*.json\" dist/grammar/generated/types/ && node scripts/checkGrammarJsonFiles.js","test:mcp":"node src/cli/tests/run-mcp-server.test.mjs","cli:lexer":"ts-node src/cli/run-lexer.ts","cli:parser":"ts-node src/cli/run-parser.ts","prerelease":"node scripts/prereleaseGithub.js","test:watch":"vitest --root ../.. --project crl --no-file-parallelism","cli:emitter":"ts-node src/cli/run-emitter.ts","pretest:mcp":"npm run build","git:unmerged":"ts-node scripts/unmerged-branches.ts","cli:validator":"ts-node src/cli/run-validator.ts","extract-types":"node scripts/extractActivityTypes.js && node scripts/extractConceptTypes.js && node scripts/extractConceptValueTypes.js && node scripts/extractConceptShapes.js && node scripts/extractParameterTypes.js && node scripts/generateMetadataRegistry.js","test:coverage":"vitest run --root ../.. --project crl --no-file-parallelism --coverage","util:clonefsh":"npx ts-node scripts/clone-fsh-repo.ts","cli:ast:pretty":"ts-node src/cli/run-ast.ts --pretty","test:regression":"vitest run --root ../.. --project crl --no-file-parallelism --reporter=verbose","cli:lexer:pretty":"ts-node src/cli/run-lexer.ts --pretty","cli:parser:pretty":"ts-node src/cli/run-parser.ts --pretty","cli:template-match":"ts-node src/cli/run-template-match.ts","cli:validator:pretty":"ts-node src/cli/run-validator.ts --pretty","move-generated-files":"node scripts/moveGeneratedFiles.js","cli:transformer:fsh-to-crl":"ts-node src/cli/run-transformer-fsh-to-crl.ts"},"_npmUser":{"name":"rob_reynolds","email":"rob.reynolds@smiledigitalhealth.com"},"_npmVersion":"10.9.9","description":"Clinical Reasoning Language (CRL) parser and validator","directories":{},"sideEffects":false,"_nodeVersion":"22.23.3","dependencies":{"cpx":"^1.2.1","tar":"7.5.22","zod":"^4.4.3","prompts":"^2.4.2","antlr4ts":"^0.5.0-alpha.4","fsh-sushi":"^3.15.0","jsonc-parser":"3.3.1","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","eslint":"^8.57.1","rimraf":"^5.0.5","ts-node":"^10.9.2","onchange":"^7.1.0","prettier":"^3.5.3","typescript":"^5.3.3","@types/node":"^20.11.19","markdown-it":"14.2.0","antlr4ts-cli":"^0.5.0-alpha.4","eslint-plugin-import":"^2.31.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.31.0","@typescript-eslint/eslint-plugin":"^8.31.0","eslint-import-resolver-typescript":"^4.3.4"},"_npmOperationalInternal":{"tmp":"tmp/crl_6.4.32_1791123039564_0.6549878881226023","host":"s3://npm-registry-packages-npm-production"}},"6.4.33":{"_id":"@smile-digital-health/crl@6.4.33","bin":{"crl-ast":"dist/cli/run-ast.js","crl-lex":"dist/cli/run-lexer.js","crl-mcp":"dist/cli/run-mcp-server.js","crl-emit":"dist/cli/run-emitter.js","crl-parse":"dist/cli/run-parser.js","crl-validate":"dist/cli/run-validator.js","crl-emit-results":"dist/cli/run-emit-results.js","crl-package-fhir":"dist/cli/run-package-fhir.js","crl-apply-session":"dist/cli/run-apply-session.js","crl-check-fhir-ids":"dist/cli/run-check-fhir-ids.js","crl-run-regression":"dist/cli/run-regression.js","crl-template-match":"dist/cli/run-template-match.js","crl-canonicalize-source":"dist/cli/run-canonicalize-source.js","crl-generate-provenance":"dist/cli/run-generate-provenance.js","crl-validate-provenance":"dist/cli/run-validate-provenance.js","crl-normalize-provenance":"dist/cli/run-normalize-provenance.js"},"dist":{"shasum":"51e597422fe77b54f117a4a6dca688481c09a578","tarball":"https://registry.npmjs.org/@smile-digital-health/crl/-/crl-6.4.33.tgz","fileCount":993,"integrity":"sha512-Yp8fas4aHFTCU3BwUWCvd6Hn2WRkeLWo/BC6cYz6YDhinCROe9CxXztCNYIoCDn1o8Pe6cl5ndCTdZj/ujNIDg==","signatures":[{"sig":"MEQCICrtoVJuNIehCFGavpLmOAGmiVp43jZsEbxsdU3WLqtPAiAghdlJVdz2/y/ktFauSvZrZvkEo9Bco32TaXxg7HHSGw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQC3Th9il/om4tbqFAI4gRWNBKV8k0nyMFkmVkOtKegM+QIhAIyKBgs9i99csY9S4KK/aka4LkT1hGeaLggKLbu8kHjn"}],"unpackedSize":6181072},"main":"dist/index.js","name":"@smile-digital-health/crl","types":"dist/index.d.ts","author":{"name":"CQIS"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./mcp":{"types":"./dist/mcp/index.d.ts","import":"./dist/mcp/index.js","require":"./dist/mcp/index.js"},"./session":{"types":"./dist/results/session.d.ts","import":"./dist/results/session.js","require":"./dist/results/session.js"},"./provenance":{"types":"./dist/provenance/index.d.ts","import":"./dist/provenance/index.js","require":"./dist/provenance/index.js"},"./language-services":{"types":"./dist/language-services/index.d.ts","import":"./dist/language-services/index.js","require":"./dist/language-services/index.js"}},"gitHead":"3e1881fd1fc924452842bb690b4a0c4a0ad395be","license":"Apache-2.0","scripts":{"lint":"eslint \"src/**/*.ts\" --quiet","test":"vitest run --root ../.. --project crl --no-file-parallelism && npm run test:mcp","build":"tsc && node scripts/copy-catalog.mjs","clean":"rimraf dist","start":"npm run build && node dist/index.js","watch":"onchange -i \"src/**/*.ts\" -- npm run build","format":"prettier --write 'src/**/*.ts'","cli:ast":"ts-node src/cli/run-ast.ts","cli:mcp":"ts-node src/cli/run-mcp-server.ts","compile":"tsc --noEmit","prepack":"npm run build","generate":"antlr4ts -Xforce-atn src/grammar/CRLLexer.g4 && antlr4ts -Xforce-atn -visitor src/grammar/CRLParser.g4 && antlr4ts -Xforce-atn src/grammar/CELLexer.g4 && antlr4ts -Xforce-atn -visitor src/grammar/CELParser.g4 && npm run move-generated-files && npm run extract-types","lint:fix":"eslint src/**/*.ts --fix","prebuild":"rimraf dist && shx mkdir -p dist && npm run generate && cpx \"src/grammar/generated/types/*.json\" dist/grammar/generated/types/ && node scripts/checkGrammarJsonFiles.js","test:mcp":"node src/cli/tests/run-mcp-server.test.mjs","cli:lexer":"ts-node src/cli/run-lexer.ts","cli:parser":"ts-node src/cli/run-parser.ts","prerelease":"node scripts/prereleaseGithub.js","test:watch":"vitest --root ../.. --project crl --no-file-parallelism","cli:emitter":"ts-node src/cli/run-emitter.ts","pretest:mcp":"npm run build","git:unmerged":"ts-node scripts/unmerged-branches.ts","cli:validator":"ts-node src/cli/run-validator.ts","extract-types":"node scripts/extractActivityTypes.js && node scripts/extractConceptTypes.js && node scripts/extractConceptValueTypes.js && node scripts/extractConceptShapes.js && node scripts/extractParameterTypes.js && node scripts/generateMetadataRegistry.js","test:coverage":"vitest run --root ../.. --project crl --no-file-parallelism --coverage","util:clonefsh":"npx ts-node scripts/clone-fsh-repo.ts","cli:ast:pretty":"ts-node src/cli/run-ast.ts --pretty","test:regression":"vitest run --root ../.. --project crl --no-file-parallelism --reporter=verbose","cli:lexer:pretty":"ts-node src/cli/run-lexer.ts --pretty","cli:parser:pretty":"ts-node src/cli/run-parser.ts --pretty","cli:template-match":"ts-node src/cli/run-template-match.ts","cli:validator:pretty":"ts-node src/cli/run-validator.ts --pretty","move-generated-files":"node scripts/moveGeneratedFiles.js","cli:transformer:fsh-to-crl":"ts-node src/cli/run-transformer-fsh-to-crl.ts"},"version":"6.4.33","_npmUser":{"name":"rob_reynolds","email":"rob.reynolds@smiledigitalhealth.com"},"keywords":["clinical","practice","guideline","language","parser","validator"],"_npmVersion":"10.9.9","description":"Clinical Reasoning Language (CRL) parser and validator","directories":{},"maintainers":[{"name":"subashgandyer-smile","email":"subash.gandyer@smiledigitalhealth.com"},{"name":"jpercival","email":"jonathan.i.percival@gmail.com"},{"name":"rob_reynolds","email":"rob.reynolds@smiledigitalhealth.com"},{"name":"seenafa","email":"seena.farzaneh@smiledigitalhealth.com"},{"name":"aodahl-smile","email":"alexander.dahl@smiledigitalhealth.com"},{"name":"megan.weatherston","email":"megan.weatherston@smiledigitalhealth.com"},{"name":"zackaustin","email":"zack.austin@smiledigitalhealth.com"},{"name":"guptava","email":"vaibhav.gupta@smiledigitalhealth.com"},{"name":"dejawu","email":"npm@dejawu.me"},{"name":"jreyno77","email":"jreysteven1@gmail.com"},{"name":"antvaset","email":"antvaset@gmail.com"}],"sideEffects":false,"_nodeVersion":"22.23.3","dependencies":{"cpx":"^1.2.1","tar":"7.5.22","zod":"^4.4.3","prompts":"^2.4.2","antlr4ts":"^0.5.0-alpha.4","fsh-sushi":"^3.15.0","jsonc-parser":"3.3.1","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","eslint":"^8.57.1","rimraf":"^5.0.5","ts-node":"^10.9.2","onchange":"^7.1.0","prettier":"^3.5.3","typescript":"^5.3.3","@types/node":"^20.11.19","markdown-it":"14.2.0","antlr4ts-cli":"^0.5.0-alpha.4","eslint-plugin-import":"^2.31.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.31.0","@typescript-eslint/eslint-plugin":"^8.31.0","eslint-import-resolver-typescript":"^4.3.4"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/crl_6.4.33_1791144061426_0.9646630447733044"}}},"time":{"created":"2025-04-30T21:44:04.346Z","modified":"2026-10-04T20:01:01.807Z","0.7.0":"2025-04-30T21:44:04.692Z","1.0.0":"2025-05-18T23:42:34.114Z","1.1.0":"2025-05-19T23:41:16.765Z","1.1.1":"2025-05-20T17:40:10.139Z","1.2.1":"2025-07-02T00:30:35.961Z","4.47.0":"2026-07-06T18:30:51.486Z","4.92.1":"2026-07-15T00:55:33.005Z","4.107.0":"2026-08-03T20:08:49.124Z","4.108.0":"2026-08-05T01:41:54.055Z","4.109.0":"2026-08-05T13:54:50.494Z","4.112.0":"2026-09-03T02:31:53.563Z","4.113.0":"2026-09-03T19:43:58.655Z","4.114.0":"2026-09-03T23:13:46.630Z","4.115.0":"2026-09-04T04:13:34.624Z","4.116.0":"2026-09-04T05:51:28.581Z","4.117.0":"2026-09-04T06:24:07.894Z","4.118.0":"2026-09-04T06:57:17.056Z","4.119.0":"2026-09-04T08:12:24.060Z","4.120.0":"2026-09-04T12:29:37.478Z","4.121.0":"2026-09-05T22:48:43.801Z","4.122.0":"2026-09-08T10:31:11.335Z","4.123.0":"2026-09-08T17:25:56.160Z","5.0.0":"2026-09-08T23:52:17.690Z","5.1.0":"2026-09-09T13:28:58.593Z","5.1.1":"2026-09-09T14:20:34.678Z","5.2.0":"2026-09-10T10:46:44.033Z","5.3.0":"2026-09-13T17:29:41.570Z","5.4.0":"2026-09-13T22:36:00.761Z","5.4.1":"2026-09-14T16:01:17.238Z","5.4.2":"2026-09-15T00:54:17.629Z","6.0.0":"2026-09-16T23:02:33.212Z","6.3.0":"2026-09-18T13:11:03.541Z","6.4.6":"2026-09-21T17:01:57.385Z","6.4.7":"2026-09-21T18:51:42.516Z","6.4.8":"2026-09-22T00:51:23.839Z","6.4.9":"2026-09-24T19:14:30.642Z","6.4.26":"2026-10-01T22:27:07.527Z","6.4.27":"2026-10-02T20:25:09.069Z","6.4.28":"2026-10-03T17:18:35.351Z","6.4.31":"2026-10-04T07:08:28.298Z","6.4.32":"2026-10-04T14:10:39.712Z","6.4.33":"2026-10-04T20:01:01.603Z"},"author":{"name":"CQIS"},"license":"Apache-2.0","keywords":["clinical","practice","guideline","language","parser","validator"],"description":"Clinical Reasoning Language (CRL) parser and validator","maintainers":[{"name":"subashgandyer-smile","email":"subash.gandyer@smiledigitalhealth.com"},{"name":"jpercival","email":"jonathan.i.percival@gmail.com"},{"name":"rob_reynolds","email":"rob.reynolds@smiledigitalhealth.com"},{"name":"seenafa","email":"seena.farzaneh@smiledigitalhealth.com"},{"name":"aodahl-smile","email":"alexander.dahl@smiledigitalhealth.com"},{"name":"megan.weatherston","email":"megan.weatherston@smiledigitalhealth.com"},{"name":"zackaustin","email":"zack.austin@smiledigitalhealth.com"},{"name":"guptava","email":"vaibhav.gupta@smiledigitalhealth.com"},{"name":"dejawu","email":"npm@dejawu.me"},{"name":"jreyno77","email":"jreysteven1@gmail.com"},{"name":"antvaset","email":"antvaset@gmail.com"}],"readme":"# @smile-digital-health/crl\n\nClinical Reasoning Language (CRL) parser and validator\n\nClinical Reasoning Language (CRL) provides a structured way to model clinical decision logic, concept derivations, clinical activities, measurements, and summaries — while remaining simple, readable, and guideline-compatible.\n\n## CRL 5.3.0\n\nThis release adds the Medical Validation Question–Result view, route question cards,\na separate Result Questionnaire, and MV-scoped wording proposals for the owning KE.\nCRL/CEL syntax and CQL/FHIR emission semantics are unchanged from 5.2.0. Core APIs\nadd selected answer values, presentation field ownership, and execution-model access\nwithout source correspondence. Policy storage can be discovered from `src/crl` plus\n`src/cel` without provenance; source highlighting still requires correspondence.\nAuthoring kit 2.2 documents MV case intent and the wording-patch handoff. Folder-based\nMV/regression emission filtering is not implemented. See the [release notes](https://github.com/alphora/clinical-reasoning-language/releases/tag/v5.3.0)\nand [MV guide](https://github.com/alphora/clinical-reasoning-language/blob/v5.3.0/docs/mv-component-view.md).\n\n## Overview\n\nSee the [User Guide](https://github.com/alphora/clinical-reasoning-language/blob/v5.3.0/packages/crl/USER_GUIDE.md) for a comprehensive introduction to the CRL language, syntax, and authoring best practices. For the **CLI and MCP tool reference** (emit, validate, the MCP tools — for both CRL and CEL), see [TOOLING.md](https://github.com/alphora/clinical-reasoning-language/blob/v5.3.0/packages/crl/TOOLING.md).\n\nCRL is a domain-specific language designed for expressing clinical practice guidelines in a structured and machine-readable format. The language is implemented in TypeScript and provides a comprehensive set of tools for processing CRL documents.\n\nFor the authoring reference over MCP, call `authoring_kit({})` to discover guidance,\nor `authoring_kit({view:\"full\",format:\"markdown\"})` for the complete audited Markdown.\nThe response is the same document as the release's `authoring-kit.md`; the agent can\nread or save it. JSON remains the default. See the [kit guide](https://github.com/alphora/clinical-reasoning-language/blob/v5.3.0/docs/authoring-kit.md).\n\n## Metadata annotations\n\nCRL concepts can carry typed metadata via an `@tag` convention on `meta` lines (e.g. `@description`, `@ke-feedback`, `@kg-concept`) — for descriptions, knowledge-engineer feedback, plain-language logic, external-store hints, and extraction provenance. See the [metadata model](https://github.com/alphora/clinical-reasoning-language/blob/v5.3.0/packages/crl/spec/metadata-model.md) and the canonical [tag registry](https://github.com/alphora/clinical-reasoning-language/blob/v5.3.0/packages/crl/spec/metadata-registry.json). *(Draft: the convention parses today; Validator enforcement is forthcoming.)*\n\n## Installation\n\nThe package is publicly available from npm; installation does not require an npm account or token.\n\n```bash\nnpm install @smile-digital-health/crl@5.3.0\n```\n\nPin the version so generated-artifact migrations are adopted deliberately:\n\n```json\n\"dependencies\": {\n  \"@smile-digital-health/crl\": \"5.3.0\"\n}\n```\n\nCRL 5.2 renames generated retrieval libraries from `LocalPrimitives`/`ExternalPrimitives` to `LocalElements`/`ExternalElements`, including CQL includes and FHIR Library identities. Regenerate CQL and FHIR together and replace the previous generated-file inventory, preserving independently authored files. Re-emission does not automatically delete obsolete artifacts. See the [5.2.0 migration notes](https://github.com/alphora/clinical-reasoning-language/releases/tag/v5.2.0). A `^5` or `^5.1.0` dependency can acquire this update automatically; use an exact version pin when upgrades require coordinated artifact replacement.\n\nCRL/CEL syntax is unchanged by 5.2. When upgrading from 5.0.0, also update the authoring-kit npm/MCP calls described in the [5.1.0 release notes](https://github.com/alphora/clinical-reasoning-language/releases/tag/v5.1.0). Content from before the CRL5 language transition may need language migration using the current authoring kit.\n\n### For Package Maintainers\n\n#### Publishing to npm\n\nThe package is automatically published to npm when a new GitHub release is created (non-draft, non-prerelease). To verify what will be published:\n\n```bash\n# See what files would be included in the package\nnpm publish --dry-run\n\n# Create the package locally without publishing\nnpm pack\n\n# Examine contents of the generated .tgz file\ntar -ztvf <package-name>.tgz\n```\n\n#### Cutting a release (build both artifacts + upload to GitHub)\n\nReleases ship two artifacts side-by-side: the npm tarball (`smile-digital-health-crl-<version>.tgz`) and the VS Code extension VSIX (`crl-language-support-<version>.vsix`).\n\n**Heads-up (Windows):** if you have VS Code open with the CRL extension active, its bundled MCP server keeps `dist/` files open and both `npm pack` and `npm run package` will fail with `EPERM` on `dist/`. Close VS Code (or just disable the CRL extension) before running the build commands below.\n\n```bash\n# 1. Close VS Code (or disable the CRL extension) so the MCP server releases any lock on dist/.\n# 2. From the repo root, build the npm tarball for the core package:\nnpm pack -w @smile-digital-health/crl\n\n# 3. Build the extension VSIX (also from the repo root):\nnpm run package -w crl-language-support\n\n# 4. Upload the resulting .tgz and .vsix to the corresponding GitHub release.\n```\n\nBoth artifacts are produced at the version declared in their respective `package.json` files. Bump those (and tag the commit `v<version>`) before running the steps above so the produced filenames match the release tag.\n\n## Features\n\n### Language Features\n\n* Decision blocks with nested conditions\n* Concept definitions with type and value specifications\n* Activity statements with perform types\n* Terminology statements with valueset, system/code, and unknown definitions\n* FHIR resource type support\n* String literals with proper escaping\n* Comments (single-line and block)\n\n### Processing Features\n\n* Lexical analysis with detailed token information\n* Syntax parsing with error recovery\n* AST generation with type safety\n* Semantic validation with comprehensive error reporting\n* Cross-platform compatibility (Windows, Mac, Linux)\n\n### Development Features\n\n* TypeScript implementation for type safety\n* Comprehensive test suite\n* Detailed documentation\n* Example implementations\n* Development tools and utilities\n\n## CLI Usage\n\n> **⚠️ WARNING:**\n> When using npm scripts and passing arguments to the underlying CLI, always use `--` before your arguments. Otherwise, npm will not pass them to your script.\n> \n> **Example:**\n> ```bash\n> npm run cli:lexer -- --path path/to/your/file.crl --pretty\n> ```\n\nThe CRL package includes command-line tools for processing CRL files. Each tool supports the following options:\n\n- `--path <file>`: Specify the path to a CRL file to process. If omitted, the main example file is used by default.\n- `--pretty`: Output formatted (pretty-printed) results instead of raw JSON.\n\n### Lexer Tool\n\n```bash\nnpx ts-node src/cli/run-lexer.ts\nnpx ts-node src/cli/run-lexer.ts --pretty\nnpx ts-node src/cli/run-lexer.ts --path path/to/your/file.crl\nnpx ts-node src/cli/run-lexer.ts --path path/to/your/file.crl --pretty\n```\n\n### Parser Tool\n\n```bash\nnpx ts-node src/cli/run-parser.ts\nnpx ts-node src/cli/run-parser.ts --pretty\nnpx ts-node src/cli/run-parser.ts --path path/to/your/file.crl\nnpx ts-node src/cli/run-parser.ts --path path/to/your/file.crl --pretty\n```\n\n### AST Tool\n\n```bash\nnpx ts-node src/cli/run-ast.ts\nnpx ts-node src/cli/run-ast.ts --pretty\nnpx ts-node src/cli/run-ast.ts --path path/to/your/file.crl\nnpx ts-node src/cli/run-ast.ts --path path/to/your/file.crl --pretty\n```\n\n### Validator Tool\n\n```bash\nnpx ts-node src/cli/run-validator.ts\nnpx ts-node src/cli/run-validator.ts --pretty\nnpx ts-node src/cli/run-validator.ts --path path/to/your/file.crl\nnpx ts-node src/cli/run-validator.ts --path path/to/your/file.crl --pretty\n```\n\nBy default, each command processes the main example CRL file. To process a different file, provide the file path using `--path`. Use `--pretty` for formatted output.\n\n### FSH-to-CRL Transformer Tool\n\nThe FSH-to-CRL transformer converts FHIR Shorthand (FSH) files into Clinical Reasoning Language (CRL) files. It supports advanced mapping and deduplication logic for activities, concepts, and terminology blocks.\n\n#### Activity Mapping Enhancements\n\n- **Conditional `do not perform`**: If an activity in FSH has `doNotPerform = true`, the generated CRL will emit `do not perform` instead of `perform` for that activity.\n- **Activity Terminology Block Emission**: For activities with a `medicationCodeableConcept`, the terminology block uses the `system` and `code` properties directly from the FSH object. For activities using `dynamicValue.expression.expression` with `path = \"code.coding\"`, the code and system are extracted from the CQL code expression.\n- **Deduplication and Suffixing**: Terminology blocks are unique by identifier and body. If a duplicate identifier is encountered with a different body, a numeric suffix (e.g., `_2`) is added to the identifier. If both identifier and body are the same, the block is not duplicated.\n- **Extraction Logic**: For `medicationCodeableConcept`, the transformer uses `system`, `code`, and `identifier` from the FSH object. For `dynamicValue.expression.expression` (where `path = \"code.coding\"`), the transformer uses `system` and `code` from the CQL code expression string and `identifier` from the corresponding description.\n\nFor more details, see the [User Guide](https://github.com/alphora/clinical-reasoning-language/blob/v5.3.0/packages/crl/USER_GUIDE.md) and the technical mapping documentation.\n\n## CLI Tool Usage\n\nYou can run specific CLI modules using the following command:\n\n```\nnpm run cli:<module>\n```\n\nFor example, to run the lexer CLI on a CRL file:\n\n```\nnpm run cli:lexer\n```\n\nReplace `<module>` with the desired CLI module name (e.g., `lexer`, `parser`, etc.).\n\n## FHIR Definition Emit\n\nCRL emits CPG-IG-conformant FHIR Definition resources (ValueSet, Library, ActivityDefinition, PlanDefinition) alongside the existing CQL emit.\n\n```bash\ncrl-emit --path <root.crl> --out-dir <project-root> --target fhir-def\n```\n\nOutput lands at `<project-root>/src/fhir/<ResourceType>/<id>.json`. CQL emit (the existing `--target cql` / default behavior) lands at `<project-root>/src/cql/<library-name>.cql`. Library content references the CQL file via the relative path `../../cql/<library-name>.cql`.\n\nFor semantic rules, layout details, deliberate spec deviations, and the MCP `emit_crl` tool, see [`USER_GUIDE.md` §\"Emitting FHIR Definition resources\"](https://github.com/alphora/clinical-reasoning-language/blob/v5.3.0/packages/crl/USER_GUIDE.md#emitting-fhir-definition-resources).\n\n## API Usage & Reference\n\n**All API functions return a `ParseResult` object. If there are any lexical or syntax errors, these are collected and returned in the `errors` array (not just printed to the console). You should always check `result.success` and handle errors accordingly.**\n\nThe package provides four main functions for processing CRL code:\n\n### 1. Tokenization\n\n```typescript\nimport { tokenizeCRL } from '@smile-digital-health/crl';\n\n\nconst result = tokenizeCRL(`# Example\n  decision \"Test\":\n    - when \"Condition\" then recommend activity \"Action\".\n`);\n\nif (result.success) {\n  // Access the tokens\n  console.log(result.result);\n} else {\n  // Handle errors\n  console.error(result.errors);\n}\n```\n\n### 2. Parsing\n\n```typescript\nimport { parseCRL } from '@smile-digital-health/crl';\n\nconst result = parseCRL(`# Example\n  decision \"Test\":\n    - when \"Condition\" then recommend activity \"Action\".\n`);\n\nif (result.success) {\n  // Access the parse tree\n  console.log(result.result);\n} else {\n  // Handle errors\n  console.error(result.errors);\n}\n```\n\n### 3. AST Building\n\n```typescript\nimport { buildCRL } from '@smile-digital-health/crl';\n\nconst result = buildCRL(`# Example\n  decision \"Test\":\n    - when \"Condition\" then recommend activity \"Action\".\n`);\n\nif (result.success) {\n  // Access the AST\n  console.log(result.result);\n} else {\n  // Handle errors\n  console.error(result.errors);\n}\n```\n\n### 4. Validation\n\n`validateCRL` performs single-file semantic validation. Inspect `success`, `errors` and `warnings`; use the path-based CLI or MCP validator when imports need project context.\n\n```typescript\nimport { validateCRL } from '@smile-digital-health/crl';\n\nconst result = validateCRL(`# Example\n  decision \"Test\":\n    - when \"Condition\" then recommend activity \"Action\".\n`);\n\nif (result.success) {\n  // Access the validated AST\n  console.log(result.result);\n} else {\n  // Handle validation errors\n  console.error(result.errors);\n}\n```\n\n### Core Functions & Types\n\n```typescript\ninterface Token {\n  line: number;\n  column: number;\n  type: string;\n  text: string;\n}\n\ninterface ParseResult<T> {\n  success: boolean;\n  result?: T;\n  errors?: string[];\n}\n```\n\n## Examples\n\n### Example AST Comparison\n\nTo compare the generated AST with the expected AST, you can run:\n\n```bash\nnpx ts-node --log-error src/examples/compare-ast.ts\n```\n\nThis will:\n\n1. Parse the example CRL file (`docs/Measles Immunization Decision.crl`)\n2. Generate an AST from the parsed input\n3. Compare it with the expected AST (`docs/Expected AST.ast`)\n4. Display any differences between the two ASTs\n\nThe comparison includes:\n\n* Line count matching\n* Whitespace-normalized matching\n* Structure matching\n* Detailed line-by-line comparison of differences\n\n### FSH-to-CRL Example Data\n\nThe example FSH files and CRL outputs in `src/examples/fsh/who/smart-example-immz/` and `src/examples/crl/who/smart-example-immz/` are derived from the [WHO SMART Guidelines - Example IG for Measles Immunization](https://github.com/WorldHealthOrganization/smart-example-immz).\n\n- **Source repository:** [WorldHealthOrganization/smart-example-immz](https://github.com/WorldHealthOrganization/smart-example-immz)\n- **License:** [CC BY-IGO 3.0](https://github.com/WorldHealthOrganization/smart-example-immz/blob/main/LICENSE.md)\n\nThese examples are used for development, testing, and demonstration of the transformer.\n\n## Updating Grammar & Generated Files\n\n### Updating grammar files\n\n```bash\nnpm run generate\n```\n\nThis will extract all grammar-driven types and regenerate the lexer and parser.\n\n### Grammar-Driven Types\n\n* The lists of valid activity types, concept types, and concept value types are defined in the `validTypes` arrays in the `ACTIVITY_TYPE`, `CONCEPT_TYPE`, and `CONCEPT_VALUE_TYPE` rules of `src/grammar/CRLLexer.g4`.\n* Scripts (`scripts/extractActivityTypes.js`, `scripts/extractConceptTypes.js`, `scripts/extractConceptValueTypes.js`) automatically extract these lists and write them to `src/grammar/activityTypes.json`, `src/grammar/conceptTypes.json`, and `src/grammar/conceptValueTypes.json`.\n* TypeScript modules (`src/grammar/activityTypes.ts`, `src/grammar/conceptTypes.ts`, `src/grammar/conceptValueTypes.ts`) import these JSON files and export both the arrays and type-safe union types.\n* **All code (lexer, AST, error listener, etc.) should import from these modules to avoid drift.**\n\n### ANTLR-Generated Files\n\nThe following files are generated by ANTLR and should not be edited manually or tracked in git:\n\n* `src/grammar/generated/antlr/CRLLexer.ts`\n* `src/grammar/generated/antlr/CRLParser.ts`\n* `src/grammar/generated/antlr/CRLParserVisitor.ts`\n* `src/grammar/generated/antlr/CRLParserListener.ts`\n* `src/grammar/generated/antlr/CRLLexer.tokens`\n* `src/grammar/generated/antlr/CRLLexer.interp`\n* `src/grammar/generated/antlr/CRLParser.tokens`\n* `src/grammar/generated/antlr/CRLParser.interp`\n\nTo regenerate these files, run:\n\n```bash\nnpm run generate\n```\n\nThese files are ignored by git via `.gitignore` and will be recreated as needed.\n\n## Development\n\n### Building\n\n```bash\nnpm run build\n```\n\n### Test Documentation\n\nThe project includes a comprehensive test suite to ensure the correctness of the lexer and parser. Here's how to run and work with the tests:\n\n#### Running Tests\n\n```bash\n# Run all tests\nnpm test\n\n# Run tests with coverage\nnpm run test:coverage\n\n# Run specific test files (vitest positional filter — substring match on the test path)\nnpx vitest run --root ../.. --project crl src/ast/tests/decision-structure.test.ts\n\n# Run tests in watch mode (useful during development)\nnpm run test:watch\n```\n\n#### Test Categories\n\nThe test suite is organized into several categories:\n\n1. **Basic Tokens** (`basic-tokens.test.ts`)\n   * Tests for fundamental language tokens\n   * Keywords, punctuation, and basic syntax\n\n2. **FHIR Types** (`fhir-types.test.ts`)\n   * Tests for FHIR-specific activity types\n   * Validation of CPG-prefixed activity types\n   * Error handling for invalid types\n\n3. **Grammar Example** (`grammar-example.test.ts`)\n   * Tests the lexer against the complete grammar example\n   * Validates real-world usage scenarios\n\n4. **Error Handling** (`error-handling.test.ts`)\n   * Tests for invalid input handling\n   * Error message validation\n   * Recovery from syntax errors\n\n5. **Comments** (`comments.test.ts`)\n   * Tests for comment handling\n   * Single-line and block comments\n   * Comment placement and nesting\n\n#### Writing Tests\n\nWhen adding new tests:\n\n1. Place test files in the appropriate directory, for example `src/lexer/tests/`\n2. Follow the existing test patterns\n3. Include both positive and negative test cases\n4. Use descriptive test names\n5. Add comments explaining complex test scenarios\n\nExample test structure:\n\n```typescript\ndescribe('Feature Name', () => {\n  it('should handle valid input', () => {\n    // Test valid cases\n  });\n\n  it('should handle invalid input', () => {\n    // Test error cases\n  });\n});\n```\n\n#### Test Utilities\n\nThe test suite includes several utility functions:\n\n* `getAllTokens`: Retrieves all tokens from a lexer\n* `verifyTokenSequence`: Validates token sequences\n* `getActionTokenSequence`: Helper for activity type tests\n* `getCaseFeatureTokenSequence`: Helper for concept type tests\n* `getValueTypeTokenSequence`: Helper for value type tests\n\n### Linting\n\nThe project uses ESLint for code quality checks. To run the linter:\n\n```bash\n# Lint all TypeScript files\nnpx eslint . --ext .ts\n\n# Lint and automatically fix issues where possible\nnpx eslint . --ext .ts --fix\n```\n\n### Running Examples\n\nThe project includes several example files that demonstrate different features and validation scenarios:\n\n```bash\n# Run the basic usage example\nnpm run example\n```\n\n### Regenerating ANTLR Files\n\nIf you modify the grammar in `src/grammar/CRL.g4`, you'll need to regenerate the lexer and parser:\n\n```bash\ncd src/grammar\nantlr4ts -Xforce-atn -o src/grammar/generated src/grammar/CRLLexer.g4 && antlr4ts -Xforce-atn -o src/grammar/generated src/grammar/CRLParser.g4\n```\n\nNote: This project uses a custom AST implementation that uses ANTLR's visitor pattern. The generated files are used only for lexing and parsing directly, while semantic analysis and interpretation are handled by our custom AST implementation.\n\n## 📦 Release Process & Checklist\n\n> **Release Process:**\n>\n> The authoritative release checklist and instructions are maintained in a single location:\n> \n> **[.github/PULL_REQUEST_TEMPLATE/release.md](https://github.com/alphora/clinical-reasoning-language/blob/v5.3.0/.github/PULL_REQUEST_TEMPLATE/release.md)**\n>\n> Always follow the steps in this file when preparing a new release. This ensures consistency and reduces maintenance overhead. If you need to update the release process, update the PR template only.\n\n## Developer Notes & Error Handling\n\n### Developer Notes: Release Checklist & GitHub Automation\n\n- **Pull Request Templates:** The project uses GitHub's PR template system to standardize release PRs and ensure all required steps are followed.\n- **Release Automation:** The release process is automated via scripts and GitHub Actions. Always ensure your working directory is clean and up-to-date before running release scripts.\n- **CI/CD:** All tests and builds are run in GitHub Actions before a release is published. If any step fails, the release will be blocked.\n- **Generated Files:** Auto-generated files (e.g., ANTLR outputs, grammar-driven types) are ignored by git and should never be edited manually. Always use the provided scripts to regenerate them.\n- **Documentation:** Keep all documentation referencing the release checklist up-to-date by linking to the PR template.\n\nFor more details, see the [release PR template](https://github.com/alphora/clinical-reasoning-language/blob/v5.3.0/.github/PULL_REQUEST_TEMPLATE/release.md) and the automation scripts in `.github/scripts/`.\n\n### Error Handling Strategy\n\nThis project implements robust, layered error handling across all stages of the CRL pipeline:\n\n| Layer     | Responsibility                                  | Error Type         | How Errors Are Reported                |\n|-----------|-------------------------------------------------|--------------------|----------------------------------------|\n| Lexer     | Tokenization, valid characters/tokens            | LexicalError       | Collected by error listener, JSON      |\n| Parser    | Syntax, structure, required/optional elements    | ParserError        | Collected by error listener, JSON      |\n| AST       | Parse tree → AST, structural integrity           | AstError           | Collected by AST builder, JSON         |\n| Validator | Domain/semantic rules, cross-references, logic   | ValidationError    | Collected by validator, plain text     |\n\n- **Lexical and parser errors** are collected by their respective error listeners and reported as JSON strings with a `type` property (e.g., `\"LexicalError\"`, `\"ParserError\"`).\n- **AST errors** are reported as `\"AstError\"` if the AST builder encounters a structural problem not caught by the parser.\n- **Validation errors** are reported by the validator after AST construction.\n\n#### Example Error Object\n\n```json\n{\n  \"type\": \"ParserError\",\n  \"line\": 1,\n  \"column\": 51,\n  \"message\": \"Syntax error: missing 'done' at '<EOF>'\",\n  \"details\": {\n    \"offendingSymbol\": { \"text\": \"<EOF>\", ... }\n  }\n}\n```\n\n#### Test Output and Console Errors\n\nThese tests run on [vitest](https://vitest.dev/) (migrated from jest). There is intentionally **no** global `console.error` suppression: a global mute made real failure diagnostics dead code, and the muted lines only fire on failure paths anyway (so removing it added no noise on green runs). A suite that intentionally exercises an error path mutes `console.error` locally instead — e.g. `vi.spyOn(console, \"error\").mockImplementation(() => {})` scoped to that test, restored after.\n\n## Editor Support: VS Code Extension\n\nWe provide a Visual Studio Code extension for CRL files:\n\n- Syntax highlighting for `.crl` files\n- Comment support\n- Language basics for a better editing experience\n\nFor installation instructions and full details, see [crl-vscode/README.md](https://github.com/alphora/clinical-reasoning-language/blob/v5.3.0/packages/crl-vscode/README.md)\n\n## License\n\nThis project is licensed under the Apache License 2.0.\nSee the LICENSE file for details.\n\n\n### Native execution bounds\n\n`crl-emit-results --case-timeout-ms 900000` and MCP `emit_results` with\n`caseTimeoutMs: 900000` allow fifteen minutes per case. The default is 600000\nmilliseconds. Values must be positive integers no larger than 2147483647.\n`crl-run-regression --native` accepts the same CLI option.\n\nNative runs remain isolated by case. On Windows, process ownership requires\nWindows 10 / Windows Server 2016 or newer and Windows PowerShell. CRL assigns the\nlauncher and descendants to an owned Job Object before they run, and confirms\nthat the job is empty when stopping it. An unconfirmed cleanup stops the queue,\nrecords unreached cases as `not-run`, and prevents another run in that server.\nOnly one native producer invocation runs at a time in a server process.\n\nPackage callers must now **await `produceRegressionResults(...)`**. Its return is\n`Promise<ProduceOutcome>`. The internal `produceResults` and `runOneCase` helpers\nare asynchronous too. Exported synchronous `resolveJava` remains available;\n`resolveJavaAsync` supports bounded discovery. `bounds.batchTimeoutMs` is retained\nas a compatibility field and denotes a per-case timeout; `caseTimeoutMs` takes\nprecedence when supplied.\n\n### Retrying native cases\n\nUse CLI `crl-emit-results --retry-failed` or MCP `emit_results` with\n`retryFailed: true` to retain compatible successful outputs and retry other cases.\nChanged case inputs or missing/damaged result files also rerun. A changed model,\nengine, driver, CRL producer, or effective Java runtime requires a full run.\nOlder manifests without retry fingerprints require one full run first.\n\nFor regression, use `crl-run-regression --native --retry-from <manifest>`\n(or `produceRegressionResults({ ..., retryFrom })`). This reuses the earlier\nregression scratch destination; it cannot target the policy's MV results.\n\nRetry replays the original CEL input clock. Retained successes remain historical\nresults, with their original `producedAt`; rerun cases use the live engine clock.\nThe manifest reports the current invocation in `generatedAt`, the CEL clock in\n`provenance.inputClock`, and retained rows as `reused: true`. Run without retry\nwhen a fresh evaluation of every case is required. This is result retention, not\ncompiled-CQL caching.\n\nCLI SIGINT/SIGTERM and MCP shutdown await owned-process cleanup. On POSIX,\nforcibly killing the Node owner (for example SIGKILL) cannot run that cleanup;\nWindows additionally detects owner loss through the Job Object supervisor.\n\n### FHIR NPM packaging\n\nAfter emitting definitions, run `crl-package-fhir --project <directory>` or the `package_fhir` MCP tool. See [package metadata, contents and validation boundaries](../../docs/fhir-npm-packaging.md).\n","readmeFilename":"README.md"}