{"_id":"@contractspec/example.learning-journey-duo-drills","_rev":"96-a96fe2a9c06431baa8c84c01ba78e9c3","name":"@contractspec/example.learning-journey-duo-drills","dist-tags":{"canary":"3.7.10","latest":"4.0.9"},"versions":{"1.44.0":{"name":"@contractspec/example.learning-journey-duo-drills","version":"1.44.0","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@1.44.0","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","dist":{"shasum":"661f91a54b70d6efe664b9a6a5b2f7392ff556f8","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-1.44.0.tgz","fileCount":31,"integrity":"sha512-GisHOJ96UziT1mkkE2pUFRxV9EEqm8NMYvyUzV9c7snJRa6Jxf7gE9S8gSdcrXcoeEYMIokQ1GE4pDG9x4zPCQ==","signatures":[{"sig":"MEUCIDuVSiOBK7NDB3xv9icWWANaQGQHrPSokHEZKYIYpNeHAiEAjF/avWeLUkhVIXkhCKmUqDM2m/yfOIG9J+eiVBLM5nY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":239563},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"661f91a54b70d6efe664b9a6a5b2f7392ff556f8","exports":{".":"./dist/index.js","./*":"./*","./docs":"./dist/docs/index.js","./track":"./dist/track.js","./example":"./dist/example.js","./docs/duo-drills.docblock":"./dist/docs/duo-drills.docblock.js"},"scripts":{"dev":"bun build:bundle --watch","lint":"bun lint:fix","test":"bun test","build":"bun build:types && bun build:bundle","clean":"rimraf dist .turbo","lint:fix":"eslint src --fix","lint:check":"eslint src","build:types":"tsc --noEmit","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"tsdown","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_integrity":"sha512-GisHOJ96UziT1mkkE2pUFRxV9EEqm8NMYvyUzV9c7snJRa6Jxf7gE9S8gSdcrXcoeEYMIokQ1GE4pDG9x4zPCQ==","repository":{"url":"https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.8.3","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@contractspec/lib.schema":"1.44.0","@contractspec/lib.contracts":"1.44.0","@contractspec/module.learning-journey":"1.44.0"},"publishConfig":{"access":"public","exports":{".":"./dist/index.js","./*":"./*","./docs":"./dist/docs/index.js","./track":"./dist/track.js","./example":"./dist/example.js","./docs/duo-drills.docblock":"./dist/docs/duo-drills.docblock.js"},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.18.3","typescript":"^5.9.3","@contractspec/tool.tsdown":"1.44.0","@contractspec/tool.typescript":"1.44.0"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_1.44.0_1766928733748_0.16201041742440658","host":"s3://npm-registry-packages-npm-production"}},"1.44.1":{"name":"@contractspec/example.learning-journey-duo-drills","version":"1.44.1","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@1.44.1","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","dist":{"shasum":"cb045aad5493e8d0393ae051962b5e809ba258cb","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-1.44.1.tgz","fileCount":31,"integrity":"sha512-qBfi1scVHBFCjbEubn5lCKOcWXrPeh6VH24Pn+bmxlXuVYl+DSzmHLOQuvcmZO8f+Q61suWByOXz1gVov0o24Q==","signatures":[{"sig":"MEUCIQCRD0YsQboj/eAGAJEsLZMcciyWfTj6Bmayhk/2tKI6XwIgUbpprHa3nGoj+oKYGs+wrnRxeTxYp3jAHnTuCYEm8Lw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":239766},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"cb045aad5493e8d0393ae051962b5e809ba258cb","exports":{".":"./dist/index.js","./*":"./*","./docs":"./dist/docs/index.js","./track":"./dist/track.js","./example":"./dist/example.js","./docs/duo-drills.docblock":"./dist/docs/duo-drills.docblock.js"},"scripts":{"dev":"bun build:bundle --watch","lint":"bun lint:fix","test":"bun test","build":"bun build:types && bun build:bundle","clean":"rimraf dist .turbo","lint:fix":"eslint src --fix","lint:check":"eslint src","build:types":"tsc --noEmit","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"tsdown","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_integrity":"sha512-qBfi1scVHBFCjbEubn5lCKOcWXrPeh6VH24Pn+bmxlXuVYl+DSzmHLOQuvcmZO8f+Q61suWByOXz1gVov0o24Q==","repository":{"url":"https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.8.3","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@contractspec/lib.schema":"1.44.1","@contractspec/lib.contracts":"1.44.1","@contractspec/module.learning-journey":"1.44.1"},"publishConfig":{"access":"public","exports":{".":"./dist/index.js","./*":"./*","./docs":"./dist/docs/index.js","./track":"./dist/track.js","./example":"./dist/example.js","./docs/duo-drills.docblock":"./dist/docs/duo-drills.docblock.js"},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.18.3","typescript":"^5.9.3","@contractspec/tool.tsdown":"1.44.1","@contractspec/tool.typescript":"1.44.1"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_1.44.1_1766931814759_0.5051221900165248","host":"s3://npm-registry-packages-npm-production"}},"1.45.0":{"name":"@contractspec/example.learning-journey-duo-drills","version":"1.45.0","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@1.45.0","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","dist":{"shasum":"f417971191b65ad6e615d52ff89acec9becc6029","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-1.45.0.tgz","fileCount":31,"integrity":"sha512-DphWKzWf043ca/9ZZnCeNO/mFihCCyOB82Oiohh5kh+NXTsnY71IH0D3fC/WRHrQ7qiO6LcN9vziz5PR7rnMxw==","signatures":[{"sig":"MEQCIBAtysOIdQ+D/d+mtWGxR3xgvHXQ6r9+85rkSvtxyF/9AiBUmxT8sMGCNVJxJw40vZM2BZufIDiS2lvvt4iDA9iPZg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":399191},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"f417971191b65ad6e615d52ff89acec9becc6029","exports":{".":"./dist/index.js","./*":"./*","./docs":"./dist/docs/index.js","./track":"./dist/track.js","./example":"./dist/example.js","./docs/duo-drills.docblock":"./dist/docs/duo-drills.docblock.js"},"scripts":{"dev":"bun build:bundle --watch","lint":"bun lint:fix","test":"bun test","build":"bun build:types && bun build:bundle","clean":"rimraf dist .turbo","lint:fix":"eslint src --fix","lint:check":"eslint src","build:types":"tsc --noEmit","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"tsdown","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_integrity":"sha512-DphWKzWf043ca/9ZZnCeNO/mFihCCyOB82Oiohh5kh+NXTsnY71IH0D3fC/WRHrQ7qiO6LcN9vziz5PR7rnMxw==","repository":{"url":"https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.8.3","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@contractspec/lib.schema":"1.45.0","@contractspec/lib.contracts":"1.45.0","@contractspec/module.learning-journey":"1.45.0"},"publishConfig":{"access":"public","exports":{".":"./dist/index.js","./*":"./*","./docs":"./dist/docs/index.js","./track":"./dist/track.js","./example":"./dist/example.js","./docs/duo-drills.docblock":"./dist/docs/duo-drills.docblock.js"},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.18.3","typescript":"^5.9.3","@contractspec/tool.tsdown":"1.45.0","@contractspec/tool.typescript":"1.45.0"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_1.45.0_1766965598359_0.05940132928337305","host":"s3://npm-registry-packages-npm-production"}},"1.45.1":{"name":"@contractspec/example.learning-journey-duo-drills","version":"1.45.1","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@1.45.1","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","dist":{"shasum":"c5567142a8aee0c9aba579613dacceb33e86b4ed","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-1.45.1.tgz","fileCount":31,"integrity":"sha512-5y62BDztvw77Z9GFK9SGJEmi/O3ku8vPQ1OJimxBIxdSmShIkHBw5uvAEjbPR2/CI/y5bGw+b0OIq8O8eZIAJA==","signatures":[{"sig":"MEYCIQCNwWlnioDHCVyj9uYr7SMh0ami5egRv7fmNgsacqXpSAIhAMJROc+PC6BgFIR14Hib9uzmLvtaUKdd5FOXfgVgxkma","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":399419},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"c5567142a8aee0c9aba579613dacceb33e86b4ed","exports":{".":"./dist/index.js","./*":"./*","./docs":"./dist/docs/index.js","./track":"./dist/track.js","./example":"./dist/example.js","./docs/duo-drills.docblock":"./dist/docs/duo-drills.docblock.js"},"scripts":{"dev":"bun build:bundle --watch","lint":"bun lint:fix","test":"bun test","build":"bun build:types && bun build:bundle","clean":"rimraf dist .turbo","lint:fix":"eslint src --fix","lint:check":"eslint src","build:types":"tsc --noEmit","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"tsdown","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_integrity":"sha512-5y62BDztvw77Z9GFK9SGJEmi/O3ku8vPQ1OJimxBIxdSmShIkHBw5uvAEjbPR2/CI/y5bGw+b0OIq8O8eZIAJA==","repository":{"url":"https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.8.3","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@contractspec/lib.schema":"1.45.1","@contractspec/lib.contracts":"1.45.1","@contractspec/module.learning-journey":"1.45.1"},"publishConfig":{"access":"public","exports":{".":"./dist/index.js","./*":"./*","./docs":"./dist/docs/index.js","./track":"./dist/track.js","./example":"./dist/example.js","./docs/duo-drills.docblock":"./dist/docs/duo-drills.docblock.js"},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.18.3","typescript":"^5.9.3","@contractspec/tool.tsdown":"1.45.1","@contractspec/tool.typescript":"1.45.1"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_1.45.1_1766967284050_0.49288727352186923","host":"s3://npm-registry-packages-npm-production"}},"1.45.2":{"name":"@contractspec/example.learning-journey-duo-drills","version":"1.45.2","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@1.45.2","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","dist":{"shasum":"6e59d34fe2c16b3fde38e4b5f846df51234e5f55","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-1.45.2.tgz","fileCount":31,"integrity":"sha512-FicWmT0NJX3GYwXndIzoFeeU+1O7SQlnvqHgD6Ask5ZCrXdSoUC8ts+xuICuSChvFiHxdgiqzBARGm0VfJ/lMQ==","signatures":[{"sig":"MEUCIAYA50GzZvZFC/wpzJCs1kvFSyd7R2ukc3/pFc4eL9z5AiEAmYhQXN6h2t8k1yCkVj/tBWE5ycOWcwoLy2zcGTIwaoc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":399554},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"6e59d34fe2c16b3fde38e4b5f846df51234e5f55","exports":{".":"./dist/index.js","./*":"./*","./docs":"./dist/docs/index.js","./track":"./dist/track.js","./example":"./dist/example.js","./docs/duo-drills.docblock":"./dist/docs/duo-drills.docblock.js"},"scripts":{"dev":"bun build:bundle --watch","lint":"bun lint:fix","test":"bun test","build":"bun build:types && bun build:bundle","clean":"rimraf dist .turbo","lint:fix":"eslint src --fix","lint:check":"eslint src","build:types":"tsc --noEmit","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"tsdown","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_integrity":"sha512-FicWmT0NJX3GYwXndIzoFeeU+1O7SQlnvqHgD6Ask5ZCrXdSoUC8ts+xuICuSChvFiHxdgiqzBARGm0VfJ/lMQ==","repository":{"url":"https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.8.3","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@contractspec/lib.contracts":"1.45.2","@contractspec/module.learning-journey":"1.45.2"},"publishConfig":{"access":"public","exports":{".":"./dist/index.js","./*":"./*","./docs":"./dist/docs/index.js","./track":"./dist/track.js","./example":"./dist/example.js","./docs/duo-drills.docblock":"./dist/docs/duo-drills.docblock.js"},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.18.3","typescript":"^5.9.3","@contractspec/tool.tsdown":"1.45.2","@contractspec/tool.typescript":"1.45.2"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_1.45.2_1767004968400_0.22574082931360895","host":"s3://npm-registry-packages-npm-production"}},"1.45.3":{"name":"@contractspec/example.learning-journey-duo-drills","version":"1.45.3","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@1.45.3","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","dist":{"shasum":"5dc23d4d836dbdb5ae9a19c84ad3023fd22eddb9","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-1.45.3.tgz","fileCount":31,"integrity":"sha512-5BGCt9FQjby3QMtOMnUOfSmT6dB37cjk4sVynoIF1Pb4Ha3SRXN6iNwPMdtY1P4gH6ZAE4Rg86sqLzSrFbPBCA==","signatures":[{"sig":"MEQCIBV6cGCVAgg7wGHsBDH+f6CMaKFpzVKf+7tT2dzEQTckAiBwxqy6+APFYFmnmVUWOAWmk/cd7y23V32usihT9g1dKA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":400089},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"5dc23d4d836dbdb5ae9a19c84ad3023fd22eddb9","exports":{".":"./dist/index.js","./*":"./*","./docs":"./dist/docs/index.js","./track":"./dist/track.js","./example":"./dist/example.js","./docs/duo-drills.docblock":"./dist/docs/duo-drills.docblock.js"},"scripts":{"dev":"bun build:bundle --watch","lint":"bun lint:fix","test":"bun test","build":"bun build:types && bun build:bundle","clean":"rimraf dist .turbo","lint:fix":"eslint src --fix","lint:check":"eslint src","build:types":"tsc --noEmit","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"tsdown","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_integrity":"sha512-5BGCt9FQjby3QMtOMnUOfSmT6dB37cjk4sVynoIF1Pb4Ha3SRXN6iNwPMdtY1P4gH6ZAE4Rg86sqLzSrFbPBCA==","repository":{"url":"https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.8.3","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@contractspec/lib.contracts":"1.45.3","@contractspec/module.learning-journey":"1.45.3"},"publishConfig":{"access":"public","exports":{".":"./dist/index.js","./*":"./*","./docs":"./dist/docs/index.js","./track":"./dist/track.js","./example":"./dist/example.js","./docs/duo-drills.docblock":"./dist/docs/duo-drills.docblock.js"},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.18.3","typescript":"^5.9.3","@contractspec/tool.tsdown":"1.45.3","@contractspec/tool.typescript":"1.45.3"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_1.45.3_1767011015617_0.9833597536957657","host":"s3://npm-registry-packages-npm-production"}},"1.45.4":{"name":"@contractspec/example.learning-journey-duo-drills","version":"1.45.4","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@1.45.4","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","dist":{"shasum":"acb8724f6ad3871dec671e1da77ea3f8d1a257ba","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-1.45.4.tgz","fileCount":31,"integrity":"sha512-JhqR3nlcGrhDOEJ0Z3Fu6bI0b5Y3AFBLnidFYZh+9pQZLLtFWP6AjJXzzhPIJgCuL+PzcsYUyUu+kQ+oVyvdlA==","signatures":[{"sig":"MEUCIFOIDd4/AToakM98GAsXu9YiKnlBuAOVzwCstFmAnjHxAiEA9YEdDRQpAlp8PtxiOUlDsBV/03rH/H0Hwia/2RGfKhw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":400252},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"acb8724f6ad3871dec671e1da77ea3f8d1a257ba","exports":{".":"./dist/index.js","./*":"./*","./docs":"./dist/docs/index.js","./track":"./dist/track.js","./example":"./dist/example.js","./docs/duo-drills.docblock":"./dist/docs/duo-drills.docblock.js"},"scripts":{"dev":"bun build:bundle --watch","lint":"bun lint:fix","test":"bun test","build":"bun build:types && bun build:bundle","clean":"rimraf dist .turbo","lint:fix":"eslint src --fix","lint:check":"eslint src","build:types":"tsc --noEmit","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"tsdown","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_integrity":"sha512-JhqR3nlcGrhDOEJ0Z3Fu6bI0b5Y3AFBLnidFYZh+9pQZLLtFWP6AjJXzzhPIJgCuL+PzcsYUyUu+kQ+oVyvdlA==","repository":{"url":"https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.8.3","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@contractspec/lib.contracts":"1.45.4","@contractspec/module.learning-journey":"1.45.4"},"publishConfig":{"access":"public","exports":{".":"./dist/index.js","./*":"./*","./docs":"./dist/docs/index.js","./track":"./dist/track.js","./example":"./dist/example.js","./docs/duo-drills.docblock":"./dist/docs/duo-drills.docblock.js"},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.18.3","typescript":"^5.9.3","@contractspec/tool.tsdown":"1.45.4","@contractspec/tool.typescript":"1.45.4"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_1.45.4_1767011914720_0.028409216165897533","host":"s3://npm-registry-packages-npm-production"}},"1.45.5":{"name":"@contractspec/example.learning-journey-duo-drills","version":"1.45.5","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@1.45.5","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","dist":{"shasum":"08ba9e4d2a1efe6c57fc1e29156d59f92935240d","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-1.45.5.tgz","fileCount":31,"integrity":"sha512-GqaPVBJ7iTQSQFVFkDm+fx1Qzl2QhJbnuO1LG4I9I38x/nyWH3felAF7j7GNoDFiFPDlkU0Q9nPMN7J3SSMHFQ==","signatures":[{"sig":"MEUCIQDMaLZICi0fyO9u+Tqoif6v2mtEk7lB7w+n5oyb0rUEygIgPqqh++jSLJAYY0mo7BK6ivR1U//GU8WlzjV5bLToOpo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":400440},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"08ba9e4d2a1efe6c57fc1e29156d59f92935240d","exports":{".":"./dist/index.js","./*":"./*","./docs":"./dist/docs/index.js","./track":"./dist/track.js","./example":"./dist/example.js","./docs/duo-drills.docblock":"./dist/docs/duo-drills.docblock.js"},"scripts":{"dev":"bun build:bundle --watch","lint":"bun lint:fix","test":"bun test","build":"bun build:types && bun build:bundle","clean":"rimraf dist .turbo","lint:fix":"eslint src --fix","lint:check":"eslint src","build:types":"tsc --noEmit","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"tsdown","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_integrity":"sha512-GqaPVBJ7iTQSQFVFkDm+fx1Qzl2QhJbnuO1LG4I9I38x/nyWH3felAF7j7GNoDFiFPDlkU0Q9nPMN7J3SSMHFQ==","repository":{"url":"https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.8.3","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@contractspec/lib.contracts":"1.45.5","@contractspec/module.learning-journey":"1.45.5"},"publishConfig":{"access":"public","exports":{".":"./dist/index.js","./*":"./*","./docs":"./dist/docs/index.js","./track":"./dist/track.js","./example":"./dist/example.js","./docs/duo-drills.docblock":"./dist/docs/duo-drills.docblock.js"},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.18.3","typescript":"^5.9.3","@contractspec/tool.tsdown":"1.45.5","@contractspec/tool.typescript":"1.45.5"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_1.45.5_1767023082754_0.005232148614977339","host":"s3://npm-registry-packages-npm-production"}},"1.45.6":{"name":"@contractspec/example.learning-journey-duo-drills","version":"1.45.6","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@1.45.6","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","dist":{"shasum":"4d798c3fb151f6c547ec4a670b6e69e60bf0b992","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-1.45.6.tgz","fileCount":31,"integrity":"sha512-kdWTmLxygNiHtnqVKUxBr+zKHUybt4GbNcDHjW8NzaKd63q5TWPkuVBtGw1nqxVlfSME9qc0YN20+RACkq1hUQ==","signatures":[{"sig":"MEUCIQD/h0cko1ldQ6OOziPyVu7pNE25XsyDLeqdEsj1XtAEkAIgYEOTidvBr/T6pwutDMewF7XMkjQGLP2ONND/MHznJ4s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":400645},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"4d798c3fb151f6c547ec4a670b6e69e60bf0b992","exports":{".":"./dist/index.js","./*":"./*","./docs":"./dist/docs/index.js","./track":"./dist/track.js","./example":"./dist/example.js","./docs/duo-drills.docblock":"./dist/docs/duo-drills.docblock.js"},"scripts":{"dev":"bun build:bundle --watch","lint":"bun lint:fix","test":"bun test","build":"bun build:types && bun build:bundle","clean":"rimraf dist .turbo","lint:fix":"eslint src --fix","lint:check":"eslint src","build:types":"tsc --noEmit","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"tsdown","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_integrity":"sha512-kdWTmLxygNiHtnqVKUxBr+zKHUybt4GbNcDHjW8NzaKd63q5TWPkuVBtGw1nqxVlfSME9qc0YN20+RACkq1hUQ==","repository":{"url":"https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.8.3","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@contractspec/lib.contracts":"1.45.6","@contractspec/module.learning-journey":"1.45.6"},"publishConfig":{"access":"public","exports":{".":"./dist/index.js","./*":"./*","./docs":"./dist/docs/index.js","./track":"./dist/track.js","./example":"./dist/example.js","./docs/duo-drills.docblock":"./dist/docs/duo-drills.docblock.js"},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.18.3","typescript":"^5.9.3","@contractspec/tool.tsdown":"1.45.6","@contractspec/tool.typescript":"1.45.6"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_1.45.6_1767031637626_0.9729091641052365","host":"s3://npm-registry-packages-npm-production"}},"1.46.0":{"name":"@contractspec/example.learning-journey-duo-drills","version":"1.46.0","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@1.46.0","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","dist":{"shasum":"efe74c6e722f6986acbde861cfc359aef8bb1e1e","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-1.46.0.tgz","fileCount":31,"integrity":"sha512-VwUm1L7HgOYbIrZU3Mi/c/Xz43JlMgujlGFkQmVg3jpz7i8bHXkNEc/L/u20j5mdMXszdWa/kb0bizQvFfll7Q==","signatures":[{"sig":"MEQCIGfnHv4MKJ6vcdDUK5FhWMgSglXJGMsoY7Hsv+v6KOskAiBr0+opfglDth2MCAjvNlcpfsD/gj0btaNXcuXZfVFJYQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":400877},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"efe74c6e722f6986acbde861cfc359aef8bb1e1e","exports":{".":"./dist/index.js","./*":"./*","./docs":"./dist/docs/index.js","./track":"./dist/track.js","./example":"./dist/example.js","./docs/duo-drills.docblock":"./dist/docs/duo-drills.docblock.js"},"scripts":{"dev":"bun build:bundle --watch","lint":"bun lint:fix","test":"bun test","build":"bun build:types && bun build:bundle","clean":"rimraf dist .turbo","lint:fix":"eslint src --fix","lint:check":"eslint src","build:types":"tsc --noEmit","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"tsdown","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_integrity":"sha512-VwUm1L7HgOYbIrZU3Mi/c/Xz43JlMgujlGFkQmVg3jpz7i8bHXkNEc/L/u20j5mdMXszdWa/kb0bizQvFfll7Q==","repository":{"url":"https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.8.3","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@contractspec/lib.contracts":"1.46.0","@contractspec/module.learning-journey":"1.46.0"},"publishConfig":{"access":"public","exports":{".":"./dist/index.js","./*":"./*","./docs":"./dist/docs/index.js","./track":"./dist/track.js","./example":"./dist/example.js","./docs/duo-drills.docblock":"./dist/docs/duo-drills.docblock.js"},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.18.3","typescript":"^5.9.3","@contractspec/tool.tsdown":"1.46.0","@contractspec/tool.typescript":"1.46.0"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_1.46.0_1767046968642_0.8480734604500526","host":"s3://npm-registry-packages-npm-production"}},"1.46.1":{"name":"@contractspec/example.learning-journey-duo-drills","version":"1.46.1","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@1.46.1","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","dist":{"shasum":"a493e9c04319e21045092d108aa1b5743a5f3a24","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-1.46.1.tgz","fileCount":31,"integrity":"sha512-C9xUl2G+fBgboefLsE9q6SczMiUkGk0t8KNGibudRaiDRac8fg69bp8XFaMY9SUrNO5fEY6Wr5hKgb93+2+b9w==","signatures":[{"sig":"MEYCIQCpVvdOcv97h14bvwtB53Q68ZvAmPtdKG/6HwNevvdWygIhAK5ZRd/GssAkoR++ksgXMyRXbxowkSrcca7FptTYXLiu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":401066},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"a493e9c04319e21045092d108aa1b5743a5f3a24","exports":{".":"./dist/index.js","./*":"./*","./docs":"./dist/docs/index.js","./track":"./dist/track.js","./example":"./dist/example.js","./docs/duo-drills.docblock":"./dist/docs/duo-drills.docblock.js"},"scripts":{"dev":"bun build:bundle --watch","lint":"bun lint:fix","test":"bun test","build":"bun build:types && bun build:bundle","clean":"rimraf dist .turbo","lint:fix":"eslint src --fix","lint:check":"eslint src","build:types":"tsc --noEmit","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"tsdown","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_integrity":"sha512-C9xUl2G+fBgboefLsE9q6SczMiUkGk0t8KNGibudRaiDRac8fg69bp8XFaMY9SUrNO5fEY6Wr5hKgb93+2+b9w==","repository":{"url":"https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.8.3","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@contractspec/lib.contracts":"1.46.1","@contractspec/module.learning-journey":"1.46.1"},"publishConfig":{"access":"public","exports":{".":"./dist/index.js","./*":"./*","./docs":"./dist/docs/index.js","./track":"./dist/track.js","./example":"./dist/example.js","./docs/duo-drills.docblock":"./dist/docs/duo-drills.docblock.js"},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.18.3","typescript":"^5.9.3","@contractspec/tool.tsdown":"1.46.1","@contractspec/tool.typescript":"1.46.1"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_1.46.1_1767106873472_0.17836715325767716","host":"s3://npm-registry-packages-npm-production"}},"1.46.2":{"name":"@contractspec/example.learning-journey-duo-drills","version":"1.46.2","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@1.46.2","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","dist":{"shasum":"95d43cf76efce9d850baba1e7064bb097e593c42","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-1.46.2.tgz","fileCount":30,"integrity":"sha512-ih2mtRIxFOlSv8zWyJYaXKhD28GoU51uTv6Ds9RJ3ZtNLXYju87dUcmZrZ7Snc9YpPSKBuc3z3m7WyogmEkoHg==","signatures":[{"sig":"MEQCIDDitd0RZMCsUZ5Dz1U9gvrJ0Ckzq1Blj5gXsY7d9VlxAiBY6vzVbeQai+2inSicHiyTkO91gP42zOurdDcG2rbVMA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":35171},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"95d43cf76efce9d850baba1e7064bb097e593c42","exports":{".":"./dist/index.js","./*":"./*","./docs":"./dist/docs/index.js","./track":"./dist/track.js","./example":"./dist/example.js","./docs/duo-drills.docblock":"./dist/docs/duo-drills.docblock.js"},"scripts":{"dev":"bun build:bundle --watch","lint":"bun lint:fix","test":"bun test","build":"bun build:types && bun build:bundle","clean":"rimraf dist .turbo","lint:fix":"eslint src --fix","lint:check":"eslint src","build:types":"tsc --noEmit","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"tsdown","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_integrity":"sha512-ih2mtRIxFOlSv8zWyJYaXKhD28GoU51uTv6Ds9RJ3ZtNLXYju87dUcmZrZ7Snc9YpPSKBuc3z3m7WyogmEkoHg==","repository":{"url":"https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.8.3","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@contractspec/lib.contracts":"1.46.2","@contractspec/module.learning-journey":"1.46.2"},"publishConfig":{"access":"public","exports":{".":"./dist/index.js","./*":"./*","./docs":"./dist/docs/index.js","./track":"./dist/track.js","./example":"./dist/example.js","./docs/duo-drills.docblock":"./dist/docs/duo-drills.docblock.js"},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.18.3","typescript":"^5.9.3","@contractspec/tool.tsdown":"1.46.2","@contractspec/tool.typescript":"1.46.2"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_1.46.2_1767211018696_0.43215062511969893","host":"s3://npm-registry-packages-npm-production"}},"0.0.0-canary-20260113162409":{"name":"@contractspec/example.learning-journey-duo-drills","version":"0.0.0-canary-20260113162409","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@0.0.0-canary-20260113162409","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","dist":{"shasum":"bea509c4bb81456434b90392760777956b3640ea","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-0.0.0-canary-20260113162409.tgz","fileCount":31,"integrity":"sha512-BDSlJlXDEKUCWrisDBTGQWtXSWL+TMzzMwbxPrWPr4V2omkEJEiQjyZtbvsDuz+epRggGoOpvHrzXHySDx/ipA==","signatures":[{"sig":"MEUCIQCNPNCDX9moTrWAH1PiY+QBq7pWvMT2O++Bjws9uMbPuwIgbkXO4Z11sxtA93jUVjao/+XwExROZrcZhAQ0lbzJr6M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":406154},"type":"module","types":"./dist/index.d.ts","shasum":"bea509c4bb81456434b90392760777956b3640ea","exports":{".":"./dist/index.js","./*":"./*","./docs":"./dist/docs/index.js","./track":"./dist/track.js","./example":"./dist/example.js","./docs/duo-drills.docblock":"./dist/docs/duo-drills.docblock.js"},"scripts":{"dev":"bun build:bundle --watch","lint":"bun lint:fix","test":"bun test","build":"bun build:types && bun build:bundle","clean":"rimraf dist .turbo","lint:fix":"eslint src --fix","lint:check":"eslint src","build:types":"tsc --noEmit","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"tsdown","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_integrity":"sha512-BDSlJlXDEKUCWrisDBTGQWtXSWL+TMzzMwbxPrWPr4V2omkEJEiQjyZtbvsDuz+epRggGoOpvHrzXHySDx/ipA==","repository":{"url":"https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.8.3","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@contractspec/lib.contracts":"0.0.0-canary-20260113162409","@contractspec/module.learning-journey":"0.0.0-canary-20260113162409"},"publishConfig":{"access":"public","exports":{".":"./dist/index.js","./*":"./*","./docs":"./dist/docs/index.js","./track":"./dist/track.js","./example":"./dist/example.js","./docs/duo-drills.docblock":"./dist/docs/duo-drills.docblock.js"},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.19.0","typescript":"^5.9.3","@contractspec/tool.tsdown":"0.0.0-canary-20260113162409","@contractspec/tool.typescript":"0.0.0-canary-20260113162409"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_0.0.0-canary-20260113162409_1768322244904_0.659426105460631","host":"s3://npm-registry-packages-npm-production"}},"0.0.0-canary-20260113170453":{"name":"@contractspec/example.learning-journey-duo-drills","version":"0.0.0-canary-20260113170453","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@0.0.0-canary-20260113170453","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","dist":{"shasum":"5a3bbefcd86e1dd9394ac92f2c3247d803434f8b","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-0.0.0-canary-20260113170453.tgz","fileCount":31,"integrity":"sha512-VfCC84oVahHc4Bc1DZIGD7UyoUFgsOzwQIVvsDoZxWZoW6cdTmi2sz6QLlJydSjm5tW44v8HDo8NGl1m0fuBzQ==","signatures":[{"sig":"MEQCIBusbb+q8yD/ndxld76xJcv4/KJ/tAyELmm5TQOCT8/+AiAwRSD8RGONW5b2dGe8nF9/yMKfVqGimhNxCvJBz06MUQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":406154},"type":"module","types":"./dist/index.d.ts","shasum":"5a3bbefcd86e1dd9394ac92f2c3247d803434f8b","exports":{".":"./dist/index.js","./*":"./*","./docs":"./dist/docs/index.js","./track":"./dist/track.js","./example":"./dist/example.js","./docs/duo-drills.docblock":"./dist/docs/duo-drills.docblock.js"},"scripts":{"dev":"bun build:bundle --watch","lint":"bun lint:fix","test":"bun test","build":"bun build:types && bun build:bundle","clean":"rimraf dist .turbo","lint:fix":"eslint src --fix","lint:check":"eslint src","build:types":"tsc --noEmit","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"tsdown","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_integrity":"sha512-VfCC84oVahHc4Bc1DZIGD7UyoUFgsOzwQIVvsDoZxWZoW6cdTmi2sz6QLlJydSjm5tW44v8HDo8NGl1m0fuBzQ==","repository":{"url":"https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.8.3","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@contractspec/lib.contracts":"0.0.0-canary-20260113170453","@contractspec/module.learning-journey":"0.0.0-canary-20260113170453"},"publishConfig":{"access":"public","exports":{".":"./dist/index.js","./*":"./*","./docs":"./dist/docs/index.js","./track":"./dist/track.js","./example":"./dist/example.js","./docs/duo-drills.docblock":"./dist/docs/duo-drills.docblock.js"},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.19.0","typescript":"^5.9.3","@contractspec/tool.tsdown":"0.0.0-canary-20260113170453","@contractspec/tool.typescript":"0.0.0-canary-20260113170453"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_0.0.0-canary-20260113170453_1768324643936_0.38463615155691167","host":"s3://npm-registry-packages-npm-production"}},"0.0.0-canary-20260113173657":{"name":"@contractspec/example.learning-journey-duo-drills","version":"0.0.0-canary-20260113173657","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@0.0.0-canary-20260113173657","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","dist":{"shasum":"18eb89d29d8e0903ad280a83252e5fefd136f726","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-0.0.0-canary-20260113173657.tgz","fileCount":31,"integrity":"sha512-ZKhTRxFCaG/mBCLfceXpta8JzKK+g68vGLeHsKVk9FhPWAsI/zxBcJ1E82GswLW5YDEMM9sh5BobaLOrV2KXwA==","signatures":[{"sig":"MEUCIQCqac1p3Nnz7jb9ZCbnqfzd9bnlKyq2+QJTZIudWafRMgIgPkdz5ghQz88QWMuysyNGoP+hHXtKOnSUZAvmA3OnUoc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":406154},"type":"module","types":"./dist/index.d.ts","shasum":"18eb89d29d8e0903ad280a83252e5fefd136f726","exports":{".":"./dist/index.js","./*":"./*","./docs":"./dist/docs/index.js","./track":"./dist/track.js","./example":"./dist/example.js","./docs/duo-drills.docblock":"./dist/docs/duo-drills.docblock.js"},"scripts":{"dev":"bun build:bundle --watch","lint":"bun lint:fix","test":"bun test","build":"bun build:types && bun build:bundle","clean":"rimraf dist .turbo","lint:fix":"eslint src --fix","lint:check":"eslint src","build:types":"tsc --noEmit","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"tsdown","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_integrity":"sha512-ZKhTRxFCaG/mBCLfceXpta8JzKK+g68vGLeHsKVk9FhPWAsI/zxBcJ1E82GswLW5YDEMM9sh5BobaLOrV2KXwA==","repository":{"url":"https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.8.3","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@contractspec/lib.contracts":"0.0.0-canary-20260113173657","@contractspec/module.learning-journey":"0.0.0-canary-20260113173657"},"publishConfig":{"access":"public","exports":{".":"./dist/index.js","./*":"./*","./docs":"./dist/docs/index.js","./track":"./dist/track.js","./example":"./dist/example.js","./docs/duo-drills.docblock":"./dist/docs/duo-drills.docblock.js"},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.19.0","typescript":"^5.9.3","@contractspec/tool.tsdown":"0.0.0-canary-20260113173657","@contractspec/tool.typescript":"0.0.0-canary-20260113173657"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_0.0.0-canary-20260113173657_1768326558640_0.3083433090356391","host":"s3://npm-registry-packages-npm-production"}},"0.0.0-canary-20260114030712":{"name":"@contractspec/example.learning-journey-duo-drills","version":"0.0.0-canary-20260114030712","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@0.0.0-canary-20260114030712","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","dist":{"shasum":"2642b05cddc02e3f29f73add1f2036e61648b0cb","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-0.0.0-canary-20260114030712.tgz","fileCount":31,"integrity":"sha512-BMwXT88ipYZ7TS8+Q9NV005ryiDi3cjkAxgTqLLcN7E+NEa3HVUpt2jaZhxLqHcSe1GCxHT6WIXgMxpdYL5yRA==","signatures":[{"sig":"MEQCIDVbO41ebGkLomOv0taWVMcQvpYJGgLdJs9+YZlY8OkDAiB8iAZaSj4jBGsLbqk4YvgIMug1l2fIgVJjAvq+KY0/Uw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":406404},"type":"module","types":"./dist/index.d.ts","shasum":"2642b05cddc02e3f29f73add1f2036e61648b0cb","exports":{".":"./dist/index.js","./*":"./*","./docs":"./dist/docs/index.js","./track":"./dist/track.js","./example":"./dist/example.js","./docs/duo-drills.docblock":"./dist/docs/duo-drills.docblock.js"},"scripts":{"dev":"bun build:bundle --watch","lint":"bun lint:fix","test":"bun test","build":"bun build:types && bun build:bundle","clean":"rimraf dist .turbo","lint:fix":"eslint src --fix","lint:check":"eslint src","build:types":"tsc --noEmit","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"tsdown","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_integrity":"sha512-BMwXT88ipYZ7TS8+Q9NV005ryiDi3cjkAxgTqLLcN7E+NEa3HVUpt2jaZhxLqHcSe1GCxHT6WIXgMxpdYL5yRA==","repository":{"url":"https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.8.3","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@contractspec/lib.contracts":"0.0.0-canary-20260114030712","@contractspec/module.learning-journey":"0.0.0-canary-20260114030712"},"publishConfig":{"access":"public","exports":{".":"./dist/index.js","./*":"./*","./docs":"./dist/docs/index.js","./track":"./dist/track.js","./example":"./dist/example.js","./docs/duo-drills.docblock":"./dist/docs/duo-drills.docblock.js"},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.19.0","typescript":"^5.9.3","@contractspec/tool.tsdown":"0.0.0-canary-20260114030712","@contractspec/tool.typescript":"0.0.0-canary-20260114030712"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_0.0.0-canary-20260114030712_1768360805062_0.8347988682264988","host":"s3://npm-registry-packages-npm-production"}},"1.47.0":{"name":"@contractspec/example.learning-journey-duo-drills","version":"1.47.0","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@1.47.0","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","dist":{"shasum":"22a83197b39e726153eaddfd4c3fb240af442e59","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-1.47.0.tgz","fileCount":31,"integrity":"sha512-x7n3nEm03Kn99Gg8cOwnWwEqiMjWWwojERvRnddcubx82yzL/3kKpjyEovsPVS5vAiBh/QNuruu0xn5iM8yaDw==","signatures":[{"sig":"MEQCICwWRFE/S7+mfAkQNY4BIhKOhVM6oGLxxspD/TDZVqPlAiBk7IlIPFLSuqY3qzoPUn20PqI41R0IknaxfbG8Vpoejg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":406236},"type":"module","types":"./dist/index.d.ts","shasum":"22a83197b39e726153eaddfd4c3fb240af442e59","exports":{".":"./dist/index.js","./*":"./*","./docs":"./dist/docs/index.js","./track":"./dist/track.js","./example":"./dist/example.js","./docs/duo-drills.docblock":"./dist/docs/duo-drills.docblock.js"},"scripts":{"dev":"bun build:bundle --watch","lint":"bun lint:fix","test":"bun test","build":"bun build:types && bun build:bundle","clean":"rimraf dist .turbo","lint:fix":"eslint src --fix","lint:check":"eslint src","build:types":"tsc --noEmit","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"tsdown","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_integrity":"sha512-x7n3nEm03Kn99Gg8cOwnWwEqiMjWWwojERvRnddcubx82yzL/3kKpjyEovsPVS5vAiBh/QNuruu0xn5iM8yaDw==","repository":{"url":"https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.8.3","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@contractspec/lib.contracts":"1.47.0","@contractspec/module.learning-journey":"1.47.0"},"publishConfig":{"access":"public","exports":{".":"./dist/index.js","./*":"./*","./docs":"./dist/docs/index.js","./track":"./dist/track.js","./example":"./dist/example.js","./docs/duo-drills.docblock":"./dist/docs/duo-drills.docblock.js"},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.19.0","typescript":"^5.9.3","@contractspec/tool.tsdown":"1.47.0","@contractspec/tool.typescript":"1.47.0"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_1.47.0_1768363544757_0.17562926704444304","host":"s3://npm-registry-packages-npm-production"}},"1.48.0":{"name":"@contractspec/example.learning-journey-duo-drills","version":"1.48.0","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@1.48.0","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","dist":{"shasum":"94b33286529888150e831bc0d2756198b0eac1ee","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-1.48.0.tgz","fileCount":31,"integrity":"sha512-i9M6/PmAitqzyI+C+JvBXoh3fGmchGC+BbilPcSiFNoXyIBAcVRkpW6XPqewyWmHP9ToiNp4ZWEs53ZjgUijng==","signatures":[{"sig":"MEQCICjQC/gaRdN3WJOexNxFdandnS7kmB+Gb6h37O66X74MAiA7kKoSsZBCGHhGsaFkKHQ3Lv4Siawh+qKxhHsg+mBmAw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":406520},"type":"module","types":"./dist/index.d.ts","shasum":"94b33286529888150e831bc0d2756198b0eac1ee","exports":{".":"./dist/index.js","./*":"./*","./docs":"./dist/docs/index.js","./track":"./dist/track.js","./example":"./dist/example.js","./docs/duo-drills.docblock":"./dist/docs/duo-drills.docblock.js"},"scripts":{"dev":"bun build:bundle --watch","lint":"bun lint:fix","test":"bun test","build":"bun build:types && bun build:bundle","clean":"rimraf dist .turbo","lint:fix":"eslint src --fix","lint:check":"eslint src","build:types":"tsc --noEmit","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"tsdown","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_integrity":"sha512-i9M6/PmAitqzyI+C+JvBXoh3fGmchGC+BbilPcSiFNoXyIBAcVRkpW6XPqewyWmHP9ToiNp4ZWEs53ZjgUijng==","repository":{"url":"https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.8.3","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@contractspec/lib.contracts":"1.48.0","@contractspec/module.learning-journey":"1.48.0"},"publishConfig":{"access":"public","exports":{".":"./dist/index.js","./*":"./*","./docs":"./dist/docs/index.js","./track":"./dist/track.js","./example":"./dist/example.js","./docs/duo-drills.docblock":"./dist/docs/duo-drills.docblock.js"},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.19.0","typescript":"^5.9.3","@contractspec/tool.tsdown":"1.48.0","@contractspec/tool.typescript":"1.48.0"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_1.48.0_1768837061175_0.9025342432745376","host":"s3://npm-registry-packages-npm-production"}},"0.0.0-canary-20260119222405":{"name":"@contractspec/example.learning-journey-duo-drills","version":"0.0.0-canary-20260119222405","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@0.0.0-canary-20260119222405","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","dist":{"shasum":"238bc9782f5204b0418cad31278ad22e2218282f","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-0.0.0-canary-20260119222405.tgz","fileCount":31,"integrity":"sha512-teaB3rP2z4f/J12G8WItUP/jr++gbstB8UqxlrqazKjCDyUAalqC/2A/TXnAX1uTj1zbpMPbTmgzX2pkL7fD3w==","signatures":[{"sig":"MEQCIHmL8qnIRcQncGAQ+Sfwdhbov7+qLUWoODuxJ4wakrSMAiAKFKPuahISVoY+DGjQejtD7Gcm8GWBcARjlgI2KxWSaw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":406798},"type":"module","types":"./dist/index.d.ts","shasum":"238bc9782f5204b0418cad31278ad22e2218282f","exports":{".":"./dist/index.js","./*":"./*","./docs":"./dist/docs/index.js","./track":"./dist/track.js","./example":"./dist/example.js","./docs/duo-drills.docblock":"./dist/docs/duo-drills.docblock.js"},"scripts":{"dev":"bun build:bundle --watch","lint":"bun lint:fix","test":"bun test","build":"bun build:types && bun build:bundle","clean":"rimraf dist .turbo","lint:fix":"eslint src --fix","lint:check":"eslint src","build:types":"tsc --noEmit","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"tsdown","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_integrity":"sha512-teaB3rP2z4f/J12G8WItUP/jr++gbstB8UqxlrqazKjCDyUAalqC/2A/TXnAX1uTj1zbpMPbTmgzX2pkL7fD3w==","repository":{"url":"https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.8.3","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@contractspec/lib.contracts":"0.0.0-canary-20260119222405","@contractspec/module.learning-journey":"0.0.0-canary-20260119222405"},"publishConfig":{"access":"public","exports":{".":"./dist/index.js","./*":"./*","./docs":"./dist/docs/index.js","./track":"./dist/track.js","./example":"./dist/example.js","./docs/duo-drills.docblock":"./dist/docs/duo-drills.docblock.js"},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.19.0","typescript":"^5.9.3","@contractspec/tool.tsdown":"1.48.0","@contractspec/tool.typescript":"1.48.0"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_0.0.0-canary-20260119222405_1768862102781_0.334637118003305","host":"s3://npm-registry-packages-npm-production"}},"0.0.0-canary-20260119224109":{"name":"@contractspec/example.learning-journey-duo-drills","version":"0.0.0-canary-20260119224109","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@0.0.0-canary-20260119224109","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","dist":{"shasum":"43685829ad32c6a546c56780d36c3c317b37d449","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-0.0.0-canary-20260119224109.tgz","fileCount":31,"integrity":"sha512-ZSbXDKLLYJYXyEV7mleAKPdzsLYLFkrSRuXtD5CsaxVgPkDKXaJO360+RcWfbyYyp6sHKtGz0/ctkwOk4mErJA==","signatures":[{"sig":"MEYCIQCzEg2hFndaaLxl6w02d8SR0nYmS0FZke5nIMPMuYcx9gIhAL6NsHNp0Tjjpc/Sv7zYd0WYb9mdKbcuIACtXGVODRXi","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":406798},"type":"module","types":"./dist/index.d.ts","shasum":"43685829ad32c6a546c56780d36c3c317b37d449","exports":{".":"./dist/index.js","./*":"./*","./docs":"./dist/docs/index.js","./track":"./dist/track.js","./example":"./dist/example.js","./docs/duo-drills.docblock":"./dist/docs/duo-drills.docblock.js"},"scripts":{"dev":"bun build:bundle --watch","lint":"bun lint:fix","test":"bun test","build":"bun build:types && bun build:bundle","clean":"rimraf dist .turbo","lint:fix":"eslint src --fix","lint:check":"eslint src","build:types":"tsc --noEmit","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"tsdown","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_integrity":"sha512-ZSbXDKLLYJYXyEV7mleAKPdzsLYLFkrSRuXtD5CsaxVgPkDKXaJO360+RcWfbyYyp6sHKtGz0/ctkwOk4mErJA==","repository":{"url":"https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.8.3","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@contractspec/lib.contracts":"0.0.0-canary-20260119224109","@contractspec/module.learning-journey":"0.0.0-canary-20260119224109"},"publishConfig":{"access":"public","exports":{".":"./dist/index.js","./*":"./*","./docs":"./dist/docs/index.js","./track":"./dist/track.js","./example":"./dist/example.js","./docs/duo-drills.docblock":"./dist/docs/duo-drills.docblock.js"},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.19.0","typescript":"^5.9.3","@contractspec/tool.tsdown":"1.48.0","@contractspec/tool.typescript":"1.48.0"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_0.0.0-canary-20260119224109_1768863132086_0.9481327792660741","host":"s3://npm-registry-packages-npm-production"}},"0.0.0-canary-20260119224015":{"name":"@contractspec/example.learning-journey-duo-drills","version":"0.0.0-canary-20260119224015","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@0.0.0-canary-20260119224015","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","dist":{"shasum":"b069991f91af71b43cf791cf9171c683fad5e4fb","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-0.0.0-canary-20260119224015.tgz","fileCount":31,"integrity":"sha512-IQbXFvNtu3vCJ/x2uQugWnhwAbBtQIlcQ4Dwe/CVSbuNdycOCWk4DDG0FOkOHP/JUhY139hP/kH+3lW2mf+UkA==","signatures":[{"sig":"MEYCIQC81pKbSJOOjgT5UonllYEXoGbKk2diOkFTTMEE28IH7wIhALne1Me/ygyKAq0Ccc1PN1CEwhW8qLSqyT3lyPBKEr1P","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":406798},"type":"module","types":"./dist/index.d.ts","shasum":"b069991f91af71b43cf791cf9171c683fad5e4fb","exports":{".":"./dist/index.js","./*":"./*","./docs":"./dist/docs/index.js","./track":"./dist/track.js","./example":"./dist/example.js","./docs/duo-drills.docblock":"./dist/docs/duo-drills.docblock.js"},"scripts":{"dev":"bun build:bundle --watch","lint":"bun lint:fix","test":"bun test","build":"bun build:types && bun build:bundle","clean":"rimraf dist .turbo","lint:fix":"eslint src --fix","lint:check":"eslint src","build:types":"tsc --noEmit","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"tsdown","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_integrity":"sha512-IQbXFvNtu3vCJ/x2uQugWnhwAbBtQIlcQ4Dwe/CVSbuNdycOCWk4DDG0FOkOHP/JUhY139hP/kH+3lW2mf+UkA==","repository":{"url":"https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.8.3","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@contractspec/lib.contracts":"0.0.0-canary-20260119224015","@contractspec/module.learning-journey":"0.0.0-canary-20260119224015"},"publishConfig":{"access":"public","exports":{".":"./dist/index.js","./*":"./*","./docs":"./dist/docs/index.js","./track":"./dist/track.js","./example":"./dist/example.js","./docs/duo-drills.docblock":"./dist/docs/duo-drills.docblock.js"},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.19.0","typescript":"^5.9.3","@contractspec/tool.tsdown":"1.48.0","@contractspec/tool.typescript":"1.48.0"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_0.0.0-canary-20260119224015_1768863144190_0.27878772391610407","host":"s3://npm-registry-packages-npm-production"}},"0.0.0-canary-20260119224949":{"name":"@contractspec/example.learning-journey-duo-drills","version":"0.0.0-canary-20260119224949","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@0.0.0-canary-20260119224949","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","dist":{"shasum":"f2309a5ea4adf393e0b11d8404e457b9641ab1b1","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-0.0.0-canary-20260119224949.tgz","fileCount":31,"integrity":"sha512-HghfzZzGag/GN5wCWToHHUXxlUL3MrSH1RCXpqsyKwO/CmbvFzumUXlC4mdVU5GsPtmhg+ou4d1PfSWNkd1n5A==","signatures":[{"sig":"MEUCIQC7Qm/ZfevT1x4Zf5nrbQRJRNkSF50BKln2pM5LaNsZuQIgS9fl4Uy2g3nMVzzME487cAf5lRNVP1fax2cszGfTExw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":406798},"type":"module","types":"./dist/index.d.ts","shasum":"f2309a5ea4adf393e0b11d8404e457b9641ab1b1","exports":{".":"./dist/index.js","./*":"./*","./docs":"./dist/docs/index.js","./track":"./dist/track.js","./example":"./dist/example.js","./docs/duo-drills.docblock":"./dist/docs/duo-drills.docblock.js"},"scripts":{"dev":"bun build:bundle --watch","lint":"bun lint:fix","test":"bun test","build":"bun build:types && bun build:bundle","clean":"rimraf dist .turbo","lint:fix":"eslint src --fix","lint:check":"eslint src","build:types":"tsc --noEmit","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"tsdown","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_integrity":"sha512-HghfzZzGag/GN5wCWToHHUXxlUL3MrSH1RCXpqsyKwO/CmbvFzumUXlC4mdVU5GsPtmhg+ou4d1PfSWNkd1n5A==","repository":{"url":"https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.8.3","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@contractspec/lib.contracts":"0.0.0-canary-20260119224949","@contractspec/module.learning-journey":"0.0.0-canary-20260119224949"},"publishConfig":{"access":"public","exports":{".":"./dist/index.js","./*":"./*","./docs":"./dist/docs/index.js","./track":"./dist/track.js","./example":"./dist/example.js","./docs/duo-drills.docblock":"./dist/docs/duo-drills.docblock.js"},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.19.0","typescript":"^5.9.3","@contractspec/tool.tsdown":"1.48.0","@contractspec/tool.typescript":"1.48.0"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_0.0.0-canary-20260119224949_1768863654296_0.9101330608865286","host":"s3://npm-registry-packages-npm-production"}},"0.0.0-canary-20260119225944":{"name":"@contractspec/example.learning-journey-duo-drills","version":"0.0.0-canary-20260119225944","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@0.0.0-canary-20260119225944","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","dist":{"shasum":"b0db60ff99eb994a2729a0861688f0093650a0b5","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-0.0.0-canary-20260119225944.tgz","fileCount":31,"integrity":"sha512-LrIody3WNPvyegK3ctHRCs0GTGdvM6SkAVwEZGluCIXiAo6P0f5wpJOBLTznD6nNrbDbBNrQZHqCiacetcwcHw==","signatures":[{"sig":"MEYCIQDl3plTUHYDjH2X27Fg+TryatQQ2ivnzfryQnCSY5X5vQIhAPl3Plf4/y7bQAgcVTVAKV+1T4KE2Mnm+qNsS4PJljy6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":406798},"type":"module","types":"./dist/index.d.ts","shasum":"b0db60ff99eb994a2729a0861688f0093650a0b5","exports":{".":"./dist/index.js","./*":"./*","./docs":"./dist/docs/index.js","./track":"./dist/track.js","./example":"./dist/example.js","./docs/duo-drills.docblock":"./dist/docs/duo-drills.docblock.js"},"scripts":{"dev":"bun build:bundle --watch","lint":"bun lint:fix","test":"bun test","build":"bun build:types && bun build:bundle","clean":"rimraf dist .turbo","lint:fix":"eslint src --fix","lint:check":"eslint src","build:types":"tsc --noEmit","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"tsdown","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_integrity":"sha512-LrIody3WNPvyegK3ctHRCs0GTGdvM6SkAVwEZGluCIXiAo6P0f5wpJOBLTznD6nNrbDbBNrQZHqCiacetcwcHw==","repository":{"url":"https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.8.3","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@contractspec/lib.contracts":"0.0.0-canary-20260119225944","@contractspec/module.learning-journey":"0.0.0-canary-20260119225944"},"publishConfig":{"access":"public","exports":{".":"./dist/index.js","./*":"./*","./docs":"./dist/docs/index.js","./track":"./dist/track.js","./example":"./dist/example.js","./docs/duo-drills.docblock":"./dist/docs/duo-drills.docblock.js"},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.19.0","typescript":"^5.9.3","@contractspec/tool.tsdown":"1.48.0","@contractspec/tool.typescript":"1.48.0"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_0.0.0-canary-20260119225944_1768864192218_0.5780681790516555","host":"s3://npm-registry-packages-npm-production"}},"1.48.1":{"name":"@contractspec/example.learning-journey-duo-drills","version":"1.48.1","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@1.48.1","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","dist":{"shasum":"5cb06063456705aa08ca2e9338a53b7f4c8d20be","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-1.48.1.tgz","fileCount":31,"integrity":"sha512-QjuVjh2nkEbORexp5F6EDmO6/pHf70F/1woW9VZ3mIcJUN2FxKdh4koelYdJgHsCPkumiajWbBIx9IUVYEKbNg==","signatures":[{"sig":"MEUCIAb8nps9czl2f3m8NU1Eh38fmwOGEFYwWxUUC8F1eltoAiEA7e3pzqeyQQWIp0AjqnWZpSVYqryFJHrmiyz457JTcSk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":406672},"type":"module","types":"./dist/index.d.ts","shasum":"5cb06063456705aa08ca2e9338a53b7f4c8d20be","exports":{".":"./dist/index.js","./*":"./*","./docs":"./dist/docs/index.js","./track":"./dist/track.js","./example":"./dist/example.js","./docs/duo-drills.docblock":"./dist/docs/duo-drills.docblock.js"},"scripts":{"dev":"bun build:bundle --watch","lint":"bun lint:fix","test":"bun test","build":"bun build:types && bun build:bundle","clean":"rimraf dist .turbo","lint:fix":"eslint src --fix","lint:check":"eslint src","build:types":"tsc --noEmit","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"tsdown","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_integrity":"sha512-QjuVjh2nkEbORexp5F6EDmO6/pHf70F/1woW9VZ3mIcJUN2FxKdh4koelYdJgHsCPkumiajWbBIx9IUVYEKbNg==","repository":{"url":"https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.8.3","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@contractspec/lib.contracts":"1.48.1","@contractspec/module.learning-journey":"1.48.1"},"publishConfig":{"access":"public","exports":{".":"./dist/index.js","./*":"./*","./docs":"./dist/docs/index.js","./track":"./dist/track.js","./example":"./dist/example.js","./docs/duo-drills.docblock":"./dist/docs/duo-drills.docblock.js"},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.19.0","typescript":"^5.9.3","@contractspec/tool.tsdown":"1.48.0","@contractspec/tool.typescript":"1.48.0"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_1.48.1_1768864878213_0.5754882774346346","host":"s3://npm-registry-packages-npm-production"}},"1.49.0":{"name":"@contractspec/example.learning-journey-duo-drills","version":"1.49.0","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@1.49.0","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","dist":{"shasum":"12cdeaa59e0d63f1cc5e50b1a13ce5f8891c061e","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-1.49.0.tgz","fileCount":31,"integrity":"sha512-KJoUTEeUpN+x3bVxtHW3imTJ9xwsaP7V0IaQfj6i2RFt4xqrac8wwerHGZbZERYiRUxogfGLFLTTNBZfm7b7Kw==","signatures":[{"sig":"MEUCIQCZ9E2wsQulC9a9wOFQaSWl+CcDPigs1/mQy5j8JhuxJgIgB+KMsorBJsTPoFpQXBuWrOgcb2JgMW6lzDG5Au18e5k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":408392},"type":"module","types":"./dist/index.d.ts","shasum":"12cdeaa59e0d63f1cc5e50b1a13ce5f8891c061e","exports":{".":"./dist/index.js","./*":"./*","./docs":"./dist/docs/index.js","./track":"./dist/track.js","./example":"./dist/example.js","./docs/duo-drills.docblock":"./dist/docs/duo-drills.docblock.js"},"scripts":{"dev":"bun build:bundle --watch","lint":"bun lint:fix","test":"bun test","build":"bun build:types && bun build:bundle","clean":"rimraf dist .turbo","lint:fix":"eslint src --fix","lint:check":"eslint src","build:types":"tsc --noEmit","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"tsdown","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_integrity":"sha512-KJoUTEeUpN+x3bVxtHW3imTJ9xwsaP7V0IaQfj6i2RFt4xqrac8wwerHGZbZERYiRUxogfGLFLTTNBZfm7b7Kw==","repository":{"url":"https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.8.3","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@contractspec/lib.contracts":"1.49.0","@contractspec/module.learning-journey":"1.49.0"},"publishConfig":{"access":"public","exports":{".":"./dist/index.js","./*":"./*","./docs":"./dist/docs/index.js","./track":"./dist/track.js","./example":"./dist/example.js","./docs/duo-drills.docblock":"./dist/docs/duo-drills.docblock.js"},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.19.0","typescript":"^5.9.3","@contractspec/tool.tsdown":"1.49.0","@contractspec/tool.typescript":"1.49.0"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_1.49.0_1769132041515_0.9713086089515448","host":"s3://npm-registry-packages-npm-production"}},"1.50.0":{"name":"@contractspec/example.learning-journey-duo-drills","version":"1.50.0","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@1.50.0","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","dist":{"shasum":"f22e57585870c140c5a6c5acd6776fa545f16844","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-1.50.0.tgz","fileCount":30,"integrity":"sha512-CGIIn9fN/C7zgWaFKm26R8cDddDo1BlpEysJEfNKQ+Yb/ZeAER7ga4scv0NItioPLvRvECuzrNMCPS6oEQjm2w==","signatures":[{"sig":"MEQCIBkDPafLzDPD9NiM1LTf0DCEdMJXRnY9ba9LTjAfYo13AiAOLXkMLGtt01tR4+b2BdECkE/iP7euZ56N9Tfu+4atcw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":36853},"type":"module","types":"./dist/index.d.ts","shasum":"f22e57585870c140c5a6c5acd6776fa545f16844","exports":{".":"./dist/index.js","./*":"./*","./docs":"./dist/docs/index.js","./track":"./dist/track.js","./example":"./dist/example.js","./docs/duo-drills.docblock":"./dist/docs/duo-drills.docblock.js"},"scripts":{"dev":"bun build:bundle --watch","lint":"bun lint:fix","test":"bun test","build":"bun build:types && bun build:bundle","clean":"rimraf dist .turbo","lint:fix":"eslint src --fix","lint:check":"eslint src","build:types":"tsc --noEmit","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"tsdown","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_integrity":"sha512-CGIIn9fN/C7zgWaFKm26R8cDddDo1BlpEysJEfNKQ+Yb/ZeAER7ga4scv0NItioPLvRvECuzrNMCPS6oEQjm2w==","repository":{"url":"https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.8.3","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@contractspec/lib.contracts":"1.50.0","@contractspec/module.learning-journey":"1.50.0"},"publishConfig":{"access":"public","exports":{".":"./dist/index.js","./*":"./*","./docs":"./dist/docs/index.js","./track":"./dist/track.js","./example":"./dist/example.js","./docs/duo-drills.docblock":"./dist/docs/duo-drills.docblock.js"},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.19.0","typescript":"^5.9.3","@contractspec/tool.tsdown":"1.50.0","@contractspec/tool.typescript":"1.50.0"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_1.50.0_1769206729727_0.8189301127240254","host":"s3://npm-registry-packages-npm-production"}},"1.51.0":{"name":"@contractspec/example.learning-journey-duo-drills","version":"1.51.0","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@1.51.0","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","dist":{"shasum":"3de4c8b6f68e3e856f4bdb392b5fb0e7a7dc8fd7","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-1.51.0.tgz","fileCount":31,"integrity":"sha512-mXk0LlfmKe6mOmddGoLj4dazYVCHcpKRWhfNxYNd1uTWlkvqtxxKsNUuL1rFNmiYquoREHpz5moRup7743yUbA==","signatures":[{"sig":"MEUCIGFik3kYqdXSujf3YjsSE8BC3yobocoargXfuOPw1uzZAiEAlJ9+sevJPF+RHRqdJiX5SosUKGcjj8wagVwlIFYMs38=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":409737},"type":"module","types":"./dist/index.d.ts","shasum":"3de4c8b6f68e3e856f4bdb392b5fb0e7a7dc8fd7","exports":{".":"./dist/index.js","./*":"./*","./docs":"./dist/docs/index.js","./track":"./dist/track.js","./example":"./dist/example.js","./docs/duo-drills.docblock":"./dist/docs/duo-drills.docblock.js"},"scripts":{"dev":"bun build:bundle --watch","lint":"bun lint:fix","test":"bun test","build":"bun build:types && bun build:bundle","clean":"rimraf dist .turbo","lint:fix":"eslint src --fix","lint:check":"eslint src","build:types":"tsc --noEmit","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"tsdown","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_integrity":"sha512-mXk0LlfmKe6mOmddGoLj4dazYVCHcpKRWhfNxYNd1uTWlkvqtxxKsNUuL1rFNmiYquoREHpz5moRup7743yUbA==","repository":{"url":"https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.8.3","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@contractspec/lib.contracts":"1.51.0","@contractspec/module.learning-journey":"1.51.0"},"publishConfig":{"access":"public","exports":{".":"./dist/index.js","./*":"./*","./docs":"./dist/docs/index.js","./track":"./dist/track.js","./example":"./dist/example.js","./docs/duo-drills.docblock":"./dist/docs/duo-drills.docblock.js"},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.19.0","typescript":"^5.9.3","@contractspec/tool.tsdown":"1.51.0","@contractspec/tool.typescript":"1.51.0"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_1.51.0_1769372257197_0.3025251243599849","host":"s3://npm-registry-packages-npm-production"}},"1.52.0":{"name":"@contractspec/example.learning-journey-duo-drills","version":"1.52.0","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@1.52.0","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","dist":{"shasum":"2d8618856a2e5414cfabfb97b56e5a7d9a801c92","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-1.52.0.tgz","fileCount":31,"integrity":"sha512-AP1d+SN3qxs3I7pp04PgUTBiJJFgxHi7XISl360+l8994K01QHqmZ6q79xsXshJqzIsDJhNAx4avQG/zNCgHvQ==","signatures":[{"sig":"MEUCIQDPN7Xos/1NJiqZVeXaxT3qR+5fP+NCHAb7XK2O0GgClQIgO152TxH8HAsxtAQsCeUbgv/XCnvi4MruokaUq2c2S5g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":409941},"type":"module","types":"./dist/index.d.ts","shasum":"2d8618856a2e5414cfabfb97b56e5a7d9a801c92","exports":{".":"./dist/index.js","./*":"./*","./docs":"./dist/docs/index.js","./track":"./dist/track.js","./example":"./dist/example.js","./docs/duo-drills.docblock":"./dist/docs/duo-drills.docblock.js"},"scripts":{"dev":"bun build:bundle --watch","lint":"bun lint:fix","test":"bun test","build":"bun build:types && bun build:bundle","clean":"rimraf dist .turbo","lint:fix":"eslint src --fix","lint:check":"eslint src","build:types":"tsc --noEmit","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"tsdown","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_integrity":"sha512-AP1d+SN3qxs3I7pp04PgUTBiJJFgxHi7XISl360+l8994K01QHqmZ6q79xsXshJqzIsDJhNAx4avQG/zNCgHvQ==","repository":{"url":"https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.8.3","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@contractspec/lib.contracts":"1.52.0","@contractspec/module.learning-journey":"1.52.0"},"publishConfig":{"access":"public","exports":{".":"./dist/index.js","./*":"./*","./docs":"./dist/docs/index.js","./track":"./dist/track.js","./example":"./dist/example.js","./docs/duo-drills.docblock":"./dist/docs/duo-drills.docblock.js"},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.19.0","typescript":"^5.9.3","@contractspec/tool.tsdown":"1.52.0","@contractspec/tool.typescript":"1.52.0"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_1.52.0_1769423916075_0.0038138220490357977","host":"s3://npm-registry-packages-npm-production"}},"0.0.0-canary-20260128200020":{"name":"@contractspec/example.learning-journey-duo-drills","version":"0.0.0-canary-20260128200020","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@0.0.0-canary-20260128200020","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","dist":{"shasum":"3daa1781081a8c7c5d63044e6b0c80fb44bf0525","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-0.0.0-canary-20260128200020.tgz","fileCount":31,"integrity":"sha512-E6DLaRq2ug3NN7G8CZ76GF0LuawDCP8iToo2TEMs7/AVeZwgs/wZ/IE7xBvomQQUhlsLENbiZK5HaTqe41Zegg==","signatures":[{"sig":"MEUCIQCXo8D0GSAaaTzPI0ENSsGhhBjM++pjSi3GbzyJEpUCjAIgM+gjTeKiLHQ5waK5CMXa364raF4sCxMySWhEEE/iva8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":414901},"type":"module","types":"./dist/index.d.ts","shasum":"3daa1781081a8c7c5d63044e6b0c80fb44bf0525","exports":{".":"./dist/index.js","./*":"./*","./docs":"./dist/docs/index.js","./track":"./dist/track.js","./example":"./dist/example.js","./docs/duo-drills.docblock":"./dist/docs/duo-drills.docblock.js"},"scripts":{"dev":"bun build:bundle --watch","lint":"bun lint:fix","test":"bun test","build":"bun build:types && bun build:bundle","clean":"rimraf dist .turbo","lint:fix":"eslint src --fix","lint:check":"eslint src","build:types":"tsc --noEmit","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"tsdown","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_integrity":"sha512-E6DLaRq2ug3NN7G8CZ76GF0LuawDCP8iToo2TEMs7/AVeZwgs/wZ/IE7xBvomQQUhlsLENbiZK5HaTqe41Zegg==","repository":{"url":"https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.8.3","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@contractspec/lib.contracts":"0.0.0-canary-20260128200020","@contractspec/module.learning-journey":"0.0.0-canary-20260128200020"},"publishConfig":{"access":"public","exports":{".":"./dist/index.js","./*":"./*","./docs":"./dist/docs/index.js","./track":"./dist/track.js","./example":"./dist/example.js","./docs/duo-drills.docblock":"./dist/docs/duo-drills.docblock.js"},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.19.0","typescript":"^5.9.3","@contractspec/tool.tsdown":"1.52.0","@contractspec/tool.typescript":"1.52.0"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_0.0.0-canary-20260128200020_1769631221783_0.424960222413842","host":"s3://npm-registry-packages-npm-production"}},"1.53.0":{"name":"@contractspec/example.learning-journey-duo-drills","version":"1.53.0","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@1.53.0","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","dist":{"shasum":"dd70263319dbb23b0b2aa65208ae3a8842861222","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-1.53.0.tgz","fileCount":30,"integrity":"sha512-VSBUZQw+oyr/edr6yUerI+sftS09lpd7KyVf4fQhpZX/yHOCWE62m6famSt4bM6btZ0ZfKvwwD1G5jbYQcnb3Q==","signatures":[{"sig":"MEUCIQC7jICQUUtYlEnUcuFxq/TzEX05BnfpzokeQePCPzv1sgIgG9IxKYZ4re8NOCG4lLqC1KPEBd8D8lQinsFfYwhWAF0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37628},"type":"module","types":"./dist/index.d.ts","shasum":"dd70263319dbb23b0b2aa65208ae3a8842861222","exports":{".":"./dist/index.js","./*":"./*","./docs":"./dist/docs/index.js","./track":"./dist/track.js","./example":"./dist/example.js","./docs/duo-drills.docblock":"./dist/docs/duo-drills.docblock.js"},"scripts":{"dev":"bun build:bundle --watch","lint":"bun lint:fix","test":"bun test","build":"bun build:types && bun build:bundle","clean":"rimraf dist .turbo","lint:fix":"eslint src --fix","lint:check":"eslint src","build:types":"tsc --noEmit","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"tsdown","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_integrity":"sha512-VSBUZQw+oyr/edr6yUerI+sftS09lpd7KyVf4fQhpZX/yHOCWE62m6famSt4bM6btZ0ZfKvwwD1G5jbYQcnb3Q==","repository":{"url":"https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.8.3","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@contractspec/lib.contracts":"1.53.0","@contractspec/module.learning-journey":"1.53.0"},"publishConfig":{"access":"public","exports":{".":"./dist/index.js","./*":"./*","./docs":"./dist/docs/index.js","./track":"./dist/track.js","./example":"./dist/example.js","./docs/duo-drills.docblock":"./dist/docs/duo-drills.docblock.js"},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.19.0","typescript":"^5.9.3","@contractspec/tool.tsdown":"1.53.0","@contractspec/tool.typescript":"1.53.0"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_1.53.0_1770010810196_0.09503336178343358","host":"s3://npm-registry-packages-npm-production"}},"0.0.0-canary-20260202053150":{"name":"@contractspec/example.learning-journey-duo-drills","version":"0.0.0-canary-20260202053150","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@0.0.0-canary-20260202053150","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","dist":{"shasum":"1aff39574a993e2c56c61694d696f738ba30fb46","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-0.0.0-canary-20260202053150.tgz","fileCount":31,"integrity":"sha512-mTUSKDpt/zgFpMz3dzcab+KOEaocbppRXx++/rK7eRz+IO1APylvLBATbVTVz3i7Bo5HOAFj6aHmWGboDM7QHw==","signatures":[{"sig":"MEUCIGbBb9xIIiyAmSTb82FEaLKkNTt7Hz6oZ0Lp8Z6hUZGhAiEA/eUtuOF/Nm2cXkxvR+rmco766azjqxCSo+L/S5VYa0w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":416010},"type":"module","types":"./dist/index.d.ts","shasum":"1aff39574a993e2c56c61694d696f738ba30fb46","exports":{".":"./dist/index.js","./*":"./*","./docs":"./dist/docs/index.js","./track":"./dist/track.js","./example":"./dist/example.js","./docs/duo-drills.docblock":"./dist/docs/duo-drills.docblock.js"},"scripts":{"dev":"bun build:bundle --watch","lint":"bun lint:fix","test":"bun test","build":"bun build:types && bun build:bundle","clean":"rimraf dist .turbo","lint:fix":"eslint src --fix","lint:check":"eslint src","build:types":"tsc --noEmit","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"tsdown","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_integrity":"sha512-mTUSKDpt/zgFpMz3dzcab+KOEaocbppRXx++/rK7eRz+IO1APylvLBATbVTVz3i7Bo5HOAFj6aHmWGboDM7QHw==","repository":{"url":"https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.8.3","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@contractspec/lib.contracts":"0.0.0-canary-20260202053150","@contractspec/module.learning-journey":"0.0.0-canary-20260202053150"},"publishConfig":{"access":"public","exports":{".":"./dist/index.js","./*":"./*","./docs":"./dist/docs/index.js","./track":"./dist/track.js","./example":"./dist/example.js","./docs/duo-drills.docblock":"./dist/docs/duo-drills.docblock.js"},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.19.0","typescript":"^5.9.3","@contractspec/tool.tsdown":"0.0.0-canary-20260202053150","@contractspec/tool.typescript":"0.0.0-canary-20260202053150"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_0.0.0-canary-20260202053150_1770011116759_0.1613868096249036","host":"s3://npm-registry-packages-npm-production"}},"1.54.0":{"name":"@contractspec/example.learning-journey-duo-drills","version":"1.54.0","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@1.54.0","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","dist":{"shasum":"4bb9bcf85b57e764a31a6fbd4e1602fd301826cc","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-1.54.0.tgz","fileCount":31,"integrity":"sha512-Me1iKnJRR1RLLZKorkIlefSSoIUWLdPTYmPtWk/AaHCua4PhanBCRLDiAevkKT8D2Ed+9slnEKlmlOB0PaHAhQ==","signatures":[{"sig":"MEYCIQDjsbEMI3BpUVJ/ZLPfII7eMj5Ue/H4d5dlCo/xNLpQdAIhAK26jEApsKrSTky4/PGAs6FUHgz+tXTk/+f+c7IXxIHo","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":415888},"type":"module","types":"./dist/index.d.ts","shasum":"4bb9bcf85b57e764a31a6fbd4e1602fd301826cc","exports":{".":"./dist/index.js","./*":"./*","./docs":"./dist/docs/index.js","./track":"./dist/track.js","./example":"./dist/example.js","./docs/duo-drills.docblock":"./dist/docs/duo-drills.docblock.js"},"scripts":{"dev":"bun build:bundle --watch","lint":"bun lint:fix","test":"bun test","build":"bun build:types && bun build:bundle","clean":"rimraf dist .turbo","lint:fix":"eslint src --fix","lint:check":"eslint src","build:types":"tsc --noEmit","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"tsdown","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_integrity":"sha512-Me1iKnJRR1RLLZKorkIlefSSoIUWLdPTYmPtWk/AaHCua4PhanBCRLDiAevkKT8D2Ed+9slnEKlmlOB0PaHAhQ==","repository":{"url":"https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.8.3","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@contractspec/lib.contracts":"1.54.0","@contractspec/module.learning-journey":"1.54.0"},"publishConfig":{"access":"public","exports":{".":"./dist/index.js","./*":"./*","./docs":"./dist/docs/index.js","./track":"./dist/track.js","./example":"./dist/example.js","./docs/duo-drills.docblock":"./dist/docs/duo-drills.docblock.js"},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.19.0","typescript":"^5.9.3","@contractspec/tool.tsdown":"1.54.0","@contractspec/tool.typescript":"1.54.0"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_1.54.0_1770019568520_0.5532755554345781","host":"s3://npm-registry-packages-npm-production"}},"1.55.0":{"name":"@contractspec/example.learning-journey-duo-drills","version":"1.55.0","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@1.55.0","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","dist":{"shasum":"435524d2e40e7d88173d5710071ef81735ae3e09","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-1.55.0.tgz","fileCount":30,"integrity":"sha512-isyvp8VwWTVelDF2ADMOvj8qztBp0OCLr7X1Vn5eYKZRtLbb6RBEY2TeqMGMsYFrR7pDm03l6In+DBKst/3Ugw==","signatures":[{"sig":"MEQCIBJKz7MR3mO1ec4VxlYd6PEuQKmBy9xNcnu0fyNxusrpAiBwM+xzCajiZgj0Ua/CueS2Xi/jY7LsVgT++3YbWcBJrQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":38029},"type":"module","types":"./dist/index.d.ts","shasum":"435524d2e40e7d88173d5710071ef81735ae3e09","exports":{".":"./dist/index.js","./*":"./*","./docs":"./dist/docs/index.js","./track":"./dist/track.js","./example":"./dist/example.js","./docs/duo-drills.docblock":"./dist/docs/duo-drills.docblock.js"},"scripts":{"dev":"bun build:bundle --watch","lint":"bun lint:fix","test":"bun test","build":"bun build:types && bun build:bundle","clean":"rimraf dist .turbo","lint:fix":"eslint src --fix","lint:check":"eslint src","build:types":"tsc --noEmit","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"tsdown","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_integrity":"sha512-isyvp8VwWTVelDF2ADMOvj8qztBp0OCLr7X1Vn5eYKZRtLbb6RBEY2TeqMGMsYFrR7pDm03l6In+DBKst/3Ugw==","repository":{"url":"https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.8.3","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@contractspec/lib.contracts":"1.55.0","@contractspec/module.learning-journey":"1.55.0"},"publishConfig":{"access":"public","exports":{".":"./dist/index.js","./*":"./*","./docs":"./dist/docs/index.js","./track":"./dist/track.js","./example":"./dist/example.js","./docs/duo-drills.docblock":"./dist/docs/duo-drills.docblock.js"},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.19.0","typescript":"^5.9.3","@contractspec/tool.tsdown":"1.55.0","@contractspec/tool.typescript":"1.55.0"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_1.55.0_1770020473023_0.26262086810511454","host":"s3://npm-registry-packages-npm-production"}},"1.56.0":{"name":"@contractspec/example.learning-journey-duo-drills","version":"1.56.0","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@1.56.0","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","dist":{"shasum":"79d0cdf538d6b91725967d32fd355c61743cdbfd","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-1.56.0.tgz","fileCount":30,"integrity":"sha512-hQuaMLOju+FugNxtF821SyzA9vhSJxUi8Fc6SqxkqZfObgzbpVYempbPbEnrz/q4gfHALuovzR5K56sbnEB2Lg==","signatures":[{"sig":"MEQCICei4foPpgE95w3AWqEr3FZdUAxsBIbyNoh9Tabo13TxAiBNqZwJbtlCZepw8omcf7VKnKvhG8SZ/fld0qx8spp8Ug==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":38206},"type":"module","types":"./dist/index.d.ts","shasum":"79d0cdf538d6b91725967d32fd355c61743cdbfd","exports":{".":"./dist/index.js","./*":"./*","./docs":"./dist/docs/index.js","./track":"./dist/track.js","./example":"./dist/example.js","./docs/duo-drills.docblock":"./dist/docs/duo-drills.docblock.js"},"scripts":{"dev":"bun build:bundle --watch","lint":"bun lint:fix","test":"bun test","build":"bun build:types && bun build:bundle","clean":"rimraf dist .turbo","lint:fix":"eslint src --fix","lint:check":"eslint src","build:types":"tsc --noEmit","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"tsdown","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_integrity":"sha512-hQuaMLOju+FugNxtF821SyzA9vhSJxUi8Fc6SqxkqZfObgzbpVYempbPbEnrz/q4gfHALuovzR5K56sbnEB2Lg==","repository":{"url":"https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.8.3","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@contractspec/lib.contracts":"1.56.0","@contractspec/module.learning-journey":"1.56.0"},"publishConfig":{"access":"public","exports":{".":"./dist/index.js","./*":"./*","./docs":"./dist/docs/index.js","./track":"./dist/track.js","./example":"./dist/example.js","./docs/duo-drills.docblock":"./dist/docs/duo-drills.docblock.js"},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.19.0","typescript":"^5.9.3","@contractspec/tool.tsdown":"1.56.0","@contractspec/tool.typescript":"1.56.0"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_1.56.0_1770021128914_0.20699082340282238","host":"s3://npm-registry-packages-npm-production"}},"1.56.1":{"name":"@contractspec/example.learning-journey-duo-drills","version":"1.56.1","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@1.56.1","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","dist":{"shasum":"332572e6809fc991e71f1b222ce0c8420b58411d","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-1.56.1.tgz","fileCount":31,"integrity":"sha512-iDYWuvvM2DG04A9q4BWf2hoZ3Qe+eQmoq4irQe9KuaDI4tlOPPWJ7zjtbV7zXGXzo9Y2KcvIMfmpI17be8qu0w==","signatures":[{"sig":"MEUCIAtTKPCCsO2q2sJEJ/EGpVveFFWdlblWk/yD/P/nkx+QAiEAxQJ/8laa6gVrOtaBUsEt/jhkOKbJaTP7uxZmLvf3GXY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":416427},"type":"module","types":"./dist/index.d.ts","shasum":"332572e6809fc991e71f1b222ce0c8420b58411d","exports":{".":"./dist/index.js","./*":"./*","./docs":"./dist/docs/index.js","./track":"./dist/track.js","./example":"./dist/example.js","./docs/duo-drills.docblock":"./dist/docs/duo-drills.docblock.js"},"scripts":{"dev":"bun build:bundle --watch","lint":"bun lint:fix","test":"bun test","build":"bun build:types && bun build:bundle","clean":"rimraf dist .turbo","lint:fix":"eslint src --fix","lint:check":"eslint src","build:types":"tsc --noEmit","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"tsdown","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_integrity":"sha512-iDYWuvvM2DG04A9q4BWf2hoZ3Qe+eQmoq4irQe9KuaDI4tlOPPWJ7zjtbV7zXGXzo9Y2KcvIMfmpI17be8qu0w==","repository":{"url":"https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.8.3","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@contractspec/lib.contracts":"1.56.1","@contractspec/module.learning-journey":"1.56.1"},"publishConfig":{"access":"public","exports":{".":"./dist/index.js","./*":"./*","./docs":"./dist/docs/index.js","./track":"./dist/track.js","./example":"./dist/example.js","./docs/duo-drills.docblock":"./dist/docs/duo-drills.docblock.js"},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.19.0","typescript":"^5.9.3","@contractspec/tool.tsdown":"1.56.1","@contractspec/tool.typescript":"1.56.1"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_1.56.1_1770026051106_0.8312410000326078","host":"s3://npm-registry-packages-npm-production"}},"0.0.0-canary-20260206014742":{"name":"@contractspec/example.learning-journey-duo-drills","version":"0.0.0-canary-20260206014742","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@0.0.0-canary-20260206014742","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","dist":{"shasum":"f0cdb0816f53922726c954722f8ab0b72f6ab93f","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-0.0.0-canary-20260206014742.tgz","fileCount":31,"integrity":"sha512-Zr7I01BWnjFJ7yCYrTvE0gpIFCI/oIxWQFoqBdoc7MMU2lcZrwDy2NSJ0TihDaQ9Kq5eg41HHhkyADQ/PfyXJA==","signatures":[{"sig":"MEYCIQDlJBEdcGquTtCSSCgF5M8hbEeXScw41fC4Tbq2EVmofgIhAJHzBN4ptro+GuGwzvQ59sTEIUfM4T6Ammp1yq146qAk","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":423321},"type":"module","types":"./dist/index.d.ts","shasum":"f0cdb0816f53922726c954722f8ab0b72f6ab93f","exports":{".":"./dist/index.js","./*":"./*","./docs":"./dist/docs/index.js","./track":"./dist/track.js","./example":"./dist/example.js","./docs/duo-drills.docblock":"./dist/docs/duo-drills.docblock.js"},"scripts":{"dev":"bun build:bundle --watch","lint":"bun lint:fix","test":"bun test","build":"bun build:types && bun build:bundle","clean":"rimraf dist .turbo","lint:fix":"eslint src --fix","lint:check":"eslint src","build:types":"tsc --noEmit","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"tsdown","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_integrity":"sha512-Zr7I01BWnjFJ7yCYrTvE0gpIFCI/oIxWQFoqBdoc7MMU2lcZrwDy2NSJ0TihDaQ9Kq5eg41HHhkyADQ/PfyXJA==","repository":{"url":"https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.8.3","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@contractspec/lib.contracts":"0.0.0-canary-20260206014742","@contractspec/module.learning-journey":"0.0.0-canary-20260206014742"},"publishConfig":{"access":"public","exports":{".":"./dist/index.js","./*":"./*","./docs":"./dist/docs/index.js","./track":"./dist/track.js","./example":"./dist/example.js","./docs/duo-drills.docblock":"./dist/docs/duo-drills.docblock.js"},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.20.3","typescript":"^5.9.3","@contractspec/tool.tsdown":"0.0.0-canary-20260206014742","@contractspec/tool.typescript":"0.0.0-canary-20260206014742"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_0.0.0-canary-20260206014742_1770343320387_0.6290783506337243","host":"s3://npm-registry-packages-npm-production"}},"0.0.0-canary-20260206062439":{"name":"@contractspec/example.learning-journey-duo-drills","version":"0.0.0-canary-20260206062439","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@0.0.0-canary-20260206062439","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","dist":{"shasum":"205f6742072fd3389bf6d914c0bd20fdd0f1180f","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-0.0.0-canary-20260206062439.tgz","fileCount":31,"integrity":"sha512-tMBbPcbwDaXvN2PPPwZUjNNmb6BVvS2dd1t/H/ZmXG3ph5cXDyin8jTyDPjAByaMIdtOYDHKiu4AXxrPFcBmOw==","signatures":[{"sig":"MEYCIQC5j2ME5ep9s3rdnuZapBQKbIEa3cGEkL8TgQrfxAYhQQIhAJdT8MkF0hzorVebReVLinDxp9P7jtMVL3PHrcJ97uXG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":424997},"type":"module","types":"./dist/index.d.ts","shasum":"205f6742072fd3389bf6d914c0bd20fdd0f1180f","exports":{".":"./dist/index.js","./*":"./*","./docs":"./dist/docs/index.js","./track":"./dist/track.js","./example":"./dist/example.js","./docs/duo-drills.docblock":"./dist/docs/duo-drills.docblock.js"},"scripts":{"dev":"bun build:bundle --watch","lint":"bun lint:fix","test":"bun test","build":"bun build:types && bun build:bundle","clean":"rimraf dist .turbo","lint:fix":"eslint src --fix","lint:check":"eslint src","build:types":"tsc --noEmit","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"tsdown","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_integrity":"sha512-tMBbPcbwDaXvN2PPPwZUjNNmb6BVvS2dd1t/H/ZmXG3ph5cXDyin8jTyDPjAByaMIdtOYDHKiu4AXxrPFcBmOw==","repository":{"url":"https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.8.3","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@contractspec/lib.contracts":"0.0.0-canary-20260206062439","@contractspec/module.learning-journey":"0.0.0-canary-20260206062439"},"publishConfig":{"access":"public","exports":{".":"./dist/index.js","./*":"./*","./docs":"./dist/docs/index.js","./track":"./dist/track.js","./example":"./dist/example.js","./docs/duo-drills.docblock":"./dist/docs/duo-drills.docblock.js"},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.20.3","typescript":"^5.9.3","@contractspec/tool.tsdown":"0.0.0-canary-20260206062439","@contractspec/tool.typescript":"0.0.0-canary-20260206062439"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_0.0.0-canary-20260206062439_1770359982143_0.1688296996584946","host":"s3://npm-registry-packages-npm-production"}},"1.57.0":{"name":"@contractspec/example.learning-journey-duo-drills","version":"1.57.0","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@1.57.0","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","dist":{"shasum":"0c40b12471d4690e821656e9044795b7ccdf0fb6","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-1.57.0.tgz","fileCount":31,"integrity":"sha512-GSiBw40CjaiF0gkd9AvIjV5ZP6oTEdNbt16OrjyviUPBQww4qDDuiHfAZ0dMcB974GhAzMyeZfRy5KdvJm7lWg==","signatures":[{"sig":"MEQCIDf9SFCAaEMhykawTetwXPgys+YRvEiNJm+gKFAU2r+ZAiBqXiR2KtnaFzuv7He/sluj4oUU4t8CVi2xL6rGvSjWJA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":424885},"type":"module","types":"./dist/index.d.ts","shasum":"0c40b12471d4690e821656e9044795b7ccdf0fb6","exports":{".":"./dist/index.js","./*":"./*","./docs":"./dist/docs/index.js","./track":"./dist/track.js","./example":"./dist/example.js","./docs/duo-drills.docblock":"./dist/docs/duo-drills.docblock.js"},"scripts":{"dev":"bun build:bundle --watch","lint":"bun lint:fix","test":"bun test","build":"bun build:types && bun build:bundle","clean":"rimraf dist .turbo","lint:fix":"eslint src --fix","lint:check":"eslint src","build:types":"tsc --noEmit","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"tsdown","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_integrity":"sha512-GSiBw40CjaiF0gkd9AvIjV5ZP6oTEdNbt16OrjyviUPBQww4qDDuiHfAZ0dMcB974GhAzMyeZfRy5KdvJm7lWg==","repository":{"url":"https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.8.3","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@contractspec/lib.contracts":"1.57.0","@contractspec/module.learning-journey":"1.57.0"},"publishConfig":{"access":"public","exports":{".":"./dist/index.js","./*":"./*","./docs":"./dist/docs/index.js","./track":"./dist/track.js","./example":"./dist/example.js","./docs/duo-drills.docblock":"./dist/docs/duo-drills.docblock.js"},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.20.3","typescript":"^5.9.3","@contractspec/tool.tsdown":"1.57.0","@contractspec/tool.typescript":"1.57.0"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_1.57.0_1770360736862_0.8296148534155079","host":"s3://npm-registry-packages-npm-production"}},"1.58.0":{"name":"@contractspec/example.learning-journey-duo-drills","version":"1.58.0","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@1.58.0","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","dist":{"shasum":"d21d34c26024f315f3f3765f78681041910e0a7b","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-1.58.0.tgz","fileCount":42,"integrity":"sha512-fTCdW0JWcJLugIpQZ57QdiKoLNEJPLsKzWNAfHXsgGx2rksqs2R5TjQP143IBXFBm7vRb0kUoPy0+TkhL8gEPw==","signatures":[{"sig":"MEYCIQCL4JJFtuQQMvMFhI5GiEc45yZwrw0n2qUGt4N5C3Oy2gIhAJid62IngA3VtjkOkEHJfYwLvG4uT8l+HZUwOkd1/gSW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":56640},"type":"module","types":"./dist/index.d.ts","shasum":"d21d34c26024f315f3f3765f78681041910e0a7b","exports":{".":"./src/index.ts","./docs":"./src/docs/index.ts","./track":"./src/track.ts","./example":"./src/example.ts","./docs/index":"./src/docs/index.ts","./docs/duo-drills.docblock":"./src/docs/duo-drills.docblock.ts"},"scripts":{"dev":"contractspec-bun-build dev","lint":"bun lint:fix","test":"bun test","build":"bun run prebuild && bun run build:bundle && bun run build:types","clean":"rimraf dist .turbo","lint:fix":"eslint src --fix","prebuild":"contractspec-bun-build prebuild","typecheck":"tsc --noEmit","lint:check":"eslint src","build:types":"contractspec-bun-build types","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"contractspec-bun-build transpile","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_integrity":"sha512-fTCdW0JWcJLugIpQZ57QdiKoLNEJPLsKzWNAfHXsgGx2rksqs2R5TjQP143IBXFBm7vRb0kUoPy0+TkhL8gEPw==","repository":{"url":"https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.8.3","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@contractspec/lib.contracts":"1.58.0","@contractspec/module.learning-journey":"1.58.0"},"publishConfig":{"access":"public","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.mjs","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.mjs","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.mjs","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.mjs","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/index":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.mjs","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.mjs","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"}},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@contractspec/tool.bun":"1.57.0","@contractspec/tool.typescript":"1.58.0"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_1.58.0_1770403411823_0.3316932841473055","host":"s3://npm-registry-packages-npm-production"}},"1.59.0":{"name":"@contractspec/example.learning-journey-duo-drills","version":"1.59.0","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@1.59.0","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","dist":{"shasum":"db2d93b39a7187065d84041b5142719021008806","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-1.59.0.tgz","fileCount":42,"integrity":"sha512-GN1AagloullmMUtL1wQe03iC92f/4HH083V3pccasFNkmMBPVFwsogset2IH+rbm+4WzeXyEvjIgb5ULvtwp3Q==","signatures":[{"sig":"MEUCIGqrfHTL9jOrcoPNNX8/Vrn51p2eVB97d27KQXdvmfOoAiEA7CW7ldaqboNsSw6u2w+RDz+Vfry5Ph3UBG5VKDwNdmA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":56863},"type":"module","types":"./dist/index.d.ts","shasum":"db2d93b39a7187065d84041b5142719021008806","exports":{".":"./src/index.ts","./docs":"./src/docs/index.ts","./track":"./src/track.ts","./example":"./src/example.ts","./docs/index":"./src/docs/index.ts","./docs/duo-drills.docblock":"./src/docs/duo-drills.docblock.ts"},"scripts":{"dev":"contractspec-bun-build dev","lint":"bun lint:fix","test":"bun test","build":"bun run prebuild && bun run build:bundle && bun run build:types","clean":"rimraf dist .turbo","lint:fix":"eslint src --fix","prebuild":"contractspec-bun-build prebuild","typecheck":"tsc --noEmit","lint:check":"eslint src","build:types":"contractspec-bun-build types","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"contractspec-bun-build transpile","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_integrity":"sha512-GN1AagloullmMUtL1wQe03iC92f/4HH083V3pccasFNkmMBPVFwsogset2IH+rbm+4WzeXyEvjIgb5ULvtwp3Q==","repository":{"url":"https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.8.3","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@contractspec/lib.contracts":"1.59.0","@contractspec/module.learning-journey":"1.59.0"},"publishConfig":{"access":"public","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.mjs","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.mjs","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.mjs","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.mjs","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/index":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.mjs","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.mjs","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"}},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@contractspec/tool.bun":"1.58.0","@contractspec/tool.typescript":"1.59.0"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_1.59.0_1770404709684_0.645675776467326","host":"s3://npm-registry-packages-npm-production"}},"1.60.0":{"name":"@contractspec/example.learning-journey-duo-drills","version":"1.60.0","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@1.60.0","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","dist":{"shasum":"7cd22f98a9af33e49a7b33ea29fa5ca29c25fdc5","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-1.60.0.tgz","fileCount":42,"integrity":"sha512-Di6C3hhWjGMObtzNagUKukdwAVDBlBjk4JFdZEw89g3lN/Q17KaExq+LDYhntfxwkZZUdrEs1GDZEaSCzrE0mw==","signatures":[{"sig":"MEQCIEuQWP3GbQACzLw1dvKRc4eKYA3/BjkzPqsCkV2gqyTDAiBKvGJNBf4cVruUUmDQGnGgNWWQ/LeErXc5jmXqJSmUvQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":58235},"type":"module","types":"./dist/index.d.ts","shasum":"7cd22f98a9af33e49a7b33ea29fa5ca29c25fdc5","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.mjs","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.mjs","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.mjs","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.mjs","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/index":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.mjs","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.mjs","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"}},"scripts":{"dev":"contractspec-bun-build dev","lint":"bun lint:fix","test":"bun test","build":"bun run prebuild && bun run build:bundle && bun run build:types","clean":"rimraf dist .turbo","lint:fix":"eslint src --fix","prebuild":"contractspec-bun-build prebuild","typecheck":"tsc --noEmit","lint:check":"eslint src","build:types":"contractspec-bun-build types","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"contractspec-bun-build transpile","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_integrity":"sha512-Di6C3hhWjGMObtzNagUKukdwAVDBlBjk4JFdZEw89g3lN/Q17KaExq+LDYhntfxwkZZUdrEs1GDZEaSCzrE0mw==","repository":{"url":"https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.8.3","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@contractspec/lib.contracts":"1.60.0","@contractspec/module.learning-journey":"1.60.0"},"publishConfig":{"access":"public","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.mjs","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.mjs","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.mjs","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.mjs","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/index":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.mjs","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.mjs","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"}},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@contractspec/tool.bun":"1.59.0","@contractspec/tool.typescript":"1.60.0"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_1.60.0_1770406763879_0.2805584326691646","host":"s3://npm-registry-packages-npm-production"}},"1.61.0":{"name":"@contractspec/example.learning-journey-duo-drills","version":"1.61.0","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@1.61.0","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","dist":{"shasum":"11b4de0ca13dd177e440f7c7f047019638a72682","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-1.61.0.tgz","fileCount":42,"integrity":"sha512-dUdl7TDDPaWPYS7bmL9H2aK2InJ9mBW+IGuvY/a7p1zeTdUtIlMGzXRusPbhvcPYSnlGYFBM0ZWuaj7tTqDXng==","signatures":[{"sig":"MEQCICs3awrepknSkzmwyEqmPTzmkxP/C8CZs+PMGz724GU0AiBTQHh79jdhT86+qFq1AUKsJ1DytEtmkTaVIEd4b2vweQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":58422},"type":"module","types":"./dist/index.d.ts","shasum":"11b4de0ca13dd177e440f7c7f047019638a72682","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/index":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"}},"scripts":{"dev":"contractspec-bun-build dev","lint":"bun lint:fix","test":"bun test","build":"bun run prebuild && bun run build:bundle && bun run build:types","clean":"rimraf dist .turbo","lint:fix":"eslint src --fix","prebuild":"contractspec-bun-build prebuild","typecheck":"tsc --noEmit","lint:check":"eslint src","build:types":"contractspec-bun-build types","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"contractspec-bun-build transpile","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_integrity":"sha512-dUdl7TDDPaWPYS7bmL9H2aK2InJ9mBW+IGuvY/a7p1zeTdUtIlMGzXRusPbhvcPYSnlGYFBM0ZWuaj7tTqDXng==","repository":{"url":"https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.8.3","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@contractspec/lib.contracts":"1.61.0","@contractspec/module.learning-journey":"1.61.0"},"publishConfig":{"access":"public","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/index":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"}},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@contractspec/tool.bun":"1.60.0","@contractspec/tool.typescript":"1.61.0"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_1.61.0_1770409575215_0.35537467351779073","host":"s3://npm-registry-packages-npm-production"}},"1.62.0":{"name":"@contractspec/example.learning-journey-duo-drills","version":"1.62.0","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@1.62.0","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","dist":{"shasum":"138cb240f6dfe4a64271e39fddf7205abc0453c5","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-1.62.0.tgz","fileCount":42,"integrity":"sha512-eVFtxNLZewG/BvVixvfWlmhD4RX81V3VpQd4a5dHInLy5honICa3wK+oNbiGlsCYyozr2xvHmjeL6yDdgIquyA==","signatures":[{"sig":"MEQCICwyU2QMKGcRZ5sbSzn7aSvBm44Z2LvoLNKQpW+UPIKtAiBncnb3fUMjaFeey8haB7/biFgkDEkNXSjljwCQiqlCSw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":58669},"type":"module","types":"./dist/index.d.ts","shasum":"138cb240f6dfe4a64271e39fddf7205abc0453c5","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/index":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"}},"scripts":{"dev":"contractspec-bun-build dev","lint":"bun lint:fix","test":"bun test","build":"bun run prebuild && bun run build:bundle && bun run build:types","clean":"rimraf dist .turbo","lint:fix":"eslint src --fix","prebuild":"contractspec-bun-build prebuild","typecheck":"tsc --noEmit","lint:check":"eslint src","build:types":"contractspec-bun-build types","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"contractspec-bun-build transpile","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_integrity":"sha512-eVFtxNLZewG/BvVixvfWlmhD4RX81V3VpQd4a5dHInLy5honICa3wK+oNbiGlsCYyozr2xvHmjeL6yDdgIquyA==","repository":{"url":"https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.8.3","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@contractspec/lib.contracts":"1.62.0","@contractspec/module.learning-journey":"1.62.0"},"publishConfig":{"access":"public","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/index":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"}},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@contractspec/tool.bun":"1.61.0","@contractspec/tool.typescript":"1.62.0"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_1.62.0_1770877252186_0.5410281768872565","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@contractspec/example.learning-journey-duo-drills","version":"2.0.0","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@2.0.0","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","dist":{"shasum":"c17e8c9bd3fe0299e8ac5ea7ffcb20fff864cbc1","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-2.0.0.tgz","fileCount":36,"integrity":"sha512-nXYhxd/bKDFPFuinTYap2sl0lP1j6ld1sMv+2loa+g4OjWmtR8yKvT5jNNazw2I1A0rRiImekjVwFgXCkrLpQA==","signatures":[{"sig":"MEYCIQDzM/aWIPJvUYHGB4cKQZ8MZ/iyn1wyUJlWd/rZdl2/eAIhAJ7Ttd3UdivPzdPqTq+VJj6/C60l8BJaTP5Yo6T2Ehx4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":58026},"type":"module","types":"./dist/index.d.ts","shasum":"c17e8c9bd3fe0299e8ac5ea7ffcb20fff864cbc1","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/index":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"}},"scripts":{"dev":"contractspec-bun-build dev","lint":"bun lint:fix","test":"bun test","build":"bun run prebuild && bun run build:bundle && bun run build:types","clean":"rimraf dist .turbo","lint:fix":"eslint src --fix","prebuild":"contractspec-bun-build prebuild","typecheck":"tsc --noEmit","lint:check":"eslint src","build:types":"contractspec-bun-build types","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"contractspec-bun-build transpile","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_integrity":"sha512-nXYhxd/bKDFPFuinTYap2sl0lP1j6ld1sMv+2loa+g4OjWmtR8yKvT5jNNazw2I1A0rRiImekjVwFgXCkrLpQA==","repository":{"url":"https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.8.3","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@contractspec/lib.contracts-spec":"2.0.0","@contractspec/module.learning-journey":"2.0.0"},"publishConfig":{"access":"public","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/index":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"}},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@contractspec/tool.bun":"2.0.0","@contractspec/tool.typescript":"2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_2.0.0_1771125952891_0.3274108060506091","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"@contractspec/example.learning-journey-duo-drills","version":"2.1.0","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@2.1.0","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","dist":{"shasum":"eb51e51175fa8abd241a027ff15938d51b2396f2","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-2.1.0.tgz","fileCount":36,"integrity":"sha512-aVK0oQaXcUv/+6m/3n2QE6OEy+jN4UYpM9XUejs6ZITbVYPJhpinUUok2U53AXdO8r4ppl/6SUTI3Wwf9VoNZQ==","signatures":[{"sig":"MEUCIQCilgHIFiz9CmDwvDCq0Ja0HmOVSdS0z7TPWrRS/IbzLgIgFeMPzXrFyRVbqDrQLne8GUm6auojES6SmpL8UHttQ+Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":58296},"type":"module","types":"./dist/index.d.ts","shasum":"eb51e51175fa8abd241a027ff15938d51b2396f2","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/index":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"}},"scripts":{"dev":"contractspec-bun-build dev","lint":"bun lint:fix","test":"bun test","build":"bun run prebuild && bun run build:bundle && bun run build:types","clean":"rimraf dist .turbo","lint:fix":"eslint src --fix","prebuild":"contractspec-bun-build prebuild","typecheck":"tsc --noEmit","lint:check":"eslint src","build:types":"contractspec-bun-build types","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"contractspec-bun-build transpile","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_integrity":"sha512-aVK0oQaXcUv/+6m/3n2QE6OEy+jN4UYpM9XUejs6ZITbVYPJhpinUUok2U53AXdO8r4ppl/6SUTI3Wwf9VoNZQ==","repository":{"url":"https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.8.3","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@contractspec/lib.contracts-spec":"2.1.0","@contractspec/module.learning-journey":"2.1.0"},"publishConfig":{"access":"public","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/index":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"}},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@contractspec/tool.bun":"2.1.0","@contractspec/tool.typescript":"2.1.0"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_2.1.0_1771281913710_0.3304663393179472","host":"s3://npm-registry-packages-npm-production"}},"2.1.1":{"name":"@contractspec/example.learning-journey-duo-drills","version":"2.1.1","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@2.1.1","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","dist":{"shasum":"399573a9f7379112f323af30d46a730784ddba51","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-2.1.1.tgz","fileCount":36,"integrity":"sha512-hf+ElNFb9ZDA+CFwJp43thHyGkVvr9nTLQNm3Rnhrk3cDAPKz3J4oQzDcS/giehr/vPs80XQ7cD8QQqkuOou9A==","signatures":[{"sig":"MEUCIQDWPw9TnTXPocXMNV4rYNPFnTXI/EpEzSZE93P4+DVEGgIgAwdQxSkFhcfeNGfK942CAe8KcCa+xvcGefpXwRvSSPc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":58451},"type":"module","types":"./dist/index.d.ts","shasum":"399573a9f7379112f323af30d46a730784ddba51","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/index":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"}},"scripts":{"dev":"contractspec-bun-build dev","lint":"bun lint:fix","test":"bun test","build":"bun run prebuild && bun run build:bundle && bun run build:types","clean":"rimraf dist .turbo","lint:fix":"eslint src --fix","prebuild":"contractspec-bun-build prebuild","typecheck":"tsc --noEmit","lint:check":"eslint src","build:types":"contractspec-bun-build types","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"contractspec-bun-build transpile","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_integrity":"sha512-hf+ElNFb9ZDA+CFwJp43thHyGkVvr9nTLQNm3Rnhrk3cDAPKz3J4oQzDcS/giehr/vPs80XQ7cD8QQqkuOou9A==","repository":{"url":"https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.8.3","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@contractspec/lib.contracts-spec":"2.1.1","@contractspec/module.learning-journey":"2.1.1"},"publishConfig":{"access":"public","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/index":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"}},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@contractspec/tool.bun":"2.1.0","@contractspec/tool.typescript":"2.1.0"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_2.1.1_1771322128479_0.15221420569822786","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"@contractspec/example.learning-journey-duo-drills","version":"2.2.0","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@2.2.0","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","dist":{"shasum":"504599c7657242cf822678d0880483d448f2986e","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-2.2.0.tgz","fileCount":36,"integrity":"sha512-pe7FsldtvlYHjm8aZMbvH1XDNgPoIWGGlYHZAQcxxe+6q7UuNrMDusRrh+I6JIjmVIztuNENgWZCsuuvzyIwTg==","signatures":[{"sig":"MEYCIQCQNDvm3Vm91PZDb/FWFdfe2zqQTLqAP28tbqSpyI6s4gIhAIe43C3voEv2r5/haMrm0Wc03/6B3QgagDsLO2EoGGPI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":58650},"type":"module","types":"./dist/index.d.ts","shasum":"504599c7657242cf822678d0880483d448f2986e","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/index":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"}},"scripts":{"dev":"contractspec-bun-build dev","lint":"bun lint:fix","test":"bun test","build":"bun run prebuild && bun run build:bundle && bun run build:types","clean":"rimraf dist .turbo","lint:fix":"eslint src --fix","prebuild":"contractspec-bun-build prebuild","typecheck":"tsc --noEmit","lint:check":"eslint src","build:types":"contractspec-bun-build types","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"contractspec-bun-build transpile","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_integrity":"sha512-pe7FsldtvlYHjm8aZMbvH1XDNgPoIWGGlYHZAQcxxe+6q7UuNrMDusRrh+I6JIjmVIztuNENgWZCsuuvzyIwTg==","repository":{"url":"https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.8.3","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@contractspec/lib.contracts-spec":"2.2.0","@contractspec/module.learning-journey":"2.2.0"},"publishConfig":{"access":"public","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/index":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"}},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@contractspec/tool.bun":"2.2.0","@contractspec/tool.typescript":"2.2.0"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_2.2.0_1771323187042_0.25078898430270247","host":"s3://npm-registry-packages-npm-production"}},"2.3.0":{"name":"@contractspec/example.learning-journey-duo-drills","version":"2.3.0","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@2.3.0","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","dist":{"shasum":"d76821ef7485980a030232ec714be06ab9bd6cf0","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-2.3.0.tgz","fileCount":36,"integrity":"sha512-XRYMwziALdrjHjqDP22hKcigrArubKKRZfSfaauhrwutQLxAkIgxVsPGtavMCZ5srbaEYE3LimfxDAiemMDjeA==","signatures":[{"sig":"MEYCIQDllIT2tzpgF4OpOS0vRp2imzL5Ys6hv25vXbXZg6RWKgIhAKR8Inj2ozebzAlEOw6L0HU0czVlpm5jOom94NNiM8Oh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":58861},"type":"module","types":"./dist/index.d.ts","shasum":"d76821ef7485980a030232ec714be06ab9bd6cf0","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/index":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"}},"scripts":{"dev":"contractspec-bun-build dev","lint":"bun lint:fix","test":"bun test","build":"bun run prebuild && bun run build:bundle && bun run build:types","clean":"rimraf dist .turbo","lint:fix":"eslint src --fix","prebuild":"contractspec-bun-build prebuild","typecheck":"tsc --noEmit","lint:check":"eslint src","build:types":"contractspec-bun-build types","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"contractspec-bun-build transpile","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_integrity":"sha512-XRYMwziALdrjHjqDP22hKcigrArubKKRZfSfaauhrwutQLxAkIgxVsPGtavMCZ5srbaEYE3LimfxDAiemMDjeA==","repository":{"url":"https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.8.3","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@contractspec/lib.contracts-spec":"2.3.0","@contractspec/module.learning-journey":"2.3.0"},"publishConfig":{"access":"public","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/index":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"}},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@contractspec/tool.bun":"2.3.0","@contractspec/tool.typescript":"2.3.0"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_2.3.0_1771463894806_0.3765436605775756","host":"s3://npm-registry-packages-npm-production"}},"2.4.0":{"name":"@contractspec/example.learning-journey-duo-drills","version":"2.4.0","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@2.4.0","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","dist":{"shasum":"291d67a81ef0011f88e78ff41ac5641fda2b2567","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-2.4.0.tgz","fileCount":36,"integrity":"sha512-tL6eUfCApYP3KbEfa8CUjBkWIjRhpoJSaD5xd9ZeMXTFh7VAOBM0pOkR238gtfo+G+GnBvhYogMmhxAyTn7R1g==","signatures":[{"sig":"MEYCIQD4sj+EnrKI7mBZeiF4oqcteeMGc2NzeD5UKBmoYYAtvgIhAIhVyrPAjdSTUL/OlqyR2i7czYg0dPeeMqmuMvmGY85D","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":59056},"type":"module","types":"./dist/index.d.ts","shasum":"291d67a81ef0011f88e78ff41ac5641fda2b2567","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/index":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"}},"scripts":{"dev":"contractspec-bun-build dev","lint":"bun lint:fix","test":"bun test","build":"bun run prebuild && bun run build:bundle && bun run build:types","clean":"rimraf dist .turbo","lint:fix":"eslint src --fix","prebuild":"contractspec-bun-build prebuild","typecheck":"tsc --noEmit","lint:check":"eslint src","build:types":"contractspec-bun-build types","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"contractspec-bun-build transpile","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_integrity":"sha512-tL6eUfCApYP3KbEfa8CUjBkWIjRhpoJSaD5xd9ZeMXTFh7VAOBM0pOkR238gtfo+G+GnBvhYogMmhxAyTn7R1g==","repository":{"url":"https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.8.3","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@contractspec/lib.contracts-spec":"2.4.0","@contractspec/module.learning-journey":"2.4.0"},"publishConfig":{"access":"public","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/index":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"}},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@contractspec/tool.bun":"2.4.0","@contractspec/tool.typescript":"2.4.0"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_2.4.0_1771469224880_0.07347042867083786","host":"s3://npm-registry-packages-npm-production"}},"2.5.0":{"name":"@contractspec/example.learning-journey-duo-drills","version":"2.5.0","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@2.5.0","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","dist":{"shasum":"419195b3c55dd2e11bd2ffc9f97b5741db61eef1","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-2.5.0.tgz","fileCount":36,"integrity":"sha512-Wye49jlq/fbc0GDK3NqqbiKbtsuJObAQcZDYnHSPl5oahINP3ZN1gEj8j0NlXu038l79nscIb3dn7E1BnHUYdg==","signatures":[{"sig":"MEYCIQDcvx48+eTIE0jnTjWToUkulIdjLQZXwxF+EkTqBhsOhAIhAOTCrOmpbuKt0yeol5hLDyzcShUt21cVXYaomlL5QJf/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":59381},"type":"module","types":"./dist/index.d.ts","shasum":"419195b3c55dd2e11bd2ffc9f97b5741db61eef1","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/index":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"}},"scripts":{"dev":"contractspec-bun-build dev","lint":"bun lint:fix","test":"bun test","build":"bun run prebuild && bun run build:bundle && bun run build:types","clean":"rimraf dist .turbo","lint:fix":"eslint src --fix","prebuild":"contractspec-bun-build prebuild","typecheck":"tsc --noEmit","lint:check":"eslint src","build:types":"contractspec-bun-build types","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"contractspec-bun-build transpile","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_integrity":"sha512-Wye49jlq/fbc0GDK3NqqbiKbtsuJObAQcZDYnHSPl5oahINP3ZN1gEj8j0NlXu038l79nscIb3dn7E1BnHUYdg==","repository":{"url":"https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.8.3","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@contractspec/lib.contracts-spec":"2.5.0","@contractspec/module.learning-journey":"2.5.0"},"publishConfig":{"access":"public","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/index":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"}},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@contractspec/tool.bun":"2.5.0","@contractspec/tool.typescript":"2.5.0"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_2.5.0_1771668724629_0.8310274145578029","host":"s3://npm-registry-packages-npm-production"}},"2.6.0":{"name":"@contractspec/example.learning-journey-duo-drills","version":"2.6.0","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@2.6.0","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","dist":{"shasum":"a1d2b98327833790a4718d432a831090142570cb","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-2.6.0.tgz","fileCount":36,"integrity":"sha512-5VDAYRRxgsfAeu5aOpuqq6JyKbMYiTyC98uCzyH43K022etuo8elc8g1KznK6dhokv80fZbirU/QkcapZ9xvXA==","signatures":[{"sig":"MEYCIQD0+PWAta90aHV9CFQ58/gvoDCUoPgww+Z2kQgoifVK1gIhANWTOi7winm8KLu7Co5l+PLlfQsh15Qky0KCKGH8KvE/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":59584},"type":"module","types":"./dist/index.d.ts","shasum":"a1d2b98327833790a4718d432a831090142570cb","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/index":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"}},"scripts":{"dev":"contractspec-bun-build dev","lint":"bun lint:fix","test":"bun test","build":"bun run prebuild && bun run build:bundle && bun run build:types","clean":"rimraf dist .turbo","lint:fix":"eslint src --fix","prebuild":"contractspec-bun-build prebuild","typecheck":"tsc --noEmit","lint:check":"eslint src","build:types":"contractspec-bun-build types","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"contractspec-bun-build transpile","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_integrity":"sha512-5VDAYRRxgsfAeu5aOpuqq6JyKbMYiTyC98uCzyH43K022etuo8elc8g1KznK6dhokv80fZbirU/QkcapZ9xvXA==","repository":{"url":"https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.8.3","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@contractspec/lib.contracts-spec":"2.6.0","@contractspec/module.learning-journey":"2.6.0"},"publishConfig":{"access":"public","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/index":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"}},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@contractspec/tool.bun":"2.6.0","@contractspec/tool.typescript":"2.6.0"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_2.6.0_1771720335827_0.665299338866119","host":"s3://npm-registry-packages-npm-production"}},"2.7.0":{"name":"@contractspec/example.learning-journey-duo-drills","version":"2.7.0","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@2.7.0","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","dist":{"shasum":"c4c242c8973efaaaa9ce4f51c554fcad1888b131","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-2.7.0.tgz","fileCount":36,"integrity":"sha512-dU5QWVL5HCqPjVwkMW0P1o/wA2yl51X4kzJhTglu2QKmnnugDRodKqueVHANazWZJCE4RQ9hxjYDbB2QrkprQg==","signatures":[{"sig":"MEYCIQCUe1w11AMfiggc+lkM4xm3GyGmNYrfmjZb7g5v/S4GRwIhAKlf8+1tsstKFCItmfvHZyJJ/IufTUGyAREilqULP/uX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":59778},"type":"module","types":"./dist/index.d.ts","shasum":"c4c242c8973efaaaa9ce4f51c554fcad1888b131","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/index":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"}},"scripts":{"dev":"contractspec-bun-build dev","lint":"bun lint:fix","test":"bun test","build":"bun run prebuild && bun run build:bundle && bun run build:types","clean":"rimraf dist .turbo","lint:fix":"eslint src --fix","prebuild":"contractspec-bun-build prebuild","typecheck":"tsc --noEmit","lint:check":"eslint src","build:types":"contractspec-bun-build types","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"contractspec-bun-build transpile","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_integrity":"sha512-dU5QWVL5HCqPjVwkMW0P1o/wA2yl51X4kzJhTglu2QKmnnugDRodKqueVHANazWZJCE4RQ9hxjYDbB2QrkprQg==","repository":{"url":"https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.8.3","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@contractspec/lib.contracts-spec":"2.7.0","@contractspec/module.learning-journey":"2.7.0"},"publishConfig":{"access":"public","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/index":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"}},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@contractspec/tool.bun":"2.7.0","@contractspec/tool.typescript":"2.7.0"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_2.7.0_1771965074153_0.2827176031181162","host":"s3://npm-registry-packages-npm-production"}},"2.8.0":{"name":"@contractspec/example.learning-journey-duo-drills","version":"2.8.0","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@2.8.0","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","dist":{"shasum":"acab8759f246eb7bfb864f3e897eac85e19c4042","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-2.8.0.tgz","fileCount":36,"integrity":"sha512-cD6rbIkVpatV/1fr1KNdleGw+ohq8h/Ti4dspBndjw+XV6HHPSQi4RMAQWlofmfW8nCyXb4k/PmKrMS4bvDA+w==","signatures":[{"sig":"MEQCIGsUs8k3NW6q8b1s1ZV4uELUtRUAbBejfltAt0T5ArKvAiBKBPq/4qpMr+gdobb0JEuCiAPqc3WxTfb5T5eJJdUqzg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":59966},"type":"module","types":"./dist/index.d.ts","shasum":"acab8759f246eb7bfb864f3e897eac85e19c4042","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/index":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"}},"scripts":{"dev":"contractspec-bun-build dev","lint":"bun lint:fix","test":"bun test","build":"bun run prebuild && bun run build:bundle && bun run build:types","clean":"rimraf dist .turbo","lint:fix":"eslint src --fix","prebuild":"contractspec-bun-build prebuild","typecheck":"tsc --noEmit","lint:check":"eslint src","build:types":"contractspec-bun-build types","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"contractspec-bun-build transpile","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_integrity":"sha512-cD6rbIkVpatV/1fr1KNdleGw+ohq8h/Ti4dspBndjw+XV6HHPSQi4RMAQWlofmfW8nCyXb4k/PmKrMS4bvDA+w==","repository":{"url":"https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.8.3","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@contractspec/lib.contracts-spec":"2.8.0","@contractspec/module.learning-journey":"2.8.0"},"publishConfig":{"access":"public","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/index":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"}},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@contractspec/tool.bun":"2.8.0","@contractspec/tool.typescript":"2.8.0"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_2.8.0_1772024305640_0.558925816993953","host":"s3://npm-registry-packages-npm-production"}},"2.9.0":{"name":"@contractspec/example.learning-journey-duo-drills","version":"2.9.0","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@2.9.0","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","dist":{"shasum":"f9e886a3e2ad29702f53efc7baf626a53927ffd1","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-2.9.0.tgz","fileCount":36,"integrity":"sha512-HcuA6vtd/EPrLrpmsr6ZRQ16dluQtcA20JMZAn+dI6bzgl2Q98AV9+zv9Ute4EZb5SZnsKYdBm+8b6jmaBvevw==","signatures":[{"sig":"MEQCIHnPGanCxRgDfS7fSf+eGqhkbo3spM/oO2xqAZBj+iKlAiBkWFxm+3j9dEz8NM20rRbhx3b9ouFJ/jmCsoQjacT2Dw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":60155},"type":"module","types":"./dist/index.d.ts","shasum":"f9e886a3e2ad29702f53efc7baf626a53927ffd1","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/index":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"}},"scripts":{"dev":"contractspec-bun-build dev","lint":"bun lint:fix","test":"bun test","build":"bun run prebuild && bun run build:bundle && bun run build:types","clean":"rimraf dist .turbo","lint:fix":"eslint src --fix","prebuild":"contractspec-bun-build prebuild","typecheck":"tsc --noEmit","lint:check":"eslint src","build:types":"contractspec-bun-build types","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"contractspec-bun-build transpile","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_integrity":"sha512-HcuA6vtd/EPrLrpmsr6ZRQ16dluQtcA20JMZAn+dI6bzgl2Q98AV9+zv9Ute4EZb5SZnsKYdBm+8b6jmaBvevw==","repository":{"url":"https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.8.3","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@contractspec/lib.contracts-spec":"2.9.0","@contractspec/module.learning-journey":"2.9.0"},"publishConfig":{"access":"public","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/index":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"}},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@contractspec/tool.bun":"2.9.0","@contractspec/tool.typescript":"2.9.0"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_2.9.0_1772027534474_0.3018940692263443","host":"s3://npm-registry-packages-npm-production"}},"2.9.1":{"name":"@contractspec/example.learning-journey-duo-drills","version":"2.9.1","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@2.9.1","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","dist":{"shasum":"636376baeef39f156de95f651977608a895b8ec4","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-2.9.1.tgz","fileCount":36,"integrity":"sha512-nMuqFMnnQ84XVsZxsZsVKui9KoOT3YHYIdicLjaGTXlqs/0lyxfLN0jBEwfPcQPA3WD1T7jfGSXjAGWvtF1Rkg==","signatures":[{"sig":"MEUCIQDyi5m05fjEyfhHVQ6ZVb6Wr/32NiQpglBcQ/EBPYj2YAIgDK4na+A10Q/OmCeKzbng39tNWSiWY7my4s+VMrmzvec=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":60311},"type":"module","types":"./dist/index.d.ts","shasum":"636376baeef39f156de95f651977608a895b8ec4","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/index":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"}},"scripts":{"dev":"contractspec-bun-build dev","lint":"bun lint:fix","test":"bun test","build":"bun run prebuild && bun run build:bundle && bun run build:types","clean":"rimraf dist .turbo","lint:fix":"eslint src --fix","prebuild":"contractspec-bun-build prebuild","typecheck":"tsc --noEmit","lint:check":"eslint src","build:types":"contractspec-bun-build types","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"contractspec-bun-build transpile","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_integrity":"sha512-nMuqFMnnQ84XVsZxsZsVKui9KoOT3YHYIdicLjaGTXlqs/0lyxfLN0jBEwfPcQPA3WD1T7jfGSXjAGWvtF1Rkg==","repository":{"url":"https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.8.3","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@contractspec/lib.contracts-spec":"2.10.0","@contractspec/module.learning-journey":"2.9.1"},"publishConfig":{"access":"public","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/index":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"}},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@contractspec/tool.bun":"2.9.0","@contractspec/tool.typescript":"2.9.0"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_2.9.1_1772070454522_0.6599618324426455","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"@contractspec/example.learning-journey-duo-drills","version":"3.0.0","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@3.0.0","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","dist":{"shasum":"28c49db2624d42f879d79c9f19e4c6531356e2fb","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-3.0.0.tgz","fileCount":36,"integrity":"sha512-MgeR8gZdx3ocms0Ws/f4syYntU69cWGa/vXt2jlnSMDsBxiWiTDCcZecT4fQXJuc8vBKe+pqwSJp7UEkkC0hFA==","signatures":[{"sig":"MEUCIFMxajbmyspsPWt2MJreAh9M3jZFTYpP1Zoap6GxGwNyAiEAxU3+QcEWUf02wFc7GBzG/SrbNapc0J+BFgiDCFlxayo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":60687},"type":"module","types":"./dist/index.d.ts","shasum":"28c49db2624d42f879d79c9f19e4c6531356e2fb","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/index":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"}},"scripts":{"dev":"contractspec-bun-build dev","lint":"bun lint:fix","test":"bun test","build":"bun run prebuild && bun run build:bundle && bun run build:types","clean":"rimraf dist .turbo","lint:fix":"eslint src --fix","prebuild":"contractspec-bun-build prebuild","typecheck":"tsc --noEmit","lint:check":"eslint src","build:types":"contractspec-bun-build types","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"contractspec-bun-build transpile","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_integrity":"sha512-MgeR8gZdx3ocms0Ws/f4syYntU69cWGa/vXt2jlnSMDsBxiWiTDCcZecT4fQXJuc8vBKe+pqwSJp7UEkkC0hFA==","repository":{"url":"https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.8.3","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@contractspec/lib.contracts-spec":"3.0.0","@contractspec/module.learning-journey":"3.0.0"},"publishConfig":{"access":"public","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/index":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"}},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@contractspec/tool.bun":"3.0.0","@contractspec/tool.typescript":"3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_3.0.0_1772181572169_0.2215347503222147","host":"s3://npm-registry-packages-npm-production"}},"3.1.1":{"name":"@contractspec/example.learning-journey-duo-drills","version":"3.1.1","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@3.1.1","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","dist":{"shasum":"d4c257103ad90c3055b2e2fb2265e00e4a4d68d0","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-3.1.1.tgz","fileCount":37,"integrity":"sha512-egeXzqKwSeHn9rIEOIp1q1XaBC0SbjxczS8UH7Bs8IBnr8jG8WOJ/2VxuBXF+z+Z0POv5Fv/BhKsFoe1Cc+lnw==","signatures":[{"sig":"MEYCIQD9MMJsau1PSOQizyVRsnCLJ1rXx2I21Ns8d9K/WZcZ7QIhAKBAby+TfYgADV67YeQmd6f6wOIDDYaM96apQijt5f0Z","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":61939},"type":"module","types":"./dist/index.d.ts","shasum":"d4c257103ad90c3055b2e2fb2265e00e4a4d68d0","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/index":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"}},"scripts":{"dev":"contractspec-bun-build dev","lint":"bun lint:fix","test":"bun test","build":"bun run prebuild && bun run build:bundle && bun run build:types","clean":"rimraf dist .turbo","lint:fix":"eslint src --fix","prebuild":"contractspec-bun-build prebuild","typecheck":"tsc --noEmit","lint:check":"eslint src","build:types":"contractspec-bun-build types","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"contractspec-bun-build transpile","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_integrity":"sha512-egeXzqKwSeHn9rIEOIp1q1XaBC0SbjxczS8UH7Bs8IBnr8jG8WOJ/2VxuBXF+z+Z0POv5Fv/BhKsFoe1Cc+lnw==","repository":{"url":"https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.8.3","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@contractspec/lib.contracts-spec":"3.1.1","@contractspec/module.learning-journey":"3.1.1"},"publishConfig":{"access":"public","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/index":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"}},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@contractspec/tool.bun":"3.1.0","@contractspec/tool.typescript":"3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_3.1.1_1772813426737_0.352313689101611","host":"s3://npm-registry-packages-npm-production"}},"3.2.0":{"name":"@contractspec/example.learning-journey-duo-drills","version":"3.2.0","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@3.2.0","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","dist":{"shasum":"7c6f511afa099e842853df3f19a1f8ea987ff068","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-3.2.0.tgz","fileCount":37,"integrity":"sha512-tBOGLMKfOdK0jHCckfWlnGleR6uUOIOjlpUf4lbOy2LtI94p0R8DFya7MlgdqYvWw98XUiZFfLPrX6VS5lxzvQ==","signatures":[{"sig":"MEQCIBWwv1uZKa8/ogVYkW6Kbey0J31hy/klcHGyPgLGZyjoAiB+dJlqYbrE6Trf1iWF4fljnHGExcwSmC+PF3oFBmDWfw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":62150},"type":"module","types":"./dist/index.d.ts","shasum":"7c6f511afa099e842853df3f19a1f8ea987ff068","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/index":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"}},"scripts":{"dev":"contractspec-bun-build dev","lint":"bun lint:fix","test":"bun test","build":"bun run prebuild && bun run build:bundle && bun run build:types","clean":"rimraf dist .turbo","lint:fix":"eslint src --fix","prebuild":"contractspec-bun-build prebuild","typecheck":"tsc --noEmit","lint:check":"eslint src","build:types":"contractspec-bun-build types","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"contractspec-bun-build transpile","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_integrity":"sha512-tBOGLMKfOdK0jHCckfWlnGleR6uUOIOjlpUf4lbOy2LtI94p0R8DFya7MlgdqYvWw98XUiZFfLPrX6VS5lxzvQ==","repository":{"url":"https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.8.3","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@contractspec/lib.contracts-spec":"3.2.0","@contractspec/module.learning-journey":"3.2.0"},"publishConfig":{"access":"public","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/index":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"}},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@contractspec/tool.bun":"3.2.0","@contractspec/tool.typescript":"3.2.0"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_3.2.0_1772815366392_0.6034726646311892","host":"s3://npm-registry-packages-npm-production"}},"3.3.0":{"name":"@contractspec/example.learning-journey-duo-drills","version":"3.3.0","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@3.3.0","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","dist":{"shasum":"0352db6100ef7aa35335b17e71edc2fd61ca6b7d","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-3.3.0.tgz","fileCount":42,"integrity":"sha512-f5IMbQCPMbkUcrzHmsJ5/rnHCOYiANqe/xPDUzLmdTwlBzctDenenIOF16ILUd1e6nqeMH9cLsxsYHo2bNZy5w==","signatures":[{"sig":"MEUCICEz1CpuF+Q4lTwV0Hk+GvK94ftqlc+nAHwoU95EcGqSAiEAp6rsI7ffZ0egVqaUz6w7Okj5RXHu5st6zxHwcbA4LpU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":67932},"type":"module","types":"./dist/index.d.ts","shasum":"0352db6100ef7aa35335b17e71edc2fd61ca6b7d","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/index":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"},"./learning-journey-duo-drills.feature":{"bun":"./dist/learning-journey-duo-drills.feature.js","node":"./dist/node/learning-journey-duo-drills.feature.js","types":"./dist/learning-journey-duo-drills.feature.d.ts","browser":"./dist/browser/learning-journey-duo-drills.feature.js","default":"./dist/learning-journey-duo-drills.feature.js"}},"scripts":{"dev":"contractspec-bun-build dev","lint":"bun lint:fix","test":"bun test","build":"bun run prebuild && bun run build:bundle && bun run build:types","clean":"rimraf dist .turbo","lint:fix":"eslint src --fix","prebuild":"contractspec-bun-build prebuild","typecheck":"tsc --noEmit","lint:check":"eslint src","build:types":"contractspec-bun-build types","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"contractspec-bun-build transpile","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_integrity":"sha512-f5IMbQCPMbkUcrzHmsJ5/rnHCOYiANqe/xPDUzLmdTwlBzctDenenIOF16ILUd1e6nqeMH9cLsxsYHo2bNZy5w==","repository":{"url":"https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.8.3","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@contractspec/lib.contracts-spec":"3.3.0","@contractspec/module.learning-journey":"3.3.0"},"publishConfig":{"access":"public","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/index":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"},"./learning-journey-duo-drills.feature":{"bun":"./dist/learning-journey-duo-drills.feature.js","node":"./dist/node/learning-journey-duo-drills.feature.js","types":"./dist/learning-journey-duo-drills.feature.d.ts","browser":"./dist/browser/learning-journey-duo-drills.feature.js","default":"./dist/learning-journey-duo-drills.feature.js"}},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@contractspec/tool.bun":"3.3.0","@contractspec/tool.typescript":"3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_3.3.0_1772891633195_0.16531997860116543","host":"s3://npm-registry-packages-npm-production"}},"3.4.0":{"name":"@contractspec/example.learning-journey-duo-drills","version":"3.4.0","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@3.4.0","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","dist":{"shasum":"4878f8aaa9c7bf057c8d25409f578bbc50025bad","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-3.4.0.tgz","fileCount":42,"integrity":"sha512-Yu96kMfYUuSn5yO6JfGUMvoYKT3/uPSwQnTR108sT+l5mFVQhozb+0IPYvd9DlM5jDGeVjIxnu5T0hPsbwiJJg==","signatures":[{"sig":"MEQCIHw5YK6qX1qiAFdoO40espsaQKh7d3ySlBq9ZS7Pf4LlAiBpR5UmOBa3f7UOq8k0xT7qfgLztwn/DP3rK4Lw1prEcw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":68731},"type":"module","types":"./dist/index.d.ts","shasum":"4878f8aaa9c7bf057c8d25409f578bbc50025bad","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/index":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"},"./learning-journey-duo-drills.feature":{"bun":"./dist/learning-journey-duo-drills.feature.js","node":"./dist/node/learning-journey-duo-drills.feature.js","types":"./dist/learning-journey-duo-drills.feature.d.ts","browser":"./dist/browser/learning-journey-duo-drills.feature.js","default":"./dist/learning-journey-duo-drills.feature.js"}},"scripts":{"dev":"contractspec-bun-build dev","lint":"bun lint:fix","test":"bun test","build":"bun run prebuild && bun run build:bundle && bun run build:types","clean":"rimraf dist .turbo","lint:fix":"eslint src --fix","prebuild":"contractspec-bun-build prebuild","typecheck":"tsc --noEmit","lint:check":"eslint src","build:types":"contractspec-bun-build types","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"contractspec-bun-build transpile","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_integrity":"sha512-Yu96kMfYUuSn5yO6JfGUMvoYKT3/uPSwQnTR108sT+l5mFVQhozb+0IPYvd9DlM5jDGeVjIxnu5T0hPsbwiJJg==","repository":{"url":"https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.8.3","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@contractspec/lib.contracts-spec":"3.4.0","@contractspec/module.learning-journey":"3.4.0"},"publishConfig":{"access":"public","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/index":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"},"./learning-journey-duo-drills.feature":{"bun":"./dist/learning-journey-duo-drills.feature.js","node":"./dist/node/learning-journey-duo-drills.feature.js","types":"./dist/learning-journey-duo-drills.feature.d.ts","browser":"./dist/browser/learning-journey-duo-drills.feature.js","default":"./dist/learning-journey-duo-drills.feature.js"}},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@contractspec/tool.bun":"3.4.0","@contractspec/tool.typescript":"3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_3.4.0_1773012712601_0.8171288359185036","host":"s3://npm-registry-packages-npm-production"}},"3.4.1":{"name":"@contractspec/example.learning-journey-duo-drills","version":"3.4.1","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@3.4.1","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","dist":{"shasum":"8220c293d74277b18ef1de0a7697aadfc1328272","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-3.4.1.tgz","fileCount":42,"integrity":"sha512-Y24Sk4ggGdft4c9TEUls42e8ihywp559VWzzQGR1SXEOVap4SUGpDV74vHBCen7e5uru2+nXENL31rqUiK4J5Q==","signatures":[{"sig":"MEQCIAjscRBgjjZeQ/MgexAogHvkovRikhFHIoSVdALN+kU/AiBmubLLnD4EUX3uXY+ufUyRpHvrM0ef9K96E0BbsWWNEg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":68377},"type":"module","types":"./dist/index.d.ts","shasum":"8220c293d74277b18ef1de0a7697aadfc1328272","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/index":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"},"./learning-journey-duo-drills.feature":{"bun":"./dist/learning-journey-duo-drills.feature.js","node":"./dist/node/learning-journey-duo-drills.feature.js","types":"./dist/learning-journey-duo-drills.feature.d.ts","browser":"./dist/browser/learning-journey-duo-drills.feature.js","default":"./dist/learning-journey-duo-drills.feature.js"}},"scripts":{"dev":"contractspec-bun-build dev","lint":"bun lint:fix","test":"bun test","build":"bun run prebuild && bun run build:bundle && bun run build:types","clean":"rimraf dist .turbo","lint:fix":"eslint src --fix","prebuild":"contractspec-bun-build prebuild","typecheck":"tsc --noEmit","lint:check":"eslint src","build:types":"contractspec-bun-build types","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"contractspec-bun-build transpile","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_integrity":"sha512-Y24Sk4ggGdft4c9TEUls42e8ihywp559VWzzQGR1SXEOVap4SUGpDV74vHBCen7e5uru2+nXENL31rqUiK4J5Q==","repository":{"url":"https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.8.3","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@contractspec/lib.contracts-spec":"3.4.1","@contractspec/module.learning-journey":"3.4.1"},"publishConfig":{"access":"public","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/index":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"},"./learning-journey-duo-drills.feature":{"bun":"./dist/learning-journey-duo-drills.feature.js","node":"./dist/node/learning-journey-duo-drills.feature.js","types":"./dist/learning-journey-duo-drills.feature.d.ts","browser":"./dist/browser/learning-journey-duo-drills.feature.js","default":"./dist/learning-journey-duo-drills.feature.js"}},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@contractspec/tool.bun":"3.4.1","@contractspec/tool.typescript":"3.4.1"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_3.4.1_1773022370482_0.15984335513827586","host":"s3://npm-registry-packages-npm-production"}},"3.4.2":{"name":"@contractspec/example.learning-journey-duo-drills","version":"3.4.2","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@3.4.2","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","dist":{"shasum":"ce46065d2aaaaedf47182ca565e13576f2a61a99","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-3.4.2.tgz","fileCount":42,"integrity":"sha512-uZVT29KYup6t9o9AWPybQX4MtpntjC/8B8/LIlhMIAV3O+nU80Q828HTow2LwEQZ4rKjx1mP7DWNWBwftarfLw==","signatures":[{"sig":"MEUCIQDoHJxjhXhasBMqGexLD6U5GdzYyVcKBS0VwkFoKDWmWgIgNylnled2HXkggK2gCk+FS8fDxAZWS3C0K9yW24yVRWU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":68564},"type":"module","types":"./dist/index.d.ts","shasum":"ce46065d2aaaaedf47182ca565e13576f2a61a99","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/index":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"},"./learning-journey-duo-drills.feature":{"bun":"./dist/learning-journey-duo-drills.feature.js","node":"./dist/node/learning-journey-duo-drills.feature.js","types":"./dist/learning-journey-duo-drills.feature.d.ts","browser":"./dist/browser/learning-journey-duo-drills.feature.js","default":"./dist/learning-journey-duo-drills.feature.js"}},"scripts":{"dev":"contractspec-bun-build dev","lint":"bun lint:fix","test":"bun test","build":"bun run prebuild && bun run build:bundle && bun run build:types","clean":"rimraf dist .turbo","lint:fix":"eslint src --fix","prebuild":"contractspec-bun-build prebuild","typecheck":"tsc --noEmit","lint:check":"eslint src","build:types":"contractspec-bun-build types","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"contractspec-bun-build transpile","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_integrity":"sha512-uZVT29KYup6t9o9AWPybQX4MtpntjC/8B8/LIlhMIAV3O+nU80Q828HTow2LwEQZ4rKjx1mP7DWNWBwftarfLw==","repository":{"url":"https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.8.3","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@contractspec/lib.contracts-spec":"3.4.2","@contractspec/module.learning-journey":"3.4.2"},"publishConfig":{"access":"public","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/index":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"},"./learning-journey-duo-drills.feature":{"bun":"./dist/learning-journey-duo-drills.feature.js","node":"./dist/node/learning-journey-duo-drills.feature.js","types":"./dist/learning-journey-duo-drills.feature.d.ts","browser":"./dist/browser/learning-journey-duo-drills.feature.js","default":"./dist/learning-journey-duo-drills.feature.js"}},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@contractspec/tool.bun":"3.4.2","@contractspec/tool.typescript":"3.4.2"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_3.4.2_1773023194519_0.5437123117762042","host":"s3://npm-registry-packages-npm-production"}},"3.4.3":{"name":"@contractspec/example.learning-journey-duo-drills","version":"3.4.3","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@3.4.3","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","dist":{"shasum":"d8149ee69d71e5d03ef7ca7a14f26d5abab8b20f","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-3.4.3.tgz","fileCount":42,"integrity":"sha512-fLs4S8itlRlUsZud6vl12BizgAIIaNOYjFOqKKJPAKxcojnvKBkTtBDCy2erJbsbd2RWmBkcA9hNr8WxyYLh8Q==","signatures":[{"sig":"MEUCIBaxcNKanBgM8MlXWJdJ//uiZsLospW7qeeQUqyg2zR7AiEA4lK9WX6/96oyC5kYSI03hA9GCJf2I+rRNNc+r4qkC8c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":68749},"type":"module","types":"./dist/index.d.ts","shasum":"d8149ee69d71e5d03ef7ca7a14f26d5abab8b20f","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/index":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"},"./learning-journey-duo-drills.feature":{"bun":"./dist/learning-journey-duo-drills.feature.js","node":"./dist/node/learning-journey-duo-drills.feature.js","types":"./dist/learning-journey-duo-drills.feature.d.ts","browser":"./dist/browser/learning-journey-duo-drills.feature.js","default":"./dist/learning-journey-duo-drills.feature.js"}},"scripts":{"dev":"contractspec-bun-build dev","lint":"bun lint:fix","test":"bun test","build":"bun run prebuild && bun run build:bundle && bun run build:types","clean":"rimraf dist .turbo","lint:fix":"eslint src --fix","prebuild":"contractspec-bun-build prebuild","typecheck":"tsc --noEmit","lint:check":"eslint src","build:types":"contractspec-bun-build types","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"contractspec-bun-build transpile","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_integrity":"sha512-fLs4S8itlRlUsZud6vl12BizgAIIaNOYjFOqKKJPAKxcojnvKBkTtBDCy2erJbsbd2RWmBkcA9hNr8WxyYLh8Q==","repository":{"url":"https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.8.3","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@contractspec/lib.contracts-spec":"3.4.3","@contractspec/module.learning-journey":"3.4.3"},"publishConfig":{"access":"public","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/index":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"},"./learning-journey-duo-drills.feature":{"bun":"./dist/learning-journey-duo-drills.feature.js","node":"./dist/node/learning-journey-duo-drills.feature.js","types":"./dist/learning-journey-duo-drills.feature.d.ts","browser":"./dist/browser/learning-journey-duo-drills.feature.js","default":"./dist/learning-journey-duo-drills.feature.js"}},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@contractspec/tool.bun":"3.4.3","@contractspec/tool.typescript":"3.4.3"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_3.4.3_1773028345245_0.5533315085488808","host":"s3://npm-registry-packages-npm-production"}},"3.5.0":{"name":"@contractspec/example.learning-journey-duo-drills","version":"3.5.0","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@3.5.0","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","dist":{"shasum":"e4bbc4f21d60e223c6068da3c4f502b30fb2e825","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-3.5.0.tgz","fileCount":42,"integrity":"sha512-czroKXDpWGS4a2tDqdIwLBhK9tOS9ljz70+bB9nR899+vdrmvHC+UUvY5A0eVkOvxxxGNmu3u042x0RW3U5g6Q==","signatures":[{"sig":"MEYCIQCFotD7BUrQ+pmo2jh7p42YbHrhXC56nxLhklWU0rto9QIhAIbp/I4UFXL09+lNLoe4AYF5MrLrFbb2Z7ZDxhb8iAuL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":68958},"type":"module","types":"./dist/index.d.ts","shasum":"e4bbc4f21d60e223c6068da3c4f502b30fb2e825","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/index":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"},"./learning-journey-duo-drills.feature":{"bun":"./dist/learning-journey-duo-drills.feature.js","node":"./dist/node/learning-journey-duo-drills.feature.js","types":"./dist/learning-journey-duo-drills.feature.d.ts","browser":"./dist/browser/learning-journey-duo-drills.feature.js","default":"./dist/learning-journey-duo-drills.feature.js"}},"scripts":{"dev":"contractspec-bun-build dev","lint":"bun lint:fix","test":"bun test","build":"bun run prebuild && bun run build:bundle && bun run build:types","clean":"rimraf dist .turbo","lint:fix":"eslint src --fix","prebuild":"contractspec-bun-build prebuild","typecheck":"tsc --noEmit","lint:check":"eslint src","build:types":"contractspec-bun-build types","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"contractspec-bun-build transpile","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_integrity":"sha512-czroKXDpWGS4a2tDqdIwLBhK9tOS9ljz70+bB9nR899+vdrmvHC+UUvY5A0eVkOvxxxGNmu3u042x0RW3U5g6Q==","repository":{"url":"https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.8.3","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@contractspec/lib.contracts-spec":"3.5.0","@contractspec/module.learning-journey":"3.5.0"},"publishConfig":{"access":"public","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/index":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"},"./learning-journey-duo-drills.feature":{"bun":"./dist/learning-journey-duo-drills.feature.js","node":"./dist/node/learning-journey-duo-drills.feature.js","types":"./dist/learning-journey-duo-drills.feature.d.ts","browser":"./dist/browser/learning-journey-duo-drills.feature.js","default":"./dist/learning-journey-duo-drills.feature.js"}},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@contractspec/tool.bun":"3.5.0","@contractspec/tool.typescript":"3.5.0"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_3.5.0_1773036222057_0.8808298394028315","host":"s3://npm-registry-packages-npm-production"}},"3.5.2":{"name":"@contractspec/example.learning-journey-duo-drills","version":"3.5.2","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@3.5.2","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","dist":{"shasum":"982933ab1a7dbd29d68ef315593924af240085f8","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-3.5.2.tgz","fileCount":42,"integrity":"sha512-BPQ/w32tVrYb1pYuJ8ADRdmog4pEhHOHIYVARmGd07F7G/RpnTUMJow2AzvnhwyhnGwPS+hx8riE5k9oz1V82w==","signatures":[{"sig":"MEQCIBpB7C1ZaFnOwVP1p1fsFoSyrMbt8kCYCUsecnsF06HVAiBnp3mSg62PVQlblpPNMrt7W90SfZGWcnrNCm6orbKVUg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":69398},"type":"module","types":"./dist/index.d.ts","shasum":"982933ab1a7dbd29d68ef315593924af240085f8","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/index":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"},"./learning-journey-duo-drills.feature":{"bun":"./dist/learning-journey-duo-drills.feature.js","node":"./dist/node/learning-journey-duo-drills.feature.js","types":"./dist/learning-journey-duo-drills.feature.d.ts","browser":"./dist/browser/learning-journey-duo-drills.feature.js","default":"./dist/learning-journey-duo-drills.feature.js"}},"scripts":{"dev":"contractspec-bun-build dev","lint":"bun lint:fix","test":"bun test","build":"bun run prebuild && bun run build:bundle && bun run build:types","clean":"rimraf dist .turbo","lint:fix":"eslint src --fix","prebuild":"contractspec-bun-build prebuild","typecheck":"tsc --noEmit","lint:check":"eslint src","build:types":"contractspec-bun-build types","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"contractspec-bun-build transpile","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_integrity":"sha512-BPQ/w32tVrYb1pYuJ8ADRdmog4pEhHOHIYVARmGd07F7G/RpnTUMJow2AzvnhwyhnGwPS+hx8riE5k9oz1V82w==","repository":{"url":"https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.8.3","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@contractspec/lib.contracts-spec":"3.5.2","@contractspec/module.learning-journey":"3.5.2"},"publishConfig":{"access":"public","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/index":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"},"./learning-journey-duo-drills.feature":{"bun":"./dist/learning-journey-duo-drills.feature.js","node":"./dist/node/learning-journey-duo-drills.feature.js","types":"./dist/learning-journey-duo-drills.feature.d.ts","browser":"./dist/browser/learning-journey-duo-drills.feature.js","default":"./dist/learning-journey-duo-drills.feature.js"}},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@contractspec/tool.bun":"3.5.2","@contractspec/tool.typescript":"3.5.2"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_3.5.2_1773043587771_0.6300258712430209","host":"s3://npm-registry-packages-npm-production"}},"3.5.3":{"name":"@contractspec/example.learning-journey-duo-drills","version":"3.5.3","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@3.5.3","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","dist":{"shasum":"f4080e9e10b3eeb66039209bcac390de1e2174ee","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-3.5.3.tgz","fileCount":42,"integrity":"sha512-jGdu6bBTzyNCiMORlXmZyEhcEaNZAeZ0VtUMbW57jU4rNv7QOT8G3zmPHd6o4wbec1wQB/Wo8hLeRNEZ2rHp7w==","signatures":[{"sig":"MEQCIBnna0whTUX7yi31YTFJcMTtutSZPPDiuqt4U3Qa9/JdAiAO3hyNoqh2c4ApeaRU4WZqg9uePpWsq3SGbxW9w49vpA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":69576},"type":"module","types":"./dist/index.d.ts","shasum":"f4080e9e10b3eeb66039209bcac390de1e2174ee","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/index":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"},"./learning-journey-duo-drills.feature":{"bun":"./dist/learning-journey-duo-drills.feature.js","node":"./dist/node/learning-journey-duo-drills.feature.js","types":"./dist/learning-journey-duo-drills.feature.d.ts","browser":"./dist/browser/learning-journey-duo-drills.feature.js","default":"./dist/learning-journey-duo-drills.feature.js"}},"scripts":{"dev":"contractspec-bun-build dev","lint":"bun lint:fix","test":"bun test","build":"bun run prebuild && bun run build:bundle && bun run build:types","clean":"rimraf dist .turbo","lint:fix":"eslint src --fix","prebuild":"contractspec-bun-build prebuild","typecheck":"tsc --noEmit","lint:check":"eslint src","build:types":"contractspec-bun-build types","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"contractspec-bun-build transpile","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_integrity":"sha512-jGdu6bBTzyNCiMORlXmZyEhcEaNZAeZ0VtUMbW57jU4rNv7QOT8G3zmPHd6o4wbec1wQB/Wo8hLeRNEZ2rHp7w==","repository":{"url":"https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.8.3","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@contractspec/lib.contracts-spec":"3.5.3","@contractspec/module.learning-journey":"3.5.3"},"publishConfig":{"access":"public","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/index":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"},"./learning-journey-duo-drills.feature":{"bun":"./dist/learning-journey-duo-drills.feature.js","node":"./dist/node/learning-journey-duo-drills.feature.js","types":"./dist/learning-journey-duo-drills.feature.d.ts","browser":"./dist/browser/learning-journey-duo-drills.feature.js","default":"./dist/learning-journey-duo-drills.feature.js"}},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@contractspec/tool.bun":"3.5.3","@contractspec/tool.typescript":"3.5.3"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_3.5.3_1773045145259_0.211048399864596","host":"s3://npm-registry-packages-npm-production"}},"3.5.4":{"name":"@contractspec/example.learning-journey-duo-drills","version":"3.5.4","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@3.5.4","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","dist":{"shasum":"e6bd0472f89662a5e92788fc536b0fc7475106b4","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-3.5.4.tgz","fileCount":42,"integrity":"sha512-/AW23MyXF00i8/vllHXImHUQdep8ik5o1vnFW3eZa1XWKH4iROAhZWRgQ8FEf+LejAok4awCWPF5B68sTQe3Tw==","signatures":[{"sig":"MEYCIQCulrsR9E77jQ/jPNx7nExvgRZu8NJCWPfh2q2+Zr3BRgIhAJTd8NEqH6+gXwgqj6paFUQD7DDOhNnnXLxZ9zdG740n","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":69798},"type":"module","types":"./dist/index.d.ts","shasum":"e6bd0472f89662a5e92788fc536b0fc7475106b4","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/index":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"},"./learning-journey-duo-drills.feature":{"bun":"./dist/learning-journey-duo-drills.feature.js","node":"./dist/node/learning-journey-duo-drills.feature.js","types":"./dist/learning-journey-duo-drills.feature.d.ts","browser":"./dist/browser/learning-journey-duo-drills.feature.js","default":"./dist/learning-journey-duo-drills.feature.js"}},"scripts":{"dev":"contractspec-bun-build dev","lint":"bun lint:fix","test":"bun test","build":"bun run prebuild && bun run build:bundle && bun run build:types","clean":"rimraf dist .turbo","lint:fix":"eslint src --fix","prebuild":"contractspec-bun-build prebuild","typecheck":"tsc --noEmit","lint:check":"eslint src","build:types":"contractspec-bun-build types","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"contractspec-bun-build transpile","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_integrity":"sha512-/AW23MyXF00i8/vllHXImHUQdep8ik5o1vnFW3eZa1XWKH4iROAhZWRgQ8FEf+LejAok4awCWPF5B68sTQe3Tw==","repository":{"url":"https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.8.3","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@contractspec/lib.contracts-spec":"3.5.4","@contractspec/module.learning-journey":"3.5.4"},"publishConfig":{"access":"public","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/index":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"},"./learning-journey-duo-drills.feature":{"bun":"./dist/learning-journey-duo-drills.feature.js","node":"./dist/node/learning-journey-duo-drills.feature.js","types":"./dist/learning-journey-duo-drills.feature.d.ts","browser":"./dist/browser/learning-journey-duo-drills.feature.js","default":"./dist/learning-journey-duo-drills.feature.js"}},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@contractspec/tool.bun":"3.5.4","@contractspec/tool.typescript":"3.5.4"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_3.5.4_1773080201285_0.6221199705686802","host":"s3://npm-registry-packages-npm-production"}},"3.5.5":{"name":"@contractspec/example.learning-journey-duo-drills","version":"3.5.5","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@3.5.5","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","dist":{"shasum":"6ca1be269a55ccbf2b03333b059d17fc828bf5af","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-3.5.5.tgz","fileCount":42,"integrity":"sha512-4Dea+J6T7giuAHhg6YrVRpNuQyui3nG9pTFtZMTpJX3Ony3aFAJ0mk6vER6VxgbtHUYLYYt/MNEdQ87er5jYfA==","signatures":[{"sig":"MEYCIQDy6uta4I4ENDb94QlpGU88GYjSWp6dPbH3fIZQ2U7FggIhAM4KI+6pzS7xf0gyNmXOrnYp7pJl3OkdIeGIH9JVnjzU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":70021},"type":"module","types":"./dist/index.d.ts","shasum":"6ca1be269a55ccbf2b03333b059d17fc828bf5af","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/index":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"},"./learning-journey-duo-drills.feature":{"bun":"./dist/learning-journey-duo-drills.feature.js","node":"./dist/node/learning-journey-duo-drills.feature.js","types":"./dist/learning-journey-duo-drills.feature.d.ts","browser":"./dist/browser/learning-journey-duo-drills.feature.js","default":"./dist/learning-journey-duo-drills.feature.js"}},"scripts":{"dev":"contractspec-bun-build dev","lint":"bun lint:fix","test":"bun test","build":"bun run prebuild && bun run build:bundle && bun run build:types","clean":"rimraf dist .turbo","lint:fix":"eslint src --fix","prebuild":"contractspec-bun-build prebuild","typecheck":"tsc --noEmit","lint:check":"eslint src","build:types":"contractspec-bun-build types","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"contractspec-bun-build transpile","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_integrity":"sha512-4Dea+J6T7giuAHhg6YrVRpNuQyui3nG9pTFtZMTpJX3Ony3aFAJ0mk6vER6VxgbtHUYLYYt/MNEdQ87er5jYfA==","repository":{"url":"https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.8.3","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@contractspec/lib.contracts-spec":"3.5.5","@contractspec/module.learning-journey":"3.5.5"},"publishConfig":{"access":"public","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/index":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"},"./learning-journey-duo-drills.feature":{"bun":"./dist/learning-journey-duo-drills.feature.js","node":"./dist/node/learning-journey-duo-drills.feature.js","types":"./dist/learning-journey-duo-drills.feature.d.ts","browser":"./dist/browser/learning-journey-duo-drills.feature.js","default":"./dist/learning-journey-duo-drills.feature.js"}},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@contractspec/tool.bun":"3.5.5","@contractspec/tool.typescript":"3.5.5"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_3.5.5_1773099214052_0.7803367022785783","host":"s3://npm-registry-packages-npm-production"}},"3.6.0":{"name":"@contractspec/example.learning-journey-duo-drills","version":"3.6.0","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@3.6.0","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","dist":{"shasum":"565f8e87c40607f4bfc98776c80ef305aed2e815","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-3.6.0.tgz","fileCount":42,"integrity":"sha512-cjKYPF5O7unrxZul8CR/j9DpybmQfrsEd9F3iS1oS9Qai6vm6/MtVQHW3o+/7KEwy40u8m0SxziPbLu1K1cOsQ==","signatures":[{"sig":"MEQCIBEyTlaU90VvZqD1wUo6u/eil6rbcEKYm6OS36uj0OZ3AiB1LiVTLiB+lfwdzbhTQ3QymERPEqbkvxCMLJQod1s/Gg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":70294},"type":"module","types":"./dist/index.d.ts","shasum":"565f8e87c40607f4bfc98776c80ef305aed2e815","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/index":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"},"./learning-journey-duo-drills.feature":{"bun":"./dist/learning-journey-duo-drills.feature.js","node":"./dist/node/learning-journey-duo-drills.feature.js","types":"./dist/learning-journey-duo-drills.feature.d.ts","browser":"./dist/browser/learning-journey-duo-drills.feature.js","default":"./dist/learning-journey-duo-drills.feature.js"}},"scripts":{"dev":"contractspec-bun-build dev","lint":"bun lint:fix","test":"bun test","build":"bun run prebuild && bun run build:bundle && bun run build:types","clean":"rimraf dist .turbo","lint:fix":"eslint src --fix","prebuild":"contractspec-bun-build prebuild","typecheck":"tsc --noEmit","lint:check":"eslint src","build:types":"contractspec-bun-build types","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"contractspec-bun-build transpile","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_integrity":"sha512-cjKYPF5O7unrxZul8CR/j9DpybmQfrsEd9F3iS1oS9Qai6vm6/MtVQHW3o+/7KEwy40u8m0SxziPbLu1K1cOsQ==","repository":{"url":"https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.8.3","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@contractspec/lib.contracts-spec":"3.6.0","@contractspec/module.learning-journey":"3.6.0"},"publishConfig":{"access":"public","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/index":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"},"./learning-journey-duo-drills.feature":{"bun":"./dist/learning-journey-duo-drills.feature.js","node":"./dist/node/learning-journey-duo-drills.feature.js","types":"./dist/learning-journey-duo-drills.feature.d.ts","browser":"./dist/browser/learning-journey-duo-drills.feature.js","default":"./dist/learning-journey-duo-drills.feature.js"}},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@contractspec/tool.bun":"3.6.0","@contractspec/tool.typescript":"3.6.0"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_3.6.0_1773138085875_0.36506546985795874","host":"s3://npm-registry-packages-npm-production"}},"3.7.0":{"name":"@contractspec/example.learning-journey-duo-drills","version":"3.7.0","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@3.7.0","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","dist":{"shasum":"ee4020bca3d16e2fea170bac6fbc2492eb7eb9ca","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-3.7.0.tgz","fileCount":42,"integrity":"sha512-4gus9EW1Wz9+H33wOymXZRNmGZGw6fkWAAHLQ/M8jT1vpYdegEjjvPmtLAUbXRFcsxxtyBWxDU6dN0nt5/9agQ==","signatures":[{"sig":"MEQCIBNCwqHZbGnIp4OxHc3Bi686s2Xd2oIXi8NECUC12kjEAiBikVdGL5DuVPNKb0g/k3BSthfz5bpEdPlKMVaDBkxFJQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":70513},"type":"module","types":"./dist/index.d.ts","shasum":"ee4020bca3d16e2fea170bac6fbc2492eb7eb9ca","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/index":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"},"./learning-journey-duo-drills.feature":{"bun":"./dist/learning-journey-duo-drills.feature.js","node":"./dist/node/learning-journey-duo-drills.feature.js","types":"./dist/learning-journey-duo-drills.feature.d.ts","browser":"./dist/browser/learning-journey-duo-drills.feature.js","default":"./dist/learning-journey-duo-drills.feature.js"}},"scripts":{"dev":"contractspec-bun-build dev","lint":"bun lint:fix","test":"bun test","build":"bun run prebuild && bun run build:bundle && bun run build:types","clean":"rimraf dist .turbo","lint:fix":"eslint src --fix","prebuild":"contractspec-bun-build prebuild","typecheck":"tsc --noEmit","lint:check":"eslint src","build:types":"contractspec-bun-build types","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"contractspec-bun-build transpile","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_integrity":"sha512-4gus9EW1Wz9+H33wOymXZRNmGZGw6fkWAAHLQ/M8jT1vpYdegEjjvPmtLAUbXRFcsxxtyBWxDU6dN0nt5/9agQ==","repository":{"url":"https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.8.3","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@contractspec/lib.contracts-spec":"3.7.0","@contractspec/module.learning-journey":"3.7.0"},"publishConfig":{"access":"public","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/index":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"},"./learning-journey-duo-drills.feature":{"bun":"./dist/learning-journey-duo-drills.feature.js","node":"./dist/node/learning-journey-duo-drills.feature.js","types":"./dist/learning-journey-duo-drills.feature.d.ts","browser":"./dist/browser/learning-journey-duo-drills.feature.js","default":"./dist/learning-journey-duo-drills.feature.js"}},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@contractspec/tool.bun":"3.7.0","@contractspec/tool.typescript":"3.7.0"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_3.7.0_1773405395433_0.5052578023445791","host":"s3://npm-registry-packages-npm-production"}},"3.7.1":{"name":"@contractspec/example.learning-journey-duo-drills","version":"3.7.1","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@3.7.1","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","dist":{"shasum":"5c1f921d07f22e1dbed0e6adbe92c67619d9d328","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-3.7.1.tgz","fileCount":42,"integrity":"sha512-zb1589ggmuoxYjdnHAlhX7lmAF58BqYKEVb7J9mZ/HFbjE2ePs1YTsYZCMEDissm3gFIoJaKGEp/vU9kZD2Ynw==","signatures":[{"sig":"MEUCICQuIO4myVKijz5xp9zXy8MQDqrTDP9vvI9/1mWF/DGOAiEAykFa/R5YclaouKXzxiQcv1Uep3CrsGLiREviqALpFr8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":70207},"type":"module","types":"./dist/index.d.ts","shasum":"5c1f921d07f22e1dbed0e6adbe92c67619d9d328","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"},"./learning-journey-duo-drills.feature":{"bun":"./dist/learning-journey-duo-drills.feature.js","node":"./dist/node/learning-journey-duo-drills.feature.js","types":"./dist/learning-journey-duo-drills.feature.d.ts","browser":"./dist/browser/learning-journey-duo-drills.feature.js","default":"./dist/learning-journey-duo-drills.feature.js"}},"scripts":{"dev":"contractspec-bun-build dev","lint":"bun lint:fix","test":"bun test","build":"bun run prebuild && bun run build:bundle && bun run build:types","clean":"rimraf dist .turbo","lint:fix":"eslint src --fix","prebuild":"contractspec-bun-build prebuild","typecheck":"tsc --noEmit","lint:check":"eslint src","build:types":"contractspec-bun-build types","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"contractspec-bun-build transpile","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_integrity":"sha512-zb1589ggmuoxYjdnHAlhX7lmAF58BqYKEVb7J9mZ/HFbjE2ePs1YTsYZCMEDissm3gFIoJaKGEp/vU9kZD2Ynw==","repository":{"url":"https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.8.3","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@contractspec/lib.contracts-spec":"3.7.1","@contractspec/module.learning-journey":"3.7.1"},"publishConfig":{"access":"public","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"},"./learning-journey-duo-drills.feature":{"bun":"./dist/learning-journey-duo-drills.feature.js","node":"./dist/node/learning-journey-duo-drills.feature.js","types":"./dist/learning-journey-duo-drills.feature.d.ts","browser":"./dist/browser/learning-journey-duo-drills.feature.js","default":"./dist/learning-journey-duo-drills.feature.js"}},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@contractspec/tool.bun":"3.7.1","@contractspec/tool.typescript":"3.7.1"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_3.7.1_1773576722012_0.09929346021981922","host":"s3://npm-registry-packages-npm-production"}},"3.7.3":{"name":"@contractspec/example.learning-journey-duo-drills","version":"3.7.3","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@3.7.3","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","bugs":{"url":"https://github.com/lssm-tech/contractspec/issues"},"dist":{"shasum":"4243064515082b688a3c58e82e1a8037dd9ff8df","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-3.7.3.tgz","fileCount":42,"integrity":"sha512-iUW40HC3uMo1rC3Sx7PdQer2cBfFHKnN6mGaK4om8YDZLzeNMQUIUbcvWpRhSNeK7sv4gwW+u+Ukf6KQs7S+wA==","signatures":[{"sig":"MEQCIDmtz00S2J0PLDHxXAmhub+0ZFJYlbsNOWFZF04njERrAiBYKvOVkHN4HgG04D59LH9xKjA8XvjUUEWt/HdUQ5EeKA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@contractspec%2fexample.learning-journey-duo-drills@3.7.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":70577},"type":"module","_from":"file:/tmp/contractspec-release-stable/tarballs/contractspec-example.learning-journey-duo-drills-3.7.3.tgz","types":"./dist/index.d.ts","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"},"./learning-journey-duo-drills.feature":{"bun":"./dist/learning-journey-duo-drills.feature.js","node":"./dist/node/learning-journey-duo-drills.feature.js","types":"./dist/learning-journey-duo-drills.feature.d.ts","browser":"./dist/browser/learning-journey-duo-drills.feature.js","default":"./dist/learning-journey-duo-drills.feature.js"}},"scripts":{"dev":"contractspec-bun-build dev","lint":"bun lint:fix","test":"bun test","build":"bun run prebuild && bun run build:bundle && bun run build:types","clean":"rimraf dist .turbo","lint:fix":"eslint src --fix","prebuild":"contractspec-bun-build prebuild","typecheck":"tsc --noEmit","lint:check":"eslint src","build:types":"contractspec-bun-build types","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"contractspec-bun-build transpile","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_resolved":"/tmp/contractspec-release-stable/tarballs/contractspec-example.learning-journey-duo-drills-3.7.3.tgz","_integrity":"sha512-iUW40HC3uMo1rC3Sx7PdQer2cBfFHKnN6mGaK4om8YDZLzeNMQUIUbcvWpRhSNeK7sv4gwW+u+Ukf6KQs7S+wA==","repository":{"url":"git+https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.9.4","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"@contractspec/lib.contracts-spec":"3.7.3","@contractspec/module.learning-journey":"3.7.3"},"publishConfig":{"access":"public","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"},"./learning-journey-duo-drills.feature":{"bun":"./dist/learning-journey-duo-drills.feature.js","node":"./dist/node/learning-journey-duo-drills.feature.js","types":"./dist/learning-journey-duo-drills.feature.d.ts","browser":"./dist/browser/learning-journey-duo-drills.feature.js","default":"./dist/learning-journey-duo-drills.feature.js"}},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@contractspec/tool.bun":"3.7.3","@contractspec/tool.typescript":"3.7.3"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_3.7.3_1773935627315_0.9435311931149839","host":"s3://npm-registry-packages-npm-production"}},"3.7.4":{"name":"@contractspec/example.learning-journey-duo-drills","version":"3.7.4","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@3.7.4","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","bugs":{"url":"https://github.com/lssm-tech/contractspec/issues"},"dist":{"shasum":"0da81d48ab9088f1ce93864ba91be383f74f4a40","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-3.7.4.tgz","fileCount":42,"integrity":"sha512-i0q9agOvPiS4jmUhuGSXmoWOeTNwpK78GQQHff9TZ6taNSSGVO09lCBZv09ahvI1lqdyO09l8i4FUR9vdQbAig==","signatures":[{"sig":"MEQCIHdi0sEH2/sFrin1TgCZcDnwDXcUAXaLyQU9gyydhcZwAiAFJg5LXKIS3wDV47FM77gq0mnwrYJObxDm0Cuj+kNj7g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@contractspec%2fexample.learning-journey-duo-drills@3.7.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":70745},"type":"module","_from":"file:/tmp/contractspec-release-stable/tarballs/contractspec-example.learning-journey-duo-drills-3.7.4.tgz","types":"./dist/index.d.ts","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"},"./learning-journey-duo-drills.feature":{"bun":"./dist/learning-journey-duo-drills.feature.js","node":"./dist/node/learning-journey-duo-drills.feature.js","types":"./dist/learning-journey-duo-drills.feature.d.ts","browser":"./dist/browser/learning-journey-duo-drills.feature.js","default":"./dist/learning-journey-duo-drills.feature.js"}},"scripts":{"dev":"contractspec-bun-build dev","lint":"bun lint:fix","test":"bun test","build":"bun run prebuild && bun run build:bundle && bun run build:types","clean":"rimraf dist .turbo","lint:fix":"eslint src --fix","prebuild":"contractspec-bun-build prebuild","typecheck":"tsc --noEmit","lint:check":"eslint src","build:types":"contractspec-bun-build types","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"contractspec-bun-build transpile","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_resolved":"/tmp/contractspec-release-stable/tarballs/contractspec-example.learning-journey-duo-drills-3.7.4.tgz","_integrity":"sha512-i0q9agOvPiS4jmUhuGSXmoWOeTNwpK78GQQHff9TZ6taNSSGVO09lCBZv09ahvI1lqdyO09l8i4FUR9vdQbAig==","repository":{"url":"git+https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.9.4","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"@contractspec/lib.contracts-spec":"3.7.4","@contractspec/module.learning-journey":"3.7.4"},"publishConfig":{"access":"public","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"},"./learning-journey-duo-drills.feature":{"bun":"./dist/learning-journey-duo-drills.feature.js","node":"./dist/node/learning-journey-duo-drills.feature.js","types":"./dist/learning-journey-duo-drills.feature.d.ts","browser":"./dist/browser/learning-journey-duo-drills.feature.js","default":"./dist/learning-journey-duo-drills.feature.js"}},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@contractspec/tool.bun":"3.7.4","@contractspec/tool.typescript":"3.7.4"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_3.7.4_1773937342794_0.7791135036662364","host":"s3://npm-registry-packages-npm-production"}},"3.7.5":{"name":"@contractspec/example.learning-journey-duo-drills","version":"3.7.5","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@3.7.5","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","bugs":{"url":"https://github.com/lssm-tech/contractspec/issues"},"dist":{"shasum":"1ffae8e59ae3e94db844db3e9e31e794232296a0","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-3.7.5.tgz","fileCount":42,"integrity":"sha512-a0xuYo++GW5VJqfc/OE22Siqwkp/wx+5DTYXwPM+RlaVFiBfslAu7vUDUNH/oReHW+tWDlBsltMEwQNcbMbwTw==","signatures":[{"sig":"MEUCID+dwzgcfpjwtGxbkItjTRhh9Y1Wh1063IlT4GeRB+AKAiEAyb76R/+kZ7NK+t3mdYMUH5sntY8vxjIwYS6chZmkXdk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@contractspec%2fexample.learning-journey-duo-drills@3.7.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":70932},"type":"module","_from":"file:/tmp/contractspec-release-stable/tarballs/contractspec-example.learning-journey-duo-drills-3.7.5.tgz","types":"./dist/index.d.ts","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"},"./learning-journey-duo-drills.feature":{"bun":"./dist/learning-journey-duo-drills.feature.js","node":"./dist/node/learning-journey-duo-drills.feature.js","types":"./dist/learning-journey-duo-drills.feature.d.ts","browser":"./dist/browser/learning-journey-duo-drills.feature.js","default":"./dist/learning-journey-duo-drills.feature.js"}},"scripts":{"dev":"contractspec-bun-build dev","lint":"bun lint:fix","test":"bun test","build":"bun run prebuild && bun run build:bundle && bun run build:types","clean":"rimraf dist .turbo","lint:fix":"eslint src --fix","prebuild":"contractspec-bun-build prebuild","typecheck":"tsc --noEmit","lint:check":"eslint src","build:types":"contractspec-bun-build types","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"contractspec-bun-build transpile","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_resolved":"/tmp/contractspec-release-stable/tarballs/contractspec-example.learning-journey-duo-drills-3.7.5.tgz","_integrity":"sha512-a0xuYo++GW5VJqfc/OE22Siqwkp/wx+5DTYXwPM+RlaVFiBfslAu7vUDUNH/oReHW+tWDlBsltMEwQNcbMbwTw==","repository":{"url":"git+https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.9.4","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"@contractspec/lib.contracts-spec":"3.7.5","@contractspec/module.learning-journey":"3.7.5"},"publishConfig":{"access":"public","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"},"./learning-journey-duo-drills.feature":{"bun":"./dist/learning-journey-duo-drills.feature.js","node":"./dist/node/learning-journey-duo-drills.feature.js","types":"./dist/learning-journey-duo-drills.feature.d.ts","browser":"./dist/browser/learning-journey-duo-drills.feature.js","default":"./dist/learning-journey-duo-drills.feature.js"}},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@contractspec/tool.bun":"3.7.5","@contractspec/tool.typescript":"3.7.5"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_3.7.5_1773953985078_0.8493131889769574","host":"s3://npm-registry-packages-npm-production"}},"3.7.6":{"name":"@contractspec/example.learning-journey-duo-drills","version":"3.7.6","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@3.7.6","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","bugs":{"url":"https://github.com/lssm-tech/contractspec/issues"},"dist":{"shasum":"9de1327c02d937451dee4ef95664556f1f61c318","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-3.7.6.tgz","fileCount":42,"integrity":"sha512-prlnnOgwvOTlH8wue8MmB+s8sM62vMAC5vt90jEzj5WT8DYZCLvuYUVTHGZiomxV7u63GIUSzH6gowkz1W66Kw==","signatures":[{"sig":"MEYCIQCDod78MPzxWMgt/XbVx3QGcIX3/xISRsKXaPBgheoFvgIhANTtsSs/GM7KmHbn5zvHUK+Ims1erfS6AERu5oPLLqQJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@contractspec%2fexample.learning-journey-duo-drills@3.7.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":71100},"type":"module","_from":"file:/tmp/contractspec-release-stable/tarballs/contractspec-example.learning-journey-duo-drills-3.7.6.tgz","types":"./dist/index.d.ts","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"},"./learning-journey-duo-drills.feature":{"bun":"./dist/learning-journey-duo-drills.feature.js","node":"./dist/node/learning-journey-duo-drills.feature.js","types":"./dist/learning-journey-duo-drills.feature.d.ts","browser":"./dist/browser/learning-journey-duo-drills.feature.js","default":"./dist/learning-journey-duo-drills.feature.js"}},"scripts":{"dev":"contractspec-bun-build dev","lint":"bun lint:fix","test":"bun test","build":"bun run prebuild && bun run build:bundle && bun run build:types","clean":"rimraf dist .turbo","lint:fix":"eslint src --fix","prebuild":"contractspec-bun-build prebuild","typecheck":"tsc --noEmit","lint:check":"eslint src","build:types":"contractspec-bun-build types","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"contractspec-bun-build transpile","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_resolved":"/tmp/contractspec-release-stable/tarballs/contractspec-example.learning-journey-duo-drills-3.7.6.tgz","_integrity":"sha512-prlnnOgwvOTlH8wue8MmB+s8sM62vMAC5vt90jEzj5WT8DYZCLvuYUVTHGZiomxV7u63GIUSzH6gowkz1W66Kw==","repository":{"url":"git+https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.9.4","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"@contractspec/lib.contracts-spec":"3.7.6","@contractspec/module.learning-journey":"3.7.6"},"publishConfig":{"access":"public","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"},"./learning-journey-duo-drills.feature":{"bun":"./dist/learning-journey-duo-drills.feature.js","node":"./dist/node/learning-journey-duo-drills.feature.js","types":"./dist/learning-journey-duo-drills.feature.d.ts","browser":"./dist/browser/learning-journey-duo-drills.feature.js","default":"./dist/learning-journey-duo-drills.feature.js"}},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@contractspec/tool.bun":"3.7.6","@contractspec/tool.typescript":"3.7.6"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_3.7.6_1773968011263_0.5605297249112811","host":"s3://npm-registry-packages-npm-production"}},"3.7.7":{"name":"@contractspec/example.learning-journey-duo-drills","version":"3.7.7","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@3.7.7","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","bugs":{"url":"https://github.com/lssm-tech/contractspec/issues"},"dist":{"shasum":"263c4acead428a276f65f2430de1babd27d98fff","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-3.7.7.tgz","fileCount":42,"integrity":"sha512-9wZmwaRmniYAHNZAyMpbFKg8DyauIQ+7AyRUANJkQWo9ees1uT7fIv1V0Jc9URrUqpKI1HLxOoa09DVqdBCjAg==","signatures":[{"sig":"MEYCIQCc84jPthVjKDNv7/TJuHCFIr/rqwlaApDw2VEDPBkQRgIhAIjLlpTrWhHaKWP2+bHVz9Ng53h/3yiINYrUaVuOxrw/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@contractspec%2fexample.learning-journey-duo-drills@3.7.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":73900},"type":"module","_from":"file:/tmp/contractspec-release-stable/tarballs/contractspec-example.learning-journey-duo-drills-3.7.7.tgz","types":"./dist/index.d.ts","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"},"./learning-journey-duo-drills.feature":{"bun":"./dist/learning-journey-duo-drills.feature.js","node":"./dist/node/learning-journey-duo-drills.feature.js","types":"./dist/learning-journey-duo-drills.feature.d.ts","browser":"./dist/browser/learning-journey-duo-drills.feature.js","default":"./dist/learning-journey-duo-drills.feature.js"}},"scripts":{"dev":"contractspec-bun-build dev","lint":"bun lint:fix","test":"bun test","build":"bun run prebuild && bun run build:bundle && bun run build:types","clean":"rimraf dist .turbo","lint:fix":"biome check --write --unsafe --only=nursery/useSortedClasses . && biome check --write .","prebuild":"contractspec-bun-build prebuild","typecheck":"tsc --noEmit","lint:check":"biome check .","build:types":"contractspec-bun-build types","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"contractspec-bun-build transpile","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_resolved":"/tmp/contractspec-release-stable/tarballs/contractspec-example.learning-journey-duo-drills-3.7.7.tgz","_integrity":"sha512-9wZmwaRmniYAHNZAyMpbFKg8DyauIQ+7AyRUANJkQWo9ees1uT7fIv1V0Jc9URrUqpKI1HLxOoa09DVqdBCjAg==","repository":{"url":"git+https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.9.4","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"@contractspec/lib.contracts-spec":"4.0.0","@contractspec/module.learning-journey":"3.7.7"},"publishConfig":{"access":"public","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"},"./learning-journey-duo-drills.feature":{"bun":"./dist/learning-journey-duo-drills.feature.js","node":"./dist/node/learning-journey-duo-drills.feature.js","types":"./dist/learning-journey-duo-drills.feature.d.ts","browser":"./dist/browser/learning-journey-duo-drills.feature.js","default":"./dist/learning-journey-duo-drills.feature.js"}},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@contractspec/tool.bun":"3.7.6","@contractspec/tool.typescript":"3.7.6"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_3.7.7_1774004519226_0.13137161243879492","host":"s3://npm-registry-packages-npm-production"}},"3.7.10":{"name":"@contractspec/example.learning-journey-duo-drills","version":"3.7.10","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@3.7.10","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","bugs":{"url":"https://github.com/lssm-tech/contractspec/issues"},"dist":{"shasum":"fdbd0fd82e61141f5d86d38e25dbeb5da1e5fc76","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-3.7.10.tgz","fileCount":42,"integrity":"sha512-1ntpMrI0iAGZAJvmpAQKYDbde4dV97wymaR0BuIWG0vwId3FiRu4Q+8S17VCohhCYsQrwjAc3NVi1KRnYEJveg==","signatures":[{"sig":"MEUCIQDFckYoh4t9WD8iE3QofbpdVIKmE+Ud1punGEBRnWMq6wIgSIXKSJgggJPe9floEvRM5NN6pDEfcJYKCPMoLrGPMnU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@contractspec%2fexample.learning-journey-duo-drills@3.7.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":74293},"type":"module","_from":"file:/tmp/contractspec-release-stable/tarballs/contractspec-example.learning-journey-duo-drills-3.7.10.tgz","types":"./dist/index.d.ts","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"},"./learning-journey-duo-drills.feature":{"bun":"./dist/learning-journey-duo-drills.feature.js","node":"./dist/node/learning-journey-duo-drills.feature.js","types":"./dist/learning-journey-duo-drills.feature.d.ts","browser":"./dist/browser/learning-journey-duo-drills.feature.js","default":"./dist/learning-journey-duo-drills.feature.js"}},"scripts":{"dev":"contractspec-bun-build dev","lint":"bun lint:fix","test":"bun test","build":"bun run prebuild && bun run build:bundle && bun run build:types","clean":"rimraf dist .turbo","lint:fix":"biome check --write --unsafe --only=nursery/useSortedClasses . && biome check --write .","prebuild":"contractspec-bun-build prebuild","typecheck":"tsc --noEmit","lint:check":"biome check .","build:types":"contractspec-bun-build types","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"contractspec-bun-build transpile","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_resolved":"/tmp/contractspec-release-stable/tarballs/contractspec-example.learning-journey-duo-drills-3.7.10.tgz","_integrity":"sha512-1ntpMrI0iAGZAJvmpAQKYDbde4dV97wymaR0BuIWG0vwId3FiRu4Q+8S17VCohhCYsQrwjAc3NVi1KRnYEJveg==","repository":{"url":"git+https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.9.4","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"@contractspec/lib.contracts-spec":"4.1.2","@contractspec/module.learning-journey":"3.7.10"},"publishConfig":{"access":"public","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"},"./learning-journey-duo-drills.feature":{"bun":"./dist/learning-journey-duo-drills.feature.js","node":"./dist/node/learning-journey-duo-drills.feature.js","types":"./dist/learning-journey-duo-drills.feature.d.ts","browser":"./dist/browser/learning-journey-duo-drills.feature.js","default":"./dist/learning-journey-duo-drills.feature.js"}},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@contractspec/tool.bun":"3.7.8","@contractspec/tool.typescript":"3.7.8"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_3.7.10_1774041117858_0.5491646680669284","host":"s3://npm-registry-packages-npm-production"}},"3.7.12":{"name":"@contractspec/example.learning-journey-duo-drills","version":"3.7.12","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@3.7.12","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","bugs":{"url":"https://github.com/lssm-tech/contractspec/issues"},"dist":{"shasum":"8617e72dae08748c38a99d64a0b1c858860d532d","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-3.7.12.tgz","fileCount":42,"integrity":"sha512-NPFKeZWd2qMrDNYsz3iq/QNY4UErIOb+hrO4Gr6G4QbhlVEi1ZZnW3ISp6rwZ6HCkfNeM2rLEGzhwFB7TAmFyw==","signatures":[{"sig":"MEQCIGY3z7BTlpwX0rUhOrdM+Dm316DE+FvaIS15Pc3OCQz1AiAsWVeeSc//29YkQyO7G9vjP2CMnBqbj1WqPkallXbY1Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@contractspec%2fexample.learning-journey-duo-drills@3.7.12","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":74742},"type":"module","_from":"file:/tmp/contractspec-release-stable/tarballs/contractspec-example.learning-journey-duo-drills-3.7.12.tgz","types":"./dist/index.d.ts","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"},"./learning-journey-duo-drills.feature":{"bun":"./dist/learning-journey-duo-drills.feature.js","node":"./dist/node/learning-journey-duo-drills.feature.js","types":"./dist/learning-journey-duo-drills.feature.d.ts","browser":"./dist/browser/learning-journey-duo-drills.feature.js","default":"./dist/learning-journey-duo-drills.feature.js"}},"scripts":{"dev":"contractspec-bun-build dev","lint":"bun lint:fix","test":"bun test","build":"bun run prebuild && bun run build:bundle && bun run build:types","clean":"rimraf dist .turbo","lint:fix":"biome check --write --unsafe --only=nursery/useSortedClasses . && biome check --write .","prebuild":"contractspec-bun-build prebuild","typecheck":"tsc --noEmit","lint:check":"biome check .","build:types":"contractspec-bun-build types","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"contractspec-bun-build transpile","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_resolved":"/tmp/contractspec-release-stable/tarballs/contractspec-example.learning-journey-duo-drills-3.7.12.tgz","_integrity":"sha512-NPFKeZWd2qMrDNYsz3iq/QNY4UErIOb+hrO4Gr6G4QbhlVEi1ZZnW3ISp6rwZ6HCkfNeM2rLEGzhwFB7TAmFyw==","repository":{"url":"git+https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.9.4","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"@contractspec/lib.contracts-spec":"5.0.0","@contractspec/module.learning-journey":"3.7.12"},"publishConfig":{"access":"public","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"},"./learning-journey-duo-drills.feature":{"bun":"./dist/learning-journey-duo-drills.feature.js","node":"./dist/node/learning-journey-duo-drills.feature.js","types":"./dist/learning-journey-duo-drills.feature.d.ts","browser":"./dist/browser/learning-journey-duo-drills.feature.js","default":"./dist/learning-journey-duo-drills.feature.js"}},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@contractspec/tool.bun":"3.7.9","@contractspec/tool.typescript":"3.7.9"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_3.7.12_1774227024894_0.42878723351181325","host":"s3://npm-registry-packages-npm-production"}},"3.7.14":{"name":"@contractspec/example.learning-journey-duo-drills","version":"3.7.14","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@3.7.14","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","bugs":{"url":"https://github.com/lssm-tech/contractspec/issues"},"dist":{"shasum":"88c96f54eaf5a73cc27ae6cc7ec5343712dde9ed","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-3.7.14.tgz","fileCount":42,"integrity":"sha512-q9FPZTWBHzaIL6ahBSc5UCNODuW+ajF4Gixq3Vtw+hzJWLb9sUVLAN9P9xne32y1/RomsNG/ExH/nJouRnDMbw==","signatures":[{"sig":"MEYCIQC5T8J9Pq2HZ20yV1NpgryDGAXFo79EY40O2G2wRYDShAIhAISNxWSeAIb8m7Irfo3mzhjgOHHTQAXPv44t/gviCoLi","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@contractspec%2fexample.learning-journey-duo-drills@3.7.14","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":75108},"type":"module","_from":"file:/tmp/contractspec-release-stable/tarballs/contractspec-example.learning-journey-duo-drills-3.7.14.tgz","types":"./dist/index.d.ts","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"},"./learning-journey-duo-drills.feature":{"bun":"./dist/learning-journey-duo-drills.feature.js","node":"./dist/node/learning-journey-duo-drills.feature.js","types":"./dist/learning-journey-duo-drills.feature.d.ts","browser":"./dist/browser/learning-journey-duo-drills.feature.js","default":"./dist/learning-journey-duo-drills.feature.js"}},"scripts":{"dev":"contractspec-bun-build dev","lint":"bun lint:fix","test":"bun test","build":"bun run prebuild && bun run build:bundle && bun run build:types","clean":"rimraf dist .turbo","lint:fix":"biome check --write --unsafe --only=nursery/useSortedClasses . && biome check --write .","prebuild":"contractspec-bun-build prebuild","typecheck":"tsc --noEmit","lint:check":"biome check .","build:types":"contractspec-bun-build types","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"contractspec-bun-build transpile","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_resolved":"/tmp/contractspec-release-stable/tarballs/contractspec-example.learning-journey-duo-drills-3.7.14.tgz","_integrity":"sha512-q9FPZTWBHzaIL6ahBSc5UCNODuW+ajF4Gixq3Vtw+hzJWLb9sUVLAN9P9xne32y1/RomsNG/ExH/nJouRnDMbw==","repository":{"url":"git+https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.9.4","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"@contractspec/lib.contracts-spec":"5.0.2","@contractspec/module.learning-journey":"3.7.13"},"publishConfig":{"access":"public","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"},"./learning-journey-duo-drills.feature":{"bun":"./dist/learning-journey-duo-drills.feature.js","node":"./dist/node/learning-journey-duo-drills.feature.js","types":"./dist/learning-journey-duo-drills.feature.d.ts","browser":"./dist/browser/learning-journey-duo-drills.feature.js","default":"./dist/learning-journey-duo-drills.feature.js"}},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@contractspec/tool.bun":"3.7.10","@contractspec/tool.typescript":"3.7.10"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_3.7.14_1774351233527_0.013336241341225685","host":"s3://npm-registry-packages-npm-production"}},"3.7.15":{"name":"@contractspec/example.learning-journey-duo-drills","version":"3.7.15","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@3.7.15","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","bugs":{"url":"https://github.com/lssm-tech/contractspec/issues"},"dist":{"shasum":"85256ebd820d3095007739ed3e53b50a865bb386","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-3.7.15.tgz","fileCount":42,"integrity":"sha512-dTNWYT4gpxSlY3OITwoah9gaAJRJZXDf/5mhp3zz7hkVSPESJ9wL638gHlpEKOWUoRDIuIp+kf1sl2qzINM6Aw==","signatures":[{"sig":"MEUCIF6WrmyLLqc/YRrk9nYY7U/q4xzTpTB/o9RT/8J0J6ACAiEAxK9+fU8XWKw7syJhb6q4vzISALGHMHQVIanqDAI4VBc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@contractspec%2fexample.learning-journey-duo-drills@3.7.15","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":75991},"type":"module","_from":"file:/tmp/contractspec-release-stable/tarballs/contractspec-example.learning-journey-duo-drills-3.7.15.tgz","types":"./dist/index.d.ts","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"},"./learning-journey-duo-drills.feature":{"bun":"./dist/learning-journey-duo-drills.feature.js","node":"./dist/node/learning-journey-duo-drills.feature.js","types":"./dist/learning-journey-duo-drills.feature.d.ts","browser":"./dist/browser/learning-journey-duo-drills.feature.js","default":"./dist/learning-journey-duo-drills.feature.js"}},"scripts":{"dev":"contractspec-bun-build dev","lint":"bun lint:fix","test":"bun test","build":"bun run prebuild && bun run build:bundle && bun run build:types","clean":"rimraf dist .turbo","lint:fix":"biome check --write --unsafe --only=nursery/useSortedClasses . && biome check --write .","prebuild":"contractspec-bun-build prebuild","typecheck":"tsc --noEmit","lint:check":"biome check .","build:types":"contractspec-bun-build types","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"contractspec-bun-build transpile","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_resolved":"/tmp/contractspec-release-stable/tarballs/contractspec-example.learning-journey-duo-drills-3.7.15.tgz","_integrity":"sha512-dTNWYT4gpxSlY3OITwoah9gaAJRJZXDf/5mhp3zz7hkVSPESJ9wL638gHlpEKOWUoRDIuIp+kf1sl2qzINM6Aw==","repository":{"url":"git+https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.9.4","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"@contractspec/lib.contracts-spec":"5.0.3","@contractspec/module.learning-journey":"3.7.14"},"publishConfig":{"access":"public","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"},"./learning-journey-duo-drills.feature":{"bun":"./dist/learning-journey-duo-drills.feature.js","node":"./dist/node/learning-journey-duo-drills.feature.js","types":"./dist/learning-journey-duo-drills.feature.d.ts","browser":"./dist/browser/learning-journey-duo-drills.feature.js","default":"./dist/learning-journey-duo-drills.feature.js"}},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@contractspec/tool.bun":"3.7.11","@contractspec/tool.typescript":"3.7.11"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_3.7.15_1774536051513_0.06307818552557598","host":"s3://npm-registry-packages-npm-production"}},"3.7.16":{"name":"@contractspec/example.learning-journey-duo-drills","version":"3.7.16","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@3.7.16","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","bugs":{"url":"https://github.com/lssm-tech/contractspec/issues"},"dist":{"shasum":"2eec04b9c77825b7ccb1890aeebb677359294b19","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-3.7.16.tgz","fileCount":41,"integrity":"sha512-1zgNGcfxlnzoBxdXie/pINoSc5WVQnTy3wgaX6mx7GS9XCUV4R+Fz+pB8TFcxKWuoKt28GydqFP28AI8RnFNXw==","signatures":[{"sig":"MEUCIQDvBc7kfWopcdGlH2RhUhS2Gjp5SReUHHD4O6FKJRrGFQIgJyz2mMYzjU3LNmDB9WKrbxHmq3rM2LwUy8JEKlpSx4k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@contractspec%2fexample.learning-journey-duo-drills@3.7.16","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":76103},"type":"module","_from":"file:/tmp/contractspec-release-stable/tarballs/contractspec-example.learning-journey-duo-drills-3.7.16.tgz","types":"./dist/index.d.ts","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"},"./learning-journey-duo-drills.feature":{"bun":"./dist/learning-journey-duo-drills.feature.js","node":"./dist/node/learning-journey-duo-drills.feature.js","types":"./dist/learning-journey-duo-drills.feature.d.ts","browser":"./dist/browser/learning-journey-duo-drills.feature.js","default":"./dist/learning-journey-duo-drills.feature.js"}},"scripts":{"dev":"contractspec-bun-build dev","lint":"bun lint:fix","test":"bun test","build":"bun run build:bundle && bun run build:types","clean":"rimraf dist .turbo","lint:fix":"biome check --write --unsafe --only=nursery/useSortedClasses . && biome check --write .","prebuild":"contractspec-bun-build prebuild","typecheck":"tsc --noEmit","lint:check":"biome check .","build:types":"contractspec-bun-build types","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"contractspec-bun-build transpile","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_resolved":"/tmp/contractspec-release-stable/tarballs/contractspec-example.learning-journey-duo-drills-3.7.16.tgz","_integrity":"sha512-1zgNGcfxlnzoBxdXie/pINoSc5WVQnTy3wgaX6mx7GS9XCUV4R+Fz+pB8TFcxKWuoKt28GydqFP28AI8RnFNXw==","repository":{"url":"git+https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.9.4","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"@contractspec/lib.contracts-spec":"5.0.4","@contractspec/module.learning-journey":"3.7.15"},"publishConfig":{"access":"public","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"},"./learning-journey-duo-drills.feature":{"bun":"./dist/learning-journey-duo-drills.feature.js","node":"./dist/node/learning-journey-duo-drills.feature.js","types":"./dist/learning-journey-duo-drills.feature.d.ts","browser":"./dist/browser/learning-journey-duo-drills.feature.js","default":"./dist/learning-journey-duo-drills.feature.js"}},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@contractspec/tool.bun":"3.7.12","@contractspec/tool.typescript":"3.7.12"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_3.7.16_1774604014684_0.019709539407082755","host":"s3://npm-registry-packages-npm-production"}},"3.7.17":{"name":"@contractspec/example.learning-journey-duo-drills","version":"3.7.17","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@3.7.17","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","bugs":{"url":"https://github.com/lssm-tech/contractspec/issues"},"dist":{"shasum":"6ce134d0978148a185d0923906ea5c88a8a9bffb","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-3.7.17.tgz","fileCount":41,"integrity":"sha512-v9CrBat9pu4igtoUqJpguyyX2K0wYcKbVPA+cpugm0U+9WYShKz8Ktmu+YchDT8IB5lxqZZJvwaCaJNXsjC/Tw==","signatures":[{"sig":"MEYCIQCjeuQCdmvCpTLCzrcviuyP0ZxloZq+6BPP2YrJJPYEyQIhAIxooe3hwmjAlt8QBeHeqdxmwrqKDpvytKbuYitEjBhi","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@contractspec%2fexample.learning-journey-duo-drills@3.7.17","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":76828},"type":"module","_from":"file:/tmp/contractspec-release-stable/tarballs/contractspec-example.learning-journey-duo-drills-3.7.17.tgz","types":"./dist/index.d.ts","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"},"./learning-journey-duo-drills.feature":{"bun":"./dist/learning-journey-duo-drills.feature.js","node":"./dist/node/learning-journey-duo-drills.feature.js","types":"./dist/learning-journey-duo-drills.feature.d.ts","browser":"./dist/browser/learning-journey-duo-drills.feature.js","default":"./dist/learning-journey-duo-drills.feature.js"}},"scripts":{"dev":"contractspec-bun-build dev","lint":"bun lint:fix","test":"bun test","build":"bun run build:bundle && bun run build:types","clean":"rimraf dist .turbo","lint:fix":"biome check --write --unsafe --only=nursery/useSortedClasses . && biome check --write .","prebuild":"contractspec-bun-build prebuild","typecheck":"tsc --noEmit","lint:check":"biome check .","build:types":"contractspec-bun-build types","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"contractspec-bun-build transpile","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_resolved":"/tmp/contractspec-release-stable/tarballs/contractspec-example.learning-journey-duo-drills-3.7.17.tgz","_integrity":"sha512-v9CrBat9pu4igtoUqJpguyyX2K0wYcKbVPA+cpugm0U+9WYShKz8Ktmu+YchDT8IB5lxqZZJvwaCaJNXsjC/Tw==","repository":{"url":"git+https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.9.4","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"@contractspec/lib.contracts-spec":"5.1.0","@contractspec/module.learning-journey":"3.7.16"},"publishConfig":{"access":"public","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"},"./learning-journey-duo-drills.feature":{"bun":"./dist/learning-journey-duo-drills.feature.js","node":"./dist/node/learning-journey-duo-drills.feature.js","types":"./dist/learning-journey-duo-drills.feature.d.ts","browser":"./dist/browser/learning-journey-duo-drills.feature.js","default":"./dist/learning-journey-duo-drills.feature.js"}},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@contractspec/tool.bun":"3.7.13","@contractspec/tool.typescript":"3.7.13"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_3.7.17_1774685592040_0.4420524724645376","host":"s3://npm-registry-packages-npm-production"}},"3.7.18":{"name":"@contractspec/example.learning-journey-duo-drills","version":"3.7.18","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@3.7.18","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","bugs":{"url":"https://github.com/lssm-tech/contractspec/issues"},"dist":{"shasum":"fb0344d860d0557855405f9eef61e1ed8d047e90","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-3.7.18.tgz","fileCount":41,"integrity":"sha512-Op6vCiVo5J5ZFdd6FRiVZZCgOPiWwWUMUtwpOEco5BfAA2hzAvQsO1nGJbRefiEI30dGB7dO9s+xymdZK9k2SQ==","signatures":[{"sig":"MEUCIHzBgptDPrX9mjy+weRxvGuScEX0Z99PXMO1nzU/dgE8AiEA73NaOm0x4eRU7gEFufX7IB0r68+TC8nZZ7zfyfZtOZU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@contractspec%2fexample.learning-journey-duo-drills@3.7.18","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":70729},"type":"module","_from":"file:/tmp/contractspec-release-stable/tarballs/contractspec-example.learning-journey-duo-drills-3.7.18.tgz","types":"./dist/index.d.ts","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"},"./learning-journey-duo-drills.feature":{"bun":"./dist/learning-journey-duo-drills.feature.js","node":"./dist/node/learning-journey-duo-drills.feature.js","types":"./dist/learning-journey-duo-drills.feature.d.ts","browser":"./dist/browser/learning-journey-duo-drills.feature.js","default":"./dist/learning-journey-duo-drills.feature.js"}},"scripts":{"dev":"contractspec-bun-build dev","lint":"bun lint:fix","test":"bun test","build":"bun run build:bundle && bun run build:types","clean":"rimraf dist .turbo","lint:fix":"node ../../../scripts/biome.cjs check --write --unsafe --only=nursery/useSortedClasses . && node ../../../scripts/biome.cjs check --write .","prebuild":"contractspec-bun-build prebuild","typecheck":"tsc --noEmit","lint:check":"node ../../../scripts/biome.cjs check .","build:types":"contractspec-bun-build types","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"contractspec-bun-build transpile","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_resolved":"/tmp/contractspec-release-stable/tarballs/contractspec-example.learning-journey-duo-drills-3.7.18.tgz","_integrity":"sha512-Op6vCiVo5J5ZFdd6FRiVZZCgOPiWwWUMUtwpOEco5BfAA2hzAvQsO1nGJbRefiEI30dGB7dO9s+xymdZK9k2SQ==","repository":{"url":"git+https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.9.7","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"@contractspec/lib.contracts-spec":"5.2.0","@contractspec/module.learning-journey":"3.7.17"},"publishConfig":{"access":"public","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"},"./learning-journey-duo-drills.feature":{"bun":"./dist/learning-journey-duo-drills.feature.js","node":"./dist/node/learning-journey-duo-drills.feature.js","types":"./dist/learning-journey-duo-drills.feature.d.ts","browser":"./dist/browser/learning-journey-duo-drills.feature.js","default":"./dist/learning-journey-duo-drills.feature.js"}},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@contractspec/tool.bun":"3.7.14","@contractspec/tool.typescript":"3.7.13"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_3.7.18_1775824850954_0.3882724077237103","host":"s3://npm-registry-packages-npm-production"}},"3.7.19":{"name":"@contractspec/example.learning-journey-duo-drills","version":"3.7.19","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@3.7.19","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","bugs":{"url":"https://github.com/lssm-tech/contractspec/issues"},"dist":{"shasum":"6f93f45302fca5322304d327fe0e9f455b51f953","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-3.7.19.tgz","fileCount":41,"integrity":"sha512-a0N+z9GzrRqw58dDnHzOkH/8qNeW48G6gDDnirR64fMcI5MUNPnJTSRFT+T4NtePsKEZ+MqabO2DQtryTI54Bw==","signatures":[{"sig":"MEQCIAan9mkgxbuY/LCyCZfk4Cf/M3uvOJ5yaaD76vmBhaTQAiAGZU3k4qhL4GIzIm/EIDZvQvMgu8BllPdNfAzahyaHrg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@contractspec%2fexample.learning-journey-duo-drills@3.7.19","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":71085},"type":"module","_from":"file:/tmp/contractspec-release-stable/tarballs/contractspec-example.learning-journey-duo-drills-3.7.19.tgz","types":"./dist/index.d.ts","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"},"./learning-journey-duo-drills.feature":{"bun":"./dist/learning-journey-duo-drills.feature.js","node":"./dist/node/learning-journey-duo-drills.feature.js","types":"./dist/learning-journey-duo-drills.feature.d.ts","browser":"./dist/browser/learning-journey-duo-drills.feature.js","default":"./dist/learning-journey-duo-drills.feature.js"}},"scripts":{"dev":"contractspec-bun-build dev","lint":"bun lint:fix","test":"bun test","build":"bun run build:bundle && bun run build:types","clean":"rimraf dist .turbo","lint:fix":"node ../../../scripts/biome.cjs check --write --unsafe --only=nursery/useSortedClasses . && node ../../../scripts/biome.cjs check --write .","prebuild":"contractspec-bun-build prebuild","typecheck":"tsc --noEmit","lint:check":"node ../../../scripts/biome.cjs check .","build:types":"contractspec-bun-build types","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"contractspec-bun-build transpile","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_resolved":"/tmp/contractspec-release-stable/tarballs/contractspec-example.learning-journey-duo-drills-3.7.19.tgz","_integrity":"sha512-a0N+z9GzrRqw58dDnHzOkH/8qNeW48G6gDDnirR64fMcI5MUNPnJTSRFT+T4NtePsKEZ+MqabO2DQtryTI54Bw==","repository":{"url":"git+https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.9.7","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"@contractspec/lib.contracts-spec":"5.3.0","@contractspec/module.learning-journey":"3.7.18"},"publishConfig":{"access":"public","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"},"./learning-journey-duo-drills.feature":{"bun":"./dist/learning-journey-duo-drills.feature.js","node":"./dist/node/learning-journey-duo-drills.feature.js","types":"./dist/learning-journey-duo-drills.feature.d.ts","browser":"./dist/browser/learning-journey-duo-drills.feature.js","default":"./dist/learning-journey-duo-drills.feature.js"}},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@contractspec/tool.bun":"3.7.14","@contractspec/tool.typescript":"3.7.13"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_3.7.19_1776119737764_0.9912396913178578","host":"s3://npm-registry-packages-npm-production"}},"4.0.0":{"name":"@contractspec/example.learning-journey-duo-drills","version":"4.0.0","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@4.0.0","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","bugs":{"url":"https://github.com/lssm-tech/contractspec/issues"},"dist":{"shasum":"c2b143127842a5f869d9c6c3abebb8d5365a667b","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-4.0.0.tgz","fileCount":41,"integrity":"sha512-I2sAA4Wh4a7Xuwv9wLackeuZJA+6j5M07yITO+9WW9Ouur6ioWOAUiMzP3WtDeWlHPiTA4Kr/g4FM9qSCEL6ng==","signatures":[{"sig":"MEYCIQCzQw4+7Wsp8MrPk9hnDaw92PKVeUzm5seroCdji4qbygIhANsbCVxJkcNrQ1ZffeObtEXyKhuEVYizv/vAFw85RG/d","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@contractspec%2fexample.learning-journey-duo-drills@4.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":75553},"type":"module","_from":"file:/tmp/contractspec-release-stable/tarballs/contractspec-example.learning-journey-duo-drills-4.0.0.tgz","types":"./dist/index.d.ts","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"},"./learning-journey-duo-drills.feature":{"bun":"./dist/learning-journey-duo-drills.feature.js","node":"./dist/node/learning-journey-duo-drills.feature.js","types":"./dist/learning-journey-duo-drills.feature.d.ts","browser":"./dist/browser/learning-journey-duo-drills.feature.js","default":"./dist/learning-journey-duo-drills.feature.js"}},"scripts":{"dev":"contractspec-bun-build dev","lint":"bun lint:fix","test":"bun test","build":"bun run build:bundle && bun run build:types","clean":"rimraf dist .turbo","lint:fix":"node ../../../scripts/biome.cjs check --write --unsafe --only=nursery/useSortedClasses . && node ../../../scripts/biome.cjs check --write .","prebuild":"contractspec-bun-build prebuild","typecheck":"tsc --noEmit","lint:check":"node ../../../scripts/biome.cjs check .","build:types":"contractspec-bun-build types","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"contractspec-bun-build transpile","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_resolved":"/tmp/contractspec-release-stable/tarballs/contractspec-example.learning-journey-duo-drills-4.0.0.tgz","_integrity":"sha512-I2sAA4Wh4a7Xuwv9wLackeuZJA+6j5M07yITO+9WW9Ouur6ioWOAUiMzP3WtDeWlHPiTA4Kr/g4FM9qSCEL6ng==","repository":{"url":"git+https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.9.7","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"@contractspec/lib.contracts-spec":"5.4.0","@contractspec/module.learning-journey":"4.0.0"},"publishConfig":{"access":"public","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"},"./learning-journey-duo-drills.feature":{"bun":"./dist/learning-journey-duo-drills.feature.js","node":"./dist/node/learning-journey-duo-drills.feature.js","types":"./dist/learning-journey-duo-drills.feature.d.ts","browser":"./dist/browser/learning-journey-duo-drills.feature.js","default":"./dist/learning-journey-duo-drills.feature.js"}},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@contractspec/tool.bun":"3.7.14","@contractspec/tool.typescript":"3.7.13"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_4.0.0_1776615119149_0.029602819960885984","host":"s3://npm-registry-packages-npm-production"}},"4.0.1":{"name":"@contractspec/example.learning-journey-duo-drills","version":"4.0.1","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@4.0.1","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","bugs":{"url":"https://github.com/lssm-tech/contractspec/issues"},"dist":{"shasum":"a00e78014b6b0942784e1f36c54672a79778d1c3","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-4.0.1.tgz","fileCount":41,"integrity":"sha512-eO0Jnt2A2q6xw0ni9F/CsU4/zEyMV0Sy0H7dmmyJlEdxTWRh/nf+vpVR5mqedwMmK8sGuB0pohhKffJWb7mYcg==","signatures":[{"sig":"MEYCIQCxonU4VkkBAZLCUZpUgDnUn8qYrrcI2BD/GSpeSEYNXwIhAK6e3kC+U/IXo+vTWHC3g4LuXRR6x2Iy+t91g0o7uqLX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@contractspec%2fexample.learning-journey-duo-drills@4.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":76960},"type":"module","_from":"file:/tmp/contractspec-release-stable/tarballs/contractspec-example.learning-journey-duo-drills-4.0.1.tgz","types":"./dist/index.d.ts","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"},"./learning-journey-duo-drills.feature":{"bun":"./dist/learning-journey-duo-drills.feature.js","node":"./dist/node/learning-journey-duo-drills.feature.js","types":"./dist/learning-journey-duo-drills.feature.d.ts","browser":"./dist/browser/learning-journey-duo-drills.feature.js","default":"./dist/learning-journey-duo-drills.feature.js"}},"scripts":{"dev":"contractspec-bun-build dev","lint":"bun lint:fix","test":"bun test","build":"bun run build:bundle && bun run build:types","clean":"rimraf dist .turbo","lint:fix":"node ../../../scripts/biome.cjs check --write --unsafe --only=nursery/useSortedClasses . && node ../../../scripts/biome.cjs check --write .","prebuild":"contractspec-bun-build prebuild","typecheck":"tsc --noEmit","lint:check":"node ../../../scripts/biome.cjs check .","build:types":"contractspec-bun-build types","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"contractspec-bun-build transpile","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_resolved":"/tmp/contractspec-release-stable/tarballs/contractspec-example.learning-journey-duo-drills-4.0.1.tgz","_integrity":"sha512-eO0Jnt2A2q6xw0ni9F/CsU4/zEyMV0Sy0H7dmmyJlEdxTWRh/nf+vpVR5mqedwMmK8sGuB0pohhKffJWb7mYcg==","repository":{"url":"git+https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.9.7","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"@contractspec/lib.contracts-spec":"5.5.0","@contractspec/module.learning-journey":"4.0.1"},"publishConfig":{"access":"public","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"},"./learning-journey-duo-drills.feature":{"bun":"./dist/learning-journey-duo-drills.feature.js","node":"./dist/node/learning-journey-duo-drills.feature.js","types":"./dist/learning-journey-duo-drills.feature.d.ts","browser":"./dist/browser/learning-journey-duo-drills.feature.js","default":"./dist/learning-journey-duo-drills.feature.js"}},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@contractspec/tool.bun":"3.7.15","@contractspec/tool.typescript":"3.7.13"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_4.0.1_1776757511636_0.17616302963511044","host":"s3://npm-registry-packages-npm-production"}},"4.0.2":{"name":"@contractspec/example.learning-journey-duo-drills","version":"4.0.2","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@4.0.2","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","bugs":{"url":"https://github.com/lssm-tech/contractspec/issues"},"dist":{"shasum":"0870aa0dda68fa525cf8123b56b730dccae61e97","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-4.0.2.tgz","fileCount":41,"integrity":"sha512-h01fIEKx8AwdnZt/iIselECvw3t1YaibIGqE6iru4Jy++utoH10VIQ17S4QkFMcK3x66qtoTvAIH7q4K1roFuQ==","signatures":[{"sig":"MEUCIBh1RC1qYzWuxA/yOP+4QxdymybolecdPPr9okzH+I+aAiEA2eoUUSaajIR4P9/lECdUTxNwgq5uq8NspBuoqNNZcHg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@contractspec%2fexample.learning-journey-duo-drills@4.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":76898},"type":"module","_from":"file:/tmp/contractspec-release-stable/tarballs/contractspec-example.learning-journey-duo-drills-4.0.2.tgz","types":"./dist/index.d.ts","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"},"./learning-journey-duo-drills.feature":{"bun":"./dist/learning-journey-duo-drills.feature.js","node":"./dist/node/learning-journey-duo-drills.feature.js","types":"./dist/learning-journey-duo-drills.feature.d.ts","browser":"./dist/browser/learning-journey-duo-drills.feature.js","default":"./dist/learning-journey-duo-drills.feature.js"}},"scripts":{"dev":"contractspec-bun-build dev","lint":"bun lint:fix","test":"bun test","build":"bun run build:bundle && bun run build:types","clean":"rimraf dist .turbo","lint:fix":"node ../../../scripts/biome.cjs check --write --unsafe --only=nursery/useSortedClasses . && node ../../../scripts/biome.cjs check --write .","prebuild":"contractspec-bun-build prebuild","typecheck":"tsc --noEmit","lint:check":"node ../../../scripts/biome.cjs check .","build:types":"contractspec-bun-build types","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"contractspec-bun-build transpile","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_resolved":"/tmp/contractspec-release-stable/tarballs/contractspec-example.learning-journey-duo-drills-4.0.2.tgz","_integrity":"sha512-h01fIEKx8AwdnZt/iIselECvw3t1YaibIGqE6iru4Jy++utoH10VIQ17S4QkFMcK3x66qtoTvAIH7q4K1roFuQ==","repository":{"url":"git+https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.9.7","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"@contractspec/lib.contracts-spec":"5.5.1","@contractspec/module.learning-journey":"4.0.2"},"publishConfig":{"access":"public","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"},"./learning-journey-duo-drills.feature":{"bun":"./dist/learning-journey-duo-drills.feature.js","node":"./dist/node/learning-journey-duo-drills.feature.js","types":"./dist/learning-journey-duo-drills.feature.d.ts","browser":"./dist/browser/learning-journey-duo-drills.feature.js","default":"./dist/learning-journey-duo-drills.feature.js"}},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@contractspec/tool.bun":"3.7.17","@contractspec/tool.typescript":"3.7.13"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_4.0.2_1776801916980_0.25491795356687175","host":"s3://npm-registry-packages-npm-production"}},"4.0.3":{"name":"@contractspec/example.learning-journey-duo-drills","version":"4.0.3","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@4.0.3","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","bugs":{"url":"https://github.com/lssm-tech/contractspec/issues"},"dist":{"shasum":"f71aba517fd4eea0a900efdbec1d2bb79d5e60ff","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-4.0.3.tgz","fileCount":41,"integrity":"sha512-+hb04wuMWPEKOnB8I3O4m1KsyvgR2y00AyCbiP1JtujP/EJWhATEHlUcgKDfLm8AHmW5/epFbLB4G2ZJMgdyUA==","signatures":[{"sig":"MEQCIFxjJMiC43phS+WmPIKBziUztefAh7HlDdTfJWHY+7vuAiAzd5EzPKwTMxRoJmeYaLjvimpP22UH2Z3IEOKDz5pkOQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@contractspec%2fexample.learning-journey-duo-drills@4.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":77265},"type":"module","_from":"file:/tmp/contractspec-release-stable/tarballs/contractspec-example.learning-journey-duo-drills-4.0.3.tgz","types":"./dist/index.d.ts","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"},"./learning-journey-duo-drills.feature":{"bun":"./dist/learning-journey-duo-drills.feature.js","node":"./dist/node/learning-journey-duo-drills.feature.js","types":"./dist/learning-journey-duo-drills.feature.d.ts","browser":"./dist/browser/learning-journey-duo-drills.feature.js","default":"./dist/learning-journey-duo-drills.feature.js"}},"scripts":{"dev":"contractspec-bun-build dev","lint":"bun lint:fix","test":"bun test","build":"bun run build:bundle && bun run build:types","clean":"rimraf dist .turbo","lint:fix":"node ../../../scripts/biome.cjs check --write --unsafe --only=nursery/useSortedClasses . && node ../../../scripts/biome.cjs check --write .","prebuild":"contractspec-bun-build prebuild","typecheck":"tsc --noEmit","lint:check":"node ../../../scripts/biome.cjs check .","build:types":"contractspec-bun-build types","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"contractspec-bun-build transpile","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_resolved":"/tmp/contractspec-release-stable/tarballs/contractspec-example.learning-journey-duo-drills-4.0.3.tgz","_integrity":"sha512-+hb04wuMWPEKOnB8I3O4m1KsyvgR2y00AyCbiP1JtujP/EJWhATEHlUcgKDfLm8AHmW5/epFbLB4G2ZJMgdyUA==","repository":{"url":"git+https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.9.7","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"@contractspec/lib.contracts-spec":"5.6.0","@contractspec/module.learning-journey":"4.0.3"},"publishConfig":{"access":"public","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"},"./learning-journey-duo-drills.feature":{"bun":"./dist/learning-journey-duo-drills.feature.js","node":"./dist/node/learning-journey-duo-drills.feature.js","types":"./dist/learning-journey-duo-drills.feature.d.ts","browser":"./dist/browser/learning-journey-duo-drills.feature.js","default":"./dist/learning-journey-duo-drills.feature.js"}},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@contractspec/tool.bun":"3.7.18","@contractspec/tool.typescript":"3.7.13"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_4.0.3_1776877953665_0.03146437201351304","host":"s3://npm-registry-packages-npm-production"}},"4.0.4":{"name":"@contractspec/example.learning-journey-duo-drills","version":"4.0.4","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@4.0.4","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","bugs":{"url":"https://github.com/lssm-tech/contractspec/issues"},"dist":{"shasum":"b129ee32fdff2af3747ebda132185185010408f4","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-4.0.4.tgz","fileCount":41,"integrity":"sha512-b/pWe84/Htz0RqucRIVlqlOdKxcQgFlyfq6UuyfhcEvUSsnpZU7SOw2hZL4AmuauCYKI2/S4e+HNszXM9JnDFg==","signatures":[{"sig":"MEUCIGZ9fVJPYDJx4qjb8V8eeNXW4q7ZDH2gYd9kWuH8Z8GVAiEA84IYFcn9Pnc2ZzpJI1Zr4gJFfvYU4wLHSRhdbyqQVuE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@contractspec%2fexample.learning-journey-duo-drills@4.0.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":78216},"type":"module","_from":"file:/tmp/contractspec-release-stable/tarballs/contractspec-example.learning-journey-duo-drills-4.0.4.tgz","types":"./dist/index.d.ts","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"},"./learning-journey-duo-drills.feature":{"bun":"./dist/learning-journey-duo-drills.feature.js","node":"./dist/node/learning-journey-duo-drills.feature.js","types":"./dist/learning-journey-duo-drills.feature.d.ts","browser":"./dist/browser/learning-journey-duo-drills.feature.js","default":"./dist/learning-journey-duo-drills.feature.js"}},"scripts":{"dev":"contractspec-bun-build dev","lint":"bun lint:fix","test":"bun test","build":"bun run build:bundle && bun run build:types","clean":"rimraf dist .turbo","lint:fix":"node ../../../scripts/biome.cjs check --write --unsafe --only=nursery/useSortedClasses . && node ../../../scripts/biome.cjs check --write .","prebuild":"contractspec-bun-build prebuild","typecheck":"tsc --noEmit","lint:check":"node ../../../scripts/biome.cjs check .","build:types":"contractspec-bun-build types","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"contractspec-bun-build transpile","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_resolved":"/tmp/contractspec-release-stable/tarballs/contractspec-example.learning-journey-duo-drills-4.0.4.tgz","_integrity":"sha512-b/pWe84/Htz0RqucRIVlqlOdKxcQgFlyfq6UuyfhcEvUSsnpZU7SOw2hZL4AmuauCYKI2/S4e+HNszXM9JnDFg==","repository":{"url":"git+https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.9.7","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"@contractspec/lib.contracts-spec":"5.7.0","@contractspec/module.learning-journey":"4.0.4"},"publishConfig":{"access":"public","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"},"./learning-journey-duo-drills.feature":{"bun":"./dist/learning-journey-duo-drills.feature.js","node":"./dist/node/learning-journey-duo-drills.feature.js","types":"./dist/learning-journey-duo-drills.feature.d.ts","browser":"./dist/browser/learning-journey-duo-drills.feature.js","default":"./dist/learning-journey-duo-drills.feature.js"}},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@contractspec/tool.bun":"3.7.18","@contractspec/tool.typescript":"3.7.13"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_4.0.4_1777055292400_0.6819583176020452","host":"s3://npm-registry-packages-npm-production"}},"4.0.5":{"name":"@contractspec/example.learning-journey-duo-drills","version":"4.0.5","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@4.0.5","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","bugs":{"url":"https://github.com/lssm-tech/contractspec/issues"},"dist":{"shasum":"36fd336ec15886110ad37ab7d16d26552a91f816","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-4.0.5.tgz","fileCount":41,"integrity":"sha512-VaV+aHw0Qwl+rX93VOks1Nwi43u8t9QMm366OVfpaK0u3cy1oO43i5iz3B+LZyE9BQ03GOdH27Yd07zOLdYaMA==","signatures":[{"sig":"MEYCIQDehUxH3Mo+FPX3/a39hFlw9lrbJyLROaOD9NnwxF2s1gIhAIf9RACtqOpZfaSb/k0jWnn4Buy6UKc4bxsQfmxSRT+l","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@contractspec%2fexample.learning-journey-duo-drills@4.0.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":78943},"type":"module","_from":"file:/tmp/contractspec-release-stable/tarballs/contractspec-example.learning-journey-duo-drills-4.0.5.tgz","types":"./dist/index.d.ts","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"},"./learning-journey-duo-drills.feature":{"bun":"./dist/learning-journey-duo-drills.feature.js","node":"./dist/node/learning-journey-duo-drills.feature.js","types":"./dist/learning-journey-duo-drills.feature.d.ts","browser":"./dist/browser/learning-journey-duo-drills.feature.js","default":"./dist/learning-journey-duo-drills.feature.js"}},"scripts":{"dev":"contractspec-bun-build dev","lint":"bun lint:fix","test":"bun test","build":"bun run build:bundle && bun run build:types","clean":"rimraf dist .turbo","lint:fix":"node ../../../scripts/biome.cjs check --write --unsafe --only=nursery/useSortedClasses . && node ../../../scripts/biome.cjs check --write .","prebuild":"contractspec-bun-build prebuild","typecheck":"tsc --noEmit","lint:check":"node ../../../scripts/biome.cjs check .","build:types":"contractspec-bun-build types","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"contractspec-bun-build transpile","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_resolved":"/tmp/contractspec-release-stable/tarballs/contractspec-example.learning-journey-duo-drills-4.0.5.tgz","_integrity":"sha512-VaV+aHw0Qwl+rX93VOks1Nwi43u8t9QMm366OVfpaK0u3cy1oO43i5iz3B+LZyE9BQ03GOdH27Yd07zOLdYaMA==","repository":{"url":"git+https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.9.7","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"@contractspec/lib.contracts-spec":"6.0.0","@contractspec/module.learning-journey":"4.0.5"},"publishConfig":{"access":"public","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"},"./learning-journey-duo-drills.feature":{"bun":"./dist/learning-journey-duo-drills.feature.js","node":"./dist/node/learning-journey-duo-drills.feature.js","types":"./dist/learning-journey-duo-drills.feature.d.ts","browser":"./dist/browser/learning-journey-duo-drills.feature.js","default":"./dist/learning-journey-duo-drills.feature.js"}},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@contractspec/tool.bun":"3.7.18","@contractspec/tool.typescript":"3.7.13"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_4.0.5_1777332962224_0.862699271593881","host":"s3://npm-registry-packages-npm-production"}},"4.0.6":{"name":"@contractspec/example.learning-journey-duo-drills","version":"4.0.6","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@4.0.6","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","bugs":{"url":"https://github.com/lssm-tech/contractspec/issues"},"dist":{"shasum":"0cfa0e09d19dbfc174ab7763579563a5e7258623","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-4.0.6.tgz","fileCount":41,"integrity":"sha512-l19LwUdFeuvEet/ZJXPzz0GX5ftE1YyJo74gYIJ0NsGkxthLByl7owGWFWM8gXYFkcUj886I+ng+4HT5pKe1kQ==","signatures":[{"sig":"MEQCIC7Pi1YL/ZdZy+IycJX6rICETxH2DPCD0jzU45Jc3pA6AiBrx8IUqwZDKWZxJithBbd4SU84YGZZ7deaQE9DJfLBHw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@contractspec%2fexample.learning-journey-duo-drills@4.0.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":79621},"type":"module","_from":"file:/tmp/contractspec-release-stable/tarballs/contractspec-example.learning-journey-duo-drills-4.0.6.tgz","types":"./dist/index.d.ts","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"},"./learning-journey-duo-drills.feature":{"bun":"./dist/learning-journey-duo-drills.feature.js","node":"./dist/node/learning-journey-duo-drills.feature.js","types":"./dist/learning-journey-duo-drills.feature.d.ts","browser":"./dist/browser/learning-journey-duo-drills.feature.js","default":"./dist/learning-journey-duo-drills.feature.js"}},"scripts":{"dev":"contractspec-bun-build dev","lint":"bun lint:fix","test":"bun test","build":"bun run build:bundle && bun run build:types","clean":"rimraf dist .turbo","lint:fix":"node ../../../scripts/biome.cjs check --write --unsafe --only=nursery/useSortedClasses . && node ../../../scripts/biome.cjs check --write .","prebuild":"contractspec-bun-build prebuild","typecheck":"tsc --noEmit","lint:check":"node ../../../scripts/biome.cjs check .","build:types":"contractspec-bun-build types","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"contractspec-bun-build transpile","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_resolved":"/tmp/contractspec-release-stable/tarballs/contractspec-example.learning-journey-duo-drills-4.0.6.tgz","_integrity":"sha512-l19LwUdFeuvEet/ZJXPzz0GX5ftE1YyJo74gYIJ0NsGkxthLByl7owGWFWM8gXYFkcUj886I+ng+4HT5pKe1kQ==","repository":{"url":"git+https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.9.7","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"@contractspec/lib.contracts-spec":"6.1.0","@contractspec/module.learning-journey":"4.0.6"},"publishConfig":{"access":"public","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"},"./learning-journey-duo-drills.feature":{"bun":"./dist/learning-journey-duo-drills.feature.js","node":"./dist/node/learning-journey-duo-drills.feature.js","types":"./dist/learning-journey-duo-drills.feature.d.ts","browser":"./dist/browser/learning-journey-duo-drills.feature.js","default":"./dist/learning-journey-duo-drills.feature.js"}},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@contractspec/tool.bun":"3.7.18","@contractspec/tool.typescript":"3.7.13"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_4.0.6_1777418530215_0.14647587034027865","host":"s3://npm-registry-packages-npm-production"}},"4.0.7":{"name":"@contractspec/example.learning-journey-duo-drills","version":"4.0.7","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@4.0.7","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","bugs":{"url":"https://github.com/lssm-tech/contractspec/issues"},"dist":{"shasum":"997abd8e2b256e19ec01d8fab6e219b4339fe602","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-4.0.7.tgz","fileCount":41,"integrity":"sha512-gQIyE2+29AmQAoCRPNqyV/MAEyYLaIIEfYChticbv1M6tiAsK3tE8gDpZMKPtDpEoPrZCQCCOKjuXgUBAiiw4g==","signatures":[{"sig":"MEYCIQCmf6XB1anPNlRzeeFtmBQ/kBpo/FjT/imWZIO901FQWAIhAP+YRPEPtm1WCWKFL4hPpVxWdiF2PXX2K3+f8dbLi5JZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@contractspec%2fexample.learning-journey-duo-drills@4.0.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":80641},"type":"module","_from":"file:/tmp/contractspec-release-stable/tarballs/contractspec-example.learning-journey-duo-drills-4.0.7.tgz","types":"./dist/index.d.ts","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"},"./learning-journey-duo-drills.feature":{"bun":"./dist/learning-journey-duo-drills.feature.js","node":"./dist/node/learning-journey-duo-drills.feature.js","types":"./dist/learning-journey-duo-drills.feature.d.ts","browser":"./dist/browser/learning-journey-duo-drills.feature.js","default":"./dist/learning-journey-duo-drills.feature.js"}},"scripts":{"dev":"contractspec-bun-build dev","lint":"bun lint:fix","test":"bun test","build":"bun run build:bundle && bun run build:types","clean":"rimraf dist .turbo","lint:fix":"node ../../../scripts/biome.cjs check --write --unsafe --only=nursery/useSortedClasses . && node ../../../scripts/biome.cjs check --write .","prebuild":"contractspec-bun-build prebuild","typecheck":"tsc --noEmit","lint:check":"node ../../../scripts/biome.cjs check .","build:types":"contractspec-bun-build types","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"contractspec-bun-build transpile","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_resolved":"/tmp/contractspec-release-stable/tarballs/contractspec-example.learning-journey-duo-drills-4.0.7.tgz","_integrity":"sha512-gQIyE2+29AmQAoCRPNqyV/MAEyYLaIIEfYChticbv1M6tiAsK3tE8gDpZMKPtDpEoPrZCQCCOKjuXgUBAiiw4g==","repository":{"url":"git+https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.9.7","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"@contractspec/lib.contracts-spec":"6.2.0","@contractspec/module.learning-journey":"4.0.7"},"publishConfig":{"access":"public","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"},"./learning-journey-duo-drills.feature":{"bun":"./dist/learning-journey-duo-drills.feature.js","node":"./dist/node/learning-journey-duo-drills.feature.js","types":"./dist/learning-journey-duo-drills.feature.d.ts","browser":"./dist/browser/learning-journey-duo-drills.feature.js","default":"./dist/learning-journey-duo-drills.feature.js"}},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@contractspec/tool.bun":"3.7.18","@contractspec/tool.typescript":"3.7.13"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_4.0.7_1777447014805_0.6078900342711435","host":"s3://npm-registry-packages-npm-production"}},"4.0.8":{"name":"@contractspec/example.learning-journey-duo-drills","version":"4.0.8","license":"MIT","_id":"@contractspec/example.learning-journey-duo-drills@4.0.8","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"homepage":"https://contractspec.io","bugs":{"url":"https://github.com/lssm-tech/contractspec/issues"},"dist":{"shasum":"c9bcfc5a48a71ee79ace30d92c050274f236035e","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-4.0.8.tgz","fileCount":41,"integrity":"sha512-47HGlPrwwbK0qB/75YFKpfidbkHEvv+rRWsck3Zd51VpNMMSdNrvnlywIuOQHTIHttVf/aRn8p2Tkh5JH9oEtw==","signatures":[{"sig":"MEUCIEafPSG/x4ELRE8LLgGSTsMKg40JEjk/XACqB8Y4ZG++AiEAvONlZO9p0nh/7afLJYefrrmkZcasOeGllFVJ8rVNjlo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@contractspec%2fexample.learning-journey-duo-drills@4.0.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":81002},"type":"module","_from":"file:/tmp/contractspec-release-stable/tarballs/contractspec-example.learning-journey-duo-drills-4.0.8.tgz","types":"./dist/index.d.ts","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"},"./learning-journey-duo-drills.feature":{"bun":"./dist/learning-journey-duo-drills.feature.js","node":"./dist/node/learning-journey-duo-drills.feature.js","types":"./dist/learning-journey-duo-drills.feature.d.ts","browser":"./dist/browser/learning-journey-duo-drills.feature.js","default":"./dist/learning-journey-duo-drills.feature.js"}},"scripts":{"dev":"contractspec-bun-build dev","lint":"bun lint:fix","test":"bun test","build":"bun run build:bundle && bun run build:types","clean":"rimraf dist .turbo","lint:fix":"node ../../../scripts/biome.cjs check --write --unsafe --only=nursery/useSortedClasses . && node ../../../scripts/biome.cjs check --write .","prebuild":"contractspec-bun-build prebuild","typecheck":"tsc --noEmit","lint:check":"node ../../../scripts/biome.cjs check .","build:types":"contractspec-bun-build types","publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","build:bundle":"contractspec-bun-build transpile","publish:pkg:canary":"bun publish:pkg --tag canary"},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"_resolved":"/tmp/contractspec-release-stable/tarballs/contractspec-example.learning-journey-duo-drills-4.0.8.tgz","_integrity":"sha512-47HGlPrwwbK0qB/75YFKpfidbkHEvv+rRWsck3Zd51VpNMMSdNrvnlywIuOQHTIHttVf/aRn8p2Tkh5JH9oEtw==","repository":{"url":"git+https://github.com/lssm-tech/contractspec.git","type":"git","directory":"packages/examples/learning-journey-duo-drills"},"_npmVersion":"10.9.7","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"@contractspec/lib.contracts-spec":"6.3.0","@contractspec/module.learning-journey":"4.0.8"},"publishConfig":{"access":"public","exports":{".":{"bun":"./dist/index.js","node":"./dist/node/index.js","types":"./dist/index.d.ts","browser":"./dist/browser/index.js","default":"./dist/index.js"},"./docs":{"bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","default":"./dist/docs/index.js"},"./track":{"bun":"./dist/track.js","node":"./dist/node/track.js","types":"./dist/track.d.ts","browser":"./dist/browser/track.js","default":"./dist/track.js"},"./example":{"bun":"./dist/example.js","node":"./dist/node/example.js","types":"./dist/example.d.ts","browser":"./dist/browser/example.js","default":"./dist/example.js"},"./docs/duo-drills.docblock":{"bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"},"./learning-journey-duo-drills.feature":{"bun":"./dist/learning-journey-duo-drills.feature.js","node":"./dist/node/learning-journey-duo-drills.feature.js","types":"./dist/learning-journey-duo-drills.feature.d.ts","browser":"./dist/browser/learning-journey-duo-drills.feature.js","default":"./dist/learning-journey-duo-drills.feature.js"}},"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@contractspec/tool.bun":"3.7.18","@contractspec/tool.typescript":"3.7.13"},"_npmOperationalInternal":{"tmp":"tmp/example.learning-journey-duo-drills_4.0.8_1777501586061_0.7628847633197624","host":"s3://npm-registry-packages-npm-production"}},"4.0.9":{"name":"@contractspec/example.learning-journey-duo-drills","version":"4.0.9","description":"Drill-based learning journey example with SRS, XP, and streak hooks.","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","browser":"./dist/browser/index.js","bun":"./dist/index.js","node":"./dist/node/index.js","default":"./dist/index.js"},"./docs":{"types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","default":"./dist/docs/index.js"},"./docs/duo-drills.docblock":{"types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"},"./example":{"types":"./dist/example.d.ts","browser":"./dist/browser/example.js","bun":"./dist/example.js","node":"./dist/node/example.js","default":"./dist/example.js"},"./learning-journey-duo-drills.feature":{"types":"./dist/learning-journey-duo-drills.feature.d.ts","browser":"./dist/browser/learning-journey-duo-drills.feature.js","bun":"./dist/learning-journey-duo-drills.feature.js","node":"./dist/node/learning-journey-duo-drills.feature.js","default":"./dist/learning-journey-duo-drills.feature.js"},"./track":{"types":"./dist/track.d.ts","browser":"./dist/browser/track.js","bun":"./dist/track.js","node":"./dist/node/track.js","default":"./dist/track.js"}},"scripts":{"publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","publish:pkg:canary":"bun publish:pkg --tag canary","build":"bun run build:bundle && bun run build:types","build:bundle":"contractspec-bun-build transpile","build:types":"contractspec-bun-build types","dev":"contractspec-bun-build dev","clean":"rimraf dist .turbo","lint":"bun lint:fix","lint:fix":"node ../../../scripts/biome.cjs check --write --unsafe --only=nursery/useSortedClasses . && node ../../../scripts/biome.cjs check --write .","lint:check":"node ../../../scripts/biome.cjs check .","test":"bun test","prebuild":"contractspec-bun-build prebuild","typecheck":"tsc --noEmit"},"dependencies":{"@contractspec/module.learning-journey":"4.0.9","@contractspec/lib.contracts-spec":"6.4.0"},"devDependencies":{"@contractspec/tool.typescript":"3.7.13","typescript":"^5.9.3","@contractspec/tool.bun":"3.7.18"},"publishConfig":{"exports":{".":{"types":"./dist/index.d.ts","browser":"./dist/browser/index.js","bun":"./dist/index.js","node":"./dist/node/index.js","default":"./dist/index.js"},"./docs":{"types":"./dist/docs/index.d.ts","browser":"./dist/browser/docs/index.js","bun":"./dist/docs/index.js","node":"./dist/node/docs/index.js","default":"./dist/docs/index.js"},"./docs/duo-drills.docblock":{"types":"./dist/docs/duo-drills.docblock.d.ts","browser":"./dist/browser/docs/duo-drills.docblock.js","bun":"./dist/docs/duo-drills.docblock.js","node":"./dist/node/docs/duo-drills.docblock.js","default":"./dist/docs/duo-drills.docblock.js"},"./example":{"types":"./dist/example.d.ts","browser":"./dist/browser/example.js","bun":"./dist/example.js","node":"./dist/node/example.js","default":"./dist/example.js"},"./learning-journey-duo-drills.feature":{"types":"./dist/learning-journey-duo-drills.feature.d.ts","browser":"./dist/browser/learning-journey-duo-drills.feature.js","bun":"./dist/learning-journey-duo-drills.feature.js","node":"./dist/node/learning-journey-duo-drills.feature.js","default":"./dist/learning-journey-duo-drills.feature.js"},"./track":{"types":"./dist/track.d.ts","browser":"./dist/browser/track.js","bun":"./dist/track.js","node":"./dist/node/track.js","default":"./dist/track.js"}},"registry":"https://registry.npmjs.org/","access":"public"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/lssm-tech/contractspec.git","directory":"packages/examples/learning-journey-duo-drills"},"homepage":"https://contractspec.io","_id":"@contractspec/example.learning-journey-duo-drills@4.0.9","bugs":{"url":"https://github.com/lssm-tech/contractspec/issues"},"_integrity":"sha512-xk/3kCXbctwuUDGwnqA2HmU26w/Im0gXiMtPVgDF04pPjXbN2DfFNuZqaJ2zfHxDnmLM1jmMBUI3kMhWyOMRIA==","_resolved":"/tmp/contractspec-release-stable/tarballs/contractspec-example.learning-journey-duo-drills-4.0.9.tgz","_from":"file:/tmp/contractspec-release-stable/tarballs/contractspec-example.learning-journey-duo-drills-4.0.9.tgz","_nodeVersion":"22.22.2","_npmVersion":"10.9.7","dist":{"integrity":"sha512-xk/3kCXbctwuUDGwnqA2HmU26w/Im0gXiMtPVgDF04pPjXbN2DfFNuZqaJ2zfHxDnmLM1jmMBUI3kMhWyOMRIA==","shasum":"3d1d49c2c93756a8d1638496260d88ece1d00e0c","tarball":"https://registry.npmjs.org/@contractspec/example.learning-journey-duo-drills/-/example.learning-journey-duo-drills-4.0.9.tgz","fileCount":41,"unpackedSize":81388,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@contractspec%2fexample.learning-journey-duo-drills@4.0.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCICQ7fD76RlJsTqALcSU86Drl1kFZG6vtZBcbG/saepxaAiA0hn5APZbeVqC4pCMKiXrclq71yahhWS/vgz3lVQt8+g=="}]},"_npmUser":{"name":"farzim","email":"boutrontheo@gmail.com"},"directories":{},"maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/example.learning-journey-duo-drills_4.0.9_1777577504555_0.48660108009457415"},"_hasShrinkwrap":false}},"time":{"created":"2025-12-28T13:32:13.657Z","modified":"2026-04-30T19:31:45.039Z","1.44.0":"2025-12-28T13:32:13.901Z","1.44.1":"2025-12-28T14:23:34.938Z","1.45.0":"2025-12-28T23:46:38.636Z","1.45.1":"2025-12-29T00:14:44.189Z","1.45.2":"2025-12-29T10:42:48.552Z","1.45.3":"2025-12-29T12:23:35.768Z","1.45.4":"2025-12-29T12:38:34.877Z","1.45.5":"2025-12-29T15:44:42.962Z","1.45.6":"2025-12-29T18:07:17.797Z","1.46.0":"2025-12-29T22:22:48.794Z","1.46.1":"2025-12-30T15:01:13.637Z","1.46.2":"2025-12-31T19:56:58.833Z","0.0.0-canary-20260113162409":"2026-01-13T16:37:25.096Z","0.0.0-canary-20260113170453":"2026-01-13T17:17:24.127Z","0.0.0-canary-20260113173657":"2026-01-13T17:49:18.803Z","0.0.0-canary-20260114030712":"2026-01-14T03:20:05.203Z","1.47.0":"2026-01-14T04:05:44.964Z","1.48.0":"2026-01-19T15:37:41.325Z","0.0.0-canary-20260119222405":"2026-01-19T22:35:02.922Z","0.0.0-canary-20260119224109":"2026-01-19T22:52:12.268Z","0.0.0-canary-20260119224015":"2026-01-19T22:52:24.329Z","0.0.0-canary-20260119224949":"2026-01-19T23:00:54.476Z","0.0.0-canary-20260119225944":"2026-01-19T23:09:52.364Z","1.48.1":"2026-01-19T23:21:18.388Z","1.49.0":"2026-01-23T01:34:01.680Z","1.50.0":"2026-01-23T22:18:49.868Z","1.51.0":"2026-01-25T20:17:37.339Z","1.52.0":"2026-01-26T10:38:36.215Z","0.0.0-canary-20260128200020":"2026-01-28T20:13:41.946Z","1.53.0":"2026-02-02T05:40:10.335Z","0.0.0-canary-20260202053150":"2026-02-02T05:45:16.920Z","1.54.0":"2026-02-02T08:06:08.694Z","1.55.0":"2026-02-02T08:21:13.167Z","1.56.0":"2026-02-02T08:32:09.051Z","1.56.1":"2026-02-02T09:54:11.254Z","0.0.0-canary-20260206014742":"2026-02-06T02:02:00.537Z","0.0.0-canary-20260206062439":"2026-02-06T06:39:42.287Z","1.57.0":"2026-02-06T06:52:17.032Z","1.58.0":"2026-02-06T18:43:31.971Z","1.59.0":"2026-02-06T19:05:09.824Z","1.60.0":"2026-02-06T19:39:24.044Z","1.61.0":"2026-02-06T20:26:15.351Z","1.62.0":"2026-02-12T06:20:52.376Z","2.0.0":"2026-02-15T03:25:53.018Z","2.1.0":"2026-02-16T22:45:13.858Z","2.1.1":"2026-02-17T09:55:28.631Z","2.2.0":"2026-02-17T10:13:07.209Z","2.3.0":"2026-02-19T01:18:14.963Z","2.4.0":"2026-02-19T02:47:05.071Z","2.5.0":"2026-02-21T10:12:04.779Z","2.6.0":"2026-02-22T00:32:15.991Z","2.7.0":"2026-02-24T20:31:14.285Z","2.8.0":"2026-02-25T12:58:25.822Z","2.9.0":"2026-02-25T13:52:14.613Z","2.9.1":"2026-02-26T01:47:34.665Z","3.0.0":"2026-02-27T08:39:32.306Z","3.1.1":"2026-03-06T16:10:26.874Z","3.2.0":"2026-03-06T16:42:46.528Z","3.3.0":"2026-03-07T13:53:53.377Z","3.4.0":"2026-03-08T23:31:52.746Z","3.4.1":"2026-03-09T02:12:50.711Z","3.4.2":"2026-03-09T02:26:34.673Z","3.4.3":"2026-03-09T03:52:25.409Z","3.5.0":"2026-03-09T06:03:42.201Z","3.5.2":"2026-03-09T08:06:27.902Z","3.5.3":"2026-03-09T08:32:25.406Z","3.5.4":"2026-03-09T18:16:41.428Z","3.5.5":"2026-03-09T23:33:34.205Z","3.6.0":"2026-03-10T10:21:26.014Z","3.7.0":"2026-03-13T12:36:35.573Z","3.7.1":"2026-03-15T12:12:02.155Z","3.7.3":"2026-03-19T15:53:47.453Z","3.7.4":"2026-03-19T16:22:22.935Z","3.7.5":"2026-03-19T20:59:45.234Z","3.7.6":"2026-03-20T00:53:31.398Z","3.7.7":"2026-03-20T11:01:59.367Z","3.7.10":"2026-03-20T21:11:58.031Z","3.7.12":"2026-03-23T00:50:25.042Z","3.7.14":"2026-03-24T11:20:33.672Z","3.7.15":"2026-03-26T14:40:51.666Z","3.7.16":"2026-03-27T09:33:34.810Z","3.7.17":"2026-03-28T08:13:12.203Z","3.7.18":"2026-04-10T12:40:51.089Z","3.7.19":"2026-04-13T22:35:37.909Z","4.0.0":"2026-04-19T16:11:59.294Z","4.0.1":"2026-04-21T07:45:11.807Z","4.0.2":"2026-04-21T20:05:17.130Z","4.0.3":"2026-04-22T17:12:33.877Z","4.0.4":"2026-04-24T18:28:12.574Z","4.0.5":"2026-04-27T23:36:02.355Z","4.0.6":"2026-04-28T23:22:10.418Z","4.0.7":"2026-04-29T07:16:54.973Z","4.0.8":"2026-04-29T22:26:26.205Z","4.0.9":"2026-04-30T19:31:44.705Z"},"bugs":{"url":"https://github.com/lssm-tech/contractspec/issues"},"license":"MIT","homepage":"https://contractspec.io","repository":{"type":"git","url":"git+https://github.com/lssm-tech/contractspec.git","directory":"packages/examples/learning-journey-duo-drills"},"description":"Drill-based learning journey example with SRS, XP, and streak hooks.","maintainers":[{"name":"farzim","email":"boutrontheo@gmail.com"}],"readme":"# @contractspec/example.learning-journey-duo-drills\n\nWebsite: https://contractspec.io\n\n**Drill-based learning journey example with SRS, XP, and streak hooks.**\n\n## What This Demonstrates\n\n- Drill-based learning track with SRS scheduling.\n- XP and streak gamification hooks.\n- Lightweight track + example pattern.\n- Integration with the learning-journey module.\n- `src/docs/` contains docblocks and documentation-facing exports.\n- `src/docs/` contains docblocks and documentation-facing exports.\n\n## Running Locally\n\nFrom `packages/examples/learning-journey-duo-drills`:\n- `bun run dev`\n- `bun run build`\n- `bun run test`\n- `bun run typecheck`\n\n## Usage\n\nUse `@contractspec/example.learning-journey-duo-drills` as a reference implementation, or import its exported surfaces into a workspace that composes ContractSpec examples and bundles.\n\n## Architecture\n\n- `src/docs/` contains docblocks and documentation-facing exports.\n- `src/example.ts` is the runnable example entrypoint.\n- `src/index.ts` is the root public barrel and package entrypoint.\n- `src/learning-journey-duo-drills.feature.ts` defines a feature entrypoint.\n- `src/track.test.ts` is part of the package's public or composition surface.\n- `src/track.ts` is part of the package's public or composition surface.\n\n## Public Entry Points\n\n- Export `.` resolves through `./src/index.ts`.\n- Export `./docs` resolves through `./src/docs/index.ts`.\n- Export `./docs/duo-drills.docblock` resolves through `./src/docs/duo-drills.docblock.ts`.\n- Export `./example` resolves through `./src/example.ts`.\n- Export `./learning-journey-duo-drills.feature` resolves through `./src/learning-journey-duo-drills.feature.ts`.\n- Export `./track` resolves through `./src/track.ts`.\n\n## Local Commands\n\n- `bun run dev` — contractspec-bun-build dev\n- `bun run build` — bun run prebuild && bun run build:bundle && bun run build:types\n- `bun run test` — bun test\n- `bun run lint` — bun lint:fix\n- `bun run lint:check` — biome check .\n- `bun run lint:fix` — biome check --write --unsafe --only=nursery/useSortedClasses . && biome check --write .\n- `bun run typecheck` — tsc --noEmit\n- `bun run publish:pkg` — bun publish --tolerate-republish --ignore-scripts --verbose\n- `bun run publish:pkg:canary` — bun publish:pkg --tag canary\n- `bun run clean` — rimraf dist .turbo\n- `bun run build:bundle` — contractspec-bun-build transpile\n- `bun run build:types` — contractspec-bun-build types\n- `bun run prebuild` — contractspec-bun-build prebuild\n\n## Recent Updates\n\n- Replace eslint+prettier by biomejs to optimize speed.\n- Missing contract layers.\n\n## Notes\n\n- Works alongside `@contractspec/lib.contracts-spec`, `@contractspec/module.learning-journey`, `@contractspec/tool.bun`, `@contractspec/tool.typescript`.\n","readmeFilename":"README.md"}