{"_id":"@jarenjs/josl","_rev":"26-65556d986d65313180ce8bed8b048b17","name":"@jarenjs/josl","dist-tags":{"latest":"0.91.4"},"versions":{"0.34.0":{"name":"@jarenjs/josl","version":"0.34.0","keywords":["jaren","josl","toml","jsonx","json","csv","streaming","incremental","real-time","structured-output","parser","llm"],"author":{"name":"joham"},"license":"MIT","_id":"@jarenjs/josl@0.34.0","maintainers":[{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"}],"homepage":"https://github.com/jklarenbeek/jarenjs#readme","bugs":{"url":"https://github.com/jklarenbeek/jarenjs/issues"},"dist":{"shasum":"bdcea95ea416e760cf7fee7ba8f679fc8e216487","tarball":"https://registry.npmjs.org/@jarenjs/josl/-/josl-0.34.0.tgz","fileCount":38,"integrity":"sha512-y+cszlUCUDS7gzfvqN/ITuBwCtSotBJdyTRJUhELUhAv8WZNdJkhGTct2/S9oCQdzTdOsTi10hN5f9LMXCup/g==","signatures":[{"sig":"MEUCIQDym+I8V/c2gxS8ESONITXVz0FXrloPD32aFGZsWNcCnwIgCMBpXCZt009C5b7csze5dn7Q/wBu9XCyA056i0UHJjM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":275464},"main":"./src/index.js","type":"module","types":"./dist/types/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/types/index.d.ts","default":"./src/index.js"},"./cst":{"types":"./dist/types/cst.d.ts","default":"./src/cst.js"},"./csv":{"types":"./dist/types/csv.d.ts","default":"./src/csv.js"},"./gbnf":{"types":"./dist/types/gbnf.d.ts","default":"./src/gbnf.js"},"./jsonx":{"types":"./dist/types/jsonx.d.ts","default":"./src/jsonx.js"},"./parse":{"types":"./dist/types/parse.d.ts","default":"./src/parse.js"},"./write":{"types":"./dist/types/write.d.ts","default":"./src/write.js"},"./stream":{"types":"./dist/types/stream.d.ts","default":"./src/stream.js"},"./values":{"types":"./dist/types/values.d.ts","default":"./src/values.js"},"./schemas/*":"./schemas/*","./stringify":{"types":"./dist/types/stringify.d.ts","default":"./src/stringify.js"},"./csv-stream":{"types":"./dist/types/csv-stream.d.ts","default":"./src/csv-stream.js"},"./jsonx-stream":{"types":"./dist/types/jsonx-stream.d.ts","default":"./src/jsonx-stream.js"},"./package.json":"./package.json"},"gitHead":"2c2376a53a0905e8adbca04e3cc2510c358d3462","private":false,"scripts":{"build":"npm run build:types","prepack":"npm run build:types","build:types":"tsc -p tsconfig.json"},"_npmUser":{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"},"repository":{"url":"git+https://github.com/jklarenbeek/jarenjs.git","type":"git","directory":"packages/josl"},"_npmVersion":"11.12.1","description":"JOSL - JavaScript Obvious Streaming Language. A TOML 1.0 backward-compatible data language with null, bigint, regexp, datetimes and root arrays as first class citizens, plus JSONX, the same extensions over JSON, and a self-healing CSV reader/writer - with","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"@jarenjs/core":"^0.34.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/josl_0.34.0_1786632501464_0.9636049228062746","host":"s3://npm-registry-packages-npm-production"}},"0.34.2":{"name":"@jarenjs/josl","version":"0.34.2","keywords":["jaren","josl","toml","jsonx","json","csv","streaming","incremental","real-time","structured-output","parser","llm"],"author":{"name":"joham"},"license":"MIT","_id":"@jarenjs/josl@0.34.2","maintainers":[{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"}],"homepage":"https://github.com/jklarenbeek/jarenjs#readme","bugs":{"url":"https://github.com/jklarenbeek/jarenjs/issues"},"dist":{"shasum":"ca9764e35b23e3dff7778f84f8dc6e3fe27ed93f","tarball":"https://registry.npmjs.org/@jarenjs/josl/-/josl-0.34.2.tgz","fileCount":38,"integrity":"sha512-0V5MW55HpSVioOTshxjLcvkiLpdE9jyY5vqqRgWSeP0Z0vGKKFnOsxo1kRKEWut7FKcYSsultmCTCnjj40DNUg==","signatures":[{"sig":"MEUCIQDBrSYB6dJtai7tJuUmUZAJ96CLsXSDzzUBCzlYFfXNSQIgb6rO1KShr/ZSHpdaktxrQNxiMm/qzHYWBoZ28+RJV84=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":275464},"main":"./src/index.js","type":"module","types":"./dist/types/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/types/index.d.ts","default":"./src/index.js"},"./cst":{"types":"./dist/types/cst.d.ts","default":"./src/cst.js"},"./csv":{"types":"./dist/types/csv.d.ts","default":"./src/csv.js"},"./gbnf":{"types":"./dist/types/gbnf.d.ts","default":"./src/gbnf.js"},"./jsonx":{"types":"./dist/types/jsonx.d.ts","default":"./src/jsonx.js"},"./parse":{"types":"./dist/types/parse.d.ts","default":"./src/parse.js"},"./write":{"types":"./dist/types/write.d.ts","default":"./src/write.js"},"./stream":{"types":"./dist/types/stream.d.ts","default":"./src/stream.js"},"./values":{"types":"./dist/types/values.d.ts","default":"./src/values.js"},"./schemas/*":"./schemas/*","./stringify":{"types":"./dist/types/stringify.d.ts","default":"./src/stringify.js"},"./csv-stream":{"types":"./dist/types/csv-stream.d.ts","default":"./src/csv-stream.js"},"./jsonx-stream":{"types":"./dist/types/jsonx-stream.d.ts","default":"./src/jsonx-stream.js"},"./package.json":"./package.json"},"gitHead":"50d115c4d4a0cdf96f0a9775bb55cd3ec1f1aeab","private":false,"scripts":{"build":"npm run build:types","prepack":"npm run build:types","build:types":"tsc -p tsconfig.json"},"_npmUser":{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"},"repository":{"url":"git+https://github.com/jklarenbeek/jarenjs.git","type":"git","directory":"packages/josl"},"_npmVersion":"11.12.1","description":"JOSL - JavaScript Obvious Streaming Language. A TOML 1.0 backward-compatible data language with null, bigint, regexp, datetimes and root arrays as first class citizens, plus JSONX, the same extensions over JSON, and a self-healing CSV reader/writer - with","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"@jarenjs/core":"^0.34.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/josl_0.34.2_1786889773917_0.8788415944434387","host":"s3://npm-registry-packages-npm-production"}},"0.43.1":{"name":"@jarenjs/josl","version":"0.43.1","keywords":["jaren","josl","toml","jsonx","json","csv","streaming","incremental","real-time","structured-output","parser","llm"],"author":{"name":"joham"},"license":"MIT","_id":"@jarenjs/josl@0.43.1","maintainers":[{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"}],"homepage":"https://github.com/jklarenbeek/jarenjs#readme","bugs":{"url":"https://github.com/jklarenbeek/jarenjs/issues"},"dist":{"shasum":"79a63377926ef6cac9333523979d5e1c09f69551","tarball":"https://registry.npmjs.org/@jarenjs/josl/-/josl-0.43.1.tgz","fileCount":38,"integrity":"sha512-UKVFLv9otkn5D8yGDJyPWP27YzHM3vDkQjOHSN5gLtpsQZ6nwgNRUxRYExcWNvKbhw/ZwYJuHV3S8UrXQ8Hz1Q==","signatures":[{"sig":"MEUCIQCLSgJyRrGPWDs/whQcSWsQwYi0z/gG6y2aa9pMwZa8sgIgCjWIswVrCPx2uHa7i8wSLlWHhS4sWEkiUuycBi8OkOs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":275464},"main":"./src/index.js","type":"module","types":"./dist/types/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/types/index.d.ts","default":"./src/index.js"},"./cst":{"types":"./dist/types/cst.d.ts","default":"./src/cst.js"},"./csv":{"types":"./dist/types/csv.d.ts","default":"./src/csv.js"},"./gbnf":{"types":"./dist/types/gbnf.d.ts","default":"./src/gbnf.js"},"./jsonx":{"types":"./dist/types/jsonx.d.ts","default":"./src/jsonx.js"},"./parse":{"types":"./dist/types/parse.d.ts","default":"./src/parse.js"},"./write":{"types":"./dist/types/write.d.ts","default":"./src/write.js"},"./stream":{"types":"./dist/types/stream.d.ts","default":"./src/stream.js"},"./values":{"types":"./dist/types/values.d.ts","default":"./src/values.js"},"./schemas/*":"./schemas/*","./stringify":{"types":"./dist/types/stringify.d.ts","default":"./src/stringify.js"},"./csv-stream":{"types":"./dist/types/csv-stream.d.ts","default":"./src/csv-stream.js"},"./jsonx-stream":{"types":"./dist/types/jsonx-stream.d.ts","default":"./src/jsonx-stream.js"},"./package.json":"./package.json"},"gitHead":"6e03d18fb68dd79a80c58f04f47901641901a2ec","private":false,"scripts":{"build":"npm run build:types","prepack":"npm run build:types","build:types":"tsc -p tsconfig.json"},"_npmUser":{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"},"repository":{"url":"git+https://github.com/jklarenbeek/jarenjs.git","type":"git","directory":"packages/josl"},"_npmVersion":"11.12.1","description":"JOSL - JavaScript Obvious Streaming Language. A TOML 1.0 backward-compatible data language with null, bigint, regexp, datetimes and root arrays as first class citizens, plus JSONX, the same extensions over JSON, and a self-healing CSV reader/writer - with","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"@jarenjs/core":"^0.43.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/josl_0.43.1_1787481711030_0.5030864428663018","host":"s3://npm-registry-packages-npm-production"}},"0.43.3":{"name":"@jarenjs/josl","version":"0.43.3","keywords":["jaren","josl","toml","jsonx","json","csv","streaming","incremental","real-time","structured-output","parser","llm"],"author":{"name":"joham"},"license":"MIT","_id":"@jarenjs/josl@0.43.3","maintainers":[{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"}],"homepage":"https://github.com/jklarenbeek/jarenjs#readme","bugs":{"url":"https://github.com/jklarenbeek/jarenjs/issues"},"dist":{"shasum":"794cde5377f13f7b6dfb1354bfba0da9d8ed58c3","tarball":"https://registry.npmjs.org/@jarenjs/josl/-/josl-0.43.3.tgz","fileCount":38,"integrity":"sha512-UH5xn0TBzfmilivDv5mtLsbfvsHubznttxnOdAo8jD+VGQZZ6oEpa4LzjEGvQ3AmWNflcY/UMrLU1I6iWei65w==","signatures":[{"sig":"MEQCIDDz4WB0oaVN1MQ1wbvWIsrdmNwNnLvibNWjJw9zsKhlAiBcnNvOcnQ+7IKj4kKSYtfdAEqg0l1zExE25Iqv06bDAA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":275464},"main":"./src/index.js","type":"module","types":"./dist/types/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/types/index.d.ts","default":"./src/index.js"},"./cst":{"types":"./dist/types/cst.d.ts","default":"./src/cst.js"},"./csv":{"types":"./dist/types/csv.d.ts","default":"./src/csv.js"},"./gbnf":{"types":"./dist/types/gbnf.d.ts","default":"./src/gbnf.js"},"./jsonx":{"types":"./dist/types/jsonx.d.ts","default":"./src/jsonx.js"},"./parse":{"types":"./dist/types/parse.d.ts","default":"./src/parse.js"},"./write":{"types":"./dist/types/write.d.ts","default":"./src/write.js"},"./stream":{"types":"./dist/types/stream.d.ts","default":"./src/stream.js"},"./values":{"types":"./dist/types/values.d.ts","default":"./src/values.js"},"./schemas/*":"./schemas/*","./stringify":{"types":"./dist/types/stringify.d.ts","default":"./src/stringify.js"},"./csv-stream":{"types":"./dist/types/csv-stream.d.ts","default":"./src/csv-stream.js"},"./jsonx-stream":{"types":"./dist/types/jsonx-stream.d.ts","default":"./src/jsonx-stream.js"},"./package.json":"./package.json"},"gitHead":"efd18dec49c026ddd9dd301cb17eb97e5feb1288","private":false,"scripts":{"build":"npm run build:types","prepack":"npm run build:types","build:types":"tsc -p tsconfig.json"},"_npmUser":{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"},"repository":{"url":"git+https://github.com/jklarenbeek/jarenjs.git","type":"git","directory":"packages/josl"},"_npmVersion":"11.12.1","description":"JOSL - JavaScript Obvious Streaming Language. A TOML 1.0 backward-compatible data language with null, bigint, regexp, datetimes and root arrays as first class citizens, plus JSONX, the same extensions over JSON, and a self-healing CSV reader/writer - with","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"@jarenjs/core":"^0.43.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/josl_0.43.3_1787588996758_0.7410761188159054","host":"s3://npm-registry-packages-npm-production"}},"0.46.4":{"name":"@jarenjs/josl","version":"0.46.4","keywords":["jaren","josl","toml","jsonx","json","csv","streaming","incremental","real-time","structured-output","parser","llm"],"author":{"name":"joham"},"license":"MIT","_id":"@jarenjs/josl@0.46.4","maintainers":[{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"}],"homepage":"https://github.com/jklarenbeek/jarenjs#readme","bugs":{"url":"https://github.com/jklarenbeek/jarenjs/issues"},"dist":{"shasum":"dd0f344ef108b3cb03852bc6edbe01acb7070ab7","tarball":"https://registry.npmjs.org/@jarenjs/josl/-/josl-0.46.4.tgz","fileCount":38,"integrity":"sha512-w0bM9StvfWhzQpP2sQa4qefDY6K3UeoDDdFzdZqU+bUdaUyRROKeAeICitDz8/NCO9uVv4hnHAiGb0uW4K1uTQ==","signatures":[{"sig":"MEYCIQCSUizrnahdjNuYZVzRvPoxMU1ieKvrlN6DHyi2Z8Xy1QIhAIhSNPstZye1WYm4PodkFR+YXCYPDlq9Kc2Im3Xk7L0l","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":275464},"main":"./src/index.js","type":"module","types":"./dist/types/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/types/index.d.ts","default":"./src/index.js"},"./cst":{"types":"./dist/types/cst.d.ts","default":"./src/cst.js"},"./csv":{"types":"./dist/types/csv.d.ts","default":"./src/csv.js"},"./gbnf":{"types":"./dist/types/gbnf.d.ts","default":"./src/gbnf.js"},"./jsonx":{"types":"./dist/types/jsonx.d.ts","default":"./src/jsonx.js"},"./parse":{"types":"./dist/types/parse.d.ts","default":"./src/parse.js"},"./write":{"types":"./dist/types/write.d.ts","default":"./src/write.js"},"./stream":{"types":"./dist/types/stream.d.ts","default":"./src/stream.js"},"./values":{"types":"./dist/types/values.d.ts","default":"./src/values.js"},"./schemas/*":"./schemas/*","./stringify":{"types":"./dist/types/stringify.d.ts","default":"./src/stringify.js"},"./csv-stream":{"types":"./dist/types/csv-stream.d.ts","default":"./src/csv-stream.js"},"./jsonx-stream":{"types":"./dist/types/jsonx-stream.d.ts","default":"./src/jsonx-stream.js"},"./package.json":"./package.json"},"gitHead":"e1dc4417ddc0acc42402e7486f45bbc5bff2cb41","private":false,"scripts":{"build":"npm run build:types","prepack":"npm run build:types","build:types":"tsc -p tsconfig.json"},"_npmUser":{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"},"repository":{"url":"git+https://github.com/jklarenbeek/jarenjs.git","type":"git","directory":"packages/josl"},"_npmVersion":"11.12.1","description":"JOSL - JavaScript Obvious Streaming Language. A TOML 1.0 backward-compatible data language with null, bigint, regexp, datetimes and root arrays as first class citizens, plus JSONX, the same extensions over JSON, and a self-healing CSV reader/writer - with","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"@jarenjs/core":"^0.46.4"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/josl_0.46.4_1787728835008_0.44977922997999764","host":"s3://npm-registry-packages-npm-production"}},"0.46.5":{"name":"@jarenjs/josl","version":"0.46.5","keywords":["jaren","josl","toml","jsonx","json","csv","streaming","incremental","real-time","structured-output","parser","llm"],"author":{"name":"joham"},"license":"MIT","_id":"@jarenjs/josl@0.46.5","maintainers":[{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"}],"homepage":"https://github.com/jklarenbeek/jarenjs#readme","bugs":{"url":"https://github.com/jklarenbeek/jarenjs/issues"},"dist":{"shasum":"93555d9c8bdc936c316a938433df2102e984209f","tarball":"https://registry.npmjs.org/@jarenjs/josl/-/josl-0.46.5.tgz","fileCount":38,"integrity":"sha512-iANmSvd/TpDodxqnw9aXYahxMegLs1II9N9Zpfu8G9OsdOVQdBEuZm3UK0nURDr+65tLQfbjBQqQelYqYKsM/g==","signatures":[{"sig":"MEUCIG8WCNUqU2F08D17pDFarjDMbHJBasfEmKGW5KAVs5pdAiEAixlUXQMlnLgeQASVyp+uJt8lUMmhcU9N7yfysWx4eMM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":275464},"main":"./src/index.js","type":"module","types":"./dist/types/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/types/index.d.ts","default":"./src/index.js"},"./cst":{"types":"./dist/types/cst.d.ts","default":"./src/cst.js"},"./csv":{"types":"./dist/types/csv.d.ts","default":"./src/csv.js"},"./gbnf":{"types":"./dist/types/gbnf.d.ts","default":"./src/gbnf.js"},"./jsonx":{"types":"./dist/types/jsonx.d.ts","default":"./src/jsonx.js"},"./parse":{"types":"./dist/types/parse.d.ts","default":"./src/parse.js"},"./write":{"types":"./dist/types/write.d.ts","default":"./src/write.js"},"./stream":{"types":"./dist/types/stream.d.ts","default":"./src/stream.js"},"./values":{"types":"./dist/types/values.d.ts","default":"./src/values.js"},"./schemas/*":"./schemas/*","./stringify":{"types":"./dist/types/stringify.d.ts","default":"./src/stringify.js"},"./csv-stream":{"types":"./dist/types/csv-stream.d.ts","default":"./src/csv-stream.js"},"./jsonx-stream":{"types":"./dist/types/jsonx-stream.d.ts","default":"./src/jsonx-stream.js"},"./package.json":"./package.json"},"gitHead":"0df1ef3a27b39e1408acf1ba2e63eed34b1c8621","private":false,"scripts":{"build":"npm run build:types","prepack":"npm run build:types","build:types":"tsc -p tsconfig.json"},"_npmUser":{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"},"repository":{"url":"git+https://github.com/jklarenbeek/jarenjs.git","type":"git","directory":"packages/josl"},"_npmVersion":"11.12.1","description":"JOSL - JavaScript Obvious Streaming Language. A TOML 1.0 backward-compatible data language with null, bigint, regexp, datetimes and root arrays as first class citizens, plus JSONX, the same extensions over JSON, and a self-healing CSV reader/writer - with","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"@jarenjs/core":"^0.46.5"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/josl_0.46.5_1787734477690_0.6291605502444173","host":"s3://npm-registry-packages-npm-production"}},"0.49.2":{"name":"@jarenjs/josl","version":"0.49.2","keywords":["jaren","josl","toml","jsonx","json","csv","streaming","incremental","real-time","structured-output","parser","llm"],"author":{"name":"joham"},"license":"MIT","_id":"@jarenjs/josl@0.49.2","maintainers":[{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"}],"homepage":"https://github.com/jklarenbeek/jarenjs#readme","bugs":{"url":"https://github.com/jklarenbeek/jarenjs/issues"},"dist":{"shasum":"03a3b60c372a78e588bda88db02fcfbad5aa509b","tarball":"https://registry.npmjs.org/@jarenjs/josl/-/josl-0.49.2.tgz","fileCount":38,"integrity":"sha512-GedlyHMdRoFsLAYIAnFF7uBbBjr0wTRAfQRb/6vn1HudTqIlc+SYNM5wKsxnRluVD39148ypd1Lp1BGmQAdqfQ==","signatures":[{"sig":"MEUCICMuqQium6PUaklTXH4/pRflOR3ocSTjB+6yMgM/dvpqAiEAqiAnZFqmRo7MzOPr3DGSCtm43kUCPBkrMhjgAEfIvTw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":275464},"main":"./src/index.js","type":"module","types":"./dist/types/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/types/index.d.ts","default":"./src/index.js"},"./cst":{"types":"./dist/types/cst.d.ts","default":"./src/cst.js"},"./csv":{"types":"./dist/types/csv.d.ts","default":"./src/csv.js"},"./gbnf":{"types":"./dist/types/gbnf.d.ts","default":"./src/gbnf.js"},"./jsonx":{"types":"./dist/types/jsonx.d.ts","default":"./src/jsonx.js"},"./parse":{"types":"./dist/types/parse.d.ts","default":"./src/parse.js"},"./write":{"types":"./dist/types/write.d.ts","default":"./src/write.js"},"./stream":{"types":"./dist/types/stream.d.ts","default":"./src/stream.js"},"./values":{"types":"./dist/types/values.d.ts","default":"./src/values.js"},"./schemas/*":"./schemas/*","./stringify":{"types":"./dist/types/stringify.d.ts","default":"./src/stringify.js"},"./csv-stream":{"types":"./dist/types/csv-stream.d.ts","default":"./src/csv-stream.js"},"./jsonx-stream":{"types":"./dist/types/jsonx-stream.d.ts","default":"./src/jsonx-stream.js"},"./package.json":"./package.json"},"gitHead":"15e048f0cba387991c17758f689e8fd3b306dea8","private":false,"scripts":{"build":"npm run build:types","prepack":"npm run build:types","build:types":"tsc -p tsconfig.json"},"_npmUser":{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"},"repository":{"url":"git+https://github.com/jklarenbeek/jarenjs.git","type":"git","directory":"packages/josl"},"_npmVersion":"11.12.1","description":"JOSL - JavaScript Obvious Streaming Language. A TOML 1.0 backward-compatible data language with null, bigint, regexp, datetimes and root arrays as first class citizens, plus JSONX, the same extensions over JSON, and a self-healing CSV reader/writer - with","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"@jarenjs/core":"^0.49.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/josl_0.49.2_1787775792583_0.24016990272857686","host":"s3://npm-registry-packages-npm-production"}},"0.56.0":{"name":"@jarenjs/josl","version":"0.56.0","keywords":["jaren","josl","toml","jsonx","json","csv","streaming","incremental","real-time","structured-output","parser","llm"],"author":{"name":"joham"},"license":"MIT","_id":"@jarenjs/josl@0.56.0","maintainers":[{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"}],"homepage":"https://github.com/jklarenbeek/jarenjs#readme","bugs":{"url":"https://github.com/jklarenbeek/jarenjs/issues"},"dist":{"shasum":"eae03f4c3a90fd57f5128a91c3b87e3da10c90c2","tarball":"https://registry.npmjs.org/@jarenjs/josl/-/josl-0.56.0.tgz","fileCount":38,"integrity":"sha512-XayLVjF9nGAuCJ+UxD5/opG/RJ44mHrY2yvWe1s0sh1+eqdgfnxBjLVE4hO+MqiBlepCbKLFeL4nh9CykntwFQ==","signatures":[{"sig":"MEUCICm1Iwl5rnq12f4KkK0XpIo/0lbfWtsG9AxyCwu1qFBFAiEAsYm+udGTjdwAfv30pjffwnKwsqWxIbjTXDkts6mkdcE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":275468},"main":"./src/index.js","type":"module","types":"./dist/types/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/types/index.d.ts","default":"./src/index.js"},"./cst":{"types":"./dist/types/cst.d.ts","default":"./src/cst.js"},"./csv":{"types":"./dist/types/csv.d.ts","default":"./src/csv.js"},"./gbnf":{"types":"./dist/types/gbnf.d.ts","default":"./src/gbnf.js"},"./jsonx":{"types":"./dist/types/jsonx.d.ts","default":"./src/jsonx.js"},"./parse":{"types":"./dist/types/parse.d.ts","default":"./src/parse.js"},"./write":{"types":"./dist/types/write.d.ts","default":"./src/write.js"},"./stream":{"types":"./dist/types/stream.d.ts","default":"./src/stream.js"},"./values":{"types":"./dist/types/values.d.ts","default":"./src/values.js"},"./schemas/*":"./schemas/*","./stringify":{"types":"./dist/types/stringify.d.ts","default":"./src/stringify.js"},"./csv-stream":{"types":"./dist/types/csv-stream.d.ts","default":"./src/csv-stream.js"},"./jsonx-stream":{"types":"./dist/types/jsonx-stream.d.ts","default":"./src/jsonx-stream.js"},"./package.json":"./package.json"},"gitHead":"74f70f52b57410763dab4c52173cf037da601e70","private":false,"scripts":{"build":"npm run build:types","prepack":"npm run build:types","build:types":"tsc -p tsconfig.json"},"_npmUser":{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"},"repository":{"url":"git+https://github.com/jklarenbeek/jarenjs.git","type":"git","directory":"packages/josl"},"_npmVersion":"11.12.1","description":"JOSL - JavaScript Obvious Streaming Language. A TOML 1.0 backward-compatible data language with null, bigint, regexp, datetimes and root arrays as first class citizens, plus JSONX, the same extensions over JSON, and a self-healing CSV reader/writer - with","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"@jarenjs/core":"^0.56.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/josl_0.56.0_1788053714793_0.8826474907831989","host":"s3://npm-registry-packages-npm-production"}},"0.66.1":{"name":"@jarenjs/josl","version":"0.66.1","keywords":["jaren","josl","toml","jsonx","json","csv","streaming","incremental","real-time","structured-output","parser","llm"],"author":{"name":"joham"},"license":"MIT","_id":"@jarenjs/josl@0.66.1","maintainers":[{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"}],"homepage":"https://github.com/jklarenbeek/jarenjs#readme","bugs":{"url":"https://github.com/jklarenbeek/jarenjs/issues"},"dist":{"shasum":"5867614109bf4704a645c514b710a684f32bb239","tarball":"https://registry.npmjs.org/@jarenjs/josl/-/josl-0.66.1.tgz","fileCount":42,"integrity":"sha512-7zsSWf2GLyOxY+pm7BPhTCO5WWYFw1/D1cGEWgMSOd8V1KU9yzmB+1T2uGP1jVvney9990RhkwJ4Y4q/vCu/Tw==","signatures":[{"sig":"MEUCIQD8+n1niDRFnZGfnKrjySmp7QWU6ipzTbUIGO5n5k+0jAIgAsDBxJV+kGjHvdKXu+QsNPwsrA0lLvUQ12O52qTVnUQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIDH1yBZwEg8Aq3smT2WJes24V05fIFpajna6rxWHyvXKAiB1032CfclJczZNphguSENOW9yLfMlbLbL7hVoCZrNEyw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":318549},"main":"./src/index.js","type":"module","types":"./dist/types/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/types/index.d.ts","default":"./src/index.js"},"./cst":{"types":"./dist/types/cst.d.ts","default":"./src/cst.js"},"./csv":{"types":"./dist/types/csv.d.ts","default":"./src/csv.js"},"./gbnf":{"types":"./dist/types/gbnf.d.ts","default":"./src/gbnf.js"},"./jsonx":{"types":"./dist/types/jsonx.d.ts","default":"./src/jsonx.js"},"./parse":{"types":"./dist/types/parse.d.ts","default":"./src/parse.js"},"./write":{"types":"./dist/types/write.d.ts","default":"./src/write.js"},"./stream":{"types":"./dist/types/stream.d.ts","default":"./src/stream.js"},"./values":{"types":"./dist/types/values.d.ts","default":"./src/values.js"},"./schemas/*":"./schemas/*","./stringify":{"types":"./dist/types/stringify.d.ts","default":"./src/stringify.js"},"./csv-stream":{"types":"./dist/types/csv-stream.d.ts","default":"./src/csv-stream.js"},"./jsonx-stream":{"types":"./dist/types/jsonx-stream.d.ts","default":"./src/jsonx-stream.js"},"./package.json":"./package.json"},"gitHead":"38bd730da099aff22b13944f85b691b0bd399bec","private":false,"scripts":{"build":"npm run build:types","prepack":"npm run build:types","build:types":"tsc -p tsconfig.json"},"_npmUser":{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"},"repository":{"url":"git+https://github.com/jklarenbeek/jarenjs.git","type":"git","directory":"packages/josl"},"_npmVersion":"11.12.1","description":"JOSL - JavaScript Obvious Streaming Language. A TOML 1.0 backward-compatible data language with null, bigint, regexp, datetimes and root arrays as first class citizens, plus JSONX, the same extensions over JSON, and a self-healing CSV reader/writer - with","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","dependencies":{"@jarenjs/core":"^0.66.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/josl_0.66.1_1788890953456_0.7383860013778631","host":"s3://npm-registry-packages-npm-production"}},"0.67.0":{"name":"@jarenjs/josl","version":"0.67.0","keywords":["jaren","josl","toml","jsonx","json","csv","streaming","incremental","real-time","structured-output","parser","llm"],"author":{"name":"joham"},"license":"MIT","_id":"@jarenjs/josl@0.67.0","maintainers":[{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"}],"homepage":"https://github.com/jklarenbeek/jarenjs#readme","bugs":{"url":"https://github.com/jklarenbeek/jarenjs/issues"},"dist":{"shasum":"6be68f987e8e92977b530857f3ca8864301e0fdf","tarball":"https://registry.npmjs.org/@jarenjs/josl/-/josl-0.67.0.tgz","fileCount":42,"integrity":"sha512-NN+qM8MWAI1aUZ/xakoX8kbw1TEq6DBh81vlyV9iVNcxOZ18VX+LNfthB0FvR9HRZ5qMWPfcun5m4v5BKucKtw==","signatures":[{"sig":"MEYCIQD0MVjqUzUWXXrINEt3zEkBzH9I3oK4Xs0V/NDVI+j8bwIhAMtQOsrvG5/H5UI8oftR0YGhcxZLZNV2x+fcg4RAAAT5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDC70xCSh1NtTiSlr8ATcyQNoV3N2xKXEtNY7cxxtSdAQIgP2P2sKFydsqJou9TazMbZUrEx4RnAQqbEBS+OfQIPgs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":318549},"main":"./src/index.js","type":"module","types":"./dist/types/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/types/index.d.ts","default":"./src/index.js"},"./cst":{"types":"./dist/types/cst.d.ts","default":"./src/cst.js"},"./csv":{"types":"./dist/types/csv.d.ts","default":"./src/csv.js"},"./gbnf":{"types":"./dist/types/gbnf.d.ts","default":"./src/gbnf.js"},"./jsonx":{"types":"./dist/types/jsonx.d.ts","default":"./src/jsonx.js"},"./parse":{"types":"./dist/types/parse.d.ts","default":"./src/parse.js"},"./write":{"types":"./dist/types/write.d.ts","default":"./src/write.js"},"./stream":{"types":"./dist/types/stream.d.ts","default":"./src/stream.js"},"./values":{"types":"./dist/types/values.d.ts","default":"./src/values.js"},"./schemas/*":"./schemas/*","./stringify":{"types":"./dist/types/stringify.d.ts","default":"./src/stringify.js"},"./csv-stream":{"types":"./dist/types/csv-stream.d.ts","default":"./src/csv-stream.js"},"./jsonx-stream":{"types":"./dist/types/jsonx-stream.d.ts","default":"./src/jsonx-stream.js"},"./package.json":"./package.json"},"gitHead":"78082760da582ed92ccb3f4dedbf550090f1f18f","private":false,"scripts":{"build":"npm run build:types","prepack":"npm run build:types","build:types":"tsc -p tsconfig.json"},"_npmUser":{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"},"repository":{"url":"git+https://github.com/jklarenbeek/jarenjs.git","type":"git","directory":"packages/josl"},"_npmVersion":"11.12.1","description":"JOSL - JavaScript Obvious Streaming Language. A TOML 1.0 backward-compatible data language with null, bigint, regexp, datetimes and root arrays as first class citizens, plus JSONX, the same extensions over JSON, and a self-healing CSV reader/writer - with","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","dependencies":{"@jarenjs/core":"^0.67.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/josl_0.67.0_1788896745742_0.44252423545296193","host":"s3://npm-registry-packages-npm-production"}},"0.72.0":{"name":"@jarenjs/josl","version":"0.72.0","keywords":["jaren","josl","toml","jsonx","json","csv","streaming","incremental","real-time","structured-output","parser","llm"],"author":{"name":"joham"},"license":"MIT","_id":"@jarenjs/josl@0.72.0","maintainers":[{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"}],"homepage":"https://github.com/jklarenbeek/jarenjs#readme","bugs":{"url":"https://github.com/jklarenbeek/jarenjs/issues"},"dist":{"shasum":"f8a3a3d4dc53e84f62ae57c987bc5bd8c2312860","tarball":"https://registry.npmjs.org/@jarenjs/josl/-/josl-0.72.0.tgz","fileCount":42,"integrity":"sha512-n7awnqdN1SnhK12V7cBchCTUXEhWbXUFdijt45Rs/o7yFnDhZl+7B5Y0l+xvazK3f2/x6as/24URlmwqTLP2aQ==","signatures":[{"sig":"MEQCICGV0EPjNbnfOplVVZnY4h8BNl3WhVjwZ+x9Xav3ePnpAiALVwK9WKDyn+NRafg4ylZnhvQne0ZwgK3nOpJFoLTSow==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIHsBelMBxGZh0y9FhJ9yPkxks1m1+s4MvU5pdYdt9k4XAiANeIxTbvAJCVEM9WhIB+lPasvSUisqjpwg/KvcKxZbZg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":318549},"main":"./src/index.js","type":"module","types":"./dist/types/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/types/index.d.ts","default":"./src/index.js"},"./cst":{"types":"./dist/types/cst.d.ts","default":"./src/cst.js"},"./csv":{"types":"./dist/types/csv.d.ts","default":"./src/csv.js"},"./gbnf":{"types":"./dist/types/gbnf.d.ts","default":"./src/gbnf.js"},"./jsonx":{"types":"./dist/types/jsonx.d.ts","default":"./src/jsonx.js"},"./parse":{"types":"./dist/types/parse.d.ts","default":"./src/parse.js"},"./write":{"types":"./dist/types/write.d.ts","default":"./src/write.js"},"./stream":{"types":"./dist/types/stream.d.ts","default":"./src/stream.js"},"./values":{"types":"./dist/types/values.d.ts","default":"./src/values.js"},"./schemas/*":"./schemas/*","./stringify":{"types":"./dist/types/stringify.d.ts","default":"./src/stringify.js"},"./csv-stream":{"types":"./dist/types/csv-stream.d.ts","default":"./src/csv-stream.js"},"./jsonx-stream":{"types":"./dist/types/jsonx-stream.d.ts","default":"./src/jsonx-stream.js"},"./package.json":"./package.json"},"gitHead":"661647bcd8ec149b3d466d3929ba3b5e7a2d267d","private":false,"scripts":{"build":"npm run build:types","prepack":"npm run build:types","build:types":"tsc -p tsconfig.json"},"_npmUser":{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"},"repository":{"url":"git+https://github.com/jklarenbeek/jarenjs.git","type":"git","directory":"packages/josl"},"_npmVersion":"11.12.1","description":"JOSL - JavaScript Obvious Streaming Language. A TOML 1.0 backward-compatible data language with null, bigint, regexp, datetimes and root arrays as first class citizens, plus JSONX, the same extensions over JSON, and a self-healing CSV reader/writer - with","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","dependencies":{"@jarenjs/core":"^0.72.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/josl_0.72.0_1788952409199_0.5975060419903755","host":"s3://npm-registry-packages-npm-production"}},"0.72.2":{"name":"@jarenjs/josl","version":"0.72.2","keywords":["jaren","josl","toml","jsonx","json","csv","streaming","incremental","real-time","structured-output","parser","llm"],"author":{"name":"joham"},"license":"MIT","_id":"@jarenjs/josl@0.72.2","maintainers":[{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"}],"homepage":"https://github.com/jklarenbeek/jarenjs#readme","bugs":{"url":"https://github.com/jklarenbeek/jarenjs/issues"},"dist":{"shasum":"42e3ec9c125560baa3438c0f6b289d34cd73e7f3","tarball":"https://registry.npmjs.org/@jarenjs/josl/-/josl-0.72.2.tgz","fileCount":42,"integrity":"sha512-16hF4TMXanDAWkRpZsqhJg5VByzUEU5Z0rqYcGuC6EOekBBJuBkFhBVCFG5OEutr8Qbk8CZ1PvP3LdFHTfz2EQ==","signatures":[{"sig":"MEQCIA3oaBjltaTMBMChuZtV+QropEeeihm5GW1HslWzERJtAiB2iahpjIROYLjsvxgVphg5lDV4FFBBUVHx5xmOCoG8ug==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCVtOCCCTiN692QoJkDj+5FQMVmGbyfksZy1xxdqpatgQIhANOWhSmYrmHCx5bJQjj9Meh7DOAZeseaQKHcMMwBsh3H","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":325313},"main":"./src/index.js","type":"module","types":"./dist/types/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/types/index.d.ts","default":"./src/index.js"},"./cst":{"types":"./dist/types/cst.d.ts","default":"./src/cst.js"},"./csv":{"types":"./dist/types/csv.d.ts","default":"./src/csv.js"},"./gbnf":{"types":"./dist/types/gbnf.d.ts","default":"./src/gbnf.js"},"./jsonx":{"types":"./dist/types/jsonx.d.ts","default":"./src/jsonx.js"},"./parse":{"types":"./dist/types/parse.d.ts","default":"./src/parse.js"},"./write":{"types":"./dist/types/write.d.ts","default":"./src/write.js"},"./stream":{"types":"./dist/types/stream.d.ts","default":"./src/stream.js"},"./values":{"types":"./dist/types/values.d.ts","default":"./src/values.js"},"./schemas/*":"./schemas/*","./stringify":{"types":"./dist/types/stringify.d.ts","default":"./src/stringify.js"},"./csv-stream":{"types":"./dist/types/csv-stream.d.ts","default":"./src/csv-stream.js"},"./jsonx-stream":{"types":"./dist/types/jsonx-stream.d.ts","default":"./src/jsonx-stream.js"},"./package.json":"./package.json"},"gitHead":"fe4a5f69ee8d59552c53795c279c46091aa3ff8c","private":false,"scripts":{"build":"npm run build:types","prepack":"npm run build:types","build:types":"tsc -p tsconfig.json"},"_npmUser":{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"},"repository":{"url":"git+https://github.com/jklarenbeek/jarenjs.git","type":"git","directory":"packages/josl"},"_npmVersion":"11.12.1","description":"JOSL - JavaScript Obvious Streaming Language. A TOML 1.0 backward-compatible data language with null, bigint, regexp, datetimes and root arrays as first class citizens, plus JSONX, the same extensions over JSON, and a self-healing CSV reader/writer - with","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","dependencies":{"@jarenjs/core":"^0.72.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/josl_0.72.2_1788964474855_0.62668372803442","host":"s3://npm-registry-packages-npm-production"}},"0.72.3":{"name":"@jarenjs/josl","version":"0.72.3","keywords":["jaren","josl","toml","jsonx","json","csv","streaming","incremental","real-time","structured-output","parser","llm"],"author":{"name":"joham"},"license":"MIT","_id":"@jarenjs/josl@0.72.3","maintainers":[{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"}],"homepage":"https://github.com/jklarenbeek/jarenjs#readme","bugs":{"url":"https://github.com/jklarenbeek/jarenjs/issues"},"dist":{"shasum":"e3b80555d9d4a20a527c7af5650e149305d1e9b7","tarball":"https://registry.npmjs.org/@jarenjs/josl/-/josl-0.72.3.tgz","fileCount":42,"integrity":"sha512-uwGW71wg/hj+DSzi7XMvBazTxf0BQyo+PiZAIEFcfKBlNDly8JJxVgBc3w9HkX6wOFqEM0A6DoW2ma37NwunQg==","signatures":[{"sig":"MEUCIQDh48q5NPOgQ8ESF1DtcjiXLCzTUA/fgJ5WejOhC8maugIgAvaKJa1jR7CXSVOxRJWeloPmNXZ1rvFIGzvStYJ3CXQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCuXvPvRGqiCFGD6zVEdlfxKwCptNDOtxHtoxlyiBmpxwIgVmBzEJ7kEd/GFsw0WojYcjSGgPCEYEJPVYIJKoNJjYs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":325313},"main":"./src/index.js","type":"module","types":"./dist/types/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/types/index.d.ts","default":"./src/index.js"},"./cst":{"types":"./dist/types/cst.d.ts","default":"./src/cst.js"},"./csv":{"types":"./dist/types/csv.d.ts","default":"./src/csv.js"},"./gbnf":{"types":"./dist/types/gbnf.d.ts","default":"./src/gbnf.js"},"./jsonx":{"types":"./dist/types/jsonx.d.ts","default":"./src/jsonx.js"},"./parse":{"types":"./dist/types/parse.d.ts","default":"./src/parse.js"},"./write":{"types":"./dist/types/write.d.ts","default":"./src/write.js"},"./stream":{"types":"./dist/types/stream.d.ts","default":"./src/stream.js"},"./values":{"types":"./dist/types/values.d.ts","default":"./src/values.js"},"./schemas/*":"./schemas/*","./stringify":{"types":"./dist/types/stringify.d.ts","default":"./src/stringify.js"},"./csv-stream":{"types":"./dist/types/csv-stream.d.ts","default":"./src/csv-stream.js"},"./jsonx-stream":{"types":"./dist/types/jsonx-stream.d.ts","default":"./src/jsonx-stream.js"},"./package.json":"./package.json"},"gitHead":"a5ef0d342fdb56b58f5bd1301af4a23d0cc3ec00","private":false,"scripts":{"build":"npm run build:types","prepack":"npm run build:types","build:types":"tsc -p tsconfig.json"},"_npmUser":{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"},"repository":{"url":"git+https://github.com/jklarenbeek/jarenjs.git","type":"git","directory":"packages/josl"},"_npmVersion":"11.12.1","description":"JOSL - JavaScript Obvious Streaming Language. A TOML 1.0 backward-compatible data language with null, bigint, regexp, datetimes and root arrays as first class citizens, plus JSONX, the same extensions over JSON, and a self-healing CSV reader/writer - with","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","dependencies":{"@jarenjs/core":"^0.72.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/josl_0.72.3_1788974068886_0.6030356364603853","host":"s3://npm-registry-packages-npm-production"}},"0.73.0":{"name":"@jarenjs/josl","version":"0.73.0","keywords":["jaren","josl","toml","jsonx","json","csv","streaming","incremental","real-time","structured-output","parser","llm"],"author":{"name":"joham"},"license":"MIT","_id":"@jarenjs/josl@0.73.0","maintainers":[{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"}],"homepage":"https://github.com/jklarenbeek/jarenjs#readme","bugs":{"url":"https://github.com/jklarenbeek/jarenjs/issues"},"dist":{"shasum":"b38d912c2d6745c032d825eb73bc3c1fff73ca61","tarball":"https://registry.npmjs.org/@jarenjs/josl/-/josl-0.73.0.tgz","fileCount":42,"integrity":"sha512-NxteHbpReWxJ8v0ID+goJdNcHQ5wqld+i03WLXlTM7W6rJs2IcQQw+FnP1bdRn7XuR9+nrSBg/bD4fZERho/WA==","signatures":[{"sig":"MEUCIElfZPWYUhpmhHGdW47WlJoSz7YnHaZfADGUTvYqa4hlAiEA2x1GcFhtD+gnTxuH9gkDz+ZXiZgWe3HaGJnyz/4U5b4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIAyk/04Q52QGV3owDoGGJDcu8ZusP+eNqDqgWrpNkC4ZAiEAi8cAwWBQ62XtnUdKtB5S00Qn7Kc555xtXodYuT/1m+w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":325313},"main":"./src/index.js","type":"module","types":"./dist/types/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/types/index.d.ts","default":"./src/index.js"},"./cst":{"types":"./dist/types/cst.d.ts","default":"./src/cst.js"},"./csv":{"types":"./dist/types/csv.d.ts","default":"./src/csv.js"},"./gbnf":{"types":"./dist/types/gbnf.d.ts","default":"./src/gbnf.js"},"./jsonx":{"types":"./dist/types/jsonx.d.ts","default":"./src/jsonx.js"},"./parse":{"types":"./dist/types/parse.d.ts","default":"./src/parse.js"},"./write":{"types":"./dist/types/write.d.ts","default":"./src/write.js"},"./stream":{"types":"./dist/types/stream.d.ts","default":"./src/stream.js"},"./values":{"types":"./dist/types/values.d.ts","default":"./src/values.js"},"./schemas/*":"./schemas/*","./stringify":{"types":"./dist/types/stringify.d.ts","default":"./src/stringify.js"},"./csv-stream":{"types":"./dist/types/csv-stream.d.ts","default":"./src/csv-stream.js"},"./jsonx-stream":{"types":"./dist/types/jsonx-stream.d.ts","default":"./src/jsonx-stream.js"},"./package.json":"./package.json"},"gitHead":"7f700942ad404a8203452f3b263b05c2aec2fe05","private":false,"scripts":{"build":"npm run build:types","prepack":"npm run build:types","build:types":"tsc -p tsconfig.json"},"_npmUser":{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"},"repository":{"url":"git+https://github.com/jklarenbeek/jarenjs.git","type":"git","directory":"packages/josl"},"_npmVersion":"11.12.1","description":"JOSL - JavaScript Obvious Streaming Language. A TOML 1.0 backward-compatible data language with null, bigint, regexp, datetimes and root arrays as first class citizens, plus JSONX, the same extensions over JSON, and a self-healing CSV reader/writer - with","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","dependencies":{"@jarenjs/core":"^0.73.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/josl_0.73.0_1788980527681_0.30320904770347346","host":"s3://npm-registry-packages-npm-production"}},"0.75.0":{"name":"@jarenjs/josl","version":"0.75.0","keywords":["jaren","josl","toml","jsonx","json","csv","streaming","incremental","real-time","structured-output","parser","llm"],"author":{"name":"joham"},"license":"MIT","_id":"@jarenjs/josl@0.75.0","maintainers":[{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"}],"homepage":"https://github.com/jklarenbeek/jarenjs#readme","bugs":{"url":"https://github.com/jklarenbeek/jarenjs/issues"},"dist":{"shasum":"89010ded72e5db868f3ff8dd93d0d972fcb15e1a","tarball":"https://registry.npmjs.org/@jarenjs/josl/-/josl-0.75.0.tgz","fileCount":42,"integrity":"sha512-X7b8sQHuLHIK9DiYKBALuzpPSw4Xr/pVHMhDM+lzSNcv9mco5X5uFeZ/dKrPZPGua8UgEKLmwu3dvxdM7QQPYg==","signatures":[{"sig":"MEQCIBDKXJCR65LFv93cyh1mzSrnsAjnqEMa8FLjdJXPLBk0AiAT25LKg6K5VVdRzHP9jY1Uio7DMaaUuuT5QeZEz4Bf+w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCgXvEFq/wvRQNTjJ6kVe6Lm6jcvvtx278Qod8G8OknagIhAMbMK1alemDTPLKjeRWWClW1vdSFpgynrTA6Y2P9pghr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":325313},"main":"./src/index.js","type":"module","types":"./dist/types/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/types/index.d.ts","default":"./src/index.js"},"./cst":{"types":"./dist/types/cst.d.ts","default":"./src/cst.js"},"./csv":{"types":"./dist/types/csv.d.ts","default":"./src/csv.js"},"./gbnf":{"types":"./dist/types/gbnf.d.ts","default":"./src/gbnf.js"},"./jsonx":{"types":"./dist/types/jsonx.d.ts","default":"./src/jsonx.js"},"./parse":{"types":"./dist/types/parse.d.ts","default":"./src/parse.js"},"./write":{"types":"./dist/types/write.d.ts","default":"./src/write.js"},"./stream":{"types":"./dist/types/stream.d.ts","default":"./src/stream.js"},"./values":{"types":"./dist/types/values.d.ts","default":"./src/values.js"},"./schemas/*":"./schemas/*","./stringify":{"types":"./dist/types/stringify.d.ts","default":"./src/stringify.js"},"./csv-stream":{"types":"./dist/types/csv-stream.d.ts","default":"./src/csv-stream.js"},"./jsonx-stream":{"types":"./dist/types/jsonx-stream.d.ts","default":"./src/jsonx-stream.js"},"./package.json":"./package.json"},"gitHead":"a50e9c57bc3e867529c18433a448178559d20c85","private":false,"scripts":{"build":"npm run build:types","prepack":"npm run build:types","build:types":"tsc -p tsconfig.json"},"_npmUser":{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"},"repository":{"url":"git+https://github.com/jklarenbeek/jarenjs.git","type":"git","directory":"packages/josl"},"_npmVersion":"11.12.1","description":"JOSL - JavaScript Obvious Streaming Language. A TOML 1.0 backward-compatible data language with null, bigint, regexp, datetimes and root arrays as first class citizens, plus JSONX, the same extensions over JSON, and a self-healing CSV reader/writer - with","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","dependencies":{"@jarenjs/core":"^0.75.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/josl_0.75.0_1788994551772_0.32755991900080383","host":"s3://npm-registry-packages-npm-production"}},"0.83.2":{"name":"@jarenjs/josl","version":"0.83.2","keywords":["jaren","josl","toml","jsonx","json","csv","streaming","incremental","real-time","structured-output","parser","llm"],"author":{"name":"joham"},"license":"MIT","_id":"@jarenjs/josl@0.83.2","maintainers":[{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"}],"homepage":"https://github.com/jklarenbeek/jarenjs#readme","bugs":{"url":"https://github.com/jklarenbeek/jarenjs/issues"},"dist":{"shasum":"a15df469080aa173439a7a2f7630a0f4b39078c2","tarball":"https://registry.npmjs.org/@jarenjs/josl/-/josl-0.83.2.tgz","fileCount":42,"integrity":"sha512-k8ghVwvA8ca0NbQ8jLfytBnQXcV/UTOZYSmRffWt/NN2Mqxipjsx7pC162ImeNBtL8HwasTb45Tf4c/IXZK0wA==","signatures":[{"sig":"MEYCIQD+BW2dRfQvSz+DXxheHfYkvOg7IcLn30NJunmZCtpf4gIhAIfFctgP8jeBOL42TrJbUA+Wz9I1pXAcrTKdUwSLHquI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDNMnvuzOkzCHxNdywrwup94GkVKnB7bdtWJWI3uTaAUgIgJGb1p//mCPFbZ6LukOMvO/vU5szDuVzJfo8t5bKbyB4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":325313},"main":"./src/index.js","type":"module","types":"./dist/types/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/types/index.d.ts","default":"./src/index.js"},"./cst":{"types":"./dist/types/cst.d.ts","default":"./src/cst.js"},"./csv":{"types":"./dist/types/csv.d.ts","default":"./src/csv.js"},"./gbnf":{"types":"./dist/types/gbnf.d.ts","default":"./src/gbnf.js"},"./jsonx":{"types":"./dist/types/jsonx.d.ts","default":"./src/jsonx.js"},"./parse":{"types":"./dist/types/parse.d.ts","default":"./src/parse.js"},"./write":{"types":"./dist/types/write.d.ts","default":"./src/write.js"},"./stream":{"types":"./dist/types/stream.d.ts","default":"./src/stream.js"},"./values":{"types":"./dist/types/values.d.ts","default":"./src/values.js"},"./schemas/*":"./schemas/*","./stringify":{"types":"./dist/types/stringify.d.ts","default":"./src/stringify.js"},"./csv-stream":{"types":"./dist/types/csv-stream.d.ts","default":"./src/csv-stream.js"},"./jsonx-stream":{"types":"./dist/types/jsonx-stream.d.ts","default":"./src/jsonx-stream.js"},"./package.json":"./package.json"},"gitHead":"f21b18fa123a6c72a0ca31dbad374ec5a8bf78ff","private":false,"scripts":{"build":"npm run build:types","prepack":"npm run build:types","build:types":"tsc -p tsconfig.json"},"_npmUser":{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"},"repository":{"url":"git+https://github.com/jklarenbeek/jarenjs.git","type":"git","directory":"packages/josl"},"_npmVersion":"11.12.1","description":"JOSL - JavaScript Obvious Streaming Language. A TOML 1.0 backward-compatible data language with null, bigint, regexp, datetimes and root arrays as first class citizens, plus JSONX, the same extensions over JSON, and a self-healing CSV reader/writer - with","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","dependencies":{"@jarenjs/core":"^0.83.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/josl_0.83.2_1789113307617_0.0238532778312881","host":"s3://npm-registry-packages-npm-production"}},"0.83.3":{"name":"@jarenjs/josl","version":"0.83.3","keywords":["jaren","josl","toml","jsonx","json","csv","streaming","incremental","real-time","structured-output","parser","llm"],"author":{"name":"joham"},"license":"MIT","_id":"@jarenjs/josl@0.83.3","maintainers":[{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"}],"homepage":"https://github.com/jklarenbeek/jarenjs#readme","bugs":{"url":"https://github.com/jklarenbeek/jarenjs/issues"},"dist":{"shasum":"088faf074c42324e35535b787128ea784cde65f6","tarball":"https://registry.npmjs.org/@jarenjs/josl/-/josl-0.83.3.tgz","fileCount":42,"integrity":"sha512-+jK5gwzxZkKi4dKmKxW1bLAKjNz7G/waQdVRQ7kMjp+x3hOEBqm1OHeNWU5aktPjGuJbU+t96FOv9NrsLOEF/g==","signatures":[{"sig":"MEQCIGsIGVnqJI9spxvcugD5gR3jyU1yLP1/Hd99axwLtOtPAiApftwEjVSVzMxgZmb4+dTl4MROnVXQUYDuU0llF1aa2A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQC5yhvzqrc2m8RnxMv5QPKuVIlDzuNl8fZs/8ZJCEiLPAIgLEyKlN1+D+Z70nf/u8zJAyV5+8ng4S/YxioyWlSycJo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":325313},"main":"./src/index.js","type":"module","types":"./dist/types/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/types/index.d.ts","default":"./src/index.js"},"./cst":{"types":"./dist/types/cst.d.ts","default":"./src/cst.js"},"./csv":{"types":"./dist/types/csv.d.ts","default":"./src/csv.js"},"./gbnf":{"types":"./dist/types/gbnf.d.ts","default":"./src/gbnf.js"},"./jsonx":{"types":"./dist/types/jsonx.d.ts","default":"./src/jsonx.js"},"./parse":{"types":"./dist/types/parse.d.ts","default":"./src/parse.js"},"./write":{"types":"./dist/types/write.d.ts","default":"./src/write.js"},"./stream":{"types":"./dist/types/stream.d.ts","default":"./src/stream.js"},"./values":{"types":"./dist/types/values.d.ts","default":"./src/values.js"},"./schemas/*":"./schemas/*","./stringify":{"types":"./dist/types/stringify.d.ts","default":"./src/stringify.js"},"./csv-stream":{"types":"./dist/types/csv-stream.d.ts","default":"./src/csv-stream.js"},"./jsonx-stream":{"types":"./dist/types/jsonx-stream.d.ts","default":"./src/jsonx-stream.js"},"./package.json":"./package.json"},"gitHead":"3491513e164dc30e429c84e709bd738841f4df16","private":false,"scripts":{"build":"npm run build:types","prepack":"npm run build:types","build:types":"tsc -p tsconfig.json"},"_npmUser":{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"},"repository":{"url":"git+https://github.com/jklarenbeek/jarenjs.git","type":"git","directory":"packages/josl"},"_npmVersion":"11.12.1","description":"JOSL - JavaScript Obvious Streaming Language. A TOML 1.0 backward-compatible data language with null, bigint, regexp, datetimes and root arrays as first class citizens, plus JSONX, the same extensions over JSON, and a self-healing CSV reader/writer - with","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","dependencies":{"@jarenjs/core":"^0.83.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/josl_0.83.3_1789132188021_0.05551839701024308","host":"s3://npm-registry-packages-npm-production"}},"0.84.3":{"name":"@jarenjs/josl","version":"0.84.3","keywords":["jaren","josl","toml","jsonx","json","csv","streaming","incremental","real-time","structured-output","parser","llm"],"author":{"name":"joham"},"license":"MIT","_id":"@jarenjs/josl@0.84.3","maintainers":[{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"}],"homepage":"https://github.com/jklarenbeek/jarenjs#readme","bugs":{"url":"https://github.com/jklarenbeek/jarenjs/issues"},"dist":{"shasum":"1e4a3c34fef1e035c584b3588d0032388814e43b","tarball":"https://registry.npmjs.org/@jarenjs/josl/-/josl-0.84.3.tgz","fileCount":42,"integrity":"sha512-osOYX7hubDR6fc+EVhskyeE5G4S9V3WZLxih4nhvG7B5MVe0IypmIVF5HoB5RoBP8Lwha1voKzgB9QjfxNuquw==","signatures":[{"sig":"MEQCIBluzkSGp0nmG5c5dtRlNWGgLfqG30YeLYOc1g/MexL8AiAo9XP2BWAFLmOf9kGJxP8/wOz/Z79TD6Rw9IxpCdNaEw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIEf6QWHfWU5LHpwyHdb+u3Ios7vzw49EtGm1ip1bUETxAiAX0tghM1BJ0JJC+h0uGXEx2w3oARERTAHXsx68ZqpDdQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":325306},"main":"./src/index.js","type":"module","types":"./dist/types/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/types/index.d.ts","default":"./src/index.js"},"./cst":{"types":"./dist/types/cst.d.ts","default":"./src/cst.js"},"./csv":{"types":"./dist/types/csv.d.ts","default":"./src/csv.js"},"./gbnf":{"types":"./dist/types/gbnf.d.ts","default":"./src/gbnf.js"},"./jsonx":{"types":"./dist/types/jsonx.d.ts","default":"./src/jsonx.js"},"./parse":{"types":"./dist/types/parse.d.ts","default":"./src/parse.js"},"./write":{"types":"./dist/types/write.d.ts","default":"./src/write.js"},"./stream":{"types":"./dist/types/stream.d.ts","default":"./src/stream.js"},"./values":{"types":"./dist/types/values.d.ts","default":"./src/values.js"},"./schemas/*":"./schemas/*","./stringify":{"types":"./dist/types/stringify.d.ts","default":"./src/stringify.js"},"./csv-stream":{"types":"./dist/types/csv-stream.d.ts","default":"./src/csv-stream.js"},"./jsonx-stream":{"types":"./dist/types/jsonx-stream.d.ts","default":"./src/jsonx-stream.js"},"./package.json":"./package.json"},"gitHead":"ac8749711f5d058251f72842ce7e0095b389403f","private":false,"scripts":{"build":"npm run build:types","prepack":"npm run build:types","build:types":"tsc -p tsconfig.json"},"_npmUser":{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"},"repository":{"url":"git+https://github.com/jklarenbeek/jarenjs.git","type":"git","directory":"packages/josl"},"_npmVersion":"11.12.1","description":"JOSL - JavaScript Obvious Streaming Language. A TOML 1.0 backward-compatible data language with null, bigint, regexp, datetimes and root arrays as first class citizens, plus JSONX, the same extensions over JSON, and a self-healing CSV reader/writer - with","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","dependencies":{"@jarenjs/core":"^0.84.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/josl_0.84.3_1789192021516_0.7507186002487856","host":"s3://npm-registry-packages-npm-production"}},"0.85.0":{"name":"@jarenjs/josl","version":"0.85.0","keywords":["jaren","josl","toml","jsonx","json","csv","streaming","incremental","real-time","structured-output","parser","llm"],"author":{"name":"joham"},"license":"MIT","_id":"@jarenjs/josl@0.85.0","maintainers":[{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"}],"homepage":"https://github.com/jklarenbeek/jarenjs#readme","bugs":{"url":"https://github.com/jklarenbeek/jarenjs/issues"},"dist":{"shasum":"3c88ab4c7f2955bc3f5bc4a6bcf4d895468e0666","tarball":"https://registry.npmjs.org/@jarenjs/josl/-/josl-0.85.0.tgz","fileCount":42,"integrity":"sha512-ARBMHDH+Ta9KIdzE8F39gUiSWCFx5BUZldIp7gYFMolaCE2E+wcdv5JkBfnYt83MXVH66sHW9beZpbL4Bq8+Nw==","signatures":[{"sig":"MEUCIEjFYGLYxFq4j0w0dmp+bppfjIQsqUeyf/tM3/Kp5wCiAiEAkPrVHR5xmvVDjT4GdabvZCMIRRe4rp+HRYqbxzFi53w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIELrPJ2BDXdtwO1GihEj6l3qeEUWVtK5BHQHrHV2PqwsAiBSpz7N/S8zDy5S1JCT9oGxgdhm9u/J+JuuzdFCWT7+ug==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":325306},"main":"./src/index.js","type":"module","types":"./dist/types/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/types/index.d.ts","default":"./src/index.js"},"./cst":{"types":"./dist/types/cst.d.ts","default":"./src/cst.js"},"./csv":{"types":"./dist/types/csv.d.ts","default":"./src/csv.js"},"./gbnf":{"types":"./dist/types/gbnf.d.ts","default":"./src/gbnf.js"},"./jsonx":{"types":"./dist/types/jsonx.d.ts","default":"./src/jsonx.js"},"./parse":{"types":"./dist/types/parse.d.ts","default":"./src/parse.js"},"./write":{"types":"./dist/types/write.d.ts","default":"./src/write.js"},"./stream":{"types":"./dist/types/stream.d.ts","default":"./src/stream.js"},"./values":{"types":"./dist/types/values.d.ts","default":"./src/values.js"},"./schemas/*":"./schemas/*","./stringify":{"types":"./dist/types/stringify.d.ts","default":"./src/stringify.js"},"./csv-stream":{"types":"./dist/types/csv-stream.d.ts","default":"./src/csv-stream.js"},"./jsonx-stream":{"types":"./dist/types/jsonx-stream.d.ts","default":"./src/jsonx-stream.js"},"./package.json":"./package.json"},"gitHead":"5765fba5ab5c1d390dc28316a4255b47cd0f6f8a","private":false,"scripts":{"build":"npm run build:types","prepack":"npm run build:types","build:types":"tsc -p tsconfig.json"},"_npmUser":{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"},"repository":{"url":"git+https://github.com/jklarenbeek/jarenjs.git","type":"git","directory":"packages/josl"},"_npmVersion":"11.12.1","description":"JOSL - JavaScript Obvious Streaming Language. A TOML 1.0 backward-compatible data language with null, bigint, regexp, datetimes and root arrays as first class citizens, plus JSONX, the same extensions over JSON, and a self-healing CSV reader/writer - with","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","dependencies":{"@jarenjs/core":"^0.85.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/josl_0.85.0_1789213969436_0.5059883773158871","host":"s3://npm-registry-packages-npm-production"}},"0.86.0":{"name":"@jarenjs/josl","version":"0.86.0","keywords":["jaren","josl","toml","jsonx","json","csv","streaming","incremental","real-time","structured-output","parser","llm"],"author":{"name":"joham"},"license":"MIT","_id":"@jarenjs/josl@0.86.0","maintainers":[{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"}],"homepage":"https://github.com/jklarenbeek/jarenjs#readme","bugs":{"url":"https://github.com/jklarenbeek/jarenjs/issues"},"dist":{"shasum":"8a8706db6ddf36be45ed5d155c94813498cfc35d","tarball":"https://registry.npmjs.org/@jarenjs/josl/-/josl-0.86.0.tgz","fileCount":42,"integrity":"sha512-E4swOgeJTqJ4bK/qmNbKVId4GktJcodw2hvWnFUmNirNL6K0CSR8IBZD1a78xSx3PbJBfFuR+6VM6VxWG8xp7w==","signatures":[{"sig":"MEUCIQDs6ovdPIRC36v44Rz0/el79nDQbjqwF2TVXLpgzpMk9QIgV2V8qB1RrCWnx15qnBU7zBOGqkziWRq1Y/eJbmdFpLE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIDp5pjG0UodjCYSTemPryrDZXRHfmULJQbcruXyRjBHwAiByxbeOV4kuB5O4RtrqyjNtzu8Yexj0eNl8lf1dTUMwSg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":325306},"main":"./src/index.js","type":"module","types":"./dist/types/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/types/index.d.ts","default":"./src/index.js"},"./cst":{"types":"./dist/types/cst.d.ts","default":"./src/cst.js"},"./csv":{"types":"./dist/types/csv.d.ts","default":"./src/csv.js"},"./gbnf":{"types":"./dist/types/gbnf.d.ts","default":"./src/gbnf.js"},"./jsonx":{"types":"./dist/types/jsonx.d.ts","default":"./src/jsonx.js"},"./parse":{"types":"./dist/types/parse.d.ts","default":"./src/parse.js"},"./write":{"types":"./dist/types/write.d.ts","default":"./src/write.js"},"./stream":{"types":"./dist/types/stream.d.ts","default":"./src/stream.js"},"./values":{"types":"./dist/types/values.d.ts","default":"./src/values.js"},"./schemas/*":"./schemas/*","./stringify":{"types":"./dist/types/stringify.d.ts","default":"./src/stringify.js"},"./csv-stream":{"types":"./dist/types/csv-stream.d.ts","default":"./src/csv-stream.js"},"./jsonx-stream":{"types":"./dist/types/jsonx-stream.d.ts","default":"./src/jsonx-stream.js"},"./package.json":"./package.json"},"gitHead":"ce489546f21a176a2574169b65b95f9dc15461f7","private":false,"scripts":{"build":"npm run build:types","prepack":"npm run build:types","build:types":"tsc -p tsconfig.json"},"_npmUser":{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"},"repository":{"url":"git+https://github.com/jklarenbeek/jarenjs.git","type":"git","directory":"packages/josl"},"_npmVersion":"11.12.1","description":"JOSL - JavaScript Obvious Streaming Language. A TOML 1.0 backward-compatible data language with null, bigint, regexp, datetimes and root arrays as first class citizens, plus JSONX, the same extensions over JSON, and a self-healing CSV reader/writer - with","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","dependencies":{"@jarenjs/core":"^0.86.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/josl_0.86.0_1789221926451_0.15378873197428122","host":"s3://npm-registry-packages-npm-production"}},"0.87.0":{"name":"@jarenjs/josl","version":"0.87.0","keywords":["jaren","josl","toml","jsonx","json","csv","streaming","incremental","real-time","structured-output","parser","llm"],"author":{"name":"joham"},"license":"MIT","_id":"@jarenjs/josl@0.87.0","maintainers":[{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"}],"homepage":"https://github.com/jklarenbeek/jarenjs#readme","bugs":{"url":"https://github.com/jklarenbeek/jarenjs/issues"},"dist":{"shasum":"3b6eca0764bd38d0b11c214b10cb42ea2d47324a","tarball":"https://registry.npmjs.org/@jarenjs/josl/-/josl-0.87.0.tgz","fileCount":42,"integrity":"sha512-dFy2gp5PH4EuvE22OxsbmschDtIehn20CH4oUR5jwkwWvPrpPg+8HBNciE1r2kWBiuhkxwbAAJJI2lT8mG3gTA==","signatures":[{"sig":"MEQCIBSZFGCW6BxDsGhPmLMTEyq/mFuKp/Anj9Hy+DB7/aHmAiAbIko9IxvdFHyom/JzXxNd9UibWwb0bH+6tqGapU/+hQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDGWKZZxVJHBun2IsyD9d6ozoTOXEVxONfjYgWMzjpM1QIgB/Xt3I4WFt+reo1sE9SsltFTpF5yDXG8MKMTeJRvzis=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":325306},"main":"./src/index.js","type":"module","types":"./dist/types/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/types/index.d.ts","default":"./src/index.js"},"./cst":{"types":"./dist/types/cst.d.ts","default":"./src/cst.js"},"./csv":{"types":"./dist/types/csv.d.ts","default":"./src/csv.js"},"./gbnf":{"types":"./dist/types/gbnf.d.ts","default":"./src/gbnf.js"},"./jsonx":{"types":"./dist/types/jsonx.d.ts","default":"./src/jsonx.js"},"./parse":{"types":"./dist/types/parse.d.ts","default":"./src/parse.js"},"./write":{"types":"./dist/types/write.d.ts","default":"./src/write.js"},"./stream":{"types":"./dist/types/stream.d.ts","default":"./src/stream.js"},"./values":{"types":"./dist/types/values.d.ts","default":"./src/values.js"},"./schemas/*":"./schemas/*","./stringify":{"types":"./dist/types/stringify.d.ts","default":"./src/stringify.js"},"./csv-stream":{"types":"./dist/types/csv-stream.d.ts","default":"./src/csv-stream.js"},"./jsonx-stream":{"types":"./dist/types/jsonx-stream.d.ts","default":"./src/jsonx-stream.js"},"./package.json":"./package.json"},"gitHead":"9b67ed8cb88d2dbe95cb3eb5fe0ac88cfb70f347","private":false,"scripts":{"build":"npm run build:types","prepack":"npm run build:types","build:types":"tsc -p tsconfig.json"},"_npmUser":{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"},"repository":{"url":"git+https://github.com/jklarenbeek/jarenjs.git","type":"git","directory":"packages/josl"},"_npmVersion":"11.12.1","description":"JOSL - JavaScript Obvious Streaming Language. A TOML 1.0 backward-compatible data language with null, bigint, regexp, datetimes and root arrays as first class citizens, plus JSONX, the same extensions over JSON, and a self-healing CSV reader/writer - with","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","dependencies":{"@jarenjs/core":"^0.87.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/josl_0.87.0_1789243341923_0.503267893689842","host":"s3://npm-registry-packages-npm-production"}},"0.89.0":{"name":"@jarenjs/josl","version":"0.89.0","keywords":["jaren","josl","toml","jsonx","json","csv","streaming","incremental","real-time","structured-output","parser","llm"],"author":{"name":"joham"},"license":"MIT","_id":"@jarenjs/josl@0.89.0","maintainers":[{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"}],"homepage":"https://github.com/jklarenbeek/jarenjs#readme","bugs":{"url":"https://github.com/jklarenbeek/jarenjs/issues"},"dist":{"shasum":"c7b81b85be89449954f3f5e878503d10ec41f29f","tarball":"https://registry.npmjs.org/@jarenjs/josl/-/josl-0.89.0.tgz","fileCount":42,"integrity":"sha512-8yVlshDOVkbswKcyBAecigPlGUDLV8pUhhzR9jXDtycIga9caDj7t35PJksFRyYJRCLbW/Yhs7MyE9EGWAAzqA==","signatures":[{"sig":"MEYCIQC2lF7woB51R4Lccebyja7SHuuVMTemOkKCZQKqmFqeVAIhAMZCpH1m81OhPBfoeShiRQTLNyOtBAwz799Z54vV4dI6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIFpBtcj/avbHFkeb5redakdMdpOxcvHpZnqll8Ohe+dtAiBR0E52rASBjPswx1VPl3BnGuUFmmS9eo6exxbasquTCQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":325492},"main":"./src/index.js","type":"module","types":"./dist/types/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/types/index.d.ts","default":"./src/index.js"},"./cst":{"types":"./dist/types/cst.d.ts","default":"./src/cst.js"},"./csv":{"types":"./dist/types/csv.d.ts","default":"./src/csv.js"},"./gbnf":{"types":"./dist/types/gbnf.d.ts","default":"./src/gbnf.js"},"./jsonx":{"types":"./dist/types/jsonx.d.ts","default":"./src/jsonx.js"},"./parse":{"types":"./dist/types/parse.d.ts","default":"./src/parse.js"},"./write":{"types":"./dist/types/write.d.ts","default":"./src/write.js"},"./stream":{"types":"./dist/types/stream.d.ts","default":"./src/stream.js"},"./values":{"types":"./dist/types/values.d.ts","default":"./src/values.js"},"./schemas/*":"./schemas/*","./stringify":{"types":"./dist/types/stringify.d.ts","default":"./src/stringify.js"},"./csv-stream":{"types":"./dist/types/csv-stream.d.ts","default":"./src/csv-stream.js"},"./jsonx-stream":{"types":"./dist/types/jsonx-stream.d.ts","default":"./src/jsonx-stream.js"},"./package.json":"./package.json"},"gitHead":"41f5a36eccd43591d7c04d9116a6d210617e9146","private":false,"scripts":{"build":"npm run build:types","prepack":"npm run build:types","build:types":"tsc -p tsconfig.json"},"_npmUser":{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"},"repository":{"url":"git+https://github.com/jklarenbeek/jarenjs.git","type":"git","directory":"packages/josl"},"_npmVersion":"11.12.1","description":"JOSL - JavaScript Obvious Streaming Language. A TOML 1.0 backward-compatible data language with null, bigint, regexp, datetimes and root arrays as first class citizens, plus JSONX, the same extensions over JSON, and a self-healing CSV reader/writer - with","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","dependencies":{"@jarenjs/core":"^0.89.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/josl_0.89.0_1789288828571_0.86108920198368","host":"s3://npm-registry-packages-npm-production"}},"0.90.6":{"name":"@jarenjs/josl","version":"0.90.6","keywords":["jaren","josl","toml","jsonx","json","csv","streaming","incremental","real-time","structured-output","parser","llm"],"author":{"name":"joham"},"license":"MIT","_id":"@jarenjs/josl@0.90.6","maintainers":[{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"}],"homepage":"https://github.com/jklarenbeek/jarenjs#readme","bugs":{"url":"https://github.com/jklarenbeek/jarenjs/issues"},"dist":{"shasum":"0d349d088d13bcdac8f1868cd33f6a7f0825ab2b","tarball":"https://registry.npmjs.org/@jarenjs/josl/-/josl-0.90.6.tgz","fileCount":42,"integrity":"sha512-dxqgCKG4AcQxuyq/UoXyd6yeLwyYDM8gyizbLOxOnfAsU1EHUECD14ylL9G4o8UadwheIZzSTSryf5yNL5z95Q==","signatures":[{"sig":"MEUCIQD0BHIg+JgfFMxXmeafJ+wUGLYkbfw1p+7eOO/BWgchhAIgBnyD6f+EFvUMCPp3b5UGVHQ5YKyFgaoPtrM6xk3S9x0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCX3uU5dDoeC5cUtufbrAKEz+5v6Wv00+Xy31rEpMQqawIhAKUWjZ6eUZbAro4mHpoMwY/gsWiTR2yfW3vtM3Mi3Qjf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":328920},"main":"./src/index.js","type":"module","types":"./dist/types/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/types/index.d.ts","default":"./src/index.js"},"./cst":{"types":"./dist/types/cst.d.ts","default":"./src/cst.js"},"./csv":{"types":"./dist/types/csv.d.ts","default":"./src/csv.js"},"./gbnf":{"types":"./dist/types/gbnf.d.ts","default":"./src/gbnf.js"},"./jsonx":{"types":"./dist/types/jsonx.d.ts","default":"./src/jsonx.js"},"./parse":{"types":"./dist/types/parse.d.ts","default":"./src/parse.js"},"./write":{"types":"./dist/types/write.d.ts","default":"./src/write.js"},"./stream":{"types":"./dist/types/stream.d.ts","default":"./src/stream.js"},"./values":{"types":"./dist/types/values.d.ts","default":"./src/values.js"},"./schemas/*":"./schemas/*","./stringify":{"types":"./dist/types/stringify.d.ts","default":"./src/stringify.js"},"./csv-stream":{"types":"./dist/types/csv-stream.d.ts","default":"./src/csv-stream.js"},"./jsonx-stream":{"types":"./dist/types/jsonx-stream.d.ts","default":"./src/jsonx-stream.js"},"./package.json":"./package.json"},"gitHead":"37ba1676dab7868b168858b413a3ec647eebefdd","private":false,"scripts":{"build":"npm run build:types","prepack":"npm run build:types","build:types":"tsc -p tsconfig.json"},"_npmUser":{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"},"repository":{"url":"git+https://github.com/jklarenbeek/jarenjs.git","type":"git","directory":"packages/josl"},"_npmVersion":"11.12.1","description":"JOSL - JavaScript Obvious Streaming Language. A TOML 1.0 backward-compatible data language with null, bigint, regexp, datetimes and root arrays as first class citizens, plus JSONX, the same extensions over JSON, and a self-healing CSV reader/writer - with","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","dependencies":{"@jarenjs/core":"^0.90.6"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/josl_0.90.6_1789444559748_0.9411261823414692","host":"s3://npm-registry-packages-npm-production"}},"0.91.2":{"name":"@jarenjs/josl","version":"0.91.2","keywords":["jaren","josl","toml","jsonx","json","csv","streaming","incremental","real-time","structured-output","parser","llm"],"author":{"name":"joham"},"license":"MIT","_id":"@jarenjs/josl@0.91.2","maintainers":[{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"}],"homepage":"https://github.com/jklarenbeek/jarenjs#readme","bugs":{"url":"https://github.com/jklarenbeek/jarenjs/issues"},"dist":{"shasum":"16c506c806250afffc8d4a15f1cacdd8f2726ba8","tarball":"https://registry.npmjs.org/@jarenjs/josl/-/josl-0.91.2.tgz","fileCount":42,"integrity":"sha512-9wHxOIKuejz/lViJoN2JcOPHUrCTvuoZZQH7fifHtr9SPEiOXA8Ao7fs3j+WTVaN2F14HVOSPrMgmurzvhJqyQ==","signatures":[{"sig":"MEUCICc5g7daJVNB06xcrDQTvZgbsgPUW6M62cNn/S9slKreAiEA7qMJB6/TuloQf4AB8VHfj/dScRdVWQ9a+pG2KtfTqgo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIES9kTlxDkLLpZcIc7bgMtHxVsaHJeB6NyLFoxzEJi0pAiEAi7xRybNP733xr2UnZ2bueCd9iwl0lKCmbj7FEILLugY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":328920},"main":"./src/index.js","type":"module","types":"./dist/types/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/types/index.d.ts","default":"./src/index.js"},"./cst":{"types":"./dist/types/cst.d.ts","default":"./src/cst.js"},"./csv":{"types":"./dist/types/csv.d.ts","default":"./src/csv.js"},"./gbnf":{"types":"./dist/types/gbnf.d.ts","default":"./src/gbnf.js"},"./jsonx":{"types":"./dist/types/jsonx.d.ts","default":"./src/jsonx.js"},"./parse":{"types":"./dist/types/parse.d.ts","default":"./src/parse.js"},"./write":{"types":"./dist/types/write.d.ts","default":"./src/write.js"},"./stream":{"types":"./dist/types/stream.d.ts","default":"./src/stream.js"},"./values":{"types":"./dist/types/values.d.ts","default":"./src/values.js"},"./schemas/*":"./schemas/*","./stringify":{"types":"./dist/types/stringify.d.ts","default":"./src/stringify.js"},"./csv-stream":{"types":"./dist/types/csv-stream.d.ts","default":"./src/csv-stream.js"},"./jsonx-stream":{"types":"./dist/types/jsonx-stream.d.ts","default":"./src/jsonx-stream.js"},"./package.json":"./package.json"},"gitHead":"74036c063c5a4efa8c41aa878713d405223cc464","private":false,"scripts":{"build":"npm run build:types","prepack":"npm run build:types","build:types":"tsc -p tsconfig.json"},"_npmUser":{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"},"repository":{"url":"git+https://github.com/jklarenbeek/jarenjs.git","type":"git","directory":"packages/josl"},"_npmVersion":"11.12.1","description":"JOSL - JavaScript Obvious Streaming Language. A TOML 1.0 backward-compatible data language with null, bigint, regexp, datetimes and root arrays as first class citizens, plus JSONX, the same extensions over JSON, and a self-healing CSV reader/writer - with","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","dependencies":{"@jarenjs/core":"^0.91.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/josl_0.91.2_1789572400322_0.055946564934968634","host":"s3://npm-registry-packages-npm-production"}},"0.91.3":{"name":"@jarenjs/josl","version":"0.91.3","keywords":["jaren","josl","toml","jsonx","json","csv","streaming","incremental","real-time","structured-output","parser","llm"],"author":{"name":"joham"},"license":"MIT","_id":"@jarenjs/josl@0.91.3","maintainers":[{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"}],"homepage":"https://github.com/jklarenbeek/jarenjs#readme","bugs":{"url":"https://github.com/jklarenbeek/jarenjs/issues"},"dist":{"shasum":"864688e30e7f8e31c5df3a7849ebb376dc8910b1","tarball":"https://registry.npmjs.org/@jarenjs/josl/-/josl-0.91.3.tgz","fileCount":42,"integrity":"sha512-nN0iqPqNCDLAOC7XODr2+HFWVJi1GHNLbGfftqLzF0o3vW3xUmK2XTAl0euS8GLTGFXW54C9LhqOkurqjVPb9Q==","signatures":[{"sig":"MEUCIEzfYA7AdY2koSvzfvtNAlh73YoafwWsf0fMoxJCZoxgAiEA0y6LNJCds4E2EbDedW9zNfusP9u7SXwfPI/+zHo4zDc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIErEpQjdo/+SaSWIrjgMZl2ttTH2VzOh4tvzeuAf2yBsAiAkeCkmJBh+wFg/vwyQTEsIpFAbT/TuXbrzOVSxR72h7Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":328920},"main":"./src/index.js","type":"module","types":"./dist/types/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/types/index.d.ts","default":"./src/index.js"},"./cst":{"types":"./dist/types/cst.d.ts","default":"./src/cst.js"},"./csv":{"types":"./dist/types/csv.d.ts","default":"./src/csv.js"},"./gbnf":{"types":"./dist/types/gbnf.d.ts","default":"./src/gbnf.js"},"./jsonx":{"types":"./dist/types/jsonx.d.ts","default":"./src/jsonx.js"},"./parse":{"types":"./dist/types/parse.d.ts","default":"./src/parse.js"},"./write":{"types":"./dist/types/write.d.ts","default":"./src/write.js"},"./stream":{"types":"./dist/types/stream.d.ts","default":"./src/stream.js"},"./values":{"types":"./dist/types/values.d.ts","default":"./src/values.js"},"./schemas/*":"./schemas/*","./stringify":{"types":"./dist/types/stringify.d.ts","default":"./src/stringify.js"},"./csv-stream":{"types":"./dist/types/csv-stream.d.ts","default":"./src/csv-stream.js"},"./jsonx-stream":{"types":"./dist/types/jsonx-stream.d.ts","default":"./src/jsonx-stream.js"},"./package.json":"./package.json"},"gitHead":"1577600d98b9ef23381843911958aab10728707f","private":false,"scripts":{"build":"npm run build:types","prepack":"npm run build:types","build:types":"tsc -p tsconfig.json"},"_npmUser":{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"},"repository":{"url":"git+https://github.com/jklarenbeek/jarenjs.git","type":"git","directory":"packages/josl"},"_npmVersion":"11.12.1","description":"JOSL - JavaScript Obvious Streaming Language. A TOML 1.0 backward-compatible data language with null, bigint, regexp, datetimes and root arrays as first class citizens, plus JSONX, the same extensions over JSON, and a self-healing CSV reader/writer - with","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","dependencies":{"@jarenjs/core":"^0.91.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/josl_0.91.3_1789659302245_0.4305325963251918","host":"s3://npm-registry-packages-npm-production"}},"0.91.4":{"_id":"@jarenjs/josl@0.91.4","bugs":{"url":"https://github.com/jklarenbeek/jarenjs/issues"},"dist":{"shasum":"37fc3975313e63a8029ec3f81e165c42efebac88","tarball":"https://registry.npmjs.org/@jarenjs/josl/-/josl-0.91.4.tgz","fileCount":42,"integrity":"sha512-kx+bVfj8vljzzQ+q7gXevMDXy98UASnVSsA6BsJMIEhw9NyZC/Ws/guzGHWuwPiM0iNNntHir0k9vtnuAu5lrQ==","signatures":[{"sig":"MEQCIASH2GuRhz04oJxmp3bDBOv67ryo6uUYybn4C6K5m0biAiAySMvuyaJ38ShETlMHka5iJ057tnC7d7ZrCuO75GexiQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCvETM28yFqTIgbWHcBujpX55rQnGq7NR8fYS1YgllF7QIhALBscnu5RNDetFeGjpcRgtjDD9dW7ajzV6clyV4xj1Mh"}],"unpackedSize":328920},"main":"./src/index.js","name":"@jarenjs/josl","type":"module","types":"./dist/types/index.d.ts","author":{"name":"joham"},"engines":{"node":">=24"},"exports":{".":{"types":"./dist/types/index.d.ts","default":"./src/index.js"},"./cst":{"types":"./dist/types/cst.d.ts","default":"./src/cst.js"},"./csv":{"types":"./dist/types/csv.d.ts","default":"./src/csv.js"},"./gbnf":{"types":"./dist/types/gbnf.d.ts","default":"./src/gbnf.js"},"./jsonx":{"types":"./dist/types/jsonx.d.ts","default":"./src/jsonx.js"},"./parse":{"types":"./dist/types/parse.d.ts","default":"./src/parse.js"},"./write":{"types":"./dist/types/write.d.ts","default":"./src/write.js"},"./stream":{"types":"./dist/types/stream.d.ts","default":"./src/stream.js"},"./values":{"types":"./dist/types/values.d.ts","default":"./src/values.js"},"./schemas/*":"./schemas/*","./stringify":{"types":"./dist/types/stringify.d.ts","default":"./src/stringify.js"},"./csv-stream":{"types":"./dist/types/csv-stream.d.ts","default":"./src/csv-stream.js"},"./jsonx-stream":{"types":"./dist/types/jsonx-stream.d.ts","default":"./src/jsonx-stream.js"},"./package.json":"./package.json"},"gitHead":"30ec046081c02c80ad1916569c45e134e33fb82b","license":"MIT","private":false,"scripts":{"build":"npm run build:types","prepack":"npm run build:types","build:types":"tsc -p tsconfig.json"},"version":"0.91.4","_npmUser":{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"},"homepage":"https://github.com/jklarenbeek/jarenjs#readme","keywords":["jaren","josl","toml","jsonx","json","csv","streaming","incremental","real-time","structured-output","parser","llm"],"repository":{"url":"git+https://github.com/jklarenbeek/jarenjs.git","type":"git","directory":"packages/josl"},"_npmVersion":"11.12.1","description":"JOSL - JavaScript Obvious Streaming Language. A TOML 1.0 backward-compatible data language with null, bigint, regexp, datetimes and root arrays as first class citizens, plus JSONX, the same extensions over JSON, and a self-healing CSV reader/writer - with","directories":{},"maintainers":[{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"}],"sideEffects":false,"_nodeVersion":"24.20.0","dependencies":{"@jarenjs/core":"^0.91.4"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/josl_0.91.4_1789820611441_0.8495859451409264"}}},"time":{"created":"2026-08-13T14:48:21.278Z","modified":"2026-09-19T12:23:31.702Z","0.34.0":"2026-08-13T14:48:21.609Z","0.34.2":"2026-08-16T14:16:14.077Z","0.43.1":"2026-08-23T10:41:51.157Z","0.43.3":"2026-08-24T16:29:57.010Z","0.46.4":"2026-08-26T07:20:35.193Z","0.46.5":"2026-08-26T08:54:37.879Z","0.49.2":"2026-08-26T20:23:12.728Z","0.56.0":"2026-08-30T01:35:14.962Z","0.66.1":"2026-09-08T18:09:13.601Z","0.67.0":"2026-09-08T19:45:45.874Z","0.72.0":"2026-09-09T11:13:29.327Z","0.72.2":"2026-09-09T14:34:34.953Z","0.72.3":"2026-09-09T17:14:29.017Z","0.73.0":"2026-09-09T19:02:07.767Z","0.75.0":"2026-09-09T22:55:51.847Z","0.83.2":"2026-09-11T07:55:07.700Z","0.83.3":"2026-09-11T13:09:48.117Z","0.84.3":"2026-09-12T05:47:01.625Z","0.85.0":"2026-09-12T11:52:49.560Z","0.86.0":"2026-09-12T14:05:26.549Z","0.87.0":"2026-09-12T20:02:22.008Z","0.89.0":"2026-09-13T08:40:28.667Z","0.90.6":"2026-09-15T03:55:59.845Z","0.91.2":"2026-09-16T15:26:40.429Z","0.91.3":"2026-09-17T15:35:02.337Z","0.91.4":"2026-09-19T12:23:31.533Z"},"bugs":{"url":"https://github.com/jklarenbeek/jarenjs/issues"},"author":{"name":"joham"},"license":"MIT","homepage":"https://github.com/jklarenbeek/jarenjs#readme","keywords":["jaren","josl","toml","jsonx","json","csv","streaming","incremental","real-time","structured-output","parser","llm"],"repository":{"url":"git+https://github.com/jklarenbeek/jarenjs.git","type":"git","directory":"packages/josl"},"description":"JOSL - JavaScript Obvious Streaming Language. A TOML 1.0 backward-compatible data language with null, bigint, regexp, datetimes and root arrays as first class citizens, plus JSONX, the same extensions over JSON, and a self-healing CSV reader/writer - with","maintainers":[{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"}],"readme":"# @jarenjs/josl\n\n**JOSL — JavaScript Obvious Streaming Language.**\nTOML 1.0, backward compatible, extended with JavaScript's obvious value\ntypes (`null`, bigint, regexp, datetimes) and a streamable `[[]]` root\narray — plus **JSONX**, the same extensions over JSON, and a **CSV**\nreader/writer that heals damaged input instead of guessing at it. Built for\nLLM-to-LLM pipelines: chunk-feedable parsing, document-order events,\nmachine-repairable errors with line/column and a `hint`.\n\nZero dependencies, vanilla JS, CSP-safe, tree-shakeable subpath exports.\nSee [FORMAT.md](./FORMAT.md) for the language definition and rationale.\n\n## Quick start\n\n```js\nimport { parseJosl, stringifyJosl } from '@jarenjs/josl';\n\nconst doc = parseJosl(`\n  title = \"example\"\n  big = 9007199254740993n     # bigint literal\n  match = /^ok$/i             # regexp literal\n  middle-name = null          # TOML has no null; JOSL does\n  when = 2026-07-18T12:00:00Z # a real Date\n\n  [server]\n  host = \"localhost\"\n`);\n\nstringifyJosl(doc); // round-trips\n```\n\nStrict TOML in and out of the same engine:\n\n```js\nimport { parseToml, stringifyToml } from '@jarenjs/josl';\n\nparseToml(tomlText);                            // rejects JOSL extensions\nstringifyToml(doc, { onNull: 'omit' });         // downlevels a JOSL value\n```\n\n## Streaming (the point)\n\nTwo incremental readers share one API shape (`feed`/`end`/`root`) and\none `pair` event, so a consumer keyed on paths never branches on\nsyntax. Chunks may split ANY token — escapes mid-`\\uXXXX`, numbers,\n`tru` + `e` — which is what makes token-by-token LLM output feedable.\n\n**JOSL / TOML** (line-oriented):\n\n```js\nimport { createStreamReader } from '@jarenjs/josl/stream';\n\nconst reader = createStreamReader({\n  onEvent(e) {\n    // document order, absolute paths, fired the moment a line completes\n    if (e.type === 'root-item') console.log('record', e.index, 'started');\n    if (e.type === 'pair') console.log(e.path.join('/'), '=', e.value);\n  },\n});\n\nfor await (const chunk of llmTokenStream) // chunks may split ANY token\n  reader.feed(chunk);\nconst records = reader.end();\n```\n\n**JSONX / strict JSON** (nested):\n\n```js\nimport { createJsonxStreamReader } from '@jarenjs/josl/jsonx-stream';\n\nconst reader = createJsonxStreamReader({\n  mode: 'json', // strict: rejects every JSONX extension, matches JSON.parse\n  onEvent(e) {\n    if (e.type === 'pair') console.log(e.path.join('/'), '=', e.value);\n  },\n});\nreader.feed('{\"run\": [{\"i\": 1, \"ops\": 6');  // any split point works\nreader.feed('1200}]}');\nconst doc = reader.end();                    // { run: [{ i: 1, ops: 61200 }] }\n```\n\nThe unified event vocabulary:\n\n| event | reader | fields | when |\n| --- | --- | --- | --- |\n| `pair` | both | `path`, `key`, `value`, `line` | a scalar member completes |\n| `item` | jsonx | `path`, `index`, `value`, `line` | a scalar array element completes |\n| `object-start` / `array-start` | jsonx | `path`, `line` | `{` / `[` opened |\n| `object-end` / `array-end` | jsonx | `path`, `value`, `line` | `}` / `]` closed |\n| `table` / `table-array` / `root-item` | josl | `path`, `line` (+`index`) | a header line completes |\n| `text-partial` | jsonx | `path`, `text`, `line` | more of a string arrived (opt-in) |\n\nPaths are absolute (strings for keys, numbers for indices), so events\nare directly JSON-Pointer-able. In the JSONX reader a container value\ndoes NOT additionally fire `pair`/`item` — its start/end events carry\nthat; in the line-oriented JOSL reader inline tables arrive as\ncompleted `pair` values and containers have no end events.\n\n### Documents larger than memory\n\nFeeding a document in chunks bounds the *parse*, not the *result*: the\nreader still ends up holding everything it has read. For a continent-\nsized `FeatureCollection` or a million-line log that is the wrong\nanswer, and it is the reason `detach` exists.\n\nA value whose absolute path matches the pattern is **never linked into\nthe tree**. Its completion event still carries the whole thing, so the\nconsumer sees every record exactly once — but letting go of the event\nlets go of the record.\n\n```js\nconst reader = createJsonxStreamReader({\n  mode: 'json',\n  detach: ['features', '*'],          // '*' matches any one segment\n  onEvent(e) {\n    if (e.type === 'object-end' && e.path.length === 2)\n      consume(e.value);               // a whole GeoJSON Feature\n  },\n});\n\nfor await (const chunk of fileChunks) reader.feed(chunk);\nreader.end();   // { type: 'FeatureCollection', name: '…', features: [] }\n```\n\n`root()` comes back holding the document's *frame* — its header members,\nand an empty array where the records would have been — however many\nrecords went past. The pattern matches an exact path, not a prefix, so a\nfeature's own rings are not separately detached: they belong to their\nfeature and are freed with it.\n\nThe JOSL twin is `iterateJoslStream`: a `[[]]` root array read as a pull\nsource of records, each detached from the root the moment the next\n`[[]]` header (or the end) completes it, so the reader holds at most the\nrecord in progress. A table root is one retained value, not a record\nstream, and is refused by name.\n\n```js\nimport { iterateJoslStream } from '@jarenjs/josl/stream';\n\nfor await (const record of iterateJoslStream(response.body, { signal }))\n  await save(record);        // the source is closed exactly once on an abort or an early return\n```\n\n### Hostile input\n\nEvery reader refuses a document by size only when asked: the limits\ndefault to `Infinity`, count **UTF-8 bytes** (never code units), and are\nchecked while the offending text is still in cutter, token or container\nstate. Limited streams inspect bounded slices and reject an oversized pending\nspan before accepting another slice; complete spans are checked before decoding\nor linking values. Total bytes include a leading BOM, and splitting a surrogate\npair across chunks does not change the byte count. A crossing\nthrows `JoslLimitError` with a stable code and the limit; it is never a\nrepair, because a document that is too large is not damaged.\n\n| reader | option | code |\n| --- | --- | --- |\n| CSV | `maxTotalBytes` | `CSV2001` |\n| CSV | `maxRecordBytes` (one record, its terminator included) | `CSV2002` |\n| CSV | `maxFieldBytes` (one field as written, quotes included) | `CSV2003` |\n| CSV | `maxColumns` | `CSV2004` |\n| JOSL / TOML | `maxTotalBytes` | `JOSL2001` |\n| JOSL / TOML | `maxRecordBytes` (one logical line) | `JOSL2002` |\n| JOSL / TOML | `maxTokenBytes` (a key or scalar token as written, quotes and regexp flags included) | `JOSL2003` |\n| JOSL / TOML | `maxDepth` (inline nesting, header path depth) | `JOSL2004` |\n| JOSL / TOML | `maxRetainedValues` (values the root holds; starts over per detached `[[]]` item) | `JOSL2005` |\n| JSONX / JSON stream | `maxTotalBytes` | `JSONX2001` |\n| JSONX / JSON stream | `maxTokenBytes` (a string, key, number or regexp as written) | `JSONX2002` |\n| JSONX / JSON stream | `maxDepth` | `JSONX2003` |\n| JSONX / JSON stream | `maxRetainedValues` (linked values only — a detached subtree is never counted) | `JSONX2004` |\n\nThe CSV and JOSL limits guard the whole-document parsers too, which run\nthe same machines; the JSONX limits are the stream reader's, which is\nwhere a document arrives a chunk at a time. `CSV_LIMIT_CODES`,\n`JOSL_LIMIT_CODES` and `JSONX_LIMIT_CODES` are the tables as data.\n\nField and token limits bound those spans, not an entire record containing many\nsmall spans. Use `maxRecordBytes` or `maxTotalBytes` as well when the buffered\nsource itself needs a hard ceiling. Open strings, bare keys and scalar tokens\nare checked as they arrive, including in the first chunk.\n\nMeasured on a synthetic OpenStreetMap-shaped extract (`node --expose-gc\nbenchmark/jsonx-stream.js`), reading 20 000 features of 40 vertices each:\n\n| | peak live set | root holds |\n| --- | --- | --- |\n| default | 185.4 MB | 20 000 features |\n| `detach: ['features','*']` | < 0.1 MB | 0 |\n\nand the detached figure does not move at 80 000 features — the peak is\nthe 64 kB feed buffer plus one feature at a time, not the document.\n\"Peak live set\" means the heap after a forced collection: sampling\n`heapUsed` without collecting first measures how lazily V8 sweeps, which\ngrows with the heap and would make even a detached read look like it\naccumulates.\n\n### Progressive text\n\nScalars normally fire once, on completion — but a long string in an LLM\nresponse is worth showing as it arrives. `partialText: true` adds\n`text-partial` events carrying the *delta* since the previous one,\nalready unescaped:\n\n```js\nconst reader = createJsonxStreamReader({\n  partialText: true,\n  onEvent(e) {\n    if (e.type === 'text-partial') process.stdout.write(e.text); // append\n    if (e.type === 'pair') console.log('\\ncomplete:', e.path.join('/'));\n  },\n});\n```\n\nA value's deltas add up to exactly its string — nothing is left over in\nthe closing `pair`/`item` event, which still carries the whole value as\nthe completion signal. Deltas never split an escape or a surrogate pair,\nso appending them to a display is always safe. Object keys emit none: a\nkey has no path until it is complete.\n\n### Streaming charts with @jarenjs/charts\n\n`@jarenjs/charts`' stream adapter consumes these events directly (it\nnever imports a parser — pair them at the call site):\n\n```js\nimport { createJsonxStreamReader } from '@jarenjs/josl/jsonx-stream';\nimport { createStreamAdapter } from '@jarenjs/charts/stream-adapter';\nimport { compileChart } from '@jarenjs/charts';\n\nconst adapter = createStreamAdapter('line', {\n  recordPath: ['run'], xField: 'i', yField: 'ops', maxPoints: 200,\n});\nconst reader = createJsonxStreamReader({ mode: 'json', onEvent: adapter.onEvent });\n\nfor await (const chunk of feed) {\n  reader.feed(chunk);\n  render(compileChart({ type: 'line', title: 'live' }, adapter.getData()).toVnode());\n}\nreader.end();\nadapter.endDocument();\n```\n\nAn LLM emitting a list of records streams naturally:\n\n```toml\n[[]]\nname = \"first\"\nscore = 0.92\n\n[[]]\nname = \"second\"\nscore = 0.87\n```\n\nEach `[[]]` completes the previous record — `reader.root()` exposes the\npartial array at any time, so record *N* can be processed while the\nmodel is still emitting record *N+1*.\n\n## Streaming writer\n\nThe write-side mirror of the reader — build a document event by event and\nship each chunk as it is produced:\n\n```js\nimport { createStreamWriter, stringifyJoslChunks, stringifyJoslStream } from '@jarenjs/josl/write';\n\nconst w = createStreamWriter({ onChunk: (c) => response.write(c), buffer: false });\nw.pair('title', 'run 42')\n  .table('server')\n  .pair('host', 'localhost');\n// root-array documents: w.rootItem(record) per completed record\nw.end();                                     // '' — buffer: false retains nothing; the sink has it\n\n// or stream an existing value, one chunk per [[]] record:\nfor (const chunk of stringifyJoslChunks(records))\n  response.write(chunk);\n\n// or pull records from an async source — a database cursor — one per chunk:\nresponse.body = stringifyJoslStream(store.collection('rows').query(doc), { signal });\n```\n\nThe writer validates what the reader would reject (duplicate keys and\nheaders, root table/array mixing, TOML downleveling) and shares its\nserialization with `stringifyJosl`, so both produce identical text.\n`stringifyJoslStream` is the pull form: the next record is requested only\nwhen the consumer asks for the next chunk, so a cursor behind it never\nruns ahead of the socket in front of it; its chunks are byte-identical to\n`stringifyJoslChunks` for the same records, and an abort (`signal`), a\nconsumer that stops early or a throw closes the record source exactly\nonce. `buffer: false` (with an `onChunk` sink) keeps the event writer from\nretaining a second copy of the document it streams.\n\n## Editing a document (CST)\n\n`parseJosl` + `stringifyJosl` round-trips *data*. When the document\nitself matters — a config file a human wrote, with comments and\nalignment — parse it as a CST instead. Reprinting an untouched document\nreturns the original bytes; an edit changes only the value's own bytes:\n\n```js\nimport { parseTomlCst } from '@jarenjs/josl/cst';\n\nconst doc = parseTomlCst(readFileSync('config.toml', 'utf8'));\ndoc.set(['server', 'port'], 9090);\nwriteFileSync('config.toml', doc.toString());\n```\n\n```diff\n  [server]\n  host   = \"localhost\"  # keep me\n- port   = 8080\n+ port   = 9090\n```\n\n`get`/`set`/`delete` take absolute paths (numbers index an array of\ntables); `set` on a key that does not exist appends it to the section\nits path names, not to the end of the file. `toJSON()` gives the value\nmodel, recomputed from the text after an edit so it can never drift\nfrom the bytes. Byte-identical reprinting is verified against every\ndocument in the official toml-test valid corpus.\n\n## JSONX\n\n```js\nimport { parseJsonx, stringifyJsonx } from '@jarenjs/josl/jsonx';\n\nparseJsonx('{\"big\": 123n, \"re\": /a+/g, \"when\": 2026-07-18}');\n\n// document-order events instead of JSON.parse's bottom-up reviver:\nparseJsonx(text, { onEvent: (e) => console.log(e.type, e.path, e.value) });\n\nparseJsonx(text, { mode: 'json' });      // bit-compatible JSON.parse\nstringifyJsonx(v, { mode: 'json' });     // delegates to JSON.stringify\n```\n\n## Exports\n\nEvery subpath a consumer can import, derived from the manifest by\n`npm run docs:derive` (`npm run docs:check` fails when the two drift):\n\n<!--fact:exports.josl-->\n| Import | Kind | Declarations |\n|---|---|---|\n| `@jarenjs/josl` | JavaScript | declared |\n| `@jarenjs/josl/parse` | JavaScript | declared |\n| `@jarenjs/josl/cst` | JavaScript | declared |\n| `@jarenjs/josl/gbnf` | JavaScript | declared |\n| `@jarenjs/josl/stream` | JavaScript | declared |\n| `@jarenjs/josl/stringify` | JavaScript | declared |\n| `@jarenjs/josl/write` | JavaScript | declared |\n| `@jarenjs/josl/jsonx` | JavaScript | declared |\n| `@jarenjs/josl/jsonx-stream` | JavaScript | declared |\n| `@jarenjs/josl/csv` | JavaScript | declared |\n| `@jarenjs/josl/csv-stream` | JavaScript | declared |\n| `@jarenjs/josl/values` | JavaScript | declared |\n| `@jarenjs/josl/schemas/jaren-josl-data.schema.json` | schema | — |\n| `@jarenjs/josl/package.json` | metadata | — |\n<!--/fact-->\n\nWhat each subpath carries:\n\n| Subpath | What |\n| --- | --- |\n| `@jarenjs/josl/parse` | `parseJosl`, `parseToml` |\n| `@jarenjs/josl/cst` | `parseJoslCst`, `parseTomlCst`, `JoslCstDocument` |\n| `@jarenjs/josl/gbnf` | `toGbnf`, `tomlToGbnf` |\n| `@jarenjs/josl/stream` | `createStreamReader`, `parseJoslStream` |\n| `@jarenjs/josl/stringify` | `stringifyJosl`, `stringifyToml`, `formatValue`, `formatSection` |\n| `@jarenjs/josl/write` | `createStreamWriter`, `stringifyJoslChunks` |\n| `@jarenjs/josl/jsonx` | `parseJsonx`, `stringifyJsonx` |\n| `@jarenjs/josl/jsonx-stream` | `createJsonxStreamReader`, `parseJsonxStream` |\n| `@jarenjs/josl/csv` | `parseCsv`, `parseCsvDocument`, `stringifyCsv`, `sniffCsvDialect` |\n| `@jarenjs/josl/csv-stream` | `createCsvStreamReader`, `parseCsvStream`, `iterateCsvStream`, `createCsvStreamWriter` |\n| `@jarenjs/josl/values` | `LocalDate`, `LocalTime`, `LocalDateTime` |\n| `@jarenjs/josl/schemas/*` | schema artifacts (`jaren-josl-data.schema.json`) |\n\n## CSV\n\nThe same machine shape as JOSL, applied to the format the world exports\nby accident: one grammar path, wholesale and streaming, and a reader that\ntells you what it had to fix.\n\n```javascript\nimport { parseCsv, parseCsvDocument, stringifyCsv } from '@jarenjs/josl/csv';\nimport { createCsvStreamReader, iterateCsvStream } from '@jarenjs/josl/csv-stream';\n\nparseCsv('a,b\\n1,2');                     // [['a','b'], ['1','2']]\nparseCsv('a,b\\n1,2', { headers: true });  // [{ a: '1', b: '2' }]\n\n// rows as they complete, without ever holding the table\nfor await (const row of iterateCsvStream(response.body, { headers: true, signal }))\n  await save(row);\n\n// and the other way: pull records from a cursor into CSV lines, header once\nresponse.body = stringifyCsvStream(store.collection('rows').query(doc), { signal });\n```\n\n`stringifyCsvStream` is byte-identical to `stringifyCsvChunks` and\n`stringifyCsv` for the same records and pulls one record per line, so the\nsource is never asked for a row the consumer has not asked for; `signal`\naborts between pulls, and an abort, an early return or a throw closes the\nsource exactly once. The reader's `signal` does the same for\n`iterateCsvStream`. All writers accept `neutralizeFormulas: true` to prefix\nan apostrophe on converted cells starting with `=`, `+`, `-`, `@`, tab, CR or LF,\nincluding headers and negative numbers. The default remains unchanged. This\nis an explicit text export policy; see [the format contract](FORMAT.md#csv)\nfor exact quoting behavior and spreadsheet qualification limits.\nThe hostile-input limits (`maxTotalBytes`,\n`maxRecordBytes`, `maxFieldBytes`, `maxColumns`, the `CSV2xxx` codes) are\nlisted under Streaming.\n\n**Strict by default.** Anything RFC 4180 forbids throws a\n`CsvSyntaxError` carrying a `CSV1xxx` code, a line and a column — the\nsame machine-repairable error shape the JOSL parser uses.\n\n**`repair: true` heals instead, and says so.** Every repair lands in a log\nwith the same code the strict error would have carried, so moving between\nthe modes never means re-learning the diagnosis:\n\n```javascript\nconst doc = parseCsvDocument('a,b\\n\"he said \"hi\" ok\",2\\n', {\n  repair: true, headers: true,\n});\ndoc.rows;    // [{ a: 'he said \"hi\" ok', b: '2' }]\ndoc.repairs; // [{ code: 'CSV1003', line: 2, column: 10, message: … }, …]\n```\n\n| code | condition | how it is read |\n| --- | --- | --- |\n| `CSV1001` | a quoted field is never closed | close it at the end, keep the text |\n| `CSV1002` | text after a closing quote | the field closed; absorb the stray text |\n| `CSV1003` | an unescaped quote inside a quoted field | the quote is literal |\n| `CSV1004` | a record shorter than the header | the columns stay **absent**, not empty |\n| `CSV1005` | a record longer than the header | widen the header once |\n| `CSV1006` | a bare carriage return | it ends the record (old-Mac endings) |\n| `CSV1007` | a duplicate header name | suffix it (`a`, `a_2`) |\n| `CSV1008` | an empty header name | name it (`column_3`) |\n\n`CSV1002` and `CSV1003` are the same damage read two ways, and the reader\ndecides between them by looking for another quote before the next\ndelimiter. `\"he said \"hi\" ok\"` keeps its text; `\"abc\"junk,d` keeps its\n**column count**, because a consumer indexes by column and a lost\nboundary corrupts every field after it.\n\nA short record leaves its missing columns absent rather than empty:\nreading `undefined` says *this record did not carry the column*, where\n`''` would claim it carried an empty one.\n\n**Dialect sniffing.** `delimiter: 'auto'` scores each candidate by how\nconsistently it divides records — a real separator splits every record\nthe same way, a coincidental one splits them arbitrarily. Header\ndetection asks whether the first record looks unlike the rest, and\nanswers *no* when the table is text all the way down, because inventing a\nheader there would silently eat a data row.\n\n**Typed values are the package's, not JSON's.** `typed: true` promotes an\ninteger past 2^53 to a **bigint** instead of rounding it, reads ISO dates\nas the same `LocalDate`/`LocalDateTime` a JOSL document yields, and\nleaves `007` a string — a zero-padded id does not survive becoming a\nNumber. A quoted cell is never coerced: the quotes are the author saying\nthis is text.\n\n### CSV compliance & speed\n\n`npm run benchmark:csv` scores the reader on\n[csv-spectrum](https://www.npmjs.com/package/csv-spectrum), the de-facto\nacceptance corpus, and on a scorecard of damaged documents.\n\n<!--fact:csv.table-->\n| engine | csv-spectrum | 10k×6 plain | 10k×3 quoted | 1k×50 wide |\n| --- | --- | --- | --- | --- |\n| **jaren** | **11/11** | 2.2 ms | 3.0 ms | 1.3 ms |\n| udsv | 11/11 | **1.8 ms** | **2.9 ms** | **1.0 ms** |\n| papaparse | 11/11 | 5.8 ms | 7.5 ms | 2.1 ms |\n| csv-parse | 11/11 | 17.7 ms | 11.9 ms | 11.0 ms |\n| d3-dsv | 11/11 | 2.9 ms | 3.9 ms | 1.7 ms |\n| @vanillaes/csv | n/a | 5.9 ms | 7.3 ms | 4.6 ms |\n<!--/fact-->\n\n(The suite's twelfth fixture, `location_coordinates`, is excluded: its\nexpectation is a bare object where every other case is an array, its\nphone number disagrees with its own CSV, and its degree sign is already\nU+FFFD in the source bytes. No parser can satisfy it.)\n\n**udsv is the honest loss: ~1.3× on the plain record stream, ~1.15× on\nquoted, and ~2× when records become header-keyed objects.** It earns it —\nudsv compiles a parser per schema with `new Function`, so each record\nobject is built with literal keys the engine can inline-cache, where this\nreader assigns computed keys one by one. This package does not use\ncodegen, anywhere, by house rule: everything here runs under a strict\nContent-Security-Policy, where runtime codegen is unavailable. That is\nthe same trade the schema validator and the query engine make, and it is\na trade rather than an excuse — against every parser that also avoids\ncodegen, jaren leads.\n\nThe plain-field scanner finds each cell end as the minimum of three\nlazily-cached `indexOf` cursors (delimiter, LF, CR), so the source is\nscanned by the engine's substring search rather than one character at a\ntime. Streaming is structurally a second walk — a chunk may stop\nmid-field, so `feed` runs a side-effect-free cutter before the parser —\nbut the cutter cuts by the same substring search wherever no quote lies\nahead, and on the plain record stream the whole streaming read now costs\nabout 1.1× the wholesale path (2.1 ms vs 1.9 ms), level with udsv's\nchunked reader.\n\nStringify leads everything that offers one: 3.6 ms against papaparse's\n6.1 ms and d3-dsv's 4.1 ms.\n\n## Generating JOSL with LLMs\n\nJOSL is a *text* format, so \"hand the grammar to a constrained decoder\"\nhas two possible shapes, and they serve different providers:\n\n1. **A JSON Schema over the data model** — the model emits JSON, and\n   `stringifyJosl` renders canonical JOSL text. This works with every\n   `json_schema`-capable provider today and composes directly with\n   Tangle's `createStructuredOutput`. It is what this package\n   ships: [`schemas/jaren-josl-data.schema.json`](./schemas/jaren-josl-data.schema.json)\n   describes the JSON-safe JOSL document (a root table of strings,\n   finite numbers, booleans, `null`, arrays and nested tables), and\n   `parseJosl(stringifyJosl(doc))` round-trips every document in it\n   exactly. JOSL's native date/time scalars parse to platform `Date`\n   values, which JSON cannot carry — represent them as strings and\n   parse downstream.\n2. **A character-level grammar (GBNF class) over raw JOSL text** — for\n   engines that constrain token sampling directly (llama.cpp family).\n   `toGbnf()` emits it; `toGbnf({ mode: 'toml' })` drops the JOSL-only\n   value forms.\n\n   ```js\n   import { toGbnf } from '@jarenjs/josl/gbnf';\n\n   await llama({ grammar: toGbnf(), prompt });   // emits JOSL text directly\n   ```\n\n   A context-free grammar carries syntax only. Duplicate keys, a header\n   that reopens a table, `2026-02-30` — every rule that needs to\n   remember what the document already said, or to range-check a value\n   inside a well-formed token, stays `parseJosl`'s job. Constrained\n   sampling narrows the model to well-formed text; it does not make the\n   parser optional.\n\n   The grammar is checked both ways by `test/josl/gbnf.test.js`, which\n   reads it back and recognizes text with an Earley parser: it accepts\n   all 210 documents in the official toml-test valid corpus, rejects 400\n   of the 499 invalid ones (the remaining 99 fail on exactly the\n   semantic rules above), and 3000 seeded derivations across both modes all parse.\n   That last direction is the one that matters for sampling — a model\n   steered by this grammar cannot be walked into text the parser\n   rejects.\n\n## Compliance & speed\n\nStrict TOML mode is validated against the complete official\n[toml-test](https://github.com/toml-lang/toml-test) 1.0.0 suite\n(the git submodule at `benchmark/toml-test-suite/`) — every valid case with full\ntyped value verification (`npm run test:josl`), every invalid case\nrejected. The only skips are eight byte-level UTF-8 encoding cases that\ncannot be expressed once input is already a JS string.\n\n`npm run benchmark:toml` runs the suite plus a parse/stringify profile\nagainst `smol-toml`, `@iarna/toml` and `toml`. Representative run\n(accept/reject compliance, 694 cases; Node 22):\n\n| engine | compliance | parse, 1k-record doc | parse, small doc | parse, suite corpus |\n| --- | --- | --- | --- | --- |\n| **jaren** | **100.0%** | 7.4 ms | **0.014 ms** | 0.91 ms |\n| smol-toml | 96.8% | **5.7 ms** | 0.021 ms | **0.80 ms** |\n| @iarna/toml | 93.4% | 11.4 ms | 0.029 ms | 2.13 ms |\n| toml | 98.6% | 38.4 ms | 0.080 ms | 4.83 ms |\n\njaren is the only engine at 100% and the only one that parses chunk\nstreams. Whole-document parsing walks the source once — the value\nparsers already stop at the newlines TOML forbids a construct from\ncrossing, so with the whole text in hand the parser finds each logical\nline's end itself and the cutter's separate pass is not needed. That is\nworth ~1.45× over the two-pass version and puts jaren ahead on small\ndocuments; on the 90 KB record stream smol-toml still leads, by ~1.3×\nrather than the ~1.9× it led by before. Chunk feeding keeps the cutter,\nbecause only a side-effect-free pre-pass can decide whether a line is\ncomplete when a chunk may stop mid-token — and it is held to the same\n694 cases, fed one character at a time.\n\nStringify leads: 2.5 ms against smol-toml's 2.7 ms and `@iarna/toml`'s\n6.9 ms on the same document. The writer keeps its error path on a\nmutable stack instead of allocating per key, emits each section header\nfrom its parent's already-formatted prefix, and copies unescaped string\nruns whole.\n\n## Status\n\nPublished alongside the rest of the suite. Both constrained-decoding\ntwins ship — the JSON-Schema one over the data model and the GBNF one\nover the text — along with the CST mode, progressive `text-partial`\nevents and single-walk whole-document parsing.\n","readmeFilename":"README.md"}