{"_id":"lax-archive","_rev":"56-69074e2b752d0f940c5dd25ae05868ed","name":"lax-archive","dist-tags":{"latest":"0.1.50"},"versions":{"0.1.0":{"name":"lax-archive","version":"0.1.0","license":"Apache-2.0","_id":"lax-archive@0.1.0","maintainers":[{"name":"jan3er","email":"jan3er@gmail.com"}],"bin":{"lax":"bin/lax.js","lax-server":"bin/lax-server.js"},"dist":{"shasum":"527b93d67ceae5c6a3d8dcf03c95874ea0664952","tarball":"https://registry.npmjs.org/lax-archive/-/lax-archive-0.1.0.tgz","fileCount":154,"integrity":"sha512-IGs28R5EOeGBsIBFrVX+9D3zeY4GtLJZwmf7WNedeJmnFCD5UfgZABon5t1j9tfhqsMA+UxFpwje406pUl9vjA==","signatures":[{"sig":"MEYCIQDnX1qYlnKXynvjXZzYVWhfnSSuf+0AUx5xZeR92m9rwwIhAI49P/h0EqSP3GAb5NzeAGftYUDgZ2txTMfvEzoxUcsy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":718301},"type":"module","engines":{"node":">=20"},"gitHead":"98d0020d77c91764e3ef1eb4e200c28a2970bb62","scripts":{"lax":"tsx src/index.ts","test":"vitest run","build":"tsc -p tsconfig.json","lax-server":"tsx src/server/main.ts","test:watch":"vitest"},"_npmUser":{"name":"jan3er","email":"jan3er@gmail.com"},"_npmVersion":"11.12.1","description":"Lax: the social and archival layer for automated Lean formalization","directories":{},"_nodeVersion":"22.20.0","dependencies":{"d3":"^7.9.0","yaml":"^2.6.0","katex":"^0.18.1","shiki":"^4.3.1","marked":"^15.0.0","commander":"^12.1.0","smol-toml":"^1.3.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^4.1.10","typescript":"^5.7.0","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/lax-archive_0.1.0_1784832199698_0.3830598579869424","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"lax-archive","version":"0.1.1","license":"Apache-2.0","_id":"lax-archive@0.1.1","maintainers":[{"name":"jan3er","email":"jan3er@gmail.com"}],"bin":{"lax":"bin/lax.js","lax-server":"bin/lax-server.js"},"dist":{"shasum":"ed598c661558a41da335d2ef7fd8c69f42059a16","tarball":"https://registry.npmjs.org/lax-archive/-/lax-archive-0.1.1.tgz","fileCount":154,"integrity":"sha512-Xfc7oDYcLzQEq85ZaZJJIKC5f+7QaXkbnPb8AJY5IYgfaz7bxMXu5JQ9xU2uwgvE3vjK0dcdjLuSs+trqOQrdQ==","signatures":[{"sig":"MEQCIF4DnIjvyZf7SlpwKlzlgtsvZackOx/xSNLn7dWC9Vb5AiA305BzOu+/Yuwx6PVLwW2WH1PfAn+7cbK+nnqrL5nXsQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":721309},"type":"module","engines":{"node":">=20"},"gitHead":"98d0020d77c91764e3ef1eb4e200c28a2970bb62","scripts":{"lax":"tsx src/index.ts","test":"vitest run","build":"tsc -p tsconfig.json","lax-server":"tsx src/server/main.ts","test:watch":"vitest"},"_npmUser":{"name":"jan3er","email":"jan3er@gmail.com"},"_npmVersion":"11.12.1","description":"Lax: the social and archival layer for automated Lean formalization","directories":{},"_nodeVersion":"22.20.0","dependencies":{"d3":"^7.9.0","yaml":"^2.6.0","katex":"^0.18.1","shiki":"^4.3.1","marked":"^15.0.0","commander":"^12.1.0","smol-toml":"^1.3.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^4.1.10","typescript":"^5.7.0","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/lax-archive_0.1.1_1784871311625_0.7930480391959729","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"lax-archive","version":"0.1.2","license":"Apache-2.0","_id":"lax-archive@0.1.2","maintainers":[{"name":"jan3er","email":"jan3er@gmail.com"}],"bin":{"lax":"bin/lax.js","lax-server":"bin/lax-server.js"},"dist":{"shasum":"335036dd4c1f32b232d5353378c053b4c4833258","tarball":"https://registry.npmjs.org/lax-archive/-/lax-archive-0.1.2.tgz","fileCount":154,"integrity":"sha512-SgNpO/01Wz5esYWypjXDfThgC+qXIRAYu3LeiFz22DuAjfwA/wCroGhRQDrPwbsW+ZjpfV8QMv3TtemEozsGjQ==","signatures":[{"sig":"MEUCIQDdzrLRm0rjsMB3ABUTJNsG7gndmMjioykQ+/+Jlb8RrwIgB48wJBgSSfOtrU43dbki1+xqdpsfF1fIS1NcTIniFoE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":721030},"type":"module","engines":{"node":">=20"},"gitHead":"98d0020d77c91764e3ef1eb4e200c28a2970bb62","scripts":{"lax":"tsx src/index.ts","test":"vitest run","build":"tsc -p tsconfig.json","lax-server":"tsx src/server/main.ts","test:watch":"vitest"},"_npmUser":{"name":"jan3er","email":"jan3er@gmail.com"},"_npmVersion":"11.12.1","description":"Lax: the social and archival layer for automated Lean formalization","directories":{},"_nodeVersion":"22.20.0","dependencies":{"d3":"^7.9.0","yaml":"^2.6.0","katex":"^0.18.1","shiki":"^4.3.1","marked":"^15.0.0","commander":"^12.1.0","smol-toml":"^1.3.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^4.1.10","typescript":"^5.7.0","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/lax-archive_0.1.2_1784873093614_0.21058393250257512","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"lax-archive","version":"0.1.3","license":"Apache-2.0","_id":"lax-archive@0.1.3","maintainers":[{"name":"jan3er","email":"jan3er@gmail.com"}],"bin":{"lax":"bin/lax.js","lax-server":"bin/lax-server.js"},"dist":{"shasum":"9c359abb805922b9ee7b921dfe36f5dcf46e12cd","tarball":"https://registry.npmjs.org/lax-archive/-/lax-archive-0.1.3.tgz","fileCount":156,"integrity":"sha512-1XKidBUjsHh3KqazgwjIRSN7IbxsHFdVshkfwNWNXt6EfduhVxrTxdgWEnQvmNJg/V0iWg77GvhamZcLFROC7g==","signatures":[{"sig":"MEYCIQCaAliku59+sEeKwqmIMTAzw/gKLumtcHjPRWXrGDFLkAIhAPvbFbre/HfNQh/s+K8I7/cu8kRYtB3KUF3TT97ZNEVB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":750522},"type":"module","engines":{"node":">=20"},"gitHead":"600c4f0424590dc4ef86b3adb7361452d22798f4","scripts":{"lax":"tsx src/index.ts","test":"vitest run","build":"tsc -p tsconfig.json","prepack":"npm run build","lax-server":"tsx src/server/main.ts","test:watch":"vitest"},"_npmUser":{"name":"jan3er","email":"jan3er@gmail.com"},"_npmVersion":"11.12.1","description":"Lax: the social and archival layer for automated Lean formalization","directories":{},"_nodeVersion":"22.20.0","dependencies":{"d3":"^7.9.0","yaml":"^2.6.0","katex":"^0.18.1","shiki":"^4.3.1","marked":"^15.0.0","commander":"^12.1.0","smol-toml":"^1.3.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^4.1.10","typescript":"^5.7.0","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/lax-archive_0.1.3_1784963917260_0.49065076727389867","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"lax-archive","version":"0.1.4","license":"Apache-2.0","_id":"lax-archive@0.1.4","maintainers":[{"name":"jan3er","email":"jan3er@gmail.com"}],"bin":{"lax":"bin/lax.js","lax-server":"bin/lax-server.js"},"dist":{"shasum":"5f1353a09b142a22ca7c16fc2962a74327ca9803","tarball":"https://registry.npmjs.org/lax-archive/-/lax-archive-0.1.4.tgz","fileCount":158,"integrity":"sha512-r+j+jAlk4PwoHxLlK6dGPhcAeUZEGRpQUgqcBPjUKuEYUVlnpe32csHZgDNOdcWdGd72j9meQTQHPRSJLabJiQ==","signatures":[{"sig":"MEQCIBVfwA25OJEwOkCDz/SV0Y9fo2oRkBQFJ3RAuZKsHG+DAiAUbW09IOUcEk2gD8bMdAExn2iRen7pLeOtZLONUlZTRQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":757512},"type":"module","engines":{"node":">=20"},"gitHead":"600c4f0424590dc4ef86b3adb7361452d22798f4","scripts":{"lax":"tsx src/index.ts","test":"vitest run","build":"tsc -p tsconfig.json","prepack":"npm run build","lax-server":"tsx src/server/main.ts","test:watch":"vitest"},"_npmUser":{"name":"jan3er","email":"jan3er@gmail.com"},"_npmVersion":"11.12.1","description":"Lax: the social and archival layer for automated Lean formalization","directories":{},"_nodeVersion":"22.20.0","dependencies":{"d3":"^7.9.0","yaml":"^2.6.0","katex":"^0.18.1","shiki":"^4.3.1","marked":"^15.0.0","commander":"^12.1.0","smol-toml":"^1.3.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^4.1.10","typescript":"^5.7.0","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/lax-archive_0.1.4_1784965230690_0.9886937001793894","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"lax-archive","version":"0.1.5","license":"Apache-2.0","_id":"lax-archive@0.1.5","maintainers":[{"name":"jan3er","email":"jan3er@gmail.com"}],"bin":{"lax":"bin/lax.js","lax-server":"bin/lax-server.js"},"dist":{"shasum":"53745b130246c6cfc5e4f03ae5c9f3e5b3810429","tarball":"https://registry.npmjs.org/lax-archive/-/lax-archive-0.1.5.tgz","fileCount":164,"integrity":"sha512-7T27yV9J/ptrsLJCTCI3kc41bntTpQEkIyPgW7Xyw/kiZ8nCI2m0FeejwIzzTUjl90QOdG04igs1qM47F8BREw==","signatures":[{"sig":"MEUCIAHR9/zoEEMeRwJpfqlTb+AUOV8bWxSA0SHMae3mSzvEAiEA55+z0UDMdOiW6QStMrFfDgXAomhB4wHMWzjPxb/ZOvg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":799807},"type":"module","engines":{"node":">=20"},"gitHead":"97a97fb5e3505209e3dc1aebb260f6e92bfb53f8","scripts":{"lax":"tsx src/index.ts","test":"vitest run","build":"tsc -p tsconfig.json","prepack":"npm run build","lax-server":"tsx src/server/main.ts","test:watch":"vitest"},"_npmUser":{"name":"jan3er","email":"jan3er@gmail.com"},"_npmVersion":"11.12.1","description":"Lax: the social and archival layer for automated Lean formalization","directories":{},"_nodeVersion":"22.20.0","dependencies":{"d3":"^7.9.0","yaml":"^2.6.0","katex":"^0.18.1","shiki":"^4.3.1","marked":"^15.0.0","commander":"^12.1.0","smol-toml":"^1.3.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^4.1.10","typescript":"^5.7.0","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/lax-archive_0.1.5_1785048778331_0.588532214765813","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"lax-archive","version":"0.1.6","license":"Apache-2.0","_id":"lax-archive@0.1.6","maintainers":[{"name":"jan3er","email":"jan3er@gmail.com"}],"bin":{"lax":"bin/lax.js","lax-server":"bin/lax-server.js"},"dist":{"shasum":"4c5c186a591efabc6394f277211a74a9b79ffeae","tarball":"https://registry.npmjs.org/lax-archive/-/lax-archive-0.1.6.tgz","fileCount":166,"integrity":"sha512-7SmhemfpfSEGAWh4xnZUWdSMdCfc1the8nlo3awVCZM8xi1ZA/1X7tVyfboujKFwa4y/1Nu2VhFLW4y1e/4obg==","signatures":[{"sig":"MEQCIC2Vbw+8FE/sqUzjyfOEf0NtPWFUGfy6wDeyra3fy77YAiAzzQrpD7F3Ac4C264li3MssurFOx8tnxE/OnBg5GyXpA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":866795},"type":"module","engines":{"node":">=20"},"gitHead":"b0dee438857685d02d559fec2a3d15c3c981dd0d","scripts":{"lax":"tsx src/index.ts","test":"vitest run","build":"tsc -p tsconfig.json","prepack":"npm run build","lax-server":"tsx src/server/main.ts","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bab71c1c-77e2-474e-affb-025556c9461d"}},"_npmVersion":"12.0.1","description":"Lax: the social and archival layer for automated Lean formalization","directories":{},"_nodeVersion":"22.23.1","dependencies":{"d3":"^7.9.0","yaml":"^2.6.0","katex":"^0.18.1","shiki":"^4.3.1","marked":"^15.0.0","commander":"^12.1.0","smol-toml":"^1.3.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^4.1.10","typescript":"^5.7.0","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/lax-archive_0.1.6_1785080453401_0.4124745888094683","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"lax-archive","version":"0.1.7","license":"Apache-2.0","_id":"lax-archive@0.1.7","maintainers":[{"name":"jan3er","email":"jan3er@gmail.com"}],"bin":{"lax":"bin/lax.js","lax-server":"bin/lax-server.js"},"dist":{"shasum":"14c1252115d073ee6db53fb51533cc7f14c54583","tarball":"https://registry.npmjs.org/lax-archive/-/lax-archive-0.1.7.tgz","fileCount":166,"integrity":"sha512-j9+jvMUMjDZsRk574JsMGn25MABojKZ4mT+8VYEw58X9jb6GUfHd2xcbvKHJ6L4sAWE49Xc7GVE/KPQavH42LA==","signatures":[{"sig":"MEQCIBV2JzdzA2P5nf4JE0lgHTlZbyO0/ygb6ZwkXSd6ax/4AiAMhdL1cXv0wBzw/8UM5eLNEzAe7/4V0HUcOIBH2pv94w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":866163},"type":"module","engines":{"node":">=20"},"gitHead":"9920a5b053a17bb19fb11ec91bc55d1a3f1d1f1a","scripts":{"lax":"tsx src/index.ts","test":"vitest run","build":"tsc -p tsconfig.json","prepack":"npm run build","lax-server":"tsx src/server/main.ts","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bab71c1c-77e2-474e-affb-025556c9461d"}},"_npmVersion":"12.0.1","description":"Lax: the social and archival layer for automated Lean formalization","directories":{},"_nodeVersion":"22.23.1","dependencies":{"d3":"^7.9.0","yaml":"^2.6.0","katex":"^0.18.1","shiki":"^4.3.1","marked":"^15.0.0","commander":"^12.1.0","smol-toml":"^1.3.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^4.1.10","typescript":"^5.7.0","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/lax-archive_0.1.7_1785083719834_0.2408700529516643","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"lax-archive","version":"0.1.8","license":"Apache-2.0","_id":"lax-archive@0.1.8","maintainers":[{"name":"jan3er","email":"jan3er@gmail.com"}],"bin":{"lax":"bin/lax.js","lax-server":"bin/lax-server.js"},"dist":{"shasum":"ff1c027f8eef1972db1efaf7145326cca2685947","tarball":"https://registry.npmjs.org/lax-archive/-/lax-archive-0.1.8.tgz","fileCount":160,"integrity":"sha512-5zHqAzXmMFM+UUiTWiG1FH5Oyv0d4WM5DocMdOrLSPPRx8lGRrWzZXiyc0QlOpdB4P5HTLM3s8LY93T8FUBq+Q==","signatures":[{"sig":"MEQCIDVsuGfEO/0utEx/3VWIoxjj5sTCN3glX7vpCAfQDjHUAiAr+BfCzQpQYkrBjEL7eeZOAGaJegMdNikyqyUbZETgVw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":805606},"type":"module","engines":{"node":">=20"},"gitHead":"0ba5b953595c5dedb6ccecf55d6cc7a695e9bd40","scripts":{"lax":"tsx src/index.ts","test":"vitest run","build":"tsc -p tsconfig.json","prepack":"npm run build","lax-server":"tsx src/server/main.ts","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bab71c1c-77e2-474e-affb-025556c9461d"}},"_npmVersion":"12.0.1","description":"Lax: the social and archival layer for automated Lean formalization","directories":{},"_nodeVersion":"22.23.1","dependencies":{"d3":"^7.9.0","yaml":"^2.6.0","katex":"^0.18.1","shiki":"^4.3.1","marked":"^15.0.0","commander":"^12.1.0","smol-toml":"^1.3.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^4.1.10","typescript":"^5.7.0","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/lax-archive_0.1.8_1785141232423_0.8457379734021067","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"lax-archive","version":"0.1.9","license":"Apache-2.0","_id":"lax-archive@0.1.9","maintainers":[{"name":"jan3er","email":"jan3er@gmail.com"}],"bin":{"lax":"bin/lax.js","lax-server":"bin/lax-server.js"},"dist":{"shasum":"285d34bb2313ae87caa2937128a344e0071bd572","tarball":"https://registry.npmjs.org/lax-archive/-/lax-archive-0.1.9.tgz","fileCount":164,"integrity":"sha512-US7+2KP9QeXt5+0oI1bFNvY4oUXN03N1+F0T6w5gafw1+2kclroQlebKx+856jI+CP+JlAd3aHt4zFH7QdqpYA==","signatures":[{"sig":"MEUCIBF/gUDOwBH2MV32mTxyAQkGR7nl7a27lVi+cYGnArl/AiEAg+SvNJ6CluIQHtV6ka/5on/hYLRb29EvSRADiYvGNHE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":867646},"type":"module","engines":{"node":">=20"},"gitHead":"b0e3a585d5af1480312abf27405f4c94addd87b3","scripts":{"lax":"tsx src/index.ts","test":"vitest run","build":"tsc -p tsconfig.json","prepack":"npm run build","site:demo":"tsx scripts/demo-site.ts","lax-server":"tsx src/server/main.ts","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bab71c1c-77e2-474e-affb-025556c9461d"}},"_npmVersion":"12.0.1","description":"Lax: the social and archival layer for automated Lean formalization","directories":{},"_nodeVersion":"22.23.1","dependencies":{"yaml":"^2.6.0","katex":"^0.18.1","shiki":"^4.3.1","marked":"^15.0.0","commander":"^12.1.0","smol-toml":"^1.3.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^4.1.10","typescript":"^5.7.0","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/lax-archive_0.1.9_1785178857361_0.8966462936025359","host":"s3://npm-registry-packages-npm-production"}},"0.1.10":{"name":"lax-archive","version":"0.1.10","license":"Apache-2.0","_id":"lax-archive@0.1.10","maintainers":[{"name":"jan3er","email":"jan3er@gmail.com"}],"bin":{"lax":"bin/lax.js","lax-server":"bin/lax-server.js"},"dist":{"shasum":"8178ddd019baceba1c0de288e57659708ff95719","tarball":"https://registry.npmjs.org/lax-archive/-/lax-archive-0.1.10.tgz","fileCount":164,"integrity":"sha512-43cMIkxDhAxAH8S3FisYCo8vKcbbZxiCLEgU9EClgc6Nt2eq4oP6fx2kTbOV5pwRjE2N04ctcuELxWiHXCacYQ==","signatures":[{"sig":"MEUCIQDYSxSPkWbUFUT252GUFQbanRBZBNL9eaSsUZPWPuhbMQIgCTLEx8yEZipuKJ0JRAd7Yswxgqnb2/b9L8lmZWS+gyg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":867244},"type":"module","engines":{"node":">=20"},"gitHead":"8b4985ad68d48700cff1d7c343d8781873820c87","scripts":{"lax":"tsx src/index.ts","test":"vitest run","build":"tsc -p tsconfig.json","prepack":"npm run build","site:demo":"tsx scripts/demo-site.ts","lax-server":"tsx src/server/main.ts","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bab71c1c-77e2-474e-affb-025556c9461d"}},"_npmVersion":"12.0.1","description":"Lax: the social and archival layer for automated Lean formalization","directories":{},"_nodeVersion":"22.23.1","dependencies":{"yaml":"^2.6.0","katex":"^0.18.1","shiki":"^4.3.1","marked":"^15.0.0","commander":"^12.1.0","smol-toml":"^1.3.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^4.1.10","typescript":"^5.7.0","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/lax-archive_0.1.10_1785179641488_0.6030653402266564","host":"s3://npm-registry-packages-npm-production"}},"0.1.11":{"name":"lax-archive","version":"0.1.11","license":"Apache-2.0","_id":"lax-archive@0.1.11","maintainers":[{"name":"jan3er","email":"jan3er@gmail.com"}],"bin":{"lax":"bin/lax.js","lax-server":"bin/lax-server.js"},"dist":{"shasum":"940d402c2a27097e4c8568eb6e3dd32bbf018760","tarball":"https://registry.npmjs.org/lax-archive/-/lax-archive-0.1.11.tgz","fileCount":182,"integrity":"sha512-RmbRhBvUxXgWIyd0/amU/IHXuTs/kcqOzCVeDX84xtQZkDTBrplwNCwtXOthFKJsGYKs6xDno4+FA4SK8fep9g==","signatures":[{"sig":"MEUCIAvD271dCDrpkqLgOlXuj9u4KtyRxE5bOwDbuF8WOMflAiEAu56/72L2z4Fjux3w6g2E2m4C/HQ/72A9BpIkH8BW/4I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":954955},"type":"module","engines":{"node":">=20"},"gitHead":"0a0e54212443f99486dea4a01510835b8246ba9f","scripts":{"lax":"tsx src/index.ts","test":"vitest run","build":"tsc -p tsconfig.json","prepack":"npm run build","site:demo":"tsx scripts/demo-site.ts","lax-server":"tsx src/server/main.ts","test:watch":"vitest"},"_npmUser":{"name":"jan3er","email":"jan3er@gmail.com"},"_npmVersion":"11.12.1","description":"Lax: the social and archival layer for automated Lean formalization","directories":{},"_nodeVersion":"22.20.0","dependencies":{"yaml":"^2.6.0","katex":"^0.18.1","shiki":"^4.3.1","marked":"^15.0.0","commander":"^12.1.0","smol-toml":"^1.3.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^4.1.10","typescript":"^5.7.0","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/lax-archive_0.1.11_1785221492726_0.5426247403888385","host":"s3://npm-registry-packages-npm-production"}},"0.1.12":{"name":"lax-archive","version":"0.1.12","license":"Apache-2.0","_id":"lax-archive@0.1.12","maintainers":[{"name":"jan3er","email":"jan3er@gmail.com"}],"bin":{"lax":"bin/lax.js","lax-server":"bin/lax-server.js"},"dist":{"shasum":"e39890dcf7d330f349e11dcdf9945ddae3c18b93","tarball":"https://registry.npmjs.org/lax-archive/-/lax-archive-0.1.12.tgz","fileCount":166,"integrity":"sha512-YgWGtmhIxAfmQMDb230VaT1zxdus8d/65ZUyxXz9q+nLj7qnnGwNHpdVGb9nSrqAunPksobLjcT+R72ayhMKtA==","signatures":[{"sig":"MEYCIQDfJleiS9aNoZ0Gc9sAhORqpAWJkgOrJMhjfsPBu/loEwIhAISHZTC6+dFkqWUGtnv3w7S/tvSndXVPk5dPIEiyxidm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":953311},"type":"module","engines":{"node":">=20"},"gitHead":"d837bf8ac410d821a5540b05b5b74ad43ef29b57","scripts":{"lax":"tsx src/index.ts","test":"vitest run","build":"tsc -p tsconfig.json","prepack":"npm run build","site:demo":"tsx scripts/demo-site.ts","lax-server":"tsx src/server/main.ts","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bab71c1c-77e2-474e-affb-025556c9461d"}},"_npmVersion":"12.0.1","description":"Lax: the social and archival layer for automated Lean formalization","directories":{},"_nodeVersion":"22.23.1","dependencies":{"yaml":"^2.6.0","katex":"^0.18.1","shiki":"^4.3.1","marked":"^15.0.0","commander":"^12.1.0","smol-toml":"^1.3.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^4.1.10","typescript":"^5.7.0","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/lax-archive_0.1.12_1785226846732_0.9183321028968585","host":"s3://npm-registry-packages-npm-production"}},"0.1.13":{"name":"lax-archive","version":"0.1.13","license":"Apache-2.0","_id":"lax-archive@0.1.13","maintainers":[{"name":"jan3er","email":"jan3er@gmail.com"}],"bin":{"lax":"bin/lax.js","lax-server":"bin/lax-server.js"},"dist":{"shasum":"4d3a128aac872d907248ac5eaa6ff3b15a301d85","tarball":"https://registry.npmjs.org/lax-archive/-/lax-archive-0.1.13.tgz","fileCount":189,"integrity":"sha512-oMtjfu696Qq71anPN6ljtyCAcLrRI0Y7jO2JuzyIeFRZGJyIr7FymRpjzwMsoIY37E7Jg6ZKjEXj887NNK7kNQ==","signatures":[{"sig":"MEUCIQDNjlJt4pjcrOIjRO6oFfAcNTOqkRS/3rlcc4yKQz71xgIgY5Mmcix6dSJi9acivu6dJleAMtqnljBjuvR4xAf61/k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1045068},"type":"module","engines":{"node":">=20"},"gitHead":"0c5a341fd3541889aa829230d4757cc0b77f7148","scripts":{"lax":"tsx src/index.ts","test":"vitest run","build":"tsc -p tsconfig.json","prepack":"npm run build","site:demo":"tsx scripts/demo-site.ts","lax-server":"tsx src/server/main.ts","test:watch":"vitest"},"_npmUser":{"name":"jan3er","email":"jan3er@gmail.com"},"_npmVersion":"11.12.1","description":"Lax: the social and archival layer for automated Lean formalization","directories":{},"_nodeVersion":"22.20.0","dependencies":{"yaml":"^2.6.0","katex":"^0.18.1","shiki":"^4.3.1","marked":"^15.0.0","commander":"^12.1.0","smol-toml":"^1.3.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^4.1.10","typescript":"^5.7.0","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/lax-archive_0.1.13_1785236973800_0.7566791818673393","host":"s3://npm-registry-packages-npm-production"}},"0.1.14":{"name":"lax-archive","version":"0.1.14","license":"Apache-2.0","_id":"lax-archive@0.1.14","maintainers":[{"name":"jan3er","email":"jan3er@gmail.com"}],"bin":{"lax":"bin/lax.js","lax-server":"bin/lax-server.js"},"dist":{"shasum":"a5364f875a166ccf90123e8b2f2e9195e36e92d4","tarball":"https://registry.npmjs.org/lax-archive/-/lax-archive-0.1.14.tgz","fileCount":171,"integrity":"sha512-0HIi7O4SsrYjuK0215wpvPy0U7jI2+6asWWasE9J7ebn/fcohgbRcr9t47hk/Yjx8grLICTEHmU9phFkVN1vuA==","signatures":[{"sig":"MEQCICbO2MN4EOhlhgzXWSUACZjPLmF71PKgrvhppfcCy8BJAiBASBztWnBteWODk1PCNBHbo+nTdAHR4DGpNm1gAy1CTw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":975350},"type":"module","engines":{"node":">=20"},"gitHead":"77378fe895282946140070c6a6ed18e9f0fbccd2","scripts":{"lax":"tsx src/index.ts","test":"vitest run","build":"tsc -p tsconfig.json","prepack":"rm -rf dist && npm run build","site:demo":"tsx scripts/demo-site.ts","lax-server":"tsx src/server/main.ts","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bab71c1c-77e2-474e-affb-025556c9461d"}},"_npmVersion":"12.0.1","description":"Lax: the social and archival layer for automated Lean formalization","directories":{},"_nodeVersion":"22.23.1","dependencies":{"yaml":"^2.6.0","katex":"^0.18.1","shiki":"^4.3.1","marked":"^15.0.0","commander":"^12.1.0","smol-toml":"^1.3.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^4.1.10","typescript":"^5.7.0","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/lax-archive_0.1.14_1785237504391_0.4110311857738693","host":"s3://npm-registry-packages-npm-production"}},"0.1.15":{"name":"lax-archive","version":"0.1.15","license":"Apache-2.0","_id":"lax-archive@0.1.15","maintainers":[{"name":"jan3er","email":"jan3er@gmail.com"}],"bin":{"lax":"bin/lax.js","lax-server":"bin/lax-server.js"},"dist":{"shasum":"3b430643b3152d316577cdc53ae8750c1613dd19","tarball":"https://registry.npmjs.org/lax-archive/-/lax-archive-0.1.15.tgz","fileCount":171,"integrity":"sha512-YGLUCG/ya18tmfs459EPWMn4u4rJmToTupX+JaEQyG4FT+gF5F3t4MNnEP4ZVdkun7PPwvLA3CcBVrvEv9dWVA==","signatures":[{"sig":"MEUCIB/AuDcGdW28d7tpRsEJ+7wvYDYfC+zESELDPg8IjpVXAiEA974AD/89CsHpz7eBAuu3PMixs1SchC1IVZykSr1MlX8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":978185},"type":"module","engines":{"node":">=20"},"gitHead":"f627544bafdf831fe2acc9b9d8702ae08b0609b3","scripts":{"lax":"tsx src/index.ts","test":"vitest run","build":"tsc -p tsconfig.json","prepack":"rm -rf dist && npm run build","site:demo":"tsx scripts/demo-site.ts","lax-server":"tsx src/server/main.ts","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bab71c1c-77e2-474e-affb-025556c9461d"}},"_npmVersion":"12.0.1","description":"Lax: the social and archival layer for automated Lean formalization","directories":{},"_nodeVersion":"22.23.1","dependencies":{"yaml":"^2.6.0","katex":"^0.18.1","shiki":"^4.3.1","marked":"^15.0.0","commander":"^12.1.0","smol-toml":"^1.3.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^4.1.10","typescript":"^5.7.0","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/lax-archive_0.1.15_1785242677358_0.9797107423625124","host":"s3://npm-registry-packages-npm-production"}},"0.1.16":{"name":"lax-archive","version":"0.1.16","license":"Apache-2.0","_id":"lax-archive@0.1.16","maintainers":[{"name":"jan3er","email":"jan3er@gmail.com"}],"bin":{"lax":"bin/lax.js","lax-server":"bin/lax-server.js"},"dist":{"shasum":"6bbf74d3227ac547530a7919e278aa0c9881f597","tarball":"https://registry.npmjs.org/lax-archive/-/lax-archive-0.1.16.tgz","fileCount":175,"integrity":"sha512-2w1Z+elPVRXREqFldI4fbcWUSENdUP9rGKquF4n2BXnnoQzlr73uXedjhaECHnAemZpCQLKH8csoN9qeS63WXQ==","signatures":[{"sig":"MEUCIAZcx6sxYCEbhBqYKbF2L1Ggb2NbMHkwlKe+QCgTulhJAiEAkLGUpfrq2A4TFegNuM0DddexO2FWrjJEoh5UgYDIE1U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":995866},"type":"module","engines":{"node":">=20"},"gitHead":"e6aaf14c8fbe849f3254802a3cd900c78dc91213","scripts":{"lax":"tsx src/index.ts","test":"vitest run","build":"tsc -p tsconfig.json","prepack":"rm -rf dist && npm run build","site:demo":"tsx scripts/demo-site.ts","lax-server":"tsx src/server/main.ts","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bab71c1c-77e2-474e-affb-025556c9461d"}},"_npmVersion":"12.0.1","description":"Lax: the social and archival layer for automated Lean formalization","directories":{},"_nodeVersion":"22.23.1","dependencies":{"yaml":"^2.6.0","katex":"^0.18.1","shiki":"^4.3.1","marked":"^15.0.0","commander":"^12.1.0","smol-toml":"^1.3.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^4.1.10","typescript":"^5.7.0","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/lax-archive_0.1.16_1785304420003_0.5657165123368453","host":"s3://npm-registry-packages-npm-production"}},"0.1.17":{"name":"lax-archive","version":"0.1.17","license":"Apache-2.0","_id":"lax-archive@0.1.17","maintainers":[{"name":"jan3er","email":"jan3er@gmail.com"}],"bin":{"lax":"bin/lax.js","lax-server":"bin/lax-server.js"},"dist":{"shasum":"4a3d05bdb04eacee3acf99ad95cc54ea36cf8322","tarball":"https://registry.npmjs.org/lax-archive/-/lax-archive-0.1.17.tgz","fileCount":175,"integrity":"sha512-pRiJmM5wv0gQ/EjM01zN392oEuj38wA9eXKsfyvsaZABRp7K7mqvmK5KLTqaTng6bfslXM/xzwuk8zvIFaQkWA==","signatures":[{"sig":"MEUCIQDuNiXVMXk1b5z1gejjOkdQ0+jlsqHviAcPGFn4x4Do7gIgVpNAYb9w6J31lA4/rxqyfRM6Yd5mk97PD5rB327q864=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":997770},"type":"module","engines":{"node":">=20"},"gitHead":"edcb3bb929a0dcdd94d8986dd06520f09df7e99d","scripts":{"lax":"tsx src/index.ts","test":"vitest run","build":"tsc -p tsconfig.json","prepack":"rm -rf dist && npm run build","site:demo":"tsx scripts/demo-site.ts","lax-server":"tsx src/server/main.ts","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bab71c1c-77e2-474e-affb-025556c9461d"}},"_npmVersion":"12.0.1","description":"Lax: the social and archival layer for automated Lean formalization","directories":{},"_nodeVersion":"22.23.1","dependencies":{"yaml":"^2.6.0","katex":"^0.18.1","shiki":"^4.3.1","marked":"^15.0.0","commander":"^12.1.0","smol-toml":"^1.3.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^4.1.10","typescript":"^5.7.0","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/lax-archive_0.1.17_1785329053588_0.46306272238807855","host":"s3://npm-registry-packages-npm-production"}},"0.1.18":{"name":"lax-archive","version":"0.1.18","license":"Apache-2.0","_id":"lax-archive@0.1.18","maintainers":[{"name":"jan3er","email":"jan3er@gmail.com"}],"homepage":"https://github.com/lax-archive/lax#readme","bugs":{"url":"https://github.com/lax-archive/lax/issues"},"bin":{"lax":"bin/lax.js"},"dist":{"shasum":"689fd891f47aed96efe884fc5af02139a0a9ec1d","tarball":"https://registry.npmjs.org/lax-archive/-/lax-archive-0.1.18.tgz","fileCount":238,"integrity":"sha512-k0h4kAlSEiyt+O/V1kNZbRw1EQV1sjg0RDHmYVQu/+sN2GKuwuwDyY2vz6I95/+P8yPjbZodhrm20Jmgu7nt/g==","signatures":[{"sig":"MEQCIH5yxT3yzfbYuHV7Os2E4bCWCbBFTHxsnoIoKVGi5pw0AiA11Ie6sb5vL0V6hax80+8djWYGZk6JyWvkIFrKwLxhVQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/lax-archive@0.1.18","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1480521},"type":"module","_from":"file:lax-archive-0.1.18.tgz","engines":{"node":">=20"},"scripts":{"lax":"tsx src/cli/main.ts","test":"vitest run","build":"node --eval \"require('node:fs').rmSync('dist',{recursive:true,force:true})\" && tsc -p tsconfig.json","check":"npm run build && npm test","prepack":"npm run build","workflow":"tsx src/workflows/submission.ts","test:watch":"vitest","page-builder:fetch":"tsx src/cli/deployment/fetch-page-builder.ts","page-builder:verify":"tsx src/cli/deployment/verify.ts","page-builder:package":"tsx src/cli/deployment/package.ts","smoke:submission-validation":"tsx test/smoke/submission-validation.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:166f0031-8f29-498f-bf36-cf6f72bcc7bd"}},"_resolved":"/home/runner/work/lax/lax/lax-archive-0.1.18.tgz","_integrity":"sha512-k0h4kAlSEiyt+O/V1kNZbRw1EQV1sjg0RDHmYVQu/+sN2GKuwuwDyY2vz6I95/+P8yPjbZodhrm20Jmgu7nt/g==","repository":{"url":"git+https://github.com/lax-archive/lax.git","type":"git"},"_npmVersion":"11.19.0","description":"Issue-driven control plane and CLI for the Lax archive","directories":{},"_nodeVersion":"22.23.2","dependencies":{"yaml":"^2.9.0","katex":"^0.18.1","shiki":"^4.3.1","marked":"^15.0.0","commander":"^12.1.0","smol-toml":"^1.7.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^4.1.10","typescript":"^5.7.0","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/lax-archive_0.1.18_1786024973863_0.46445362455892125","host":"s3://npm-registry-packages-npm-production"}},"0.1.19":{"name":"lax-archive","version":"0.1.19","license":"Apache-2.0","_id":"lax-archive@0.1.19","maintainers":[{"name":"jan3er","email":"jan3er@gmail.com"}],"homepage":"https://github.com/lax-archive/lax#readme","bugs":{"url":"https://github.com/lax-archive/lax/issues"},"bin":{"lax":"bin/lax.js"},"dist":{"shasum":"b8735fce4cf89e30b51ee493a173c831af306d06","tarball":"https://registry.npmjs.org/lax-archive/-/lax-archive-0.1.19.tgz","fileCount":242,"integrity":"sha512-GkVC4jUuSTYyPHhGFlooluA9r0/+tdbR2TB7NfgXp+iR3itqd7Owkrmk/n1sLWPCiL/KVGgHMiTBD11XBDzhmw==","signatures":[{"sig":"MEQCIFxwqK1PUfZhD2ycfwfQ8h2PT5r5vuqL32tMCwQqGhggAiAfPR1pl0jT6oHfMD0xOlAwZRibmFlHLzqpXFtzZ5zXgw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/lax-archive@0.1.19","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1500623},"type":"module","_from":"file:lax-archive-0.1.19.tgz","engines":{"node":">=20"},"scripts":{"lax":"tsx src/cli/main.ts","test":"vitest run","build":"node --eval \"require('node:fs').rmSync('dist',{recursive:true,force:true})\" && tsc -p tsconfig.json","check":"npm run build && npm test","prepack":"npm run build","workflow":"tsx src/workflows/submission.ts","test:watch":"vitest","page-builder:fetch":"tsx src/cli/deployment/fetch-page-builder.ts","page-builder:verify":"tsx src/cli/deployment/verify.ts","page-builder:package":"tsx src/cli/deployment/package.ts","smoke:submission-validation":"tsx test/smoke/submission-validation.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:166f0031-8f29-498f-bf36-cf6f72bcc7bd"}},"_resolved":"/home/runner/work/lax/lax/lax-archive-0.1.19.tgz","_integrity":"sha512-GkVC4jUuSTYyPHhGFlooluA9r0/+tdbR2TB7NfgXp+iR3itqd7Owkrmk/n1sLWPCiL/KVGgHMiTBD11XBDzhmw==","repository":{"url":"git+https://github.com/lax-archive/lax.git","type":"git"},"_npmVersion":"11.19.0","description":"Issue-driven control plane and CLI for the Lax archive","directories":{},"_nodeVersion":"22.23.1","dependencies":{"yaml":"^2.9.0","katex":"^0.18.1","shiki":"^4.3.1","marked":"^15.0.0","commander":"^12.1.0","smol-toml":"^1.7.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^4.1.10","typescript":"^5.7.0","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/lax-archive_0.1.19_1786025521550_0.978136253723171","host":"s3://npm-registry-packages-npm-production"}},"0.1.20":{"name":"lax-archive","version":"0.1.20","license":"Apache-2.0","_id":"lax-archive@0.1.20","maintainers":[{"name":"jan3er","email":"jan3er@gmail.com"}],"homepage":"https://github.com/lax-archive/lax#readme","bugs":{"url":"https://github.com/lax-archive/lax/issues"},"bin":{"lax":"bin/lax.js"},"dist":{"shasum":"065b0d36f6741a1ce359ee12046d9b12908ed434","tarball":"https://registry.npmjs.org/lax-archive/-/lax-archive-0.1.20.tgz","fileCount":248,"integrity":"sha512-a7+Q2I2zfUfCJKys7uswQnGOOEqT4+N8Dve2hkC+a4dn/yE6HfU3iPdzGbxGpEtaXxsM1aRrUrd1i4YeeiSrQA==","signatures":[{"sig":"MEYCIQD35WtXHqG26WcjJYZ+Mnr2ajzdKbVIoZdDnKziGT6XKAIhAMqgrXvofRqWkMV3TWWnBvBZVmeFC36r7f2Scp2jnEhL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/lax-archive@0.1.20","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1540171},"type":"module","_from":"file:lax-archive-0.1.20.tgz","engines":{"node":">=20"},"scripts":{"lax":"tsx src/cli/main.ts","test":"vitest run","build":"node --eval \"require('node:fs').rmSync('dist',{recursive:true,force:true})\" && tsc -p tsconfig.json","check":"npm run build && npm test","prepack":"npm run build","workflow":"tsx src/workflows/submission.ts","test:watch":"vitest","page-builder:fetch":"tsx src/cli/deployment/fetch-page-builder.ts","page-builder:verify":"tsx src/cli/deployment/verify.ts","page-builder:package":"tsx src/cli/deployment/package.ts","smoke:submission-validation":"tsx test/smoke/submission-validation.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:166f0031-8f29-498f-bf36-cf6f72bcc7bd"}},"_resolved":"/home/runner/work/lax/lax/lax-archive-0.1.20.tgz","_integrity":"sha512-a7+Q2I2zfUfCJKys7uswQnGOOEqT4+N8Dve2hkC+a4dn/yE6HfU3iPdzGbxGpEtaXxsM1aRrUrd1i4YeeiSrQA==","repository":{"url":"git+https://github.com/lax-archive/lax.git","type":"git"},"_npmVersion":"11.19.0","description":"Issue-driven control plane and CLI for the Lax archive","directories":{},"_nodeVersion":"22.23.1","dependencies":{"yaml":"^2.9.0","katex":"^0.18.1","shiki":"^4.3.1","marked":"^15.0.0","commander":"^12.1.0","smol-toml":"^1.7.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^4.1.10","typescript":"^5.7.0","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/lax-archive_0.1.20_1786092529244_0.44893625205656473","host":"s3://npm-registry-packages-npm-production"}},"0.1.21":{"name":"lax-archive","version":"0.1.21","license":"Apache-2.0","_id":"lax-archive@0.1.21","maintainers":[{"name":"jan3er","email":"jan3er@gmail.com"}],"homepage":"https://github.com/lax-archive/lax#readme","bugs":{"url":"https://github.com/lax-archive/lax/issues"},"bin":{"lax":"bin/lax.js"},"dist":{"shasum":"051ae518cb43e70d9f9cc936d4e8d2e40666b7c2","tarball":"https://registry.npmjs.org/lax-archive/-/lax-archive-0.1.21.tgz","fileCount":250,"integrity":"sha512-792MSOXREZDMvAED75hGBZcMtrDycvJa1ms9AGReGawwiRweazCEFuQ9GwNXokh+vqMIREdRhjt97jBFH1frGg==","signatures":[{"sig":"MEUCIQCkOPFxXNA3fekxQDS5OxMTF4+t11jJGPPZe2hH5isKFQIgKplKqkWR6y7XnR2bjyXWLVxNFagnHy8yB7a6gQsIb24=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/lax-archive@0.1.21","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1565541},"type":"module","_from":"file:lax-archive-0.1.21.tgz","engines":{"node":">=20"},"scripts":{"lax":"tsx src/cli/main.ts","test":"vitest run","build":"node --eval \"require('node:fs').rmSync('dist',{recursive:true,force:true})\" && tsc -p tsconfig.json","check":"npm run build && npm test","prepack":"npm run build","workflow":"tsx src/workflows/submission.ts","test:watch":"vitest","page-builder:fetch":"tsx src/cli/deployment/fetch-page-builder.ts","page-builder:verify":"tsx src/cli/deployment/verify.ts","page-builder:package":"tsx src/cli/deployment/package.ts","smoke:submission-validation":"tsx test/smoke/submission-validation.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:166f0031-8f29-498f-bf36-cf6f72bcc7bd"}},"_resolved":"/home/runner/work/lax/lax/lax-archive-0.1.21.tgz","_integrity":"sha512-792MSOXREZDMvAED75hGBZcMtrDycvJa1ms9AGReGawwiRweazCEFuQ9GwNXokh+vqMIREdRhjt97jBFH1frGg==","repository":{"url":"git+https://github.com/lax-archive/lax.git","type":"git"},"_npmVersion":"11.19.0","description":"Issue-driven control plane and CLI for the Lax archive","directories":{},"_nodeVersion":"22.23.1","dependencies":{"yaml":"^2.9.0","katex":"^0.18.1","shiki":"^4.3.1","fflate":"^0.8.3","marked":"^15.0.0","commander":"^12.1.0","smol-toml":"^1.7.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^4.1.10","typescript":"^5.7.0","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/lax-archive_0.1.21_1786107306063_0.12752491229745466","host":"s3://npm-registry-packages-npm-production"}},"0.1.22":{"name":"lax-archive","version":"0.1.22","license":"Apache-2.0","_id":"lax-archive@0.1.22","maintainers":[{"name":"jan3er","email":"jan3er@gmail.com"}],"homepage":"https://github.com/lax-archive/lax#readme","bugs":{"url":"https://github.com/lax-archive/lax/issues"},"bin":{"lax":"bin/lax.js"},"dist":{"shasum":"2a8c23ab73db9f88a506fe1d5c1ac5e1a89db97b","tarball":"https://registry.npmjs.org/lax-archive/-/lax-archive-0.1.22.tgz","fileCount":250,"integrity":"sha512-7TOA5RsJeMxTNRyGaR1eUtoyjKmNjFGrScUafzByyowlCw1GmiJ/Gp3KZo9weBOYeV/LqarQcVpKv6VGU5RmXQ==","signatures":[{"sig":"MEQCIGBLBDRhvCFag2bKWkwl8fJPFqpl4MkFVtavK0pivntgAiBkau8lc8aS5Ei2t9gU5PG9SOriFzhdOKLPQD+NkIoUdg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/lax-archive@0.1.22","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1568141},"type":"module","_from":"file:lax-archive-0.1.22.tgz","engines":{"node":">=20"},"scripts":{"lax":"tsx src/cli/main.ts","test":"vitest run","build":"node --eval \"require('node:fs').rmSync('dist',{recursive:true,force:true})\" && tsc -p tsconfig.json","check":"npm run build && npm test","prepack":"npm run build","workflow":"tsx src/workflows/submission.ts","test:watch":"vitest","page-builder:fetch":"tsx src/cli/deployment/fetch-page-builder.ts","page-builder:verify":"tsx src/cli/deployment/verify.ts","page-builder:package":"tsx src/cli/deployment/package.ts","smoke:submission-validation":"tsx test/smoke/submission-validation.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:166f0031-8f29-498f-bf36-cf6f72bcc7bd"}},"_resolved":"/home/runner/work/lax/lax/lax-archive-0.1.22.tgz","_integrity":"sha512-7TOA5RsJeMxTNRyGaR1eUtoyjKmNjFGrScUafzByyowlCw1GmiJ/Gp3KZo9weBOYeV/LqarQcVpKv6VGU5RmXQ==","repository":{"url":"git+https://github.com/lax-archive/lax.git","type":"git"},"_npmVersion":"11.19.0","description":"Issue-driven control plane and CLI for the Lax archive","directories":{},"_nodeVersion":"22.23.1","dependencies":{"yaml":"^2.9.0","katex":"^0.18.1","shiki":"^4.3.1","fflate":"^0.8.3","marked":"^15.0.0","commander":"^12.1.0","smol-toml":"^1.7.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^4.1.10","typescript":"^5.7.0","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/lax-archive_0.1.22_1786119412377_0.8132019527772925","host":"s3://npm-registry-packages-npm-production"}},"0.1.23":{"name":"lax-archive","version":"0.1.23","license":"Apache-2.0","_id":"lax-archive@0.1.23","maintainers":[{"name":"jan3er","email":"jan3er@gmail.com"}],"homepage":"https://github.com/lax-archive/lax#readme","bugs":{"url":"https://github.com/lax-archive/lax/issues"},"bin":{"lax":"bin/lax.js"},"dist":{"shasum":"4e2ff43baac1a063f3e79a44ebaf48c307c87526","tarball":"https://registry.npmjs.org/lax-archive/-/lax-archive-0.1.23.tgz","fileCount":250,"integrity":"sha512-IdUT0MlsNRkUI19XSetY62E2awxCm0M8FMId38IvODQQoR2GowljhKP6pJquEfs1PxOh9LLJiNqBNrDlCavoxA==","signatures":[{"sig":"MEQCIGHMnMQDxzQKysZaj42Wb0qcV9RvLKYs541RLNpMae6YAiAw1LrX6OClHeKWytNI+gLXyLXjcBbJVwlCyhZE+Fqtbg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/lax-archive@0.1.23","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1593278},"type":"module","_from":"file:lax-archive-0.1.23.tgz","engines":{"node":">=20"},"scripts":{"lax":"tsx src/cli/main.ts","test":"vitest run","build":"node --eval \"require('node:fs').rmSync('dist',{recursive:true,force:true})\" && tsc -p tsconfig.json","check":"npm run build && npm test","prepack":"npm run build","workflow":"tsx src/workflows/submission.ts","test:watch":"vitest","page-builder:fetch":"tsx src/cli/deployment/fetch-page-builder.ts","page-builder:verify":"tsx src/cli/deployment/verify.ts","page-builder:package":"tsx src/cli/deployment/package.ts","smoke:submission-validation":"tsx test/smoke/submission-validation.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:166f0031-8f29-498f-bf36-cf6f72bcc7bd"}},"_resolved":"/home/runner/work/lax/lax/lax-archive-0.1.23.tgz","_integrity":"sha512-IdUT0MlsNRkUI19XSetY62E2awxCm0M8FMId38IvODQQoR2GowljhKP6pJquEfs1PxOh9LLJiNqBNrDlCavoxA==","repository":{"url":"git+https://github.com/lax-archive/lax.git","type":"git"},"_npmVersion":"11.19.0","description":"Issue-driven control plane and CLI for the Lax archive","directories":{},"_nodeVersion":"22.23.1","dependencies":{"yaml":"^2.9.0","katex":"^0.18.1","shiki":"^4.3.1","fflate":"^0.8.3","marked":"^15.0.0","commander":"^12.1.0","smol-toml":"^1.7.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^4.1.10","typescript":"^5.7.0","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/lax-archive_0.1.23_1786263874451_0.3546129819731916","host":"s3://npm-registry-packages-npm-production"}},"0.1.24":{"name":"lax-archive","version":"0.1.24","license":"Apache-2.0","_id":"lax-archive@0.1.24","maintainers":[{"name":"jan3er","email":"jan3er@gmail.com"}],"homepage":"https://github.com/lax-archive/lax#readme","bugs":{"url":"https://github.com/lax-archive/lax/issues"},"bin":{"lax":"bin/lax.js"},"dist":{"shasum":"49e0c63a6161fdf0754937914a665444ffe0516c","tarball":"https://registry.npmjs.org/lax-archive/-/lax-archive-0.1.24.tgz","fileCount":250,"integrity":"sha512-kw3gzQz+k1U7I7QiHTQCoUWSHNmdZPSVzuArHDH116Kr+eE8TrDe+vaxqPnqSeQcOonYI0FPirEVICegsfuhWA==","signatures":[{"sig":"MEUCIQDcrOJqlcbHr4gmKisCehtcXB7Halub7MHHcacwU4kSeQIgdsKLb06/69voDjNndTiWH7JCB9P2e60xwXXC7aJN+GY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/lax-archive@0.1.24","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1604111},"type":"module","_from":"file:lax-archive-0.1.24.tgz","engines":{"node":">=20"},"scripts":{"lax":"tsx src/cli/main.ts","test":"vitest run","build":"node --eval \"require('node:fs').rmSync('dist',{recursive:true,force:true})\" && tsc -p tsconfig.json","check":"npm run build && npm test","prepack":"npm run build","workflow":"tsx src/workflows/submission.ts","test:watch":"vitest","page-builder:fetch":"tsx src/cli/deployment/fetch-page-builder.ts","page-builder:verify":"tsx src/cli/deployment/verify.ts","page-builder:package":"tsx src/cli/deployment/package.ts","smoke:submission-validation":"tsx test/smoke/submission-validation.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:166f0031-8f29-498f-bf36-cf6f72bcc7bd"}},"_resolved":"/home/runner/work/lax/lax/lax-archive-0.1.24.tgz","_integrity":"sha512-kw3gzQz+k1U7I7QiHTQCoUWSHNmdZPSVzuArHDH116Kr+eE8TrDe+vaxqPnqSeQcOonYI0FPirEVICegsfuhWA==","repository":{"url":"git+https://github.com/lax-archive/lax.git","type":"git"},"_npmVersion":"11.19.0","description":"Issue-driven control plane and CLI for the Lax archive","directories":{},"_nodeVersion":"22.23.1","dependencies":{"yaml":"^2.9.0","katex":"^0.18.1","shiki":"^4.3.1","fflate":"^0.8.3","marked":"^15.0.0","commander":"^12.1.0","smol-toml":"^1.7.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^4.1.10","typescript":"^5.7.0","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/lax-archive_0.1.24_1786277172912_0.2524730629374541","host":"s3://npm-registry-packages-npm-production"}},"0.1.26":{"name":"lax-archive","version":"0.1.26","license":"Apache-2.0","_id":"lax-archive@0.1.26","maintainers":[{"name":"jan3er","email":"jan3er@gmail.com"}],"homepage":"https://github.com/lax-archive/lax#readme","bugs":{"url":"https://github.com/lax-archive/lax/issues"},"bin":{"lax":"bin/lax.js"},"dist":{"shasum":"3601aab1f86333c122c2b213b048f0780f2611ed","tarball":"https://registry.npmjs.org/lax-archive/-/lax-archive-0.1.26.tgz","fileCount":250,"integrity":"sha512-9dl4LlSAKldvSRYLPVCAJKbZHieGbEBbAGbJynRghXIF8ofev7TWCHKZoMLYOLGiPt0uZupgNu+mUbWY1D3Xjg==","signatures":[{"sig":"MEUCIDIs8TMwUgJ6PcVwhja1IvffEUNPPqhJJPAD0gavfefwAiEAxmRPTztM15hLKwkFWjpVJ9LPAm3IWxFHm3jxoVe/23Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/lax-archive@0.1.26","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1610594},"type":"module","_from":"file:lax-archive-0.1.26.tgz","engines":{"node":">=20"},"scripts":{"lax":"tsx src/cli/main.ts","test":"vitest run","build":"node --eval \"require('node:fs').rmSync('dist',{recursive:true,force:true})\" && tsc -p tsconfig.json","check":"npm run build && npm test","prepack":"npm run build","workflow":"tsx src/workflows/submission.ts","test:watch":"vitest","page-builder:fetch":"tsx src/cli/deployment/fetch-page-builder.ts","page-builder:verify":"tsx src/cli/deployment/verify.ts","page-builder:package":"tsx src/cli/deployment/package.ts","smoke:submission-validation":"tsx test/smoke/submission-validation.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:166f0031-8f29-498f-bf36-cf6f72bcc7bd"}},"_resolved":"/home/runner/work/lax/lax/lax-archive-0.1.26.tgz","_integrity":"sha512-9dl4LlSAKldvSRYLPVCAJKbZHieGbEBbAGbJynRghXIF8ofev7TWCHKZoMLYOLGiPt0uZupgNu+mUbWY1D3Xjg==","repository":{"url":"git+https://github.com/lax-archive/lax.git","type":"git"},"_npmVersion":"11.19.0","description":"Issue-driven control plane and CLI for the Lax archive","directories":{},"_nodeVersion":"22.23.1","dependencies":{"yaml":"^2.9.0","katex":"^0.18.1","shiki":"^4.3.1","fflate":"^0.8.3","marked":"^15.0.0","commander":"^12.1.0","smol-toml":"^1.7.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^4.1.10","typescript":"^5.7.0","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/lax-archive_0.1.26_1786286446558_0.720663977981953","host":"s3://npm-registry-packages-npm-production"}},"0.1.28":{"name":"lax-archive","version":"0.1.28","license":"Apache-2.0","_id":"lax-archive@0.1.28","maintainers":[{"name":"jan3er","email":"jan3er@gmail.com"}],"homepage":"https://github.com/lax-archive/lax#readme","bugs":{"url":"https://github.com/lax-archive/lax/issues"},"bin":{"lax":"bin/lax.js"},"dist":{"shasum":"0f25cedce43f4027951cf1ed2959e2dafad365df","tarball":"https://registry.npmjs.org/lax-archive/-/lax-archive-0.1.28.tgz","fileCount":253,"integrity":"sha512-wv0ZaLLucd6071PN7KWd4cxAIkT4WHZ4n6aAMfk1YXjVOVn1yizYArWC9FH6uUqp5Xdm0n+WssVc0LtuwL86AQ==","signatures":[{"sig":"MEUCIFFloYuER5TC8Db2vj0XgfiSgzJ5GhlMp4B3IN/xxn54AiEA4hwDw/eEYnKQW09/W8vI8LRoEzMEsdjxdfv2Qp/HcsA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/lax-archive@0.1.28","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1726994},"type":"module","_from":"file:lax-archive-0.1.28.tgz","engines":{"node":">=20"},"scripts":{"lax":"tsx src/cli/main.ts","test":"vitest run","build":"node --eval \"require('node:fs').rmSync('dist',{recursive:true,force:true})\" && tsc -p tsconfig.json","check":"npm run build && npm test","prepack":"npm run build","workflow":"tsx src/workflows/submission.ts","test:watch":"vitest","page-builder:fetch":"tsx src/cli/deployment/fetch-page-builder.ts","page-builder:verify":"tsx src/cli/deployment/verify.ts","page-builder:package":"tsx src/cli/deployment/package.ts","smoke:submission-validation":"tsx test/smoke/submission-validation.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:166f0031-8f29-498f-bf36-cf6f72bcc7bd"}},"_resolved":"/home/runner/work/lax/lax/lax-archive-0.1.28.tgz","_integrity":"sha512-wv0ZaLLucd6071PN7KWd4cxAIkT4WHZ4n6aAMfk1YXjVOVn1yizYArWC9FH6uUqp5Xdm0n+WssVc0LtuwL86AQ==","repository":{"url":"git+https://github.com/lax-archive/lax.git","type":"git"},"_npmVersion":"11.19.0","description":"Issue-driven control plane and CLI for the Lax archive","directories":{},"_nodeVersion":"22.23.1","dependencies":{"yaml":"^2.9.0","katex":"^0.18.1","shiki":"^4.3.1","fflate":"^0.8.3","marked":"^15.0.0","commander":"^12.1.0","smol-toml":"^1.7.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^4.1.10","typescript":"^5.7.0","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/lax-archive_0.1.28_1786301536041_0.4761554265331678","host":"s3://npm-registry-packages-npm-production"}},"0.1.30":{"name":"lax-archive","version":"0.1.30","license":"Apache-2.0","_id":"lax-archive@0.1.30","maintainers":[{"name":"jan3er","email":"jan3er@gmail.com"}],"homepage":"https://github.com/lax-archive/lax#readme","bugs":{"url":"https://github.com/lax-archive/lax/issues"},"bin":{"lax":"bin/lax.js"},"dist":{"shasum":"c8a4424500116036edb112d1040d191a99e395bd","tarball":"https://registry.npmjs.org/lax-archive/-/lax-archive-0.1.30.tgz","fileCount":255,"integrity":"sha512-iX2FHZYc3N4sBi/DAPgKmeecoXnh9+So88pWOnruSaWTrp0y3YFwa2uBKOby5jscVKYw+pQb5sPmSdp0ErNtvA==","signatures":[{"sig":"MEUCID6O5O8PpEZXmN0HFcg9BH5LX9Y6Rb84ZZUv7K/9sMMyAiEAygniCACOi5FHcrAV9G6krgFrjp4en2nxWawtuJM548o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/lax-archive@0.1.30","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1740846},"type":"module","_from":"file:lax-archive-0.1.30.tgz","engines":{"node":">=20"},"scripts":{"lax":"tsx src/cli/main.ts","test":"vitest run","build":"node --eval \"require('node:fs').rmSync('dist',{recursive:true,force:true})\" && tsc -p tsconfig.json","check":"npm run build && npm test","prepack":"npm run build","workflow":"tsx src/workflows/submission.ts","test:watch":"vitest","page-builder:fetch":"tsx src/cli/deployment/fetch-page-builder.ts","page-builder:verify":"tsx src/cli/deployment/verify.ts","page-builder:package":"tsx src/cli/deployment/package.ts","smoke:submission-validation":"tsx test/smoke/submission-validation.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:166f0031-8f29-498f-bf36-cf6f72bcc7bd"}},"_resolved":"/home/runner/work/lax/lax/lax-archive-0.1.30.tgz","_integrity":"sha512-iX2FHZYc3N4sBi/DAPgKmeecoXnh9+So88pWOnruSaWTrp0y3YFwa2uBKOby5jscVKYw+pQb5sPmSdp0ErNtvA==","repository":{"url":"git+https://github.com/lax-archive/lax.git","type":"git"},"_npmVersion":"11.19.0","description":"Issue-driven control plane and CLI for the Lax archive","directories":{},"_nodeVersion":"22.23.2","dependencies":{"yaml":"^2.9.0","katex":"^0.18.1","shiki":"^4.3.1","fflate":"^0.8.3","marked":"^15.0.0","commander":"^12.1.0","smol-toml":"^1.7.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^4.1.10","typescript":"^5.7.0","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/lax-archive_0.1.30_1787142778474_0.6675373436337912","host":"s3://npm-registry-packages-npm-production"}},"0.1.31":{"name":"lax-archive","version":"0.1.31","license":"Apache-2.0","_id":"lax-archive@0.1.31","maintainers":[{"name":"jan3er","email":"jan3er@gmail.com"}],"homepage":"https://github.com/lax-archive/lax#readme","bugs":{"url":"https://github.com/lax-archive/lax/issues"},"bin":{"lax":"bin/lax.js"},"dist":{"shasum":"6bee37e8a1e82e4eee5790726aada3af7b000d53","tarball":"https://registry.npmjs.org/lax-archive/-/lax-archive-0.1.31.tgz","fileCount":255,"integrity":"sha512-a4VHQTEuNYEBZgrQccqonltQiQzE5jux88b5449dlIra2342R+Nf4WDc0BBz6sdHjowjt+vNnLecZJ9LbysJHg==","signatures":[{"sig":"MEQCIB/eCd0Ute+hsd+zdabMuFrl/+dqfFlyNgVD0HnPnT6sAiBl3W2sQutaUY6MyMPXRmwFRMiiEZ4FL0aNkA70MIFKRw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/lax-archive@0.1.31","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1741237},"type":"module","_from":"file:lax-archive-0.1.31.tgz","engines":{"node":">=20"},"scripts":{"lax":"tsx src/cli/main.ts","test":"vitest run","build":"node --eval \"require('node:fs').rmSync('dist',{recursive:true,force:true})\" && tsc -p tsconfig.json","check":"npm run build && npm test","prepack":"npm run build","workflow":"tsx src/workflows/submission.ts","test:watch":"vitest","page-builder:fetch":"tsx src/cli/deployment/fetch-page-builder.ts","page-builder:verify":"tsx src/cli/deployment/verify.ts","page-builder:package":"tsx src/cli/deployment/package.ts","smoke:submission-validation":"tsx test/smoke/submission-validation.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:166f0031-8f29-498f-bf36-cf6f72bcc7bd"}},"_resolved":"/home/runner/work/lax/lax/lax-archive-0.1.31.tgz","_integrity":"sha512-a4VHQTEuNYEBZgrQccqonltQiQzE5jux88b5449dlIra2342R+Nf4WDc0BBz6sdHjowjt+vNnLecZJ9LbysJHg==","repository":{"url":"git+https://github.com/lax-archive/lax.git","type":"git"},"_npmVersion":"11.19.0","description":"Issue-driven control plane and CLI for the Lax archive","directories":{},"_nodeVersion":"22.23.2","dependencies":{"yaml":"^2.9.0","katex":"^0.18.1","shiki":"^4.3.1","fflate":"^0.8.3","marked":"^15.0.0","commander":"^12.1.0","smol-toml":"^1.7.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^4.1.10","typescript":"^5.7.0","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/lax-archive_0.1.31_1787235290770_0.4460340820873361","host":"s3://npm-registry-packages-npm-production"}},"0.1.32":{"name":"lax-archive","version":"0.1.32","license":"Apache-2.0","_id":"lax-archive@0.1.32","maintainers":[{"name":"jan3er","email":"jan3er@gmail.com"}],"homepage":"https://github.com/lax-archive/lax#readme","bugs":{"url":"https://github.com/lax-archive/lax/issues"},"bin":{"lax":"bin/lax.js"},"dist":{"shasum":"62afc0cb0ca8046238d7cd7c5eb2dae4c97bf335","tarball":"https://registry.npmjs.org/lax-archive/-/lax-archive-0.1.32.tgz","fileCount":274,"integrity":"sha512-AQUJuqnYnsEsmaQRWsyJWJRSPFpQK8YC7+2OuNl6fGuvLFcbPfsyHeLJrzFkZhPWV/iPbAEbOhvD19U8XDMPJQ==","signatures":[{"sig":"MEYCIQClyS/S+FoesKyuQ1sVBirPx5lyK65nT0FnIbminUJ5xAIhAN4jFgy3wwnS+kJQW2v4zVDOHG4eqwScycp6Z+9HoDLd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/lax-archive@0.1.32","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1926186},"type":"module","_from":"file:lax-archive-0.1.32.tgz","engines":{"node":">=20"},"scripts":{"lax":"tsx src/cli/main.ts","test":"vitest run","build":"node --eval \"require('node:fs').rmSync('dist',{recursive:true,force:true})\" && tsc -p tsconfig.json","check":"npm run build && npm test","prepack":"npm run build","workflow":"tsx src/workflows/submission.ts","test:watch":"vitest","page-builder:fetch":"tsx src/cli/deployment/fetch-page-builder.ts","page-builder:verify":"tsx src/cli/deployment/verify.ts","page-builder:package":"tsx src/cli/deployment/package.ts","smoke:submission-validation":"tsx test/smoke/submission-validation.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:166f0031-8f29-498f-bf36-cf6f72bcc7bd"}},"_resolved":"/home/runner/work/lax/lax/lax-archive-0.1.32.tgz","_integrity":"sha512-AQUJuqnYnsEsmaQRWsyJWJRSPFpQK8YC7+2OuNl6fGuvLFcbPfsyHeLJrzFkZhPWV/iPbAEbOhvD19U8XDMPJQ==","repository":{"url":"git+https://github.com/lax-archive/lax.git","type":"git"},"_npmVersion":"11.19.0","description":"Issue-driven control plane and CLI for the Lax archive","directories":{},"_nodeVersion":"22.23.2","dependencies":{"yaml":"^2.9.0","katex":"^0.18.1","shiki":"^4.3.1","fflate":"^0.8.3","marked":"^15.0.0","commander":"^12.1.0","smol-toml":"^1.7.1","pdfjs-dist":"^5.6.205"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^4.1.10","typescript":"^5.7.0","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/lax-archive_0.1.32_1788350459591_0.4032412699268295","host":"s3://npm-registry-packages-npm-production"}},"0.1.33":{"name":"lax-archive","version":"0.1.33","license":"Apache-2.0","_id":"lax-archive@0.1.33","maintainers":[{"name":"jan3er","email":"jan3er@gmail.com"}],"homepage":"https://github.com/lax-archive/lax#readme","bugs":{"url":"https://github.com/lax-archive/lax/issues"},"bin":{"lax":"bin/lax.js"},"dist":{"shasum":"93a99f9c73d0a13a50e607c1f9cccf35c10465fd","tarball":"https://registry.npmjs.org/lax-archive/-/lax-archive-0.1.33.tgz","fileCount":274,"integrity":"sha512-LZu4bQVPpR25UsV/bjfZqpkw7kC486TiaYv6D6cDSr6ai7i5Nkr0H8+gTG9QHxfkLjcoS2S3WQZv3ER5yWt7Dg==","signatures":[{"sig":"MEUCIA8RwSNuVJhE/JmsRfTZYKVD7YwjduxAf2GyYDESC3KCAiEApHA2V6oyvelRY5GC0+65YWCatVVRDB33zwvBNZuV7/I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/lax-archive@0.1.33","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1930071},"type":"module","_from":"file:lax-archive-0.1.33.tgz","engines":{"node":">=20"},"scripts":{"lax":"tsx src/cli/main.ts","test":"vitest run","build":"node --eval \"require('node:fs').rmSync('dist',{recursive:true,force:true})\" && tsc -p tsconfig.json","check":"npm run build && npm test","prepack":"npm run build","workflow":"tsx src/workflows/submission.ts","test:watch":"vitest","page-builder:fetch":"tsx src/cli/deployment/fetch-page-builder.ts","page-builder:verify":"tsx src/cli/deployment/verify.ts","page-builder:package":"tsx src/cli/deployment/package.ts","smoke:submission-validation":"tsx test/smoke/submission-validation.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:166f0031-8f29-498f-bf36-cf6f72bcc7bd"}},"_resolved":"/home/runner/work/lax/lax/lax-archive-0.1.33.tgz","_integrity":"sha512-LZu4bQVPpR25UsV/bjfZqpkw7kC486TiaYv6D6cDSr6ai7i5Nkr0H8+gTG9QHxfkLjcoS2S3WQZv3ER5yWt7Dg==","repository":{"url":"git+https://github.com/lax-archive/lax.git","type":"git"},"_npmVersion":"11.19.0","description":"Issue-driven control plane and CLI for the Lax archive","directories":{},"_nodeVersion":"22.23.2","dependencies":{"yaml":"^2.9.0","katex":"^0.18.1","shiki":"^4.3.1","fflate":"^0.8.3","marked":"^15.0.0","commander":"^12.1.0","smol-toml":"^1.7.1","pdfjs-dist":"^5.6.205"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^4.1.10","typescript":"^5.7.0","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/lax-archive_0.1.33_1788358234493_0.2826530582425073","host":"s3://npm-registry-packages-npm-production"}},"0.1.34":{"name":"lax-archive","version":"0.1.34","license":"Apache-2.0","_id":"lax-archive@0.1.34","maintainers":[{"name":"jan3er","email":"jan3er@gmail.com"}],"homepage":"https://github.com/lax-archive/lax#readme","bugs":{"url":"https://github.com/lax-archive/lax/issues"},"bin":{"lax":"bin/lax.js"},"dist":{"shasum":"f18403c20c5c8b71395930c7b52179bb6578f557","tarball":"https://registry.npmjs.org/lax-archive/-/lax-archive-0.1.34.tgz","fileCount":294,"integrity":"sha512-3S9/V4tUF7zcBsqOSkE8D6lYT6z7xqWoj0qZbSkCNoq0gcBsdK7XmdAxF6gg4bEXgy+fomrCz7PjdAWBC6XrDg==","signatures":[{"sig":"MEYCIQD/6qWoSwzxXN45HL61BO61DIurYaN6FM3yjPtYErVVYAIhAPmV4LTQ2tmXyoKFx6xnK3tWKVl2vQN/Y+AHdNlD1gbV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/lax-archive@0.1.34","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2299888},"type":"module","_from":"file:lax-archive-0.1.34.tgz","engines":{"node":">=20"},"scripts":{"lax":"tsx src/cli/main.ts","test":"vitest run","build":"node --eval \"require('node:fs').rmSync('dist',{recursive:true,force:true})\" && tsc -p tsconfig.json","check":"npm run build && npm test","prepack":"npm run build","workflow":"tsx src/workflows/submission.ts","test:watch":"vitest","reflowtex:fetch":"node reflowtex/fetch.mjs","smoke:prooftree":"tsx test/smoke/prooftree.ts","paper-web:fixture":"tsx scripts/paper-web-fixture/generate.ts","page-builder:fetch":"tsx src/cli/deployment/fetch-page-builder.ts","page-builder:verify":"tsx src/cli/deployment/verify.ts","page-builder:package":"tsx src/cli/deployment/package.ts","smoke:submission-validation":"tsx test/smoke/submission-validation.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:166f0031-8f29-498f-bf36-cf6f72bcc7bd"}},"_resolved":"/home/runner/work/lax/lax/lax-archive-0.1.34.tgz","_integrity":"sha512-3S9/V4tUF7zcBsqOSkE8D6lYT6z7xqWoj0qZbSkCNoq0gcBsdK7XmdAxF6gg4bEXgy+fomrCz7PjdAWBC6XrDg==","repository":{"url":"git+https://github.com/lax-archive/lax.git","type":"git"},"_npmVersion":"11.19.0","description":"Issue-driven control plane and CLI for the Lax archive","directories":{},"_nodeVersion":"22.23.2","dependencies":{"yaml":"^2.9.0","katex":"^0.18.1","shiki":"^4.3.1","fflate":"^0.8.3","marked":"^15.0.0","commander":"^12.1.0","smol-toml":"^1.7.1","pdfjs-dist":"^5.6.205"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^4.1.10","typescript":"^5.7.0","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/lax-archive_0.1.34_1788445922523_0.8877517885991923","host":"s3://npm-registry-packages-npm-production"}},"0.1.35":{"name":"lax-archive","version":"0.1.35","license":"Apache-2.0","_id":"lax-archive@0.1.35","maintainers":[{"name":"jan3er","email":"jan3er@gmail.com"}],"homepage":"https://github.com/lax-archive/lax#readme","bugs":{"url":"https://github.com/lax-archive/lax/issues"},"bin":{"lax":"bin/lax.js"},"dist":{"shasum":"150252792fee746b570cd8f4e8ce905ed91c11d2","tarball":"https://registry.npmjs.org/lax-archive/-/lax-archive-0.1.35.tgz","fileCount":300,"integrity":"sha512-N6QepI4g3JjnOwdIRvBcd+BPUTfuKd6i0hEqW9K+qWcN57sbrzviMEJungkl12MqqPZTZhO/ntauF1RR+LTmPA==","signatures":[{"sig":"MEUCIQDt90zujxaa47/B9Kzylr2luroKJ4FXMzTdxohOu9XazgIgJ+QyZMoZ6ykXAOV7qrsrwdbabE0HPxJMkeyvUFgt1ms=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/lax-archive@0.1.35","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2370964},"type":"module","_from":"file:lax-archive-0.1.35.tgz","engines":{"node":">=20"},"scripts":{"lax":"tsx src/cli/main.ts","test":"vitest run","build":"node --eval \"require('node:fs').rmSync('dist',{recursive:true,force:true})\" && tsc -p tsconfig.json","check":"npm run build && npm test","prepack":"npm run build","workflow":"tsx src/workflows/submission.ts","test:watch":"vitest","reflowtex:fetch":"node reflowtex/fetch.mjs","smoke:prooftree":"tsx test/smoke/prooftree.ts","paper-web:fixture":"tsx scripts/paper-web-fixture/generate.ts","page-builder:fetch":"tsx src/cli/deployment/fetch-page-builder.ts","page-builder:verify":"tsx src/cli/deployment/verify.ts","page-builder:package":"tsx src/cli/deployment/package.ts","smoke:submission-validation":"tsx test/smoke/submission-validation.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:166f0031-8f29-498f-bf36-cf6f72bcc7bd"}},"_resolved":"/home/runner/work/lax/lax/lax-archive-0.1.35.tgz","_integrity":"sha512-N6QepI4g3JjnOwdIRvBcd+BPUTfuKd6i0hEqW9K+qWcN57sbrzviMEJungkl12MqqPZTZhO/ntauF1RR+LTmPA==","repository":{"url":"git+https://github.com/lax-archive/lax.git","type":"git"},"_npmVersion":"11.19.0","description":"Issue-driven control plane and CLI for the Lax archive","directories":{},"_nodeVersion":"22.23.2","dependencies":{"yaml":"^2.9.0","katex":"^0.18.1","shiki":"^4.3.1","fflate":"^0.8.3","marked":"^15.0.0","commander":"^12.1.0","smol-toml":"^1.7.1","pdfjs-dist":"^5.6.205"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^4.1.10","typescript":"^5.7.0","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/lax-archive_0.1.35_1788464906893_0.5581623645235869","host":"s3://npm-registry-packages-npm-production"}},"0.1.36":{"name":"lax-archive","version":"0.1.36","license":"Apache-2.0","_id":"lax-archive@0.1.36","maintainers":[{"name":"jan3er","email":"jan3er@gmail.com"}],"homepage":"https://github.com/lax-archive/lax#readme","bugs":{"url":"https://github.com/lax-archive/lax/issues"},"bin":{"lax":"bin/lax.js"},"dist":{"shasum":"3e21d74cf05a5957d2c3e5a3e3c833ec8dd3dc3b","tarball":"https://registry.npmjs.org/lax-archive/-/lax-archive-0.1.36.tgz","fileCount":302,"integrity":"sha512-NHWC7ERzGijwmLqrbA7nlZCEE78SmULjYeG5WXKolQ2nrYO1jQGiRXKLK6ArNZaT/ws65jUTcxL6s2TYFB4L+A==","signatures":[{"sig":"MEUCIQC/VDSbaDTpMo2JOi+79s2ztyPk0/h6+JViwSKN3Kwd3wIgbX8YR1S6JQASkOJPOYHeumKk3V+m76aL6VQo30stjSY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/lax-archive@0.1.36","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2423072},"type":"module","_from":"file:lax-archive-0.1.36.tgz","engines":{"node":">=20"},"scripts":{"lax":"tsx src/cli/main.ts","test":"vitest run","build":"node --eval \"require('node:fs').rmSync('dist',{recursive:true,force:true})\" && tsc -p tsconfig.json","check":"npm run build && npm run typecheck && npm test","prepack":"npm run build","workflow":"tsx src/workflows/submission.ts","typecheck":"tsc -p tsconfig.typecheck.json","test:watch":"vitest","reflowtex:fetch":"node reflowtex/fetch.mjs","smoke:prooftree":"tsx test/smoke/prooftree.ts","paper-web:fixture":"tsx scripts/paper-web-fixture/generate.ts","page-builder:fetch":"tsx src/cli/deployment/fetch-page-builder.ts","page-builder:verify":"tsx src/cli/deployment/verify.ts","page-builder:package":"tsx src/cli/deployment/package.ts","smoke:submission-validation":"tsx test/smoke/submission-validation.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:166f0031-8f29-498f-bf36-cf6f72bcc7bd"}},"_resolved":"/home/runner/work/lax/lax/lax-archive-0.1.36.tgz","_integrity":"sha512-NHWC7ERzGijwmLqrbA7nlZCEE78SmULjYeG5WXKolQ2nrYO1jQGiRXKLK6ArNZaT/ws65jUTcxL6s2TYFB4L+A==","repository":{"url":"git+https://github.com/lax-archive/lax.git","type":"git"},"_npmVersion":"11.19.0","description":"Issue-driven control plane and CLI for the Lax archive","directories":{},"_nodeVersion":"22.23.2","dependencies":{"yaml":"^2.9.0","katex":"^0.18.1","shiki":"^4.3.1","fflate":"^0.8.3","marked":"^15.0.0","commander":"^12.1.0","smol-toml":"^1.7.1","pdfjs-dist":"^5.6.205"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^4.1.10","typescript":"^5.7.0","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/lax-archive_0.1.36_1788512379551_0.14603558666403105","host":"s3://npm-registry-packages-npm-production"}},"0.1.38":{"name":"lax-archive","version":"0.1.38","license":"Apache-2.0","_id":"lax-archive@0.1.38","maintainers":[{"name":"jan3er","email":"jan3er@gmail.com"}],"homepage":"https://github.com/lax-archive/lax#readme","bugs":{"url":"https://github.com/lax-archive/lax/issues"},"bin":{"lax":"bin/lax.js"},"dist":{"shasum":"b76c37deb8f5beb7749003503b44cfbbb8b5e1de","tarball":"https://registry.npmjs.org/lax-archive/-/lax-archive-0.1.38.tgz","fileCount":345,"integrity":"sha512-Li03bDNbN5WlUBezZLRNdxDdzWvzwXQfW7ICE6ASWOkStX3AM9DgZOEa66VrwhcstcJVLtjsGIEq+ROn6bW6bg==","signatures":[{"sig":"MEUCID1Sha7Ksj27/xlQU9kbUrZ2WOOg8XVHSSJols7ZMsqqAiEA+4GLsSTbsU19RkUSJ6IW4XkKrGTxjAdOz1WTUlGa668=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/lax-archive@0.1.38","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5141903},"type":"module","_from":"file:.release/lax-archive-0.1.38.tgz","engines":{"node":">=20"},"scripts":{"lax":"tsx src/cli/main.ts","test":"vitest run","build":"node --eval \"require('node:fs').rmSync('dist',{recursive:true,force:true})\" && tsc -p tsconfig.json","check":"npm run build && npm run typecheck && npm test","prepack":"npm run build","workflow":"tsx src/workflows/submission.ts","typecheck":"tsc -p tsconfig.typecheck.json","test:watch":"vitest","reflowtex:fetch":"node reflowtex/fetch.mjs","smoke:prooftree":"tsx test/smoke/prooftree.ts","paper-web:fixture":"tsx scripts/paper-web-fixture/generate.ts","page-builder:fetch":"tsx src/cli/deployment/fetch-page-builder.ts","page-builder:verify":"tsx src/cli/deployment/verify.ts","page-builder:package":"tsx src/cli/deployment/package.ts","smoke:submission-validation":"tsx test/smoke/submission-validation.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:166f0031-8f29-498f-bf36-cf6f72bcc7bd"}},"_resolved":"/home/runner/work/lax/lax/.release/lax-archive-0.1.38.tgz","_integrity":"sha512-Li03bDNbN5WlUBezZLRNdxDdzWvzwXQfW7ICE6ASWOkStX3AM9DgZOEa66VrwhcstcJVLtjsGIEq+ROn6bW6bg==","repository":{"url":"git+https://github.com/lax-archive/lax.git","type":"git"},"_npmVersion":"11.19.0","description":"Issue-driven control plane and CLI for the Lax archive","directories":{},"_nodeVersion":"22.23.2","dependencies":{"yaml":"^2.9.0","katex":"^0.18.1","shiki":"^4.3.1","fflate":"^0.8.3","marked":"^15.0.0","commander":"^12.1.0","smol-toml":"^1.7.1","pdfjs-dist":"^5.6.205"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^4.1.10","typescript":"^5.7.0","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/lax-archive_0.1.38_1788514137824_0.075582757443863","host":"s3://npm-registry-packages-npm-production"}},"0.1.39":{"name":"lax-archive","version":"0.1.39","license":"Apache-2.0","_id":"lax-archive@0.1.39","maintainers":[{"name":"jan3er","email":"jan3er@gmail.com"}],"homepage":"https://github.com/lax-archive/lax#readme","bugs":{"url":"https://github.com/lax-archive/lax/issues"},"bin":{"lax":"bin/lax.js"},"dist":{"shasum":"752758374fb5197c3b18ba8f339d6ab028091b1f","tarball":"https://registry.npmjs.org/lax-archive/-/lax-archive-0.1.39.tgz","fileCount":355,"integrity":"sha512-aTBd/lkwm/RwRReWPxG7+DIqpN7wWIuXvpLLY0+9bsWhbULGjzPkl8gkx7qhJ/XIc6/yxgXuZjPHFISZqPR1/g==","signatures":[{"sig":"MEQCIA3vR9HqvbDZ/LaHZTEHrNZFg/E8QDIMhgfMVYGJuJzEAiB+6wHOrlTQQPcGbPx8gq1OtnsMN5o+gtEGN8euBcnZyA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/lax-archive@0.1.39","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5279884},"type":"module","_from":"file:.release/lax-archive-0.1.39.tgz","engines":{"node":">=20"},"scripts":{"lax":"tsx src/cli/main.ts","test":"vitest run","build":"node --eval \"require('node:fs').rmSync('dist',{recursive:true,force:true})\" && tsc -p tsconfig.json","check":"npm run build && npm run typecheck && npm test","prepack":"npm run build","workflow":"tsx src/workflows/submission.ts","typecheck":"tsc -p tsconfig.typecheck.json","test:watch":"vitest","reflowtex:fetch":"node reflowtex/fetch.mjs","smoke:prooftree":"tsx test/smoke/prooftree.ts","paper-web:fixture":"tsx scripts/paper-web-fixture/generate.ts","page-builder:fetch":"tsx src/cli/deployment/fetch-page-builder.ts","page-builder:verify":"tsx src/cli/deployment/verify.ts","page-builder:package":"tsx src/cli/deployment/package.ts","smoke:submission-validation":"tsx test/smoke/submission-validation.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:166f0031-8f29-498f-bf36-cf6f72bcc7bd"}},"_resolved":"/home/runner/work/lax/lax/.release/lax-archive-0.1.39.tgz","_integrity":"sha512-aTBd/lkwm/RwRReWPxG7+DIqpN7wWIuXvpLLY0+9bsWhbULGjzPkl8gkx7qhJ/XIc6/yxgXuZjPHFISZqPR1/g==","repository":{"url":"git+https://github.com/lax-archive/lax.git","type":"git"},"_npmVersion":"11.19.0","description":"Issue-driven control plane and CLI for the Lax archive","directories":{},"_nodeVersion":"22.23.2","dependencies":{"yaml":"^2.9.0","katex":"^0.18.1","shiki":"^4.3.1","fflate":"^0.8.3","marked":"^15.0.0","commander":"^12.1.0","smol-toml":"^1.7.1","pdfjs-dist":"^5.6.205"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^4.1.10","typescript":"^5.7.0","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/lax-archive_0.1.39_1788525328427_0.45545224484068525","host":"s3://npm-registry-packages-npm-production"}},"0.1.40":{"name":"lax-archive","version":"0.1.40","license":"Apache-2.0","_id":"lax-archive@0.1.40","maintainers":[{"name":"jan3er","email":"jan3er@gmail.com"}],"homepage":"https://github.com/lax-archive/lax#readme","bugs":{"url":"https://github.com/lax-archive/lax/issues"},"bin":{"lax":"bin/lax.js"},"dist":{"shasum":"d8f4e308eaa4f1d6983a8ac15f78e4903d0347f0","tarball":"https://registry.npmjs.org/lax-archive/-/lax-archive-0.1.40.tgz","fileCount":357,"integrity":"sha512-zdvxn5knVfGTjGUfAx2Ej14nTJOXJHXiLJuZ+BgwVfS2MbKh+5bwTqQZNQpiGsE85zUXm02pHHcf/VudqHeq3A==","signatures":[{"sig":"MEUCIQCRAXWsrWZ2zSZ1Vx75yL5gGuEUKGz4bVUR4igLfNzrEAIgIqcCrRkES9tctl2S5gmWwGCWWTpROfA8M+aqUMDs+mo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/lax-archive@0.1.40","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5307138},"type":"module","_from":"file:.release/lax-archive-0.1.40.tgz","engines":{"node":">=20"},"scripts":{"lax":"tsx src/cli/main.ts","test":"vitest run","admin":"tsx scripts/admin/admin.ts","build":"node --eval \"require('node:fs').rmSync('dist',{recursive:true,force:true})\" && tsc -p tsconfig.json","check":"npm run build && npm run typecheck && npm test","prepack":"npm run build","workflow":"tsx src/workflows/submission.ts","typecheck":"tsc -p tsconfig.typecheck.json","test:watch":"vitest","reflowtex:fetch":"node reflowtex/fetch.mjs","smoke:prooftree":"tsx test/smoke/prooftree.ts","paper-web:fixture":"tsx scripts/paper-web-fixture/generate.ts","page-builder:fetch":"tsx src/cli/deployment/fetch-page-builder.ts","page-builder:verify":"tsx src/cli/deployment/verify.ts","page-builder:package":"tsx src/cli/deployment/package.ts","smoke:submission-validation":"tsx test/smoke/submission-validation.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:166f0031-8f29-498f-bf36-cf6f72bcc7bd"}},"_resolved":"/home/runner/work/lax/lax/.release/lax-archive-0.1.40.tgz","_integrity":"sha512-zdvxn5knVfGTjGUfAx2Ej14nTJOXJHXiLJuZ+BgwVfS2MbKh+5bwTqQZNQpiGsE85zUXm02pHHcf/VudqHeq3A==","repository":{"url":"git+https://github.com/lax-archive/lax.git","type":"git"},"_npmVersion":"11.19.0","description":"Issue-driven control plane and CLI for the Lax archive","directories":{},"_nodeVersion":"22.23.2","dependencies":{"yaml":"^2.9.0","katex":"^0.18.1","shiki":"^4.3.1","fflate":"^0.8.3","marked":"^15.0.0","commander":"^12.1.0","smol-toml":"^1.7.1","pdfjs-dist":"^5.6.205"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^4.1.10","typescript":"^5.7.0","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/lax-archive_0.1.40_1788528486141_0.8368549824411886","host":"s3://npm-registry-packages-npm-production"}},"0.1.41":{"name":"lax-archive","version":"0.1.41","license":"Apache-2.0","_id":"lax-archive@0.1.41","maintainers":[{"name":"jan3er","email":"jan3er@gmail.com"}],"homepage":"https://github.com/lax-archive/lax#readme","bugs":{"url":"https://github.com/lax-archive/lax/issues"},"bin":{"lax":"bin/lax.js"},"dist":{"shasum":"018dc52e2c379498e5738912cc36708614431bd5","tarball":"https://registry.npmjs.org/lax-archive/-/lax-archive-0.1.41.tgz","fileCount":357,"integrity":"sha512-n7lT4o5iiB1MPsKSl07Jl3sqt0P3+vE5celKq/ZffhLvZU4Gj2wuTBncGWYqxlZDOXD01flreL+5kMYdYBV5KA==","signatures":[{"sig":"MEYCIQCmUWv3PoKocmnm5a94agJF1wXpuG6umE2s0+4p2J4zzwIhAPsfqntZJWPHGeKV4LoBBz8qTZVr0BWSBb6J10/WPeOq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/lax-archive@0.1.41","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5316412},"type":"module","_from":"file:.release/lax-archive-0.1.41.tgz","engines":{"node":">=20"},"scripts":{"lax":"tsx src/cli/main.ts","test":"vitest run","admin":"tsx scripts/admin/admin.ts","build":"node --eval \"require('node:fs').rmSync('dist',{recursive:true,force:true})\" && tsc -p tsconfig.json","check":"npm run build && npm run typecheck && npm test","prepack":"npm run build","workflow":"tsx src/workflows/submission.ts","typecheck":"tsc -p tsconfig.typecheck.json","test:watch":"vitest","reflowtex:fetch":"node reflowtex/fetch.mjs","smoke:prooftree":"tsx test/smoke/prooftree.ts","paper-web:fixture":"tsx scripts/paper-web-fixture/generate.ts","page-builder:fetch":"tsx src/cli/deployment/fetch-page-builder.ts","page-builder:verify":"tsx src/cli/deployment/verify.ts","page-builder:package":"tsx src/cli/deployment/package.ts","smoke:submission-validation":"tsx test/smoke/submission-validation.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:166f0031-8f29-498f-bf36-cf6f72bcc7bd"}},"_resolved":"/home/runner/work/lax/lax/.release/lax-archive-0.1.41.tgz","_integrity":"sha512-n7lT4o5iiB1MPsKSl07Jl3sqt0P3+vE5celKq/ZffhLvZU4Gj2wuTBncGWYqxlZDOXD01flreL+5kMYdYBV5KA==","repository":{"url":"git+https://github.com/lax-archive/lax.git","type":"git"},"_npmVersion":"11.19.0","description":"Issue-driven control plane and CLI for the Lax archive","directories":{},"_nodeVersion":"22.23.2","dependencies":{"yaml":"^2.9.0","katex":"^0.18.1","shiki":"^4.3.1","fflate":"^0.8.3","marked":"^15.0.0","commander":"^12.1.0","smol-toml":"^1.7.1","pdfjs-dist":"^5.6.205"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^4.1.10","typescript":"^5.7.0","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/lax-archive_0.1.41_1788531508673_0.7358880086304873","host":"s3://npm-registry-packages-npm-production"}},"0.1.42":{"name":"lax-archive","version":"0.1.42","license":"Apache-2.0","_id":"lax-archive@0.1.42","maintainers":[{"name":"jan3er","email":"jan3er@gmail.com"}],"homepage":"https://github.com/lax-archive/lax#readme","bugs":{"url":"https://github.com/lax-archive/lax/issues"},"bin":{"lax":"bin/lax.js"},"dist":{"shasum":"2a886947863fb9f7a7415ba6b7e19d1ff61ac7ee","tarball":"https://registry.npmjs.org/lax-archive/-/lax-archive-0.1.42.tgz","fileCount":373,"integrity":"sha512-NMGlAIzD4YC4x4Z8qu4LCTaT86dZM4w/hGPakT59RU/y2l2TdPC8I/uI6Re+gYX9sFPyznVviinU2QQN9zvuXg==","signatures":[{"sig":"MEQCIBzjtdhf/+RXbN9IwLJeoS1JXJdOnSIdANRoUIl6fZtfAiAYutIr+82vLs43utvS1LrA9HkK1Yk3cLJgvLo0stao8g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/lax-archive@0.1.42","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5800137},"type":"module","_from":"file:.release/lax-archive-0.1.42.tgz","engines":{"node":">=20"},"scripts":{"lax":"tsx src/cli/main.ts","test":"vitest run","admin":"tsx scripts/admin/admin.ts","build":"node --eval \"require('node:fs').rmSync('dist',{recursive:true,force:true})\" && tsc -p tsconfig.json","check":"npm run build && npm run typecheck && npm test","prepack":"npm run build","workflow":"tsx src/workflows/submission.ts","typecheck":"tsc -p tsconfig.typecheck.json","reflow-lab":"tsx scripts/reflow-lab/lab.ts","test:watch":"vitest","reflowtex:fetch":"node reflowtex/fetch.mjs","smoke:prooftree":"tsx test/smoke/prooftree.ts","paper-web:fixture":"tsx scripts/paper-web-fixture/generate.ts","page-builder:fetch":"tsx src/cli/deployment/fetch-page-builder.ts","page-builder:verify":"tsx src/cli/deployment/verify.ts","page-builder:package":"tsx src/cli/deployment/package.ts","smoke:submission-validation":"tsx test/smoke/submission-validation.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:166f0031-8f29-498f-bf36-cf6f72bcc7bd"}},"_resolved":"/home/runner/work/lax/lax/.release/lax-archive-0.1.42.tgz","_integrity":"sha512-NMGlAIzD4YC4x4Z8qu4LCTaT86dZM4w/hGPakT59RU/y2l2TdPC8I/uI6Re+gYX9sFPyznVviinU2QQN9zvuXg==","repository":{"url":"git+https://github.com/lax-archive/lax.git","type":"git"},"_npmVersion":"11.19.0","description":"Issue-driven control plane and CLI for the Lax archive","directories":{},"_nodeVersion":"22.23.2","dependencies":{"yaml":"^2.9.0","katex":"^0.18.1","shiki":"^4.3.1","fflate":"^0.8.3","marked":"^15.0.0","commander":"^12.1.0","smol-toml":"^1.7.1","pdfjs-dist":"^5.6.205"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^4.1.10","typescript":"^5.7.0","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/lax-archive_0.1.42_1789250182702_0.11454026680453278","host":"s3://npm-registry-packages-npm-production"}},"0.1.43":{"name":"lax-archive","version":"0.1.43","license":"Apache-2.0","_id":"lax-archive@0.1.43","maintainers":[{"name":"jan3er","email":"jan3er@gmail.com"}],"homepage":"https://github.com/lax-archive/lax#readme","bugs":{"url":"https://github.com/lax-archive/lax/issues"},"bin":{"lax":"bin/lax.js"},"dist":{"shasum":"0a0560baa990c1ee152e44c05c7b8537b26bc8a8","tarball":"https://registry.npmjs.org/lax-archive/-/lax-archive-0.1.43.tgz","fileCount":373,"integrity":"sha512-9uaDBedtypaqAOhaC/0yN+l7Bx7FwDpq+HpgXAbyv2rnh6hmCzWnZlUhFArHSBb9H/mcWR0k2/QORXbD8d/5DQ==","signatures":[{"sig":"MEQCIGXnxsUzvcJy+h1FBaisvvy3rQIi2OK5K0SDK+RCqFBgAiAhGiuL/0XMRI86tWcKm3CIe0NE8yzHkix8+tQOOWkmkA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/lax-archive@0.1.43","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5810266},"type":"module","_from":"file:.release/lax-archive-0.1.43.tgz","engines":{"node":">=20"},"scripts":{"lax":"tsx src/cli/main.ts","test":"vitest run","admin":"tsx scripts/admin/admin.ts","build":"node --eval \"require('node:fs').rmSync('dist',{recursive:true,force:true})\" && tsc -p tsconfig.json","check":"npm run build && npm run typecheck && npm test","prepack":"npm run build","workflow":"tsx src/workflows/submission.ts","typecheck":"tsc -p tsconfig.typecheck.json","reflow-lab":"tsx scripts/reflow-lab/lab.ts","test:watch":"vitest","reflowtex:fetch":"node reflowtex/fetch.mjs","smoke:prooftree":"tsx test/smoke/prooftree.ts","paper-web:fixture":"tsx scripts/paper-web-fixture/generate.ts","page-builder:fetch":"tsx src/cli/deployment/fetch-page-builder.ts","page-builder:verify":"tsx src/cli/deployment/verify.ts","page-builder:package":"tsx src/cli/deployment/package.ts","smoke:submission-validation":"tsx test/smoke/submission-validation.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:166f0031-8f29-498f-bf36-cf6f72bcc7bd"}},"_resolved":"/home/runner/work/lax/lax/.release/lax-archive-0.1.43.tgz","_integrity":"sha512-9uaDBedtypaqAOhaC/0yN+l7Bx7FwDpq+HpgXAbyv2rnh6hmCzWnZlUhFArHSBb9H/mcWR0k2/QORXbD8d/5DQ==","repository":{"url":"git+https://github.com/lax-archive/lax.git","type":"git"},"_npmVersion":"11.19.0","description":"Issue-driven control plane and CLI for the Lax archive","directories":{},"_nodeVersion":"22.23.2","dependencies":{"yaml":"^2.9.0","katex":"^0.18.1","shiki":"^4.3.1","fflate":"^0.8.3","marked":"^15.0.0","commander":"^12.1.0","smol-toml":"^1.7.1","pdfjs-dist":"^5.6.205"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^4.1.10","typescript":"^5.7.0","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/lax-archive_0.1.43_1789253011537_0.2199999126520915","host":"s3://npm-registry-packages-npm-production"}},"0.1.44":{"name":"lax-archive","version":"0.1.44","license":"Apache-2.0","_id":"lax-archive@0.1.44","maintainers":[{"name":"jan3er","email":"jan3er@gmail.com"}],"homepage":"https://github.com/lax-archive/lax#readme","bugs":{"url":"https://github.com/lax-archive/lax/issues"},"bin":{"lax":"bin/lax.js"},"dist":{"shasum":"46882593f44ec9ee90bfa59d083affbf5ba33a9d","tarball":"https://registry.npmjs.org/lax-archive/-/lax-archive-0.1.44.tgz","fileCount":377,"integrity":"sha512-tdlHcL1BWq3rq2EvQSvells4Dygz1QKsQ56+6e/JAZ72xt9lojex7TwzL2bsp+Aw+mzPas2FiILNyRjwHaMfpA==","signatures":[{"sig":"MEUCIEtaaKAeOrlxg5bUwRLQ4b345Hu7xUFrCMMD9zQPBXkmAiEA2MafLgpf4JcGZyk6AbAwLuWX/6sdhOgN6JlexqA6DVc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/lax-archive@0.1.44","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5909291},"type":"module","_from":"file:.release/lax-archive-0.1.44.tgz","engines":{"node":">=20"},"scripts":{"lax":"tsx src/cli/main.ts","test":"vitest run","admin":"tsx scripts/admin/admin.ts","build":"node --eval \"require('node:fs').rmSync('dist',{recursive:true,force:true})\" && tsc -p tsconfig.json","check":"npm run build && npm run typecheck && npm test","prepack":"npm run build","workflow":"tsx src/workflows/submission.ts","typecheck":"tsc -p tsconfig.typecheck.json","reflow-lab":"tsx scripts/reflow-lab/lab.ts","test:watch":"vitest","reflowtex:fetch":"node reflowtex/fetch.mjs","smoke:prooftree":"tsx test/smoke/prooftree.ts","paper-web:fixture":"tsx scripts/paper-web-fixture/generate.ts","page-builder:fetch":"tsx src/cli/deployment/fetch-page-builder.ts","page-builder:verify":"tsx src/cli/deployment/verify.ts","page-builder:package":"tsx src/cli/deployment/package.ts","smoke:submission-validation":"tsx test/smoke/submission-validation.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:166f0031-8f29-498f-bf36-cf6f72bcc7bd"}},"_resolved":"/home/runner/work/lax/lax/.release/lax-archive-0.1.44.tgz","_integrity":"sha512-tdlHcL1BWq3rq2EvQSvells4Dygz1QKsQ56+6e/JAZ72xt9lojex7TwzL2bsp+Aw+mzPas2FiILNyRjwHaMfpA==","repository":{"url":"git+https://github.com/lax-archive/lax.git","type":"git"},"_npmVersion":"11.19.0","description":"Issue-driven control plane and CLI for the Lax archive","directories":{},"_nodeVersion":"22.23.2","dependencies":{"yaml":"^2.9.0","katex":"^0.18.1","shiki":"^4.3.1","fflate":"^0.8.3","marked":"^15.0.0","commander":"^12.1.0","smol-toml":"^1.7.1","pdfjs-dist":"^5.6.205"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^4.1.10","typescript":"^5.7.0","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/lax-archive_0.1.44_1789502015154_0.3463954615542053","host":"s3://npm-registry-packages-npm-production"}},"0.1.45":{"name":"lax-archive","version":"0.1.45","license":"Apache-2.0","_id":"lax-archive@0.1.45","maintainers":[{"name":"jan3er","email":"jan3er@gmail.com"}],"homepage":"https://github.com/lax-archive/lax#readme","bugs":{"url":"https://github.com/lax-archive/lax/issues"},"bin":{"lax":"bin/lax.js"},"dist":{"shasum":"31db121580e7aa9c7c3ecd27cd8d9efc47cc7504","tarball":"https://registry.npmjs.org/lax-archive/-/lax-archive-0.1.45.tgz","fileCount":377,"integrity":"sha512-RYyrZqXaJsmT3Uz16FwDqFpL8uwdsLwBm9SiaId9AHdJ5PQ2TZNTymyWl5NtEdH6eSnklAPxxFOdDck1I1/HOg==","signatures":[{"sig":"MEQCIGVjaoO3Zk+9+wG1+Alhe74C7KrzeB8/RKRHllbc1EFzAiAFr4LCmqutU4RzncbYgjIbG6dzKH0Aq0dril/JqHlRRg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/lax-archive@0.1.45","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5914725},"type":"module","_from":"file:.release/lax-archive-0.1.45.tgz","engines":{"node":">=20"},"scripts":{"lax":"tsx src/cli/main.ts","test":"vitest run","admin":"tsx scripts/admin/admin.ts","build":"node --eval \"require('node:fs').rmSync('dist',{recursive:true,force:true})\" && tsc -p tsconfig.json","check":"npm run build && npm run typecheck && npm test","prepack":"npm run build","workflow":"tsx src/workflows/submission.ts","typecheck":"tsc -p tsconfig.typecheck.json","reflow-lab":"tsx scripts/reflow-lab/lab.ts","test:watch":"vitest","reflowtex:fetch":"node reflowtex/fetch.mjs","smoke:prooftree":"tsx test/smoke/prooftree.ts","paper-web:fixture":"tsx scripts/paper-web-fixture/generate.ts","page-builder:fetch":"tsx src/cli/deployment/fetch-page-builder.ts","page-builder:verify":"tsx src/cli/deployment/verify.ts","page-builder:package":"tsx src/cli/deployment/package.ts","smoke:submission-validation":"tsx test/smoke/submission-validation.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:166f0031-8f29-498f-bf36-cf6f72bcc7bd"}},"_resolved":"/home/runner/work/lax/lax/.release/lax-archive-0.1.45.tgz","_integrity":"sha512-RYyrZqXaJsmT3Uz16FwDqFpL8uwdsLwBm9SiaId9AHdJ5PQ2TZNTymyWl5NtEdH6eSnklAPxxFOdDck1I1/HOg==","repository":{"url":"git+https://github.com/lax-archive/lax.git","type":"git"},"_npmVersion":"11.19.0","description":"Issue-driven control plane and CLI for the Lax archive","directories":{},"_nodeVersion":"22.23.2","dependencies":{"yaml":"^2.9.0","katex":"^0.18.1","shiki":"^4.3.1","fflate":"^0.8.3","marked":"^15.0.0","commander":"^12.1.0","smol-toml":"^1.7.1","pdfjs-dist":"^5.6.205"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^4.1.10","typescript":"^5.7.0","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/lax-archive_0.1.45_1789582903499_0.40091991744759037","host":"s3://npm-registry-packages-npm-production"}},"0.1.46":{"name":"lax-archive","version":"0.1.46","license":"Apache-2.0","_id":"lax-archive@0.1.46","maintainers":[{"name":"jan3er","email":"jan3er@gmail.com"}],"homepage":"https://github.com/lax-archive/lax#readme","bugs":{"url":"https://github.com/lax-archive/lax/issues"},"bin":{"lax":"bin/lax.js"},"dist":{"shasum":"d19b6133de0e5e53958cd38a7d79089199105141","tarball":"https://registry.npmjs.org/lax-archive/-/lax-archive-0.1.46.tgz","fileCount":508,"integrity":"sha512-JALfS8fg9tssOoPs//qnw4SbOsKngDUmZBG4JKreKQmwmdKscQU7DBPKwcSIly4E4cZX1UvTibhvx0Qaj8//hA==","signatures":[{"sig":"MEUCIQCMT3vJFHwHTBfmqoJVs9fB8LiploiDf9u9fvub8Tt0hAIgWSnA7uYpHh8cZk/sXD+Y8hTw6hXelFPOQ1gPLhIdUVY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDJdmSWFYQPQPlgKxVUDkWMKG8WIxtZEBJiiqB366V1YwIgBqUHvoA5OfiD2sKaodbbPiS+gBFyCgO1oXI+dqCM5GA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/lax-archive@0.1.46","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":7416139},"type":"module","_from":"file:.release/lax-archive-0.1.46.tgz","engines":{"node":">=20"},"scripts":{"lax":"tsx src/cli/main.ts","test":"vitest run","admin":"tsx scripts/admin/admin.ts","build":"node --eval \"require('node:fs').rmSync('dist',{recursive:true,force:true})\" && tsc -p tsconfig.json","check":"npm run build && npm run typecheck && npm test","prepack":"npm run build","workflow":"tsx src/workflows/submission.ts","typecheck":"tsc -p tsconfig.typecheck.json","reflow-lab":"tsx scripts/reflow-lab/lab.ts","test:watch":"vitest","reflowtex:fetch":"node reflowtex/fetch.mjs","smoke:prooftree":"tsx test/smoke/prooftree.ts","paper-web:fixture":"tsx scripts/paper-web-fixture/generate.ts","page-builder:fetch":"tsx src/cli/deployment/fetch-page-builder.ts","page-builder:verify":"tsx src/cli/deployment/verify.ts","page-builder:package":"tsx src/cli/deployment/package.ts","smoke:submission-validation":"tsx test/smoke/submission-validation.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:166f0031-8f29-498f-bf36-cf6f72bcc7bd"}},"_resolved":"/home/runner/work/lax/lax/.release/lax-archive-0.1.46.tgz","_integrity":"sha512-JALfS8fg9tssOoPs//qnw4SbOsKngDUmZBG4JKreKQmwmdKscQU7DBPKwcSIly4E4cZX1UvTibhvx0Qaj8//hA==","repository":{"url":"git+https://github.com/lax-archive/lax.git","type":"git"},"_npmVersion":"11.19.0","description":"Issue-driven control plane and CLI for the Lax archive","directories":{},"_nodeVersion":"22.23.2","dependencies":{"yaml":"^2.9.0","katex":"^0.18.1","shiki":"^4.3.1","fflate":"^0.8.3","marked":"^15.0.0","commander":"^12.1.0","smol-toml":"^1.7.1","pdfjs-dist":"^5.6.205"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^4.1.10","typescript":"^5.7.0","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/lax-archive_0.1.46_1789830368390_0.2573368204641793","host":"s3://npm-registry-packages-npm-production"}},"0.1.47":{"name":"lax-archive","version":"0.1.47","license":"Apache-2.0","_id":"lax-archive@0.1.47","maintainers":[{"name":"jan3er","email":"jan3er@gmail.com"}],"homepage":"https://github.com/lax-archive/lax#readme","bugs":{"url":"https://github.com/lax-archive/lax/issues"},"bin":{"lax":"bin/lax.js"},"dist":{"shasum":"f71d60b8c4421765931583e2fa65a845c160636c","tarball":"https://registry.npmjs.org/lax-archive/-/lax-archive-0.1.47.tgz","fileCount":508,"integrity":"sha512-1UKKvPSBI0OLa0WhteiC3xZZpQ+4XPI99fuRLvQxcFlklcSpVYAf1LwhqKhrmwAnYskOtNythLZd0gPDFFEBjw==","signatures":[{"sig":"MEYCIQDFhll59fgJaVDG6YQRT/ZwkpyaKpDvmW2bqrAx531hPQIhAP5Hg2taRaWQPcDDQNzHVE+0eAhbM70raH70q8U+QtyR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIBsReBS0Iv7cPuKsDaVT8Dwt5RMievt/bB3Zb/NBFf3yAiEAvkpsJuUzMPT9J5O1hxz5ObNE3N0vFCgFmhR+bQ4v124=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/lax-archive@0.1.47","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":7418648},"type":"module","_from":"file:.release/lax-archive-0.1.47.tgz","engines":{"node":">=20"},"scripts":{"lax":"tsx src/cli/main.ts","test":"vitest run","admin":"tsx scripts/admin/admin.ts","build":"node --eval \"require('node:fs').rmSync('dist',{recursive:true,force:true})\" && tsc -p tsconfig.json","check":"npm run build && npm run typecheck && npm test","prepack":"npm run build","workflow":"tsx src/workflows/submission.ts","typecheck":"tsc -p tsconfig.typecheck.json","reflow-lab":"tsx scripts/reflow-lab/lab.ts","test:watch":"vitest","reflowtex:fetch":"node reflowtex/fetch.mjs","smoke:prooftree":"tsx test/smoke/prooftree.ts","paper-web:fixture":"tsx scripts/paper-web-fixture/generate.ts","page-builder:fetch":"tsx src/cli/deployment/fetch-page-builder.ts","page-builder:verify":"tsx src/cli/deployment/verify.ts","page-builder:package":"tsx src/cli/deployment/package.ts","smoke:submission-validation":"tsx test/smoke/submission-validation.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:166f0031-8f29-498f-bf36-cf6f72bcc7bd"}},"_resolved":"/home/runner/work/lax/lax/.release/lax-archive-0.1.47.tgz","_integrity":"sha512-1UKKvPSBI0OLa0WhteiC3xZZpQ+4XPI99fuRLvQxcFlklcSpVYAf1LwhqKhrmwAnYskOtNythLZd0gPDFFEBjw==","repository":{"url":"git+https://github.com/lax-archive/lax.git","type":"git"},"_npmVersion":"11.19.0","description":"Issue-driven control plane and CLI for the Lax archive","directories":{},"_nodeVersion":"22.23.2","dependencies":{"yaml":"^2.9.0","katex":"^0.18.1","shiki":"^4.3.1","fflate":"^0.8.3","marked":"^15.0.0","commander":"^12.1.0","smol-toml":"^1.7.1","pdfjs-dist":"^5.6.205"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^4.1.10","typescript":"^5.7.0","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/lax-archive_0.1.47_1789831180849_0.24905850536374197","host":"s3://npm-registry-packages-npm-production"}},"0.1.48":{"name":"lax-archive","version":"0.1.48","license":"Apache-2.0","_id":"lax-archive@0.1.48","maintainers":[{"name":"jan3er","email":"jan3er@gmail.com"}],"homepage":"https://github.com/lax-archive/lax#readme","bugs":{"url":"https://github.com/lax-archive/lax/issues"},"bin":{"lax":"bin/lax.js"},"dist":{"shasum":"99069ad96957623ee4b9e48a5f5970b6131cfed3","tarball":"https://registry.npmjs.org/lax-archive/-/lax-archive-0.1.48.tgz","fileCount":508,"integrity":"sha512-TPtsa+yYEtbR3gjtw7DejeybAiRLn3Jb4mtbrz3C5dF48gIKiOsRM0pbkYtx20qVQFLsvHGC5bvL0LA1yDcRfg==","signatures":[{"sig":"MEYCIQCcNVnzzDrdjHZx3oNrB72F62xka3KiYy5Hf+bBn2/1BgIhAPghCT7Tj4gQgdPzr41Q6SobGfZfDW3Uo8Jnma+6dXEu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDPHhDHsQqWtRaF4jVCRe+WUQuxYaGTnvKr/gNim1RROQIhAKzBTiisoNMIo8YTWLuUp7HQJdZE91pxbvYIyENacIlz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/lax-archive@0.1.48","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":7418826},"type":"module","_from":"file:.release/lax-archive-0.1.48.tgz","engines":{"node":">=20"},"scripts":{"lax":"tsx src/cli/main.ts","test":"vitest run","admin":"tsx scripts/admin/admin.ts","build":"node --eval \"require('node:fs').rmSync('dist',{recursive:true,force:true})\" && tsc -p tsconfig.json","check":"npm run build && npm run typecheck && npm test","prepack":"npm run build","workflow":"tsx src/workflows/submission.ts","typecheck":"tsc -p tsconfig.typecheck.json","reflow-lab":"tsx scripts/reflow-lab/lab.ts","test:watch":"vitest","reflowtex:fetch":"node reflowtex/fetch.mjs","smoke:prooftree":"tsx test/smoke/prooftree.ts","paper-web:fixture":"tsx scripts/paper-web-fixture/generate.ts","page-builder:fetch":"tsx src/cli/deployment/fetch-page-builder.ts","page-builder:verify":"tsx src/cli/deployment/verify.ts","page-builder:package":"tsx src/cli/deployment/package.ts","smoke:submission-validation":"tsx test/smoke/submission-validation.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:166f0031-8f29-498f-bf36-cf6f72bcc7bd"}},"_resolved":"/home/runner/work/lax/lax/.release/lax-archive-0.1.48.tgz","_integrity":"sha512-TPtsa+yYEtbR3gjtw7DejeybAiRLn3Jb4mtbrz3C5dF48gIKiOsRM0pbkYtx20qVQFLsvHGC5bvL0LA1yDcRfg==","repository":{"url":"git+https://github.com/lax-archive/lax.git","type":"git"},"_npmVersion":"11.19.0","description":"Issue-driven control plane and CLI for the Lax archive","directories":{},"_nodeVersion":"22.23.2","dependencies":{"yaml":"^2.9.0","katex":"^0.18.1","shiki":"^4.3.1","fflate":"^0.8.3","marked":"^15.0.0","commander":"^12.1.0","smol-toml":"^1.7.1","pdfjs-dist":"^5.6.205"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^4.1.10","typescript":"^5.7.0","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/lax-archive_0.1.48_1790255545501_0.8177745868148536","host":"s3://npm-registry-packages-npm-production"}},"0.1.49":{"name":"lax-archive","version":"0.1.49","license":"Apache-2.0","_id":"lax-archive@0.1.49","maintainers":[{"name":"jan3er","email":"jan3er@gmail.com"}],"homepage":"https://github.com/lax-archive/lax#readme","bugs":{"url":"https://github.com/lax-archive/lax/issues"},"bin":{"lax":"bin/lax.js"},"dist":{"shasum":"696823f2a18594947d2917aced5f0f168a6ecbd8","tarball":"https://registry.npmjs.org/lax-archive/-/lax-archive-0.1.49.tgz","fileCount":508,"integrity":"sha512-Ar023S2iNwHFCODcV1YIetmDiNY/8KhVZH0DYTwZe0ifFV42sjn5RfSst2wEhMOPzw6ADlAlAQ1Dr19LajS8Zw==","signatures":[{"sig":"MEUCIG4VEBM0MAPw8UstkvVkrrCmw9UZSF9OzsJayTm200Y7AiEAwbjWYE5ldCUYTK8snsVCyrv+GlSnslFWP+jIlgGxCHk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDv+Ci7NIVf9AjT7lflTVONuL4PegwV7XlSPUsymDq5uQIhAOynuQ5r+VP4tNkyH3/YcqGo/rB+BWZl43FLhiVbcBYD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/lax-archive@0.1.49","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":7422619},"type":"module","_from":"file:.release/lax-archive-0.1.49.tgz","engines":{"node":">=20"},"scripts":{"lax":"tsx src/cli/main.ts","test":"vitest run","admin":"tsx scripts/admin/admin.ts","build":"node --eval \"require('node:fs').rmSync('dist',{recursive:true,force:true})\" && tsc -p tsconfig.json","check":"npm run build && npm run typecheck && npm test","prepack":"npm run build","workflow":"tsx src/workflows/submission.ts","typecheck":"tsc -p tsconfig.typecheck.json","reflow-lab":"tsx scripts/reflow-lab/lab.ts","test:watch":"vitest","reflowtex:fetch":"node reflowtex/fetch.mjs","smoke:prooftree":"tsx test/smoke/prooftree.ts","paper-web:fixture":"tsx scripts/paper-web-fixture/generate.ts","page-builder:fetch":"tsx src/cli/deployment/fetch-page-builder.ts","page-builder:verify":"tsx src/cli/deployment/verify.ts","page-builder:package":"tsx src/cli/deployment/package.ts","smoke:submission-validation":"tsx test/smoke/submission-validation.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:166f0031-8f29-498f-bf36-cf6f72bcc7bd"}},"_resolved":"/home/runner/work/lax/lax/.release/lax-archive-0.1.49.tgz","_integrity":"sha512-Ar023S2iNwHFCODcV1YIetmDiNY/8KhVZH0DYTwZe0ifFV42sjn5RfSst2wEhMOPzw6ADlAlAQ1Dr19LajS8Zw==","repository":{"url":"git+https://github.com/lax-archive/lax.git","type":"git"},"_npmVersion":"11.19.0","description":"Issue-driven control plane and CLI for the Lax archive","directories":{},"_nodeVersion":"22.23.2","dependencies":{"yaml":"^2.9.0","katex":"^0.18.1","shiki":"^4.3.1","fflate":"^0.8.3","marked":"^15.0.0","commander":"^12.1.0","smol-toml":"^1.7.1","pdfjs-dist":"^5.6.205"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^4.1.10","typescript":"^5.7.0","@types/node":"^22.10.0"},"_npmOperationalInternal":{"tmp":"tmp/lax-archive_0.1.49_1790493062456_0.6978632204547641","host":"s3://npm-registry-packages-npm-production"}},"0.1.50":{"_id":"lax-archive@0.1.50","bin":{"lax":"bin/lax.js"},"bugs":{"url":"https://github.com/lax-archive/lax/issues"},"dist":{"shasum":"71a0685d6497ff1d58397efcffc287c72f7c63d8","tarball":"https://registry.npmjs.org/lax-archive/-/lax-archive-0.1.50.tgz","fileCount":508,"integrity":"sha512-IX8G8YpF9GwV7vl0/KgwLpL0UlyxLjL6+UIwj/26Z7sh23SrzEDIRlvJMkCC5A6jnnS7FwOY7BRyAMjP/lr+cg==","signatures":[{"sig":"MEUCIQDXhX0VWlKh+jHrefHfCmffFKlivkSOxdVRZDcKCnJqNAIgORrb0N2gl8JEKIrZBnUQSXOZbTycB5LjFlPjywZHKhs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCTIaRPKx52SAiRIufSMHCDu1A80GEtXBmbxTx+6Ru8jwIhAMFfKJc7wKQvJciX+2ztGVAEts/yrnWLbPaH8FNnHMQi"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/lax-archive@0.1.50","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":7424152},"name":"lax-archive","type":"module","_from":"file:.release/lax-archive-0.1.50.tgz","engines":{"node":">=20"},"license":"Apache-2.0","scripts":{"lax":"tsx src/cli/main.ts","test":"vitest run","admin":"tsx scripts/admin/admin.ts","build":"node --eval \"require('node:fs').rmSync('dist',{recursive:true,force:true})\" && tsc -p tsconfig.json","check":"npm run build && npm run typecheck && npm test","prepack":"npm run build","workflow":"tsx src/workflows/submission.ts","typecheck":"tsc -p tsconfig.typecheck.json","reflow-lab":"tsx scripts/reflow-lab/lab.ts","test:watch":"vitest","reflowtex:fetch":"node reflowtex/fetch.mjs","smoke:prooftree":"tsx test/smoke/prooftree.ts","paper-web:fixture":"tsx scripts/paper-web-fixture/generate.ts","page-builder:fetch":"tsx src/cli/deployment/fetch-page-builder.ts","page-builder:verify":"tsx src/cli/deployment/verify.ts","page-builder:package":"tsx src/cli/deployment/package.ts","smoke:submission-validation":"tsx test/smoke/submission-validation.ts"},"version":"0.1.50","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:166f0031-8f29-498f-bf36-cf6f72bcc7bd"}},"homepage":"https://github.com/lax-archive/lax#readme","_resolved":"/home/runner/work/lax/lax/.release/lax-archive-0.1.50.tgz","_integrity":"sha512-IX8G8YpF9GwV7vl0/KgwLpL0UlyxLjL6+UIwj/26Z7sh23SrzEDIRlvJMkCC5A6jnnS7FwOY7BRyAMjP/lr+cg==","repository":{"url":"git+https://github.com/lax-archive/lax.git","type":"git"},"_npmVersion":"11.19.0","description":"Issue-driven control plane and CLI for the Lax archive","directories":{},"maintainers":[{"name":"jan3er","email":"jan3er@gmail.com"}],"_nodeVersion":"22.23.2","dependencies":{"yaml":"^2.9.0","katex":"^0.18.1","shiki":"^4.3.1","fflate":"^0.8.3","marked":"^15.0.0","commander":"^12.1.0","smol-toml":"^1.7.1","pdfjs-dist":"^5.6.205"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^4.1.10","typescript":"^5.7.0","@types/node":"^22.10.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/lax-archive_0.1.50_1790605704240_0.626600730274969"}}},"time":{"created":"2026-07-23T18:43:19.536Z","modified":"2026-09-28T14:28:24.782Z","0.1.0":"2026-07-23T18:43:19.894Z","0.1.1":"2026-07-24T05:35:11.763Z","0.1.2":"2026-07-24T06:04:53.758Z","0.1.3":"2026-07-25T07:18:37.409Z","0.1.4":"2026-07-25T07:40:30.879Z","0.1.5":"2026-07-26T06:52:58.570Z","0.1.6":"2026-07-26T15:40:53.578Z","0.1.7":"2026-07-26T16:35:20.000Z","0.1.8":"2026-07-27T08:33:52.568Z","0.1.9":"2026-07-27T19:00:57.536Z","0.1.10":"2026-07-27T19:14:01.663Z","0.1.11":"2026-07-28T06:51:32.967Z","0.1.12":"2026-07-28T08:20:46.914Z","0.1.13":"2026-07-28T11:09:33.935Z","0.1.14":"2026-07-28T11:18:24.544Z","0.1.15":"2026-07-28T12:44:37.528Z","0.1.16":"2026-07-29T05:53:40.139Z","0.1.17":"2026-07-29T12:44:13.747Z","0.1.18":"2026-08-06T14:02:54.024Z","0.1.19":"2026-08-06T14:12:01.795Z","0.1.20":"2026-08-07T08:48:49.376Z","0.1.21":"2026-08-07T12:55:06.242Z","0.1.22":"2026-08-07T16:16:52.573Z","0.1.23":"2026-08-09T08:24:34.643Z","0.1.24":"2026-08-09T12:06:13.083Z","0.1.26":"2026-08-09T14:40:46.793Z","0.1.28":"2026-08-09T18:52:16.240Z","0.1.30":"2026-08-19T12:32:58.712Z","0.1.31":"2026-08-20T14:14:50.951Z","0.1.32":"2026-09-02T12:00:59.809Z","0.1.33":"2026-09-02T14:10:34.693Z","0.1.34":"2026-09-03T14:32:02.722Z","0.1.35":"2026-09-03T19:48:27.064Z","0.1.36":"2026-09-04T08:59:39.727Z","0.1.38":"2026-09-04T09:28:57.993Z","0.1.39":"2026-09-04T12:35:28.634Z","0.1.40":"2026-09-04T13:28:06.339Z","0.1.41":"2026-09-04T14:18:28.838Z","0.1.42":"2026-09-12T21:56:22.900Z","0.1.43":"2026-09-12T22:43:31.762Z","0.1.44":"2026-09-15T19:53:35.360Z","0.1.45":"2026-09-16T18:21:43.716Z","0.1.46":"2026-09-19T15:06:08.554Z","0.1.47":"2026-09-19T15:19:40.987Z","0.1.48":"2026-09-24T13:12:25.765Z","0.1.49":"2026-09-27T07:11:02.648Z","0.1.50":"2026-09-28T14:28:24.428Z"},"bugs":{"url":"https://github.com/lax-archive/lax/issues"},"license":"Apache-2.0","homepage":"https://github.com/lax-archive/lax#readme","repository":{"url":"git+https://github.com/lax-archive/lax.git","type":"git"},"description":"Issue-driven control plane and CLI for the Lax archive","maintainers":[{"name":"jan3er","email":"jan3er@gmail.com"}],"readme":"# Lax\n\nThis repository is the issue-driven control plane and npm CLI for the Lax\narchive. The CLI generates submission ids locally, a marked GitHub issue binds\none of those ids on first submit, `/lax` issue comments request state changes,\nand trusted GitHub Actions jobs publish those changes to the public\n[`lax-archive/lax-database`](https://github.com/lax-archive/lax-database)\nrepository. Every successful database commit dispatches a complete rebuild to\n`lax-archive/lax-website`.\n\nThe repository no longer contains an archive server, generated Website pages,\nWebsite source, deployment units, or database records.\n\n## Control plane\n\nThe following actions are implemented by `.github/workflows/submission.yml`:\n\n| Event or command | Result |\n| --- | --- |\n| New marked reservation issue | Binds its locally generated `lax-<six digits>` id and creates `record.json`, `build-output.json`, and `owner-list.json` stubs. Ordinary project issues are ignored. |\n| `/lax owners <id> <JSON>` | Replaces the complete owner list after numeric-account authorization and GitHub identity resolution. |\n| `/lax delete <id>` | Replaces an init/draft record with a permanent three-file tombstone. |\n| `/lax register <id>` | Makes an init/draft record immutable. |\n| `/lax submit <id> <JSON>` | Validates the immutable source, promotes its exact capture to digest-addressed ghcr storage, and replaces only `record.json` and `build-output.json`. A presentation-only resubmission may reuse the prior capture under the strict comparison described below. |\n| `/lax admin revalidate <id>` | Maintainers only (`ADMIN_GITHUB_IDS`): reruns the whole validation against the record's *recorded* source — any state, closed issue or not — and republishes its build output and captures without changing its state. The way a registered record picks up a pipeline fix. |\n| `/lax admin delete <id>`, `reset-draft <id>`, `owners <id> <JSON>` | Maintainers only: tombstone in any state (the takedown power), return a registered record to draft (refused while a registered successor claims it or a registered record builds on it), or replace the owner list outright. Every maintainer action is a public comment on the submission's issue and an attributed `admin …` commit. |\n\n**Environments.** New work is built in the active **archive environment**\n`v4.33.0`: Lean `leanprover/lean4:v4.33.0` plus mathlib commit\n`db584cd6d46c92f209a44c0f1c829460d327499d`. It is the **epoch** and the\nenvironment `lax init` scaffolds. The former v4.30.0 environment is closed to\nnew Archive records; its immutable pins remain supported only for records\ncreated before 2026-09-12, including init records which already existed but had\nnot submitted content. `lax build`, submit validation, revalidation, the\ninspector matrix, and `lax doctor --env v4.30.0` continue to support those\nrecords. Only submissions in the same environment can cite one another, so\nmoving v4.30.0 work forward is a new v4.33.0 submission that supersedes it;\n`lax port lax-N [folder]` scaffolds that successor. Design:\nhistory/environments-plan.md; the first off-epoch round trip and later epoch\nrollout: history/environments-roundtrip-20260904.md.\n\n**Versioning.** A new version of a registered submission is an ordinary new\nsubmission whose `manifest.yaml` carries the optional `supersedes: lax-N`\nkey. The claim binds when the new submission registers: the target must be\nregistered, the authenticated user submitting or registering the successor\nmust be one of the target's frozen owners, and each submission has at most one\nsuccessor (first to register wins; competing drafts merely race). The superseded\nrecord itself is never modified — the\nwebsite derives the version chain from the successors' build outputs and\nnudges readers to the latest version. Fresh ids keep both versions usable in\none dependency graph and keep old citations meaningful. A submission that\nbuilds on superseded work keeps building — its requires are rev-pinned — and\n`lax build`, `lax submit`, and `lax register` say that a newer version exists\nrather than refusing anything. Details and accepted\nlimitations: spec.md, \"Successors\".\n\n**Presentation metadata.** A manifest may carry the optional top-level\nbooleans `unlisted` and `anonymous`. `unlisted: true` asks discovery surfaces\nto omit the submission while leaving its direct pages addressable;\n`anonymous: true` asks presentation surfaces to suppress author attribution\nand source-repository links. Validation records both values under\n`inputs.manifest`; absent means `false`. These are presentation policies, not\naccess controls: manifests, build outputs, and source locations remain in the\npublic archive data. Website consumption is tracked separately in `TODO.md`.\n\nThe Lean validation job has no App key, installation token, or Archive write\ncredential. Artifacts are its only egress: `validation-report.json` alone,\nwhich the author's CLI downloads to print the findings, and beside it the\npublication artifact with `validation-report.json`,\n`generated-build-output.json`, and `capture.tar`. Before starting that pipeline,\nthe job compares the complete previous and proposed Git trees without checking\nout or executing submission code. It takes the metadata-only path only when the\nnonempty set of changed paths is confined to the submission's `manifest.yaml`\nand `abstract.md`, every byte of the manifest outside the YAML value nodes for\n`title` and `authors` is identical, both manifests are valid and otherwise\nequal, and the previous tree exactly reproduces the archived inputs. Any other\nchange, malformed input, fetch failure, parse failure, missing evidence, or\ninconclusive comparison runs the full validation pipeline. An accepted\nmetadata-only comparison is handed off as a separate bounded artifact and\nreuses the existing digest-addressed capture; the publisher changes only the\nsource provenance and the title, authors, or abstract in `record.json` and\n`build-output.json`.\n\nInside either submission-scoped\npublication job, a credential-free preflight parses the exact schemas, verifies\nthe applicable evidence and re-reads authorization, lifecycle state, issue\nbinding, and stale-write inputs; a full submit also rechecks dependency\ncaptures. Only then may the\ntrusted job mint the database and Website tokens. A full validation promotes\nits digest-addressed capture to `ghcr.io/<owner>/lax-captures`; a metadata-only\nsubmission has no registry write permission and reuses the already-published\nblob. The publisher constructs the\nauthoritative files and commits exactly `record.json` and `build-output.json`.\nIt preserves `owner-list.json`, synchronizes the issue title after the commit,\nand dispatches the Website rebuild itself — the job that owns the commit is\nthe job that requests the rebuild. Publishers for different submissions\nmay run concurrently. Each advances the shared database branch without force\nand, on a concurrent advance, re-reads and revalidates the latest head before\nretrying.\n\n## Trust model\n\nThe router runs with the repository-scoped `GITHUB_TOKEN`, reads a pinned\npublic database snapshot, and never receives Archive credentials. Only the\nprotected `lax-database-publish` jobs can mint short-lived Database Publisher\ninstallation tokens restricted to `lax-database`. They re-read the latest\ndatabase head, repeat issue binding, numeric owner, state, schema, and\nstale-write checks, then advance the default branch without force. The same\njobs mint the Website Dispatcher token, restricted to `lax-website`, after the\ncommit they own: both publisher keys live in `lax-database-publish`, and the\ninvariant that governs them is that no job holding an App key ever checks out\nor executes submission code.\n\nConfigure the workflow with:\n\n- repository variable `LAX_REPOSITORY_ID`: the immutable numeric id of\n  `lax-archive/lax` (`1320232165`);\n- `lax-database-publish` environment variable `LAX_DATABASE_APP_ID` and secret\n  `LAX_DATABASE_APP_PRIVATE_KEY` for the Database Publisher App;\n- Database Publisher installation access only to `lax-database`, with\n  repository `Contents: write`;\n- `lax-database-publish` environment variable `LAX_WEBSITE_APP_ID` and secret\n  `LAX_WEBSITE_APP_PRIVATE_KEY` for the Website Dispatcher App;\n- Website Dispatcher installation access only to `lax-website`, with\n  repository `Contents: write`;\n- the repository Actions policy **Require actions to be pinned to a full-length\n  commit SHA** enabled.\n\nDependency captures are OCI artifacts on ghcr. Their tags are mutable and\nonly aid discoverability; integrity comes from consumers fetching each blob\nby the sha256 digest recorded in the dependency's `build-output.json` and\nverifying the bytes, so no repository setting is load-bearing for them.\n\n### Validation infrastructure\n\nIssue creation and `/lax` issue comments start `submission.yml`; it is the only\nissue-event entry point. Validation runs on the standard `ubuntu-latest`\nGitHub-hosted runner. The sandbox is a *stock* image pinned by digest in\n`src/submission-validation/pins.ts` — no custom image, no registry login; the\nrunner installs the pinned elan/toolchain and warm mathlib workspace on the VM\n(`host/setup.ts`, the same code local `lax build` uses) and every container\ngets them bind-mounted read-only. A declared paper compiles in a second\ndigest-pinned image — a full TeX Live, `PAPER_IMAGE` in the same pins module,\npulled on demand only for paper-bearing submissions, with none of the Lean\nmounts — and the paper's derived web view is produced by the ReflowTeX fork\npinned there too (`REFLOWTEX_URL`/`REFLOWTEX_REV` — the `lax` branch of\n`lax-archive/reflowtex`; `npm run reflowtex:fetch` obtains it and installs\nthe hash-pinned encode environment). A submit's success path is `route`,\n`Validate`, and then exactly one of `publish-submit` or `publish-metadata`,\nwith `report-validation-failure` and\n`report-workflow-failure` covering the failure cases; publication is gated on\nthe validate job's own result and its fixed metadata-only decision. Validation\nis one read-only `Validate` job: the complete-tree metadata comparison runs\nfirst, and any result other than a proven match continues with source fetching,\nstatic validation, and dependency resolution as a gate, so a manifest typo\nfails in seconds instead of after a multi-GB cache restore, and Compile,\nReplay, and Inspect then run sequentially through one container runner, each\nphase in a fresh credential-free container. The toolchain cache is saved\n*before* any untrusted code runs so a hostile submission can never poison it;\nthe gate only fetches and parses submission bytes, into the job directory,\nand execution begins only in the containers after the save. No disk reclaim\nruns before the toolchain and\nwarm-store installation: a hosted runner reports ~88 GB free, which is ample.\nKernel replay and inspection use two Lean workers inside their 16 GiB\ncontainer limit so large module sets cannot exhaust the hosted runner while\nthe surrounding workflow remains responsive.\n\n`release.yml` is restricted to version tags, while CI runs for pushes.\n\n`lax-database` must also have an initial commit and a real default branch before\nthe control plane can pin a snapshot. An empty newly created repository has no\nbranch ref for the Git Data API to read; seed it once, then apply the default\nbranch protection before accepting submissions.\n\nUse three GitHub App registrations: the CLI App for user-authorized issue\noperations, the Database Publisher, and the Website Dispatcher. Protect the\n`lax-database-publish` environment so only reviewed workflow code can access\nthe two publisher private keys it holds, and protect the database default\nbranch against force updates.\n\nThe CLI bundles only the public client ID for the CLI App's user-authorization\nflow and narrows device authorization to `lax`. Users can run `lax login`\nwithout configuration. A user access token is distinct from the App\ninstallation tokens and never receives the private key or the installation's\nindependent authority. App private keys and installation tokens must never be\ndistributed with the CLI.\n\n### Empirical notes on the original go-live toolchain\n\nTwo behaviors of the original go-live toolchain (v4.30.0), discovered while\nimplementing the inspector and worth knowing when reading the spec:\n\n- Lean strips a leading line of dashes from *persisted* docstrings, so the\n  authored opening `---` fence of an annotation never reaches the olean. The\n  inspector therefore recognizes frontmatter as grammar lines followed by a\n  closing `---` line. Consequence: a docstring like `note: text\\n---\\nmore`\n  is indistinguishable from frontmatter and will be parsed as such (loudly —\n  unknown keys are build errors, never guesses).\n- Statement signatures are pretty-printed with core notation only, and since\n  notation unexpanders are imported code (which the inspector never runs),\n  they render in application form (`Eq 0 0`, not `0 = 0`). The spec records\n  the upgrade path (an explicitly untrusted display pass).\n\n## CLI\n\nInstall the released CLI from npm, or run it from source:\n\n```sh\nnpm install -g lax-archive   # released CLI: `lax --help`\n\nnpm install                  # from source:\nnpm run build\nnpm test\nnpm run lax -- --help\n```\n\nThe CLI creates a control issue when a local submission is first submitted and\nposts exact command comments thereafter; it never writes the database directly:\n\n```sh\nlax init submission            # --title \"…\" (default: the folder name); uses v4.33.0\nlax build submission\nlax build submission --nonstrict   # iterate against sibling drafts (see below)\nlax serve submission\nlax generate-prooftree lax-N\ngit commit && git push\nlax submit submission\nlax owners submission --new-list alice bob\nlax register submission\nlax delete submission\nlax port lax-N submission-v2  # creates a v4.33.0 successor\nlax sync\nlax <command> -v               # every command takes -v/--verbose and --no-color\n```\n\nEverything a command prints is one report, not a log. A slow command opens with\na title, spins a declared step row per stage, and closes with a bold one-line\nverdict; a fast one prints only the verdict. Notes come last, in one block, each\nwith its fix on the line under it. Run ids, comment URLs, archive commits,\ndispatch outcomes, `build-output.json`, the words *lax-database* and *control\nplane* — none of it reaches the happy path, and all of it is one `-v` /\n`--verbose` away, because that is exactly what a bug report needs. Colour is one\naccent and one dim (`✓` green, `!` yellow, `✗` red), suppressed by `NO_COLOR`,\n`--no-color`, or a pipe. Without a TTY the spinner is gone and each settled row\nprints once — same words, still complete, which is what agents driving the CLI\nread. Elapsed time appears on anything over three seconds, so four silent\nminutes read as work rather than as a hang.\n\n`lax submit <id|folder> --repository ... --commit ... --folder ...` is the\nexplicit source-triple form of `lax submit [folder]`. Every issue-protocol verb\nis the CLI verb that posts it — `submit`, `owners`, `delete`, `register` — and\neach meaning has exactly one word, so `lax update` is once again only the CLI\nself-upgrade (`lax upgrade` remains as an alias) and the database refresh is\n`lax sync` — the last command named after the machinery rather than after the\nthing. Submit derives the issue from `manifest.yaml`, derives the source triple from\nGit, rejects dirty work unless `--allow-dirty` is passed, and requires HEAD to\nbe present on `origin`. Source repositories must be anonymously fetchable over\nHTTPS from GitHub, GitLab.com, Codeberg, or Bitbucket Cloud. The CLI normalizes\nthe providers' standard SSH clone URLs, strips a trailing `.git`, and supports\nnested GitLab groups; the Lax account and issue workflow remain on GitHub\nregardless of where the source is hosted. Registration stays a separate `lax\nregister` command;\nmulti-folder submission is intentionally not supported yet. Before posting the\nissue command, submit reuses a full local build only when it matches the clean\nGit commit, folder, and current local Archive snapshot. Otherwise it runs\n`lax build`. With `--allow-dirty`, the CLI validates committed `HEAD` in an\nisolated worktree, so uncommitted files are never mistaken for the submitted\nsource. `lax submit -f` / `--force` skips all of it — the dirty check, the\npushed-`HEAD` check, and the validation build — and posts the issue command\nstraight away; the trusted workflow is then the only thing that validates the\nsubmission, so an unpushed commit fails there instead of here.\n\nEvery `lax init` is loginless. It generates a random six-digit id locally,\nscaffolds the matching `LaxNNNNNN` and `LaxNNNNNNProofs` packages, and opens no\nissue. The folder may already hold other work — typically the paper being\nformalized — as long as nothing the scaffold writes (`manifest.yaml`,\n`abstract.md`, `LICENSE`, `concepts/`, `proofs/`) is already there; an existing\n`.gitignore` is extended rather than replaced. On the first `lax submit`, the CLI signs in, checks that the id is still\nunused, creates a marked control issue, writes the authoritative issue binding\ninto `manifest.yaml`, and asks the author to commit and push that binding before\nsubmitting again. A rare id collision is resolved by safely rekeying the\nmanifest, generated paths, package names, imports, and namespaces before any\nissue is created. `lax owners` used before that first submit stores provisional\nhandles locally and authenticates and synchronizes them when the issue is bound.\n\nTwo older folder shapes are still read: a folder carrying the historical\n`lax-0` placeholder id is rekeyed on its first submit, and an issue-number-based\nsubmission keeps its original id, with its historical issue binding recorded\nthe next time the CLI touches its manifest.\n\n`lax submit --resume` reattaches to an interrupted submit. The durable job\nrecord is the Actions run, correlated to the originating `/lax submit` comment\nby hidden markers, so resume re-derives both from the issue's own comments —\nnothing is stored locally, which is what makes it work even when the CLI died\nbefore it learned whether its comment had posted. Any transport failure during\nsubmit prints that exact recovery command.\n\nCommands that create an issue or post a `/lax` comment wait for the correlated\nworkflow result. Once the workflow publishes its correlated run link, the CLI\npolls GitHub and shows the run's current stage as the detail on its own step\nrow (the run id and its URL are `--verbose` internals). For\nsubmits, it downloads that run's `validation-report.json` artifact as soon as\nthe Validate job concludes and prints the findings with the same renderer\n`lax build` uses locally — a failed validation therefore ends the command in\nthe terminal, with transcripts, before the workflow's record comment lands.\nReading the artifact needs the `Actions: read` user-token permission; without\nit the CLI stops and asks for `lax login` rather than falling back to comment\ntext. The issue comment on a failed validation is a short record: the outcome,\nthe first finding's line, and the run link.\nThe parsed source preview and workflow run are appended to the\noriginating command comment instead of creating a separate preview comment. A\n🚀 reaction marks validation and publication in progress; it becomes 👍 after\nfull success, while the final workflow result comment remains in place.\nOwner-list changes create no result comment: the workflow reacts with 🚀 while\nthe command is running, then replaces it with 👍 after full success. The CLI\ntreats the bot-authored 👍 as the correlated successful result.\nSet `LAX_POLL_INTERVAL_MS` or\n`LAX_WORKFLOW_TIMEOUT_MS` to override the 3-second poll interval or 6-hour\ntimeout.\n\n`lax serve [folder]` uses the current `lax-website` page-builder downloaded by\n`lax update`. If none has been downloaded yet, the first preview downloads it;\nif that fails, the revision bundled in the CLI remains the safe fallback. The\npreview starts immediately and opens on its own front page,\n`http://localhost:8123/`: a local page, not one of the archive's, that says\nwhat is being served — the folder (`/<id>/`, or `/local/` until a build has\nnamed it), each sibling a nonstrict build's `path` requires reach, with its\ntitle, environment, and whether it has build output, and a link to the\ngenerated archive index at `/index.html`. It renders the local\n`~/.lax/lax-database` checkout plus the folder's `build-output.json`, plus\nevery sibling folder that has one (a sibling without one is listed with the\n`lax build` to run there, and not rendered; one whose folder is gone keeps\nits row, naming the require that points at it), and rebuilds when any of\nthem changes — the folder is watched, the siblings are polled every two\nseconds. The front page also carries the database warning and, when a\nrender failed, the reason and what to build; the terminal says the same,\nwith the renderer's own font warnings folded into a count on the rebuilt\nline (`-v` prints them). The output directory under the system temp folder\nis removed when the preview ends, and stale ones from killed previews are\nswept a day later. The CLI and every generated page show a warning\nwhen the database is missing, stale, invalid, or cannot be checked. Pass\n`--database-only` to omit the local folder. A taken port is walked past — a\nsecond preview binds the next free port above 8123 and prints it — and\n`--port` only changes where that walk starts.\nPaper surfaces ride along: the local folder's own `paper.pdf` and\n`paper-web.tar` are handed to the renderer directly, and a database record's\nrecorded blobs resolve through `~/.lax/papers/<digest>.pdf` and\n`~/.lax/bundles/<digest>.tar` — filled on demand by the same anonymous,\ndigest-verified ghcr download the capture consumers use, degrading offline to\nthe page without that surface rather than blocking the preview.\n\n`lax build [folder]` runs the shared submission-validation phases against the\nworking tree and local database clone, then writes `build-output.json`. It\nneeds `git` plus the host Lean toolchain — elan under `~/.elan` and the pinned\ntoolchain's `lake` under it, either on PATH or wherever `lax doctor` installed\nthem — no docker; containers are a CI-only concern.\n`lake build` runs **in place** in the submission's own `concepts/`\nand `proofs/` directories, so `.lake` persists between runs and rebuilds are\nincremental, and its transcript streams live to the terminal. On first use the\nCLI builds the shared warm mathlib workspace under `~/.lax/warm` (downloads\ngigabytes, once per machine and pin; `--build-from-source` compiles mathlib\nlocally when its prebuilt artifact cache cannot be fetched). Server-only\nsource fetching and artifact publication are omitted locally; kernel replay\n(the host toolchain's `leanchecker`) is opt-in with `--replay`. `--only\nconcepts` and `--only proofs` provide partial iteration builds without\nreplacing `build-output.json`, and `--profile` prints the nested span tree of\nevery phase. By default the local build is exactly as strict as the archive:\na require on a draft record or a `path` require reaching another submission\nfails here as it would there. `--nonstrict` admits both for iterating on\nseveral unregistered drafts at once. A dependent then names a sibling\ncheckout with a `path` require (`[[require]] name = \"LaxN\", path =\n\"../../other/concepts\"`, relative to its own package directory); lake builds\nthe sibling in place, so its artifacts are shared with the sibling's own\nbuilds, and the sibling's own requires are followed, so its lakefile is the\nonly place its dependencies are spelled. What a package imports or concludes\nit must require itself, exactly as with git requires: a proof package that\ndischarges a sibling's statement names that sibling in `proofs/lakefile.toml`\ntoo. An output that admitted a sibling or a draft dependency is marked and\nnever reused by `lax submit`, which always builds strictly. Once the sibling\nis registered, the nonstrict build refuses the path require and prints the\ngit require to write in its place; the path edge never reaches the archive. The trusted workflow collects the same tree without being asked:\neach validation job writes its spans to `validation-profile.json` beside the\nvalidation report, uploads it with the run's artifacts, and echoes it into the\njob's step summary. The profile is diagnostics only; nothing that\nauthenticates a publication reads it. Independent local findings are reported\nonce in a phase-grouped summary instead of as separate errors.\n\nA submission may declare a paper (`paper:` in `manifest.yaml` — folder,\nentry file, engine) whose `.tex` files mark passages with `% lax begin <id>`\n/ `% lax end` comments naming a concept, a proof, or a submission. `lax\nbuild` copies the folder into the job directory, rewrites the markers into\n`\\laxmark` calls, compiles with the host `latexmk` and the shipped\n`assets/tex/laxmark.sty` (injected through `-usepretex`, never touching the\nauthor's files), reads the resulting PDF named destinations back with\npdf.js, checks that every marker left exactly one begin and one end,\nresolves the ids against the inspected concepts and proofs and the directly\nrequired packages' records, and records the result under `paper` in\n`build-output.json` — the PDF's digest, size, and page count, the page\nsizes, and every mark's begin and end point (page, PDF coordinates, TeX\nmode). The PDF itself is written to `paper.pdf` beside `build-output.json`,\nbound by the digest. The paper compiles beside the Lean chain and closes\nits own row; with no `latexmk` (4.77 or later) on the machine the row is a\nnote and `paper` is omitted. The archive runs the same phases in its pinned\nTeX Live image, stores the PDF as a second layer of the submission's\ncapture manifest on ghcr, and additionally derives a reflowable web view of\nthe same sources (ReflowTeX, injected via `assets/tex/laxreflow.sty` under\nlualatex, cross-checked against the PDF's text) as a third layer — never\nblocking: a derivation failure is a warning with the reason in the submit\nreport, and `paper.web: false` in the manifest opts out. The website's\npaper page shows both surfaces — the reflow rendering at the reader's\nwidth, and the as-printed PDF behind a toggle — with a card for every\nmarked passage. The author-facing contract is in `assets/instructions.md`, the\nrules in spec.md (\"Papers\"); the design records\nare `paper-plan.md` and `paper-web-plan.md` (all code stages are\nimplemented; the rehearsal, renderer release, and production round trips\nare pending — see TODO.md).\n\n`lax port lax-N [folder]` scaffolds the successor that moves a submission into\nthe active archive environment (v4.33.0). It clones the\nrecord's published source triple at its commit, gives the folder a fresh\nsix-digit id (package names derive from the id, and both versions must coexist\nin one dependency graph), rewrites both `lean-toolchain` files, both lakefiles'\nmathlib `rev` and the manifest's two version fields to the target environment,\nadds `supersedes: lax-N`, and repoints every cross-submission require at the\ndependency's own port — found by walking the supersedes chain in the local\n`~/.lax/lax-database` copy. A dependency with no port yet keeps its existing\npin and is named (\"port lax-M first\"), so ports flow bottom-up exactly as the\nchain workflow does. It is scaffolding only: no Lean is ported, and `lax build`\nand `lax submit` are the author's next steps. It refuses a record already in\nthe target environment.\n\n`lax generate-prooftree lax-N` reads the local Archive database, selects one\nrecursively grounded proof for each reachable statement when possible, and\ncomposes replacement theorems from the leaves upward. If no grounded proof is\navailable it follows one of the statement's own proofs and reports the\nremaining open or cyclic statement leaves. The selection is a function of the\ndatabase alone, so the same records always produce the same report. The\ngenerated `.olean` module and `proof-tree.json` include\na kernel axiom audit; the command succeeds only when every statement of the\ntarget submission has a generated theorem depending on background axioms\nonly. The first run prepares a pinned local Mathlib cache. Use `--output` to\nchoose the artifact folder.\n\n`lax delete` accepts an issue reference or local submission folder, refreshes\nthe local database to detect immutable/deleted records and stranded\ndependents, and asks for a typed confirmation; scripts must pass `--yes`.\n`lax sync` migrates older `~/.lax/db` or `~/.lax/database` checkouts to\n`~/.lax/lax-database`. `lax register` likewise requires typed confirmation\nunless `--yes` is passed. `lax doctor` checks the tailored issue-workflow\ntoolchain, running every check concurrently and spinning on a line per check\nuntil it answers; it also provisions what it can, installing elan and\nthe pinned Lean toolchain when they are missing and bringing the local\n`lax-database` checkout up to date rather than only reporting that they are\nstale. An `Environments` row names active environments, marks the epoch, and\nsays which are installed here; it stays hidden while v4.33.0 is the only active\none because the `Lean` and `Mathlib` rows above it already describe that\nenvironment. `lax doctor --env v4.30.0` is retained solely to provision an\nexisting legacy submission. Provisioning a second environment states its disk\ncost (roughly 10 GB) before the download starts. On a bare machine `npm i -g lax-archive && lax doctor` is therefore the\nwhole setup: elan (the pinned bootstrap installer, into `~/.elan`, without\ntouching your shell profile), the pinned toolchain under it, the warm mathlib\nworkspace under `~/.lax/warm`, and the database clone. The store is the one\ncheck that can run for tens of minutes and download gigabytes, so it comes\nlast, behind the toolchain that builds it, and says on its own line whether it\nis building or sealing. A `LaTeX` row reports `latexmk` and the TeX\nengines, as a fact when absent — only a submission with a paper needs them,\nand the archive compiles papers itself — and as a note with the install\nhint once a registered submission on the machine declares a paper; doctor\nnever installs TeX. `lax doctor --dry` is the\nsame report with none of that: it installs nothing, refreshes neither the\ndatabase clone nor the login, writes nothing at all, and names each gap it\ndeclined to close. It still exits 1 on a ✗, so it works as a check in a script. `lax print spec`\nprints the bundled specification and `lax print instructions` the guide an\nauthor hands to a coding agent — both verbatim, because their reader is an agent\nrather than a terminal. `lax update` upgrades the npm CLI before refreshing\nthe database and Website renderer. A\nbest-effort background check reports newer CLI releases without delaying\ncommands.\n\n`lax login` uses the GitHub App device flow and accepts only the resulting\n`ghu_` GitHub App user access token. Every command that writes to a control\nissue runs that flow itself when the machine has no usable login, before it\ndraws anything of its own, so the login happens inside the command the author\nasked for. Two cases are left to the command's authentication preflight, which\nstill fails and names `lax login`: no terminal to authorize on, and a\n`LAX_GITHUB_APP_USER_TOKEN` supplied by the environment. Expiring tokens are\nrefreshed with the rotating `ghr_` refresh token stored in\n`~/.lax/credentials.json`. Generic OAuth tokens and personal access tokens are\nrejected. For non-interactive use, `LAX_GITHUB_APP_USER_TOKEN` may provide an\nexisting `ghu_` token; the generic `LAX_GITHUB_TOKEN` override is\nintentionally unsupported. Device authorization is requested for the numeric\n`lax-archive/lax` repository id. `lax logout`\nsubmits both stored tokens to GitHub's credential-revocation endpoint and only\nremoves the local credentials after GitHub accepts the revocation.\n\n## CLI release\n\n`release.yml` tests the package, fetches the Website revision pinned in\n`src/cli/deployment/website-source.lock.json`, builds and bundles its\npage-builder, verifies the revision and bundle digest, and publishes through\nnpm trusted publishing. No Website source is maintained here. The packaging\nstep writes a deterministic `THIRD-PARTY-NOTICES.txt` into the vendored tree\nand refuses to package vendored code whose license text is missing;\nverification re-derives and re-checks it — the vendored pdf.js and the AGPL\nReflowTeX viewer ride the Apache-labelled npm tarball as aggregation with\nnotices, and the viewer's source is served unminified by the site itself.\n","readmeFilename":"README.md"}