{"_id":"@damonjw/rubric","_rev":"25-bfc8c5631bd28fb0990778fafcad1b8b","name":"@damonjw/rubric","dist-tags":{"latest":"0.1.24"},"versions":{"0.1.0":{"name":"@damonjw/rubric","version":"0.1.0","keywords":["codex","ai","agent","maths","mathjax","latex","tikz","notebook"],"author":{"name":"Damon Wischik"},"license":"AGPL-3.0-or-later","_id":"@damonjw/rubric@0.1.0","maintainers":[{"name":"damonjw","email":"damon@wischik.com"}],"bugs":{"url":"https://github.com/damonjw/dev/issues"},"bin":{"rubric":"bin/rubric.js"},"dist":{"shasum":"e36fbcc67757c7a237223e4e817c0dd94097dd1d","tarball":"https://registry.npmjs.org/@damonjw/rubric/-/rubric-0.1.0.tgz","fileCount":49,"integrity":"sha512-SCxVDyF62B8TB4q0wGFhS+g3wo02KceYwIFMM5ldq2qBN2DUBb9ftPpQ1naH8eiDtvLLVzXs7PBOozYCAm/nAw==","signatures":[{"sig":"MEUCIQDp+H3+wIEd5cQbB3JxCEhGj7vz/sgdoLgiah3aOTjHLwIgBzsUC3NdpjPCZaXRoZP08mbtbVk+qavfIpDYrJUn2v8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":431400},"type":"module","engines":{"node":">=18"},"scripts":{"test":"node --test test/*.test.js test/cli/*.test.js test/server/*.test.js test/session/*.test.js test/stable/*.test.js test/web/*.test.js test/browser/*.test.js","start":"node bin/rubric.js","test:browser":"playwright test"},"_npmUser":{"name":"damonjw","email":"damon@wischik.com"},"_npmVersion":"11.14.1","description":"A front end for Codex optimized for working with maths, using a browser with MathJax as the UI.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"smol-toml":"^1.6.1","@openai/codex":"^0.135.0","@inquirer/select":"^5.2.0"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^26.1.0","markdown-it":"^14.1.0","@playwright/test":"^1.60.0"},"_npmOperationalInternal":{"tmp":"tmp/rubric_0.1.0_1780390506342_0.5427951684968417","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@damonjw/rubric","version":"0.1.1","keywords":["codex","ai","agent","maths","mathjax","latex","tikz","notebook"],"author":{"name":"Damon Wischik"},"license":"AGPL-3.0-or-later","_id":"@damonjw/rubric@0.1.1","maintainers":[{"name":"damonjw","email":"damon@wischik.com"}],"bugs":{"url":"https://github.com/damonjw/dev/issues"},"bin":{"rubric":"bin/rubric.js"},"dist":{"shasum":"f1e127bae42df18a43437b11a78fa452f5846469","tarball":"https://registry.npmjs.org/@damonjw/rubric/-/rubric-0.1.1.tgz","fileCount":51,"integrity":"sha512-kstEtptHmLTDSD84Rm1qkUv/VTbRN1EuEiR8bA4PQR9KiGIJ+3RufxrBt01IvSEixD4Hqr/akuLr81xWcK6UqQ==","signatures":[{"sig":"MEQCIFvuZLBsz0yfBXEvRVmFUICQvEwvzrMY5cow4uznyg2HAiBveYx4RPeQAnzBVl1iClfkKIwxQ+sNQxoURvFvZG7ulA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":442054},"type":"module","engines":{"node":">=18"},"scripts":{"test":"node --test test/*.test.js test/cli/*.test.js test/server/*.test.js test/session/*.test.js test/stable/*.test.js test/web/*.test.js test/browser/*.test.js","start":"node bin/rubric.js","test:browser":"playwright test"},"_npmUser":{"name":"damonjw","email":"damon@wischik.com"},"_npmVersion":"11.14.1","description":"A front end for Codex optimized for working with maths, using a browser with MathJax as the UI.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"smol-toml":"^1.6.1","@openai/codex":"^0.135.0","@inquirer/select":"^5.2.0"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^26.1.0","markdown-it":"^14.1.0","@playwright/test":"^1.60.0"},"_npmOperationalInternal":{"tmp":"tmp/rubric_0.1.1_1780402910266_0.38174316577285694","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@damonjw/rubric","version":"0.1.2","keywords":["codex","ai","agent","maths","mathjax","latex","tikz","notebook"],"author":{"name":"Damon Wischik"},"license":"AGPL-3.0-or-later","_id":"@damonjw/rubric@0.1.2","maintainers":[{"name":"damonjw","email":"damon@wischik.com"}],"bugs":{"url":"https://github.com/damonjw/dev/issues"},"bin":{"rubric":"bin/rubric.js"},"dist":{"shasum":"1893f4183766ddce478a8f6438d56321ad019034","tarball":"https://registry.npmjs.org/@damonjw/rubric/-/rubric-0.1.2.tgz","fileCount":51,"integrity":"sha512-GiHCpfL3wh5V/MbBInytTIYESSfrVGk/nobEEJmt3Y37mwzseM68dM77f78hO1491XT8jT7W2OGObzQfJ5c1HA==","signatures":[{"sig":"MEYCIQCg9blrpOEeIX/mXDDMiw+8Ek0dMUtUqLjUpLPDi4phWwIhAJ5mIs90437FrSCvTr9KxDd0yNpUOWNOYN698iIE3Q15","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":442076},"type":"module","engines":{"node":">=18"},"scripts":{"test":"node --test test/*.test.js test/cli/*.test.js test/server/*.test.js test/session/*.test.js test/stable/*.test.js test/web/*.test.js test/browser/*.test.js","start":"node bin/rubric.js","test:browser":"playwright test"},"_npmUser":{"name":"damonjw","email":"damon@wischik.com"},"_npmVersion":"11.14.1","description":"A front end for Codex optimized for working with maths, using a browser with MathJax as the UI.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"smol-toml":"^1.6.1","@openai/codex":"^0.135.0","@inquirer/select":"^5.2.0"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^26.1.0","markdown-it":"^14.1.0","@playwright/test":"^1.60.0"},"_npmOperationalInternal":{"tmp":"tmp/rubric_0.1.2_1780403845362_0.4002960214244715","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@damonjw/rubric","version":"0.1.3","keywords":["codex","ai","agent","maths","mathjax","latex","tikz","notebook"],"author":{"name":"Damon Wischik"},"license":"AGPL-3.0-or-later","_id":"@damonjw/rubric@0.1.3","maintainers":[{"name":"damonjw","email":"damon@wischik.com"}],"bugs":{"url":"https://github.com/damonjw/dev/issues"},"bin":{"rubric":"bin/rubric.js"},"dist":{"shasum":"ca6bb17200f9eef7f45dc6e3be3a0fc1831c87f9","tarball":"https://registry.npmjs.org/@damonjw/rubric/-/rubric-0.1.3.tgz","fileCount":51,"integrity":"sha512-0dArq02+0YyAkxxXqzSA4kVbAZW7oC4WIAdNsl4JI2ORhw2MT+3tp44+Tr/N4mrE6Gh4gRvSCXscda3RYxpevw==","signatures":[{"sig":"MEUCIDD1trmlHPptqw6SE2PLpy1RJX+E1XJb5a0ofCe4h0oeAiEAqeiYcTSZITUEDL00Xb52Y7DuZmCl+Y731Sb0k9VtzIU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":446244},"type":"module","engines":{"node":">=18"},"scripts":{"test":"node --test test/*.test.js test/cli/*.test.js test/server/*.test.js test/session/*.test.js test/stable/*.test.js test/web/*.test.js test/browser/*.test.js","start":"node bin/rubric.js","test:browser":"playwright test"},"_npmUser":{"name":"damonjw","email":"damon@wischik.com"},"_npmVersion":"11.14.1","description":"A front end for Codex optimized for working with maths, using a browser with MathJax as the UI.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"smol-toml":"^1.6.1","@openai/codex":"^0.135.0","@inquirer/select":"^5.2.0"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^26.1.0","markdown-it":"^14.1.0","@playwright/test":"^1.60.0"},"_npmOperationalInternal":{"tmp":"tmp/rubric_0.1.3_1780418414164_0.15921977798820341","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@damonjw/rubric","version":"0.1.4","keywords":["codex","ai","agent","maths","mathjax","latex","tikz","notebook"],"author":{"name":"Damon Wischik"},"license":"AGPL-3.0-or-later","_id":"@damonjw/rubric@0.1.4","maintainers":[{"name":"damonjw","email":"damon@wischik.com"}],"bugs":{"url":"https://github.com/damonjw/dev/issues"},"bin":{"rubric":"bin/rubric.js"},"dist":{"shasum":"44a9d71aaa6c4a5c4669ed74a385c320625d8a87","tarball":"https://registry.npmjs.org/@damonjw/rubric/-/rubric-0.1.4.tgz","fileCount":51,"integrity":"sha512-pOxJS+uKOu7LLEz9AfOdrkDCpaXRkoVIt7+aYH9ud8RdWKXqdxW3pqWD/EPpxy4mdOgSuD541XkSvGTO2TbHhg==","signatures":[{"sig":"MEYCIQDzgvCOtjp/OfggzQY3vUh6aTPTl472g1/ofrFYVGXbhQIhAKA/eaTkIWVzC2WZdNCS3BSZSdxWtJ/iQicuxNw6jGJ6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":447102},"type":"module","engines":{"node":">=18"},"scripts":{"test":"node --test test/*.test.js test/cli/*.test.js test/server/*.test.js test/session/*.test.js test/stable/*.test.js test/web/*.test.js test/browser/*.test.js","start":"node bin/rubric.js","test:browser":"playwright test"},"_npmUser":{"name":"damonjw","email":"damon@wischik.com"},"_npmVersion":"11.14.1","description":"A front end for Codex optimized for working with maths, using a browser with MathJax as the UI.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"smol-toml":"^1.6.1","@openai/codex":"^0.135.0","@inquirer/select":"^5.2.0"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^26.1.0","markdown-it":"^14.1.0","@playwright/test":"^1.60.0"},"_npmOperationalInternal":{"tmp":"tmp/rubric_0.1.4_1780419119630_0.6879403441323741","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@damonjw/rubric","version":"0.1.5","keywords":["codex","ai","agent","maths","mathjax","latex","tikz","notebook"],"author":{"name":"Damon Wischik"},"license":"AGPL-3.0-or-later","_id":"@damonjw/rubric@0.1.5","maintainers":[{"name":"damonjw","email":"damon@wischik.com"}],"bugs":{"url":"https://github.com/damonjw/dev/issues"},"bin":{"rubric":"bin/rubric.js"},"dist":{"shasum":"0351e08d3fd6bf4c77bb671bad171ea8b5a70356","tarball":"https://registry.npmjs.org/@damonjw/rubric/-/rubric-0.1.5.tgz","fileCount":52,"integrity":"sha512-DQs3qgVoyr2ov72bOMMfZumaBX7QvVwC1aW8GtFUnvpknmjiE5EiLJ5ysizdixSZdOO4vrju17dnYdpI9QWazA==","signatures":[{"sig":"MEUCIHRgd/4MO/FGQTPIp37YTUfYaNkiTQ0QLpZCoFFtcD0fAiEA4QVbhFmaKI3fLeqqGX6FG7CRGMgWJGI8++0fnF9KaL8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":477075},"type":"module","engines":{"node":">=18"},"scripts":{"test":"node --test test/*.test.js test/cli/*.test.js test/server/*.test.js test/session/*.test.js test/stable/*.test.js test/web/*.test.js test/browser/*.test.js","start":"node bin/rubric.js","test:browser":"playwright test"},"_npmUser":{"name":"damonjw","email":"damon@wischik.com"},"_npmVersion":"11.14.1","description":"A front end for Codex optimized for working with maths, using a browser with MathJax as the UI.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"smol-toml":"^1.6.1","@openai/codex":"^0.135.0","@inquirer/select":"^5.2.0"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^26.1.0","markdown-it":"^14.1.0","@playwright/test":"^1.60.0"},"_npmOperationalInternal":{"tmp":"tmp/rubric_0.1.5_1780643502717_0.8615778845226305","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@damonjw/rubric","version":"0.1.6","keywords":["codex","ai","agent","maths","mathjax","latex","tikz","notebook"],"author":{"name":"Damon Wischik"},"license":"AGPL-3.0-or-later","_id":"@damonjw/rubric@0.1.6","maintainers":[{"name":"damonjw","email":"damon@wischik.com"}],"bugs":{"url":"https://github.com/damonjw/dev/issues"},"bin":{"rubric":"bin/rubric.js"},"dist":{"shasum":"7e7839cb001758228e1cf925133bdefee4895ea8","tarball":"https://registry.npmjs.org/@damonjw/rubric/-/rubric-0.1.6.tgz","fileCount":52,"integrity":"sha512-Jf/NZyWUwWj1zY1K7SP1y+ElHX+SSX7F4SQ28A21Zt/KBYeL6yCN06Gbhh1MATGABf3TslVp+tYQuZC4Al0Xqg==","signatures":[{"sig":"MEUCIQDRcCnWQCOE+kI/W75AESljgvLLC/gDberIPuP+OIa8+AIgMnFu48EQLOUIXde0/GsxhVB4rdqIDmVP8wtAJMz/jYs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":479630},"type":"module","engines":{"node":">=18"},"scripts":{"test":"node --test test/*.test.js test/cli/*.test.js test/server/*.test.js test/session/*.test.js test/stable/*.test.js test/web/*.test.js test/browser/*.test.js","start":"node bin/rubric.js","test:browser":"playwright test"},"_npmUser":{"name":"damonjw","email":"damon@wischik.com"},"_npmVersion":"11.14.1","description":"A front end for Codex optimized for working with maths, using a browser with MathJax as the UI.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"smol-toml":"^1.6.1","@openai/codex":"^0.135.0","@inquirer/select":"^5.2.0"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^26.1.0","markdown-it":"^14.1.0","@playwright/test":"^1.60.0"},"_npmOperationalInternal":{"tmp":"tmp/rubric_0.1.6_1780654094075_0.9233191798152043","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@damonjw/rubric","version":"0.1.7","keywords":["codex","ai","agent","maths","mathjax","latex","tikz","notebook"],"author":{"name":"Damon Wischik"},"license":"AGPL-3.0-or-later","_id":"@damonjw/rubric@0.1.7","maintainers":[{"name":"damonjw","email":"damon@wischik.com"}],"bugs":{"url":"https://github.com/damonjw/dev/issues"},"bin":{"rubric":"bin/rubric.js"},"dist":{"shasum":"a9b116c4453ae7736e3454cddcdb8d597afeb2ae","tarball":"https://registry.npmjs.org/@damonjw/rubric/-/rubric-0.1.7.tgz","fileCount":55,"integrity":"sha512-YAn4WSyC1leUQqTZtbd/Kd0xFuaU03A1jmlYXZxQvpgzp+qbU56R3dFtijrYfJmZ8T7A8y6B7g6V5+121X6eiw==","signatures":[{"sig":"MEYCIQCL7VajNr8X6788DpeSx1kpy5q0dxUuCm6EftQW6ndSewIhAIpPH973+2Shs3gvvkzoP5bWLdBiEZQdIN5AdZN0Getc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":494314},"type":"module","engines":{"node":">=18"},"scripts":{"test":"node --test test/*.test.js test/cli/*.test.js test/server/*.test.js test/session/*.test.js test/stable/*.test.js test/web/*.test.js test/browsersim/*.test.js","start":"node bin/rubric.js","test:all":"npm test && npm run test:spawn && npm run test:browser","test:spawn":"node --test test/spawn/*.test.js","test:browser":"playwright test"},"_npmUser":{"name":"damonjw","email":"damon@wischik.com"},"_npmVersion":"11.14.1","description":"A front end for Codex optimized for working with maths, using a browser with MathJax as the UI.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"smol-toml":"^1.6.1","@openai/codex":"^0.135.0","@inquirer/select":"^5.2.0"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^26.1.0","markdown-it":"^14.1.0","@playwright/test":"^1.60.0"},"_npmOperationalInternal":{"tmp":"tmp/rubric_0.1.7_1780699338179_0.38753231772437347","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"@damonjw/rubric","version":"0.1.8","keywords":["codex","ai","agent","maths","mathjax","latex","tikz","notebook"],"author":{"name":"Damon Wischik"},"license":"AGPL-3.0-or-later","_id":"@damonjw/rubric@0.1.8","maintainers":[{"name":"damonjw","email":"damon@wischik.com"}],"bugs":{"url":"https://github.com/damonjw/dev/issues"},"bin":{"rubric":"bin/rubric.js"},"dist":{"shasum":"9869f814e1c4a4db8da6a24d77c972f685d3399d","tarball":"https://registry.npmjs.org/@damonjw/rubric/-/rubric-0.1.8.tgz","fileCount":55,"integrity":"sha512-ph95GiooMisstpW07z4/cKxdtfxf0fw2Vl5/vk4fbCbhen/46iZ42QKAScSmzSwEq23BEKdFpamTsDJZXGFwhw==","signatures":[{"sig":"MEYCIQCq0hW2VcwFi+dOizmqfVfO4rIXjCJr9mfSiBiZyf+QqgIhAKl4A9K6mV7+zUmdg+HyG5myaNRgxWeXY4ptpTlk8xwx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":497664},"type":"module","engines":{"node":">=18"},"scripts":{"test":"node --test test/*.test.js test/cli/*.test.js test/server/*.test.js test/session/*.test.js test/stable/*.test.js test/web/*.test.js test/browsersim/*.test.js","start":"node bin/rubric.js","test:all":"npm test && npm run test:spawn && npm run test:browser","test:spawn":"node --test test/spawn/*.test.js","test:browser":"playwright test"},"_npmUser":{"name":"damonjw","email":"damon@wischik.com"},"_npmVersion":"11.14.1","description":"A front end for Codex optimized for working with maths, using a browser with MathJax as the UI.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"smol-toml":"^1.6.1","@openai/codex":"^0.135.0","@inquirer/select":"^5.2.0"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^26.1.0","markdown-it":"^14.1.0","@playwright/test":"^1.60.0"},"_npmOperationalInternal":{"tmp":"tmp/rubric_0.1.8_1780711180698_0.8669707274210674","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"@damonjw/rubric","version":"0.1.9","keywords":["codex","ai","agent","maths","mathjax","latex","tikz","notebook"],"author":{"name":"Damon Wischik"},"license":"AGPL-3.0-or-later","_id":"@damonjw/rubric@0.1.9","maintainers":[{"name":"damonjw","email":"damon@wischik.com"}],"bugs":{"url":"https://github.com/damonjw/dev/issues"},"bin":{"rubric":"bin/rubric.js"},"dist":{"shasum":"13f327d744dcb3f91a3d3bdf1555b3fc69114eac","tarball":"https://registry.npmjs.org/@damonjw/rubric/-/rubric-0.1.9.tgz","fileCount":56,"integrity":"sha512-kKCliWCTMVyAcder29ZMZxdZbWW5rYzAkib46N6yuaHcDJYNerSzotRNGLz6vCg766Qe4tfgmss/1ovsObAVTg==","signatures":[{"sig":"MEUCIQCA+NlkKEfKQucFiy2A5WlxTQOseQkxsH+LBdOkgpcmlAIgfshNOfXqW9YCW/FhkhdwfBZOknSabYudBkzMz+Bw6i4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":499392},"type":"module","engines":{"node":">=18"},"scripts":{"test":"node --test test/*.test.js test/cli/*.test.js test/server/*.test.js test/session/*.test.js test/stable/*.test.js test/web/*.test.js test/browsersim/*.test.js","start":"node bin/rubric.js","test:all":"npm test && npm run test:spawn && npm run test:browser","test:spawn":"node --test test/spawn/*.test.js","test:browser":"playwright test"},"_npmUser":{"name":"damonjw","email":"damon@wischik.com"},"_npmVersion":"11.14.1","description":"A front end for Codex optimized for working with maths, using a browser with MathJax as the UI.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"smol-toml":"^1.6.1","@openai/codex":"^0.135.0","@inquirer/select":"^5.2.0"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^26.1.0","markdown-it":"^14.1.0","@playwright/test":"^1.60.0"},"_npmOperationalInternal":{"tmp":"tmp/rubric_0.1.9_1780767463847_0.9858400858466874","host":"s3://npm-registry-packages-npm-production"}},"0.1.10":{"name":"@damonjw/rubric","version":"0.1.10","keywords":["codex","ai","agent","maths","mathjax","latex","tikz","notebook"],"author":{"name":"Damon Wischik"},"license":"AGPL-3.0-or-later","_id":"@damonjw/rubric@0.1.10","maintainers":[{"name":"damonjw","email":"damon@wischik.com"}],"bugs":{"url":"https://github.com/damonjw/dev/issues"},"bin":{"rubric":"bin/rubric.js"},"dist":{"shasum":"0f3dd6f606e2c7307bf51c6b96f79dfecf7305b0","tarball":"https://registry.npmjs.org/@damonjw/rubric/-/rubric-0.1.10.tgz","fileCount":56,"integrity":"sha512-UeVCv+ECtDVGDEpv1ut6j96cDfkIKAaq5nBKmzxu3CA0kJJ9/fjHIcE3wiEGVZaWH64b4SBCqsEUKZ685kHv8Q==","signatures":[{"sig":"MEUCIGzFFssAgajeE/dJReAMwUZ2MLTYAVAk2ehtMHT8N4C/AiEA5tElCqV0A6hQGeDy6KVbhmwTnKb9yAIwEE5TM2oAAq8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":499381},"type":"module","engines":{"node":">=18"},"scripts":{"test":"node --test test/*.test.js test/cli/*.test.js test/server/*.test.js test/session/*.test.js test/stable/*.test.js test/web/*.test.js test/browsersim/*.test.js","start":"node bin/rubric.js","test:all":"npm test && npm run test:spawn && npm run test:browser","test:spawn":"node --test test/spawn/*.test.js","test:browser":"playwright test"},"_npmUser":{"name":"damonjw","email":"damon@wischik.com"},"_npmVersion":"11.14.1","description":"A front end for Codex optimized for working with maths, using a browser with MathJax as the UI.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"smol-toml":"^1.6.1","@openai/codex":"^0.135.0","@inquirer/select":"^5.2.0"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^26.1.0","markdown-it":"^14.1.0","@playwright/test":"^1.60.0"},"_npmOperationalInternal":{"tmp":"tmp/rubric_0.1.10_1780782414052_0.246374739906154","host":"s3://npm-registry-packages-npm-production"}},"0.1.11":{"name":"@damonjw/rubric","version":"0.1.11","keywords":["codex","ai","agent","maths","mathjax","latex","tikz","notebook"],"author":{"name":"Damon Wischik"},"license":"AGPL-3.0-or-later","_id":"@damonjw/rubric@0.1.11","maintainers":[{"name":"damonjw","email":"damon@wischik.com"}],"bugs":{"url":"https://github.com/damonjw/dev/issues"},"bin":{"rubric":"bin/rubric.js"},"dist":{"shasum":"b956e965b7fcb3122c02098de230490c24ee8755","tarball":"https://registry.npmjs.org/@damonjw/rubric/-/rubric-0.1.11.tgz","fileCount":56,"integrity":"sha512-iQLeN2mjZ2aGfgyN+h1PkLgnLpbyoPCTof83BqaPfIsQGD9qSvTrdsVYGtgGf60/egvZAEMEr7i8Epcizxoeag==","signatures":[{"sig":"MEYCIQCNRg6cRGeGBrNxb+4WsW95Rur86kMqEME5DnzRfIgmxgIhAMbnnBXEZFA+os8CNC+Z0eUiUcs6EqJHrdWvIMI6P31q","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":499722},"type":"module","engines":{"node":">=18"},"scripts":{"test":"node --test test/*.test.js test/cli/*.test.js test/server/*.test.js test/session/*.test.js test/stable/*.test.js test/web/*.test.js test/browsersim/*.test.js","start":"node bin/rubric.js","test:all":"npm test && npm run test:spawn && npm run test:browser","test:spawn":"node --test test/spawn/*.test.js","test:browser":"playwright test"},"_npmUser":{"name":"damonjw","email":"damon@wischik.com"},"_npmVersion":"11.14.1","description":"A front end for Codex optimized for working with maths, using a browser with MathJax as the UI.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"smol-toml":"^1.6.1","@openai/codex":"^0.135.0","@inquirer/select":"^5.2.0"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^26.1.0","markdown-it":"^14.1.0","@playwright/test":"^1.60.0"},"_npmOperationalInternal":{"tmp":"tmp/rubric_0.1.11_1780835125873_0.5396430829898491","host":"s3://npm-registry-packages-npm-production"}},"0.1.12":{"name":"@damonjw/rubric","version":"0.1.12","keywords":["codex","ai","agent","maths","mathjax","latex","tikz","notebook"],"author":{"name":"Damon Wischik"},"license":"AGPL-3.0-or-later","_id":"@damonjw/rubric@0.1.12","maintainers":[{"name":"damonjw","email":"damon@wischik.com"}],"bugs":{"url":"https://github.com/damonjw/dev/issues"},"bin":{"rubric":"bin/rubric.js"},"dist":{"shasum":"a3f4d3f4dc29a70ed0a30d3d0f7b6a63b41fe4aa","tarball":"https://registry.npmjs.org/@damonjw/rubric/-/rubric-0.1.12.tgz","fileCount":56,"integrity":"sha512-MZ5jEJ/sB7T2bRVntU4abcaiX77QbAoev9GK0XhFpqf19OMad2DaR1VFpLe1ztQWbh0741IxTu7qFL9pF/luYg==","signatures":[{"sig":"MEUCIQDRLj8jkYJIc9TSCdq/aC3WEfBSOR4xW8VFBcXfUmon2AIga/7veP6jbwWjC19GfZpKXvUtwnYkcc5TFyhb8H4RY7E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":500319},"type":"module","engines":{"node":">=18"},"scripts":{"test":"node --test test/*.test.js test/cli/*.test.js test/server/*.test.js test/session/*.test.js test/stable/*.test.js test/web/*.test.js test/browsersim/*.test.js","start":"node bin/rubric.js","test:all":"npm test && npm run test:spawn && npm run test:browser","test:spawn":"node --test test/spawn/*.test.js","test:browser":"playwright test"},"_npmUser":{"name":"damonjw","email":"damon@wischik.com"},"_npmVersion":"11.14.1","description":"A front end for Codex optimized for working with maths, using a browser with MathJax as the UI.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"smol-toml":"^1.6.1","@openai/codex":"^0.135.0","@inquirer/select":"^5.2.0"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^26.1.0","markdown-it":"^14.1.0","@playwright/test":"^1.60.0"},"_npmOperationalInternal":{"tmp":"tmp/rubric_0.1.12_1780867214038_0.4708825603335345","host":"s3://npm-registry-packages-npm-production"}},"0.1.13":{"name":"@damonjw/rubric","version":"0.1.13","keywords":["codex","ai","agent","maths","mathjax","latex","tikz","notebook"],"author":{"name":"Damon Wischik"},"license":"AGPL-3.0-or-later","_id":"@damonjw/rubric@0.1.13","maintainers":[{"name":"damonjw","email":"damon@wischik.com"}],"bugs":{"url":"https://github.com/damonjw/dev/issues"},"bin":{"rubric":"bin/rubric.js"},"dist":{"shasum":"d271f5bd1d4281a8a584d057ebc667e55cea2bc3","tarball":"https://registry.npmjs.org/@damonjw/rubric/-/rubric-0.1.13.tgz","fileCount":58,"integrity":"sha512-R6v+Qa+tqzZUrSxxc4JVdOr5nHkTueCqJWhlIOOzw7vjsP2nRFGDbTz3zzOuL/3HMJXThoXsCA6bCz/vI7rW6w==","signatures":[{"sig":"MEQCIHG2uqVfzefJx0yQUlnqWPWuTW1TxYXnjmrAph+5OU5JAiAqg1yKMWxqZGepLXDt0WE0/Nzw04ImsIC3W+nRYmjbPA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":514647},"type":"module","engines":{"node":">=18"},"scripts":{"test":"node --test test/*.test.js test/cli/*.test.js test/server/*.test.js test/session/*.test.js test/stable/*.test.js test/web/*.test.js test/browsersim/*.test.js","start":"node bin/rubric.js","test:all":"npm test && npm run test:spawn && npm run test:browser","test:spawn":"node --test test/spawn/*.test.js","test:browser":"playwright test"},"_npmUser":{"name":"damonjw","email":"damon@wischik.com"},"_npmVersion":"11.14.1","description":"A front end for Codex optimized for working with maths, using a browser with MathJax as the UI.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"smol-toml":"^1.6.1","@openai/codex":"^0.135.0","@inquirer/select":"^5.2.0"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^26.1.0","markdown-it":"^14.1.0","@playwright/test":"^1.60.0"},"_npmOperationalInternal":{"tmp":"tmp/rubric_0.1.13_1781250179999_0.1606054227261129","host":"s3://npm-registry-packages-npm-production"}},"0.1.14":{"name":"@damonjw/rubric","version":"0.1.14","keywords":["codex","ai","agent","maths","mathjax","latex","tikz","notebook"],"author":{"name":"Damon Wischik"},"license":"AGPL-3.0-or-later","_id":"@damonjw/rubric@0.1.14","maintainers":[{"name":"damonjw","email":"damon@wischik.com"}],"bugs":{"url":"https://github.com/damonjw/dev/issues"},"bin":{"rubric":"bin/rubric.js"},"dist":{"shasum":"bbb2e40f64d873f6b1947c753764bbffdf89249b","tarball":"https://registry.npmjs.org/@damonjw/rubric/-/rubric-0.1.14.tgz","fileCount":73,"integrity":"sha512-l8DhMd+hUbyniBlfF+BqEZ6ahUa8L0rz/VQ9QX6xgqFBJ+eLRQK5X5GRyrrqgO+xRtY8D/+qdHCG28bW7P2zCA==","signatures":[{"sig":"MEYCIQClKW+qST/GKBHlsgEIZREHZEEcttF3rS4bC2lApp39WgIhAMUifBsyOXyAflGC9hbZSUE+V+h8K6ETuZpKYFEtjCnr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":564109},"type":"module","engines":{"node":">=22.5.0"},"scripts":{"test":"node --test test/*.test.js test/cli/*.test.js test/server/*.test.js test/session/*.test.js test/stable/*.test.js test/web/*.test.js test/browsersim/*.test.js test/view/*.test.js test/find/*.test.js test/meta/*.test.js","start":"node bin/rubric.js","test:all":"npm test && npm run test:spawn && npm run test:browser","test:spawn":"node --test test/spawn/*.test.js","test:browser":"playwright test"},"_npmUser":{"name":"damonjw","email":"damon@wischik.com"},"_npmVersion":"11.14.1","description":"A front end for Codex optimized for working with maths, using a browser with MathJax as the UI.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"smol-toml":"^1.6.1","@openai/codex":"^0.135.0","@inquirer/select":"^5.2.0"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^26.1.0","markdown-it":"^14.1.0","@playwright/test":"^1.60.0"},"_npmOperationalInternal":{"tmp":"tmp/rubric_0.1.14_1782146753285_0.5616534105773303","host":"s3://npm-registry-packages-npm-production"}},"0.1.15":{"name":"@damonjw/rubric","version":"0.1.15","keywords":["codex","ai","agent","maths","mathjax","latex","tikz","notebook"],"author":{"name":"Damon Wischik"},"license":"AGPL-3.0-or-later","_id":"@damonjw/rubric@0.1.15","maintainers":[{"name":"damonjw","email":"damon@wischik.com"}],"bugs":{"url":"https://github.com/damonjw/dev/issues"},"bin":{"rubric":"bin/rubric.js"},"dist":{"shasum":"3a7a9b68a300ff87be43dca15982f9e7f0ff435d","tarball":"https://registry.npmjs.org/@damonjw/rubric/-/rubric-0.1.15.tgz","fileCount":76,"integrity":"sha512-YxNYAjojoXES4O3VUSPit4UVUn1tYNGveq9FCGQF6ve1SCf1kNGLg4LAjFPBF+FR3dqfZJOGvP93+Bu1xkMldA==","signatures":[{"sig":"MEYCIQDFXxLOuKyGo3Z/bMZcpP0JmiAuYvXmCdopnV+Z/NqJpgIhALnDNXeV1F+4iYBx6IWZt2S+kSPWw0Os8Sfbr9FVYCsv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":570986},"type":"module","engines":{"node":">=22.5.0"},"scripts":{"test":"node --test test/*.test.js test/cli/*.test.js test/server/*.test.js test/session/*.test.js test/stable/*.test.js test/web/*.test.js test/browsersim/*.test.js test/view/*.test.js test/find/*.test.js test/meta/*.test.js","start":"node bin/rubric.js","test:all":"npm test && npm run test:spawn && npm run test:browser","test:spawn":"node --test test/spawn/*.test.js","test:browser":"playwright test"},"_npmUser":{"name":"damonjw","email":"damon@wischik.com"},"_npmVersion":"11.14.1","description":"A front end for Codex optimized for working with maths, using a browser with MathJax as the UI.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"smol-toml":"^1.6.1","@openai/codex":"^0.135.0","@inquirer/select":"^5.2.0"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^26.1.0","markdown-it":"^14.1.0","@playwright/test":"^1.60.0"},"_npmOperationalInternal":{"tmp":"tmp/rubric_0.1.15_1782211190125_0.6714939162976412","host":"s3://npm-registry-packages-npm-production"}},"0.1.16":{"name":"@damonjw/rubric","version":"0.1.16","keywords":["codex","ai","agent","maths","mathjax","latex","tikz","notebook"],"author":{"name":"Damon Wischik"},"license":"AGPL-3.0-or-later","_id":"@damonjw/rubric@0.1.16","maintainers":[{"name":"damonjw","email":"damon@wischik.com"}],"bugs":{"url":"https://github.com/damonjw/dev/issues"},"bin":{"rubric":"bin/rubric.js"},"dist":{"shasum":"0005e6ded312cfeb459e8e89e5a070198e928159","tarball":"https://registry.npmjs.org/@damonjw/rubric/-/rubric-0.1.16.tgz","fileCount":81,"integrity":"sha512-Sxh0hrqjFbr8arRVENdr0ceBhlkLc9W8Qb+9epNSRomQ2+fYm+OuN6RB6ot4CybRkcoaBmp7YBcmmgYnz/9hSw==","signatures":[{"sig":"MEYCIQDU16rpULFNaQQluj3+pdlZIvDifrNdYuAs9u6Szf/I/gIhAMg7pQmCansHRb6Bb8Qjp3hVr4aVkSNdw0bSdGsZso5p","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":582622},"type":"module","engines":{"node":">=22.5.0"},"scripts":{"test":"node --test test/*.test.js test/cli/*.test.js test/server/*.test.js test/session/*.test.js test/stable/*.test.js test/web/*.test.js test/browsersim/*.test.js test/view/*.test.js test/find/*.test.js test/meta/*.test.js","start":"node bin/rubric.js","test:all":"npm test && npm run test:spawn && npm run test:browser","test:spawn":"node --test test/spawn/*.test.js","test:browser":"playwright test"},"_npmUser":{"name":"damonjw","email":"damon@wischik.com"},"_npmVersion":"11.14.1","description":"A front end for Codex optimized for working with maths, using a browser with MathJax as the UI.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"smol-toml":"^1.6.1","@openai/codex":"^0.135.0","@inquirer/select":"^5.2.0"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^26.1.0","markdown-it":"^14.1.0","@playwright/test":"^1.60.0"},"_npmOperationalInternal":{"tmp":"tmp/rubric_0.1.16_1782387249193_0.6853701180578793","host":"s3://npm-registry-packages-npm-production"}},"0.1.17":{"name":"@damonjw/rubric","version":"0.1.17","keywords":["codex","ai","agent","maths","mathjax","latex","tikz","notebook"],"author":{"name":"Damon Wischik"},"license":"AGPL-3.0-or-later","_id":"@damonjw/rubric@0.1.17","maintainers":[{"name":"damonjw","email":"damon@wischik.com"}],"bugs":{"url":"https://github.com/damonjw/dev/issues"},"bin":{"rubric":"bin/rubric.js"},"dist":{"shasum":"ec085c33400e92fe2d622aaacf3bb80fcd037df6","tarball":"https://registry.npmjs.org/@damonjw/rubric/-/rubric-0.1.17.tgz","fileCount":82,"integrity":"sha512-41UDbvGxXCeKXBJqiLfv8krzh/ZrVS/TQeDbA3G2jHMcHG1gtPGsSkgYX7oYzXymE5HydZ/kspDvPyeaytzyzA==","signatures":[{"sig":"MEQCIBycaRnE2CVSI6mmV2f4VdgjnKFZeL/YhcYB143p3r//AiBFytQ87ADHpJTzG6M6O0SIDbnQ6S7bmMZiIZ+HUV8zTg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":585994},"type":"module","engines":{"node":">=22.5.0"},"scripts":{"test":"node --test test/*.test.js test/cli/*.test.js test/server/*.test.js test/session/*.test.js test/stable/*.test.js test/web/*.test.js test/browsersim/*.test.js test/view/*.test.js test/find/*.test.js test/meta/*.test.js","start":"node bin/rubric.js","test:all":"npm test && npm run test:spawn && npm run test:browser","test:spawn":"node --test test/spawn/*.test.js","test:browser":"playwright test"},"_npmUser":{"name":"damonjw","email":"damon@wischik.com"},"_npmVersion":"11.14.1","description":"A front end for Codex optimized for working with maths, using a browser with MathJax as the UI.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"smol-toml":"^1.6.1","@openai/codex":"^0.135.0","@inquirer/select":"^5.2.0"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^26.1.0","markdown-it":"^14.1.0","@playwright/test":"^1.60.0"},"_npmOperationalInternal":{"tmp":"tmp/rubric_0.1.17_1782423098343_0.38332585354121185","host":"s3://npm-registry-packages-npm-production"}},"0.1.18":{"name":"@damonjw/rubric","version":"0.1.18","keywords":["codex","ai","agent","maths","mathjax","latex","tikz","notebook"],"author":{"name":"Damon Wischik"},"license":"AGPL-3.0-or-later","_id":"@damonjw/rubric@0.1.18","maintainers":[{"name":"damonjw","email":"damon@wischik.com"}],"bugs":{"url":"https://github.com/damonjw/dev/issues"},"bin":{"rubric":"bin/rubric.js"},"dist":{"shasum":"1057966f6b4ae841c5fefc2146ae9135597b6969","tarball":"https://registry.npmjs.org/@damonjw/rubric/-/rubric-0.1.18.tgz","fileCount":82,"integrity":"sha512-9UkCxu0NWiqVQug4NYg8ImHfQAL764QwBu7PcTq18CMFyuF/cCi1t2SUF8R4qX3ge4EpPbdhR8d/QsOvBZWmUw==","signatures":[{"sig":"MEUCIDIjv73fZP7FKLkz/CDd2Evtz1uKtItrJvZ2a+KSUOUIAiEA8c92+PUKFV8NudpYR7wI9yqr54/nvubROamf9v+faGg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":586358},"type":"module","engines":{"node":">=22.5.0"},"scripts":{"test":"node --test test/*.test.js test/cli/*.test.js test/server/*.test.js test/session/*.test.js test/stable/*.test.js test/web/*.test.js test/browsersim/*.test.js test/view/*.test.js test/find/*.test.js test/meta/*.test.js","start":"node bin/rubric.js","test:all":"npm test && npm run test:spawn && npm run test:browser","test:spawn":"node --test test/spawn/*.test.js","test:browser":"playwright test"},"_npmUser":{"name":"damonjw","email":"damon@wischik.com"},"_npmVersion":"11.14.1","description":"A front end for Codex optimized for working with maths, using a browser with MathJax as the UI.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"smol-toml":"^1.6.1","@openai/codex":"^0.135.0","@inquirer/select":"^5.2.0"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^26.1.0","markdown-it":"^14.1.0","@playwright/test":"^1.60.0"},"_npmOperationalInternal":{"tmp":"tmp/rubric_0.1.18_1782894943109_0.283145289033331","host":"s3://npm-registry-packages-npm-production"}},"0.1.19":{"name":"@damonjw/rubric","version":"0.1.19","keywords":["codex","ai","agent","maths","mathjax","latex","tikz","notebook"],"author":{"name":"Damon Wischik"},"license":"AGPL-3.0-or-later","_id":"@damonjw/rubric@0.1.19","maintainers":[{"name":"damonjw","email":"damon@wischik.com"}],"bugs":{"url":"https://github.com/damonjw/dev/issues"},"bin":{"rubric":"bin/rubric.js"},"dist":{"shasum":"680caf137932d616d859a9736ecb92088b7221de","tarball":"https://registry.npmjs.org/@damonjw/rubric/-/rubric-0.1.19.tgz","fileCount":86,"integrity":"sha512-ITPYbRiNTkhVuu8pacfwdns3UQXPo5PS31kK2KlgumQNrHeRdDt5E4dZC/pAXVblpeOsRTs+0tFI4fiejqckhQ==","signatures":[{"sig":"MEQCIDhZvf3vNM01n7NpCjDoUpmX82CPwQ6Q8FS0gf/bJuaIAiAPQS+CwXavRU9tMjQxjx/hmpDKu9eiTujWuEmXrg/G0Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":594491},"type":"module","engines":{"node":">=22.5.0"},"scripts":{"test":"node --test test/*.test.js test/cli/*.test.js test/server/*.test.js test/session/*.test.js test/stable/*.test.js test/web/*.test.js test/browsersim/*.test.js test/view/*.test.js test/find/*.test.js test/meta/*.test.js","start":"node bin/rubric.js","test:all":"npm test && npm run test:spawn && npm run test:browser","test:spawn":"node --test test/spawn/*.test.js","test:browser":"playwright test"},"_npmUser":{"name":"damonjw","email":"damon@wischik.com"},"_npmVersion":"11.14.1","description":"A front end for Codex optimized for working with maths, using a browser with MathJax as the UI.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"smol-toml":"^1.6.1","@openai/codex":"^0.135.0","@inquirer/select":"^5.2.0"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^26.1.0","markdown-it":"^14.1.0","@playwright/test":"^1.60.0"},"_npmOperationalInternal":{"tmp":"tmp/rubric_0.1.19_1782945747262_0.5061874240169695","host":"s3://npm-registry-packages-npm-production"}},"0.1.20":{"name":"@damonjw/rubric","version":"0.1.20","keywords":["codex","ai","agent","maths","mathjax","latex","tikz","notebook"],"author":{"name":"Damon Wischik"},"license":"AGPL-3.0-or-later","_id":"@damonjw/rubric@0.1.20","maintainers":[{"name":"damonjw","email":"damon@wischik.com"}],"bugs":{"url":"https://github.com/damonjw/dev/issues"},"bin":{"rubric":"bin/rubric.js"},"dist":{"shasum":"12729721f99f5cf1ea1a5d58404c90aabb9721cb","tarball":"https://registry.npmjs.org/@damonjw/rubric/-/rubric-0.1.20.tgz","fileCount":86,"integrity":"sha512-6twdbBU9aB7UjFzuBNuhYlSACazPPKSQAYXhcntYglf/nWXkuNjV9Fq5Bn1/3Q3Vp0JHJ4QLcUvIJsMsHoVT7g==","signatures":[{"sig":"MEUCIQC6dWDeH9GfJEXnXuvkV8Szva9jho6P+i51lXAPi8Xx1AIgLUxMCt9GGD7ER5Rgawxg5XtaseKUvdzPbAuiEeUys3U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":594660},"type":"module","engines":{"node":">=22.5.0"},"scripts":{"test":"node --test test/*.test.js test/cli/*.test.js test/server/*.test.js test/session/*.test.js test/stable/*.test.js test/web/*.test.js test/browsersim/*.test.js test/view/*.test.js test/find/*.test.js test/meta/*.test.js","start":"node bin/rubric.js","test:all":"npm test && npm run test:spawn && npm run test:browser","test:spawn":"node --test test/spawn/*.test.js","test:browser":"playwright test"},"_npmUser":{"name":"damonjw","email":"damon@wischik.com"},"_npmVersion":"11.14.1","description":"A front end for Codex optimized for working with maths, using a browser with MathJax as the UI.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"smol-toml":"^1.6.1","@openai/codex":"^0.135.0","@inquirer/select":"^5.2.0"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^26.1.0","markdown-it":"^14.1.0","@playwright/test":"^1.60.0"},"_npmOperationalInternal":{"tmp":"tmp/rubric_0.1.20_1784840525079_0.7570502674137809","host":"s3://npm-registry-packages-npm-production"}},"0.1.21":{"name":"@damonjw/rubric","version":"0.1.21","keywords":["codex","ai","agent","maths","mathjax","latex","tikz","notebook"],"author":{"name":"Damon Wischik"},"license":"AGPL-3.0-or-later","_id":"@damonjw/rubric@0.1.21","maintainers":[{"name":"damonjw","email":"damon@wischik.com"}],"bugs":{"url":"https://github.com/damonjw/dev/issues"},"bin":{"rubric":"bin/rubric.js"},"dist":{"shasum":"298731631bdae2ce0c276ccc1bafa343a1861290","tarball":"https://registry.npmjs.org/@damonjw/rubric/-/rubric-0.1.21.tgz","fileCount":86,"integrity":"sha512-7gViW5cw2MV8tiARRXmyscQqwq/jxJgjzuWFipDfhGoxlcq+mSYa2g7InEetUZatO5S/Zl6hQCiCdHqVOQ8Z+Q==","signatures":[{"sig":"MEYCIQClP7NfVcaSP3fYQPlg7p8jR53jWybcah6bL+mDoyXaPgIhAKZQw9mQ+KU3Twx8VMk+8auduyaxHCzBcdQNAYUjAvlC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":594660},"type":"module","engines":{"node":">=22.5.0"},"scripts":{"test":"node --test test/*.test.js test/cli/*.test.js test/server/*.test.js test/session/*.test.js test/stable/*.test.js test/web/*.test.js test/browsersim/*.test.js test/view/*.test.js test/find/*.test.js test/meta/*.test.js","start":"node bin/rubric.js","test:all":"npm test && npm run test:spawn && npm run test:browser","test:spawn":"node --test test/spawn/*.test.js","test:browser":"playwright test"},"_npmUser":{"name":"damonjw","email":"damon@wischik.com"},"_npmVersion":"11.14.1","description":"A front end for Codex optimized for working with maths, using a browser with MathJax as the UI.","directories":{},"_nodeVersion":"25.2.1","dependencies":{"smol-toml":"^1.6.1","@openai/codex":"^0.135.0","@inquirer/select":"^5.2.0"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^26.1.0","markdown-it":"^14.1.0","@playwright/test":"^1.60.0"},"_npmOperationalInternal":{"tmp":"tmp/rubric_0.1.21_1784840584693_0.8486984818776768","host":"s3://npm-registry-packages-npm-production"}},"0.1.22":{"name":"@damonjw/rubric","version":"0.1.22","keywords":["codex","ai","agent","maths","mathjax","latex","tikz","notebook"],"author":{"name":"Damon Wischik"},"license":"AGPL-3.0-or-later","_id":"@damonjw/rubric@0.1.22","maintainers":[{"name":"damonjw","email":"damon@wischik.com"}],"bugs":{"url":"https://github.com/damonjw/dev/issues"},"bin":{"rubric":"bin/rubric.js"},"dist":{"shasum":"20e43651608f37d2f9a7dc33331a3e0e0ff81779","tarball":"https://registry.npmjs.org/@damonjw/rubric/-/rubric-0.1.22.tgz","fileCount":86,"integrity":"sha512-HCbE1gIatYSJ6vt+UHMjA2xQtxHFUicYGVLf35enaIDvT2sTunHxag1oQ0gferEymvgmH1jkYq2K7XmaV3Nduw==","signatures":[{"sig":"MEYCIQDT1d1R9f6GUCi+LL4N77a6LwPAGLxoWfz+ZX9G57tWuAIhAPHm3H+9KfovwgOT/zpddcrg1mx7hEx3ccZQh2pcpX+6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":595197},"type":"module","engines":{"node":">=22.5.0"},"scripts":{"test":"node --test test/*.test.js test/cli/*.test.js test/server/*.test.js test/session/*.test.js test/stable/*.test.js test/web/*.test.js test/browsersim/*.test.js test/view/*.test.js test/find/*.test.js test/meta/*.test.js","start":"node bin/rubric.js","test:all":"npm test && npm run test:spawn && npm run test:browser","test:spawn":"node --test test/spawn/*.test.js","test:browser":"playwright test"},"_npmUser":{"name":"damonjw","email":"damon@wischik.com"},"_npmVersion":"11.16.0","description":"A front end for Codex optimized for working with maths, using a browser with MathJax as the UI.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"smol-toml":"^1.6.1","@openai/codex":"^0.135.0","@inquirer/select":"^5.2.0"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^26.1.0","markdown-it":"^14.3.0","@playwright/test":"^1.60.0"},"_npmOperationalInternal":{"tmp":"tmp/rubric_0.1.22_1785145932451_0.8065413328302291","host":"s3://npm-registry-packages-npm-production"}},"0.1.23":{"name":"@damonjw/rubric","version":"0.1.23","keywords":["codex","ai","agent","maths","mathjax","latex","tikz","notebook"],"author":{"name":"Damon Wischik"},"license":"AGPL-3.0-or-later","_id":"@damonjw/rubric@0.1.23","maintainers":[{"name":"damonjw","email":"damon@wischik.com"}],"bugs":{"url":"https://github.com/damonjw/dev/issues"},"bin":{"rubric":"bin/rubric.js"},"dist":{"shasum":"97558447bcd032d4cd89f3ffc9f487c02466dfa6","tarball":"https://registry.npmjs.org/@damonjw/rubric/-/rubric-0.1.23.tgz","fileCount":96,"integrity":"sha512-PacHuhd3FbS8wE2sqU1hTHRYUWLbvzp8+EyZdRmueCCAM6rFIOPS6skQRDZEgrBtcN9LUyjY3nN1Lr0olv665w==","signatures":[{"sig":"MEUCIQC5zu4Q1JnG2m48k91PgqOj4WQQJq7vUtj4GONrMS7gxgIga5ZpjTKzO3tsJnmkLChittaHLnOjeH3IBpkT6FE3INs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":707747},"type":"module","engines":{"node":">=22.5.0"},"gitHead":"a716f9fdd95fc383788b349a3d86bb260531eca5","scripts":{"test":"node --test test/*.test.js test/cli/*.test.js test/server/*.test.js test/session/*.test.js test/stable/*.test.js test/web/*.test.js test/browsersim/*.test.js test/view/*.test.js test/find/*.test.js test/meta/*.test.js","start":"node bin/rubric.js","test:all":"npm test && npm run test:spawn && npm run test:browser","test:spawn":"node --test test/spawn/*.test.js","test:browser":"playwright test"},"_npmUser":{"name":"damonjw","email":"damon@wischik.com"},"_npmVersion":"11.19.0","description":"A front end for Codex optimized for working with maths, using a browser with MathJax as the UI.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"smol-toml":"^1.6.1","@inquirer/select":"^5.2.0"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^26.1.0","markdown-it":"^14.3.0","@playwright/test":"^1.62.1"},"_npmOperationalInternal":{"tmp":"tmp/rubric_0.1.23_1788540335228_0.7354074328271947","host":"s3://npm-registry-packages-npm-production"}},"0.1.24":{"_id":"@damonjw/rubric@0.1.24","bin":{"rubric":"bin/rubric.js"},"bugs":{"url":"https://github.com/damonjw/dev/issues"},"dist":{"shasum":"a79256794ba8806b624ba419266f88cb86d05ef7","tarball":"https://registry.npmjs.org/@damonjw/rubric/-/rubric-0.1.24.tgz","fileCount":98,"integrity":"sha512-T7dRWnxvJbWcN9Q/or4wNjeP276i97YVGUHpBowwsqUqIKcdrWkGguPKaWl8m03kF97F4BltxjJeGlHkOHxh/g==","signatures":[{"sig":"MEQCIFGi/JyWttPbJJiXf54NUh/J281a6/kvQkweW4GpNnwZAiBkT+TpZOHRkqRHau7xwyq2HZMM510S9VQC2PoOML1JKg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCcFY+kSmyCV0+IAxLXWWcAiuMjiuvfYIvgGs/xaszVSAIgFEqgDvvpzVoVnJ13F66Z7mxBXB4rD/gAm4SzpeCkSow="}],"unpackedSize":811883},"name":"@damonjw/rubric","type":"module","author":{"name":"Damon Wischik"},"engines":{"node":">=22.5.0"},"license":"AGPL-3.0-or-later","scripts":{"test":"node --test test/*.test.js test/cli/*.test.js test/server/*.test.js test/session/*.test.js test/stable/*.test.js test/web/*.test.js test/browsersim/*.test.js test/view/*.test.js test/find/*.test.js test/meta/*.test.js","start":"node bin/rubric.js","test:all":"npm test && npm run test:spawn && npm run test:browser","test:spawn":"node --test test/spawn/*.test.js","test:browser":"playwright test"},"version":"0.1.24","_npmUser":{"name":"damonjw","email":"damon@wischik.com"},"keywords":["codex","ai","agent","maths","mathjax","latex","tikz","notebook"],"_npmVersion":"11.16.0","description":"A front end for Codex optimized for working with maths, using a browser with MathJax as the UI.","directories":{},"maintainers":[{"name":"damonjw","email":"damon@wischik.com"}],"_nodeVersion":"24.18.0","dependencies":{"saxes":"^6.0.0","smol-toml":"^1.6.1","@inquirer/select":"^5.2.0"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^26.1.0","markdown-it":"^14.3.0","@playwright/test":"^1.62.1"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/rubric_0.1.24_1789849581246_0.6623898366779888"}}},"time":{"created":"2026-06-02T08:55:06.042Z","modified":"2026-09-19T20:26:21.544Z","0.1.0":"2026-06-02T08:55:06.471Z","0.1.1":"2026-06-02T12:21:50.419Z","0.1.2":"2026-06-02T12:37:25.509Z","0.1.3":"2026-06-02T16:40:14.330Z","0.1.4":"2026-06-02T16:51:59.790Z","0.1.5":"2026-06-05T07:11:42.867Z","0.1.6":"2026-06-05T10:08:14.215Z","0.1.7":"2026-06-05T22:42:18.365Z","0.1.8":"2026-06-06T01:59:40.883Z","0.1.9":"2026-06-06T17:37:44.032Z","0.1.10":"2026-06-06T21:46:54.277Z","0.1.11":"2026-06-07T12:25:26.062Z","0.1.12":"2026-06-07T21:20:14.246Z","0.1.13":"2026-06-12T07:43:00.158Z","0.1.14":"2026-06-22T16:45:53.499Z","0.1.15":"2026-06-23T10:39:50.278Z","0.1.16":"2026-06-25T11:34:09.402Z","0.1.17":"2026-06-25T21:31:38.539Z","0.1.18":"2026-07-01T08:35:43.283Z","0.1.19":"2026-07-01T22:42:27.434Z","0.1.20":"2026-07-23T21:02:05.324Z","0.1.21":"2026-07-23T21:03:04.839Z","0.1.22":"2026-07-27T09:52:12.606Z","0.1.23":"2026-09-04T16:45:35.368Z","0.1.24":"2026-09-19T20:26:21.334Z"},"bugs":{"url":"https://github.com/damonjw/dev/issues"},"author":{"name":"Damon Wischik"},"license":"AGPL-3.0-or-later","keywords":["codex","ai","agent","maths","mathjax","latex","tikz","notebook"],"description":"A front end for Codex optimized for working with maths, using a browser with MathJax as the UI.","maintainers":[{"name":"damonjw","email":"damon@wischik.com"}],"readme":"# RUBRIC\n\nRUBRIC is a browser front end for AI agents (Codex and Claude Code),\nmade for working with mathematics. It treats the conversation as a manuscript, rather than a flow:\nit is a record of what you and the agent have said to each other, with noisy tool output kept to\nthe console, and it lets you scroll back and edit your previous messages. It uses MathJax\nto show LaTeX, and it also supports TikZ graphics.\nRUBRIC is merely a front end driver for the agent; it doesn't implement any AI agent logic of its own.\n\n- Full support for Codex and Claude. You have full control from the browser:\n  you can type in your message and submit it, edit your previous messages, and interrupt its thinking.\n  Under the hood it uses `codex app-server` and `claude --output-format stream-json`\n  to support this. \n  \n- For Claude, you can also use RUBRIC in\n  spectator mode, where it still shows the maths-friendly view of the output but leaves\n  all interaction to the terminal.\n\n- No support yet for Gemini/Antigravity, because\n  we're still waiting for [/rewind](https://antigravity.google/docs/cli-reference#:~:text=/rewind) support\n  in the [SDK](https://github.com/google-antigravity/antigravity-sdk-python/blob/main/google/antigravity/connections/README.md#:~:text=Key%20methods%20and%20properties).\n\nWhy the name? Rubric means instructions, such as in an exam or a church order of service.\nIn RUBRIC, you write the instructions that the AI agent follows.\nThe word comes from the colour that is traditionally used — _rubric_ is Latin for _red_.\nYour instructions are shown in red as `⊢ <text>`,\nusing syntax from mathematical logic for statements that are to be treated as given.\n\n## Installation and usage\n\nTo install,\n```bash\nnpm install -g @damonjw/rubric\n```\n\nRun `rubric` from the directory you want to work in:\n```bash\nrubric                # start a new session with the default agent\nrubric resume         # resume a previous session (pick from sessions in current directory)\nrubric resume ID      # resume a specific previous session\nrubric ... --agent A  # specify the agent: codex, claude, or claudecli\n```\n\nTo choose the agent once and for all, put `agent = \"claude\"` in `~/.config/rubric`\n(or in a project's `.rubric`, which takes precedence).\n\nWhile using a live backend, you can use `/model`, `/status`, and `/settings`.\nOther slash-commands are not supported. See `rubric --help` for further help.\n\nYou may like to add instructions in your `AGENTS.md` or `CLAUDE.md` to tell the agent what it can output:\n```md\nIn your output, use LaTeX for all maths output. It should be raw LaTeX, not in a code block.\n(The user is using a Markdown viewer that renders LaTeX.)\nFor figures, you can use `\\begin{tikzpicture} ... \\end{tikzpicture}` within LaTeX.\n```\n\n\n## Configuration\n\n```bash\nrubric config          # run a wizard to set the configuration\nrubric config --help   # describe all configuration options\nrubric verify          # test if there is a working LaTeX command for TikZ graphics\n```\n\nWhen you run `rubric config` it lets you specify a `.sty` file\nwhich will be included before rendering any mathematics in the browser;\nthis is useful for defining custom commands like `\\newcommand{\\KL}{\\operatorname{KL}}`.\nIt also lets you customize the CSS.\n\nThe configuration generated by `rubric config` is stored in a file `.rubric` in the current directory.\nFor more information, see `rubric config --help`.\n\nRun `rubric verify` to verify that you have a working LaTeX installation that can render TikZ graphics.\nIt uses the preamble specified by `rubric config`.\nYou can choose a custom LaTeX command using `rubric config`.\nIf you don't have a working LaTeX installation, RUBRIC will still work but it won't\nbe able to show TikZ graphics.\n\n\n## Prerequisites\n\n- **Node.js ≥ 18.**\n- **Codex or Claude Code.** — Install them first, and log in.\n- **LaTeX (optional)** — TikZ figures are rendered server-side using `latex` and\n  `dvisvgm`. Everything else works without LaTeX;\n  only TikZ rendering needs it.\n\n\n\n## License\n\n[GNU AGPL-3.0-or-later](./LICENSE) © Damon Wischik\n\nRUBRIC is free software under the GNU Affero General Public License. You are\nfree to use, run, and modify it. If you distribute it, or offer a modified\nversion to others over a network, you must make your full source available under\nthe same license. This is deliberate: anyone — including individuals at\ncompanies — may use RUBRIC freely, but it cannot be folded into a closed-source\nproduct or service.\n\nRUBRIC invokes the separately-licensed Codex CLI\n([Apache-2.0](https://github.com/openai/codex)); that license applies to Codex\nitself, not to this project. The AGPL is compatible with RUBRIC's\npermissively-licensed dependencies.\n\n### Bundled third-party code\n\nThis package vendors [markdown-it](https://github.com/markdown-it/markdown-it)\n(`src/web/markdown-it.min.js`), which is distributed under the MIT License,\nCopyright (c) 2014 Vitaly Puzrin, Alex Kocharin. Its license text is included at\n[`src/web/markdown-it.LICENSE`](./src/web/markdown-it.LICENSE).\n\n[MathJax](https://www.mathjax.org/) is loaded from a CDN (Apache-2.0) and is not\nbundled.\n","readmeFilename":"README.md"}