{"_id":"@boarteam/fix","_rev":"11-518f7ee932033a8614b28b208cc4293e","name":"@boarteam/fix","dist-tags":{"latest":"0.7.0"},"versions":{"0.1.0":{"name":"@boarteam/fix","version":"0.1.0","keywords":["fix","fix-protocol","fix44","financial-information-exchange","market-data","parser","validator","trading","fintech"],"license":"Apache-2.0","_id":"@boarteam/fix@0.1.0","maintainers":[{"name":"jifeon","email":"jifeon@gmail.com"},{"name":"proxcentw","email":"proxcentb@gmail.com"},{"name":"denisvolper","email":"denisvolper@gmail.com"}],"homepage":"https://github.com/boarteam/fix-protocol#readme","bugs":{"url":"https://github.com/boarteam/fix-protocol/issues"},"dist":{"shasum":"c52fda1627efdcacf17fb3e9078f935408c68a36","tarball":"https://registry.npmjs.org/@boarteam/fix/-/fix-0.1.0.tgz","fileCount":10,"integrity":"sha512-j4doicLAyWInVYSs8jcXL3JjIZxe/W+1kqPqFRfIMOEg/5r7ib6FCUTf1EdfFewh08sAYsLGhX32AU5TrWnSKQ==","signatures":[{"sig":"MEUCIQDvT4ONje3FQDI6VaYgI374DUpXXm/XS0ewtOo6CdK8gwIgH0tLQo/eN5ISuMGvmKRI4A7zDtJFfntbct8VTfRGO/E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":525897},"main":"./dist/index.cjs","type":"module","_from":"file:boarteam-fix-0.1.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"jifeon","email":"jifeon@gmail.com"},"_resolved":"/private/var/folders/kh/2vn5kkns54b4yz_g6jthx0lh0000gn/T/20439801a6dd9b918c831e130f8e9e86/boarteam-fix-0.1.0.tgz","_integrity":"sha512-j4doicLAyWInVYSs8jcXL3JjIZxe/W+1kqPqFRfIMOEg/5r7ib6FCUTf1EdfFewh08sAYsLGhX32AU5TrWnSKQ==","repository":{"url":"git+https://github.com/boarteam/fix-protocol.git","type":"git","directory":"packages/fix"},"_npmVersion":"11.8.0","description":"Dictionary-driven FIX protocol toolkit: parse, validate, and encode FIX messages. Zero runtime dependencies; runs in the browser and Node.","directories":{},"sideEffects":false,"_nodeVersion":"22.21.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","typescript":"^5.7.2"},"_npmOperationalInternal":{"tmp":"tmp/fix_0.1.0_1782139445798_0.45962511031382425","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@boarteam/fix","version":"0.1.1","keywords":["fix","fix-protocol","fix44","financial-information-exchange","market-data","parser","validator","trading","fintech"],"license":"Apache-2.0","_id":"@boarteam/fix@0.1.1","maintainers":[{"name":"jifeon","email":"jifeon@gmail.com"},{"name":"proxcentw","email":"proxcentb@gmail.com"},{"name":"denisvolper","email":"denisvolper@gmail.com"}],"homepage":"https://github.com/boarteam/fix-protocol#readme","bugs":{"url":"https://github.com/boarteam/fix-protocol/issues"},"dist":{"shasum":"82b1043e08cb8d3e38f6806c2051f95af5c8eec9","tarball":"https://registry.npmjs.org/@boarteam/fix/-/fix-0.1.1.tgz","fileCount":10,"integrity":"sha512-dS8UnYsMJtf8pJprvHaTt7L5BXAUP3Yr7nJhK878NflR7wTJ/Ac4S+okum8yARfCExli/Pvn6M5RHAQ6FQylsw==","signatures":[{"sig":"MEUCIGISftpq6Hy3hYkjiIs3M5BS5ocanIhjl9LaKwwsEQWaAiEAjsO9JjRZyEh6Lm0JIwCQBWeWrtPC8hYdey5GTa8IC1o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@boarteam%2ffix@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":526686},"main":"./dist/index.cjs","type":"module","_from":"file:boarteam-fix-0.1.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:076bf8f2-491d-425d-97b3-369f9e99ab79"}},"_resolved":"/tmp/d5a7acdae70d7439ca37674b840febb0/boarteam-fix-0.1.1.tgz","_integrity":"sha512-dS8UnYsMJtf8pJprvHaTt7L5BXAUP3Yr7nJhK878NflR7wTJ/Ac4S+okum8yARfCExli/Pvn6M5RHAQ6FQylsw==","repository":{"url":"git+https://github.com/boarteam/fix-protocol.git","type":"git","directory":"packages/fix"},"_npmVersion":"11.17.0","description":"Dictionary-driven FIX protocol toolkit: parse, validate, and encode FIX messages. Zero runtime dependencies; runs in the browser and Node.","directories":{},"sideEffects":false,"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","typescript":"^5.7.2"},"_npmOperationalInternal":{"tmp":"tmp/fix_0.1.1_1782197492328_0.6333169217857497","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@boarteam/fix","version":"0.2.0","keywords":["fix","fix-protocol","fix44","financial-information-exchange","market-data","parser","validator","trading","fintech"],"license":"Apache-2.0","_id":"@boarteam/fix@0.2.0","maintainers":[{"name":"jifeon","email":"jifeon@gmail.com"},{"name":"proxcentw","email":"proxcentb@gmail.com"},{"name":"denisvolper","email":"denisvolper@gmail.com"}],"homepage":"https://github.com/boarteam/fix-protocol#readme","bugs":{"url":"https://github.com/boarteam/fix-protocol/issues"},"dist":{"shasum":"769631984b79e53fceaeca63a63521db76b127a4","tarball":"https://registry.npmjs.org/@boarteam/fix/-/fix-0.2.0.tgz","fileCount":10,"integrity":"sha512-rP1NPhM6W2Ew5WuDNJoatL87ex7JVwC7M24xv1Yk/JVgrZt+2EFhtZRbCw9Geoa+kjAYu2LDHMlL8B9PTA7EEw==","signatures":[{"sig":"MEUCIQCx5kFqdeRBmT2Z+9rhTBadQLrmtDXPWmE5jnbnsDUFkAIgJ7LwhAKLLqYo5tBeKM0NmfpVa74IvlrtER+J6I1n2rA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@boarteam%2ffix@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":904842},"main":"./dist/index.cjs","type":"module","_from":"file:boarteam-fix-0.2.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:076bf8f2-491d-425d-97b3-369f9e99ab79"}},"_resolved":"/tmp/af93ee673ad257577e3eaf938c81d0af/boarteam-fix-0.2.0.tgz","_integrity":"sha512-rP1NPhM6W2Ew5WuDNJoatL87ex7JVwC7M24xv1Yk/JVgrZt+2EFhtZRbCw9Geoa+kjAYu2LDHMlL8B9PTA7EEw==","repository":{"url":"git+https://github.com/boarteam/fix-protocol.git","type":"git","directory":"packages/fix"},"_npmVersion":"11.16.0","description":"Dictionary-driven FIX protocol toolkit: parse, validate, and encode FIX messages. Zero runtime dependencies; runs in the browser and Node.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","typescript":"^5.7.2"},"_npmOperationalInternal":{"tmp":"tmp/fix_0.2.0_1783892397481_0.9891399442520323","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@boarteam/fix","version":"0.3.0","keywords":["fix","fix-protocol","fix44","financial-information-exchange","market-data","parser","validator","trading","fintech"],"license":"Apache-2.0","_id":"@boarteam/fix@0.3.0","maintainers":[{"name":"jifeon","email":"jifeon@gmail.com"},{"name":"proxcentw","email":"proxcentb@gmail.com"},{"name":"denisvolper","email":"denisvolper@gmail.com"}],"homepage":"https://github.com/boarteam/fix-protocol#readme","bugs":{"url":"https://github.com/boarteam/fix-protocol/issues"},"dist":{"shasum":"58585f16d474df4edd9201b93eee69e962cb8d44","tarball":"https://registry.npmjs.org/@boarteam/fix/-/fix-0.3.0.tgz","fileCount":10,"integrity":"sha512-8IvjUXbarxN8eockiZ9JSu+dq29Dz09RdfOWaB1IpF3uqr4wX5z8DlvcDY/SsueTSAQh8w/t3bYCyBWaaTkr8A==","signatures":[{"sig":"MEUCIQDvg8kVYmssp2hVvl9GIB+pSXJq1HrLy4YPoY0RvgZBwAIgAj8Y9mR0C0OF9pnNmBF55jdVKJdZZFLYfpri2BVed3E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@boarteam%2ffix@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1000878},"main":"./dist/index.cjs","type":"module","_from":"file:boarteam-fix-0.3.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:076bf8f2-491d-425d-97b3-369f9e99ab79"}},"_resolved":"/tmp/a69ead2ba16c053af68dc173c339610c/boarteam-fix-0.3.0.tgz","_integrity":"sha512-8IvjUXbarxN8eockiZ9JSu+dq29Dz09RdfOWaB1IpF3uqr4wX5z8DlvcDY/SsueTSAQh8w/t3bYCyBWaaTkr8A==","repository":{"url":"git+https://github.com/boarteam/fix-protocol.git","type":"git","directory":"packages/fix"},"_npmVersion":"11.16.0","description":"Dictionary-driven FIX protocol toolkit: parse, validate, and encode FIX messages. Zero runtime dependencies; runs in the browser and Node.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","typescript":"^5.7.2"},"_npmOperationalInternal":{"tmp":"tmp/fix_0.3.0_1784297181702_0.8333857500425899","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@boarteam/fix","version":"0.4.0","keywords":["fix","fix-protocol","fix44","financial-information-exchange","market-data","parser","validator","trading","fintech"],"license":"Apache-2.0","_id":"@boarteam/fix@0.4.0","maintainers":[{"name":"jifeon","email":"jifeon@gmail.com"},{"name":"proxcentw","email":"proxcentb@gmail.com"},{"name":"denisvolper","email":"denisvolper@gmail.com"}],"homepage":"https://github.com/boarteam/fix-protocol#readme","bugs":{"url":"https://github.com/boarteam/fix-protocol/issues"},"dist":{"shasum":"91e6b19c6ecdc8caa076ac9fd960f79ee53c8425","tarball":"https://registry.npmjs.org/@boarteam/fix/-/fix-0.4.0.tgz","fileCount":10,"integrity":"sha512-SswoXxsAazo5D7UBM25juAhXHmdV/uvJjsvOUeGeFZTcrh0jlTtoF9O3oxB35e/BNA622xWnRIjSBvLk9aUxqg==","signatures":[{"sig":"MEYCIQDNOZc31AbZmoysT9QQRHS69WDHoncXU2qc73pNT//aZwIhAI+z+NDYS9YKUYvvIGshG9gu5wWAf+KWxg94LZZKUkay","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@boarteam%2ffix@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1136633},"main":"./dist/index.cjs","type":"module","_from":"file:boarteam-fix-0.4.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:076bf8f2-491d-425d-97b3-369f9e99ab79"}},"_resolved":"/tmp/c724a3d7e105ebaa084a4aa1cf9fa0e8/boarteam-fix-0.4.0.tgz","_integrity":"sha512-SswoXxsAazo5D7UBM25juAhXHmdV/uvJjsvOUeGeFZTcrh0jlTtoF9O3oxB35e/BNA622xWnRIjSBvLk9aUxqg==","repository":{"url":"git+https://github.com/boarteam/fix-protocol.git","type":"git","directory":"packages/fix"},"_npmVersion":"11.16.0","description":"Dictionary-driven FIX protocol toolkit: parse, validate, and encode FIX messages. Zero runtime dependencies; runs in the browser and Node.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","typescript":"^5.7.2"},"_npmOperationalInternal":{"tmp":"tmp/fix_0.4.0_1785701731448_0.17433795376887917","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@boarteam/fix","version":"0.5.0","keywords":["fix","fix-protocol","fix44","financial-information-exchange","market-data","parser","validator","trading","fintech"],"license":"Apache-2.0","_id":"@boarteam/fix@0.5.0","maintainers":[{"name":"jifeon","email":"jifeon@gmail.com"},{"name":"proxcentw","email":"proxcentb@gmail.com"},{"name":"denisvolper","email":"denisvolper@gmail.com"}],"homepage":"https://github.com/boarteam/fix-protocol#readme","bugs":{"url":"https://github.com/boarteam/fix-protocol/issues"},"dist":{"shasum":"a3ead8c9d72d2a6111e52d5f7aa70202366391f7","tarball":"https://registry.npmjs.org/@boarteam/fix/-/fix-0.5.0.tgz","fileCount":11,"integrity":"sha512-mrIyaPwkD9P4HhrUTVskF5VNqT6MAV43Jb1TpxiO47f2tHzQ1Nz21YwqdDQ6KXEkX2Kxfemr3Nv31Cvi+Yubzg==","signatures":[{"sig":"MEYCIQCejj+38uOqAnEwR4lmYdcFIH7bu1t8C96MiIS5KjvcCAIhAO0OB6LQry9pGGg/u5Jazj1LPSVjkLYPK/bGBCVlYei9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@boarteam%2ffix@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1274240},"main":"./dist/index.cjs","type":"module","_from":"file:boarteam-fix-0.5.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"build":"tsup && node scripts/emit-api.mjs","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:076bf8f2-491d-425d-97b3-369f9e99ab79"}},"_resolved":"/tmp/7a5acc95f9e7d50c35d0315f7e1fac4e/boarteam-fix-0.5.0.tgz","_integrity":"sha512-mrIyaPwkD9P4HhrUTVskF5VNqT6MAV43Jb1TpxiO47f2tHzQ1Nz21YwqdDQ6KXEkX2Kxfemr3Nv31Cvi+Yubzg==","repository":{"url":"git+https://github.com/boarteam/fix-protocol.git","type":"git","directory":"packages/fix"},"_npmVersion":"11.16.0","description":"Dictionary-driven FIX protocol toolkit: parse, validate, and encode FIX messages. Zero runtime dependencies; runs in the browser and Node.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","typescript":"^5.7.2"},"_npmOperationalInternal":{"tmp":"tmp/fix_0.5.0_1786113921333_0.5990722997168061","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@boarteam/fix","version":"0.5.1","keywords":["fix","fix-protocol","fix44","financial-information-exchange","market-data","parser","validator","trading","fintech"],"license":"Apache-2.0","_id":"@boarteam/fix@0.5.1","maintainers":[{"name":"jifeon","email":"jifeon@gmail.com"},{"name":"proxcentw","email":"proxcentb@gmail.com"},{"name":"denisvolper","email":"denisvolper@gmail.com"}],"homepage":"https://boar.team/fix/docs/","bugs":{"url":"https://github.com/boarteam/fix-protocol/issues"},"dist":{"shasum":"2408089bbb84a9dec6e44011bb830eacc078b9d7","tarball":"https://registry.npmjs.org/@boarteam/fix/-/fix-0.5.1.tgz","fileCount":11,"integrity":"sha512-/DQ2dtbjecZmyQIVVr2Q8rTExeQY32+ngn2lmY/6HqMwNANSHp2BhXwoIGMtt9mwP7qnGj4D6jeh+UDlawtUEw==","signatures":[{"sig":"MEUCIQCvj05LS00wioRNUclX2robpA8cvRKgik0ijZju6h+otQIgEc5M/a50d+t9sVE4exB7bKYZb8BuyTmieGXfQMB+dQ8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@boarteam%2ffix@0.5.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1279842},"main":"./dist/index.cjs","type":"module","_from":"file:boarteam-fix-0.5.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"build":"tsup && node scripts/emit-api.mjs","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:076bf8f2-491d-425d-97b3-369f9e99ab79"}},"_resolved":"/tmp/d61dd9c27cc731e9d4a4d47c21ff6bf5/boarteam-fix-0.5.1.tgz","_integrity":"sha512-/DQ2dtbjecZmyQIVVr2Q8rTExeQY32+ngn2lmY/6HqMwNANSHp2BhXwoIGMtt9mwP7qnGj4D6jeh+UDlawtUEw==","repository":{"url":"git+https://github.com/boarteam/fix-protocol.git","type":"git","directory":"packages/fix"},"_npmVersion":"11.16.0","description":"Dictionary-driven FIX protocol toolkit: parse, validate, and encode FIX messages. Zero runtime dependencies; runs in the browser and Node.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","typescript":"^5.7.2"},"_npmOperationalInternal":{"tmp":"tmp/fix_0.5.1_1786305346344_0.13469374478624752","host":"s3://npm-registry-packages-npm-production"}},"0.5.2":{"name":"@boarteam/fix","version":"0.5.2","keywords":["fix","fix-protocol","fix44","financial-information-exchange","market-data","parser","validator","trading","fintech"],"license":"Apache-2.0","_id":"@boarteam/fix@0.5.2","maintainers":[{"name":"jifeon","email":"jifeon@gmail.com"},{"name":"proxcentw","email":"proxcentb@gmail.com"},{"name":"denisvolper","email":"denisvolper@gmail.com"}],"homepage":"https://boar.team/fix/docs/","bugs":{"url":"https://github.com/boarteam/fix-protocol/issues"},"dist":{"shasum":"8b7640fc806d3bc91501d54a073cf560f2b3e223","tarball":"https://registry.npmjs.org/@boarteam/fix/-/fix-0.5.2.tgz","fileCount":11,"integrity":"sha512-sbqW8NHKHumQ+3Sdv+IwDTbjrE0fKGYkp2mZkegf/gxM2JACjpzUQMG9f6bg0c7NQNOps6JZKi4EClxu1uTrlQ==","signatures":[{"sig":"MEUCIQCtadgwnHuTEs7Yby3aTuARhqGazAMyzPPvrPv5+CfWmQIgOqpILXwDu7PchQ8nW4k/X60sbchN1/S76/891ymVZsU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@boarteam%2ffix@0.5.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1301744},"main":"./dist/index.cjs","type":"module","_from":"file:boarteam-fix-0.5.2.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"build":"tsup && node scripts/emit-api.mjs","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:076bf8f2-491d-425d-97b3-369f9e99ab79"}},"_resolved":"/tmp/164be9027436c68fa681cd0c5eacbc81/boarteam-fix-0.5.2.tgz","_integrity":"sha512-sbqW8NHKHumQ+3Sdv+IwDTbjrE0fKGYkp2mZkegf/gxM2JACjpzUQMG9f6bg0c7NQNOps6JZKi4EClxu1uTrlQ==","repository":{"url":"git+https://github.com/boarteam/fix-protocol.git","type":"git","directory":"packages/fix"},"_npmVersion":"11.16.0","description":"Dictionary-driven FIX protocol toolkit: parse, validate, and encode FIX messages. Zero runtime dependencies; runs in the browser and Node.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","typescript":"^5.7.2"},"_npmOperationalInternal":{"tmp":"tmp/fix_0.5.2_1786311772512_0.9769296766422997","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@boarteam/fix","version":"0.6.0","keywords":["fix","fix-protocol","fix44","financial-information-exchange","market-data","parser","validator","trading","fintech"],"license":"Apache-2.0","_id":"@boarteam/fix@0.6.0","maintainers":[{"name":"jifeon","email":"jifeon@gmail.com"},{"name":"proxcentw","email":"proxcentb@gmail.com"},{"name":"denisvolper","email":"denisvolper@gmail.com"}],"homepage":"https://boar.team/fix/docs/","bugs":{"url":"https://github.com/boarteam/fix-protocol/issues"},"dist":{"shasum":"2b27d90d08f482f48493a71d4f6d89e4a8d59d8b","tarball":"https://registry.npmjs.org/@boarteam/fix/-/fix-0.6.0.tgz","fileCount":11,"integrity":"sha512-T0tgZTmmqrAClWXMvlMbKqS4bUZ1vYaVUwkvnDY23U/M/SNGOn1qWm3k7Qf3p3kGuAhq2n36DX8TpVYRY7LSXQ==","signatures":[{"sig":"MEUCIFdy6ffMVB3bfAZ57me+hp0hg/r1iH0R8pUhwabBfsg9AiEA8Ifq8knPNkMzCW7rZU2fPuGGU/z8jltHh35vwdYtK6s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@boarteam%2ffix@0.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1440100},"main":"./dist/index.cjs","type":"module","_from":"file:boarteam-fix-0.6.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"build":"tsup && node scripts/emit-api.mjs","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:076bf8f2-491d-425d-97b3-369f9e99ab79"}},"_resolved":"/tmp/3c6e8ac913fee5ab2f49313b751dcd99/boarteam-fix-0.6.0.tgz","_integrity":"sha512-T0tgZTmmqrAClWXMvlMbKqS4bUZ1vYaVUwkvnDY23U/M/SNGOn1qWm3k7Qf3p3kGuAhq2n36DX8TpVYRY7LSXQ==","repository":{"url":"git+https://github.com/boarteam/fix-protocol.git","type":"git","directory":"packages/fix"},"_npmVersion":"11.17.0","description":"Dictionary-driven FIX protocol toolkit: parse, validate, and encode FIX messages. Zero runtime dependencies; runs in the browser and Node.","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","typescript":"^5.7.2"},"_npmOperationalInternal":{"tmp":"tmp/fix_0.6.0_1788215969673_0.5277872167670885","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"@boarteam/fix","version":"0.6.1","keywords":["fix","fix-protocol","fix44","financial-information-exchange","market-data","parser","validator","trading","fintech"],"license":"Apache-2.0","_id":"@boarteam/fix@0.6.1","maintainers":[{"name":"jifeon","email":"jifeon@gmail.com"},{"name":"proxcentw","email":"proxcentb@gmail.com"},{"name":"denisvolper","email":"denisvolper@gmail.com"}],"homepage":"https://boar.team/fix/docs/","bugs":{"url":"https://github.com/boarteam/fix-protocol/issues"},"dist":{"shasum":"32c94a136847672c30fe3443b814f1087424b6ed","tarball":"https://registry.npmjs.org/@boarteam/fix/-/fix-0.6.1.tgz","fileCount":11,"integrity":"sha512-v+09F4/alCfCBtuz8H8ZEKL7EKh66LUWxs5W/5yyxuA19+AL5h3v0Ht1cxWD0vQiIqkmzjvcET4eMjWE3e936A==","signatures":[{"sig":"MEYCIQCWUcDsNHZ9ItsFlWhIEVdAhwzYz3ctIuNgT8BIfflSywIhAI/nZynngQHCBIeb+p3oQVqmtPJHk3L0T83j71cKqI16","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@boarteam%2ffix@0.6.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1440243},"main":"./dist/index.cjs","type":"module","_from":"file:boarteam-fix-0.6.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"build":"tsup && node scripts/emit-api.mjs","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:076bf8f2-491d-425d-97b3-369f9e99ab79"}},"_resolved":"/tmp/619c787a8b28a69c241c35eb7fe2a086/boarteam-fix-0.6.1.tgz","_integrity":"sha512-v+09F4/alCfCBtuz8H8ZEKL7EKh66LUWxs5W/5yyxuA19+AL5h3v0Ht1cxWD0vQiIqkmzjvcET4eMjWE3e936A==","repository":{"url":"git+https://github.com/boarteam/fix-protocol.git","type":"git","directory":"packages/fix"},"_npmVersion":"11.17.0","description":"Dictionary-driven FIX protocol toolkit: parse, validate, and encode FIX messages. Zero runtime dependencies; runs in the browser and Node.","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","typescript":"^5.7.2"},"_npmOperationalInternal":{"tmp":"tmp/fix_0.6.1_1788218622405_0.13745606873865612","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@boarteam/fix","version":"0.7.0","description":"Dictionary-driven FIX protocol toolkit: parse, validate, and encode FIX messages. Zero runtime dependencies; runs in the browser and Node.","license":"Apache-2.0","type":"module","sideEffects":false,"main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"keywords":["fix","fix-protocol","fix44","financial-information-exchange","market-data","parser","validator","trading","fintech"],"repository":{"type":"git","url":"git+https://github.com/boarteam/fix-protocol.git","directory":"packages/fix"},"homepage":"https://boar.team/fix/docs/","bugs":{"url":"https://github.com/boarteam/fix-protocol/issues"},"publishConfig":{"access":"public"},"engines":{"node":">=18"},"devDependencies":{"tsup":"^8.3.5","typescript":"^5.7.2"},"scripts":{"build":"tsup && node scripts/emit-api.mjs","typecheck":"tsc --noEmit"},"_id":"@boarteam/fix@0.7.0","_integrity":"sha512-cFjeJ57j5FjG3GlAHwSQfKhMGP7kSno2JK7KUPOz/bLpGGBj77oAw8dBsu0MtpRZv2xnhvjSdgkDHAdOkL6OIA==","_resolved":"/tmp/ddd169f70f91a1af541c83197e740f8e/boarteam-fix-0.7.0.tgz","_from":"file:boarteam-fix-0.7.0.tgz","_nodeVersion":"24.20.0","_npmVersion":"11.19.0","dist":{"integrity":"sha512-cFjeJ57j5FjG3GlAHwSQfKhMGP7kSno2JK7KUPOz/bLpGGBj77oAw8dBsu0MtpRZv2xnhvjSdgkDHAdOkL6OIA==","shasum":"c1f4bfccffa7c79152a25674e031795e12d1b7d9","tarball":"https://registry.npmjs.org/@boarteam/fix/-/fix-0.7.0.tgz","fileCount":11,"unpackedSize":1445086,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@boarteam%2ffix@0.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIHq2gVlv5LIad44NNE877aoPyqTYrOkPaUuIC3538o/dAiEA9e/Emy92ZIhA2LOQZoXLPXsekGNclB1EbKvI3vu6W10="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:076bf8f2-491d-425d-97b3-369f9e99ab79"}},"directories":{},"maintainers":[{"name":"jifeon","email":"jifeon@gmail.com"},{"name":"proxcentw","email":"proxcentb@gmail.com"},{"name":"denisvolper","email":"denisvolper@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/fix_0.7.0_1789323595660_0.5576441522997375"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-22T14:44:05.598Z","modified":"2026-09-13T18:19:56.190Z","0.1.0":"2026-06-22T14:44:05.955Z","0.1.1":"2026-06-23T06:51:32.508Z","0.2.0":"2026-07-12T21:39:57.684Z","0.3.0":"2026-07-17T14:06:21.938Z","0.4.0":"2026-08-02T20:15:31.617Z","0.5.0":"2026-08-07T14:45:21.496Z","0.5.1":"2026-08-09T19:55:46.519Z","0.5.2":"2026-08-09T21:42:52.670Z","0.6.0":"2026-08-31T22:39:29.850Z","0.6.1":"2026-08-31T23:23:42.600Z","0.7.0":"2026-09-13T18:19:55.805Z"},"bugs":{"url":"https://github.com/boarteam/fix-protocol/issues"},"license":"Apache-2.0","homepage":"https://boar.team/fix/docs/","keywords":["fix","fix-protocol","fix44","financial-information-exchange","market-data","parser","validator","trading","fintech"],"repository":{"type":"git","url":"git+https://github.com/boarteam/fix-protocol.git","directory":"packages/fix"},"description":"Dictionary-driven FIX protocol toolkit: parse, validate, and encode FIX messages. Zero runtime dependencies; runs in the browser and Node.","maintainers":[{"name":"jifeon","email":"jifeon@gmail.com"},{"name":"proxcentw","email":"proxcentb@gmail.com"},{"name":"denisvolper","email":"denisvolper@gmail.com"}],"readme":"# @boarteam/fix\n\nA **dictionary-driven FIX protocol toolkit** for TypeScript — parse, validate, and encode\n[FIX](https://www.fixtrading.org/) messages with **zero runtime dependencies**, in the browser\nor Node. This is the engine; pair it with a dictionary such as\n[`@boarteam/fix-dict-fix44`](https://www.npmjs.com/package/@boarteam/fix-dict-fix44).\n\n📖 **[Documentation](https://boar.team/fix/docs/)** · 🧭 **[API reference](https://boar.team/fix/docs/api/)** · ▶️ **[Playground](https://boar.team/fix/playground/)** · 💻 **[GitHub](https://github.com/boarteam/fix-protocol)**\n\nOn a 0.x line: the foundation is solid and well-tested, and the API may still refine ahead of\n1.0. See the [project README](https://github.com/boarteam/fix-protocol#readme) for coverage,\ntesting, and the roadmap — [feedback](https://github.com/boarteam/fix-protocol/issues) welcome.\n\n<!-- The GIF must use an absolute raw URL (npmjs.com does not resolve relative paths) pinned to\n     the default branch. It 404s until `.github/demo.gif` exists on `main`, so do not publish a\n     release pointing here before this lands on `main`. Source: .github/demo.tape. -->\n<p align=\"center\">\n  <img src=\"https://raw.githubusercontent.com/boarteam/fix-protocol/main/.github/demo.gif\" width=\"900\" alt=\"Terminal recording of @boarteam/fix: a raw FIX 4.4 log line is piped in and decoded in stages into named, typed fields with its repeating group expanded into nested Bid/Offer objects, validating clean; then a corrupted message is piped in and still parses without throwing, returning the bad float, wrong checksum, and invalid enum as structured diagnostics. The same pure engine runs in a browser tab or Node.\">\n</p>\n\n<!-- doc-typecheck\ndeclare const raw: string;\n-->\n\n```ts\nimport { createFixEngine } from '@boarteam/fix';\nimport { dictionary } from '@boarteam/fix-dict-fix44';\n\nconst fix = createFixEngine(dictionary);\nconst { message, issues } = fix.parse(raw); // never throws; issues is FixIssue[]\nconst problems = fix.validate(message); // presence, enums, datatypes, conditional rules\nconst wire = fix.encode({\n  msgType: 'D',\n  fields: {/* ... */},\n}); // ordered + framed\n```\n\n- **Stateless analyzer**, not a session/transport engine: no sockets, sequence numbers, or\n  heartbeats — just the protocol.\n- **Pure & deterministic**; **never throws** on the analyze path (diagnostics are returned\n  data); **browser + Node** via `TextEncoder`/`TextDecoder`.\n\n## Typed, self-rendering messages\n\n`encode(EncodeMessage)` is the low-level primitive — an untyped, tag-keyed bag. For a\n**statically-typed** encode side, the dictionary packages ship a `message` factory generated\nfrom the same dictionary: creating a message for a `MsgType` yields a builder that knows only\nthat message's fields/groups and their value types, and renders **byte-identical** to `encode`.\n\n```ts\nimport { message, MsgType } from '@boarteam/fix-dict-fix44';\n\nconst wire = message(MsgType.MarketDataSnapshotFullRefresh) // typed to this message's body\n  .set('MDReqID', 'req-1')\n  .set('Symbol', 'EURUSD')\n  .set('NoMDEntries', [\n    { MDEntryType: '0', MDEntryPx: '1.1050' }, // group entries are typed too\n    { MDEntryType: '1', MDEntryPx: '1.1052' },\n  ])\n  .render({\n    SenderCompID: 'ME',\n    TargetCompID: 'YOU',\n    MsgSeqNum: 1,\n    SendingTime: '20260716-12:00:00',\n  });\n```\n\n- **Value types come from the field datatype**: enumerated → the generated value union\n  (`MDEntryType`); `Boolean` → `boolean`; numeric (`int`/`float`/`Price`/`Qty`/…) →\n  `number | string` (the string is the exact-formatting escape hatch — a `number` float is\n  rendered by `String()`, so pass a string when you need an exact form like `1.10`); everything\n  else → `string`. Illegal fields, wrong value types, and malformed group entries are compile\n  errors.\n- **Transport/session-agnostic**: envelope fields (`MsgSeqNum`/`SenderCompID`/`SendingTime`/\n  `TargetCompID`; framing `8`/`9`/`10` are computed) are supplied to `render(envelope)` — the\n  library never holds a sequence counter, clock, or comp-IDs. The body type excludes them.\n- **Mutable or immutable**: `message(...)` is a fast, fluent mutable builder for hot loops;\n  `message.immutable(...)` (and `.toImmutable()`) is copy-on-write. Both accept a complete bulk\n  init (`message('A', { EncryptMethod: 0, HeartBtInt: 30 })` — required keys must be named;\n  `.assign({...})` stays partial) and double as a typed **read model** (`msg.get('Symbol')`,\n  `msg.get('NoMDEntries')?.[0]?.MDEntryPx`) for deriving log metadata.\n- **Absent values pass through**: an init/`set` value of `undefined`, `null`, or `''` is skipped\n  at render and reads as unset — `message('A', { …, Username: username })` needs no\n  `if (username)` guard, in the body, in group entries, and in the envelope alike. A required\n  key can be deliberately left off the wire by naming it with `undefined` (dialect quirks); to\n  force a literal empty value onto the wire, drop to the `encode` primitive.\n- The engine façade mirrors it: `createFixEngine<MessageBodies>(dictionary).create(msgType)`.\n\n**Narrowing an unknown message.** At a generic boundary — a `send(message: MessageView<any>)`,\na log-metadata helper — the concrete `MsgType` is erased, so `message.msgType === 'W'` cannot\nnarrow the body. A `Bodies`-bound type guard keyed on `msgType` restores it: the runtime is a\nplain string compare, the typing comes from the `Bodies` registry. The engine binds one as\n`engine.is`; the dict packages re-export a ready-made `isMessageType` (and a `MessageOf<M>` alias\nfor annotations), so no engine instance is needed. `messageTypeGuard<Bodies>()` builds a standalone\nguard.\n\n```ts\nimport { isMessageType, MsgType } from '@boarteam/fix-dict-fix44';\nimport type { MessageView } from '@boarteam/fix';\n\nfunction logMeta(message: MessageView<any>) {\n  if (isMessageType(message, MsgType.MarketDataSnapshotFullRefresh)) {\n    // message: MessageView<MarketDataSnapshotFullRefreshBody> — get() is typed, no casts\n    const securityID = message.get('SecurityID'); // string | undefined\n    for (const entry of message.get('NoMDEntries') ?? []) {\n      entry.MDEntryType; // MDFullGrp_NoMDEntriesEntry — entry fields typed\n    }\n  }\n}\n```\n\nBoth flavours narrow to the read surface `MessageView` (the interface the mutable and immutable\nmessage share), not to the mutable/immutable _kind_ — the guard's purpose is typed reads, not\nre-obtaining a builder.\n\n**Venue extensions** (e.g. a broker's custom tags in an existing group) need no regenerated\ndictionary: `extendDictionary(dictionary, ext)` adds them at runtime, and the generated,\nper-container group/component `interface`s (`SecListGrp_NoRelatedSymEntry`, …) are augmentable —\npatch the shared interface via declaration merging (single venue) or an override-interface\nintersection (multiple venues), then rebind `messageFactory<MessageBodies>(extended)`. The\naugmented type and the extended dictionary ship as a pair.\n\n## Reading an inbound message\n\nThe same per-message types work on the way **in**. `parse` returns a faithful but tag-keyed\n`ParsedMessage` (`message.fields[262].value`, groups under `message.groups[268]`), which is the\nright shape for a codec and the wrong one for application code — it leaves you writing a\n`switch (msgType)` and a tag-to-field mapper per message, re-deriving what the dictionary\nalready knows. `toInbound` re-keys it by name, so a received message reads the way a built one\ndoes.\n\n<!-- doc-typecheck\ndeclare const raw: string;\n-->\n\n```ts\nimport { inboundKnownGuard, loadDictionary, parse, toInbound } from '@boarteam/fix';\nimport { dictionary as fix44, MsgType, type MessageBodies } from '@boarteam/fix-dict-fix44';\n\n// The dict packages ship the dictionary as data; `parse` wants it indexed.\nconst dictionary = loadDictionary(fix44);\nconst isKnownInbound = inboundKnownGuard<MessageBodies>(dictionary);\n\nconst { message, issues } = parse(raw, dictionary); // gate on `issues` first\nconst inbound = toInbound(message, dictionary);\n\ninbound.envelope.MsgSeqNum; // the session envelope, before narrowing\n\nif (isKnownInbound(inbound)) {\n  switch (\n    inbound.msgType // narrows per case\n  ) {\n    case MsgType.Logon:\n      inbound.get('HeartBtInt'); // typed to LogonBody\n      break;\n    case MsgType.MarketDataSnapshotFullRefresh:\n      inbound.get('NoMDEntries')?.[0]?.MDEntryPx; // the typed entry array\n      break;\n    default:\n      break; // known, but not handled here\n  }\n}\n```\n\n- **Body by name, envelope on the side.** Repeating groups are arrays of entry objects under\n  their counter's name (`NoMDEntries`, `NoRelatedSym`) — the declared counter is not a property,\n  because the entry array _is_ the count. Header/trailer fields land on `envelope`, matching the\n  body types, which exclude them by construction. Which tags count as envelope is decided by the\n  dictionary's header/trailer components (`Dictionary.envelopeTags()`), not by a fixed list.\n- **`switch (inbound.msgType)` narrows** once `isKnownInbound` has run. The guard is not\n  ceremony: an unrecognised `MsgType` cannot be a member of the message union — a `msgType:\nstring` member overlaps every literal, so no `case` eliminates it and its loose `get` makes\n  every branch uncallable — and it does not parse like one either, being read flat with no groups\n  reconstructed. `inboundTypeGuard` is the single-MsgType `if` form. Handle every message and\n  `default` narrows to `never`; handle a subset and it stays live and typed.\n- **It is a `MessageView`**, so a received message also renders: `inbound.render(envelope)`\n  re-emits the body under a fresh envelope — the useful shape for a proxy that re-signs what it\n  forwards. For a byte-exact echo, go through `toEncodeMessage(inbound.parsed)` instead:\n  `ParsedField.raw` is the round-trip source of truth, and a body carries the coerced value.\n- **Nothing is re-parsed or re-validated.** `toInbound` is a pure re-keying of what `parse`\n  produced; every diagnostic was already reported there, and `validate()` still runs against the\n  `ParsedMessage`, which stays reachable as `inbound.parsed`.\n- The engine façade mirrors it: `createFixEngine<MessageBodies>(dictionary)` binds `.inbound()`,\n  `.isInbound` and `.isKnown`.\n\nOne deliberate sharp edge: the body type of an un-narrowed inbound message is `any`, not a loose\nindex-signature type. A generated body is an `interface`, and TypeScript never gives an interface\nan implicit index signature — so no loose type is ever its supertype, and a guard narrowing _to_\none would silently produce an intersection whose loose `get` overload wins at every call site.\n`InboundBody` is exported for callers who mean not to narrow; pass it explicitly.\n\nExamples and the contribution guide live in the\n[monorepo](https://github.com/boarteam/fix-protocol).\n\n## FIX 5.0 SP2 / FIXT.1.1\n\nFIX 5.0 splits the wire into a session protocol (tag 8 carries `FIXT.1.1`) and an\napplication version negotiated via `DefaultApplVerID(1137)` / per-message `ApplVerID(1128)`.\nThe engine models that split first-class — every codec entry point accepts either a single\ndictionary or a **transport/application pair**:\n\n<!-- doc-typecheck\ndeclare const raw: string;\n-->\n\n```ts\nimport { createFixEngine } from '@boarteam/fix';\nimport { dictionary as fixt11 } from '@boarteam/fix-dict-fixt11';\nimport { dictionary as fix50sp2 } from '@boarteam/fix-dict-fix50sp2';\n\nconst fix = createFixEngine({ transport: fixt11, app: fix50sp2 });\nconst { message } = fix.parse(raw); // 8=FIXT.1.1 frames, SP2 bodies\nfor (const issue of fix.validate(message)) {\n  // issue.layer: 'session' findings → answer with a Reject(3);\n  //              'application' findings → a BusinessMessageReject(j).\n}\n```\n\nSession (admin) messages are transport-owned — an application-only field on one is flagged\n`validate/field-outside-layer` — and multi-version sessions route per message through an\noptional `resolveApp(applVerID)` hook with a caller-supplied `defaultApplVerID` (the engine\nholds no session state). Prefer a single dictionary? `@boarteam/fix-dict-fix50sp2` is the\npair pre-merged (a drop-in for `createFixEngine(dictionary)`), and\n`mergeFixtDictionaries(transport, app)` builds the same shape from your own app-layer\ndialect.\n\n## Documentation\n\nThe full documentation is at **[boar.team/fix/docs](https://boar.team/fix/docs/)** — guides for\n[parsing](https://boar.team/fix/docs/parse/), [validation](https://boar.team/fix/docs/validate/),\n[encoding](https://boar.team/fix/docs/encode/),\n[typed messages](https://boar.team/fix/docs/typed-messages/),\n[dictionary extensions](https://boar.team/fix/docs/extend/) and\n[choosing a dictionary](https://boar.team/fix/docs/dictionaries/). Every sample on those pages is\ncompiled and executed against the released package at build time, so they cannot drift from what\nyou install. Alongside them: a [catalogue of every issue code](https://boar.team/fix/diagnostics/)\n`parse` and `validate` can emit, a browser\n[playground](https://boar.team/fix/playground/) running this engine client-side, and a browsable\n[FIX dictionary reference](https://boar.team/fix/).\n\n### API reference & `dist/api.json`\n\nEvery export is documented, signature by signature, in the generated\n[API reference](https://boar.team/fix/docs/api/), and the tarball ships the model it is\nrendered from: `dist/api.json` — export names, verbatim signatures, doc comments, source\npositions, and the version each export first shipped in. The emitter gates this package's\nown CI (doc coverage, `{@link}` integrity, SemVer-checked API diffs), so the model is held\nto the code, not the other way round. Schema and guarantees:\n[`docs/api-json.md`](https://github.com/boarteam/fix-protocol/blob/main/docs/api-json.md).\n\n## License\n\n[Apache-2.0](./LICENSE) © Boar Team. See [`NOTICE`](./NOTICE). \"FIX\" is a trademark of FIX\nProtocol Limited; this is an independent project, not affiliated with or endorsed by it.\n","readmeFilename":"README.md"}