{"_id":"@hydranium/protocol","_rev":"105-be6e9e85ae5e5995d42c9a15aad40883","name":"@hydranium/protocol","dist-tags":{"latest":"1.0.0-next.185"},"versions":{"1.0.0-next.4":{"name":"@hydranium/protocol","version":"1.0.0-next.4","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.4","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"f148c0db24f8078474d6dc1a9fcd2fca5b85c299","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.4.tgz","fileCount":254,"integrity":"sha512-RllHt/XaQJ5XDLqFbs9vb2P30/ePXxQY1yGpD00ieqbkqcg189LYksO0m13ILMmMRkZTLvJPqlBErgGkeTHTjQ==","signatures":[{"sig":"MEUCIQCHPWEsw3WwPYDmdYVNvKc74WX9S6qcrp6h1UW8SYti7QIgaaDVzNGfw/+xcPegNOvrczXxMbNT2mOvdt2p217qjKs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":743107},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"1a9c19ae00d0cf51baf7e7c7265de5649dbd2201","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"mfleck","email":"mfleck@eclipsesource.com"},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"10.9.2","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"^8.0.0 || ^9.0.0"},"_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.4_1788908680811_0.6206787718294358","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.5":{"name":"@hydranium/protocol","version":"1.0.0-next.5","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.5","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"5053b24f6d5992e9a7b97bf8347c3217ab91013b","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.5.tgz","fileCount":254,"integrity":"sha512-MNEGc3PHL3YjLwwH0K0GMoOO6sE38gJr6FR4jZeOFCDi1OyAYctMSbdYVPy90IdDWsLc5tIIZs9wu3MQ6jjMxA==","signatures":[{"sig":"MEQCIApYECMqcuzQyXdzjpd6gbT9e+oj4uVgCPcD7Kx0W1+2AiBpc0oFWFG7PdkdfA9ZIWoo+GTUL26/BcqxHOyaq71nkg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDrrskGt3H51Go4DYud7U9r34Dt6WDgSnErCLLkeFwIbAIhALu275QejYeEP2nhRQjGIh1uqeYiHVfUQr8USiDZvxyW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":743107},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"f5015cdb0f6c921eacbda8fb315f82ffcb02d809","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"^8.0.0 || ^9.0.0"},"_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.5_1788911240798_0.9208287106568622","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.6":{"name":"@hydranium/protocol","version":"1.0.0-next.6","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.6","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"2a23af2390f34ae0aa052a5e3b996af8ea8c9aed","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.6.tgz","fileCount":254,"integrity":"sha512-j9JJ98rvdca7QLGmrdptigv/0jplZxvq7OUJLeonhzcqDb9jdUO9J3N7agoNoINzEBYCBCO9ZfwVHgtHK7+LQw==","signatures":[{"sig":"MEQCIQCQJ8vH0vR9iaMmk94SIrIugGPFyzOq4TtaUEgEZCZMfgIfDXbaPBdWLutYDC5P+yzDwclBEmF9Skt7BZKPoD0cpA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCR0TvNxeol+1Hclug022MGX2EboNRZCd/WH/cf0VaehQIgLPz+LZ4pYUle//FenIFSo24jV+3iH5fNRHt+UONLKsE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":743107},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"ff6cf31235dd051e35a6fed0799cac3b71a26192","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"^8.0.0 || ^9.0.0"},"_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.6_1788945506783_0.5326529089084682","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.7":{"name":"@hydranium/protocol","version":"1.0.0-next.7","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.7","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"a84b74cfde177a6b1d2c906d07c3dd97ace7e0c6","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.7.tgz","fileCount":254,"integrity":"sha512-+BGJr6ZOBA2vDQVeJFWT/XNUxW8xiySNqFzRaUVHCtyJ2KRDMgarFLtO2hEDxvNfxU9nIdHn+fTl5uqnCaFLCQ==","signatures":[{"sig":"MEYCIQDsuoB906mQtn+GPpjh+IhemVbXzYubEc+RZd/ugJ7EVgIhAJ/Ba+1zU69SqJkcaerraUYlxSvGCUQfRehzg3QpqKL+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCID/9p+BuLiEmWt0+zCEUguZpNq91CTE78exW/LmwWl2/AiA2xdR7nx5M+K01xJ93Y8H+PCCeEZ0bKccaYE0AsCOeAw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":743107},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"d03f6f4fc7bb5b114df9eb43fe8a4fd260fa225e","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"^8.0.0 || ^9.0.0"},"_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.7_1788953793029_0.4426447661051378","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.8":{"name":"@hydranium/protocol","version":"1.0.0-next.8","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.8","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"f46104915928cf7c85e630f0eda36f39789b1cb2","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.8.tgz","fileCount":254,"integrity":"sha512-lSxOw3X/fts6wZDjsISrFd0HY4hkcxCeCDHa1C77cn+AAtY4ZxPtWwod0kNDTLOh5xoipn61qoEADXZ0dqwx5g==","signatures":[{"sig":"MEYCIQCETFKW6mgQXNUfhqmRSojQYMdxwbDQX929sTddYuzqFAIhAPxq+qlnxh2i7lVBUmnEJVXlY655/s11pRCWtMgO0yYo","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCICAJKIVUvCB3CduMoVOcNs0QD+7804QAhGom2nSujV2JAiAYh7GLmjZKdY1IbJgw6GRs7rhUrRRuIW8lrWIBLawv/A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":743107},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"9a14d2811974e7d8c0be2ae7694173eabe4c53cc","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"^8.0.0 || ^9.0.0"},"_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.8_1788954109096_0.36534755965191534","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.9":{"name":"@hydranium/protocol","version":"1.0.0-next.9","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.9","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"587289cdb27412b1d470edf5d3d14af9312e32d0","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.9.tgz","fileCount":254,"integrity":"sha512-LE1HPKiJ+6njzHfxzoolM5ya8DDBUPg/k1L89+tc79HeG2wvYNnmsZUUYRbIxoQOCSl9JP6b6EF/uRNMIZkfvQ==","signatures":[{"sig":"MEUCIQCNodZJM23tzxboyjpibInVagui7RgyTs39jANPBsBybwIgMs4W/9I7MM0cHQuMgcPE+3IWsLJvcm8C782QW+TfNZU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIB7fWx/ahnAOtLiMDdo73Ei/9wfHRRbcvSAHJaDRIlsaAiAYwS0KimljfgUv35fIo7pfrA8HW3IGbr6DiDnzpQMDoA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":743107},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"5c4804b9a2b192c743997952bcd0c53efd740816","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"^8.0.0 || ^9.0.0"},"_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.9_1788958301499_0.510978333731311","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.10":{"name":"@hydranium/protocol","version":"1.0.0-next.10","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.10","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"f33a217c7f0e26e4a07159e3dd45ce1e6328e4f4","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.10.tgz","fileCount":254,"integrity":"sha512-PKWdWkUushFq51BFJDLpFrA5eXfd4AOKUAbtrHJhOKSQClsiiRNGB/mfqaoVb9W5f/MAv83OThO3RSPoZ1jqWg==","signatures":[{"sig":"MEQCID8lhU1Lc9Wzvnn4850WZk97U1wvBT55ZasG34genDUYAiAIAc8q+koxC07AJN5L9wkpIHiZj0GXuK/l8/4oI1V/fg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDI46HIaqEdWgf2G4E6gH9vG2RJONn3RbXx/mMUgMmiAgIgZg706FR7h6GgXGeNSf6lR3tBBmhbXKZXdip3lltgxJ8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":743108},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"df66e1a949244721ac48fd2ea072f7f2c89cf013","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"^8.0.0 || ^9.0.0"},"_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.10_1788962979167_0.5692274254168936","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.11":{"name":"@hydranium/protocol","version":"1.0.0-next.11","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.11","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"bccc4f87ab9855db2da101c1d8b0cd654e7b686a","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.11.tgz","fileCount":254,"integrity":"sha512-Pvwx8g6LZvb4xQfcnEZp3Rhd1mR9uGBCnK07+iuvTqO+jXKWDwXDh9vEiYXv+xX0hfZmC2o7BN2u5WVLOpU/xw==","signatures":[{"sig":"MEUCID4ZwQ5TSN5VkfSlh31Krpx8TOjWOackvoQkH1CRD4tRAiEAqbsEry/nnLZ4gfZI0UZSooaUfZTzjAij0a6NSqqRuIY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDVMD9uteHUzDk7Wh7+DvD0QeyF9LK+T1kncabYp6vd8QIgOUjBHBvvph06u187+nRHmMRyotU16ygS/zEp/6rTDR8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":743108},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"a4732457347fc331a6f3bee38f8cb43051df499f","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"^8.0.0 || ^9.0.0"},"_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.11_1788963832046_0.6369451064003386","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.12":{"name":"@hydranium/protocol","version":"1.0.0-next.12","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.12","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"0e1f3404055574e4699f71725261d7585c140447","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.12.tgz","fileCount":254,"integrity":"sha512-9xw9n9VyEOhEh46gjj7hxXnvI8PUfJCpmx1jfGDnaOjs/VMEdWCYfKYWv4aB7/YPAPkVLWM+0K7da+eMxjFUnw==","signatures":[{"sig":"MEYCIQCkMaQoCbkoCNAewjc7+uABqeED95gEkpNrxrJ/+rl7YQIhAIglk/H3FSRL/rll8137f6QVmJIW6wbbWNTUgGMLElXs","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCpKk08Vxa316CHt9ZIuNKGSylPBWWioSyRs6Hhr/5DvAIhAJjVHb+eSivJyxb4L9vV8kEyLa8hCHgbpLPpPTNqxjwy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.12","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":743108},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"ab9568ab15443597620edc79187d92f0ea68354f","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"^8.0.0 || ^9.0.0"},"_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.12_1788969664848_0.45870298471493687","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.13":{"name":"@hydranium/protocol","version":"1.0.0-next.13","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.13","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"183d9024e8ecd680148acadd6abb0afbddaff627","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.13.tgz","fileCount":254,"integrity":"sha512-sai8SqAckh3H+As2F1lNhLnT4jt/QkRAVFVsfpbQk91BMxo5+E/6lD0a7+r73vx+1RQVjUZZeCqiZhUQjY2NFA==","signatures":[{"sig":"MEYCIQDWBV+hBFaBE8qUfoMHChx3DoCzCs2HfYyb7+jYadxWeAIhAMETvajwdTESNpyCKtDeTSv2mHOQyf4SnUCe+vYrJKwp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIHJ7NA5PbL5BKgPbX8r8kxxn1eXpWqPz31ZMaGRsi0vAAiBdKDRE7xp1wtQ6zVQpqhb9u6uDf+NL0NStfGlv0/EQfA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.13","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":743108},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"7f5d29a1ace1f03b0a3f0f7278182beb408048bb","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"^8.0.0 || ^9.0.0"},"_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.13_1789027935786_0.933921950964957","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.14":{"name":"@hydranium/protocol","version":"1.0.0-next.14","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.14","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"0065eff89f55bc8b81be04aad62ea7ee568a2bf4","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.14.tgz","fileCount":254,"integrity":"sha512-Mni/1H7V6DW+C8iG6/9HHPSAhuKmBA8vegIUwNzePSGUVyzDS6m30c9bhOgyZ/Vd4giAD9O7/YWDDtm5OFatpA==","signatures":[{"sig":"MEUCIQDT9rdXiUMXyeseIozsk3T35fVe+k4l1W4WgX2KaPT+nwIgDEEJQWpa/CiuXf+HuRdU+5cVO1Z36exaGl7gy+vXV0M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDcT3FcWU/l0P2fO0nyt0nv+hUjBY/Gsel977j6VjRdtQIgF57lqYftRm/hMMPg3SMeBRVkEoNV5VgBKtxan3VTJ6o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.14","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":743108},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"ceb4d6188cc57a327ade5469af6a220bc5b5bf0c","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"^8.0.0 || ^9.0.0"},"_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.14_1789032423928_0.5430517216784776","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.15":{"name":"@hydranium/protocol","version":"1.0.0-next.15","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.15","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"2f6616bf4388e0c44d3e50403789f93afd293fcf","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.15.tgz","fileCount":254,"integrity":"sha512-uMMAMA4PVt66diiaf9BLiQrYGV6n70m3wBNwWWGbyaW+8rCvoyTl6Ovh4JPBmMBpUhY6Qbj25aj/9qYeSjtHYw==","signatures":[{"sig":"MEQCIEY6nWC4Fhl4Yv3zt2qVPfF1c264/5xiPDX5+fGzwLGNAiAeJRovLAMgMN3yehD+w9xDV6tff2kz4TVDqNIPsFqWwA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCA6UPI3MZnsRLSG5NyVu9Egua9IzbWIvyNgd4iFhtPggIgR13uIVb7E5v83vOhejFmFMlmd5F8aBWF9Mrk/RQkQ6s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.15","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":743108},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"65f465437d22972c3a50c6be1419e791a59140ac","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"^8.0.0 || ^9.0.0"},"_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.15_1789032855081_0.14808803503426038","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.16":{"name":"@hydranium/protocol","version":"1.0.0-next.16","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.16","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"8549a06a7f786f3248b9988cb4c5c42c8a7db43d","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.16.tgz","fileCount":254,"integrity":"sha512-NOC/HzXA+rThv1v7jsa+Jly1KyCUPC4SGOz5loQIHBryzl2SAu3b9FnlYzEz6xCRlzxCg/SVhWtja9KPqBsw/Q==","signatures":[{"sig":"MEQCIH1PYW4u0RhX9g2MpzM2oKRuhdU5HXKtnHcNyqZ+JaS4AiAhSDk53YhBu/9ueDbwWhGeK5rK7E1xKGlaSERqdjM+8w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDBmU88V2t97NtluIYxYALGnEaLFZyHU+4HnwGTsPbzBgIgNGEw7r+otf58Kis1bYKbaIRwasJByz6yzyqQHqQcsZo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.16","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":743108},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"c1f791ba46d6e8c824a20b3f04a1ea065d97293d","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"^8.0.0 || ^9.0.0"},"_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.16_1789033976690_0.3308984374440431","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.17":{"name":"@hydranium/protocol","version":"1.0.0-next.17","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.17","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"b76c631b78dd5314e14d95d1a930a7bd43f67b18","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.17.tgz","fileCount":254,"integrity":"sha512-/Q3k33U2T4qO6AVhaBtWqXwgOfASe32JyJEMVBn3Q6lASzCeBIRes4xoTWoogVIcLmg6MDOs68ZD4EBCDb78vw==","signatures":[{"sig":"MEUCIQD1jfjWd6nEBN8JuU/U+b64BC5hmBpma+2s4Yr2NE7KeQIgb0ZCBE7yqAsaCKgCFcWYcAFbfa177nG8haWDwWP36p4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIFgbWlATXiWHogqxWQs2qb144zY1VEc/XR7gwX9qXAkGAiEAztHcJBK27e6sxsRr/EGWgn8VqtZsZ0m1jDlD/+p8zD8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.17","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":743108},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"6d4d2f2deccdbbc13eb11ff633a3887e6d977a72","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"^8.0.0 || ^9.0.0"},"_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.17_1789037308440_0.8332218310335169","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.18":{"name":"@hydranium/protocol","version":"1.0.0-next.18","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.18","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"b5f15454b801529c2b2093d3205753552fc2b5f1","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.18.tgz","fileCount":254,"integrity":"sha512-r74dXJfClEJ4suVSwratvnoqQ3br5P69IB7fFlOGk925Wp+wFJEVFIqHYcvA1TILOUVzmcITc6M+gQ8W2+np0A==","signatures":[{"sig":"MEQCIGDOqnReSWUzokAEMOmKBm5Vxkl1X+OxULgt61fBSSWdAiAI77h/1RPiFYfxy9S6y7bAs0/EVsLgqHRnpvr+XgbiOA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIECh9mza9sIZVrTnkXiouQkRMI4fYs4oOg32oVCAORriAiA+Xv92+sRCyHXF6BZ1eroT8SBMrPZBc9/5S8JmbE6YiA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.18","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":743108},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"45f73468e05c55b570b298470deeac748abcdb4d","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"^8.0.0 || ^9.0.0"},"_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.18_1789038359177_0.04145599190796756","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.19":{"name":"@hydranium/protocol","version":"1.0.0-next.19","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.19","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"e3dff5432c59a06e85d160ce0602bf926e8892cb","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.19.tgz","fileCount":254,"integrity":"sha512-rK/vYJr2t1erRQX60pSe9OFhU3H1dvtewy2RJ2KONZhM117I38UjlpzaVJx5BajI/3ZREpHCLWFNoVbEUFd0Rg==","signatures":[{"sig":"MEUCIQCXUYAOxhIHniQkUZKhF/g5q9NR6D+noLCtr10WOvUGBgIgebhHjptJoA71aSwy3HHSGyLQSlVeXfNdAp+Ea6JljN8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIB8q5R6KqVsEd9b+h6n17AKB15vo3cImes4rC02BECZQAiBb/xj49Qh8jMDfJfReIzyLt6DJ81m8gRbnNx0vsI3yYQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.19","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":743108},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"cfb68570ae14c4b434bd31a4c5f8f59d007c92c6","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"^8.0.0 || ^9.0.0"},"_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.19_1789047142379_0.05563810687202442","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.22":{"name":"@hydranium/protocol","version":"1.0.0-next.22","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.22","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"81474cbe6f527c13cf82c49fa1438cb90b1776f2","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.22.tgz","fileCount":254,"integrity":"sha512-SAOC70BcYDDYNin5eps0Msrr4AM6ww2tcUtWt3iqjV6xcvGUgn0l/Ry48QjtAKz8cMHoLf0zVg7yVPRYNn0Leg==","signatures":[{"sig":"MEYCIQCZAqA2e12tQcpZ031nG0eg3bNrUhQFuUANl3seUrezhQIhAIUIetMGQBmXQeqrk1MRnNDsrkGrGBDmZLJtn+chPz9i","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDbg56X1v1ZbRAWOGXCJYRo2K77eV++WF/YwbhCbeEZEQIgdC/31M0dbgY0oj6Ca6CwQruVcZUQzFpVidha5c5D0vc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.22","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":744326},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"4760e9872df915a5ff865eefe8d7d755bd652edd","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.22_1789072243496_0.805278181254252","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.23":{"name":"@hydranium/protocol","version":"1.0.0-next.23","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.23","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"3b17776fd604a888d0608a9a339014fc6ad4a183","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.23.tgz","fileCount":254,"integrity":"sha512-5Wg8/BJnXs3DMNcNA0cWBhFgLvm2F1OLTGSD76WH0YQlfpFjfLR1+gXjq0MxPMxOXzVzc8T3e7TsWMrnLFp3yQ==","signatures":[{"sig":"MEUCIQDbJpyiMtLPmRmiwyVOr/Yj11husVT8x04hBiy0Y3QuDQIgC/3UcBwPdz24cJSQH2uI03yXUnpDSzFwaZMhIJpz7CE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCKpgcOzUybZNj20HCWfZXze4V2lsIcoyaDumZoAJZutQIhAOJda1exyLN/oqPc5Hx5YluBm/ZU1yXFYHTEsVojf/J0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.23","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":744326},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"68adb62594d9eb65eb8b75d0ebe326a48f75b56f","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.23_1789073260289_0.6522902792085641","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.24":{"name":"@hydranium/protocol","version":"1.0.0-next.24","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.24","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"becf9ad293006879a634527b840080b673a73b9e","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.24.tgz","fileCount":254,"integrity":"sha512-fQmFiIO0wahXWOtNScKM7ZkHh/wDyQP4FJG3z309RfWhU3yfAybLv7lrLldwSwwTYeGRJZirlnuuEkWuqKLh0w==","signatures":[{"sig":"MEUCIFzF7pbc/yO+DE2xZizYdQvR6eVR2laFrdj/5NONU0FiAiEAzKbJ581ewb1gmLxs3mp5spwxHvn+HkLdjlX2m7rETnI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCID23qC1+hol23BpkbaBU1CrKLqSmUxpMGLXylQ7uSELhAiAybnRTV++PU8qYNtw3XdxD0DDiXx9fJ0awfxhIDPbiWA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.24","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":744326},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"f15d0358de98a5c446955533021308196bf98b9b","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.24_1789074120025_0.4347045240814895","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.25":{"name":"@hydranium/protocol","version":"1.0.0-next.25","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.25","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"67eaaecf85cd8da70225a1e05bb06ab80a7b73af","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.25.tgz","fileCount":254,"integrity":"sha512-iFWmpX2avudKGQJZF8SeMfiGI4SkVBL96iNPyC0J8LrlM+pIqrlH5SNhZWBoCwsVsqArx93IwMv0utEHCKdY+w==","signatures":[{"sig":"MEUCIGwiHI+AvLvOXCyi2dJmjqrUSB+OkrY/rNZN/tk4ydJFAiEA5oB6IsijcVdK7AHYD/PcPsePjGq+F4cCPikNuS9w+X0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDvEeDHVMtBpWbNdgUGsJwlZbgGOvdd9EPYG+0f8h8ATQIhAP1heErISxQrTC2cKEieOLf+COelXUax7bCwDniEc8GU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.25","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":744326},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"b69d464b0c1b93346cd29f9ca4f1cf8f1e8cf289","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.25_1789075235280_0.8050095530382568","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.27":{"name":"@hydranium/protocol","version":"1.0.0-next.27","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.27","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"bc01aef451cc3c66dfd591fb97b2d34a03e9d401","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.27.tgz","fileCount":264,"integrity":"sha512-yRjMD7fKRhj/FXPJ/w8+BGevcehNOCJXYgGun+xyMFIXytJE2ablj48hGEvIa1u7cn8Bz3FNqDhlEjPaCouT7A==","signatures":[{"sig":"MEYCIQDqZECt3DjcKS6pjyEU076kIMgTJgma/ouwVpWZoyi7YwIhAPdZhsQdC8NpB8zAq+O11E3JCmcbnxk77Pp6Ilq+4vmJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIF8Lz3C5YAJMaDjRJY2UMxotT8b6PiMtnJCWffqlPcJjAiEA8pGyXRsLqkGfauVV1mXqUpN59Kwavcl0XVrfQZ18So4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.27","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":791521},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"f0ad5bdc8d848ff48a6c0fe2afa6f8400cd96f9f","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.27_1789076483495_0.7436227973856402","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.28":{"name":"@hydranium/protocol","version":"1.0.0-next.28","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.28","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"d9026b81e531f048fdd0f8f6349f1c387c538fbc","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.28.tgz","fileCount":264,"integrity":"sha512-fPFLIzn0xhFktHpLwGPI07IBrbAv9wIcJvDe/CejYZTVaLov/AVtrRfNhYh3I5tUXzgx13vA5rmsReW2DvA3Qw==","signatures":[{"sig":"MEQCICzy5PCRTuca8uA8ERe7CjzGs0V9EzQ9IqB2eXjES87pAiAz30axqAZVc9LSYes9msmvPRvhsMydG5cnNRe3zlg9uQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIC7AyMbOiO6/bDEP/y+dEL7AtfwerkzWP/0U1SnRAoBrAiB7hBsVwhzCOZxw0UQWbWPpWMMFHuuQq1mtv6AL1KOqcQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.28","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":797263},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"206aa8844f1a6c34fb2b2439948828b35c8619df","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.28_1789077408409_0.13111216631301947","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.29":{"name":"@hydranium/protocol","version":"1.0.0-next.29","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.29","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"2a20213baa398655be6da4cde6ac48c70b61ea4b","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.29.tgz","fileCount":264,"integrity":"sha512-wkeMSiFRlvnS61x26IpRZcRveuEc3ne3PRrVot/v3vlrI+8fPl4h00hZ2WrewpAoyVqSHWKFjSl8DsrEk20IVA==","signatures":[{"sig":"MEUCIQCJ0TT1d3cSDvUb+T82nDaJ2YHT1KxYXlxf8+QTdQoSIgIgJHhH0RSvhaK5yydmFyjNjBPJ5kRrePSg3OE8uOtacTE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIHerJSeDtRbiBD0fwvpa9IrY/RS/aFuLQEQeAJ5p9lRsAiB2cEJKo73637vjmdqR1dR2NIcMB3+fmQBekrf/sAFKhA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.29","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":797263},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"5d176ee3a002deede9bb8a02e179afb865fb8f41","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.29_1789080009487_0.7444893204918264","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.30":{"name":"@hydranium/protocol","version":"1.0.0-next.30","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.30","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"306a41c5c0c3fdf4ab23e86e3bae3cf406f62750","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.30.tgz","fileCount":264,"integrity":"sha512-hiAkmGYbPOUC5fIUoj1rIteaCFbgtRq5MugxuvR11cfs8ZtDcNYhFzDRXeaTy2yKM/LwN3s/vU7fpidB+ub5sA==","signatures":[{"sig":"MEUCIFPMQbAahH38OimeiwoByb9QERBQlFtq/9ooJe3qym5jAiEA1AKFOtAV+lN3Gvbz7OnvYchmekfo8Qe9nIkwBc0Vy4Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCKea9FSX59mJggKyOxbCHexoWo7PZ72fW94EN6lvVQrQIgBLVIfp6D/bRjsl250pZRmNwvQTvsqgEkkJkb2sTO3zI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.30","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":797263},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"3144b5a64521d2f949edd8796430813749fe4b55","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.30_1789080898414_0.7900343179512377","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.31":{"name":"@hydranium/protocol","version":"1.0.0-next.31","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.31","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"85c43f48f5fc9313e4364e17a610f7a552517f46","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.31.tgz","fileCount":264,"integrity":"sha512-BTCvMUekGlvp8d3hmbYnMUQ3jce4NSzV9fB5vEQvuPXI4EYGsYPlEtVGcLFtwk6hHjd5fz27MwvQDN5iiq6T0g==","signatures":[{"sig":"MEYCIQCT1n3vIzYllouin+jVPOq3aEiyFQrJ1mC2C3SKXT/onAIhALy7BTQqKPhqjoNj5piKQ7geV+KgfnXf60dhMgMDBauN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDVu+FClHgbUBdxZIO08K+FJ0UdsRMAYsF485F9scYjlwIhAK0is18+qZHXtrMN7lDhq5k9EI1QwkTLLxZCOO6PlKUN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.31","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":797263},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"8e6c8c3616f7704c9fa715844ec72402a12fbe5d","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.31_1789081848086_0.6535592066941764","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.32":{"name":"@hydranium/protocol","version":"1.0.0-next.32","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.32","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"f774fd581656eb7b61a513b56d2f4b25cdab70ce","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.32.tgz","fileCount":269,"integrity":"sha512-SKlEJdcAF3q+Dt8qmnUXU/8ym6Z4HkOJiXitfxQqMSGSKJn8103NfYVmzOjxe3h+iW3J8CJzhW+l+9l12p9qyQ==","signatures":[{"sig":"MEQCIAb0ZKVr6UOdRRRapJ3QqPxoq8GPj0Jkz5vE44GN9sHuAiAQ3Y9wgzgx5+Ub/5FsFFi3DVrFRDkm7a3v9QuilQbc9A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDwJpZgBPe6JhsYjXFZIhsIm3fbBJeuA6KRKoOrDbG1gQIhAKQREsVliaQytfdJRwSB3IbDxZR6OZilNU7m2FwBuWau","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.32","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":822702},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"700db3a0b4b65b843ec58b627d3c97f466fd9177","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.32_1789082812993_0.6986132475152014","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.33":{"name":"@hydranium/protocol","version":"1.0.0-next.33","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.33","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"82682b4d3ad5fa349b7b8e27d20a4101cf2a8f16","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.33.tgz","fileCount":269,"integrity":"sha512-lm7cgF8toplTWAZm9Wej7bg3o2lWvRpJTjN/zhQeqf34b+vvy4TRjTbPk6kfCoKMjVEpjoCUlokwdWrC+QrmBg==","signatures":[{"sig":"MEUCID9zqOUibrKcVI/nOMilPjwFaa+Od1FCeuhw9tqdRJPMAiEAg2vaAy+207lyU5BkSlSv1uSruA/oCqSEd6E0R313v2Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCC7QUVya0hsY1Ie7mqLEfmHtKUzHU8Pmw10n4YiW+IwQIgJp/FTZabOaqeJJVF+GZH2K3T5cA0OQ1jmaWMtZsANJg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.33","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":822702},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"bf49242998f9f506ce89544d21740841e1f85d02","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.33_1789084460388_0.6502852502107968","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.34":{"name":"@hydranium/protocol","version":"1.0.0-next.34","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.34","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"c5414d8465facda371d0e195c8713f7ba7e42864","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.34.tgz","fileCount":269,"integrity":"sha512-QfGSM5bIJ6Sdu2qE/l1G1J44hhpfhkKN8nZ91B6nK//QKo6ChRofIvWwDcFyPJe25LVAUrbKADHgZGmzlsVM+A==","signatures":[{"sig":"MEUCIQCktXV/0vl+gTMhkv6VBHwYbq5VxhOF3yq3aSVxbOfRRwIgXygsKBUbF7cCaSg4CoG2nkfCpyqF6ZFZOGTsd/tgUQU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDtD+GuhySHjIHLAVNTQrYkJmCLHBs6TEuDnRJld6MPOQIgQAe+XZoLnMm6JV2xEN2XpKOl8J8i3Yg/3PjjhKC3mVA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.34","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":822702},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"ef11fbc473c423b233f3b84b1fd895c707d435e5","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.34_1789084785794_0.8987132693796449","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.35":{"name":"@hydranium/protocol","version":"1.0.0-next.35","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.35","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"8a813d0a1e6133028b55801bf6d599658ac2e6d9","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.35.tgz","fileCount":269,"integrity":"sha512-ozXjI/8hWO7ZLSnz+jyqQ5jOcZzoW9y0DkNp8RWPo2qnkXxZFAM5qECpM0w1d0hPoThO0w3BloyOiFA7mF/g9A==","signatures":[{"sig":"MEUCIEUHPQi08tcpcjIeQ03MfpdsSC20drFfjYplSh+x19YXAiEAqwpbaJWZfW2O2mCh5zg5y6YC9fj69SFvXYTAiJd8XUg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCEyTJUWGE7tTJzw3ajnBmMleCeto88/FYXfVm5ccJw1gIhAONH4NmNnWx8Whx7j1K6pHeXitvEvXKVe5EPdkhwutnf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.35","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":822702},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"a593818fcf7c415740029d85a40c5fddc0d6d252","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.35_1789110871529_0.8951676204468366","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.36":{"name":"@hydranium/protocol","version":"1.0.0-next.36","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.36","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"56ffa42c5b9fca6a43ece1d9b9b2e5fce09219da","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.36.tgz","fileCount":269,"integrity":"sha512-Z7OO1ezlUOvS2Tj8zVAFLpFQjFieVGkRrQdDiZJuyvBiHeRe2Jz3NLYVpcJLxXadBVz7keBKRQFpqZ499b0hJA==","signatures":[{"sig":"MEUCIQCB68fvmb7aMqBklYjOrInORcHjrXPCG8ABEN13/bvsOgIgX1L+X7QRNrfqaVlYjOaUSC28dlGvmeLJAmcXsJtCFdY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDCJTVTyXzPjg2TSmu6eV2CRtE4KArq7NpjWqkmz3sYyAIhAKxJI8WuXnKEZk4Y6v5JmVIUagnxbkrfbeps5SFobkJK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.36","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":822702},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"ecd8fd559bb737ef531c1ebb908b4a00012e6480","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.36_1789111571968_0.7079685141204843","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.37":{"name":"@hydranium/protocol","version":"1.0.0-next.37","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.37","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"87ec828649582d7bab6d24dee82e1216f36eac4d","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.37.tgz","fileCount":269,"integrity":"sha512-MTdeAMS+T1qn6MB3bAhDSxOkS6L3cf2PCbvgYm8F5R4Qr5F5nRF2iG41fR5umGokYpS7aHeBgnYtMZtXeZt26Q==","signatures":[{"sig":"MEUCIH1iwj3q+8ZK7MNXgZ8hB1yzAziCaDVJ0IFF7kLHZx+MAiEA9cL4Mm6oyR8OA6NfHLHs4+/EhzEWikrKJeUiBe/8YXw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCcitmeoEJhk28yIm+XYFr5+BGE1W7V3i+HBXMEaJqfuAIhANfjQYvogKO7kd6d7sm5Ln3GKi/3FjI+LTLWu9usKl1c","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.37","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":822705},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"71281468e9eea70a91d68418d466b2c2f9b95e61","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.37_1789112042214_0.3860448813487256","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.38":{"name":"@hydranium/protocol","version":"1.0.0-next.38","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.38","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"1f2a7b86a63c5bb13a330eea82764ab19123c6be","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.38.tgz","fileCount":269,"integrity":"sha512-QDdnzCZcBezFiSc9XwVsjbIs/YAn2glcxEwXQRjepzXRL94e/naJmrZzchX0jM8SDRQMyK1b0dUAjtnmASaadA==","signatures":[{"sig":"MEUCIQDiPqzmR9NKJqEJWYPPvDjegNrIHZE37eYPO3MYB82XMwIgHpEJIt09VMdjQZ1lAw2fq+WWniT7/V/zGap5VH3mink=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDbt5fPhJrYEAuv2mAKGNnd9wMzi6Zw3cBW9sqa0NTk6QIhAI/hcGF0jXI59wLaoDFKZoQ1keKHjhsNIobUPvQuAKsz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.38","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":822705},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"0b55576ebe72990a6f20c437cb4e0206d0da7265","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.38_1789112718064_0.7162866195414128","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.39":{"name":"@hydranium/protocol","version":"1.0.0-next.39","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.39","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"91ab9f0cc4c244a2076a4f2e831f264ef88fc9c0","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.39.tgz","fileCount":269,"integrity":"sha512-EHXHVd3S7ovEOF4AbxSn3v1H0D4+7dSA7gKqgfAkro3qmNMNSGMv2tmeLXM2mjtHwgelizUc7TicMrSS0okUsA==","signatures":[{"sig":"MEQCIFAVotIpMcXHhBkefSObi552HvWJKqZGHDNW1nc/OU8lAiA3064wXzkwpNwaNy1N2xe10tMDDIcQvXWPkz5CQiwVhQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCu4Xt3AzsEzbh3obZF7FJy7k07tyfiPa3Yt6WJrqOjsgIga9Abd/WMPnXg18MMIjwkYAYxeBMaKxRcLFwaO9R9X+0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.39","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":840059},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"85360c20902dea3a7e75a1816cb2b66bccc4a8b8","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.39_1789113695894_0.6610847900515315","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.40":{"name":"@hydranium/protocol","version":"1.0.0-next.40","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.40","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"ad8eae9c3f48b3b7ffbb44a0219ac8e602b2153e","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.40.tgz","fileCount":269,"integrity":"sha512-uSy6OsHbbA8fKiwb7IFf2ErlByj0UtSYLyXLNwsRSfffFx7WKuU/cg/K6JLlUQYoQ7ttkioI1atgoeyEZYVyXw==","signatures":[{"sig":"MEQCIF1INHoI40YUP46FrGCjB4puAJ52bxp/D9IZeKyTgJM/AiBGxh7loLfR+h6X5ECvejqh6HHM8ezY6Hoq34NTj8h9Yw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCDAbdw1LWaVfsv++RrmfskmmNmY2FAgYYFF8uAwtQE5AIhAM7RNQT0EWo1nVSGbiFEsk09pU4cYdPd9zorshoO/qGd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.40","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":840059},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"bc342467f388397ab8033e70fbb8af13451a04a9","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.40_1789116672074_0.5918232711195937","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.42":{"name":"@hydranium/protocol","version":"1.0.0-next.42","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.42","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"b70b5c1e20cb220266956ea1bffb7fcbdcadb1fe","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.42.tgz","fileCount":269,"integrity":"sha512-YhD3dyN9PiP+NcHWcMPZspunQNwf2gjL6iYjXjafOrt6V4pLnNZkxTcjAI+/QAr7oNGcCuNThhvHTlaVM0Y6Fg==","signatures":[{"sig":"MEUCIQDzJrL3+MTJ2VlVU/B5F48/z/nHUf0Z7tigezg4usZSSwIgfClTRju65GhprWOTAXMgtrhg0IOrGtJPzscOiS+AWhI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCy/mSIT554z7oy7eEFoQCLD5cBaIvSCr1K2ei7tJvX8AIgQdGXvSJOUBbjf6PQO3S+UcfwZ+YYe5cUMzHiZkkTDog=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.42","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":840059},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"1c0395351d8cf4bca5442cce3721b8fa4d7f5177","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.42_1789123512680_0.8353821674069983","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.44":{"name":"@hydranium/protocol","version":"1.0.0-next.44","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.44","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"2a54700410c7e81f5a307f5effe30d1699ae95df","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.44.tgz","fileCount":269,"integrity":"sha512-iVlPhxb7GDy2zutCOOoaSzVmwNSDkYJPfGpWrZAlbhu7tZrt563dUvArN2/WS10jIXsnIGDwSfy4drSO6t6spQ==","signatures":[{"sig":"MEUCIQDVCyRdxsNeUe3PiLJkE3P5eC/nVxM4sSUSaTqEAgrfJAIgbif4zkR/js3rf464R4WXJra4dViKzmeuumV82Ai6Rlo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIAusVzd/k3q+Bsg0TWwO1NKuHq+oZ/1tGHfjA7KacAo2AiEAy5bfgwW7tXEznnX//ACask07jcIgEwjBG/W4V9eA7sE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.44","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":840059},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"d422b97846df49ade27fc9f59c971520dde807fc","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.44_1789128052004_0.7416381489359858","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.45":{"name":"@hydranium/protocol","version":"1.0.0-next.45","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.45","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"03ab43aa1f6f81d00b3aa6aaf7abcb92bd6f1243","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.45.tgz","fileCount":269,"integrity":"sha512-e6RYby5O+cEv6DNNrb1DtRN0aMRRRc24IS/0cGcAaj3PUatn28r/aFAOkMkapHEY1w+8tqJkCghC9I8fTTfrXQ==","signatures":[{"sig":"MEYCIQCo1AI0u6XAtZMD7GEWdicVC19caofQec1qsXhfLu1VmQIhAP7jaG1RPdLC7aFN67bde/UQkvlkWwfqr52BjtR6OonQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIA0Tkj+oRHNMKUSuBALJaSVeAM15bgRqUQPF2Geu3BN2AiEAu3tp4G7Nb1TwHucE3CTshQGQN4HrDCbVNEhh+EFqE+Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.45","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":840059},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"0c2e2da8f3afba96ba16fc3a98115b3cf5f1e0d5","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.45_1789130105633_0.012151419610760161","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.46":{"name":"@hydranium/protocol","version":"1.0.0-next.46","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.46","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"b072f5d9048420688815a1ec3a559885b0206877","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.46.tgz","fileCount":269,"integrity":"sha512-B1puZ3vMZxYjrFIAn1kIdY0DncF3CLeXVXCWzZtAR0o7FwG9BiK/1reFeeZ1HRac5rxkye3QKMDxpvMiVozBuw==","signatures":[{"sig":"MEUCIQDXasj7s5dbt0iv8Wf3FDwG3Gvl+La0Zg5yBtwNyQ559QIgYJQ7j6g7prlp+Qs7nwfWzGXXuGh378OyzNZUnkmWR8E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQD7uEcTH56l9pn50Ca8gZFP/JCg/rBlP23vXj17+gpPZgIgEHfeFLD5w5nJkjoXD6+BD5yNouLtJIDU0KM0ggUJSsQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.46","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":840059},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"df83b12d3657272e7bd994bfeb01953c9b30a8ec","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.46_1789131913621_0.15198243268823486","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.49":{"name":"@hydranium/protocol","version":"1.0.0-next.49","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.49","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"e333ffe60a16fd2bdaa952adc6d09364fea4effa","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.49.tgz","fileCount":269,"integrity":"sha512-ZdFIV3vjZ18/9DI0Wi+0DJYh9vbPHITkcoR3v3juKZM2zVFmKMAVpphs7Z2yULtiswvrTClU/TqyK5x9qf8Rlg==","signatures":[{"sig":"MEUCIHmHgFPMLvqk2FCIQWlnsfcdX1g7433IC3WZM+t7JHPHAiEAq6egK12k3bXxT3dluon10dy65rr/U03RAbwIl5oiRSc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDb3DpfMRdogJunucDm1x3wHMZifI3+ipZJ5uxpLmLkcgIhALhdOYw/oXyATh6GeyDJ6oGvEjeSQxHowX/xtZ6397N6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.49","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":840059},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"b08c1dab6484db2bbbe43c3e07db79155901e217","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.49_1789473520194_0.03561254385642232","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.50":{"name":"@hydranium/protocol","version":"1.0.0-next.50","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.50","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"e21e8d0cbdf0d270d7c3ed9ca44266a9c2000b1b","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.50.tgz","fileCount":269,"integrity":"sha512-HI6kxsg9tMvRrjBbtQ8TIXydBJZ1eufTxptCjp0FvzRwhf7aMo286yC1tbY9bVmfDxaDUNdh1FDq/UQppaxoOw==","signatures":[{"sig":"MEUCIBbkKqEkO/wRdNnv+KQ9kSet0VKdQD2VNKZjnS4iA7e7AiEA2czFmRjHkcNzzofhCy0Jt4vccPF5ZeicjAhP2TtR/34=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQC9WjKW8XD7dwk5tShq/Aa6Iv6RbzpB1C3gQJUW2siJFAIgPBRbzyClFO11+0jqi8mmnWQVWEOoGn7bEjGR4mTK1Vc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.50","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":840059},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"2e9b935ebe05c3bfb550a411f09668c28903c603","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.50_1789475764927_0.3785783899602544","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.51":{"name":"@hydranium/protocol","version":"1.0.0-next.51","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.51","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"a4fadb2df503ca0cbc3fb0a31e009b4f503db25d","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.51.tgz","fileCount":269,"integrity":"sha512-8F3r0tXvz/lK5JxHv/MM3e0hkg5jpfHejFnI6Tim9nc6N7V1R7FrIO6nrMbn3VbhoHZ2b+CbcI8haE+LnabyMA==","signatures":[{"sig":"MEUCIGfj1uvyZDWOFzyOcQeB1qK6fRr98pd7r5O+nO8LSCffAiEAqEFMrCQiIcsI0P1fbllWXk2KtbCpCc8zfuwCjFfpxZ8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCIHNBr1ToC9F00BE59M1PJkY79CCBmY9vGxgepkmmhIQIgQRmCnkOWHdJtU0kQtGn74SBwAmT6LIjLYSV7iSAsC0k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.51","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":840121},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"5f38a70ec703c96b9211f2632ef9c64b4d35a0e2","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest, and docs/adopting/requirements.md carries the block to paste.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.51_1789477198758_0.21055646970967423","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.52":{"name":"@hydranium/protocol","version":"1.0.0-next.52","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.52","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"5b495beb3fce8b330b141caf71575ea238dc149f","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.52.tgz","fileCount":269,"integrity":"sha512-CFX5lQcEOoCNi25hQtN7jz7xJ800qCYlJLVIjkQkpdIOaNzmO10plcHuZ2UZEeGZw9lq/f2TxZGjfiJ4UPDTKA==","signatures":[{"sig":"MEYCIQCf7R2R6Zf4HdfxE9piE+MW3eazi73EFZqENyHqxWvx/AIhAJ9cZAbwxF3nqsxBGNdBHjV1iIKvOdmszLZyTjoY3pNF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIDRWDNJPM2KMlw7XtM9e8evfE9pyZ2KeyGhLF/iZNW5eAiBolGa7Sbo3A9+WR8dKYxBjv66VNIxH/70o4a7IrANlbQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.52","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":840121},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"de17637218123da3f6f1393b3f3303178fabf878","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest, and docs/adopting/requirements.md carries the block to paste.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.52_1789484290629_0.39730691388873707","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.55":{"name":"@hydranium/protocol","version":"1.0.0-next.55","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.55","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"8d2253f144e0bebe093492ab87c813e730f13973","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.55.tgz","fileCount":269,"integrity":"sha512-Ur5+PjnQjp2VahhYcBd5/8Gs8lH5hNyU9ZRggz2ufLAlPHCZzDRuSDv5hWKGIQ/unjTojBlM8AilZCjn5FwvrQ==","signatures":[{"sig":"MEYCIQDP8PwKCCULD2WTZFhoBZn2B51Nc4Uq405yaar5XnZL5gIhAOchnLLemzTnTPdNKFLG97qcEy2PWHDygzt3iql08vzx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDICP/QiQI6QNTO6AfrCc/spiIrEdTlKl5mPXLU3ODVKAIhAMKcXHcumd6PPTaex69EHihGK4mTrrU9hazt5mpEbIBt","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.55","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":840121},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"52533e6c56b9f7c07bc3e90ed6a9fa00dcc17b65","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest, and docs/adopting/requirements.md carries the block to paste.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.55_1789563369886_0.7584974993808005","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.57":{"name":"@hydranium/protocol","version":"1.0.0-next.57","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.57","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"5f0ccab8f4cb9d62f24af1325fb796a160ae8ae4","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.57.tgz","fileCount":269,"integrity":"sha512-Dlm01G6gp+9RY4GRviwT/dRD1zS7RLlHGprHzFHB/iPFvqJmnfZLPaioEYGM+RrT0wl3mAhl58QO4ztHZhvs6w==","signatures":[{"sig":"MEYCIQC3PzJDYzL1izgsdRrPisp2A+9gSs4L4lr92TUJr5QqEgIhANla7hJGgPPVhto6H7yJdU3DIrrbD8egqxNCu5AC/Mjs","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIFSAip4p9JYUldACgxcpLgFpcFRHYWaZwzbKvHxdBMhWAiBcVr3TBCjaHGq7derusNKoUFIUMG0/5YgrYvbCi6kN2w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.57","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":840121},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"8e614f55b457c6f8a5ba228ac58d24f210126eaf","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest, and docs/adopting/requirements.md carries the block to paste.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.57_1789572841421_0.8707385685047928","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.58":{"name":"@hydranium/protocol","version":"1.0.0-next.58","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.58","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"5c4ecb5698cdeae04edf6314f5f1214f8678ea15","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.58.tgz","fileCount":269,"integrity":"sha512-rD4wQFLZdUna2l4SpssCBHQEX7VKrNCmwsi+m9LQ/FHMqQqB9Py3dkWOG0PWsEsoAM7xmoSGs6E2Ft9y63NsBA==","signatures":[{"sig":"MEUCIQD1gDnpELvvXJKTCGndmsTzx9tqfYw4bfJ2xuod+g/QvAIgDMbOpt/+GfgZZXf0kqyWVlD3RaV+D3hRd23U13TArj0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCrUE0jp5HT4aYqClnEvVKpvT5fZM0GwyFpg0yN31WgrwIhAP6jqRbSpeCKjO6HksMh8Aa94RsDAwXMF+6gb/NvnYBu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.58","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":840121},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"e11d975dfe5c1946333588c85f2539b2ba0b8831","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest, and docs/adopting/requirements.md carries the block to paste.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.58_1789573322493_0.37566162232190314","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.60":{"name":"@hydranium/protocol","version":"1.0.0-next.60","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.60","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"8d85e0e47ea66e6d822d5dd7b43504e855d85404","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.60.tgz","fileCount":269,"integrity":"sha512-EPKePdWDfuSHwRsfbXoTsSCr+sIqdV2zNSn5bhNeIolfRbLf65nYnZAjCq17tsaSTsjJ04ekihywXsWUAV2E/Q==","signatures":[{"sig":"MEUCIQC0wc8uTZpI7RfoK+5u2UhuxvdHxfJKt32e6Ze92YZ4BwIgUr3pgC8NaJPIssnQ4cHT41Yd4WS7Xej83D3SuyOGbo0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCsv5der7my6yeJ8sRpwF2BQfd/6KBIqah61pnuzo80TQIgRJuFItPJwKtLN2IncDg+FjsokNC+E9L+ewhrjYdipKY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.60","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":840121},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"0e89e5480ccac85e072121bcc4280e4f21b6e5f6","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest, and docs/adopting/requirements.md carries the block to paste.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.60_1789634953427_0.36477884169603336","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.61":{"name":"@hydranium/protocol","version":"1.0.0-next.61","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.61","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"725cf3d090c2f22884320c6a0273bb44a8630466","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.61.tgz","fileCount":279,"integrity":"sha512-yDamSAbxcc+vnYz6TJO0UVbTiqeIhFahINuZllZ4PRGMyWm7hy1cbYejuOnNavm8vlug2NDquaMWKYnH9xXAmQ==","signatures":[{"sig":"MEUCIBO3BVkPh2GBN24idqtgQHHNfv6ourSIbHsPIYJLyiGUAiEAkVE2eGnQQbGK6xPamppLsammp9xxXftVKK6Z2PLS+U0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIDfdfnYvM5m1PRumTQQD3uXujvZj+Zw586+G2atZWp9vAiA0FRHA7HR6dPLP6Cy0599JhZDP1Jg26Xj5ArBQtwtl2g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.61","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":872759},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"f2aa66b54903e3b3e4932430bdc99503f5ce36e6","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest, and docs/adopting/requirements.md carries the block to paste.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.61_1789643286896_0.5984163215842211","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.62":{"name":"@hydranium/protocol","version":"1.0.0-next.62","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.62","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"46387e6643ca4d90ac8e27d2e2363f5d88b19fa2","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.62.tgz","fileCount":279,"integrity":"sha512-w0RX2Io9lfgtETdtBl51a4yiUbNqqCTRY/XNLOFadiR5DHM33/Zrhy1Y1x+O0K/YzrjD9i7CSmdslCq3epibJQ==","signatures":[{"sig":"MEQCICXk4hMCrOfbM+yUdCsf+bOpGQkASUYF7SCFez6dTME7AiBX7TafH08O5o4nIT3TrBuXM3I1yYMdD1zpmdvQJP1xPg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQC14llVhjEgCnWTOkf6I2iScJTyCrxKC0we+I9cqetnBwIgQ/9fw0oXVsPyDS2l5rF3TvXy1XVs4b0/2cKJjxidZLM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.62","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":872759},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"6246734b049f5d6029ddc57bfda9ad0c234ce11e","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest, and docs/adopting/requirements.md carries the block to paste.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.62_1789650938056_0.24151397131517882","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.63":{"name":"@hydranium/protocol","version":"1.0.0-next.63","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.63","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"582d371e9c5328cf4a20dfa77bd7c10c7d383e38","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.63.tgz","fileCount":279,"integrity":"sha512-9n7CXajqpq3PZAuVwIVzGYQ38F73YKDhDHsNpBbonyb1ukLX72Efdj7V4Lbaqoy8qqk9piHmCSEIcmko7lDgLg==","signatures":[{"sig":"MEYCIQDE9l7ruV8cWqO3UYergQzYfB9AvUx2kk+Ldb+AtzSb3gIhAInH9fGuY4AW/xRQ55Fi3fsJzA4ll50uKQLQXTS0M8Q1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIE5rNpDPP05oY5komx2OiWC6XO2lkT8uwBHoB6fsHoAUAiEAzAq5AU6CZr8hRrIZ1IMyI6UVYUvZzETw0NILV/0ah0U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.63","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":872759},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"b5aabccfde4752da8e1efd4017b822eef531559d","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest, and docs/adopting/requirements.md carries the block to paste.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.63_1789651392712_0.8277747024860167","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.66":{"name":"@hydranium/protocol","version":"1.0.0-next.66","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.66","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"ac960c70cd2058db3b1f98410653d377c4933500","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.66.tgz","fileCount":284,"integrity":"sha512-KdBRKhhJg3pGvLKjp2pOM77VF3K0cp5VFGyLMNlYE5GKamf5BVcALX/MGOeJxJPY5T8nzBPnUN7b3QY27ILMug==","signatures":[{"sig":"MEUCIQDobfnBOZRXbjnnZtmkiTu4Xh8pt6rzeLRbQhkStZsM4wIgSDj2X/IfWS5e2i9DCZuBNTlmdK3exc0jCBYMbUB/s64=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDuoD/FmFMQZz6WaASxbOFPHbMU3DPdQLqmW1iVybA/EwIgCBzYbaMMCDl0A5srvPz0RFq9cXQfkEekpv/nDxw3n84=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.66","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":889709},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"5f76b281e64b2afe365e29c49d7388f20a626482","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest, and docs/adopting/requirements.md carries the block to paste.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.66_1789680479595_0.8672946976129952","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.67":{"name":"@hydranium/protocol","version":"1.0.0-next.67","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.67","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"3618bf77368ba1bef7d04f1c00afb126e38bc7f1","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.67.tgz","fileCount":284,"integrity":"sha512-q4tPLbGnAmQ9O3MNmsZWsfGNMS30gbXFF9aoFjtL8gJcAFfkTBGrQ8eh6ey6FqYiWFo8lnEUWoyPbWSQVGl18w==","signatures":[{"sig":"MEYCIQCgTDUt2cwfVZ6kk2KBhPyzeTRoxkagCT0+cdwZKXmACwIhAJS+C/+9x+OYW3fpqRKQWHxCLH2dt+I8OVwiMRgYIkO6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIBT2T6Z4TKfVYS2GbcNZAEt6nY/kUjqzTlTtuOZYrDbtAiEAu3SxZoO6OakN9wPPGRQLWAtXwL9UNGIMW1McTnyPRIY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.67","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":889709},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"f99034d60a4f6cd850b7a97db6f52cef729a7c23","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest, and docs/adopting/requirements.md carries the block to paste.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.67_1789718142901_0.0015737377358246984","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.70":{"name":"@hydranium/protocol","version":"1.0.0-next.70","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.70","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"aebc0c6149c2a6b13b0530a3bdc040ef8110e33f","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.70.tgz","fileCount":284,"integrity":"sha512-HG90zAKxtAPRCCUrRqaddY8C5q3wvM2xue8tTL8PwmMXFvaWY7kAHWxNY4iBTE07PMcmtw24pGEKHCbI1tUASg==","signatures":[{"sig":"MEYCIQCZPVcohki2Vocc+SuxRaRJ+ynRZSHxLtkpExhuN2vwwAIhAPutRn+yUyAXFus6OpWY7kVKfiOGJBbllQmVgwTIjdGF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIFzl9pY6VUEquBlykRqxqykJG+xYZ5PvwiYMZ3YHENpfAiEAmJ0WZY+Nh0R2nu7RcufeMiQlzKYUYg0a0X6VfohyN4M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.70","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":889709},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"0f9f85df8f69447cd97a9215de36328761f79b1d","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest, and docs/adopting/requirements.md carries the block to paste.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.70_1789729391062_0.8386280346205133","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.71":{"name":"@hydranium/protocol","version":"1.0.0-next.71","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.71","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"c86e14eab136bf356699b055d8fef71176ad4cfe","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.71.tgz","fileCount":284,"integrity":"sha512-TW6++36QbJS1b8M0+iCgfe8plTIc2kv96oY3+j1g2ZYjEsDb/OsTlK4P5h+WhBthYU8yrwWqQ0Y9FpAGgTCvQg==","signatures":[{"sig":"MEUCIA3POsXnZjXSHqeIou0Q3fWLkgc3fTbYTZ2Prx/29t1SAiEAnW4uCBVw0CAvCy5DS0boy8Rp14b7oi7NJILGmO8pIbA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCAdfQbxeM4PNBSQox15aDChCV8Bfq6PW65dlRXe1oosQIgYfO2AdoIMNkgOO/KVI9J5NJ0Uw08GfKGXBQFxA1VNrA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.71","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":898813},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"604975444cb71f9dfbf2fd24c069530608c86941","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest, and docs/adopting/requirements.md carries the block to paste.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.71_1789730287406_0.606233180686703","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.72":{"name":"@hydranium/protocol","version":"1.0.0-next.72","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.72","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"eb1fd909ba279832ce169cd4bd5395d1d38dfe12","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.72.tgz","fileCount":284,"integrity":"sha512-OvAgLr1xVHtriO6P+vQ5SkyJiXn5Hn66XoKHVeS44S5scCN10WC7kiDa1ofifNjCdDC6eNflUpKtr30kIw66jg==","signatures":[{"sig":"MEQCIFXioWwLf46cxVXKGOm/tr7J0ADxaQ3cS+ePjdWjQn1qAiA1wsrzZRIVdiFvb4SFx2z2Lbo0pI+qIvFWgX7y1DdpeA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIAV2bkZOYfE+OlLRB5cBoJG/Yh5xbmqKEzs5/LDRpCACAiEAhUMx8bDQQlBiljfA1DPF/062/WOjn63Hkf0FaLm3OeA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.72","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":898813},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"bb5c11b2465938e4a268f5fba57e1ef5ca5304de","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest, and docs/adopting/requirements.md carries the block to paste.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.72_1789735332701_0.8019655134469237","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.74":{"name":"@hydranium/protocol","version":"1.0.0-next.74","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.74","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"b0c4a5b8f4ff651d4e9f61646a832bb1bf62b606","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.74.tgz","fileCount":284,"integrity":"sha512-0px0hAI0Ep/bY0GOvgc0Y3DoWdnr9fMRmzoxPaMgOGBlvnaFR0aVpyAZo3TQ6qpxurkJtpD7xT+6r1v+meP2tg==","signatures":[{"sig":"MEUCIEPSWI4l/hwWx7L6Vu/lrlnNNiAed1pdVqaxxK6uvhXAAiEAp81T7753cNl9te55VMV3VKPefilvthBAc16PwBMSIP4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIAPLlMWSLDYeOwZgCElP+xKPZ+vmGe56cxpjLDam/8jwAiADRj+3abwprfve7avOtBIt06Ie0lGBy6qwb2KxUWdEpw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.74","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":898813},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"5c8600ba0b3c4f306d259bff5ef13f0498d04560","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest, and docs/adopting/requirements.md carries the block to paste.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.74_1789741441164_0.4999346636911741","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.75":{"name":"@hydranium/protocol","version":"1.0.0-next.75","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.75","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"5fa95961c5eefce152666c164b6250c7b28c77f6","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.75.tgz","fileCount":284,"integrity":"sha512-g/5cCnm2RgApPRZrd1IpmuD7xg9yF5Un143gWX+YzbatpJZWf602WWpKRuLp1qRNdU1mpWOLjfTHg3oV+GiTlw==","signatures":[{"sig":"MEUCIAyAsd5fM3s2lHfbCvdpBZkHWc3jIHpN6OAPGznKpIPDAiEA3KyhP59Xhi4mvis/+mOpGCfeefEPtQmNeMUPbRDTaHs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIFgrq10w7ugzScOm4tFjdXEP7Yjx5UvZtBd+nUBcOUeNAiEAoPPiTXzqKB7WoVp41Hus2bEFvRtumDW4fJ4eEXF4s5M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.75","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":906622},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"8f3a13edc12662d38deeae09af0de9416064abb7","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest, and docs/adopting/requirements.md carries the block to paste.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.75_1789744253539_0.7103209282692404","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.76":{"name":"@hydranium/protocol","version":"1.0.0-next.76","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.76","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"ee9eb3dabe959a7c89aab65b8ac1ac36298d47a8","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.76.tgz","fileCount":284,"integrity":"sha512-k/w5R9SunTNskG2eVa83JcEqmlm28fmxzWxxLOT5TnpROmVLEpdc5l4333SbugYZ0VFs2Ac8K1kT22/lhPcDMA==","signatures":[{"sig":"MEYCIQD7kuhtnpnDy2qU1/s1Sx83P0FkSX+meYpw8yErY/jmaAIhALD0/faEIB+dm+YZQxlEohbOfNf7/9TH08brNTFKm+Py","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCNE17wXrymXnNmg9JPM81iypk0fJF2pbT9SW57N53O+QIhAJeQouqssc1RekLaJXXg7x7rODYQSdxrqQ4m2JR2TYsh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.76","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":906622},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"0a65355f9d54e10db62c1c84e8e5af24e480a164","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest, and docs/adopting/requirements.md carries the block to paste.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.76_1789765111517_0.3467207305662001","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.77":{"name":"@hydranium/protocol","version":"1.0.0-next.77","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.77","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"342b6f08b43fb23687ec091bf578f3bdb51cd724","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.77.tgz","fileCount":284,"integrity":"sha512-nQ2sdBBXfwRvvVqfM3RAI92R7Bf6jzHYsuZ9LQTSY2UhDKsI3hSJnHMc4AxMo2MRQeVpCjCimPUsYzcn3c2yog==","signatures":[{"sig":"MEYCIQCzqeBp9mF9t4jE++hrhKV6vit4TYY/0vh2B9l/x9aTzAIhAKBMsSwtG3zym5WvJ6u9cHGN0iBWbY3xihJO2OvPxeMn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCICeOrz/kimluwkmR6A+wih3dGMime5Fikr0KIpxJ3MI8AiAfBv2Os5PaqiDKH8traOFgjCEvKXlbLNVhXFRvqDzXnA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.77","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":906622},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"04a881987b50020f2d9948d8b7fd8a2f56483007","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest, and docs/adopting/requirements.md carries the block to paste.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.77_1789768665009_0.8423832307459269","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.79":{"name":"@hydranium/protocol","version":"1.0.0-next.79","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.79","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"ee1900b34148ed05fa3942d0cd384438dfe0e484","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.79.tgz","fileCount":284,"integrity":"sha512-t8QprIiQd1f1JnL2wschVuiAh174q9P+gkUlRelUExxn/Fwo3i9IuCVfj5myXjTqriGoLbpOiPOM7KfGDhVZBw==","signatures":[{"sig":"MEYCIQCxsX1pjcQk078giMxZRO6yoHe+f0WGXyo86aUEHxQ87QIhAJN2K+3haq+FQK+FJ+Zndpi+6Er1qT15y4CtP7trLU10","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIHBOzkJciCm9reIkEoSu/un5D/2xpvghR2+7kOFekEoxAiEAojVfJna+GJ9zA8/wMeX/AAMuhq0Dyu55xz8fXFJ9Hbs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.79","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":906622},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"cdd4ee08dac5ead84462ccf4e20b34a06b37953f","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest, and docs/adopting/requirements.md carries the block to paste.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.79_1789916544810_0.4953038748105152","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.85":{"name":"@hydranium/protocol","version":"1.0.0-next.85","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.85","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"8114b258f1c04cc6ab5d1a3c9d0560c1f8e651b1","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.85.tgz","fileCount":289,"integrity":"sha512-BPTNOFsoZMsoXWYnE8J9ods9RMhQL1Nb8+mxLhauMMY0noGkb0REQcRjMiVtmWSl4ymcuUp7ocZjwPJpo3dxxg==","signatures":[{"sig":"MEUCIQCAj+xUoVZrDU2KLGelm4YlHkRLhtF6BqpxQ+/eLx4gIwIgYwgfvsStZsHdWjgfepFA1UB6nFyA9x7AREFxwC14xbg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCy4/Sv0fW9r5c91jlmpd4F+jhPYHoXBrvrfWfyvlkw8gIhAI70DXYw8knLXJAmkIPM0j4W2IganQDvvqZMWOlgFgbb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.85","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":916684},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"fe5acd004ce128c9ab614e06bb4ba246cfbf89a2","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest, and docs/adopting/requirements.md carries the block to paste.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.85_1789939435892_0.16769372349851563","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.86":{"name":"@hydranium/protocol","version":"1.0.0-next.86","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.86","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"019560abe7544951c0ff8f668326b625ccb70ae9","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.86.tgz","fileCount":289,"integrity":"sha512-MYcZR7OwRkGa/DGB1zPJuqImB2AN8BA5L+6Bn/ld2Mg4jaVbRRanUQta20j7I2Yn8WKCRn8Kbe2FxBE5qEDxkg==","signatures":[{"sig":"MEQCIAcVHM3ckqExRJ2myTHbP4TmgQAeY/DxfwepHw+vR0nxAiAry026o5sgn01MD/AkwQDN1mgE4lWU8Jj7dQFFJy0vrA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCDwu5Pqble0w+KrrzxC1V/z9Vf3AnO3Vd/rxPukREkWAIgfPU1Kl5QBd4tlDL2sUWgSSC2OZXpJX2eeaXQA7Og25Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.86","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":918798},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"7cf16c55fe7183e87b9a24b9f01cb76ac6095603","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest, and docs/adopting/requirements.md carries the block to paste.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.86_1789974887773_0.9793325447711205","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.88":{"name":"@hydranium/protocol","version":"1.0.0-next.88","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.88","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"03e4a5cc47a3a1ea9cf98f314cf0a038c9e9dd44","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.88.tgz","fileCount":289,"integrity":"sha512-4rZKqZdoAU0/ZM0z0QOovn/byJCXB+tk+qqG2Daq4Dd4ogTprZnUCXQWbsFL2nS07uH/pdu88n/LAxVcU1PeVg==","signatures":[{"sig":"MEUCIHdtxpeLYiNpE/wGkP3PkH6JwyYbkRMaZ2tMk/LeVa6iAiEAugVeNuDl+gpTKj2iTWnxhJByXej2P/BIEHmbeuTAGSM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQC0gbZDvk5Bfc51cXpYZ7aadqwDBR13Jx9bACDwaEu2swIgGkVdXYN/9FCIAR2ugkKrLlr2MT9EPyvYtrbFJDyf7qk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.88","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":918798},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"b3ac9a4c60d83edb3c0e53e8b8afbe465607331e","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest, and docs/adopting/requirements.md carries the block to paste.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.88_1789979858992_0.761552308359132","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.90":{"name":"@hydranium/protocol","version":"1.0.0-next.90","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.90","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"a36d90d74f8b9a7210f8f4cb150fd7578b8d2955","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.90.tgz","fileCount":289,"integrity":"sha512-qSABimhZHwznC6bAifVuYhIAVvd+/k1bnAgq5xBD0RPgSowAquCU8syHqN6PMgA6WbwQCZNaTPcHbWYdKbxVhQ==","signatures":[{"sig":"MEYCIQCsWY+1/InjU6Yc7EeTD+6CC3iys1UaUoDL/RKEG9RonwIhAIKOHZuZI8Kg2j3sUYUp0X8cgdpxcICtt7Jhh2cOLttb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCICqghHby6NFZmGbDc7Lz//D+bCxhnVxl5429ZO4gG+5fAiAzzwCw5nO0OVvLz50s/evIulR9JjUUKbQYgOOHRC+Z0g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.90","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":918798},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"3e2ad81fee111848cc198c86e3ac6aa1c76a0ecd","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest, and docs/adopting/requirements.md carries the block to paste.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.90_1789986141190_0.1717362999646137","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.91":{"name":"@hydranium/protocol","version":"1.0.0-next.91","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.91","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"74002f939fa18c433058e425e2270616b07fa70b","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.91.tgz","fileCount":289,"integrity":"sha512-9+bRd+m9wTMiicstW5YqekBNs2nfhxjKuIvI/Z6Y30dzaDI4wgXUIdDlOHUTSlD+n5Www3QLtOKuKtKkSTCxFQ==","signatures":[{"sig":"MEMCH1N4PlVCoaen+Ubt8oXOPrz1ceti7Y/1r9IPCuVf+BICIG+zGISlQ52sxPSETsXZtpde9dlS2UPgUmeGG9X0ubr6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDdvgQ5m5ohQLt7GeswmwQvaJMFLExzw6uVPOko97bkTQIhAMXrGJFSlG93bzDNJinxBgAq2f8eXC5ft+Zi3Zylyw1K","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.91","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":918798},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"4f7b482f48f14b703dc2756dddaf41498ff0e628","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest, and docs/adopting/requirements.md carries the block to paste.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.91_1789986940922_0.520315504788671","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.92":{"name":"@hydranium/protocol","version":"1.0.0-next.92","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.92","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"114390ef50701706840228cec99de29113bdb64b","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.92.tgz","fileCount":289,"integrity":"sha512-xbXbd+xYWWBQw92h34cmFZoAzOOBQII2k2gSYIxcEkVb5HeNWupC9Hy3zZev0yRJOgC18bktukdqB03hqeXzng==","signatures":[{"sig":"MEYCIQCRPkCpPZxCfv7OEmg284nXQQCqT5+bitakC2tJ/C2hQAIhANqZGj0EQIma10s2CSWTvnXTpch8VpzjUkTFV5pafCtZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIH9uk3eJ1cKDfSJzXr/QIgMK0MocuQvnE9WEA1qU5vnYAiEA9BvtyRdyq/CbLLywNa4C4qlyB9Ot9IjPkqsvobYOSSA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.92","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":918798},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"e769e1181a2eb1e5f024f93378346fc6439ed20b","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest, and docs/adopting/requirements.md carries the block to paste.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.92_1789992912302_0.5125886847862364","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.93":{"name":"@hydranium/protocol","version":"1.0.0-next.93","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.93","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"a4c6ee3c6ac0a3627d4449bea5783bee08c3cf78","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.93.tgz","fileCount":289,"integrity":"sha512-D3LDklMRbwD+fao2qP0bQ2CopTAB9DUdaf9euG2HoXwBnRA5aNN8XqU9ZUjeM6T6Kwe5RKPT6QEoGMSnHk1+Xw==","signatures":[{"sig":"MEUCIQDrV/RjaKIY1J+WFgJZnNjlo+IyNpDPWcVcsGS3H3JScQIgMHGAAJQ5xMRXPcQh/WGrtCrx1NRgMAvYwfzajIUErHk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCYXT09FzkOD6vjcmVzKtT5r6XJtcHlD/1l5ZiKL7DoHAIgdq7PkCyfkmh63WcmU86JuVCdLmXE4uBZCGQSEZMvQRo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.93","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":918798},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"bdbb81dbc2d8d1369dffbf206d420cb67502da72","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest, and docs/adopting/requirements.md carries the block to paste.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.93_1789996611002_0.20634337198169073","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.94":{"name":"@hydranium/protocol","version":"1.0.0-next.94","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.94","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"0d9edaeae104ff243c7ee4d9602c8a4ba34858f9","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.94.tgz","fileCount":289,"integrity":"sha512-iwZsD+dn1QxWTt5dn0e67urlCH9h8hq5VbTM2uxfBPwT/614k6ggzTT2MompfD/ZYhHw1R0QhlXipFxSRaQgMA==","signatures":[{"sig":"MEQCIEISeTwvS1yl+myLHFlmvwjaVw/GsyCQGh0mgNJ0m+eIAiAU8ySSTjt0Dn7f/voAfZpivjHuXZJKi2KI9UVl+KwJ1Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCo4e4saphGC/yY2luf4PcDtaI6qrohugzx40hbYqyDYQIhAKJJh+gSZNJE9mLM0hKD9mxkgcxdqyQ5shRsqvGcGcWX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.94","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":918798},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"7e8b9eaf891f3ddea6d7c6fe4433c80d9d0b7f87","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest, and docs/adopting/requirements.md carries the block to paste.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.94_1789997758051_0.9425667531008368","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.95":{"name":"@hydranium/protocol","version":"1.0.0-next.95","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.95","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"8e6f3363dbe09c98408004b39d348d13ae1a343f","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.95.tgz","fileCount":289,"integrity":"sha512-hazP6w80oEtmUm2H5aDQaHxQyH8g5bUSol79FBOSJ7AlaSMAYIJVrpdcLVNXmXCDS8wxy9H0x4ieuNdoaTQrhA==","signatures":[{"sig":"MEYCIQDDBWj8+46tXuOc68qhJBysydMpdGD3dgryRbJU7vBA1wIhAMC+H18+BYVf4CBFcY9Q1BqLVKSxbYJc2kHZwpdk14RR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDcmiXvNRbwaQefHp2gn9849FSQGaKFatWG/pFebo3UMgIgO+/CiNE4L1rF+pDmeaXivVaAiwadIT+/d2qD+jKHRDo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.95","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":918798},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"4192a93d475509f570e4130a8b4904ce62dcd5cb","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest, and docs/adopting/requirements.md carries the block to paste.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.95_1790001365892_0.5854813735257414","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.96":{"name":"@hydranium/protocol","version":"1.0.0-next.96","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.96","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"69c7018b1cca90363e50bb972f75169671808666","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.96.tgz","fileCount":289,"integrity":"sha512-d5bIZEff1bN3l2YdOCVbR1kDfWB8W+Kzvwo66IlDviqUJZqKWyX5xxoL8IHyptSDUUf3U9oWBx5Ack/paawpdw==","signatures":[{"sig":"MEUCIQCAiwgj0UcoeMjtWoyt0imtwEKSj3e5OV9EDmhD2m3i6wIgZBlazBNHO9sfgkdToymf2KPAhrv83ud8IJN83iRuz9o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCrf+aKjD2Rx0wLB9RWUg1U+E1Z7U6X+mrDSeXX9QIYQAIhAOlu7MPh1x7ctzQOCymw8KWDVNA0x344aOlInFI4g2QJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.96","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":918798},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"bbaae7432df9468cb7621b2b020ceecf28802a8c","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest, and docs/adopting/requirements.md carries the block to paste.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.96_1790186269006_0.27990999668390626","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.97":{"name":"@hydranium/protocol","version":"1.0.0-next.97","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.97","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"01406589ca5db446ac588076e80b89daa9c7bbd7","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.97.tgz","fileCount":289,"integrity":"sha512-IlZuOLF79itW7UQIjt+dkZmPZQ5L02vfi5LfgMVoRMLu76Mxj5lN+Oo2UVft9Rda9r5vv5rtx6TcTs9FxNMPlA==","signatures":[{"sig":"MEYCIQDeKfa7750xWSROAckBrgHNn57OiGTbHJ+8QIG3O0PRkQIhALrYEfW6i1ka4K8oF3suXBYvNLHCgHEbcxiSCAdCF+e0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQC4x2FCHgkSk1KD7y9yKrmifDTe/JLizVAsogNe4UaZmgIhAOC4YaLPqHYQBHMKLCGvyYBiXo+dJBbMGC1RLykHqri1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.97","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":918798},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"140f23ddeb6416eb5e00cdc3885da83676a7c778","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest, and docs/adopting/requirements.md carries the block to paste.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.97_1790186676435_0.34588128624181813","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.98":{"name":"@hydranium/protocol","version":"1.0.0-next.98","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.98","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"3adb2ba60ed41bd38ccde9b6e4a19ae8f2db9880","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.98.tgz","fileCount":289,"integrity":"sha512-kopyF5MRQfBg5Y/RpIGplYZF9OIC/koiT/J1YvGw7QHkFXviNqKCw2HQvGbd+4DVMq/W9KBUOqEVKWLcZfVq8w==","signatures":[{"sig":"MEYCIQC4kE5o3TmqQAirGXwZHWBMxGgc2OyICeMZbWisgWZeYgIhAJ/euLWBZScbVFEB7LXyUTxiXawUggQ9dTBIM99JEkYt","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQC0Gpg0E8CnYn0vfeZiLznMaPgiHGGeVFUiIzfZhTSo7gIhALCNMaAUPyeCHQkqLcL9n36BoAETjm5J79nLvnboyi5M","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.98","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":920193},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"b3e6b749d5fb8f6f44f4f242877ede97ff9b8707","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest, and docs/adopting/requirements.md carries the block to paste.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.98_1790187338548_0.5825658632976687","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.103":{"name":"@hydranium/protocol","version":"1.0.0-next.103","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.103","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"5114cbd6d0a0f3e492641c322bce7b348f5119e5","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.103.tgz","fileCount":289,"integrity":"sha512-YiB1HVihZx65v8pWJ8OLg4ChV/ohbZppRDXnaP+qfvE5UwjOPSAc72eRFqoZsMo++l9vB4lwiFGKmlu5a8mQPA==","signatures":[{"sig":"MEUCIQCzLSfexl8xxO0jpqPjZWTn8s23b6a//Clgy4sKuAlJiwIgfT9KDjhL5F4zhLOQdTcl6OAacCarxbG1oWlJT6PnAPA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQD3B+hBjAYiEM8BvVEByl2p4ntvKg+YOQP7FgD9O5orogIhAO+gYwsyrP2QQUxP9Uf71fNdXCXqrFTQsHcod3L3mwdo","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.103","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":946798},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"1b5fa3a4791e3d999e7b3b36db935365b78127b6","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest, and docs/adopting/requirements.md carries the block to paste.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.103_1790188624177_0.2225605839262259","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.104":{"name":"@hydranium/protocol","version":"1.0.0-next.104","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.104","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"611d116e8bc4be5257a8237d8d16b9e07ff03591","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.104.tgz","fileCount":289,"integrity":"sha512-Socmgf5atgeA6BefQr7omMwub1S0hOrjUhGg/tuMqPoSU1c3OFheBiFPupIS1zL8b2wE221BUY8qTKWD6+C1Dw==","signatures":[{"sig":"MEYCIQCa4/IJ+0ldk+8ECYDaS3WoVK2ynQzcKpxfYBdKe9s9wQIhAMvH/mYJ6MQnK3GJdJYFFK4o99jJypmM/MAC9FES7xkQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCUFHHyW33WVv2eiVZQIUCP2WWLCUM65A3wqWNSf6y8SgIgSjIhHuTKL4G4ozR8YAH+mq6f4OBG16udb5agWs1CG4s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.104","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":946798},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"cb070e687e0080403741b70131c33b6bfd2ad561","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest, and docs/adopting/requirements.md carries the block to paste.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.104_1790189175634_0.4902586857388478","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.105":{"name":"@hydranium/protocol","version":"1.0.0-next.105","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.105","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"930ef9a0dc0761ccd9804276c057821e7272bd04","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.105.tgz","fileCount":289,"integrity":"sha512-7xAomthjqzgYhnI+b8M8/CU08fwSt82mMV5muiOtTHkQlCtLp9QZFmRT1gvsrmOdpfuPwKpnL7DUILiDZ2aMAg==","signatures":[{"sig":"MEQCIHsgEUZhPM2vju+9Nd+ELNX3CniVExKRcZJmcLen8XPHAiBFM5b6NZ5xciN5HGX4RhqblcLosBQ3mqPSnVsCou6IMQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDxhRZmn2p/VcpBr6mYT96mlcw4hS8RmcwCltb9bJHwTwIhAOcH+R8LPVSJF4zLX8q16e21V9kG9MvfUlRNv1J8DYQb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.105","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":946798},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"1f038ff518ccc383ab0487c5d29315b803c8cff2","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest, and docs/adopting/requirements.md carries the block to paste.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.105_1790189746284_0.4840852317760591","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.106":{"name":"@hydranium/protocol","version":"1.0.0-next.106","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.106","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"f07fd78919eda5915a0aa3bf50f7d96791b4f05e","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.106.tgz","fileCount":289,"integrity":"sha512-mSzDQc5obE0wuu90ueoATje27vaXz5uFd+hLuh/HV/iUylB3UZbgILkHwQBVvkE7WA3EhLUVahVEC7SD1lkJVQ==","signatures":[{"sig":"MEUCIQCk7QrK4gU9fuiFkYrLhoiObR1hAIoKK6B/x2/Ap1sGdgIgGGVBhpeGbveVX/sZE0xTRb9weUQtQaPEmHuGw9Z9FlY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIGbYsGjVeHtJE9FRcwQQuWkg5fMcQnBitE//8TfaZXu6AiEAh3byMwTXIhRUYvpmBTLdW15EJ3rZkBRMO2GyV45sn/k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.106","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":946798},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"0b4ba0bfb1f64ffc97300019781a001d7c7c41a4","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest, and docs/adopting/requirements.md carries the block to paste.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.106_1790192815606_0.5287512975918565","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.107":{"name":"@hydranium/protocol","version":"1.0.0-next.107","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.107","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"33c31f240c3c104967bf50e0cafcc1a989f9d125","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.107.tgz","fileCount":289,"integrity":"sha512-kfXprYZoRjoJ0FWiLY8xUJNwy6lthGPWDnJILtgrwZDqOqUphJ68nQ5kvORQXoiXoKUDOLofpjY7bpDtDPfoEg==","signatures":[{"sig":"MEYCIQDCgNkfmtkQ9yvBEUehPgwlQA1Zs6IwnQxZY65kKMIQBAIhAMt6Kj+ESajQV+psY/8AI3Cb06hoWDp4KRazqEgiIyIC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCdEK2YhweLXZZEHuTWOcbCu/6JFlmkYsrMybeE53lL7QIgH+zPCle00+Xhctckr/7VbLqT89Sz+4nw7ycjn4qCFT8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.107","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":946798},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"bb529cf424502390902ae349b301179ebb937ea8","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest, and docs/adopting/requirements.md carries the block to paste.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.107_1790195363084_0.5388288685178697","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.109":{"name":"@hydranium/protocol","version":"1.0.0-next.109","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.109","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"6a70b658394330156cffc21cc4fd003f7d437c25","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.109.tgz","fileCount":289,"integrity":"sha512-H0LZo7zxZOul1Yq4B9CwddaxGiOhFkje5KeulRlpieq/t6EhgPd8sHo0SxuonnzIaLfDDDxB73AUGo52C59Y5g==","signatures":[{"sig":"MEUCIQCGtbQM3DZq3pbPpszWjEe/M71sv+clOKWe/Ot4+fhGwAIgUUW1p3DKIPPkDbnspheA2JERQ6U1cf5YnekcUChYx8A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDplYh1syauHo4tmev1XrlGvFapPOTiXOJu9ZiT6JkhmQIgeLiWOd35eAz4wTicCBd2xiSEytipH967+MKqmumP3zs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.109","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":950197},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"137baafcb95589fab3a54a6645803d387b81e8a0","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest, and docs/adopting/requirements.md carries the block to paste.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.109_1790204437073_0.8460841261714513","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.111":{"name":"@hydranium/protocol","version":"1.0.0-next.111","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.111","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"86c2a21126f64e693c0f5389dd1d3f01ae8c6cdb","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.111.tgz","fileCount":289,"integrity":"sha512-TnTInfagPvYjlR12NwPyuXtAWdadnc0GP/wYRkI1h/M/uuI41Ux71U7xd5qYP63VRkfesZIMTpU9whVQ19sseQ==","signatures":[{"sig":"MEUCIQDPWEdeko1GOXIlEOprFH7qIuPIHdA1mpSKpiHPMFWNgAIgVR+n97y90BTlLfvT7dOWSzZmMNalHekgzg1I6JMfbAA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIAW5pMPH+GqVNrIs87trKskSJkb6T6OXdDrOyrlk+rS0AiAhxqhFS+dTIRM4jwimA3ZBN0ZIJItmVje5YWMlvW1FRQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.111","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":950197},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"8add1d2ad3dbaeeff870b21f3bcf13361a37e28b","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest, and docs/adopting/requirements.md carries the block to paste.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.111_1790256824589_0.22104446149277424","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.112":{"name":"@hydranium/protocol","version":"1.0.0-next.112","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.112","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"79d0aea17c9c1afb5b1330593e35896cfc49e88c","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.112.tgz","fileCount":289,"integrity":"sha512-gVgYiwIrwupnvxaKx5sIXI96ZSTTnvJBo+0NF7avT/5HVlh3PZfCRPmIXu6y7mKiyS8eKcB0vKXU1B2JBINP9g==","signatures":[{"sig":"MEUCIQDZItOC5iL3KcVlDksqnaIzlQgStjGHx395G1nwq7UYzgIgC3Jv1CL/D6I+Tjak/tvSYg+b5U+5ZCslXHDdUpQwmec=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQC/N22kxiBLgbmKzdRhYaCn322N28deyqx9lGX30JHY3wIhAOSoibDStMBnjKHn/f/WGqtkuT3TTEP9cJfoIjc0zdl4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.112","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":950557},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"f1f9ddb7e3bd21283dd982005add36ac4ad39859","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest, and docs/adopting/requirements.md carries the block to paste.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.112_1790260413031_0.6573426814904009","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.113":{"name":"@hydranium/protocol","version":"1.0.0-next.113","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.113","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"a6e1d6f41ed6238e44f9e7f82f2cbb0c6ce869f2","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.113.tgz","fileCount":289,"integrity":"sha512-bLuYPS9L84HqpMeKEM+gwRa6yMMMBIg9hTS2UBWzuWC4QpIk44VCMLfxHavdYR8tkDEn83SyNZF0CGT2l+Iv7w==","signatures":[{"sig":"MEUCIHhEFewq9Um8da1Zlml4GN105XAeHofHj2pfNQBRyxjfAiEAkwjid8Mj6VRLdmvkKDfXpmALMj4deA4tyr9tCms/2rs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCICOXt9HqUlPt03bvtFlslAmZAQ+rn2xj8AlRrgM0vXItAiA2cWGhmWG/HXW5wIjR6DVA+lsBzJIYi7thYxmbH4TzoA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.113","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":953759},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"c27a580af54cc7f72ea5f6363e3af6b86adb08f2","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest, and docs/adopting/requirements.md carries the block to paste.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.113_1790264411833_0.8804438489101043","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.114":{"name":"@hydranium/protocol","version":"1.0.0-next.114","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.114","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"7b4b0eaf6a73cfed9dd547c4f80615646a3d1f5b","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.114.tgz","fileCount":289,"integrity":"sha512-qvZ2yJMNRVDvkeuAPFzjSXZTF1zFSV3AK3N21fbIgSIWhm1dJpGCcMfvWPrf4L72e55IlgI/Z9MHS4gCzzg0hg==","signatures":[{"sig":"MEUCICMARhrsAxmLRYo/i80SttwlU3z5C9JBTmhVMS8jY4yXAiEA78SPW4xpEM31B18GI3xzGV9/cAMNLriM6c4fKTFN7ow=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIAt7Jw0bHgBY5Bv/klEbadtPA9EgkriMTcIXcXhHPInNAiAoC3+djgWCIrtu2MyGYSMRUEr0gulSyC8j1JOmMaDTeQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.114","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":953759},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"212f8bb8490512f4e60a1f153659efeb7b399d53","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest, and docs/adopting/requirements.md carries the block to paste.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.114_1790268429899_0.7509496468013352","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.115":{"name":"@hydranium/protocol","version":"1.0.0-next.115","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.115","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"90fc45274240384598b98b6cb9fb0710efbff095","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.115.tgz","fileCount":289,"integrity":"sha512-1k7ATv5H9lyXIrJEVacAWgiGDBGqGTE4Gg87JD09GL+ZCaDQ7JraMwyAXdnDmXpj1bet5q+G8l27eYZGThuYfA==","signatures":[{"sig":"MEQCIGKGmkPGtQKl8ib/u+7z3w/44U2QONm5gEynuDKmqbGFAiANRJIr7eUw5d3rj24mta5aF8dzJ+bn3+jHdPqOO+hw+A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCY0OBpKmG9xFv9qtxy8sUl5RwCZLxRt610xJSwVkidrQIhAM05kPF32Ea0UXN77t5mv1cwwDAGYsrxD2DGrEW9zn5D","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.115","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":953759},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"eeaf6fbeb80edb859679b15b636e83233e989b9e","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest, and docs/adopting/requirements.md carries the block to paste.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.115_1790286401137_0.5727151204076837","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.117":{"name":"@hydranium/protocol","version":"1.0.0-next.117","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.117","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"eee2ccabf8261a85e8d540362629b8b8623913f7","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.117.tgz","fileCount":289,"integrity":"sha512-d9lwvkE8hGcon2aPvZ179KCwpTMDgJYb55+pURO5elPvHIBioMjdeLOkxZnTZLBqPYJ32XUVHivU7jKkebXvSQ==","signatures":[{"sig":"MEUCIQC4szTkvGgJSALt0nXR3GClIuDbSMvLh5KhKkW9/T6EPAIgbgpw3MrQXNa/f81jQsVLlVWykpHSZfts248+nuVpDrY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIBK7uMs++k2A3QYNXniYfll4AaBuF/No+G/nZ02gY2GEAiEAtZvcx18wqsDjufQ81mGGBlfRkYu8+XckFeKeQJyqY1E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.117","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":953759},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"45a1a35a68595f731aac6bd16d109d3226827521","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest, and docs/adopting/requirements.md carries the block to paste.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.117_1790631855403_0.7406179424375026","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.123":{"name":"@hydranium/protocol","version":"1.0.0-next.123","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.123","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"59b86ac7e55fbcbec0c0ea1e54626ce631631356","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.123.tgz","fileCount":284,"integrity":"sha512-6IovnnxN8VT1QumYjQIM6Irz2v6Siy4s7SHLfpjBc5TXj3p0iBVWuEunyLvbSx7qmqG8ySQgc3jU9Rwq0639OA==","signatures":[{"sig":"MEYCIQCKOtGbC5Bdfl4eCHYAfpZkHWqkzSyojrAzF1Q5NEHzowIhANxXYnz6oK1m94t5idzpF3vicCDMhc4/xyru4lsNrzmd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIERGK1PmovNBG5CPHq9gARuRGCiodIm9ZGj9Ii9C5hBmAiEA1tJdwBGTrGBUOHSuaZBKIGuRcdRq+qJ2+b+dztu7WZQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.123","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":995339},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"6b7cd61eba0925df8150ed0a438804dc43c24319","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest, and docs/adopting/requirements.md carries the block to paste.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.123_1790633357687_0.8583214137846575","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.127":{"name":"@hydranium/protocol","version":"1.0.0-next.127","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.127","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"da134ed467885206cac68924ebcd8c026996fe3e","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.127.tgz","fileCount":294,"integrity":"sha512-/e8Fnsr7txN13jKLi5QIv5mnANp14jJiq18goqW4oJSL2GTEpSEBU+9CPQD12QS0Wst957D7QTwhIXwCtF+HfA==","signatures":[{"sig":"MEUCIGNPKa8s4Jp7bxKWWxX1P797W870MQoo9jB8JsMnS+hMAiEA2bCHpi4nkXICEj5AVQEotPbCckhAYKMROPtrpeAFU7M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIBiOmw5Agd3GOY3OaFE29JDarY573t82ztxAR9t7xpDPAiEA8/sJxQsQ/BeUw4Zjf/sSMeTRcHxlzR+KYuWhbVlIltc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.127","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1073379},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"11cf902498b55aea98fb0c9fd0cc8788c7518539","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest, and docs/adopting/requirements.md carries the block to paste.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.127_1790634920224_0.2498672045765844","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.132":{"name":"@hydranium/protocol","version":"1.0.0-next.132","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.132","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"2edac82676bf4e7389088be9db8616ee38d42bf5","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.132.tgz","fileCount":294,"integrity":"sha512-rIytkiOSXtHow99W6F74D1ep9/t4C0mCkj39yqQNuA+saU+b8hHf0D3iYNYLL82dAYJW2ETDG6iG+YhPEqC0fg==","signatures":[{"sig":"MEUCIAUn/FRagf87MrwZCVWYlQlemluvEtHQmVnVPkoSeOk8AiEAmd6L6ybFLdItBEyN5vYP4MSjRXaqJshDPM/RzwrMlZk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCma1/RWc09Y/OlvMkxILxBscs84e+bSLFrCv2uX0uuvAIgbr0HkRPGg+ZaGvR3aUv41MGwElyB+ADHKlMHjwZYjWg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.132","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1073379},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"27dbc2470c7b60e0097425e4c4df6922ad9a22bb","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest, and docs/adopting/requirements.md carries the block to paste.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.132_1790635636256_0.9432903005919151","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.135":{"name":"@hydranium/protocol","version":"1.0.0-next.135","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.135","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"d8caa8395dbe665937961bd1ec3aa2f194c7beb9","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.135.tgz","fileCount":294,"integrity":"sha512-WeXtKdR7NgQa+YbB1yiMaNgd+UNTVrFinvEmPeimmwgCW+jg7r3i75yM9HoWi+qCQ3RLUrsi52NXHMX/22Y/PA==","signatures":[{"sig":"MEYCIQCZ8ppuWuwHaRuDjYS0tSMO1jqZcU21cXRK9Dtb0TsEAAIhANSdNlX8EWkdac0UGQgSW5GcBb5G6YcQfUhK5qJaJKZ+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCICu3DvHf5BqfUvDSveS2Yw3FmGaYa31kLCP+wqieMF4DAiBlgiBR0M6kffRn2uBGmUjt3AiNBdDnGUFGA1yLydD5dw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.135","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1087464},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"cf87c80702f9ec9b1c58bc1f3499cc87a8bd3ef4","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest, and docs/adopting/requirements.md carries the block to paste.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.135_1790636166509_0.6925749939969206","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.140":{"name":"@hydranium/protocol","version":"1.0.0-next.140","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.140","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"cc4793cb684645ebedc59432ca756d452e29d361","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.140.tgz","fileCount":294,"integrity":"sha512-fGIEoq/F/FGe2p6TE6mTAHSiU9tiL9cuzgKwIZic32xQDc2j2SOMEVkxa0T/RxaCNyCDJNK+WTHA5p/fQpmtCw==","signatures":[{"sig":"MEYCIQDutK9IzatSWi/M3zLGjSIsPc9aplr/4H9+au1WnBHwIgIhAMKgKB/cAKGXFT1CQNFAn76HK59mKRuN9ISjxkREBm39","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIDmzlFZlum7Xl9Q1i9keT9GIYifOImmPi8Kpk503xAcfAiEA3F/2iJpEn3xkGcbyxAazShvvb3wSZAYFMGVoqLIds88=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.140","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1090162},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"427719cb511b0dcc901e7813ba7fde37573c6a7a","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest, and docs/adopting/requirements.md carries the block to paste.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.140_1790636677630_0.5627011754155422","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.148":{"name":"@hydranium/protocol","version":"1.0.0-next.148","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.148","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"548c81b7f90b7ccbb429523219c8e5d7c2a3341c","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.148.tgz","fileCount":294,"integrity":"sha512-x+VhAQg7C0YknyyC5Ao7rgtH+Xpg9vReQ2nhgB5Fbs0NKHO/zwpNUAsSLGuWkH1yWHA2FlyGCOYc5+apAfW/tg==","signatures":[{"sig":"MEQCIBYht/i0St8oQo1YQpl0HM7iVJ/oITCgjulPSGek2yYfAiBRp/3YN52eruekfbfDzhE2rT6qCjATYQMtBNVNokfmxg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCICe8rXSV32uwp2Rk9Yx5QHF3ndk3fStV75EuCkkPRsNgAiEA/loczOaXm/AMYYfcz+vQDsBwuyRbzg9XxUowzKEjEvk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.148","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1093670},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"9a0f51ac8c2a36bf898655aec9bc3abff8bab721","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest, and docs/adopting/requirements.md carries the block to paste.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.148_1790637679322_0.2820471374270479","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.155":{"name":"@hydranium/protocol","version":"1.0.0-next.155","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.155","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"064ec8d3957e91c18d7dd661cc6d0d2f4551a402","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.155.tgz","fileCount":294,"integrity":"sha512-4ZljseUeZWQ3XkFXYKWHth+YnTEpNQ+UEntF8pZ9HUy6TuTKYBiePZA+MgOBgD4WayBD15NIaKzVOeoovhxegw==","signatures":[{"sig":"MEUCIQCGClfcvM+TA8w13gTIKQCsa88kKBjAipRaC+tNXVxVGgIgLSb8K/bc0awSEfRw3wMzPdagPTd2dRZl57AYNtrC6JU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDY5JjxSDAZeanKm+DHNcCSEZ82DkQqTRUN06xBKsYH0AIhANhl5kXdi/ECh3b3LPVnv2Uy29W6+RNEM2wlS6qyrLg2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.155","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1150595},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"2cb4a686814289a2d90c73f977358bd4c43f39b3","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest, and docs/adopting/requirements.md carries the block to paste.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.155_1790638702895_0.7126697784631917","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.157":{"name":"@hydranium/protocol","version":"1.0.0-next.157","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.157","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"955721d66307807a5aa0d4ae16aec96c0cb1edaf","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.157.tgz","fileCount":294,"integrity":"sha512-bgrV9H7V3gUr3jAKpokAgevEBuvqdxnluFDFeW2GTSNrzF/GzD/WzHsl3KCQgpxKLyPXAC1V1xTQXLhQHE7plA==","signatures":[{"sig":"MEQCIHQ7ASxlEDOkIp+C1ceEwQ+d4ke1EtBXpHSFbvgDZJekAiALGfUTVtux6doVE1pr3QfkETjXOVbK5RSWzP3Yu2u2Ww==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIA2RUWLrjf0iCRavwVqLcH4UKcPlWtFnv8DXzg3QBKjEAiA3yPcgC1OfJR26so2+23LNqh8sGGcUAEYN+211twit1Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.157","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1150595},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"eae73ff47f93d344488d34b082f92732c93ad31c","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest, and docs/adopting/requirements.md carries the block to paste.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.157_1790639243137_0.2876812153188506","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.158":{"name":"@hydranium/protocol","version":"1.0.0-next.158","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.158","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"2e3de632f7df54a73b02bf2d303e7870482ef549","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.158.tgz","fileCount":294,"integrity":"sha512-kxmYSOdrS+7rU7rUey86Ky+eFM5UJzcJZ+GxjA23Ipc3bUJiuJLRONxR/5IUoRVH2vs25PVmEZF9fHxR3ct0xw==","signatures":[{"sig":"MEYCIQDEZDmvVS+OcH1jVOa7PsyCECexAtoP/KYas6p6nvIN0gIhAL5qw0fWYJWolMCF200lPgsIihhailt/k1z9P09w6EKP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQD4BPQaM46wD5h1870mkqEl4K6jKsc8aPh+/2zdqs4b1gIhANIpX32h9tbC2/nwnmEFbmnGwmirtMpONvfxZuO3HSPt","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.158","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1150595},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"1ee20631bc2bc0164de8f4b0fec71bbf78b0a9c2","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest, and docs/adopting/requirements.md carries the block to paste.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.158_1790757992696_0.260230627252962","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.160":{"name":"@hydranium/protocol","version":"1.0.0-next.160","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.160","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"4670525e916e2b86d61c43e4343d97fddb635db0","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.160.tgz","fileCount":294,"integrity":"sha512-+8y1td8ZtvwbTu0YI/JFjhtDH2c2OFOB9b/TAU8MtlKlpXVYE50S+l9vorEDmpbZ+aGvHssqJkr8c8DYJSIPeQ==","signatures":[{"sig":"MEYCIQCiAq+j0ayndil9Tn9DO+8BTXD5xnVtI52w2vRGlW4UBQIhAM25vrW3Y+apTrPlt8cQWj/bezu/v73LHqwgQPXSwHDj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCID/e65ay4fn46zvY0ZRe8qiqntaTkyPcTmeeb19UskFKAiBTO6B69wodcGPM+huYCk1HJrSSh1fj31hBjkkXI8qXrQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.160","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1150595},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"6cd23686acadcaf2dbb4ea757efb4ce32bacf77d","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest, and docs/adopting/requirements.md carries the block to paste.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.160_1790762443707_0.07949124699908117","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.168":{"name":"@hydranium/protocol","version":"1.0.0-next.168","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.168","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"2fadd05670a03a0f2345c4099c124aba1a7cd010","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.168.tgz","fileCount":294,"integrity":"sha512-dJCANJo0p/VqEnUkv0QzEejoAZ8r5AcDTW8YVk5bX2Ma5XoSiKcAj8bW6KvoORspozaQhLFI0iAwuofKyDMC8w==","signatures":[{"sig":"MEUCICHmMB9610/AAeGUtqRUBo86qhHa+uV5pm9vjrzstmYZAiEAsgw0p8dL8R98FsIkh+IL3FbJ6ouMT73loShyOE8vjIQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIGpXfR1X9VX8FE/y2Qmifdgq2CCTHGIyPyulzT0Qj8U1AiEA8OU3hxy/qolM2V+CSGBkbw373iwys5Sf+JkjxbE+L+w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.168","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1153137},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"30b7b26e0bb67f2a7b372b5a62e83d45905d8663","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest, and docs/adopting/requirements.md carries the block to paste.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.168_1790777249414_0.6685027224792432","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.169":{"name":"@hydranium/protocol","version":"1.0.0-next.169","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.169","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"d1e84b8d7880d1704dd1ba1ca35e0dfdfc337c4e","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.169.tgz","fileCount":294,"integrity":"sha512-c9cndIuIWQN2L9+4cVbM1WJTDaz46t81cXHkZq29Z3v6mrL9JK5ha6xJhCNoENUCZGo3sHb83NjRrON93bPxQw==","signatures":[{"sig":"MEUCIQDOF36yLJkb9ngAQUUs5b+7x1iX49JvhsxZ0sAS/mxEsAIgPRo1tSo6wX1dH9C6QGFE6GTLZpu0Odzoh+tBwlqLFOc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCVfFYTwZ3XV5SsN4xl40LRqx7L4Agir8TSnIzczOLp7wIhANSiLwHF0w5fdeM7KPNXzt/yQ8VyunYRTU5aG7Ekt2Sa","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.169","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1153137},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"0a17cbf5e6bf32df0827e51ffbd602b4e722bf2c","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest, and docs/adopting/requirements.md carries the block to paste.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.169_1790783325799_0.5075987696552655","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.173":{"name":"@hydranium/protocol","version":"1.0.0-next.173","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.173","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"5870c0f3e7169c3dc67d2dbc016835d75442d0ea","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.173.tgz","fileCount":294,"integrity":"sha512-ALfNYTxTmsqY1RGGuBcbAY2W9i0VBNusKnV17r9fCfZGyn+jcGqChp/7SXCR3xAz7MlRJ7eK5ziygqAOyrlqTQ==","signatures":[{"sig":"MEYCIQClqxsGb0goQFKJ9JKyvIwEZJlozQrgJWlcx1t8FHsnGgIhAMEX1R+uwAgN6aiSe0amjG7mi876kJMqvKOgs2zIqH22","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCXVKexA7jO/Y84hLQKBjkn/J17jgpajXUvOMOg0IxrCgIgd84hEixHTksIspGOyV7n5/PLDxOU8pGoaDx5b3iUfEM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.173","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1153137},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"5bc225d4a40a2de4e9b175721db25ddb7e48c348","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest, and docs/adopting/requirements.md carries the block to paste.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.173_1790860728750_0.19846815158035525","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.174":{"name":"@hydranium/protocol","version":"1.0.0-next.174","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.174","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"6c986485932f7acb1d59326b6fc2f98ac61fc983","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.174.tgz","fileCount":294,"integrity":"sha512-nZBx4wZEKFwBnI4XQGr7Zaj/bkWFQt7ERPEPp1/7Q0E9C1UF1KsDRmVwKjrwQ6p81ikzMzWAM/Eus0rC6YKbBg==","signatures":[{"sig":"MEQCIDLQGafOEvtF4n1KKR6Wjj3+jxe+qDj/3WEgGta4uLN1AiBBpKmQVGC31E8ASgkezzHfBFhnqNVRZM+8BNCxzjBobg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIFO6kGboF0fkDOvjxESRJAY/fw3iWQ3SxhVGaZQ+Qn/ZAiAmTGDg3k2ctA8CwPGDI1TCFC3YGVIo+SOCt5UxU7etAw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.174","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1154688},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"58cc70efba83953130a58afc689770123cd9a73f","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest, and docs/adopting/requirements.md carries the block to paste.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.174_1790926725343_0.9846698685758468","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.175":{"name":"@hydranium/protocol","version":"1.0.0-next.175","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.175","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"caf62b5d1fa7c3d3e22ce957704e1a86edfce90e","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.175.tgz","fileCount":294,"integrity":"sha512-vLsGJawznDGKc5mau1Ip1vnc+HLVLnjBY2I2u2qfBV/Bmj31i795KGquiLBRGWQqSTx+nSJm5PRAKnNZbrlxDg==","signatures":[{"sig":"MEQCICS3MMAAscHTCghhdAIIRA6ph8hX+pnlFE/tJjbGoG0fAiAEn9np2si0hz/XQH0j21TOyxoYyW4drP/ozdiHUNtyAQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCioGicJZyYpadz/KjqpsQQ2y3KfknVPqloCJpUFB9BXwIhAKwrLgOLWurwt80Q+5wzSZ334ZmJgO9LQE0QDd8fdmgJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.175","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1154688},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"55d99da61a0fbe06d1225d170854d5d7ed7beb4c","scripts":{"lint":"eslint src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest, and docs/adopting/requirements.md carries the block to paste.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.175_1790927404959_0.6664193246235093","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.176":{"name":"@hydranium/protocol","version":"1.0.0-next.176","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.176","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"acf89ea03a8f9f21c083de17f091149d021f1954","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.176.tgz","fileCount":294,"integrity":"sha512-zvi6g3r++a90Eqwi2oiJDFK0MQY5Zs3o/cdKXx6LtzcGdK18n6pNupc+Hwwzz/KZFVJ8NEI/+ZaFB5F6UX5qXA==","signatures":[{"sig":"MEYCIQCNR5c+Py5opLe9l1uaVNEHepUtn2njR7Y7zmko79+jgwIhAK8DHp5sjNuosTcewrMJZKLLGVKAy5VQtftCANBrX+Hp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCIXSqPGzckrY4nYCt6wa1vupuJwnPq+dOjdAOvleI/BAIhAL/vjrRLl3o2KdwXBgSeZHeSy84YjqlPWm21FMX/zS+T","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.176","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1154868},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"f2701eb5d00f38595d2099980346074d70ce4ee8","scripts":{"lint":"oxlint --format stylish --config ../../oxlint.config.cjs src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest, and docs/adopting/requirements.md carries the block to paste.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.176_1790935650460_0.08535987551818569","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.177":{"name":"@hydranium/protocol","version":"1.0.0-next.177","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.177","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"6bbc079991ca45a8c01691ba6e3386c3c65967b8","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.177.tgz","fileCount":294,"integrity":"sha512-YDgplyZIap3Q2kSi37c4lqWqo2NNSd7C91/HwFk0fp43wld+fHQplOJ0OHb6CuCGvh/YcD8tkvdCZR2UKU/8og==","signatures":[{"sig":"MEUCIQCysSMk7g5pMjGd+E+GjoPvBMNutYv4mODTWNXiGSk3CAIgEYwcMjKCoUBMI0MTaUem3yCbmggx640vXUB2oct97A4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDkEThBu4ZCfSJ95ks0Vf/3dJTZUsayUfztB8LUc2OaSAIgKnMVKHfszQAsnzqv401Tr9Y2FcYW917DjhT4H2W9amk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.177","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1154868},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"0bd2ddad64f34cf251c80077f0755b69eae738b9","scripts":{"lint":"oxlint --format stylish --config ../../oxlint.config.cjs src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^5.8.0","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest, and docs/adopting/requirements.md carries the block to paste.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.177_1790940568703_0.38425167266514415","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.179":{"name":"@hydranium/protocol","version":"1.0.0-next.179","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.179","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"2196270143571706fe46830d17f5e0960490a1ea","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.179.tgz","fileCount":294,"integrity":"sha512-DBqvsltZXnFicfkveUrMq2ej3298LwBAVl09/dAPXOjlPVOYL9yYIp2+Cn4LJHbTy/ZF4iHmOBefebV7rf0QJw==","signatures":[{"sig":"MEYCIQDdqxGkXk/PsopX9rRaqmoHaoj0GkE0zztt+M/2FlT3SQIhAIEa5gFLtaE4L5mjo7nrXhdYh/GC4ouLKJhzBuvH0spn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDGXmgqLCLnCNUTuozblsFYT3Hsun6HB8KD3FvNGMoJNgIhAILtvUWde35oaoiibPV8YcHtB7rT29XPoxOP/1OW7OB2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.179","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1154496},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"d98696eba7798a8392b601d15a66884764e59d9d","scripts":{"lint":"oxlint --format stylish --config ../../oxlint.config.cjs src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^7.0.2","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest, and docs/adopting/requirements.md carries the block to paste.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.179_1790943528470_0.1475363564198504","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.180":{"name":"@hydranium/protocol","version":"1.0.0-next.180","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.180","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"43d8dcb1b47035d08943e4613a7001f559d45d66","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.180.tgz","fileCount":294,"integrity":"sha512-QpDlPkQtKDLnbx5GFp0tSsFhLm1CRELPVYYD+SCBawz/H2DBB9UKwBTTaYuhuAbpNYqMAwzsnz3TPU6IxIxvzA==","signatures":[{"sig":"MEUCIQDzUdbyC1u6rAfgAEormcMGQwGRCXYrjr9WDG3aPvqAQwIgIjGRYaLb/XKBaPhghkc5m4vNtmiPK4Dx2NDSLphF2LE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCICWliINdJHWajB12D0nO1YKlnzULbAvpWUfonbrPGHXOAiAZWnWRKPjFHvjr8CnBR4OnkbIRuCXhwjaimEZutSDwNA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.180","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1154496},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"c9ca6f89b51f3cc93e1316bda7710f30c130187f","scripts":{"lint":"oxlint --format stylish --config ../../oxlint.config.cjs src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^7.0.2","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest, and docs/adopting/requirements.md carries the block to paste.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.180_1790944933184_0.38366764146592125","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.181":{"name":"@hydranium/protocol","version":"1.0.0-next.181","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.181","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"4ff098a8a095074febcb1bbb72736d3731e707b3","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.181.tgz","fileCount":294,"integrity":"sha512-m8fPcJ/QCChGsEZeC8UKDYO3BWn867vN7X8tapMEBLdAQvR1pN4jWi2cXAq8l9JrJ2cB7JmY6+VzJjYCHno1Sg==","signatures":[{"sig":"MEUCIHzulp4AKg7N7Zdw4tpJSUK2oC3DH7i8+L2AAagC2vdzAiEA17n+R3Kp3bA4EYtsyqnTSGrxW0LOTpISa3CU1eggnis=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIFw5wmpseHQNsWs+7Ijz3eorw67Em8DPmAsnAoRkTvRTAiEAoW7JOpURm93WJlRU2HzT0cox0WZuSkNgCoGgLcyneVI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.181","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1154496},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"2c50797f9ce8e785cd1f2269e6273bb4f6425662","scripts":{"lint":"oxlint --format stylish --config ../../oxlint.config.cjs src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.13.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^7.0.2","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest, and docs/adopting/requirements.md carries the block to paste.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.181_1790945698764_0.11815788271898242","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.183":{"name":"@hydranium/protocol","version":"1.0.0-next.183","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"author":{"name":"Hydranium Team"},"license":"MIT","_id":"@hydranium/protocol@1.0.0-next.183","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"8e6b719468b52defb1a554555db4a9aea81e3c0a","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.183.tgz","fileCount":294,"integrity":"sha512-xJ4AvE1nXJlYvjSRGXoDRbK0BhG/u1neeDU47oF/31+BxR1HQBB36DmYiV0kJfqdXrztmTPlvFg/Q4pPFpG+0A==","signatures":[{"sig":"MEYCIQCckxnKciQoTUC16ZaPvpAAtsIhJYIS4ZZxKA4Rg+IfpgIhANi6qto7otoxUvJF35pXfVLYjYaaQHKf9y7Kk0JZaIwP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDj/9gKEM1m7TPYk9AyEtjmB2S3gkY7S91NxbQ5/aulNwIhANur3wuniY/1YGlPX8e0J2C1zWiAs03BW8acKcxPZfay","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.183","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1154496},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"fe055eb63801c1e2f1943b55ff7821f2774b9ff7","scripts":{"lint":"oxlint --format stylish --config ../../oxlint.config.cjs src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"8922995d-075e-4f8c-9742-2c3c75aafa87"}},"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"sideEffects":false,"_nodeVersion":"22.18.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^7.0.2","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest, and docs/adopting/requirements.md carries the block to paste.","_npmOperationalInternal":{"tmp":"tmp/protocol_1.0.0-next.183_1790947806758_0.424483198263659","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-next.185":{"_id":"@hydranium/protocol@1.0.0-next.185","bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"dist":{"shasum":"9c326a4433ef8a02334e26b601ba3a0003c2c9ed","tarball":"https://registry.npmjs.org/@hydranium/protocol/-/protocol-1.0.0-next.185.tgz","fileCount":294,"integrity":"sha512-wXV77OtKl8eytpdw9jXJ4U02qpfGjMwtgzQrR4CPKulKbKWGqYCjI6ywa7mCT/lPtBI+LRbx8AIG666so1fxUg==","signatures":[{"sig":"MEYCIQC2MMtehvDCk22kTX9ft374xSi67RXNSz8SyiJgkYYzHgIhAPVDOfHKwslNRzBCJ164PmZsBAmTdmeP36Aav8wVZuq6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQC3EJ26fMplFKAIEB9jgN2qgaRxfuRf06e8+3KH2pz9ogIgQkvFnonOkGiN+vaXBNy4A4J2iK0+YozwjAkq5eI7ov0="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@hydranium%2fprotocol@1.0.0-next.185","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1154496},"main":"lib/index.js","name":"@hydranium/protocol","types":"lib/index.d.ts","author":{"name":"Hydranium Team"},"engines":{"node":">=22.13"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/data":{"types":"./lib/data/index.d.ts","default":"./lib/data/index.js"},"./messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./lib/client":{"types":"./lib/client/index.d.ts","default":"./lib/client/index.js"},"./lib/testing":{"types":"./lib/testing/index.d.ts","default":"./lib/testing/index.js"},"./lib/messages":{"types":"./lib/messages/index.d.ts","default":"./lib/messages/index.js"},"./testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"},"./lib/testing/node":{"types":"./lib/testing/node/index.d.ts","default":"./lib/testing/node/index.js"}},"gitHead":"0c1f5de214bdd827a96cf271263260f8fb9759d3","license":"MIT","scripts":{"lint":"oxlint --format stylish --config ../../oxlint.config.cjs src test --max-warnings 0","test":"npm run typecheck:test && vitest run","build":"tsc -b","clean":"rimraf lib tsconfig.tsbuildinfo","watch":"tsc -b -w --preserveWatchOutput","prepack":"node -e \"const m=require('./package.json'),fs=require('node:fs');const missing=[m.main,...Object.values(m.bin||{})].filter(entry=>entry&&!fs.existsSync(entry));if(missing.length){console.error('prepack '+m.name+': not built ('+missing.join(', ')+' missing). Run the build before packing: a files entry that matches nothing is skipped silently, so the tarball would ship src only.');process.exit(1);}\"","typecheck:test":"tsc --noEmit -p tsconfig.test.json"},"version":"1.0.0-next.185","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"8922995d-075e-4f8c-9742-2c3c75aafa87"}},"homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"//prepack":"The publish guard, and it deliberately is NOT a `prepare`: npm runs a workspace `prepare` BEFORE the root `postinstall` that applies patches/vscode-jsonrpc+9.0.1.patch, so building there fails on a cold clone and npm rolls the entire install back. `prepack` runs only when a tarball is made (`npm pack`, `npm publish`) and never on install, so it cannot break the install it has no business touching. It FAILS rather than rebuilds, because the rebuild is exactly the part that ordering defeats. What it defends against: `files` lists `lib`, `lib` is gitignored, and a `files` entry matching nothing is skipped SILENTLY — so `npm publish` from an unbuilt tree emits a tarball of `src` and nothing else, with no error.","repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"_npmVersion":"11.15.0","description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","directories":{},"maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"sideEffects":false,"_nodeVersion":"22.18.0","dependencies":{"fast-json-patch":"^3.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","fast-check":"^3.23.2","typescript":"^7.0.2","vscode-jsonrpc":"9.0.1"},"peerDependencies":{"vscode-jsonrpc":"9.0.1"},"//peerDependencies":"`vscode-jsonrpc` is EXACT rather than a range, because it is one link of an atomic chain with no independently movable link: `vscode-languageserver-protocol` depends on it at exactly 9.0.1, so any other value an adopter supplies is a SECOND physical copy rather than an upgrade. This wire stack breaks on copy identity rather than on structure — `ParameterStructures.auto` is a singleton compared by `===` in connection.js, so a request type built by one copy and sent over a connection owned by the other throws `Unknown parameter structure auto`. A caret or union range was rejected because npm then resolves a `vscode-jsonrpc@8.2.0` tree SILENTLY, with no diagnostic at all, and the failure surfaces only later at server init. Exact does not fail the install either — npm downgrades an unsatisfiable peer to a warning — but it is a NAMED ERESOLVE warning printing the required version beside the found one, and a hard error for anyone installing with `--strict-peer-deps`. It does NOT prevent a NESTED copy — `@eclipse-glsp/*` carries its own exact `vscode-jsonrpc@8.2.0` dependency and root `overrides` do not ship — so a consumer of the GLSP head must pin the chain in its own manifest, and docs/adopting/requirements.md carries the block to paste.","_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/protocol_1.0.0-next.185_1790957344294_0.28647003723690934"}}},"time":{"created":"2026-09-08T23:04:40.667Z","modified":"2026-10-02T16:09:04.696Z","1.0.0-next.4":"2026-09-08T23:04:41.024Z","1.0.0-next.5":"2026-09-08T23:47:20.916Z","1.0.0-next.6":"2026-09-09T09:18:26.884Z","1.0.0-next.7":"2026-09-09T11:36:33.109Z","1.0.0-next.8":"2026-09-09T11:41:49.218Z","1.0.0-next.9":"2026-09-09T12:51:41.608Z","1.0.0-next.10":"2026-09-09T14:09:39.268Z","1.0.0-next.11":"2026-09-09T14:23:52.160Z","1.0.0-next.12":"2026-09-09T16:01:04.946Z","1.0.0-next.13":"2026-09-10T08:12:15.868Z","1.0.0-next.14":"2026-09-10T09:27:04.046Z","1.0.0-next.15":"2026-09-10T09:34:15.234Z","1.0.0-next.16":"2026-09-10T09:52:56.776Z","1.0.0-next.17":"2026-09-10T10:48:28.535Z","1.0.0-next.18":"2026-09-10T11:05:59.281Z","1.0.0-next.19":"2026-09-10T13:32:22.494Z","1.0.0-next.22":"2026-09-10T20:30:43.590Z","1.0.0-next.23":"2026-09-10T20:47:40.445Z","1.0.0-next.24":"2026-09-10T21:02:00.133Z","1.0.0-next.25":"2026-09-10T21:20:35.386Z","1.0.0-next.27":"2026-09-10T21:41:23.622Z","1.0.0-next.28":"2026-09-10T21:56:48.496Z","1.0.0-next.29":"2026-09-10T22:40:09.587Z","1.0.0-next.30":"2026-09-10T22:54:58.518Z","1.0.0-next.31":"2026-09-10T23:10:48.224Z","1.0.0-next.32":"2026-09-10T23:26:53.117Z","1.0.0-next.33":"2026-09-10T23:54:20.480Z","1.0.0-next.34":"2026-09-10T23:59:45.916Z","1.0.0-next.35":"2026-09-11T07:14:31.643Z","1.0.0-next.36":"2026-09-11T07:26:12.065Z","1.0.0-next.37":"2026-09-11T07:34:02.300Z","1.0.0-next.38":"2026-09-11T07:45:18.184Z","1.0.0-next.39":"2026-09-11T08:01:36.001Z","1.0.0-next.40":"2026-09-11T08:51:12.197Z","1.0.0-next.42":"2026-09-11T10:45:12.827Z","1.0.0-next.44":"2026-09-11T12:00:52.116Z","1.0.0-next.45":"2026-09-11T12:35:05.747Z","1.0.0-next.46":"2026-09-11T13:05:13.744Z","1.0.0-next.49":"2026-09-15T11:58:40.287Z","1.0.0-next.50":"2026-09-15T12:36:05.037Z","1.0.0-next.51":"2026-09-15T12:59:58.850Z","1.0.0-next.52":"2026-09-15T14:58:10.751Z","1.0.0-next.55":"2026-09-16T12:56:09.969Z","1.0.0-next.57":"2026-09-16T15:34:01.522Z","1.0.0-next.58":"2026-09-16T15:42:02.600Z","1.0.0-next.60":"2026-09-17T08:49:13.538Z","1.0.0-next.61":"2026-09-17T11:08:07.076Z","1.0.0-next.62":"2026-09-17T13:15:38.144Z","1.0.0-next.63":"2026-09-17T13:23:12.816Z","1.0.0-next.66":"2026-09-17T21:27:59.695Z","1.0.0-next.67":"2026-09-18T07:55:43.018Z","1.0.0-next.70":"2026-09-18T11:03:11.172Z","1.0.0-next.71":"2026-09-18T11:18:07.517Z","1.0.0-next.72":"2026-09-18T12:42:12.802Z","1.0.0-next.74":"2026-09-18T14:24:01.266Z","1.0.0-next.75":"2026-09-18T15:10:53.693Z","1.0.0-next.76":"2026-09-18T20:58:31.610Z","1.0.0-next.77":"2026-09-18T21:57:45.088Z","1.0.0-next.79":"2026-09-20T15:02:24.927Z","1.0.0-next.85":"2026-09-20T21:23:55.982Z","1.0.0-next.86":"2026-09-21T07:14:47.871Z","1.0.0-next.88":"2026-09-21T08:37:39.124Z","1.0.0-next.90":"2026-09-21T10:22:21.292Z","1.0.0-next.91":"2026-09-21T10:35:41.026Z","1.0.0-next.92":"2026-09-21T12:15:12.391Z","1.0.0-next.93":"2026-09-21T13:16:51.107Z","1.0.0-next.94":"2026-09-21T13:35:58.191Z","1.0.0-next.95":"2026-09-21T14:36:05.990Z","1.0.0-next.96":"2026-09-23T17:57:49.134Z","1.0.0-next.97":"2026-09-23T18:04:36.571Z","1.0.0-next.98":"2026-09-23T18:15:38.694Z","1.0.0-next.103":"2026-09-23T18:37:04.295Z","1.0.0-next.104":"2026-09-23T18:46:15.721Z","1.0.0-next.105":"2026-09-23T18:55:46.388Z","1.0.0-next.106":"2026-09-23T19:46:55.696Z","1.0.0-next.107":"2026-09-23T20:29:23.185Z","1.0.0-next.109":"2026-09-23T23:00:37.233Z","1.0.0-next.111":"2026-09-24T13:33:44.673Z","1.0.0-next.112":"2026-09-24T14:33:33.145Z","1.0.0-next.113":"2026-09-24T15:40:11.919Z","1.0.0-next.114":"2026-09-24T16:47:10.024Z","1.0.0-next.115":"2026-09-24T21:46:41.247Z","1.0.0-next.117":"2026-09-28T21:44:15.498Z","1.0.0-next.123":"2026-09-28T22:09:17.805Z","1.0.0-next.127":"2026-09-28T22:35:20.318Z","1.0.0-next.132":"2026-09-28T22:47:16.368Z","1.0.0-next.135":"2026-09-28T22:56:06.657Z","1.0.0-next.140":"2026-09-28T23:04:37.766Z","1.0.0-next.148":"2026-09-28T23:21:19.458Z","1.0.0-next.155":"2026-09-28T23:38:23.003Z","1.0.0-next.157":"2026-09-28T23:47:23.271Z","1.0.0-next.158":"2026-09-30T08:46:32.905Z","1.0.0-next.160":"2026-09-30T10:00:43.813Z","1.0.0-next.168":"2026-09-30T14:07:29.500Z","1.0.0-next.169":"2026-09-30T15:48:45.893Z","1.0.0-next.173":"2026-10-01T13:18:48.865Z","1.0.0-next.174":"2026-10-02T07:38:45.540Z","1.0.0-next.175":"2026-10-02T07:50:05.075Z","1.0.0-next.176":"2026-10-02T10:07:30.586Z","1.0.0-next.177":"2026-10-02T11:29:28.790Z","1.0.0-next.179":"2026-10-02T12:18:48.585Z","1.0.0-next.180":"2026-10-02T12:42:13.292Z","1.0.0-next.181":"2026-10-02T12:54:58.882Z","1.0.0-next.183":"2026-10-02T13:30:06.860Z","1.0.0-next.185":"2026-10-02T16:09:04.388Z"},"bugs":{"url":"https://github.com/eclipse-emfcloud/hydranium/issues"},"author":{"name":"Hydranium Team"},"license":"MIT","homepage":"https://github.com/eclipse-emfcloud/hydranium/tree/main/packages/protocol","keywords":["hydranium","langium","language-server","lsp","rpc","transfer-model"],"repository":{"url":"git+https://github.com/eclipse-emfcloud/hydranium.git","type":"git","directory":"packages/protocol"},"description":"Generic, language-agnostic types, constants, and pure utilities for the hydranium framework.","maintainers":[{"name":"mfleck","email":"mfleck@eclipsesource.com"}],"readme":"# `@hydranium/protocol`\n\nGeneric, language-agnostic types, constants, and pure utilities for the\n[Hydranium](https://github.com/eclipse-emfcloud/hydranium) framework.\n\nThis package is the contract surface shared between hydranium servers and\ntheir clients. It contains:\n\n- Cross-reference and reference-resolution types.\n- The `TransferDocument<TTransfer, TDiagnostic>` transfer-document wrapper.\n- The generic `DataServerProtocol` and `DataClientProtocol` RPC interfaces.\n- Pure utility functions and version constants.\n\n**Dependency budget:** one runtime dependency, `fast-json-patch`. Anything\nheavier (transport, Inversify, Theia, Langium runtime) lives in consuming\npackages.\n\n## Install\n\n```bash\nnpm install @hydranium/protocol\n```\n\nThis is the only hydranium package a pure client needs. A form editor, a tree\nview or a code generator talking to the data head depends on this and on\n`vscode-jsonrpc` for the transport — never on `@hydranium/core`, which carries\nthe Langium runtime and does not bundle for a client.\n\n## The RPC pattern\n\nThe data head is not a bespoke wire format — it is a TypeScript interface, bound\non one side and proxied on the other. An adopter declares a contract `T`, binds\nit with `bindRpcMethods`, and consumes it with `createRpcProxy<T>`; nothing\nbetween the two is hand-written, and the compiler is what keeps the ends\nagreeing.\n\n```\n   adopter contract T                   adopter contract T\n        │                                     │\n        ▼                                     ▼\n   bindRpcMethods                       createRpcProxy<T>\n   (server side)                         (caller side)\n        │                                     │\n        └──── MessageConnection ──────────────┘\n              (vscode-jsonrpc)\n```\n\nThe two helpers are deliberately symmetric — the same wire-name composition\nrule, the same notification heuristic, the same deferred-connection support — so\na contract written once works on both ends with no per-method configuration.\nBoth are exported from the package root; there is no `/rpc` subpath.\n\nFull reference — the options both ends must agree on, the reserved property\nnames, a worked example — is in\n[`src/rpc/README.md`](./src/rpc/README.md), which ships in the tarball.\n\n## Subpaths\n\n```bash\n@hydranium/protocol               # transfer documents, references, RPC machinery\n@hydranium/protocol/data          # DataServerProtocol / DataClientProtocol\n@hydranium/protocol/client        # the host-neutral client tier\n@hydranium/protocol/testing       # test doubles, waiters, catalogue audit\n@hydranium/protocol/testing/node  # the Node-only doubles\n```\n\nThe root barrel re-exports `data` and `client`, so those two subpaths buy a\nnarrower surface rather than reach; `testing` is only reachable by its own\nspecifier, which is what keeps the doubles out of a production bundle. The RPC\nmachinery documents itself in [`src/rpc/README.md`](./src/rpc/README.md).\n\n### Auditing a translation catalogue\n\nAn adopter with i18n has one failure mode nothing else catches: a catalogue key\nnaming no declared code falls back to the English, which is byte-identical to\nthe deliberately-partial behaviour every adopter relies on. So a typo is\ninvisible at runtime, and `theia nls-extract` reports what the source declares\nrather than whether a catalogue matches it.\n\n`@hydranium/protocol/testing` ships the audit for it — call it from your own\ntest, over your own barrels:\n\n<!-- snippet-preamble\nimport { flattenCatalogue, findUndeclaredCodes, findSharedCodes } from '@hydranium/protocol/testing';\nimport * as protocolMessages from '@hydranium/protocol';\ndeclare const readFileSync: (path: string, encoding: string) => string;\ndeclare const expect: (actual: unknown) => { toEqual(expected: unknown): void };\n-->\n\n```ts\nconst keys = Object.keys(flattenCatalogue(JSON.parse(readFileSync('nls/de.json', 'utf-8'))));\n\n// Every key names a code some barrel declares. `exemptPrefixes` is for keys no\n// barrel CAN declare — a host mechanism taking its key as an inline literal.\nexpect(findUndeclaredCodes(keys, [protocolMessages])).toEqual([]);\n```\n\n`flattenCatalogue` joins nested keys with `/` (the separator a code already\nuses, and what Theia does to a nested catalogue) and drops `_`-prefixed note\nkeys, so a flat server-side catalogue and a nested host-side one both go through\nit. `findSharedCodes` covers the other half: exactly one side renders a given\nmessage, so two catalogues holding one code are two authorities over one\nsentence — assert both key sets non-empty first, since an empty one satisfies\ndisjointness while proving nothing.\n\n## Status\n\nAlpha — pre-v0. The package is being populated incrementally, and its API is\nnot yet stable. See the [repository README](../../README.md) for the current\nstatus and known limitations.\n\n## License\n\n`MIT` — see this package's [`LICENSE`](./LICENSE), and the repository\n[`NOTICE.md`](../../NOTICE.md) for third-party notices.\n","readmeFilename":"README.md"}